FEDRA emulsion software from the OPERA Collaboration
EdbDecayVertex Class Reference

General decay vertex. More...

#include <EdbDecaySearch.h>

Inheritance diagram for EdbDecayVertex:
Collaboration diagram for EdbDecayVertex:

Public Types

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

Public Member Functions

 EdbDecayVertex ()
 
 EdbDecayVertex (EdbVertex *v2ry, EdbVertex *v1ry, EdbTrackDS *parent, TObjArray *daughters)
 
 EdbDecayVertex (EdbVertex *v2ry, EdbVertex *v1ry, EdbTrackDS *parent=NULL, EdbTrackDS *daugter1=NULL, EdbTrackDS *daugheter2=NULL, EdbTrackDS *daughter3=NULL, EdbTrackDS *daughter4=NULL, EdbTrackDS *daughter5=NULL)
 
EdbTrackPGetDaughter (int i=0)
 
EdbTrackPGetParent ()
 
EdbTrackPGetPartner ()
 
EdbVertexGetPrimaryVertex ()
 
bool IsLong ()
 
bool IsShort ()
 
bool IsSmallKink ()
 
bool IsType (int type)
 
int NDaughters ()
 
void SetDaughter (EdbTrackDS *daughter)
 
void SetDaughters (TObjArray *daughters)
 
void SetParent (EdbTrackDS *parent)
 
void SetPartner (EdbTrackDS *partner)
 
void SetPrimaryVertex (EdbVertex *v)
 
void SetType (int type)
 
int Type ()
 
 ~EdbDecayVertex ()
 
- 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 (EdbTrackDS *t)
 

Private Attributes

TObjArray * eDaughters
 
EdbTrackDSeParent
 
EdbTrackDSePartner
 
EdbVertexePrimaryVertex
 
int eType
 

Detailed Description

General decay vertex.

Member Enumeration Documentation

◆ TopologyType

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

Constructor & Destructor Documentation

◆ EdbDecayVertex() [1/3]

EdbDecayVertex::EdbDecayVertex ( EdbVertex v2ry,
EdbVertex v1ry,
EdbTrackDS parent = NULL,
EdbTrackDS daugter1 = NULL,
EdbTrackDS daugheter2 = NULL,
EdbTrackDS daughter3 = NULL,
EdbTrackDS daughter4 = NULL,
EdbTrackDS daughter5 = NULL 
)
37 {
38
39
40 TObjArray daughters;
41 if( daughter1 ) daughters.Add(daughter1);
42 if( daughter2 ) daughters.Add(daughter2);
43 if( daughter3 ) daughters.Add(daughter3);
44 if( daughter4 ) daughters.Add(daughter4);
45 if( daughter5 ) daughters.Add(daughter5);
46
47 EdbDecayVertex( v2ry, v1ry, parent, &daughters);
48
49}
EdbDecayVertex()
Definition: EdbDecaySearch.h:130

◆ EdbDecayVertex() [2/3]

EdbDecayVertex::EdbDecayVertex ( EdbVertex v2ry,
EdbVertex v1ry,
EdbTrackDS parent,
TObjArray *  daughters 
)
53 {
55 if(v2ry) EdbVertex::SetXYZ( v2ry->X(), v2ry->Y(), v2ry->Z());
56 ePrimaryVertex = v1ry;
57
58 if(parent) SetParent( parent);
59 if(daughters) SetDaughters( daughters);
60
61}
void SetParent(EdbTrackDS *parent)
Definition: EdbDecaySearch.C:75
EdbVertex * ePrimaryVertex
Definition: EdbDecaySearch.h:118
void SetDaughters(TObjArray *daughters)
Definition: EdbDecaySearch.C:88
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

◆ EdbDecayVertex() [3/3]

EdbDecayVertex::EdbDecayVertex ( )
inline
EdbTrackDS * eParent
Definition: EdbDecaySearch.h:119
int eType
Definition: EdbDecaySearch.h:123
TObjArray * eDaughters
Definition: EdbDecaySearch.h:121
#define NULL
Definition: nidaqmx.h:84

◆ ~EdbDecayVertex()

EdbDecayVertex::~EdbDecayVertex ( )
63 {
64 if(eDaughters) delete eDaughters;
65}

Member Function Documentation

◆ AddTrack()

void EdbDecayVertex::AddTrack ( EdbTrackDS t)
private
67 {
68 EdbVTA *vta = new EdbVTA(t->GetOriginal(), (EdbVertex *)this);
69 vta->SetZpos( t->Z()>this->Z() ? 1 : 0);
70 vta->SetFlag(2);
71 vta->SetImp( CalcIP( t, (EdbVertex *) this));
72 AddVTA(vta);
73}
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 * EdbDecayVertex::GetDaughter ( int  i = 0)
inline
140{ return eDaughters ? ((EdbTrackDS *) eDaughters->At(i))->GetOriginal() : NULL;}
Tracks with DecaySearch information.
Definition: EdbDecaySearch.h:8

◆ GetParent()

EdbTrackP * EdbDecayVertex::GetParent ( )
inline
139{ return eParent?eParent->GetOriginal():NULL;}
EdbTrackP * GetOriginal()
Definition: EdbDecaySearch.h:107

◆ GetPartner()

EdbTrackP * EdbDecayVertex::GetPartner ( )
inline
141{ return ePartner?ePartner->GetOriginal():NULL;}
EdbTrackDS * ePartner
Definition: EdbDecaySearch.h:120

◆ GetPrimaryVertex()

EdbVertex * EdbDecayVertex::GetPrimaryVertex ( )
inline
143{ return ePrimaryVertex;}

◆ IsLong()

bool EdbDecayVertex::IsLong ( )
inline
149{ return IsType(kLong);}
bool IsType(int type)
Definition: EdbDecaySearch.h:147

◆ IsShort()

bool EdbDecayVertex::IsShort ( )
inline
148{ return IsType(kShort);}

◆ IsSmallKink()

bool EdbDecayVertex::IsSmallKink ( )
inline
150{ return IsType(kSmallKink);}

◆ IsType()

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

◆ NDaughters()

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

◆ SetDaughter()

void EdbDecayVertex::SetDaughter ( EdbTrackDS daughter)
80 {
81 if(eDaughters==NULL) eDaughters=new TObjArray;
82 if(!eDaughters->FindObject(daughter)) {
83 eDaughters->Add(daughter);
84 AddTrack(daughter);
85 }
86}
void AddTrack(EdbTrackDS *t)
Definition: EdbDecaySearch.C:67

◆ SetDaughters()

void EdbDecayVertex::SetDaughters ( TObjArray *  daughters)
88 {
89 for(int i=0; i<daughters->GetEntries(); i++){
90 SetDaughter( (EdbTrackDS *) daughters->At(i));
91 }
92}
void SetDaughter(EdbTrackDS *daughter)
Definition: EdbDecaySearch.C:80

◆ SetParent()

void EdbDecayVertex::SetParent ( EdbTrackDS parent)
75 {
76 eParent = parent;
78}

◆ SetPartner()

void EdbDecayVertex::SetPartner ( EdbTrackDS partner)
inline
136{ ePartner = partner;}

◆ SetPrimaryVertex()

void EdbDecayVertex::SetPrimaryVertex ( EdbVertex v)
inline
137{ ePrimaryVertex = v;}

◆ SetType()

void EdbDecayVertex::SetType ( int  type)
inline
145{ eType=type;}

◆ Type()

int EdbDecayVertex::Type ( )
inline
146{ return eType;}

Member Data Documentation

◆ eDaughters

TObjArray* EdbDecayVertex::eDaughters
private

◆ eParent

EdbTrackDS* EdbDecayVertex::eParent
private

◆ ePartner

EdbTrackDS* EdbDecayVertex::ePartner
private

◆ ePrimaryVertex

EdbVertex* EdbDecayVertex::ePrimaryVertex
private

◆ eType

int EdbDecayVertex::eType
private

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