]>
Commit | Line | Data |
---|---|---|
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 | 12 | class TParticle; |
e2ee5727 | 13 | class TH3F; |
0651f6b4 | 14 | //class AliMCEvent; |
15 | //class AliESDEvent; | |
2fbf38ac | 16 | |
17 | class AliAnalysisEtMonteCarlo : public AliAnalysisEt | |
18 | { | |
19 | ||
20 | public: | |
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 | 36 | protected: |
37 | ||
38 | virtual bool TrackHitsCalorimeter(TParticle *part, Double_t magField=0.5); | |
39 | ||
ce546038 | 40 | protected: |
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 |