14 #include <TGraphErrors.h>
15 #include <TGraphAsymmErrors.h>
17 #include "vt++/VtTrack.hh"
18 #include "vt++/VtVertex.hh"
19 #include "vt++/VtRelation.hh"
20 #include "vt++/VtKalman.hh"
107 Int_t
Compare(
const TObject *
o)
const;
119 Bool_t
IsEqual(
const TObject *
o)
const;
121 Int_t
N()
const {
return eVTa.GetSize();}
122 Int_t
Nn()
const {
return eVTn.GetSize();}
130 Float_t
X()
const {
return eX;}
131 Float_t
Y()
const {
return eY;}
132 Float_t
Z()
const {
return eZ;}
239 Bool_t
CheckDZ2(
float z1,
float z2,
int zpos1,
int zpos2,
float z );
243 float impact,
float dthetaMax,
float dxy,
float zminT,
float zmaxT,
float zminV,
float zmaxV);
245 float impact,
float dthetaMax,
float dxy,
float zminT,
float zmaxT,
float zminV,
float zmaxV);
247 float impact,
float dthetaMax,
float dxy,
float zminT,
float zmaxT,
float zminV,
float zmaxV);
253 float ProbMin = 0.01,
float Mom = 0.3);
255 int Dpat = 2,
float ImpMax = 25.,
256 float ProbMin = 0.01,
float Mom = 0.3);
263 int Dpat, TObjArray *ao);
266 TObjArray *aseg = 0, TObjArray *atr = 0, TObjArray *arv = 0);
292 eVTX->Add((TObject*)vtx);
void d()
Definition: RecDispEX.C:381
TTree * tr
Definition: Shower_E_FromShowerRoot.C:5
TTree * t
Definition: check_shower.C:4
Definition: EdbPVRec.h:148
Definition: EdbPattern.h:280
Definition: EdbPattern.h:118
Definition: EdbVertex.h:25
EdbVertex * eVertex
Definition: EdbVertex.h:30
EdbTrackP * eTrack
Definition: EdbVertex.h:29
void SetImp(float imp)
Definition: EdbVertex.h:56
Float_t eDist
Definition: EdbVertex.h:38
Float_t Imp() const
Definition: EdbVertex.h:48
Float_t Dist() const
Definition: EdbVertex.h:49
EdbVTA()
Definition: EdbVertex.cxx:40
Int_t eFlag
Definition: EdbVertex.h:33
void SetDist(float dist)
Definition: EdbVertex.h:57
Int_t Flag() const
Definition: EdbVertex.h:47
Int_t Zpos() const
Definition: EdbVertex.h:46
EdbVertex * GetVertex() const
Definition: EdbVertex.h:51
virtual ~EdbVTA()
Definition: EdbVertex.cxx:75
void SetZpos(int zpos)
Definition: EdbVertex.h:54
Int_t eZpos
Definition: EdbVertex.h:32
void SetTrack(EdbTrackP *tr)
Definition: EdbVertex.h:58
EdbTrackP * GetTrack() const
Definition: EdbVertex.h:50
Float_t eImp
Definition: EdbVertex.h:37
void SetFlag(int flag)
Definition: EdbVertex.h:55
void Set0()
Definition: EdbVertex.cxx:65
void AddVandT()
Definition: EdbVertex.cxx:90
void Print()
Definition: EdbVertex.cxx:83
void SetVertex(EdbVertex *v)
Definition: EdbVertex.h:59
Definition: EdbVertex.h:172
Bool_t eUseMom
Definition: EdbVertex.h:181
Int_t eQualityMode
Definition: EdbVertex.h:183
virtual ~EdbVertexPar()
Definition: EdbVertex.h:189
EdbVertexPar()
Definition: EdbVertex.cxx:708
Float_t eAbin
Definition: EdbVertex.h:176
Bool_t eUseSegPar
Definition: EdbVertex.h:182
Float_t eImpMax
Definition: EdbVertex.h:179
TVector3 eVmax
Definition: EdbVertex.h:186
Float_t eZbin
Definition: EdbVertex.h:175
TVector3 eVmin
Definition: EdbVertex.h:186
Bool_t eUseLimits
Definition: EdbVertex.h:185
Float_t eImpMaxV
Definition: EdbVertex.h:180
Float_t eDZmax
Definition: EdbVertex.h:177
Float_t eProbMin
Definition: EdbVertex.h:178
Bool_t eUseKalman
Definition: EdbVertex.h:184
Definition: EdbVertex.h:194
int EstimateVertexFlag(int zpos1, int zpos2)
Definition: EdbVertex.cxx:1398
Int_t ProbVertexN()
Definition: EdbVertex.cxx:1448
TObjArray * eVTX
Definition: EdbVertex.h:205
virtual ~EdbVertexRec()
Definition: EdbVertex.cxx:734
Int_t ProbVertexNpos(int zpos)
Definition: EdbVertex.cxx:1462
Float_t CheckImpact(EdbSegP *s1, EdbSegP *s2, int zpos1, int zpos2, float pv[3])
Definition: EdbVertex.cxx:1243
EdbVertex * RemoveTrackFromVertex(EdbVertex *eVertex, int itr)
Definition: EdbVertex.cxx:2641
void StatVertexN()
Definition: EdbVertex.cxx:1806
Double_t MoveTrackToOtherVertex(EdbVertex *v2, int it2max, EdbVertex *v1, int seltype, EdbVertex **v2n, EdbVertex **v1n)
Definition: EdbVertex.cxx:2468
Int_t LinkedVertexes()
Definition: EdbVertex.cxx:1831
EdbVertex * RemoveVTAFromVertex(EdbVertex &vtx, EdbVTA &vta)
Definition: EdbVertex.cxx:2624
Int_t ProbVertexN_old()
Definition: EdbVertex.cxx:1601
Int_t Nvtx() const
Definition: EdbVertex.h:287
Bool_t IsInsideLimits(EdbSegP &s)
Definition: EdbVertex.cxx:1408
Bool_t EstimateVertexQuality(EdbVertex &v)
Definition: EdbVertex.cxx:751
Float_t CheckImpactN(EdbSegP *s1, EdbSegP *s2, float pv[3], bool ¶llel, float dzMax=6000.)
Definition: EdbVertex.cxx:1282
Int_t AddSegmentToVertex(EdbSegP *s, float ImpMax=25., float ProbMin=0.01, float Mom=0.3)
Definition: EdbVertex.cxx:2000
Int_t FindSimilarSegments(EdbSegP &spred, TObjArray &found, EdbPattern &pat, float impact, float dthetaMax, float dxy, float zminT, float zmaxT, float zminV, float zmaxV)
Definition: EdbVertex.cxx:1034
Int_t FindSimilarTracksE(EdbSegP &spred, TObjArray &found, bool startend, float impact, float dthetaMax, float dxy, float zminT, float zmaxT, float zminV, float zmaxV)
Definition: EdbVertex.cxx:1054
Double_t Tdistance(const VERTEX::Track &t1, const VERTEX::Track &t2)
Definition: EdbVertex.cxx:3203
Int_t SelSegNeighbor(EdbSegP *s, int seltype, float RadMax, int Dpat, TObjArray *ao)
Definition: EdbVertex.cxx:1927
EdbVertexRec()
Definition: EdbVertex.h:209
EdbVertex * TestVTAGroup(TObjArray &arrvta)
Definition: EdbVertex.cxx:1562
const TVector3 * Vmin() const
Definition: EdbVertex.h:215
Int_t VertexNeighbor(float RadMax=1000., int Dpat=1, float ImpMax=1000000.)
Definition: EdbVertex.cxx:2754
EdbVertex * eWorking
Definition: EdbVertex.h:199
const TVector3 * Vmax() const
Definition: EdbVertex.h:216
Int_t LoopVertex(TIndexCell &list1, TIndexCell &list2, int zpos1, int zpos2)
Definition: EdbVertex.cxx:1164
void AddVertex(EdbVertex *vtx)
Definition: EdbVertex.h:290
void AcceptPolish()
Definition: EdbVertex.cxx:2205
int RefitAll()
Definition: EdbVertex.cxx:2525
Int_t MakeV(EdbVertex &edbv, bool isRefit=false)
Definition: EdbVertex.cxx:813
Int_t FindVertex()
Definition: EdbVertex.cxx:1087
Bool_t EstimateVertexPosition(EdbVertex &v)
Definition: EdbVertex.cxx:775
Int_t FindSimilarTracks(EdbTrackP &t, TObjArray &found, int nsegmin=2, float dMax=100., float dTheta=0.01, float dZmax=50000.)
Definition: EdbVertex.cxx:935
Int_t VertexPolish(EdbVertex *v, int refill=0, float RadMax=1000., int Dpat=2, float ImpMax=25., float ProbMin=0.01, float Mom=0.3)
Definition: EdbVertex.cxx:2131
EdbVertex * Make1Vertex(TObjArray &tracks, float zexpected)
Definition: EdbVertex.cxx:879
int CheckTrack(EdbTrackP &track, int zpos)
Definition: EdbVertex.cxx:3264
void AddVTA(EdbVTA *vta)
Definition: EdbVertex.h:286
void CheckVTX()
Definition: EdbVertex.cxx:1520
void FillTracksStartEnd(TIndexCell &starts, TIndexCell &ends)
Definition: EdbVertex.cxx:1135
EdbPVRec * ePVR
Definition: EdbVertex.h:206
EdbVertex * eVertex
Definition: EdbVertex.h:198
TObjArray * eEdbTracks
Definition: EdbVertex.h:204
EdbVertexRec(EdbVertexPar &vpar)
Definition: EdbVertex.h:210
EdbVertex * GetVertex(Int_t &i)
Definition: EdbVertex.h:288
Double_t TdistanceChi2(const EdbTrackP &tr1, const EdbTrackP &tr2)
Definition: EdbVertex.cxx:3235
EdbVTA * AddTrack(EdbVertex &edbv, EdbTrackP *track, int zpos)
Definition: EdbVertex.cxx:900
EdbVertex * AddTrackToVertex(EdbVertex *eVertex, EdbTrackP *eTr, int zpos)
Definition: EdbVertex.cxx:2543
EdbTrackP * GetEdbTrack(const int index)
Definition: EdbVertex.cxx:3257
void CancelModifiedVTX(EdbVertex *eVertex, EdbVertex *eWorking)
Definition: EdbVertex.cxx:2748
EdbVertex * ProbVertex2(EdbTrackP *tr1, EdbTrackP *tr2, int zpos1, int zpos2)
Definition: EdbVertex.cxx:1324
void RejectPolish()
Definition: EdbVertex.cxx:2210
void SetPVRec(EdbPVRec *pvr)
Definition: EdbVertex.h:285
Bool_t CheckDZ2(float z1, float z2, int zpos1, int zpos2, float z)
Definition: EdbVertex.cxx:1421
Int_t VertexTuning(int seltype=0)
Definition: EdbVertex.cxx:2215
bool CompatibleSegments(EdbSegP &spred, EdbSegP &stest, float impact, float dthetaMax, float dxy, float zminT, float zmaxT, float zminV, float zmaxV)
Definition: EdbVertex.cxx:998
void Reset()
Definition: EdbVertex.cxx:744
void Set0()
Definition: EdbVertex.cxx:723
EdbVertex * StripBadTracks(EdbVertex &v, float impMax, int ntrMin)
Definition: EdbVertex.cxx:860
Int_t SelVertNeighbor(EdbVertex *v, int seltype, float RadMax, int Dpat, TObjArray *ao)
Definition: EdbVertex.cxx:1851
TList eVTA
Definition: EdbVertex.h:203
Int_t SegmentNeighbor(EdbSegP *s, float RadMax=1000., int Dpat=1, float ImpMax=1000000., float SegWmin=9, TObjArray *aseg=0, TObjArray *atr=0, TObjArray *arv=0)
Definition: EdbVertex.cxx:3027
void AcceptModifiedVTX(EdbVertex *eVertex, EdbVertex *eWorking)
Definition: EdbVertex.cxx:2706
Definition: EdbVertex.h:68
void Print()
Definition: EdbVertex.cxx:328
TList * VTa()
Definition: EdbVertex.h:137
Float_t DistSeg(EdbSegP *seg, float X0=0.)
Definition: EdbVertex.cxx:694
Int_t ID() const
Definition: EdbVertex.h:126
void SetQuality(float q=0)
Definition: EdbVertex.h:161
EdbVTA * GetVTn(int i)
Definition: EdbVertex.h:140
Float_t Chi2Track(EdbTrackP *tr, int zpos, float X0=0.)
Definition: EdbVertex.cxx:657
void SetMC(int mEvt=0)
Definition: EdbVertex.h:159
EdbTrackP * GetTrackN(int i)
Definition: EdbVertex.h:142
Float_t Volume()
Definition: EdbVertex.h:114
EdbTrackP * MeanTrack()
Definition: EdbVertex.cxx:299
Float_t MinDist()
Definition: EdbVertex.cxx:239
Float_t Impact(int i)
Definition: EdbVertex.h:149
Bool_t IsEqual(const TObject *o) const
Definition: EdbVertex.cxx:290
Float_t VX() const
Definition: EdbVertex.h:133
Float_t eY
Definition: EdbVertex.h:76
float CheckImp(const EdbTrackP *tr)
Definition: EdbVertex.cxx:463
ULong_t Hash() const
Definition: EdbVertex.h:128
Bool_t TrackInVertex(EdbTrackP *t)
Definition: EdbVertex.cxx:221
EdbTrackP * GetTrack(int i)
Definition: EdbVertex.h:141
void AddVTA(EdbVTA *vta)
Definition: EdbVertex.cxx:377
EdbVertex * GetConnectedVertexForTrack(int it)
Definition: EdbVertex.cxx:406
TList eVTa
Definition: EdbVertex.h:73
Float_t X() const
Definition: EdbVertex.h:130
Int_t eID
Definition: EdbVertex.h:87
void SetID(int ID=0)
Definition: EdbVertex.h:156
void Clear()
Definition: EdbVertex.cxx:125
Float_t eX
Definition: EdbVertex.h:75
EdbVTA * GetMaxImpVTA()
Definition: EdbVertex.cxx:140
void SetV(VERTEX::Vertex *v)
Definition: EdbVertex.h:160
Int_t N() const
Definition: EdbVertex.h:121
VERTEX::Vertex * V() const
Definition: EdbVertex.h:154
Int_t MCEvt() const
Definition: EdbVertex.h:125
VERTEX::Vertex * eV
Definition: EdbVertex.h:90
Int_t Nn() const
Definition: EdbVertex.h:122
Float_t eQuality
Definition: EdbVertex.h:88
void PrintGeom()
Definition: EdbVertex.cxx:355
Float_t VY() const
Definition: EdbVertex.h:134
Int_t EstimateVertexFlag()
Definition: EdbVertex.cxx:184
Float_t ImpTrack(int i)
Definition: EdbVertex.h:152
void SetFlag(int flag=0)
Definition: EdbVertex.h:158
EdbVertex * GetConnectedVertex(int nv)
Definition: EdbVertex.cxx:427
Float_t Quality()
Definition: EdbVertex.h:136
float CheckImpGeom(const EdbTrackP *tr)
Definition: EdbVertex.cxx:452
Bool_t IsSortable() const
Definition: EdbVertex.h:129
EdbVertex()
Definition: EdbVertex.cxx:96
void ClearV()
Definition: EdbVertex.cxx:115
Float_t MaxImpact()
Definition: EdbVertex.h:116
void SetXYZ(float x, float y, float z)
Definition: EdbVertex.h:157
void ClearNeighborhood()
Definition: EdbVertex.cxx:275
Float_t VZ() const
Definition: EdbVertex.h:135
Float_t Z() const
Definition: EdbVertex.h:132
Int_t Compare(const TObject *o) const
Definition: EdbVertex.cxx:282
TList eVTn
Definition: EdbVertex.h:72
Bool_t EstimateVertexMath(float &xv, float &yv, float &zv, float &d)
Definition: EdbVertex.cxx:493
void Edb2Vt(const EdbTrackP &tr, VERTEX::Track &t, float X0=0., float m=0.139)
Definition: EdbVertex.cxx:590
EdbVTA * GetVTa(int i)
Definition: EdbVertex.h:139
void ResetTracks()
Definition: EdbVertex.cxx:209
Int_t Flag() const
Definition: EdbVertex.h:124
Float_t eZ
Definition: EdbVertex.h:77
Float_t MaxAperture()
Definition: EdbVertex.cxx:252
void RemoveVTA(EdbVTA *vta)
Definition: EdbVertex.cxx:383
Int_t CheckDiscardedTracks()
Definition: EdbVertex.cxx:168
Int_t Zpos(int i)
Definition: EdbVertex.h:127
EdbSegP * GetTrackV(int i, bool usesegpar=false)
Definition: EdbVertex.cxx:159
Int_t Nv()
Definition: EdbVertex.cxx:389
Int_t eFlag
Definition: EdbVertex.h:80
Float_t Y() const
Definition: EdbVertex.h:131
Float_t DistTrack(EdbTrackP *tr, int zpos, float X0=0.)
Definition: EdbVertex.cxx:684
TList * VTn()
Definition: EdbVertex.h:138
Int_t eMCEvt
Definition: EdbVertex.h:86
virtual ~EdbVertex()
Definition: EdbVertex.cxx:109
Definition: TIndexCell.h:19
Definition: VtTrack.hh:64
Definition: VtVertex.hh:88
double vyerr() const
$\sqrt{\sigma_{vy}^2}$ vertex $y$-error
double vzerr() const
$\sqrt{\sigma_{vz}^2}$ vertex $z$-error
float vz() const
$z$ of vertex
Definition: VtVertex.C:235
float vy() const
$y$ of vertex
Definition: VtVertex.C:234
float vx() const
$x$ of vertex
Definition: VtVertex.C:233
double vxerr() const
$\sqrt{\sigma_{vx}^2}$ vertex $x$-error
float X0
Definition: emthickness.cpp:69
AcqOdyssey * o
Definition: hwinit.C:2
TTree * tracks
Definition: check_tr.C:19
int nsegmin
Definition: check_vertex.C:23
float ImpMax
Definition: check_vertex.C:30
q
Definition: testBGReduction_AllMethods.C:55
EdbSegP * s1
Definition: tlg2pattern.C:30
EdbSegP * s2
Definition: tlg2pattern.C:31
EdbSegP * s
Definition: tlg2pattern.C:32