20 #include <TDatabasePDG.h> 21 #include <TClonesArray.h> 23 #include <TObjString.h> 31 #include "AliVTrack.h" 32 #include "AliVCluster.h" 34 #include "AliMCEvent.h" 35 #include "AliVParticle.h" 36 #include "AliMixedEvent.h" 37 #include "AliAnalysisManager.h" 38 #include "AliInputEventHandler.h" 39 #include "AliEventplane.h" 41 #include "AliESDEvent.h" 42 #include "AliAODEvent.h" 45 #include "AliEMCALGeometry.h" 46 #include "AliPHOSGeoUtils.h" 58 fFillAODWithReferences(0), fCheckLeadingWithNeutralClusters(0),
59 fMaxAssocPt(1000.), fMinAssocPt(0.),
60 fDeltaPhiMaxCut(0.), fDeltaPhiMinCut(0.),
61 fSelectIsolated(0), fMakeSeveralUE(0),
62 fUeDeltaPhiMaxCut(0.), fUeDeltaPhiMinCut(0.),
63 fPi0AODBranchName(
""), fAODNamepTInConeHisto(
""), fNeutralCorr(0),
64 fPi0Trigger(0), fDecayTrigger(0),
65 fNDecayBits(0), fDecayBits(),
67 fMakeAbsoluteLeading(0), fMakeNearSideLeading(0),
68 fLeadingTriggerIndex(-1), fHMPIDCorrelation(0), fFillBradHisto(0),
69 fNAssocPtBins(0), fAssocPtBinLimit(),
71 fListMixTrackEvents(), fListMixCaloEvents(),
72 fUseMixStoredInReader(0), fFillNeutralEventMixPool(0),
73 fM02MaxCut(0), fM02MinCut(0),
74 fSelectLeadingHadronAngle(0), fFillLeadHadOppositeHisto(0),
75 fMinLeadHadPhi(0), fMaxLeadHadPhi(0),
76 fMinLeadHadPt(0), fMaxLeadHadPt(0),
77 fFillEtaGapsHisto(1), fFillMomImbalancePtAssocBinsHisto(0),
78 fFillInvMassHisto(0), fFillBkgBinsHisto(0),
79 fFillPerSMHistograms(0), fFillPerTCardIndexHistograms(0), fTCardIndex(-1),
80 fFillTaggedDecayHistograms(0), fDecayTagsM02Cut(0),
81 fMCGenTypeMin(0), fMCGenTypeMax(0),
82 fTrackVector(), fMomentum(), fMomentumIM(),
83 fDecayMom1(), fDecayMom2(),
85 fhPtTriggerInput(0), fhPtTriggerSSCut(0),
86 fhPtTriggerIsoCut(0), fhPtTriggerFidCut(0),
87 fhPtTrigger(0), fhPtTriggerVtxBC0(0),
88 fhPtTriggerVzBin(0), fhPtTriggerBin(0),
89 fhPhiTrigger(0), fhEtaTrigger(0),
91 fhPtDecayTrigger(), fhPtDecayTriggerMC(),
92 fhPtTriggerCentrality(0), fhPtTriggerEventPlane(0),
93 fhTriggerEventPlaneCentrality(0),
94 fhPtTriggerMixed(0), fhPtTriggerMixedVzBin(0), fhPtTriggerMixedBin(0),
95 fhPhiTriggerMixed(0), fhEtaTriggerMixed(0),
96 fhPtLeadingOppositeHadron(0), fhPtDiffPhiLeadingOppositeHadron(0), fhPtDiffEtaLeadingOppositeHadron(0),
97 fhPtNoLeadingOppositeHadron(0), fhEtaPhiNoLeadingOppositeHadron(0),
98 fhDeltaPhiDeltaEtaCharged(0),
99 fhPhiCharged(0), fhEtaCharged(0),
100 fhDeltaPhiCharged(0), fhDeltaEtaCharged(0),
101 fhDeltaPhiChargedPt(0), fhDeltaPhiUeChargedPt(0),
103 fhXECharged(0), fhXECharged_Cone2(0), fhXEUeCharged(0),
104 fhXEUeChargedSmallCone(0), fhXEUeChargedMediumCone(0), fhXEUeChargedLargeCone(0),
105 fhXEPosCharged(0), fhXENegCharged(0),
106 fhPtHbpXECharged(0), fhPtHbpXECharged_Cone2(0), fhPtHbpXEUeCharged(0),
107 fhZTCharged(0), fhZTUeCharged(0),
108 fhZTPosCharged(0), fhZTNegCharged(0),
109 fhPtHbpZTCharged(0), fhPtHbpZTUeCharged(0),
110 fhXEChargedMC(), fhDeltaPhiChargedMC(),
111 fhXEUeChargedRightMC(), fhXEUeChargedLeftMC(),
112 fhDeltaPhiDeltaEtaChargedPtA3GeV(0),
113 fhDeltaPhiChargedPtA3GeV(0), fhDeltaEtaChargedPtA3GeV(0),
115 fhDeltaPhiChargedPileUp(), fhDeltaEtaChargedPileUp(),
116 fhDeltaPhiChargedPtA3GeVPileUp(), fhDeltaEtaChargedPtA3GeVPileUp(),
117 fhXEChargedPileUp(), fhXEUeChargedPileUp(),
118 fhZTChargedPileUp(), fhZTUeChargedPileUp(),
119 fhPtTrigChargedPileUp(),
120 fhDeltaPhiChargedOtherBC(), fhDeltaPhiChargedPtA3GeVOtherBC(),
121 fhXEChargedOtherBC(), fhXEUeChargedOtherBC(),
122 fhZTChargedOtherBC(), fhZTUeChargedOtherBC(),
123 fhPtTrigChargedOtherBC(),
124 fhDeltaPhiChargedBC0(), fhDeltaPhiChargedPtA3GeVBC0(),
125 fhXEChargedBC0(), fhXEUeChargedBC0(),
126 fhZTChargedBC0(), fhZTUeChargedBC0(),
127 fhPtTrigChargedBC0(),
128 fhDeltaPhiChargedVtxBC0(), fhDeltaPhiChargedPtA3GeVVtxBC0(),
129 fhXEChargedVtxBC0(), fhXEUeChargedVtxBC0(),
130 fhZTChargedVtxBC0(), fhZTUeChargedVtxBC0(),
131 fhPtTrigChargedVtxBC0(),
132 fhDeltaPhiUeLeftCharged(0),
133 fhDeltaPhiUeLeftUpCharged(0), fhDeltaPhiUeRightUpCharged(0),
134 fhDeltaPhiUeLeftDownCharged(0), fhDeltaPhiUeRightDownCharged(0),
135 fhXEUeLeftCharged(0),
136 fhXEUeLeftUpCharged(0), fhXEUeRightUpCharged(0),
137 fhXEUeLeftDownCharged(0), fhXEUeRightDownCharged(0),
138 fhPtHbpXEUeLeftCharged(0), fhZTUeLeftCharged(0),
139 fhPtHbpZTUeLeftCharged(0),
140 fhPtTrigPout(0), fhPtTrigCharged(0),
141 fhDeltaPhiChargedMult(0x0), fhDeltaEtaChargedMult(0x0),
142 fhXEMult(0x0), fhXEUeMult(0x0),
143 fhZTMult(0x0), fhZTUeMult(0x0),
144 fhAssocPtBkg(0), fhDeltaPhiDeltaEtaAssocPtBin(0),
145 fhDeltaPhiAssocPtBin(0),
146 fhDeltaPhiAssocPtBinDEta08(0), fhDeltaPhiAssocPtBinDEta0(0),
147 fhDeltaPhiAssocPtBinHMPID(0), fhDeltaPhiAssocPtBinHMPIDAcc(0),
148 fhDeltaPhiBradAssocPtBin(0), fhDeltaPhiBrad(0),
149 fhXEAssocPtBin(0), fhZTAssocPtBin(0),
150 fhXEVZ(0), fhZTVZ(0),
151 fhDeltaPhiDeltaEtaNeutral(0),
152 fhPhiNeutral(0), fhEtaNeutral(0),
153 fhDeltaPhiNeutral(0), fhDeltaEtaNeutral(0),
154 fhDeltaPhiNeutralPt(0), fhDeltaPhiUeNeutralPt(0),
155 fhXENeutral(0), fhXEUeNeutral(0),
156 fhPtHbpXENeutral(0), fhPtHbpXEUeNeutral(0),
157 fhZTNeutral(0), fhZTUeNeutral(0),
158 fhPtHbpZTNeutral(0), fhPtHbpZTUeNeutral(0),
159 fhDeltaPhiUeLeftNeutral(0), fhXEUeLeftNeutral(0),
160 fhPtHbpXEUeLeftNeutral(0), fhZTUeLeftNeutral(0),
161 fhPtHbpZTUeLeftNeutral(0), fhPtPi0DecayRatio(0),
162 fhDeltaPhiPi0DecayCharged(0), fhXEPi0DecayCharged(0), fhZTPi0DecayCharged(0),
163 fhDeltaPhiPi0DecayNeutral(0), fhXEPi0DecayNeutral(0), fhZTPi0DecayNeutral(0),
164 fhDeltaPhiDecayCharged(), fhXEDecayCharged(), fhZTDecayCharged(),
165 fhDeltaPhiDecayChargedAssocPtBin(),
166 fhMCPtTrigger(), fhMCPhiTrigger(), fhMCEtaTrigger(),
167 fhMCPtTriggerNotLeading(), fhMCPhiTriggerNotLeading(), fhMCEtaTriggerNotLeading(),
168 fhMCEtaCharged(), fhMCPhiCharged(),
169 fhMCDeltaEtaCharged(), fhMCDeltaPhiCharged(),
170 fhMCDeltaPhiDeltaEtaCharged(), fhMCDeltaPhiChargedPt(),
171 fhMCPtXECharged(), fhMCPtXEUeCharged(),
172 fhMCPtXEUeLeftCharged(),
173 fhMCPtHbpXECharged(), fhMCPtHbpXEUeCharged(),
174 fhMCPtHbpXEUeLeftCharged(),
176 fhMCPtZTCharged(), fhMCPtZTUeCharged(),
177 fhMCPtZTUeLeftCharged(),
178 fhMCPtHbpZTCharged(), fhMCPtHbpZTUeCharged(),
179 fhMCPtHbpZTUeLeftCharged(),
180 fhMCPtTrigPout(), fhMCPtAssocDeltaPhi(),
182 fhNEventsTrigger(0), fhNtracksMB(0), fhNclustersMB(0),
183 fhMixDeltaPhiCharged(0), fhMixDeltaPhiDeltaEtaCharged(0),
184 fhMixXECharged(0), fhMixXEUeCharged(0), fhMixHbpXECharged(0),
185 fhMixDeltaPhiChargedAssocPtBin(),
186 fhMixDeltaPhiChargedAssocPtBinDEta08(),
187 fhMixDeltaPhiChargedAssocPtBinDEta0(),
188 fhMixDeltaPhiDeltaEtaChargedAssocPtBin(),
189 fhEventBin(0), fhEventMixBin(0), fhEventMBBin(0),
190 fhMassPtTrigger(0), fhMCMassPtTrigger(),
191 fhPtLeadInConeBin(), fhPtSumInConeBin(),
192 fhPtLeadConeBinDecay(), fhSumPtConeBinDecay(),
193 fhPtLeadConeBinMC(), fhSumPtConeBinMC(),
194 fhTrackResolution(0), fhTrackResolutionUE(0),
195 fhPtTriggerPerSM(0), fhPtTriggerPerTCardIndex(0)
213 for(
Int_t i = 0; i < 7; i++)
223 for(
Int_t ism = 0; ism < 20; ism++)
231 for(
Int_t itc = 0; itc < 16; itc++)
294 Float_t deltaEta = etaTrig-etaAssoc;
295 Float_t deltaPhiOrg = phiTrig-phiAssoc;
341 if(vtxBC == 0 || vtxBC==AliVTrack::kTOFBCNA)
357 if(
GetReader()->IsPileUpFromSPDOrEMCal())
362 if(
GetReader()->IsPileUpFromSPDAndEMCal())
367 if(
GetReader()->IsPileUpFromSPDAndNotEMCal())
372 if(
GetReader()->IsPileUpFromEMCalAndNotSPD())
377 if(
GetReader()->IsPileUpFromNotSPDAndNotEMCal())
395 if(
GetReader()->IsPileUpFromSPDOrEMCal())
400 if(
GetReader()->IsPileUpFromSPDAndEMCal())
405 if(
GetReader()->IsPileUpFromSPDAndNotEMCal())
410 if(
GetReader()->IsPileUpFromEMCalAndNotSPD())
415 if(
GetReader()->IsPileUpFromNotSPDAndNotEMCal())
448 dphiBrad = atan2(sin(deltaPhiOrg), cos(deltaPhiOrg))/TMath::Pi();
449 if( TMath::Abs(dphiBrad) > 0.325 && TMath::Abs(dphiBrad) < 0.475 )
454 if( dphiBrad < -1./3 ) dphiBrad += 2;
467 if(TMath::Abs(deltaEta)> 0.8)
470 if(TMath::Abs(deltaEta)< 0.01)
485 if( hmpidSignal > 0 )
491 if(phiAssoc > 5*TMath::DegToRad() && phiAssoc < 20*TMath::DegToRad())
523 if( mcAssocPhi < 0 ) mcAssocPhi+=TMath::TwoPi();
525 Float_t mcdeltaPhi= mcTrigPhi-mcAssocPhi;
526 if(mcdeltaPhi <= -TMath::PiOver2()) mcdeltaPhi+=TMath::TwoPi();
527 if(mcdeltaPhi > 3*TMath::PiOver2()) mcdeltaPhi-=TMath::TwoPi();
531 if( mcAssocPt > mcTrigPt && mcdeltaPhi < TMath::PiOver2() ) lead = kFALSE;
536 if ( mcAssocPt < fMinAssocPt || mcAssocPt >
fMaxAssocPt )
return lead ;
537 if ( mcAssocPt <
GetReader()->GetCTSPtMin())
return lead ;
542 if(TMath::Abs(mcAssocPt -mcTrigPt ) < 1e-6 &&
544 TMath::Abs(mcAssocEta-mcTrigEta) < 1e-6)
return lead ;
546 Float_t mcxE =-mcAssocPt/mcTrigPt*TMath::Cos(mcdeltaPhi);
548 if(mcxE > 0 ) mchbpXE = TMath::Log(1./mcxE);
550 Float_t mczT = mcAssocPt/mcTrigPt ;
552 if(mczT > 0 ) mchbpZT = TMath::Log(1./mczT);
554 Double_t mcpout = mcAssocPt*TMath::Sin(mcdeltaPhi) ;
556 AliDebug(1,Form(
"Charged hadron: track Pt %f, track Phi %f, phi trigger %f. Cuts: delta phi %2.2f < %2.2f < %2.2f",
635 Double_t mcUexE = -(mcAssocPt/mcTrigPt)*TMath::Cos(randomphi);
636 Double_t mcUezT = mcAssocPt/mcTrigPt;
639 AliWarning(Form(
"Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
684 Double_t mcUexE = -(mcAssocPt/mcTrigPt)*TMath::Cos(randomphi);
685 Double_t mcUezT = mcAssocPt/mcTrigPt;
688 AliWarning(Form(
"Careful!!, negative xE %2.2f for left UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
736 Float_t xE =-ptAssoc/ptTrig*TMath::Cos(deltaPhi);
737 Float_t pout = ptAssoc*TMath::Sin(deltaPhi) ;
740 AliWarning(Form(
"Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
746 if(xE > 0 ) hbpXE = TMath::Log(1./xE);
747 if(zT > 0 ) hbpZT = TMath::Log(1./zT);
760 if((deltaPhi > 5*TMath::Pi()/6.) && (deltaPhi < 7*TMath::Pi()/6.))
797 if(vtxBC == 0 || vtxBC==AliVTrack::kTOFBCNA)
816 if(
GetReader()->IsPileUpFromSPDOrEMCal())
822 if(
GetReader()->IsPileUpFromSPDAndEMCal())
828 if(
GetReader()->IsPileUpFromSPDAndNotEMCal())
834 if(
GetReader()->IsPileUpFromEMCalAndNotSPD())
840 if(
GetReader()->IsPileUpFromNotSPDAndNotEMCal())
903 Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
907 AliWarning(Form(
"Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
954 if(vtxBC == 0 || vtxBC==AliVTrack::kTOFBCNA)
970 if(
GetReader()->IsPileUpFromSPDOrEMCal())
975 if(
GetReader()->IsPileUpFromSPDAndEMCal())
980 if(
GetReader()->IsPileUpFromSPDAndNotEMCal())
985 if(
GetReader()->IsPileUpFromEMCalAndNotSPD())
990 if(
GetReader()->IsPileUpFromNotSPDAndNotEMCal())
1019 Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
1023 AliWarning(Form(
"Careful!!, negative xE %2.2f for left UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
1053 Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
1056 AliWarning(Form(
"Careful!!, negative xE %2.2f for left-down UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
1067 Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
1070 AliWarning(Form(
"Careful!!, negative xE %2.2f for left-up UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
1081 Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
1084 AliWarning(Form(
"Careful!!, negative xE %2.2f for right-up UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
1095 Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
1098 AliWarning(Form(
"Careful!!, negative xE %2.2f for right-down UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
1114 Float_t zTDecay1 = -100, zTDecay2 = -100;
1115 if(ptDecay1 > 0) zTDecay1 = ptAssoc/ptDecay1 ;
1116 if(ptDecay2 > 0) zTDecay2 = ptAssoc/ptDecay2 ;
1119 if(deltaPhiDecay1< -TMath::PiOver2()) deltaPhiDecay1+=TMath::TwoPi();
1120 if(deltaPhiDecay1>3*TMath::PiOver2()) deltaPhiDecay1-=TMath::TwoPi();
1123 if(deltaPhiDecay2< -TMath::PiOver2()) deltaPhiDecay2+=TMath::TwoPi();
1124 if(deltaPhiDecay2>3*TMath::PiOver2()) deltaPhiDecay2-=TMath::TwoPi();
1126 Float_t xEDecay1 =-zTDecay1*TMath::Cos(deltaPhiDecay1);
1127 Float_t xEDecay2 =-zTDecay2*TMath::Cos(deltaPhiDecay2);
1129 if(bChargedOrNeutral)
1134 AliDebug(2,Form(
"deltaPhoton1 = %f, deltaPhoton2 = %f", deltaPhiDecay1, deltaPhiDecay2));
1152 AliDebug(2,Form(
"deltaPhoton1 = %f, deltaPhoton2 = %f", deltaPhiDecay1, deltaPhiDecay2));
1177 Float_t xE =-ptAssoc/ptTrig*TMath::Cos(randomphi);
1179 if(xE > 0 ) hbpXE = TMath::Log(1./xE);
1221 AliInputEventHandler * inputHandler =
dynamic_cast<AliInputEventHandler*
>(manager->GetInputEventHandler());
1223 if(!inputHandler) return ;
1231 if(eventBin < 0)
return;
1250 AliVTrack * track = (AliVTrack *) (
GetCTSTracks()->At(ipr)) ;
1252 fTrackVector.SetXYZ(track->Px(),track->Py(),track->Pz());
1256 if(pt < fMinAssocPt || pt >
fMaxAssocPt) continue ;
1261 mixEventTracks->Add(mixedTrack);
1270 pool->AddFirst(mixEventTracks);
1278 TClonesArray * tmp =
static_cast<TClonesArray*
>(pool->Last()) ;
1279 pool->RemoveLast() ;
1303 AliInputEventHandler * inputHandler =
dynamic_cast<AliInputEventHandler*
>(manager->GetInputEventHandler());
1305 if(!inputHandler) return ;
1313 if(eventBin < 0)
return;
1326 for(
Int_t ipr = 0;ipr < pl->GetEntriesFast() ; ipr ++ )
1328 AliVCluster * calo = (AliVCluster *) (pl->At(ipr)) ;
1347 if(pt < fMinAssocPt || pt >
fMaxAssocPt) continue ;
1351 mixEventCalo->Add(mixedCalo);
1360 poolCalo->AddFirst(mixEventCalo);
1368 TClonesArray * tmp =
static_cast<TClonesArray*
>(poolCalo->Last()) ;
1369 poolCalo->RemoveLast() ;
1383 if(phiTrig < 0 ) phiTrig+= TMath::TwoPi();
1393 AliVTrack * track = (AliVTrack *) (
GetCTSTracks()->At(ipr)) ;
1395 fTrackVector.SetXYZ(track->Px(),track->Py(),track->Pz());
1399 if(phi < 0 ) phi+= TMath::TwoPi();
1401 Float_t deltaPhi = phiTrig-phi;
1407 if(deltaPhi <= -TMath::PiOver2()) deltaPhi+=TMath::TwoPi();
1408 if(deltaPhi > 3*TMath::PiOver2()) deltaPhi-=TMath::TwoPi();
1410 if(pt > ptLeadHad && deltaPhi > TMath::PiOver2())
1414 dphiLeadHad= deltaPhi;
1436 AliDebug(1,Form(
"pT %2.2f, phi %2.2f, eta %2.2f, nTracks away %d, total tracks %d",
1438 AliDebug(1,Form(
"\t pT trig %2.2f, Dphi (trigger-hadron) %2.2f, Deta (trigger-hadron) %2.2f",
1439 ptTrig, dphiLeadHad*TMath::RadToDeg(), etaLeadHad-etaTrig));
1440 AliDebug(1,Form(
"\t cuts pT: min %2.2f, max %2.2f; DPhi: min %2.2f, max %2.2f",
1446 if( nTrack == 0 )
return kFALSE;
1448 if( ptLeadHad < fMinLeadHadPt || ptLeadHad >
fMaxLeadHadPt )
return kFALSE;
1452 if( dphiLeadHad < fMinLeadHadPhi || dphiLeadHad >
fMaxLeadHadPhi )
return kFALSE;
1465 const Int_t buffersize = 560;
1466 char onePar[buffersize] ;
1468 snprintf(onePar,buffersize,
"--- AliAnaPaticleHadronCorrelation ---:") ;
1476 snprintf(onePar,buffersize,
"Isolated Trigger? %d;",
fSelectIsolated) ;
1480 snprintf(onePar,buffersize,
"Name of AOD Pi0 Branch %s;",
fPi0AODBranchName.Data());
1484 snprintf(onePar,buffersize,
"Select absolute leading for cluster triggers ? %d or Near Side Leading %d;",
1487 snprintf(onePar,buffersize,
"Associated particle pt bins %d: ",
fNAssocPtBins) ;
1500 return new TObjString(parList) ;
1510 outputContainer->SetName(
"CorrelationHistos") ;
1534 TString nameMC[] = {
"Photon",
"Pi0",
"Pi0Decay",
"Eta",
"EtaDecay",
"OtherDecay",
"Electron",
"Hadron",
"Pi0DecayLostPair",
"EtaDecayLostPair"};
1535 TString mcPartType[] = {
"#gamma",
"#pi^{0} (merged #gamma)",
"#gamma_{#pi decay}",
"#eta (merged #gamma)" ,
"#gamma_{#eta decay}",
"#gamma_{other decay}",
1536 "e^{#pm}" ,
"hadrons?" ,
"#gamma_{#pi decay} lost companion",
"#gamma_{#eta decay} lost companion"} ;
1537 TString pileUpName[] = {
"SPD",
"EMCAL",
"SPDOrEMCAL",
"SPDAndEMCAL",
"SPDAndNotEMCAL",
"EMCALAndNotSPD",
"NotSPDAndNotEMCAL"} ;
1557 fhTrackResolution =
new TH2F (
"hTrackResolution",
"Track resolution: #sigma_{#it{p}_{T}} vs #it{p}_{T}, away side, ESDs",
1558 nptbins,ptmin,ptmax,600,0,0.3);
1563 fhTrackResolutionUE =
new TH2F (
"hTrackResolutionUE",
"Track resolution: #sigma_{#it{p}_{T}} vs #it{p}_{T}, UE, ESDs",
1564 nptbins,ptmin,ptmax,600,0,0.3);
1570 fhPtTriggerInput =
new TH1F(
"hPtTriggerInput",
"Input trigger #it{p}_{T}", nptbins,ptmin,ptmax);
1576 fhPtTriggerSSCut =
new TH1F(
"hPtTriggerSSCut",
"Trigger #it{p}_{T} after #lambda^{2}_{0} cut", nptbins,ptmin,ptmax);
1583 fhPtTriggerIsoCut =
new TH1F(
"hPtTriggerIsoCut",
"Trigger #it{p}_{T} after isolation (and #lambda^{2}_{0} cut)", nptbins,ptmin,ptmax);
1588 fhPtTriggerFidCut =
new TH1F(
"hPtTriggerFidCut",
"Trigger #it{p}_{T} after fiducial (isolation and #lambda^{2}_{0}) cut", nptbins,ptmin,ptmax);
1592 fhPtTrigger =
new TH1F(
"hPtTrigger",
"#it{p}_{T} distribution of trigger particles (after opposite hadron leading cut and rest)", nptbins,ptmin,ptmax);
1593 fhPtTrigger->SetXTitle(
"#it{p}_{T}^{trig} (GeV/#it{c})");
1599 nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
1623 (Form(
"hPtLeadCone_Bin%d",ibin),
1624 Form(
"cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, %s",
1631 (Form(
"hSumPtCone_Bin%d",ibin),
1632 Form(
"in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, %s",
1645 (Form(
"hPtLeadCone_Bin%d_DecayBit%d",ibin,
fDecayBits[idecay]),
1646 Form(
"Decay bit %d, cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, %s",
1653 (Form(
"hSumPtCone_Bin%d_DecayBit%d",ibin,
fDecayBits[idecay]),
1654 Form(
"Decay bit %d, in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, %s",
1668 (Form(
"hPtLeadCone_Bin%d_MC%s",ibin, nameMC[imc].
Data()),
1669 Form(
"in cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, MC %s, %s",
1676 (Form(
"hSumPtCone_Bin%d_MC%s",ibin,nameMC[imc].
Data()),
1677 Form(
"in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, MC %s, %s",
1692 Form(
"#it{p}_{T} distribution of trigger particles, trigger origin is %s",nameMC[i].
Data()),
1693 nptbins,ptmin,ptmax);
1694 fhPtTriggerMC[i]->SetXTitle(
"#it{p}_{T}^{trig} (GeV/#it{c})");
1700 Form(
"2 photons invariant mass, trigger origin is %s",nameMC[i].
Data()),
1701 nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
1714 Form(
"#it{p}_{T} distribution of trigger particles, decay Bit %d",
fDecayBits[ibit]),
1715 nptbins,ptmin,ptmax);
1724 Form(
"#it{p}_{T} distribution of trigger particles, decay Bit %d, trigger origin is %s",
fDecayBits[ibit], nameMC[i].
Data()),
1725 nptbins,ptmin,ptmax);
1741 fhPtTriggerBin =
new TH2F (
"hPtTriggerBin",
"#it{p}_{T} distribution of trigger particles", nptbins,ptmin,ptmax,nMixBins,0,nMixBins);
1746 fhPhiTrigger =
new TH2F (
"hPhiTrigger",
"#varphi distribution of trigger Particles",nptbins,ptmin,ptmax, nphibins,phimin,phimax);
1750 fhEtaTrigger =
new TH2F (
"hEtaTrigger",
"#eta distribution of trigger",nptbins,ptmin,ptmax, netabins,etamin,etamax);
1756 fhPtTriggerCentrality =
new TH2F(
"hPtTriggerCentrality",
"Trigger particle #it{p}_{T} vs centrality",nptbins,ptmin,ptmax,100,0.,100) ;
1761 fhPtTriggerEventPlane =
new TH2F(
"hPtTriggerEventPlane",
"Trigger particle #it{p}_{T} vs event plane angle",nptbins,ptmin,ptmax, 100,0.,TMath::Pi()) ;
1776 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
1782 nptbins,ptmin,ptmax);
1787 netabins,etamin,etamax,nphibins,phimin,phimax);
1794 nptbins,ptmin,ptmax,ndeltaphibins,deltaphimin,deltaphimax);
1800 nptbins,ptmin,ptmax,ndeltaetabins,deltaetamin,deltaetamax);
1809 (
"hDeltaPhiDeltaEtaCharged",
"#eta_{trigger} - #eta_{h^{#pm}} vs #varphi_{trigger} - #varphi_{h^{#pm}}",
1810 ndeltaphibins ,deltaphimin,deltaphimax,ndeltaetabins,deltaetamin,deltaetamax);
1815 (
"hDeltaPhiDeltaEtaChargedPtA3GeV",
"#eta_{trigger} - #eta_{h^{#pm}} vs #varphi_{trigger} - #varphi_{h^{#pm}, #it{p}_{TA}>3 GeV/#it{c}}",
1816 ndeltaphibins ,deltaphimin,deltaphimax,ndeltaetabins,deltaetamin,deltaetamax);
1821 (
"hPhiCharged",
"#varphi_{h^{#pm}} vs #it{p}_{T #pm}",
1822 nptbins,ptmin,ptmax,180,0,TMath::TwoPi());
1824 fhPhiCharged->SetXTitle(
"#it{p}_{T #pm} (GeV/#it{c})");
1827 (
"hEtaCharged",
"#eta_{h^{#pm}} vs #it{p}_{T #pm}",
1828 nptbins,ptmin,ptmax,100,-1.,1.);
1830 fhEtaCharged->SetXTitle(
"#it{p}_{T #pm} (GeV/#it{c})");
1833 (
"hDeltaPhiCharged",
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}",
1834 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
1839 (
"hDeltaPhiChargedPtA3GeV",
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}",
1840 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
1846 (
"hDeltaPhiChargedPt",
"#varphi_{trigger} - #varphi_{#h^{#pm}} vs #it{p}_{T h^{#pm}}",
1847 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
1852 (
"hDeltaEtaCharged",
"#eta_{trigger} - #eta_{h^{#pm}} vs #it{p}_{T trigger}",
1853 nptbins,ptmin,ptmax,ndeltaetabins,deltaetamin,deltaetamax);
1858 (
"hDeltaEtaChargedPtA3GeV",
"#eta_{trigger} - #eta_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}",
1859 nptbins,ptmin,ptmax,ndeltaetabins,deltaetamin,deltaetamax);
1864 new TH2F(
"hXECharged",
"#it{x}_{#it{E}} for charged tracks",
1865 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
1867 fhXECharged->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
1870 new TH2F(
"hXECharged_Cone2",
"#it{x}_{#it{E}} for charged tracks in cone 2 (5#pi/6-7#pi/6)",
1871 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
1876 new TH2F(
"hXEPositiveCharged",
"#it{x}_{#it{E}} for positive charged tracks",
1877 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
1882 new TH2F(
"hXENegativeCharged",
"#it{x}_{#it{E}} for negative charged tracks",
1883 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
1888 new TH2F(
"hHbpXECharged",
"#xi = ln(1/#it{x}_{#it{E}}) with charged hadrons",
1889 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
1894 new TH2F(
"hHbpXECharged_Cone2",
"#xi = ln(1/#it{x}_{#it{E}}) with charged hadrons in cone 2 (5#pi/6-7#pi/6)",
1895 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
1900 new TH2F(
"hZTCharged",
"#it{z}_{T} for charged tracks",
1901 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
1906 new TH2F(
"hZTPositiveCharged",
"#it{z}_{T} for positive charged tracks",
1907 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
1912 new TH2F(
"hZTNegativeCharged",
"#it{z}_{T} for negative charged tracks",
1913 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
1918 new TH2F(
"hHbpZTCharged",
"#xi = ln(1/#it{z}_{T}) with charged hadrons",
1919 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
1924 new TH2F(
"hPtTrigPout",
"Pout with triggers",
1925 nptbins,ptmin,ptmax,nptbins,-1.*ptmax/2.,ptmax/2.);
1927 fhPtTrigPout->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
1930 new TH2F(
"hPtTrigCharged",
"trigger and charged tracks pt distribution",
1931 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
1954 Form(
"#Delta #varphi for charged tracks, trigger origin is %s",nameMC[i].
Data()),
1955 nptbins,ptmin,ptmax,ndeltaphibins ,deltaphimin,deltaphimax);
1961 Form(
"#it{x}_{#it{E}} for charged tracks, trigger origin is %s",nameMC[i].
Data()),
1962 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
1964 fhXEChargedMC[i]->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
1968 Form(
"#it{x}_{#it{E}} for charged tracks in right UE cone, trigger origin is %s",nameMC[i].
Data()),
1969 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
1975 Form(
"#it{x}_{#it{E}} for charged tracks in left UE cone, trigger origin is %s",nameMC[i].
Data()),
1976 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
1999 fhUePart =
new TH1F(
"hUePart",
"UE particles distribution vs pt trig",
2000 nptbins,ptmin,ptmax);
2002 fhUePart->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2005 (Form(
"hDeltaPhiUe%sChargedPt",right.Data()),
"#varphi_{trigger} - #varphi_{#Ueh^{#pm}} vs #it{p}_{T Ueh^{#pm}}",
2006 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2011 new TH2F(Form(
"hXEUeCharged%s",right.Data()),
"#it{x}_{#it{E}} for Underlying Event",
2012 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2014 fhXEUeCharged->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2017 new TH2F(Form(
"hXEUeChargedSmallCone%s",right.Data()),
"#it{x}_{#it{E}} for Underlying Event in a cone [80,100] deg",
2018 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2023 new TH2F(Form(
"hXEUeChargedMediumCone%s",right.Data()),
"#it{x}_{#it{E}} for Underlying Event in a cone [70,110] deg",
2024 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2029 new TH2F(Form(
"hXEUeChargedLargeCone%s",right.Data()),
"#it{x}_{#it{E}} for Underlying Event in a cone [60,120] deg",
2030 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2035 new TH2F(Form(
"hHbpXEUeCharged%s",right.Data()),
"#xi = ln(1/#it{x}_{#it{E}}) for Underlying Event",
2036 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2041 new TH2F(Form(
"hZTUeCharged%s",right.Data()),
"#it{z}_{T} for Underlying Event",
2042 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2044 fhZTUeCharged->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2047 new TH2F(Form(
"hHbpZTUeCharged%s",right.Data()),
"#xi = ln(1/#it{z}_{T}) for Underlying Event",
2048 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2065 (
"hDeltaPhiUeLeftChargedPt",
"#varphi_{trigger} - #varphi_{#Ueh^{#pm}} vs #it{p}_{T Ueh^{#pm}} with UE left side range of trigger particles",
2066 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2072 (
"hDeltaPhiUeLeftUpChargedPt",
"#varphi_{trigger} - #varphi_{#Ueh^{#pm}} vs #it{p}_{T Ueh^{#pm}} with UE left Up side range of trigger particles",
2073 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2079 (
"hDeltaPhiUeRightUpChargedPt",
"#varphi_{trigger} - #varphi_{#Ueh^{#pm}} vs #it{p}_{T Ueh^{#pm}} with UE right Up side range of trigger particles",
2080 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2086 (
"hDeltaPhiUeLeftDownChargedPt",
"#varphi_{trigger} - #varphi_{#Ueh^{#pm}} vs #it{p}_{T Ueh^{#pm}} with UE left Down side range of trigger particles",
2087 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2093 (
"hDeltaPhiUeRightDownChargedPt",
"#varphi_{trigger} - #varphi_{#Ueh^{#pm}} vs #it{p}_{T Ueh^{#pm}} with UE right Down side range of trigger particles",
2094 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2100 new TH2F(
"hXEUeChargedLeft",
"#it{x}_{#it{E}} with UE left side of trigger",
2101 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2107 new TH2F(
"hXEUeChargedLeftUp",
"#it{x}_{#it{E}} with UE left Up side of trigger",
2108 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2114 new TH2F(
"hXEUeChargedRightUp",
"#it{x}_{#it{E} h^{#pm}} with UE right Up side of trigger",
2115 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2121 new TH2F(
"hXEUeChargedLeftDown",
"#it{x}_{#it{E}} with UE left Down side of trigger",
2122 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2128 new TH2F(
"hXEUeChargedRightDown",
"#it{x}_{#it{E} h^{#pm}} with UE right Down side of trigger",
2129 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2135 new TH2F(
"hHbpXEUeChargedLeft",
"#xi = ln(1/#it{x}_{#it{E}}) with charged UE left side of trigger",
2136 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2142 new TH2F(
"hZTUeChargedLeft",
"#it{z}_{trigger h^{#pm}} = #it{p}_{T Ueh^{#pm}} / #it{p}_{T trigger} with UE left side of trigger",
2143 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2149 new TH2F(
"hHbpZTUeChargedLeft",
"#xi = ln(1/#it{z}_{T}) with charged UE left side of trigger",
2150 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2159 (
"hDeltaPhiChargedOtherBC",
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, track BC!=0",
2160 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2165 (
"hDeltaPhiChargedPtA3GeVOtherBC",
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}, track BC!=0",
2166 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2171 new TH2F(
"hPtTrigChargedOtherBC",
"trigger and charged tracks pt distribution, track BC!=0",
2172 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2177 new TH2F(
"hXEChargedOtherBC",
"#it{x}_{#it{E}} for charged tracks, track BC!=0",
2178 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2183 new TH2F(
"hXEUeChargedOtherBC",
"#it{x}_{#it{E}} for Underlying Event, track BC!=0",
2184 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2189 new TH2F(
"hZTChargedOtherBC",
"#it{z}_{T} for charged tracks, track BC!=0",
2190 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2195 new TH2F(
"hZTUeChargedOtherBC",
"#it{z}_{T} for Underlying Event, track BC!=0",
2196 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2209 (
"hDeltaPhiChargedBC0",
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, track BC==0",
2210 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2215 (
"hDeltaPhiChargedPtA3GeVBC0",
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}, track BC==0",
2216 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2221 new TH2F(
"hPtTrigChargedBC0",
"trigger and charged tracks pt distribution, track BC==0",
2222 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2227 new TH2F(
"hXEChargedBC0",
"#it{x}_{#it{E}} for charged tracks, track BC==0",
2228 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2233 new TH2F(
"hXEUeChargedBC0",
"#it{x}_{#it{E}} for Underlying Event, track BC==0",
2234 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2239 new TH2F(
"hZTChargedBC0",
"#it{z}_{T} for charged tracks, track BC==0",
2240 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2245 new TH2F(
"hZTUeChargedBC0",
"#it{z}_{T} for Underlying Event, track BC==0",
2246 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2258 fhPtTriggerVtxBC0 =
new TH1F(
"hPtTriggerVtxBC0",
"#it{p}_{T} distribution of trigger particles", nptbins,ptmin,ptmax);
2262 (
"hDeltaPhiChargedVtxBC0",
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, track BC==0",
2263 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2268 (
"hDeltaPhiChargedPtA3GeVVtxBC0",
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}, track BC==0",
2269 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2274 new TH2F(
"hPtTrigChargedVtxBC0",
"trigger and charged tracks pt distribution, track BC==0",
2275 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2280 new TH2F(
"hXEChargedVtxBC0",
"#it{x}_{#it{E}} for charged tracks, track BC==0",
2281 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2286 new TH2F(
"hXEUeChargedVtxBC0",
"#it{x}_{#it{E}} for Underlying Event, track BC==0",
2287 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2292 new TH2F(
"hZTChargedVtxBC0",
"#it{z}_{T} for charged tracks, track BC==0",
2293 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2298 new TH2F(
"hZTUeChargedVtxBC0",
"#it{z}_{T} for Underlying Event, track BC==0",
2299 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2312 for(
Int_t i = 0 ; i < 7 ; i++)
2315 Form(
"#it{p}_{T} distribution of trigger particles, %s Pile-Up event",pileUpName[i].
Data()), nptbins,ptmin,ptmax);
2320 Form(
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, %s Pile-Up event",pileUpName[i].
Data()),
2321 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2327 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()),
2328 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2334 Form(
"#eta_{trigger} - #eta_{h^{#pm}} vs #it{p}_{T trigger}, %s Pile-Up event",pileUpName[i].
Data()),
2335 nptbins,ptmin,ptmax,ndeltaetabins,deltaetamin,deltaetamax);
2341 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()),
2342 nptbins,ptmin,ptmax,ndeltaetabins,deltaetamin,deltaetamax);
2348 Form(
"#it{x}_{#it{E}} for charged tracks, %s Pile-Up event",pileUpName[i].
Data()),
2349 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2355 Form(
"#it{x}_{#it{E}} for Underlying Event, %s Pile-Up event",pileUpName[i].
Data()),
2356 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2362 Form(
"#it{z}_{T} for charged tracks, %s Pile-Up event",pileUpName[i].
Data()),
2363 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2369 Form(
"#it{z}_{T} for Underlying Event, %s Pile-Up event",pileUpName[i].
Data()),
2370 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2376 Form(
"trigger and charged tracks pt distribution, %s Pile-Up event",pileUpName[i].
Data()),
2377 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2394 for(
Int_t im=0; im<nMultiBins; im++)
2397 (Form(
"hDeltaPhiCharged_Mult%d",im),Form(
"#Delta #varphi charged Mult bin %d",im), nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2402 (Form(
"hDeltaEtaCharged_Mult%d",im),Form(
"#Delta #eta charged Mult bin %d",im), nptbins,ptmin,ptmax, ndeltaetabins ,deltaetamin,deltaetamax);
2407 (Form(
"hXECharged_Mult%d",im),Form(
"#it{x}_{E} charged Mult bin %d",im), nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2408 fhXEMult[im]->SetYTitle(
"#it{x}_{E}");
2409 fhXEMult[im]->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2412 (Form(
"hXEUeCharged_Mult%d",im),Form(
"#it{x}_{E} UE charged Mult bin %d",im), nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2414 fhXEUeMult[im]->SetXTitle(
"#it{p}_{T trigger}(GeV/#it{c})");
2417 (Form(
"hZTCharged_Mult%d",im),Form(
"#it{z}_{T} charged Mult bin %d",im), nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2418 fhZTMult[im]->SetYTitle(
"#it{z}_{T}");
2419 fhZTMult[im]->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2422 (Form(
"hZTUeCharged_Mult%d",im),Form(
"#it{z}_{T} UE charged Mult bin %d",im), nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2424 fhZTUeMult[im]->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2428 outputContainer->Add(
fhXEMult [im]);
2430 outputContainer->Add(
fhZTMult [im]);
2437 fhAssocPtBkg =
new TH2F(
"hAssocPtBkg",
" Trigger #it{p}_{T} vs associated hadron #it{p}_{T} from background",
2438 nptbins, ptmin, ptmax,nptbins,ptmin,ptmax);
2439 fhAssocPtBkg->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2440 fhAssocPtBkg->SetYTitle(
"#it{p}_{T associated} (GeV/#it{c})");
2443 fhDeltaPhiBrad =
new TH2F(
"hDeltaPhiBrad",
"atan2(sin(#Delta #varphi), cos(#Delta #varphi))/#pi vs #it{p}_{T trigger} ",
2444 nptbins, ptmin, ptmax,288, -1.0/3.0, 5.0/3.0);
2446 fhDeltaPhiBrad->SetYTitle(
"atan2(sin(#Delta #varphi), cos(#Delta #varphi))/#pi");
2483 for(
Int_t z = 0 ; z < nz ; z++)
2489 sz = Form(
"_vz%d",z);
2490 tz = Form(
", #it{v}_{#it{z}} bin %d",z);
2497 ndeltaphibins ,deltaphimin,deltaphimax,ndeltaetabins,deltaetamin,deltaetamax);
2503 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2513 Form(
"#Delta #varphi vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s, for #Delta #eta > 0.8",
fAssocPtBinLimit[i],
fAssocPtBinLimit[i+1],tz.Data()),
2514 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2519 Form(
"#Delta #varphi vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s, for #Delta #eta = 0.",
fAssocPtBinLimit[i],
fAssocPtBinLimit[i+1],tz.Data()),
2520 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2532 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2542 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",
fAssocPtBinLimit[i],
fAssocPtBinLimit[i+1],tz.Data()),
2543 nptbins, ptmin, ptmax,288, -1.0/3.0, 5.0/3.0);
2552 Form(
"#Delta #varphi vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s, with track having HMPID signal",
fAssocPtBinLimit[i],
fAssocPtBinLimit[i+1],tz.Data()),
2553 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2558 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",
fAssocPtBinLimit[i],
fAssocPtBinLimit[i+1],tz.Data()),
2559 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2575 nptbins, ptmin, ptmax,nxeztbins,xeztmin,xeztmax);
2581 nptbins, ptmin, ptmax,nxeztbins,xeztmin,xeztmax);
2593 for(
Int_t z = 0 ; z < nz ; z++)
2595 sz = Form(
"_vz%d",z);
2596 tz = Form(
", #it{v}_{#it{z}} bin %d",z);
2598 fhXEVZ[z] =
new TH2F(Form(
"hXE%s", sz.Data()),
2599 Form(
"#it{x}_{#it{E}} vs #it{p}_{T trigger}%s", tz.Data()),
2600 nptbins, ptmin, ptmax,nxeztbins,xeztmin,xeztmax);
2601 fhXEVZ[z]->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2602 fhXEVZ[z]->SetYTitle(
"#it{x}_{#it{E}}");
2604 fhZTVZ[z] =
new TH2F(Form(
"hZT%s",sz.Data()),
2605 Form(
"#it{z}_{T} vs #it{p}_{T trigger}%s", tz.Data()),
2606 nptbins, ptmin, ptmax,nxeztbins,xeztmin,xeztmax);
2607 fhZTVZ[z]->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2608 fhZTVZ[z]->SetYTitle(
"#it{z}_{T}");
2610 outputContainer->Add(
fhXEVZ[z]);
2611 outputContainer->Add(
fhZTVZ[z]);
2618 (
"hPtPi0DecayRatio",
"#it{p}_{T} of #pi^{0} and the ratio of pt for two decay",
2619 nptbins,ptmin,ptmax, 100,0.,2.);
2625 (
"hDeltaPhiPi0DecayCharged",
"#varphi_{Decay} - #varphi_{h^{#pm}} vs #it{p}_{T Decay}",
2626 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2631 new TH2F(
"hXEPi0DecayCharged",
"#it{x}_{#it{E}} Decay",
2632 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2637 new TH2F(
"hZTPi0DecayCharged",
"#it{z}_{trigger h^{#pm}} = #it{p}_{T h^{#pm}} / #it{p}_{T Decay}",
2638 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2652 (Form(
"hDeltaPhiDecayCharged_bit%d",
fDecayBits[ibit]),
2653 Form(
"#varphi_{Decay} - #varphi_{h^{#pm}} vs #it{p}_{T Decay}, Bit %d",
fDecayBits[ibit]),
2654 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2660 Form(
"#it{x}_{#it{E}} Decay, Bit %d",
fDecayBits[ibit]),
2661 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2667 Form(
"#it{z}_{trigger h^{#pm}} = #it{p}_{T h^{#pm}} / #it{p}_{T Decay}, Bit %d",
fDecayBits[ibit]),
2668 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2682 (
"hDeltaPhiDeltaEtaNeutral",
"#varphi_{trigger} - #varphi_{h^{0}} vs #eta_{trigger} - #eta_{h^{0}}",
2683 ndeltaphibins ,deltaphimin,deltaphimax, ndeltaetabins ,deltaetamin,deltaetamax);
2688 (
"hPhiNeutral",
"#varphi_{#pi^{0}} vs #it{p}_{T #pi^{0}}",
2689 nptbins,ptmin,ptmax,180,0,TMath::TwoPi());
2691 fhPhiNeutral->SetXTitle(
"#it{p}_{T #pi^{0}} (GeV/#it{c})");
2694 (
"hEtaNeutral",
"#eta_{#pi^{0}} vs #it{p}_{T #pi^{0}}",
2695 nptbins,ptmin,ptmax,200,-1.,1.);
2697 fhEtaNeutral->SetXTitle(
"#it{p}_{T #pi^{0}} (GeV/#it{c})");
2700 (
"hDeltaPhiNeutral",
"#varphi_{trigger} - #varphi_{#pi^{0}} vs #it{p}_{T trigger}",
2701 nptbins,ptmin,ptmax,ndeltaphibins ,deltaphimin,deltaphimax);
2706 (
"hDeltaPhiNeutralPt",
"#varphi_{trigger} - #varphi_{#pi^{0}} vs #it{p}_{T #pi^{0}}}",
2707 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2712 (
"hDeltaEtaNeutral",
"#eta_{trigger} - #eta_{#pi^{0}} vs #it{p}_{T trigger}",
2713 nptbins,ptmin,ptmax, ndeltaetabins ,deltaetamin,deltaetamax);
2718 new TH2F(
"hXENeutral",
"#it{x}_{#it{E}} for #pi^{0} associated",
2719 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2721 fhXENeutral->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2724 new TH2F(
"hHbpXENeutral",
"#xi = ln(1/#it{x}_{#it{E}})for #pi^{0} associated",
2725 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2730 new TH2F(
"hZTNeutral",
"#it{z}_{trigger #pi} = #it{p}_{T #pi^{0}} / #it{p}_{T trigger} for #pi^{0} associated",
2731 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2732 fhZTNeutral->SetYTitle(
"#it{z}_{trigger #pi^{0}}");
2733 fhZTNeutral->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2736 new TH2F(
"hHbpZTNeutral",
"#xi = ln(1/#it{x}_{#it{E}}) for #pi^{0} associated",
2737 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2753 (Form(
"hDeltaPhiUe%sNeutralPt",right.Data()),
"#varphi_{trigger} - #varphi_{#pi^{0}} vs #it{p}_{T #pi^{0}}}",
2754 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2759 new TH2F(Form(
"hXEUeNeutral%s",right.Data()),
"#it{x}_{#it{E}} for #pi^{0} associated",
2760 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2762 fhXEUeNeutral->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2765 new TH2F(Form(
"hHbpXEUeNeutral%s",right.Data()),
"#xi = ln(1/#it{x}_{#it{E}}) for #pi^{0} associated",
2766 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2771 new TH2F(Form(
"hZTUeNeutral%s",right.Data()),
"#it{z}_{trigger #pi} = #it{p}_{T #pi^{0}} / #it{p}_{T trigger} for #pi^{0} associated",
2772 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2774 fhZTUeNeutral->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
2777 new TH2F(Form(
"hHbpZTUeNeutral%s",right.Data()),
"#xi = ln(1/#it{x}_{#it{E}}) for #pi^{0} associated",
2778 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2791 (
"hDeltaPhiUeLeftNeutralPt",
"#varphi_{trigger} - #varphi_{#Ueh^{0}} vs #it{p}_{T h^{0}} with neutral UE left side range of trigger particles",
2792 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2798 new TH2F(
"hXEUeNeutralLeft",
"#it{x}_{#it{E}} = #it{p}_{T Ueh^{0}} / #it{p}_{T trigger} with neutral UE left side of trigger",
2799 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2805 new TH2F(
"hHbpXEUeNeutralLeft",
"#xi = ln(1/#it{x}_{#it{E}}) with neutral UE left side of trigger",
2806 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2812 new TH2F(
"hZTUeNeutralLeft",
"#it{z}_{trigger h^{0}} = #it{p}_{T Ueh^{0}} / #it{p}_{T trigger} with neutral UE left side of trigger",
2813 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2819 new TH2F(
"hHbpZTUeNeutralLeft",
"#xi = ln(1/#it{z}_{T}) with neutral UE left side of trigger",
2820 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2829 (
"hDeltaPhiPi0DecayNeutral",
"#varphi_{Decay} - #varphi_{h^{0}} vs #it{p}_{T Decay}",
2830 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
2835 new TH2F(
"hXEPi0DecayNeutral",
"#it{x}_{#it{E}} for decay trigger",
2836 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2841 new TH2F(
"hZTPi0DecayNeutral",
"#it{z}_{trigger h^{0}} = #it{p}_{T h^{0}} / #it{p}_{T Decay}",
2842 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2858 Form(
"MC %s: generated trigger #it{p}_{T}",nameMC[i].
Data()),
2859 nptbins,ptmin,ptmax);
2860 fhMCPtTrigger[i]->SetXTitle(
"#it{p}_{T}^{trig} (GeV/#it{c})");
2863 Form(
"MC %s: generated trigger #varphi",nameMC[i].
Data()),
2864 nptbins,ptmin,ptmax, nphibins,phimin,phimax);
2869 Form(
"MC %s: generated trigger #eta",nameMC[i].
Data()),
2870 nptbins,ptmin,ptmax, netabins,etamin,etamax);
2877 Form(
"MC %s: generated trigger #it{p}_{T}, when not leading of primaries",nameMC[i].
Data()),
2878 nptbins,ptmin,ptmax);
2882 Form(
"MC %s: generated trigger #varphi, when not leading of primaries",nameMC[i].
Data()),
2883 nptbins,ptmin,ptmax, nphibins,phimin,phimax);
2889 Form(
"MC %s: generated triogger #eta, when not leading of primaries",nameMC[i].
Data()),
2890 nptbins,ptmin,ptmax, netabins,etamin,etamax);
2896 Form(
"MC %s: #eta_{h^{#pm}} vs #it{p}_{T #pm}",nameMC[i].
Data()),
2897 nptbins,ptmin,ptmax,100,-1.,1.);
2902 Form(
"MC %s: phi_{h^{#pm}} vs #it{p}_{T #pm}",nameMC[i].
Data()),
2903 nptbins,ptmin,ptmax,180,0,TMath::TwoPi());
2908 Form(
"MC %s: phi_{trigger} - #varphi_{h^{#pm}} vs #eta_{trigger} - #eta_{h^{#pm}}",nameMC[i].
Data()),
2909 ndeltaphibins ,deltaphimin,deltaphimax,ndeltaetabins ,deltaetamin,deltaetamax);
2914 Form(
"MC %s: #eta_{trigger} - #eta_{h^{#pm}} vs #it{p}_{T trigger} and #it{p}_{T assoc}",nameMC[i].
Data()),
2915 nptbins,ptmin,ptmax,ndeltaetabins ,deltaetamin,deltaetamax);
2920 Form(
"MC %s: #varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}",nameMC[i].
Data()),
2921 nptbins,ptmin,ptmax,ndeltaphibins ,deltaphimin,deltaphimax);
2926 Form(
"MC %s: #varphi_{trigger} - #varphi_{#h^{#pm}} vs #it{p}_{T h^{#pm}}",nameMC[i].
Data()),
2927 nptbins,ptmin,ptmax,ndeltaphibins ,deltaphimin,deltaphimax);
2932 Form(
"MC %s: #it{x}_{#it{E}} with charged hadrons",nameMC[i].
Data()),
2933 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2938 Form(
"MC %s: #xi = ln(1/#it{x}_{#it{E}}) with charged hadrons",nameMC[i].
Data()),
2939 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2944 Form(
"MC %s: #it{z}_{T} with charged hadrons",nameMC[i].
Data()),
2945 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
2950 Form(
"MC %s: #xi = ln(1/#it{z}_{T}) with charged hadrons",nameMC[i].
Data()),
2951 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
2956 Form(
"MC %s: #it{p}_{out} with triggers",nameMC[i].
Data()),
2957 nptbins,ptmin,ptmax,nptbins,-1.*ptmax/2.,ptmax/2.);
2962 Form(
"MC %s: #Delta #varphi with associated charged hadrons",nameMC[i].
Data()),
2963 nptbins,ptmin,ptmax,ndeltaphibins ,deltaphimin,deltaphimax);
2995 new TH1F(Form(
"hMCUePart_%s",nameMC[i].
Data()),
2996 Form(
"MC %s: UE particles distribution vs #it{p}_{T trigger}",nameMC[i].
Data()),
2997 nptbins,ptmin,ptmax);
2999 fhMCUePart[i]->SetXTitle(
"#it{p}_{T trigger} (GeV/#it{c})");
3002 new TH2F(Form(
"hMCPtXEUeCharged%s_%s",right.Data(),nameMC[i].Data()),
3003 Form(
"MC %s: #it{x}_{#it{E}} with charged hadrons, Underlying Event %s",nameMC[i].
Data(),right.Data()),
3004 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3009 new TH2F(Form(
"hMCPtHbpXEUeCharged%s_%s",right.Data(),nameMC[i].Data()),
3010 Form(
"MC %s: #xi = ln(1/#it{x}_{#it{E}}) with charged hadrons, Underlying Event %s",nameMC[i].
Data(),right.Data()),
3011 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3016 new TH2F(Form(
"hMCPtZTUeCharged%s_%s",right.Data(),nameMC[i].Data()),
3017 Form(
"MC %s: #it{z}_{T} with charged hadrons, Underlying Event %s",nameMC[i].
Data(),right.Data()),
3018 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3023 new TH2F(Form(
"hMCPtHbpZTUeCharged%s_%s",right.Data(),nameMC[i].Data()),
3024 Form(
"MC %s: #xi = ln(1/#it{z}_{T}) with charged hadrons, Underlying Event %s",nameMC[i].
Data(),right.Data()),
3025 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3038 Form(
"MC %s: #it{x}_{#it{E}} with charged hadrons, with UE left side range of trigger particles",nameMC[i].
Data()),
3039 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3044 Form(
"MC %s: #xi = ln(1/#it{x}_{#it{E}}) with charged hadrons, with UE left side range of trigger particles",nameMC[i].
Data()),
3045 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3050 Form(
"MC %s: #it{z}_{T} with charged hadrons, with UE left side range of trigger particles",nameMC[i].
Data()),
3051 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3056 Form(
"MC %s: #xi = ln(1/#it{z}_{T}) with charged hadrons, with UE left side range of trigger particles",nameMC[i].
Data()),
3057 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3082 for(
Int_t ice = 0 ; ice < nce ; ice++ )
3084 for(
Int_t ivz = 0 ; ivz < nvz ; ivz++ )
3086 for(
Int_t irp = 0 ; irp < nrp ; irp++ )
3100 fhPtTriggerMixed =
new TH1F (
"hPtTriggerMixed",
"#it{p}_{T} distribution of trigger particles, used for mixing", nptbins,ptmin,ptmax);
3111 fhPtTriggerMixedBin =
new TH2F (
"hPtTriggerMixedBin",
"#it{p}_{T} distribution of trigger particles vs mixing bin", nptbins,ptmin,ptmax,nMixBins,0,nMixBins);
3115 fhPhiTriggerMixed =
new TH2F (
"hPhiTriggerMixed",
"#varphi distribution of trigger Particles, used for mixing",nptbins,ptmin,ptmax, nphibins,phimin,phimax);
3118 fhEtaTriggerMixed =
new TH2F (
"hEtaTriggerMixed",
"#eta distribution of trigger, used for mixing",nptbins,ptmin,ptmax, netabins,etamin,etamax);
3135 for(
Int_t ice = 0 ; ice < nce ; ice++ )
3137 for(
Int_t ivz = 0 ; ivz < nvz ; ivz++ )
3139 for(
Int_t irp = 0 ; irp < nrp ; irp++ )
3156 if( !
GetReader()->ListWithMixedEventsForTracksExists() )
3159 if( !
GetReader()->ListWithMixedEventsForCaloExists() )
3163 fhEventBin=
new TH1I(
"hEventBin",
"Number of triggers per bin(cen,vz,rp)",
3169 fhEventMixBin=
new TH1I(
"hEventMixBin",
"Number of triggers mixed per event bin(cen,vz,rp)",
3175 fhEventMBBin=
new TH1I(
"hEventMBBin",
"Number of min bias events per bin(cen,vz,rp)",
3181 fhNtracksMB=
new TH2F(
"hNtracksMBEvent",
"Number of filtered tracks in MB event per event bin",ntrbins,trmin,trmax,
3190 fhNclustersMB=
new TH2F(
"hNclustersMBEvent",
"Number of filtered clusters in MB events per event bin",nclbins,clmin,clmax,
3199 (
"hMixDeltaPhiCharged",
"Mixed event : #varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}",
3200 nptbins,ptmin,ptmax,ndeltaphibins ,deltaphimin,deltaphimax);
3206 (
"hMixDeltaPhiDeltaEtaCharged",
"Mixed event : #varphi_{trigger} - #varphi_{h^{#pm}} vs #eta_{trigger} - #eta_{h^{#pm}}",
3207 ndeltaphibins ,deltaphimin,deltaphimax,ndeltaetabins ,deltaetamin,deltaetamax);
3213 new TH2F(
"hMixXECharged",
"Mixed event : #it{x}_{#it{E}} for charged tracks",
3214 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3220 new TH2F(
"hMixXEUeCharged",
"Mixed event : #it{x}_{#it{E}} for charged tracks in Ue region",
3221 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3227 new TH2F(
"hMixHbpXECharged",
"mixed event : #xi = ln(1/#it{x}_{#it{E}}) with charged hadrons",
3228 nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
3240 for(
Int_t z = 0 ; z < nz ; z++)
3246 sz = Form(
"_vz%d",z);
3247 tz = Form(
", #it{v}_{#it{z}} bin %d",z);
3253 Form(
"Mixed event #Delta #varphi vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s",
fAssocPtBinLimit[i],
fAssocPtBinLimit[i+1],tz.Data()),
3254 ndeltaphibins ,deltaphimin,deltaphimax,ndeltaetabins ,deltaetamin,deltaetamax);
3261 Form(
"Mixed event #Delta #varphi vs #it{p}_{T trigger} for associated #it{p}_{T} bin [%2.1f,%2.1f]%s",
fAssocPtBinLimit[i],
fAssocPtBinLimit[i+1],tz.Data()),
3262 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3271 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",
fAssocPtBinLimit[i],
fAssocPtBinLimit[i+1],tz.Data()),
3272 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3277 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",
fAssocPtBinLimit[i],
fAssocPtBinLimit[i+1],tz.Data()),
3278 nptbins, ptmin, ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3293 fhPtTriggerPerSM =
new TH2F(
"hPtTriggerPerSM",
"Selected triggers #it{p}_{T} and super-module number",
3294 nptbins,ptmin,ptmax,
3302 if ( ism < fFirstModule || ism >
fLastModule )
continue;
3305 (Form(
"hXECharged_SM%d",ism),Form(
"#it{x}_{#it{E}} for charged tracks, SM %d",ism),
3306 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3312 (Form(
"hXEUeCharged%s_SM%d",right.Data(),ism),Form(
"#it{x}_{#it{E}} for Underlying event, SM %d",ism),
3319 (Form(
"hDeltaPhiCharged_SM%d",ism),
3320 Form(
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, SM %d",ism),
3321 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3327 (Form(
"hDeltaPhiChargedPtA3GeV_SM%d",ism),
3328 Form(
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}, SM %d",ism),
3329 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3339 nptbins,ptmin,ptmax,
3345 for(
Int_t itc = 0; itc < 16; itc++)
3348 (Form(
"hXECharged_TC%d",itc),Form(
"#it{x}_{#it{E}} for charged tracks, SM %d",itc),
3349 nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
3355 (Form(
"hXEUeCharged%s_TC%d",right.Data(),itc),Form(
"#it{x}_{#it{E}} for Underlying event, SM %d",itc),
3362 (Form(
"hDeltaPhiCharged_TC%d",itc),
3363 Form(
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, SM %d",itc),
3364 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3370 (Form(
"hDeltaPhiChargedPtA3GeV_TC%d",itc),
3371 Form(
"#varphi_{trigger} - #varphi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}, SM %d",itc),
3372 nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
3379 return outputContainer;
3393 if(indexPhoton1!=-1 || indexPhoton2!=-1)
return kFALSE;
3395 AliDebug(1,Form(
"indexPhoton1 = %d, indexPhoton2 = %d", indexPhoton1, indexPhoton2));
3401 for(
Int_t iclus = 0; iclus < clusters->GetEntriesFast(); iclus++)
3403 AliVCluster * photon = (AliVCluster*) (clusters->At(iclus));
3438 AliFatal(
"STOP!: You want to use CTS tracks in analysis but not read!! \n!!Check the configuration file!!");
3544 for(
Int_t iphoton = 0; iphoton < nphoton; iphoton++)
3598 if(check == 0)
continue;
3599 if(check == -1)
return kFALSE;
3602 if (particle->
Pt() > ptTrig)
3604 ptTrig = particle->
Pt() ;
3605 phiTrig = particle->
Phi();
3607 pLeading = particle ;
3611 if(index < 0)
return kFALSE;
3615 if(phiTrig < 0 ) phiTrig += TMath::TwoPi();
3621 AliVTrack * track = (AliVTrack *) (
GetCTSTracks()->At(ipr)) ;
3629 Bool_t contained = kFALSE;
3631 for(
Int_t i = 0; i < 4; i++)
3633 if( trackID == pLeading->
GetTrackLabel(i) ) contained = kTRUE;
3636 if ( contained ) continue ;
3639 fTrackVector.SetXYZ(track->Px(),track->Py(),track->Pz());
3642 if(phi < 0) phi+=TMath::TwoPi();
3647 Float_t deltaPhi = phiTrig-phi;
3648 if(deltaPhi <= -TMath::PiOver2()) deltaPhi+=TMath::TwoPi();
3649 if(deltaPhi > 3*TMath::PiOver2()) deltaPhi-=TMath::TwoPi();
3651 if(pt > ptTrig && deltaPhi < TMath::PiOver2())
return kFALSE;
3656 if(pt > ptTrig)
return kFALSE ;
3671 if(!nePl)
return kTRUE;
3673 for(
Int_t ipr = 0;ipr < nePl->GetEntriesFast() ; ipr ++ )
3675 AliVCluster * cluster = (AliVCluster *) (nePl->At(ipr)) ;
3683 if(phi < 0) phi+=TMath::TwoPi();
3691 Float_t deltaPhi = phiTrig-phi;
3692 if(deltaPhi <= -TMath::PiOver2()) deltaPhi+=TMath::TwoPi();
3693 if(deltaPhi > 3*TMath::PiOver2()) deltaPhi-=TMath::TwoPi();
3695 if(pt > ptTrig && deltaPhi < TMath::PiOver2())
return kFALSE ;
3700 if(pt > ptTrig)
return kFALSE ;
3708 AliDebug(1,Form(
"\t particle AOD with index %d is leading with pT %2.2f",
fLeadingTriggerIndex, pLeading->
Pt()));
3732 AliFatal(Form(
"No input particles in AOD with name branch < %s >, STOP",
GetInputAODName().
Data()));
3739 AliDebug(1,
"No particle AOD found!");
3743 AliDebug(1,Form(
"Begin hadron correlation analysis, fill histograms"));
3744 AliDebug(1,Form(
"n particle branch aod entries %d", naod));
3745 AliDebug(1,Form(
"In CTS aod entries %d",
GetCTSTracks()->GetEntriesFast()));
3760 AliDebug(1,
"Leading was requested and not found");
3784 for( iaod = 0; iaod < naod; iaod++ )
3804 AliDebug(1,Form(
"%s Trigger : min %f, max %f, det %d",
3827 AliDebug(1,
"Pass the shower shape cut");
3840 AliDebug(1,
"Pass the isolation cut");
3850 if(! in ) continue ;
3852 AliDebug(1,
"Pass the fiducial cut");
3862 Bool_t okLeadHad = kTRUE;
3878 if ( clusterID < 0 )
3879 AliWarning(Form(
"ID of cluster = %d, not possible!", clusterID));
3888 Int_t ietaMax=-1, iphiMax = 0, rcuMax = 0;
3907 Bool_t lostDecayPair = kFALSE;
3957 Float_t pTLeadTrackInCone = 0;
3959 Float_t pTLeadClusterInCone = 0;
3960 Float_t pTSumClusterInCone = 0;
3968 Float_t pTLeadInCone = pTLeadTrackInCone;
3969 if(pTLeadClusterInCone > pTLeadInCone) pTLeadInCone = pTLeadClusterInCone;
3970 Float_t pTSumInCone = pTSumTrackInCone + pTSumClusterInCone;
3973 Int_t pTSumBin = -1;
3974 Int_t pTLeadBin = -1;
3995 if(decayTag < 0) decayTag = 0;
4053 AliFatal(Form(
"Lost decay Bit assigned to bad case, mcIndex %d",mcIndex));
4076 if(decayTag < 0) decayTag = 0;
4102 if( phi < 0 ) phi+=TMath::TwoPi();
4142 AliDebug(1,
"End fill histograms");
4154 AliDebug(1,
"Make trigger particle - charged hadron correlation");
4167 decayTag = aodParticle->
DecayTag();
4168 if(decayTag < 0) decayTag = 0;
4186 Int_t evtIndex11 = -1 ;
4187 Int_t evtIndex12 = -1 ;
4188 Int_t evtIndex13 = -1 ;
4206 Bool_t decayFound = kFALSE;
4223 AliVTrack * track = (AliVTrack *) (
GetCTSTracks()->At(ipr)) ;
4225 fTrackVector.SetXYZ(track->Px(),track->Py(),track->Pz());
4229 if(phi < 0) phi+=TMath::TwoPi();
4232 if(pt < fMinAssocPt || pt >
fMaxAssocPt) continue ;
4240 Bool_t contained = kFALSE;
4242 for(
Int_t i = 0; i < 4; i++)
4244 if( trackID == aodParticle->
GetTrackLabel(i) ) contained = kTRUE;
4247 if ( contained ) continue ;
4251 Int_t evtIndex2 = 0 ;
4255 if (evtIndex11 == evtIndex2 || evtIndex12 == evtIndex2 || evtIndex13 == evtIndex2 )
4262 AliDebug(2,Form(
"Selected charge for momentum imbalance: pt %2.2f, phi %2.2f, eta %2.2f",pt,phi,eta));
4271 Int_t assocBin = -1;
4290 Int_t bin = assocBin*nz+vz;
4297 ULong_t status = track->GetStatus();
4298 Bool_t okTOF = ( (status & AliVTrack::kTOFout) == AliVTrack::kTOFout ) ;
4300 Int_t trackBC = track->GetTOFBunchCrossing(bz);
4303 if (okTOF && trackBC!=0) outTOF = 1;
4304 else if(okTOF && trackBC==0) outTOF = 0;
4313 deltaPhi = phiTrig-phi;
4320 if(deltaPhi <= -TMath::PiOver2()) deltaPhi+=TMath::TwoPi();
4321 if(deltaPhi > 3*TMath::PiOver2()) deltaPhi-=TMath::TwoPi();
4324 eta, etaTrig, sm, decayTag, track->GetHMPIDsignal(),
4325 outTOF, cenbin, mcTag);
4331 AliESDtrack * esdTrack =
dynamic_cast<AliESDtrack*
>(track);
4346 assocBin, decayTag, outTOF, mcTag);
4385 reftracks->SetName(trackname.Data());
4386 reftracks->SetOwner(kFALSE);
4389 reftracks->Add(track);
4405 AliDebug(1,Form(
"Make trigger particle - charged hadron mixed event correlation"));
4414 AliInputEventHandler * inputHandler =
dynamic_cast<AliInputEventHandler*
>(manager->GetInputEventHandler());
4416 if(!inputHandler)
return;
4424 if(eventBin < 0)
return;
4433 TList * poolCalo = 0;
4447 if( neutralMix && !poolCalo )
4448 AliWarning(
"Careful, cluster pool not available");
4453 if(phiTrig < 0.) phiTrig+=TMath::TwoPi();
4455 AliDebug(1,Form(
"Pool bin %d size %d, trigger trigger pt=%f, phi=%f, eta=%f",
4456 eventBin,pool->GetSize(), ptTrig,phiTrig,etaTrig));
4469 for(
Int_t ev=ev0; ev < pool->GetSize(); ev++)
4478 if( neutralMix && poolCalo )
4480 if(pool->GetSize()!=poolCalo->GetSize())
4481 AliWarning(
"Different size of calo and track pools");
4483 bgCalo =
static_cast<TObjArray*
>(poolCalo->At(ev));
4485 if(!bgCalo) AliDebug(1,Form(
"Event %d in calo pool not available?",ev));
4493 Int_t n=0, nfrac = 0;
4494 Bool_t isolated = kFALSE;
4495 Float_t coneptsum = 0, coneptlead = 0;
4498 kFALSE, aodParticle,
"",
4499 n,nfrac,coneptsum,coneptlead,isolated);
4506 if(!isolated) continue ;
4512 Int_t nTracks=bgTracks->GetEntriesFast();
4517 for(
Int_t jlead = 0;jlead < nTracks; jlead++ )
4521 ptAssoc = track->
Pt();
4522 phiAssoc = track->
Phi() ;
4523 if(phiAssoc < 0) phiAssoc+=TMath::TwoPi();
4527 deltaPhi = phiTrig-phiAssoc;
4528 if(deltaPhi <= -TMath::PiOver2()) deltaPhi+=TMath::TwoPi();
4529 if(deltaPhi > 3*TMath::PiOver2()) deltaPhi-=TMath::TwoPi();
4531 if(ptAssoc > ptTrig && deltaPhi < TMath::PiOver2())
4540 if(ptAssoc > ptTrig)
4549 AliWarning(
"Leading of clusters requested but no clusters in mixed event");
4553 Int_t nClusters=bgCalo->GetEntriesFast();
4554 for(
Int_t jlead = 0;jlead <nClusters; jlead++ )
4558 ptAssoc = cluster->
Pt();
4559 phiAssoc = cluster->
Phi() ;
4560 if(phiAssoc < 0) phiAssoc+=TMath::TwoPi();
4564 deltaPhi = phiTrig-phiAssoc;
4565 if(deltaPhi <= -TMath::PiOver2()) deltaPhi+=TMath::TwoPi();
4566 if(deltaPhi > 3*TMath::PiOver2()) deltaPhi-=TMath::TwoPi();
4568 if(ptAssoc > ptTrig && deltaPhi < TMath::PiOver2())
4577 if(ptAssoc > ptTrig)
4586 if(!leading)
continue;
4607 for(
Int_t j1 = 0;j1 <nTracks; j1++ )
4611 if(!track)
continue;
4613 ptAssoc = track->
Pt();
4614 etaAssoc = track->
Eta();
4615 phiAssoc = track->
Phi() ;
4616 if(phiAssoc < 0) phiAssoc+=TMath::TwoPi();
4618 deltaPhi = phiTrig-phiAssoc;
4619 if(deltaPhi < -TMath::PiOver2()) deltaPhi+=TMath::TwoPi();
4620 if(deltaPhi > 3*TMath::PiOver2()) deltaPhi-=TMath::TwoPi();
4621 deltaEta = etaTrig-etaAssoc;
4623 AliDebug(1,Form(
"deltaPhi= %f, deltaEta=%f",deltaPhi, deltaEta));
4634 xE = -ptAssoc/ptTrig*TMath::Cos(deltaPhi);
4637 AliWarning(Form(
"Careful!!, negative xE %2.2f for right UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
4651 Double_t uexE = -(ptAssoc/ptTrig)*TMath::Cos(randomphi);
4654 AliWarning(Form(
"Careful!!, negative xE %2.2f for left UE cos(dPhi %2.2f) = %2.2f, check correlation dPhi limits %f to %f",
4661 Int_t assocBin = -1;
4679 Int_t bin = assocBin*nz+vz;
4681 if(bin < 0) continue ;
4688 if(TMath::Abs(deltaEta) > 0.8)
4690 if(TMath::Abs(deltaEta) < 0.01)
4705 if(!pi0list) return ;
4707 Int_t npi0 = pi0list->GetEntriesFast();
4708 if(npi0 == 0) return ;
4710 AliDebug(1,Form(
"Particle - pi0 correlation, %d pi0's",npi0));
4712 Int_t evtIndex11 = 0 ;
4713 Int_t evtIndex12 = 0 ;
4737 Bool_t decayFound = kFALSE;
4745 for(
Int_t iaod = 0; iaod < npi0 ; iaod++)
4749 Int_t evtIndex2 = 0 ;
4750 Int_t evtIndex3 = 0 ;
4756 if (evtIndex11 == evtIndex2 || evtIndex12 == evtIndex2 ||
4757 evtIndex11 == evtIndex3 || evtIndex12 == evtIndex3)
4763 if(pt < fMinAssocPt || pt >
fMaxAssocPt) continue ;