a19c3402 |
1 | /** VERSION NUMBER 0 */ |
32a6d407 |
2 | /** new Version Kenneth */ |
a19c3402 |
3 | |
4 | Bool_t usePWG4PartCorr = kTRUE; |
5 | |
6 | |
7 | /** ------------------------------ Monte Carlo flag -----------------------------------------*/ |
8 | Bool_t doMCTruth = kTRUE; |
9 | /** ---------------------------- end Monte Carlo flag ---------------------------------------*/ |
10 | |
11 | /** ------------------------- Choose KFParticle OR ESDTrack --------------------------------*/ |
12 | Bool_t useKFParticle = kTRUE; |
13 | Bool_t useESDTrack = kFALSE; |
14 | /** ----------------------- end Choose KFParticle OR ESDTrack -----------------------------*/ |
15 | |
16 | |
17 | Bool_t calculateBackground = kTRUE; |
18 | |
6c3a327c |
19 | Int_t numberOfFilesToAnalyze=0; |
a19c3402 |
20 | |
21 | /** ---------------------------------- define cuts here ------------------------------------*/ |
22 | |
23 | Int_t pidOfNegativeTrack=11; |
24 | Int_t pidOfPositiveTrack=-11; |
25 | |
32a6d407 |
26 | Double_t LineCutZRSlope = 0.662487; |
27 | Double_t LineCutZValue = 7.; |
28 | |
29 | Double_t maxRCut = 160.; |
a19c3402 |
30 | Double_t etaCut = 1.2; |
32a6d407 |
31 | Double_t ptCut = 0.02; |
a19c3402 |
32 | Double_t chi2CutConversion = 20.; |
33 | Double_t chi2CutMeson = 20.; |
34 | |
35 | Double_t xVertexCut = 0.; |
36 | Double_t yVertexCut = 0.; |
37 | Double_t zVertexCut = 0.; |
38 | |
39 | Double_t sigmaCutGammaMass=0.0001; |
40 | |
41 | Bool_t useImprovedVertex = kTRUE; |
42 | |
43 | // define masses of different particles, this will be used by the KF particle |
44 | // together with the width to set mass constraints. Units in GeV. |
45 | Double_t electronMass = 0.00051099892; |
46 | Double_t gammaMass = 0.; |
47 | Double_t pi0Mass = 0.1349766; |
48 | Double_t etaMass = 0.54751; |
49 | |
50 | // define the width constraint used by KF particle. |
51 | Double_t gammaWidth = 0.01; |
52 | Double_t pi0Width = 0.01; |
53 | Double_t etaWidth = 0.01; |
54 | |
55 | // define the probability of track being an electron |
32a6d407 |
56 | Double_t probElectron = 0.002; |
57 | |
58 | Double_t minOpeningAngleGhostCut = 0.01; |
a19c3402 |
59 | |
60 | /** ----------------------------------end define cuts here----------------------------------*/ |
61 | |
62 | /** -------------------------------- Phi/R Mapping ---------------------------------------*/ |
63 | Int_t nPhiIndex = 18; |
64 | Int_t nRIndex = 40; |
65 | |
66 | Double_t minRadius = 0.; |
67 | Double_t maxRadius = 200.; |
68 | Double_t minPhi = -TMath::Pi(); |
69 | Double_t maxPhi = TMath::Pi(); |
70 | /** ------------------------------- end Phi/R Mapping ------------------------------------*/ |
71 | |
32a6d407 |
72 | |
73 | |
a19c3402 |
74 | /** ------------------- define which histograms to plot here --------------------------------*/ |
75 | /** NB: to change the bin numbers, see below the histogram flags */ |
32a6d407 |
76 | Bool_t plotMCConversionR = kTRUE; |
77 | Bool_t plotMCConversionZR = kTRUE; |
78 | Bool_t plotMCConversionXY = kTRUE; |
79 | Bool_t plotMCConversionOpeningAngle = kTRUE; |
80 | |
81 | Bool_t plotMCEEnergy = kTRUE; |
82 | Bool_t plotMCEPt = kTRUE; |
83 | Bool_t plotMCEEta = kTRUE; |
84 | Bool_t plotMCEPhi = kTRUE; |
85 | |
86 | Bool_t plotMCPEnergy = kTRUE; |
87 | Bool_t plotMCPPt = kTRUE; |
88 | Bool_t plotMCPEta = kTRUE; |
89 | Bool_t plotMCPPhi = kTRUE; |
90 | |
91 | Bool_t plotMCallGammaEnergy = kTRUE; |
92 | Bool_t plotMCallGammaPt = kTRUE; |
93 | Bool_t plotMCallGammaEta = kTRUE; |
94 | Bool_t plotMCallGammaPhi = kTRUE; |
95 | Bool_t plotMCallGammaRapid = kTRUE; |
96 | |
97 | |
98 | Bool_t plotMCConvGammaEnergy = kTRUE; |
99 | Bool_t plotMCConvGammaPt = kTRUE; |
100 | Bool_t plotMCConvGammaEta = kTRUE; |
101 | Bool_t plotMCConvGammaPhi = kTRUE; |
102 | Bool_t plotMCConvGammaRapid = kTRUE; |
103 | Bool_t plotMCConvGammaPtvsEta = kTRUE; |
104 | |
105 | Bool_t plotMCallDirectGammaEnergy = kTRUE; |
106 | Bool_t plotMCallDirectGammaPt = kTRUE; |
107 | Bool_t plotMCallDirectGammaEta = kTRUE; |
108 | Bool_t plotMCallDirectGammaPhi = kTRUE; |
109 | Bool_t plotMCallDirectGammaRapid = kTRUE; |
110 | |
111 | |
112 | Bool_t plotMCConvDirectGammaEnergy = kTRUE; |
113 | Bool_t plotMCConvDirectGammaPt = kTRUE; |
114 | Bool_t plotMCConvDirectGammaEta = kTRUE; |
115 | Bool_t plotMCConvDirectGammaPhi = kTRUE; |
116 | Bool_t plotMCConvDirectGammaRapid = kTRUE; |
117 | |
118 | Bool_t plotMCMotherEta = kTRUE; |
119 | Bool_t plotMCMotherRapid = kTRUE; |
120 | Bool_t plotMCMotherPhi = kTRUE; |
121 | Bool_t plotMCMotherPt = kTRUE; |
122 | Bool_t plotMCMotherEnergy = kTRUE; |
123 | Bool_t plotMCMotherMass = kTRUE; |
124 | Bool_t plotMCMotherOpeningAngle = kTRUE; |
125 | Bool_t plotMCMotherR = kTRUE; |
126 | Bool_t plotMCMotherZR = kTRUE; |
127 | Bool_t plotMCMotherXY = kTRUE; |
128 | Bool_t plotMCMotherPtvsEtaWithinAcceptance = kTRUE; |
129 | Bool_t plotMCMotherPtvsRapidWithinAcceptance = kTRUE; |
130 | Bool_t plotMCMotherPtvsEtaConvGammaWithinAcceptance = kTRUE; |
131 | Bool_t plotMCMotherPtvsRapidConvGammaWithinAcceptance = kTRUE; |
132 | Bool_t plotMCMotherSpectra = kTRUE; |
133 | |
134 | Bool_t plotMCPi0Eta = kTRUE; |
135 | Bool_t plotMCPi0Rapid = kTRUE; |
136 | Bool_t plotMCPi0Phi = kTRUE; |
137 | Bool_t plotMCPi0Pt = kTRUE; |
138 | Bool_t plotMCPi0Energy = kTRUE; |
139 | Bool_t plotMCPi0Mass = kTRUE; |
140 | Bool_t plotMCPi0OpeningAngle = kTRUE; |
141 | Bool_t plotMCPi0R = kTRUE; |
142 | Bool_t plotMCPi0ZR = kTRUE; |
143 | Bool_t plotMCPi0XY = kTRUE; |
144 | Bool_t plotMCPi0PtvsEtaWithinAcceptance = kTRUE; |
145 | Bool_t plotMCPi0PtvsRapidWithinAcceptance = kTRUE; |
146 | Bool_t plotMCPi0PtvsEtaConvGammaWithinAcceptance = kTRUE; |
147 | Bool_t plotMCPi0PtvsRapidConvGammaWithinAcceptance = kTRUE; |
148 | |
149 | |
150 | Bool_t plotMCPi0SecondaryEta = kTRUE; |
151 | Bool_t plotMCPi0SecondaryRapid = kTRUE; |
152 | Bool_t plotMCPi0SecondaryPhi = kTRUE; |
153 | Bool_t plotMCPi0SecondaryPt = kTRUE; |
154 | Bool_t plotMCPi0SecondaryEnergy = kTRUE; |
155 | Bool_t plotMCPi0SecondaryMass = kTRUE; |
156 | Bool_t plotMCPi0SecondaryOpeningAngle = kTRUE; |
157 | Bool_t plotMCPi0SecondaryR = kTRUE; |
158 | Bool_t plotMCPi0SecondaryZR = kTRUE; |
159 | Bool_t plotMCPi0SecondaryXY = kTRUE; |
160 | Bool_t plotMCPi0SecondaryPtvsEtaWithinAcceptance = kTRUE; |
161 | Bool_t plotMCPi0SecondaryPtvsRapidWithinAcceptance = kTRUE; |
162 | Bool_t plotMCPi0SecondaryPtvsEtaConvGammaWithinAcceptance = kTRUE; |
163 | Bool_t plotMCPi0SecondaryPtvsRapidConvGammaWithinAcceptance = kTRUE; |
164 | |
165 | |
166 | Bool_t plotMCEtaEta = kTRUE; |
167 | Bool_t plotMCEtaRapid = kTRUE; |
168 | Bool_t plotMCEtaPhi = kTRUE; |
169 | Bool_t plotMCEtaPt = kTRUE; |
170 | Bool_t plotMCEtaEnergy = kTRUE; |
171 | Bool_t plotMCEtaMass = kTRUE; |
172 | Bool_t plotMCEtaOpeningAngleGamma = kTRUE; |
173 | Bool_t plotMCEtaR = kTRUE; |
174 | Bool_t plotMCEtaZR = kTRUE; |
175 | Bool_t plotMCEtaXY = kTRUE; |
176 | Bool_t plotMCEtaPtvsEtaWithinAcceptance = kTRUE; |
177 | Bool_t plotMCEtaPtvsRapidWithinAcceptance = kTRUE; |
178 | Bool_t plotMCEtaPtvsEtaConvGammaWithinAcceptance = kTRUE; |
179 | Bool_t plotMCEtaPtvsRapidConvGammaWithinAcceptance = kTRUE; |
180 | |
181 | |
a19c3402 |
182 | // Histograms from esd tracks |
32a6d407 |
183 | Bool_t plotESDConversionR = kTRUE; |
184 | Bool_t plotESDConversionZR = kTRUE; |
185 | Bool_t plotESDConversionXY = kTRUE; |
186 | Bool_t plotESDConversionOpeningAngle = kTRUE; |
187 | |
188 | Bool_t plotESDEEnergy = kTRUE; |
189 | Bool_t plotESDEPt = kTRUE; |
190 | Bool_t plotESDEEta = kTRUE; |
191 | Bool_t plotESDEPhi = kTRUE; |
192 | |
193 | Bool_t plotESDPEnergy = kTRUE; |
194 | Bool_t plotESDPPt = kTRUE; |
195 | Bool_t plotESDPEta = kTRUE; |
196 | Bool_t plotESDPPhi = kTRUE; |
197 | |
198 | Bool_t plotESDConvGammaEnergy = kTRUE; |
199 | Bool_t plotESDConvGammaPt = kTRUE; |
200 | Bool_t plotESDConvGammaEta = kTRUE; |
201 | Bool_t plotESDConvGammaPhi = kTRUE; |
202 | Bool_t plotESDConvGammaMass = kTRUE; |
203 | Bool_t plotESDConvGammaWidth = kTRUE; |
204 | Bool_t plotESDConvGammaChi2 = kTRUE; |
205 | Bool_t plotESDConvGammaNDF = kTRUE; |
206 | Bool_t plotESDConvGammaRapid = kTRUE; |
207 | Bool_t plotESDConvGammaPtvsEta = kTRUE; |
208 | |
209 | Bool_t plotESDTrueConvGammaEnergy = kTRUE; |
210 | Bool_t plotESDTrueConvGammaPt = kTRUE; |
211 | Bool_t plotESDTrueConvGammaEta = kTRUE; |
212 | Bool_t plotESDTrueConvGammaPhi = kTRUE; |
213 | Bool_t plotESDTrueConvGammaMass = kTRUE; |
214 | Bool_t plotESDTrueConvGammaWidth = kTRUE; |
215 | Bool_t plotESDTrueConvGammaChi2 = kTRUE; |
216 | Bool_t plotESDTrueConvGammaNDF = kTRUE; |
217 | Bool_t plotESDTrueConvGammaRapid = kTRUE; |
218 | Bool_t plotESDTrueConvGammaPtvsEta = kTRUE; |
219 | Bool_t plotESDTrueConversionR = kTRUE; |
220 | Bool_t plotESDTrueConversionZR = kTRUE; |
221 | Bool_t plotESDTrueConversionXY = kTRUE; |
222 | Bool_t plotESDTrueConversionOpeningAngle = kTRUE; |
223 | |
224 | Bool_t plotESDNoCutConvGammaEnergy = kTRUE; |
225 | Bool_t plotESDNoCutConvGammaPt = kTRUE; |
226 | Bool_t plotESDNoCutConvGammaEta = kTRUE; |
227 | Bool_t plotESDNoCutConvGammaPhi = kTRUE; |
228 | Bool_t plotESDNoCutConvGammaMass = kTRUE; |
229 | Bool_t plotESDNoCutConvGammaWidth = kTRUE; |
230 | Bool_t plotESDNoCutConvGammaChi2 = kTRUE; |
231 | Bool_t plotESDNoCutConvGammaNDF = kTRUE; |
232 | Bool_t plotESDNoCutConvGammaRapid = kTRUE; |
233 | Bool_t plotESDNoCutConvGammaPtvsEta = kTRUE; |
234 | Bool_t plotESDNoCutConversionR = kTRUE; |
235 | Bool_t plotESDNoCutConversionZR = kTRUE; |
236 | Bool_t plotESDNoCutConversionXY = kTRUE; |
237 | Bool_t plotESDNoCutConversionOpeningAngle = kTRUE; |
238 | |
239 | Bool_t plotESDMotherOpeningAngleGamma = kTRUE; |
240 | Bool_t plotESDMotherEnergy = kTRUE; |
241 | Bool_t plotESDMotherPt = kTRUE; |
242 | Bool_t plotESDMotherEta = kTRUE; |
243 | Bool_t plotESDMotherPhi = kTRUE; |
244 | Bool_t plotESDMotherMass = kTRUE; |
245 | Bool_t plotESDMotherR = kTRUE; |
246 | Bool_t plotESDMotherZR = kTRUE; |
247 | Bool_t plotESDMotherXY = kTRUE; |
248 | Bool_t plotESDMotherRapid = kTRUE; |
249 | |
250 | |
251 | Bool_t plotESDBackgroundOpeningAngleGamma = kTRUE; |
252 | Bool_t plotESDBackgroundEnergy = kTRUE; |
253 | Bool_t plotESDBackgroundPt = kTRUE; |
254 | Bool_t plotESDBackgroundEta = kTRUE; |
255 | Bool_t plotESDBackgroundPhi = kTRUE; |
256 | Bool_t plotESDBackgroundMass = kTRUE; |
257 | Bool_t plotESDBackgroundR = kTRUE; |
258 | Bool_t plotESDBackgroundZR = kTRUE; |
259 | Bool_t plotESDBackgroundXY = kTRUE; |
260 | Bool_t plotESDBackgroundRapid = kTRUE; |
261 | |
262 | |
263 | |
264 | Bool_t plotMapping = kFALSE; |
265 | |
266 | Bool_t plotResolutiondPt = kTRUE; |
267 | Bool_t plotResolutiondR = kTRUE; |
268 | Bool_t plotResolutiondZ = kTRUE; |
269 | |
270 | Bool_t plotResolutiondRdPt = kTRUE; |
271 | |
272 | Bool_t plotResolutionMCPt = kTRUE; |
273 | Bool_t plotResolutionMCR = kTRUE; |
274 | Bool_t plotResolutionMCZ = kTRUE; |
275 | |
276 | Bool_t plotResolutionESDPt = kTRUE; |
277 | Bool_t plotResolutionESDR = kTRUE; |
278 | Bool_t plotResolutionESDZ = kTRUE; |
279 | |
280 | Bool_t plotESDNumberOfV0s = kTRUE; |
281 | Bool_t plotESDNumberOfSurvivingV0s = kTRUE; |
a19c3402 |
282 | |
6c3a327c |
283 | // debug histograms |
32a6d407 |
284 | Bool_t plotESDCutGetOnFly = kTRUE; |
285 | Bool_t plotESDCutNContributors = kTRUE; |
286 | Bool_t plotESDCutLikeSign = kTRUE; |
287 | Bool_t plotESDCutRefit = kTRUE; |
288 | Bool_t plotESDCutKink = kTRUE; |
289 | Bool_t plotESDCutPIDProb = kTRUE; |
290 | Bool_t plotESDCutR = kTRUE; |
291 | Bool_t plotESDCutLine = kTRUE; |
292 | Bool_t plotESDCutNDF = kTRUE; |
293 | Bool_t plotESDCutChi2 = kTRUE; |
294 | Bool_t plotESDCutEta = kTRUE; |
295 | Bool_t plotESDCutPt = kTRUE; |
296 | Bool_t plotESDTrueConvGammaTrackLength =kTRUE; |
297 | Bool_t plotESDTrueConvGammaTrackLengthVSInvMass =kTRUE; |
298 | |
299 | |
300 | Bool_t plotPi0Spectra = kTRUE; |
301 | Bool_t plotEtaSpectra = kTRUE; |
a19c3402 |
302 | |
303 | |
304 | /** ----------------- end define which histograms to plot here -------------------------------*/ |
305 | |
306 | |
307 | |
308 | /** ----------- Define the binning for the different plot types here -------------------------*/ |
309 | //R-plots |
32a6d407 |
310 | Int_t nXBinsR = 500; |
a19c3402 |
311 | Double_t firstXBinR = 0.; |
312 | Double_t lastXBinR = 250.; |
313 | |
314 | //ZR-plots |
32a6d407 |
315 | Int_t nXBinsZR = 1200; |
316 | Double_t firstXBinZR = -300.; |
317 | Double_t lastXBinZR = 300.; |
318 | Int_t nYBinsZR = 500; |
a19c3402 |
319 | Double_t firstYBinZR = 0.; |
320 | Double_t lastYBinZR = 250.; |
321 | |
322 | //XY-plots |
32a6d407 |
323 | Int_t nXBinsXY = 1000; |
a19c3402 |
324 | Double_t firstXBinXY = -250.; |
325 | Double_t lastXBinXY = 250.; |
32a6d407 |
326 | Int_t nYBinsXY = 1000; |
a19c3402 |
327 | Double_t firstYBinXY = -250.; |
328 | Double_t lastYBinXY = 250.; |
329 | |
330 | //OpenAngle-plots |
32a6d407 |
331 | Int_t nXBinsOpeningAngle = 400; |
a19c3402 |
332 | Double_t firstXBinOpeningAngle = 0.; |
32a6d407 |
333 | Double_t lastXBinOpeningAngle = TMath::Pi(); |
a19c3402 |
334 | |
335 | //Energy-plots |
32a6d407 |
336 | Int_t nXBinsEnergy = 200; |
a19c3402 |
337 | Double_t firstXBinEnergy = 0.; |
32a6d407 |
338 | Double_t lastXBinEnergy = 50.; |
a19c3402 |
339 | |
340 | //Pt-plots |
32a6d407 |
341 | Int_t nXBinsPt = 200; |
a19c3402 |
342 | Double_t firstXBinPt = 0.; |
32a6d407 |
343 | Double_t lastXBinPt = 50.; |
a19c3402 |
344 | |
345 | //Eta-plots |
32a6d407 |
346 | Int_t nXBinsEta = 40; |
a19c3402 |
347 | Double_t firstXBinEta = -2.; |
348 | Double_t lastXBinEta = 2.; |
349 | |
32a6d407 |
350 | //Rapidity |
351 | Int_t nXBinsRapid = 200; |
352 | Double_t firstXBinRapid = -10.; |
353 | Double_t lastXBinRapid = 10.; |
354 | |
a19c3402 |
355 | //Phi-plots |
32a6d407 |
356 | Int_t nXBinsPhi = 72; |
a19c3402 |
357 | Double_t firstXBinPhi = -TMath::Pi(); |
358 | Double_t lastXBinPhi = TMath::Pi(); |
359 | |
360 | //Mapping-plots |
32a6d407 |
361 | Int_t nXBinsMapping = 400; |
362 | Double_t firstXBinMapping = -100.; |
363 | Double_t lastXBinMapping = 100.; |
364 | Int_t nYBinsMapping = 40; |
365 | Double_t firstYBinMapping = -2; |
366 | Double_t lastYBinMapping = 2; |
a19c3402 |
367 | |
368 | //ResolutionPlots |
369 | //RESdPt |
370 | Int_t nXBinsResdPt=500; |
371 | Int_t firstXBinResdPt= 0; |
372 | Int_t lastXBinResdPt=5; |
373 | Int_t nYBinsResdPt=1000; |
374 | Int_t firstYBinResdPt= -5; |
375 | Int_t lastYBinResdPt=5; |
376 | |
377 | //RESdR |
32a6d407 |
378 | Int_t nXBinsResdR=500; |
a19c3402 |
379 | Int_t firstXBinResdR= 0; |
380 | Int_t lastXBinResdR=250; |
32a6d407 |
381 | Int_t nYBinsResdR=100; |
a19c3402 |
382 | Int_t firstYBinResdR= -25; |
383 | Int_t lastYBinResdR=25; |
384 | |
385 | //RESdZ |
32a6d407 |
386 | Int_t nXBinsResdZ=80; |
a19c3402 |
387 | Int_t firstXBinResdZ= -20; |
388 | Int_t lastXBinResdZ=20; |
32a6d407 |
389 | Int_t nYBinsResdZ=80; |
a19c3402 |
390 | Int_t firstYBinResdZ= -20; |
391 | Int_t lastYBinResdZ=20; |
392 | |
393 | //RESdRdPt |
32a6d407 |
394 | Int_t nXBinsResdRdPt=440; |
a19c3402 |
395 | Int_t firstXBinResdRdPt= -22; |
396 | Int_t lastXBinResdRdPt=22; |
32a6d407 |
397 | Int_t nYBinsResdRdPt=100; |
a19c3402 |
398 | Int_t firstYBinResdRdPt= -5; |
399 | Int_t lastYBinResdRdPt=5; |
400 | |
a19c3402 |
401 | //RESMCPt |
32a6d407 |
402 | Int_t nXBinsResPt=100; |
a19c3402 |
403 | Int_t firstXBinResPt= 0; |
404 | Int_t lastXBinResPt=5; |
405 | |
406 | //RESMCR |
32a6d407 |
407 | Int_t nXBinsResR=500; |
a19c3402 |
408 | Int_t firstXBinResR= 0; |
409 | Int_t lastXBinResR=250; |
410 | |
411 | //RESMCZ |
32a6d407 |
412 | Int_t nXBinsResZ=500; |
a19c3402 |
413 | Int_t firstXBinResZ= 0; |
414 | Int_t lastXBinResZ=250; |
415 | |
416 | //GammaMass-plots |
32a6d407 |
417 | Int_t nXBinsGammaMass = 4000; |
a19c3402 |
418 | Double_t firstXBinGammaMass = 0.; |
419 | Double_t lastXBinGammaMass = 1.; |
420 | |
421 | //Pi0Mass-plots |
422 | Int_t nXBinsPi0Mass = 100; |
423 | Double_t firstXBinPi0Mass = 0.; |
424 | Double_t lastXBinPi0Mass = 1.; |
425 | |
426 | //EtaMass-plots |
427 | Int_t nXBinsEtaMass = 100; |
428 | Double_t firstXBinEtaMass = 0.; |
429 | Double_t lastXBinEtaMass = 1.; |
430 | |
431 | //GammaWidth-plots |
432 | Int_t nXBinsGammaWidth = 100; |
433 | Double_t firstXBinGammaWidth = 0.; |
434 | Double_t lastXBinGammaWidth = 1.; |
435 | |
436 | //GammaChi2-plots |
437 | Int_t nXBinsGammaChi2 = 100; |
438 | Double_t firstXBinGammaChi2 = 0; |
439 | Double_t lastXBinGammaChi2 = 100.; |
440 | |
441 | //GammaNDF-plots |
442 | Int_t nXBinsGammaNDF = 10; |
443 | Double_t firstXBinGammaNDF = 0.; |
444 | Double_t lastXBinGammaNDF = 10.; |
445 | |
446 | //Spectra-plots |
32a6d407 |
447 | Int_t nXBinsSpectra = 500; |
a19c3402 |
448 | Double_t firstXBinSpectra = 0.; |
449 | Double_t lastXBinSpectra = 1.; |
32a6d407 |
450 | Int_t nYBinsSpectra = 100; |
a19c3402 |
451 | Double_t firstYBinSpectra = 0.; |
32a6d407 |
452 | Double_t lastYBinSpectra = 50.; |
453 | |
454 | //track length plots |
455 | Int_t nXBinsTrackLength = 1000; |
456 | Double_t firstXBinTrackLength = 0; |
457 | Double_t lastXBinTrackLength = 500; |
a19c3402 |
458 | |
459 | /** ---------- end Define the binning for the different plot types here ----------------------*/ |
460 | |
461 | |
a19c3402 |
462 | /************************************************************************************************ |
463 | * * |
464 | * * |
465 | * EVERYTHING BELOW IS FOR DEVELOPERS ONLY * |
466 | * * |
467 | * * |
468 | ************************************************************************************************/ |
6c3a327c |
469 | TString outputFileName = "histogramsGammaConversion"; |
470 | TString outputFileAppendix = ""; |
471 | TString dataList = ""; |
472 | Bool_t writeNtuple = kFALSE; |
473 | |
474 | Bool_t scanArguments(TString arguments){ |
475 | Bool_t iResult = kTRUE; |
32a6d407 |
476 | |
477 | // cout<<"All arguments: "<<arguments<<endl; |
478 | |
6c3a327c |
479 | TString allArgs=arguments; |
480 | TString argument; |
481 | int bMissingParam=0; |
32a6d407 |
482 | |
6c3a327c |
483 | TObjArray* pTokens=allArgs.Tokenize(" "); |
484 | if (pTokens) { |
32a6d407 |
485 | |
6c3a327c |
486 | for(int i=0; i<pTokens->GetEntries() && iResult==kTRUE; i++) { |
487 | argument=((TObjString*)pTokens->At(i))->GetString(); |
32a6d407 |
488 | |
6c3a327c |
489 | if(argument.IsNull()) continue; |
490 | // -- deconvolute-time option |
491 | if(argument.CompareTo("-data-list") == 0){ |
492 | if((bMissingParam=(++i>=pTokens->GetEntries()))) break; |
493 | dataList = ((TObjString*)pTokens->At(i))->GetString(); |
494 | if(dataList.IsNull()){ |
495 | cout<<"-data-list is NULL"<<endl; |
496 | iResult=kFALSE; |
497 | } |
498 | else{ |
499 | cout<<"Data list is set to: "<<dataList<<endl; |
500 | } |
501 | } |
502 | else if(argument.CompareTo("-output-file-name") == 0){ |
503 | if((bMissingParam=(++i>=pTokens->GetEntries()))) break; |
504 | outputFileName = ((TObjString*)pTokens->At(i))->GetString(); |
505 | if(outputFileName.IsNull()){ |
506 | cout<<"-output-file-name is NULL"<<endl; |
507 | iResult=kFALSE; |
508 | } |
509 | else{ |
510 | cout<<"Setting output file name to: "<<outputFileName<<endl; |
511 | } |
512 | } |
513 | else if (argument.CompareTo("-write-ntuple") == 0){ |
514 | cout<<"Writing ntuple to file."<<endl; |
515 | writeNtuple = kTRUE; |
516 | } |
517 | else if(argument.CompareTo("-append-to-output-file") == 0){ |
518 | if((bMissingParam=(++i>=pTokens->GetEntries()))) break; |
519 | outputFileAppendix = "_"+((TObjString*)pTokens->At(i))->GetString(); |
520 | if(outputFileAppendix.IsNull()){ |
521 | cout<<"-appending-to-output-file is NULL"<<endl; |
522 | iResult=kFALSE; |
523 | } |
524 | else{ |
525 | cout<<"Appending to the output file: "<<outputFileAppendix<<endl; |
526 | } |
527 | } |
528 | } |
32a6d407 |
529 | |
6c3a327c |
530 | delete pTokens; |
531 | } |
532 | if (bMissingParam) { |
533 | cout<<"Missing parameter for argument "<< argument.Data()<<endl; |
534 | iResult=kFALSE; |
535 | } |
536 | return iResult; |
537 | } |
538 | |
539 | void ConfigGammaConversion(TString arguments){ |
32a6d407 |
540 | |
6c3a327c |
541 | if(!scanArguments(arguments)){ |
542 | break; |
543 | } |
32a6d407 |
544 | |
6c3a327c |
545 | if(numberOfFilesToAnalyze==0){ |
546 | ifstream dataInStream; |
547 | dataInStream.open(dataList.Data()); |
548 | if ( !dataInStream ){ |
549 | cout<<"Data list file does not exist: "<<dataList.Data()<<endl; |
550 | return 0; |
551 | } |
552 | string line; |
553 | while ( !dataInStream.eof() ) |
554 | { |
555 | getline(dataInStream, line); |
32a6d407 |
556 | if(line.compare("") != 0){//checks if there is an empty line in the data list |
557 | numberOfFilesToAnalyze++; |
558 | } |
6c3a327c |
559 | } |
560 | } |
561 | cout<<"Number Of files to analyze: "<<numberOfFilesToAnalyze<<endl; |
32a6d407 |
562 | |
a19c3402 |
563 | build();//build (if necessary) and load the libraries needed |
32a6d407 |
564 | |
a19c3402 |
565 | gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C"); // load the CreateChain macro |
32a6d407 |
566 | |
a19c3402 |
567 | AliLog::SetGlobalLogLevel(AliLog::kError); |
32a6d407 |
568 | |
a19c3402 |
569 | //-------------------------------- Creating the histograms ------------------------------- |
570 | AliGammaConversionHistograms * histograms = new AliGammaConversionHistograms(); |
32a6d407 |
571 | |
572 | if(plotMCConversionR == kTRUE){ histograms->AddHistogram("MC_Conversion_R","Radius of gamma conversion points",nXBinsR, firstXBinR, lastXBinR,"counts","cm");} |
573 | if(plotMCConversionZR == kTRUE){ histograms->AddHistogram("MC_Conversion_ZR","Radius of gamma conversion points vs Z",nXBinsZR, firstXBinZR, lastXBinZR, nYBinsZR, firstYBinZR, lastYBinZR, "cm", "cm");} |
574 | if(plotMCConversionXY == kTRUE){ histograms->AddHistogram("MC_Conversion_XY","Gamma XY converison point.",nXBinsXY, firstXBinXY, lastXBinXY, nYBinsXY, firstYBinXY, lastYBinXY, "cm", "cm");} |
575 | if(plotMCConversionOpeningAngle == kTRUE){ histograms->AddHistogram("MC_Conversion_OpeningAngle","Opening angle of e+e- pairs from gamma conversion",nXBinsOpeningAngle, firstXBinOpeningAngle, lastXBinOpeningAngle, "counts", "cm");} |
576 | |
a19c3402 |
577 | if(plotMCEEnergy == kTRUE){ histograms->AddHistogram("MC_E_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
578 | if(plotMCEPt == kTRUE){ histograms->AddHistogram("MC_E_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
579 | if(plotMCEEta == kTRUE){ histograms->AddHistogram("MC_E_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
580 | if(plotMCEPhi == kTRUE){ histograms->AddHistogram("MC_E_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
32a6d407 |
581 | |
a19c3402 |
582 | if(plotMCPEnergy == kTRUE){ histograms->AddHistogram("MC_P_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
583 | if(plotMCPPt == kTRUE){ histograms->AddHistogram("MC_P_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
584 | if(plotMCPEta == kTRUE){ histograms->AddHistogram("MC_P_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
585 | if(plotMCPPhi == kTRUE){ histograms->AddHistogram("MC_P_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
32a6d407 |
586 | |
587 | if(plotMCallGammaEnergy == kTRUE){ histograms->AddHistogram("MC_allGamma_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
588 | if(plotMCallGammaPt == kTRUE){ histograms->AddHistogram("MC_allGamma_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
589 | if(plotMCallGammaEta == kTRUE){ histograms->AddHistogram("MC_allGamma_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
590 | if(plotMCallGammaPhi == kTRUE){ histograms->AddHistogram("MC_allGamma_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
591 | if(plotMCallGammaRapid == kTRUE){ histograms->AddHistogram("MC_allGamma_Rapid" ,"" , nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
592 | |
593 | if(plotMCConvGammaEnergy == kTRUE){ histograms->AddHistogram("MC_ConvGamma_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
594 | if(plotMCConvGammaPt == kTRUE){ histograms->AddHistogram("MC_ConvGamma_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
595 | if(plotMCConvGammaEta == kTRUE){ histograms->AddHistogram("MC_ConvGamma_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
596 | if(plotMCConvGammaPhi == kTRUE){ histograms->AddHistogram("MC_ConvGamma_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
597 | if(plotMCConvGammaRapid == kTRUE){ histograms->AddHistogram("MC_ConvGamma_Rapid" ,"" , nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
598 | if(plotMCConvGammaPtvsEta == kTRUE){ histograms->AddHistogram("MC_ConvGamma_Pt_Eta","", nXBinsPt, firstXBinPt, lastXBinPt,nXBinsEta, firstXBinEta, lastXBinEta,"","");} |
599 | |
600 | if(plotMCallDirectGammaEnergy == kTRUE){ histograms->AddHistogram("MC_allDirectGamma_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
601 | if(plotMCallDirectGammaPt == kTRUE){ histograms->AddHistogram("MC_allDirectGamma_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
602 | if(plotMCallDirectGammaEta == kTRUE){ histograms->AddHistogram("MC_allDirectGamma_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
603 | if(plotMCallDirectGammaPhi == kTRUE){ histograms->AddHistogram("MC_allDirectGamma_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
604 | if(plotMCallDirectGammaRapid == kTRUE){ histograms->AddHistogram("MC_allDirectGamma_Rapid" ,"" , nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
605 | |
606 | if(plotMCConvDirectGammaEnergy == kTRUE){ histograms->AddHistogram("MC_ConvDirectGamma_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
607 | if(plotMCConvDirectGammaPt == kTRUE){ histograms->AddHistogram("MC_ConvDirectGamma_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
608 | if(plotMCConvDirectGammaEta == kTRUE){ histograms->AddHistogram("MC_ConvDirectGamma_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
609 | if(plotMCConvDirectGammaPhi == kTRUE){ histograms->AddHistogram("MC_ConvDirectGamma_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
610 | if(plotMCConvDirectGammaRapid == kTRUE){ histograms->AddHistogram("MC_ConvDirectGamma_Rapid" ,"" , nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
611 | |
612 | if(plotMCMotherEta == kTRUE){ histograms->AddHistogram("MC_Mother_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
613 | if(plotMCMotherPhi == kTRUE){ histograms->AddHistogram("MC_Mother_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
614 | if(plotMCMotherRapid == kTRUE){ histograms->AddHistogram("MC_Mother_Rapid" ,"" , nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
615 | if(plotMCMotherPt == kTRUE){ histograms->AddHistogram("MC_Mother_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
616 | if(plotMCMotherEnergy == kTRUE){ histograms->AddHistogram("MC_Mother_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
617 | if(plotMCMotherMass == kTRUE){ histograms->AddHistogram("MC_Mother_Mass" ,"" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass, "", "");} |
618 | if(plotMCMotherOpeningAngle == kTRUE){ histograms->AddHistogram("MC_Mother_GammaDaughter_OpeningAngle" ,"" , nXBinsOpeningAngle, firstXBinOpeningAngle, lastXBinOpeningAngle, "", "");} |
619 | if(plotMCMotherR == kTRUE){ histograms->AddHistogram("MC_Mother_R" ,"" , nXBinsR, firstXBinR, lastXBinR, "", "");} |
620 | if(plotMCMotherZR == kTRUE){ histograms->AddHistogram("MC_Mother_ZR" ,"" , nXBinsZR, firstXBinZR, lastXBinZR, nYBinsZR, firstYBinZR, lastYBinZR, "", "");} |
621 | if(plotMCMotherXY == kTRUE){ histograms->AddHistogram("MC_Mother_XY" ,"" , nXBinsXY, firstXBinXY, lastXBinXY, nYBinsXY, firstYBinXY, lastYBinXY, "", "");} |
622 | if(plotMCMotherPtvsEtaWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Mother_Pt_Eta_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
623 | if(plotMCMotherPtvsRapidWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Mother_Pt_Rapid_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
624 | if(plotMCMotherPtvsEtaConvGammaWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Mother_Pt_Eta_ConvGamma_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
625 | if(plotMCMotherPtvsRapidConvGammaWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Mother_Pt_Rapid_ConvGamma_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
626 | |
627 | if(plotMCMotherSpectra == kTRUE){ |
628 | histograms->AddHistogram("MC_Mother_InvMass_vs_Pt" ,"" ,nXBinsSpectra, firstXBinSpectra, lastXBinSpectra, nYBinsSpectra, firstYBinSpectra, lastYBinSpectra, "", ""); |
629 | histograms->AddHistogram("MC_Mother_InvMass_vs_Pt_withinAcceptance" ,"" ,nXBinsSpectra, firstXBinSpectra, lastXBinSpectra, nYBinsSpectra, firstYBinSpectra, lastYBinSpectra, "", ""); |
630 | histograms->AddHistogram("MC_Mother_InvMass_vs_Pt_ConvGamma_withinAcceptance" ,"" ,nXBinsSpectra, firstXBinSpectra, lastXBinSpectra, nYBinsSpectra, firstYBinSpectra, lastYBinSpectra, "", ""); |
631 | } |
632 | |
633 | |
634 | if(plotMCPi0Eta == kTRUE){ histograms->AddHistogram("MC_Pi0_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
635 | if(plotMCPi0Rapid == kTRUE){ histograms->AddHistogram("MC_Pi0_Rapid" ,"" , nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
a19c3402 |
636 | if(plotMCPi0Phi == kTRUE){ histograms->AddHistogram("MC_Pi0_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
637 | if(plotMCPi0Pt == kTRUE){ histograms->AddHistogram("MC_Pi0_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
638 | if(plotMCPi0Energy == kTRUE){ histograms->AddHistogram("MC_Pi0_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
639 | if(plotMCPi0Mass == kTRUE){ histograms->AddHistogram("MC_Pi0_Mass" ,"" , nXBinsPi0Mass, firstXBinPi0Mass, lastXBinPi0Mass, "", "");} |
640 | if(plotMCPi0OpeningAngle == kTRUE){ histograms->AddHistogram("MC_Pi0_GammaDaughter_OpeningAngle" ,"" , nXBinsOpeningAngle, firstXBinOpeningAngle, lastXBinOpeningAngle, "", "");} |
641 | if(plotMCPi0R == kTRUE){ histograms->AddHistogram("MC_Pi0_R" ,"" , nXBinsR, firstXBinR, lastXBinR, "", "");} |
642 | if(plotMCPi0ZR == kTRUE){ histograms->AddHistogram("MC_Pi0_ZR" ,"" , nXBinsZR, firstXBinZR, lastXBinZR, nYBinsZR, firstYBinZR, lastYBinZR, "", "");} |
643 | if(plotMCPi0XY == kTRUE){ histograms->AddHistogram("MC_Pi0_XY" ,"" , nXBinsXY, firstXBinXY, lastXBinXY, nYBinsXY, firstYBinXY, lastYBinXY, "", "");} |
32a6d407 |
644 | if(plotMCPi0PtvsEtaWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Pi0_Pt_Eta_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
645 | if(plotMCPi0PtvsRapidWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Pi0_Pt_Rapid_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
646 | if(plotMCPi0PtvsEtaConvGammaWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Pi0_Pt_Eta_ConvGamma_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
647 | if(plotMCPi0PtvsRapidConvGammaWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Pi0_Pt_Rapid_ConvGamma_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
648 | |
649 | |
650 | if(plotMCPi0SecondaryEta == kTRUE){ histograms->AddHistogram("MC_Pi0_Secondaries_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
651 | if(plotMCPi0SecondaryRapid == kTRUE){ histograms->AddHistogram("MC_Pi0_Secondaries_Rapid" ,"" , nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
652 | if(plotMCPi0SecondaryPhi == kTRUE){ histograms->AddHistogram("MC_Pi0_Secondaries_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
653 | if(plotMCPi0SecondaryPt == kTRUE){ histograms->AddHistogram("MC_Pi0_Secondaries_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
654 | if(plotMCPi0SecondaryEnergy == kTRUE){ histograms->AddHistogram("MC_Pi0_Secondaries_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
655 | if(plotMCPi0SecondaryMass == kTRUE){ histograms->AddHistogram("MC_Pi0_Secondaries_Mass" ,"" , nXBinsPi0Mass, firstXBinPi0Mass, lastXBinPi0Mass, "", "");} |
656 | if(plotMCPi0SecondaryOpeningAngle == kTRUE){ histograms->AddHistogram("MC_Pi0_Secondaries_GammaDaughter_OpeningAngle" ,"" , nXBinsOpeningAngle, firstXBinOpeningAngle, lastXBinOpeningAngle, "", "");} |
657 | if(plotMCPi0SecondaryR == kTRUE){ histograms->AddHistogram("MC_Pi0_Secondaries_R" ,"" , nXBinsR, firstXBinR, lastXBinR, "", "");} |
658 | if(plotMCPi0SecondaryZR == kTRUE){ histograms->AddHistogram("MC_Pi0_Secondaries_ZR" ,"" , nXBinsZR, firstXBinZR, lastXBinZR, nYBinsZR, firstYBinZR, lastYBinZR, "", "");} |
659 | if(plotMCPi0SecondaryXY == kTRUE){ histograms->AddHistogram("MC_Pi0_Secondaries_XY" ,"" , nXBinsXY, firstXBinXY, lastXBinXY, nYBinsXY, firstYBinXY, lastYBinXY, "", "");} |
660 | if(plotMCPi0SecondaryPtvsEtaWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Pi0_Secondaries_Pt_Eta_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
661 | if(plotMCPi0SecondaryPtvsRapidWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Pi0_Secondaries_Pt_Rapid_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
662 | if(plotMCPi0SecondaryPtvsEtaConvGammaWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Pi0_Secondaries_Pt_Eta_ConvGamma_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
663 | if(plotMCPi0SecondaryPtvsRapidConvGammaWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Pi0_Secondaries_Pt_Rapid_ConvGamma_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
664 | |
665 | |
666 | |
a19c3402 |
667 | if(plotMCEtaEta == kTRUE){ histograms->AddHistogram("MC_Eta_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
32a6d407 |
668 | if(plotMCEtaRapid == kTRUE){ histograms->AddHistogram("MC_Eta_Rapid" ,"" , nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
a19c3402 |
669 | if(plotMCEtaPhi == kTRUE){ histograms->AddHistogram("MC_Eta_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
670 | if(plotMCEtaPt == kTRUE){ histograms->AddHistogram("MC_Eta_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
671 | if(plotMCEtaEnergy == kTRUE){ histograms->AddHistogram("MC_Eta_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
672 | if(plotMCEtaMass == kTRUE){ histograms->AddHistogram("MC_Eta_Mass" ,"" , nXBinsEtaMass, firstXBinEtaMass, lastXBinEtaMass, "", "");} |
673 | if(plotMCEtaOpeningAngleGamma == kTRUE){ histograms->AddHistogram("MC_Eta_GammaDaughter_OpeningAngle" ,"" , nXBinsOpeningAngle, firstXBinOpeningAngle, lastXBinOpeningAngle, "", "");} |
674 | if(plotMCEtaR == kTRUE){ histograms->AddHistogram("MC_Eta_R" ,"" , nXBinsR, firstXBinR, lastXBinR, "", "");} |
675 | if(plotMCEtaZR == kTRUE){ histograms->AddHistogram("MC_Eta_ZR" ,"" , nXBinsZR, firstXBinZR, lastXBinZR, nYBinsZR, firstYBinZR, lastYBinZR, "", "");} |
676 | if(plotMCEtaXY == kTRUE){ histograms->AddHistogram("MC_Eta_XY" ,"" , nXBinsXY, firstXBinXY, lastXBinXY, nYBinsXY, firstYBinXY, lastYBinXY, "", "");} |
32a6d407 |
677 | if(plotMCEtaPtvsEtaWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Eta_Pt_Eta_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
678 | if(plotMCEtaPtvsRapidWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Eta_Pt_Rapid_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
679 | if(plotMCEtaPtvsEtaConvGammaWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Eta_Pt_Eta_ConvGamma_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
680 | if(plotMCEtaPtvsRapidConvGammaWithinAcceptance == kTRUE){ histograms->AddHistogram("MC_Eta_Pt_Rapid_ConvGamma_withinAcceptance" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
681 | |
682 | |
683 | // Histograms from esd tracks |
a19c3402 |
684 | if(plotESDEEnergy == kTRUE){ histograms->AddHistogram("ESD_E_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
685 | if(plotESDEPt == kTRUE){ histograms->AddHistogram("ESD_E_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
686 | if(plotESDEEta == kTRUE){ histograms->AddHistogram("ESD_E_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
687 | if(plotESDEPhi == kTRUE){ histograms->AddHistogram("ESD_E_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
32a6d407 |
688 | |
a19c3402 |
689 | if(plotESDPEnergy == kTRUE){ histograms->AddHistogram("ESD_P_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
690 | if(plotESDPPt == kTRUE){ histograms->AddHistogram("ESD_P_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
691 | if(plotESDPEta == kTRUE){ histograms->AddHistogram("ESD_P_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
692 | if(plotESDPPhi == kTRUE){ histograms->AddHistogram("ESD_P_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
32a6d407 |
693 | |
694 | if(plotESDConvGammaEnergy == kTRUE){ histograms->AddHistogram("ESD_ConvGamma_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
695 | if(plotESDConvGammaPt == kTRUE){ histograms->AddHistogram("ESD_ConvGamma_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
696 | if(plotESDConvGammaEta == kTRUE){ histograms->AddHistogram("ESD_ConvGamma_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
697 | if(plotESDConvGammaPhi == kTRUE){ histograms->AddHistogram("ESD_ConvGamma_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
698 | if(plotESDConvGammaMass == kTRUE){ histograms->AddHistogram("ESD_ConvGamma_Mass" ,"" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass, "", "");} |
699 | if(plotESDConvGammaWidth == kTRUE){ histograms->AddHistogram("ESD_ConvGamma_Width" ,"" , nXBinsGammaWidth, firstXBinGammaWidth, lastXBinGammaWidth, "", "");} |
700 | if(plotESDConvGammaChi2 == kTRUE){ histograms->AddHistogram("ESD_ConvGamma_Chi2" ,"" , nXBinsGammaChi2, firstXBinGammaChi2, lastXBinGammaChi2, "", "");} |
701 | if(plotESDConvGammaNDF == kTRUE){ histograms->AddHistogram("ESD_ConvGamma_NDF" ,"" , nXBinsGammaNDF, firstXBinGammaNDF, lastXBinGammaNDF, "", "");} |
702 | if(plotESDConvGammaRapid == kTRUE){ histograms->AddHistogram("ESD_ConvGamma_Rapid" ,"" , nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
703 | if(plotESDConvGammaPtvsEta == kTRUE){ histograms->AddHistogram("ESD_ConvGamma_Pt_Eta","", nXBinsPt, firstXBinPt, lastXBinPt,nXBinsEta, firstXBinEta, lastXBinEta,"","" );} |
704 | |
705 | if(plotESDConversionR == kTRUE){ histograms->AddHistogram("ESD_Conversion_R" ,"" , nXBinsR, firstXBinR, lastXBinR, "", "");} |
706 | if(plotESDConversionZR == kTRUE){ histograms->AddHistogram("ESD_Conversion_ZR" ,"" , nXBinsZR, firstXBinZR, lastXBinZR, nYBinsZR, firstYBinZR, lastYBinZR, "", "");} |
707 | if(plotESDConversionXY == kTRUE){ histograms->AddHistogram("ESD_Conversion_XY" ,"" , nXBinsXY, firstXBinXY, lastXBinXY, nYBinsXY, firstYBinXY, lastYBinXY, "", "");} |
708 | if(plotESDConversionOpeningAngle == kTRUE){ histograms->AddHistogram("ESD_Conversion_OpeningAngle" ,"" , nXBinsOpeningAngle, firstXBinOpeningAngle, lastXBinOpeningAngle, "", "");} |
709 | |
710 | |
711 | if(plotESDTrueConvGammaEnergy == kTRUE){ histograms->AddHistogram("ESD_TrueConvGamma_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
712 | if(plotESDTrueConvGammaPt == kTRUE){ histograms->AddHistogram("ESD_TrueConvGamma_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
713 | if(plotESDTrueConvGammaEta == kTRUE){ histograms->AddHistogram("ESD_TrueConvGamma_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
714 | if(plotESDTrueConvGammaPhi == kTRUE){ histograms->AddHistogram("ESD_TrueConvGamma_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
715 | if(plotESDTrueConvGammaMass == kTRUE){ histograms->AddHistogram("ESD_TrueConvGamma_Mass" ,"" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass, "", "");} |
716 | if(plotESDTrueConvGammaWidth == kTRUE){ histograms->AddHistogram("ESD_TrueConvGamma_Width" ,"" , nXBinsGammaWidth, firstXBinGammaWidth, lastXBinGammaWidth, "", "");} |
717 | if(plotESDTrueConvGammaChi2 == kTRUE){ histograms->AddHistogram("ESD_TrueConvGamma_Chi2" ,"" , nXBinsGammaChi2, firstXBinGammaChi2, lastXBinGammaChi2, "", "");} |
718 | if(plotESDTrueConvGammaNDF == kTRUE){ histograms->AddHistogram("ESD_TrueConvGamma_NDF" ,"" , nXBinsGammaNDF, firstXBinGammaNDF, lastXBinGammaNDF, "", "");} |
719 | if(plotESDTrueConvGammaRapid == kTRUE){ histograms->AddHistogram("ESD_TrueConvGamma_Rapid" ,"" , nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
720 | if(plotESDTrueConvGammaPtvsEta == kTRUE){ histograms->AddHistogram("ESD_TrueConvGamma_Pt_Eta" ,"" , nXBinsPt, firstXBinPt, lastXBinPt,nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
721 | |
722 | if(plotESDTrueConversionR == kTRUE){ histograms->AddHistogram("ESD_TrueConversion_R" ,"" , nXBinsR, firstXBinR, lastXBinR, "", "");} |
723 | if(plotESDTrueConversionZR == kTRUE){ histograms->AddHistogram("ESD_TrueConversion_ZR" ,"" , nXBinsZR, firstXBinZR, lastXBinZR, nYBinsZR, firstYBinZR, lastYBinZR, "", "");} |
724 | if(plotESDTrueConversionXY == kTRUE){ histograms->AddHistogram("ESD_TrueConversion_XY" ,"" , nXBinsXY, firstXBinXY, lastXBinXY, nYBinsXY, firstYBinXY, lastYBinXY, "", "");} |
725 | if(plotESDTrueConversionOpeningAngle == kTRUE){ histograms->AddHistogram("ESD_TrueConversion_OpeningAngle" ,"" , nXBinsOpeningAngle, firstXBinOpeningAngle, lastXBinOpeningAngle, "", "");} |
726 | |
727 | |
728 | |
729 | if(plotESDNoCutConvGammaEnergy == kTRUE){ histograms->AddHistogram("ESD_NoCutConvGamma_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
730 | if(plotESDNoCutConvGammaPt == kTRUE){ histograms->AddHistogram("ESD_NoCutConvGamma_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
731 | if(plotESDNoCutConvGammaEta == kTRUE){ histograms->AddHistogram("ESD_NoCutConvGamma_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
732 | if(plotESDNoCutConvGammaPhi == kTRUE){ histograms->AddHistogram("ESD_NoCutConvGamma_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
733 | if(plotESDNoCutConvGammaMass == kTRUE){ histograms->AddHistogram("ESD_NoCutConvGamma_Mass" ,"" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass, "", "");} |
734 | if(plotESDNoCutConvGammaWidth == kTRUE){ histograms->AddHistogram("ESD_NoCutConvGamma_Width" ,"" , nXBinsGammaWidth, firstXBinGammaWidth, lastXBinGammaWidth, "", "");} |
735 | if(plotESDNoCutConvGammaChi2 == kTRUE){ histograms->AddHistogram("ESD_NoCutConvGamma_Chi2" ,"" , nXBinsGammaChi2, firstXBinGammaChi2, lastXBinGammaChi2, "", "");} |
736 | if(plotESDNoCutConvGammaNDF == kTRUE){ histograms->AddHistogram("ESD_NoCutConvGamma_NDF" ,"" , nXBinsGammaNDF, firstXBinGammaNDF, lastXBinGammaNDF, "", "");} |
737 | if(plotESDNoCutConvGammaRapid == kTRUE){ histograms->AddHistogram("ESD_NoCutConvGamma_Rapid" ,"" , nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
738 | if(plotESDNoCutConvGammaPtvsEta == kTRUE){ histograms->AddHistogram("ESD_NoCutConvGamma_Pt_Eta" ,"" , nXBinsPt, firstXBinPt, lastXBinPt,nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
739 | |
740 | if(plotESDNoCutConversionR == kTRUE){ histograms->AddHistogram("ESD_NoCutConversion_R" ,"" , nXBinsR, firstXBinR, lastXBinR, "", "");} |
741 | if(plotESDNoCutConversionZR == kTRUE){ histograms->AddHistogram("ESD_NoCutConversion_ZR" ,"" , nXBinsZR, firstXBinZR, lastXBinZR, nYBinsZR, firstYBinZR, lastYBinZR, "", "");} |
742 | if(plotESDNoCutConversionXY == kTRUE){ histograms->AddHistogram("ESD_NoCutConversion_XY" ,"" , nXBinsXY, firstXBinXY, lastXBinXY, nYBinsXY, firstYBinXY, lastYBinXY, "", "");} |
743 | if(plotESDNoCutConversionOpeningAngle == kTRUE){ histograms->AddHistogram("ESD_NoCutConversion_OpeningAngle" ,"" , nXBinsOpeningAngle, firstXBinOpeningAngle, lastXBinOpeningAngle, "", "");} |
744 | |
745 | |
746 | |
747 | |
748 | if(plotESDMotherOpeningAngleGamma == kTRUE){ histograms->AddHistogram("ESD_Mother_GammaDaughter_OpeningAngle" ,"" , nXBinsOpeningAngle, firstXBinOpeningAngle, lastXBinOpeningAngle, "", "");} |
749 | if(plotESDMotherEnergy == kTRUE){ histograms->AddHistogram("ESD_Mother_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
750 | if(plotESDMotherPt == kTRUE){ histograms->AddHistogram("ESD_Mother_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
751 | if(plotESDMotherEta == kTRUE){ histograms->AddHistogram("ESD_Mother_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
752 | if(plotESDMotherPhi == kTRUE){ histograms->AddHistogram("ESD_Mother_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
753 | if(plotESDMotherMass == kTRUE){ histograms->AddHistogram("ESD_Mother_Mass" ,"" , nXBinsPi0Mass, firstXBinPi0Mass, lastXBinPi0Mass, "", "");} |
754 | if(plotESDMotherR == kTRUE){ histograms->AddHistogram("ESD_Mother_R" ,"" , nXBinsR, firstXBinR, lastXBinR, "", "");} |
755 | if(plotESDMotherZR == kTRUE){ histograms->AddHistogram("ESD_Mother_ZR" ,"" , nXBinsZR, firstXBinZR, lastXBinZR, nYBinsZR, firstYBinZR, lastYBinZR, "", "");} |
756 | if(plotESDMotherXY == kTRUE){ histograms->AddHistogram("ESD_Mother_XY" ,"" , nXBinsXY, firstXBinXY, lastXBinXY, nYBinsXY, firstYBinXY, lastYBinXY, "", "");} |
757 | if(plotESDMotherRapid == kTRUE){ histograms->AddHistogram("ESD_Mother_Rapid" ,"" , nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
758 | |
759 | |
a19c3402 |
760 | if(plotESDBackgroundOpeningAngleGamma == kTRUE){ histograms->AddHistogram("ESD_Background_GammaDaughter_OpeningAngle" ,"" , nXBinsOpeningAngle, firstXBinOpeningAngle, lastXBinOpeningAngle, "", "");} |
761 | if(plotESDBackgroundEnergy == kTRUE){ histograms->AddHistogram("ESD_Background_Energy" ,"" , nXBinsEnergy, firstXBinEnergy, lastXBinEnergy, "", "");} |
762 | if(plotESDBackgroundPt == kTRUE){ histograms->AddHistogram("ESD_Background_Pt" ,"" , nXBinsPt, firstXBinPt, lastXBinPt, "", "");} |
763 | if(plotESDBackgroundEta == kTRUE){ histograms->AddHistogram("ESD_Background_Eta" ,"" , nXBinsEta, firstXBinEta, lastXBinEta, "", "");} |
764 | if(plotESDBackgroundPhi == kTRUE){ histograms->AddHistogram("ESD_Background_Phi" ,"" , nXBinsPhi, firstXBinPhi, lastXBinPhi, "", "");} |
765 | if(plotESDBackgroundMass == kTRUE){ histograms->AddHistogram("ESD_Background_Mass" ,"" , nXBinsEtaMass, firstXBinEtaMass, lastXBinEtaMass, "", "");} |
766 | if(plotESDBackgroundR == kTRUE){ histograms->AddHistogram("ESD_Background_R" ,"" , nXBinsR, firstXBinR, lastXBinR, "", "");} |
767 | if(plotESDBackgroundZR == kTRUE){ histograms->AddHistogram("ESD_Background_ZR" ,"" , nXBinsZR, firstXBinZR, lastXBinZR, nYBinsZR, firstYBinZR, lastYBinZR, "", "");} |
768 | if(plotESDBackgroundXY == kTRUE){ histograms->AddHistogram("ESD_Background_XY" ,"" , nXBinsXY, firstXBinXY, lastXBinXY, nYBinsXY, firstYBinXY, lastYBinXY, "", "");} |
32a6d407 |
769 | if(plotESDBackgroundRapid == kTRUE){ histograms->AddHistogram("ESD_Background_Rapid" ,"" , nXBinsRapid, firstXBinRapid, lastXBinRapid, "", "");} |
a19c3402 |
770 | |
32a6d407 |
771 | |
a19c3402 |
772 | if(plotMapping == kTRUE){ |
773 | histograms->InitializeMappingValues(nPhiIndex,nRIndex,nXBinsMapping,minRadius,maxRadius,nYBinsMapping,minPhi,maxPhi); |
774 | histograms->AddMappingHistograms(nPhiIndex,nRIndex,nXBinsMapping,minRadius,maxRadius,nYBinsMapping,minPhi,maxPhi); |
775 | } |
32a6d407 |
776 | |
a19c3402 |
777 | if(plotResolutiondPt == kTRUE){histograms->AddHistogram("Resolution_dPt" ,"" , nXBinsResdPt, firstXBinResdPt, lastXBinResdPt, nYBinsResdPt, firstYBinResdPt, lastYBinResdPt, "", "");} |
778 | if(plotResolutiondR == kTRUE){histograms->AddHistogram("Resolution_dR" ,"" , nXBinsResdR, firstXBinResdR, lastXBinResdR, nYBinsResdR, firstYBinResdR, lastYBinResdR, "", "");} |
779 | if(plotResolutiondZ == kTRUE){histograms->AddHistogram("Resolution_dZ" ,"" , nXBinsResdZ, firstXBinResdZ, lastXBinResdZ, nYBinsResdZ, firstYBinResdZ, lastYBinResdZ, "", "");} |
32a6d407 |
780 | |
a19c3402 |
781 | if(plotResolutiondRdPt == kTRUE){histograms->AddHistogram("Resolution_dR_dPt" ,"" , nXBinsResdRdPt, firstXBinResdRdPt, lastXBinResdRdPt, nYBinsResdRdPt, firstYBinResdRdPt, lastYBinResdRdPt, "", "");} |
32a6d407 |
782 | |
a19c3402 |
783 | if(plotResolutionMCPt == kTRUE){histograms->AddHistogram("Resolution_MC_Pt" ,"" , nXBinsResPt, firstXBinResPt, lastXBinResPt,"","");} |
784 | if(plotResolutionMCR == kTRUE){histograms->AddHistogram("Resolution_MC_R" ,"" , nXBinsResR, firstXBinResR, lastXBinResR,"","");} |
785 | if(plotResolutionMCZ == kTRUE){histograms->AddHistogram("Resolution_MC_Z" ,"" , nXBinsResZ, firstXBinResZ, lastXBinResZ,"","");} |
32a6d407 |
786 | |
a19c3402 |
787 | if(plotResolutionESDPt == kTRUE){histograms->AddHistogram("Resolution_ESD_Pt" ,"" , nXBinsResPt, firstXBinResPt, lastXBinResPt,"","");} |
788 | if(plotResolutionESDR == kTRUE){histograms->AddHistogram("Resolution_ESD_R" ,"" , nXBinsResR, firstXBinResR, lastXBinResR,"","");} |
789 | if(plotResolutionESDZ == kTRUE){histograms->AddHistogram("Resolution_ESD_Z" ,"" , nXBinsResZ, firstXBinResZ, lastXBinResZ,"","");} |
32a6d407 |
790 | |
791 | if(plotESDNumberOfV0s == kTRUE){histograms->AddHistogram("ESD_NumberOfV0s","Number of v0s",100, 0, 100,"","");} |
792 | if(plotESDNumberOfSurvivingV0s == kTRUE){histograms->AddHistogram("ESD_NumberOfSurvivingV0s","Number of surviving v0s",100, 0, 100,"","");} |
793 | |
a19c3402 |
794 | // debug histograms |
32a6d407 |
795 | if(plotESDCutGetOnFly == kTRUE){histograms->AddHistogram("ESD_CutGetOnFly_InvMass" ,"Not GetOnFly" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass,"","");} |
796 | if(plotESDCutNContributors == kTRUE){histograms->AddHistogram("ESD_CutNContributors_InvMass" ,"NContributors <= 0" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass,"","");} |
797 | if(plotESDCutLikeSign == kTRUE){histograms->AddHistogram("ESD_CutLikeSign_InvMass" ,"LikeSign" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass,"","");} |
798 | if(plotESDCutRefit == kTRUE){histograms->AddHistogram("ESD_CutRefit_InvMass" ,"No TPC refit" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass,"","");} |
799 | if(plotESDCutKink == kTRUE){histograms->AddHistogram("ESD_CutKink_InvMass" ,"Kinks" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass,"","");} |
800 | if(plotESDCutPIDProb == kTRUE){histograms->AddHistogram("ESD_CutPIDProb_InvMass" ,"wrong TPC PID" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass,"","");} |
801 | if(plotESDCutR == kTRUE){histograms->AddHistogram("ESD_CutR_InvMass" ,"Above RMax" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass,"","");} |
802 | if(plotESDCutNDF == kTRUE){histograms->AddHistogram("ESD_CutNDF_InvMass" ,"NDF <= 0" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass,"","");} |
803 | if(plotESDCutChi2 == kTRUE){histograms->AddHistogram("ESD_CutChi2_InvMass" ,"#chi^{2} > Max" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass,"","");} |
804 | if(plotESDCutEta == kTRUE){histograms->AddHistogram("ESD_CutEta_InvMass" ,"Above #eta max" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass,"","");} |
805 | if(plotESDCutPt == kTRUE){histograms->AddHistogram("ESD_CutPt_InvMass" ,"Below p_{t} min" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass,"","");} |
806 | if(plotESDCutLine == kTRUE){histograms->AddHistogram("ESD_CutLine_InvMass" ,"Out of reconstruction area" , nXBinsGammaMass, firstXBinGammaMass, lastXBinGammaMass,"","");} |
807 | if(plotESDTrueConvGammaTrackLength == kTRUE){histograms->AddHistogram("ESD_TrueConvGamma_TrackLength","Track length of TrueConvGamma",nXBinsTrackLength,firstXBinTrackLength,lastXBinTrackLength,"","");} |
808 | if(plotESDTrueConvGammaTrackLengthVSInvMass == kTRUE){histograms->AddHistogram("ESD_TrueConvGamma_TrackLengthVSInvMass","Track length of TrueConvGamma vs Inv mass",nXBinsTrackLength,firstXBinTrackLength,lastXBinTrackLength,nXBinsPt, firstXBinPt, lastXBinPt,"","");} |
809 | |
810 | |
811 | if(plotPi0Spectra == kTRUE){ |
812 | histograms->AddHistogram("ESD_Mother_InvMass_vs_Pt" ,"Invariant Mass vs Pt" , nXBinsSpectra, firstXBinSpectra, lastXBinSpectra,nYBinsSpectra, firstYBinSpectra, lastYBinSpectra,"InvMass [GeV]","Pt [GeV]"); |
813 | } |
814 | if(plotPi0Spectra == kTRUE && calculateBackground == kTRUE){ |
815 | histograms->AddHistogram("ESD_Background_InvMass_vs_Pt" ,"Background Invariant Mass vs Pt" , nXBinsSpectra, firstXBinSpectra, lastXBinSpectra,nYBinsSpectra, firstYBinSpectra, lastYBinSpectra,"InvMass [GeV]","Pt [GeV]"); |
816 | } |
817 | |
818 | |
819 | |
a19c3402 |
820 | //------------------------------ end Creating the histograms ----------------------------- |
32a6d407 |
821 | |
a19c3402 |
822 | // Create the Analysis manager |
823 | AliAnalysisManager *mgr = new AliAnalysisManager("My Manager", "My Analysis"); |
32a6d407 |
824 | |
a19c3402 |
825 | // Define Input Event Handler |
826 | AliESDInputHandler* inpHandler = new AliESDInputHandler(); |
32a6d407 |
827 | |
a19c3402 |
828 | // Define Output Event Handler |
829 | AliAODHandler* aodHandler = new AliAODHandler(); |
32a6d407 |
830 | TString fileOutAOD = "AOD_"+ outputFileName + outputFileAppendix + ".root"; |
831 | aodHandler->SetOutputFileName(fileOutAOD); |
832 | // aodHandler->SetOutputFileName("aodAliGammaConversion.root"); |
833 | |
a19c3402 |
834 | // Define MC Truth Event Handler |
835 | AliMCEventHandler* mcHandler = new AliMCEventHandler(); |
32a6d407 |
836 | |
a19c3402 |
837 | // Add Handlers to the Task Manager |
838 | mgr->SetInputEventHandler (inpHandler); |
839 | mgr->SetOutputEventHandler (aodHandler); |
840 | mgr->SetMCtruthEventHandler(mcHandler); |
32a6d407 |
841 | |
a19c3402 |
842 | // Be sure you are told what you are doing |
32a6d407 |
843 | // mgr->SetDebugLevel(10); |
844 | |
a19c3402 |
845 | // Declare Common Input Tchain |
32a6d407 |
846 | AliAnalysisDataContainer *cinput1 = NULL; |
847 | if(usePWG4PartCorr){ |
848 | cinput1 = mgr->CreateContainer("Chain",TChain::Class(),AliAnalysisManager::kInputContainer); |
849 | } |
850 | else{ |
851 | cinput1 = mgr->GetCommonInputContainer(); |
852 | } |
853 | |
a19c3402 |
854 | // Common Output Tree in common â\80\98defaultâ\80\99 output file |
32a6d407 |
855 | AliAnalysisDataContainer *coutput1 = NULL; |
856 | if(usePWG4PartCorr){ |
857 | coutput1 = mgr->CreateContainer("tree",TTree::Class(),AliAnalysisManager::kOutputContainer, "default"); |
858 | } |
859 | else{ |
860 | coutput1 = mgr->GetCommonOutputContainer(); |
861 | } |
862 | |
a19c3402 |
863 | // Private output objects |
32a6d407 |
864 | if(outputFileName.Contains(".root")){ |
865 | outputFileName.ReplaceAll(".root",""); |
866 | } |
867 | if(outputFileAppendix.Contains(".root")){ |
868 | outputFileAppendix.ReplaceAll(".root",""); |
869 | } |
6c3a327c |
870 | TString fileOut = outputFileName + outputFileAppendix + ".root"; |
32a6d407 |
871 | |
6c3a327c |
872 | AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("histogramsAliGammaConversion", TList::Class(),AliAnalysisManager::kOutputContainer, fileOut); |
32a6d407 |
873 | |
874 | |
a19c3402 |
875 | //------------------------ END: Define input/output handlers --------------------------------------------------- |
32a6d407 |
876 | |
877 | |
a19c3402 |
878 | //check for errors in the specified data |
879 | if(useKFParticle == kTRUE && useESDTrack == kTRUE){ |
880 | //Print warning, cannot use both |
881 | } |
882 | if(useKFParticle == kFALSE && useESDTrack == kFALSE){ |
883 | //Print warning, one have to be specified |
884 | } |
32a6d407 |
885 | |
886 | |
a19c3402 |
887 | //Create the V0Reader |
888 | AliV0Reader * v0Reader = new AliV0Reader(); |
889 | if(useKFParticle){ |
890 | v0Reader->UseKFParticle(); |
891 | } |
892 | else if(useESDTrack){ |
893 | v0Reader->UseESDTrack(); |
894 | } |
895 | v0Reader->SetNegativeTrackPID(pidOfNegativeTrack); |
896 | v0Reader->SetPositiveTrackPID(pidOfPositiveTrack); |
897 | v0Reader->SetMaxRCut(maxRCut); |
898 | v0Reader->SetEtaCut(etaCut); |
899 | v0Reader->SetPtCut(ptCut); |
32a6d407 |
900 | v0Reader->SetLineCutZRSlope(LineCutZRSlope); |
901 | v0Reader->SetLineCutZValue(LineCutZValue); |
a19c3402 |
902 | v0Reader->SetChi2CutConversion(chi2CutConversion); |
903 | v0Reader->SetChi2CutMeson(chi2CutMeson); |
904 | v0Reader->SetPIDProbability(probElectron); |
905 | v0Reader->SetXVertexCut(xVertexCut); |
906 | v0Reader->SetYVertexCut(yVertexCut); |
907 | v0Reader->SetZVertexCut(zVertexCut); |
908 | v0Reader->SetSigmaMass(sigmaCutGammaMass); |
909 | v0Reader->SetUseImprovedVertex(useImprovedVertex); |
910 | v0Reader->SetDoMCTruth(doMCTruth); |
32a6d407 |
911 | |
a19c3402 |
912 | // Create the GammaConversionTask |
913 | AliAnalysisTaskGammaConversion *gammaconversion = new AliAnalysisTaskGammaConversion("GammaConversionTask"); |
914 | gammaconversion->SetDebugLevel(10); |
32a6d407 |
915 | |
a19c3402 |
916 | gammaconversion->SetWriteNtuple(writeNtuple); |
32a6d407 |
917 | |
a19c3402 |
918 | gammaconversion->SetV0Reader(v0Reader); |
919 | gammaconversion->SetCalculateBackground(calculateBackground); |
920 | gammaconversion->Init(); |
32a6d407 |
921 | |
a19c3402 |
922 | gammaconversion->SetElectronMass(electronMass); |
923 | gammaconversion->SetGammaMass(gammaMass); |
924 | gammaconversion->SetPi0Mass(pi0Mass); |
925 | gammaconversion->SetEtaMass(etaMass); |
32a6d407 |
926 | |
a19c3402 |
927 | gammaconversion->SetGammaWidth(gammaWidth); |
928 | gammaconversion->SetPi0Width(pi0Width); |
929 | gammaconversion->SetEtaWidth(etaWidth); |
930 | |
32a6d407 |
931 | gammaconversion->SetMinOpeningAngleGhostCut(minOpeningAngleGhostCut); |
932 | |
a19c3402 |
933 | // define the width constraint used by KF particle. |
934 | Double_t gammaWidth = 0.01; |
935 | Double_t pi0Width = 0.01; |
936 | Double_t etaWidth = 0.01; |
32a6d407 |
937 | |
a19c3402 |
938 | gammaconversion->SetHistograms(histograms); |
939 | v0Reader->SetHistograms(histograms);// also give the pointer to the v0reader, for debugging cuts |
32a6d407 |
940 | |
a19c3402 |
941 | gammaconversion->SetDoMCTruth(doMCTruth); |
32a6d407 |
942 | |
943 | |
a19c3402 |
944 | // Add task to the manager |
945 | mgr->AddTask(gammaconversion); |
32a6d407 |
946 | |
a19c3402 |
947 | // Connect I/O to the task |
948 | mgr->ConnectInput (gammaconversion, 0, cinput1); |
949 | mgr->ConnectOutput(gammaconversion, 0, coutput1); |
950 | mgr->ConnectOutput(gammaconversion, 1, coutput2); |
32a6d407 |
951 | |
6c3a327c |
952 | if(dataList.IsNull()){ |
953 | cout<<"Data list is not set, aborting."<<endl; |
954 | return; |
955 | } |
32a6d407 |
956 | |
6c3a327c |
957 | TChain* chain= CreateESDChain(dataList,numberOfFilesToAnalyze); |
32a6d407 |
958 | |
a19c3402 |
959 | mgr->InitAnalysis(); |
32a6d407 |
960 | |
a19c3402 |
961 | mgr->PrintStatus(); |
32a6d407 |
962 | |
a19c3402 |
963 | mgr->StartAnalysis("local",chain); |
964 | } |
965 | |
a19c3402 |
966 | void build() { |
967 | TStopwatch timer; |
968 | timer.Start(); |
969 | gSystem->Load("libTree.so"); |
970 | gSystem->Load("libGeom"); |
971 | // gSystem->Load("libANALYSISalice"); |
32a6d407 |
972 | |
a19c3402 |
973 | //// |
974 | //Setting up ESD.par// |
975 | //// |
976 | cout<<"compiling ESD"<<endl; |
977 | setupPar("ESD"); |
978 | gSystem->Load("libVMC.so"); |
979 | gSystem->Load("libESD.so"); |
32a6d407 |
980 | |
a19c3402 |
981 | //// |
982 | //// |
983 | //Setting up STEERBase.par// |
984 | //// |
985 | cout<<"compiling STEERBase"<<endl; |
986 | setupPar("STEERBase"); |
987 | gSystem->Load("libSTEERBase.so"); |
32a6d407 |
988 | |
a19c3402 |
989 | //// |
990 | //Setting up AOD.par// |
991 | //// |
992 | cout<<"compiling AOD"<<endl; |
993 | setupPar("AOD"); |
994 | gSystem->Load("libAOD.so"); |
32a6d407 |
995 | |
a19c3402 |
996 | //// |
997 | //Setting up ANALYSIS.par// |
998 | //// |
999 | cout<<"compiling ANALYSIS"<<endl; |
1000 | setupPar("ANALYSIS"); |
1001 | gSystem->Load("libANALYSIS.so"); |
32a6d407 |
1002 | |
a19c3402 |
1003 | //// |
1004 | //Setting up ANALYSISalice.par// |
1005 | //// |
1006 | cout<<"compiling ANALUSISalice"<<endl; |
1007 | setupPar("ANALYSISalice"); |
1008 | gSystem->Load("libANALYSISalice.so"); |
32a6d407 |
1009 | |
a19c3402 |
1010 | //// |
1011 | //Setting up PWG4Gamma.par// |
1012 | //// |
1013 | // cout<<"compiling GammaConv"<<endl; |
32a6d407 |
1014 | |
a19c3402 |
1015 | if(usePWG4PartCorr == kTRUE){ |
1016 | cout<<"Using PWG4PartCorr library"<<endl; |
1017 | setupPar("PWG4PartCorr"); |
1018 | gSystem->Load("libPWG4PartCorr.so"); |
1019 | } |
1020 | else{ |
1021 | setupPar("PWG4GammaConv"); |
1022 | gSystem->Load("libPWG4GammaConv.so"); |
1023 | } |
1024 | //if head:: use PWG4PartCorr |
1025 | } |
1026 | |
1027 | Int_t setupPar(const char* pararchivename) { |
1028 | /////////////////// |
1029 | // Setup PAR File// |
1030 | /////////////////// |
1031 | if (pararchivename) { |
1032 | char processline[1024]; |
1033 | sprintf(processline,".! tar xvzf %s.par",pararchivename); |
1034 | gROOT->ProcessLine(processline); |
1035 | const char* ocwd = gSystem->WorkingDirectory(); |
1036 | gSystem->ChangeDirectory(pararchivename); |
32a6d407 |
1037 | |
a19c3402 |
1038 | // check for BUILD.sh and execute |
1039 | if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) { |
1040 | printf("*******************************\n"); |
1041 | printf("*** Building PAR archive ***\n"); |
1042 | printf("*******************************\n"); |
32a6d407 |
1043 | |
a19c3402 |
1044 | if (gSystem->Exec("PROOF-INF/BUILD.sh")) { |
32a6d407 |
1045 | Error("runAnalysis","Cannot Build the PAR Archive! - Abort!"); |
1046 | return -1; |
a19c3402 |
1047 | } |
1048 | } |
1049 | // check for SETUP.C and execute |
1050 | if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) { |
1051 | printf("*******************************\n"); |
1052 | printf("*** Setup PAR archive ***\n"); |
1053 | printf("*******************************\n"); |
1054 | gROOT->Macro("PROOF-INF/SETUP.C"); |
1055 | } |
32a6d407 |
1056 | |
a19c3402 |
1057 | gSystem->ChangeDirectory("../"); |
1058 | } |
1059 | return 1; |
1060 | } |