]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/totEt/AliAnalysisEtMonteCarlo.h
Merge branch 'TPCdev' of https://git.cern.ch/reps/AliRoot into TPCdev
[u/mrichter/AliRoot.git] / PWGLF / totEt / AliAnalysisEtMonteCarlo.h
1 #ifndef ALIANALYSISETMONTECARLO_H
2 #define ALIANALYSISETMONTECARLO_H
3 //_________________________________________________________________________
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 //_________________________________________________________________________
10 #include "AliAnalysisEt.h"
11 class TParticle;
12 class TH3F;
13 class TH2I;
14 class AliPHOSGeoUtils;
15 class AliPHOSGeometry;
16 class AliStack;
17 class AliMCEvent;
18 class AliGenEventHeader;
19 class AliStack;
20 //class AliMCEvent;
21 //class AliESDEvent;
22
23 class AliAnalysisEtMonteCarlo : public AliAnalysisEt
24 {
25
26 public:
27
28     AliAnalysisEtMonteCarlo();
29     virtual ~AliAnalysisEtMonteCarlo();
30
31     virtual Int_t AnalyseEvent(AliVEvent* event);
32     virtual Int_t AnalyseEvent(AliVEvent* event, AliVEvent* event2);
33     //virtual Int_t AnalyseEvent(AliMCEvent* event, AliESDEvent* event2);
34
35     virtual void Init();
36     virtual void ResetEventValues();
37     virtual void CreateHistograms();
38     virtual void FillOutputList(TList* list);
39
40     virtual void FillHistograms();
41
42     void CalcTrackMatchVsMult(){fCalcTrackMatchVsMult = kTRUE;}
43     void CalcForKaonCorrection(){fCalcForKaonCorrection = kTRUE;}
44     void IsData(){fIsMC = kFALSE;}
45
46     void SetNumberOfChargedHadronsMatched(Float_t val){nChargedHadronsMeasured = val;}
47     void SetTotalNumberOfChargedHadrons(Float_t val){nChargedHadronsTotal = val;}
48     Float_t GetNumberOfChargedHadronsMatched(){return nChargedHadronsMeasured;}
49     Float_t GetTotalNumberOfChargedHadrons(){return nChargedHadronsTotal;}
50
51
52     void SetGeneratorMinMaxParticles(AliMCEvent *eventMC);
53     AliGenEventHeader* GetGenEventHeader(AliMCEvent *eventMC) const;
54     Bool_t IsHIJINGLabel(Int_t label,AliMCEvent *eventMC,AliStack *stack);
55     void CheckForHIJINGLabel(){checkLabelForHIJING = kTRUE;}
56
57 protected:
58
59     virtual bool TrackHitsCalorimeter(TParticle *part, Double_t magField=0.5);
60
61
62     Int_t GetPrimMother(Int_t partIdx, AliStack *stack);
63
64     Int_t GetK0InFamily(Int_t partIdx, AliStack *stack);
65
66     Int_t PrintFamilyTree(Int_t partIdx, AliStack *stack);
67     Int_t PrintMothers(Int_t partIdx, AliStack *stack, Int_t gen);
68     Int_t PrintFamilyTreeShort(Int_t partIdx, AliStack *stack);
69     Int_t PrintMothersShort(Int_t partIdx, AliStack *stack, Int_t gen);
70
71
72
73 protected:
74
75     Float_t nChargedHadronsMeasured;
76     Float_t nChargedHadronsTotal;
77
78     Bool_t fIsMC;//if we are running over data, we still need this object to exist but we don't want to do anything.
79     Bool_t checkLabelForHIJING;//Boolean - do we need to check this data set for HIJING labels?  We don't need to do this unless there were signals embedded
80
81     Double_t fImpactParameter; // b(fm), for Hijing; 0 otherwise
82     Int_t fNcoll; // Ncoll, for Hijing; 1 otherwise
83     Int_t fNpart; // Ncoll, for Hijing; 2 otherwise
84
85     TTree *fPrimaryTree; // Tree holding info on primaries
86
87     Double_t fTotEtWithSecondaryRemoved; // enter comment here
88     Double_t fTotEtSecondaryFromEmEtPrimary; // enter comment here
89     Double_t fTotEtSecondary; // enter comment here
90     
91     Int_t fPrimaryCode; // enter comment here
92     Int_t fPrimaryCharge; // enter comment here
93
94     Double_t fPrimaryE; // enter comment here
95     Double_t fPrimaryEt; // enter comment here
96
97     Double_t fPrimaryPx; // enter comment here
98     Double_t fPrimaryPy; // enter comment here
99     Double_t fPrimaryPz; // enter comment here
100     
101     Double_t fPrimaryVx; // enter comment here
102     Double_t fPrimaryVy; // enter comment here
103     Double_t fPrimaryVz; // enter comment here
104     
105     Bool_t fPrimaryAccepted; // enter comment here
106     Bool_t fPrimaryMatched;
107     Int_t fDepositedCode; // enter comment here Double_t fDepositedEt; // enter comment here
108     Double_t fDepositedE;
109     Double_t fDepositedEt;
110     Int_t fDepositedCharge; // enter comment here
111
112     Double_t fDepositedVx; // enter comment here
113     Double_t fDepositedVy; // enter comment here
114     Double_t fDepositedVz; // enter comment here
115
116     Bool_t fSecondary;
117
118     Double_t fReconstructedE;
119     Double_t fReconstructedEt;
120     
121     Double_t fTotPx;
122     Double_t fTotPy;
123     Double_t fTotPz;
124     
125
126     Int_t fClusterMult;
127
128     TH3F *fHistDecayVertexNonRemovedCharged; //! Decay vertex for non-removed charged particles
129     TH3F *fHistDecayVertexRemovedCharged; //! Decay vertex for non-removed charged particles
130     TH3F *fHistDecayVertexNonRemovedNeutral; //! Decay vertex for non-removed charged particles
131     TH3F *fHistDecayVertexRemovedNeutral; //! Decay vertex for non-removed charged particles
132
133     TH2F *fHistRemovedOrNot; //! If charged/neutral particles were removed or not
134
135     TH2F *fHistEtNonRemovedProtons; //! enter comment here
136     TH2F *fHistEtNonRemovedAntiProtons; //! enter comment here
137     TH2F *fHistEtNonRemovedPiPlus; //! enter comment here
138     TH2F *fHistEtNonRemovedPiMinus; //! enter comment here
139     TH2F *fHistEtNonRemovedKaonPlus; //! enter comment here
140     TH2F *fHistEtNonRemovedKaonMinus; //! enter comment here
141     TH2F *fHistEtNonRemovedK0s; //! enter comment here
142     TH2F *fHistEtNonRemovedK0L; //! enter comment here
143     TH2F *fHistEtNonRemovedLambdas; //! enter comment here
144     TH2F *fHistEtNonRemovedElectrons; //! enter comment here
145     TH2F *fHistEtNonRemovedPositrons; //! enter comment here
146     TH2F *fHistEtNonRemovedMuPlus; //! enter comment here
147     TH2F *fHistEtNonRemovedMuMinus; //! enter comment here
148     TH2F *fHistEtNonRemovedNeutrons; //! enter comment here
149     TH2F *fHistEtNonRemovedAntiNeutrons; //! enter comment here
150     TH2F *fHistEtNonRemovedGammas; //! enter comment here
151     TH2F *fHistEtNonRemovedGammasFromPi0; //! enter comment here
152
153     TH2F *fHistEtRemovedGammas; //! enter comment here
154     TH2F *fHistEtRemovedNeutrons; //! enter comment here
155     TH2F *fHistEtRemovedAntiNeutrons; //! enter comment here
156
157     TH2F *fHistEtRemovedCharged; //! enter comment here
158     TH2F *fHistEtRemovedNeutrals; //! enter comment here
159
160     TH2F *fHistEtNonRemovedCharged; //! enter comment here
161     TH2F *fHistEtNonRemovedNeutrals; //! enter comment here
162
163     TH2F *fHistMultNonRemovedProtons; //! enter comment here
164     TH2F *fHistMultNonRemovedAntiProtons; //! enter comment here
165     TH2F *fHistMultNonRemovedPiPlus; //! enter comment here
166     TH2F *fHistMultNonRemovedPiMinus; //! enter comment here
167     TH2F *fHistMultNonRemovedKaonPlus; //! enter comment here
168     TH2F *fHistMultNonRemovedKaonMinus; //! enter comment here
169     TH2F *fHistMultNonRemovedK0s; //! enter comment here
170     TH2F *fHistMultNonRemovedK0L; //! enter comment here
171     TH2F *fHistMultNonRemovedLambdas; //! enter comment here
172     TH2F *fHistMultNonRemovedElectrons; //! enter comment here
173     TH2F *fHistMultNonRemovedPositrons; //! enter comment here
174     TH2F *fHistMultNonRemovedMuPlus; //! enter comment here
175     TH2F *fHistMultNonRemovedMuMinus; //! enter comment here
176     TH2F *fHistMultNonRemovedNeutrons; //! enter comment here
177     TH2F *fHistMultNonRemovedAntiNeutrons; //! enter comment here
178     TH2F *fHistMultNonRemovedGammas; //! enter comment here
179
180     TH2F *fHistMultRemovedGammas; //! enter comment here
181     TH2F *fHistMultRemovedNeutrons; //! enter comment here
182     TH2F *fHistMultRemovedAntiNeutrons; //! enter comment here
183
184     TH2F *fHistMultRemovedCharged; //! enter comment here
185     TH2F *fHistMultRemovedNeutrals; //! enter comment here
186
187     TH2F *fHistMultNonRemovedCharged; //! enter comment here
188     TH2F *fHistMultNonRemovedNeutrals; //! enter comment here
189
190     TH2F *fHistTrackMultvsNonRemovedCharged; //! enter comment here
191     TH2F *fHistTrackMultvsNonRemovedNeutral; //! enter comment here
192     TH2F *fHistTrackMultvsRemovedGamma; //! enter comment here
193
194     TH2F *fHistClusterMultvsNonRemovedCharged; //! enter comment here
195     TH2F *fHistClusterMultvsNonRemovedNeutral; //! enter comment here
196     TH2F *fHistClusterMultvsRemovedGamma; //! enter comment here
197
198     TH2F *fHistMultvsNonRemovedChargedE; //! enter comment here
199     TH2F *fHistMultvsNonRemovedNeutralE; //! enter comment here
200     TH2F *fHistMultvsRemovedGammaE; //! enter comment here
201
202     Bool_t fCalcForKaonCorrection;//turns on and off creation of kaon correction histograms
203     TH3F *fHistK0EDepositsVsPtInAcceptance; //! enter comment here
204     TH3F *fHistK0EGammaVsPtInAcceptance; //! enter comment here
205     TH3F *fHistK0EDepositsVsPtOutOfAcceptance; //! enter comment here
206     TH3F *fHistK0EGammaVsPtOutOfAcceptance; //! enter comment here
207     TH1F *fHistSimKaonsInAcceptance;//! enter comment here
208     TH1F *fHistSimK0SInAcceptance;//! enter comment here
209     TH1F *fHistSimKPlusInAcceptance;//! enter comment here
210     TH1F *fHistSimKMinusInAcceptance;//! enter comment here
211     TH1F *fHistSimK0LInAcceptance;//! enter comment here
212     TH1F *fHistSimKaonsOutOfAcceptance;//! enter comment here
213     TH1F *fHistSimKaonsInAcceptanceWithDepositsPrimaries;//! enter comment here
214     TH1F *fHistSimKaonsOutOfAcceptanceWithDepositsSecondaries;//! enter comment here
215     TH1F *fHistSimKaonsOutOfAcceptanceWithDepositsPrimaries;//! enter comment here
216
217     Float_t fEtNonRemovedProtons; // enter comment here
218     Float_t fEtNonRemovedAntiProtons; // enter comment here
219     Float_t fEtNonRemovedPiPlus; // enter comment here
220     Float_t fEtNonRemovedPiMinus; // enter comment here
221     Float_t fEtNonRemovedKaonPlus; // enter comment here
222     Float_t fEtNonRemovedKaonMinus; // enter comment here
223     Float_t fEtNonRemovedK0S; // enter comment here
224     Float_t fEtNonRemovedK0L; // enter comment here
225     Float_t fEtNonRemovedLambdas; // enter comment here
226     Float_t fEtNonRemovedElectrons; // enter comment here
227     Float_t fEtNonRemovedPositrons; // enter comment here
228     Float_t fEtNonRemovedMuMinus; // enter comment here
229     Float_t fEtNonRemovedMuPlus; // enter comment here
230     Float_t fEtNonRemovedGammas; // enter comment here
231     Float_t fEtNonRemovedGammasFromPi0; // enter comment here
232     Float_t fEtNonRemovedNeutrons; // enter comment here
233     Float_t fEtNonRemovedAntiNeutrons; // enter comment here
234
235     Float_t fEtRemovedProtons; // enter comment here
236     Float_t fEtRemovedAntiProtons; // enter comment here
237     Float_t fEtRemovedPiPlus; // enter comment here
238     Float_t fEtRemovedPiMinus; // enter comment here
239     Float_t fEtRemovedKaonPlus; // enter comment here
240     Float_t fEtRemovedKaonMinus; // enter comment here
241     Float_t fEtRemovedK0s; // enter comment here
242     Float_t fEtRemovedK0L; // enter comment here
243     Float_t fEtRemovedLambdas; // enter comment here
244     Float_t fEtRemovedElectrons; // enter comment here
245     Float_t fEtRemovedPositrons; // enter comment here
246     Float_t fEtRemovedMuMinus; // enter comment here
247     Float_t fEtRemovedMuPlus; // enter comment here
248
249     Float_t fEtRemovedGammasFromPi0; // enter comment here
250     Float_t fEtRemovedGammas; // enter comment here
251     Float_t fEtRemovedNeutrons; // enter comment here
252     Float_t fEtRemovedAntiNeutrons; // enter comment here
253
254     Int_t fMultNonRemovedProtons; // enter comment here
255     Int_t fMultNonRemovedAntiProtons; // enter comment here
256     Int_t fMultNonRemovedPiPlus; // enter comment here
257     Int_t fMultNonRemovedPiMinus; // enter comment here
258     Int_t fMultNonRemovedKaonPlus; // enter comment here
259     Int_t fMultNonRemovedKaonMinus; // enter comment here
260     Int_t fMultNonRemovedK0s; // enter comment here
261     Int_t fMultNonRemovedK0L; // enter comment here
262     Int_t fMultNonRemovedLambdas; // enter comment here
263     Int_t fMultNonRemovedElectrons; // enter comment here
264     Int_t fMultNonRemovedPositrons; // enter comment here
265     Int_t fMultNonRemovedMuMinus; // enter comment here
266     Int_t fMultNonRemovedMuPlus; // enter comment here
267     Int_t fMultNonRemovedGammas; // enter comment here
268     Int_t fMultNonRemovedNeutrons; // enter comment here
269     Int_t fMultNonRemovedAntiNeutrons; // enter comment here
270
271     Int_t fMultRemovedProtons; // enter comment here
272     Int_t fMultRemovedAntiProtons; // enter comment here
273     Int_t fMultRemovedPiPlus; // enter comment here
274     Int_t fMultRemovedPiMinus; // enter comment here
275     Int_t fMultRemovedKaonPlus; // enter comment here
276     Int_t fMultRemovedKaonMinus; // enter comment here
277     Int_t fMultRemovedK0s; // enter comment here
278     Int_t fMultRemovedK0L; // enter comment here
279
280     Int_t fMultRemovedLambdas; // enter comment here
281     Int_t fMultRemovedElectrons; // enter comment here
282     Int_t fMultRemovedPositrons; // enter comment here
283     Int_t fMultRemovedMuMinus; // enter comment here
284     Int_t fMultRemovedMuPlus; // enter comment here
285
286     Int_t fMultRemovedGammas; // enter comment here
287     Int_t fMultRemovedNeutrons; // enter comment here
288     Int_t fMultRemovedAntiNeutrons; // enter comment here
289
290     Int_t fTrackMultInAcc; // enter comment here
291
292
293     TH2F *fHistDxDzNonRemovedCharged; //! enter comment here
294     TH2F *fHistDxDzRemovedCharged; //! enter comment here
295     TH2F *fHistDxDzNonRemovedNeutral; //! enter comment here
296     TH2F *fHistDxDzRemovedNeutral; //! enter comment here
297
298     TH1F *fHistPiPlusMult; //! enter comment here
299     TH1F *fHistPiMinusMult; //! enter comment here
300     TH1F *fHistPiZeroMult; //! enter comment here
301
302     TH1F *fHistPiPlusMultAcc; //! enter comment here
303     TH1F *fHistPiMinusMultAcc; //! enter comment here
304     TH1F *fHistPiZeroMultAcc; //! enter comment here
305
306    // Int_t fPiPlusMult; // enter comment here
307    // Int_t fPiMinusMult; // enter comment here
308     
309     Int_t fPiZeroMult; // enter comment here
310
311     Int_t fPiPlusMultAcc; // enter comment here
312     Int_t fPiMinusMultAcc; // enter comment here
313     Int_t fPiZeroMultAcc; // enter comment here
314
315
316     Int_t fNeutralRemoved; // number of neutral particles that where removed by track matching
317     Int_t fChargedRemoved; // number of charged particles that where removed by track matching
318     Int_t fChargedNotRemoved; // number of charged particles that were not removed
319     Int_t fNeutralNotRemoved; // number of neutral particles that were not removed
320     Int_t fGammaRemoved; // number of gammas removed
321
322     Int_t fSecondaryNotRemoved;
323
324     Double_t fEnergyNeutralRemoved; // energy of neutral particles that where removed by track matching
325     Double_t fEnergyChargedRemoved; // energy of charged particles that where removed by track matching
326     Double_t fEnergyChargedNotRemoved; // energy of charged particles that were not removed
327     Double_t fEnergyNeutralNotRemoved; // energy of neutral particles that were not removed
328     Double_t fEnergyGammaRemoved; // energy of gammas that were removed
329
330     Int_t fNClusters; // Number of clusters in event
331
332     Double_t fTotNeutralEtAfterMinEnergyCut; // enter comment here
333     
334     TH2F *fHistSimEmEtCent;//!
335
336     Bool_t fCalcTrackMatchVsMult;
337     TH1F *fHistGammasFound;//!
338     TH1F *fHistGammasGenerated;//!
339     TH2F *fHistGammasFoundCent;//!
340     TH2F *fHistGammasFoundOutOfAccCent;//!
341     TH2F *fHistGammasFoundAltCent;//!
342     TH2F *fHistGammasFoundOutOfAccAltCent;//!
343     TH2F *fHistGammasGeneratedCent;//!
344     TH2F *fHistGammasFoundRecoEnergyCent;//!
345     TH2F *fHistAllGammasFoundRecoEnergyCent;//!
346     TH2F *fHistGammasFoundOutOfAccRecoEnergyCent;//!
347     TH2F *fHistAllGammasFoundOutOfAccRecoEnergyCent;//!
348     TH1F *fHistChargedTracksCut;//!
349     TH1F *fHistChargedTracksAccepted;//!
350     TH1F *fHistGammasCut;//!
351     TH1F *fHistGammasAccepted;//!
352     TH2F *fHistChargedTrackDepositsAcceptedVsPt;//!
353     TH2F *fHistChargedTrackDepositsAllVsPt;//!
354     TH2F *fHistChargedTrackDepositsAcceptedVsPtEffCorr;//!
355     TH2F *fHistChargedTrackDepositsAllVsPtEffCorr;//!
356     TH2F *fHistChargedTracksCutMult;//!
357     TH2F *fHistChargedTracksAcceptedMult;//!
358     TH2F *fHistChargedTracksAcceptedLowPtCentEffCorr;//!
359     TH2F *fHistChargedTracksAcceptedLowPtCent;//!
360     TH2F *fHistChargedTracksAcceptedLowPtCent500MeV;//!
361     TH2F *fHistChargedTracksAcceptedLowPtCentNoAntiProtons;//!
362     TH2F *fHistChargedTracksAcceptedLowPtCentAntiProtons;//!
363     TH2F *fHistGammasCutMult;//!
364     TH2F *fHistGammasAcceptedMult;//!
365     TH1F *fHistBadTrackMatches;//!
366     TH2F *fHistMatchedTracksEvspTBkgd;//!
367     TH2F *fHistMatchedTracksEvspTSignal;//!
368     TH2F *fHistMatchedTracksEvspTBkgdPeripheral;//!
369     TH2F *fHistMatchedTracksEvspTSignalPeripheral;//!
370     TH3F *fHistMatchedTracksEvspTBkgdvsCent;//!
371     TH3F *fHistMatchedTracksEvspTSignalvsCent;//!
372     TH3F *fHistMatchedTracksEvspTBkgdvsCentEffCorr;//!
373     TH3F *fHistMatchedTracksEvspTSignalvsCentEffCorr;//!
374     TH1F *fHistChargedTracksCutPeripheral;//!
375     TH1F *fHistChargedTracksAcceptedPeripheral;//!
376     TH1F *fHistGammasCutPeripheral;//!
377     TH1F *fHistGammasAcceptedPeripheral;//!
378     TH2F *fHistBadTrackMatchesdPhidEta;//!
379     TH2F *fHistGoodTrackMatchesdPhidEta;//!
380     TH1F *fHistHadronDepositsAll;//!
381     TH1F *fHistHadronDepositsReco;//!
382     TH2F *fHistHadronDepositsAllCent;//!
383     TH2F *fHistHadronDepositsAllCent500MeV;//!
384     TH2F *fHistHadronDepositsRecoCent;//!
385     TH2F *fHistHadronDepositsAllvsECent;//!
386     TH2F *fHistHadronDepositsRecovsECent;//!
387     TH2F *fHistHadronsAllCent;//!
388     TH3F *fHistMultChVsSignalVsMult;//!
389     TH2F *fHistNeutralRemovedSecondaryEtVsCent;//!
390     TH2F *fHistChargedRemovedSecondaryEtVsCent;//!
391     TH2F *fHistNeutralNotRemovedSecondaryEtVsCent;//!
392     TH2F *fHistChargedNotRemovedSecondaryEtVsCent;//!
393     TH2F *fHistNeutralRemovedSecondaryNumVsNCluster;//!
394     TH2F *fHistChargedRemovedSecondaryNumVsNCluster;//!
395     TH2F *fHistNeutralNotRemovedSecondaryNumVsNCluster;//!
396     TH2F *fHistChargedNotRemovedSecondaryNumVsNCluster;//!
397     TH2F *fHistNeutralRemovedSecondaryNumVsCent;//!
398     TH2F *fHistChargedRemovedSecondaryNumVsCent;//!
399     TH2F *fHistNeutralNotRemovedSecondaryNumVsCent;//!
400     TH2F *fHistChargedNotRemovedSecondaryNumVsCent;//!
401     TH2F *fHistNeutronsEtVsCent;//!
402     TH2F *fHistNeutronsNumVsCent;//!
403     TH2F *fHistNotNeutronsNumVsCent;//!
404     TH2F *fHistPiKPDepositedVsNch;//!
405     TH2F *fHistPiKPNotTrackMatchedDepositedVsNch;//!
406
407     TH2F *fHistNeutronsDepositedVsNch;//!
408     TH2F *fHistAntiNeutronsDepositedVsNch;//!
409     TH2F *fHistProtonsDepositedVsNch;//!
410     TH2F *fHistAntiProtonsDepositedVsNch;//!
411     TH2F *fHistProtonsNotTrackMatchedDepositedVsNch;//!
412     TH2F *fHistAntiProtonsNotTrackMatchedDepositedVsNch;//!//
413     TH2F *fHistNeutronsDepositedVsNcl;//!
414     TH2F *fHistAntiNeutronsDepositedVsNcl;//!
415     TH2F *fHistProtonsDepositedVsNcl;//!
416     TH2F *fHistAntiProtonsDepositedVsNcl;//!
417     TH2F *fHistProtonsNotTrackMatchedDepositedVsNcl;//!
418     TH2F *fHistAntiProtonsNotTrackMatchedDepositedVsNcl;//!
419     TH2F *fHistSecondariesVsNch;//!
420     TH2F *fHistSecondariesVsNcl;//!
421     TH2F *fHistSecondariesEffCorrVsNch;//!
422     TH2F *fHistSecondariesEffCorrVsNcl;//!
423     TH2F *fHistSecondariesOutOfAccEffCorrVsNch;//!
424     TH2F *fHistSecondariesDetectorCoverEffCorrVsNch;//!
425
426
427     TH2F *fHistNeutronsDepositedVsNchNoEffCorr;//!//filled
428     TH2F *fHistAntiNeutronsDepositedVsNchNoEffCorr;//!//filled
429     TH2F *fHistProtonsDepositedVsNchNoEffCorr;//!//filled
430     TH2F *fHistAntiProtonsDepositedVsNchNoEffCorr;//!//filled
431     TH2F *fHistProtonsNotTrackMatchedDepositedVsNchNoEffCorr;//!//filled
432     TH2F *fHistAntiProtonsNotTrackMatchedDepositedVsNchNoEffCorr;//!//filled
433     TH2F *fHistNeutronsDepositedVsNclNoEffCorr;//!//filled
434     TH2F *fHistAntiNeutronsDepositedVsNclNoEffCorr;//!//filled
435     TH2F *fHistProtonsDepositedVsNclNoEffCorr;//!//filled
436     TH2F *fHistAntiProtonsDepositedVsNclNoEffCorr;//!//filled
437     TH2F *fHistProtonsNotTrackMatchedDepositedVsNclNoEffCorr;//!//filled
438     TH2F *fHistAntiProtonsNotTrackMatchedDepositedVsNclNoEffCorr;//!//filled
439
440     TH3F *fHistCentVsNchVsNcl;//!
441     TH3F *fHistSecondaryPositionInDetector;//!
442     //TH2F *fHistSecondaryPositionInDetector2D;//!
443     TH2F *fClusterPositionWeird;//!
444     //TH3F *fHistSecondaryPositionInDetectorMultiple;//!
445     TH1F *fSecondaryClusterEnergy;//! // Distribution of cluster energies
446
447     TH2F *fHistGammaCrossCheck;//!
448     TH2F *fHistGammaCrossCheckAlt;//!//includes gammas that did not hit as gammas
449     TH2F *fHistGammaEnergyCrossCheck;//!
450     TH3F *fHistGammaEnergyCrossCheckCent;//!
451     TH2F *fHistGammaEnergyCrossCheckAlt;//!//includes gammas that did not hit as gammas
452     TH2F *fHistNeutronCrossCheck;//!
453     TH2F *fHistSecondaryCrossCheck;//!
454     TH2F *fHistHadronCrossCheck;//!
455     TH2F *fHistKaonCrossCheck;//!
456     TH2F *fHistNeutronCorrection;//!
457     TH2F *fHistSecondaryCorrection;//!
458     TH2F *fHistHadronCorrection;//!
459     TH2F *fHistKaonCorrection;//!
460
461     TH1F *fHistAllEnergy;//!//energy of all clusters passing cuts vs centrality
462     TH1F *fHistSignalEnergy;//!//signal of signal clusters passing cuts vs centrality
463     TH1F *fHistNeutronEnergy;//!//signal of neutron clusters passing cuts vs centrality
464     TH1F *fHistKaonEnergy;//!//signal of kaon clusters passing cuts vs centrality
465     TH1F *fHistHadronEnergy;//!//signal of hadron clusters passing cuts vs centrality
466     TH1F *fHistSecondaryEnergy;//!//signal of secondary clusters passing cuts vs centrality
467     TH1F *fHistSecondaryChargedEnergy;//!//signal of secondary clusters passing cuts vs centrality
468     TH1F *fHistSecondaryNeutronEnergy;//!//signal of secondary clusters passing cuts vs centrality
469     TH1F *fHistSecondaryGammaEnergy;//!//signal of secondary clusters passing cuts vs centrality
470     TH1F *fHistSecondaryElectronEnergy;//!//signal of secondary clusters passing cuts vs centrality
471     TH1F *fHistSecondaryOtherEnergy;//!//signal of secondary clusters passing cuts vs centrality
472     TH1F *fHistSimulatedGammaEnergy;//!//signal of signal clusters passing cuts vs centrality
473     TH1F *fHistReconstructedGammaEnergy;//!//signal of signal clusters passing cuts vs centrality
474     TH1F *fHistSimulatedGammaEnergyAboveThreshold;//!//signal of signal clusters passing cuts vs centrality
475     TH1F *fHistReconstructedSignalEnergy;//!//signal of signal clusters passing cuts vs centrality
476
477     TH2F *fHistFracSignalVsNClusters;//!//Fraction of signal vs number of clusters
478     TH2F *fHistFracHadronsVsNClusters;//!//Fraction of hadrons vs number of clusters
479     TH2F *fHistFracNeutronsVsNClusters;//!//Fraction of signal vs number of clusters
480     TH2F *fHistFracKaonsVsNClusters;//!//Fraction of signal vs number of clusters
481     TH2F *fHistFracSecondariesVsNClusters;//!//Fraction of signal vs number of clusters
482     TH2F *fHistFracSignalVsNMultiplicity;//!//Fraction of signal vs charged track multiplicity
483     TH2F *fHistFracHadronsVsNMultiplicity;//!//Fraction of hadrons vs charged track multiplicity
484     TH2F *fHistFracNeutronsVsNMultiplicity;//!//Fraction of signal vs charged track multiplicity
485     TH2F *fHistFracKaonsVsNMultiplicity;//!//Fraction of signal vs charged track multiplicity
486     TH2F *fHistFracSecondariesVsNMultiplicity;//!//Fraction of signal vs charged track multiplicity
487     TH2F *fHistFracSignalVsNMatchedTracks;//!//Fraction of signal vs number of matched tracks
488     TH2F *fHistFracHadronsVsNMatchedTracks;//!//Fraction of hadrons vs number of matched tracks
489     TH2F *fHistFracNeutronsVsNMatchedTracks;//!//Fraction of signal vs number of matched tracks
490     TH2F *fHistFracKaonsVsNMatchedTracks;//!//Fraction of signal vs number of matched tracks
491     TH2F *fHistFracSecondariesVsNMatchedTracks;//!//Fraction of signal vs number of matched tracks
492     TH2F *fHistFracSignalVsNTotalTracks;//!//Fraction of signal vs number of total tracks
493     TH2F *fHistFracHadronsVsNTotalTracks;//!//Fraction of hadrons vs number of total tracks
494     TH2F *fHistFracNeutronsVsNTotalTracks;//!//Fraction of signal vs number of total tracks
495     TH2F *fHistFracKaonsVsNTotalTracks;//!//Fraction of signal vs number of total tracks
496     TH2F *fHistFracSecondariesVsNTotalTracks;//!//Fraction of signal vs number of total tracks
497     TH3F *fHistRCorrVsPtVsCent;//! // enter comment here
498
499     Int_t            fNMCProducedMin;             // In case of cocktail, select particles in the list with label from this value
500     Int_t            fNMCProducedMax;             // In case of cocktail, select particles in the list with label up to this value
501
502 private:
503
504     //Declare it private to avoid compilation warning
505     AliAnalysisEtMonteCarlo & operator = (const AliAnalysisEtMonteCarlo & g) ;//cpy assignment
506     AliAnalysisEtMonteCarlo(const AliAnalysisEtMonteCarlo & g) ; // cpy ctor
507     ClassDef(AliAnalysisEtMonteCarlo, 2);
508 };
509
510 #endif // ALIANALYSISETMONTECARLO_H