21 #include <TDatabasePDG.h> 22 #include <TClonesArray.h> 24 #include <TObjString.h> 32 #include "AliVTrack.h" 33 #include "AliVCluster.h" 35 #include "AliMCEvent.h" 36 #include "AliVParticle.h" 37 #include "AliMixedEvent.h" 38 #include "AliAnalysisManager.h" 39 #include "AliInputEventHandler.h" 40 #include "AliEventplane.h" 42 #include "AliESDEvent.h" 43 #include "AliAODEvent.h" 46 #include "AliEMCALGeometry.h" 47 #include "AliPHOSGeoUtils.h" 59 fFillAODWithReferences(0), fCheckLeadingWithNeutralClusters(0),
60 fMaxAssocPt(1000.), fMinAssocPt(0.),
61 fDeltaPhiMaxCut(0.), fDeltaPhiMinCut(0.),
62 fSelectIsolated(0), fMakeSeveralUE(0),
63 fUeDeltaPhiMaxCut(0.), fUeDeltaPhiMinCut(0.),
64 fPi0AODBranchName(
""), fAODNamepTInConeHisto(
""), fNeutralCorr(0),
65 fPi0Trigger(0), fDecayTrigger(0),
66 fNDecayBits(0), fDecayBits(),
68 fMakeAbsoluteLeading(0), fMakeNearSideLeading(0),
69 fLeadingTriggerIndex(-1), fHMPIDCorrelation(0),
70 fFillBradHisto(0), fFillDeltaPhiDeltaEtaAssocPt(0),
71 fNAssocPtBins(0), fAssocPtBinLimit(),
72 fNTrigPtBins(0), fTrigPtBinLimit(),
74 fListMixTrackEvents(), fListMixCaloEvents(),
75 fUseMixStoredInReader(0), fFillNeutralEventMixPool(0),
76 fM02MaxCut(0), fM02MinCut(0),
77 fSelectLeadingHadronAngle(0), fFillLeadHadOppositeHisto(0),
78 fMinLeadHadPhi(0), fMaxLeadHadPhi(0),
79 fMinLeadHadPt(0), fMaxLeadHadPt(0),
80 fFillEtaGapsHisto(1), fFillMomImbalancePtAssocBinsHisto(0),
81 fFillInvMassHisto(0), fFillBkgBinsHisto(0),
82 fFillPerSMHistograms(0), fFillPerTCardIndexHistograms(0), fTCardIndex(-1),
83 fFillTaggedDecayHistograms(0), fDecayTagsM02Cut(0),
84 fMCGenTypeMin(0), fMCGenTypeMax(0),
85 fTrackVector(), fMomentum(), fMomentumIM(),
86 fDecayMom1(), fDecayMom2(),
88 fhPtTriggerInput(0), fhPtTriggerSSCut(0),
89 fhPtTriggerIsoCut(0), fhPtTriggerFidCut(0),
90 fhPtTrigger(0), fhPtTriggerVtxBC0(0),
91 fhPtTriggerVzBin(0), fhPtTriggerBin(0),
92 fhPhiTrigger(0), fhEtaTrigger(0),
94 fhPtDecayTrigger(), fhPtDecayTriggerMC(),
95 fhPtTriggerCentrality(0), fhPtTriggerEventPlane(0),
96 fhTriggerEventPlaneCentrality(0),
97 fhPtTriggerMixed(0), fhPtTriggerMixedVzBin(0), fhPtTriggerMixedBin(0),
98 fhPhiTriggerMixed(0), fhEtaTriggerMixed(0),
99 fhPtLeadingOppositeHadron(0), fhPtDiffPhiLeadingOppositeHadron(0), fhPtDiffEtaLeadingOppositeHadron(0),
100 fhPtNoLeadingOppositeHadron(0), fhEtaPhiNoLeadingOppositeHadron(0),
101 fhDeltaPhiDeltaEtaCharged(0),
102 fhPhiCharged(0), fhEtaCharged(0),
103 fhDeltaPhiCharged(0), fhDeltaEtaCharged(0),
104 fhDeltaPhiChargedPt(0), fhDeltaPhiUeChargedPt(0),
106 fhXECharged(0), fhXECharged_Cone2(0), fhXEUeCharged(0),
107 fhXEUeChargedSmallCone(0), fhXEUeChargedMediumCone(0), fhXEUeChargedLargeCone(0),
108 fhXEPosCharged(0), fhXENegCharged(0),
109 fhPtHbpXECharged(0), fhPtHbpXECharged_Cone2(0), fhPtHbpXEUeCharged(0),
110 fhZTCharged(0), fhZTUeCharged(0),
111 fhZTPosCharged(0), fhZTNegCharged(0),
112 fhPtHbpZTCharged(0), fhPtHbpZTUeCharged(0),
113 fhXEChargedMC(), fhDeltaPhiChargedMC(),
114 fhXEUeChargedRightMC(), fhXEUeChargedLeftMC(),
115 fhDeltaPhiDeltaEtaChargedPtA3GeV(0),
116 fhDeltaPhiChargedPtA3GeV(0), fhDeltaEtaChargedPtA3GeV(0),
118 fhDeltaPhiChargedPileUp(), fhDeltaEtaChargedPileUp(),
119 fhDeltaPhiChargedPtA3GeVPileUp(), fhDeltaEtaChargedPtA3GeVPileUp(),
120 fhXEChargedPileUp(), fhXEUeChargedPileUp(),
121 fhZTChargedPileUp(), fhZTUeChargedPileUp(),
122 fhPtTrigChargedPileUp(),
123 fhDeltaPhiChargedOtherBC(), fhDeltaPhiChargedPtA3GeVOtherBC(),
124 fhXEChargedOtherBC(), fhXEUeChargedOtherBC(),
125 fhZTChargedOtherBC(), fhZTUeChargedOtherBC(),
126 fhPtTrigChargedOtherBC(),
127 fhDeltaPhiChargedBC0(), fhDeltaPhiChargedPtA3GeVBC0(),
128 fhXEChargedBC0(), fhXEUeChargedBC0(),
129 fhZTChargedBC0(), fhZTUeChargedBC0(),
130 fhPtTrigChargedBC0(),
131 fhDeltaPhiChargedVtxBC0(), fhDeltaPhiChargedPtA3GeVVtxBC0(),
132 fhXEChargedVtxBC0(), fhXEUeChargedVtxBC0(),
133 fhZTChargedVtxBC0(), fhZTUeChargedVtxBC0(),
134 fhPtTrigChargedVtxBC0(),
135 fhDeltaPhiUeLeftCharged(0),
136 fhDeltaPhiUeLeftUpCharged(0), fhDeltaPhiUeRightUpCharged(0),
137 fhDeltaPhiUeLeftDownCharged(0), fhDeltaPhiUeRightDownCharged(0),
138 fhXEUeLeftCharged(0),
139 fhXEUeLeftUpCharged(0), fhXEUeRightUpCharged(0),
140 fhXEUeLeftDownCharged(0), fhXEUeRightDownCharged(0),
141 fhPtHbpXEUeLeftCharged(0), fhZTUeLeftCharged(0),
142 fhPtHbpZTUeLeftCharged(0),
143 fhPtTrigPout(0), fhPtTrigCharged(0),
144 fhDeltaPhiChargedMult(0x0), fhDeltaEtaChargedMult(0x0),
145 fhXEMult(0x0), fhXEUeMult(0x0),
146 fhZTMult(0x0), fhZTUeMult(0x0),
147 fhAssocPtBkg(0), fhDeltaPhiDeltaEtaAssocPtBin(0),
148 fhDeltaPhiAssocPtBin(0),
149 fhDeltaPhiAssocPtBinDEta08(0), fhDeltaPhiAssocPtBinDEta0(0),
150 fhDeltaPhiAssocPtBinHMPID(0), fhDeltaPhiAssocPtBinHMPIDAcc(0),
151 fhDeltaPhiBradAssocPtBin(0), fhDeltaPhiBrad(0),
152 fhXEAssocPtBin(0), fhZTAssocPtBin(0),
153 fhXEVZ(0), fhZTVZ(0),
154 fhDeltaPhiDeltaEtaNeutral(0),
155 fhPhiNeutral(0), fhEtaNeutral(0),
156 fhDeltaPhiNeutral(0), fhDeltaEtaNeutral(0),
157 fhDeltaPhiNeutralPt(0), fhDeltaPhiUeNeutralPt(0),
158 fhXENeutral(0), fhXEUeNeutral(0),
159 fhPtHbpXENeutral(0), fhPtHbpXEUeNeutral(0),
160 fhZTNeutral(0), fhZTUeNeutral(0),
161 fhPtHbpZTNeutral(0), fhPtHbpZTUeNeutral(0),
162 fhDeltaPhiUeLeftNeutral(0), fhXEUeLeftNeutral(0),
163 fhPtHbpXEUeLeftNeutral(0), fhZTUeLeftNeutral(0),
164 fhPtHbpZTUeLeftNeutral(0), fhPtPi0DecayRatio(0),
165 fhDeltaPhiPi0DecayCharged(0), fhXEPi0DecayCharged(0), fhZTPi0DecayCharged(0),
166 fhDeltaPhiPi0DecayNeutral(0), fhXEPi0DecayNeutral(0), fhZTPi0DecayNeutral(0),
167 fhDeltaPhiDecayCharged(), fhXEDecayCharged(), fhZTDecayCharged(),
168 fhDeltaPhiDecayChargedAssocPtBin(),
169 fhMCPtTrigger(), fhMCPhiTrigger(), fhMCEtaTrigger(),
170 fhMCPtTriggerNotLeading(), fhMCPhiTriggerNotLeading(), fhMCEtaTriggerNotLeading(),
171 fhMCEtaCharged(), fhMCPhiCharged(),
172 fhMCDeltaEtaCharged(), fhMCDeltaPhiCharged(),
173 fhMCDeltaPhiDeltaEtaCharged(), fhMCDeltaPhiChargedPt(),
174 fhMCPtXECharged(), fhMCPtXEUeCharged(),
175 fhMCPtXEUeLeftCharged(),
176 fhMCPtHbpXECharged(), fhMCPtHbpXEUeCharged(),
177 fhMCPtHbpXEUeLeftCharged(),
179 fhMCPtZTCharged(), fhMCPtZTUeCharged(),
180 fhMCPtZTUeLeftCharged(),
181 fhMCPtHbpZTCharged(), fhMCPtHbpZTUeCharged(),
182 fhMCPtHbpZTUeLeftCharged(),
183 fhMCPtTrigPout(), fhMCPtAssocDeltaPhi(),
185 fhNEventsTrigger(0), fhNtracksMB(0), fhNclustersMB(0),
186 fhMixDeltaPhiCharged(0), fhMixDeltaPhiDeltaEtaCharged(0),
187 fhMixXECharged(0), fhMixXEUeCharged(0), fhMixHbpXECharged(0),
188 fhMixDeltaPhiChargedAssocPtBin(),
189 fhMixDeltaPhiChargedAssocPtBinDEta08(),
190 fhMixDeltaPhiChargedAssocPtBinDEta0(),
191 fhMixDeltaPhiDeltaEtaChargedAssocPtBin(),
192 fhEventBin(0), fhEventMixBin(0), fhEventMBBin(0),
193 fhMassPtTrigger(0), fhMCMassPtTrigger(),
194 fhPtLeadInConeBin(), fhPtSumInConeBin(),
195 fhPtLeadConeBinDecay(), fhSumPtConeBinDecay(),
196 fhPtLeadConeBinMC(), fhSumPtConeBinMC(),
197 fhTrackResolution(0), fhTrackResolutionUE(0),
198 fhPtTriggerPerSM(0), fhPtTriggerPerTCardIndex(0)
216 for(
Int_t i = 0; i < 7; i++)
226 for(
Int_t ism = 0; ism < 20; ism++)
234 for(
Int_t itc = 0; itc < 16; itc++)
297 Float_t deltaEta = etaTrig-etaAssoc;
298 Float_t deltaPhiOrg = phiTrig-phiAssoc;
371 else if ( outTOF==0 )
378 if ( vtxBC == 0 || vtxBC==AliVTrack::kTOFBCNA )
394 if (
GetReader()->IsPileUpFromSPDOrEMCal() )
399 if (
GetReader()->IsPileUpFromSPDAndEMCal() )
404 if (
GetReader()->IsPileUpFromSPDAndNotEMCal() )
409 if (
GetReader()->IsPileUpFromEMCalAndNotSPD() )
414 if (
GetReader()->IsPileUpFromNotSPDAndNotEMCal() )
432 if (
GetReader()->IsPileUpFromSPDOrEMCal() )
437 if (
GetReader()->IsPileUpFromSPDAndEMCal() )
442 if (
GetReader()->IsPileUpFromSPDAndNotEMCal() )
447 if (
GetReader()->IsPileUpFromEMCalAndNotSPD() )
452 if (
GetReader()->IsPileUpFromNotSPDAndNotEMCal() )
463 dphiBrad = atan2(sin(deltaPhiOrg), cos(deltaPhiOrg))/TMath::Pi();
464 if ( TMath::Abs(dphiBrad) > 0.325 &&
465 TMath::Abs(dphiBrad) < 0.475 )
470 if ( dphiBrad < -1./3 ) dphiBrad += 2;
487 if ( TMath::Abs(deltaEta) > 0.8 )
490 if ( TMath::Abs(deltaEta) < 0.01 )
505 if ( hmpidSignal > 0 )
511 if ( phiAssoc > 5*TMath::DegToRad() && phiAssoc < 20*TMath::DegToRad() )
538 if ( mcAssocPhi < 0 ) mcAssocPhi+=TMath::TwoPi();
540 Float_t mcdeltaPhi= mcTrigPhi-mcAssocPhi;
541 if ( mcdeltaPhi <= -TMath::PiOver2() ) mcdeltaPhi+=TMath::TwoPi();
542 if ( mcdeltaPhi > 3*TMath::PiOver2() ) mcdeltaPhi-=TMath::TwoPi();
546 if ( mcAssocPt > mcTrigPt && mcdeltaPhi < TMath::PiOver2() ) lead = kFALSE;
551 if ( mcAssocPt < fMinAssocPt || mcAssocPt >
fMaxAssocPt )
return lead ;
552 if ( mcAssocPt <
GetReader()->GetCTSPtMin())
return lead ;
557 if ( TMath::Abs(mcAssocPt -mcTrigPt ) < 1e-6 &&
559 TMath::Abs(mcAssocEta-mcTrigEta) < 1e-6)
return lead ;
561 Float_t mcxE =-mcAssocPt/mcTrigPt*TMath::Cos(mcdeltaPhi);
563 if ( mcxE > 0 ) mchbpXE = TMath::Log(1./mcxE);
565 Float_t mczT = mcAssocPt/mcTrigPt ;
567 if ( mczT > 0 ) mchbpZT = TMath::Log(1./mczT);
569 Double_t mcpout = mcAssocPt*TMath::Sin(mcdeltaPhi) ;
571 AliDebug(1,Form(
"Charged hadron: track Pt %f, track Phi %f, phi trigger %f. Cuts: delta phi %2.2f < %2.2f < %2.2f",
667 Double_t mcUexE = -(mcAssocPt/mcTrigPt)*TMath::Cos(randomphi);
668 Double_t mcUezT = mcAssocPt/mcTrigPt;
671 AliWarning(Form(
"Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
716 Double_t mcUexE = -(mcAssocPt/mcTrigPt)*TMath::Cos(randomphi);
717 Double_t mcUezT = mcAssocPt/mcTrigPt;
720 AliWarning(Form(
"Careful!!, negative xE %2.2f for left UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
768 Float_t xE =-ptAssoc/ptTrig*TMath::Cos(deltaPhi);
769 Float_t pout = ptAssoc*TMath::Sin(deltaPhi) ;
772 AliWarning(Form(
"Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
778 if ( xE > 0 ) hbpXE = TMath::Log(1./xE);
779 if ( zT > 0 ) hbpZT = TMath::Log(1./zT);
792 if ( (deltaPhi > 5*TMath::Pi()/6.) && (deltaPhi < 7*TMath::Pi()/6.) )
821 else if ( outTOF==0 )
829 if ( vtxBC == 0 || vtxBC==AliVTrack::kTOFBCNA )
848 if (
GetReader()->IsPileUpFromSPDOrEMCal() )
854 if (
GetReader()->IsPileUpFromSPDAndEMCal() )
860 if (
GetReader()->IsPileUpFromSPDAndNotEMCal() )
866 if (
GetReader()->IsPileUpFromEMCalAndNotSPD() )
872 if (
GetReader()->IsPileUpFromNotSPDAndNotEMCal() )
935 Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
939 AliWarning(Form(
"Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
979 else if ( outTOF==0 )
986 if ( vtxBC == 0 || vtxBC==AliVTrack::kTOFBCNA )
1002 if (
GetReader()->IsPileUpFromSPDOrEMCal() )
1007 if (
GetReader()->IsPileUpFromSPDAndEMCal() )
1012 if (
GetReader()->IsPileUpFromSPDAndNotEMCal() )
1017 if (
GetReader()->IsPileUpFromEMCalAndNotSPD() )
1022 if (
GetReader()->IsPileUpFromNotSPDAndNotEMCal() )
1051 Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
1055 AliWarning(Form(
"Careful!!, negative xE %2.2f for left UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
1085 Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
1088 AliWarning(Form(
"Careful!!, negative xE %2.2f for left-down UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
1099 Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
1102 AliWarning(Form(
"Careful!!, negative xE %2.2f for left-up UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
1113 Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
1116 AliWarning(Form(
"Careful!!, negative xE %2.2f for right-up UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
1127 Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
1130 AliWarning(Form(
"Careful!!, negative xE %2.2f for right-down UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
1146 Float_t zTDecay1 = -100, zTDecay2 = -100;
1147 if (ptDecay1 > 0 ) zTDecay1 = ptAssoc/ptDecay1 ;
1148 if (ptDecay2 > 0 ) zTDecay2 = ptAssoc/ptDecay2 ;
1151 if (deltaPhiDecay1< -TMath::PiOver2() ) deltaPhiDecay1+=TMath::TwoPi();
1152 if (deltaPhiDecay1>3*TMath::PiOver2() ) deltaPhiDecay1-=TMath::TwoPi();
1155 if (deltaPhiDecay2< -TMath::PiOver2() ) deltaPhiDecay2+=TMath::TwoPi();
1156 if (deltaPhiDecay2>3*TMath::PiOver2() ) deltaPhiDecay2-=TMath::TwoPi();
1158 Float_t xEDecay1 =-zTDecay1*TMath::Cos(deltaPhiDecay1);
1159 Float_t xEDecay2 =-zTDecay2*TMath::Cos(deltaPhiDecay2);
1161 if ( bChargedOrNeutral )
1166 AliDebug(2,Form(
"deltaPhoton1 = %f, deltaPhoton2 = %f", deltaPhiDecay1, deltaPhiDecay2));
1184 AliDebug(2,Form(
"deltaPhoton1 = %f, deltaPhoton2 = %f", deltaPhiDecay1, deltaPhiDecay2));
1209 Float_t xE =-ptAssoc/ptTrig*TMath::Cos(randomphi);
1211 if ( xE > 0 ) hbpXE = TMath::Log(1./xE);
1254 AliInputEventHandler * inputHandler =
dynamic_cast<AliInputEventHandler*
>(manager->GetInputEventHandler());
1256 if ( !inputHandler ) return ;
1264 if ( eventBin < 0 )
return;
1283 AliVTrack * track = (AliVTrack *) (
GetCTSTracks()->At(ipr)) ;
1285 fTrackVector.SetXYZ(track->Px(),track->Py(),track->Pz());
1289 if ( pt < fMinAssocPt || pt >
fMaxAssocPt ) continue ;
1294 mixEventTracks->Add(mixedTrack);
1303 pool->AddFirst(mixEventTracks);
1311 TClonesArray * tmp =
static_cast<TClonesArray*
>(pool->Last()) ;
1312 pool->RemoveLast() ;
1337 AliInputEventHandler * inputHandler =
dynamic_cast<AliInputEventHandler*
>(manager->GetInputEventHandler());
1339 if ( !inputHandler ) return ;
1347 if ( eventBin < 0 )
return;
1360 for(
Int_t ipr = 0;ipr < pl->GetEntriesFast() ; ipr ++ )
1362 AliVCluster * calo = (AliVCluster *) (pl->At(ipr)) ;
1381 if ( pt < fMinAssocPt || pt >
fMaxAssocPt ) continue ;
1385 mixEventCalo->Add(mixedCalo);
1394 poolCalo->AddFirst(mixEventCalo);
1402 TClonesArray * tmp =
static_cast<TClonesArray*
>(poolCalo->Last()) ;
1403 poolCalo->RemoveLast() ;
1417 if ( phiTrig < 0 ) phiTrig+= TMath::TwoPi();
1427 AliVTrack * track = (AliVTrack *) (
GetCTSTracks()->At(ipr)) ;
1429 fTrackVector.SetXYZ(track->Px(),track->Py(),track->Pz());
1433 if ( phi < 0 ) phi+= TMath::TwoPi();
1435 Float_t deltaPhi = phiTrig-phi;
1441 if (deltaPhi <= -TMath::PiOver2() ) deltaPhi+=TMath::TwoPi();
1442 if (deltaPhi > 3*TMath::PiOver2() ) deltaPhi-=TMath::TwoPi();
1444 if ( pt > ptLeadHad && deltaPhi > TMath::PiOver2() )
1448 dphiLeadHad= deltaPhi;
1470 AliDebug(1,Form(
"pT %2.2f, phi %2.2f, eta %2.2f, nTracks away %d, total tracks %d",
1472 AliDebug(1,Form(
"\t pT trig %2.2f, Dphi (trigger-hadron) %2.2f, Deta (trigger-hadron) %2.2f",
1473 ptTrig, dphiLeadHad*TMath::RadToDeg(), etaLeadHad-etaTrig));
1474 AliDebug(1,Form(
"\t cuts pT: min %2.2f, max %2.2f; DPhi: min %2.2f, max %2.2f",
1480 if ( nTrack == 0 )
return kFALSE;
1482 if ( ptLeadHad < fMinLeadHadPt || ptLeadHad >
fMaxLeadHadPt )
return kFALSE;
1486 if ( dphiLeadHad < fMinLeadHadPhi || dphiLeadHad >
fMaxLeadHadPhi )
return kFALSE;
1499 const Int_t buffersize = 560;
1500 char onePar[buffersize] ;
1502 snprintf(onePar,buffersize,
"--- AliAnaPaticleHadronCorrelation ---:") ;
1510 snprintf(onePar,buffersize,
"Isolated Trigger? %d;",
fSelectIsolated) ;
1514 snprintf(onePar,buffersize,
"Name of AOD Pi0 Branch %s;",
fPi0AODBranchName.Data());
1518 snprintf(onePar,buffersize,
"Select absolute leading for cluster triggers ? %d or Near Side Leading %d;",
1521 snprintf(onePar,buffersize,
"Associated particle pt bins %d: ",
fNAssocPtBins) ;
1538 return new TObjString(parList) ;
1548 outputContainer->SetName(
"CorrelationHistos") ;
1572 TString nameMC[] = {
"Photon",
"Pi0",
"Pi0Decay",
"Eta",
"EtaDecay",
"OtherDecay",
"Electron",
"Hadron",
"Pi0DecayLostPair",
"EtaDecayLostPair"};
1573 TString mcPartType[] = {
"#gamma",
"#pi^{0} (merged #gamma)",
"#gamma_{#pi decay}",
"#eta (merged #gamma)" ,
"#gamma_{#eta decay}",
"#gamma_{other decay}",
1574 "e^{#pm}" ,
"hadrons?" ,
"#gamma_{#pi decay} lost companion",
"#gamma_{#eta decay} lost companion"} ;
1575 TString pileUpName[] = {
"SPD",
"EMCAL",
"SPDOrEMCAL",
"SPDAndEMCAL",
"SPDAndNotEMCAL",
"EMCALAndNotSPD",
"NotSPDAndNotEMCAL"} ;
1596 (
"hTrackResolution",
"Track resolution: #sigma_{#it{p}_{T}} vs #it{p}_{T}, away side, ESDs",
1597 nptbins,ptmin,ptmax,600,0,0.3);
1603 (
"hTrackResolutionUE",
"Track resolution: #sigma_{#it{p}_{T}} vs #it{p}_{T}, UE, ESDs",
1604 nptbins,ptmin,ptmax,600,0,0.3);
1611 (
"hPtTriggerInput",
"Input trigger #it{p}_{T}", nptbins,ptmin,ptmax);
1618 (
"hPtTriggerSSCut",
"Trigger #it{p}_{T} after #lambda^{2}_{0} cut", nptbins,ptmin,ptmax);
1626 (
"hPtTriggerIsoCut",
"Trigger #it{p}_{T} after isolation (and #lambda^{2}_{0} cut)", nptbins,ptmin,ptmax);
1632 (
"hPtTriggerFidCut",
"Trigger #it{p}_{T} after fiducial (isolation and #lambda^{2}_{0}) cut", nptbins,ptmin,ptmax);
1636 fhPtTrigger =
new TH1F(
"hPtTrigger",
"#it{p}_{T} distribution of trigger particles (after opposite hadron leading cut and rest)", nptbins,ptmin,ptmax);
1637 fhPtTrigger->SetXTitle(
"#it{p}_{T}^{trig} (GeV/#it{c})");
1643 (
"hMassPtTrigger",
"2 photons invariant mass vs p_{T}^{trig}",
1644 nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
1667 (Form(
"hPtLeadCone_Bin%d",ibin),
1668 Form(
"cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, %s",
1675 (Form(
"hSumPtCone_Bin%d",ibin),
1676 Form(
"in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, %s",
1689 (Form(
"hPtLeadCone_Bin%d_DecayBit%d",ibin,
fDecayBits[idecay]),
1690 Form(
"Decay bit %d, cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, %s",
1697 (Form(
"hSumPtCone_Bin%d_DecayBit%d",ibin,
fDecayBits[idecay]),
1698 Form(
"Decay bit %d, in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, %s",
1712 (Form(
"hPtLeadCone_Bin%d_MC%s",ibin, nameMC[imc].
Data()),
1713 Form(
"in cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, MC %s, %s",
1720 (Form(
"hSumPtCone_Bin%d_MC%s",ibin,nameMC[imc].
Data()),
1721 Form(
"in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, MC %s, %s",
1736 (Form(
"hPtTrigger_MC%s",nameMC[i].
Data()),
1737 Form(
"#it{p}_{T} distribution of trigger particles, trigger origin is %s",nameMC[i].
Data()),
1738 nptbins,ptmin,ptmax);
1739 fhPtTriggerMC[i]->SetXTitle(
"#it{p}_{T}^{trig} (GeV/#it{c})");
1745 (Form(
"hMassPtTrigger_MC%s",nameMC[i].
Data()),
1746 Form(
"2 photons invariant mass, trigger origin is %s",nameMC[i].
Data()),
1747 nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
1760 (Form(
"hPtDecayTrigger_bit%d",
fDecayBits[ibit]),
1761 Form(
"#it{p}_{T} distribution of trigger particles, decay Bit %d",
fDecayBits[ibit]),
1762 nptbins,ptmin,ptmax);
1771 (Form(
"hPtDecayTrigger_bit%d_MC%s",
fDecayBits[ibit], nameMC[i].
Data()),
1772 Form(
"#it{p}_{T} distribution of trigger particles, decay Bit %d, trigger origin is %s",
1774 nptbins,ptmin,ptmax);
1786 "#it{p}_{T} distribution of trigger particles vs vz bin",
1795 "#it{p}_{T} distribution of trigger particles",
1796 nptbins,ptmin,ptmax,nMixBins,0,nMixBins);
1803 "#varphi distribution of trigger Particles",
1804 nptbins,ptmin,ptmax, nphibins,phimin,phimax);
1810 "#eta distribution of trigger",
1811 nptbins,ptmin,ptmax, netabins,etamin,etamax);
1818 (
"hPtTriggerCentrality",
1819 "Trigger particle #it{p}_{T} vs centrality",
1820 nptbins,ptmin,ptmax,100,0.,100) ;
1826 (
"hPtTriggerEventPlane",
1827 "Trigger particle #it{p}_{T} vs event plane angle",
1828 nptbins,ptmin,ptmax, 100,0.,TMath::Pi()) ;
1834 (
"hTriggerEventPlaneCentrality",
1835 "Trigger particle centrality vs event plane angle",
1836 100,0.,100,100,0.,TMath::Pi()) ;
1846 (
"hPtTriggerPtLeadingOppositeHadron",
1847 "Leading hadron opposite to trigger vs trigger #it{p}_{T}",
1848 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
1854 (
"hPtTriggerNoLeadingOppositeHadron",
1855 "No Leading hadron opposite to trigger #it{p}_{T}",
1856 nptbins,ptmin,ptmax);
1861 (
"hEtaPhiTriggerNoLeadingOppositeHadron",
1862 "No Leading hadron opposite to trigger #eta:#varphi",
1863 netabins,etamin,etamax,nphibins,phimin,phimax);
1869 (
"hPtTriggerDiffPhiTriggerLeadingOppositeHadron",
1870 "#varphi_{trigger}-#varphi_{leading opposite hadron} vs #it{p}_{T}^{trig}",
1871 nptbins,ptmin,ptmax,ndeltaphibins,deltaphimin,deltaphimax);
1877 (
"hPtTriggerDiffEtaTriggerPhiLeadingOppositeHadron",
1878 "#eta_{trigger}-#eta_{leading opposite hadron} vs #it{p}_{T}^{trig}",
1879 nptbins,ptmin,ptmax,ndeltaetabins,deltaetamin,deltaetamax);
1890 (
"hDeltaPhiDeltaEtaCharged",
1891 "#eta_{trigger} - #eta_{h^{#pm}} vs #varphi_{trigger} - #varphi_{h^{#pm}}",
1892 ndeltaphibins ,deltaphimin,deltaphimax,ndeltaetabins,deltaetamin,deltaetamax);
1898 (
"hDeltaPhiDeltaEtaChargedPtA3GeV",
1899 "#eta_{trigger} - #eta_{h^{#pm}} vs #varphi_{trigger} - #varphi_{h^{#pm}, #it{p}_{TA}>3 GeV/#it{c}}",
1900 ndeltaphibins ,deltaphimin,deltaphimax,ndeltaetabins,deltaetamin,deltaetamax);
1907 "#varphi_{h^{#pm}} vs #it{p}_{T #pm}",
1908 nptbins,ptmin,ptmax,180,0,TMath::TwoPi());
1910 fhPhiCharged->SetXTitle(
"#it{p}_{T #pm} (GeV/#it{c})");
1915 "#eta_{h^{#pm}} vs #it{p}_{T #pm}",
1916 nptbins,ptmin,ptmax,100,-1.,1.);
1918 fhEtaCharged->SetXTitle(
"#it{p}_{T #pm} (GeV/#it{c})");
1922 (
"hDeltaPhiCharged",
1923 "#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}",
1924 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
1930 (
"hDeltaPhiChargedPtA3GeV",
1931 "#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}",
1932 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
1938 (
"hDeltaPhiChargedPt",
1939 "#varphi_{trigger} - #varphi_{#h^{#pm}} vs #it{p}_{T h^{#pm}}",
1940 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
1946 (
"hDeltaEtaCharged",
1947 "#eta_{trigger} - #eta_{h^{#pm}} vs #it{p}_{T trigger}",
1948 nptbins,ptmin,ptmax,ndeltaetabins,deltaetamin,deltaetamax);
1954 (
"hDeltaEtaChargedPtA3GeV",
1955 "#eta_{trigger} - #eta_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}",
1956 nptbins,ptmin,ptmax,ndeltaetabins,deltaetamin,deltaetamax);
1964 "#it{x}_{#it{E}} for charged tracks",
1965 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
1967 fhXECharged->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
1970 (
"hXECharged_Cone2",
1971 "#it{x}_{#it{E}} for charged tracks in cone 2 (5#pi/6-7#pi/6)",
1972 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
1977 (
"hXEPositiveCharged",
1978 "#it{x}_{#it{E}} for positive charged tracks",
1979 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
1984 (
"hXENegativeCharged",
1985 "#it{x}_{#it{E}} for negative charged tracks",
1986 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
1992 "#xi = ln(1/#it{x}_{#it{E}}) with charged hadrons",
1993 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
1998 (
"hHbpXECharged_Cone2",
1999 "#xi = ln(1/#it{x}_{#it{E}}) with charged hadrons in cone 2 (5#pi/6-7#pi/6)",
2000 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2006 "#it{z}_{T} for charged tracks",
2007 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2012 (
"hZTPositiveCharged",
2013 "#it{z}_{T} for positive charged tracks",
2014 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2019 (
"hZTNegativeCharged",
2020 "#it{z}_{T} for negative charged tracks",
2021 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2027 "#xi = ln(1/#it{z}_{T}) with charged hadrons",
2028 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2034 "Pout with triggers",
2035 nptbins,ptmin,ptmax,nptbins,-1.*ptmax/2.,ptmax/2.);
2037 fhPtTrigPout->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2041 "trigger and charged tracks pt distribution",
2042 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2053 (Form(
"hDeltaPhiCharged_MC%s",nameMC[i].
Data()),
2054 Form(
"#Delta #varphi for charged tracks, trigger origin is %s",nameMC[i].
Data()),
2055 nptbins,ptmin,ptmax,ndeltaphibins ,deltaphimin,deltaphimax);
2062 (Form(
"hXECharged_MC%s",nameMC[i].
Data()),
2063 Form(
"#it{x}_{#it{E}} for charged tracks, trigger origin is %s",nameMC[i].
Data()),
2064 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2066 fhXEChargedMC[i]->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2070 (Form(
"hXEUeChargedRight_MC%s",nameMC[i].
Data()),
2071 Form(
"#it{x}_{#it{E}} for charged tracks in right UE cone, trigger origin is %s",nameMC[i].
Data()),
2072 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2078 (Form(
"hXEUeChargedLeft_MC%s",nameMC[i].
Data()),
2079 Form(
"#it{x}_{#it{E}} for charged tracks in left UE cone, trigger origin is %s",nameMC[i].
Data()),
2080 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2107 "UE particles distribution vs pt trig",
2108 nptbins,ptmin,ptmax);
2110 fhUePart->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2113 (Form(
"hDeltaPhiUe%sChargedPt",right.Data()),
2114 "#varphi_{trigger} - #varphi_{#Ueh^{#pm}} vs #it{p}_{T Ueh^{#pm}}",
2115 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2120 (Form(
"hXEUeCharged%s",right.Data()),
2121 "#it{x}_{#it{E}} for Underlying Event",
2122 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2124 fhXEUeCharged->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2127 (Form(
"hXEUeChargedSmallCone%s",right.Data()),
2128 "#it{x}_{#it{E}} for Underlying Event in a cone [80,100] deg",
2129 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2134 (Form(
"hXEUeChargedMediumCone%s",right.Data()),
2135 "#it{x}_{#it{E}} for Underlying Event in a cone [70,110] deg",
2136 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2141 (Form(
"hXEUeChargedLargeCone%s",right.Data()),
2142 "#it{x}_{#it{E}} for Underlying Event in a cone [60,120] deg",
2143 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2148 (Form(
"hHbpXEUeCharged%s",right.Data()),
2149 "#xi = ln(1/#it{x}_{#it{E}}) for Underlying Event",
2150 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2155 (Form(
"hZTUeCharged%s",right.Data()),
2156 "#it{z}_{T} for Underlying Event",
2157 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2159 fhZTUeCharged->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2162 (Form(
"hHbpZTUeCharged%s",right.Data()),
2163 "#xi = ln(1/#it{z}_{T}) for Underlying Event",
2164 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2181 (
"hDeltaPhiUeLeftChargedPt",
2182 "#varphi_{trigger} - #varphi_{#Ueh^{#pm}} vs #it{p}_{T Ueh^{#pm}} with UE left side range of trigger particles",
2183 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2189 (
"hDeltaPhiUeLeftUpChargedPt",
2190 "#varphi_{trigger} - #varphi_{#Ueh^{#pm}} vs #it{p}_{T Ueh^{#pm}} with UE left Up side range of trigger particles",
2191 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2197 (
"hDeltaPhiUeRightUpChargedPt",
2198 "#varphi_{trigger} - #varphi_{#Ueh^{#pm}} vs #it{p}_{T Ueh^{#pm}} with UE right Up side range of trigger particles",
2199 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2205 (
"hDeltaPhiUeLeftDownChargedPt",
2206 "#varphi_{trigger} - #varphi_{#Ueh^{#pm}} vs #it{p}_{T Ueh^{#pm}} with UE left Down side range of trigger particles",
2207 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2213 (
"hDeltaPhiUeRightDownChargedPt",
2214 "#varphi_{trigger} - #varphi_{#Ueh^{#pm}} vs #it{p}_{T Ueh^{#pm}} with UE right Down side range of trigger particles",
2215 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2221 (
"hXEUeChargedLeft",
2222 "#it{x}_{#it{E}} with UE left side of trigger",
2223 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2229 (
"hXEUeChargedLeftUp",
2230 "#it{x}_{#it{E}} with UE left Up side of trigger",
2231 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2237 (
"hXEUeChargedRightUp",
2238 "#it{x}_{#it{E} h^{#pm}} with UE right Up side of trigger",
2239 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2245 (
"hXEUeChargedLeftDown",
2246 "#it{x}_{#it{E}} with UE left Down side of trigger",
2247 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2253 (
"hXEUeChargedRightDown",
2254 "#it{x}_{#it{E} h^{#pm}} with UE right Down side of trigger",
2255 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2261 (
"hHbpXEUeChargedLeft",
2262 "#xi = ln(1/#it{x}_{#it{E}}) with charged UE left side of trigger",
2263 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2269 (
"hZTUeChargedLeft",
2270 "#it{z}_{trigger h^{#pm}} = #it{p}_{T Ueh^{#pm}} / #it{p}_{T trigger} with UE left side of trigger",
2271 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2277 (
"hHbpZTUeChargedLeft",
2278 "#xi = ln(1/#it{z}_{T}) with charged UE left side of trigger",
2279 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2288 (
"hDeltaPhiChargedOtherBC",
2289 "#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, track BC!=0",
2290 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2295 (
"hDeltaPhiChargedPtA3GeVOtherBC",
2296 "#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}, track BC!=0",
2297 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2302 (
"hPtTrigChargedOtherBC",
2303 "trigger and charged tracks pt distribution, track BC!=0",
2304 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2309 (
"hXEChargedOtherBC",
2310 "#it{x}_{#it{E}} for charged tracks, track BC!=0",
2311 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2316 (
"hXEUeChargedOtherBC",
2317 "#it{x}_{#it{E}} for Underlying Event, track BC!=0",
2318 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2323 (
"hZTChargedOtherBC",
2324 "#it{z}_{T} for charged tracks, track BC!=0",
2325 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2330 (
"hZTUeChargedOtherBC",
2331 "#it{z}_{T} for Underlying Event, track BC!=0",
2332 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2345 (
"hDeltaPhiChargedBC0",
2346 "#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, track BC==0",
2347 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2352 (
"hDeltaPhiChargedPtA3GeVBC0",
2353 "#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}, track BC==0",
2354 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2359 (
"hPtTrigChargedBC0",
2360 "trigger and charged tracks pt distribution, track BC==0",
2361 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2367 "#it{x}_{#it{E}} for charged tracks, track BC==0",
2368 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2374 "#it{x}_{#it{E}} for Underlying Event, track BC==0",
2375 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2381 "#it{z}_{T} for charged tracks, track BC==0",
2382 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2388 "#it{z}_{T} for Underlying Event, track BC==0",
2389 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2402 (
"hPtTriggerVtxBC0",
2403 "#it{p}_{T} distribution of trigger particles",
2404 nptbins,ptmin,ptmax);
2408 (
"hDeltaPhiChargedVtxBC0",
2409 "#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, track BC==0",
2410 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2415 (
"hDeltaPhiChargedPtA3GeVVtxBC0",
2416 "#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}, track BC==0",
2417 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2422 (
"hPtTrigChargedVtxBC0",
2423 "trigger and charged tracks pt distribution, track BC==0",
2424 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2429 (
"hXEChargedVtxBC0",
2430 "#it{x}_{#it{E}} for charged tracks, track BC==0",
2431 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2436 (
"hXEUeChargedVtxBC0",
2437 "#it{x}_{#it{E}} for Underlying Event, track BC==0",
2438 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2443 (
"hZTChargedVtxBC0",
2444 "#it{z}_{T} for charged tracks, track BC==0",
2445 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2450 (
"hZTUeChargedVtxBC0",
2451 "#it{z}_{T} for Underlying Event, track BC==0",
2452 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2465 for(
Int_t i = 0 ; i < 7 ; i++)
2468 (Form(
"hPtTriggerPileUp%s",pileUpName[i].
Data()),
2469 Form(
"#it{p}_{T} distribution of trigger particles, %s Pile-Up event",pileUpName[i].
Data()), nptbins,ptmin,ptmax);
2474 (Form(
"hDeltaPhiChargedPileUp%s",pileUpName[i].
Data()),
2475 Form(
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, %s Pile-Up event",pileUpName[i].
Data()),
2476 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2482 (Form(
"hDeltaPhiChargedPtA3GeVPileUp%s",pileUpName[i].
Data()),
2483 Form(
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}, %s Pile-Up event",pileUpName[i].
Data()),
2484 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2490 (Form(
"hDeltaEtaChargedPileUp%s",pileUpName[i].
Data()),
2491 Form(
"#eta_{trigger} - #eta_{h^{#pm}} vs #it{p}_{T trigger}, %s Pile-Up event",pileUpName[i].
Data()),
2492 nptbins,ptmin,ptmax,ndeltaetabins,deltaetamin,deltaetamax);
2498 (Form(
"hDeltaEtaChargedPtA3GeVPileUp%s",pileUpName[i].
Data()),
2499 Form(
"#eta_{trigger} - #eta_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}, %s Pile-Up event",pileUpName[i].
Data()),
2500 nptbins,ptmin,ptmax,ndeltaetabins,deltaetamin,deltaetamax);
2506 (Form(
"hXEChargedPileUp%s",pileUpName[i].
Data()),
2507 Form(
"#it{x}_{#it{E}} for charged tracks, %s Pile-Up event",pileUpName[i].
Data()),
2508 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2514 (Form(
"hXEUeChargedPileUp%s",pileUpName[i].
Data()),
2515 Form(
"#it{x}_{#it{E}} for Underlying Event, %s Pile-Up event",pileUpName[i].
Data()),
2516 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2522 (Form(
"hZTChargedPileUp%s",pileUpName[i].
Data()),
2523 Form(
"#it{z}_{T} for charged tracks, %s Pile-Up event",pileUpName[i].
Data()),
2524 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2530 (Form(
"hZTUeChargedPileUp%s",pileUpName[i].
Data()),
2531 Form(
"#it{z}_{T} for Underlying Event, %s Pile-Up event",pileUpName[i].
Data()),
2532 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2538 (Form(
"hPtTrigChargedPileUp%s",pileUpName[i].
Data()),
2539 Form(
"trigger and charged tracks pt distribution, %s Pile-Up event",pileUpName[i].
Data()),
2540 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2562 for(
Int_t im=0; im<nMultiBins; im++)
2567 (Form(
"hDeltaPhiCharged_Mult%d",im),
2568 Form(
"#Delta #varphi charged Mult bin %d",im),
2569 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2574 (Form(
"hDeltaEtaCharged_Mult%d",im),
2575 Form(
"#Delta #eta charged Mult bin %d",im),
2576 nptbins,ptmin,ptmax, ndeltaetabins ,deltaetamin,deltaetamax);
2585 (Form(
"hXECharged_Mult%d",im),
2586 Form(
"#it{x}_{E} charged Mult bin %d",im),
2587 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2588 fhXEMult[im]->SetYTitle(
"#it{x}_{E}");
2589 fhXEMult[im]->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2592 (Form(
"hXEUeCharged_Mult%d",im),
2593 Form(
"#it{x}_{E} UE charged Mult bin %d",im),
2594 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2596 fhXEUeMult[im]->SetXTitle(
"#it{p}_{T trigger}(GeV/#it{c})");
2599 (Form(
"hZTCharged_Mult%d",im),
2600 Form(
"#it{z}_{T} charged Mult bin %d",im),
2601 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2602 fhZTMult[im]->SetYTitle(
"#it{z}_{T}");
2603 fhZTMult[im]->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2606 (Form(
"hZTUeCharged_Mult%d",im),
2607 Form(
"#it{z}_{T} UE charged Mult bin %d",im),
2608 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2610 fhZTUeMult[im]->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2612 outputContainer->Add(
fhXEMult [im]);
2614 outputContainer->Add(
fhZTMult [im]);
2623 " Trigger #it{p}_{T} vs associated hadron #it{p}_{T} from background",
2624 nptbins, ptmin, ptmax,nptbins,ptmin,ptmax);
2625 fhAssocPtBkg->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2626 fhAssocPtBkg->SetYTitle(
"#it{p}_{T associated} (GeV/#it{c})");
2631 "atan2(sin(#Delta #varphi), cos(#Delta #varphi))/#pi vs #it{p}_{T trigger} ",
2632 nptbins, ptmin, ptmax,288, -1.0/3.0, 5.0/3.0);
2634 fhDeltaPhiBrad->SetYTitle(
"atan2(sin(#Delta #varphi), cos(#Delta #varphi))/#pi");
2672 for(
Int_t z = 0 ; z < nz ; z++)
2678 sz = Form(
"_vz%d",z);
2679 tz = Form(
", #it{v}_{#it{z}} bin %d",z);
2686 (Form(
"hDeltaPhiDeltaEtaPtAssocPt%2.1f_%2.1f%s",
2688 Form(
"#Delta #varphi vs #Delta #eta vs #it{p}_{T}^{trig} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s",
2691 ndeltaphibins,deltaphimin,deltaphimax,
2692 ndeltaetabins,deltaetamin,deltaetamax);
2704 (Form(
"hDeltaPhiPtAssocPt%2.1f_%2.1f%s",
2706 Form(
"#Delta #varphi vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s",
2708 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2717 (Form(
"hDeltaPhiDeltaEta0.8PtAssocPt%2.1f_%2.1f%s",
2719 Form(
"#Delta #varphi vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s, for #Delta #eta > 0.8",
2721 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2726 (Form(
"hDeltaPhiDeltaEta0PtAssocPt%2.1f_%2.1f%s",
2728 Form(
"#Delta #varphi vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s, for #Delta #eta = 0.",
2730 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2741 (Form(
"hDeltaPhiPtDecayChargedAssocPt%2.1f_%2.1f%s_bit%d",
2743 Form(
"#Delta #varphi vs #it{p}_{T trigger} tagged as decay for associated #it{p}_{T} bin [%2.1f,%2.1f]%s, Bit %d",
2745 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2755 (Form(
"hDeltaPhiBradPtAssocPt%2.1f_%2.1f%s",
2757 Form(
"atan2(sin(#Delta #varphi), cos(#Delta #varphi))/#pi vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s",
2759 nptbins, ptmin, ptmax,288, -1.0/3.0, 5.0/3.0);
2768 (Form(
"hDeltaPhiPtAssocPt%2.1f_%2.1f%sHMPID",
2770 Form(
"#Delta #varphi vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s, with track having HMPID signal",
2772 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2777 (Form(
"hDeltaPhiPtAssocPt%2.1f_%2.1f%sHMPIDAcc",
2779 Form(
"#Delta #varphi vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s, with track within 5<phi<20 deg",
2781 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2799 Form(
"#it{x}_{#it{E}} vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]",
2801 nptbins, ptmin, ptmax,nxeztbins,xeztmin,xeztmax);
2807 Form(
"#it{z}_{T} vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]",
2809 nptbins, ptmin, ptmax,nxeztbins,xeztmin,xeztmax);
2821 for(
Int_t z = 0 ; z < nz ; z++)
2823 sz = Form(
"_vz%d",z);
2824 tz = Form(
", #it{v}_{#it{z}} bin %d",z);
2827 (Form(
"hXE%s", sz.Data()),
2828 Form(
"#it{x}_{#it{E}} vs #it{p}_{T trigger}%s", tz.Data()),
2829 nptbins, ptmin, ptmax,nxeztbins,xeztmin,xeztmax);
2830 fhXEVZ[z]->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2831 fhXEVZ[z]->SetYTitle(
"#it{x}_{#it{E}}");
2834 (Form(
"hZT%s",sz.Data()),
2835 Form(
"#it{z}_{T} vs #it{p}_{T trigger}%s", tz.Data()),
2836 nptbins, ptmin, ptmax,nxeztbins,xeztmin,xeztmax);
2837 fhZTVZ[z]->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2838 fhZTVZ[z]->SetYTitle(
"#it{z}_{T}");
2840 outputContainer->Add(
fhXEVZ[z]);
2841 outputContainer->Add(
fhZTVZ[z]);
2848 (
"hPtPi0DecayRatio",
2849 "#it{p}_{T} of #pi^{0} and the ratio of pt for two decay",
2850 nptbins,ptmin,ptmax, 100,0.,2.);
2856 (
"hDeltaPhiPi0DecayCharged",
2857 "#varphi_{Decay} - #varphi_{h^{#pm}} vs #it{p}_{T Decay}",
2858 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2863 (
"hXEPi0DecayCharged",
2864 "#it{x}_{#it{E}} Decay",
2865 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2870 (
"hZTPi0DecayCharged",
"#it{z}_{trigger h^{#pm}} = #it{p}_{T h^{#pm}} / #it{p}_{T Decay}",
2871 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2887 (Form(
"hDeltaPhiDecayCharged_bit%d",
fDecayBits[ibit]),
2888 Form(
"#varphi_{Decay} - #varphi_{h^{#pm}} vs #it{p}_{T Decay}, Bit %d",
fDecayBits[ibit]),
2889 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2896 (Form(
"hXEDecayCharged_bit%d",
fDecayBits[ibit]),
2897 Form(
"#it{x}_{#it{E}} Decay, Bit %d",
fDecayBits[ibit]),
2898 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2903 (Form(
"hZTDecayCharged_bit%d",
fDecayBits[ibit]),
2904 Form(
"#it{z}_{trigger h^{#pm}} = #it{p}_{T h^{#pm}} / #it{p}_{T Decay}, Bit %d",
fDecayBits[ibit]),
2905 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2918 (
"hDeltaPhiDeltaEtaNeutral",
2919 "#varphi_{trigger} - #varphi_{h^{0}} vs #eta_{trigger} - #eta_{h^{0}}",
2920 ndeltaphibins ,deltaphimin,deltaphimax, ndeltaetabins ,deltaetamin,deltaetamax);
2926 "#varphi_{#pi^{0}} vs #it{p}_{T #pi^{0}}",
2927 nptbins,ptmin,ptmax,180,0,TMath::TwoPi());
2929 fhPhiNeutral->SetXTitle(
"#it{p}_{T #pi^{0}} (GeV/#it{c})");
2933 "#eta_{#pi^{0}} vs #it{p}_{T #pi^{0}}",
2934 nptbins,ptmin,ptmax,200,-1.,1.);
2936 fhEtaNeutral->SetXTitle(
"#it{p}_{T #pi^{0}} (GeV/#it{c})");
2939 (
"hDeltaPhiNeutral",
2940 "#varphi_{trigger} - #varphi_{#pi^{0}} vs #it{p}_{T trigger}",
2941 nptbins,ptmin,ptmax,ndeltaphibins ,deltaphimin,deltaphimax);
2946 (
"hDeltaPhiNeutralPt",
2947 "#varphi_{trigger} - #varphi_{#pi^{0}} vs #it{p}_{T #pi^{0}}}",
2948 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2953 (
"hDeltaEtaNeutral",
2954 "#eta_{trigger} - #eta_{#pi^{0}} vs #it{p}_{T trigger}",
2955 nptbins,ptmin,ptmax, ndeltaetabins ,deltaetamin,deltaetamax);
2961 "#it{x}_{#it{E}} for #pi^{0} associated",
2962 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2964 fhXENeutral->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2968 "#xi = ln(1/#it{x}_{#it{E}})for #pi^{0} associated",
2969 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2975 "#it{z}_{trigger #pi} = #it{p}_{T #pi^{0}} / #it{p}_{T trigger} for #pi^{0} associated",
2976 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2977 fhZTNeutral->SetYTitle(
"#it{z}_{trigger #pi^{0}}");
2978 fhZTNeutral->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2982 "#xi = ln(1/#it{x}_{#it{E}}) for #pi^{0} associated",
2983 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2999 (Form(
"hDeltaPhiUe%sNeutralPt",right.Data()),
3000 "#varphi_{trigger} - #varphi_{#pi^{0}} vs #it{p}_{T #pi^{0}}}",
3001 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3006 (Form(
"hXEUeNeutral%s",right.Data()),
3007 "#it{x}_{#it{E}} for #pi^{0} associated",
3008 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3010 fhXEUeNeutral->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
3013 (Form(
"hHbpXEUeNeutral%s",right.Data()),
3014 "#xi = ln(1/#it{x}_{#it{E}}) for #pi^{0} associated",
3015 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3020 (Form(
"hZTUeNeutral%s",right.Data()),
3021 "#it{z}_{trigger #pi} = #it{p}_{T #pi^{0}} / #it{p}_{T trigger} for #pi^{0} associated",
3022 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3024 fhZTUeNeutral->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
3027 (Form(
"hHbpZTUeNeutral%s",right.Data()),
3028 "#xi = ln(1/#it{x}_{#it{E}}) for #pi^{0} associated",
3029 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3042 (
"hDeltaPhiUeLeftNeutralPt",
3043 "#varphi_{trigger} - #varphi_{#Ueh^{0}} vs #it{p}_{T h^{0}} with neutral UE left side range of trigger particles",
3044 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3050 (
"hXEUeNeutralLeft",
3051 "#it{x}_{#it{E}} = #it{p}_{T Ueh^{0}} / #it{p}_{T trigger} with neutral UE left side of trigger",
3052 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3058 (
"hHbpXEUeNeutralLeft",
3059 "#xi = ln(1/#it{x}_{#it{E}}) with neutral UE left side of trigger",
3060 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3066 (
"hZTUeNeutralLeft",
3067 "#it{z}_{trigger h^{0}} = #it{p}_{T Ueh^{0}} / #it{p}_{T trigger} with neutral UE left side of trigger",
3068 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3074 (
"hHbpZTUeNeutralLeft",
3075 "#xi = ln(1/#it{z}_{T}) with neutral UE left side of trigger",
3076 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3085 (
"hDeltaPhiPi0DecayNeutral",
3086 "#varphi_{Decay} - #varphi_{h^{0}} vs #it{p}_{T Decay}",
3087 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3092 (
"hXEPi0DecayNeutral",
3093 "#it{x}_{#it{E}} for decay trigger",
3094 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3099 (
"hZTPi0DecayNeutral",
3100 "#it{z}_{trigger h^{0}} = #it{p}_{T h^{0}} / #it{p}_{T Decay}",
3101 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3117 (Form(
"hMCPtTrigger_%s",nameMC[i].
Data()),
3118 Form(
"MC %s: generated trigger #it{p}_{T}",nameMC[i].
Data()),
3119 nptbins,ptmin,ptmax);
3120 fhMCPtTrigger[i]->SetXTitle(
"#it{p}_{T}^{trig} (GeV/#it{c})");
3123 (Form(
"hMCPhiTrigger_%s",nameMC[i].
Data()),
3124 Form(
"MC %s: generated trigger #varphi",nameMC[i].
Data()),
3125 nptbins,ptmin,ptmax, nphibins,phimin,phimax);
3130 (Form(
"hMCEtaTrigger_%s",nameMC[i].
Data()),
3131 Form(
"MC %s: generated trigger #eta",nameMC[i].
Data()),
3132 nptbins,ptmin,ptmax, netabins,etamin,etamax);
3139 (Form(
"hMCPtTriggerNotLeading_%s",nameMC[i].
Data()),
3140 Form(
"MC %s: generated trigger #it{p}_{T}, when not leading of primaries",nameMC[i].
Data()),
3141 nptbins,ptmin,ptmax);
3145 (Form(
"hMCPhiTriggerNotLeading_%s",nameMC[i].
Data()),
3146 Form(
"MC %s: generated trigger #varphi, when not leading of primaries",nameMC[i].
Data()),
3147 nptbins,ptmin,ptmax, nphibins,phimin,phimax);
3153 (Form(
"hMCEtaTriggerNotLeading_%s",nameMC[i].
Data()),
3154 Form(
"MC %s: generated triogger #eta, when not leading of primaries",nameMC[i].
Data()),
3155 nptbins,ptmin,ptmax, netabins,etamin,etamax);
3163 (Form(
"hMCEtaCharged_%s",nameMC[i].
Data()),
3164 Form(
"MC %s: #eta_{h^{#pm}} vs #it{p}_{T #pm}",nameMC[i].
Data()),
3165 nptbins,ptmin,ptmax,100,-1.,1.);
3170 (Form(
"hMCPhiCharged_%s",nameMC[i].
Data()),
3171 Form(
"MC %s: phi_{h^{#pm}} vs #it{p}_{T #pm}",nameMC[i].
Data()),
3172 nptbins,ptmin,ptmax,180,0,TMath::TwoPi());
3177 (Form(
"hMCDeltaPhiDeltaEtaCharged_%s",nameMC[i].
Data()),
3178 Form(
"MC %s: phi_{trigger} - #varphi_{h^{#pm}} vs #eta_{trigger} - #eta_{h^{#pm}}",nameMC[i].
Data()),
3179 ndeltaphibins ,deltaphimin,deltaphimax,ndeltaetabins ,deltaetamin,deltaetamax);
3184 (Form(
"hMCDeltaEtaCharged_%s",nameMC[i].
Data()),
3185 Form(
"MC %s: #eta_{trigger} - #eta_{h^{#pm}} vs #it{p}_{T trigger} and #it{p}_{T assoc}",nameMC[i].
Data()),
3186 nptbins,ptmin,ptmax,ndeltaetabins ,deltaetamin,deltaetamax);
3191 (Form(
"hMCDeltaPhiCharged_%s",nameMC[i].
Data()),
3192 Form(
"MC %s: #varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}",nameMC[i].
Data()),
3193 nptbins,ptmin,ptmax,ndeltaphibins ,deltaphimin,deltaphimax);
3198 (Form(
"hMCDeltaPhiChargedPt_%s",nameMC[i].
Data()),
3199 Form(
"MC %s: #varphi_{trigger} - #varphi_{#h^{#pm}} vs #it{p}_{T h^{#pm}}",nameMC[i].
Data()),
3200 nptbins,ptmin,ptmax,ndeltaphibins ,deltaphimin,deltaphimax);
3205 (Form(
"hMCPtAssocDeltaPhi_%s",nameMC[i].
Data()),
3206 Form(
"MC %s: #Delta #varphi with associated charged hadrons",nameMC[i].
Data()),
3207 nptbins,ptmin,ptmax,ndeltaphibins ,deltaphimin,deltaphimax);
3221 (Form(
"hMCPtXECharged_%s",nameMC[i].
Data()),
3222 Form(
"MC %s: #it{x}_{#it{E}} with charged hadrons",nameMC[i].
Data()),
3223 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3228 (Form(
"hMCHbpXECharged_%s",nameMC[i].
Data()),
3229 Form(
"MC %s: #xi = ln(1/#it{x}_{#it{E}}) with charged hadrons",nameMC[i].
Data()),
3230 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3235 (Form(
"hMCPtZTCharged_%s",nameMC[i].
Data()),
3236 Form(
"MC %s: #it{z}_{T} with charged hadrons",nameMC[i].
Data()),
3237 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3242 (Form(
"hMCHbpZTCharged_%s",nameMC[i].
Data()),
3243 Form(
"MC %s: #xi = ln(1/#it{z}_{T}) with charged hadrons",nameMC[i].
Data()),
3244 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3249 (Form(
"hMCPtTrigPout_%s",nameMC[i].
Data()),
3250 Form(
"MC %s: #it{p}_{out} with triggers",nameMC[i].
Data()),
3251 nptbins,ptmin,ptmax,nptbins,-1.*ptmax/2.,ptmax/2.);
3275 (Form(
"hMCUePart_%s",nameMC[i].
Data()),
3276 Form(
"MC %s: UE particles distribution vs #it{p}_{T trigger}",nameMC[i].
Data()),
3277 nptbins,ptmin,ptmax);
3279 fhMCUePart[i]->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
3282 (Form(
"hMCPtXEUeCharged%s_%s",right.Data(),nameMC[i].Data()),
3283 Form(
"MC %s: #it{x}_{#it{E}} with charged hadrons, Underlying Event %s",nameMC[i].
Data(),right.Data()),
3284 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3289 (Form(
"hMCPtHbpXEUeCharged%s_%s",right.Data(),nameMC[i].Data()),
3290 Form(
"MC %s: #xi = ln(1/#it{x}_{#it{E}}) with charged hadrons, Underlying Event %s",nameMC[i].
Data(),right.Data()),
3291 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3296 (Form(
"hMCPtZTUeCharged%s_%s",right.Data(),nameMC[i].Data()),
3297 Form(
"MC %s: #it{z}_{T} with charged hadrons, Underlying Event %s",nameMC[i].
Data(),right.Data()),
3298 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3303 (Form(
"hMCPtHbpZTUeCharged%s_%s",right.Data(),nameMC[i].Data()),
3304 Form(
"MC %s: #xi = ln(1/#it{z}_{T}) with charged hadrons, Underlying Event %s",nameMC[i].
Data(),right.Data()),
3305 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3318 (Form(
"hMCPtXEUeChargedLeft_%s",nameMC[i].
Data()),
3319 Form(
"MC %s: #it{x}_{#it{E}} with charged hadrons, with UE left side range of trigger particles",nameMC[i].
Data()),
3320 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3325 (Form(
"hMCPtHbpXEUeChargedLeft_%s",nameMC[i].
Data()),
3326 Form(
"MC %s: #xi = ln(1/#it{x}_{#it{E}}) with charged hadrons, with UE left side range of trigger particles",nameMC[i].
Data()),
3327 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3332 (Form(
"hMCPtZTUeChargedLeft_%s",nameMC[i].
Data()),
3333 Form(
"MC %s: #it{z}_{T} with charged hadrons, with UE left side range of trigger particles",nameMC[i].
Data()),
3334 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3339 (Form(
"hMCPtHbpZTUeChargedLeft_%s",nameMC[i].
Data()),
3340 Form(
"MC %s: #xi = ln(1/#it{z}_{T}) with charged hadrons, with UE left side range of trigger particles",nameMC[i].
Data()),
3341 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3367 for(
Int_t ice = 0 ; ice < nce ; ice++ )
3369 for(
Int_t ivz = 0 ; ivz < nvz ; ivz++ )
3371 for(
Int_t irp = 0 ; irp < nrp ; irp++ )
3387 "#it{p}_{T} distribution of trigger particles, used for mixing",
3388 nptbins,ptmin,ptmax);
3394 (
"hPtTriggerMixedVzBin",
3395 "#it{p}_{T} distribution of trigger particles, used for mixing",
3403 (
"hPtTriggerMixedBin",
3404 "#it{p}_{T} distribution of trigger particles vs mixing bin",
3405 nptbins,ptmin,ptmax,nMixBins,0,nMixBins);
3410 (
"hPhiTriggerMixed",
3411 "#varphi distribution of trigger Particles, used for mixing",
3412 nptbins,ptmin,ptmax, nphibins,phimin,phimax);
3416 (
"hEtaTriggerMixed",
3417 "#eta distribution of trigger, used for mixing",
3418 nptbins,ptmin,ptmax, netabins,etamin,etamax);
3436 for(
Int_t ice = 0 ; ice < nce ; ice++ )
3438 for(
Int_t ivz = 0 ; ivz < nvz ; ivz++ )
3440 for(
Int_t irp = 0 ; irp < nrp ; irp++ )
3457 if ( !
GetReader()->ListWithMixedEventsForTracksExists() )
3460 if ( !
GetReader()->ListWithMixedEventsForCaloExists() )
3466 "Number of triggers per bin(cen,vz,rp)",
3474 "Number of triggers mixed per event bin(cen,vz,rp)",
3482 "Number of min bias events per bin(cen,vz,rp)",
3490 "Number of filtered tracks in MB event per event bin",
3491 ntrbins,trmin,trmax,
3501 (
"hNclustersMBEvent",
3502 "Number of filtered clusters in MB events per event bin",
3503 nclbins,clmin,clmax,
3514 (
"hMixDeltaPhiCharged",
3515 "Mixed event : #varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}",
3516 nptbins,ptmin,ptmax,ndeltaphibins ,deltaphimin,deltaphimax);
3522 (
"hMixDeltaPhiDeltaEtaCharged",
3523 "Mixed event : #varphi_{trigger} - #varphi_{h^{#pm}} vs #eta_{trigger} - #eta_{h^{#pm}}",
3524 ndeltaphibins ,deltaphimin,deltaphimax,ndeltaetabins ,deltaetamin,deltaetamax);
3532 "Mixed event : #it{x}_{#it{E}} for charged tracks",
3533 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3540 "Mixed event : #it{x}_{#it{E}} for charged tracks in Ue region",
3541 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3547 (
"hMixHbpXECharged",
3548 "mixed event : #xi = ln(1/#it{x}_{#it{E}}) with charged hadrons",
3549 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3567 for(
Int_t z = 0 ; z < nz ; z++)
3573 sz = Form(
"_vz%d",z);
3574 tz = Form(
", #it{v}_{#it{z}} bin %d",z);
3582 (Form(
"hMixDeltaPhiDeltaEtaChargedAssocPtBin%2.1f_%2.1f%s",
3584 Form(
"Mixed event #Delta #eta vs #Delta #varphi vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s",
3587 ndeltaphibins ,deltaphimin,deltaphimax,
3588 ndeltaetabins ,deltaetamin,deltaetamax);
3599 (Form(
"hMixDeltaPhiChargedAssocPtBin%2.1f_%2.1f%s",
3601 Form(
"Mixed event #Delta #varphi vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s",
3603 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3612 (Form(
"hMixDeltaPhiDeltaEta0.8ChargedAssocPtBin%2.1f_%2.1f%s",
3614 Form(
"Mixed event #Delta #varphi vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s, for #Delta #eta > 0.8",
3616 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3621 (Form(
"hMixDeltaPhiDeltaEta0ChargedAssocPtBin%2.1f_%2.1f%s",
3623 Form(
"Mixed event #Delta #varphi vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s, for #Delta #eta = 0",
3625 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3643 "Selected triggers #it{p}_{T} and super-module number",
3644 nptbins,ptmin,ptmax,
3652 if ( ism < fFirstModule || ism >
fLastModule )
continue;
3655 (Form(
"hXECharged_SM%d",ism),
3656 Form(
"#it{x}_{#it{E}} for charged tracks, SM %d",ism),
3657 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3663 (Form(
"hXEUeCharged%s_SM%d",right.Data(),ism),
3664 Form(
"#it{x}_{#it{E}} for Underlying event, SM %d",ism),
3671 (Form(
"hDeltaPhiCharged_SM%d",ism),
3672 Form(
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, SM %d",ism),
3673 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3679 (Form(
"hDeltaPhiChargedPtA3GeV_SM%d",ism),
3680 Form(
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}, SM %d",ism),
3681 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3691 (
"hPtTriggerPerTCardIndex",
3692 "Selected triggers #it{p}_{T} and T-Card index",
3693 nptbins,ptmin,ptmax,
3699 for(
Int_t itc = 0; itc < 16; itc++)
3702 (Form(
"hXECharged_TC%d",itc),
3703 Form(
"#it{x}_{#it{E}} for charged tracks, SM %d",itc),
3704 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3710 (Form(
"hXEUeCharged%s_TC%d",right.Data(),itc),
3711 Form(
"#it{x}_{#it{E}} for Underlying event, SM %d",itc),
3718 (Form(
"hDeltaPhiCharged_TC%d",itc),
3719 Form(
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, SM %d",itc),
3720 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3726 (Form(
"hDeltaPhiChargedPtA3GeV_TC%d",itc),
3727 Form(
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}, SM %d",itc),
3728 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3735 return outputContainer;
3749 if ( indexPhoton1!=-1 || indexPhoton2!=-1 )
return kFALSE;
3751 AliDebug(1,Form(
"indexPhoton1 = %d, indexPhoton2 = %d", indexPhoton1, indexPhoton2));
3757 for(
Int_t iclus = 0; iclus < clusters->GetEntriesFast(); iclus++)
3759 AliVCluster * photon = (AliVCluster*) (clusters->At(iclus));
3794 AliFatal(
"STOP!: You want to use CTS tracks in analysis but not read!! \n!!Check the configuration file!!");
3913 for(
Int_t iphoton = 0; iphoton < nphoton; iphoton++)
3967 if (check == 0 )
continue;
3968 if (check == -1 )
return kFALSE;
3971 if (particle->
Pt() > ptTrig)
3973 ptTrig = particle->
Pt() ;
3974 phiTrig = particle->
Phi();
3976 pLeading = particle ;
3980 if ( index < 0 )
return kFALSE;
3984 if ( phiTrig < 0 ) phiTrig += TMath::TwoPi();
3990 AliVTrack * track = (AliVTrack *) (
GetCTSTracks()->At(ipr)) ;
3998 Bool_t contained = kFALSE;
4000 for(
Int_t i = 0; i < 4; i++)
4002 if ( trackID == pLeading->
GetTrackLabel(i) ) contained = kTRUE;
4005 if ( contained ) continue ;
4008 fTrackVector.SetXYZ(track->Px(),track->Py(),track->Pz());
4011 if ( phi < 0 ) phi+=TMath::TwoPi();
4016 Float_t deltaPhi = phiTrig-phi;
4017 if ( deltaPhi <= -TMath::PiOver2() ) deltaPhi+=TMath::TwoPi();
4018 if ( deltaPhi > 3*TMath::PiOver2() ) deltaPhi-=TMath::TwoPi();
4020 if ( pt > ptTrig && deltaPhi < TMath::PiOver2() )
return kFALSE;
4025 if ( pt > ptTrig )
return kFALSE ;
4040 if ( !nePl )
return kTRUE;
4042 for(
Int_t ipr = 0;ipr < nePl->GetEntriesFast() ; ipr ++ )
4044 AliVCluster * cluster = (AliVCluster *) (nePl->At(ipr)) ;
4047 cluster->GetID() == pLeading->
GetCaloLabel(1) )
continue ;
4053 if ( phi < 0 ) phi+=TMath::TwoPi();
4062 Float_t deltaPhi = phiTrig-phi;
4063 if ( deltaPhi <= -TMath::PiOver2() ) deltaPhi+=TMath::TwoPi();
4064 if ( deltaPhi > 3*TMath::PiOver2() ) deltaPhi-=TMath::TwoPi();
4066 if ( pt > ptTrig && deltaPhi < TMath::PiOver2() )
return kFALSE ;
4071 if ( pt > ptTrig )
return kFALSE ;
4079 AliDebug(1,Form(
"\t particle AOD with index %d is leading with pT %2.2f",
fLeadingTriggerIndex, pLeading->
Pt()));
4103 AliFatal(Form(
"No input particles in AOD with name branch < %s >, STOP",
GetInputAODName().
Data()));
4110 AliDebug(1,
"No particle AOD found!");
4114 AliDebug(1,Form(
"Begin hadron correlation analysis, fill histograms"));
4115 AliDebug(1,Form(
"n particle branch aod entries %d", naod));
4116 AliDebug(1,Form(
"In CTS aod entries %d",
GetCTSTracks()->GetEntriesFast()));
4131 AliDebug(1,
"Leading was requested and not found");
4156 for(
Int_t iaod = iaod0; iaod < naod; iaod++ )
4176 AliDebug(1,Form(
"%s Trigger : min %f, max %f, det %d",
4199 AliDebug(1,
"Pass the shower shape cut");
4212 AliDebug(1,
"Pass the isolation cut");
4222 if ( !in ) continue ;
4224 AliDebug(1,
"Pass the fiducial cut");
4234 Bool_t okLeadHad = kTRUE;
4250 if ( clusterID < 0 )
4251 AliWarning(Form(
"ID of cluster = %d, not possible!", clusterID));
4260 Int_t ietaMax=-1, iphiMax = 0, rcuMax = 0;
4279 Bool_t lostDecayPair = kFALSE;
4315 if ( lostDecayPair )
4329 Float_t pTLeadTrackInCone = 0;
4331 Float_t pTLeadClusterInCone = 0;
4332 Float_t pTSumClusterInCone = 0;
4340 Float_t pTLeadInCone = pTLeadTrackInCone;
4341 if ( pTLeadClusterInCone > pTLeadInCone )
4342 pTLeadInCone = pTLeadClusterInCone;
4343 Float_t pTSumInCone = pTSumTrackInCone + pTSumClusterInCone;
4346 Int_t pTSumBin = -1;
4347 Int_t pTLeadBin = -1;
4362 if ( pTLeadBin > 0 )
4371 if ( decayTag < 0 ) decayTag = 0;
4390 if ( pTLeadBin >=0 )
4404 if ( pTLeadBin >=0 )
4429 AliFatal(Form(
"Lost decay Bit assigned to bad case, mcIndex %d",mcIndex));
4431 if ( pTLeadBin >=0 )
4452 if ( decayTag < 0 ) decayTag = 0;
4463 if ( lostDecayPair )
4478 if ( phi < 0 ) phi+=TMath::TwoPi();
4503 if ( vtxBC == 0 || vtxBC==AliVTrack::kTOFBCNA )
4519 AliDebug(1,
"End fill histograms");
4531 AliDebug(1,
"Make trigger particle - charged hadron correlation");
4544 decayTag = aodParticle->
DecayTag();
4545 if ( decayTag < 0 ) decayTag = 0;
4563 Int_t evtIndex11 = -1 ;
4564 Int_t evtIndex12 = -1 ;
4565 Int_t evtIndex13 = -1 ;
4583 Bool_t decayFound = kFALSE;
4600 AliVTrack * track = (AliVTrack *) (
GetCTSTracks()->At(ipr)) ;
4602 fTrackVector.SetXYZ(track->Px(),track->Py(),track->Pz());
4606 if ( phi < 0 ) phi+=TMath::TwoPi();
4609 if ( pt < fMinAssocPt || pt >
fMaxAssocPt ) continue ;
4617 Bool_t contained = kFALSE;
4619 for(
Int_t i = 0; i < 4; i++)
4621 if ( trackID == aodParticle->
GetTrackLabel(i) ) contained = kTRUE;
4624 if ( contained ) continue ;
4628 Int_t evtIndex2 = 0 ;
4632 if (evtIndex11 == evtIndex2 || evtIndex12 == evtIndex2 || evtIndex13 == evtIndex2 )
4639 AliDebug(2,Form(
"Selected charge for momentum imbalance: pt %2.2f, phi %2.2f, eta %2.2f",pt,phi,eta));
4648 Int_t assocBin = -1;
4667 Int_t bin = assocBin*nz+vz;
4674 ULong_t status = track->GetStatus();
4675 Bool_t okTOF = ( (status & AliVTrack::kTOFout) == AliVTrack::kTOFout ) ;
4677 Int_t trackBC = track->GetTOFBunchCrossing(bz);
4680 if ( okTOF && trackBC!=0 ) outTOF = 1;
4681 else if ( okTOF && trackBC==0 ) outTOF = 0;
4690 deltaPhi = phiTrig-phi;
4697 if ( deltaPhi <= -TMath::PiOver2() ) deltaPhi+=TMath::TwoPi();
4698 if ( deltaPhi > 3*TMath::PiOver2() ) deltaPhi-=TMath::TwoPi();
4701 eta, etaTrig, sm, decayTag, track->GetHMPIDsignal(),
4702 outTOF, cenbin, mcTag);
4708 AliESDtrack * esdTrack =
dynamic_cast<AliESDtrack*
>(track);
4723 assocBin, decayTag, outTOF, mcTag);
4762 reftracks->SetName(trackname.Data());
4763 reftracks->SetOwner(kFALSE);
4766 reftracks->Add(track);
4782 AliDebug(1,Form(
"Make trigger particle - charged hadron mixed event correlation"));
4791 AliInputEventHandler * inputHandler =
dynamic_cast<AliInputEventHandler*
>(manager->GetInputEventHandler());
4793 if ( !inputHandler )
return;
4801 if ( eventBin < 0 )
return;
4810 TList * poolCalo = 0;
4822 if ( !pool ) return ;
4824 if ( neutralMix && !poolCalo )
4825 AliWarning(
"Careful, cluster pool not available");
4830 if ( phiTrig < 0. ) phiTrig+=TMath::TwoPi();
4832 AliDebug(1,Form(
"Pool bin %d size %d, trigger trigger pt=%f, phi=%f, eta=%f",
4833 eventBin,pool->GetSize(), ptTrig,phiTrig,etaTrig));
4846 for(
Int_t ev=ev0; ev < pool->GetSize(); ev++)
4855 if ( neutralMix && poolCalo )
4857 if ( pool->GetSize()!=poolCalo->GetSize() )
4858 AliWarning(
"Different size of calo and track pools");
4860 bgCalo =
static_cast<TObjArray*
>(poolCalo->At(ev));
4862 if ( !bgCalo ) AliDebug(1,Form(
"Event %d in calo pool not available?",ev));
4870 Int_t n=0, nfrac = 0;
4871 Bool_t isolated = kFALSE;
4872 Float_t coneptsum = 0, coneptlead = 0;
4875 kFALSE, aodParticle,
"",
4876 n,nfrac,coneptsum,coneptlead,isolated);
4883 if ( !isolated ) continue ;
4889 Int_t nTracks=bgTracks->GetEntriesFast();
4894 for(
Int_t jlead = 0;jlead < nTracks; jlead++ )
4898 ptAssoc = track->
Pt();
4899 phiAssoc = track->
Phi() ;
4900 if ( phiAssoc < 0 ) phiAssoc+=TMath::TwoPi();
4904 deltaPhi = phiTrig-phiAssoc;
4905 if ( deltaPhi <= -TMath::PiOver2() ) deltaPhi+=TMath::TwoPi();
4906 if ( deltaPhi > 3*TMath::PiOver2() ) deltaPhi-=TMath::TwoPi();
4908 if ( ptAssoc > ptTrig && deltaPhi < TMath::PiOver2() )
4917 if ( ptAssoc > ptTrig )
4926 AliWarning(
"Leading of clusters requested but no clusters in mixed event");
4930 Int_t nClusters=bgCalo->GetEntriesFast();
4931 for(
Int_t jlead = 0;jlead <nClusters; jlead++ )
4935 ptAssoc = cluster->
Pt();
4936 phiAssoc = cluster->
Phi() ;
4937 if ( phiAssoc < 0 ) phiAssoc+=TMath::TwoPi();
4941 deltaPhi = phiTrig-phiAssoc;
4942 if ( deltaPhi <= -TMath::PiOver2() ) deltaPhi+=TMath::TwoPi();
4943 if ( deltaPhi > 3*TMath::PiOver2() ) deltaPhi-=TMath::TwoPi();
4945 if ( ptAssoc > ptTrig && deltaPhi < TMath::PiOver2() )