]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/totEt/AliAnalysisEtMonteCarlo.h
Changing range of PbPb histograms and fixing minor bug in filling of electron dEdx...
[u/mrichter/AliRoot.git] / PWG4 / totEt / AliAnalysisEtMonteCarlo.h
CommitLineData
2fbf38ac 1#ifndef ALIANALYSISETMONTECARLO_H
2#define ALIANALYSISETMONTECARLO_H
cf6522d1 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//_________________________________________________________________________
2fbf38ac 10
11#include "AliAnalysisEt.h"
cf6522d1 12class TParticle;
e2ee5727 13class TH3F;
0651f6b4 14//class AliMCEvent;
15//class AliESDEvent;
2fbf38ac 16
17class AliAnalysisEtMonteCarlo : public AliAnalysisEt
18{
19
20public:
21
ce546038 22 AliAnalysisEtMonteCarlo();
23 virtual ~AliAnalysisEtMonteCarlo();
cf6522d1 24
2fbf38ac 25 virtual Int_t AnalyseEvent(AliVEvent* event);
0651f6b4 26 virtual Int_t AnalyseEvent(AliVEvent* event, AliVEvent* event2);
27 //virtual Int_t AnalyseEvent(AliMCEvent* event, AliESDEvent* event2);
2fbf38ac 28
29 virtual void Init();
ce546038 30 virtual void ResetEventValues();
31 virtual void CreateHistograms();
0651f6b4 32 virtual void FillOutputList(TList* list);
13b0d3c1 33
e2ee5727 34 virtual void FillHistograms();
35
13b0d3c1 36protected:
37
38 virtual bool TrackHitsCalorimeter(TParticle *part, Double_t magField=0.5);
39
ce546038 40protected:
41
42 Double_t fImpactParameter; // b(fm), for Hijing; 0 otherwise
43 Int_t fNcoll; // Ncoll, for Hijing; 1 otherwise
44 Int_t fNpart; // Ncoll, for Hijing; 2 otherwise
45
0651f6b4 46 TH2F *fHistPrimElectronEtaEET; // electrons that are physical primaries
47 TH2F *fHistSecElectronEtaEET; // electrons that are NOT physical primaries and DO NOT come from gammas (that are physical primaries) conversion
48 TH2F *fHistConvElectronEtaEET; // electrons that are NOT physical primaries and come from gammas (that are physical primaries) conversion
49 TH2F *fHistPrimGammaEtaEET; // gammas (physical primaries) that DO NOT come from pi0, eta or omega0 decays
50 TH2F *fHistPion0GammaEtaEET; // gammas (physical primaries) that come from pi0 decays
51 TH2F *fHistEtaGammaEtaEET; // gammas (physical primaries) that come from eta decays
52 TH2F *fHistOmega0GammaEtaEET; // gammas (physical primaries) that come from omega0 decays
53 TH2F *fHistSecGammaEtaEET; // gammas that are not physical primaries
54
55 TH2F *fHistPrimElectronEtaE; // simple couting of MC input
56 TH2F *fHistSecElectronEtaE;//Histogram of secondary elections
57 TH2F *fHistConvElectronEtaE;//conversion electrons
58 TH2F *fHistPrimGammaEtaE; //primary gammas
59 TH2F *fHistPion0GammaEtaE;//gammas from pions
60 TH2F *fHistEtaGammaEtaE;//gammas from etas
61 TH2F *fHistOmega0GammaEtaE;//gammas from omegas
62 TH2F *fHistSecGammaEtaE; //secondary gammas
63
64 TH2F *fHistPrimElectronEtaERec; // simple couting of recosntructed MC input
65 TH2F *fHistSecElectronEtaERec;//secondary electrons
66 TH2F *fHistConvElectronEtaERec;//conversion electrons
67 TH2F *fHistPrimGammaEtaERec; //primary gammas
68 TH2F *fHistSecGammaEtaERec; //secondary gammas
69 TH2F *fHistPion0GammaEtaERec;//pion gammas
70 TH2F *fHistEtaGammaEtaERec;//eta gammas
71 TH2F *fHistOmega0GammaEtaERec;//omega gammas
72
73 TH2F *fHistAllERecEMC; // compare energy directly from MC and the recosntructed one
74 TH2F *fHistGammaERecEMC;//gammas
3825c7d6 75 TH2F *fHistElectronERecEMC; //electrons
0651f6b4 76
77 TH1F *fHistElectronFirstMother; // distribution of PDG code of electron's (physical primary) first mothers
78 TH1F *fHistElectronLastMother; // distribution of PDG code of electron's (physical primary) last (or second) mothers
79 TH1F *fHistElectronFirstMotherEtaAcc; // distribution of PDG code of electron's (physical primary and inside acceptance) first mothers
80 TH1F *fHistElectronFirstMotherNPP; // distribution of PDG code of electron's (NON physical primary) first mothers
81 TH1F *fHistElectronFirstMotherNPPAcc; // distribution of PDG code of electron's (NON physical primary and inside acceptance) first mothers
82
83 TH1F *fHistGammaFirstMother; // same as above but for gammas
84 TH1F *fHistGammaLastMother;//enter comment here
85 TH1F *fHistGammaFirstMotherEtaAcc;//enter comment here
86 TH1F *fHistGammaFirstMotherNPP;//enter comment here
87 TH1F *fHistGammaFirstMotherNPPAcc;//enter comment here
88
e2ee5727 89 TH3F *fHistDecayVertexNonRemovedCharged; // Decay vertex for non-removed charged particles
90 TH3F *fHistDecayVertexRemovedCharged; // Decay vertex for non-removed charged particles
91 TH3F *fHistDecayVertexNonRemovedNeutral; // Decay vertex for non-removed charged particles
92 TH3F *fHistDecayVertexRemovedNeutral; // Decay vertex for non-removed charged particles
93
94 TH2F *fHistRemovedOrNot; // If charged/neutral particles were removed or not
95
3825c7d6 96 TH2F *fHistEtNonRemovedProtons; // enter comment here
97 TH2F *fHistEtNonRemovedAntiProtons; // enter comment here
98 TH2F *fHistEtNonRemovedPiPlus; // enter comment here
99 TH2F *fHistEtNonRemovedPiMinus; // enter comment here
100 TH2F *fHistEtNonRemovedKaonPlus; // enter comment here
101 TH2F *fHistEtNonRemovedKaonMinus; // enter comment here
102 TH2F *fHistEtNonRemovedK0s; // 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
118 TH2F *fHistMultNonRemovedProtons; // enter comment here
119 TH2F *fHistMultNonRemovedAntiProtons; // enter comment here
120 TH2F *fHistMultNonRemovedPiPlus; // enter comment here
121 TH2F *fHistMultNonRemovedPiMinus; // enter comment here
122 TH2F *fHistMultNonRemovedKaonPlus; // enter comment here
123 TH2F *fHistMultNonRemovedKaonMinus; // enter comment here
124 TH2F *fHistMultNonRemovedK0s; // enter comment here
125 TH2F *fHistMultNonRemovedLambdas; // enter comment here
126 TH2F *fHistMultNonRemovedElectrons; // enter comment here
127 TH2F *fHistMultNonRemovedPositrons; // enter comment here
128 TH2F *fHistMultNonRemovedMuPlus; // enter comment here
129 TH2F *fHistMultNonRemovedMuMinus; // enter comment here
130 TH2F *fHistMultNonRemovedNeutrons; // enter comment here
131 TH2F *fHistMultNonRemovedAntiNeutrons; // enter comment here
132 TH2F *fHistMultNonRemovedGammas; // enter comment here
133
134 TH2F *fHistMultRemovedGammas; // enter comment here
135 TH2F *fHistMultRemovedNeutrons; // enter comment here
136 TH2F *fHistMultRemovedAntiNeutrons; // enter comment here
137
138 TH2F *fHistTrackMultvsNonRemovedCharged; // enter comment here
139 TH2F *fHistTrackMultvsNonRemovedNeutral; // enter comment here
140 TH2F *fHistTrackMultvsRemovedGamma; // enter comment here
141
142 TH2F *fHistClusterMultvsNonRemovedCharged; // enter comment here
143 TH2F *fHistClusterMultvsNonRemovedNeutral; // enter comment here
144 TH2F *fHistClusterMultvsRemovedGamma; // enter comment here
145
146 TH2F *fHistMultvsNonRemovedChargedE; // enter comment here
147 TH2F *fHistMultvsNonRemovedNeutralE; // enter comment here
148 TH2F *fHistMultvsRemovedGammaE; // enter comment here
149
150 Float_t fEtNonRemovedProtons; // enter comment here
151 Float_t fEtNonRemovedAntiProtons; // enter comment here
152 Float_t fEtNonRemovedPiPlus; // enter comment here
153 Float_t fEtNonRemovedPiMinus; // enter comment here
154 Float_t fEtNonRemovedKaonPlus; // enter comment here
155 Float_t fEtNonRemovedKaonMinus; // enter comment here
156 Float_t fEtNonRemovedK0s; // enter comment here
157 Float_t fEtNonRemovedLambdas; // enter comment here
158 Float_t fEtNonRemovedElectrons; // enter comment here
159 Float_t fEtNonRemovedPositrons; // enter comment here
160 Float_t fEtNonRemovedMuMinus; // enter comment here
161 Float_t fEtNonRemovedMuPlus; // enter comment here
162 Float_t fEtNonRemovedGammas; // enter comment here
163 Float_t fEtNonRemovedGammasFromPi0; // enter comment here
164 Float_t fEtNonRemovedNeutrons; // enter comment here
165 Float_t fEtNonRemovedAntiNeutrons; // enter comment here
166
167 Float_t fEtRemovedGammas; // enter comment here
168 Float_t fEtRemovedNeutrons; // enter comment here
169 Float_t fEtRemovedAntiNeutrons; // enter comment here
e2ee5727 170
3825c7d6 171 Int_t fMultNonRemovedProtons; // enter comment here
172 Int_t fMultNonRemovedAntiProtons; // enter comment here
173 Int_t fMultNonRemovedPiPlus; // enter comment here
174 Int_t fMultNonRemovedPiMinus; // enter comment here
175 Int_t fMultNonRemovedKaonPlus; // enter comment here
176 Int_t fMultNonRemovedKaonMinus; // enter comment here
177 Int_t fMultNonRemovedK0s; // enter comment here
178 Int_t fMultNonRemovedLambdas; // enter comment here
179 Int_t fMultNonRemovedElectrons; // enter comment here
180 Int_t fMultNonRemovedPositrons; // enter comment here
181 Int_t fMultNonRemovedMuMinus; // enter comment here
182 Int_t fMultNonRemovedMuPlus; // enter comment here
183 Int_t fMultNonRemovedGammas; // enter comment here
184 Int_t fMultNonRemovedNeutrons; // enter comment here
185 Int_t fMultNonRemovedAntiNeutrons; // enter comment here
186
187 Int_t fMultRemovedGammas; // enter comment here
188 Int_t fMultRemovedNeutrons; // enter comment here
189 Int_t fMultRemovedAntiNeutrons; // enter comment here
190
191 Int_t fTrackMultInAcc; // enter comment here
192
193
194 TH2F *fHistDxDzNonRemovedCharged; // enter comment here
195 TH2F *fHistDxDzRemovedCharged; // enter comment here
196 TH2F *fHistDxDzNonRemovedNeutral; // enter comment here
197 TH2F *fHistDxDzRemovedNeutral; // enter comment here
198
199 TH1F *fHistPiPlusMult; // enter comment here
200 TH1F *fHistPiMinusMult; // enter comment here
201 TH1F *fHistPiZeroMult; // enter comment here
e2ee5727 202
3825c7d6 203 TH1F *fHistPiPlusMultAcc; // enter comment here
204 TH1F *fHistPiMinusMultAcc; // enter comment here
205 TH1F *fHistPiZeroMultAcc; // enter comment here
e2ee5727 206
3825c7d6 207 Int_t fPiPlusMult; // enter comment here
208 Int_t fPiMinusMult; // enter comment here
209 Int_t fPiZeroMult; // enter comment here
e2ee5727 210
3825c7d6 211 Int_t fPiPlusMultAcc; // enter comment here
212 Int_t fPiMinusMultAcc; // enter comment here
213 Int_t fPiZeroMultAcc; // enter comment here
e2ee5727 214
215
216 Int_t fNeutralRemoved; // number of neutral particles that where removed by track matching
217 Int_t fChargedRemoved; // number of charged particles that where removed by track matching
218 Int_t fChargedNotRemoved; // number of charged particles that were not removed
219 Int_t fNeutralNotRemoved; // number of neutral particles that were not removed
220
221 Double_t fEnergyNeutralRemoved; // energy of neutral particles that where removed by track matching
222 Double_t fEnergyChargedRemoved; // energy of charged particles that where removed by track matching
223 Double_t fEnergyChargedNotRemoved; // energy of charged particles that were not removed
224 Double_t fEnergyNeutralNotRemoved; // energy of neutral particles that were not removed
225
226
16abb579 227 private:
228
0651f6b4 229 //Declare it private to avoid compilation warning
230 AliAnalysisEtMonteCarlo & operator = (const AliAnalysisEtMonteCarlo & g) ;//cpy assignment
231 AliAnalysisEtMonteCarlo(const AliAnalysisEtMonteCarlo & g) ; // cpy ctor
232 ClassDef(AliAnalysisEtMonteCarlo, 2);
2fbf38ac 233};
234
235#endif // ALIANALYSISETMONTECARLO_H