2 class AliESDComparisonDraw: public AliComparisonDraw{
4 AliESDComparisonDraw(){fTree = 0;}
5 void SetIO(const char *fname = "cmpESDTracks.root");
6 ClassDef(AliESDComparisonDraw,1)
8 ClassImp(AliESDComparisonDraw)
11 /////////////////////////////////////////////////////////////////////////
12 class AliESDRecInfo: public TObject {
18 void Update(AliMCInfo* info,AliTPCParam * par, Bool_t reconstructed);
19 Double_t fTPCinR0[5]; //generated position of the track at inner tpc - radius [3] and fi [4]
20 Double_t fTPCinR1[5]; //reconstructed postion of the track - radius [3] and fi [
21 Double_t fTPCinP0[5]; //generated position of the track at inner tpc
22 Double_t fTPCinP1[5]; //reconstructed postion of the track
23 Double_t fTPCAngle0[2]; // generated angle
24 Double_t fTPCAngle1[2]; //refconstructed angle
25 Double_t fTPCDelta[5]; // deltas
26 Double_t fTPCPools[5]; // pools
27 Double_t fITSinR0[5]; //generated position of the track at inner tpc
28 Double_t fITSinR1[5]; //reconstructed postion of the track
29 Double_t fITSinP0[5]; //generated position of the track at inner tpc
30 Double_t fITSinP1[5]; //reconstructed postion of the track
31 Double_t fITSAngle0[2]; // generated angle
32 Double_t fITSAngle1[2]; //refconstructed angle
33 Double_t fITSDelta[5]; // deltas
34 Double_t fITSPools[5]; // pools
35 AliESDtrack fESDTrack; // tpc track
36 AliITStrackV2 fITStrack; //its track
37 AliTRDtrack fTRDtrack; //its track
38 Float_t fTRLocalCoord[3]; //local coordinates of the track ref.
39 Int_t fReconstructed; //flag if track was reconstructed
40 Int_t fFake; // fake track
41 Int_t fMultiple; // number of reconstructions
42 Bool_t fTPCOn; // TPC refitted inward
43 Bool_t fITSOn; // ITS refitted inward
44 Bool_t fTRDOn; // ITS refitted inward
45 Float_t fDeltaP; //delta of momenta
47 ClassDef(AliESDRecInfo,1) // container for
49 ClassImp(AliESDRecInfo)
51 void AliESDRecInfo::Reset()
59 /////////////////////////////////////////////////////////
60 /////////////////////////////////////////////////////////
61 /////////////////////////////////////////////////////////
64 class AliESDRecV0Info: public TObject {
66 void Update(Float_t vertex[3]);
67 AliESDRecInfo fT1; //track1
68 AliESDRecInfo fT2; //track2
69 Double_t fDist1; //info about closest distance according closest MC - linear DCA
70 Double_t fDist2; //info about closest distance parabolic DCA
71 Double_t fInvMass; //reconstructed invariant mass -
73 Double_t fPdr[3]; //momentum at vertex daughter - according approx at DCA
74 Double_t fXr[3]; //rec. position according helix
76 Double_t fPm[3]; //momentum at the vertex mother
77 Double_t fAngle[3]; //three angles
78 Double_t fRr; // rec position of the vertex
79 Int_t fLab[2]; //MC label of the partecle
80 Float_t fPointAngleFi; //point angle fi
81 Float_t fPointAngleTh; //point angle theta
82 Float_t fPointAngle; //point angle full
83 ClassDef(AliESDRecV0Info,1) // container for
86 ClassImp(AliESDRecV0Info)
90 ////////////////////////////////////////////////////////////////////////
92 // Start of implementation of the class ESDCmpTr
94 ////////////////////////////////////////////////////////////////////////
100 ESDCmpTr(const char* fnGenTracks,
101 const char* fnCmpRes ="cmpTracks.root",
102 const char* fnGalice ="galice.root", Int_t direction=0,
103 Int_t nEvents=1, Int_t firstEvent=0);
107 Int_t Exec(Int_t nEvents, Int_t firstEventNr);
109 Int_t SetIO(Int_t eventNr );
110 void CreateTreeCmp();
111 void CloseOutputFile();
112 Bool_t ConnectGenTree();
113 Int_t TreeGenLoop(Int_t eventNr);
115 void SetFirstEventNr(Int_t i) {fFirstEventNr = i;}
116 void SetNEvents(Int_t i) {fNEvents = i;}
117 void SetDebug(Int_t level) {fDebug = level;}
119 // tmp method, should go to TrackReferenceESD
120 static TVector3 TR2Local(AliTrackReference *trackRef,
121 AliTPCParam *paramTPC);
125 Int_t fEventNr; //! current event number
126 Int_t fNEvents; //! number of events to process
127 Int_t fFirstEventNr; //! first event to process
129 char fFnCmp[1000]; //! output file name with cmp tracks
130 TFile *fFileCmp; //! output file with cmp tracks
131 TTree *fTreeCmp; //! output tree with cmp tracks
133 char fFnGenTracks[1000]; //! input file name with gen tracks
134 TFile *fFileGenTracks;
135 TTree *fTreeGenTracks;
140 AliRunLoader * fLoader; //! pointer to the run loader
141 //TTree *fTreeRecTracks; //! tree with reconstructed tracks
143 Int_t *fIndexRecTracks; //! index of particle label in the TreeT_ESD
144 Int_t *fFakeRecTracks; //! number of fake tracks
145 Int_t *fMultiRecTracks; //! number of multiple reconstructions
147 TObjArray * fTracks; //!container with tracks
148 AliESD *fEvent; //!event
151 AliTPCParam* fParamTPC; //! AliTPCParam
152 Int_t fNParticles; //! number of particles in the input tree genTracks
153 Int_t fDebug; //! debug flag
154 Int_t fNextTreeGenEntryToRead; //! last entry already read from genTracks tree
156 AliMCInfo* fMCInfo; //! MC information writen per particle
157 AliESDRecInfo* fRecInfo; //! Rec. information writen per particle
160 ClassDef(ESDCmpTr,1) // class which creates and fills tree with ESDGenTrack objects