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"),
72 fBGClusHandlerRP(NULL),
81 fInvMassShowerShape(NULL),
84 fClusterOutputList(NULL),
85 fOutputContainer(NULL),
87 fGammaCandidates(NULL),
88 fClusterCandidates(NULL),
92 fConversionCuts(NULL),
93 fClusterCutArray(NULL),
94 fCaloPhotonCuts(NULL),
97 fHistoConvGammaPt(NULL),
98 fTreeConvGammaPtDcazCat(NULL),
102 fCharPhotonMCInfo(0),
103 tESDGammaERM02(NULL),
110 tESDClusterNCells(0),
111 tESDClusterMaxECell(0),
113 tESDInvMassShowerShape(0),
114 tESDIMMesonInvMass(0),
119 tESDIMClusterLeadCellID(0),
120 tESDIMClusterClassification(0),
121 tESDIMClusMatchedTrackPt(0),
122 tESDIMClusTrackDeltaEta(0),
123 tESDIMClusTrackDeltaPhi(0),
124 tESDIMClusterIsoSumClusterEt(0),
125 tESDIMClusterIsoSumTrackEt(0),
126 tESDmapIsClusterAcceptedWithoutTrackMatch(),
127 fHistoMotherInvMassPt(NULL),
128 fHistoMotherMatchedInvMassPt(NULL),
129 fSparseMotherInvMassPtZM(NULL),
130 fHistoMotherBackInvMassPt(NULL),
131 fSparseMotherBackInvMassPtZM(NULL),
132 fHistoMotherInvMassPtAlpha(NULL),
133 fHistoMotherPi0PtY(NULL),
134 fHistoMotherEtaPtY(NULL),
135 fHistoMotherPi0PtAlpha(NULL),
136 fHistoMotherEtaPtAlpha(NULL),
137 fHistoMotherPi0PtOpenAngle(NULL),
138 fHistoMotherEtaPtOpenAngle(NULL),
139 fHistoMotherPi0ConvPhotonEtaPhi(NULL),
140 fHistoMotherEtaConvPhotonEtaPhi(NULL),
141 fHistoMotherInvMassECalib(NULL),
142 fHistoMotherBackInvMassECalib(NULL),
143 fHistoPhotonPairPtconv(NULL),
144 fHistoPhotonPairMixedEventPtconv(NULL),
145 fHistoClusGammaPt(NULL),
146 fHistoClusGammaE(NULL),
147 fHistoClusOverlapHeadersGammaPt(NULL),
148 fHistoClusAllHeadersGammaPt(NULL),
149 fHistoClusRejectedHeadersGammaPt(NULL),
150 fHistoMCHeaders(NULL),
151 fHistoMCAllGammaPt(NULL),
152 fHistoMCAllGammaEMCALAccPt(NULL),
153 fHistoMCAllSecondaryGammaPt(NULL),
154 fHistoMCDecayGammaPi0Pt(NULL),
155 fHistoMCDecayGammaRhoPt(NULL),
156 fHistoMCDecayGammaEtaPt(NULL),
157 fHistoMCDecayGammaOmegaPt(NULL),
158 fHistoMCDecayGammaEtapPt(NULL),
159 fHistoMCDecayGammaPhiPt(NULL),
160 fHistoMCDecayGammaSigmaPt(NULL),
161 fHistoMCConvGammaPt(NULL),
162 fHistoMCSecondaryConvGammaPt(NULL),
164 fHistoMCPi0WOWeightPt(NULL),
165 fHistoMCPi0WOEvtWeightPt(NULL),
167 fHistoMCEtaWOWeightPt(NULL),
168 fHistoMCEtaWOEvtWeightPt(NULL),
169 fHistoMCPi0InAccPt(NULL),
170 fHistoMCPi0WOWeightInAccPt(NULL),
171 fHistoMCPi0WOEvtWeightInAccPt(NULL),
172 fHistoMCEtaInAccPt(NULL),
173 fHistoMCEtaWOWeightInAccPt(NULL),
174 fHistoMCEtaWOEvtWeightInAccPt(NULL),
175 fHistoMCPi0PtY(NULL),
176 fHistoMCEtaPtY(NULL),
177 fHistoMCPi0PtAlpha(NULL),
178 fHistoMCEtaPtAlpha(NULL),
179 fHistoMCPrimaryPtvsSource(NULL),
180 fHistoMCSecPi0PtvsSource(NULL),
181 fHistoMCSecPi0Source(NULL),
182 fHistoMCSecPi0InAccPtvsSource(NULL),
183 fHistoMCSecEtaPt(NULL),
184 fHistoMCSecEtaSource(NULL),
185 fHistoMCPi0PtJetPt(NULL),
186 fHistoMCEtaPtJetPt(NULL),
187 fHistoMCPi0PtGammaLeg(NULL),
188 fHistoMCPi0WOWeightPtGammaLeg(NULL),
189 fHistoMCPi0InAccPtGammaLeg(NULL),
190 fHistoMCPi0WOWeightInAccPtGammaLeg(NULL),
191 fHistoMCSecPi0PtGamma1vsSource(NULL),
192 fHistoMCSecPi0InAccPtGamma1vsSource(NULL),
193 fHistoMCSecPi0PtGamma2vsSource(NULL),
194 fHistoMCSecPi0InAccPtGamma2vsSource(NULL),
195 fHistoTruePi0InvMassPt(NULL),
196 fHistoTrueEtaInvMassPt(NULL),
197 fHistoTruePi0MatchedInvMassPt(NULL),
198 fHistoTrueEtaMatchedInvMassPt(NULL),
199 fHistoTruePi0CaloPhotonInvMassPt(NULL),
200 fHistoTrueEtaCaloPhotonInvMassPt(NULL),
201 fHistoTruePi0CaloConvertedPhotonInvMassPt(NULL),
202 fHistoTruePi0CaloConvertedPhotonMatchedInvMassPt(NULL),
203 fHistoTruePi0CaloConvPhotonConvRPt(NULL),
204 fHistoTruePi0CaloConvPhotonConvRAlpha(NULL),
205 fHistoTruePi0CaloConvPhotonPtAlpha(NULL),
206 fHistoTrueEtaCaloConvertedPhotonInvMassPt(NULL),
207 fHistoTrueEtaCaloConvertedPhotonMatchedInvMassPt(NULL),
208 fHistoTrueEtaCaloConvPhotonConvRPt(NULL),
209 fHistoTrueEtaCaloConvPhotonConvRAlpha(NULL),
210 fHistoTrueEtaCaloConvPhotonPtAlpha(NULL),
211 fHistoTruePi0CaloElectronInvMassPt(NULL),
212 fHistoTrueEtaCaloElectronInvMassPt(NULL),
213 fHistoTruePi0CaloMergedClusterInvMassPt(NULL),
214 fHistoTrueEtaCaloMergedClusterInvMassPt(NULL),
215 fHistoTrueMotherCaloEMNonLeadingInvMassPt(NULL),
216 fHistoTruePi0CaloMergedClusterPartConvInvMassPt(NULL),
217 fHistoTrueEtaCaloMergedClusterPartConvInvMassPt(NULL),
218 fHistoTruePrimaryPi0InvMassPt(NULL),
219 fHistoTruePrimaryEtaInvMassPt(NULL),
220 fHistoTruePrimaryPi0W0WeightingInvMassPt(NULL),
221 fHistoTruePrimaryEtaW0WeightingInvMassPt(NULL),
222 fProfileTruePrimaryPi0WeightsInvMassPt(NULL),
223 fProfileTruePrimaryEtaWeightsInvMassPt(NULL),
224 fHistoTruePrimaryPi0MCPtResolPt(NULL),
225 fHistoTruePrimaryEtaMCPtResolPt(NULL),
226 fHistoTrueMotherPi0ConvPhotonEtaPhi(NULL),
227 fHistoTrueMotherEtaConvPhotonEtaPhi(NULL),
228 fHistoTrueSecondaryPi0InvMassPt(NULL),
229 fHistoTrueSecondaryPi0FromK0sInvMassPt(NULL),
230 fHistoTrueK0sWithPi0DaughterMCPt(NULL),
231 fHistoTrueSecondaryPi0FromK0lInvMassPt(NULL),
232 fHistoTrueK0lWithPi0DaughterMCPt(NULL),
233 fHistoTrueSecondaryPi0FromEtaInvMassPt(NULL),
234 fHistoTrueEtaWithPi0DaughterMCPt(NULL),
235 fHistoTrueSecondaryPi0FromLambdaInvMassPt(NULL),
236 fHistoTrueLambdaWithPi0DaughterMCPt(NULL),
237 fHistoTrueBckGGInvMassPt(NULL),
238 fHistoTrueBckFullMesonContainedInOneClusterInvMassPt(NULL),
239 fHistoTrueBckAsymEClustersInvMassPt(NULL),
240 fHistoTrueBckContInvMassPt(NULL),
241 fHistoTruePi0PtY(NULL),
242 fHistoTrueEtaPtY(NULL),
243 fHistoTruePi0PtAlpha(NULL),
244 fHistoTrueEtaPtAlpha(NULL),
245 fHistoTruePi0PtOpenAngle(NULL),
246 fHistoTrueEtaPtOpenAngle(NULL),
247 fHistoTrueConvGammaPt(NULL),
248 fHistoCombinatorialPt(NULL),
249 fHistoTruePrimaryConvGammaPt(NULL),
250 fHistoTruePrimaryConvGammaESDPtMCPt(NULL),
251 fHistoTrueSecondaryConvGammaPt(NULL),
252 fHistoTrueSecondaryConvGammaMCPt(NULL),
253 fHistoTrueSecondaryConvGammaFromXFromK0sMCPtESDPt(NULL),
254 fHistoTrueSecondaryConvGammaFromXFromK0lMCPtESDPt(NULL),
255 fHistoTrueSecondaryConvGammaFromXFromLambdaMCPtESDPt(NULL),
256 fHistoTrueClusGammaPt(NULL),
257 fHistoTrueClusElectronPt(NULL),
258 fHistoTrueClusConvGammaPt(NULL),
259 fHistoTrueClusConvGammaFullyPt(NULL),
260 fHistoTrueClusMergedGammaPt(NULL),
261 fHistoTrueClusMergedPartConvGammaPt(NULL),
262 fHistoTrueClusDalitzPt(NULL),
263 fHistoTrueClusDalitzMergedPt(NULL),
264 fHistoTrueClusPhotonFromElecMotherPt(NULL),
265 fHistoTrueClusShowerPt(NULL),
266 fHistoTrueClusSubLeadingPt(NULL),
267 fHistoTrueClusNMothers(NULL),
268 fHistoTrueClusEMNonLeadingPt(NULL),
269 fHistoTrueNLabelsInClusPt(NULL),
270 fHistoTruePrimaryClusGammaPt(NULL),
271 fHistoTruePrimaryClusGammaESDPtMCPt(NULL),
272 fHistoTruePrimaryClusConvGammaPt(NULL),
273 fHistoTruePrimaryClusConvGammaESDPtMCPt(NULL),
274 fHistoTrueSecondaryClusGammaPt(NULL),
275 fHistoTrueSecondaryClusGammaFromK0sPt(NULL),
276 fHistoTrueSecondaryClusGammaFromK0lPt(NULL),
277 fHistoTrueSecondaryClusGammaFromLambdaPt(NULL),
278 fHistoTruePrimaryPi0PhotonPairPtconv(NULL),
279 fHistoTruePrimaryPi0W0WeightsPhotonPairPtconv(NULL),
280 fHistoTruePrimaryPi0DCPtconv(NULL),
281 fHistoTruePrimaryPi0MissingPtconv(NULL),
282 fHistoTrueSecondaryPi0PhotonPairPtconv(NULL),
283 fHistoTrueSecondaryPi0FromK0sPhotonPairPtconv(NULL),
284 fHistoTrueSecondaryPi0FromK0lPhotonPairPtconv(NULL),
285 fHistoTrueSecondaryPi0FromLambdaPhotonPairPtconv(NULL),
286 fHistoTrueSecondaryPi0DCPtconvSource(NULL),
287 fHistoTrueSecondaryPi0MissingPtconvSource(NULL),
288 fVectorRecTruePi0s(0),
289 fVectorRecTrueEtas(0),
290 fHistoDoubleCountTruePi0InvMassPt(NULL),
291 fHistoDoubleCountTrueEtaInvMassPt(NULL),
292 fHistoDoubleCountTrueConvGammaRPt(NULL),
293 fHistoDoubleCountTrueClusterGammaPt(NULL),
294 fVectorDoubleCountTruePi0s(0),
295 fVectorDoubleCountTrueEtas(0),
296 fVectorDoubleCountTrueConvGammas(0),
297 fVectorDoubleCountTrueClusterGammas(0),
298 fHistoMultipleCountTruePi0(NULL),
299 fHistoMultipleCountTrueEta(NULL),
300 fHistoMultipleCountTrueConvGamma(NULL),
301 fHistoMultipleCountTrueClusterGamma(NULL),
302 fMapMultipleCountTruePi0s(),
303 fMapMultipleCountTrueEtas(),
304 fMapMultipleCountTrueConvGammas(),
305 fMapMultipleCountTrueClusterGammas(),
306 fHistoTrueClusGammaEM02(NULL),
307 fHistoTrueClusPi0EM02(NULL),
308 fHistoTruePi0InvMassECalib(NULL),
309 fHistoTruePi0PureGammaInvMassECalib(NULL),
311 fHistoNEventsWOWeight(NULL),
312 fHistoNGoodESDTracks(NULL),
316 fHistoNGammaCandidates(NULL),
317 fHistoNGoodESDTracksVsNGammaCandidates(NULL),
318 fHistoSPDClusterTrackletBackground(NULL),
319 fHistoNV0Tracks(NULL),
320 fProfileEtaShift(NULL),
321 fProfileJetJetXSection(NULL),
322 fHistoJetJetNTrials(NULL),
325 fEventPlaneAngle(-100),
327 fNGammaCandidates(0),
338 fMoveParticleAccordingToVertex(kTRUE),
340 fDoLightOutput(kFALSE),
341 fDoMesonAnalysis(kTRUE),
345 fIsFromDesiredHeader(kTRUE),
346 fIsOverlappingWithOtherHeader(kFALSE),
349 fSetPlotHistsExtQA(kFALSE),
351 fDoConvGammaShowerShapeTree(kFALSE),
352 fEnableSortForClusMC(kFALSE),
353 fDoPrimaryTrackMatching(kFALSE),
354 fDoInvMassShowerShapeTree(kFALSE),
356 fFileNameBroken(NULL),
357 fAllowOverlapHeaders(kTRUE)
366 fV0ReaderName(
"V0ReaderV1"),
367 fCorrTaskSetting(
""),
370 fBGClusHandler(NULL),
371 fBGClusHandlerRP(NULL),
378 fPhotonDCAList(NULL),
380 fInvMassShowerShape(NULL),
383 fClusterOutputList(NULL),
386 fGammaCandidates(NULL),
387 fClusterCandidates(NULL),
388 fEventCutArray(NULL),
391 fConversionCuts(NULL),
392 fClusterCutArray(NULL),
393 fCaloPhotonCuts(NULL),
394 fMesonCutArray(NULL),
396 fHistoConvGammaPt(NULL),
397 fTreeConvGammaPtDcazCat(NULL),
401 fCharPhotonMCInfo(0),
402 tESDGammaERM02(NULL),
409 tESDClusterNCells(0),
410 tESDClusterMaxECell(0),
412 tESDInvMassShowerShape(0),
413 tESDIMMesonInvMass(0),
418 tESDIMClusterLeadCellID(0),
419 tESDIMClusterClassification(0),
420 tESDIMClusMatchedTrackPt(0),
421 tESDIMClusTrackDeltaEta(0),
422 tESDIMClusTrackDeltaPhi(0),
423 tESDIMClusterIsoSumClusterEt(0),
424 tESDIMClusterIsoSumTrackEt(0),
425 tESDmapIsClusterAcceptedWithoutTrackMatch(),
426 fHistoMotherInvMassPt(NULL),
427 fHistoMotherMatchedInvMassPt(NULL),
428 fSparseMotherInvMassPtZM(NULL),
429 fHistoMotherBackInvMassPt(NULL),
430 fSparseMotherBackInvMassPtZM(NULL),
431 fHistoMotherInvMassPtAlpha(NULL),
432 fHistoMotherPi0PtY(NULL),
433 fHistoMotherEtaPtY(NULL),
434 fHistoMotherPi0PtAlpha(NULL),
435 fHistoMotherEtaPtAlpha(NULL),
436 fHistoMotherPi0PtOpenAngle(NULL),
437 fHistoMotherEtaPtOpenAngle(NULL),
438 fHistoMotherPi0ConvPhotonEtaPhi(NULL),
439 fHistoMotherEtaConvPhotonEtaPhi(NULL),
440 fHistoMotherInvMassECalib(NULL),
441 fHistoMotherBackInvMassECalib(NULL),
442 fHistoPhotonPairPtconv(NULL),
443 fHistoPhotonPairMixedEventPtconv(NULL),
444 fHistoClusGammaPt(NULL),
445 fHistoClusGammaE(NULL),
446 fHistoClusOverlapHeadersGammaPt(NULL),
447 fHistoClusAllHeadersGammaPt(NULL),
448 fHistoClusRejectedHeadersGammaPt(NULL),
449 fHistoMCHeaders(NULL),
450 fHistoMCAllGammaPt(NULL),
451 fHistoMCAllGammaEMCALAccPt(NULL),
452 fHistoMCAllSecondaryGammaPt(NULL),
453 fHistoMCDecayGammaPi0Pt(NULL),
454 fHistoMCDecayGammaRhoPt(NULL),
455 fHistoMCDecayGammaEtaPt(NULL),
456 fHistoMCDecayGammaOmegaPt(NULL),
457 fHistoMCDecayGammaEtapPt(NULL),
458 fHistoMCDecayGammaPhiPt(NULL),
459 fHistoMCDecayGammaSigmaPt(NULL),
460 fHistoMCConvGammaPt(NULL),
461 fHistoMCSecondaryConvGammaPt(NULL),
463 fHistoMCPi0WOWeightPt(NULL),
464 fHistoMCPi0WOEvtWeightPt(NULL),
466 fHistoMCEtaWOWeightPt(NULL),
467 fHistoMCEtaWOEvtWeightPt(NULL),
468 fHistoMCPi0InAccPt(NULL),
469 fHistoMCPi0WOWeightInAccPt(NULL),
470 fHistoMCPi0WOEvtWeightInAccPt(NULL),
471 fHistoMCEtaInAccPt(NULL),
472 fHistoMCEtaWOWeightInAccPt(NULL),
473 fHistoMCEtaWOEvtWeightInAccPt(NULL),
474 fHistoMCPi0PtY(NULL),
475 fHistoMCEtaPtY(NULL),
476 fHistoMCPi0PtAlpha(NULL),
477 fHistoMCEtaPtAlpha(NULL),
478 fHistoMCPrimaryPtvsSource(NULL),
479 fHistoMCSecPi0PtvsSource(NULL),
480 fHistoMCSecPi0Source(NULL),
481 fHistoMCSecPi0InAccPtvsSource(NULL),
482 fHistoMCSecEtaPt(NULL),
483 fHistoMCSecEtaSource(NULL),
484 fHistoMCPi0PtJetPt(NULL),
485 fHistoMCEtaPtJetPt(NULL),
486 fHistoMCPi0PtGammaLeg(NULL),
487 fHistoMCPi0WOWeightPtGammaLeg(NULL),
488 fHistoMCPi0InAccPtGammaLeg(NULL),
489 fHistoMCPi0WOWeightInAccPtGammaLeg(NULL),
490 fHistoMCSecPi0PtGamma1vsSource(NULL),
491 fHistoMCSecPi0InAccPtGamma1vsSource(NULL),
492 fHistoMCSecPi0PtGamma2vsSource(NULL),
493 fHistoMCSecPi0InAccPtGamma2vsSource(NULL),
494 fHistoTruePi0InvMassPt(NULL),
495 fHistoTrueEtaInvMassPt(NULL),
496 fHistoTruePi0MatchedInvMassPt(NULL),
497 fHistoTrueEtaMatchedInvMassPt(NULL),
498 fHistoTruePi0CaloPhotonInvMassPt(NULL),
499 fHistoTrueEtaCaloPhotonInvMassPt(NULL),
500 fHistoTruePi0CaloConvertedPhotonInvMassPt(NULL),
501 fHistoTruePi0CaloConvertedPhotonMatchedInvMassPt(NULL),
502 fHistoTruePi0CaloConvPhotonConvRPt(NULL),
503 fHistoTruePi0CaloConvPhotonConvRAlpha(NULL),
504 fHistoTruePi0CaloConvPhotonPtAlpha(NULL),
505 fHistoTrueEtaCaloConvertedPhotonInvMassPt(NULL),
506 fHistoTrueEtaCaloConvertedPhotonMatchedInvMassPt(NULL),
507 fHistoTrueEtaCaloConvPhotonConvRPt(NULL),
508 fHistoTrueEtaCaloConvPhotonConvRAlpha(NULL),
509 fHistoTrueEtaCaloConvPhotonPtAlpha(NULL),
510 fHistoTruePi0CaloElectronInvMassPt(NULL),
511 fHistoTrueEtaCaloElectronInvMassPt(NULL),
512 fHistoTruePi0CaloMergedClusterInvMassPt(NULL),
513 fHistoTrueEtaCaloMergedClusterInvMassPt(NULL),
514 fHistoTrueMotherCaloEMNonLeadingInvMassPt(NULL),
515 fHistoTruePi0CaloMergedClusterPartConvInvMassPt(NULL),
516 fHistoTrueEtaCaloMergedClusterPartConvInvMassPt(NULL),
517 fHistoTruePrimaryPi0InvMassPt(NULL),
518 fHistoTruePrimaryEtaInvMassPt(NULL),
519 fHistoTruePrimaryPi0W0WeightingInvMassPt(NULL),
520 fHistoTruePrimaryEtaW0WeightingInvMassPt(NULL),
521 fProfileTruePrimaryPi0WeightsInvMassPt(NULL),
522 fProfileTruePrimaryEtaWeightsInvMassPt(NULL),
523 fHistoTruePrimaryPi0MCPtResolPt(NULL),
524 fHistoTruePrimaryEtaMCPtResolPt(NULL),
525 fHistoTrueMotherPi0ConvPhotonEtaPhi(NULL),
526 fHistoTrueMotherEtaConvPhotonEtaPhi(NULL),
527 fHistoTrueSecondaryPi0InvMassPt(NULL),
528 fHistoTrueSecondaryPi0FromK0sInvMassPt(NULL),
529 fHistoTrueK0sWithPi0DaughterMCPt(NULL),
530 fHistoTrueSecondaryPi0FromK0lInvMassPt(NULL),
531 fHistoTrueK0lWithPi0DaughterMCPt(NULL),
532 fHistoTrueSecondaryPi0FromEtaInvMassPt(NULL),
533 fHistoTrueEtaWithPi0DaughterMCPt(NULL),
534 fHistoTrueSecondaryPi0FromLambdaInvMassPt(NULL),
535 fHistoTrueLambdaWithPi0DaughterMCPt(NULL),
536 fHistoTrueBckGGInvMassPt(NULL),
537 fHistoTrueBckFullMesonContainedInOneClusterInvMassPt(NULL),
538 fHistoTrueBckAsymEClustersInvMassPt(NULL),
539 fHistoTrueBckContInvMassPt(NULL),
540 fHistoTruePi0PtY(NULL),
541 fHistoTrueEtaPtY(NULL),
542 fHistoTruePi0PtAlpha(NULL),
543 fHistoTrueEtaPtAlpha(NULL),
544 fHistoTruePi0PtOpenAngle(NULL),
545 fHistoTrueEtaPtOpenAngle(NULL),
546 fHistoTrueConvGammaPt(NULL),
547 fHistoCombinatorialPt(NULL),
548 fHistoTruePrimaryConvGammaPt(NULL),
549 fHistoTruePrimaryConvGammaESDPtMCPt(NULL),
550 fHistoTrueSecondaryConvGammaPt(NULL),
551 fHistoTrueSecondaryConvGammaMCPt(NULL),
552 fHistoTrueSecondaryConvGammaFromXFromK0sMCPtESDPt(NULL),
553 fHistoTrueSecondaryConvGammaFromXFromK0lMCPtESDPt(NULL),
554 fHistoTrueSecondaryConvGammaFromXFromLambdaMCPtESDPt(NULL),
555 fHistoTrueClusGammaPt(NULL),
556 fHistoTrueClusElectronPt(NULL),
557 fHistoTrueClusConvGammaPt(NULL),
558 fHistoTrueClusConvGammaFullyPt(NULL),
559 fHistoTrueClusMergedGammaPt(NULL),
560 fHistoTrueClusMergedPartConvGammaPt(NULL),
561 fHistoTrueClusDalitzPt(NULL),
562 fHistoTrueClusDalitzMergedPt(NULL),
563 fHistoTrueClusPhotonFromElecMotherPt(NULL),
564 fHistoTrueClusShowerPt(NULL),
565 fHistoTrueClusSubLeadingPt(NULL),
566 fHistoTrueClusNMothers(NULL),
567 fHistoTrueClusEMNonLeadingPt(NULL),
568 fHistoTrueNLabelsInClusPt(NULL),
569 fHistoTruePrimaryClusGammaPt(NULL),
570 fHistoTruePrimaryClusGammaESDPtMCPt(NULL),
571 fHistoTruePrimaryClusConvGammaPt(NULL),
572 fHistoTruePrimaryClusConvGammaESDPtMCPt(NULL),
573 fHistoTrueSecondaryClusGammaPt(NULL),
574 fHistoTrueSecondaryClusGammaFromK0sPt(NULL),
575 fHistoTrueSecondaryClusGammaFromK0lPt(NULL),
576 fHistoTrueSecondaryClusGammaFromLambdaPt(NULL),
577 fHistoTruePrimaryPi0PhotonPairPtconv(NULL),
578 fHistoTruePrimaryPi0W0WeightsPhotonPairPtconv(NULL),
579 fHistoTruePrimaryPi0DCPtconv(NULL),
580 fHistoTruePrimaryPi0MissingPtconv(NULL),
581 fHistoTrueSecondaryPi0PhotonPairPtconv(NULL),
582 fHistoTrueSecondaryPi0FromK0sPhotonPairPtconv(NULL),
583 fHistoTrueSecondaryPi0FromK0lPhotonPairPtconv(NULL),
584 fHistoTrueSecondaryPi0FromLambdaPhotonPairPtconv(NULL),
585 fHistoTrueSecondaryPi0DCPtconvSource(NULL),
586 fHistoTrueSecondaryPi0MissingPtconvSource(NULL),
587 fVectorRecTruePi0s(0),
588 fVectorRecTrueEtas(0),
589 fHistoDoubleCountTruePi0InvMassPt(NULL),
590 fHistoDoubleCountTrueEtaInvMassPt(NULL),
591 fHistoDoubleCountTrueConvGammaRPt(NULL),
592 fHistoDoubleCountTrueClusterGammaPt(NULL),
593 fVectorDoubleCountTruePi0s(0),
594 fVectorDoubleCountTrueEtas(0),
595 fVectorDoubleCountTrueConvGammas(0),
596 fVectorDoubleCountTrueClusterGammas(0),
597 fHistoMultipleCountTruePi0(NULL),
598 fHistoMultipleCountTrueEta(NULL),
599 fHistoMultipleCountTrueConvGamma(NULL),
600 fHistoMultipleCountTrueClusterGamma(NULL),
601 fMapMultipleCountTruePi0s(),
602 fMapMultipleCountTrueEtas(),
603 fMapMultipleCountTrueConvGammas(),
604 fMapMultipleCountTrueClusterGammas(),
605 fHistoTrueClusGammaEM02(NULL),
606 fHistoTrueClusPi0EM02(NULL),
607 fHistoTruePi0InvMassECalib(NULL),
608 fHistoTruePi0PureGammaInvMassECalib(NULL),
610 fHistoNEventsWOWeight(NULL),
611 fHistoNGoodESDTracks(NULL),
615 fHistoNGammaCandidates(NULL),
616 fHistoNGoodESDTracksVsNGammaCandidates(NULL),
617 fHistoSPDClusterTrackletBackground(NULL),
618 fHistoNV0Tracks(NULL),
619 fProfileEtaShift(NULL),
620 fProfileJetJetXSection(NULL),
621 fHistoJetJetNTrials(NULL),
624 fEventPlaneAngle(-100),
626 fNGammaCandidates(0),
637 fMoveParticleAccordingToVertex(kTRUE),
639 fDoLightOutput(kFALSE),
640 fDoMesonAnalysis(kTRUE),
644 fIsFromDesiredHeader(kTRUE),
645 fIsOverlappingWithOtherHeader(kFALSE),
648 fSetPlotHistsExtQA(kFALSE),
650 fDoConvGammaShowerShapeTree(kFALSE),
651 fEnableSortForClusMC(kFALSE),
652 fDoPrimaryTrackMatching(kFALSE),
653 fDoInvMassShowerShapeTree(kFALSE),
655 fFileNameBroken(NULL),
656 fAllowOverlapHeaders(kTRUE)
659 DefineOutput(1, TList::Class());
692 const Int_t nDim = 4;
693 Int_t nBins[nDim] = {800,300,7,4};
719 if(collisionSystem == 1 || collisionSystem == 2 ||
720 collisionSystem == 5 || collisionSystem == 8 ||
721 collisionSystem == 9){
722 centMin = centMin*10;
723 centMax = centMax*10;
724 if(centMax ==0 && centMax!=centMin) centMax=100;
725 }
else if(collisionSystem == 3 || collisionSystem == 6){
728 }
else if(collisionSystem == 4 || collisionSystem == 7){
729 centMin = ((centMin*5)+45);
730 centMax = ((centMax*5)+45);
735 fBackList[iCut]->SetName(Form(
"%s_%s_%s_%s Back histograms",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(), cutstringMeson.Data()));
743 fMotherList[iCut]->SetName(Form(
"%s_%s_%s_%s Mother histograms",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
747 fSparseMotherInvMassPtZM[iCut] =
new THnSparseF(
"Back_Mother_InvMass_Pt_z_m",
"Back_Mother_InvMass_Pt_z_m",nDim,nBins,xMin,xMax);
753 collisionSystem,centMin,centMax,
758 collisionSystem,centMin,centMax,
781 if(!
fV0Reader){printf(
"Error: No V0 Reader");
return;}
787 }
else if (
fIsMC == 3){
885 Int_t nBinsQAPt = 170;
887 Int_t nBinsClusterPt = 500;
897 for(
Int_t i=0; i<nBinsQAPt+1;i++){
898 if(i<60) arrQAPtBinning[i] = 0.05*i;
899 else if(i<130) arrQAPtBinning[i] = 3.+0.1*(i-60);
900 else if(i<170) arrQAPtBinning[i] = 10.+0.25*(i-130);
901 else if(i<190) arrQAPtBinning[i] = 20.+1.0*(i-170);
902 else arrQAPtBinning[i] = maxQAPt;
907 for(
Int_t i=0; i<nBinsPt+1;i++){
908 arrPtBinning[i] = ((maxPt-minPt)/nBinsPt)*i;
910 nBinsClusterPt = 800;
913 for(
Int_t i=0; i<nBinsPt+1;i++){
914 arrClusPtBinning[i] = ((maxClusterPt-minClusterPt)/nBinsClusterPt)*i;
922 for(
Int_t i=0; i<nBinsPt+1;i++){
923 if (i < 1) arrPtBinning[i] = 0.5*i;
924 else if(i<51) arrPtBinning[i] = 0.5+0.05*(i-1);
925 else if(i<121) arrPtBinning[i] = 3.+0.1*(i-51);
926 else if(i<161) arrPtBinning[i] = 10.+0.25*(i-121);
927 else if(i<201) arrPtBinning[i] = 20.+1.0*(i-161);
928 else arrPtBinning[i] = maxPt;
932 for(
Int_t i=0; i<nBinsQAPt+1;i++){
933 if(i<60) arrQAPtBinning[i] = 0.05*i;
934 else if(i<130) arrQAPtBinning[i] = 3.+0.1*(i-60);
935 else if(i<170) arrQAPtBinning[i] = 10.+0.25*(i-130);
936 else if(i<210) arrQAPtBinning[i] = 20.+1.0*(i-170);
937 else arrQAPtBinning[i] = maxQAPt;
939 nBinsClusterPt = 301;
942 for(
Int_t i=0; i<nBinsClusterPt+1;i++){
943 if (i < 1) arrClusPtBinning[i] = 0.3*i;
944 else if(i<55) arrClusPtBinning[i] = 0.3+0.05*(i-1);
945 else if(i<125) arrClusPtBinning[i] = 3.+0.1*(i-55);
946 else if(i<155) arrClusPtBinning[i] = 10.+0.2*(i-125);
947 else if(i<211) arrClusPtBinning[i] = 16.+0.25*(i-155);
948 else if(i<251) arrClusPtBinning[i] = 30.+0.5*(i-211);
949 else if(i<301) arrClusPtBinning[i] = 50.+1.0*(i-251);
950 else arrClusPtBinning[i] = maxClusterPt;
959 for(
Int_t i=0; i<nBinsPt+1;i++){
960 if (i < 1) arrPtBinning[i] = 0.5*i;
961 else if(i<51) arrPtBinning[i] = 0.5+0.05*(i-1);
962 else if(i<121) arrPtBinning[i] = 3.+0.1*(i-51);
963 else if(i<181) arrPtBinning[i] = 10.+0.25*(i-121);
964 else if(i<231) arrPtBinning[i] = 25.+0.5*(i-181);
965 else if(i<281) arrPtBinning[i] = 50.+1.0*(i-231);
966 else arrPtBinning[i] = maxPt;
970 for(
Int_t i=0; i<nBinsQAPt+1;i++){
971 if(i<60) arrQAPtBinning[i] = 0.05*i;
972 else if(i<130) arrQAPtBinning[i] = 3.+0.1*(i-60);
973 else if(i<170) arrQAPtBinning[i] = 10.+0.25*(i-130);
974 else if(i<210) arrQAPtBinning[i] = 20.+0.5*(i-170);
975 else if(i<270) arrQAPtBinning[i] = 40.+1.0*(i-210);
976 else arrQAPtBinning[i] = maxQAPt;
978 nBinsClusterPt = 301;
981 for(
Int_t i=0; i<nBinsClusterPt+1;i++){
982 if (i < 1) arrClusPtBinning[i] = 0.3*i;
983 else if(i<55) arrClusPtBinning[i] = 0.3+0.05*(i-1);
984 else if(i<125) arrClusPtBinning[i] = 3.+0.1*(i-55);
985 else if(i<155) arrClusPtBinning[i] = 10.+0.2*(i-125);
986 else if(i<211) arrClusPtBinning[i] = 16.+0.25*(i-155);
987 else if(i<251) arrClusPtBinning[i] = 30.+0.5*(i-211);
988 else if(i<301) arrClusPtBinning[i] = 50.+1.0*(i-251);
989 else arrClusPtBinning[i] = maxClusterPt;
995 for(
Int_t i=0; i<nBinsPt+1;i++){
996 if (i < 1) arrPtBinning[i] = 0.5*i;
997 else if(i<56) arrPtBinning[i] = 0.5+0.1*(i-1);
998 else if(i<80) arrPtBinning[i] = 6.+0.25*(i-56);
999 else if(i<88) arrPtBinning[i] = 12.+1.0*(i-80);
1000 else arrPtBinning[i] = maxPt;
1004 for(
Int_t i=0; i<nBinsQAPt+1;i++){
1005 if(i<60) arrQAPtBinning[i] = 0.1*i;
1006 else if(i<84) arrQAPtBinning[i] = 6.+0.25*(i-60);
1007 else if(i<92) arrQAPtBinning[i] = 12.+1.0*(i-84);
1008 else arrQAPtBinning[i] = maxQAPt;
1010 nBinsClusterPt = 148;
1013 for(
Int_t i=0; i<nBinsClusterPt+1;i++){
1014 if (i < 1) arrClusPtBinning[i] = 0.3*i;
1015 else if(i<98) arrClusPtBinning[i] = 0.3+0.1*(i-1);
1016 else if(i<123) arrClusPtBinning[i] = 10.+0.2*(i-98);
1017 else if(i<148) arrClusPtBinning[i] = 15.+1.0*(i-123);
1018 else arrClusPtBinning[i] = maxClusterPt;
1024 for(
Int_t i=0; i<nBinsPt+1;i++){
1025 if (i < 1) arrPtBinning[i] = 0.5*i;
1026 else if(i<56) arrPtBinning[i] = 0.5+0.1*(i-1);
1027 else if(i<80) arrPtBinning[i] = 6.+0.25*(i-56);
1028 else if(i<88) arrPtBinning[i] = 12.+1.0*(i-80);
1029 else arrPtBinning[i] = maxPt;
1033 for(
Int_t i=0; i<nBinsQAPt+1;i++){
1034 if(i<60) arrQAPtBinning[i] = 0.1*i;
1035 else if(i<84) arrQAPtBinning[i] = 6.+0.25*(i-60);
1036 else if(i<92) arrQAPtBinning[i] = 12.+1.0*(i-84);
1037 else arrQAPtBinning[i] = maxQAPt;
1039 nBinsClusterPt = 148;
1042 for(
Int_t i=0; i<nBinsClusterPt+1;i++){
1043 if (i < 1) arrClusPtBinning[i] = 0.3*i;
1044 else if(i<98) arrClusPtBinning[i] = 0.3+0.1*(i-1);
1045 else if(i<123) arrClusPtBinning[i] = 10.+0.2*(i-98);
1046 else if(i<148) arrClusPtBinning[i] = 15.+1.0*(i-123);
1047 else arrClusPtBinning[i] = maxClusterPt;
1051 for(
Int_t i=0; i<nBinsPt+1;i++){
1052 arrPtBinning[i] = ((maxPt-minPt)/nBinsPt)*i;
1054 for(
Int_t i=0; i<nBinsClusterPt+1;i++){
1055 arrClusPtBinning[i] = ((maxClusterPt-minClusterPt)/nBinsClusterPt)*i;
1057 for(
Int_t i=0; i<nBinsQAPt+1;i++){
1058 if(i<60) arrQAPtBinning[i] = 0.05*i;
1059 else if(i<130) arrQAPtBinning[i] = 3.+0.1*(i-60);
1060 else if(i<170) arrQAPtBinning[i] = 10.+0.25*(i-130);
1061 else arrQAPtBinning[i] = maxQAPt;
1069 TString cutstringMeson =
"NoMesonCut";
1074 fCutFolder[iCut]->SetName(Form(
"Cut Number %s_%s_%s_%s",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1078 fESDList[iCut]->SetName(Form(
"%s_%s_%s_%s ESD histograms",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1082 fHistoNEvents[iCut] =
new TH1F(
"NEvents",
"NEvents", 14, -0.5, 13.5);
1084 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(2,
"Centrality");
1085 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(3,
"Miss. MC or inc. ev.");
1087 TString TriggerNames =
"Not Trigger: ";
1089 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(4,TriggerNames.Data());
1094 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(6,
"Cont. Vertex");
1098 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(10,
"EMCAL problem");
1099 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(11,
"rejectedForJetJetMC");
1100 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(12,
"SPD hits vs tracklet");
1101 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(13,
"Out-of-Bunch pileup Past-Future");
1102 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(14,
"Pileup V0M-TPCout Tracks");
1111 TString TriggerNames =
"Not Trigger: ";
1147 fHistoVertexZ[iCut] =
new TH1F(
"VertexZ",
"VertexZ", 200, -10, 10);
1150 fHistoVertexX[iCut] =
new TH1F(
"VertexX",
"VertexX", 100, -5, 5);
1152 fHistoVertexY[iCut] =
new TH1F(
"VertexY",
"VertexY", 100, -5, 5);
1180 fHistoNV0Tracks[iCut] =
new TH1F(
"V0 Multiplicity",
"V0 Multiplicity", 30000, 0, 30000);
1182 fHistoNV0Tracks[iCut] =
new TH1F(
"V0 Multiplicity",
"V0 Multiplicity", 2500, 0, 2500);
1184 fHistoNV0Tracks[iCut] =
new TH1F(
"V0 Multiplicity",
"V0 Multiplicity", 1500, 0, 1500);
1188 fHistoConvGammaPt[iCut] =
new TH1F(
"ESD_ConvGamma_Pt",
"ESD_ConvGamma_Pt", (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1194 fProfileEtaShift[iCut] =
new TProfile(
"Eta Shift",
"Eta Shift", 1, -0.5, 0.5);
1215 fPhotonDCAList[iCut]->SetName(Form(
"%s_%s_%s_%s Photon DCA tree",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1230 fClusterOutputList[iCut]->SetName(Form(
"%s_%s_%s_%s Cluster Output",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1234 fHistoClusGammaPt[iCut] =
new TH1F(
"ClusGamma_Pt",
"ClusGamma_Pt", nBinsClusterPt, arrClusPtBinning);
1237 fHistoClusGammaE[iCut] =
new TH1F(
"ClusGamma_E",
"ClusGamma_E", nBinsClusterPt, arrClusPtBinning);
1243 fHistoClusAllHeadersGammaPt[iCut] =
new TH1F(
"ClusGammaAllHeaders_Pt",
"ClusGammaAllHeaders_Pt", nBinsClusterPt, arrClusPtBinning);
1252 fGammaERM02[iCut]->SetName(Form(
"%s_%s_%s_%s ConvGamma-Cluster Matched",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1256 tESDGammaERM02[iCut] =
new TTree(
"ESD_ConvGamma_E_ConvR_M02_M20",
"ESD_ConvGamma_E_ConvR_M02_M20");
1271 fInvMassShowerShape[iCut]->SetName(Form(
"%s_%s_%s_%s InvMass_ShowerShape",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1274 tESDInvMassShowerShape[iCut] =
new TTree(
"ESD_Meson_InvMass_Pt_ClusE_ClusM02_ClusM20",
"ESD_Meson_InvMass_Pt_ClusE_ClusM02_ClusM20");
1299 fHistoMotherInvMassPt[iCut] =
new TH2F(
"ESD_Mother_InvMass_Pt",
"ESD_Mother_InvMass_Pt", 800, 0, 0.8, nBinsPt, arrPtBinning);
1317 fHistoMotherInvMassPtAlpha[iCut] =
new TH2F(
"ESD_Mother_InvMass_vs_Pt_Alpha",
"ESD_Mother_InvMass_vs_Pt_Alpha", 800, 0, 0.8, nBinsPt, arrPtBinning);
1362 fHistoMotherPi0PtY[iCut] =
new TH2F(
"ESD_MotherPi0_Pt_Y",
"ESD_MotherPi0_Pt_Y", nBinsQAPt, arrQAPtBinning, 150, -1.5, 1.5);
1366 fHistoMotherEtaPtY[iCut] =
new TH2F(
"ESD_MotherEta_Pt_Y",
"ESD_MotherEta_Pt_Y", nBinsQAPt, arrQAPtBinning, 150, -1.5, 1.5);
1370 fHistoMotherPi0PtAlpha[iCut] =
new TH2F(
"ESD_MotherPi0_Pt_Alpha",
"ESD_MotherPi0_Pt_Alpha", nBinsQAPt, arrQAPtBinning, 200, -1, 1);
1374 fHistoMotherEtaPtAlpha[iCut] =
new TH2F(
"ESD_MotherEta_Pt_Alpha",
"ESD_MotherEta_Pt_Alpha", nBinsQAPt, arrQAPtBinning, 200, -1, 1);
1382 fHistoMotherEtaPtOpenAngle[iCut] =
new TH2F(
"ESD_MotherEta_Pt_OpenAngle",
"ESD_MotherEta_Pt_OpenAngle", nBinsQAPt, arrQAPtBinning, 200, 0, TMath::Pi());
1609 TString cutstringMeson =
"NoMesonCut";
1614 fMCList[iCut]->SetName(Form(
"%s_%s_%s_%s MC histograms",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1615 fMCList[iCut]->SetOwner(kTRUE);
1620 fHistoMCAllGammaPt[iCut] =
new TH1F(
"MC_AllGamma_Pt",
"MC_AllGamma_Pt", (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1645 fHistoMCConvGammaPt[iCut] =
new TH1F(
"MC_ConvGamma_Pt",
"MC_ConvGamma_Pt", (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1671 fHistoMCPi0Pt[iCut] =
new TH1F(
"MC_Pi0_Pt",
"MC_Pi0_Pt", (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1674 fHistoMCPi0WOWeightPt[iCut] =
new TH1F(
"MC_Pi0_WOWeights_Pt",
"MC_Pi0_WOWeights_Pt", (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1677 fHistoMCEtaPt[iCut] =
new TH1F(
"MC_Eta_Pt",
"MC_Eta_Pt", (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1680 fHistoMCEtaWOWeightPt[iCut] =
new TH1F(
"MC_Eta_WOWeights_Pt",
"MC_Eta_WOWeights_Pt", (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1683 fHistoMCPi0InAccPt[iCut] =
new TH1F(
"MC_Pi0InAcc_Pt",
"MC_Pi0InAcc_Pt", (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1688 fHistoMCEtaInAccPt[iCut] =
new TH1F(
"MC_EtaInAcc_Pt",
"MC_EtaInAcc_Pt", (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1699 fHistoMCPi0WOEvtWeightPt[iCut] =
new TH1F(
"MC_Pi0_WOEventWeights_Pt",
"MC_Pi0_WOEventWeights_Pt", (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1701 fHistoMCEtaWOEvtWeightPt[iCut] =
new TH1F(
"MC_Eta_WOEventWeights_Pt",
"MC_Eta_WOEventWeights_Pt", (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1709 fHistoMCPi0PtJetPt[iCut] =
new TH2F(
"MC_Pi0_Pt_JetPt",
"MC_Pi0_Pt_JetPt", nBinsQAPt, arrQAPtBinning, 200, 0, 200);
1712 fHistoMCEtaPtJetPt[iCut] =
new TH2F(
"MC_Eta_Pt_JetPt",
"MC_Eta_Pt_JetPt", nBinsQAPt, arrQAPtBinning, 200, 0, 200);
1735 fHistoMCSecEtaPt[iCut] =
new TH1F(
"MC_SecEta_Pt",
"MC_SecEta_Pt", (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1780 fHistoMCPi0PtY[iCut] =
new TH2F(
"MC_Pi0_Pt_Y",
"MC_Pi0_Pt_Y", nBinsQAPt, arrQAPtBinning, 150, -1.5, 1.5);
1783 fHistoMCEtaPtY[iCut] =
new TH2F(
"MC_Eta_Pt_Y",
"MC_Eta_Pt_Y", nBinsQAPt, arrQAPtBinning, 150, -1.5, 1.5);
1786 fHistoMCPi0PtAlpha[iCut] =
new TH2F(
"MC_Pi0_Pt_Alpha",
"MC_Pi0_Pt_Alpha", nBinsQAPt, arrQAPtBinning, 200, -1, 1);
1788 fHistoMCEtaPtAlpha[iCut] =
new TH2F(
"MC_Eta_Pt_Alpha",
"MC_Eta_Pt_Alpha", nBinsQAPt, arrQAPtBinning, 200, -1, 1);
1799 fTrueList[iCut]->SetName(Form(
"%s_%s_%s_%s True histograms",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1804 fHistoTrueConvGammaPt[iCut] =
new TH1F(
"ESD_TrueConvGamma_Pt",
"ESD_TrueConvGamma_Pt", (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1815 fHistoCombinatorialPt[iCut] =
new TH2F(
"ESD_TrueCombinatorial_Pt",
"ESD_TrueCombinatorial_Pt", (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt, 16, -0.5, 15.5);
1857 (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt, (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1863 (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt, (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1868 (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt, (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1873 (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt, (
Int_t)((maxPt-minPt)/0.1), minPt, maxPt);
1879 fHistoTrueClusGammaPt[iCut] =
new TH1F(
"TrueClusGamma_Pt",
"ESD_TrueClusGamma_Pt", nBinsClusterPt, arrClusPtBinning);
1883 fHistoTruePrimaryClusGammaPt[iCut] =
new TH1F(
"TruePrimaryClusGamma_Pt",
"ESD_TruePrimaryClusGamma_Pt", nBinsClusterPt, arrClusPtBinning);
1890 fHistoTrueClusElectronPt[iCut] =
new TH1F(
"TrueClusElectron_Pt",
"TrueElectronGamma_Pt", nBinsClusterPt, arrClusPtBinning);
1893 fHistoTrueClusConvGammaPt[iCut] =
new TH1F(
"TrueClusConvGamma_Pt",
"TrueClusConvGamma_Pt", nBinsClusterPt, arrClusPtBinning);
1924 fHistoTrueNLabelsInClusPt[iCut] =
new TH2F(
"TrueNLabelsInClus_Pt",
"TrueNLabelsInClus_Pt", 100, -0.5, 99.5, nBinsClusterPt, arrClusPtBinning);
1929 fHistoTrueClusPi0EM02[iCut] =
new TH2F(
"TrueClusPi0EM02",
"TrueClusPi0EM02", nBinsClusterPt, arrClusPtBinning, 400, 0, 5);
1984 fHistoTrueClusConvGammaFullyPt[iCut] =
new TH1F(
"TrueClusConvGammaFullyContained_Pt",
"TrueClusConvGammaFullyContained_Pt", nBinsClusterPt, arrClusPtBinning);
1987 fHistoTrueClusMergedGammaPt[iCut] =
new TH1F(
"TrueClusMergedGamma_Pt",
"TrueClusMergedGamma_Pt", nBinsClusterPt, arrClusPtBinning);
1993 fHistoTrueClusDalitzPt[iCut] =
new TH1F(
"TrueClusDalitz_Pt",
"TrueClusDalitz_Pt", nBinsClusterPt, arrClusPtBinning);
2002 fHistoTrueClusShowerPt[iCut] =
new TH1F(
"TrueClusShower_Pt",
"TrueClusShower_Pt", nBinsClusterPt, arrClusPtBinning);
2005 fHistoTrueClusSubLeadingPt[iCut] =
new TH1F(
"TrueClusSubleading_Pt",
"TrueClusSubleading_Pt", nBinsClusterPt, arrClusPtBinning);
2025 fHistoTruePi0InvMassPt[iCut] =
new TH2F(
"ESD_TruePi0_InvMass_Pt",
"ESD_TruePi0_InvMass_Pt", 800, 0, 0.8, nBinsPt, arrPtBinning);
2029 fHistoTrueEtaInvMassPt[iCut] =
new TH2F(
"ESD_TrueEta_InvMass_Pt",
"ESD_TrueEta_InvMass_Pt", 800, 0, 0.8, nBinsPt, arrPtBinning);
2207 800, 0, 0.8, nBinsPt, arrPtBinning);
2213 800, 0, 0.8, nBinsPt, arrPtBinning);
2234 800, 0, 0.8, nBinsPt, arrPtBinning);
2240 800, 0, 0.8, nBinsPt, arrPtBinning);
2284 800, 0, 0.8, nBinsPt, arrPtBinning);
2289 800, 0, 0.8, nBinsPt, arrPtBinning);
2339 fHistoTruePi0PtY[iCut] =
new TH2F(
"ESD_TruePi0_Pt_Y",
"ESD_TruePi0_Pt_Y", nBinsQAPt, arrQAPtBinning, 150, -1.5, 1.5);
2343 fHistoTrueEtaPtY[iCut] =
new TH2F(
"ESD_TrueEta_Pt_Y",
"ESD_TrueEta_Pt_Y", nBinsQAPt, arrQAPtBinning, 150, -1.5, 1.5);
2347 fHistoTruePi0PtAlpha[iCut] =
new TH2F(
"ESD_TruePi0_Pt_Alpha",
"ESD_TruePi0_Pt_Alpha", nBinsQAPt, arrQAPtBinning, 200, -1, 1);
2351 fHistoTrueEtaPtAlpha[iCut] =
new TH2F(
"ESD_TrueEta_Pt_Alpha",
"ESD_TrueEta_Pt_Alpha", nBinsQAPt, arrQAPtBinning, 200, -1, 1);
2356 fHistoTruePi0PtOpenAngle[iCut] =
new TH2F(
"ESD_TruePi0_Pt_OpenAngle",
"ESD_TruePi0_Pt_OpenAngle", nBinsQAPt, arrQAPtBinning, 100, 0, 1);
2360 fHistoTrueEtaPtOpenAngle[iCut] =
new TH2F(
"ESD_TrueEta_Pt_OpenAngle",
"ESD_TrueEta_Pt_OpenAngle", nBinsQAPt, arrQAPtBinning, 200, 0, TMath::Pi());
2421 for(
Int_t iMatcherTask = 0; iMatcherTask < 3; iMatcherTask++){
2485 printf(
" Gamma Conversion Task %s :: Eta Shift Manually Set to %f \n\n",
2506 if(
fInputEvent->IsIncompleteDAQ()==kTRUE) eventQuality = 2;
2508 if(eventQuality == 2 || eventQuality == 3){
2535 AliEventplane *EventPlane =
fInputEvent->GetEventplane();
2550 Bool_t isRunningEMCALrelAna = kFALSE;
2559 if((xsection==-1.) || (ntrials==-1.)) AliFatal(Form(
"ERROR: GetXSectionAndNTrials returned invalid xsection/ntrials, periodName from V0Reader: '%s'",
fV0Reader->
GetPeriodName().Data()));
2580 Bool_t triggered = kTRUE;
2582 if(eventNotAccepted!= 0){
2586 if (eventNotAccepted==3 &&
fIsMC > 0){
2593 if(eventQuality != 0){
2600 if (triggered==kTRUE){
2623 else if(
fInputEvent->IsA()==AliAODEvent::Class()){
2632 if (nameBin.CompareTo(
"")== 0){
2634 ->GetAcceptedHeader())->At(i))->GetString();
2635 fHistoMCHeaders[iCut]->GetXaxis()->SetBinLabel(i+1,nameHeader.Data());
2648 if (triggered==kFALSE)
continue;
2739 TClonesArray * arrClustersProcess = NULL;
2744 if(!arrClustersProcess)
2745 AliFatal(Form(
"%sClustersBranch was not found in AliAnalysisTaskGammaConvCalo! Check the correction framework settings!",
fCorrTaskSetting.Data()));
2746 nclus = arrClustersProcess->GetEntries();
2751 if(nclus == 0)
return;
2761 InputEvent()->GetPrimaryVertex()->GetXYZ(vertex);
2764 for(
Int_t i = 0; i < nclus; i++){
2765 AliVCluster* clus = NULL;
2767 if(arrClustersProcess)
2768 clus =
new AliESDCaloCluster(*(AliESDCaloCluster*)arrClustersProcess->At(i));
2770 clus =
new AliESDCaloCluster(*(AliESDCaloCluster*)
fInputEvent->GetCaloCluster(i));
2771 }
else if(
fInputEvent->IsA()==AliAODEvent::Class()){
2772 if(arrClustersProcess)
2773 clus =
new AliAODCaloCluster(*(AliAODCaloCluster*)arrClustersProcess->At(i));
2775 clus =
new AliAODCaloCluster(*(AliAODCaloCluster*)
fInputEvent->GetCaloCluster(i));
2778 if (!clus)
continue;
2786 TLorentzVector clusterVector;
2787 clus->GetMomentum(clusterVector,vertex);
2789 TLorentzVector* tmpvec =
new TLorentzVector();
2790 tmpvec->SetPxPyPzE(clusterVector.Px(),clusterVector.Py(),clusterVector.Pz(),clusterVector.E());
2794 if(!PhotonCandidate){
delete clus;
delete tmpvec;
continue;}
2803 Int_t* mclabelsCluster = clus->GetLabels();
2806 if (clus->GetNLabels()>0){
2807 for (
Int_t k =0; k<(
Int_t)clus->GetNLabels(); k++){
2823 if (clus->GetNLabels()>1){
2824 Int_t* mclabelsCluster = clus->GetLabels();
2825 for (
Int_t l = 1; l < (
Int_t)clus->GetNLabels(); l++ ){
2850 delete PhotonCandidate;
2863 TParticle *Photon = NULL;
2864 if (!TruePhotonCandidate->
GetIsCaloPhoton()) AliFatal(
"CaloPhotonFlag has not been set task will abort");
2878 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
2879 Double_t mcProdVtxX = primVtxMC->GetX();
2880 Double_t mcProdVtxY = primVtxMC->GetY();
2881 Double_t mcProdVtxZ = primVtxMC->GetZ();
2909 Int_t secondaryClass = -1;
2915 if (secondaryClass > 0 ){
2919 if (secondaryClass == 2)
2922 else if (secondaryClass == 3)
2924 else if (secondaryClass == 5)
2956 if (TruePhotonCandidate->
IsDalitz())
2965 if (TruePhotonCandidate->
IsShower())
2975 Int_t motherLab = Photon->GetMother(0);
2976 if (motherLab > -1){
2983 if ( TMath::Abs(
fMCEvent->Particle(motherLab)->GetPdgCode()) == 111 &&
2991 Int_t grandMotherLab =
fMCEvent->Particle(motherLab)->GetMother(0);
2992 if (grandMotherLab > -1){
3009 AliAODMCParticle *Photon = NULL;
3010 TClonesArray *AODMCTrackArray =
dynamic_cast<TClonesArray*
>(
fInputEvent->FindListObject(AliAODMCParticle::StdBranchName()));
3011 if (AODMCTrackArray){
3012 if (!TruePhotonCandidate->
GetIsCaloPhoton()) AliFatal(
"CaloPhotonFlag has not been set task will abort");
3016 AliInfo(
"AODMCTrackArray could not be loaded");
3028 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
3029 Double_t mcProdVtxX = primVtxMC->GetX();
3030 Double_t mcProdVtxY = primVtxMC->GetY();
3031 Double_t mcProdVtxZ = primVtxMC->GetZ();
3036 if (Photon->GetMother()> -1){
3037 AliAODMCParticle *Mother = (AliAODMCParticle*) AODMCTrackArray->At(Photon->GetMother());
3054 AliAODMCParticle *Mother = (AliAODMCParticle*) AODMCTrackArray->At(Photon->GetMother());
3058 Int_t secondaryClass = -1;
3064 if (secondaryClass > 0 ){
3068 if (secondaryClass == 2)
3071 else if (secondaryClass == 3)
3073 else if (secondaryClass == 5)
3096 if (TruePhotonCandidate->
IsDalitz())
3102 if (TruePhotonCandidate->
IsShower())
3109 Int_t motherLab = Photon->GetMother();
3110 if (motherLab > -1){
3121 Int_t grandMotherLab = ((AliAODMCParticle*) AODMCTrackArray->At(motherLab))->GetMother();
3122 if (grandMotherLab > -1){
3144 if(!PhotonCandidate)
continue;
3170 if (
fIsHeavyIon == 1 && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 30.){
3179 }
else if ( PhotonCandidate->Pt() > 0.299 && PhotonCandidate->Pt() < 30.){
3193 GammaCandidatesStepOne->Add(PhotonCandidate);
3196 GammaCandidatesStepTwo->Add(PhotonCandidate);
3200 for(
Int_t i = 0;i<GammaCandidatesStepOne->GetEntries();i++){
3202 if(!PhotonCandidate)
continue;
3222 if (
fIsHeavyIon ==1 && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 30.){
3231 }
else if ( PhotonCandidate->Pt() > 0.299 && PhotonCandidate->Pt() < 30.){
3242 }
else GammaCandidatesStepTwo->Add(PhotonCandidate);
3246 for(
Int_t i = 0;i<GammaCandidatesStepTwo->GetEntries();i++){
3248 if(!PhotonCandidate)
continue;
3267 if (
fIsHeavyIon == 1 && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 65.){
3276 }
else if ( PhotonCandidate->Pt() > 0.299 && PhotonCandidate->Pt() < 65.){
3290 delete GammaCandidatesStepOne;
3291 GammaCandidatesStepOne = 0x0;
3292 delete GammaCandidatesStepTwo;
3293 GammaCandidatesStepTwo = 0x0;
3300 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
3301 Double_t mcProdVtxX = primVtxMC->GetX();
3302 Double_t mcProdVtxY = primVtxMC->GetY();
3303 Double_t mcProdVtxZ = primVtxMC->GetZ();
3306 if( magField < 0.0 ){
3313 TClonesArray *AODMCTrackArray =
dynamic_cast<TClonesArray*
>(
fInputEvent->FindListObject(AliAODMCParticle::StdBranchName()));
3314 if (AODMCTrackArray == NULL)
return;
3315 AliAODMCParticle *posDaughter = (AliAODMCParticle*) AODMCTrackArray->At(TruePhotonCandidate->
GetMCLabelPositive());
3316 AliAODMCParticle *negDaughter = (AliAODMCParticle*) AODMCTrackArray->At(TruePhotonCandidate->
GetMCLabelNegative());
3319 if(posDaughter == NULL || negDaughter == NULL)
return;
3320 Int_t pdgCode[2] = {TMath::Abs(posDaughter->GetPdgCode()),TMath::Abs(negDaughter->GetPdgCode())};
3322 if(posDaughter->GetMother() != negDaughter->GetMother()){
3327 else if(posDaughter->GetMother() == -1){
3333 if(pdgCode[0]!=11 || pdgCode[1]!=11){
3338 if(posDaughter->GetPdgCode()==negDaughter->GetPdgCode()){
3343 AliAODMCParticle *Photon = (AliAODMCParticle*) AODMCTrackArray->At(posDaughter->GetMother());
3344 if(Photon->GetPdgCode() != 22){
3349 if(((posDaughter->GetMCProcessCode())) != 5 || ((negDaughter->GetMCProcessCode())) != 5){
3382 if(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother() > -1 &&
3383 ((AliAODMCParticle*)AODMCTrackArray->At(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother()))->GetPdgCode() == 310){
3391 }
else if(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother() > -1 &&
3392 ((AliAODMCParticle*)AODMCTrackArray->At(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother()))->GetPdgCode() == 130) {
3400 }
else if(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother() > -1 &&
3401 ((AliAODMCParticle*)AODMCTrackArray->At(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother()))->GetPdgCode() == 3122){
3408 }
else if (((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother() > -1 &&
3409 ((AliAODMCParticle*)AODMCTrackArray->At(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother()))->GetPdgCode() == 221) {
3429 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
3430 Double_t mcProdVtxX = primVtxMC->GetX();
3431 Double_t mcProdVtxY = primVtxMC->GetY();
3432 Double_t mcProdVtxZ = primVtxMC->GetZ();
3435 if( magField < 0.0 ){
3447 if(posDaughter == NULL || negDaughter == NULL)
return;
3448 Int_t pdgCode[2] = {TMath::Abs(posDaughter->GetPdgCode()),TMath::Abs(negDaughter->GetPdgCode())};
3450 if(posDaughter->GetMother(0) != negDaughter->GetMother(0)){
3454 else if(posDaughter->GetMother(0) == -1){
3459 if(pdgCode[0]!=11 || pdgCode[1]!=11)
return;
3461 if(posDaughter->GetPdgCode()==negDaughter->GetPdgCode())
return;
3465 if(Photon->GetPdgCode() != 22){
3469 if(posDaughter->GetUniqueID() != 5 || negDaughter->GetUniqueID() !=5)
return;
3483 fCharPhotonMCInfo = 6;
3493 fCharPhotonMCInfo = 2;
3494 if( Photon->GetMother(0) > -1 &&
fMCEvent->Particle(Photon->GetMother(0))->GetMother(0) > -1){
3495 if (
fMCEvent->Particle(
fMCEvent->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 310){
3496 fCharPhotonMCInfo = 4;
3502 }
else if (
fMCEvent->Particle(
fMCEvent->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 130) {
3503 fCharPhotonMCInfo = 7;
3509 }
else if (
fMCEvent->Particle(
fMCEvent->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 3122) {
3510 fCharPhotonMCInfo = 5;
3516 }
else if (
fMCEvent->Particle(
fMCEvent->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 221) {
3517 fCharPhotonMCInfo = 3;
3542 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
3543 Double_t mcProdVtxX = primVtxMC->GetX();
3544 Double_t mcProdVtxY = primVtxMC->GetY();
3545 Double_t mcProdVtxZ = primVtxMC->GetZ();
3547 TClonesArray *AODMCTrackArray =
dynamic_cast<TClonesArray*
>(
fInputEvent->FindListObject(AliAODMCParticle::StdBranchName()));
3548 if (AODMCTrackArray == NULL)
return;
3551 for(Long_t i = 0; i < AODMCTrackArray->GetEntriesFast(); i++) {
3553 AliAODMCParticle* particle =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(i));
3554 if (!particle)
continue;
3559 Int_t isMCFromMBHeader = -1;
3569 if (TMath::Abs(particle->Eta()) < 0.66 ){
3572 if(particle->GetMother() >-1){
3573 switch((static_cast<AliAODMCParticle*>(AODMCTrackArray->At(particle->GetMother())))->GetPdgCode()){
3600 for(
Int_t daughterIndex=particle->GetDaughter(0);daughterIndex<=particle->GetDaughter(1);daughterIndex++){
3601 AliAODMCParticle *tmpDaughter =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(daughterIndex));
3602 if(!tmpDaughter)
continue;
3611 if (particle->E() != TMath::Abs(particle->Pz())){
3612 ratio = (particle->E()+particle->Pz()) / (particle->E()-particle->Pz());
3614 if( !(ratio <= 0) ){
3619 if ( particle->GetPdgCode() == 211 ){
3621 }
else if ( particle->GetPdgCode() == -211 ){
3623 }
else if ( particle->GetPdgCode() == 321 ){
3625 }
else if ( particle->GetPdgCode() == -321 ){
3627 }
else if ( TMath::Abs(particle->GetPdgCode()) == 310 ){
3629 }
else if ( TMath::Abs(particle->GetPdgCode()) == 130 ){
3631 }
else if ( TMath::Abs(particle->GetPdgCode()) == 3122 ){
3639 AliAODMCParticle* daughter0 =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetDaughter(0)));
3640 AliAODMCParticle* daughter1 =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetDaughter(1)));
3643 if (particle->Pt()>0.005){
3652 if (particle->E() != TMath::Abs(particle->Pz())){
3653 ratio = (particle->E()+particle->Pz()) / (particle->E()-particle->Pz());
3655 if( !(ratio <= 0) ){
3659 if (particle->GetPdgCode() == 111 || particle->GetPdgCode() == 221){
3660 alpha = (daughter0->E() - daughter1->E())/(daughter0->E() + daughter1->E());
3664 if(particle->GetPdgCode() == 111){
3687 }
else if(particle->GetPdgCode() == 221){
3706 if(particle->GetPdgCode() == 111){
3723 }
else if(particle->GetPdgCode() == 221){
3734 Int_t isMCFromMBHeader = -1;
3741 if (particle->GetMother() > -1) {
3742 AliAODMCParticle *tmpMother =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetMother()));
3743 if (tmpMother->GetMother() > -1) {
3744 AliAODMCParticle *tmpGrandMother =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(tmpMother->GetMother()));
3745 if(tmpGrandMother->GetPdgCode() == 310) {
3747 }
else if (tmpGrandMother->GetPdgCode() == 130) {
3749 }
else if (tmpGrandMother->GetPdgCode() == 3122) {
3752 if ( !(TMath::Abs(tmpMother->GetPdgCode()) == 11 && tmpGrandMother->GetPdgCode() == 22) )
3764 if (particle->GetMother() > -1) {
3765 AliAODMCParticle *tmpMother =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetMother()));
3766 if (tmpMother->GetMother() > -1) {
3767 AliAODMCParticle *tmpGrandMother =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(tmpMother->GetMother()));
3768 if(tmpGrandMother->GetPdgCode() == 310) {
3770 }
else if (tmpGrandMother->GetPdgCode() == 130) {
3772 }
else if (tmpGrandMother->GetPdgCode() == 3122) {
3775 if ( !(TMath::Abs(tmpMother->GetPdgCode()) == 11 && tmpGrandMother->GetPdgCode() == 22) )
3789 AliAODMCParticle* daughter0 =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetDaughter(0)));
3790 AliAODMCParticle* daughter1 =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetDaughter(1)));
3791 AliAODMCParticle* mother =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetMother()));
3792 Int_t pdgCode = mother->GetPdgCode();
3793 if(particle->GetPdgCode() == 111){
3801 }
else if(particle->GetPdgCode() == 221){
3815 if (particle->GetPdgCode() == 111){
3834 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
3835 Double_t mcProdVtxX = primVtxMC->GetX();
3836 Double_t mcProdVtxY = primVtxMC->GetY();
3837 Double_t mcProdVtxZ = primVtxMC->GetZ();
3841 for(Long_t i = 0; i <
fMCEvent->GetNumberOfTracks(); i++) {
3844 TParticle* particle = (TParticle *)
fMCEvent->Particle(i);
3845 if (!particle)
continue;
3847 Int_t isMCFromMBHeader = -1;
3857 if (TMath::Abs(particle->Eta()) < 0.66 ){
3861 if(particle->GetMother(0) >-1){
3862 switch(
fMCEvent->Particle(particle->GetMother(0))->GetPdgCode()){
3899 if (particle->Energy() != TMath::Abs(particle->Pz())){
3900 ratio = (particle->Energy()+particle->Pz()) / (particle->Energy()-particle->Pz());
3902 if( !(ratio <= 0) ){
3907 if ( particle->GetPdgCode() == 211 ){
3909 }
else if ( particle->GetPdgCode() == -211 ){
3911 }
else if ( particle->GetPdgCode() == 321 ){
3913 }
else if ( particle->GetPdgCode() == -321 ){
3915 }
else if ( TMath::Abs(particle->GetPdgCode()) == 310 ){
3917 }
else if ( TMath::Abs(particle->GetPdgCode()) == 130 ){
3919 }
else if ( TMath::Abs(particle->GetPdgCode()) == 3122 ){
3927 TParticle* daughter0 = (TParticle*)
fMCEvent->Particle(particle->GetFirstDaughter());
3928 TParticle* daughter1 = (TParticle*)
fMCEvent->Particle(particle->GetLastDaughter());
3932 if (particle->Pt()>0.005){
3938 if (particle->Energy() != TMath::Abs(particle->Pz())){
3939 ratio = (particle->Energy()+particle->Pz()) / (particle->Energy()-particle->Pz());
3941 if( !(ratio <= 0) ){
3946 if (particle->GetPdgCode() == 111 || particle->GetPdgCode() == 221){
3947 alpha = (daughter0->Energy() - daughter1->Energy())/(daughter0->Energy() + daughter1->Energy());
3950 if(particle->GetPdgCode() == 111){