17 #include <TClonesArray.h>
19 #include <TObjString.h>
23 #include "TParticle.h"
24 #include "TDatabasePDG.h"
34 #include "AliAODMCParticle.h"
35 #include "AliAODPWG4ParticleCorrelation.h"
37 #include "AliVTrack.h"
38 #include "AliVCluster.h"
39 #include "AliESDEvent.h"
40 #include "AliAODEvent.h"
43 #include "AliEMCALGeometry.h"
44 #include "AliPHOSGeoUtils.h"
55 fIsoDetector(-1), fIsoDetectorString(
""),
56 fReMakeIC(0), fMakeSeveralIC(0),
57 fFillTMHisto(0), fFillSSHisto(1),
58 fFillUEBandSubtractHistograms(1), fFillCellHistograms(0),
59 fFillOverlapHistograms(0),
60 fFillTaggedDecayHistograms(0), fNDecayBits(0),
61 fDecayBits(), fDecayTagsM02Cut(0),
62 fFillNLMHistograms(0),
63 fLeadingOnly(0), fCheckLeadingWithNeutralClusters(0),
64 fSelectPrimariesInCone(0), fMakePrimaryPi0DecayStudy(0),
65 fFillBackgroundBinHistograms(0), fNBkgBin(0),
66 fFillPtTrigBinHistograms(0), fNPtTrigBin(0),
67 fMinCellsAngleOverlap(0),
69 fNCones(0), fNPtThresFrac(0),
70 fConeSizes(), fPtThresholds(),
71 fPtFractions(), fSumPtThresholds(),
72 fMomentum(), fMomIso(),
73 fMomDaugh1(), fMomDaugh2(),
74 fTrackVector(), fProdVertex(),
75 fCluster(0), fClustersArr(0),
77 fhEIso(0), fhPtIso(0),
78 fhPtCentralityIso(0), fhPtEventPlaneIso(0),
80 fhPhiIso(0), fhEtaIso(0), fhEtaPhiIso(0),
82 fhENoIso(0), fhPtNoIso(0), fhPtNLocMaxNoIso(0),
84 fhPtClusterInCone(0), fhPtCellInCone(0), fhPtTrackInCone(0),
85 fhPtTrackInConeOtherBC(0), fhPtTrackInConeOtherBCPileUpSPD(0),
86 fhPtTrackInConeBC0(0), fhPtTrackInConeVtxBC0(0),
87 fhPtTrackInConeBC0PileUpSPD(0),
88 fhPtInConePileUp(), fhPtInConeCent(0),
89 fhPerpConeSumPt(0), fhPtInPerpCone(0),
90 fhEtaPhiInConeCluster(0), fhEtaPhiCluster(0),
91 fhEtaPhiInConeTrack(0), fhEtaPhiTrack(0),
92 fhEtaBandCluster(0), fhPhiBandCluster(0),
93 fhEtaBandTrack(0), fhPhiBandTrack(0),
94 fhEtaBandCell(0), fhPhiBandCell(0),
95 fhConePtLead(0), fhConePtLeadCluster(0), fhConePtLeadTrack(0),
96 fhConePtLeadClustervsTrack(0), fhConePtLeadClusterTrackFrac(0),
97 fhConeSumPt(0), fhConeSumPtCellTrack(0),
98 fhConeSumPtCell(0), fhConeSumPtCluster(0), fhConeSumPtTrack(0),
99 fhConeSumPtEtaBandUECluster(0), fhConeSumPtPhiBandUECluster(0),
100 fhConeSumPtEtaBandUETrack(0), fhConeSumPtPhiBandUETrack(0),
101 fhConeSumPtEtaBandUECell(0), fhConeSumPtPhiBandUECell(0),
102 fhConeSumPtTrigEtaPhi(0),
103 fhConeSumPtCellTrackTrigEtaPhi(0),
104 fhConeSumPtEtaBandUEClusterTrigEtaPhi(0), fhConeSumPtPhiBandUEClusterTrigEtaPhi(0),
105 fhConeSumPtEtaBandUETrackTrigEtaPhi(0), fhConeSumPtPhiBandUETrackTrigEtaPhi(0),
106 fhConeSumPtEtaBandUECellTrigEtaPhi(0), fhConeSumPtPhiBandUECellTrigEtaPhi(0),
107 fhConeSumPtEtaUESub(0), fhConeSumPtPhiUESub(0),
108 fhConeSumPtEtaUESubTrigEtaPhi(0), fhConeSumPtPhiUESubTrigEtaPhi(0),
109 fhConeSumPtEtaUESubTrackCell(0), fhConeSumPtPhiUESubTrackCell(0),
110 fhConeSumPtEtaUESubTrackCellTrigEtaPhi(0), fhConeSumPtPhiUESubTrackCellTrigEtaPhi(0),
111 fhConeSumPtEtaUESubCluster(0), fhConeSumPtPhiUESubCluster(0),
112 fhConeSumPtEtaUESubClusterTrigEtaPhi(0), fhConeSumPtPhiUESubClusterTrigEtaPhi(0),
113 fhConeSumPtEtaUESubCell(0), fhConeSumPtPhiUESubCell(0),
114 fhConeSumPtEtaUESubCellTrigEtaPhi(0), fhConeSumPtPhiUESubCellTrigEtaPhi(0),
115 fhConeSumPtEtaUESubTrack(0), fhConeSumPtPhiUESubTrack(0),
116 fhConeSumPtEtaUESubTrackTrigEtaPhi(0), fhConeSumPtPhiUESubTrackTrigEtaPhi(0),
117 fhFractionTrackOutConeEta(0), fhFractionTrackOutConeEtaTrigEtaPhi(0),
118 fhFractionClusterOutConeEta(0), fhFractionClusterOutConeEtaTrigEtaPhi(0),
119 fhFractionClusterOutConePhi(0), fhFractionClusterOutConePhiTrigEtaPhi(0),
120 fhFractionCellOutConeEta(0), fhFractionCellOutConeEtaTrigEtaPhi(0),
121 fhFractionCellOutConePhi(0), fhFractionCellOutConePhiTrigEtaPhi(0),
122 fhConeSumPtClustervsTrack(0), fhConeSumPtClusterTrackFrac(0),
123 fhConeSumPtEtaUESubClustervsTrack(0), fhConeSumPtPhiUESubClustervsTrack(0),
124 fhConeSumPtCellvsTrack(0),
125 fhConeSumPtEtaUESubCellvsTrack(0), fhConeSumPtPhiUESubCellvsTrack(0),
126 fhEtaBandClustervsTrack(0), fhPhiBandClustervsTrack(0),
127 fhEtaBandNormClustervsTrack(0), fhPhiBandNormClustervsTrack(0),
128 fhEtaBandCellvsTrack(0), fhPhiBandCellvsTrack(0),
129 fhEtaBandNormCellvsTrack(0), fhPhiBandNormCellvsTrack(0),
130 fhConeSumPtSubvsConeSumPtTotPhiTrack(0), fhConeSumPtSubNormvsConeSumPtTotPhiTrack(0),
131 fhConeSumPtSubvsConeSumPtTotEtaTrack(0), fhConeSumPtSubNormvsConeSumPtTotEtaTrack(0),
132 fhConeSumPtSubvsConeSumPtTotPhiCluster(0), fhConeSumPtSubNormvsConeSumPtTotPhiCluster(0),
133 fhConeSumPtSubvsConeSumPtTotEtaCluster(0), fhConeSumPtSubNormvsConeSumPtTotEtaCluster(0),
134 fhConeSumPtSubvsConeSumPtTotPhiCell(0), fhConeSumPtSubNormvsConeSumPtTotPhiCell(0),
135 fhConeSumPtSubvsConeSumPtTotEtaCell(0), fhConeSumPtSubNormvsConeSumPtTotEtaCell(0),
136 fhConeSumPtVSUETracksEtaBand(0), fhConeSumPtVSUETracksPhiBand(0),
137 fhConeSumPtVSUEClusterEtaBand(0), fhConeSumPtVSUEClusterPhiBand(0),
138 fhPtPrimMCPi0DecayPairOutOfCone(0),
139 fhPtPrimMCPi0DecayPairOutOfAcceptance(0),
140 fhPtPrimMCPi0DecayPairOutOfAcceptanceNoOverlap(0),
141 fhPtPrimMCPi0DecayPairAcceptInConeLowPt(0),
142 fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlap(0),
143 fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlapCaloE(0),
144 fhPtPrimMCPi0DecayPairNoOverlap(0),
145 fhPtPrimMCPi0DecayIsoPairOutOfCone(0),
146 fhPtPrimMCPi0DecayIsoPairOutOfAcceptance(0),
147 fhPtPrimMCPi0DecayIsoPairOutOfAcceptanceNoOverlap(0),
148 fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPt(0),
149 fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlap(0),
150 fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlapCaloE(0),
151 fhPtPrimMCPi0DecayIsoPairNoOverlap(0),
152 fhPtPrimMCPi0Overlap(0), fhPtPrimMCPi0IsoOverlap(0),
153 fhPtPrimMCEtaDecayPairOutOfCone(0),
154 fhPtPrimMCEtaDecayPairOutOfAcceptance(0),
155 fhPtPrimMCEtaDecayPairOutOfAcceptanceNoOverlap(0),
156 fhPtPrimMCEtaDecayPairAcceptInConeLowPt(0),
157 fhPtPrimMCEtaDecayPairAcceptInConeLowPtNoOverlap(0),
158 fhPtPrimMCEtaDecayPairAcceptInConeLowPtNoOverlapCaloE(0),
159 fhPtPrimMCEtaDecayPairNoOverlap(0),
160 fhPtPrimMCEtaDecayIsoPairOutOfCone(0),
161 fhPtPrimMCEtaDecayIsoPairOutOfAcceptance(0),
162 fhPtPrimMCEtaDecayIsoPairOutOfAcceptanceNoOverlap(0),
163 fhPtPrimMCEtaDecayIsoPairAcceptInConeLowPt(0),
164 fhPtPrimMCEtaDecayIsoPairAcceptInConeLowPtNoOverlap(0),
165 fhPtPrimMCEtaDecayIsoPairAcceptInConeLowPtNoOverlapCaloE(0),
166 fhPtPrimMCEtaDecayIsoPairNoOverlap(0),
167 fhPtPrimMCEtaOverlap(0), fhPtPrimMCEtaIsoOverlap(0),
168 fhPtLeadConeBin(0), fhSumPtConeBin(0),
169 fhPtLeadConeBinMC(0), fhSumPtConeBinMC(0),
170 fhPtLeadConeBinDecay(0), fhSumPtConeBinDecay(0),
171 fhPtLeadConeBinLambda0(0), fhSumPtConeBinLambda0(0),
172 fhPtLeadConeBinLambda0MC(0), fhSumPtConeBinLambda0MC(0),
173 fhPtTrigBinPtLeadCone(0), fhPtTrigBinSumPtCone(0),
174 fhPtTrigBinPtLeadConeMC(0), fhPtTrigBinSumPtConeMC(0),
175 fhPtTrigBinPtLeadConeDecay(0), fhPtTrigBinSumPtConeDecay(0),
176 fhPtTrigBinLambda0vsPtLeadCone(0), fhPtTrigBinLambda0vsSumPtCone(0),
177 fhPtTrigBinLambda0vsPtLeadConeMC(0), fhPtTrigBinLambda0vsSumPtConeMC(0),
180 fhELambda0LocMax1(), fhELambda1LocMax1(),
181 fhELambda0LocMax2(), fhELambda1LocMax2(),
182 fhELambda0LocMaxN(), fhELambda1LocMaxN(),
184 fhEIsoPileUp(), fhPtIsoPileUp(),
185 fhENoIsoPileUp(), fhPtNoIsoPileUp(),
186 fhTimeENoCut(0), fhTimeESPD(0), fhTimeESPDMulti(0),
187 fhTimeNPileUpVertSPD(0), fhTimeNPileUpVertTrack(0),
188 fhTimeNPileUpVertContributors(0),
189 fhTimePileUpMainVertexZDistance(0), fhTimePileUpMainVertexZDiamond(0),
190 fhMCConversionVertex(), fhMCConversionLambda0Rcut()
195 for(Int_t i = 0; i < 5 ; i++)
202 for(Int_t j = 0; j < 5 ; j++)
237 for(Int_t iso =0; iso < 2; iso++)
247 for(Int_t i = 0; i < 5 ; i++)
266 for(Int_t i = 0; i < 2 ; i++)
279 for(Int_t i = 0; i < 2 ; i++)
309 for(Int_t i = 0 ; i < 7 ; i++)
323 Float_t & etaBandPtSum, Float_t & phiBandPtSum)
330 TObjArray * pl = 0x0;
339 Double_t vertex[] = {0,0,0} ;
343 Float_t ptTrig = pCandidate->Pt() ;
344 Float_t phiTrig = pCandidate->Phi();
345 Float_t etaTrig = pCandidate->Eta();
347 for(Int_t icluster=0; icluster < pl->GetEntriesFast(); icluster++)
349 AliVCluster* cluster = (AliVCluster *) pl->At(icluster);
353 AliWarning(
"Cluster not available?");
358 if(cluster->GetID() == pCandidate->GetCaloLabel(0) ||
359 cluster->GetID() == pCandidate->GetCaloLabel(1) )
continue ;
405 Float_t & etaBandPtSumCells, Float_t & phiBandPtSumCells)
411 Float_t phiTrig = pCandidate->Phi();
412 if(phiTrig<0) phiTrig += TMath::TwoPi();
414 Float_t etaTrig = pCandidate->Eta();
416 if(pCandidate->GetDetectorTag()==
kEMCAL)
418 AliEMCALGeometry* eGeom = AliEMCALGeometry::GetInstance();
421 if (eGeom->GetAbsCellIdFromEtaPhi(etaTrig,phiTrig,absId))
423 if(!eGeom->CheckAbsCellId(absId))
return ;
426 Int_t nSupMod = eGeom->GetSuperModuleNumber(absId);
428 Int_t imEta=-1, imPhi=-1;
429 Int_t ieta =-1, iphi =-1;
431 if (eGeom->GetCellIndex(absId,nSupMod,nModule,imPhi,imEta))
433 eGeom->GetCellPhiEtaIndexInSModule(nSupMod,nModule,imPhi,imEta,iphi,ieta);
435 Int_t colTrig = ieta;
436 if (nSupMod % 2) colTrig = AliEMCALGeoParams::fgkEMCALCols + ieta ;
438 Int_t rowTrig = iphi + AliEMCALGeoParams::fgkEMCALRows*int(nSupMod/2);
440 Int_t sqrSize = int(conesize/0.0143);
444 Int_t nTotalRows = AliEMCALGeoParams::fgkEMCALRows*16/3 ;
445 Int_t nTotalCols = 2*AliEMCALGeoParams::fgkEMCALCols;
449 Int_t irowmin = rowTrig-sqrSize;
450 if ( irowmin < 0 ) irowmin = 0 ;
452 Int_t irowmax = rowTrig+sqrSize;
453 if ( irowmax > AliEMCALGeoParams::fgkEMCALRows ) irowmax = AliEMCALGeoParams::fgkEMCALRows;
455 for(Int_t irow = irowmin; irow <irowmax; irow++)
457 for(Int_t icol = 0; icol < nTotalCols; icol++)
459 Int_t inSector = int(irow/AliEMCALGeoParams::fgkEMCALRows);
460 if(inSector==5)
continue;
463 if(icol < AliEMCALGeoParams::fgkEMCALCols)
465 inSupMod = 2*inSector + 1;
468 else if(icol > AliEMCALGeoParams::fgkEMCALCols - 1)
470 inSupMod = 2*inSector;
471 icolLoc = icol-AliEMCALGeoParams::fgkEMCALCols;
474 Int_t irowLoc = irow - AliEMCALGeoParams::fgkEMCALRows*inSector ;
477 if(TMath::Abs(icol-colTrig) < sqrSize || TMath::Abs(irow-rowTrig) < sqrSize){
481 Int_t iabsId = eGeom->GetAbsCellIdFromCellIndexes(inSupMod,irowLoc,icolLoc);
482 if(!eGeom->CheckAbsCellId(iabsId))
continue;
484 etaBandPtSumCells += cells->GetCellAmplitude(iabsId);
492 Int_t icolmin = colTrig-sqrSize;
493 if ( icolmin < 0 ) icolmin = 0;
495 Int_t icolmax = colTrig+sqrSize;
496 if ( icolmax > AliEMCALGeoParams::fgkEMCALCols ) icolmax = AliEMCALGeoParams::fgkEMCALCols;
499 for(Int_t icol = icolmin; icol < icolmax; icol++)
501 for(Int_t irow = 0; irow < nTotalRows; irow++)
503 Int_t inSector = int(irow/AliEMCALGeoParams::fgkEMCALRows);
504 if ( inSector == 5 ) continue ;
510 if(icol < AliEMCALGeoParams::fgkEMCALCols)
513 inSupMod = 2*inSector + 1;
516 else if(icol > AliEMCALGeoParams::fgkEMCALCols - 1)
519 inSupMod = 2*inSector;
520 icolLoc = icol-AliEMCALGeoParams::fgkEMCALCols;
523 Int_t irowLoc = irow - AliEMCALGeoParams::fgkEMCALRows*inSector ;
526 if(TMath::Abs(icol-colTrig) < sqrSize) {
529 if(TMath::Abs(irow-rowTrig) < sqrSize) {
533 Int_t iabsId = eGeom->GetAbsCellIdFromCellIndexes(inSupMod,irowLoc,icolLoc);
534 if(!eGeom->CheckAbsCellId(iabsId))
536 AliWarning(Form(
"!eGeom->CheckAbsCellId(iabsId=%i) inSupMod %i irowLoc %i icolLoc %i",iabsId,inSupMod, irowLoc, icolLoc));
540 phiBandPtSumCells += cells->GetCellAmplitude(iabsId);
550 Float_t ptTrig = pCandidate->Pt();
562 Float_t & etaBandPtSum, Float_t & phiBandPtSum)
568 Double_t sumptPerp= 0. ;
569 Float_t ptTrig = pCandidate->Pt() ;
570 Float_t phiTrig = pCandidate->Phi();
571 Float_t etaTrig = pCandidate->Eta();
574 for(Int_t itrack=0; itrack < trackList->GetEntriesFast(); itrack++)
576 AliVTrack* track = (AliVTrack *) trackList->At(itrack);
580 AliWarning(
"Track not available?");
585 if(track->GetID() == pCandidate->GetTrackLabel(0) || track->GetID() == pCandidate->GetTrackLabel(1) ||
586 track->GetID() == pCandidate->GetTrackLabel(2) || track->GetID() == pCandidate->GetTrackLabel(3) )
continue ;
601 if(track->Eta() > (etaTrig-conesize) && track->Eta() < (etaTrig+conesize))
603 phiBandPtSum+=track->Pt();
608 if(track->Phi() > (phiTrig-conesize) && track->Phi() < (phiTrig+conesize))
610 etaBandPtSum+=track->Pt();
615 Double_t pTrack = TMath::Sqrt(track->Px()*track->Px()+track->Py()*track->Py());
616 Double_t dPhi = phiTrig - track->Phi() + TMath::PiOver2();
617 Double_t dEta = etaTrig - track->Eta();
618 Double_t arg = dPhi*dPhi + dEta*dEta;
620 if(TMath::Sqrt(arg) < conesize)
623 sumptPerp+=track->Pt();
626 dPhi = phiTrig - track->Phi() - TMath::PiOver2();
627 arg = dPhi*dPhi + dEta*dEta;
629 if(TMath::Sqrt(arg) < conesize)
632 sumptPerp+=track->Pt();
647 Float_t coneptsumCell, Float_t coneptsumTrack,
648 Float_t &etaBandptsumTrackNorm, Float_t &etaBandptsumClusterNorm)
650 Float_t etaUEptsumTrack = 0 ;
651 Float_t phiUEptsumTrack = 0 ;
652 Float_t etaUEptsumCluster = 0 ;
653 Float_t phiUEptsumCluster = 0 ;
654 Float_t etaUEptsumCell = 0 ;
655 Float_t phiUEptsumCell = 0 ;
662 Float_t coneA = conesize*conesize*TMath::Pi();
663 Float_t ptTrig = pCandidate->Pt() ;
664 Float_t phiTrig = pCandidate->Phi();
665 Float_t etaTrig = pCandidate->Eta();
671 Float_t phiUEptsumTrackNorm = 0 ;
672 Float_t etaUEptsumTrackNorm = 0 ;
673 Float_t coneptsumTrackSubPhi = 0 ;
674 Float_t coneptsumTrackSubEta = 0 ;
675 Float_t coneptsumTrackSubPhiNorm = 0 ;
676 Float_t coneptsumTrackSubEtaNorm = 0 ;
677 etaBandptsumTrackNorm = 0 ;
689 Float_t correctConeSumTrack = 1;
690 Float_t correctConeSumTrackPhi = 1;
693 phiUEptsumTrack,etaUEptsumTrack,
694 phiUEptsumTrackNorm,etaUEptsumTrackNorm,
695 correctConeSumTrack,correctConeSumTrackPhi);
697 coneptsumTrackSubPhi = coneptsumTrack - phiUEptsumTrackNorm;
698 coneptsumTrackSubEta = coneptsumTrack - etaUEptsumTrackNorm;
700 etaBandptsumTrackNorm = etaUEptsumTrackNorm;
710 if(coneptsumTrack > 0)
712 coneptsumTrackSubPhiNorm = coneptsumTrackSubPhi/coneptsumTrack;
713 coneptsumTrackSubEtaNorm = coneptsumTrackSubEta/coneptsumTrack;
725 Float_t phiUEptsumClusterNorm = 0 ;
726 Float_t etaUEptsumClusterNorm = 0 ;
727 Float_t coneptsumClusterSubPhi = 0 ;
728 Float_t coneptsumClusterSubEta = 0 ;
729 Float_t coneptsumClusterSubPhiNorm = 0 ;
730 Float_t coneptsumClusterSubEtaNorm = 0 ;
731 Float_t phiUEptsumCellNorm = 0 ;
732 Float_t etaUEptsumCellNorm = 0 ;
733 Float_t coneptsumCellSubPhi = 0 ;
734 Float_t coneptsumCellSubEta = 0 ;
735 Float_t coneptsumCellSubPhiNorm = 0 ;
736 Float_t coneptsumCellSubEtaNorm = 0 ;
737 etaBandptsumClusterNorm = 0;
752 Float_t correctConeSumClusterEta = 1;
753 Float_t correctConeSumClusterPhi = 1;
756 phiUEptsumCluster,etaUEptsumCluster,
757 phiUEptsumClusterNorm,etaUEptsumClusterNorm,
758 correctConeSumClusterEta,correctConeSumClusterPhi);
769 coneptsumClusterSubPhi = coneptsumCluster - phiUEptsumClusterNorm;
770 coneptsumClusterSubEta = coneptsumCluster - etaUEptsumClusterNorm;
772 etaBandptsumClusterNorm = etaUEptsumClusterNorm;
784 if(coneptsumCluster!=0)
786 coneptsumClusterSubPhiNorm = coneptsumClusterSubPhi/coneptsumCluster;
787 coneptsumClusterSubEtaNorm = coneptsumClusterSubEta/coneptsumCluster;
807 Float_t emcEtaSize = 0.7*2;
808 Float_t emcPhiSize = TMath::DegToRad()*100.;
810 if(((2*conesize*emcPhiSize)-coneA)!=0)phiUEptsumCellNorm = phiUEptsumCell*(coneA / ((2*conesize*emcPhiSize)-coneA));
811 if(((2*conesize*emcEtaSize)-coneA)!=0)etaUEptsumCellNorm = etaUEptsumCell*(coneA / ((2*conesize*emcEtaSize)-coneA));
815 Float_t correctConeSumCellEta = 1;
816 if(TMath::Abs(etaTrig)+conesize > emcEtaSize/2.)
818 Float_t excess = TMath::Abs(etaTrig) + conesize - emcEtaSize/2.;
822 if(((2*(conesize-excess)*emcPhiSize)-(coneA-correctConeSumCellEta))!=0)phiUEptsumCellNorm = phiUEptsumCell*(coneA / ((2*(conesize-excess)*emcPhiSize)-(coneA-correctConeSumCellEta)));
825 Float_t correctConeSumCellPhi = 1;
827 if((phiTrig+conesize > 180*TMath::DegToRad()) ||
828 (phiTrig-conesize < 80*TMath::DegToRad()))
831 if( phiTrig+conesize > 180*TMath::DegToRad() ) excess = conesize + phiTrig - 180*TMath::DegToRad() ;
832 else excess = conesize - phiTrig + 80*TMath::DegToRad() ;
838 if(((2*(conesize-excess)*emcEtaSize)-(coneA-correctConeSumCellPhi))!=0)etaUEptsumCellNorm = etaUEptsumCell*(coneA / ((2*(conesize-excess)*emcEtaSize)-(coneA-correctConeSumCellPhi)));
842 coneptsumCellSubPhi = coneptsumCell*correctConeSumCellEta*correctConeSumCellPhi - phiUEptsumCellNorm;
843 coneptsumCellSubEta = coneptsumCell*correctConeSumCellEta*correctConeSumCellPhi - etaUEptsumCellNorm;
854 if ( coneptsumCell > 0.01 )
856 coneptsumCellSubPhiNorm = coneptsumCellSubPhi/coneptsumCell;
857 coneptsumCellSubEtaNorm = coneptsumCellSubEta/coneptsumCell;
873 Double_t sumPhiUESub = coneptsumClusterSubPhi + coneptsumTrackSubPhi;
874 Double_t sumEtaUESub = coneptsumClusterSubEta + coneptsumTrackSubEta;
895 Double_t sumPhiUESubTrackCell = coneptsumCellSubPhi + coneptsumTrackSubPhi;
896 Double_t sumEtaUESubTrackCell = coneptsumCellSubEta + coneptsumTrackSubEta;
918 Float_t & coneptsumCluster, Float_t & coneptLeadCluster)
920 coneptLeadCluster = 0;
921 coneptsumCluster = 0;
927 if(!refclusters) return ;
929 Float_t ptTrig = aodParticle->Pt();
932 Double_t vertex[] = {0,0,0} ;
938 for(Int_t icalo=0; icalo < refclusters->GetEntriesFast(); icalo++)
940 AliVCluster* calo = (AliVCluster *) refclusters->At(icalo);
960 coneptsumCluster+=ptcone;
961 if(ptcone > coneptLeadCluster) coneptLeadCluster = ptcone;
967 aodParticle->SetNeutralLeadPtInCone(coneptLeadCluster);
968 aodParticle->SetNeutralPtSumInCone(coneptsumCluster);
976 Float_t & coneptsumCell)
982 Float_t ptTrig = aodParticle->Pt();
983 Float_t phiTrig = aodParticle->Phi();
984 if(phiTrig<0) phiTrig += TMath::TwoPi();
985 Float_t etaTrig = aodParticle->Eta();
987 if(aodParticle->GetDetectorTag()==
kEMCAL)
989 AliEMCALGeometry* eGeom = AliEMCALGeometry::GetInstance();
992 if (eGeom->GetAbsCellIdFromEtaPhi(etaTrig,phiTrig,absId))
994 if(!eGeom->CheckAbsCellId(absId))
return ;
997 Int_t nSupMod = eGeom->GetSuperModuleNumber(absId);
999 Int_t imEta=-1, imPhi=-1;
1000 Int_t ieta =-1, iphi =-1;
1002 if (eGeom->GetCellIndex(absId,nSupMod,nModule,imPhi,imEta))
1004 Int_t iEta=-1, iPhi=-1;
1005 eGeom->GetCellPhiEtaIndexInSModule(nSupMod,nModule,imPhi,imEta,iphi,ieta);
1007 Int_t colTrig = iEta;
1008 if (nSupMod % 2) colTrig = AliEMCALGeoParams::fgkEMCALCols + iEta ;
1009 Int_t rowTrig = iPhi + AliEMCALGeoParams::fgkEMCALRows*int(nSupMod/2);
1011 Int_t sqrSize = int(conesize/0.0143);
1016 for(Int_t irow = rowTrig-sqrSize; irow < rowTrig+sqrSize; irow++)
1018 for(Int_t icol = colTrig-sqrSize; icol < colTrig+sqrSize; icol++)
1020 Int_t inSector = int(irow/AliEMCALGeoParams::fgkEMCALRows);
1021 if(inSector==5)
continue;
1023 Int_t inSupMod = -1;
1025 if(icol < AliEMCALGeoParams::fgkEMCALCols)
1027 inSupMod = 2*inSector + 1;
1030 else if(icol > AliEMCALGeoParams::fgkEMCALCols - 1)
1032 inSupMod = 2*inSector;
1033 icolLoc = icol-AliEMCALGeoParams::fgkEMCALCols;
1036 Int_t irowLoc = irow - AliEMCALGeoParams::fgkEMCALRows*inSector ;
1038 Int_t iabsId = eGeom->GetAbsCellIdFromCellIndexes(inSupMod,irowLoc,icolLoc);
1039 if(!eGeom->CheckAbsCellId(iabsId))
continue;
1042 coneptsumCell += cells->GetCellAmplitude(iabsId);
1056 Float_t & coneptsumTrack, Float_t & coneptLeadTrack)
1062 if(!reftracks) return ;
1064 Float_t ptTrig = aodParticle->Pt();
1067 for(Int_t itrack=0; itrack < reftracks->GetEntriesFast(); itrack++)
1069 AliVTrack* track = (AliVTrack *) reftracks->At(itrack);
1070 Float_t pTtrack = track->Pt();
1077 ULong_t status = track->GetStatus();
1078 Bool_t okTOF = ( (status & AliVTrack::kTOFout) == AliVTrack::kTOFout ) ;
1080 Int_t trackBC = track->GetTOFBunchCrossing(bz);
1101 coneptsumTrack+=pTtrack;
1102 if(pTtrack > coneptLeadTrack) coneptLeadTrack = pTtrack;
1108 aodParticle->SetChargedLeadPtInCone(coneptLeadTrack);
1109 aodParticle->SetChargedPtSumInCone(coneptsumTrack);
1145 if(energy < 8)
return;
1147 AliESDEvent* esdEv =
dynamic_cast<AliESDEvent*
> (event);
1148 AliAODEvent* aodEv =
dynamic_cast<AliAODEvent*
> (event);
1151 Int_t nVerticesSPD = -1;
1152 Int_t nVerticesTracks = -1;
1156 nVerticesSPD = esdEv->GetNumberOfPileupVerticesSPD();
1157 nVerticesTracks = esdEv->GetNumberOfPileupVerticesTracks();
1162 nVerticesSPD = aodEv->GetNumberOfPileupVerticesSPD();
1163 nVerticesTracks = aodEv->GetNumberOfPileupVerticesTracks();
1173 Float_t z1 = -1, z2 = -1;
1175 for(Int_t iVert=0; iVert<nVerticesSPD;iVert++)
1179 const AliESDVertex* pv=esdEv->GetPileupVertexSPD(iVert);
1180 ncont=pv->GetNContributors();
1181 z1 = esdEv->GetPrimaryVertexSPD()->GetZ();
1183 diamZ = esdEv->GetDiamondZ();
1187 AliAODVertex *pv=aodEv->GetVertex(iVert);
1188 if(pv->GetType()!=AliAODVertex::kPileupSPD)
continue;
1189 ncont=pv->GetNContributors();
1190 z1=aodEv->GetPrimaryVertexSPD()->GetZ();
1192 diamZ = aodEv->GetDiamondZ();
1195 Double_t distZ = TMath::Abs(z2-z1);
1196 diamZ = TMath::Abs(z2-diamZ);
1209 Float_t coneptsum, Float_t coneleadpt,
1214 Int_t clusterID = pCandidate->GetCaloLabel(0) ;
1215 Int_t nMaxima = pCandidate->GetNLM();
1216 Int_t mcTag = pCandidate->GetTag() ;
1217 Bool_t isolated = pCandidate->IsIsolated();
1219 if ( clusterID < 0 )
1221 AliWarning(Form(
"ID of cluster = %d, not possible!", clusterID));
1225 Float_t m02 = pCandidate->GetM02() ;
1226 Float_t energy = pCandidate->E();
1227 Float_t pt = pCandidate->Pt();
1228 Float_t eta = pCandidate->Eta();
1229 Float_t phi = pCandidate->Phi();
1230 if(phi<0) phi+= TMath::TwoPi();
1249 Int_t decayTag = pCandidate->DecayTag();
1250 if(decayTag < 0) decayTag = 0;
1287 Int_t ptsumBin = -1;
1288 Int_t leadptBin = -1;
1290 AliDebug(1,Form(
"pT cand: %2.2f, In cone pT: Sum %2.2f, Lead %2.2f, n bins %d",pt,coneptsum,coneleadpt,
fNBkgBin));
1292 for(Int_t ibin = 0; ibin <
fNBkgBin; ibin++)
1300 if ( leadptBin >= 0 )
1309 if ( leadptBin == 0 )
1310 AliDebug(1,Form(
"No track/clusters in isolation cone: cand pt %2.2f GeV/c, track multiplicity %d, N clusters %d",
1314 if ( ptsumBin >= 0 )
1326 Int_t decayTag = pCandidate->DecayTag();
1327 if(decayTag < 0) decayTag = 0;
1333 Int_t leadptBinDecay = leadptBin+ibit*
fNBkgBin;
1334 Int_t ptsumBinDecay = ptsumBin+ibit*
fNBkgBin;
1343 Int_t leadptBinMC = leadptBin+mcIndex*
fNBkgBin;
1344 Int_t ptsumBinMC = ptsumBin+mcIndex*
fNBkgBin;
1389 AliFatal(Form(
"Lost decay Bit assigned to bad case, mcIndex %d",mcIndex));
1411 Int_t ptTrigBin = -1;
1420 if ( ptTrigBin >= 0 )
1437 Int_t decayTag = pCandidate->DecayTag();
1438 if(decayTag < 0) decayTag = 0;
1455 Int_t ptTrigBinMC = ptTrigBin+mcIndex*
fNPtTrigBin;
1541 Int_t noverlaps = 0;
1544 const UInt_t nlabels =
fCluster->GetNLabels();
1545 Int_t overpdg[nlabels];
1574 if ( noverlaps == 1 )
1601 else if (noverlaps > 1 )
1662 Float_t dZ =
fCluster->GetTrackDz();
1663 Float_t dR =
fCluster->GetTrackDx();
1667 dR = 2000., dZ = 2000.;
1681 if(TMath::Abs(dZ) < 0.05 && TMath::Abs(dR) < 0.05)
1687 Float_t dEdx = track->GetTPCsignal();
1690 Float_t eOverp =
fCluster->E()/track->P();
1727 const Int_t buffersize = 255;
1728 char onePar[buffersize] ;
1730 snprintf(onePar, buffersize,
"--- AliAnaParticleIsolation ---:") ;
1734 snprintf(onePar, buffersize,
"Isolation Cand Detector: %s;",
fIsoDetectorString.Data()) ;
1736 snprintf(onePar, buffersize,
"fReMakeIC =%d (Flag for reisolation during histogram filling);",
fReMakeIC) ;
1738 snprintf(onePar, buffersize,
"fMakeSeveralIC=%d (Flag for isolation with several cuts at the same time );",
fMakeSeveralIC) ;
1740 snprintf(onePar, buffersize,
"fFillTMHisto=%d (Flag for track matching histograms);",
fFillTMHisto) ;
1742 snprintf(onePar, buffersize,
"fFillSSHisto=%d (Flag for shower shape histograms);",
fFillSSHisto) ;
1747 snprintf(onePar, buffersize,
"fNCones =%d (Number of cone sizes);",
fNCones) ;
1749 snprintf(onePar, buffersize,
"fNPtThresFrac=%d (Flag for isolation with several cuts at the same time);",
fNPtThresFrac) ;
1752 for(Int_t icone = 0; icone <
fNCones ; icone++)
1754 snprintf(onePar, buffersize,
"fConeSizes[%d]=%1.2f (isolation cone size);",icone,
fConeSizes[icone]) ;
1759 snprintf(onePar, buffersize,
"fPtThresholds[%d]=%1.2f (isolation pt threshold);",ipt,
fPtThresholds[ipt]) ;
1764 snprintf(onePar, buffersize,
"fPtFractions[%d]=%1.2f (isolation pt fraction threshold);",ipt,
fPtFractions[ipt]) ;
1769 snprintf(onePar, buffersize,
"fSumPtThresholds[%d]=%1.2f (isolation sum pt threshold);",ipt,
fSumPtThresholds[ipt]) ;
1780 return new TObjString(parList) ;
1789 TList * outputContainer =
new TList() ;
1790 outputContainer->SetName(
"IsolatedParticleHistos") ;
1836 TString sThreshold =
"";
1839 sThreshold = Form(
", %2.2f < #Sigma #it{p}_{T}^{in cone} < %2.2f GeV/#it{c}",
1842 sThreshold = Form(
", #Sigma #it{p}_{T}^{in cone} = %2.2f GeV/#it{c}",
1847 sThreshold = Form(
", %2.2f < #it{p}_{T}^{th} < %2.2f GeV/#it{c}",
1850 sThreshold = Form(
", #it{p}_{T}^{th} = %2.2f GeV/#it{c}",
1854 sThreshold = Form(
", #Sigma #it{p}_{T}^{in cone}/#it{p}_{T}^{trig} = %2.2f" ,
1857 TString sParticle =
", x^{0,#pm}";
1861 TString parTitle = Form(
"#it{R} = %2.2f%s%s",
GetIsolationCut()->GetConeSize(), sThreshold.Data(),sParticle.Data());
1863 TString pileUpName[] = {
"SPD",
"EMCAL",
"SPDOrEMCAL",
"SPDAndEMCAL",
"SPDAndNotEMCAL",
"EMCALAndNotSPD",
"NotSPDAndNotEMCAL"} ;
1866 TString mcPartType[] = {
"#gamma" ,
"#gamma_{prompt}" ,
"#gamma_{fragmentation}",
1867 "#pi^{0} (merged #gamma)",
"#gamma_{#pi decay}" ,
"#gamma_{#pi decay} lost companion",
1868 "#eta (merged #gamma)" ,
"#gamma_{#eta decay}",
"#gamma_{#eta decay} lost companion",
1869 "#gamma_{other decay}" ,
"e^{#pm}" ,
"hadrons?"} ;
1871 TString mcPartName[] = {
"Photon",
"PhotonPrompt",
"PhotonFrag",
1872 "Pi0" ,
"Pi0Decay" ,
"Pi0DecayLostPair",
1873 "Eta" ,
"EtaDecay" ,
"EtaDecayLostPair",
1874 "OtherDecay",
"Electron",
"Hadron"} ;
1877 TString pptype[] = {
"#gamma" ,
"#gamma_{#pi decay}" ,
"#gamma_{#eta decay}",
"#gamma_{other decay}",
1878 "#gamma_{prompt}",
"#gamma_{fragmentation}",
"#gamma_{ISR}" ,
1879 "#pi^{0}" ,
"#eta"} ;
1881 TString ppname[] = {
"Photon" ,
"PhotonPi0Decay",
"PhotonEtaDecay",
"PhotonOtherDecay",
1882 "PhotonPrompt",
"PhotonFrag" ,
"PhotonISR" ,
1888 Form(
"Number of not isolated leading particles vs #it{p}_{T}, %s",parTitle.Data()),
1889 nptbins,ptmin,ptmax);
1890 fhENoIso->SetYTitle(
"#it{counts}");
1891 fhENoIso->SetXTitle(
"E (GeV/#it{c})");
1895 Form(
"Number of not isolated leading particles vs #it{p}_{T}, %s",parTitle.Data()),
1896 nptbins,ptmin,ptmax);
1898 fhPtNoIso->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
1902 Form(
"Number of not isolated leading particles #eta vs #phi, %s",parTitle.Data()),
1903 netabins,etamin,etamax,nphibins,phimin,phimax);
1914 fhPtNoIsoMC[imc] =
new TH1F(Form(
"hPtNoIsoMC%s",mcPartName[imc].Data()),
1915 Form(
"#it{p}_{T} of NOT isolated %s, %s",mcPartType[imc].Data(),parTitle.Data()),
1916 nptbins,ptmin,ptmax);
1918 fhPtNoIsoMC[imc]->SetXTitle(
"#it{p}_{T}(GeV/#it{c})");
1921 fhPtIsoMC[imc] =
new TH1F(Form(
"hPtMC%s",mcPartName[imc].Data()),
1922 Form(
"#it{p}_{T} of isolated %s, %s",mcPartType[imc].Data(),parTitle.Data()),
1923 nptbins,ptmin,ptmax);
1924 fhPtIsoMC[imc]->SetYTitle(
"#it{counts}");
1925 fhPtIsoMC[imc]->SetXTitle(
"#it{p}_{T}(GeV/#it{c})");
1928 fhPhiIsoMC[imc] =
new TH2F(Form(
"hPhiMC%s",mcPartName[imc].Data()),
1929 Form(
"#phi vs #it{p}_{T} of isolated %s, %s",mcPartType[imc].Data(),parTitle.Data()),
1930 nptbins,ptmin,ptmax,nphibins,phimin,phimax);
1932 fhPhiIsoMC[imc]->SetXTitle(
"#it{p}_{T}(GeV/#it{c})");
1935 fhEtaIsoMC[imc] =
new TH2F(Form(
"hEtaMC%s",mcPartName[imc].Data()),
1936 Form(
"#phi vs #it{p}_{T} of isolated %s, %s",mcPartType[imc].Data(),parTitle.Data()),
1937 nptbins,ptmin,ptmax,netabins,etamin,etamax);
1939 fhEtaIsoMC[imc]->SetXTitle(
"#it{p}_{T}(GeV/#it{c})");
1947 TString isoName [] = {
"NoIso",
"Iso"};
1948 TString isoTitle[] = {
"Not isolated" ,
"isolated"};
1952 for(Int_t iso = 0; iso < 2; iso++)
1956 new TH1F(Form(
"hPtDecay%s_bit%d",isoName[iso].Data(),
fDecayBits[ibit]),
1957 Form(
"Number of %s leading pi0 decay particles vs #it{p}_{T}, bit %d, %s",isoTitle[iso].Data(),
fDecayBits[ibit],parTitle.Data()),
1958 nptbins,ptmin,ptmax);
1959 fhPtDecay[iso][ibit]->SetYTitle(
"#it{counts}");
1960 fhPtDecay[iso][ibit]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
1961 outputContainer->Add(
fhPtDecay[iso][ibit]) ;
1964 new TH2F(Form(
"hEtaPhiDecay%s_bit%d",isoName[iso].Data(),
fDecayBits[ibit]),
1965 Form(
"Number of %s leading Pi0 decay particles #eta vs #phi, bit %d, %s",isoTitle[iso].Data(),
fDecayBits[ibit],parTitle.Data()),
1966 netabins,etamin,etamax,nphibins,phimin,phimax);
1974 (Form(
"hPtLambda0Decay%s_bit%d",isoName[iso].Data(),
fDecayBits[ibit]),
1975 Form(
"%s cluster : #it{p}_{T} vs #lambda_{0}, decay bit %d, %s",isoTitle[iso].Data(),
fDecayBits[ibit], parTitle.Data()),
1976 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
1987 new TH1F(Form(
"hPtDecay%s_bit%d_MC%s",isoName[iso].Data(),
fDecayBits[ibit],mcPartName[imc].Data()),
1988 Form(
"#it{p}_{T} of %s, decay bit %d, %s, %s",isoTitle[iso].Data(),
fDecayBits[ibit],mcPartType[imc].Data(),parTitle.Data()),
1989 nptbins,ptmin,ptmax);
1990 fhPtDecayMC[iso][ibit][imc]->SetYTitle(
"#it{counts}");
1991 fhPtDecayMC[iso][ibit][imc]->SetXTitle(
"#it{p}_{T}(GeV/#it{c})");
1992 outputContainer->Add(
fhPtDecayMC[iso][ibit][imc]) ;
2001 TString isoName [] = {
"NoIso",
"Iso"};
2002 TString isoTitle[] = {
"Not isolated" ,
"isolated"};
2005 Form(
"Number of isolated particles vs E, %s",parTitle.Data()),
2006 nptbins,ptmin,ptmax);
2007 fhEIso->SetYTitle(
"d#it{N} / d#it{E}");
2008 fhEIso->SetXTitle(
"#it{E} (GeV/#it{c})");
2009 outputContainer->Add(
fhEIso) ;
2012 Form(
"Number of isolated particles vs #it{p}_{T}, %s",parTitle.Data()),
2013 nptbins,ptmin,ptmax);
2014 fhPtIso->SetYTitle(
"d#it{N} / #it{p}_{T}");
2015 fhPtIso->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2016 outputContainer->Add(
fhPtIso) ;
2019 Form(
"Number of isolated particles vs #phi, %s",parTitle.Data()),
2020 nptbins,ptmin,ptmax,nphibins,phimin,phimax);
2022 fhPhiIso->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2026 Form(
"Number of isolated particles vs #eta, %s",parTitle.Data()),
2027 nptbins,ptmin,ptmax,netabins,etamin,etamax);
2029 fhEtaIso->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2033 Form(
"Number of isolated particles #eta vs #phi, %s",parTitle.Data()),
2034 netabins,etamin,etamax,nphibins,phimin,phimax);
2042 Form(
"centrality vs #it{p}_{T} for isolated particles, %s",parTitle.Data()),
2043 nptbins,ptmin,ptmax, 100,0,100);
2049 Form(
"event plane angle vs #it{p}_{T} for isolated particles, %s",parTitle.Data()),
2050 nptbins,ptmin,ptmax, 100,0,TMath::Pi());
2059 Form(
"Number of isolated particles vs #it{p}_{T}, %s",parTitle.Data()),
2060 nptbins,ptmin,ptmax,10,0,10);
2065 Form(
"Number of not isolated particles vs #it{p}_{T}, %s",parTitle.Data()),
2066 nptbins,ptmin,ptmax,10,0,10);
2073 Form(
"Track or Cluster leading #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2074 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2075 fhConePtLead->SetYTitle(
"#it{p}_{T, leading} (GeV/#it{c})");
2076 fhConePtLead->SetXTitle(
"#it{p}_{T, trigger} (GeV/#it{c})");
2080 Form(
"Track and Cluster #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2081 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2083 fhConeSumPt->SetXTitle(
"#it{p}_{T, trigger} (GeV/#it{c})");
2087 Form(
"Trigger #eta vs #phi, #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2088 netabins,etamin,etamax,nphibins,phimin,phimax);
2095 Form(
"#it{p}_{T} of clusters and tracks in isolation cone for #it{R} = %2.2f",r),
2096 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
2097 fhPtInCone->SetYTitle(
"#it{p}_{T in cone} (GeV/#it{c})");
2098 fhPtInCone->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2129 for(Int_t ibin = 0; ibin <
fNBkgBin; ibin++)
2132 (Form(
"hPtLeadCone_Bin%d",ibin),
2133 Form(
"cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, %s",
2140 (Form(
"hSumPtCone_Bin%d",ibin),
2141 Form(
"in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, %s",
2149 for(Int_t idecay = 0; idecay <
fNDecayBits; idecay++)
2151 Int_t bindecay = ibin+idecay*
fNBkgBin;
2154 (Form(
"hPtLeadCone_Bin%d_DecayBit%d",ibin,
fDecayBits[idecay]),
2155 Form(
"Decay bit %d, cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, %s",
2162 (Form(
"hSumPtCone_Bin%d_DecayBit%d",ibin,
fDecayBits[idecay]),
2163 Form(
"Decay bit %d, in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, %s",
2177 (Form(
"hPtLeadCone_Bin%d_MC%s",ibin, mcPartName[imc].Data()),
2178 Form(
"in cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, MC %s, %s",
2185 (Form(
"hSumPtCone_Bin%d_MC%s",ibin,mcPartName[imc].Data()),
2186 Form(
"in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, MC %s, %s",
2197 (Form(
"hPtLeadConeLambda0_Bin%d",ibin),
2198 Form(
"#lambda_{0}, in cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, %s",
2205 (Form(
"hSumPtConeLambda0_Bin%d",ibin),
2206 Form(
"#lambda_{0}, in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, %s",
2218 (Form(
"hPtLeadConeLambda0_Bin%d_MC%s",ibin, mcPartName[imc].Data()),
2219 Form(
"#lambda_{0}, in cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, MC %s, %s",
2220 fBkgBinLimit[ibin],
fBkgBinLimit[ibin+1], mcPartType[imc].Data(), parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2226 (Form(
"hSumPtConeLambda0_Bin%d_MC%s",ibin,mcPartName[imc].Data()),
2227 Form(
"#lambda_{0}, in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, MC %s, %s",
2228 fBkgBinLimit[ibin],
fBkgBinLimit[ibin+1], mcPartType[imc].Data(), parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2267 (Form(
"hPtTrigBin_PtLeadCone_Bin%d",ibin),
2268 Form(
"#it{p}_{T}^{lead. in cone}, %2.2f<#it{p}_{T}^{cand}<%2.2f GeV/#it{c}, %s",
2275 (Form(
"hPtTrigBin_SumPtCone_Bin%d",ibin),
2276 Form(
"#Sigma #it{p}_{T}^{in cone} %2.2f <#it{p}_{T}^{cand}< %2.2f GeV/#it{c}, %s",
2284 for(Int_t idecay = 0; idecay <
fNDecayBits; idecay++)
2289 (Form(
"hPtTrigBin_PtLeadCone_Bin%d_DecayBit%d",ibin,
fDecayBits[idecay]),
2290 Form(
"Decay bit %d, #it{p}_{T}^{lead. in cone}, %2.2f<#it{p}_{T}^{cand}<%2.2f GeV/#it{c}, %s",
2297 (Form(
"hPtTrigBin_SumPtCone_Bin%d_DecayBit%d",ibin,
fDecayBits[idecay]),
2298 Form(
"Decay bit %d, #Sigma #it{p}_{T}^{in cone} %2.2f <#it{p}_{T}^{cand}< %2.2f GeV/#it{c}, %s",
2312 (Form(
"hPtTrigBin_PtLeadCone_Bin%d_MC%s",ibin, mcPartName[imc].Data()),
2313 Form(
"#it{p}_{T}^{lead. in cone}, %2.2f<#it{p}_{T}^{cand}<%2.2f GeV/#it{c}, MC %s, %s",
2320 (Form(
"hPtTrigBin_SumPtCone_Bin%d_MC%s",ibin,mcPartName[imc].Data()),
2321 Form(
"#Sigma #it{p}_{T}^{in cone}, %2.2f <#it{p}_{T}^{cand}< %2.2f GeV/#it{c}, MC %s, %s",
2332 (Form(
"hPtTrigBin_PtLeadConeVSLambda0_Bin%d",ibin),
2333 Form(
"#lambda_{0} vs #it{p}_{T}^{lead. in cone}, %2.2f<#it{p}_{T}^{cand}<%2.2f GeV/#it{c}, %s",
2340 (Form(
"hPtTrigBin_SumPtConeVSLambda0_Bin%d",ibin),
2341 Form(
"#lambda_{0} vs #Sigma #it{p}_{T}^{in cone} %2.2f <#it{p}_{T}^{cand}< %2.2f GeV/#it{c}, %s",
2353 (Form(
"hPtTrigBin_PtLeadConeVSLambda0_Bin%d_MC%s",ibin, mcPartName[imc].Data()),
2354 Form(
"#lambda_{0} vs #it{p}_{T}^{lead. in cone}, %2.2f<#it{p}_{T}^{cand}<%2.2f GeV/#it{c}, MC %s, %s",
2361 (Form(
"hPtTrigBin_SumPtConeVSLambda0_Bin%d_MC%s",ibin,mcPartName[imc].Data()),
2362 Form(
"#lambda_{0} vs #Sigma #it{p}_{T}^{in cone}, %2.2f <#it{p}_{T}^{cand}< %2.2f GeV/#it{c}, MC %s, %s",
2376 Form(
"#it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2377 100,0,100,nptinconebins,ptinconemin,ptinconemax);
2387 Form(
"Cluster #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2388 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2394 Form(
"Cluster leading in isolation cone for #it{R} = %2.2f",r),
2395 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2404 Form(
"Cell #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2405 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2414 "#Sigma cluster #it{p}_{T} in UE Eta Band",
2415 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2421 "#Sigma cluster #it{p}_{T} UE Phi Band",
2422 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2428 "Trigger #eta vs #phi, #Sigma cluster #it{p}_{T} in UE Eta Band",
2429 netabins,etamin,etamax,nphibins,phimin,phimax);
2436 "Trigger #eta vs #phi, #Sigma cluster #it{p}_{T} UE Phi Band",
2437 netabins,etamin,etamax,nphibins,phimin,phimax);
2446 "#Sigma cell #it{p}_{T} in UE Eta Band",
2447 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2453 "#Sigma cell #it{p}_{T} UE Phi Band",
2454 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2460 "Trigger #eta vs #phi, #Sigma cell #it{p}_{T} in UE Eta Band",
2461 netabins,etamin,etamax,nphibins,phimin,phimax);
2468 "Trigger #eta vs #phi, #Sigma cell #it{p}_{T} UE Phi Band",
2469 netabins,etamin,etamax,nphibins,phimin,phimax);
2477 Form(
"#eta vs #phi of clusters in #eta band isolation cone for #it{R} = %2.2f",r),
2478 netabins,-1,1,nphibins,0,TMath::TwoPi());
2484 Form(
"#eta vs #phi of clusters in #phi band isolation cone for #it{R} = %2.2f",r),
2485 netabins,-1,1,nphibins,0,TMath::TwoPi());
2491 Form(
"#eta vs #phi of clusters in cone for #it{R} = %2.2f",r),
2492 netabins,-1,1,nphibins,0,TMath::TwoPi());
2498 Form(
"#eta vs #phi of all clusters"),
2499 netabins,-1,1,nphibins,0,TMath::TwoPi());
2507 Form(
"#it{p}_{T} of clusters in isolation cone for #it{R} = %2.2f",r),
2508 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
2516 Form(
"#it{p}_{T} of cells in isolation cone for #it{R} = %2.2f",r),
2517 nptbins,ptmin,ptmax,1000,0,50);
2523 Form(
"#col vs #row of cells in #eta band isolation cone for #it{R} = %2.2f",r),
2530 Form(
"#col vs #row of cells in #phi band isolation cone for #it{R} = %2.2f",r),
2540 Form(
"Clusters #Sigma #it{p}_{T} after bkg subtraction from eta band in the isolation cone for #it{R} = %2.2f",r),
2541 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2547 Form(
"Clusters #Sigma #it{p}_{T} after bkg subtraction from phi band in the isolation cone for #it{R} = %2.2f",r),
2548 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2554 Form(
"Trigger #eta vs #phi, Clusters #Sigma #it{p}_{T} after bkg subtraction from eta band in the isolation cone for #it{R} = %2.2f",r),
2555 netabins,etamin,etamax,nphibins,phimin,phimax);
2562 Form(
"Trigger #eta vs #phi, Clusters #Sigma #it{p}_{T} after bkg subtraction from phi band in the isolation cone for #it{R} = %2.2f",r),
2563 netabins,etamin,etamax,nphibins,phimin,phimax);
2572 Form(
"Cells #Sigma #it{p}_{T} after bkg subtraction from eta band in the isolation cone for #it{R} = %2.2f",r),
2573 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2579 Form(
"Cells #Sigma #it{p}_{T} after bkg subtraction from phi band in the isolation cone for #it{R} = %2.2f",r),
2580 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2586 Form(
"Trigger #eta vs #phi, Cells #Sigma #it{p}_{T} after bkg subtraction from eta band in the isolation cone for #it{R} = %2.2f",r),
2587 netabins,etamin,etamax,nphibins,phimin,phimax);
2594 Form(
"Trigger #eta vs #phi, Cells #Sigma #it{p}_{T} after bkg subtraction from phi band in the isolation cone for #it{R} = %2.2f",r),
2595 netabins,etamin,etamax,nphibins,phimin,phimax);
2603 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of clusters #eta acceptance",r),
2604 nptbins,ptmin,ptmax,100,0,1);
2610 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of clusters #eta acceptance, in trigger #eta-#phi ",r),
2611 netabins,etamin,etamax,nphibins,phimin,phimax);
2618 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of clusters #phi acceptance",r),
2619 nptbins,ptmin,ptmax,100,0,1);
2625 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of clusters #phi acceptance, in trigger #eta-#phi ",r),
2626 netabins,etamin,etamax,nphibins,phimin,phimax);
2633 Form(
"#Sigma #it{p}_{T} in cone after bkg sub from #phi band vs #Sigma #it{p}_{T} in cone before bkg sub, R=%2.2f",r),
2634 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2640 Form(
"#Sigma #it{p}_{T, norm} in cone after bkg sub from #phi band vs #Sigma #it{p}_{T} in cone before bkg sub, R=%2.2f",r),
2641 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2647 Form(
"#Sigma #it{p}_{T} in cone after bkg sub from #eta band vs #Sigma #it{p}_{T} in cone before bkg sub, R=%2.2f",r),
2648 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2654 Form(
"#Sigma #it{p}_{T, norm} in cone after bkg sub from #eta band vs #Sigma #it{p}_{T} in cone before bkg sub, R=%2.2f",r),
2655 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2661 Form(
"#Sigma #it{p}_{T} in cone versus #Sigma #it{p}_{T} in eta band for cluster (before normalization), R=%2.2f",r),
2662 nptsumbins,ptsummin,ptsummax,2*nptsumbins,ptsummin,2*ptsummax);
2668 Form(
"#Sigma #it{p}_{T} in cone versus #Sigma #it{p}_{T} in phi band for cluster (before normalization), R=%2.2f",r),
2669 nptsumbins,ptsummin,ptsummax,8*nptsumbins,ptsummin,8*ptsummax);
2677 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of cells #eta acceptance",r),
2678 nptbins,ptmin,ptmax,100,0,1);
2684 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of cells #eta acceptance, in trigger #eta-#phi ",r),
2685 netabins,etamin,etamax,nphibins,phimin,phimax);
2692 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of cells #phi acceptance",r),
2693 nptbins,ptmin,ptmax,100,0,1);
2699 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of cells #phi acceptance, in trigger #eta-#phi ",r),
2700 netabins,etamin,etamax,nphibins,phimin,phimax);
2708 Form(
"#Sigma #it{p}_{T} in cone after bkg sub from #phi band vs #Sigma #it{p}_{T} in cone before bkg sub, R=%2.2f",r),
2709 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2715 Form(
"#Sigma #it{p}_{T, norm} in cone after bkg sub from #phi band vs #Sigma #it{p}_{T} in cone before bkg sub, R=%2.2f",r),
2716 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2722 Form(
"#Sigma #it{p}_{T} in cone after bkg sub from #eta band vs #Sigma #it{p}_{T} in cone before bkg sub, R=%2.2f",r),
2723 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2729 Form(
"#Sigma #it{p}_{T, norm} in cone after bkg sub from #eta band vs #Sigma #it{p}_{T} in cone before bkg sub, R=%2.2f",r),
2730 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2742 Form(
"Track #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2743 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2749 Form(
"Track leading in isolation cone for #it{R} = %2.2f",r),
2750 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2756 Form(
"#it{p}_{T} of tracks in isolation cone for #it{R} = %2.2f",r),
2757 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
2766 "#Sigma track #it{p}_{T} in UE Eta Band",
2767 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2773 "#Sigma track #it{p}_{T} in UE Phi Band",
2774 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax*8);
2781 "Trigger #eta vs #phi, #Sigma track #it{p}_{T} in UE Eta Band",
2782 netabins,etamin,etamax,nphibins,phimin,phimax);
2789 "Trigger #eta vs #phi, #Sigma track #it{p}_{T} in UE Phi Band",
2790 netabins,etamin,etamax,nphibins,phimin,phimax);
2797 Form(
"#eta vs #phi of tracks in #eta band isolation cone for #it{R} = %2.2f",r),
2798 netabins,-1,1,nphibins,0,TMath::TwoPi());
2804 Form(
"#eta vs #phi of tracks in #phi band isolation cone for #it{R} = %2.2f",r),
2805 netabins,-1,1,nphibins,0,TMath::TwoPi());
2811 Form(
"Tracks #Sigma #it{p}_{T} after bkg subtraction from eta band in the isolation cone for #it{R} = %2.2f",r),
2812 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2818 Form(
"Tracks #Sigma #it{p}_{T} after bkg subtraction from phi band in the isolation cone for #it{R} = %2.2f",r),
2819 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2825 Form(
"Trigger #eta vs #phi, Tracks #Sigma #it{p}_{T} after bkg subtraction from eta band in the isolation cone for #it{R} = %2.2f",r),
2826 netabins,etamin,etamax,nphibins,phimin,phimax);
2833 Form(
"Trigger #eta vs #phi, Tracks #Sigma #it{p}_{T} after bkg subtraction from phi band in the isolation cone for #it{R} = %2.2f",r),
2834 netabins,etamin,etamax,nphibins,phimin,phimax);
2841 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of tracks #eta acceptance",r),
2842 nptbins,ptmin,ptmax,100,0,1);
2848 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of tracks #eta acceptance, in trigger #eta-#phi ",r),
2849 netabins,etamin,etamax,nphibins,phimin,phimax);
2856 Form(
"#Sigma #it{p}_{T} in cone after bkg sub from #phi band vs #Sigma #it{p}_{T} in cone before bkg sub, R=%2.2f",r),
2857 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2863 Form(
"#Sigma #it{p}_{T, norm} in cone after bkg sub from #phi band vs #Sigma #it{p}_{T} in cone before bkg sub, R=%2.2f",r),
2864 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2870 Form(
"#Sigma #it{p}_{T} in cone after bkg sub from #eta band vs #Sigma #it{p}_{T} in cone before bkg sub, R=%2.2f",r),
2871 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2877 Form(
"#Sigma #it{p}_{T, norm} in cone after bkg sub from #eta band vs #Sigma #it{p}_{T} in cone before bkg sub, R=%2.2f",r),
2878 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2886 Form(
"#Sigma #it{p}_{T} in isolation cone at #pm 45 degree phi from trigger particle, #it{R} = %2.2f",r),
2887 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2893 Form(
"#it{p}_{T} in isolation cone at #pm 45 degree phi from trigger particle, #it{R} = %2.2f",r),
2894 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
2900 Form(
"#eta vs #phi of all Tracks"),
2901 netabins,-1,1,nphibins,0,TMath::TwoPi());
2907 Form(
"#eta vs #phi of Tracks in cone for #it{R} = %2.2f",r),
2908 netabins,-1,1,nphibins,0,TMath::TwoPi());
2914 Form(
"#Sigma #it{p}_{T} in cone versus #Sigma #it{p}_{T} in eta band for tracks (before normalization), R=%2.2f",r),
2915 nptsumbins,ptsummin,ptsummax,2*nptsumbins,ptsummin,2*ptsummax);
2921 Form(
"#Sigma #it{p}_{T} in cone versus #Sigma #it{p}_{T} in phi band for tracks (before normalization), R=%2.2f",r),
2922 nptsumbins,ptsummin,ptsummax,8*nptsumbins,ptsummin,8*ptsummax);
2932 Form(
"Track vs Cluster #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2933 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
2939 Form(
"#Sigma #it{p}_{T}^{cluster}/#Sigma #it{p}_{T}^{track} in isolation cone for #it{R} = %2.2f",r),
2940 nptbins,ptmin,ptmax,200,0,5);
2947 Form(
"Track vs Cluster lead #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2948 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2954 Form(
" #it{p}^{leading cluster}_{T}/#it{p}^{leading track}_{T} in isolation cone for #it{R} = %2.2f",r),
2955 nptbins,ptmin,ptmax,200,0,5);
2964 Form(
"Track vs cell #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2965 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
2971 Form(
"Track and Cell #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2972 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2978 Form(
"Trigger #eta vs #phi, #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2979 netabins,etamin,etamax,nphibins,phimin,phimax);
2989 Form(
"#Sigma #it{p}_{T} after bkg subtraction from eta band in the isolation cone for #it{R} = %2.2f",r),
2990 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2996 Form(
"#Sigma #it{p}_{T} after bkg subtraction from phi band in the isolation cone for #it{R} = %2.2f",r),
2997 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
3003 Form(
"Trigger #eta vs #phi, #Sigma #it{p}_{T} after bkg subtraction from eta band in the isolation cone for #it{R} = %2.2f",r),
3004 netabins,etamin,etamax,nphibins,phimin,phimax);
3011 Form(
"Trigger #eta vs #phi, #Sigma #it{p}_{T} after bkg subtraction from phi band in the isolation cone for #it{R} = %2.2f",r),
3012 netabins,etamin,etamax,nphibins,phimin,phimax);
3019 Form(
"Track vs Cluster #Sigma #it{p}_{T} UE sub eta band in isolation cone for #it{R} = %2.2f",r),
3020 2*nptsumbins,-ptsummax,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
3026 Form(
"Track vs Cluster #Sigma #it{p}_{T} UE sub phi band in isolation cone for #it{R} = %2.2f",r),
3027 2*nptsumbins,-ptsummax,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
3033 Form(
"Track vs Cluster #Sigma #it{p}_{T} in Eta band in isolation cone for #it{R} = %2.2f",r),
3034 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
3040 Form(
"Track vs Cluster #Sigma #it{p}_{T} in Phi band in isolation cone for #it{R} = %2.2f",r),
3041 nptsumbins,ptsummin,ptsummax*4,nptsumbins,ptsummin,ptsummax*8);
3047 Form(
"Track vs Cluster #Sigma #it{p}_{T} in Eta band in isolation cone for #it{R} = %2.2f",r),
3048 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
3054 Form(
"Track vs Cluster #Sigma #it{p}_{T} in Phi band in isolation cone for #it{R} = %2.2f",r),
3055 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
3061 Form(
"Track vs Cluster #Sigma #it{p}_{T} UE sub eta band in isolation cone for #it{R} = %2.2f",r),
3062 2*nptsumbins,-ptsummax,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
3068 Form(
"Track vs Cluster #Sigma #it{p}_{T} UE sub phi band in isolation cone for #it{R} = %2.2f",r),
3069 2*nptsumbins,-ptsummax,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
3078 Form(
"Track vs Cell #Sigma #it{p}_{T} UE sub eta band in isolation cone for #it{R} = %2.2f",r),
3079 2*nptsumbins,-ptsummax,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
3085 Form(
"Track vs Cell #Sigma #it{p}_{T} UE sub phi band in isolation cone for #it{R} = %2.2f",r),
3086 2*nptsumbins,-ptsummax,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
3092 Form(
"Track vs Cell #Sigma #it{p}_{T} in Eta band in isolation cone for #it{R} = %2.2f",r),
3093 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
3099 Form(
"Track vs Cell #Sigma #it{p}_{T} in Phi band in isolation cone for #it{R} = %2.2f",r),
3100 nptsumbins,ptsummin,ptsummax*4,nptsumbins,ptsummin,ptsummax*8);
3106 Form(
"Track vs Cell #Sigma #it{p}_{T} in Eta band in isolation cone for #it{R} = %2.2f",r),
3107 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
3113 Form(
"Track vs Cell #Sigma #it{p}_{T} in Phi band in isolation cone for #it{R} = %2.2f",r),
3114 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
3120 Form(
"Tracks #Sigma #it{p}_{T} after bkg subtraction from eta band in the isolation cone for #it{R} = %2.2f",r),
3121 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
3127 Form(
"Tracks #Sigma #it{p}_{T} after bkg subtraction from phi band in the isolation cone for #it{R} = %2.2f",r),
3128 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
3134 Form(
"Trigger #eta vs #phi, Tracks #Sigma #it{p}_{T} after bkg subtraction from eta band in the isolation cone for #it{R} = %2.2f",r),
3135 netabins,etamin,etamax,nphibins,phimin,phimax);
3142 Form(
"Trigger #eta vs #phi, Tracks #Sigma #it{p}_{T} after bkg subtraction from phi band in the isolation cone for #it{R} = %2.2f",r),
3143 netabins,etamin,etamax,nphibins,phimin,phimax);
3152 TString region[] = {
"ITS",
"TPC",
"TRD",
"TOF",
"Top EMCal",
"In EMCal"};
3154 for(Int_t iso = 0; iso < 2; iso++)
3159 (Form(
"hTrackMatchedDEta%s",isoName[iso].Data()),
3160 Form(
"%s - d#eta of cluster-track vs cluster energy, %s",isoTitle[iso].Data(),parTitle.Data()),
3161 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
3166 (Form(
"hTrackMatchedDPhi%s",isoName[iso].Data()),
3167 Form(
"%s - d#phi of cluster-track vs cluster energy, %s",isoTitle[iso].Data(),parTitle.Data()),
3168 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
3173 (Form(
"hTrackMatchedDEtaDPhi%s",isoName[iso].Data()),
3174 Form(
"%s - d#eta vs d#phi of cluster-track, %s",isoTitle[iso].Data(),parTitle.Data()),
3175 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
3184 (Form(
"hdEdx%s",isoName[iso].Data()),
3185 Form(
"%s - Matched track <d#it{E}/d#it{x}> vs cluster #it{E}, %s",isoTitle[iso].Data(),parTitle.Data()),
3186 nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
3187 fhdEdx[iso]->SetXTitle(
"#it{E} (GeV)");
3188 fhdEdx[iso]->SetYTitle(
"<d#it{E}/d#it{x}>");
3189 outputContainer->Add(
fhdEdx[iso]);
3192 (Form(
"hEOverP%s",isoName[iso].Data()),
3193 Form(
"%s - Matched track #it{E}/#it{p} vs cluster, %s",isoTitle[iso].Data(),parTitle.Data()),
3194 nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
3195 fhEOverP[iso]->SetXTitle(
"#it{E} (GeV)");
3196 fhEOverP[iso]->SetYTitle(
"#it{E}/#it{p}");
3197 outputContainer->Add(
fhEOverP[iso]);
3202 (Form(
"hTrackMatchedMCParticle%s",isoName[iso].Data()),
3203 Form(
"%s - Origin of particle vs cluster #it{E}, %s",isoTitle[iso].Data(),parTitle.Data()),
3204 nptbins,ptmin,ptmax,8,0,8);
3224 (Form(
"hELambda0%s",isoName[iso].Data()),
3225 Form(
"%s cluster : #it{E} vs #lambda_{0}, %s",isoTitle[iso].Data(),parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3226 fhELambda0[iso]->SetYTitle(
"#lambda_{0}^{2}");
3238 (Form(
"hPtLambda0%s",isoName[iso].Data()),
3239 Form(
"%s cluster : #it{p}_{T} vs #lambda_{0}, %s",isoTitle[iso].Data(), parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3241 fhPtLambda0[iso]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3248 fhPtLambda0MC[imc][iso] =
new TH2F(Form(
"hPtLambda0%s_MC%s",isoName[iso].Data(),mcPartName[imc].Data()),
3249 Form(
"%s cluster : #it{p}_{T} vs #lambda_{0}: %s %s",isoTitle[iso].Data(),mcPartType[imc].Data(),parTitle.Data()),
3250 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3252 fhPtLambda0MC[imc][iso]->SetXTitle(
"#it{p}_{T}(GeV/#it{c})");
3255 fhPtLambda0MCConv[imc][iso] =
new TH2F(Form(
"hPtLambda0%s_MC%sConv",isoName[iso].Data(),mcPartName[imc].Data()),
3256 Form(
"%s cluster : #it{p}_{T} vs #lambda_{0}: %s %s, from conversion",isoTitle[iso].Data(),mcPartType[imc].Data(),parTitle.Data()),
3257 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3264 fhPtLambda0MCWith1Overlap[imc][iso] =
new TH2F(Form(
"hPtLambda0%s_MC%s_1Overlap",isoName[iso].Data(),mcPartName[imc].Data()),
3265 Form(
"%s cluster : #it{p}_{T} vs #lambda_{0}: %s %s, 1 overlap",isoTitle[iso].Data(),mcPartType[imc].Data(),parTitle.Data()),
3266 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3272 Form(
"%s cluster : #it{p}_{T} vs #lambda_{0}: %s %s, from conversion, 1 overlap",isoTitle[iso].Data(),mcPartType[imc].Data(),parTitle.Data()),
3273 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3278 fhPtLambda0MCWithNOverlap[imc][iso] =
new TH2F(Form(
"hPtLambda0%s_MC%s_NOverlap",isoName[iso].Data(),mcPartName[imc].Data()),
3279 Form(
"%s cluster : #it{p}_{T} vs #lambda_{0}: %s %s, 1 overlap",isoTitle[iso].Data(),mcPartType[imc].Data(),parTitle.Data()),
3280 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3286 Form(
"%s cluster : #it{p}_{T} vs #lambda_{0}: %s %s, from conversion, 1 overlap",isoTitle[iso].Data(),mcPartType[imc].Data(),parTitle.Data()),
3287 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3293 fhPtNOverlap[imc][iso] =
new TH2F(Form(
"hPtNOverlaps%s_MC%s_1Overlap",isoName[iso].Data(),mcPartName[imc].Data()),
3294 Form(
"%s cluster : #it{p}_{T} vs #lambda_{0}: %s %s, 1 overlap",isoTitle[iso].Data(),mcPartType[imc].Data(),parTitle.Data()),
3295 nptbins,ptmin,ptmax,10,0,10);
3297 fhPtNOverlap[imc][iso]->SetXTitle(
"#it{p}_{T}(GeV/#it{c})");
3300 fhPtNOverlapConv[imc][iso] =
new TH2F(Form(
"hPtNOverlaps%s_MC%sConv_1Overlap",isoName[iso].Data(),mcPartName[imc].Data()),
3301 Form(
"%s cluster : #it{p}_{T} vs #lambda_{0}: %s %s, from conversion, 1 overlap",isoTitle[iso].Data(),mcPartType[imc].Data(),parTitle.Data()),
3302 nptbins,ptmin,ptmax,10,0,10);
3314 (Form(
"hPtLambda0TRD%s",isoName[iso].Data()),
3315 Form(
"%s cluster: #it{p}_{T} vs #lambda_{0}, SM behind TRD, %s",isoTitle[iso].Data(),parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3321 (Form(
"hELambda0TRD%s",isoName[iso].Data()),
3322 Form(
"%s cluster: #it{E} vs #lambda_{0}, SM behind TRD, %s",isoTitle[iso].Data(),parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3338 (Form(
"hNLocMax%s",isoName[iso].Data()),
3339 Form(
"%s - Number of local maxima in cluster, %s",isoTitle[iso].Data(),parTitle.Data()),
3340 nptbins,ptmin,ptmax,10,0,10);
3342 fhNLocMax[iso]->SetXTitle(
"#it{E} (GeV)");
3346 (Form(
"hELambda0LocMax1%s",isoName[iso].Data()),
3347 Form(
"%s cluster (#eta) pairs: #it{E} vs #lambda_{0}, #it{NLM}=1, %s",isoTitle[iso].Data(),parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3353 (Form(
"hELambda1LocMax1%s",isoName[iso].Data()),
3354 Form(
"%s cluster (#eta) pairs: #it{E} vs #lambda_{1}, #it{NLM}=1, %s",isoTitle[iso].Data(),parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3360 (Form(
"hELambda0LocMax2%s",isoName[iso].Data()),
3361 Form(
"%s cluster (#eta) pairs: #it{E} vs #lambda_{0}, #it{NLM}=2, %s",isoTitle[iso].Data(),parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3367 (Form(
"hELambda1LocMax2%s",isoName[iso].Data()),
3368 Form(
"%s cluster (#eta) pairs: #it{E} vs #lambda_{1}, #it{NLM}=2, %s",isoTitle[iso].Data(),parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3374 ( Form(
"hELambda0LocMaxN%s",isoName[iso].Data()),
3375 Form(
"%s cluster (#eta) pairs: #it{E} vs #lambda_{0}, #it{NLM}>2, %s",isoTitle[iso].Data(),parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3381 (Form(
"hELambda1LocMaxN%s",isoName[iso].Data()),
3382 Form(
"%s cluster (#eta) pairs: #it{E} vs #lambda_{1}, #it{NLM}>2, %s",isoTitle[iso].Data(),parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3392 Form(
"%s, cluster from converted photon, #it{p}_{T} vs vertex distance, %s",isoTitle[iso].Data(),parTitle.Data()),
3393 nptbins,ptmin,ptmax,500,0,500);
3400 for(Int_t iR = 0; iR < 6; iR++)
3403 Form(
"%s, cluster from converted photon, #it{p}_{T} vs #lambda_{0}^{2}, conversion in %s",isoTitle[iso].Data(),region[iR].Data()),
3404 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3417 Form(
"#it{p}_{T} of tracks in isolation cone for #it{R} = %2.2f, TOF from BC!=0",r),
3418 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3424 Form(
"#it{p}_{T} of tracks in isolation cone for #it{R} = %2.2f, TOF from BC!=0, pile-up from SPD",r),
3425 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3431 Form(
"#it{p}_{T} of tracks in isolation cone for #it{R} = %2.2f, TOF from BC==0",r),
3432 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3438 Form(
"#it{p}_{T} of tracks in isolation cone for #it{R} = %2.2f, TOF from BC==0",r),
3439 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3446 Form(
"#it{p}_{T} of tracks in isolation cone for #it{R} = %2.2f, TOF from BC==0, pile-up from SPD",r),
3447 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3453 for (Int_t i = 0; i < 7 ; i++)
3455 fhPtInConePileUp[i] =
new TH2F(Form(
"hPtInConePileUp%s",pileUpName[i].Data()),
3456 Form(
"#it{p}_{T} in isolation cone for #it{R} = %2.2f, from pile-up (%s)",r,pileUpName[i].Data()),
3457 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3470 fhEPrimMC[i] =
new TH1F(Form(
"hEPrim_MC%s",ppname[i].Data()),
3471 Form(
"primary photon %s : #it{E}, %s",pptype[i].Data(),parTitle.Data()),
3472 nptbins,ptmin,ptmax);
3473 fhEPrimMC[i]->SetXTitle(
"#it{E} (GeV)");
3476 fhPtPrimMC[i] =
new TH1F(Form(
"hPtPrim_MC%s",ppname[i].Data()),
3477 Form(
"primary photon %s : #it{p}_{T}, %s",pptype[i].Data(),parTitle.Data()),
3478 nptbins,ptmin,ptmax);
3479 fhPtPrimMC[i]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3482 fhPtPrimMCiso[i] =
new TH1F(Form(
"hPtPrim_MCiso%s",ppname[i].Data()),
3483 Form(
"primary isolated photon %s : #it{p}_{T}, %s",pptype[i].Data(),parTitle.Data()),
3484 nptbins,ptmin,ptmax);
3488 fhEtaPrimMC[i] =
new TH2F(Form(
"hEtaPrim_MC%s",ppname[i].Data()),
3489 Form(
"primary photon %s : #eta vs #it{p}_{T}, %s",pptype[i].Data(),parTitle.Data()),
3490 nptbins,ptmin,ptmax,200,-2,2);
3492 fhEtaPrimMC[i]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3495 fhPhiPrimMC[i] =
new TH2F(Form(
"hPhiPrim_MC%s",ppname[i].Data()),
3496 Form(
"primary photon %s : #phi vs #it{p}_{T}, %s",pptype[i].Data(),parTitle.Data()),
3497 nptbins,ptmin,ptmax,200,0.,TMath::TwoPi());
3499 fhPhiPrimMC[i]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3506 Form(
"primary photon %s : #it{p}_{T}, pair in cone, %s",pptype[
kmcPrimPi0Decay].Data(),parTitle.Data()),
3507 nptbins,ptmin,ptmax);
3512 Form(
"isolated primary photon %s, pair in cone : #it{p}_{T}, %s",
3514 nptbins,ptmin,ptmax);
3519 Form(
"primary photon %s, no overlap, pair in cone : #it{p}_{T}, %s",
3521 nptbins,ptmin,ptmax);
3526 Form(
"isolated primary photon %s, pair in cone,no overlap : #it{p}_{T}, %s",
3528 nptbins,ptmin,ptmax);
3533 Form(
"primary photon %s, no overlap, pair in cone, E > calo min: #it{p}_{T}, %s",
3535 nptbins,ptmin,ptmax);
3540 Form(
"isolated primary photon %s, pair in cone,no overlap, E > calo min: #it{p}_{T}, %s",
3542 nptbins,ptmin,ptmax);
3548 Form(
"primary photon %s, no overlap: #it{p}_{T}, %s",
3550 nptbins,ptmin,ptmax);
3555 Form(
"isolated primary photon %s, no overlap: #it{p}_{T}, %s",
3557 nptbins,ptmin,ptmax);
3562 Form(
"primary photon %s : #it{p}_{T}, pair out of cone, %s",pptype[
kmcPrimPi0Decay].Data(),parTitle.Data()),
3563 nptbins,ptmin,ptmax);
3568 Form(
"isolated primary photon %s, pair out of cone : #it{p}_{T}, %s",
3570 nptbins,ptmin,ptmax);
3575 Form(
"primary photon %s : #it{p}_{T}, pair out of acceptance, %s",pptype[
kmcPrimPi0Decay].Data(),parTitle.Data()),
3576 nptbins,ptmin,ptmax);
3581 Form(
"primary photon %s : #it{p}_{T}, pair out of acceptance, no overlap, %s",pptype[
kmcPrimPi0Decay].Data(),parTitle.Data()),
3582 nptbins,ptmin,ptmax);
3587 Form(
"isolated primary photon %s, pair out of acceptance : #it{p}_{T}, %s",
3589 nptbins,ptmin,ptmax);
3594 Form(
"isolated primary photon %s, pair out of acceptance, no overlap : #it{p}_{T}, %s",
3596 nptbins,ptmin,ptmax);
3601 Form(
"primary %s, overlap: #it{p}_{T}, %s",
3603 nptbins,ptmin,ptmax);
3608 Form(
"primary %s, overlap: #it{p}_{T}, %s",
3610 nptbins,ptmin,ptmax);
3622 Form(
"primary photon %s : #it{p}_{T}, pair in cone, %s",pptype[
kmcPrimEtaDecay].Data(),parTitle.Data()),
3623 nptbins,ptmin,ptmax);
3628 Form(
"isolated primary photon %s, pair in cone : #it{p}_{T}, %s",
3630 nptbins,ptmin,ptmax);
3635 Form(
"primary photon %s, no overlap, pair in cone : #it{p}_{T}, %s",
3637 nptbins,ptmin,ptmax);
3642 Form(
"isolated primary photon %s, pair in cone,no overlap : #it{p}_{T}, %s",
3644 nptbins,ptmin,ptmax);
3649 Form(
"primary photon %s, no overlap, pair in cone, E > calo min: #it{p}_{T}, %s",
3651 nptbins,ptmin,ptmax);
3656 Form(
"isolated primary photon %s, pair in cone,no overlap, E > calo min: #it{p}_{T}, %s",
3658 nptbins,ptmin,ptmax);
3664 Form(
"primary photon %s, no overlap: #it{p}_{T}, %s",
3666 nptbins,ptmin,ptmax);
3671 Form(
"isolated primary photon %s, no overlap: #it{p}_{T}, %s",
3673 nptbins,ptmin,ptmax);
3678 Form(
"primary photon %s : #it{p}_{T}, pair out of cone, %s",pptype[
kmcPrimEtaDecay].Data(),parTitle.Data()),
3679 nptbins,ptmin,ptmax);
3684 Form(
"isolated primary photon %s, pair out of cone : #it{p}_{T}, %s",
3686 nptbins,ptmin,ptmax);
3691 Form(
"primary photon %s : #it{p}_{T}, pair out of acceptance, %s",pptype[
kmcPrimEtaDecay].Data(),parTitle.Data()),
3692 nptbins,ptmin,ptmax);
3697 Form(
"primary photon %s : #it{p}_{T}, pair out of acceptance, no overlap, %s",pptype[
kmcPrimEtaDecay].Data(),parTitle.Data()),
3698 nptbins,ptmin,ptmax);
3703 Form(
"isolated primary photon %s, pair out of acceptance : #it{p}_{T}, %s",
3705 nptbins,ptmin,ptmax);
3710 Form(
"isolated primary photon %s, pair out of acceptance, no overlap : #it{p}_{T}, %s",
3712 nptbins,ptmin,ptmax);
3717 Form(
"primary %s, overlap: #it{p}_{T}, %s",
3719 nptbins,ptmin,ptmax);
3724 Form(
"primary %s, overlap: #it{p}_{T}, %s",
3726 nptbins,ptmin,ptmax);
3738 const Int_t buffersize = 255;
3739 char name[buffersize];
3740 char title[buffersize];
3741 for(Int_t icone = 0; icone<
fNCones; icone++)
3744 snprintf(name, buffersize,
"hSumPtLeadingPt_Cone_%d",icone);
3745 snprintf(title, buffersize,
"#Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",
fConeSizes[icone]);
3746 fhSumPtLeadingPt[icone] =
new TH2F(name, title,nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
3752 snprintf(name, buffersize,
"hPtLeadingPt_Cone_%d",icone);
3753 snprintf(title, buffersize,
"#it{p}_{T} in isolation cone for #it{R} = %2.2f",
fConeSizes[icone]);
3754 fhPtLeadingPt[icone] =
new TH2F(name, title, nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3755 fhPtLeadingPt[icone] ->SetYTitle(
"#it{p}_{T}^{cone} (GeV/#it{c})");
3756 fhPtLeadingPt[icone] ->SetXTitle(
"#it{p}_{T}^{leading} (GeV/#it{c})");
3760 snprintf(name, buffersize,
"hPerpSumPtLeadingPt_Cone_%d",icone);
3761 snprintf(title, buffersize,
"#Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",
fConeSizes[icone]);
3762 fhPerpSumPtLeadingPt[icone] =
new TH2F(name, title,nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
3768 snprintf(name, buffersize,
"hPerpPtLeadingPt_Cone_%d",icone);
3769 snprintf(title, buffersize,
"#it{p}_{T} in isolation cone for #it{R} = %2.2f",
fConeSizes[icone]);
3770 fhPerpPtLeadingPt[icone] =
new TH2F(name, title, nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3779 snprintf(name , buffersize,
"hSumPtLeadingPt_MC%s_Cone_%d",mcPartName[imc].Data(),icone);
3780 snprintf(title, buffersize,
"Candidate %s #it{p}_{T} vs cone #Sigma #it{p}_{T} for #it{R}=%2.2f",mcPartType[imc].Data(),
fConeSizes[icone]);
3781 fhSumPtLeadingPtMC[imc][icone] =
new TH2F(name, title,nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
3790 snprintf(name, buffersize,
"hPtThres_Cone_%d_Pt%d",icone,ipt);
3791 snprintf(title, buffersize,
"Isolated candidate #it{p}_{T} distribution for #it{R} = %2.2f and #it{p}_{T}^{th} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fPtThresholds[ipt]);
3796 snprintf(name, buffersize,
"hPtFrac_Cone_%d_Pt%d",icone,ipt);
3797 snprintf(title, buffersize,
"Isolated candidate #it{p}_{T} distribution for #it{R} = %2.2f and #it{p}_{T}^{fr} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fPtFractions[ipt]);
3802 snprintf(name, buffersize,
"hSumPt_Cone_%d_Pt%d",icone,ipt);
3803 snprintf(title, buffersize,
"Isolated candidate #it{p}_{T} distribution for #it{R} = %2.2f and #it{p}_{T}^{sum} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fSumPtThresholds[ipt]);
3804 fhSumPtIsolated[icone][ipt] =
new TH1F(name, title,nptbins,ptmin,ptmax);
3809 snprintf(name, buffersize,
"hPtSumDensity_Cone_%d_Pt%d",icone,ipt);
3810 snprintf(title, buffersize,
"Isolated candidate #it{p}_{T} distribution for density in #it{R} = %2.2f and #it{p}_{T}^{sum} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fSumPtThresholds[ipt]);
3816 snprintf(name, buffersize,
"hPtFracPtSum_Cone_%d_Pt%d",icone,ipt);
3817 snprintf(title, buffersize,
"Isolated candidate #it{p}_{T} distribution for PtFracPtSum in #it{R} = %2.2f and #it{p}_{T}^{fr} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fPtFractions[ipt]);
3824 snprintf(name, buffersize,
"hEtaPhiPtThres_Cone_%d_Pt%d",icone,ipt);
3825 snprintf(title, buffersize,
"Isolated candidate #eta:#phi distribution for #it{R} = %2.2f and #it{p}_{T}^{th} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fPtThresholds[ipt]);
3826 fhEtaPhiPtThresIso[icone][ipt] =
new TH2F(name, title,netabins,etamin,etamax,nphibins,phimin,phimax);
3831 snprintf(name, buffersize,
"hEtaPhiPtFrac_Cone_%d_Pt%d",icone,ipt);
3832 snprintf(title, buffersize,
"Isolated candidate #eta:#phi distribution for #it{R} = %2.2f and #it{p}_{T}^{fr} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fPtFractions[ipt]);
3833 fhEtaPhiPtFracIso[icone][ipt] =
new TH2F(name, title,netabins,etamin,etamax,nphibins,phimin,phimax);
3838 snprintf(name, buffersize,
"hEtaPhiPtSum_Cone_%d_Pt%d",icone,ipt);
3839 snprintf(title, buffersize,
"Isolated candidate #eta:#phi distribution for #it{R} = %2.2f and #it{p}_{T}^{sum} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fSumPtThresholds[ipt]);
3840 fhEtaPhiPtSumIso[icone][ipt] =
new TH2F(name, title,netabins,etamin,etamax,nphibins,phimin,phimax);
3845 snprintf(name, buffersize,
"hEtaPhiSumDensity_Cone_%d_Pt%d",icone,ipt);
3846 snprintf(title, buffersize,
"Isolated candidate #eta:#phi distribution for density #it{R} = %2.2f and #it{p}_{T}^{sum} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fSumPtThresholds[ipt]);
3847 fhEtaPhiSumDensityIso[icone][ipt] =
new TH2F(name, title,netabins,etamin,etamax,nphibins,phimin,phimax);
3852 snprintf(name, buffersize,
"hEtaPhiFracPtSum_Cone_%d_Pt%d",icone,ipt);
3853 snprintf(title, buffersize,
"Isolated candidate #eta:#phi distribution for FracPtSum #it{R} = %2.2f and #it{p}_{T}^{fr} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fPtFractions[ipt]);
3854 fhEtaPhiFracPtSumIso[icone][ipt] =
new TH2F(name, title,netabins,etamin,etamax,nphibins,phimin,phimax);
3862 snprintf(name, buffersize,
"hPtThres_Decay_Cone_%d_Pt%d",icone,ipt);
3863 snprintf(title, buffersize,
"Isolated decay candidate #it{p}_{T} distribution for #it{R} = %2.2f and #it{p}_{T}^{th} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fPtThresholds[ipt]);
3868 snprintf(name, buffersize,
"hPtFrac_Decay_Cone_%d_Pt%d",icone,ipt);
3869 snprintf(title, buffersize,
"Isolated decay candidate #it{p}_{T} distribution for #it{R} = %2.2f and #it{p}_{T}^{fr} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fPtFractions[ipt]);
3874 snprintf(name, buffersize,
"hPtSum_Decay_Cone_%d_Pt%d",icone,ipt);
3875 snprintf(title, buffersize,
"Isolated decay candidate #it{p}_{T} distribution for #it{R} = %2.2f and #it{p}_{T}^{sum} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fSumPtThresholds[ipt]);
3881 snprintf(name, buffersize,
"hPtSumDensity_Decay_Cone_%d_Pt%d",icone,ipt);
3882 snprintf(title, buffersize,
"Isolated decay candidate #it{p}_{T} distribution for density in #it{R} = %2.2f and #it{p}_{T}^{sum} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fSumPtThresholds[ipt]);
3888 snprintf(name, buffersize,
"hPtFracPtSum_Decay_Cone_%d_Pt%d",icone,ipt);
3889 snprintf(title, buffersize,
"Isolated decay candidate #it{p}_{T} distribution for PtFracPtSum in #it{R} = %2.2f and #it{p}_{T}^{fr} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fPtFractions[ipt]);
3896 snprintf(name, buffersize,
"hEtaPhiPtThres_Decay_Cone_%d_Pt%d",icone,ipt);
3897 snprintf(title, buffersize,
"Isolated decay candidate #eta:#phi distribution for #it{R} = %2.2f and #it{p}_{T}^{th} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fPtThresholds[ipt]);
3903 snprintf(name, buffersize,
"hEtaPhiPtFrac_Decay_Cone_%d_Pt%d",icone,ipt);
3904 snprintf(title, buffersize,
"Isolated decay candidate #eta:#phi distribution for #it{R} = %2.2f and #it{p}_{T}^{fr} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fPtFractions[ipt]);
3905 fhEtaPhiPtFracDecayIso[icone][ipt] =
new TH2F(name, title,netabins,etamin,etamax,nphibins,phimin,phimax);
3911 snprintf(name, buffersize,
"hEtaPhiPtSum_Decay_Cone_%d_Pt%d",icone,ipt);
3912 snprintf(title, buffersize,
"Isolated decay candidate #eta:#phi distribution for #it{R} = %2.2f and #it{p}_{T}^{sum} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fSumPtThresholds[ipt]);
3913 fhEtaPhiPtSumDecayIso[icone][ipt] =
new TH2F(name, title,netabins,etamin,etamax,nphibins,phimin,phimax);
3918 snprintf(name, buffersize,
"hEtaPhiSumDensity_Decay_Cone_%d_Pt%d",icone,ipt);
3919 snprintf(title, buffersize,
"Isolated decay candidate #eta:#phi distribution for density #it{R} = %2.2f and #it{p}_{T}^{sum} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fSumPtThresholds[ipt]);
3925 snprintf(name, buffersize,
"hEtaPhiFracPtSum_Decay_Cone_%d_Pt%d",icone,ipt);
3926 snprintf(title, buffersize,
"Isolated decay candidate #eta:#phi distribution for FracPtSum #it{R} = %2.2f and #it{p}_{T}^{fr} = %2.2f GeV/#it{c}",
fConeSizes[icone],
fPtFractions[ipt]);
3938 snprintf(name , buffersize,
"hPtThreshMC%s_Cone_%d_Pt%d",mcPartName[imc].Data(),icone,ipt);
3939 snprintf(title, buffersize,
"Isolated %s #it{p}_{T} for #it{R}=%2.2f and #it{p}_{T}^{th}=%2.2f",
3947 snprintf(name , buffersize,
"hPtFracMC%s_Cone_%d_Pt%d",mcPartName[imc].Data(),icone,ipt);
3948 snprintf(title, buffersize,
"Isolated %s #it{p}_{T} for #it{R}=%2.2f and #Sigma #it{p}_{T}^{in cone}/#it{p}_{T}^{trig}=%2.2f",
3955 snprintf(name , buffersize,
"hSumPtMC%s_Cone_%d_Pt%d",mcPartName[imc].Data(),icone,ipt);
3956 snprintf(title, buffersize,
"Isolated %s #it{p}_{T} for #it{R}=%2.2f and #Sigma #it{p}_{T}^{in cone}=%2.2f",
3970 for (Int_t i = 0; i < 7 ; i++)
3972 fhEIsoPileUp[i] =
new TH1F(Form(
"hEPileUp%s",pileUpName[i].Data()),
3973 Form(
"Number of isolated particles vs E, %s, pile-up event by %s",parTitle.Data(),pileUpName[i].Data()),
3974 nptbins,ptmin,ptmax);
3979 fhPtIsoPileUp[i] =
new TH1F(Form(
"hPtPileUp%s",pileUpName[i].Data()),
3980 Form(
"Number of isolated particles vs #it{p}_{T}, %s, pile-up event by %s",parTitle.Data(),pileUpName[i].Data()),
3981 nptbins,ptmin,ptmax);
3986 fhENoIsoPileUp[i] =
new TH1F(Form(
"hENoIsoPileUp%s",pileUpName[i].Data()),
3987 Form(
"Number of not isolated particles vs E, %s, pile-up event by %s",parTitle.Data(),pileUpName[i].Data()),
3988 nptbins,ptmin,ptmax);
3993 fhPtNoIsoPileUp[i] =
new TH1F(Form(
"hPtNoIsoPileUp%s",pileUpName[i].Data()),
3994 Form(
"Number of not isolated particles vs #it{p}_{T}, %s, pile-up event by %s",parTitle.Data(),pileUpName[i].Data()),
3995 nptbins,ptmin,ptmax);
4001 fhTimeENoCut =
new TH2F (
"hTimeE_NoCut",
"time of cluster vs E of clusters, no cut", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
4006 fhTimeESPD =
new TH2F (
"hTimeE_SPD",
"time of cluster vs E of clusters, SPD cut", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
4011 fhTimeESPDMulti =
new TH2F (
"hTimeE_SPDMulti",
"time of cluster vs E of clusters, SPD multi cut", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
4016 fhTimeNPileUpVertSPD =
new TH2F (
"hTime_NPileUpVertSPD",
"time of cluster vs N pile-up SPD vertex", ntimebins,timemin,timemax,50,0,50);
4021 fhTimeNPileUpVertTrack =
new TH2F (
"hTime_NPileUpVertTracks",
"time of cluster vs N pile-up Tracks vertex", ntimebins,timemin,timemax, 50,0,50 );
4026 fhTimeNPileUpVertContributors =
new TH2F (
"hTime_NPileUpVertContributors",
"time of cluster vs N constributors to pile-up SPD vertex", ntimebins,timemin,timemax,50,0,50);
4031 fhTimePileUpMainVertexZDistance =
new TH2F (
"hTime_PileUpMainVertexZDistance",
"time of cluster vs distance in Z pile-up SPD vertex - main SPD vertex",ntimebins,timemin,timemax,100,0,50);
4036 fhTimePileUpMainVertexZDiamond =
new TH2F (
"hTime_PileUpMainVertexZDiamond",
"time of cluster vs distance in Z pile-up SPD vertex - z diamond",ntimebins,timemin,timemax,100,0,50);
4042 return outputContainer ;
4102 AliInfo(
"Open default isolation cuts for multiple Isolation analysis");
4109 AliFatal(
"STOP!: You want to use CTS tracks in analysis but not read!! \n!!Check the configuration file!!");
4172 Double_t phiTrig = 0 ;
4174 AliAODPWG4ParticleCorrelation* pLeading = 0;
4180 AliAODPWG4ParticleCorrelation* particle = (AliAODPWG4ParticleCorrelation*) (
GetInputAODBranch()->At(iaod));
4181 particle->SetLeadingParticle(kFALSE);
4187 if(check == 0)
continue;
4188 if(check == -1)
return kFALSE;
4200 if (particle->Pt() > ptTrig)
4202 ptTrig = particle->Pt() ;
4203 phiTrig = particle->Phi();
4205 pLeading = particle ;
4209 if(index < 0)
return kFALSE;
4215 if(phiTrig < 0 ) phiTrig += TMath::TwoPi();
4219 for(Int_t ipr = 0;ipr <
GetCTSTracks()->GetEntriesFast() ; ipr ++ )
4221 AliVTrack * track = (AliVTrack *) (
GetCTSTracks()->At(ipr)) ;
4223 if(track->GetID() == pLeading->GetTrackLabel(0) || track->GetID() == pLeading->GetTrackLabel(1) ||
4224 track->GetID() == pLeading->GetTrackLabel(2) || track->GetID() == pLeading->GetTrackLabel(3) )
continue ;
4226 fTrackVector.SetXYZ(track->Px(),track->Py(),track->Pz());
4229 if(phi < 0) phi+=TMath::TwoPi();
4233 Float_t deltaPhi = phiTrig-phi;
4239 if(deltaPhi <= -TMath::PiOver2()) deltaPhi+=TMath::TwoPi();
4240 if(deltaPhi > 3*TMath::PiOver2()) deltaPhi-=TMath::TwoPi();
4242 if(pt > ptTrig && deltaPhi < TMath::PiOver2())
return kFALSE;
4251 TObjArray * nePl = 0x0;
4252 if (pLeading->GetDetectorTag() ==
kPHOS )
4257 if(!nePl)
return kTRUE;
4259 for(Int_t ipr = 0;ipr < nePl->GetEntriesFast() ; ipr ++ )
4261 AliVCluster * cluster = (AliVCluster *) (nePl->At(ipr)) ;
4263 if(cluster->GetID() == pLeading->GetCaloLabel(0) || cluster->GetID() == pLeading->GetCaloLabel(1) )
continue ;
4269 if(phi < 0) phi+=TMath::TwoPi();
4276 Float_t deltaPhi = phiTrig-phi;
4277 if(deltaPhi <= -TMath::PiOver2()) deltaPhi+=TMath::TwoPi();
4278 if(deltaPhi > 3*TMath::PiOver2()) deltaPhi-=TMath::TwoPi();
4280 if(pt > ptTrig && deltaPhi < TMath::PiOver2())
return kFALSE ;
4286 pLeading->SetLeadingParticle(kTRUE);
4288 AliDebug(1,Form(
"Particle AOD with index %d is leading with pT %2.2f",idLeading, pLeading->Pt()));
4301 AliFatal(Form(
"No input particles in AOD with name branch < %s >, STOP",
GetInputAODName().Data()));
4303 if(strcmp(
GetInputAODBranch()->GetClass()->GetName(),
"AliAODPWG4ParticleCorrelation"))
4304 AliFatal(Form(
"Wrong type of AOD object, change AOD class name in input AOD: It should be <AliAODPWG4ParticleCorrelation> and not <%s>",
4307 Int_t n = 0, nfrac = 0;
4308 Bool_t isolated = kFALSE ;
4309 Float_t coneptsum = 0, coneptlead = 0;
4310 TObjArray * pl = 0x0; ;
4319 Int_t idLeading = -1 ;
4323 AliDebug(1,Form(
"Input aod branch entries %d", naod));
4330 AliDebug(1,
"Not leading; End fill AODs");
4339 for(Int_t iaod = iaod0; iaod < naod; iaod++)
4341 AliAODPWG4ParticleCorrelation * aodinput = (AliAODPWG4ParticleCorrelation*) (
GetInputAODBranch()->At(iaod));
4348 if(! in ) continue ;
4352 Float_t pt = aodinput->Pt();
4364 n=0; nfrac = 0; isolated = kFALSE; coneptsum = 0; coneptlead = 0;
4368 n,nfrac,coneptsum,coneptlead,isolated);
4372 AliDebug(1,Form(
"Particle isolated? %i; if so with index %d",isolated,iaod));
4388 AliDebug(1,Form(
"Histo aod branch entries %d", naod));
4390 for(Int_t iaod = 0; iaod < naod ; iaod++)
4392 AliAODPWG4ParticleCorrelation* aod = (AliAODPWG4ParticleCorrelation*) (
GetInputAODBranch()->At(iaod));
4400 if(! in ) continue ;
4403 Float_t pt = aod->Pt();
4408 Int_t mcTag = aod->GetTag() ;
4425 Bool_t isolated = kFALSE;
4426 Int_t n = 0, nfrac = 0;
4427 Float_t coneptsum = 0, coneptlead = 0;
4436 n,nfrac,coneptsum,coneptlead,isolated);
4439 Bool_t isolated = aod->IsIsolated();
4440 Float_t energy = aod->E();
4441 Float_t phi = aod->Phi();
4442 Float_t eta = aod->Eta();
4443 Float_t m02 = aod->GetM02();
4445 AliDebug(1,Form(
"pt %1.1f, eta %1.1f, phi %1.1f, Isolated %d",pt, eta, phi, isolated));
4455 Int_t pdg = 0, status = 0, momLabel = -1;
4456 Int_t pdgD = 0, statusD = 0, daugLabel = -1;
4457 Bool_t ok = kFALSE, okD = kFALSE;
4489 Float_t coneptLeadCluster= 0;
4490 Float_t coneptLeadTrack = 0;
4491 Float_t coneptsumCluster = 0;
4492 Float_t coneptsumTrack = 0;
4493 Float_t coneptsumCell = 0;
4494 Float_t etaBandptsumClusterNorm = 0;
4495 Float_t etaBandptsumTrackNorm = 0;
4521 Float_t coneptLead = coneptLeadTrack;
4522 if(coneptLeadCluster > coneptLeadTrack) coneptLead = coneptLeadCluster;
4525 AliDebug(1,Form(
"Particle %d Energy Sum in Isolation Cone %2.2f, Leading pT in cone %2.2f",
4526 iaod, coneptsumTrack+coneptsumCluster, coneptLead));
4547 AliDebug(1,Form(
"Particle %d ISOLATED: fill histograms", iaod));
4613 AliDebug(1,Form(
"Particle %d NOT ISOLATED, fill histograms", iaod));
4662 AliDebug(1,
"Start");
4665 Double_t photonE = -1 ;
4666 Double_t photonPt = -1 ;
4667 Double_t photonPhi = 100 ;
4668 Double_t photonEta = -1 ;
4676 TParticle * primStack = 0;
4677 AliAODMCParticle * primAOD = 0;
4681 Float_t overlapAngle = 0;
4682 Float_t minECalo = 0;
4695 AliStack * stack = 0;
4700 nprim = stack->GetNtrack();
4704 TClonesArray * mcparticles = 0;
4708 if( !mcparticles )
return;
4709 nprim = mcparticles->GetEntriesFast();
4712 for(Int_t i=0 ; i < nprim; i++)
4714 if(
GetReader()->AcceptOnlyHIJINGLabels() && !
GetReader()->IsHIJINGLabel(i)) continue ;
4718 primStack = stack->Particle(i) ;
4721 AliWarning(
"ESD primaries pointer not available!!");
4725 pdg = primStack->GetPdgCode();
4726 status = primStack->GetStatusCode();
4728 if(primStack->Energy() == TMath::Abs(primStack->Pz())) continue ;
4740 primAOD = (AliAODMCParticle *) mcparticles->At(i);
4743 AliWarning(
"AOD primaries pointer not available!!");
4747 pdg = primAOD->GetPdgCode();
4748 status = primAOD->GetStatus();
4750 if(primAOD->E() == TMath::Abs(primAOD->Pz())) continue ;
4755 fMomentum.SetPxPyPzE(primAOD->Px(),primAOD->Py(),primAOD->Pz(),primAOD->E());
4759 if(pdg != 22 && pdg!=111 && pdg !=221) continue ;
4764 if( pdg == 22 && status != 1 &&
4776 if(photonPhi < 0) photonPhi+=TMath::TwoPi();