FEDRA emulsion software from the OPERA Collaboration
EdbEDADecayVertex Class Reference

#include <EdbEDADecaySearch.h>

Inheritance diagram for EdbEDADecayVertex:
Collaboration diagram for EdbEDADecayVertex:

Public Types

enum  TopologyType { kShort =0x01 , kLong = 0x02 , kSmallKink = 0x04 }
 

Public Member Functions

 EdbEDADecayVertex ()
 
 EdbEDADecayVertex (EdbVertex *v2ry, EdbVertex *v1ry, EdbEDATrackP *parent, TObjArray *daughters)
 
 EdbEDADecayVertex (EdbVertex *v2ry, EdbVertex *v1ry, EdbEDATrackP *parent=NULL, EdbEDATrackP *daugter1=NULL, EdbEDATrackP *daugheter2=NULL, EdbEDATrackP *daughter3=NULL, EdbEDATrackP *daughter4=NULL, EdbEDATrackP *daughter5=NULL)
 
EdbTrackPGetDaughter (int i=0)
 
EdbTrackPGetParent ()
 
EdbTrackPGetPartner ()
 
EdbVertexGetPrimaryVertex ()
 
bool IsLong ()
 
bool IsShort ()
 
bool IsSmallKink ()
 
bool IsType (int type)
 
int NDaughters ()
 
void SetDaughter (EdbEDATrackP *daughter)
 
void SetDaughters (TObjArray *daughters)
 
void SetParent (EdbEDATrackP *parent)
 
void SetPartner (EdbEDATrackP *partner)
 
void SetPrimaryVertex (EdbVertex *v)
 
void SetType (int type)
 
int Type ()
 
 ~EdbEDADecayVertex ()
 
- Public Member Functions inherited from EdbVertex
void AddVTA (EdbVTA *vta)
 
Int_t CheckDiscardedTracks ()
 
float CheckImp (const EdbTrackP *tr)
 
EdbVTACheckImp (const EdbTrackP *tr, float ImpMax, int zpos, float dist)
 
float CheckImpGeom (const EdbTrackP *tr)
 
Float_t Chi2Track (EdbTrackP *tr, int zpos, float X0=0.)
 
void Clear ()
 
void ClearNeighborhood ()
 
void ClearV ()
 
Int_t Compare (const TObject *o) const
 
Float_t DistSeg (EdbSegP *seg, float X0=0.)
 
Float_t DistTrack (EdbTrackP *tr, int zpos, float X0=0.)
 
void Edb2Vt (const EdbSegP &s, VERTEX::Track &t, float X0=0., float m=0.139)
 
void Edb2Vt (const EdbTrackP &tr, VERTEX::Track &t, float X0=0., float m=0.139)
 
 EdbVertex ()
 
Int_t EstimateVertexFlag ()
 
Bool_t EstimateVertexMath (float &xv, float &yv, float &zv, float &d)
 
Int_t Flag () const
 
EdbVertexGetConnectedVertex (int nv)
 
EdbVertexGetConnectedVertexForTrack (int it)
 
EdbVTAGetMaxImpVTA ()
 
EdbTrackPGetTrack (int i)
 
EdbTrackPGetTrackN (int i)
 
EdbSegPGetTrackV (int i, bool usesegpar=false)
 
EdbVTAGetVTa (int i)
 
EdbVTAGetVTn (int i)
 
ULong_t Hash () const
 
Int_t ID () const
 
Float_t Impact (int i)
 
Float_t ImpTrack (int i)
 
Bool_t IsEqual (const TObject *o) const
 
Bool_t IsSortable () const
 
Float_t MaxAperture ()
 
Float_t MaxImpact ()
 
Int_t MCEvt () const
 
EdbTrackPMeanTrack ()
 
Float_t MinDist ()
 
Int_t N () const
 
Int_t Nn () const
 
Int_t Nv ()
 
void Print ()
 
Float_t Quality ()
 
void RemoveVTA (EdbVTA *vta)
 
void ResetTracks ()
 
void SetFlag (int flag=0)
 
void SetID (int ID=0)
 
void SetMC (int mEvt=0)
 
void SetQuality (float q=0)
 
void SetV (VERTEX::Vertex *v)
 
void SetXYZ (float x, float y, float z)
 
Bool_t TrackInVertex (EdbTrackP *t)
 
VERTEX::VertexV () const
 
Float_t Volume ()
 
TList * VTa ()
 
TList * VTn ()
 
Float_t VX () const
 
Float_t VY () const
 
Float_t VZ () const
 
Float_t X () const
 
Float_t Y () const
 
Float_t Z () const
 
Int_t Zpos (int i)
 
virtual ~EdbVertex ()
 

Private Member Functions

void AddTrack (EdbEDATrackP *t)
 

Private Attributes

TObjArray * eDaughters
 
EdbEDATrackPeParent
 
EdbEDATrackPePartner
 
EdbVertexePrimaryVertex
 
int eType
 

Member Enumeration Documentation

◆ TopologyType

Enumerator
kShort 
kLong 
kSmallKink 
132{ kShort=0x01, kLong = 0x02, kSmallKink = 0x04};
@ kShort
Definition: EdbEDADecaySearch.h:132
@ kSmallKink
Definition: EdbEDADecaySearch.h:132
@ kLong
Definition: EdbEDADecaySearch.h:132

Constructor & Destructor Documentation

◆ EdbEDADecayVertex() [1/3]

EdbEDADecayVertex::EdbEDADecayVertex ( EdbVertex v2ry,
EdbVertex v1ry,
EdbEDATrackP parent = NULL,
EdbEDATrackP daugter1 = NULL,
EdbEDATrackP daugheter2 = NULL,
EdbEDATrackP daughter3 = NULL,
EdbEDATrackP daughter4 = NULL,
EdbEDATrackP daughter5 = NULL 
)
42 {
43
44
45 TObjArray daughters;
46 if( daughter1 ) daughters.Add(daughter1);
47 if( daughter2 ) daughters.Add(daughter2);
48 if( daughter3 ) daughters.Add(daughter3);
49 if( daughter4 ) daughters.Add(daughter4);
50 if( daughter5 ) daughters.Add(daughter5);
51
52 EdbEDADecayVertex( v2ry, v1ry, parent, &daughters);
53
54}
EdbEDADecayVertex()
Definition: EdbEDADecaySearch.h:136

◆ EdbEDADecayVertex() [2/3]

EdbEDADecayVertex::EdbEDADecayVertex ( EdbVertex v2ry,
EdbVertex v1ry,
EdbEDATrackP parent,
TObjArray *  daughters 
)
58 {
60 if(v2ry) EdbVertex::SetXYZ( v2ry->X(), v2ry->Y(), v2ry->Z());
61 ePrimaryVertex = v1ry;
62
63 if(parent) SetParent( parent);
64 if(daughters) SetDaughters( daughters);
65
66}
void SetParent(EdbEDATrackP *parent)
Definition: EdbEDADecaySearch.C:80
EdbVertex * ePrimaryVertex
Definition: EdbEDADecaySearch.h:124
void SetDaughters(TObjArray *daughters)
Definition: EdbEDADecaySearch.C:93
Float_t X() const
Definition: EdbVertex.h:130
void SetXYZ(float x, float y, float z)
Definition: EdbVertex.h:157
Float_t Z() const
Definition: EdbVertex.h:132
Float_t Y() const
Definition: EdbVertex.h:131

◆ EdbEDADecayVertex() [3/3]

EdbEDADecayVertex::EdbEDADecayVertex ( )
inline
EdbEDATrackP * eParent
Definition: EdbEDADecaySearch.h:125
int eType
Definition: EdbEDADecaySearch.h:129
TObjArray * eDaughters
Definition: EdbEDADecaySearch.h:127
#define NULL
Definition: nidaqmx.h:84

◆ ~EdbEDADecayVertex()

EdbEDADecayVertex::~EdbEDADecayVertex ( )
68 {
69 if(eDaughters) delete eDaughters;
70}

Member Function Documentation

◆ AddTrack()

void EdbEDADecayVertex::AddTrack ( EdbEDATrackP t)
private
72 {
73 EdbVTA *vta = new EdbVTA(t->GetOriginal(), (EdbVertex *)this);
74 vta->SetZpos( t->Z()>this->Z() ? 1 : 0);
75 vta->SetFlag(2);
76 vta->SetImp( CalcIP( t, (EdbVertex *) this));
77 AddVTA(vta);
78}
Double_t CalcIP(EdbSegP *s, EdbVertex *v)
Definition: ShowRec.cpp:8872
Definition: EdbVertex.h:26
void SetImp(float imp)
Definition: EdbVertex.h:57
void SetZpos(int zpos)
Definition: EdbVertex.h:55
void SetFlag(int flag)
Definition: EdbVertex.h:56
Definition: EdbVertex.h:69
void AddVTA(EdbVTA *vta)
Definition: EdbVertex.cxx:355
TTree * t
Definition: check_shower.C:4

◆ GetDaughter()

EdbTrackP * EdbEDADecayVertex::GetDaughter ( int  i = 0)
inline
146{ return eDaughters ? ((EdbEDATrackP *) eDaughters->At(i))->GetOriginal() : NULL;}
Definition: EdbEDADecaySearch.h:9

◆ GetParent()

EdbTrackP * EdbEDADecayVertex::GetParent ( )
inline
145{ return eParent?eParent->GetOriginal():NULL;}
EdbTrackP * GetOriginal()
Definition: EdbEDADecaySearch.h:113

◆ GetPartner()

EdbTrackP * EdbEDADecayVertex::GetPartner ( )
inline
147{ return ePartner?ePartner->GetOriginal():NULL;}
EdbEDATrackP * ePartner
Definition: EdbEDADecaySearch.h:126

◆ GetPrimaryVertex()

EdbVertex * EdbEDADecayVertex::GetPrimaryVertex ( )
inline
149{ return ePrimaryVertex;}

◆ IsLong()

bool EdbEDADecayVertex::IsLong ( )
inline
155{ return IsType(kLong);}
bool IsType(int type)
Definition: EdbEDADecaySearch.h:153

◆ IsShort()

bool EdbEDADecayVertex::IsShort ( )
inline
154{ return IsType(kShort);}

◆ IsSmallKink()

bool EdbEDADecayVertex::IsSmallKink ( )
inline
156{ return IsType(kSmallKink);}

◆ IsType()

bool EdbEDADecayVertex::IsType ( int  type)
inline
153{ return type&eType? kTRUE:kFALSE;}
Int_t type
Definition: testBGReduction_By_ANN.C:15

◆ NDaughters()

int EdbEDADecayVertex::NDaughters ( )
inline
148{ return eDaughters? eDaughters->GetEntries() : 0;}

◆ SetDaughter()

void EdbEDADecayVertex::SetDaughter ( EdbEDATrackP daughter)
85 {
86 if(eDaughters==NULL) eDaughters=new TObjArray;
87 if(!eDaughters->FindObject(daughter)) {
88 eDaughters->Add(daughter);
89 AddTrack(daughter);
90 }
91}
void AddTrack(EdbEDATrackP *t)
Definition: EdbEDADecaySearch.C:72

◆ SetDaughters()

void EdbEDADecayVertex::SetDaughters ( TObjArray *  daughters)
93 {
94 for(int i=0; i<daughters->GetEntries(); i++){
95 SetDaughter( (EdbEDATrackP *) daughters->At(i));
96 }
97}
void SetDaughter(EdbEDATrackP *daughter)
Definition: EdbEDADecaySearch.C:85

◆ SetParent()

void EdbEDADecayVertex::SetParent ( EdbEDATrackP parent)
80 {
81 eParent = parent;
83}

◆ SetPartner()

void EdbEDADecayVertex::SetPartner ( EdbEDATrackP partner)
inline
142{ ePartner = partner;}

◆ SetPrimaryVertex()

void EdbEDADecayVertex::SetPrimaryVertex ( EdbVertex v)
inline
143{ ePrimaryVertex = v;}

◆ SetType()

void EdbEDADecayVertex::SetType ( int  type)
inline
151{ eType=type;}

◆ Type()

int EdbEDADecayVertex::Type ( )
inline
152{ return eType;}

Member Data Documentation

◆ eDaughters

TObjArray* EdbEDADecayVertex::eDaughters
private

◆ eParent

EdbEDATrackP* EdbEDADecayVertex::eParent
private

◆ ePartner

EdbEDATrackP* EdbEDADecayVertex::ePartner
private

◆ ePrimaryVertex

EdbVertex* EdbEDADecayVertex::ePrimaryVertex
private

◆ eType

int EdbEDADecayVertex::eType
private

The documentation for this class was generated from the following files: