29 #include "THnSparse.h"
32 #include "AliAnalysisTask.h"
33 #include "AliAnalysisManager.h"
34 #include "AliESDEvent.h"
35 #include "AliESDInputHandler.h"
36 #include "AliMCEventHandler.h"
37 #include "AliMCEvent.h"
38 #include "AliMCParticle.h"
39 #include "AliCentrality.h"
40 #include "AliESDVZERO.h"
41 #include "AliESDpid.h"
43 #include "AliVParticle.h"
44 #include "AliESDtrack.h"
45 #include "AliESDtrackCuts.h"
46 #include "AliKFVertex.h"
47 #include "AliGenCocktailEventHeader.h"
49 #include "AliAODMCParticle.h"
50 #include "AliAODMCHeader.h"
51 #include "AliEventplane.h"
53 #include "AliAODEvent.h"
54 #include "AliAODInputHandler.h"
55 #include "AliESDEvent.h"
56 #include "AliESDInputHandler.h"
57 #include "AliInputEventHandler.h"
67 fV0ReaderName("V0ReaderV1"),
71 fBGClusHandlerRP(NULL),
80 fInvMassShowerShape(NULL),
83 fClusterOutputList(NULL),
84 fOutputContainer(NULL),
86 fGammaCandidates(NULL),
87 fClusterCandidates(NULL),
91 fConversionCuts(NULL),
92 fClusterCutArray(NULL),
93 fCaloPhotonCuts(NULL),
96 fHistoConvGammaPt(NULL),
97 fHistoConvGammaR(NULL),
98 fHistoConvGammaEta(NULL),
99 fTreeConvGammaPtDcazCat(NULL),
105 fCharPhotonMCInfo(0),
106 tESDGammaERM02(NULL),
113 tESDClusterNCells(0),
114 tESDClusterMaxECell(0),
116 tESDInvMassShowerShape(0),
117 tESDIMMesonInvMass(0),
122 tESDIMClusterLeadCellID(0),
123 tESDIMClusterClassification(0),
124 tESDIMClusMatchedTrackPt(0),
125 tESDIMClusTrackDeltaEta(0),
126 tESDIMClusTrackDeltaPhi(0),
127 tESDIMClusterIsoSumClusterEt(0),
128 tESDIMClusterIsoSumTrackEt(0),
129 tESDmapIsClusterAcceptedWithoutTrackMatch(),
130 fHistoMotherInvMassPt(NULL),
131 fHistoMotherMatchedInvMassPt(NULL),
132 fSparseMotherInvMassPtZM(NULL),
133 fHistoMotherBackInvMassPt(NULL),
134 fSparseMotherBackInvMassPtZM(NULL),
135 fHistoMotherInvMassPtAlpha(NULL),
136 fHistoMotherPi0PtY(NULL),
137 fHistoMotherEtaPtY(NULL),
138 fHistoMotherPi0PtAlpha(NULL),
139 fHistoMotherEtaPtAlpha(NULL),
140 fHistoMotherPi0PtOpenAngle(NULL),
141 fHistoMotherEtaPtOpenAngle(NULL),
142 fHistoMotherPi0ConvPhotonEtaPhi(NULL),
143 fHistoMotherEtaConvPhotonEtaPhi(NULL),
144 fHistoMotherInvMassECalib(NULL),
145 fHistoMotherBackInvMassECalib(NULL),
146 fHistoPhotonPairPtconv(NULL),
147 fHistoPhotonPairMixedEventPtconv(NULL),
148 fHistoClusGammaPt(NULL),
149 fHistoClusGammaE(NULL),
150 fHistoClusOverlapHeadersGammaPt(NULL),
151 fHistoClusAllHeadersGammaPt(NULL),
152 fHistoClusRejectedHeadersGammaPt(NULL),
153 fHistoMCHeaders(NULL),
154 fHistoMCAllGammaPt(NULL),
155 fHistoMCAllGammaEMCALAccPt(NULL),
156 fHistoMCAllSecondaryGammaPt(NULL),
157 fHistoMCDecayGammaPi0Pt(NULL),
158 fHistoMCDecayGammaRhoPt(NULL),
159 fHistoMCDecayGammaEtaPt(NULL),
160 fHistoMCDecayGammaOmegaPt(NULL),
161 fHistoMCDecayGammaEtapPt(NULL),
162 fHistoMCDecayGammaPhiPt(NULL),
163 fHistoMCDecayGammaSigmaPt(NULL),
164 fHistoMCConvGammaPt(NULL),
165 fHistoMCSecondaryConvGammaPt(NULL),
166 fHistoMCConvGammaR(NULL),
167 fHistoMCConvGammaEta(NULL),
169 fHistoMCPi0WOWeightPt(NULL),
170 fHistoMCPi0WOEvtWeightPt(NULL),
172 fHistoMCEtaWOWeightPt(NULL),
173 fHistoMCEtaWOEvtWeightPt(NULL),
174 fHistoMCPi0InAccPt(NULL),
175 fHistoMCPi0WOWeightInAccPt(NULL),
176 fHistoMCPi0WOEvtWeightInAccPt(NULL),
177 fHistoMCEtaInAccPt(NULL),
178 fHistoMCEtaWOWeightInAccPt(NULL),
179 fHistoMCEtaWOEvtWeightInAccPt(NULL),
180 fHistoMCPi0PtY(NULL),
181 fHistoMCEtaPtY(NULL),
182 fHistoMCPi0PtAlpha(NULL),
183 fHistoMCEtaPtAlpha(NULL),
184 fHistoMCPrimaryPtvsSource(NULL),
185 fHistoMCSecPi0PtvsSource(NULL),
186 fHistoMCSecPi0Source(NULL),
187 fHistoMCSecPi0InAccPtvsSource(NULL),
188 fHistoMCSecEtaPt(NULL),
189 fHistoMCSecEtaSource(NULL),
190 fHistoMCPi0PtJetPt(NULL),
191 fHistoMCEtaPtJetPt(NULL),
192 fHistoMCPi0PtGammaLeg(NULL),
193 fHistoMCPi0WOWeightPtGammaLeg(NULL),
194 fHistoMCPi0InAccPtGammaLeg(NULL),
195 fHistoMCPi0WOWeightInAccPtGammaLeg(NULL),
196 fHistoMCSecPi0PtGamma1vsSource(NULL),
197 fHistoMCSecPi0InAccPtGamma1vsSource(NULL),
198 fHistoMCSecPi0PtGamma2vsSource(NULL),
199 fHistoMCSecPi0InAccPtGamma2vsSource(NULL),
200 fHistoTruePi0InvMassPt(NULL),
201 fHistoTrueEtaInvMassPt(NULL),
202 fHistoTruePi0MatchedInvMassPt(NULL),
203 fHistoTrueEtaMatchedInvMassPt(NULL),
204 fHistoTruePi0CaloPhotonInvMassPt(NULL),
205 fHistoTrueEtaCaloPhotonInvMassPt(NULL),
206 fHistoTruePi0CaloConvertedPhotonInvMassPt(NULL),
207 fHistoTruePi0CaloConvertedPhotonMatchedInvMassPt(NULL),
208 fHistoTruePi0CaloConvPhotonConvRPt(NULL),
209 fHistoTruePi0CaloConvPhotonConvRAlpha(NULL),
210 fHistoTruePi0CaloConvPhotonPtAlpha(NULL),
211 fHistoTrueEtaCaloConvertedPhotonInvMassPt(NULL),
212 fHistoTrueEtaCaloConvertedPhotonMatchedInvMassPt(NULL),
213 fHistoTrueEtaCaloConvPhotonConvRPt(NULL),
214 fHistoTrueEtaCaloConvPhotonConvRAlpha(NULL),
215 fHistoTrueEtaCaloConvPhotonPtAlpha(NULL),
216 fHistoTruePi0CaloElectronInvMassPt(NULL),
217 fHistoTrueEtaCaloElectronInvMassPt(NULL),
218 fHistoTruePi0CaloMergedClusterInvMassPt(NULL),
219 fHistoTrueEtaCaloMergedClusterInvMassPt(NULL),
220 fHistoTrueMotherCaloEMNonLeadingInvMassPt(NULL),
221 fHistoTruePi0CaloMergedClusterPartConvInvMassPt(NULL),
222 fHistoTrueEtaCaloMergedClusterPartConvInvMassPt(NULL),
223 fHistoTruePrimaryPi0InvMassPt(NULL),
224 fHistoTruePrimaryEtaInvMassPt(NULL),
225 fHistoTruePrimaryPi0W0WeightingInvMassPt(NULL),
226 fHistoTruePrimaryEtaW0WeightingInvMassPt(NULL),
227 fProfileTruePrimaryPi0WeightsInvMassPt(NULL),
228 fProfileTruePrimaryEtaWeightsInvMassPt(NULL),
229 fHistoTruePrimaryPi0MCPtResolPt(NULL),
230 fHistoTruePrimaryEtaMCPtResolPt(NULL),
231 fHistoTrueMotherPi0ConvPhotonEtaPhi(NULL),
232 fHistoTrueMotherEtaConvPhotonEtaPhi(NULL),
233 fHistoTrueSecondaryPi0InvMassPt(NULL),
234 fHistoTrueSecondaryPi0FromK0sInvMassPt(NULL),
235 fHistoTrueK0sWithPi0DaughterMCPt(NULL),
236 fHistoTrueSecondaryPi0FromK0lInvMassPt(NULL),
237 fHistoTrueK0lWithPi0DaughterMCPt(NULL),
238 fHistoTrueSecondaryPi0FromEtaInvMassPt(NULL),
239 fHistoTrueEtaWithPi0DaughterMCPt(NULL),
240 fHistoTrueSecondaryPi0FromLambdaInvMassPt(NULL),
241 fHistoTrueLambdaWithPi0DaughterMCPt(NULL),
242 fHistoTrueBckGGInvMassPt(NULL),
243 fHistoTrueBckFullMesonContainedInOneClusterInvMassPt(NULL),
244 fHistoTrueBckAsymEClustersInvMassPt(NULL),
245 fHistoTrueBckContInvMassPt(NULL),
246 fHistoTruePi0PtY(NULL),
247 fHistoTrueEtaPtY(NULL),
248 fHistoTruePi0PtAlpha(NULL),
249 fHistoTrueEtaPtAlpha(NULL),
250 fHistoTruePi0PtOpenAngle(NULL),
251 fHistoTrueEtaPtOpenAngle(NULL),
252 fHistoTrueConvGammaPt(NULL),
253 fHistoTrueConvGammaEta(NULL),
254 fHistoCombinatorialPt(NULL),
255 fHistoTruePrimaryConvGammaPt(NULL),
256 fHistoTruePrimaryConvGammaESDPtMCPt(NULL),
257 fHistoTrueSecondaryConvGammaPt(NULL),
258 fHistoTrueSecondaryConvGammaMCPt(NULL),
259 fHistoTrueSecondaryConvGammaFromXFromK0sMCPtESDPt(NULL),
260 fHistoTrueSecondaryConvGammaFromXFromK0lMCPtESDPt(NULL),
261 fHistoTrueSecondaryConvGammaFromXFromLambdaMCPtESDPt(NULL),
262 fHistoTrueClusGammaPt(NULL),
263 fHistoTrueClusElectronPt(NULL),
264 fHistoTrueClusConvGammaPt(NULL),
265 fHistoTrueClusConvGammaFullyPt(NULL),
266 fHistoTrueClusMergedGammaPt(NULL),
267 fHistoTrueClusMergedPartConvGammaPt(NULL),
268 fHistoTrueClusDalitzPt(NULL),
269 fHistoTrueClusDalitzMergedPt(NULL),
270 fHistoTrueClusPhotonFromElecMotherPt(NULL),
271 fHistoTrueClusShowerPt(NULL),
272 fHistoTrueClusSubLeadingPt(NULL),
273 fHistoTrueClusNMothers(NULL),
274 fHistoTrueClusEMNonLeadingPt(NULL),
275 fHistoTrueNLabelsInClusPt(NULL),
276 fHistoTruePrimaryClusGammaPt(NULL),
277 fHistoTruePrimaryClusGammaESDPtMCPt(NULL),
278 fHistoTruePrimaryClusConvGammaPt(NULL),
279 fHistoTruePrimaryClusConvGammaESDPtMCPt(NULL),
280 fHistoTrueSecondaryClusGammaPt(NULL),
281 fHistoTrueSecondaryClusGammaFromK0sPt(NULL),
282 fHistoTrueSecondaryClusGammaFromK0lPt(NULL),
283 fHistoTrueSecondaryClusGammaFromLambdaPt(NULL),
284 fHistoTruePrimaryPi0PhotonPairPtconv(NULL),
285 fHistoTruePrimaryPi0W0WeightsPhotonPairPtconv(NULL),
286 fHistoTruePrimaryPi0DCPtconv(NULL),
287 fHistoTruePrimaryPi0MissingPtconv(NULL),
288 fHistoTrueSecondaryPi0PhotonPairPtconv(NULL),
289 fHistoTrueSecondaryPi0FromK0sPhotonPairPtconv(NULL),
290 fHistoTrueSecondaryPi0FromK0lPhotonPairPtconv(NULL),
291 fHistoTrueSecondaryPi0FromLambdaPhotonPairPtconv(NULL),
292 fHistoTrueSecondaryPi0DCPtconvSource(NULL),
293 fHistoTrueSecondaryPi0MissingPtconvSource(NULL),
294 fVectorRecTruePi0s(0),
295 fVectorRecTrueEtas(0),
296 fHistoDoubleCountTruePi0InvMassPt(NULL),
297 fHistoDoubleCountTrueEtaInvMassPt(NULL),
298 fHistoDoubleCountTrueConvGammaRPt(NULL),
299 fHistoDoubleCountTrueClusterGammaPt(NULL),
300 fVectorDoubleCountTruePi0s(0),
301 fVectorDoubleCountTrueEtas(0),
302 fVectorDoubleCountTrueConvGammas(0),
303 fVectorDoubleCountTrueClusterGammas(0),
304 fHistoMultipleCountTruePi0(NULL),
305 fHistoMultipleCountTrueEta(NULL),
306 fHistoMultipleCountTrueConvGamma(NULL),
307 fHistoMultipleCountTrueClusterGamma(NULL),
308 fMapMultipleCountTruePi0s(),
309 fMapMultipleCountTrueEtas(),
310 fMapMultipleCountTrueConvGammas(),
311 fMapMultipleCountTrueClusterGammas(),
312 fHistoTrueClusGammaEM02(NULL),
313 fHistoTrueClusPi0EM02(NULL),
314 fHistoTruePi0InvMassECalib(NULL),
315 fHistoTruePi0PureGammaInvMassECalib(NULL),
317 fHistoNEventsWOWeight(NULL),
318 fHistoNGoodESDTracks(NULL),
322 fHistoNGammaCandidates(NULL),
323 fHistoNGoodESDTracksVsNGammaCandidates(NULL),
324 fHistoSPDClusterTrackletBackground(NULL),
325 fHistoNV0Tracks(NULL),
326 fProfileEtaShift(NULL),
327 fProfileJetJetXSection(NULL),
328 fHistoJetJetNTrials(NULL),
331 fEventPlaneAngle(-100),
333 fNGammaCandidates(0),
344 fMoveParticleAccordingToVertex(kTRUE),
346 fDoLightOutput(kFALSE),
347 fDoMesonAnalysis(kTRUE),
351 fIsFromDesiredHeader(kTRUE),
352 fIsOverlappingWithOtherHeader(kFALSE),
355 fSetPlotHistsExtQA(kFALSE),
357 fDoConvGammaShowerShapeTree(kFALSE),
358 fEnableSortForClusMC(kFALSE),
359 fDoPrimaryTrackMatching(kFALSE),
360 fDoInvMassShowerShapeTree(kFALSE),
362 fFileNameBroken(NULL),
363 fAllowOverlapHeaders(kTRUE)
372 fV0ReaderName(
"V0ReaderV1"),
375 fBGClusHandler(NULL),
376 fBGClusHandlerRP(NULL),
383 fPhotonDCAList(NULL),
385 fInvMassShowerShape(NULL),
388 fClusterOutputList(NULL),
391 fGammaCandidates(NULL),
392 fClusterCandidates(NULL),
393 fEventCutArray(NULL),
396 fConversionCuts(NULL),
397 fClusterCutArray(NULL),
398 fCaloPhotonCuts(NULL),
399 fMesonCutArray(NULL),
401 fHistoConvGammaPt(NULL),
402 fHistoConvGammaR(NULL),
403 fHistoConvGammaEta(NULL),
404 fTreeConvGammaPtDcazCat(NULL),
410 fCharPhotonMCInfo(0),
411 tESDGammaERM02(NULL),
418 tESDClusterNCells(0),
419 tESDClusterMaxECell(0),
421 tESDInvMassShowerShape(0),
422 tESDIMMesonInvMass(0),
427 tESDIMClusterLeadCellID(0),
428 tESDIMClusterClassification(0),
429 tESDIMClusMatchedTrackPt(0),
430 tESDIMClusTrackDeltaEta(0),
431 tESDIMClusTrackDeltaPhi(0),
432 tESDIMClusterIsoSumClusterEt(0),
433 tESDIMClusterIsoSumTrackEt(0),
434 tESDmapIsClusterAcceptedWithoutTrackMatch(),
435 fHistoMotherInvMassPt(NULL),
436 fHistoMotherMatchedInvMassPt(NULL),
437 fSparseMotherInvMassPtZM(NULL),
438 fHistoMotherBackInvMassPt(NULL),
439 fSparseMotherBackInvMassPtZM(NULL),
440 fHistoMotherInvMassPtAlpha(NULL),
441 fHistoMotherPi0PtY(NULL),
442 fHistoMotherEtaPtY(NULL),
443 fHistoMotherPi0PtAlpha(NULL),
444 fHistoMotherEtaPtAlpha(NULL),
445 fHistoMotherPi0PtOpenAngle(NULL),
446 fHistoMotherEtaPtOpenAngle(NULL),
447 fHistoMotherPi0ConvPhotonEtaPhi(NULL),
448 fHistoMotherEtaConvPhotonEtaPhi(NULL),
449 fHistoMotherInvMassECalib(NULL),
450 fHistoMotherBackInvMassECalib(NULL),
451 fHistoPhotonPairPtconv(NULL),
452 fHistoPhotonPairMixedEventPtconv(NULL),
453 fHistoClusGammaPt(NULL),
454 fHistoClusGammaE(NULL),
455 fHistoClusOverlapHeadersGammaPt(NULL),
456 fHistoClusAllHeadersGammaPt(NULL),
457 fHistoClusRejectedHeadersGammaPt(NULL),
458 fHistoMCHeaders(NULL),
459 fHistoMCAllGammaPt(NULL),
460 fHistoMCAllGammaEMCALAccPt(NULL),
461 fHistoMCAllSecondaryGammaPt(NULL),
462 fHistoMCDecayGammaPi0Pt(NULL),
463 fHistoMCDecayGammaRhoPt(NULL),
464 fHistoMCDecayGammaEtaPt(NULL),
465 fHistoMCDecayGammaOmegaPt(NULL),
466 fHistoMCDecayGammaEtapPt(NULL),
467 fHistoMCDecayGammaPhiPt(NULL),
468 fHistoMCDecayGammaSigmaPt(NULL),
469 fHistoMCConvGammaPt(NULL),
470 fHistoMCSecondaryConvGammaPt(NULL),
471 fHistoMCConvGammaR(NULL),
472 fHistoMCConvGammaEta(NULL),
474 fHistoMCPi0WOWeightPt(NULL),
475 fHistoMCPi0WOEvtWeightPt(NULL),
477 fHistoMCEtaWOWeightPt(NULL),
478 fHistoMCEtaWOEvtWeightPt(NULL),
479 fHistoMCPi0InAccPt(NULL),
480 fHistoMCPi0WOWeightInAccPt(NULL),
481 fHistoMCPi0WOEvtWeightInAccPt(NULL),
482 fHistoMCEtaInAccPt(NULL),
483 fHistoMCEtaWOWeightInAccPt(NULL),
484 fHistoMCEtaWOEvtWeightInAccPt(NULL),
485 fHistoMCPi0PtY(NULL),
486 fHistoMCEtaPtY(NULL),
487 fHistoMCPi0PtAlpha(NULL),
488 fHistoMCEtaPtAlpha(NULL),
489 fHistoMCPrimaryPtvsSource(NULL),
490 fHistoMCSecPi0PtvsSource(NULL),
491 fHistoMCSecPi0Source(NULL),
492 fHistoMCSecPi0InAccPtvsSource(NULL),
493 fHistoMCSecEtaPt(NULL),
494 fHistoMCSecEtaSource(NULL),
495 fHistoMCPi0PtJetPt(NULL),
496 fHistoMCEtaPtJetPt(NULL),
497 fHistoMCPi0PtGammaLeg(NULL),
498 fHistoMCPi0WOWeightPtGammaLeg(NULL),
499 fHistoMCPi0InAccPtGammaLeg(NULL),
500 fHistoMCPi0WOWeightInAccPtGammaLeg(NULL),
501 fHistoMCSecPi0PtGamma1vsSource(NULL),
502 fHistoMCSecPi0InAccPtGamma1vsSource(NULL),
503 fHistoMCSecPi0PtGamma2vsSource(NULL),
504 fHistoMCSecPi0InAccPtGamma2vsSource(NULL),
505 fHistoTruePi0InvMassPt(NULL),
506 fHistoTrueEtaInvMassPt(NULL),
507 fHistoTruePi0MatchedInvMassPt(NULL),
508 fHistoTrueEtaMatchedInvMassPt(NULL),
509 fHistoTruePi0CaloPhotonInvMassPt(NULL),
510 fHistoTrueEtaCaloPhotonInvMassPt(NULL),
511 fHistoTruePi0CaloConvertedPhotonInvMassPt(NULL),
512 fHistoTruePi0CaloConvertedPhotonMatchedInvMassPt(NULL),
513 fHistoTruePi0CaloConvPhotonConvRPt(NULL),
514 fHistoTruePi0CaloConvPhotonConvRAlpha(NULL),
515 fHistoTruePi0CaloConvPhotonPtAlpha(NULL),
516 fHistoTrueEtaCaloConvertedPhotonInvMassPt(NULL),
517 fHistoTrueEtaCaloConvertedPhotonMatchedInvMassPt(NULL),
518 fHistoTrueEtaCaloConvPhotonConvRPt(NULL),
519 fHistoTrueEtaCaloConvPhotonConvRAlpha(NULL),
520 fHistoTrueEtaCaloConvPhotonPtAlpha(NULL),
521 fHistoTruePi0CaloElectronInvMassPt(NULL),
522 fHistoTrueEtaCaloElectronInvMassPt(NULL),
523 fHistoTruePi0CaloMergedClusterInvMassPt(NULL),
524 fHistoTrueEtaCaloMergedClusterInvMassPt(NULL),
525 fHistoTrueMotherCaloEMNonLeadingInvMassPt(NULL),
526 fHistoTruePi0CaloMergedClusterPartConvInvMassPt(NULL),
527 fHistoTrueEtaCaloMergedClusterPartConvInvMassPt(NULL),
528 fHistoTruePrimaryPi0InvMassPt(NULL),
529 fHistoTruePrimaryEtaInvMassPt(NULL),
530 fHistoTruePrimaryPi0W0WeightingInvMassPt(NULL),
531 fHistoTruePrimaryEtaW0WeightingInvMassPt(NULL),
532 fProfileTruePrimaryPi0WeightsInvMassPt(NULL),
533 fProfileTruePrimaryEtaWeightsInvMassPt(NULL),
534 fHistoTruePrimaryPi0MCPtResolPt(NULL),
535 fHistoTruePrimaryEtaMCPtResolPt(NULL),
536 fHistoTrueMotherPi0ConvPhotonEtaPhi(NULL),
537 fHistoTrueMotherEtaConvPhotonEtaPhi(NULL),
538 fHistoTrueSecondaryPi0InvMassPt(NULL),
539 fHistoTrueSecondaryPi0FromK0sInvMassPt(NULL),
540 fHistoTrueK0sWithPi0DaughterMCPt(NULL),
541 fHistoTrueSecondaryPi0FromK0lInvMassPt(NULL),
542 fHistoTrueK0lWithPi0DaughterMCPt(NULL),
543 fHistoTrueSecondaryPi0FromEtaInvMassPt(NULL),
544 fHistoTrueEtaWithPi0DaughterMCPt(NULL),
545 fHistoTrueSecondaryPi0FromLambdaInvMassPt(NULL),
546 fHistoTrueLambdaWithPi0DaughterMCPt(NULL),
547 fHistoTrueBckGGInvMassPt(NULL),
548 fHistoTrueBckFullMesonContainedInOneClusterInvMassPt(NULL),
549 fHistoTrueBckAsymEClustersInvMassPt(NULL),
550 fHistoTrueBckContInvMassPt(NULL),
551 fHistoTruePi0PtY(NULL),
552 fHistoTrueEtaPtY(NULL),
553 fHistoTruePi0PtAlpha(NULL),
554 fHistoTrueEtaPtAlpha(NULL),
555 fHistoTruePi0PtOpenAngle(NULL),
556 fHistoTrueEtaPtOpenAngle(NULL),
557 fHistoTrueConvGammaPt(NULL),
558 fHistoTrueConvGammaEta(NULL),
559 fHistoCombinatorialPt(NULL),
560 fHistoTruePrimaryConvGammaPt(NULL),
561 fHistoTruePrimaryConvGammaESDPtMCPt(NULL),
562 fHistoTrueSecondaryConvGammaPt(NULL),
563 fHistoTrueSecondaryConvGammaMCPt(NULL),
564 fHistoTrueSecondaryConvGammaFromXFromK0sMCPtESDPt(NULL),
565 fHistoTrueSecondaryConvGammaFromXFromK0lMCPtESDPt(NULL),
566 fHistoTrueSecondaryConvGammaFromXFromLambdaMCPtESDPt(NULL),
567 fHistoTrueClusGammaPt(NULL),
568 fHistoTrueClusElectronPt(NULL),
569 fHistoTrueClusConvGammaPt(NULL),
570 fHistoTrueClusConvGammaFullyPt(NULL),
571 fHistoTrueClusMergedGammaPt(NULL),
572 fHistoTrueClusMergedPartConvGammaPt(NULL),
573 fHistoTrueClusDalitzPt(NULL),
574 fHistoTrueClusDalitzMergedPt(NULL),
575 fHistoTrueClusPhotonFromElecMotherPt(NULL),
576 fHistoTrueClusShowerPt(NULL),
577 fHistoTrueClusSubLeadingPt(NULL),
578 fHistoTrueClusNMothers(NULL),
579 fHistoTrueClusEMNonLeadingPt(NULL),
580 fHistoTrueNLabelsInClusPt(NULL),
581 fHistoTruePrimaryClusGammaPt(NULL),
582 fHistoTruePrimaryClusGammaESDPtMCPt(NULL),
583 fHistoTruePrimaryClusConvGammaPt(NULL),
584 fHistoTruePrimaryClusConvGammaESDPtMCPt(NULL),
585 fHistoTrueSecondaryClusGammaPt(NULL),
586 fHistoTrueSecondaryClusGammaFromK0sPt(NULL),
587 fHistoTrueSecondaryClusGammaFromK0lPt(NULL),
588 fHistoTrueSecondaryClusGammaFromLambdaPt(NULL),
589 fHistoTruePrimaryPi0PhotonPairPtconv(NULL),
590 fHistoTruePrimaryPi0W0WeightsPhotonPairPtconv(NULL),
591 fHistoTruePrimaryPi0DCPtconv(NULL),
592 fHistoTruePrimaryPi0MissingPtconv(NULL),
593 fHistoTrueSecondaryPi0PhotonPairPtconv(NULL),
594 fHistoTrueSecondaryPi0FromK0sPhotonPairPtconv(NULL),
595 fHistoTrueSecondaryPi0FromK0lPhotonPairPtconv(NULL),
596 fHistoTrueSecondaryPi0FromLambdaPhotonPairPtconv(NULL),
597 fHistoTrueSecondaryPi0DCPtconvSource(NULL),
598 fHistoTrueSecondaryPi0MissingPtconvSource(NULL),
599 fVectorRecTruePi0s(0),
600 fVectorRecTrueEtas(0),
601 fHistoDoubleCountTruePi0InvMassPt(NULL),
602 fHistoDoubleCountTrueEtaInvMassPt(NULL),
603 fHistoDoubleCountTrueConvGammaRPt(NULL),
604 fHistoDoubleCountTrueClusterGammaPt(NULL),
605 fVectorDoubleCountTruePi0s(0),
606 fVectorDoubleCountTrueEtas(0),
607 fVectorDoubleCountTrueConvGammas(0),
608 fVectorDoubleCountTrueClusterGammas(0),
609 fHistoMultipleCountTruePi0(NULL),
610 fHistoMultipleCountTrueEta(NULL),
611 fHistoMultipleCountTrueConvGamma(NULL),
612 fHistoMultipleCountTrueClusterGamma(NULL),
613 fMapMultipleCountTruePi0s(),
614 fMapMultipleCountTrueEtas(),
615 fMapMultipleCountTrueConvGammas(),
616 fMapMultipleCountTrueClusterGammas(),
617 fHistoTrueClusGammaEM02(NULL),
618 fHistoTrueClusPi0EM02(NULL),
619 fHistoTruePi0InvMassECalib(NULL),
620 fHistoTruePi0PureGammaInvMassECalib(NULL),
622 fHistoNEventsWOWeight(NULL),
623 fHistoNGoodESDTracks(NULL),
627 fHistoNGammaCandidates(NULL),
628 fHistoNGoodESDTracksVsNGammaCandidates(NULL),
629 fHistoSPDClusterTrackletBackground(NULL),
630 fHistoNV0Tracks(NULL),
631 fProfileEtaShift(NULL),
632 fProfileJetJetXSection(NULL),
633 fHistoJetJetNTrials(NULL),
636 fEventPlaneAngle(-100),
638 fNGammaCandidates(0),
649 fMoveParticleAccordingToVertex(kTRUE),
651 fDoLightOutput(kFALSE),
652 fDoMesonAnalysis(kTRUE),
656 fIsFromDesiredHeader(kTRUE),
657 fIsOverlappingWithOtherHeader(kFALSE),
660 fSetPlotHistsExtQA(kFALSE),
662 fDoConvGammaShowerShapeTree(kFALSE),
663 fEnableSortForClusMC(kFALSE),
664 fDoPrimaryTrackMatching(kFALSE),
665 fDoInvMassShowerShapeTree(kFALSE),
667 fFileNameBroken(NULL),
668 fAllowOverlapHeaders(kTRUE)
671 DefineOutput(1, TList::Class());
704 const Int_t nDim = 4;
705 Int_t nBins[nDim] = {800,300,7,4};
731 if(collisionSystem == 1 || collisionSystem == 2 ||
732 collisionSystem == 5 || collisionSystem == 8 ||
733 collisionSystem == 9){
734 centMin = centMin*10;
735 centMax = centMax*10;
736 if(centMax ==0 && centMax!=centMin) centMax=100;
737 }
else if(collisionSystem == 3 || collisionSystem == 6){
740 }
else if(collisionSystem == 4 || collisionSystem == 7){
741 centMin = ((centMin*5)+45);
742 centMax = ((centMax*5)+45);
747 fBackList[iCut]->SetName(Form(
"%s_%s_%s_%s Back histograms",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(), cutstringMeson.Data()));
755 fMotherList[iCut]->SetName(Form(
"%s_%s_%s_%s Mother histograms",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
759 fSparseMotherInvMassPtZM[iCut] =
new THnSparseF(
"Back_Mother_InvMass_Pt_z_m",
"Back_Mother_InvMass_Pt_z_m",nDim,nBins,xMin,xMax);
765 collisionSystem,centMin,centMax,
770 collisionSystem,centMin,centMax,
793 if(!
fV0Reader){printf(
"Error: No V0 Reader");
return;}
799 }
else if (
fIsMC == 3){
901 Int_t nBinsQAPt = 200;
904 Int_t nBinsClusterPt = 500;
914 nBinsClusterPt = 800;
924 nBinsClusterPt = 800;
936 nBinsClusterPt = 1000;
945 TString cutstringMeson =
"NoMesonCut";
950 fCutFolder[iCut]->SetName(Form(
"Cut Number %s_%s_%s_%s",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
954 fESDList[iCut]->SetName(Form(
"%s_%s_%s_%s ESD histograms",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
958 fHistoNEvents[iCut] =
new TH1F(
"NEvents",
"NEvents",14,-0.5,13.5);
960 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(2,
"Centrality");
961 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(3,
"Miss. MC or inc. ev.");
963 TString TriggerNames =
"Not Trigger: ";
965 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(4,TriggerNames.Data());
970 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(6,
"Cont. Vertex");
974 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(10,
"EMCAL problem");
975 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(11,
"rejectedForJetJetMC");
976 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(12,
"SPD hits vs tracklet");
977 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(13,
"Out-of-Bunch pileup Past-Future");
978 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(14,
"Pileup V0M-TPCout Tracks");
987 TString TriggerNames =
"Not Trigger: ";
1023 fHistoVertexZ[iCut] =
new TH1F(
"VertexZ",
"VertexZ",1000,-50,50);
1026 fHistoVertexX[iCut] =
new TH1F(
"VertexX",
"VertexX",200,-5,5);
1028 fHistoVertexY[iCut] =
new TH1F(
"VertexY",
"VertexY",200,-5,5);
1056 fHistoNV0Tracks[iCut] =
new TH1F(
"V0 Multiplicity",
"V0 Multiplicity",30000,0,30000);
1058 fHistoNV0Tracks[iCut] =
new TH1F(
"V0 Multiplicity",
"V0 Multiplicity",2500,0,2500);
1060 fHistoNV0Tracks[iCut] =
new TH1F(
"V0 Multiplicity",
"V0 Multiplicity",1500,0,1500);
1064 fHistoConvGammaPt[iCut] =
new TH1F(
"ESD_ConvGamma_Pt",
"ESD_ConvGamma_Pt",nBinsPt, minPt, maxPt);
1070 fProfileEtaShift[iCut] =
new TProfile(
"Eta Shift",
"Eta Shift",1, -0.5,0.5);
1091 fPhotonDCAList[iCut]->SetName(Form(
"%s_%s_%s_%s Photon DCA tree",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1109 fHistoConvGammaR[iCut] =
new TH1F(
"ESD_ConvGamma_R",
"ESD_ConvGamma_R",800,0,200);
1112 fHistoConvGammaEta[iCut] =
new TH1F(
"ESD_ConvGamma_Eta",
"ESD_ConvGamma_Eta",2000,-2,2);
1118 fClusterOutputList[iCut]->SetName(Form(
"%s_%s_%s_%s Cluster Output",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1122 fHistoClusGammaPt[iCut] =
new TH1F(
"ClusGamma_Pt",
"ClusGamma_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
1125 fHistoClusGammaE[iCut] =
new TH1F(
"ClusGamma_E",
"ClusGamma_E",nBinsClusterPt, minClusterPt, maxClusterPt);
1128 fHistoClusOverlapHeadersGammaPt[iCut] =
new TH1F(
"ClusGammaOverlapHeaders_Pt",
"ClusGammaOverlapHeaders_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
1131 fHistoClusAllHeadersGammaPt[iCut] =
new TH1F(
"ClusGammaAllHeaders_Pt",
"ClusGammaAllHeaders_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
1140 fGammaERM02[iCut]->SetName(Form(
"%s_%s_%s_%s ConvGamma-Cluster Matched",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1144 tESDGammaERM02[iCut] =
new TTree(
"ESD_ConvGamma_E_ConvR_M02_M20",
"ESD_ConvGamma_E_ConvR_M02_M20");
1159 fInvMassShowerShape[iCut]->SetName(Form(
"%s_%s_%s_%s InvMass_ShowerShape",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1162 tESDInvMassShowerShape[iCut] =
new TTree(
"ESD_Meson_InvMass_Pt_ClusE_ClusM02_ClusM20",
"ESD_Meson_InvMass_Pt_ClusE_ClusM02_ClusM20");
1187 fHistoMotherInvMassPt[iCut] =
new TH2F(
"ESD_Mother_InvMass_Pt",
"ESD_Mother_InvMass_Pt",800,0,0.8,nBinsPt, minPt, maxPt);
1250 fHistoMotherPi0PtY[iCut] =
new TH2F(
"ESD_MotherPi0_Pt_Y",
"ESD_MotherPi0_Pt_Y",nBinsQAPt, minQAPt, maxQAPt,150,-1.5,1.5);
1255 fHistoMotherEtaPtY[iCut] =
new TH2F(
"ESD_MotherEta_Pt_Y",
"ESD_MotherEta_Pt_Y",nBinsQAPt, minQAPt, maxQAPt,150,-1.5,1.5);
1260 fHistoMotherPi0PtAlpha[iCut] =
new TH2F(
"ESD_MotherPi0_Pt_Alpha",
"ESD_MotherPi0_Pt_Alpha",nBinsQAPt, minQAPt, maxQAPt,200,-1,1);
1265 fHistoMotherEtaPtAlpha[iCut] =
new TH2F(
"ESD_MotherEta_Pt_Alpha",
"ESD_MotherEta_Pt_Alpha",nBinsQAPt, minQAPt, maxQAPt,200,-1,1);
1275 fHistoMotherEtaPtOpenAngle[iCut] =
new TH2F(
"ESD_MotherEta_Pt_OpenAngle",
"ESD_MotherEta_Pt_OpenAngle",nBinsQAPt, minQAPt, maxQAPt,200,0,TMath::Pi());
1511 TString cutstringMeson =
"NoMesonCut";
1516 fMCList[iCut]->SetName(Form(
"%s_%s_%s_%s MC histograms",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1517 fMCList[iCut]->SetOwner(kTRUE);
1522 fHistoMCAllGammaPt[iCut] =
new TH1F(
"MC_AllGamma_Pt",
"MC_AllGamma_Pt",nBinsPt, minPt, maxPt);
1547 fHistoMCConvGammaPt[iCut] =
new TH1F(
"MC_ConvGamma_Pt",
"MC_ConvGamma_Pt",nBinsPt, minPt, maxPt);
1580 fHistoMCPi0Pt[iCut] =
new TH1F(
"MC_Pi0_Pt",
"MC_Pi0_Pt",nBinsPt, minPt, maxPt);
1583 fHistoMCPi0WOWeightPt[iCut] =
new TH1F(
"MC_Pi0_WOWeights_Pt",
"MC_Pi0_WOWeights_Pt",nBinsPt, minPt, maxPt);
1586 fHistoMCEtaPt[iCut] =
new TH1F(
"MC_Eta_Pt",
"MC_Eta_Pt",nBinsPt, minPt, maxPt);
1589 fHistoMCEtaWOWeightPt[iCut] =
new TH1F(
"MC_Eta_WOWeights_Pt",
"MC_Eta_WOWeights_Pt",nBinsPt, minPt, maxPt);
1592 fHistoMCPi0InAccPt[iCut] =
new TH1F(
"MC_Pi0InAcc_Pt",
"MC_Pi0InAcc_Pt",nBinsPt, minPt, maxPt);
1597 fHistoMCEtaInAccPt[iCut] =
new TH1F(
"MC_EtaInAcc_Pt",
"MC_EtaInAcc_Pt",nBinsPt, minPt, maxPt);
1608 fHistoMCPi0WOEvtWeightPt[iCut] =
new TH1F(
"MC_Pi0_WOEventWeights_Pt",
"MC_Pi0_WOEventWeights_Pt",nBinsPt, minPt, maxPt);
1610 fHistoMCEtaWOEvtWeightPt[iCut] =
new TH1F(
"MC_Eta_WOEventWeights_Pt",
"MC_Eta_WOEventWeights_Pt",nBinsPt, minPt, maxPt);
1618 fHistoMCPi0PtJetPt[iCut] =
new TH2F(
"MC_Pi0_Pt_JetPt",
"MC_Pi0_Pt_JetPt",nBinsQAPt, minQAPt, maxQAPt,200,0,200);
1622 fHistoMCEtaPtJetPt[iCut] =
new TH2F(
"MC_Eta_Pt_JetPt",
"MC_Eta_Pt_JetPt",nBinsQAPt, minQAPt, maxQAPt,200,0,200);
1646 fHistoMCSecEtaPt[iCut] =
new TH1F(
"MC_SecEta_Pt",
"MC_SecEta_Pt",nBinsPt, minPt, maxPt);
1691 fHistoMCPi0PtY[iCut] =
new TH2F(
"MC_Pi0_Pt_Y",
"MC_Pi0_Pt_Y",nBinsQAPt, minQAPt, maxQAPt,150,-1.5,1.5);
1695 fHistoMCEtaPtY[iCut] =
new TH2F(
"MC_Eta_Pt_Y",
"MC_Eta_Pt_Y",nBinsQAPt, minQAPt, maxQAPt,150,-1.5,1.5);
1699 fHistoMCPi0PtAlpha[iCut] =
new TH2F(
"MC_Pi0_Pt_Alpha",
"MC_Pi0_Pt_Alpha",nBinsQAPt, minQAPt, maxQAPt,200,-1,1);
1702 fHistoMCEtaPtAlpha[iCut] =
new TH2F(
"MC_Eta_Pt_Alpha",
"MC_Eta_Pt_Alpha",nBinsQAPt, minQAPt, maxQAPt,200,-1,1);
1714 fTrueList[iCut]->SetName(Form(
"%s_%s_%s_%s True histograms",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1719 fHistoTrueConvGammaPt[iCut] =
new TH1F(
"ESD_TrueConvGamma_Pt",
"ESD_TrueConvGamma_Pt",nBinsPt, minPt, maxPt);
1727 fHistoCombinatorialPt[iCut] =
new TH2F(
"ESD_TrueCombinatorial_Pt",
"ESD_TrueCombinatorial_Pt",nBinsPt, minPt, maxPt,16,-0.5,15.5);
1772 fHistoTrueClusGammaPt[iCut] =
new TH1F(
"TrueClusGamma_Pt",
"ESD_TrueClusGamma_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
1775 fHistoTruePrimaryClusGammaPt[iCut] =
new TH1F(
"TruePrimaryClusGamma_Pt",
"ESD_TruePrimaryClusGamma_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
1777 fHistoTruePrimaryClusGammaESDPtMCPt[iCut] =
new TH2F(
"TruePrimaryClusGamma_Pt_MCPt",
"ESD_TruePrimaryClusGamma_Pt_MCPt",nBinsClusterPt, minClusterPt, maxClusterPt, nBinsClusterPt, minClusterPt, maxClusterPt);
1779 fHistoTrueClusElectronPt[iCut] =
new TH1F(
"TrueClusElectron_Pt",
"TrueElectronGamma_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
1781 fHistoTrueClusConvGammaPt[iCut] =
new TH1F(
"TrueClusConvGamma_Pt",
"TrueClusConvGamma_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
1783 fHistoTruePrimaryClusConvGammaPt[iCut] =
new TH1F(
"TruePrimaryClusConvGamma_Pt",
"ESD_TruePrimaryClusConvGamma_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
1785 fHistoTruePrimaryClusConvGammaESDPtMCPt[iCut] =
new TH2F(
"TruePrimaryClusConvGamma_Pt_MCPt",
"ESD_TruePrimaryClusConvGamma_Pt_MCPt",nBinsClusterPt, minClusterPt, maxClusterPt, nBinsClusterPt, minClusterPt, maxClusterPt);
1788 fHistoTrueSecondaryClusGammaPt[iCut] =
new TH1F(
"TrueSecondaryClusGamma_Pt",
"ESD_TrueSecondaryClusGamma_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
1803 fHistoTrueNLabelsInClusPt[iCut] =
new TH2F(
"TrueNLabelsInClus_Pt",
"TrueNLabelsInClus_Pt",100,-0.5,99.5,nBinsClusterPt, minClusterPt, maxClusterPt);
1805 fHistoTrueClusGammaEM02[iCut] =
new TH2F(
"TrueClusGammaEM02",
"TrueClusGammaEM02",nBinsClusterPt, minClusterPt, maxClusterPt,400,0,5);
1807 fHistoTrueClusPi0EM02[iCut] =
new TH2F(
"TrueClusPi0EM02",
"TrueClusPi0EM02",nBinsClusterPt, minClusterPt, maxClusterPt,400,0,5);
1809 fHistoTrueClusEMNonLeadingPt[iCut] =
new TH1F(
"TrueClusEMNonLeading_Pt",
"TrueClusEMNonLeading_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
1871 fHistoTrueClusConvGammaFullyPt[iCut] =
new TH1F(
"TrueClusConvGammaFullyContained_Pt",
"TrueClusConvGammaFullyContained_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
1873 fHistoTrueClusMergedGammaPt[iCut] =
new TH1F(
"TrueClusMergedGamma_Pt",
"TrueClusMergedGamma_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
1877 fHistoTrueClusDalitzPt[iCut] =
new TH1F(
"TrueClusDalitz_Pt",
"TrueClusDalitz_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
1879 fHistoTrueClusDalitzMergedPt[iCut] =
new TH1F(
"TrueClusDalitzMerged_Pt",
"TrueClusDalitzMerged_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
1883 fHistoTrueClusShowerPt[iCut] =
new TH1F(
"TrueClusShower_Pt",
"TrueClusShower_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
1885 fHistoTrueClusSubLeadingPt[iCut] =
new TH1F(
"TrueClusSubleading_Pt",
"TrueClusSubleading_Pt",nBinsClusterPt, minClusterPt, maxClusterPt);
2205 fHistoTruePi0PtY[iCut] =
new TH2F(
"ESD_TruePi0_Pt_Y",
"ESD_TruePi0_Pt_Y",nBinsQAPt, minQAPt, maxQAPt,150,-1.5,1.5);
2210 fHistoTrueEtaPtY[iCut] =
new TH2F(
"ESD_TrueEta_Pt_Y",
"ESD_TrueEta_Pt_Y",nBinsQAPt, minQAPt, maxQAPt,150,-1.5,1.5);
2215 fHistoTruePi0PtAlpha[iCut] =
new TH2F(
"ESD_TruePi0_Pt_Alpha",
"ESD_TruePi0_Pt_Alpha",nBinsQAPt, minQAPt, maxQAPt,200,-1,1);
2220 fHistoTrueEtaPtAlpha[iCut] =
new TH2F(
"ESD_TrueEta_Pt_Alpha",
"ESD_TrueEta_Pt_Alpha",nBinsQAPt, minQAPt, maxQAPt,200,-1,1);
2231 fHistoTrueEtaPtOpenAngle[iCut] =
new TH2F(
"ESD_TrueEta_Pt_OpenAngle",
"ESD_TrueEta_Pt_OpenAngle",nBinsQAPt, minQAPt, maxQAPt,200,0,TMath::Pi());
2293 for(
Int_t iMatcherTask = 0; iMatcherTask < 3; iMatcherTask++){
2357 printf(
" Gamma Conversion Task %s :: Eta Shift Manually Set to %f \n\n",
2378 if(
fInputEvent->IsIncompleteDAQ()==kTRUE) eventQuality = 2;
2380 if(eventQuality == 2 || eventQuality == 3){
2407 AliEventplane *EventPlane =
fInputEvent->GetEventplane();
2422 Bool_t isRunningEMCALrelAna = kFALSE;
2431 if((xsection==-1.) || (ntrials==-1.)) AliFatal(Form(
"ERROR: GetXSectionAndNTrials returned invalid xsection/ntrials, periodName from V0Reader: '%s'",
fV0Reader->
GetPeriodName().Data()));
2452 Bool_t triggered = kTRUE;
2454 if(eventNotAccepted!= 0){
2458 if (eventNotAccepted==3 &&
fIsMC > 0){
2465 if(eventQuality != 0){
2472 if (triggered==kTRUE){
2495 else if(
fInputEvent->IsA()==AliAODEvent::Class()){
2504 if (nameBin.CompareTo(
"")== 0){
2506 ->GetAcceptedHeader())->At(i))->GetString();
2507 fHistoMCHeaders[iCut]->GetXaxis()->SetBinLabel(i+1,nameHeader.Data());
2520 if (triggered==kFALSE)
continue;
2616 if(nclus == 0)
return;
2626 InputEvent()->GetPrimaryVertex()->GetXYZ(vertex);
2629 for(
Int_t i = 0; i < nclus; i++){
2630 AliVCluster* clus = NULL;
2631 if(
fInputEvent->IsA()==AliESDEvent::Class()) clus =
new AliESDCaloCluster(*(AliESDCaloCluster*)
fInputEvent->GetCaloCluster(i));
2632 else if(
fInputEvent->IsA()==AliAODEvent::Class()) clus =
new AliAODCaloCluster(*(AliAODCaloCluster*)
fInputEvent->GetCaloCluster(i));
2634 if (!clus)
continue;
2642 TLorentzVector clusterVector;
2643 clus->GetMomentum(clusterVector,vertex);
2645 TLorentzVector* tmpvec =
new TLorentzVector();
2646 tmpvec->SetPxPyPzE(clusterVector.Px(),clusterVector.Py(),clusterVector.Pz(),clusterVector.E());
2650 if(!PhotonCandidate){
delete clus;
delete tmpvec;
continue;}
2659 Int_t* mclabelsCluster = clus->GetLabels();
2662 if (clus->GetNLabels()>0){
2663 for (
Int_t k =0; k<(
Int_t)clus->GetNLabels(); k++){
2679 if (clus->GetNLabels()>1){
2680 Int_t* mclabelsCluster = clus->GetLabels();
2681 for (
Int_t l = 1; l < (
Int_t)clus->GetNLabels(); l++ ){
2706 delete PhotonCandidate;
2719 TParticle *Photon = NULL;
2720 if (!TruePhotonCandidate->
GetIsCaloPhoton()) AliFatal(
"CaloPhotonFlag has not been set task will abort");
2734 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
2735 Double_t mcProdVtxX = primVtxMC->GetX();
2736 Double_t mcProdVtxY = primVtxMC->GetY();
2737 Double_t mcProdVtxZ = primVtxMC->GetZ();
2765 Int_t secondaryClass = -1;
2771 if (secondaryClass > 0 ){
2775 if (secondaryClass == 2)
2778 else if (secondaryClass == 3)
2780 else if (secondaryClass == 5)
2812 if (TruePhotonCandidate->
IsDalitz())
2821 if (TruePhotonCandidate->
IsShower())
2831 Int_t motherLab = Photon->GetMother(0);
2832 if (motherLab > -1){
2839 if ( TMath::Abs(
fMCEvent->Particle(motherLab)->GetPdgCode()) == 111 &&
2847 Int_t grandMotherLab =
fMCEvent->Particle(motherLab)->GetMother(0);
2848 if (grandMotherLab > -1){
2865 AliAODMCParticle *Photon = NULL;
2866 TClonesArray *AODMCTrackArray =
dynamic_cast<TClonesArray*
>(
fInputEvent->FindListObject(AliAODMCParticle::StdBranchName()));
2867 if (AODMCTrackArray){
2868 if (!TruePhotonCandidate->
GetIsCaloPhoton()) AliFatal(
"CaloPhotonFlag has not been set task will abort");
2872 AliInfo(
"AODMCTrackArray could not be loaded");
2884 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
2885 Double_t mcProdVtxX = primVtxMC->GetX();
2886 Double_t mcProdVtxY = primVtxMC->GetY();
2887 Double_t mcProdVtxZ = primVtxMC->GetZ();
2892 if (Photon->GetMother()> -1){
2893 AliAODMCParticle *Mother = (AliAODMCParticle*) AODMCTrackArray->At(Photon->GetMother());
2910 AliAODMCParticle *Mother = (AliAODMCParticle*) AODMCTrackArray->At(Photon->GetMother());
2914 Int_t secondaryClass = -1;
2920 if (secondaryClass > 0 ){
2924 if (secondaryClass == 2)
2927 else if (secondaryClass == 3)
2929 else if (secondaryClass == 5)
2952 if (TruePhotonCandidate->
IsDalitz())
2958 if (TruePhotonCandidate->
IsShower())
2965 Int_t motherLab = Photon->GetMother();
2966 if (motherLab > -1){
2977 Int_t grandMotherLab = ((AliAODMCParticle*) AODMCTrackArray->At(motherLab))->GetMother();
2978 if (grandMotherLab > -1){
3000 if(!PhotonCandidate)
continue;
3030 if (
fIsHeavyIon == 1 && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 12.){
3037 }
else if ( PhotonCandidate->Pt() > 0.299 && PhotonCandidate->Pt() < 16.){
3049 GammaCandidatesStepOne->Add(PhotonCandidate);
3052 GammaCandidatesStepTwo->Add(PhotonCandidate);
3056 for(
Int_t i = 0;i<GammaCandidatesStepOne->GetEntries();i++){
3058 if(!PhotonCandidate)
continue;
3082 if (
fIsHeavyIon ==1 && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 12.){
3089 }
else if ( PhotonCandidate->Pt() > 0.299 && PhotonCandidate->Pt() < 16.){
3098 }
else GammaCandidatesStepTwo->Add(PhotonCandidate);
3102 for(
Int_t i = 0;i<GammaCandidatesStepTwo->GetEntries();i++){
3104 if(!PhotonCandidate)
continue;
3127 if (
fIsHeavyIon == 1 && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 12.){
3134 }
else if ( PhotonCandidate->Pt() > 0.299 && PhotonCandidate->Pt() < 16.){
3146 delete GammaCandidatesStepOne;
3147 GammaCandidatesStepOne = 0x0;
3148 delete GammaCandidatesStepTwo;
3149 GammaCandidatesStepTwo = 0x0;
3156 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
3157 Double_t mcProdVtxX = primVtxMC->GetX();
3158 Double_t mcProdVtxY = primVtxMC->GetY();
3159 Double_t mcProdVtxZ = primVtxMC->GetZ();
3162 if( magField < 0.0 ){
3169 TClonesArray *AODMCTrackArray =
dynamic_cast<TClonesArray*
>(
fInputEvent->FindListObject(AliAODMCParticle::StdBranchName()));
3170 if (AODMCTrackArray == NULL)
return;
3171 AliAODMCParticle *posDaughter = (AliAODMCParticle*) AODMCTrackArray->At(TruePhotonCandidate->
GetMCLabelPositive());
3172 AliAODMCParticle *negDaughter = (AliAODMCParticle*) AODMCTrackArray->At(TruePhotonCandidate->
GetMCLabelNegative());
3175 if(posDaughter == NULL || negDaughter == NULL)
return;
3176 Int_t pdgCode[2] = {TMath::Abs(posDaughter->GetPdgCode()),TMath::Abs(negDaughter->GetPdgCode())};
3178 if(posDaughter->GetMother() != negDaughter->GetMother()){
3183 else if(posDaughter->GetMother() == -1){
3189 if(pdgCode[0]!=11 || pdgCode[1]!=11){
3194 if(posDaughter->GetPdgCode()==negDaughter->GetPdgCode()){
3199 AliAODMCParticle *Photon = (AliAODMCParticle*) AODMCTrackArray->At(posDaughter->GetMother());
3200 if(Photon->GetPdgCode() != 22){
3205 if(((posDaughter->GetMCProcessCode())) != 5 || ((negDaughter->GetMCProcessCode())) != 5){
3239 if(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother() > -1 &&
3240 ((AliAODMCParticle*)AODMCTrackArray->At(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother()))->GetPdgCode() == 310){
3248 }
else if(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother() > -1 &&
3249 ((AliAODMCParticle*)AODMCTrackArray->At(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother()))->GetPdgCode() == 130) {
3257 }
else if(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother() > -1 &&
3258 ((AliAODMCParticle*)AODMCTrackArray->At(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother()))->GetPdgCode() == 3122){
3265 }
else if (((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother() > -1 &&
3266 ((AliAODMCParticle*)AODMCTrackArray->At(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother()))->GetPdgCode() == 221) {
3286 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
3287 Double_t mcProdVtxX = primVtxMC->GetX();
3288 Double_t mcProdVtxY = primVtxMC->GetY();
3289 Double_t mcProdVtxZ = primVtxMC->GetZ();
3292 if( magField < 0.0 ){
3304 if(posDaughter == NULL || negDaughter == NULL)
return;
3305 Int_t pdgCode[2] = {TMath::Abs(posDaughter->GetPdgCode()),TMath::Abs(negDaughter->GetPdgCode())};
3307 if(posDaughter->GetMother(0) != negDaughter->GetMother(0)){
3311 else if(posDaughter->GetMother(0) == -1){
3316 if(pdgCode[0]!=11 || pdgCode[1]!=11)
return;
3318 if(posDaughter->GetPdgCode()==negDaughter->GetPdgCode())
return;
3322 if(Photon->GetPdgCode() != 22){
3326 if(posDaughter->GetUniqueID() != 5 || negDaughter->GetUniqueID() !=5)
return;
3341 fCharPhotonMCInfo = 6;
3351 fCharPhotonMCInfo = 2;
3352 if( Photon->GetMother(0) > -1 &&
fMCEvent->Particle(Photon->GetMother(0))->GetMother(0) > -1){
3353 if (
fMCEvent->Particle(
fMCEvent->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 310){
3354 fCharPhotonMCInfo = 4;
3360 }
else if (
fMCEvent->Particle(
fMCEvent->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 130) {
3361 fCharPhotonMCInfo = 7;
3367 }
else if (
fMCEvent->Particle(
fMCEvent->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 3122) {
3368 fCharPhotonMCInfo = 5;
3374 }
else if (
fMCEvent->Particle(
fMCEvent->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 221) {
3375 fCharPhotonMCInfo = 3;
3400 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
3401 Double_t mcProdVtxX = primVtxMC->GetX();
3402 Double_t mcProdVtxY = primVtxMC->GetY();
3403 Double_t mcProdVtxZ = primVtxMC->GetZ();
3405 TClonesArray *AODMCTrackArray =
dynamic_cast<TClonesArray*
>(
fInputEvent->FindListObject(AliAODMCParticle::StdBranchName()));
3406 if (AODMCTrackArray == NULL)
return;
3409 for(Long_t i = 0; i < AODMCTrackArray->GetEntriesFast(); i++) {
3411 AliAODMCParticle* particle =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(i));
3412 if (!particle)
continue;
3417 Int_t isMCFromMBHeader = -1;
3427 if (TMath::Abs(particle->Eta()) < 0.66 ){
3430 if(particle->GetMother() >-1){
3431 switch((static_cast<AliAODMCParticle*>(AODMCTrackArray->At(particle->GetMother())))->GetPdgCode()){
3459 for(
Int_t daughterIndex=particle->GetDaughter(0);daughterIndex<=particle->GetDaughter(1);daughterIndex++){
3460 AliAODMCParticle *tmpDaughter =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(daughterIndex));
3461 if(!tmpDaughter)
continue;
3462 if(TMath::Abs(tmpDaughter->GetPdgCode()) == 11){
3463 rConv = sqrt( (tmpDaughter->Xv()*tmpDaughter->Xv()) + (tmpDaughter->Yv()*tmpDaughter->Yv()) );
3477 if (particle->E() != TMath::Abs(particle->Pz())){
3478 ratio = (particle->E()+particle->Pz()) / (particle->E()-particle->Pz());
3480 if( !(ratio <= 0) ){
3485 if ( particle->GetPdgCode() == 211 ){
3487 }
else if ( particle->GetPdgCode() == -211 ){
3489 }
else if ( particle->GetPdgCode() == 321 ){
3491 }
else if ( particle->GetPdgCode() == -321 ){
3493 }
else if ( TMath::Abs(particle->GetPdgCode()) == 310 ){
3495 }
else if ( TMath::Abs(particle->GetPdgCode()) == 130 ){
3497 }
else if ( TMath::Abs(particle->GetPdgCode()) == 3122 ){
3505 AliAODMCParticle* daughter0 =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetDaughter(0)));
3506 AliAODMCParticle* daughter1 =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetDaughter(1)));
3509 if (particle->Pt()>0.005){
3518 if (particle->E() != TMath::Abs(particle->Pz())){
3519 ratio = (particle->E()+particle->Pz()) / (particle->E()-particle->Pz());
3521 if( !(ratio <= 0) ){
3525 if (particle->GetPdgCode() == 111 || particle->GetPdgCode() == 221){
3526 alpha = (daughter0->E() - daughter1->E())/(daughter0->E() + daughter1->E());
3530 if(particle->GetPdgCode() == 111){
3553 }
else if(particle->GetPdgCode() == 221){
3572 if(particle->GetPdgCode() == 111){
3589 }
else if(particle->GetPdgCode() == 221){
3600 Int_t isMCFromMBHeader = -1;
3607 if (particle->GetMother() > -1) {
3608 AliAODMCParticle *tmpMother =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetMother()));
3609 if (tmpMother->GetMother() > -1) {
3610 AliAODMCParticle *tmpGrandMother =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(tmpMother->GetMother()));
3611 if(tmpGrandMother->GetPdgCode() == 310) {
3613 }
else if (tmpGrandMother->GetPdgCode() == 130) {
3615 }
else if (tmpGrandMother->GetPdgCode() == 3122) {
3618 if ( !(TMath::Abs(tmpMother->GetPdgCode()) == 11 && tmpGrandMother->GetPdgCode() == 22) )
3630 if (particle->GetMother() > -1) {
3631 AliAODMCParticle *tmpMother =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetMother()));
3632 if (tmpMother->GetMother() > -1) {
3633 AliAODMCParticle *tmpGrandMother =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(tmpMother->GetMother()));
3634 if(tmpGrandMother->GetPdgCode() == 310) {
3636 }
else if (tmpGrandMother->GetPdgCode() == 130) {
3638 }
else if (tmpGrandMother->GetPdgCode() == 3122) {
3641 if ( !(TMath::Abs(tmpMother->GetPdgCode()) == 11 && tmpGrandMother->GetPdgCode() == 22) )
3655 AliAODMCParticle* daughter0 =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetDaughter(0)));
3656 AliAODMCParticle* daughter1 =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetDaughter(1)));
3657 AliAODMCParticle* mother =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetMother()));
3658 Int_t pdgCode = mother->GetPdgCode();
3659 if(particle->GetPdgCode() == 111){
3667 }
else if(particle->GetPdgCode() == 221){
3681 if (particle->GetPdgCode() == 111){
3700 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
3701 Double_t mcProdVtxX = primVtxMC->GetX();
3702 Double_t mcProdVtxY = primVtxMC->GetY();
3703 Double_t mcProdVtxZ = primVtxMC->GetZ();
3707 for(Long_t i = 0; i <
fMCEvent->GetNumberOfTracks(); i++) {
3710 TParticle* particle = (TParticle *)
fMCEvent->Particle(i);
3711 if (!particle)
continue;
3713 Int_t isMCFromMBHeader = -1;
3723 if (TMath::Abs(particle->Eta()) < 0.66 ){
3727 if(particle->GetMother(0) >-1){
3728 switch(
fMCEvent->Particle(particle->GetMother(0))->GetPdgCode()){
3769 if (particle->Energy() != TMath::Abs(particle->Pz())){
3770 ratio = (particle->Energy()+particle->Pz()) / (particle->Energy()-particle->Pz());
3772 if( !(ratio <= 0) ){
3777 if ( particle->GetPdgCode() == 211 ){
3779 }
else if ( particle->GetPdgCode() == -211 ){
3781 }
else if ( particle->GetPdgCode() == 321 ){
3783 }
else if ( particle->GetPdgCode() == -321 ){
3785 }
else if ( TMath::Abs(particle->GetPdgCode()) == 310 ){
3787 }
else if ( TMath::Abs(particle->GetPdgCode()) == 130 ){
3789 }
else if ( TMath::Abs(particle->GetPdgCode()) == 3122 ){
3797 TParticle* daughter0 = (TParticle*)
fMCEvent->Particle(particle->GetFirstDaughter());
3798 TParticle* daughter1 = (TParticle*)
fMCEvent->Particle(particle->GetLastDaughter());
3802 if (particle->Pt()>0.005){
3808 if (particle->Energy() != TMath::Abs(particle->Pz())){
3809 ratio = (particle->Energy()+particle->Pz()) / (particle->Energy()-particle->Pz());
3811 if( !(ratio <= 0) ){
3816 if (particle->GetPdgCode() == 111 || particle->GetPdgCode() == 221){
3817 alpha = (daughter0->Energy() - daughter1->Energy())/(daughter0->Energy() + daughter1->Energy());
3820 if(particle->GetPdgCode() == 111){
3843 }
else if(particle->GetPdgCode() == 221){
3858 if( kDaughter0IsPrim && kDaughter1IsPrim &&
3866 if(particle->GetPdgCode() == 111){
3883 }
else if(particle->GetPdgCode() == 221){
3894 TParticle* particle = (TParticle *)
fMCEvent->Particle(i);
3895 if (!particle)
continue;
3896 Int_t isMCFromMBHeader = -1;