]>
Commit | Line | Data |
---|---|---|
ae7d73d2 | 1 | |
2 | class AliESDComparisonDraw: public AliComparisonDraw{ | |
3 | public: | |
4 | AliESDComparisonDraw(){fTree = 0;} | |
5 | void SetIO(const char *fname = "cmpESDTracks.root"); | |
6 | ClassDef(AliESDComparisonDraw,1) | |
7 | }; | |
8 | ClassImp(AliESDComparisonDraw) | |
9 | ||
10 | ||
11 | ///////////////////////////////////////////////////////////////////////// | |
12 | class AliESDRecInfo: public TObject { | |
13 | ||
14 | public: | |
15 | AliESDRecInfo(){} | |
16 | ~AliESDRecInfo(){} | |
17 | // | |
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 | |
46 | void Reset(); | |
47 | ClassDef(AliESDRecInfo,1) // container for | |
48 | }; | |
49 | ClassImp(AliESDRecInfo) | |
50 | ||
51 | void AliESDRecInfo::Reset() | |
52 | { | |
53 | fMultiple =0; | |
54 | fFake =0; | |
55 | fReconstructed=0; | |
56 | } | |
57 | ||
58 | ||
59 | ///////////////////////////////////////////////////////// | |
60 | ///////////////////////////////////////////////////////// | |
61 | ///////////////////////////////////////////////////////// | |
62 | ||
63 | ||
64 | class AliESDRecV0Info: public TObject { | |
65 | public: | |
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 - | |
72 | // | |
73 | Double_t fPdr[3]; //momentum at vertex daughter - according approx at DCA | |
74 | Double_t fXr[3]; //rec. position according helix | |
75 | // | |
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 | |
84 | }; | |
85 | ||
86 | ClassImp(AliESDRecV0Info) | |
87 | ||
88 | ||
89 | ||
90 | //////////////////////////////////////////////////////////////////////// | |
91 | // | |
92 | // Start of implementation of the class ESDCmpTr | |
93 | // | |
94 | //////////////////////////////////////////////////////////////////////// | |
95 | ||
96 | class ESDCmpTr { | |
97 | ||
98 | public: | |
99 | ESDCmpTr(); | |
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); | |
104 | virtual ~ESDCmpTr(); | |
105 | void Reset(); | |
106 | Int_t Exec(); | |
107 | Int_t Exec(Int_t nEvents, Int_t firstEventNr); | |
108 | Int_t SetIO(); | |
109 | Int_t SetIO(Int_t eventNr ); | |
110 | void CreateTreeCmp(); | |
111 | void CloseOutputFile(); | |
112 | Bool_t ConnectGenTree(); | |
113 | Int_t TreeGenLoop(Int_t eventNr); | |
114 | Int_t TreeTLoop(); | |
115 | void SetFirstEventNr(Int_t i) {fFirstEventNr = i;} | |
116 | void SetNEvents(Int_t i) {fNEvents = i;} | |
117 | void SetDebug(Int_t level) {fDebug = level;} | |
118 | ||
119 | // tmp method, should go to TrackReferenceESD | |
120 | static TVector3 TR2Local(AliTrackReference *trackRef, | |
121 | AliTPCParam *paramTPC); | |
122 | ||
123 | private: | |
124 | ||
125 | Int_t fEventNr; //! current event number | |
126 | Int_t fNEvents; //! number of events to process | |
127 | Int_t fFirstEventNr; //! first event to process | |
128 | // | |
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 | |
132 | // | |
133 | char fFnGenTracks[1000]; //! input file name with gen tracks | |
134 | TFile *fFileGenTracks; | |
135 | TTree *fTreeGenTracks; | |
136 | // | |
137 | // | |
138 | Int_t fDirection; | |
139 | // | |
140 | AliRunLoader * fLoader; //! pointer to the run loader | |
141 | //TTree *fTreeRecTracks; //! tree with reconstructed tracks | |
142 | // | |
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 | |
146 | // | |
147 | TObjArray * fTracks; //!container with tracks | |
148 | AliESD *fEvent; //!event | |
149 | ||
150 | // | |
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 | |
155 | // | |
156 | AliMCInfo* fMCInfo; //! MC information writen per particle | |
157 | AliESDRecInfo* fRecInfo; //! Rec. information writen per particle | |
158 | // | |
159 | ||
160 | ClassDef(ESDCmpTr,1) // class which creates and fills tree with ESDGenTrack objects | |
161 | }; | |
162 | ClassImp(ESDCmpTr) | |
163 | ||
164 | ||
165 |