]>
Commit | Line | Data |
---|---|---|
2fbf38ac | 1 | #ifndef ALIANALYSISETMONTECARLO_H |
2 | #define ALIANALYSISETMONTECARLO_H | |
4d376d01 | 3 | //_________________________________________________________________________ |
cf6522d1 | 4 | // Utility Class for transverse energy studies |
5 | // Base class for MC analysis | |
6 | // - MC output | |
7 | // | |
8 | //*-- Authors: Oystein Djuvsland (Bergen), David Silvermyr (ORNL) | |
9 | //_________________________________________________________________________ | |
2fbf38ac | 10 | #include "AliAnalysisEt.h" |
cf6522d1 | 11 | class TParticle; |
e2ee5727 | 12 | class TH3F; |
ef647350 | 13 | class TH2I; |
14 | class AliPHOSGeoUtils; | |
4d376d01 | 15 | class AliPHOSGeometry; |
ef647350 | 16 | class AliStack; |
0651f6b4 | 17 | //class AliMCEvent; |
18 | //class AliESDEvent; | |
2fbf38ac | 19 | |
20 | class AliAnalysisEtMonteCarlo : public AliAnalysisEt | |
21 | { | |
22 | ||
23 | public: | |
ef647350 | 24 | |
25 | AliAnalysisEtMonteCarlo(); | |
26 | virtual ~AliAnalysisEtMonteCarlo(); | |
cf6522d1 | 27 | |
2fbf38ac | 28 | virtual Int_t AnalyseEvent(AliVEvent* event); |
ef647350 | 29 | virtual Int_t AnalyseEvent(AliVEvent* event, AliVEvent* event2); |
30 | //virtual Int_t AnalyseEvent(AliMCEvent* event, AliESDEvent* event2); | |
2fbf38ac | 31 | |
32 | virtual void Init(); | |
ce546038 | 33 | virtual void ResetEventValues(); |
34 | virtual void CreateHistograms(); | |
0651f6b4 | 35 | virtual void FillOutputList(TList* list); |
13b0d3c1 | 36 | |
e2ee5727 | 37 | virtual void FillHistograms(); |
38 | ||
13b0d3c1 | 39 | protected: |
40 | ||
41 | virtual bool TrackHitsCalorimeter(TParticle *part, Double_t magField=0.5); | |
b2c10007 | 42 | |
43 | ||
ef647350 | 44 | Int_t GetPrimMother(Int_t partIdx, AliStack *stack); |
b2c10007 | 45 | |
ef647350 | 46 | Int_t GetK0InFamily(Int_t partIdx, AliStack *stack); |
b2c10007 | 47 | |
ef647350 | 48 | Int_t PrintFamilyTree(Int_t partIdx, AliStack *stack); |
49 | Int_t PrintMothers(Int_t partIdx, AliStack *stack, Int_t gen); | |
b2c10007 | 50 | |
51 | ||
52 | ||
ce546038 | 53 | protected: |
54 | ||
55 | Double_t fImpactParameter; // b(fm), for Hijing; 0 otherwise | |
56 | Int_t fNcoll; // Ncoll, for Hijing; 1 otherwise | |
57 | Int_t fNpart; // Ncoll, for Hijing; 2 otherwise | |
b2c10007 | 58 | |
f61cec2f | 59 | TTree *fPrimaryTree; // Tree holding info on primaries |
60 | ||
4d376d01 | 61 | Double_t fTotEtWithSecondaryRemoved; // enter comment here |
62 | Double_t fTotEtSecondaryFromEmEtPrimary; // enter comment here | |
63 | Double_t fTotEtSecondary; // enter comment here | |
f61cec2f | 64 | |
4d376d01 | 65 | Int_t fPrimaryCode; // enter comment here |
66 | Int_t fPrimaryCharge; // enter comment here | |
f61cec2f | 67 | |
4d376d01 | 68 | Double_t fPrimaryE; // enter comment here |
69 | Double_t fPrimaryEt; // enter comment here | |
ce546038 | 70 | |
4d376d01 | 71 | Double_t fPrimaryPx; // enter comment here |
72 | Double_t fPrimaryPy; // enter comment here | |
73 | Double_t fPrimaryPz; // enter comment here | |
f61cec2f | 74 | |
4d376d01 | 75 | Double_t fPrimaryVx; // enter comment here |
76 | Double_t fPrimaryVy; // enter comment here | |
77 | Double_t fPrimaryVz; // enter comment here | |
f61cec2f | 78 | |
4d376d01 | 79 | Bool_t fPrimaryAccepted; // enter comment here |
b2c10007 | 80 | Bool_t fPrimaryMatched; |
81 | Int_t fDepositedCode; // enter comment here Double_t fDepositedEt; // enter comment here | |
82 | Double_t fDepositedE; | |
83 | Double_t fDepositedEt; | |
4d376d01 | 84 | Int_t fDepositedCharge; // enter comment here |
85 | ||
86 | Double_t fDepositedVx; // enter comment here | |
87 | Double_t fDepositedVy; // enter comment here | |
88 | Double_t fDepositedVz; // enter comment here | |
b2c10007 | 89 | |
90 | Bool_t fSecondary; | |
91 | ||
92 | Double_t fReconstructedE; | |
93 | Double_t fReconstructedEt; | |
f61cec2f | 94 | |
b2c10007 | 95 | Double_t fTotPx; |
96 | Double_t fTotPy; | |
97 | Double_t fTotPz; | |
f61cec2f | 98 | |
b2c10007 | 99 | |
100 | Int_t fClusterMult; | |
101 | ||
ef647350 | 102 | TH3F *fHistDecayVertexNonRemovedCharged; // Decay vertex for non-removed charged particles |
103 | TH3F *fHistDecayVertexRemovedCharged; // Decay vertex for non-removed charged particles | |
104 | TH3F *fHistDecayVertexNonRemovedNeutral; // Decay vertex for non-removed charged particles | |
105 | TH3F *fHistDecayVertexRemovedNeutral; // Decay vertex for non-removed charged particles | |
106 | ||
107 | TH2F *fHistRemovedOrNot; // If charged/neutral particles were removed or not | |
108 | ||
109 | TH2F *fHistEtNonRemovedProtons; // enter comment here | |
110 | TH2F *fHistEtNonRemovedAntiProtons; // enter comment here | |
111 | TH2F *fHistEtNonRemovedPiPlus; // enter comment here | |
112 | TH2F *fHistEtNonRemovedPiMinus; // enter comment here | |
113 | TH2F *fHistEtNonRemovedKaonPlus; // enter comment here | |
114 | TH2F *fHistEtNonRemovedKaonMinus; // enter comment here | |
115 | TH2F *fHistEtNonRemovedK0s; // enter comment here | |
116 | TH2F *fHistEtNonRemovedK0L; // enter comment here | |
117 | TH2F *fHistEtNonRemovedLambdas; // enter comment here | |
118 | TH2F *fHistEtNonRemovedElectrons; // enter comment here | |
119 | TH2F *fHistEtNonRemovedPositrons; // enter comment here | |
120 | TH2F *fHistEtNonRemovedMuPlus; // enter comment here | |
121 | TH2F *fHistEtNonRemovedMuMinus; // enter comment here | |
122 | TH2F *fHistEtNonRemovedNeutrons; // enter comment here | |
123 | TH2F *fHistEtNonRemovedAntiNeutrons; // enter comment here | |
124 | TH2F *fHistEtNonRemovedGammas; // enter comment here | |
125 | TH2F *fHistEtNonRemovedGammasFromPi0; // enter comment here | |
126 | ||
127 | TH2F *fHistEtRemovedGammas; // enter comment here | |
128 | TH2F *fHistEtRemovedNeutrons; // enter comment here | |
129 | TH2F *fHistEtRemovedAntiNeutrons; // enter comment here | |
130 | ||
131 | TH2F *fHistEtRemovedCharged; // enter comment here | |
132 | TH2F *fHistEtRemovedNeutrals; // enter comment here | |
133 | ||
134 | TH2F *fHistEtNonRemovedCharged; // enter comment here | |
135 | TH2F *fHistEtNonRemovedNeutrals; // enter comment here | |
136 | ||
137 | TH2F *fHistMultNonRemovedProtons; // enter comment here | |
138 | TH2F *fHistMultNonRemovedAntiProtons; // enter comment here | |
139 | TH2F *fHistMultNonRemovedPiPlus; // enter comment here | |
140 | TH2F *fHistMultNonRemovedPiMinus; // enter comment here | |
141 | TH2F *fHistMultNonRemovedKaonPlus; // enter comment here | |
142 | TH2F *fHistMultNonRemovedKaonMinus; // enter comment here | |
143 | TH2F *fHistMultNonRemovedK0s; // enter comment here | |
144 | TH2F *fHistMultNonRemovedK0L; // enter comment here | |
145 | TH2F *fHistMultNonRemovedLambdas; // enter comment here | |
146 | TH2F *fHistMultNonRemovedElectrons; // enter comment here | |
147 | TH2F *fHistMultNonRemovedPositrons; // enter comment here | |
148 | TH2F *fHistMultNonRemovedMuPlus; // enter comment here | |
149 | TH2F *fHistMultNonRemovedMuMinus; // enter comment here | |
150 | TH2F *fHistMultNonRemovedNeutrons; // enter comment here | |
151 | TH2F *fHistMultNonRemovedAntiNeutrons; // enter comment here | |
152 | TH2F *fHistMultNonRemovedGammas; // enter comment here | |
153 | ||
154 | TH2F *fHistMultRemovedGammas; // enter comment here | |
155 | TH2F *fHistMultRemovedNeutrons; // enter comment here | |
156 | TH2F *fHistMultRemovedAntiNeutrons; // enter comment here | |
157 | ||
158 | TH2F *fHistMultRemovedCharged; // enter comment here | |
159 | TH2F *fHistMultRemovedNeutrals; // enter comment here | |
160 | ||
161 | TH2F *fHistMultNonRemovedCharged; // enter comment here | |
162 | TH2F *fHistMultNonRemovedNeutrals; // enter comment here | |
163 | ||
164 | TH2F *fHistTrackMultvsNonRemovedCharged; // enter comment here | |
165 | TH2F *fHistTrackMultvsNonRemovedNeutral; // enter comment here | |
166 | TH2F *fHistTrackMultvsRemovedGamma; // enter comment here | |
167 | ||
168 | TH2F *fHistClusterMultvsNonRemovedCharged; // enter comment here | |
169 | TH2F *fHistClusterMultvsNonRemovedNeutral; // enter comment here | |
170 | TH2F *fHistClusterMultvsRemovedGamma; // enter comment here | |
171 | ||
172 | TH2F *fHistMultvsNonRemovedChargedE; // enter comment here | |
173 | TH2F *fHistMultvsNonRemovedNeutralE; // enter comment here | |
174 | TH2F *fHistMultvsRemovedGammaE; // enter comment here | |
175 | ||
176 | Float_t fEtNonRemovedProtons; // enter comment here | |
177 | Float_t fEtNonRemovedAntiProtons; // enter comment here | |
178 | Float_t fEtNonRemovedPiPlus; // enter comment here | |
179 | Float_t fEtNonRemovedPiMinus; // enter comment here | |
180 | Float_t fEtNonRemovedKaonPlus; // enter comment here | |
181 | Float_t fEtNonRemovedKaonMinus; // enter comment here | |
182 | Float_t fEtNonRemovedK0S; // enter comment here | |
183 | Float_t fEtNonRemovedK0L; // enter comment here | |
184 | Float_t fEtNonRemovedLambdas; // enter comment here | |
185 | Float_t fEtNonRemovedElectrons; // enter comment here | |
186 | Float_t fEtNonRemovedPositrons; // enter comment here | |
187 | Float_t fEtNonRemovedMuMinus; // enter comment here | |
188 | Float_t fEtNonRemovedMuPlus; // enter comment here | |
189 | Float_t fEtNonRemovedGammas; // enter comment here | |
190 | Float_t fEtNonRemovedGammasFromPi0; // enter comment here | |
191 | Float_t fEtNonRemovedNeutrons; // enter comment here | |
192 | Float_t fEtNonRemovedAntiNeutrons; // enter comment here | |
193 | ||
194 | Float_t fEtRemovedProtons; // enter comment here | |
195 | Float_t fEtRemovedAntiProtons; // enter comment here | |
196 | Float_t fEtRemovedPiPlus; // enter comment here | |
197 | Float_t fEtRemovedPiMinus; // enter comment here | |
198 | Float_t fEtRemovedKaonPlus; // enter comment here | |
199 | Float_t fEtRemovedKaonMinus; // enter comment here | |
200 | Float_t fEtRemovedK0s; // enter comment here | |
201 | Float_t fEtRemovedK0L; // enter comment here | |
202 | Float_t fEtRemovedLambdas; // enter comment here | |
203 | Float_t fEtRemovedElectrons; // enter comment here | |
204 | Float_t fEtRemovedPositrons; // enter comment here | |
205 | Float_t fEtRemovedMuMinus; // enter comment here | |
206 | Float_t fEtRemovedMuPlus; // enter comment here | |
207 | ||
208 | Float_t fEtRemovedGammasFromPi0; // enter comment here | |
209 | Float_t fEtRemovedGammas; // enter comment here | |
210 | Float_t fEtRemovedNeutrons; // enter comment here | |
211 | Float_t fEtRemovedAntiNeutrons; // enter comment here | |
212 | ||
213 | Int_t fMultNonRemovedProtons; // enter comment here | |
214 | Int_t fMultNonRemovedAntiProtons; // enter comment here | |
215 | Int_t fMultNonRemovedPiPlus; // enter comment here | |
216 | Int_t fMultNonRemovedPiMinus; // enter comment here | |
217 | Int_t fMultNonRemovedKaonPlus; // enter comment here | |
218 | Int_t fMultNonRemovedKaonMinus; // enter comment here | |
219 | Int_t fMultNonRemovedK0s; // enter comment here | |
220 | Int_t fMultNonRemovedK0L; // enter comment here | |
221 | Int_t fMultNonRemovedLambdas; // enter comment here | |
222 | Int_t fMultNonRemovedElectrons; // enter comment here | |
223 | Int_t fMultNonRemovedPositrons; // enter comment here | |
224 | Int_t fMultNonRemovedMuMinus; // enter comment here | |
225 | Int_t fMultNonRemovedMuPlus; // enter comment here | |
226 | Int_t fMultNonRemovedGammas; // enter comment here | |
227 | Int_t fMultNonRemovedNeutrons; // enter comment here | |
228 | Int_t fMultNonRemovedAntiNeutrons; // enter comment here | |
229 | ||
230 | Int_t fMultRemovedProtons; // enter comment here | |
231 | Int_t fMultRemovedAntiProtons; // enter comment here | |
232 | Int_t fMultRemovedPiPlus; // enter comment here | |
233 | Int_t fMultRemovedPiMinus; // enter comment here | |
234 | Int_t fMultRemovedKaonPlus; // enter comment here | |
235 | Int_t fMultRemovedKaonMinus; // enter comment here | |
236 | Int_t fMultRemovedK0s; // enter comment here | |
237 | Int_t fMultRemovedK0L; // enter comment here | |
b2c10007 | 238 | |
ef647350 | 239 | Int_t fMultRemovedLambdas; // enter comment here |
240 | Int_t fMultRemovedElectrons; // enter comment here | |
241 | Int_t fMultRemovedPositrons; // enter comment here | |
242 | Int_t fMultRemovedMuMinus; // enter comment here | |
243 | Int_t fMultRemovedMuPlus; // enter comment here | |
244 | ||
245 | Int_t fMultRemovedGammas; // enter comment here | |
246 | Int_t fMultRemovedNeutrons; // enter comment here | |
247 | Int_t fMultRemovedAntiNeutrons; // enter comment here | |
248 | ||
249 | Int_t fTrackMultInAcc; // enter comment here | |
250 | ||
251 | ||
252 | TH2F *fHistDxDzNonRemovedCharged; // enter comment here | |
253 | TH2F *fHistDxDzRemovedCharged; // enter comment here | |
254 | TH2F *fHistDxDzNonRemovedNeutral; // enter comment here | |
255 | TH2F *fHistDxDzRemovedNeutral; // enter comment here | |
256 | ||
257 | TH1F *fHistPiPlusMult; // enter comment here | |
258 | TH1F *fHistPiMinusMult; // enter comment here | |
259 | TH1F *fHistPiZeroMult; // enter comment here | |
260 | ||
261 | TH1F *fHistPiPlusMultAcc; // enter comment here | |
262 | TH1F *fHistPiMinusMultAcc; // enter comment here | |
263 | TH1F *fHistPiZeroMultAcc; // enter comment here | |
264 | ||
b2c10007 | 265 | // Int_t fPiPlusMult; // enter comment here |
266 | // Int_t fPiMinusMult; // enter comment here | |
4d376d01 | 267 | |
ef647350 | 268 | Int_t fPiZeroMult; // enter comment here |
269 | ||
270 | Int_t fPiPlusMultAcc; // enter comment here | |
271 | Int_t fPiMinusMultAcc; // enter comment here | |
272 | Int_t fPiZeroMultAcc; // enter comment here | |
273 | ||
274 | ||
275 | Int_t fNeutralRemoved; // number of neutral particles that where removed by track matching | |
276 | Int_t fChargedRemoved; // number of charged particles that where removed by track matching | |
277 | Int_t fChargedNotRemoved; // number of charged particles that were not removed | |
278 | Int_t fNeutralNotRemoved; // number of neutral particles that were not removed | |
b2c10007 | 279 | Int_t fGammaRemoved; // number of gammas removed |
280 | ||
281 | Int_t fSecondaryNotRemoved; | |
ef647350 | 282 | |
283 | Double_t fEnergyNeutralRemoved; // energy of neutral particles that where removed by track matching | |
284 | Double_t fEnergyChargedRemoved; // energy of charged particles that where removed by track matching | |
285 | Double_t fEnergyChargedNotRemoved; // energy of charged particles that were not removed | |
286 | Double_t fEnergyNeutralNotRemoved; // energy of neutral particles that were not removed | |
b2c10007 | 287 | Double_t fEnergyGammaRemoved; // energy of gammas that were removed |
ef647350 | 288 | |
289 | Int_t fNClusters; // Number of clusters in event | |
290 | ||
4d376d01 | 291 | Double_t fTotNeutralEtAfterMinEnergyCut; // enter comment here |
f61cec2f | 292 | |
b2c10007 | 293 | TH1F *fHistGammasFound; |
294 | TH1F *fHistGammasGenerated; | |
295 | ||
296 | ||
ef647350 | 297 | private: |
16abb579 | 298 | |
0651f6b4 | 299 | //Declare it private to avoid compilation warning |
300 | AliAnalysisEtMonteCarlo & operator = (const AliAnalysisEtMonteCarlo & g) ;//cpy assignment | |
301 | AliAnalysisEtMonteCarlo(const AliAnalysisEtMonteCarlo & g) ; // cpy ctor | |
302 | ClassDef(AliAnalysisEtMonteCarlo, 2); | |
2fbf38ac | 303 | }; |
304 | ||
305 | #endif // ALIANALYSISETMONTECARLO_H |