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){
886 Int_t nBinsQAPt = 170;
888 Int_t nBinsClusterPt = 500;
898 for(
Int_t i=0; i<nBinsQAPt+1;i++){
899 if(i<60) arrQAPtBinning[i] = 0.05*i;
900 else if(i<130) arrQAPtBinning[i] = 3.+0.1*(i-60);
901 else if(i<170) arrQAPtBinning[i] = 10.+0.25*(i-130);
902 else if(i<190) arrQAPtBinning[i] = 20.+1.0*(i-170);
903 else arrQAPtBinning[i] = maxQAPt;
908 for(
Int_t i=0; i<nBinsPt+1;i++){
909 arrPtBinning[i] = ((maxPt-minPt)/nBinsPt)*i;
911 nBinsClusterPt = 800;
914 for(
Int_t i=0; i<nBinsPt+1;i++){
915 arrClusPtBinning[i] = ((maxClusterPt-minClusterPt)/nBinsClusterPt)*i;
925 for(
Int_t i=0; i<nBinsPt+1;i++){
926 if (i < 1) arrPtBinning[i] = 0.3*i;
927 else if(i<55) arrPtBinning[i] = 0.3+0.05*(i-1);
928 else if(i<125) arrPtBinning[i] = 3.+0.1*(i-55);
929 else if(i<165) arrPtBinning[i] = 10.+0.25*(i-125);
930 else if(i<205) arrPtBinning[i] = 20.+1.0*(i-165);
931 else arrPtBinning[i] = maxPt;
935 for(
Int_t i=0; i<nBinsQAPt+1;i++){
936 if(i<60) arrQAPtBinning[i] = 0.05*i;
937 else if(i<130) arrQAPtBinning[i] = 3.+0.1*(i-60);
938 else if(i<170) arrQAPtBinning[i] = 10.+0.25*(i-130);
939 else if(i<210) arrQAPtBinning[i] = 20.+1.0*(i-170);
940 else arrQAPtBinning[i] = maxQAPt;
942 nBinsClusterPt = 301;
945 for(
Int_t i=0; i<nBinsClusterPt+1;i++){
946 if (i < 1) arrClusPtBinning[i] = 0.3*i;
947 else if(i<55) arrClusPtBinning[i] = 0.3+0.05*(i-1);
948 else if(i<125) arrClusPtBinning[i] = 3.+0.1*(i-55);
949 else if(i<155) arrClusPtBinning[i] = 10.+0.2*(i-125);
950 else if(i<211) arrClusPtBinning[i] = 16.+0.25*(i-155);
951 else if(i<251) arrClusPtBinning[i] = 30.+0.5*(i-211);
952 else if(i<301) arrClusPtBinning[i] = 50.+1.0*(i-251);
953 else arrClusPtBinning[i] = maxClusterPt;
962 for(
Int_t i=0; i<nBinsPt+1;i++){
963 if (i < 1) arrPtBinning[i] = 0.3*i;
964 else if(i<55) arrPtBinning[i] = 0.3+0.05*(i-1);
965 else if(i<225) arrPtBinning[i] = 3.+0.1*(i-55);
966 else if(i<265) arrPtBinning[i] = 20.+0.25*(i-225);
967 else if(i<305) arrPtBinning[i] = 30.+0.5*(i-265);
968 else if(i<325) arrPtBinning[i] = 50.+1.0*(i-305);
969 else if(i<335) arrPtBinning[i] = 70.+2.5*(i-325);
970 else arrPtBinning[i] = maxPt;
974 for(
Int_t i=0; i<nBinsQAPt+1;i++){
975 if(i<60) arrQAPtBinning[i] = 0.05*i;
976 else if(i<130) arrQAPtBinning[i] = 3.+0.1*(i-60);
977 else if(i<170) arrQAPtBinning[i] = 10.+0.25*(i-130);
978 else if(i<210) arrQAPtBinning[i] = 20.+0.5*(i-170);
979 else if(i<270) arrQAPtBinning[i] = 40.+1.0*(i-210);
980 else arrQAPtBinning[i] = maxQAPt;
982 nBinsClusterPt = 335;
985 for(
Int_t i=0; i<nBinsClusterPt+1;i++){
986 if (i < 1) arrClusPtBinning[i] = 0.3*i;
987 else if(i<55) arrClusPtBinning[i] = 0.3+0.05*(i-1);
988 else if(i<225) arrClusPtBinning[i] = 3.+0.1*(i-55);
989 else if(i<265) arrClusPtBinning[i] = 20.+0.25*(i-225);
990 else if(i<305) arrClusPtBinning[i] = 30.+0.5*(i-265);
991 else if(i<325) arrClusPtBinning[i] = 50.+1.0*(i-305);
992 else if(i<335) arrClusPtBinning[i] = 70.+2.5*(i-325);
993 else arrClusPtBinning[i] = maxClusterPt;
1001 for(
Int_t i=0; i<nBinsPt+1;i++){
1002 if (i < 1) arrPtBinning[i] = 0.3*i;
1003 else if(i<55) arrPtBinning[i] = 0.3+0.05*(i-1);
1004 else if(i<125) arrPtBinning[i] = 3.+0.1*(i-55);
1005 else if(i<185) arrPtBinning[i] = 10.+0.25*(i-125);
1006 else if(i<235) arrPtBinning[i] = 25.+0.5*(i-185);
1007 else if(i<285) arrPtBinning[i] = 50.+1.0*(i-235);
1008 else arrPtBinning[i] = maxPt;
1012 for(
Int_t i=0; i<nBinsQAPt+1;i++){
1013 if(i<60) arrQAPtBinning[i] = 0.05*i;
1014 else if(i<130) arrQAPtBinning[i] = 3.+0.1*(i-60);
1015 else if(i<170) arrQAPtBinning[i] = 10.+0.25*(i-130);
1016 else if(i<210) arrQAPtBinning[i] = 20.+0.5*(i-170);
1017 else if(i<270) arrQAPtBinning[i] = 40.+1.0*(i-210);
1018 else arrQAPtBinning[i] = maxQAPt;
1020 nBinsClusterPt = 301;
1023 for(
Int_t i=0; i<nBinsClusterPt+1;i++){
1024 if (i < 1) arrClusPtBinning[i] = 0.3*i;
1025 else if(i<55) arrClusPtBinning[i] = 0.3+0.05*(i-1);
1026 else if(i<125) arrClusPtBinning[i] = 3.+0.1*(i-55);
1027 else if(i<155) arrClusPtBinning[i] = 10.+0.2*(i-125);
1028 else if(i<211) arrClusPtBinning[i] = 16.+0.25*(i-155);
1029 else if(i<251) arrClusPtBinning[i] = 30.+0.5*(i-211);
1030 else if(i<301) arrClusPtBinning[i] = 50.+1.0*(i-251);
1031 else arrClusPtBinning[i] = maxClusterPt;
1037 for(
Int_t i=0; i<nBinsPt+1;i++){
1038 if (i < 1) arrPtBinning[i] = 0.3*i;
1039 else if(i<58) arrPtBinning[i] = 0.3+0.1*(i-1);
1040 else if(i<82) arrPtBinning[i] = 6.+0.25*(i-58);
1041 else if(i<90) arrPtBinning[i] = 12.+1.0*(i-82);
1042 else arrPtBinning[i] = maxPt;
1046 for(
Int_t i=0; i<nBinsQAPt+1;i++){
1047 if(i<60) arrQAPtBinning[i] = 0.1*i;
1048 else if(i<84) arrQAPtBinning[i] = 6.+0.25*(i-60);
1049 else if(i<92) arrQAPtBinning[i] = 12.+1.0*(i-84);
1050 else arrQAPtBinning[i] = maxQAPt;
1052 nBinsClusterPt = 148;
1055 for(
Int_t i=0; i<nBinsClusterPt+1;i++){
1056 if (i < 1) arrClusPtBinning[i] = 0.3*i;
1057 else if(i<98) arrClusPtBinning[i] = 0.3+0.1*(i-1);
1058 else if(i<123) arrClusPtBinning[i] = 10.+0.2*(i-98);
1059 else if(i<148) arrClusPtBinning[i] = 15.+1.0*(i-123);
1060 else arrClusPtBinning[i] = maxClusterPt;
1066 for(
Int_t i=0; i<nBinsPt+1;i++){
1067 if (i < 1) arrPtBinning[i] = 0.3*i;
1068 else if(i<58) arrPtBinning[i] = 0.3+0.1*(i-1);
1069 else if(i<82) arrPtBinning[i] = 6.+0.25*(i-58);
1070 else if(i<90) arrPtBinning[i] = 12.+1.0*(i-82);
1071 else arrPtBinning[i] = maxPt;
1075 for(
Int_t i=0; i<nBinsQAPt+1;i++){
1076 if(i<60) arrQAPtBinning[i] = 0.1*i;
1077 else if(i<84) arrQAPtBinning[i] = 6.+0.25*(i-60);
1078 else if(i<92) arrQAPtBinning[i] = 12.+1.0*(i-84);
1079 else arrQAPtBinning[i] = maxQAPt;
1081 nBinsClusterPt = 148;
1084 for(
Int_t i=0; i<nBinsClusterPt+1;i++){
1085 if (i < 1) arrClusPtBinning[i] = 0.3*i;
1086 else if(i<98) arrClusPtBinning[i] = 0.3+0.1*(i-1);
1087 else if(i<123) arrClusPtBinning[i] = 10.+0.2*(i-98);
1088 else if(i<148) arrClusPtBinning[i] = 15.+1.0*(i-123);
1089 else arrClusPtBinning[i] = maxClusterPt;
1093 for(
Int_t i=0; i<nBinsPt+1;i++){
1094 arrPtBinning[i] = ((maxPt-minPt)/nBinsPt)*i;
1096 for(
Int_t i=0; i<nBinsClusterPt+1;i++){
1097 arrClusPtBinning[i] = ((maxClusterPt-minClusterPt)/nBinsClusterPt)*i;
1099 for(
Int_t i=0; i<nBinsQAPt+1;i++){
1100 if(i<60) arrQAPtBinning[i] = 0.05*i;
1101 else if(i<130) arrQAPtBinning[i] = 3.+0.1*(i-60);
1102 else if(i<170) arrQAPtBinning[i] = 10.+0.25*(i-130);
1103 else arrQAPtBinning[i] = maxQAPt;
1111 TString cutstringMeson =
"NoMesonCut";
1116 fCutFolder[iCut]->SetName(Form(
"Cut Number %s_%s_%s_%s",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1120 fESDList[iCut]->SetName(Form(
"%s_%s_%s_%s ESD histograms",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1124 fHistoNEvents[iCut] =
new TH1F(
"NEvents",
"NEvents", 14, -0.5, 13.5);
1126 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(2,
"Centrality");
1127 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(3,
"Miss. MC or inc. ev.");
1129 TString TriggerNames =
"Not Trigger: ";
1131 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(4,TriggerNames.Data());
1136 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(6,
"Cont. Vertex");
1140 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(10,
"EMCAL problem");
1141 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(11,
"rejectedForJetJetMC");
1142 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(12,
"SPD hits vs tracklet");
1143 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(13,
"Out-of-Bunch pileup Past-Future");
1144 fHistoNEvents[iCut]->GetXaxis()->SetBinLabel(14,
"Pileup V0M-TPCout Tracks");
1153 TString TriggerNames =
"Not Trigger: ";
1189 fHistoVertexZ[iCut] =
new TH1F(
"VertexZ",
"VertexZ", 200, -10, 10);
1192 fHistoVertexX[iCut] =
new TH1F(
"VertexX",
"VertexX", 100, -0.5, 0.5);
1194 fHistoVertexY[iCut] =
new TH1F(
"VertexY",
"VertexY", 100, -0.1, 0.9);
1222 fHistoNV0Tracks[iCut] =
new TH1F(
"V0 Multiplicity",
"V0 Multiplicity", 30000, 0, 30000);
1224 fHistoNV0Tracks[iCut] =
new TH1F(
"V0 Multiplicity",
"V0 Multiplicity", 2500, 0, 2500);
1226 fHistoNV0Tracks[iCut] =
new TH1F(
"V0 Multiplicity",
"V0 Multiplicity", 1500, 0, 1500);
1230 fHistoConvGammaPt[iCut] =
new TH1F(
"ESD_ConvGamma_Pt",
"ESD_ConvGamma_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1236 fProfileEtaShift[iCut] =
new TProfile(
"Eta Shift",
"Eta Shift", 1, -0.5, 0.5);
1257 fPhotonDCAList[iCut]->SetName(Form(
"%s_%s_%s_%s Photon DCA tree",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1272 fClusterOutputList[iCut]->SetName(Form(
"%s_%s_%s_%s Cluster Output",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1276 fHistoClusGammaPt[iCut] =
new TH1F(
"ClusGamma_Pt",
"ClusGamma_Pt", nBinsClusterPt, arrClusPtBinning);
1279 fHistoClusGammaE[iCut] =
new TH1F(
"ClusGamma_E",
"ClusGamma_E", nBinsClusterPt, arrClusPtBinning);
1285 fHistoClusAllHeadersGammaPt[iCut] =
new TH1F(
"ClusGammaAllHeaders_Pt",
"ClusGammaAllHeaders_Pt", nBinsClusterPt, arrClusPtBinning);
1294 fGammaERM02[iCut]->SetName(Form(
"%s_%s_%s_%s ConvGamma-Cluster Matched",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1298 tESDGammaERM02[iCut] =
new TTree(
"ESD_ConvGamma_E_ConvR_M02_M20",
"ESD_ConvGamma_E_ConvR_M02_M20");
1313 fInvMassShowerShape[iCut]->SetName(Form(
"%s_%s_%s_%s InvMass_ShowerShape",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1316 tESDInvMassShowerShape[iCut] =
new TTree(
"ESD_Meson_InvMass_Pt_ClusE_ClusM02_ClusM20",
"ESD_Meson_InvMass_Pt_ClusE_ClusM02_ClusM20");
1341 fHistoMotherInvMassPt[iCut] =
new TH2F(
"ESD_Mother_InvMass_Pt",
"ESD_Mother_InvMass_Pt", 800, 0, 0.8, nBinsPt, arrPtBinning);
1359 fHistoMotherInvMassPtAlpha[iCut] =
new TH2F(
"ESD_Mother_InvMass_vs_Pt_Alpha",
"ESD_Mother_InvMass_vs_Pt_Alpha", 800, 0, 0.8, nBinsPt, arrPtBinning);
1404 fHistoMotherPi0PtY[iCut] =
new TH2F(
"ESD_MotherPi0_Pt_Y",
"ESD_MotherPi0_Pt_Y", nBinsQAPt, arrQAPtBinning, 150, -1.5, 1.5);
1408 fHistoMotherEtaPtY[iCut] =
new TH2F(
"ESD_MotherEta_Pt_Y",
"ESD_MotherEta_Pt_Y", nBinsQAPt, arrQAPtBinning, 150, -1.5, 1.5);
1412 fHistoMotherPi0PtAlpha[iCut] =
new TH2F(
"ESD_MotherPi0_Pt_Alpha",
"ESD_MotherPi0_Pt_Alpha", nBinsQAPt, arrQAPtBinning, 200, -1, 1);
1416 fHistoMotherEtaPtAlpha[iCut] =
new TH2F(
"ESD_MotherEta_Pt_Alpha",
"ESD_MotherEta_Pt_Alpha", nBinsQAPt, arrQAPtBinning, 200, -1, 1);
1424 fHistoMotherEtaPtOpenAngle[iCut] =
new TH2F(
"ESD_MotherEta_Pt_OpenAngle",
"ESD_MotherEta_Pt_OpenAngle", nBinsQAPt, arrQAPtBinning, 200, 0, TMath::Pi());
1651 TString cutstringMeson =
"NoMesonCut";
1656 fMCList[iCut]->SetName(Form(
"%s_%s_%s_%s MC histograms",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1657 fMCList[iCut]->SetOwner(kTRUE);
1662 fHistoMCAllGammaPt[iCut] =
new TH1F(
"MC_AllGamma_Pt",
"MC_AllGamma_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1673 fHistoMCDecayGammaPi0Pt[iCut] =
new TH1F(
"MC_DecayGammaPi0_Pt",
"MC_DecayGammaPi0_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1675 fHistoMCDecayGammaRhoPt[iCut] =
new TH1F(
"MC_DecayGammaRho_Pt",
"MC_DecayGammaRho_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1677 fHistoMCDecayGammaEtaPt[iCut] =
new TH1F(
"MC_DecayGammaEta_Pt",
"MC_DecayGammaEta_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1683 fHistoMCDecayGammaPhiPt[iCut] =
new TH1F(
"MC_DecayGammaPhi_Pt",
"MC_DecayGammaPhi_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1687 fHistoMCConvGammaPt[iCut] =
new TH1F(
"MC_ConvGamma_Pt",
"MC_ConvGamma_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1713 fHistoMCPi0Pt[iCut] =
new TH1F(
"MC_Pi0_Pt",
"MC_Pi0_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1716 fHistoMCPi0WOWeightPt[iCut] =
new TH1F(
"MC_Pi0_WOWeights_Pt",
"MC_Pi0_WOWeights_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1719 fHistoMCEtaPt[iCut] =
new TH1F(
"MC_Eta_Pt",
"MC_Eta_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1722 fHistoMCEtaWOWeightPt[iCut] =
new TH1F(
"MC_Eta_WOWeights_Pt",
"MC_Eta_WOWeights_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1725 fHistoMCPi0InAccPt[iCut] =
new TH1F(
"MC_Pi0InAcc_Pt",
"MC_Pi0InAcc_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1730 fHistoMCEtaInAccPt[iCut] =
new TH1F(
"MC_EtaInAcc_Pt",
"MC_EtaInAcc_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1741 fHistoMCPi0WOEvtWeightPt[iCut] =
new TH1F(
"MC_Pi0_WOEventWeights_Pt",
"MC_Pi0_WOEventWeights_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1743 fHistoMCEtaWOEvtWeightPt[iCut] =
new TH1F(
"MC_Eta_WOEventWeights_Pt",
"MC_Eta_WOEventWeights_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1751 fHistoMCPi0PtJetPt[iCut] =
new TH2F(
"MC_Pi0_Pt_JetPt",
"MC_Pi0_Pt_JetPt", nBinsQAPt, arrQAPtBinning, 200, 0, 200);
1754 fHistoMCEtaPtJetPt[iCut] =
new TH2F(
"MC_Eta_Pt_JetPt",
"MC_Eta_Pt_JetPt", nBinsQAPt, arrQAPtBinning, 200, 0, 200);
1777 fHistoMCSecEtaPt[iCut] =
new TH1F(
"MC_SecEta_Pt",
"MC_SecEta_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1789 fHistoMCPi0PtGammaLeg[iCut] =
new TH2F(
"MC_Pi0_PtGamma_Leg",
"MC_Pi0_PtGamma_Leg", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt, 3, -0.5, 2.5);
1822 fHistoMCPi0PtY[iCut] =
new TH2F(
"MC_Pi0_Pt_Y",
"MC_Pi0_Pt_Y", nBinsQAPt, arrQAPtBinning, 150, -1.5, 1.5);
1825 fHistoMCEtaPtY[iCut] =
new TH2F(
"MC_Eta_Pt_Y",
"MC_Eta_Pt_Y", nBinsQAPt, arrQAPtBinning, 150, -1.5, 1.5);
1828 fHistoMCPi0PtAlpha[iCut] =
new TH2F(
"MC_Pi0_Pt_Alpha",
"MC_Pi0_Pt_Alpha", nBinsQAPt, arrQAPtBinning, 200, -1, 1);
1830 fHistoMCEtaPtAlpha[iCut] =
new TH2F(
"MC_Eta_Pt_Alpha",
"MC_Eta_Pt_Alpha", nBinsQAPt, arrQAPtBinning, 200, -1, 1);
1841 fTrueList[iCut]->SetName(Form(
"%s_%s_%s_%s True histograms",cutstringEvent.Data(),cutstringPhoton.Data(),cutstringCalo.Data(),cutstringMeson.Data()));
1846 fHistoTrueConvGammaPt[iCut] =
new TH1F(
"ESD_TrueConvGamma_Pt",
"ESD_TrueConvGamma_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1857 fHistoCombinatorialPt[iCut] =
new TH2F(
"ESD_TrueCombinatorial_Pt",
"ESD_TrueCombinatorial_Pt", (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt, 16, -0.5, 15.5);
1899 (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt, (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1905 (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt, (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1910 (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt, (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1915 (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt, (
Int_t)((maxPt-minPt)/binWidthPt), minPt, maxPt);
1921 fHistoTrueClusGammaPt[iCut] =
new TH1F(
"TrueClusGamma_Pt",
"ESD_TrueClusGamma_Pt", nBinsClusterPt, arrClusPtBinning);
1925 fHistoTruePrimaryClusGammaPt[iCut] =
new TH1F(
"TruePrimaryClusGamma_Pt",
"ESD_TruePrimaryClusGamma_Pt", nBinsClusterPt, arrClusPtBinning);
1932 fHistoTrueClusElectronPt[iCut] =
new TH1F(
"TrueClusElectron_Pt",
"TrueElectronGamma_Pt", nBinsClusterPt, arrClusPtBinning);
1935 fHistoTrueClusConvGammaPt[iCut] =
new TH1F(
"TrueClusConvGamma_Pt",
"TrueClusConvGamma_Pt", nBinsClusterPt, arrClusPtBinning);
1966 fHistoTrueNLabelsInClusPt[iCut] =
new TH2F(
"TrueNLabelsInClus_Pt",
"TrueNLabelsInClus_Pt", 100, -0.5, 99.5, nBinsClusterPt, arrClusPtBinning);
1971 fHistoTrueClusPi0EM02[iCut] =
new TH2F(
"TrueClusPi0EM02",
"TrueClusPi0EM02", nBinsClusterPt, arrClusPtBinning, 400, 0, 5);
2026 fHistoTrueClusConvGammaFullyPt[iCut] =
new TH1F(
"TrueClusConvGammaFullyContained_Pt",
"TrueClusConvGammaFullyContained_Pt", nBinsClusterPt, arrClusPtBinning);
2029 fHistoTrueClusMergedGammaPt[iCut] =
new TH1F(
"TrueClusMergedGamma_Pt",
"TrueClusMergedGamma_Pt", nBinsClusterPt, arrClusPtBinning);
2035 fHistoTrueClusDalitzPt[iCut] =
new TH1F(
"TrueClusDalitz_Pt",
"TrueClusDalitz_Pt", nBinsClusterPt, arrClusPtBinning);
2044 fHistoTrueClusShowerPt[iCut] =
new TH1F(
"TrueClusShower_Pt",
"TrueClusShower_Pt", nBinsClusterPt, arrClusPtBinning);
2047 fHistoTrueClusSubLeadingPt[iCut] =
new TH1F(
"TrueClusSubleading_Pt",
"TrueClusSubleading_Pt", nBinsClusterPt, arrClusPtBinning);
2067 fHistoTruePi0InvMassPt[iCut] =
new TH2F(
"ESD_TruePi0_InvMass_Pt",
"ESD_TruePi0_InvMass_Pt", 800, 0, 0.8, nBinsPt, arrPtBinning);
2071 fHistoTrueEtaInvMassPt[iCut] =
new TH2F(
"ESD_TrueEta_InvMass_Pt",
"ESD_TrueEta_InvMass_Pt", 800, 0, 0.8, nBinsPt, arrPtBinning);
2249 800, 0, 0.8, nBinsPt, arrPtBinning);
2255 800, 0, 0.8, nBinsPt, arrPtBinning);
2276 800, 0, 0.8, nBinsPt, arrPtBinning);
2282 800, 0, 0.8, nBinsPt, arrPtBinning);
2326 800, 0, 0.8, nBinsPt, arrPtBinning);
2331 800, 0, 0.8, nBinsPt, arrPtBinning);
2381 fHistoTruePi0PtY[iCut] =
new TH2F(
"ESD_TruePi0_Pt_Y",
"ESD_TruePi0_Pt_Y", nBinsQAPt, arrQAPtBinning, 150, -1.5, 1.5);
2385 fHistoTrueEtaPtY[iCut] =
new TH2F(
"ESD_TrueEta_Pt_Y",
"ESD_TrueEta_Pt_Y", nBinsQAPt, arrQAPtBinning, 150, -1.5, 1.5);
2389 fHistoTruePi0PtAlpha[iCut] =
new TH2F(
"ESD_TruePi0_Pt_Alpha",
"ESD_TruePi0_Pt_Alpha", nBinsQAPt, arrQAPtBinning, 200, -1, 1);
2393 fHistoTrueEtaPtAlpha[iCut] =
new TH2F(
"ESD_TrueEta_Pt_Alpha",
"ESD_TrueEta_Pt_Alpha", nBinsQAPt, arrQAPtBinning, 200, -1, 1);
2398 fHistoTruePi0PtOpenAngle[iCut] =
new TH2F(
"ESD_TruePi0_Pt_OpenAngle",
"ESD_TruePi0_Pt_OpenAngle", nBinsQAPt, arrQAPtBinning, 100, 0, 1);
2402 fHistoTrueEtaPtOpenAngle[iCut] =
new TH2F(
"ESD_TrueEta_Pt_OpenAngle",
"ESD_TrueEta_Pt_OpenAngle", nBinsQAPt, arrQAPtBinning, 200, 0, TMath::Pi());
2463 for(
Int_t iMatcherTask = 0; iMatcherTask < 3; iMatcherTask++){
2527 printf(
" Gamma Conversion Task %s :: Eta Shift Manually Set to %f \n\n",
2548 if(
fInputEvent->IsIncompleteDAQ()==kTRUE) eventQuality = 2;
2550 if(eventQuality == 2 || eventQuality == 3){
2577 AliEventplane *EventPlane =
fInputEvent->GetEventplane();
2592 Bool_t isRunningEMCALrelAna = kFALSE;
2601 if((xsection==-1.) || (ntrials==-1.)) AliFatal(Form(
"ERROR: GetXSectionAndNTrials returned invalid xsection/ntrials, periodName from V0Reader: '%s'",
fV0Reader->
GetPeriodName().Data()));
2622 Bool_t triggered = kTRUE;
2624 if(eventNotAccepted!= 0){
2628 if (eventNotAccepted==3 &&
fIsMC > 0){
2635 if(eventQuality != 0){
2642 if (triggered==kTRUE){
2665 else if(
fInputEvent->IsA()==AliAODEvent::Class()){
2674 if (nameBin.CompareTo(
"")== 0){
2676 ->GetAcceptedHeader())->At(i))->GetString();
2677 fHistoMCHeaders[iCut]->GetXaxis()->SetBinLabel(i+1,nameHeader.Data());
2690 if (triggered==kFALSE)
continue;
2781 TClonesArray * arrClustersProcess = NULL;
2786 if(!arrClustersProcess)
2787 AliFatal(Form(
"%sClustersBranch was not found in AliAnalysisTaskGammaConvCalo! Check the correction framework settings!",
fCorrTaskSetting.Data()));
2788 nclus = arrClustersProcess->GetEntries();
2793 if(nclus == 0)
return;
2803 InputEvent()->GetPrimaryVertex()->GetXYZ(vertex);
2806 for(
Int_t i = 0; i < nclus; i++){
2807 AliVCluster* clus = NULL;
2809 if(arrClustersProcess)
2810 clus =
new AliESDCaloCluster(*(AliESDCaloCluster*)arrClustersProcess->At(i));
2812 clus =
new AliESDCaloCluster(*(AliESDCaloCluster*)
fInputEvent->GetCaloCluster(i));
2813 }
else if(
fInputEvent->IsA()==AliAODEvent::Class()){
2814 if(arrClustersProcess)
2815 clus =
new AliAODCaloCluster(*(AliAODCaloCluster*)arrClustersProcess->At(i));
2817 clus =
new AliAODCaloCluster(*(AliAODCaloCluster*)
fInputEvent->GetCaloCluster(i));
2820 if (!clus)
continue;
2828 TLorentzVector clusterVector;
2829 clus->GetMomentum(clusterVector,vertex);
2831 TLorentzVector* tmpvec =
new TLorentzVector();
2832 tmpvec->SetPxPyPzE(clusterVector.Px(),clusterVector.Py(),clusterVector.Pz(),clusterVector.E());
2836 if(!PhotonCandidate){
delete clus;
delete tmpvec;
continue;}
2845 Int_t* mclabelsCluster = clus->GetLabels();
2848 if (clus->GetNLabels()>0){
2849 for (
Int_t k =0; k<(
Int_t)clus->GetNLabels(); k++){
2865 if (clus->GetNLabels()>1){
2866 Int_t* mclabelsCluster = clus->GetLabels();
2867 for (
Int_t l = 1; l < (
Int_t)clus->GetNLabels(); l++ ){
2892 delete PhotonCandidate;
2905 TParticle *Photon = NULL;
2906 if (!TruePhotonCandidate->
GetIsCaloPhoton()) AliFatal(
"CaloPhotonFlag has not been set task will abort");
2920 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
2921 Double_t mcProdVtxX = primVtxMC->GetX();
2922 Double_t mcProdVtxY = primVtxMC->GetY();
2923 Double_t mcProdVtxZ = primVtxMC->GetZ();
2951 Int_t secondaryClass = -1;
2957 if (secondaryClass > 0 ){
2961 if (secondaryClass == 2)
2964 else if (secondaryClass == 3)
2966 else if (secondaryClass == 5)
2998 if (TruePhotonCandidate->
IsDalitz())
3007 if (TruePhotonCandidate->
IsShower())
3017 Int_t motherLab = Photon->GetMother(0);
3018 if (motherLab > -1){
3025 if ( TMath::Abs(
fMCEvent->Particle(motherLab)->GetPdgCode()) == 111 &&
3033 Int_t grandMotherLab =
fMCEvent->Particle(motherLab)->GetMother(0);
3034 if (grandMotherLab > -1){
3051 AliAODMCParticle *Photon = NULL;
3052 TClonesArray *AODMCTrackArray =
dynamic_cast<TClonesArray*
>(
fInputEvent->FindListObject(AliAODMCParticle::StdBranchName()));
3053 if (AODMCTrackArray){
3054 if (!TruePhotonCandidate->
GetIsCaloPhoton()) AliFatal(
"CaloPhotonFlag has not been set task will abort");
3058 AliInfo(
"AODMCTrackArray could not be loaded");
3070 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
3071 Double_t mcProdVtxX = primVtxMC->GetX();
3072 Double_t mcProdVtxY = primVtxMC->GetY();
3073 Double_t mcProdVtxZ = primVtxMC->GetZ();
3078 if (Photon->GetMother()> -1){
3079 AliAODMCParticle *Mother = (AliAODMCParticle*) AODMCTrackArray->At(Photon->GetMother());
3096 AliAODMCParticle *Mother = (AliAODMCParticle*) AODMCTrackArray->At(Photon->GetMother());
3100 Int_t secondaryClass = -1;
3106 if (secondaryClass > 0 ){
3110 if (secondaryClass == 2)
3113 else if (secondaryClass == 3)
3115 else if (secondaryClass == 5)
3138 if (TruePhotonCandidate->
IsDalitz())
3144 if (TruePhotonCandidate->
IsShower())
3151 Int_t motherLab = Photon->GetMother();
3152 if (motherLab > -1){
3163 Int_t grandMotherLab = ((AliAODMCParticle*) AODMCTrackArray->At(motherLab))->GetMother();
3164 if (grandMotherLab > -1){
3186 if(!PhotonCandidate)
continue;
3212 if (
fIsHeavyIon == 1 && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 30.){
3221 }
else if ( PhotonCandidate->Pt() > 0.299 && PhotonCandidate->Pt() < 30.){
3235 GammaCandidatesStepOne->Add(PhotonCandidate);
3238 GammaCandidatesStepTwo->Add(PhotonCandidate);
3242 for(
Int_t i = 0;i<GammaCandidatesStepOne->GetEntries();i++){
3244 if(!PhotonCandidate)
continue;
3264 if (
fIsHeavyIon ==1 && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 30.){
3273 }
else if ( PhotonCandidate->Pt() > 0.299 && PhotonCandidate->Pt() < 30.){
3284 }
else GammaCandidatesStepTwo->Add(PhotonCandidate);
3288 for(
Int_t i = 0;i<GammaCandidatesStepTwo->GetEntries();i++){
3290 if(!PhotonCandidate)
continue;
3309 if (
fIsHeavyIon == 1 && PhotonCandidate->Pt() > 0.399 && PhotonCandidate->Pt() < 65.){
3318 }
else if ( PhotonCandidate->Pt() > 0.299 && PhotonCandidate->Pt() < 65.){
3332 delete GammaCandidatesStepOne;
3333 GammaCandidatesStepOne = 0x0;
3334 delete GammaCandidatesStepTwo;
3335 GammaCandidatesStepTwo = 0x0;
3342 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
3343 Double_t mcProdVtxX = primVtxMC->GetX();
3344 Double_t mcProdVtxY = primVtxMC->GetY();
3345 Double_t mcProdVtxZ = primVtxMC->GetZ();
3348 if( magField < 0.0 ){
3355 TClonesArray *AODMCTrackArray =
dynamic_cast<TClonesArray*
>(
fInputEvent->FindListObject(AliAODMCParticle::StdBranchName()));
3356 if (AODMCTrackArray == NULL)
return;
3357 AliAODMCParticle *posDaughter = (AliAODMCParticle*) AODMCTrackArray->At(TruePhotonCandidate->
GetMCLabelPositive());
3358 AliAODMCParticle *negDaughter = (AliAODMCParticle*) AODMCTrackArray->At(TruePhotonCandidate->
GetMCLabelNegative());
3361 if(posDaughter == NULL || negDaughter == NULL)
return;
3362 Int_t pdgCode[2] = {TMath::Abs(posDaughter->GetPdgCode()),TMath::Abs(negDaughter->GetPdgCode())};
3364 if(posDaughter->GetMother() != negDaughter->GetMother()){
3369 else if(posDaughter->GetMother() == -1){
3375 if(pdgCode[0]!=11 || pdgCode[1]!=11){
3380 if(posDaughter->GetPdgCode()==negDaughter->GetPdgCode()){
3385 AliAODMCParticle *Photon = (AliAODMCParticle*) AODMCTrackArray->At(posDaughter->GetMother());
3386 if(Photon->GetPdgCode() != 22){
3391 if(((posDaughter->GetMCProcessCode())) != 5 || ((negDaughter->GetMCProcessCode())) != 5){
3424 if(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother() > -1 &&
3425 ((AliAODMCParticle*)AODMCTrackArray->At(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother()))->GetPdgCode() == 310){
3433 }
else if(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother() > -1 &&
3434 ((AliAODMCParticle*)AODMCTrackArray->At(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother()))->GetPdgCode() == 130) {
3442 }
else if(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother() > -1 &&
3443 ((AliAODMCParticle*)AODMCTrackArray->At(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother()))->GetPdgCode() == 3122){
3450 }
else if (((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother() > -1 &&
3451 ((AliAODMCParticle*)AODMCTrackArray->At(((AliAODMCParticle*)AODMCTrackArray->At(Photon->GetMother()))->GetMother()))->GetPdgCode() == 221) {
3471 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
3472 Double_t mcProdVtxX = primVtxMC->GetX();
3473 Double_t mcProdVtxY = primVtxMC->GetY();
3474 Double_t mcProdVtxZ = primVtxMC->GetZ();
3477 if( magField < 0.0 ){
3489 if(posDaughter == NULL || negDaughter == NULL)
return;
3490 Int_t pdgCode[2] = {TMath::Abs(posDaughter->GetPdgCode()),TMath::Abs(negDaughter->GetPdgCode())};
3492 if(posDaughter->GetMother(0) != negDaughter->GetMother(0)){
3496 else if(posDaughter->GetMother(0) == -1){
3501 if(pdgCode[0]!=11 || pdgCode[1]!=11)
return;
3503 if(posDaughter->GetPdgCode()==negDaughter->GetPdgCode())
return;
3507 if(Photon->GetPdgCode() != 22){
3511 if(posDaughter->GetUniqueID() != 5 || negDaughter->GetUniqueID() !=5)
return;
3525 fCharPhotonMCInfo = 6;
3535 fCharPhotonMCInfo = 2;
3536 if( Photon->GetMother(0) > -1 &&
fMCEvent->Particle(Photon->GetMother(0))->GetMother(0) > -1){
3537 if (
fMCEvent->Particle(
fMCEvent->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 310){
3538 fCharPhotonMCInfo = 4;
3544 }
else if (
fMCEvent->Particle(
fMCEvent->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 130) {
3545 fCharPhotonMCInfo = 7;
3551 }
else if (
fMCEvent->Particle(
fMCEvent->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 3122) {
3552 fCharPhotonMCInfo = 5;
3558 }
else if (
fMCEvent->Particle(
fMCEvent->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 221) {
3559 fCharPhotonMCInfo = 3;
3584 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
3585 Double_t mcProdVtxX = primVtxMC->GetX();
3586 Double_t mcProdVtxY = primVtxMC->GetY();
3587 Double_t mcProdVtxZ = primVtxMC->GetZ();
3589 TClonesArray *AODMCTrackArray =
dynamic_cast<TClonesArray*
>(
fInputEvent->FindListObject(AliAODMCParticle::StdBranchName()));
3590 if (AODMCTrackArray == NULL)
return;
3593 for(Long_t i = 0; i < AODMCTrackArray->GetEntriesFast(); i++) {
3595 AliAODMCParticle* particle =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(i));
3596 if (!particle)
continue;
3601 Int_t isMCFromMBHeader = -1;
3611 if (TMath::Abs(particle->Eta()) < 0.66 ){
3614 if(particle->GetMother() >-1){
3615 switch((static_cast<AliAODMCParticle*>(AODMCTrackArray->At(particle->GetMother())))->GetPdgCode()){
3642 for(
Int_t daughterIndex=particle->GetDaughter(0);daughterIndex<=particle->GetDaughter(1);daughterIndex++){
3643 AliAODMCParticle *tmpDaughter =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(daughterIndex));
3644 if(!tmpDaughter)
continue;
3653 if (particle->E() != TMath::Abs(particle->Pz())){
3654 ratio = (particle->E()+particle->Pz()) / (particle->E()-particle->Pz());
3656 if( !(ratio <= 0) ){
3661 if ( particle->GetPdgCode() == 211 ){
3663 }
else if ( particle->GetPdgCode() == -211 ){
3665 }
else if ( particle->GetPdgCode() == 321 ){
3667 }
else if ( particle->GetPdgCode() == -321 ){
3669 }
else if ( TMath::Abs(particle->GetPdgCode()) == 310 ){
3671 }
else if ( TMath::Abs(particle->GetPdgCode()) == 130 ){
3673 }
else if ( TMath::Abs(particle->GetPdgCode()) == 3122 ){
3681 AliAODMCParticle* daughter0 =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetDaughter(0)));
3682 AliAODMCParticle* daughter1 =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetDaughter(1)));
3685 if (particle->Pt()>0.005){
3694 if (particle->E() != TMath::Abs(particle->Pz())){
3695 ratio = (particle->E()+particle->Pz()) / (particle->E()-particle->Pz());
3697 if( !(ratio <= 0) ){
3701 if (particle->GetPdgCode() == 111 || particle->GetPdgCode() == 221){
3702 alpha = (daughter0->E() - daughter1->E())/(daughter0->E() + daughter1->E());
3706 if(particle->GetPdgCode() == 111){
3729 }
else if(particle->GetPdgCode() == 221){
3748 if(particle->GetPdgCode() == 111){
3765 }
else if(particle->GetPdgCode() == 221){
3776 Int_t isMCFromMBHeader = -1;
3783 if (particle->GetMother() > -1) {
3784 AliAODMCParticle *tmpMother =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetMother()));
3785 if (tmpMother->GetMother() > -1) {
3786 AliAODMCParticle *tmpGrandMother =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(tmpMother->GetMother()));
3787 if(tmpGrandMother->GetPdgCode() == 310) {
3789 }
else if (tmpGrandMother->GetPdgCode() == 130) {
3791 }
else if (tmpGrandMother->GetPdgCode() == 3122) {
3794 if ( !(TMath::Abs(tmpMother->GetPdgCode()) == 11 && tmpGrandMother->GetPdgCode() == 22) )
3806 if (particle->GetMother() > -1) {
3807 AliAODMCParticle *tmpMother =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetMother()));
3808 if (tmpMother->GetMother() > -1) {
3809 AliAODMCParticle *tmpGrandMother =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(tmpMother->GetMother()));
3810 if(tmpGrandMother->GetPdgCode() == 310) {
3812 }
else if (tmpGrandMother->GetPdgCode() == 130) {
3814 }
else if (tmpGrandMother->GetPdgCode() == 3122) {
3817 if ( !(TMath::Abs(tmpMother->GetPdgCode()) == 11 && tmpGrandMother->GetPdgCode() == 22) )
3831 AliAODMCParticle* daughter0 =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetDaughter(0)));
3832 AliAODMCParticle* daughter1 =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetDaughter(1)));
3833 AliAODMCParticle* mother =
static_cast<AliAODMCParticle*
>(AODMCTrackArray->At(particle->GetMother()));
3834 Int_t pdgCode = mother->GetPdgCode();
3835 if(particle->GetPdgCode() == 111){
3843 }
else if(particle->GetPdgCode() == 221){
3857 if (particle->GetPdgCode() == 111){
3876 const AliVVertex* primVtxMC =
fMCEvent->GetPrimaryVertex();
3877 Double_t mcProdVtxX = primVtxMC->GetX();
3878 Double_t mcProdVtxY = primVtxMC->GetY();
3879 Double_t mcProdVtxZ = primVtxMC->GetZ();
3883 for(Long_t i = 0; i <
fMCEvent->GetNumberOfTracks(); i++) {
3886 TParticle* particle = (TParticle *)
fMCEvent->Particle(i);
3887 if (!particle)
continue;
3889 Int_t isMCFromMBHeader = -1;
3899 if (TMath::Abs(particle->Eta()) < 0.66 ){
3903 if(particle->GetMother(0) >-1){
3904 switch(
fMCEvent->Particle(particle->GetMother(0))->GetPdgCode()){
3941 if (particle->Energy() != TMath::Abs(particle->Pz())){
3942 ratio = (particle->Energy()+particle->Pz()) / (particle->Energy()-particle->Pz());
3944 if( !(ratio <= 0) ){
3949 if ( particle->GetPdgCode() == 211 ){
3951 }
else if ( particle->GetPdgCode() == -211 ){
3953 }
else if ( particle->GetPdgCode() == 321 ){
3955 }
else if ( particle->GetPdgCode() == -321 ){
3957 }
else if ( TMath::Abs(particle->GetPdgCode()) == 310 ){
3959 }
else if ( TMath::Abs(particle->GetPdgCode()) == 130 ){
3961 }
else if ( TMath::Abs(particle->GetPdgCode()) == 3122 ){
3969 TParticle* daughter0 = (TParticle*)
fMCEvent->Particle(particle->GetFirstDaughter());
3970 TParticle* daughter1 = (TParticle*)
fMCEvent->Particle(particle->GetLastDaughter());
3974 if (particle->Pt()>0.005){
3980 if (particle->Energy() != TMath::Abs(particle->Pz())){
3981 ratio = (particle->Energy()+particle->Pz()) / (particle->Energy()-particle->Pz());
3983 if( !(ratio <= 0) ){
3984 mesonY = particle-&g