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 fFillTaggedDecayHistograms(0), fNDecayBits(0),
60 fDecayBits(), fDecayTagsM02Cut(0),
61 fFillNLMHistograms(0),
62 fLeadingOnly(0), fCheckLeadingWithNeutralClusters(0),
63 fSelectPrimariesInCone(0), fMakePrimaryPi0DecayStudy(0),
64 fFillBackgroundBinHistograms(0), fNBkgBin(0),
65 fFillPtTrigBinHistograms(0), fNPtTrigBin(0),
66 fMinCellsAngleOverlap(0),
68 fNCones(0), fNPtThresFrac(0),
69 fConeSizes(), fPtThresholds(),
70 fPtFractions(), fSumPtThresholds(),
71 fMomentum(), fMomIso(),
72 fMomDaugh1(), fMomDaugh2(),
75 fhEIso(0), fhPtIso(0),
76 fhPtCentralityIso(0), fhPtEventPlaneIso(0),
78 fhPhiIso(0), fhEtaIso(0), fhEtaPhiIso(0),
80 fhENoIso(0), fhPtNoIso(0), fhPtNLocMaxNoIso(0),
82 fhPtClusterInCone(0), fhPtCellInCone(0), fhPtTrackInCone(0),
83 fhPtTrackInConeOtherBC(0), fhPtTrackInConeOtherBCPileUpSPD(0),
84 fhPtTrackInConeBC0(0), fhPtTrackInConeVtxBC0(0),
85 fhPtTrackInConeBC0PileUpSPD(0),
86 fhPtInConePileUp(), fhPtInConeCent(0),
87 fhPerpConeSumPt(0), fhPtInPerpCone(0),
88 fhEtaPhiInConeCluster(0), fhEtaPhiCluster(0),
89 fhEtaPhiInConeTrack(0), fhEtaPhiTrack(0),
90 fhEtaBandCluster(0), fhPhiBandCluster(0),
91 fhEtaBandTrack(0), fhPhiBandTrack(0),
92 fhEtaBandCell(0), fhPhiBandCell(0),
93 fhConePtLead(0), fhConePtLeadCluster(0), fhConePtLeadTrack(0),
94 fhConePtLeadClustervsTrack(0), fhConePtLeadClusterTrackFrac(0),
95 fhConeSumPt(0), fhConeSumPtCellTrack(0),
96 fhConeSumPtCell(0), fhConeSumPtCluster(0), fhConeSumPtTrack(0),
97 fhConeSumPtEtaBandUECluster(0), fhConeSumPtPhiBandUECluster(0),
98 fhConeSumPtEtaBandUETrack(0), fhConeSumPtPhiBandUETrack(0),
99 fhConeSumPtEtaBandUECell(0), fhConeSumPtPhiBandUECell(0),
100 fhConeSumPtTrigEtaPhi(0),
101 fhConeSumPtCellTrackTrigEtaPhi(0),
102 fhConeSumPtEtaBandUEClusterTrigEtaPhi(0), fhConeSumPtPhiBandUEClusterTrigEtaPhi(0),
103 fhConeSumPtEtaBandUETrackTrigEtaPhi(0), fhConeSumPtPhiBandUETrackTrigEtaPhi(0),
104 fhConeSumPtEtaBandUECellTrigEtaPhi(0), fhConeSumPtPhiBandUECellTrigEtaPhi(0),
105 fhConeSumPtEtaUESub(0), fhConeSumPtPhiUESub(0),
106 fhConeSumPtEtaUESubTrigEtaPhi(0), fhConeSumPtPhiUESubTrigEtaPhi(0),
107 fhConeSumPtEtaUESubTrackCell(0), fhConeSumPtPhiUESubTrackCell(0),
108 fhConeSumPtEtaUESubTrackCellTrigEtaPhi(0), fhConeSumPtPhiUESubTrackCellTrigEtaPhi(0),
109 fhConeSumPtEtaUESubCluster(0), fhConeSumPtPhiUESubCluster(0),
110 fhConeSumPtEtaUESubClusterTrigEtaPhi(0), fhConeSumPtPhiUESubClusterTrigEtaPhi(0),
111 fhConeSumPtEtaUESubCell(0), fhConeSumPtPhiUESubCell(0),
112 fhConeSumPtEtaUESubCellTrigEtaPhi(0), fhConeSumPtPhiUESubCellTrigEtaPhi(0),
113 fhConeSumPtEtaUESubTrack(0), fhConeSumPtPhiUESubTrack(0),
114 fhConeSumPtEtaUESubTrackTrigEtaPhi(0), fhConeSumPtPhiUESubTrackTrigEtaPhi(0),
115 fhFractionTrackOutConeEta(0), fhFractionTrackOutConeEtaTrigEtaPhi(0),
116 fhFractionClusterOutConeEta(0), fhFractionClusterOutConeEtaTrigEtaPhi(0),
117 fhFractionClusterOutConePhi(0), fhFractionClusterOutConePhiTrigEtaPhi(0),
118 fhFractionCellOutConeEta(0), fhFractionCellOutConeEtaTrigEtaPhi(0),
119 fhFractionCellOutConePhi(0), fhFractionCellOutConePhiTrigEtaPhi(0),
120 fhConeSumPtClustervsTrack(0), fhConeSumPtClusterTrackFrac(0),
121 fhConeSumPtEtaUESubClustervsTrack(0), fhConeSumPtPhiUESubClustervsTrack(0),
122 fhConeSumPtCellvsTrack(0),
123 fhConeSumPtEtaUESubCellvsTrack(0), fhConeSumPtPhiUESubCellvsTrack(0),
124 fhEtaBandClustervsTrack(0), fhPhiBandClustervsTrack(0),
125 fhEtaBandNormClustervsTrack(0), fhPhiBandNormClustervsTrack(0),
126 fhEtaBandCellvsTrack(0), fhPhiBandCellvsTrack(0),
127 fhEtaBandNormCellvsTrack(0), fhPhiBandNormCellvsTrack(0),
128 fhConeSumPtSubvsConeSumPtTotPhiTrack(0), fhConeSumPtSubNormvsConeSumPtTotPhiTrack(0),
129 fhConeSumPtSubvsConeSumPtTotEtaTrack(0), fhConeSumPtSubNormvsConeSumPtTotEtaTrack(0),
130 fhConeSumPtSubvsConeSumPtTotPhiCluster(0), fhConeSumPtSubNormvsConeSumPtTotPhiCluster(0),
131 fhConeSumPtSubvsConeSumPtTotEtaCluster(0), fhConeSumPtSubNormvsConeSumPtTotEtaCluster(0),
132 fhConeSumPtSubvsConeSumPtTotPhiCell(0), fhConeSumPtSubNormvsConeSumPtTotPhiCell(0),
133 fhConeSumPtSubvsConeSumPtTotEtaCell(0), fhConeSumPtSubNormvsConeSumPtTotEtaCell(0),
134 fhConeSumPtVSUETracksEtaBand(0), fhConeSumPtVSUETracksPhiBand(0),
135 fhConeSumPtVSUEClusterEtaBand(0), fhConeSumPtVSUEClusterPhiBand(0),
136 fhPtPrimMCPi0DecayPairOutOfCone(0),
137 fhPtPrimMCPi0DecayPairOutOfAcceptance(0),
138 fhPtPrimMCPi0DecayPairOutOfAcceptanceNoOverlap(0),
139 fhPtPrimMCPi0DecayPairAcceptInConeLowPt(0),
140 fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlap(0),
141 fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlapCaloE(0),
142 fhPtPrimMCPi0DecayPairNoOverlap(0),
143 fhPtPrimMCPi0DecayIsoPairOutOfCone(0),
144 fhPtPrimMCPi0DecayIsoPairOutOfAcceptance(0),
145 fhPtPrimMCPi0DecayIsoPairOutOfAcceptanceNoOverlap(0),
146 fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPt(0),
147 fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlap(0),
148 fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlapCaloE(0),
149 fhPtPrimMCPi0DecayIsoPairNoOverlap(0),
150 fhPtPrimMCPi0Overlap(0), fhPtPrimMCPi0IsoOverlap(0),
151 fhPtPrimMCEtaDecayPairOutOfCone(0),
152 fhPtPrimMCEtaDecayPairOutOfAcceptance(0),
153 fhPtPrimMCEtaDecayPairOutOfAcceptanceNoOverlap(0),
154 fhPtPrimMCEtaDecayPairAcceptInConeLowPt(0),
155 fhPtPrimMCEtaDecayPairAcceptInConeLowPtNoOverlap(0),
156 fhPtPrimMCEtaDecayPairAcceptInConeLowPtNoOverlapCaloE(0),
157 fhPtPrimMCEtaDecayPairNoOverlap(0),
158 fhPtPrimMCEtaDecayIsoPairOutOfCone(0),
159 fhPtPrimMCEtaDecayIsoPairOutOfAcceptance(0),
160 fhPtPrimMCEtaDecayIsoPairOutOfAcceptanceNoOverlap(0),
161 fhPtPrimMCEtaDecayIsoPairAcceptInConeLowPt(0),
162 fhPtPrimMCEtaDecayIsoPairAcceptInConeLowPtNoOverlap(0),
163 fhPtPrimMCEtaDecayIsoPairAcceptInConeLowPtNoOverlapCaloE(0),
164 fhPtPrimMCEtaDecayIsoPairNoOverlap(0),
165 fhPtPrimMCEtaOverlap(0), fhPtPrimMCEtaIsoOverlap(0),
166 fhPtLeadConeBin(0), fhSumPtConeBin(0),
167 fhPtLeadConeBinMC(0), fhSumPtConeBinMC(0),
168 fhPtLeadConeBinDecay(0), fhSumPtConeBinDecay(0),
169 fhPtLeadConeBinLambda0(0), fhSumPtConeBinLambda0(0),
170 fhPtLeadConeBinLambda0MC(0), fhSumPtConeBinLambda0MC(0),
171 fhPtTrigBinPtLeadCone(0), fhPtTrigBinSumPtCone(0),
172 fhPtTrigBinPtLeadConeMC(0), fhPtTrigBinSumPtConeMC(0),
173 fhPtTrigBinPtLeadConeDecay(0), fhPtTrigBinSumPtConeDecay(0),
174 fhPtTrigBinLambda0vsPtLeadCone(0), fhPtTrigBinLambda0vsSumPtCone(0),
175 fhPtTrigBinLambda0vsPtLeadConeMC(0), fhPtTrigBinLambda0vsSumPtConeMC(0),
178 fhELambda0LocMax1(), fhELambda1LocMax1(),
179 fhELambda0LocMax2(), fhELambda1LocMax2(),
180 fhELambda0LocMaxN(), fhELambda1LocMaxN(),
182 fhEIsoPileUp(), fhPtIsoPileUp(),
183 fhENoIsoPileUp(), fhPtNoIsoPileUp(),
184 fhTimeENoCut(0), fhTimeESPD(0), fhTimeESPDMulti(0),
185 fhTimeNPileUpVertSPD(0), fhTimeNPileUpVertTrack(0),
186 fhTimeNPileUpVertContributors(0),
187 fhTimePileUpMainVertexZDistance(0), fhTimePileUpMainVertexZDiamond(0)
191 for(Int_t i = 0; i < 5 ; i++)
198 for(Int_t j = 0; j < 5 ; j++)
233 for(Int_t iso =0; iso < 2; iso++)
243 for(Int_t i = 0; i < 5 ; i++)
265 for(Int_t i = 0; i < 2 ; i++)
291 for(Int_t i = 0 ; i < 7 ; i++)
305 Float_t & etaBandPtSum, Float_t & phiBandPtSum)
312 TObjArray * pl = 0x0;
321 Double_t vertex[] = {0,0,0} ;
325 Float_t ptTrig = pCandidate->Pt() ;
326 Float_t phiTrig = pCandidate->Phi();
327 Float_t etaTrig = pCandidate->Eta();
329 for(Int_t icluster=0; icluster < pl->GetEntriesFast(); icluster++)
331 AliVCluster* cluster = (AliVCluster *) pl->At(icluster);
335 AliWarning(
"Cluster not available?");
340 if(cluster->GetID() == pCandidate->GetCaloLabel(0) ||
341 cluster->GetID() == pCandidate->GetCaloLabel(1) )
continue ;
387 Float_t & etaBandPtSumCells, Float_t & phiBandPtSumCells)
393 Float_t phiTrig = pCandidate->Phi();
394 if(phiTrig<0) phiTrig += TMath::TwoPi();
396 Float_t etaTrig = pCandidate->Eta();
398 if(pCandidate->GetDetectorTag()==
kEMCAL)
400 AliEMCALGeometry* eGeom = AliEMCALGeometry::GetInstance();
403 if (eGeom->GetAbsCellIdFromEtaPhi(etaTrig,phiTrig,absId))
405 if(!eGeom->CheckAbsCellId(absId))
return ;
408 Int_t nSupMod = eGeom->GetSuperModuleNumber(absId);
410 Int_t imEta=-1, imPhi=-1;
411 Int_t ieta =-1, iphi =-1;
413 if (eGeom->GetCellIndex(absId,nSupMod,nModule,imPhi,imEta))
415 eGeom->GetCellPhiEtaIndexInSModule(nSupMod,nModule,imPhi,imEta,iphi,ieta);
417 Int_t colTrig = ieta;
418 if (nSupMod % 2) colTrig = AliEMCALGeoParams::fgkEMCALCols + ieta ;
420 Int_t rowTrig = iphi + AliEMCALGeoParams::fgkEMCALRows*int(nSupMod/2);
422 Int_t sqrSize = int(conesize/0.0143);
426 Int_t nTotalRows = AliEMCALGeoParams::fgkEMCALRows*16/3 ;
427 Int_t nTotalCols = 2*AliEMCALGeoParams::fgkEMCALCols;
431 Int_t irowmin = rowTrig-sqrSize;
432 if ( irowmin < 0 ) irowmin = 0 ;
434 Int_t irowmax = rowTrig+sqrSize;
435 if ( irowmax > AliEMCALGeoParams::fgkEMCALRows ) irowmax = AliEMCALGeoParams::fgkEMCALRows;
437 for(Int_t irow = irowmin; irow <irowmax; irow++)
439 for(Int_t icol = 0; icol < nTotalCols; icol++)
441 Int_t inSector = int(irow/AliEMCALGeoParams::fgkEMCALRows);
442 if(inSector==5)
continue;
445 if(icol < AliEMCALGeoParams::fgkEMCALCols)
447 inSupMod = 2*inSector + 1;
450 else if(icol > AliEMCALGeoParams::fgkEMCALCols - 1)
452 inSupMod = 2*inSector;
453 icolLoc = icol-AliEMCALGeoParams::fgkEMCALCols;
456 Int_t irowLoc = irow - AliEMCALGeoParams::fgkEMCALRows*inSector ;
459 if(TMath::Abs(icol-colTrig) < sqrSize || TMath::Abs(irow-rowTrig) < sqrSize){
463 Int_t iabsId = eGeom->GetAbsCellIdFromCellIndexes(inSupMod,irowLoc,icolLoc);
464 if(!eGeom->CheckAbsCellId(iabsId))
continue;
466 etaBandPtSumCells += cells->GetCellAmplitude(iabsId);
474 Int_t icolmin = colTrig-sqrSize;
475 if ( icolmin < 0 ) icolmin = 0;
477 Int_t icolmax = colTrig+sqrSize;
478 if ( icolmax > AliEMCALGeoParams::fgkEMCALCols ) icolmax = AliEMCALGeoParams::fgkEMCALCols;
481 for(Int_t icol = icolmin; icol < icolmax; icol++)
483 for(Int_t irow = 0; irow < nTotalRows; irow++)
485 Int_t inSector = int(irow/AliEMCALGeoParams::fgkEMCALRows);
486 if ( inSector == 5 ) continue ;
492 if(icol < AliEMCALGeoParams::fgkEMCALCols)
495 inSupMod = 2*inSector + 1;
498 else if(icol > AliEMCALGeoParams::fgkEMCALCols - 1)
501 inSupMod = 2*inSector;
502 icolLoc = icol-AliEMCALGeoParams::fgkEMCALCols;
505 Int_t irowLoc = irow - AliEMCALGeoParams::fgkEMCALRows*inSector ;
508 if(TMath::Abs(icol-colTrig) < sqrSize) {
511 if(TMath::Abs(irow-rowTrig) < sqrSize) {
515 Int_t iabsId = eGeom->GetAbsCellIdFromCellIndexes(inSupMod,irowLoc,icolLoc);
516 if(!eGeom->CheckAbsCellId(iabsId))
518 AliWarning(Form(
"!eGeom->CheckAbsCellId(iabsId=%i) inSupMod %i irowLoc %i icolLoc %i",iabsId,inSupMod, irowLoc, icolLoc));
522 phiBandPtSumCells += cells->GetCellAmplitude(iabsId);
532 Float_t ptTrig = pCandidate->Pt();
544 Float_t & etaBandPtSum, Float_t & phiBandPtSum)
550 Double_t sumptPerp= 0. ;
551 Float_t ptTrig = pCandidate->Pt() ;
552 Float_t phiTrig = pCandidate->Phi();
553 Float_t etaTrig = pCandidate->Eta();
556 for(Int_t itrack=0; itrack < trackList->GetEntriesFast(); itrack++)
558 AliVTrack* track = (AliVTrack *) trackList->At(itrack);
562 AliWarning(
"Track not available?");
567 if(track->GetID() == pCandidate->GetTrackLabel(0) || track->GetID() == pCandidate->GetTrackLabel(1) ||
568 track->GetID() == pCandidate->GetTrackLabel(2) || track->GetID() == pCandidate->GetTrackLabel(3) )
continue ;
583 if(track->Eta() > (etaTrig-conesize) && track->Eta() < (etaTrig+conesize))
585 phiBandPtSum+=track->Pt();
590 if(track->Phi() > (phiTrig-conesize) && track->Phi() < (phiTrig+conesize))
592 etaBandPtSum+=track->Pt();
597 Double_t pTrack = TMath::Sqrt(track->Px()*track->Px()+track->Py()*track->Py());
598 Double_t dPhi = phiTrig - track->Phi() + TMath::PiOver2();
599 Double_t dEta = etaTrig - track->Eta();
600 Double_t arg = dPhi*dPhi + dEta*dEta;
602 if(TMath::Sqrt(arg) < conesize)
605 sumptPerp+=track->Pt();
608 dPhi = phiTrig - track->Phi() - TMath::PiOver2();
609 arg = dPhi*dPhi + dEta*dEta;
611 if(TMath::Sqrt(arg) < conesize)
614 sumptPerp+=track->Pt();
629 Float_t coneptsumCell, Float_t coneptsumTrack,
630 Float_t &etaBandptsumTrackNorm, Float_t &etaBandptsumClusterNorm)
632 Float_t etaUEptsumTrack = 0 ;
633 Float_t phiUEptsumTrack = 0 ;
634 Float_t etaUEptsumCluster = 0 ;
635 Float_t phiUEptsumCluster = 0 ;
636 Float_t etaUEptsumCell = 0 ;
637 Float_t phiUEptsumCell = 0 ;
644 Float_t coneA = conesize*conesize*TMath::Pi();
645 Float_t ptTrig = pCandidate->Pt() ;
646 Float_t phiTrig = pCandidate->Phi();
647 Float_t etaTrig = pCandidate->Eta();
653 Float_t phiUEptsumTrackNorm = 0 ;
654 Float_t etaUEptsumTrackNorm = 0 ;
655 Float_t coneptsumTrackSubPhi = 0 ;
656 Float_t coneptsumTrackSubEta = 0 ;
657 Float_t coneptsumTrackSubPhiNorm = 0 ;
658 Float_t coneptsumTrackSubEtaNorm = 0 ;
659 etaBandptsumTrackNorm = 0 ;
671 Float_t correctConeSumTrack = 1;
672 Float_t correctConeSumTrackPhi = 1;
675 phiUEptsumTrack,etaUEptsumTrack,
676 phiUEptsumTrackNorm,etaUEptsumTrackNorm,
677 correctConeSumTrack,correctConeSumTrackPhi);
679 coneptsumTrackSubPhi = coneptsumTrack - phiUEptsumTrackNorm;
680 coneptsumTrackSubEta = coneptsumTrack - etaUEptsumTrackNorm;
682 etaBandptsumTrackNorm = etaUEptsumTrackNorm;
692 if(coneptsumTrack > 0)
694 coneptsumTrackSubPhiNorm = coneptsumTrackSubPhi/coneptsumTrack;
695 coneptsumTrackSubEtaNorm = coneptsumTrackSubEta/coneptsumTrack;
707 Float_t phiUEptsumClusterNorm = 0 ;
708 Float_t etaUEptsumClusterNorm = 0 ;
709 Float_t coneptsumClusterSubPhi = 0 ;
710 Float_t coneptsumClusterSubEta = 0 ;
711 Float_t coneptsumClusterSubPhiNorm = 0 ;
712 Float_t coneptsumClusterSubEtaNorm = 0 ;
713 Float_t phiUEptsumCellNorm = 0 ;
714 Float_t etaUEptsumCellNorm = 0 ;
715 Float_t coneptsumCellSubPhi = 0 ;
716 Float_t coneptsumCellSubEta = 0 ;
717 Float_t coneptsumCellSubPhiNorm = 0 ;
718 Float_t coneptsumCellSubEtaNorm = 0 ;
719 etaBandptsumClusterNorm = 0;
734 Float_t correctConeSumClusterEta = 1;
735 Float_t correctConeSumClusterPhi = 1;
738 phiUEptsumCluster,etaUEptsumCluster,
739 phiUEptsumClusterNorm,etaUEptsumClusterNorm,
740 correctConeSumClusterEta,correctConeSumClusterPhi);
751 coneptsumClusterSubPhi = coneptsumCluster - phiUEptsumClusterNorm;
752 coneptsumClusterSubEta = coneptsumCluster - etaUEptsumClusterNorm;
754 etaBandptsumClusterNorm = etaUEptsumClusterNorm;
766 if(coneptsumCluster!=0)
768 coneptsumClusterSubPhiNorm = coneptsumClusterSubPhi/coneptsumCluster;
769 coneptsumClusterSubEtaNorm = coneptsumClusterSubEta/coneptsumCluster;
789 Float_t emcEtaSize = 0.7*2;
790 Float_t emcPhiSize = TMath::DegToRad()*100.;
792 if(((2*conesize*emcPhiSize)-coneA)!=0)phiUEptsumCellNorm = phiUEptsumCell*(coneA / ((2*conesize*emcPhiSize)-coneA));
793 if(((2*conesize*emcEtaSize)-coneA)!=0)etaUEptsumCellNorm = etaUEptsumCell*(coneA / ((2*conesize*emcEtaSize)-coneA));
797 Float_t correctConeSumCellEta = 1;
798 if(TMath::Abs(etaTrig)+conesize > emcEtaSize/2.)
800 Float_t excess = TMath::Abs(etaTrig) + conesize - emcEtaSize/2.;
804 if(((2*(conesize-excess)*emcPhiSize)-(coneA-correctConeSumCellEta))!=0)phiUEptsumCellNorm = phiUEptsumCell*(coneA / ((2*(conesize-excess)*emcPhiSize)-(coneA-correctConeSumCellEta)));
807 Float_t correctConeSumCellPhi = 1;
809 if((phiTrig+conesize > 180*TMath::DegToRad()) ||
810 (phiTrig-conesize < 80*TMath::DegToRad()))
813 if( phiTrig+conesize > 180*TMath::DegToRad() ) excess = conesize + phiTrig - 180*TMath::DegToRad() ;
814 else excess = conesize - phiTrig + 80*TMath::DegToRad() ;
820 if(((2*(conesize-excess)*emcEtaSize)-(coneA-correctConeSumCellPhi))!=0)etaUEptsumCellNorm = etaUEptsumCell*(coneA / ((2*(conesize-excess)*emcEtaSize)-(coneA-correctConeSumCellPhi)));
824 coneptsumCellSubPhi = coneptsumCell*correctConeSumCellEta*correctConeSumCellPhi - phiUEptsumCellNorm;
825 coneptsumCellSubEta = coneptsumCell*correctConeSumCellEta*correctConeSumCellPhi - etaUEptsumCellNorm;
836 if ( coneptsumCell > 0.01 )
838 coneptsumCellSubPhiNorm = coneptsumCellSubPhi/coneptsumCell;
839 coneptsumCellSubEtaNorm = coneptsumCellSubEta/coneptsumCell;
855 Double_t sumPhiUESub = coneptsumClusterSubPhi + coneptsumTrackSubPhi;
856 Double_t sumEtaUESub = coneptsumClusterSubEta + coneptsumTrackSubEta;
877 Double_t sumPhiUESubTrackCell = coneptsumCellSubPhi + coneptsumTrackSubPhi;
878 Double_t sumEtaUESubTrackCell = coneptsumCellSubEta + coneptsumTrackSubEta;
900 Float_t & coneptsumCluster, Float_t & coneptLeadCluster)
902 coneptLeadCluster = 0;
903 coneptsumCluster = 0;
909 if(!refclusters) return ;
911 Float_t ptTrig = aodParticle->Pt();
914 Double_t vertex[] = {0,0,0} ;
920 for(Int_t icalo=0; icalo < refclusters->GetEntriesFast(); icalo++)
922 AliVCluster* calo = (AliVCluster *) refclusters->At(icalo);
942 coneptsumCluster+=ptcone;
943 if(ptcone > coneptLeadCluster) coneptLeadCluster = ptcone;
955 Float_t & coneptsumCell)
961 Float_t ptTrig = aodParticle->Pt();
962 Float_t phiTrig = aodParticle->Phi();
963 if(phiTrig<0) phiTrig += TMath::TwoPi();
964 Float_t etaTrig = aodParticle->Eta();
966 if(aodParticle->GetDetectorTag()==
kEMCAL)
968 AliEMCALGeometry* eGeom = AliEMCALGeometry::GetInstance();
971 if (eGeom->GetAbsCellIdFromEtaPhi(etaTrig,phiTrig,absId))
973 if(!eGeom->CheckAbsCellId(absId))
return ;
976 Int_t nSupMod = eGeom->GetSuperModuleNumber(absId);
978 Int_t imEta=-1, imPhi=-1;
979 Int_t ieta =-1, iphi =-1;
981 if (eGeom->GetCellIndex(absId,nSupMod,nModule,imPhi,imEta))
983 Int_t iEta=-1, iPhi=-1;
984 eGeom->GetCellPhiEtaIndexInSModule(nSupMod,nModule,imPhi,imEta,iphi,ieta);
986 Int_t colTrig = iEta;
987 if (nSupMod % 2) colTrig = AliEMCALGeoParams::fgkEMCALCols + iEta ;
988 Int_t rowTrig = iPhi + AliEMCALGeoParams::fgkEMCALRows*int(nSupMod/2);
990 Int_t sqrSize = int(conesize/0.0143);
995 for(Int_t irow = rowTrig-sqrSize; irow < rowTrig+sqrSize; irow++)
997 for(Int_t icol = colTrig-sqrSize; icol < colTrig+sqrSize; icol++)
999 Int_t inSector = int(irow/AliEMCALGeoParams::fgkEMCALRows);
1000 if(inSector==5)
continue;
1002 Int_t inSupMod = -1;
1004 if(icol < AliEMCALGeoParams::fgkEMCALCols)
1006 inSupMod = 2*inSector + 1;
1009 else if(icol > AliEMCALGeoParams::fgkEMCALCols - 1)
1011 inSupMod = 2*inSector;
1012 icolLoc = icol-AliEMCALGeoParams::fgkEMCALCols;
1015 Int_t irowLoc = irow - AliEMCALGeoParams::fgkEMCALRows*inSector ;
1017 Int_t iabsId = eGeom->GetAbsCellIdFromCellIndexes(inSupMod,irowLoc,icolLoc);
1018 if(!eGeom->CheckAbsCellId(iabsId))
continue;
1021 coneptsumCell += cells->GetCellAmplitude(iabsId);
1035 Float_t & coneptsumTrack, Float_t & coneptLeadTrack)
1041 if(!reftracks) return ;
1043 Float_t ptTrig = aodParticle->Pt();
1046 for(Int_t itrack=0; itrack < reftracks->GetEntriesFast(); itrack++)
1048 AliVTrack* track = (AliVTrack *) reftracks->At(itrack);
1049 Float_t pTtrack = track->Pt();
1056 ULong_t status = track->GetStatus();
1057 Bool_t okTOF = ( (status & AliVTrack::kTOFout) == AliVTrack::kTOFout ) ;
1059 Int_t trackBC = track->GetTOFBunchCrossing(bz);
1080 coneptsumTrack+=pTtrack;
1081 if(pTtrack > coneptLeadTrack) coneptLeadTrack = pTtrack;
1121 if(energy < 8)
return;
1123 AliESDEvent* esdEv =
dynamic_cast<AliESDEvent*
> (event);
1124 AliAODEvent* aodEv =
dynamic_cast<AliAODEvent*
> (event);
1127 Int_t nVerticesSPD = -1;
1128 Int_t nVerticesTracks = -1;
1132 nVerticesSPD = esdEv->GetNumberOfPileupVerticesSPD();
1133 nVerticesTracks = esdEv->GetNumberOfPileupVerticesTracks();
1138 nVerticesSPD = aodEv->GetNumberOfPileupVerticesSPD();
1139 nVerticesTracks = aodEv->GetNumberOfPileupVerticesTracks();
1149 Float_t z1 = -1, z2 = -1;
1151 for(Int_t iVert=0; iVert<nVerticesSPD;iVert++)
1155 const AliESDVertex* pv=esdEv->GetPileupVertexSPD(iVert);
1156 ncont=pv->GetNContributors();
1157 z1 = esdEv->GetPrimaryVertexSPD()->GetZ();
1159 diamZ = esdEv->GetDiamondZ();
1163 AliAODVertex *pv=aodEv->GetVertex(iVert);
1164 if(pv->GetType()!=AliAODVertex::kPileupSPD)
continue;
1165 ncont=pv->GetNContributors();
1166 z1=aodEv->GetPrimaryVertexSPD()->GetZ();
1168 diamZ = aodEv->GetDiamondZ();
1171 Double_t distZ = TMath::Abs(z2-z1);
1172 diamZ = TMath::Abs(z2-diamZ);
1185 Float_t coneptsum, Float_t coneleadpt,
1190 Int_t clusterID = pCandidate->GetCaloLabel(0) ;
1191 Int_t nMaxima = pCandidate->GetNLM();
1192 Int_t mcTag = pCandidate->GetTag() ;
1193 Bool_t isolated = pCandidate->IsIsolated();
1195 if ( clusterID < 0 )
1197 AliWarning(Form(
"ID of cluster = %d, not possible!", clusterID));
1201 Float_t m02 = pCandidate->GetM02() ;
1202 Float_t energy = pCandidate->E();
1203 Float_t pt = pCandidate->Pt();
1204 Float_t eta = pCandidate->Eta();
1205 Float_t phi = pCandidate->Phi();
1206 if(phi<0) phi+= TMath::TwoPi();
1211 Int_t decayTag = pCandidate->DecayTag();
1212 if(decayTag < 0) decayTag = 0;
1249 Int_t ptsumBin = -1;
1250 Int_t leadptBin = -1;
1252 AliDebug(1,Form(
"pT cand: %2.2f, In cone pT: Sum %2.2f, Lead %2.2f, n bins %d",pt,coneptsum,coneleadpt,
fNBkgBin));
1254 for(Int_t ibin = 0; ibin <
fNBkgBin; ibin++)
1262 if ( leadptBin >= 0 )
1271 if ( leadptBin == 0 )
1272 AliDebug(1,Form(
"No track/clusters in isolation cone: cand pt %2.2f GeV/c, track multiplicity %d, N clusters %d",
1276 if ( ptsumBin >= 0 )
1288 Int_t decayTag = pCandidate->DecayTag();
1289 if(decayTag < 0) decayTag = 0;
1295 Int_t leadptBinDecay = leadptBin+ibit*
fNBkgBin;
1296 Int_t ptsumBinDecay = ptsumBin+ibit*
fNBkgBin;
1305 Int_t leadptBinMC = leadptBin+mcIndex*
fNBkgBin;
1306 Int_t ptsumBinMC = ptsumBin+mcIndex*
fNBkgBin;
1351 AliFatal(Form(
"Lost decay Bit assigned to bad case, mcIndex %d",mcIndex));
1373 Int_t ptTrigBin = -1;
1382 if ( ptTrigBin >= 0 )
1399 Int_t decayTag = pCandidate->DecayTag();
1400 if(decayTag < 0) decayTag = 0;
1417 Int_t ptTrigBinMC = ptTrigBin+mcIndex*
fNPtTrigBin;
1522 TObjArray* clusters = 0x0;
1526 if(!clusters)
return;
1528 AliVCluster *cluster =
FindCluster(clusters,clusterID,iclus);
1530 Float_t dZ = cluster->GetTrackDz();
1531 Float_t dR = cluster->GetTrackDx();
1535 dR = 2000., dZ = 2000.;
1549 if(TMath::Abs(dZ) < 0.05 && TMath::Abs(dR) < 0.05)
1556 Float_t dEdx = track->GetTPCsignal();
1559 Float_t eOverp = cluster->E()/track->P();
1596 const Int_t buffersize = 255;
1597 char onePar[buffersize] ;
1599 snprintf(onePar, buffersize,
"--- AliAnaParticleIsolation ---:") ;
1603 snprintf(onePar, buffersize,
"Isolation Cand Detector: %s;",
fIsoDetectorString.Data()) ;
1605 snprintf(onePar, buffersize,
"fReMakeIC =%d (Flag for reisolation during histogram filling);",
fReMakeIC) ;
1607 snprintf(onePar, buffersize,
"fMakeSeveralIC=%d (Flag for isolation with several cuts at the same time );",
fMakeSeveralIC) ;
1609 snprintf(onePar, buffersize,
"fFillTMHisto=%d (Flag for track matching histograms);",
fFillTMHisto) ;
1611 snprintf(onePar, buffersize,
"fFillSSHisto=%d (Flag for shower shape histograms);",
fFillSSHisto) ;
1616 snprintf(onePar, buffersize,
"fNCones =%d (Number of cone sizes);",
fNCones) ;
1618 snprintf(onePar, buffersize,
"fNPtThresFrac=%d (Flag for isolation with several cuts at the same time);",
fNPtThresFrac) ;
1621 for(Int_t icone = 0; icone <
fNCones ; icone++)
1623 snprintf(onePar, buffersize,
"fConeSizes[%d]=%1.2f (isolation cone size);",icone,
fConeSizes[icone]) ;
1628 snprintf(onePar, buffersize,
"fPtThresholds[%d]=%1.2f (isolation pt threshold);",ipt,
fPtThresholds[ipt]) ;
1633 snprintf(onePar, buffersize,
"fPtFractions[%d]=%1.2f (isolation pt fraction threshold);",ipt,
fPtFractions[ipt]) ;
1638 snprintf(onePar, buffersize,
"fSumPtThresholds[%d]=%1.2f (isolation sum pt threshold);",ipt,
fSumPtThresholds[ipt]) ;
1649 return new TObjString(parList) ;
1658 TList * outputContainer =
new TList() ;
1659 outputContainer->SetName(
"IsolatedParticleHistos") ;
1705 TString sThreshold =
"";
1708 sThreshold = Form(
", %2.2f < #Sigma #it{p}_{T}^{in cone} < %2.2f GeV/#it{c}",
1711 sThreshold = Form(
", #Sigma #it{p}_{T}^{in cone} = %2.2f GeV/#it{c}",
1716 sThreshold = Form(
", %2.2f < #it{p}_{T}^{th} < %2.2f GeV/#it{c}",
1719 sThreshold = Form(
", #it{p}_{T}^{th} = %2.2f GeV/#it{c}",
1723 sThreshold = Form(
", #Sigma #it{p}_{T}^{in cone}/#it{p}_{T}^{trig} = %2.2f" ,
1726 TString sParticle =
", x^{0,#pm}";
1730 TString parTitle = Form(
"#it{R} = %2.2f%s%s",
GetIsolationCut()->GetConeSize(), sThreshold.Data(),sParticle.Data());
1732 TString pileUpName[] = {
"SPD",
"EMCAL",
"SPDOrEMCAL",
"SPDAndEMCAL",
"SPDAndNotEMCAL",
"EMCALAndNotSPD",
"NotSPDAndNotEMCAL"} ;
1735 TString mcPartType[] = {
"#gamma" ,
"#gamma_{prompt}" ,
"#gamma_{fragmentation}",
1736 "#pi^{0} (merged #gamma)",
"#gamma_{#pi decay}" ,
"#gamma_{#pi decay} lost companion",
1737 "#eta (merged #gamma)" ,
"#gamma_{#eta decay}",
"#gamma_{#eta decay} lost companion",
1738 "#gamma_{other decay}" ,
"e^{#pm}" ,
"hadrons?"} ;
1740 TString mcPartName[] = {
"Photon",
"PhotonPrompt",
"PhotonFrag",
1741 "Pi0" ,
"Pi0Decay" ,
"Pi0DecayLostPair",
1742 "Eta" ,
"EtaDecay" ,
"EtaDecayLostPair",
1743 "OtherDecay",
"Electron",
"Hadron"} ;
1746 TString pptype[] = {
"#gamma" ,
"#gamma_{#pi decay}" ,
"#gamma_{#eta decay}",
"#gamma_{other decay}",
1747 "#gamma_{prompt}",
"#gamma_{fragmentation}",
"#gamma_{ISR}" ,
1748 "#pi^{0}" ,
"#eta"} ;
1750 TString ppname[] = {
"Photon" ,
"PhotonPi0Decay",
"PhotonEtaDecay",
"PhotonOtherDecay",
1751 "PhotonPrompt",
"PhotonFrag" ,
"PhotonISR" ,
1757 Form(
"Number of not isolated leading particles vs #it{p}_{T}, %s",parTitle.Data()),
1758 nptbins,ptmin,ptmax);
1759 fhENoIso->SetYTitle(
"#it{counts}");
1760 fhENoIso->SetXTitle(
"E (GeV/#it{c})");
1764 Form(
"Number of not isolated leading particles vs #it{p}_{T}, %s",parTitle.Data()),
1765 nptbins,ptmin,ptmax);
1767 fhPtNoIso->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
1771 Form(
"Number of not isolated leading particles #eta vs #phi, %s",parTitle.Data()),
1772 netabins,etamin,etamax,nphibins,phimin,phimax);
1783 fhPtNoIsoMC[imc] =
new TH1F(Form(
"hPtNoIsoMC%s",mcPartName[imc].Data()),
1784 Form(
"#it{p}_{T} of NOT isolated %s, %s",mcPartType[imc].Data(),parTitle.Data()),
1785 nptbins,ptmin,ptmax);
1787 fhPtNoIsoMC[imc]->SetXTitle(
"#it{p}_{T}(GeV/#it{c})");
1790 fhPtIsoMC[imc] =
new TH1F(Form(
"hPtMC%s",mcPartName[imc].Data()),
1791 Form(
"#it{p}_{T} of isolated %s, %s",mcPartType[imc].Data(),parTitle.Data()),
1792 nptbins,ptmin,ptmax);
1793 fhPtIsoMC[imc]->SetYTitle(
"#it{counts}");
1794 fhPtIsoMC[imc]->SetXTitle(
"#it{p}_{T}(GeV/#it{c})");
1797 fhPhiIsoMC[imc] =
new TH2F(Form(
"hPhiMC%s",mcPartName[imc].Data()),
1798 Form(
"#phi vs #it{p}_{T} of isolated %s, %s",mcPartType[imc].Data(),parTitle.Data()),
1799 nptbins,ptmin,ptmax,nphibins,phimin,phimax);
1801 fhPhiIsoMC[imc]->SetXTitle(
"#it{p}_{T}(GeV/#it{c})");
1804 fhEtaIsoMC[imc] =
new TH2F(Form(
"hEtaMC%s",mcPartName[imc].Data()),
1805 Form(
"#phi vs #it{p}_{T} of isolated %s, %s",mcPartType[imc].Data(),parTitle.Data()),
1806 nptbins,ptmin,ptmax,netabins,etamin,etamax);
1808 fhEtaIsoMC[imc]->SetXTitle(
"#it{p}_{T}(GeV/#it{c})");
1816 TString isoName [] = {
"NoIso",
"Iso"};
1817 TString isoTitle[] = {
"Not isolated" ,
"isolated"};
1821 for(Int_t iso = 0; iso < 2; iso++)
1825 new TH1F(Form(
"hPtDecay%s_bit%d",isoName[iso].Data(),
fDecayBits[ibit]),
1826 Form(
"Number of %s leading pi0 decay particles vs #it{p}_{T}, bit %d, %s",isoTitle[iso].Data(),
fDecayBits[ibit],parTitle.Data()),
1827 nptbins,ptmin,ptmax);
1828 fhPtDecay[iso][ibit]->SetYTitle(
"#it{counts}");
1829 fhPtDecay[iso][ibit]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
1830 outputContainer->Add(
fhPtDecay[iso][ibit]) ;
1833 new TH2F(Form(
"hEtaPhiDecay%s_bit%d",isoName[iso].Data(),
fDecayBits[ibit]),
1834 Form(
"Number of %s leading Pi0 decay particles #eta vs #phi, bit %d, %s",isoTitle[iso].Data(),
fDecayBits[ibit],parTitle.Data()),
1835 netabins,etamin,etamax,nphibins,phimin,phimax);
1843 (Form(
"hPtLambda0Decay%s_bit%d",isoName[iso].Data(),
fDecayBits[ibit]),
1844 Form(
"%s cluster : #it{p}_{T} vs #lambda_{0}, decay bit %d, %s",isoTitle[iso].Data(),
fDecayBits[ibit], parTitle.Data()),
1845 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
1856 new TH1F(Form(
"hPtDecay%s_bit%d_MC%s",isoName[iso].Data(),
fDecayBits[ibit],mcPartName[imc].Data()),
1857 Form(
"#it{p}_{T} of %s, decay bit %d, %s, %s",isoTitle[iso].Data(),
fDecayBits[ibit],mcPartType[imc].Data(),parTitle.Data()),
1858 nptbins,ptmin,ptmax);
1859 fhPtDecayMC[iso][ibit][imc]->SetYTitle(
"#it{counts}");
1860 fhPtDecayMC[iso][ibit][imc]->SetXTitle(
"#it{p}_{T}(GeV/#it{c})");
1861 outputContainer->Add(
fhPtDecayMC[iso][ibit][imc]) ;
1870 TString isoName [] = {
"NoIso",
"Iso"};
1871 TString isoTitle[] = {
"Not isolated" ,
"isolated"};
1874 Form(
"Number of isolated particles vs E, %s",parTitle.Data()),
1875 nptbins,ptmin,ptmax);
1876 fhEIso->SetYTitle(
"d#it{N} / d#it{E}");
1877 fhEIso->SetXTitle(
"#it{E} (GeV/#it{c})");
1878 outputContainer->Add(
fhEIso) ;
1881 Form(
"Number of isolated particles vs #it{p}_{T}, %s",parTitle.Data()),
1882 nptbins,ptmin,ptmax);
1883 fhPtIso->SetYTitle(
"d#it{N} / #it{p}_{T}");
1884 fhPtIso->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
1885 outputContainer->Add(
fhPtIso) ;
1888 Form(
"Number of isolated particles vs #phi, %s",parTitle.Data()),
1889 nptbins,ptmin,ptmax,nphibins,phimin,phimax);
1891 fhPhiIso->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
1895 Form(
"Number of isolated particles vs #eta, %s",parTitle.Data()),
1896 nptbins,ptmin,ptmax,netabins,etamin,etamax);
1898 fhEtaIso->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
1902 Form(
"Number of isolated particles #eta vs #phi, %s",parTitle.Data()),
1903 netabins,etamin,etamax,nphibins,phimin,phimax);
1911 Form(
"centrality vs #it{p}_{T} for isolated particles, %s",parTitle.Data()),
1912 nptbins,ptmin,ptmax, 100,0,100);
1918 Form(
"event plane angle vs #it{p}_{T} for isolated particles, %s",parTitle.Data()),
1919 nptbins,ptmin,ptmax, 100,0,TMath::Pi());
1928 Form(
"Number of isolated particles vs #it{p}_{T}, %s",parTitle.Data()),
1929 nptbins,ptmin,ptmax,10,0,10);
1934 Form(
"Number of not isolated particles vs #it{p}_{T}, %s",parTitle.Data()),
1935 nptbins,ptmin,ptmax,10,0,10);
1942 Form(
"Track or Cluster leading #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
1943 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
1944 fhConePtLead->SetYTitle(
"#it{p}_{T, leading} (GeV/#it{c})");
1945 fhConePtLead->SetXTitle(
"#it{p}_{T, trigger} (GeV/#it{c})");
1949 Form(
"Track and Cluster #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
1950 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
1952 fhConeSumPt->SetXTitle(
"#it{p}_{T, trigger} (GeV/#it{c})");
1956 Form(
"Trigger #eta vs #phi, #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
1957 netabins,etamin,etamax,nphibins,phimin,phimax);
1964 Form(
"#it{p}_{T} of clusters and tracks in isolation cone for #it{R} = %2.2f",r),
1965 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
1966 fhPtInCone->SetYTitle(
"#it{p}_{T in cone} (GeV/#it{c})");
1967 fhPtInCone->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
1998 for(Int_t ibin = 0; ibin <
fNBkgBin; ibin++)
2001 (Form(
"hPtLeadCone_Bin%d",ibin),
2002 Form(
"cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, %s",
2009 (Form(
"hSumPtCone_Bin%d",ibin),
2010 Form(
"in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, %s",
2018 for(Int_t idecay = 0; idecay <
fNDecayBits; idecay++)
2020 Int_t bindecay = ibin+idecay*
fNBkgBin;
2023 (Form(
"hPtLeadCone_Bin%d_DecayBit%d",ibin,
fDecayBits[idecay]),
2024 Form(
"Decay bit %d, cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, %s",
2031 (Form(
"hSumPtCone_Bin%d_DecayBit%d",ibin,
fDecayBits[idecay]),
2032 Form(
"Decay bit %d, in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, %s",
2046 (Form(
"hPtLeadCone_Bin%d_MC%s",ibin, mcPartName[imc].Data()),
2047 Form(
"in cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, MC %s, %s",
2054 (Form(
"hSumPtCone_Bin%d_MC%s",ibin,mcPartName[imc].Data()),
2055 Form(
"in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, MC %s, %s",
2066 (Form(
"hPtLeadConeLambda0_Bin%d",ibin),
2067 Form(
"#lambda_{0}, in cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, %s",
2074 (Form(
"hSumPtConeLambda0_Bin%d",ibin),
2075 Form(
"#lambda_{0}, in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, %s",
2087 (Form(
"hPtLeadConeLambda0_Bin%d_MC%s",ibin, mcPartName[imc].Data()),
2088 Form(
"#lambda_{0}, in cone %2.2f<#it{p}_{T}^{leading}<%2.2f GeV/#it{c}, MC %s, %s",
2089 fBkgBinLimit[ibin],
fBkgBinLimit[ibin+1], mcPartType[imc].Data(), parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2095 (Form(
"hSumPtConeLambda0_Bin%d_MC%s",ibin,mcPartName[imc].Data()),
2096 Form(
"#lambda_{0}, in cone %2.2f <#Sigma #it{p}_{T}< %2.2f GeV/#it{c}, MC %s, %s",
2097 fBkgBinLimit[ibin],
fBkgBinLimit[ibin+1], mcPartType[imc].Data(), parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2136 (Form(
"hPtTrigBin_PtLeadCone_Bin%d",ibin),
2137 Form(
"#it{p}_{T}^{lead. in cone}, %2.2f<#it{p}_{T}^{cand}<%2.2f GeV/#it{c}, %s",
2144 (Form(
"hPtTrigBin_SumPtCone_Bin%d",ibin),
2145 Form(
"#Sigma #it{p}_{T}^{in cone} %2.2f <#it{p}_{T}^{cand}< %2.2f GeV/#it{c}, %s",
2153 for(Int_t idecay = 0; idecay <
fNDecayBits; idecay++)
2158 (Form(
"hPtTrigBin_PtLeadCone_Bin%d_DecayBit%d",ibin,
fDecayBits[idecay]),
2159 Form(
"Decay bit %d, #it{p}_{T}^{lead. in cone}, %2.2f<#it{p}_{T}^{cand}<%2.2f GeV/#it{c}, %s",
2166 (Form(
"hPtTrigBin_SumPtCone_Bin%d_DecayBit%d",ibin,
fDecayBits[idecay]),
2167 Form(
"Decay bit %d, #Sigma #it{p}_{T}^{in cone} %2.2f <#it{p}_{T}^{cand}< %2.2f GeV/#it{c}, %s",
2181 (Form(
"hPtTrigBin_PtLeadCone_Bin%d_MC%s",ibin, mcPartName[imc].Data()),
2182 Form(
"#it{p}_{T}^{lead. in cone}, %2.2f<#it{p}_{T}^{cand}<%2.2f GeV/#it{c}, MC %s, %s",
2189 (Form(
"hPtTrigBin_SumPtCone_Bin%d_MC%s",ibin,mcPartName[imc].Data()),
2190 Form(
"#Sigma #it{p}_{T}^{in cone}, %2.2f <#it{p}_{T}^{cand}< %2.2f GeV/#it{c}, MC %s, %s",
2201 (Form(
"hPtTrigBin_PtLeadConeVSLambda0_Bin%d",ibin),
2202 Form(
"#lambda_{0} vs #it{p}_{T}^{lead. in cone}, %2.2f<#it{p}_{T}^{cand}<%2.2f GeV/#it{c}, %s",
2209 (Form(
"hPtTrigBin_SumPtConeVSLambda0_Bin%d",ibin),
2210 Form(
"#lambda_{0} vs #Sigma #it{p}_{T}^{in cone} %2.2f <#it{p}_{T}^{cand}< %2.2f GeV/#it{c}, %s",
2222 (Form(
"hPtTrigBin_PtLeadConeVSLambda0_Bin%d_MC%s",ibin, mcPartName[imc].Data()),
2223 Form(
"#lambda_{0} vs #it{p}_{T}^{lead. in cone}, %2.2f<#it{p}_{T}^{cand}<%2.2f GeV/#it{c}, MC %s, %s",
2230 (Form(
"hPtTrigBin_SumPtConeVSLambda0_Bin%d_MC%s",ibin,mcPartName[imc].Data()),
2231 Form(
"#lambda_{0} vs #Sigma #it{p}_{T}^{in cone}, %2.2f <#it{p}_{T}^{cand}< %2.2f GeV/#it{c}, MC %s, %s",
2245 Form(
"#it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2246 100,0,100,nptinconebins,ptinconemin,ptinconemax);
2256 Form(
"Cluster #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2257 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2263 Form(
"Cluster leading in isolation cone for #it{R} = %2.2f",r),
2264 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2273 Form(
"Cell #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2274 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2283 "#Sigma cluster #it{p}_{T} in UE Eta Band",
2284 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2290 "#Sigma cluster #it{p}_{T} UE Phi Band",
2291 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2297 "Trigger #eta vs #phi, #Sigma cluster #it{p}_{T} in UE Eta Band",
2298 netabins,etamin,etamax,nphibins,phimin,phimax);
2305 "Trigger #eta vs #phi, #Sigma cluster #it{p}_{T} UE Phi Band",
2306 netabins,etamin,etamax,nphibins,phimin,phimax);
2315 "#Sigma cell #it{p}_{T} in UE Eta Band",
2316 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2322 "#Sigma cell #it{p}_{T} UE Phi Band",
2323 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2329 "Trigger #eta vs #phi, #Sigma cell #it{p}_{T} in UE Eta Band",
2330 netabins,etamin,etamax,nphibins,phimin,phimax);
2337 "Trigger #eta vs #phi, #Sigma cell #it{p}_{T} UE Phi Band",
2338 netabins,etamin,etamax,nphibins,phimin,phimax);
2346 Form(
"#eta vs #phi of clusters in #eta band isolation cone for #it{R} = %2.2f",r),
2347 netabins,-1,1,nphibins,0,TMath::TwoPi());
2353 Form(
"#eta vs #phi of clusters in #phi band isolation cone for #it{R} = %2.2f",r),
2354 netabins,-1,1,nphibins,0,TMath::TwoPi());
2360 Form(
"#eta vs #phi of clusters in cone for #it{R} = %2.2f",r),
2361 netabins,-1,1,nphibins,0,TMath::TwoPi());
2367 Form(
"#eta vs #phi of all clusters"),
2368 netabins,-1,1,nphibins,0,TMath::TwoPi());
2376 Form(
"#it{p}_{T} of clusters in isolation cone for #it{R} = %2.2f",r),
2377 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
2385 Form(
"#it{p}_{T} of cells in isolation cone for #it{R} = %2.2f",r),
2386 nptbins,ptmin,ptmax,1000,0,50);
2392 Form(
"#col vs #row of cells in #eta band isolation cone for #it{R} = %2.2f",r),
2399 Form(
"#col vs #row of cells in #phi band isolation cone for #it{R} = %2.2f",r),
2409 Form(
"Clusters #Sigma #it{p}_{T} after bkg subtraction from eta band in the isolation cone for #it{R} = %2.2f",r),
2410 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2416 Form(
"Clusters #Sigma #it{p}_{T} after bkg subtraction from phi band in the isolation cone for #it{R} = %2.2f",r),
2417 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2423 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),
2424 netabins,etamin,etamax,nphibins,phimin,phimax);
2431 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),
2432 netabins,etamin,etamax,nphibins,phimin,phimax);
2441 Form(
"Cells #Sigma #it{p}_{T} after bkg subtraction from eta band in the isolation cone for #it{R} = %2.2f",r),
2442 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2448 Form(
"Cells #Sigma #it{p}_{T} after bkg subtraction from phi band in the isolation cone for #it{R} = %2.2f",r),
2449 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2455 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),
2456 netabins,etamin,etamax,nphibins,phimin,phimax);
2463 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),
2464 netabins,etamin,etamax,nphibins,phimin,phimax);
2472 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of clusters #eta acceptance",r),
2473 nptbins,ptmin,ptmax,100,0,1);
2479 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of clusters #eta acceptance, in trigger #eta-#phi ",r),
2480 netabins,etamin,etamax,nphibins,phimin,phimax);
2487 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of clusters #phi acceptance",r),
2488 nptbins,ptmin,ptmax,100,0,1);
2494 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of clusters #phi acceptance, in trigger #eta-#phi ",r),
2495 netabins,etamin,etamax,nphibins,phimin,phimax);
2502 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),
2503 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2509 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),
2510 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2516 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),
2517 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2523 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),
2524 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2530 Form(
"#Sigma #it{p}_{T} in cone versus #Sigma #it{p}_{T} in eta band for cluster (before normalization), R=%2.2f",r),
2531 nptsumbins,ptsummin,ptsummax,2*nptsumbins,ptsummin,2*ptsummax);
2537 Form(
"#Sigma #it{p}_{T} in cone versus #Sigma #it{p}_{T} in phi band for cluster (before normalization), R=%2.2f",r),
2538 nptsumbins,ptsummin,ptsummax,8*nptsumbins,ptsummin,8*ptsummax);
2546 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of cells #eta acceptance",r),
2547 nptbins,ptmin,ptmax,100,0,1);
2553 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of cells #eta acceptance, in trigger #eta-#phi ",r),
2554 netabins,etamin,etamax,nphibins,phimin,phimax);
2561 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of cells #phi acceptance",r),
2562 nptbins,ptmin,ptmax,100,0,1);
2568 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of cells #phi acceptance, in trigger #eta-#phi ",r),
2569 netabins,etamin,etamax,nphibins,phimin,phimax);
2577 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),
2578 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2584 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),
2585 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2591 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),
2592 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2598 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),
2599 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2611 Form(
"Track #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2612 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2618 Form(
"Track leading in isolation cone for #it{R} = %2.2f",r),
2619 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2625 Form(
"#it{p}_{T} of tracks in isolation cone for #it{R} = %2.2f",r),
2626 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
2635 "#Sigma track #it{p}_{T} in UE Eta Band",
2636 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2642 "#Sigma track #it{p}_{T} in UE Phi Band",
2643 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax*8);
2650 "Trigger #eta vs #phi, #Sigma track #it{p}_{T} in UE Eta Band",
2651 netabins,etamin,etamax,nphibins,phimin,phimax);
2658 "Trigger #eta vs #phi, #Sigma track #it{p}_{T} in UE Phi Band",
2659 netabins,etamin,etamax,nphibins,phimin,phimax);
2666 Form(
"#eta vs #phi of tracks in #eta band isolation cone for #it{R} = %2.2f",r),
2667 netabins,-1,1,nphibins,0,TMath::TwoPi());
2673 Form(
"#eta vs #phi of tracks in #phi band isolation cone for #it{R} = %2.2f",r),
2674 netabins,-1,1,nphibins,0,TMath::TwoPi());
2680 Form(
"Tracks #Sigma #it{p}_{T} after bkg subtraction from eta band in the isolation cone for #it{R} = %2.2f",r),
2681 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2687 Form(
"Tracks #Sigma #it{p}_{T} after bkg subtraction from phi band in the isolation cone for #it{R} = %2.2f",r),
2688 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2694 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),
2695 netabins,etamin,etamax,nphibins,phimin,phimax);
2702 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),
2703 netabins,etamin,etamax,nphibins,phimin,phimax);
2710 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of tracks #eta acceptance",r),
2711 nptbins,ptmin,ptmax,100,0,1);
2717 Form(
"Fraction of the isolation cone #it{R} = %2.2f, out of tracks #eta acceptance, in trigger #eta-#phi ",r),
2718 netabins,etamin,etamax,nphibins,phimin,phimax);
2725 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),
2726 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2732 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),
2733 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2739 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),
2740 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2746 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),
2747 nptsumbins,ptsummin,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2755 Form(
"#Sigma #it{p}_{T} in isolation cone at #pm 45 degree phi from trigger particle, #it{R} = %2.2f",r),
2756 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2762 Form(
"#it{p}_{T} in isolation cone at #pm 45 degree phi from trigger particle, #it{R} = %2.2f",r),
2763 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
2769 Form(
"#eta vs #phi of all Tracks"),
2770 netabins,-1,1,nphibins,0,TMath::TwoPi());
2776 Form(
"#eta vs #phi of Tracks in cone for #it{R} = %2.2f",r),
2777 netabins,-1,1,nphibins,0,TMath::TwoPi());
2783 Form(
"#Sigma #it{p}_{T} in cone versus #Sigma #it{p}_{T} in eta band for tracks (before normalization), R=%2.2f",r),
2784 nptsumbins,ptsummin,ptsummax,2*nptsumbins,ptsummin,2*ptsummax);
2790 Form(
"#Sigma #it{p}_{T} in cone versus #Sigma #it{p}_{T} in phi band for tracks (before normalization), R=%2.2f",r),
2791 nptsumbins,ptsummin,ptsummax,8*nptsumbins,ptsummin,8*ptsummax);
2801 Form(
"Track vs Cluster #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2802 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
2808 Form(
"#Sigma #it{p}_{T}^{cluster}/#Sigma #it{p}_{T}^{track} in isolation cone for #it{R} = %2.2f",r),
2809 nptbins,ptmin,ptmax,200,0,5);
2816 Form(
"Track vs Cluster lead #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2817 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
2823 Form(
" #it{p}^{leading cluster}_{T}/#it{p}^{leading track}_{T} in isolation cone for #it{R} = %2.2f",r),
2824 nptbins,ptmin,ptmax,200,0,5);
2833 Form(
"Track vs cell #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2834 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
2840 Form(
"Track and Cell #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2841 nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
2847 Form(
"Trigger #eta vs #phi, #Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",r),
2848 netabins,etamin,etamax,nphibins,phimin,phimax);
2859 Form(
"#Sigma #it{p}_{T} after bkg subtraction from eta band in the isolation cone for #it{R} = %2.2f",r),
2860 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2866 Form(
"#Sigma #it{p}_{T} after bkg subtraction from phi band in the isolation cone for #it{R} = %2.2f",r),
2867 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2873 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),
2874 netabins,etamin,etamax,nphibins,phimin,phimax);
2881 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),
2882 netabins,etamin,etamax,nphibins,phimin,phimax);
2889 Form(
"Track vs Cluster #Sigma #it{p}_{T} UE sub eta band in isolation cone for #it{R} = %2.2f",r),
2890 2*nptsumbins,-ptsummax,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2896 Form(
"Track vs Cluster #Sigma #it{p}_{T} UE sub phi band in isolation cone for #it{R} = %2.2f",r),
2897 2*nptsumbins,-ptsummax,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2903 Form(
"Track vs Cluster #Sigma #it{p}_{T} in Eta band in isolation cone for #it{R} = %2.2f",r),
2904 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
2910 Form(
"Track vs Cluster #Sigma #it{p}_{T} in Phi band in isolation cone for #it{R} = %2.2f",r),
2911 nptsumbins,ptsummin,ptsummax*4,nptsumbins,ptsummin,ptsummax*8);
2917 Form(
"Track vs Cluster #Sigma #it{p}_{T} in Eta band in isolation cone for #it{R} = %2.2f",r),
2918 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
2924 Form(
"Track vs Cluster #Sigma #it{p}_{T} in Phi band in isolation cone for #it{R} = %2.2f",r),
2925 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
2931 Form(
"Track vs Cluster #Sigma #it{p}_{T} UE sub eta band in isolation cone for #it{R} = %2.2f",r),
2932 2*nptsumbins,-ptsummax,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2938 Form(
"Track vs Cluster #Sigma #it{p}_{T} UE sub phi band in isolation cone for #it{R} = %2.2f",r),
2939 2*nptsumbins,-ptsummax,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2948 Form(
"Track vs Cell #Sigma #it{p}_{T} UE sub eta band in isolation cone for #it{R} = %2.2f",r),
2949 2*nptsumbins,-ptsummax,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2955 Form(
"Track vs Cell #Sigma #it{p}_{T} UE sub phi band in isolation cone for #it{R} = %2.2f",r),
2956 2*nptsumbins,-ptsummax,ptsummax,2*nptsumbins,-ptsummax,ptsummax);
2962 Form(
"Track vs Cell #Sigma #it{p}_{T} in Eta band in isolation cone for #it{R} = %2.2f",r),
2963 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
2969 Form(
"Track vs Cell #Sigma #it{p}_{T} in Phi band in isolation cone for #it{R} = %2.2f",r),
2970 nptsumbins,ptsummin,ptsummax*4,nptsumbins,ptsummin,ptsummax*8);
2976 Form(
"Track vs Cell #Sigma #it{p}_{T} in Eta band in isolation cone for #it{R} = %2.2f",r),
2977 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
2983 Form(
"Track vs Cell #Sigma #it{p}_{T} in Phi band in isolation cone for #it{R} = %2.2f",r),
2984 nptsumbins,ptsummin,ptsummax,nptsumbins,ptsummin,ptsummax);
2990 Form(
"Tracks #Sigma #it{p}_{T} after bkg subtraction from eta band in the isolation cone for #it{R} = %2.2f",r),
2991 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
2997 Form(
"Tracks #Sigma #it{p}_{T} after bkg subtraction from phi band in the isolation cone for #it{R} = %2.2f",r),
2998 nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
3004 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),
3005 netabins,etamin,etamax,nphibins,phimin,phimax);
3012 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),
3013 netabins,etamin,etamax,nphibins,phimin,phimax);
3022 for(Int_t iso = 0; iso < 2; iso++)
3027 (Form(
"hTrackMatchedDEta%s",isoName[iso].Data()),
3028 Form(
"%s - d#eta of cluster-track vs cluster energy, %s",isoTitle[iso].Data(),parTitle.Data()),
3029 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
3034 (Form(
"hTrackMatchedDPhi%s",isoName[iso].Data()),
3035 Form(
"%s - d#phi of cluster-track vs cluster energy, %s",isoTitle[iso].Data(),parTitle.Data()),
3036 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
3041 (Form(
"hTrackMatchedDEtaDPhi%s",isoName[iso].Data()),
3042 Form(
"%s - d#eta vs d#phi of cluster-track, %s",isoTitle[iso].Data(),parTitle.Data()),
3043 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
3052 (Form(
"hdEdx%s",isoName[iso].Data()),
3053 Form(
"%s - Matched track <d#it{E}/d#it{x}> vs cluster #it{E}, %s",isoTitle[iso].Data(),parTitle.Data()),
3054 nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
3055 fhdEdx[iso]->SetXTitle(
"#it{E} (GeV)");
3056 fhdEdx[iso]->SetYTitle(
"<d#it{E}/d#it{x}>");
3057 outputContainer->Add(
fhdEdx[iso]);
3060 (Form(
"hEOverP%s",isoName[iso].Data()),
3061 Form(
"%s - Matched track #it{E}/#it{p} vs cluster, %s",isoTitle[iso].Data(),parTitle.Data()),
3062 nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
3063 fhEOverP[iso]->SetXTitle(
"#it{E} (GeV)");
3064 fhEOverP[iso]->SetYTitle(
"#it{E}/#it{p}");
3065 outputContainer->Add(
fhEOverP[iso]);
3070 (Form(
"hTrackMatchedMCParticle%s",isoName[iso].Data()),
3071 Form(
"%s - Origin of particle vs cluster #it{E}, %s",isoTitle[iso].Data(),parTitle.Data()),
3072 nptbins,ptmin,ptmax,8,0,8);
3092 (Form(
"hELambda0%s",isoName[iso].Data()),
3093 Form(
"%s cluster : #it{E} vs #lambda_{0}, %s",isoTitle[iso].Data(),parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3094 fhELambda0[iso]->SetYTitle(
"#lambda_{0}^{2}");
3106 (Form(
"hPtLambda0%s",isoName[iso].Data()),
3107 Form(
"%s cluster : #it{p}_{T} vs #lambda_{0}, %s",isoTitle[iso].Data(), parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3109 fhPtLambda0[iso]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3116 fhPtLambda0MC[imc][iso] =
new TH2F(Form(
"hPtLambda0%s_MC%s",isoName[iso].Data(),mcPartName[imc].Data()),
3117 Form(
"%s cluster : #it{p}_{T} vs #lambda_{0}: %s %s",isoTitle[iso].Data(),mcPartType[imc].Data(),parTitle.Data()),
3118 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3120 fhPtLambda0MC[imc][iso]->SetXTitle(
"#it{p}_{T}(GeV/#it{c})");
3128 (Form(
"hPtLambda0TRD%s",isoName[iso].Data()),
3129 Form(
"%s cluster: #it{p}_{T} vs #lambda_{0}, SM behind TRD, %s",isoTitle[iso].Data(),parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3135 (Form(
"hELambda0TRD%s",isoName[iso].Data()),
3136 Form(
"%s cluster: #it{E} vs #lambda_{0}, SM behind TRD, %s",isoTitle[iso].Data(),parTitle.Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3152 (Form(
"hNLocMax%s",isoName[iso].Data()),
3153 Form(
"%s - Number of local maxima in cluster, %s",isoTitle[iso].Data(),parTitle.Data()),
3154 nptbins,ptmin,ptmax,10,0,10);
3156 fhNLocMax[iso]->SetXTitle(
"#it{E} (GeV)");
3160 (Form(
"hELambda0LocMax1%s",isoName[iso].Data()),
3161 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);
3167 (Form(
"hELambda1LocMax1%s",isoName[iso].Data()),
3168 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);
3174 (Form(
"hELambda0LocMax2%s",isoName[iso].Data()),
3175 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);
3181 (Form(
"hELambda1LocMax2%s",isoName[iso].Data()),
3182 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);
3188 ( Form(
"hELambda0LocMaxN%s",isoName[iso].Data()),
3189 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);
3195 (Form(
"hELambda1LocMaxN%s",isoName[iso].Data()),
3196 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);
3208 Form(
"#it{p}_{T} of tracks in isolation cone for #it{R} = %2.2f, TOF from BC!=0",r),
3209 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3215 Form(
"#it{p}_{T} of tracks in isolation cone for #it{R} = %2.2f, TOF from BC!=0, pile-up from SPD",r),
3216 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3222 Form(
"#it{p}_{T} of tracks in isolation cone for #it{R} = %2.2f, TOF from BC==0",r),
3223 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3229 Form(
"#it{p}_{T} of tracks in isolation cone for #it{R} = %2.2f, TOF from BC==0",r),
3230 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3237 Form(
"#it{p}_{T} of tracks in isolation cone for #it{R} = %2.2f, TOF from BC==0, pile-up from SPD",r),
3238 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3244 for (Int_t i = 0; i < 7 ; i++)
3246 fhPtInConePileUp[i] =
new TH2F(Form(
"hPtInConePileUp%s",pileUpName[i].Data()),
3247 Form(
"#it{p}_{T} in isolation cone for #it{R} = %2.2f, from pile-up (%s)",r,pileUpName[i].Data()),
3248 nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3261 fhEPrimMC[i] =
new TH1F(Form(
"hEPrim_MC%s",ppname[i].Data()),
3262 Form(
"primary photon %s : #it{E}, %s",pptype[i].Data(),parTitle.Data()),
3263 nptbins,ptmin,ptmax);
3264 fhEPrimMC[i]->SetXTitle(
"#it{E} (GeV)");
3267 fhPtPrimMC[i] =
new TH1F(Form(
"hPtPrim_MC%s",ppname[i].Data()),
3268 Form(
"primary photon %s : #it{p}_{T}, %s",pptype[i].Data(),parTitle.Data()),
3269 nptbins,ptmin,ptmax);
3270 fhPtPrimMC[i]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3273 fhPtPrimMCiso[i] =
new TH1F(Form(
"hPtPrim_MCiso%s",ppname[i].Data()),
3274 Form(
"primary isolated photon %s : #it{p}_{T}, %s",pptype[i].Data(),parTitle.Data()),
3275 nptbins,ptmin,ptmax);
3279 fhEtaPrimMC[i] =
new TH2F(Form(
"hEtaPrim_MC%s",ppname[i].Data()),
3280 Form(
"primary photon %s : #eta vs #it{p}_{T}, %s",pptype[i].Data(),parTitle.Data()),
3281 nptbins,ptmin,ptmax,200,-2,2);
3283 fhEtaPrimMC[i]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3286 fhPhiPrimMC[i] =
new TH2F(Form(
"hPhiPrim_MC%s",ppname[i].Data()),
3287 Form(
"primary photon %s : #phi vs #it{p}_{T}, %s",pptype[i].Data(),parTitle.Data()),
3288 nptbins,ptmin,ptmax,200,0.,TMath::TwoPi());
3290 fhPhiPrimMC[i]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3297 Form(
"primary photon %s : #it{p}_{T}, pair in cone, %s",pptype[
kmcPrimPi0Decay].Data(),parTitle.Data()),
3298 nptbins,ptmin,ptmax);
3303 Form(
"isolated primary photon %s, pair in cone : #it{p}_{T}, %s",
3305 nptbins,ptmin,ptmax);
3310 Form(
"primary photon %s, no overlap, pair in cone : #it{p}_{T}, %s",
3312 nptbins,ptmin,ptmax);
3317 Form(
"isolated primary photon %s, pair in cone,no overlap : #it{p}_{T}, %s",
3319 nptbins,ptmin,ptmax);
3324 Form(
"primary photon %s, no overlap, pair in cone, E > calo min: #it{p}_{T}, %s",
3326 nptbins,ptmin,ptmax);
3331 Form(
"isolated primary photon %s, pair in cone,no overlap, E > calo min: #it{p}_{T}, %s",
3333 nptbins,ptmin,ptmax);
3339 Form(
"primary photon %s, no overlap: #it{p}_{T}, %s",
3341 nptbins,ptmin,ptmax);
3346 Form(
"isolated primary photon %s, no overlap: #it{p}_{T}, %s",
3348 nptbins,ptmin,ptmax);
3353 Form(
"primary photon %s : #it{p}_{T}, pair out of cone, %s",pptype[
kmcPrimPi0Decay].Data(),parTitle.Data()),
3354 nptbins,ptmin,ptmax);
3359 Form(
"isolated primary photon %s, pair out of cone : #it{p}_{T}, %s",
3361 nptbins,ptmin,ptmax);
3366 Form(
"primary photon %s : #it{p}_{T}, pair out of acceptance, %s",pptype[
kmcPrimPi0Decay].Data(),parTitle.Data()),
3367 nptbins,ptmin,ptmax);
3372 Form(
"primary photon %s : #it{p}_{T}, pair out of acceptance, no overlap, %s",pptype[
kmcPrimPi0Decay].Data(),parTitle.Data()),
3373 nptbins,ptmin,ptmax);
3378 Form(
"isolated primary photon %s, pair out of acceptance : #it{p}_{T}, %s",
3380 nptbins,ptmin,ptmax);
3385 Form(
"isolated primary photon %s, pair out of acceptance, no overlap : #it{p}_{T}, %s",
3387 nptbins,ptmin,ptmax);
3392 Form(
"primary %s, overlap: #it{p}_{T}, %s",
3394 nptbins,ptmin,ptmax);
3399 Form(
"primary %s, overlap: #it{p}_{T}, %s",
3401 nptbins,ptmin,ptmax);
3413 Form(
"primary photon %s : #it{p}_{T}, pair in cone, %s",pptype[
kmcPrimEtaDecay].Data(),parTitle.Data()),
3414 nptbins,ptmin,ptmax);
3419 Form(
"isolated primary photon %s, pair in cone : #it{p}_{T}, %s",
3421 nptbins,ptmin,ptmax);
3426 Form(
"primary photon %s, no overlap, pair in cone : #it{p}_{T}, %s",
3428 nptbins,ptmin,ptmax);
3433 Form(
"isolated primary photon %s, pair in cone,no overlap : #it{p}_{T}, %s",
3435 nptbins,ptmin,ptmax);
3440 Form(
"primary photon %s, no overlap, pair in cone, E > calo min: #it{p}_{T}, %s",
3442 nptbins,ptmin,ptmax);
3447 Form(
"isolated primary photon %s, pair in cone,no overlap, E > calo min: #it{p}_{T}, %s",
3449 nptbins,ptmin,ptmax);
3455 Form(
"primary photon %s, no overlap: #it{p}_{T}, %s",
3457 nptbins,ptmin,ptmax);
3462 Form(
"isolated primary photon %s, no overlap: #it{p}_{T}, %s",
3464 nptbins,ptmin,ptmax);
3469 Form(
"primary photon %s : #it{p}_{T}, pair out of cone, %s",pptype[
kmcPrimEtaDecay].Data(),parTitle.Data()),
3470 nptbins,ptmin,ptmax);
3475 Form(
"isolated primary photon %s, pair out of cone : #it{p}_{T}, %s",
3477 nptbins,ptmin,ptmax);
3482 Form(
"primary photon %s : #it{p}_{T}, pair out of acceptance, %s",pptype[
kmcPrimEtaDecay].Data(),parTitle.Data()),
3483 nptbins,ptmin,ptmax);
3488 Form(
"primary photon %s : #it{p}_{T}, pair out of acceptance, no overlap, %s",pptype[
kmcPrimEtaDecay].Data(),parTitle.Data()),
3489 nptbins,ptmin,ptmax);
3494 Form(
"isolated primary photon %s, pair out of acceptance : #it{p}_{T}, %s",
3496 nptbins,ptmin,ptmax);
3501 Form(
"isolated primary photon %s, pair out of acceptance, no overlap : #it{p}_{T}, %s",
3503 nptbins,ptmin,ptmax);
3508 Form(
"primary %s, overlap: #it{p}_{T}, %s",
3510 nptbins,ptmin,ptmax);
3515 Form(
"primary %s, overlap: #it{p}_{T}, %s",
3517 nptbins,ptmin,ptmax);
3529 const Int_t buffersize = 255;
3530 char name[buffersize];
3531 char title[buffersize];
3532 for(Int_t icone = 0; icone<
fNCones; icone++)
3535 snprintf(name, buffersize,
"hSumPtLeadingPt_Cone_%d",icone);
3536 snprintf(title, buffersize,
"#Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",
fConeSizes[icone]);
3537 fhSumPtLeadingPt[icone] =
new TH2F(name, title,nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
3543 snprintf(name, buffersize,
"hPtLeadingPt_Cone_%d",icone);
3544 snprintf(title, buffersize,
"#it{p}_{T} in isolation cone for #it{R} = %2.2f",
fConeSizes[icone]);
3545 fhPtLeadingPt[icone] =
new TH2F(name, title, nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3546 fhPtLeadingPt[icone] ->SetYTitle(
"#it{p}_{T}^{cone} (GeV/#it{c})");
3547 fhPtLeadingPt[icone] ->SetXTitle(
"#it{p}_{T}^{leading} (GeV/#it{c})");
3551 snprintf(name, buffersize,
"hPerpSumPtLeadingPt_Cone_%d",icone);
3552 snprintf(title, buffersize,
"#Sigma #it{p}_{T} in isolation cone for #it{R} = %2.2f",
fConeSizes[icone]);
3553 fhPerpSumPtLeadingPt[icone] =
new TH2F(name, title,nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
3559 snprintf(name, buffersize,
"hPerpPtLeadingPt_Cone_%d",icone);
3560 snprintf(title, buffersize,
"#it{p}_{T} in isolation cone for #it{R} = %2.2f",
fConeSizes[icone]);
3561 fhPerpPtLeadingPt[icone] =
new TH2F(name, title, nptbins,ptmin,ptmax,nptinconebins,ptinconemin,ptinconemax);
3570 snprintf(name , buffersize,
"hSumPtLeadingPt_MC%s_Cone_%d",mcPartName[imc].Data(),icone);
3571 snprintf(title, buffersize,
"Candidate %s #it{p}_{T} vs cone #Sigma #it{p}_{T} for #it{R}=%2.2f",mcPartType[imc].Data(),
fConeSizes[icone]);
3572 fhSumPtLeadingPtMC[imc][icone] =
new TH2F(name, title,nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
3581 snprintf(name, buffersize,
"hPtThres_Cone_%d_Pt%d",icone,ipt);
3582 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]);
3587 snprintf(name, buffersize,
"hPtFrac_Cone_%d_Pt%d",icone,ipt);
3588 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]);
3593 snprintf(name, buffersize,
"hSumPt_Cone_%d_Pt%d",icone,ipt);
3594 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]);
3595 fhSumPtIsolated[icone][ipt] =
new TH1F(name, title,nptbins,ptmin,ptmax);
3600 snprintf(name, buffersize,
"hPtSumDensity_Cone_%d_Pt%d",icone,ipt);
3601 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]);
3607 snprintf(name, buffersize,
"hPtFracPtSum_Cone_%d_Pt%d",icone,ipt);
3608 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]);
3615 snprintf(name, buffersize,
"hEtaPhiPtThres_Cone_%d_Pt%d",icone,ipt);
3616 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]);
3617 fhEtaPhiPtThresIso[icone][ipt] =
new TH2F(name, title,netabins,etamin,etamax,nphibins,phimin,phimax);
3622 snprintf(name, buffersize,
"hEtaPhiPtFrac_Cone_%d_Pt%d",icone,ipt);
3623 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]);
3624 fhEtaPhiPtFracIso[icone][ipt] =
new TH2F(name, title,netabins,etamin,etamax,nphibins,phimin,phimax);
3629 snprintf(name, buffersize,
"hEtaPhiPtSum_Cone_%d_Pt%d",icone,ipt);
3630 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]);
3631 fhEtaPhiPtSumIso[icone][ipt] =
new TH2F(name, title,netabins,etamin,etamax,nphibins,phimin,phimax);
3636 snprintf(name, buffersize,
"hEtaPhiSumDensity_Cone_%d_Pt%d",icone,ipt);
3637 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]);
3638 fhEtaPhiSumDensityIso[icone][ipt] =
new TH2F(name, title,netabins,etamin,etamax,nphibins,phimin,phimax);
3643 snprintf(name, buffersize,
"hEtaPhiFracPtSum_Cone_%d_Pt%d",icone,ipt);
3644 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]);
3645 fhEtaPhiFracPtSumIso[icone][ipt] =
new TH2F(name, title,netabins,etamin,etamax,nphibins,phimin,phimax);
3653 snprintf(name, buffersize,
"hPtThres_Decay_Cone_%d_Pt%d",icone,ipt);
3654 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]);
3659 snprintf(name, buffersize,
"hPtFrac_Decay_Cone_%d_Pt%d",icone,ipt);
3660 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]);
3665 snprintf(name, buffersize,
"hPtSum_Decay_Cone_%d_Pt%d",icone,ipt);
3666 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]);
3672 snprintf(name, buffersize,
"hPtSumDensity_Decay_Cone_%d_Pt%d",icone,ipt);
3673 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]);
3679 snprintf(name, buffersize,
"hPtFracPtSum_Decay_Cone_%d_Pt%d",icone,ipt);
3680 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]);
3687 snprintf(name, buffersize,
"hEtaPhiPtThres_Decay_Cone_%d_Pt%d",icone,ipt);
3688 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]);
3694 snprintf(name, buffersize,
"hEtaPhiPtFrac_Decay_Cone_%d_Pt%d",icone,ipt);
3695 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]);
3696 fhEtaPhiPtFracDecayIso[icone][ipt] =
new TH2F(name, title,netabins,etamin,etamax,nphibins,phimin,phimax);
3702 snprintf(name, buffersize,
"hEtaPhiPtSum_Decay_Cone_%d_Pt%d",icone,ipt);
3703 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]);
3704 fhEtaPhiPtSumDecayIso[icone][ipt] =
new TH2F(name, title,netabins,etamin,etamax,nphibins,phimin,phimax);
3709 snprintf(name, buffersize,
"hEtaPhiSumDensity_Decay_Cone_%d_Pt%d",icone,ipt);
3710 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]);
3716 snprintf(name, buffersize,
"hEtaPhiFracPtSum_Decay_Cone_%d_Pt%d",icone,ipt);
3717 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]);
3729 snprintf(name , buffersize,
"hPtThreshMC%s_Cone_%d_Pt%d",mcPartName[imc].Data(),icone,ipt);
3730 snprintf(title, buffersize,
"Isolated %s #it{p}_{T} for #it{R}=%2.2f and #it{p}_{T}^{th}=%2.2f",
3738 snprintf(name , buffersize,
"hPtFracMC%s_Cone_%d_Pt%d",mcPartName[imc].Data(),icone,ipt);
3739 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",
3746 snprintf(name , buffersize,
"hSumPtMC%s_Cone_%d_Pt%d",mcPartName[imc].Data(),icone,ipt);
3747 snprintf(title, buffersize,
"Isolated %s #it{p}_{T} for #it{R}=%2.2f and #Sigma #it{p}_{T}^{in cone}=%2.2f",
3761 for (Int_t i = 0; i < 7 ; i++)
3763 fhEIsoPileUp[i] =
new TH1F(Form(
"hEPileUp%s",pileUpName[i].Data()),
3764 Form(
"Number of isolated particles vs E, %s, pile-up event by %s",parTitle.Data(),pileUpName[i].Data()),
3765 nptbins,ptmin,ptmax);
3770 fhPtIsoPileUp[i] =
new TH1F(Form(
"hPtPileUp%s",pileUpName[i].Data()),
3771 Form(
"Number of isolated particles vs #it{p}_{T}, %s, pile-up event by %s",parTitle.Data(),pileUpName[i].Data()),
3772 nptbins,ptmin,ptmax);
3777 fhENoIsoPileUp[i] =
new TH1F(Form(
"hENoIsoPileUp%s",pileUpName[i].Data()),
3778 Form(
"Number of not isolated particles vs E, %s, pile-up event by %s",parTitle.Data(),pileUpName[i].Data()),
3779 nptbins,ptmin,ptmax);
3784 fhPtNoIsoPileUp[i] =
new TH1F(Form(
"hPtNoIsoPileUp%s",pileUpName[i].Data()),
3785 Form(
"Number of not isolated particles vs #it{p}_{T}, %s, pile-up event by %s",parTitle.Data(),pileUpName[i].Data()),
3786 nptbins,ptmin,ptmax);
3792 fhTimeENoCut =
new TH2F (
"hTimeE_NoCut",
"time of cluster vs E of clusters, no cut", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
3797 fhTimeESPD =
new TH2F (
"hTimeE_SPD",
"time of cluster vs E of clusters, SPD cut", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
3802 fhTimeESPDMulti =
new TH2F (
"hTimeE_SPDMulti",
"time of cluster vs E of clusters, SPD multi cut", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
3807 fhTimeNPileUpVertSPD =
new TH2F (
"hTime_NPileUpVertSPD",
"time of cluster vs N pile-up SPD vertex", ntimebins,timemin,timemax,50,0,50);
3812 fhTimeNPileUpVertTrack =
new TH2F (
"hTime_NPileUpVertTracks",
"time of cluster vs N pile-up Tracks vertex", ntimebins,timemin,timemax, 50,0,50 );
3817 fhTimeNPileUpVertContributors =
new TH2F (
"hTime_NPileUpVertContributors",
"time of cluster vs N constributors to pile-up SPD vertex", ntimebins,timemin,timemax,50,0,50);
3822 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);
3827 fhTimePileUpMainVertexZDiamond =
new TH2F (
"hTime_PileUpMainVertexZDiamond",
"time of cluster vs distance in Z pile-up SPD vertex - z diamond",ntimebins,timemin,timemax,100,0,50);
3833 return outputContainer ;
3893 AliInfo(
"Open default isolation cuts for multiple Isolation analysis");
3900 AliFatal(
"STOP!: You want to use CTS tracks in analysis but not read!! \n!!Check the configuration file!!");
3963 Double_t phiTrig = 0 ;
3965 AliAODPWG4ParticleCorrelation* pLeading = 0;
3971 AliAODPWG4ParticleCorrelation* particle = (AliAODPWG4ParticleCorrelation*) (
GetInputAODBranch()->At(iaod));
3972 particle->SetLeadingParticle(kFALSE);
3978 if(check == 0)
continue;
3979 if(check == -1)
return kFALSE;
3991 if (particle->Pt() > ptTrig)
3993 ptTrig = particle->Pt() ;
3994 phiTrig = particle->Phi();
3996 pLeading = particle ;
4000 if(index < 0)
return kFALSE;
4006 if(phiTrig < 0 ) phiTrig += TMath::TwoPi();
4010 for(Int_t ipr = 0;ipr <
GetCTSTracks()->GetEntriesFast() ; ipr ++ )
4012 AliVTrack * track = (AliVTrack *) (
GetCTSTracks()->At(ipr)) ;
4014 if(track->GetID() == pLeading->GetTrackLabel(0) || track->GetID() == pLeading->GetTrackLabel(1) ||
4015 track->GetID() == pLeading->GetTrackLabel(2) || track->GetID() == pLeading->GetTrackLabel(3) )
continue ;
4017 fTrackVector.SetXYZ(track->Px(),track->Py(),track->Pz());
4020 if(phi < 0) phi+=TMath::TwoPi();
4024 Float_t deltaPhi = phiTrig-phi;
4030 if(deltaPhi <= -TMath::PiOver2()) deltaPhi+=TMath::TwoPi();
4031 if(deltaPhi > 3*TMath::PiOver2()) deltaPhi-=TMath::TwoPi();
4033 if(pt > ptTrig && deltaPhi < TMath::PiOver2())
return kFALSE;
4042 TObjArray * nePl = 0x0;
4043 if (pLeading->GetDetectorTag() ==
kPHOS )
4048 if(!nePl)
return kTRUE;
4050 for(Int_t ipr = 0;ipr < nePl->GetEntriesFast() ; ipr ++ )
4052 AliVCluster * cluster = (AliVCluster *) (nePl->At(ipr)) ;
4054 if(cluster->GetID() == pLeading->GetCaloLabel(0) || cluster->GetID() == pLeading->GetCaloLabel(1) )
continue ;
4060 if(phi < 0) phi+=TMath::TwoPi();
4067 Float_t deltaPhi = phiTrig-phi;
4068 if(deltaPhi <= -TMath::PiOver2()) deltaPhi+=TMath::TwoPi();
4069 if(deltaPhi > 3*TMath::PiOver2()) deltaPhi-=TMath::TwoPi();
4071 if(pt > ptTrig && deltaPhi < TMath::PiOver2())
return kFALSE ;
4077 pLeading->SetLeadingParticle(kTRUE);
4079 AliDebug(1,Form(
"Particle AOD with index %d is leading with pT %2.2f",idLeading, pLeading->Pt()));
4092 AliFatal(Form(
"No input particles in AOD with name branch < %s >, STOP",
GetInputAODName().Data()));
4094 if(strcmp(
GetInputAODBranch()->GetClass()->GetName(),
"AliAODPWG4ParticleCorrelation"))
4095 AliFatal(Form(
"Wrong type of AOD object, change AOD class name in input AOD: It should be <AliAODPWG4ParticleCorrelation> and not <%s>",
4098 Int_t n = 0, nfrac = 0;
4099 Bool_t isolated = kFALSE ;
4100 Float_t coneptsum = 0, coneptlead = 0;
4101 TObjArray * pl = 0x0; ;
4110 Int_t idLeading = -1 ;
4114 AliDebug(1,Form(
"Input aod branch entries %d", naod));
4121 AliDebug(1,
"Not leading; End fill AODs");
4130 for(Int_t iaod = iaod0; iaod < naod; iaod++)
4132 AliAODPWG4ParticleCorrelation * aodinput = (AliAODPWG4ParticleCorrelation*) (
GetInputAODBranch()->At(iaod));
4139 if(! in ) continue ;
4143 Float_t pt = aodinput->Pt();
4155 n=0; nfrac = 0; isolated = kFALSE; coneptsum = 0; coneptlead = 0;
4159 n,nfrac,coneptsum,coneptlead,isolated);
4163 AliDebug(1,Form(
"Particle isolated? %i; if so with index %d",isolated,iaod));
4179 AliDebug(1,Form(
"Histo aod branch entries %d", naod));
4181 for(Int_t iaod = 0; iaod < naod ; iaod++)
4183 AliAODPWG4ParticleCorrelation* aod = (AliAODPWG4ParticleCorrelation*) (
GetInputAODBranch()->At(iaod));
4191 if(! in ) continue ;
4194 Float_t pt = aod->Pt();
4199 Int_t mcTag = aod->GetTag() ;
4216 Bool_t isolated = kFALSE;
4217 Int_t n = 0, nfrac = 0;
4218 Float_t coneptsum = 0, coneptlead = 0;
4227 n,nfrac,coneptsum,coneptlead,isolated);
4230 Bool_t isolated = aod->IsIsolated();
4231 Float_t energy = aod->E();
4232 Float_t phi = aod->Phi();
4233 Float_t eta = aod->Eta();
4235 AliDebug(1,Form(
"pt %1.1f, eta %1.1f, phi %1.1f, Isolated %d",pt, eta, phi, isolated));
4241 Float_t coneptLeadCluster= 0;
4242 Float_t coneptLeadTrack = 0;
4243 Float_t coneptsumCluster = 0;
4244 Float_t coneptsumTrack = 0;
4245 Float_t coneptsumCell = 0;
4246 Float_t etaBandptsumClusterNorm = 0;
4247 Float_t etaBandptsumTrackNorm = 0;
4273 Float_t coneptLead = coneptLeadTrack;
4274 if(coneptLeadCluster > coneptLeadTrack) coneptLead = coneptLeadCluster;
4277 AliDebug(1,Form(
"Particle %d Energy Sum in Isolation Cone %2.2f, Leading pT in cone %2.2f",
4278 iaod, coneptsumTrack+coneptsumCluster, coneptLead));
4298 AliDebug(1,Form(
"Particle %d ISOLATED: fill histograms", iaod));
4364 AliDebug(1,Form(
"Particle %d NOT ISOLATED, fill histograms", iaod));
4408 AliDebug(1,
"Start");
4411 Double_t photonE = -1 ;
4412 Double_t photonPt = -1 ;
4413 Double_t photonPhi = 100 ;
4414 Double_t photonEta = -1 ;
4422 TParticle * primStack = 0;
4423 AliAODMCParticle * primAOD = 0;
4427 Float_t overlapAngle = 0;
4428 Float_t minECalo = 0;
4441 AliStack * stack = 0;
4446 nprim = stack->GetNtrack();
4450 TClonesArray * mcparticles = 0;
4454 if( !mcparticles )
return;
4455 nprim = mcparticles->GetEntriesFast();
4458 for(Int_t i=0 ; i < nprim; i++)
4460 if(
GetReader()->AcceptOnlyHIJINGLabels() && !
GetReader()->IsHIJINGLabel(i)) continue ;
4464 primStack = stack->Particle(i) ;
4467 AliWarning(
"ESD primaries pointer not available!!");
4471 pdg = primStack->GetPdgCode();
4472 status = primStack->GetStatusCode();
4474 if(primStack->Energy() == TMath::Abs(primStack->Pz())) continue ;
4487 primAOD = (AliAODMCParticle *) mcparticles->At(i);
4490 AliWarning(
"AOD primaries pointer not available!!");
4494 pdg = primAOD->GetPdgCode();
4495 status = primAOD->GetStatus();
4497 if(primAOD->E() == TMath::Abs(primAOD->Pz())) continue ;
4502 fMomentum.SetPxPyPzE(primAOD->Px(),primAOD->Py(),primAOD->Pz(),primAOD->E());
4506 if(pdg != 22 && pdg!=111 && pdg !=221) continue ;
4511 if( pdg == 22 && status != 1 &&
4523 if(photonPhi < 0) photonPhi+=TMath::TwoPi();
4551 Int_t pi0d1Label = -1, pi0d2Label = -1;
4552 Bool_t overlapPi0 = kTRUE;
4553 if( pdg == 111 || pdg == 221 )
4562 Bool_t okpi0 = kFALSE;
4565 Int_t d1Pdg = 0, d1Status = 0; Bool_t ok1 = kFALSE;
4566 Int_t d2Pdg = 0, d2Status = 0; Bool_t ok2 = kFALSE;
4575 if( ndaugh!=2 || (d2Pdg != d1Pdg && d1Pdg!=22)) okpi0 = kFALSE;
4581 if(d12Angle > overlapAngle) overlapPi0 = kFALSE;
4618 Double_t sumPtInCone = 0; Double_t dR=0. ;
4619 TParticle * mcisopStack = 0;
4620 AliAODMCParticle * mcisopAOD = 0;
4621 Int_t partInConeStatus = -1, partInConeMother = -1;
4622 Double_t partInConePt = 0, partInConeE = 0, partInConeEta = 0, partInConePhi = 0;
4623 Int_t partInConeCharge = 0, npart = 0;
4624 for(Int_t ip = 0; ip < nprim ; ip++)
4628 if( (pdg==111 || pdg==221) && ( ip == pi0d1Label || ip == pi0d2Label ) )
4636 mcisopStack =
static_cast<TParticle*
>(stack->Particle(ip));
4637 if( !mcisopStack )
continue;
4638 partInConeStatus = mcisopStack->GetStatusCode();
4643 if( partInConeStatus != 1 &&
4646 partInConeMother = mcisopStack->GetMother(0);
4647 partInConePt = mcisopStack->Pt();
4648 partInConeE = mcisopStack->Energy();
4649 partInConeEta = mcisopStack->Eta();
4650 partInConePhi = mcisopStack->Phi();
4651 partInConeCharge = TMath::Abs((Int_t) TDatabasePDG::Instance()->GetParticle(mcisopStack->GetPdgCode())->Charge());
4652 mcisopStack->Momentum(
fMomIso);
4656 mcisopAOD = (AliAODMCParticle *) mcparticles->At(ip);
4657 if( !mcisopAOD )
continue;
4659 partInConeStatus = mcisopAOD->GetStatus();
4663 if( partInConeStatus != 1 &&
4666 partInConeMother = mcisopAOD->GetMother();
4667 partInConePt = mcisopAOD->Pt();
4668 partInConeE = mcisopAOD->E();
4669 partInConeEta = mcisopAOD->Eta();
4670 partInConePhi = mcisopAOD->Phi();
4671 partInConeCharge = TMath::Abs(mcisopAOD->Charge());
4672 fMomIso.SetPxPyPzE(mcisopAOD->Px(),mcisopAOD->Py(),mcisopAOD->Pz(),mcisopAOD->E());
4675 if( partInConeMother == i )
continue;
4681 if( partInConeCharge > 0)
4693 if( partInConeE <= minECalo )
continue;
4713 sumPtInCone += partInConePt;
4735 Bool_t okpi0 = 0, ok1 = 0, ok2 = 0;
4736 Int_t pi0label = -1, d1Label = -1, d2Label = -1;
4737 Bool_t d2Acc = kTRUE, overlap = kTRUE;
4739 Float_t dRdaugh2 = 0, d12Angle = 0;
4753 Int_t d1Pdg = 0, d1Status = 0;
4755 Int_t d2Pdg = 0, d2Status = 0;
4757 if(d2Pdg != d1Pdg && d1Pdg!=22) okpi0 = kFALSE;
4765 Int_t tmpLabel = d2Label;
4786 if(phiDaugh2 < 0) phiDaugh2+=TMath::TwoPi();
4791 if(d12Angle > overlapAngle) overlap = kFALSE;
4807 if(!ok2 || !d2Acc ||
fMomDaugh2.E() <= minECalo)
4835 if(!ok2 || !d2Acc ||
fMomDaugh2.E() <= minECalo)