]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/totEt/AliAnalysisEtMonteCarlo.h
- Removing alot of histograms, replaced with trees instead.
[u/mrichter/AliRoot.git] / PWGLF / totEt / AliAnalysisEtMonteCarlo.h
1 #ifndef ALIANALYSISETMONTECARLO_H
2 #define ALIANALYSISETMONTECARLO_H
3
4 class AliPHOSGeometry;//_________________________________________________________________________
5 //  Utility Class for transverse energy studies
6 //  Base class for MC analysis
7 //  - MC output
8 //
9 //*-- Authors: Oystein Djuvsland (Bergen), David Silvermyr (ORNL)
10 //_________________________________________________________________________
11
12 #include "AliAnalysisEt.h"
13 class TParticle;
14 class TH3F;
15 class TH2I;
16 class AliPHOSGeoUtils;
17 class AliStack;
18 //class AliMCEvent;
19 //class AliESDEvent;
20
21 class AliAnalysisEtMonteCarlo : public AliAnalysisEt
22 {
23
24 public:
25
26     AliAnalysisEtMonteCarlo();
27     virtual ~AliAnalysisEtMonteCarlo();
28
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);
32
33     virtual void Init();
34     virtual void ResetEventValues();
35     virtual void CreateHistograms();
36     virtual void FillOutputList(TList* list);
37
38     virtual void FillHistograms();
39
40 protected:
41
42     virtual bool TrackHitsCalorimeter(TParticle *part, Double_t magField=0.5);
43     
44     
45     Int_t GetPrimMother(Int_t partIdx, AliStack *stack);
46     
47     Int_t GetK0InFamily(Int_t partIdx, AliStack *stack);
48     
49     Int_t PrintFamilyTree(Int_t partIdx, AliStack *stack);
50     Int_t PrintMothers(Int_t partIdx, AliStack *stack, Int_t gen);
51     
52 protected:
53
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
57     
58     TTree *fPrimaryTree; // Tree holding info on primaries
59
60     Double_t fTotEtWithSecondaryRemoved;
61     Double_t fTotEtSecondaryFromEmEtPrimary;
62     Double_t fTotEtSecondary;
63     
64     Int_t fPrimaryCode;
65     Int_t fPrimaryCharge;
66
67     Double_t fPrimaryE;
68     Double_t fPrimaryEt;
69
70     Double_t fPrimaryPx;
71     Double_t fPrimaryPy;
72     Double_t fPrimaryPz;
73     
74     Double_t fPrimaryVx;
75     Double_t fPrimaryVy;
76     Double_t fPrimaryVz;
77     
78     Bool_t fPrimaryAccepted;
79     Int_t fDepositedCode;
80     Double_t fDepositedEt;
81     Int_t fDepositedCharge;
82
83     Double_t fDepositedVx;
84     Double_t fDepositedVy;
85     Double_t fDepositedVz;
86     
87     
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
92
93     TH2F *fHistRemovedOrNot; // If charged/neutral particles were removed or not
94
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
112
113     TH2F *fHistEtRemovedGammas; // enter comment here
114     TH2F *fHistEtRemovedNeutrons; // enter comment here
115     TH2F *fHistEtRemovedAntiNeutrons; // enter comment here
116
117     TH2F *fHistEtRemovedCharged; // enter comment here
118     TH2F *fHistEtRemovedNeutrals; // enter comment here
119
120     TH2F *fHistEtNonRemovedCharged; // enter comment here
121     TH2F *fHistEtNonRemovedNeutrals; // enter comment here
122
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
139
140     TH2F *fHistMultRemovedGammas; // enter comment here
141     TH2F *fHistMultRemovedNeutrons; // enter comment here
142     TH2F *fHistMultRemovedAntiNeutrons; // enter comment here
143
144     TH2F *fHistMultRemovedCharged; // enter comment here
145     TH2F *fHistMultRemovedNeutrals; // enter comment here
146
147     TH2F *fHistMultNonRemovedCharged; // enter comment here
148     TH2F *fHistMultNonRemovedNeutrals; // enter comment here
149
150     TH2F *fHistTrackMultvsNonRemovedCharged; // enter comment here
151     TH2F *fHistTrackMultvsNonRemovedNeutral; // enter comment here
152     TH2F *fHistTrackMultvsRemovedGamma; // enter comment here
153
154     TH2F *fHistClusterMultvsNonRemovedCharged; // enter comment here
155     TH2F *fHistClusterMultvsNonRemovedNeutral; // enter comment here
156     TH2F *fHistClusterMultvsRemovedGamma; // enter comment here
157
158     TH2F *fHistMultvsNonRemovedChargedE; // enter comment here
159     TH2F *fHistMultvsNonRemovedNeutralE; // enter comment here
160     TH2F *fHistMultvsRemovedGammaE; // enter comment here
161
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
179
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
193
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
198
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
215
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
224     
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
230
231     Int_t fMultRemovedGammas; // enter comment here
232     Int_t fMultRemovedNeutrons; // enter comment here
233     Int_t fMultRemovedAntiNeutrons; // enter comment here
234
235     Int_t fTrackMultInAcc; // enter comment here
236
237
238     TH2F *fHistDxDzNonRemovedCharged; // enter comment here
239     TH2F *fHistDxDzRemovedCharged; // enter comment here
240     TH2F *fHistDxDzNonRemovedNeutral; // enter comment here
241     TH2F *fHistDxDzRemovedNeutral; // enter comment here
242
243     TH1F *fHistPiPlusMult; // enter comment here
244     TH1F *fHistPiMinusMult; // enter comment here
245     TH1F *fHistPiZeroMult; // enter comment here
246
247     TH1F *fHistPiPlusMultAcc; // enter comment here
248     TH1F *fHistPiMinusMultAcc; // enter comment here
249     TH1F *fHistPiZeroMultAcc; // enter comment here
250
251     Int_t fPiPlusMult; // enter comment here
252     Int_t fPiMinusMult; // enter comment here
253     Int_t fPiZeroMult; // enter comment here
254
255     Int_t fPiPlusMultAcc; // enter comment here
256     Int_t fPiMinusMultAcc; // enter comment here
257     Int_t fPiZeroMultAcc; // enter comment here
258
259
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
264
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
269
270     Int_t fNClusters; // Number of clusters in event
271
272     Double_t fTotNeutralEtAfterMinEnergyCut;
273     
274 private:
275
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);
280 };
281
282 #endif // ALIANALYSISETMONTECARLO_H