1 #ifndef ALIANALYSISETMONTECARLO_H
2 #define ALIANALYSISETMONTECARLO_H
4 class AliPHOSGeometry;//_________________________________________________________________________
5 // Utility Class for transverse energy studies
6 // Base class for MC analysis
9 //*-- Authors: Oystein Djuvsland (Bergen), David Silvermyr (ORNL)
10 //_________________________________________________________________________
12 #include "AliAnalysisEt.h"
16 class AliPHOSGeoUtils;
21 class AliAnalysisEtMonteCarlo : public AliAnalysisEt
26 AliAnalysisEtMonteCarlo();
27 virtual ~AliAnalysisEtMonteCarlo();
29 virtual Int_t AnalyseEvent(AliVEvent* event);
30 virtual Int_t AnalyseEvent(AliVEvent* event, AliVEvent* event2);
31 //virtual Int_t AnalyseEvent(AliMCEvent* event, AliESDEvent* event2);
34 virtual void ResetEventValues();
35 virtual void CreateHistograms();
36 virtual void FillOutputList(TList* list);
38 virtual void FillHistograms();
42 virtual bool TrackHitsCalorimeter(TParticle *part, Double_t magField=0.5);
45 Int_t GetPrimMother(Int_t partIdx, AliStack *stack);
47 Int_t GetK0InFamily(Int_t partIdx, AliStack *stack);
49 Int_t PrintFamilyTree(Int_t partIdx, AliStack *stack);
50 Int_t PrintMothers(Int_t partIdx, AliStack *stack, Int_t gen);
54 Double_t fImpactParameter; // b(fm), for Hijing; 0 otherwise
55 Int_t fNcoll; // Ncoll, for Hijing; 1 otherwise
56 Int_t fNpart; // Ncoll, for Hijing; 2 otherwise
58 TTree *fPrimaryTree; // Tree holding info on primaries
60 Double_t fTotEtWithSecondaryRemoved;
61 Double_t fTotEtSecondaryFromEmEtPrimary;
62 Double_t fTotEtSecondary;
78 Bool_t fPrimaryAccepted;
80 Double_t fDepositedEt;
81 Int_t fDepositedCharge;
83 Double_t fDepositedVx;
84 Double_t fDepositedVy;
85 Double_t fDepositedVz;
88 TH3F *fHistDecayVertexNonRemovedCharged; // Decay vertex for non-removed charged particles
89 TH3F *fHistDecayVertexRemovedCharged; // Decay vertex for non-removed charged particles
90 TH3F *fHistDecayVertexNonRemovedNeutral; // Decay vertex for non-removed charged particles
91 TH3F *fHistDecayVertexRemovedNeutral; // Decay vertex for non-removed charged particles
93 TH2F *fHistRemovedOrNot; // If charged/neutral particles were removed or not
95 TH2F *fHistEtNonRemovedProtons; // enter comment here
96 TH2F *fHistEtNonRemovedAntiProtons; // enter comment here
97 TH2F *fHistEtNonRemovedPiPlus; // enter comment here
98 TH2F *fHistEtNonRemovedPiMinus; // enter comment here
99 TH2F *fHistEtNonRemovedKaonPlus; // enter comment here
100 TH2F *fHistEtNonRemovedKaonMinus; // enter comment here
101 TH2F *fHistEtNonRemovedK0s; // enter comment here
102 TH2F *fHistEtNonRemovedK0L; // enter comment here
103 TH2F *fHistEtNonRemovedLambdas; // enter comment here
104 TH2F *fHistEtNonRemovedElectrons; // enter comment here
105 TH2F *fHistEtNonRemovedPositrons; // enter comment here
106 TH2F *fHistEtNonRemovedMuPlus; // enter comment here
107 TH2F *fHistEtNonRemovedMuMinus; // enter comment here
108 TH2F *fHistEtNonRemovedNeutrons; // enter comment here
109 TH2F *fHistEtNonRemovedAntiNeutrons; // enter comment here
110 TH2F *fHistEtNonRemovedGammas; // enter comment here
111 TH2F *fHistEtNonRemovedGammasFromPi0; // enter comment here
113 TH2F *fHistEtRemovedGammas; // enter comment here
114 TH2F *fHistEtRemovedNeutrons; // enter comment here
115 TH2F *fHistEtRemovedAntiNeutrons; // enter comment here
117 TH2F *fHistEtRemovedCharged; // enter comment here
118 TH2F *fHistEtRemovedNeutrals; // enter comment here
120 TH2F *fHistEtNonRemovedCharged; // enter comment here
121 TH2F *fHistEtNonRemovedNeutrals; // enter comment here
123 TH2F *fHistMultNonRemovedProtons; // enter comment here
124 TH2F *fHistMultNonRemovedAntiProtons; // enter comment here
125 TH2F *fHistMultNonRemovedPiPlus; // enter comment here
126 TH2F *fHistMultNonRemovedPiMinus; // enter comment here
127 TH2F *fHistMultNonRemovedKaonPlus; // enter comment here
128 TH2F *fHistMultNonRemovedKaonMinus; // enter comment here
129 TH2F *fHistMultNonRemovedK0s; // enter comment here
130 TH2F *fHistMultNonRemovedK0L; // enter comment here
131 TH2F *fHistMultNonRemovedLambdas; // enter comment here
132 TH2F *fHistMultNonRemovedElectrons; // enter comment here
133 TH2F *fHistMultNonRemovedPositrons; // enter comment here
134 TH2F *fHistMultNonRemovedMuPlus; // enter comment here
135 TH2F *fHistMultNonRemovedMuMinus; // enter comment here
136 TH2F *fHistMultNonRemovedNeutrons; // enter comment here
137 TH2F *fHistMultNonRemovedAntiNeutrons; // enter comment here
138 TH2F *fHistMultNonRemovedGammas; // enter comment here
140 TH2F *fHistMultRemovedGammas; // enter comment here
141 TH2F *fHistMultRemovedNeutrons; // enter comment here
142 TH2F *fHistMultRemovedAntiNeutrons; // enter comment here
144 TH2F *fHistMultRemovedCharged; // enter comment here
145 TH2F *fHistMultRemovedNeutrals; // enter comment here
147 TH2F *fHistMultNonRemovedCharged; // enter comment here
148 TH2F *fHistMultNonRemovedNeutrals; // enter comment here
150 TH2F *fHistTrackMultvsNonRemovedCharged; // enter comment here
151 TH2F *fHistTrackMultvsNonRemovedNeutral; // enter comment here
152 TH2F *fHistTrackMultvsRemovedGamma; // enter comment here
154 TH2F *fHistClusterMultvsNonRemovedCharged; // enter comment here
155 TH2F *fHistClusterMultvsNonRemovedNeutral; // enter comment here
156 TH2F *fHistClusterMultvsRemovedGamma; // enter comment here
158 TH2F *fHistMultvsNonRemovedChargedE; // enter comment here
159 TH2F *fHistMultvsNonRemovedNeutralE; // enter comment here
160 TH2F *fHistMultvsRemovedGammaE; // enter comment here
162 Float_t fEtNonRemovedProtons; // enter comment here
163 Float_t fEtNonRemovedAntiProtons; // enter comment here
164 Float_t fEtNonRemovedPiPlus; // enter comment here
165 Float_t fEtNonRemovedPiMinus; // enter comment here
166 Float_t fEtNonRemovedKaonPlus; // enter comment here
167 Float_t fEtNonRemovedKaonMinus; // enter comment here
168 Float_t fEtNonRemovedK0S; // enter comment here
169 Float_t fEtNonRemovedK0L; // enter comment here
170 Float_t fEtNonRemovedLambdas; // enter comment here
171 Float_t fEtNonRemovedElectrons; // enter comment here
172 Float_t fEtNonRemovedPositrons; // enter comment here
173 Float_t fEtNonRemovedMuMinus; // enter comment here
174 Float_t fEtNonRemovedMuPlus; // enter comment here
175 Float_t fEtNonRemovedGammas; // enter comment here
176 Float_t fEtNonRemovedGammasFromPi0; // enter comment here
177 Float_t fEtNonRemovedNeutrons; // enter comment here
178 Float_t fEtNonRemovedAntiNeutrons; // enter comment here
180 Float_t fEtRemovedProtons; // enter comment here
181 Float_t fEtRemovedAntiProtons; // enter comment here
182 Float_t fEtRemovedPiPlus; // enter comment here
183 Float_t fEtRemovedPiMinus; // enter comment here
184 Float_t fEtRemovedKaonPlus; // enter comment here
185 Float_t fEtRemovedKaonMinus; // enter comment here
186 Float_t fEtRemovedK0s; // enter comment here
187 Float_t fEtRemovedK0L; // enter comment here
188 Float_t fEtRemovedLambdas; // enter comment here
189 Float_t fEtRemovedElectrons; // enter comment here
190 Float_t fEtRemovedPositrons; // enter comment here
191 Float_t fEtRemovedMuMinus; // enter comment here
192 Float_t fEtRemovedMuPlus; // enter comment here
194 Float_t fEtRemovedGammasFromPi0; // enter comment here
195 Float_t fEtRemovedGammas; // enter comment here
196 Float_t fEtRemovedNeutrons; // enter comment here
197 Float_t fEtRemovedAntiNeutrons; // enter comment here
199 Int_t fMultNonRemovedProtons; // enter comment here
200 Int_t fMultNonRemovedAntiProtons; // enter comment here
201 Int_t fMultNonRemovedPiPlus; // enter comment here
202 Int_t fMultNonRemovedPiMinus; // enter comment here
203 Int_t fMultNonRemovedKaonPlus; // enter comment here
204 Int_t fMultNonRemovedKaonMinus; // enter comment here
205 Int_t fMultNonRemovedK0s; // enter comment here
206 Int_t fMultNonRemovedK0L; // enter comment here
207 Int_t fMultNonRemovedLambdas; // enter comment here
208 Int_t fMultNonRemovedElectrons; // enter comment here
209 Int_t fMultNonRemovedPositrons; // enter comment here
210 Int_t fMultNonRemovedMuMinus; // enter comment here
211 Int_t fMultNonRemovedMuPlus; // enter comment here
212 Int_t fMultNonRemovedGammas; // enter comment here
213 Int_t fMultNonRemovedNeutrons; // enter comment here
214 Int_t fMultNonRemovedAntiNeutrons; // enter comment here
216 Int_t fMultRemovedProtons; // enter comment here
217 Int_t fMultRemovedAntiProtons; // enter comment here
218 Int_t fMultRemovedPiPlus; // enter comment here
219 Int_t fMultRemovedPiMinus; // enter comment here
220 Int_t fMultRemovedKaonPlus; // enter comment here
221 Int_t fMultRemovedKaonMinus; // enter comment here
222 Int_t fMultRemovedK0s; // enter comment here
223 Int_t fMultRemovedK0L; // enter comment here
225 Int_t fMultRemovedLambdas; // enter comment here
226 Int_t fMultRemovedElectrons; // enter comment here
227 Int_t fMultRemovedPositrons; // enter comment here
228 Int_t fMultRemovedMuMinus; // enter comment here
229 Int_t fMultRemovedMuPlus; // enter comment here
231 Int_t fMultRemovedGammas; // enter comment here
232 Int_t fMultRemovedNeutrons; // enter comment here
233 Int_t fMultRemovedAntiNeutrons; // enter comment here
235 Int_t fTrackMultInAcc; // enter comment here
238 TH2F *fHistDxDzNonRemovedCharged; // enter comment here
239 TH2F *fHistDxDzRemovedCharged; // enter comment here
240 TH2F *fHistDxDzNonRemovedNeutral; // enter comment here
241 TH2F *fHistDxDzRemovedNeutral; // enter comment here
243 TH1F *fHistPiPlusMult; // enter comment here
244 TH1F *fHistPiMinusMult; // enter comment here
245 TH1F *fHistPiZeroMult; // enter comment here
247 TH1F *fHistPiPlusMultAcc; // enter comment here
248 TH1F *fHistPiMinusMultAcc; // enter comment here
249 TH1F *fHistPiZeroMultAcc; // enter comment here
251 Int_t fPiPlusMult; // enter comment here
252 Int_t fPiMinusMult; // enter comment here
253 Int_t fPiZeroMult; // enter comment here
255 Int_t fPiPlusMultAcc; // enter comment here
256 Int_t fPiMinusMultAcc; // enter comment here
257 Int_t fPiZeroMultAcc; // enter comment here
260 Int_t fNeutralRemoved; // number of neutral particles that where removed by track matching
261 Int_t fChargedRemoved; // number of charged particles that where removed by track matching
262 Int_t fChargedNotRemoved; // number of charged particles that were not removed
263 Int_t fNeutralNotRemoved; // number of neutral particles that were not removed
265 Double_t fEnergyNeutralRemoved; // energy of neutral particles that where removed by track matching
266 Double_t fEnergyChargedRemoved; // energy of charged particles that where removed by track matching
267 Double_t fEnergyChargedNotRemoved; // energy of charged particles that were not removed
268 Double_t fEnergyNeutralNotRemoved; // energy of neutral particles that were not removed
270 Int_t fNClusters; // Number of clusters in event
272 Double_t fTotNeutralEtAfterMinEnergyCut;
276 //Declare it private to avoid compilation warning
277 AliAnalysisEtMonteCarlo & operator = (const AliAnalysisEtMonteCarlo & g) ;//cpy assignment
278 AliAnalysisEtMonteCarlo(const AliAnalysisEtMonteCarlo & g) ; // cpy ctor
279 ClassDef(AliAnalysisEtMonteCarlo, 2);
282 #endif // ALIANALYSISETMONTECARLO_H