18 #include <TClonesArray.h>
19 #include <TObjString.h>
20 #include "TParticle.h"
21 #include "TDatabasePDG.h"
30 #include "AliVCluster.h"
31 #include "AliAODMCParticle.h"
32 #include "AliMixedEvent.h"
33 #include "AliAODEvent.h"
34 #include "AliESDEvent.h"
35 #include "AliMCEvent.h"
38 #include "AliPHOSGeoUtils.h"
39 #include "AliEMCALGeometry.h"
51 fMinDist(0.), fMinDist2(0.), fMinDist3(0.),
52 fRejectTrackMatch(0), fFillTMHisto(kFALSE),
53 fTimeCutMin(-10000), fTimeCutMax(10000),
55 fNLMCutMin(-1), fNLMCutMax(10),
56 fFillSSHistograms(0), fFillEMCALRegionSSHistograms(0),
57 fFillConversionVertexHisto(0),fFillOnlySimpleSSHisto(1),
58 fFillSSNLocMaxHisto(0),
59 fNOriginHistograms(9), fNPrimaryHistograms(5),
60 fMomentum(), fMomentum2(),
61 fPrimaryMom(), fProdVertex(),
62 fConstantTimeShift(0), fFillEBinAcceptanceHisto(0), fNEBinCuts(0),
63 fStudyActivityNearCluster(0),
67 fhNCellsE(0), fhCellsE(0),
68 fhMaxCellDiffClusterE(0), fhTimePt(0), fhEtaPhi(0),
70 fhEPhoton(0), fhPtPhoton(0),
71 fhPhiPhoton(0), fhEtaPhoton(0),
72 fhEtaPhiPhoton(0), fhEtaPhi05Photon(0),
73 fhPtCentralityPhoton(0), fhPtEventPlanePhoton(0),
77 fhDispE(0), fhDispPt(0),
78 fhLam0E(0), fhLam0Pt(0),
79 fhLam1E(0), fhLam1Pt(0),
80 fhLam0PtNLM1(0), fhLam0PtNLM2(0),
81 fhLam1PtNLM1(0), fhLam1PtNLM2(0),
82 fhDispETRD(0), fhLam0ETRD(0), fhLam0PtTRD(0), fhLam1ETRD(0),
83 fhDispETM(0), fhLam0ETM(0), fhLam0PtTM(0), fhLam1ETM(0),
84 fhDispETMTRD(0), fhLam0ETMTRD(0), fhLam0PtTMTRD(0), fhLam1ETMTRD(0),
86 fhNCellsLam0LowE(0), fhNCellsLam1LowE(0), fhNCellsDispLowE(0),
87 fhNCellsLam0HighE(0), fhNCellsLam1HighE(0), fhNCellsDispHighE(0),
89 fhEtaLam0LowE(0), fhPhiLam0LowE(0),
90 fhEtaLam0HighE(0), fhPhiLam0HighE(0),
91 fhLam0DispLowE(0), fhLam0DispHighE(0),
92 fhLam1Lam0LowE(0), fhLam1Lam0HighE(0),
93 fhDispLam1LowE(0), fhDispLam1HighE(0),
94 fhDispEtaE(0), fhDispPhiE(0),
95 fhSumEtaE(0), fhSumPhiE(0), fhSumEtaPhiE(0),
96 fhDispEtaPhiDiffE(0), fhSphericityE(0),
97 fhDispSumEtaDiffE(0), fhDispSumPhiDiffE(0),
100 fhMCPhotonELambda0NoOverlap(0), fhMCPhotonELambda0TwoOverlap(0), fhMCPhotonELambda0NOverlap(0),
102 fhEmbeddedSignalFractionEnergy(0),
103 fhEmbedPhotonELambda0FullSignal(0), fhEmbedPhotonELambda0MostlySignal(0),
104 fhEmbedPhotonELambda0MostlyBkg(0), fhEmbedPhotonELambda0FullBkg(0),
105 fhEmbedPi0ELambda0FullSignal(0), fhEmbedPi0ELambda0MostlySignal(0),
106 fhEmbedPi0ELambda0MostlyBkg(0), fhEmbedPi0ELambda0FullBkg(0),
108 fhTimePtPhotonNoCut(0), fhTimePtPhotonSPD(0),
109 fhTimeNPileUpVertSPD(0), fhTimeNPileUpVertTrack(0),
110 fhPtPhotonNPileUpSPDVtx(0), fhPtPhotonNPileUpTrkVtx(0),
111 fhPtPhotonNPileUpSPDVtxTimeCut(0), fhPtPhotonNPileUpTrkVtxTimeCut(0),
112 fhPtPhotonNPileUpSPDVtxTimeCut2(0), fhPtPhotonNPileUpTrkVtxTimeCut2(0),
114 fhEClusterSM(0), fhEPhotonSM(0),
115 fhPtClusterSM(0), fhPtPhotonSM(0),
116 fhMCConversionVertex(0), fhMCConversionVertexTRD(0),
120 fhLocalRegionClusterEnergySumHijing2(0),
121 fhLocalRegionClusterMultiplicityHijing2(0),
122 fhLocalRegionClusterEnergySumPerCentralityHijing2(0),
123 fhLocalRegionClusterMultiplicityPerCentralityHijing2(0),
124 fhDistance2AddedSignals(0), fhDistanceAddedSignalsHijing(0),
154 for(
Int_t i = 0; i < 7; i++)
196 for(
Int_t i = 0; i < 5; i++)
203 for(
Int_t i = 0; i < 2; i++)
217 for(
Int_t i = 0; i < 6; i++)
225 for(
Int_t ieta = 0; ieta < 4; ieta++)
227 for(
Int_t iphi = 0; iphi < 3; iphi++)
237 for(
Int_t ism =0; ism < 20; ism++)
245 for(
Int_t il0 = 0; il0 < 2; il0++)
247 for(
Int_t i = 0; i < 7; i++)
260 for(
Int_t ism =0; ism < 20; ism++)
296 for(
Int_t ism = 0; ism < 20; ism++)
306 for(
Int_t ilarge = 0; ilarge < 5; ilarge++)
312 for(
Int_t i = 0; i < 14; i++)
320 for(
Int_t igen = 0; igen < 10; igen++)
344 for(
Int_t icase = 0; icase < 6; icase++)
396 if(phi < 3.15 - radius && phi > 1.4 + radius && TMath::Abs(eta) < 0.7-radius)
399 Int_t genIndex, genIndexBkg;
400 Int_t genBkgTag = -1;
402 TString genName2 , genNameBkg2 ;
403 Int_t genIndex2, genIndexBkg2;
404 Int_t genBkgTag2 = -1;
408 AliVCluster * calo = (AliVCluster*) (clusterList->At(icalo));
415 if(
IsDataMC() && !genName.Contains(
"ijing") &&
429 for(
Int_t icalo2 = 0; icalo2 < clusterList->GetEntriesFast(); icalo2++)
431 if ( icalo2 == icalo )
continue;
433 AliVCluster * calo2 = (AliVCluster*) (clusterList->At(icalo2));
441 if(TMath::Abs(dPhi) >= TMath::Pi())
442 dPhi = TMath::TwoPi()-TMath::Abs(dPhi);
444 Float_t distance = TMath::Sqrt( dEta*dEta + dPhi*dPhi );
460 if ( distance > radius)
continue;
467 if(genName2.Contains(
"ijing"))
470 sumEHi += calo2->E();
473 if(genName2.Contains(
"ijing") || genBkgTag2 == 1 || genBkgTag2 == 3)
476 sumEHi2 += calo2->E();
547 if(genBkgTag < 0)
return;
663 TString genName =
"", genNameBkg =
"";
664 Int_t genIndex = -1, genIndexBkg = -1;
666 if (genBkgTag == -1)
return;
667 else if(genBkgTag > 3) printf(
"Bkg generator tag larger than 3\n");
674 Int_t pdg = 0, status = 0, momLabel = -1;
688 if ( eprim < 0.1 || en < 0.5 )
return;
766 if ( genBkgTag == 3 )
828 if(phicluster < 0) phicluster+=TMath::TwoPi();
832 AliDebug(2,Form(
"Current Event %d; Before selection : E %2.2f, pT %2.2f, phi %2.2f, eta %2.2f",
834 ecluster,ptcluster, phicluster*TMath::RadToDeg(),etacluster));
842 if(nSM <
GetCaloUtils()->GetNumberOfSuperModulesUsed() && nSM >=0)
852 AliDebug(2,Form(
"\t Cluster %d Pass E Cut",calo->GetID()));
862 if(tof < fTimeCutMin || tof >
fTimeCutMax)
return kFALSE;
864 AliDebug(2,Form(
"\t Cluster %d Pass Time Cut",calo->GetID()));
872 AliDebug(2,Form(
"\t Cluster %d Pass NCell Cut",calo->GetID()));
877 if(nMaxima < fNLMCutMin || nMaxima >
fNLMCutMax)
return kFALSE ;
878 AliDebug(2,Form(
"\t Cluster %d pass NLM %d of out of range",calo->GetID(), nMaxima));
888 if(! in )
return kFALSE ;
891 AliDebug(2,Form(
"\t Fiducial cut passed"));
906 AliDebug(2,
"\t Reject track-matched clusters");
910 AliDebug(2,
"\t Track-matching cut passed");
918 Double_t distBad=calo->GetDistanceToBadChannel() ;
919 if(distBad < 0.) distBad=9999. ;
924 else AliDebug(2,Form(
"\t Bad channel cut passed %4.2f > %2.2f",distBad,
fMinDist));
929 AliDebug(1,Form(
"Current Event %d; After selection : E %2.2f, pT %2.2f, phi %2.2f, eta %2.2f",
957 Bool_t inacceptance = kFALSE ;
959 TParticle * primStack = 0;
960 AliAODMCParticle * primAOD = 0;
963 AliStack * stack = 0;
969 AliFatal(
"Stack not available, is the MC handler called? STOP");
972 nprim = stack->GetNtrack();
976 TClonesArray * mcparticles = 0;
982 AliFatal(
"Standard MCParticles not available!");
985 nprim = mcparticles->GetEntriesFast();
988 for(
Int_t i=0 ; i < nprim; i++)
990 if ( !
GetReader()->AcceptParticleMCLabel( i ) ) continue ;
994 primStack = stack->Particle(i) ;
997 AliWarning(
"ESD primaries pointer not available!!");
1001 pdg = primStack->GetPdgCode();
1002 status = primStack->GetStatusCode();
1005 if ( primStack->Energy() == TMath::Abs(primStack->Pz()) ||
1006 (primStack->Energy() - primStack->Pz()) < 1e-3 ||
1007 (primStack->Energy() + primStack->Pz()) < 0 ) continue ;
1015 photonY = 0.5*TMath::Log((primStack->Energy()+primStack->Pz())/(primStack->Energy()-primStack->Pz())) ;
1019 primAOD = (AliAODMCParticle *) mcparticles->At(i);
1022 AliWarning(
"AOD primaries pointer not available!!");
1026 pdg = primAOD->GetPdgCode();
1027 status = primAOD->GetStatus();
1030 if ( primAOD->E() == TMath::Abs(primAOD->Pz()) ||
1031 (primAOD->E() - primAOD->Pz()) < 1e-3 ||
1032 (primAOD->E() + primAOD->Pz()) < 0 ) continue ;
1035 fMomentum.SetPxPyPzE(primAOD->Px(),primAOD->Py(),primAOD->Pz(),primAOD->E());
1037 photonY = 0.5*TMath::Log((primAOD->E()+primAOD->Pz())/(primAOD->E()-primAOD->Pz())) ;
1041 if(pdg != 22 ) continue ;
1052 if(photonPhi < 0) photonPhi+=TMath::TwoPi();
1055 inacceptance = kTRUE;
1088 if(status > 1) continue ;
1128 if(!takeIt) continue ;
1132 if(TMath::Abs(photonY) < 1.0)
1153 if(TMath::Abs(photonY) < 1.0)
1350 Float_t time = cluster->GetTOF()*1.e9;
1371 if(cells->GetCellAmplitude(absIdMax) > 0.1 && TMath::Abs(time) < 30)
1373 for (
Int_t ipos = 0; ipos < cluster->GetNCells(); ipos++)
1375 Int_t absId = cluster->GetCellsAbsId()[ipos];
1377 if( absId == absIdMax ) continue ;
1379 Double_t tcell = cells->GetCellTime(absId);
1380 Float_t amp = cells->GetCellAmplitude(absId);
1389 if( cells->GetCellAmplitude(absIdMax) < 0.1 )
continue ;
1414 nVtxSPD = esdEv->GetNumberOfPileupVerticesSPD();
1415 nVtxTrk = esdEv->GetNumberOfPileupVerticesTracks();
1420 nVtxSPD = aodEv->GetNumberOfPileupVerticesSPD();
1421 nVtxTrk = aodEv->GetNumberOfPileupVerticesTracks();
1433 if(TMath::Abs(time) < 25)
1439 if(time < 75 && time > -25)
1455 Int_t ncells = cluster->GetNCells();
1456 Float_t lambda0 = cluster->GetM02();
1457 Float_t lambda1 = cluster->GetM20();
1458 Float_t disp = cluster->GetDispersion()*cluster->GetDispersion();
1463 if(phi < 0) phi+=TMath::TwoPi();
1513 Int_t etaRegion = -1, phiRegion = -1;
1515 if(etaRegion >= 0 && etaRegion < 4 && phiRegion >=0 && phiRegion < 3)
1537 if ( lambda0 >=0.30 && lambda0 <= 0.40 ) l0bin = 1;
1538 else if( lambda0 >=0.23 && lambda0 <= 0.26 ) l0bin = 0;
1540 Float_t ptLimit[] = {2,3,4,5,6,8,10,12};
1542 for(
Int_t ipt = 0; ipt < 7; ipt++)
1544 if( pt >= ptLimit[ipt] && pt < ptLimit[ipt+1] )
1573 Int_t ncell = cluster->GetNCells();
1578 for(
Int_t icell = 0; icell < ncell; icell++)
1580 Int_t absId = cluster->GetCellAbsId(icell);
1581 Float_t cellE = cells->GetCellAmplitude(absId);
1582 Double_t cellTime = cells->GetCellTime(absId);
1588 enerList[icell] = cellE;
1589 timeList[icell] = cellTime;
1592 TMath::Sort(ncell,enerList,sortList);
1598 Int_t absIdMax = cluster->GetCellAbsId(sortList[0]);
1600 Double_t cellTimeMax = timeList[sortList[0]];
1608 for(
Int_t icell = 1; icell < ncell; icell++)
1610 Int_t absId = cluster->GetCellAbsId(sortList[icell]);
1611 Float_t cellE = enerList[sortList[icell]];
1612 Double_t cellTime = timeList[sortList[icell]];
1616 if ( absId == absIdMax )
continue;
1621 if(weight < 0.01)
continue;
1623 if ( TMath::Abs(cellTime) > 50 )
1626 largeTimeE += cellE;
1629 if ( l0bin == -1 )
continue;
1650 if ( TMath::Abs(cellTime) > 50 )
1661 Int_t icol = -1, icolAbs = -1;
1662 Int_t irow = -1, irowAbs = -1;
1669 if ( TMath::Abs(cellTime) > 50 )
1679 if ( largeTime > 0 )
1700 delete [] sortList ;
1701 delete [] enerList ;
1702 delete [] timeList ;
1707 Float_t dispp= 0., dEta = 0., dPhi = 0.;
1708 Float_t sEta = 0., sPhi = 0., sEtaPhi = 0.;
1712 l0, l1, dispp, dEta, dPhi, sEta, sPhi, sEtaPhi);
1729 if (energy < 2 ) ebin = 0;
1730 else if (energy < 4 ) ebin = 1;
1731 else if (energy < 6 ) ebin = 2;
1732 else if (energy < 10) ebin = 3;
1733 else if (energy < 15) ebin = 4;
1734 else if (energy < 20) ebin = 5;
1746 Float_t dZ = cluster->GetTrackDz();
1747 Float_t dR = cluster->GetTrackDx();
1754 if(TMath::Abs(dZ) < 0.05 && TMath::Abs(dR) < 0.05)
1802 AliVCaloCells* cells = 0;
1810 if(
GetReader()->IsEmbeddedClusterSelectionOn())
1817 for(
Int_t icell = 0; icell < cluster->GetNCells(); icell++)
1819 cellE = cells->GetCellAmplitude(cluster->GetCellAbsId(icell));
1821 fraction+=cellE*cluster->GetCellAmplitudeFraction(icell);
1827 AliDebug(1,Form(
"Energy fraction of embedded signal %2.3f, Energy %2.3f",fraction, clusterE));
1843 if(!
GetReader()->IsEmbeddedClusterSelectionOn())
1849 const UInt_t nlabels = cluster->GetNLabels();
1850 Int_t overpdg[nlabels];
1851 Int_t overlab[nlabels];
1860 else if(noverlaps == 1)
1864 else if(noverlaps > 1)
1870 AliWarning(Form(
"n overlaps = %d!!", noverlaps));
1875 if(
GetReader()->IsEmbeddedClusterSelectionOn())
1881 else if(fraction > 0.5)
1885 else if(fraction > 0.1)
1912 if(
GetReader()->IsEmbeddedClusterSelectionOn())
1918 else if(fraction > 0.5)
1922 else if(fraction > 0.1)
1956 else if(energy < 6.)
1977 if (energy < 2 ) ebin = 0;
1978 else if (energy < 4 ) ebin = 1;
1979 else if (energy < 6 ) ebin = 2;
1980 else if (energy < 10) ebin = 3;
1981 else if (energy < 15) ebin = 4;
1982 else if (energy < 20) ebin = 5;
2003 Float_t dZ = cluster->GetTrackDz();
2004 Float_t dR = cluster->GetTrackDx();
2014 Bool_t positive = kFALSE;
2015 if(track) positive = (track->Charge()>0);
2050 if(TMath::Abs(dZ) < 0.05 && TMath::Abs(dR) < 0.05)
2054 Float_t dEdx = track->GetTPCsignal();
2055 Float_t eOverp = cluster->E()/track->P();
2067 AliWarning(Form(
"Residual OK but (dR, dZ)= (%2.4f,%2.4f) no track associated WHAT?", dR,dZ));
2090 if(cluster->GetNLabels()==1)
2140 const Int_t buffersize = 255;
2141 char onePar[buffersize] ;
2143 snprintf(onePar,buffersize,
"--- AliAnaPhoton ---:") ;
2147 snprintf(onePar,buffersize,
"fMinDist =%2.2f (Minimal distance to bad channel to accept cluster);",
fMinDist) ;
2149 snprintf(onePar,buffersize,
"fMinDist2=%2.2f (Cuts on Minimal distance to study acceptance evaluation);",
fMinDist2) ;
2151 snprintf(onePar,buffersize,
"fMinDist3=%2.2f (One more cut on distance used for acceptance-efficiency study);",
fMinDist3) ;
2165 return new TObjString(parList) ;
2175 outputContainer->SetName(
"PhotonHistos") ;
2206 Int_t bin[] = {0,2,4,6,10,15,20,100};
2208 TString cut[] = {
"Open",
"Reader",
"E",
"Time",
"NCells",
"NLM",
"Fidutial",
"Matching",
"Bad",
"PID"};
2209 for (
Int_t i = 0; i < 10 ; i++)
2212 Form(
"Number of clusters that pass cuts <= %d, %s", i, cut[i].
Data()),
2213 nptbins,ptmin,ptmax);
2219 Form(
"Number of clusters that pass cuts <= %d, %s", i, cut[i].
Data()),
2220 nptbins,ptmin,ptmax);
2226 fhEClusterSM =
new TH2F(
"hEClusterSM",
"Raw clusters E and super-module number",
2227 nptbins,ptmin,ptmax,
2233 fhPtClusterSM =
new TH2F(
"hPtClusterSM",
"Raw clusters #it{p}_{T} and super-module number",
2234 nptbins,ptmin,ptmax,
2240 fhEPhotonSM =
new TH2F(
"hEPhotonSM",
"Selected clusters E and super-module number",
2241 nptbins,ptmin,ptmax,
2247 fhPtPhotonSM =
new TH2F(
"hPtPhotonSM",
"Selected clusters #it{p}_{T} and super-module number",
2248 nptbins,ptmin,ptmax,
2254 fhNCellsE =
new TH2F (
"hNCellsE",
"# of cells in cluster vs E of clusters", nptbins,ptmin,ptmax, nbins,nmin,nmax);
2256 fhNCellsE->SetYTitle(
"# of cells in cluster");
2259 fhCellsE =
new TH2F (
"hCellsE",
"energy of cells in cluster vs E of clusters", nptbins,ptmin,ptmax, nptbins*2,ptmin,ptmax);
2260 fhCellsE->SetXTitle(
"#it{E}_{cluster} (GeV)");
2261 fhCellsE->SetYTitle(
"#it{E}_{cell} (GeV)");
2264 fhTimePt =
new TH2F (
"hTimePt",
"time of cluster vs pT of clusters", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
2265 fhTimePt->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2266 fhTimePt->SetYTitle(
"#it{time} (ns)");
2269 fhMaxCellDiffClusterE =
new TH2F (
"hMaxCellDiffClusterE",
"energy vs difference of cluster energy - max cell energy / cluster energy, good clusters",
2270 nptbins,ptmin,ptmax, 500,0,1.);
2275 fhEPhoton =
new TH1F(
"hEPhoton",
"Number of #gamma over calorimeter vs energy",nptbins,ptmin,ptmax);
2277 fhEPhoton->SetXTitle(
"#it{E}_{#gamma}(GeV)");
2280 fhPtPhoton =
new TH1F(
"hPtPhoton",
"Number of #gamma over calorimeter vs #it{p}_{T}",nptbins,ptmin,ptmax);
2282 fhPtPhoton->SetXTitle(
"p_{T #gamma}(GeV/#it{c})");
2292 fhPtEventPlanePhoton =
new TH2F(
"hPtEventPlanePhoton",
"centrality vs #it{p}_{T}",nptbins,ptmin,ptmax, 100,0,TMath::Pi());
2299 (
"hEtaPhi",
"cluster,#it{E} > 0.5 GeV, #eta vs #phi",netabins,etamin,etamax,nphibins,phimin,phimax);
2305 (
"hPhiPhoton",
"#phi_{#gamma} vs #it{p}_{T}",nptbins,ptmin,ptmax,nphibins,phimin,phimax);
2307 fhPhiPhoton->SetXTitle(
"p_{T #gamma} (GeV/#it{c})");
2311 (
"hEtaPhoton",
"#eta_{#gamma} vs #it{p}_{T}",nptbins,ptmin,ptmax,netabins,etamin,etamax);
2313 fhEtaPhoton->SetXTitle(
"p_{T #gamma} (GeV/#it{c})");
2317 (
"hEtaPhiPhoton",
"#eta vs #phi",netabins,etamin,etamax,nphibins,phimin,phimax);
2324 (
"hEtaPhi05Photon",
"#eta vs #phi, E < 0.5",netabins,etamin,etamax,nphibins,phimin,phimax);
2330 fhNLocMax =
new TH2F(
"hNLocMax",
"Number of local maxima in cluster",
2331 nptbins,ptmin,ptmax,10,0,10);
2339 fhLam0E =
new TH2F (
"hLam0E",
"#lambda_{0}^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2340 fhLam0E->SetYTitle(
"#lambda_{0}^{2}");
2341 fhLam0E->SetXTitle(
"#it{E} (GeV)");
2342 outputContainer->Add(
fhLam0E);
2344 fhLam0Pt =
new TH2F (
"hLam0Pt",
"#lambda_{0}^{2} vs #it{p}_{T}", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2345 fhLam0Pt->SetYTitle(
"#lambda_{0}^{2}");
2346 fhLam0Pt->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2349 fhLam1E =
new TH2F (
"hLam1E",
"#lambda_{1}^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2350 fhLam1E->SetYTitle(
"#lambda_{1}^{2}");
2351 fhLam1E->SetXTitle(
"#it{E} (GeV)");
2352 outputContainer->Add(
fhLam1E);
2354 fhLam1Pt =
new TH2F (
"hLam1Pt",
"#lambda_{1}^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2355 fhLam1Pt->SetYTitle(
"#lambda_{1}^{2}");
2356 fhLam1Pt->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2359 fhDispE =
new TH2F (
"hDispE",
" dispersion^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2361 fhDispE->SetXTitle(
"#it{E} (GeV) ");
2362 outputContainer->Add(
fhDispE);
2364 fhDispPt =
new TH2F (
"hDispPt",
" dispersion^{2} vs #it{p}_{T}", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2366 fhDispPt->SetXTitle(
"#it{p}_{T} (GeV/#it{c}) ");
2371 fhLam0PtNLM1 =
new TH2F (
"hLam0PtNLM1",
"#lambda_{0}^{2} vs #it{p}_{T}, #it{n}_{LM}=1", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2376 fhLam0PtNLM2 =
new TH2F (
"hLam0PtNLM2",
"#lambda_{0}^{2} vs #it{p}_{T}, #it{n}_{LM}=2", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2381 fhLam1PtNLM1 =
new TH2F (
"hLam1PtNLM1",
"#lambda_{1}^{2} vs #it{p}_{T}, #it{n}_{LM}=1", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2386 fhLam1PtNLM2 =
new TH2F (
"hLam1PtNLM2",
"#lambda_{1}^{2} vs #it{p}_{T}, #it{n}_{LM}=2", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2394 fhLam0ETM =
new TH2F (
"hLam0ETM",
"#lambda_{0}^{2} vs E, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #phi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2395 fhLam0ETM->SetYTitle(
"#lambda_{0}^{2}");
2399 fhLam0PtTM =
new TH2F (
"hLam0PtTM",
"#lambda_{0}^{2} vs #it{p}_{T}, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #phi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2401 fhLam0PtTM->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2404 fhLam1ETM =
new TH2F (
"hLam1ETM",
"#lambda_{1}^{2} vs E, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #phi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2405 fhLam1ETM->SetYTitle(
"#lambda_{1}^{2}");
2409 fhDispETM =
new TH2F (
"hDispETM",
" dispersion^{2} vs E, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #phi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2417 fhLam0ETRD =
new TH2F (
"hLam0ETRD",
"#lambda_{0}^{2} vs E, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2422 fhLam0PtTRD =
new TH2F (
"hLam0PtTRD",
"#lambda_{0}^{2} vs #it{p}_{T}, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2424 fhLam0PtTRD->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2427 fhLam1ETRD =
new TH2F (
"hLam1ETRD",
"#lambda_{1}^{2} vs E, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2432 fhDispETRD =
new TH2F (
"hDispETRD",
" dispersion^{2} vs E, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2439 fhLam0ETMTRD =
new TH2F (
"hLam0ETMTRD",
"#lambda_{0}^{2} vs E, EMCAL SM covered by TRD, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #phi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2444 fhLam0PtTMTRD =
new TH2F (
"hLam0PtTMTRD",
"#lambda_{0}^{2} vs #it{p}_{T}, EMCAL SM covered by TRD, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #phi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2449 fhLam1ETMTRD =
new TH2F (
"hLam1ETMTRD",
"#lambda_{1}^{2} vs E, EMCAL SM covered by TRD, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #phi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2454 fhDispETMTRD =
new TH2F (
"hDispETMTRD",
" dispersion^{2} vs E, EMCAL SM covered by TRD, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #phi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2463 fhNCellsLam0LowE =
new TH2F (
"hNCellsLam0LowE",
"N_{cells} in cluster vs #lambda_{0}^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2468 fhNCellsLam0HighE =
new TH2F (
"hNCellsLam0HighE",
"N_{cells} in cluster vs #lambda_{0}^{2}, #it{E} > 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2473 fhNCellsLam1LowE =
new TH2F (
"hNCellsLam1LowE",
"N_{cells} in cluster vs #lambda_{1}^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2478 fhNCellsLam1HighE =
new TH2F (
"hNCellsLam1HighE",
"N_{cells} in cluster vs #lambda_{1}^{2}, #it{E} > 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2483 fhNCellsDispLowE =
new TH2F (
"hNCellsDispLowE",
"N_{cells} in cluster vs dispersion^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2488 fhNCellsDispHighE =
new TH2F (
"hNCellsDispHighE",
"N_{cells} in cluster vs dispersion^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2493 fhEtaLam0LowE =
new TH2F (
"hEtaLam0LowE",
"#eta vs #lambda_{0}^{2}, E < 2 GeV", netabins,etamin,etamax, ssbins,ssmin,ssmax);
2498 fhPhiLam0LowE =
new TH2F (
"hPhiLam0LowE",
"#phi vs #lambda_{0}^{2}, E < 2 GeV", nphibins,phimin,phimax, ssbins,ssmin,ssmax);
2503 fhEtaLam0HighE =
new TH2F (
"hEtaLam0HighE",
"#eta vs #lambda_{0}^{2}, #it{E} > 2 GeV", netabins,etamin,etamax, ssbins,ssmin,ssmax);
2508 fhPhiLam0HighE =
new TH2F (
"hPhiLam0HighE",
"#phi vs #lambda_{0}^{2}, #it{E} > 2 GeV", nphibins,phimin,phimax, ssbins,ssmin,ssmax);
2513 fhLam1Lam0LowE =
new TH2F (
"hLam1Lam0LowE",
"#lambda_{0}^{2} vs #lambda_{1}^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2518 fhLam1Lam0HighE =
new TH2F (
"hLam1Lam0HighE",
"#lambda_{0}^{2} vs #lambda_{1}^{2} in cluster of #it{E} > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2523 fhLam0DispLowE =
new TH2F (
"hLam0DispLowE",
"#lambda_{0}^{2} vs dispersion^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2528 fhLam0DispHighE =
new TH2F (
"hLam0DispHighE",
"#lambda_{0}^{2} vs dispersion^{2} in cluster of #it{E} > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2533 fhDispLam1LowE =
new TH2F (
"hDispLam1LowE",
"Dispersion^{2} vs #lambda_{1}^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2538 fhDispLam1HighE =
new TH2F (
"hDispLam1HighE",
"Dispersion^{2} vs #lambda_{1^{2}} in cluster of #it{E} > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2545 fhDispEtaE =
new TH2F (
"hDispEtaE",
"#sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
2547 fhDispEtaE->SetYTitle(
"#sigma^{2}_{#eta #eta}");
2550 fhDispPhiE =
new TH2F (
"hDispPhiE",
"#sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i} - <#phi>)^{2} / #Sigma w_{i} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
2552 fhDispPhiE->SetYTitle(
"#sigma^{2}_{#phi #phi}");
2555 fhSumEtaE =
new TH2F (
"hSumEtaE",
"#delta^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i})^{2} / #Sigma w_{i} - <#eta>^{2} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
2557 fhSumEtaE->SetYTitle(
"#delta^{2}_{#eta #eta}");
2560 fhSumPhiE =
new TH2F (
"hSumPhiE",
"#delta^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i})^{2}/ #Sigma w_{i} - <#phi>^{2} vs E",
2561 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
2563 fhSumPhiE->SetYTitle(
"#delta^{2}_{#phi #phi}");
2566 fhSumEtaPhiE =
new TH2F (
"hSumEtaPhiE",
"#delta^{2}_{#eta #phi} = #Sigma w_{i}(#phi_{i} #eta_{i} ) / #Sigma w_{i} - <#phi><#eta> vs E",
2567 nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
2572 fhDispEtaPhiDiffE =
new TH2F (
"hDispEtaPhiDiffE",
"#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta} vs E",
2573 nptbins,ptmin,ptmax,200, -10,10);
2578 fhSphericityE =
new TH2F (
"hSphericityE",
"(#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi}) vs E",
2579 nptbins,ptmin,ptmax, 200, -1,1);
2581 fhSphericityE->SetYTitle(
"s = (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi})");
2584 fhDispSumEtaDiffE =
new TH2F (
"hDispSumEtaDiffE",
"#sigma^{2}_{#eta #eta} - #delta^{2}_{#eta #eta} / average vs E", nptbins,ptmin,ptmax, 200,-0.01,0.01);
2586 fhDispSumEtaDiffE->SetYTitle(
"#sigma^{2}_{#eta #eta} - #delta^{2}_{#eta #eta} / average");
2589 fhDispSumPhiDiffE =
new TH2F (
"hDispSumPhiDiffE",
"#sigma^{2}_{#phi #phi} - #delta^{2}_{#phi #phi} / average vs E", nptbins,ptmin,ptmax, 200,-0.01,0.01);
2591 fhDispSumPhiDiffE->SetYTitle(
"#sigma^{2}_{#phi #phi} - #delta^{2}_{#phi #phi} / average");
2594 for(
Int_t i = 0; i < 7; i++)
2596 fhDispEtaDispPhi[i] =
new TH2F (Form(
"hDispEtaDispPhi_EBin%d",i),Form(
"#sigma^{2}_{#phi #phi} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",bin[i],bin[i+1]),
2597 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
2602 fhLambda0DispEta[i] =
new TH2F (Form(
"hLambda0DispEta_EBin%d",i),Form(
"#lambda^{2}_{0} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",bin[i],bin[i+1]),
2603 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
2608 fhLambda0DispPhi[i] =
new TH2F (Form(
"hLambda0DispPhi_EBin%d",i),Form(
"#lambda^{2}_{0}} vs #sigma^{2}_{#phi #phi} for %d < E < %d GeV",bin[i],bin[i+1]),
2609 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
2622 TString cutTM [] = {
"NoCut",
""};
2624 for(
Int_t i = 0; i < 2; i++)
2627 (Form(
"hTrackMatchedDEta%s",cutTM[i].
Data()),
2628 Form(
"d#eta of cluster-track vs cluster energy, %s",cutTM[i].
Data()),
2629 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2634 (Form(
"hTrackMatchedDPhi%s",cutTM[i].
Data()),
2635 Form(
"d#phi of cluster-track vs cluster energy, %s",cutTM[i].
Data()),
2636 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2641 (Form(
"hTrackMatchedDEtaDPhi%s",cutTM[i].
Data()),
2642 Form(
"d#eta vs d#phi of cluster-track vs cluster energy, %s",cutTM[i].
Data()),
2643 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
2648 (Form(
"hTrackMatchedDEtaPos%s",cutTM[i].
Data()),
2649 Form(
"d#eta of cluster-track vs cluster energy, %s",cutTM[i].
Data()),
2650 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2655 (Form(
"hTrackMatchedDPhiPos%s",cutTM[i].
Data()),
2656 Form(
"d#phi of cluster-track vs cluster energy, %s",cutTM[i].
Data()),
2657 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2662 (Form(
"hTrackMatchedDEtaDPhiPos%s",cutTM[i].
Data()),
2663 Form(
"d#eta vs d#phi of cluster-track vs cluster energy, %s",cutTM[i].
Data()),
2664 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
2669 (Form(
"hTrackMatchedDEtaNeg%s",cutTM[i].
Data()),
2670 Form(
"d#eta of cluster-track vs cluster energy, %s",cutTM[i].
Data()),
2671 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2676 (Form(
"hTrackMatchedDPhiNeg%s",cutTM[i].
Data()),
2677 Form(
"d#phi of cluster-track vs cluster energy, %s",cutTM[i].
Data()),
2678 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2683 (Form(
"hTrackMatchedDEtaDPhiNeg%s",cutTM[i].
Data()),
2684 Form(
"d#eta vs d#phi of cluster-track vs cluster energy, %s",cutTM[i].
Data()),
2685 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
2689 fhdEdx[i] =
new TH2F (Form(
"hdEdx%s",cutTM[i].
Data()),Form(
"matched track <dE/dx> vs cluster E, %s",cutTM[i].
Data()),
2690 nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
2691 fhdEdx[i]->SetXTitle(
"#it{E} (GeV)");
2692 fhdEdx[i]->SetYTitle(
"<dE/dx>");
2694 fhEOverP[i] =
new TH2F (Form(
"hEOverP%s",cutTM[i].
Data()),Form(
"matched track E/p vs cluster E, %s",cutTM[i].
Data()),
2695 nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
2696 fhEOverP[i]->SetXTitle(
"#it{E} (GeV)");
2708 outputContainer->Add(
fhdEdx[i]);
2714 (Form(
"hTrackMatchedDEtaTRD%s",cutTM[i].
Data()),
2715 Form(
"d#eta of cluster-track vs cluster energy, SM behind TRD, %s",cutTM[i].
Data()),
2716 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2721 (Form(
"hTrackMatchedDPhiTRD%s",cutTM[i].
Data()),
2722 Form(
"d#phi of cluster-track vs cluster energy, SM behing TRD, %s",cutTM[i].
Data()),
2723 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2728 (Form(
"hEOverPTRD%s",cutTM[i].
Data()),
2729 Form(
"matched track E/p vs cluster E, behind TRD, %s",cutTM[i].
Data()),
2730 nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
2742 (Form(
"hTrackMatchedDEtaMCNoOverlap%s",cutTM[i].
Data()),
2743 Form(
"d#eta of cluster-track vs cluster energy, no other MC particles overlap %s",cutTM[i].
Data()),
2744 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2749 (Form(
"hTrackMatchedDPhiMCNoOverlap%s",cutTM[i].
Data()),
2750 Form(
"d#phi of cluster-track vs cluster energy, no other MC particles overlap %s",cutTM[i].
Data()),
2751 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2758 (Form(
"hTrackMatchedDEtaMCOverlap%s",cutTM[i].
Data()),
2759 Form(
"d#eta of cluster-track vs cluster energy, several MC particles overlap %s",cutTM[i].
Data()),
2760 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2765 (Form(
"hTrackMatchedDPhiMCOverlap%s",cutTM[i].
Data()),
2766 Form(
"d#phi of cluster-track vs cluster energy, several MC particles overlap %s",cutTM[i].
Data()),
2767 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2775 (Form(
"hTrackMatchedDEtaMCConversion%s",cutTM[i].
Data()),
2776 Form(
"d#eta of cluster-track vs cluster energy, no other MC particles overlap appart from conversions %s",cutTM[i].
Data()),
2777 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2782 (Form(
"hTrackMatchedDPhiMCConversion%s",cutTM[i].
Data()),
2783 Form(
"d#phi of cluster-track vs cluster energy, no other MC particles overlap appart from conversions %s",cutTM[i].
Data()),
2784 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2792 (Form(
"hTrackMatchedMCParticle%s",cutTM[i].
Data()),
2793 Form(
"Origin of particle vs energy %s",cutTM[i].
Data()),
2794 nptbins,ptmin,ptmax,8,0,8);
2814 TString pileUpName[] = {
"SPD",
"EMCAL",
"SPDOrEMCAL",
"SPDAndEMCAL",
"SPDAndNotEMCAL",
"EMCALAndNotSPD",
"NotSPDAndNotEMCAL"} ;
2816 for(
Int_t i = 0 ; i < 7 ; i++)
2819 Form(
"Selected photon #it{p}_{T} distribution, %s Pile-Up event",pileUpName[i].
Data()), nptbins,ptmin,ptmax);
2824 Form(
"Photon cluster E vs #it{t}_{max}-#it{t}_{cell} in cluster, %s Pile-Up event",pileUpName[i].
Data()),
2825 nptbins,ptmin,ptmax,400,-200,200);
2831 fhTimePtPhotonNoCut =
new TH2F (
"hTimePtPhoton_NoCut",
"time of photon cluster vs pT of clusters, no cut", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
2836 fhTimePtPhotonSPD =
new TH2F (
"hTimePtPhoton_SPD",
"time of photon cluster vs pT of clusters, SPD cut", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
2841 fhTimeNPileUpVertSPD =
new TH2F (
"hTime_NPileUpVertSPD",
"time of cluster vs N pile-up SPD vertex", ntimebins,timemin,timemax,20,0,20);
2846 fhTimeNPileUpVertTrack =
new TH2F (
"hTime_NPileUpVertTracks",
"time of cluster vs N pile-up Tracks vertex", ntimebins,timemin,timemax, 20,0,20 );
2852 nptbins,ptmin,ptmax,20,0,20);
2858 nptbins,ptmin,ptmax, 20,0,20 );
2864 nptbins,ptmin,ptmax,20,0,20);
2870 nptbins,ptmin,ptmax, 20,0,20 );
2876 nptbins,ptmin,ptmax,20,0,20);
2882 nptbins,ptmin,ptmax, 20,0,20 );
2891 for(
Int_t ieta = 0; ieta < 4; ieta++)
2893 for(
Int_t iphi = 0; iphi < 3; iphi++)
2917 new TH2F(Form(
"hLam0_eta%d_phi%d_sm%d",ieta,iphi,ism),
2918 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{0}^{2}, sm %d, region eta %d, phi %d",ism,ieta,iphi),
2919 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2925 new TH2F(Form(
"hLam1_eta%d_phi%d_sm%d",ieta,iphi,ism),
2926 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{1}^{2}, sm %d, region eta %d, phi %d",ism,ieta,iphi),
2927 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2935 Float_t ptLimit[] = {2,3,4,5,6,8,10,12};
2936 TString l0bin [] = {
"0.23<#lambda^{2}_{0}<0.26",
"0.3<#lambda^{2}_{0}<0.4"};
2938 for(
Int_t il0 = 0; il0 < 2; il0++)
2940 for(
Int_t ipt = 0; ipt < 7; ipt++)
2943 (Form(
"hEtaPhiLam0Bin%d_PtBin%d",il0,ipt),
2944 Form(
"#eta vs #phi in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s",
2945 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
2946 netabins,etamin,etamax,nphibins,phimin,phimax);
2952 (Form(
"hColRowLam0Bin%d_PtBin%d",il0,ipt),
2953 Form(
"row vs column in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s, w > 0",
2954 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
2955 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
2961 (Form(
"hColRowLam0Bin%d_PtBin%dWeighted",il0,ipt),
2962 Form(
"cluster cell row vs column weighted in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s",
2963 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
2964 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
2970 (Form(
"hColRowLam0Bin%d_PtBin%d_LargeTimeInClusterCell",il0,ipt),
2971 Form(
"row vs column in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s, |t| > 50 ns, w > 0",
2972 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
2973 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
2997 (Form(
"hEtaPhiLam0Bin%d_PtBin%d_LargeTimeInClusterCell",il0,ipt),
2998 Form(
"#eta vs #phi in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, t > 50 ns, %s",
2999 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3000 netabins,etamin,etamax,nphibins,phimin,phimax);
3006 (Form(
"hCellClusterIndexEAndTimeLam0Bin%d_PtBin%d",il0,ipt),
3007 Form(
"#it{t}_{cell} vs cell index (E sorted) in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, %s",
3008 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3009 ntimebins,timemin,timemax,30,0,30);
3015 (Form(
"hCellClusterEAndTimeLam0Bin%d_PtBin%d",il0,ipt),
3016 Form(
"#it{E}_{cell} vs #it{t}_{cell} in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, %s",
3017 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3018 ntimebins,timemin,timemax,100,0,5);
3024 (Form(
"hCellClusterEFracAndTimeLam0Bin%d_PtBin%d",il0,ipt),
3025 Form(
"#it{E}_{cell} vs #it{t}_{cell} in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, %s",
3026 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3027 ntimebins,timemin,timemax,100,0,1);
3036 (Form(
"hLam1Lam0Bin%d_sm%d",il0,ism),
3037 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in sm %d, %s",ism,l0bin[il0].
Data()),
3038 nptbins,ptmin,ptmax,40,0,0.4);
3044 (Form(
"hTimeLam0Bin%d_sm%d",il0,ism),
3045 Form(
"#it{p}_{T} vs cluster cell time in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3046 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3052 (Form(
"hTimeLam0Bin%d_sm%d_Weighted",il0,ism),
3053 Form(
"#it{p}_{T} vs cluster cell time weighted in sm %d, %s",ism,l0bin[il0].
Data()),
3054 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3060 (Form(
"hDTimeLam0Bin%d_sm%d",il0,ism),
3061 Form(
"#it{p}_{T} vs t_{cluster}-t_{cell} in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3062 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3068 (Form(
"hDTimeLam0Bin%d_sm%d_Weighted",il0,ism),
3069 Form(
"#it{p}_{T} vs t_{cluster}-t_{cell} weighted in sm %d, %s",ism,l0bin[il0].
Data()),
3070 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3076 (Form(
"hCellClusterEFracLam0Bin%d_sm%d",il0,ism),
3077 Form(
"#it{p}_{T} vs cell E / cluster E in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3078 nptbins,ptmin,ptmax,100,0,1);
3092 (Form(
"hCellClusterEFracLam0Bin%d_sm%d_LargeTimeInClusterCell",il0,ism),
3093 Form(
"#it{p}_{T} vs cell E / cluster E in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3094 nptbins,ptmin,ptmax,100,0,1);
3100 (Form(
"hCellClusterEFracLam0Bin%d_sm%d_LargeTimeInClusterCell_Total",il0,ism),
3101 Form(
"#it{p}_{T} vs cell E / cluster E in sm %d, %s, w > 0, all |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3102 nptbins,ptmin,ptmax,100,0,1);
3108 (Form(
"hCellClusterELam0Bin%d_sm%d",il0,ism),
3109 Form(
"#it{p}_{T} vs cell E in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3110 nptbins,ptmin,ptmax,500,0,10);
3116 (Form(
"hCellClusterELam0Bin%d_sm%d_Weighted",il0,ism),
3117 Form(
"#it{p}_{T} vs cell E weighted in sm %d, %s",ism,l0bin[il0].
Data()),
3118 nptbins,ptmin,ptmax,500,0,10);
3124 (Form(
"hCellClusterELam0Bin%d_sm%d_LargeTimeInClusterCell",il0,ism),
3125 Form(
"#it{p}_{T} vs cell E in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3126 nptbins,ptmin,ptmax,500,0,10);
3132 (Form(
"hCellClusterIndexELam0Bin%d_sm%d_LargeTimeInClusterCell",il0,ism),
3133 Form(
"#it{p}_{T} vs cell index (E sorted) in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3134 nptbins,ptmin,ptmax,30,0,30);
3140 (Form(
"hNCellsWithLargeTimeInClusterLam0Bin%d_sm%d",il0,ism),
3141 Form(
"#it{p}_{T} vs number of cells in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3142 nptbins,ptmin,ptmax,30,0,30);
3163 (Form(
"hLam0_sm%d",ism),
3164 Form(
"#it{p}_{T} vs #lambda^{2}_{0} in sm %d",ism),
3165 nptbins,ptmin,ptmax,40,0,0.4);
3167 fhLam0PerSM[ism]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3171 (Form(
"hLam1_sm%d",ism),
3172 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in sm %d",ism),
3173 nptbins,ptmin,ptmax,40,0,0.4);
3175 fhLam1PerSM[ism]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3179 (Form(
"hLam0_sm%d_LargeTimeInClusterCell",ism),
3180 Form(
"#it{p}_{T} vs #lambda^{2}_{0} in sm %d,|t_{secondary cell}| > 50 ns",ism),
3181 nptbins,ptmin,ptmax,40,0,0.4);
3187 (Form(
"hLam1_sm%d_LargeTimeInClusterCell",ism),
3188 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in sm %d, |t_{secondary cell}| > 50 ns",ism),
3189 nptbins,ptmin,ptmax,40,0,0.4);
3230 for(
Int_t ilarge = 0; ilarge < 5; ilarge++)
3233 (Form(
"hLam0_NLargeTimeInClusterCell%d",ilarge),
3234 Form(
"#it{p}_{T} vs #lambda^{2}_{0} in sm %d,|t_{secondary cell}| > 50 ns",ilarge),
3235 nptbins,ptmin,ptmax,40,0,0.4);
3241 (Form(
"hLam1_NLargeTimeInClusterCell%d",ilarge),
3242 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in sm %d, |t_{secondary cell}| > 50 ns",ilarge),
3243 nptbins,ptmin,ptmax,40,0,0.4);
3254 TString ptype[] = {
"#gamma" ,
"#gamma_{#pi decay}" ,
"#gamma_{#eta decay}",
"#gamma_{other decay}",
3255 "#pi^{0}" ,
"#eta" ,
"e^{#pm}" ,
"#gamma->e^{#pm}" ,
3256 "hadron?" ,
"Anti-N" ,
"Anti-P" ,
3257 "Neutron" ,
"Proton" ,
"#pi^{#pm}" ,
3258 "#gamma_{prompt}",
"#gamma_{fragmentation}",
"#gamma_{ISR}" ,
"String" } ;
3260 TString pname[] = {
"Photon" ,
"PhotonPi0Decay" ,
"PhotonEtaDecay",
"PhotonOtherDecay",
3261 "Pi0" ,
"Eta" ,
"Electron" ,
"Conversion" ,
3262 "Hadron" ,
"AntiNeutron" ,
"AntiProton" ,
3263 "Neutron" ,
"Proton" ,
"ChPion" ,
3264 "PhotonPrompt",
"PhotonFragmentation",
"PhotonISR" ,
"String" } ;
3268 fhMCE[i] =
new TH1F(Form(
"hE_MC%s",pname[i].
Data()),
3269 Form(
"cluster from %s : E ",ptype[i].
Data()),
3270 nptbins,ptmin,ptmax);
3271 fhMCE[i]->SetXTitle(
"#it{E} (GeV)");
3272 outputContainer->Add(
fhMCE[i]) ;
3274 fhMCPt[i] =
new TH1F(Form(
"hPt_MC%s",pname[i].
Data()),
3275 Form(
"cluster from %s : #it{p}_{T} ",ptype[i].
Data()),
3276 nptbins,ptmin,ptmax);
3277 fhMCPt[i]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3278 outputContainer->Add(
fhMCPt[i]) ;
3281 Form(
"cluster from %s : #eta ",ptype[i].
Data()),
3282 nptbins,ptmin,ptmax,netabins,etamin,etamax);
3283 fhMCEta[i]->SetYTitle(
"#eta");
3284 fhMCEta[i]->SetXTitle(
"#it{E} (GeV)");
3285 outputContainer->Add(
fhMCEta[i]) ;
3288 Form(
"cluster from %s : #phi ",ptype[i].
Data()),
3289 nptbins,ptmin,ptmax,nphibins,phimin,phimax);
3290 fhMCPhi[i]->SetYTitle(
"#phi (rad)");
3291 fhMCPhi[i]->SetXTitle(
"#it{E} (GeV)");
3292 outputContainer->Add(
fhMCPhi[i]) ;
3296 Form(
"MC - Reco E from %s",pname[i].
Data()),
3297 nptbins,ptmin,ptmax, 200,-50,50);
3298 fhMCDeltaE[i]->SetYTitle(
"#Delta #it{E} (GeV)");
3303 Form(
"MC - Reco #it{p}_{T} from %s",pname[i].
Data()),
3304 nptbins,ptmin,ptmax, 200,-50,50);
3305 fhMCDeltaPt[i]->SetXTitle(
"p_{T,rec} (GeV/#it{c})");
3306 fhMCDeltaPt[i]->SetYTitle(
"#Delta #it{p}_{T} (GeV/#it{c})");
3310 Form(
"E distribution, reconstructed vs generated from %s",pname[i].
Data()),
3311 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
3312 fhMC2E[i]->SetXTitle(
"#it{E}_{rec} (GeV)");
3313 fhMC2E[i]->SetYTitle(
"#it{E}_{gen} (GeV)");
3314 outputContainer->Add(
fhMC2E[i]);
3317 Form(
"p_T distribution, reconstructed vs generated from %s",pname[i].
Data()),
3318 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
3319 fhMC2Pt[i]->SetXTitle(
"p_{T,rec} (GeV/#it{c})");
3320 fhMC2Pt[i]->SetYTitle(
"p_{T,gen} (GeV/#it{c})");
3321 outputContainer->Add(
fhMC2Pt[i]);
3324 TString pptype[] = {
"#gamma" ,
"#gamma_{#pi decay}" ,
3325 "#gamma_{#eta decay}",
"#gamma_{other decay}" ,
3326 "#gamma_{prompt}" ,
"#gamma_{fragmentation}",
"#gamma_{ISR}" } ;
3328 TString ppname[] = {
"Photon" ,
"PhotonPi0Decay" ,
3329 "PhotonEtaDecay",
"PhotonOtherDecay" ,
3330 "PhotonPrompt" ,
"PhotonFragmentation",
"PhotonISR" } ;
3334 fhEPrimMC[i] =
new TH1F(Form(
"hEPrim_MC%s",ppname[i].
Data()),
3335 Form(
"primary photon %s : E ",pptype[i].
Data()),
3336 nptbins,ptmin,ptmax);
3337 fhEPrimMC[i]->SetXTitle(
"#it{E} (GeV)");
3341 Form(
"primary photon %s : #it{p}_{T} ",pptype[i].
Data()),
3342 nptbins,ptmin,ptmax);
3343 fhPtPrimMC[i]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3347 Form(
"primary photon %s : Rapidity ",pptype[i].
Data()),
3348 nptbins,ptmin,ptmax,200,-2,2);
3350 fhYPrimMC[i]->SetXTitle(
"#it{E} (GeV)");
3354 Form(
"primary photon %s : #eta",pptype[i].
Data()),
3355 nptbins,ptmin,ptmax,200,-2,2);
3361 Form(
"primary photon %s : #phi ",pptype[i].
Data()),
3362 nptbins,ptmin,ptmax,nphibins,0,TMath::TwoPi());
3369 Form(
"primary photon %s in acceptance: E ",pptype[i].
Data()),
3370 nptbins,ptmin,ptmax);
3375 Form(
"primary photon %s in acceptance: #it{p}_{T} ",pptype[i].
Data()),
3376 nptbins,ptmin,ptmax);
3381 Form(
"primary photon %s in acceptance: Rapidity ",pptype[i].
Data()),
3382 nptbins,ptmin,ptmax,100,-1,1);
3388 Form(
"primary photon %s in acceptance: #eta ",pptype[i].
Data()),
3389 nptbins,ptmin,ptmax,netabins,etamin,etamax);
3395 Form(
"primary photon %s in acceptance: #phi ",pptype[i].
Data()),
3396 nptbins,ptmin,ptmax,nphibins,phimin,phimax);
3404 TString ptypess[] = {
"#gamma",
"hadron?",
"#pi^{0}",
"#eta",
"#gamma->e^{#pm}",
"e^{#pm}"} ;
3406 TString pnamess[] = {
"Photon",
"Hadron",
"Pi0",
"Eta",
"Conversion",
"Electron"} ;
3408 for(
Int_t i = 0; i < 6; i++)
3411 Form(
"cluster from %s : E vs #lambda_{0}^{2}",ptypess[i].
Data()),
3412 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3418 Form(
"cluster from %s : #it{p}_{T} vs #lambda_{0}^{2}",ptypess[i].
Data()),
3419 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3425 Form(
"cluster from %s : E vs #lambda_{1}^{2}",ptypess[i].
Data()),
3426 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3432 Form(
"cluster from %s : E vs dispersion^{2}",ptypess[i].
Data()),
3433 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3439 Form(
"# of cells in cluster from %s vs E of clusters",ptypess[i].
Data()),
3440 nptbins,ptmin,ptmax, nbins,nmin,nmax);
3442 fhMCNCellsE[i]->SetYTitle(
"# of cells in cluster");
3446 Form(
"energy vs difference of cluster energy from %s - max cell energy / cluster energy, good clusters",ptypess[i].
Data()),
3447 nptbins,ptmin,ptmax, 500,0,1.);
3455 Form(
"cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, E < 2 GeV",ptypess[i].
Data()),
3456 ssbins,ssmin,ssmax,500,0,1.);
3462 Form(
"cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, 2< E < 6 GeV",ptypess[i].
Data()),
3463 ssbins,ssmin,ssmax,500,0,1.);
3469 Form(
"cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, #it{E} > 6 GeV",ptypess[i].
Data()),
3470 ssbins,ssmin,ssmax,500,0,1.);
3476 Form(
"cluster from %s : N cells in cluster vs fraction of energy carried by max cell, E < 2 GeV",ptypess[i].
Data()),
3477 nbins/5,nmin,nmax/5,500,0,1.);
3483 Form(
"cluster from %s : N cells in cluster vs fraction of energy carried by max cell, 2< E < 6 GeV",ptypess[i].
Data()),
3484 nbins/5,nmin,nmax/5,500,0,1.);
3490 Form(
"cluster from %s : N cells in cluster vs fraction of energy carried by max cell, #it{E} > 6 GeV",ptypess[i].
Data()),
3491 nbins/5,nmin,nmax/5,500,0,1.);
3499 Form(
"cluster from %s : #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E",ptypess[i].
Data()),
3500 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3506 Form(
"cluster from %s : #sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i} - <#phi>)^{2} / #Sigma w_{i} vs E",ptypess[i].
Data()),
3507 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3513 Form(
"cluster from %s : #delta^{2}_{#eta #phi} = #Sigma w_{i}(#phi_{i} #eta_{i} ) / #Sigma w_{i} - <#phi><#eta> vs E",ptypess[i].
Data()),
3514 nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
3520 Form(
"cluster from %s : #sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta} vs E",ptypess[i].
Data()),
3521 nptbins,ptmin,ptmax,200,-10,10);
3527 Form(
"cluster from %s : (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi}) vs E",ptypess[i].
Data()),
3528 nptbins,ptmin,ptmax, 200,-1,1);
3530 fhMCESphericity[i]->SetYTitle(
"s = (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi})");
3533 for(
Int_t ie = 0; ie < 7; ie++)
3536 Form(
"cluster from %s : #sigma^{2}_{#phi #phi} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",pnamess[i].
Data(),bin[ie],bin[ie+1]),
3537 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
3543 Form(
"cluster from %s : #lambda^{2}_{0} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",pnamess[i].
Data(),bin[ie],bin[ie+1]),
3544 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
3550 Form(
"cluster from %s :#lambda^{2}_{0} vs #sigma^{2}_{#phi #phi} for %d < E < %d GeV",pnamess[i].
Data(),bin[ie],bin[ie+1]),
3551 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
3560 if(!
GetReader()->IsEmbeddedClusterSelectionOn())
3563 "cluster from Photon : E vs #lambda_{0}^{2}",
3564 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3570 "cluster from Photon : E vs #lambda_{0}^{2}",
3571 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3577 "cluster from Photon : E vs #lambda_{0}^{2}",
3578 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3584 if(
GetReader()->IsEmbeddedClusterSelectionOn())
3587 "Energy Fraction of embedded signal versus cluster energy",
3588 nptbins,ptmin,ptmax,100,0.,1.);
3594 "cluster from Photon embedded with more than 90% energy in cluster : E vs #lambda_{0}^{2}",
3595 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3601 "cluster from Photon embedded with 50% to 90% energy in cluster : E vs #lambda_{0}^{2}",
3602 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3608 "cluster from Photon embedded with 10% to 50% energy in cluster : E vs #lambda_{0}^{2}",
3609 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3615 "cluster from Photonm embedded with 0% to 10% energy in cluster : E vs #lambda_{0}^{2}",
3616 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3622 "cluster from Pi0 embedded with more than 90% energy in cluster : E vs #lambda_{0}^{2}",
3623 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3629 "cluster from Pi0 embedded with 50% to 90% energy in cluster : E vs #lambda_{0}^{2}",
3630 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3636 "cluster from Pi0 embedded with 10% to 50% energy in cluster : E vs #lambda_{0}^{2}",
3637 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3643 "cluster from Pi0 embedded with 0% to 10% energy in cluster : E vs #lambda_{0}^{2}",
3644 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3654 fhMCConversionVertex =
new TH2F(
"hMCPhotonConversionVertex",
"cluster from converted photon, #it{p}_{T} vs vertex distance",
3655 nptbins,ptmin,ptmax,500,0,500);
3662 fhMCConversionVertexTRD =
new TH2F(
"hMCPhotonConversionVertexTRD",
"cluster from converted photon, #it{p}_{T} vs vertex distance, SM covered by TRD",
3663 nptbins,ptmin,ptmax,500,0,500);
3671 TString region[] = {
"ITS",
"TPC",
"TRD",
"TOF",
"Top EMCal",
"In EMCal"};
3672 for(
Int_t iR = 0; iR < 6; iR++)
3675 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{0}^{2}, conversion in %s",region[iR].
Data()),
3676 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3682 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{1}^{2}, conversion in %s",region[iR].
Data()),
3683 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3692 for(
Int_t iR = 0; iR < 6; iR++)
3695 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{0}^{2}, conversion in %s, SM covered by TRD",region[iR].
Data()),
3696 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3702 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{1}^{2}, conversion in %s, SM covered by TRD",region[iR].
Data()),
3703 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3750 (Form(
"hEBin%d_Cluster_EtaPhi",ie),
3751 Form(
"#eta vs #phi, cluster, %2.2f<#it{p}_{T}<%2.2f GeV/#it{c}",
fEBinCuts[ie],
fEBinCuts[ie+1]),
3752 netabins,etamin,etamax,nphibins,phimin,phimax);
3758 (Form(
"hEBin%d_Cluster_ColRow",ie),
3759 Form(
"column vs row, cluster max E cell, %2.2f<#it{p}_{T}<%2.2f GeV/#it{c}",
fEBinCuts[ie],
fEBinCuts[ie+1]),
3760 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3766 (Form(
"hEBin%d_Cluster_EtaPhi_PID",ie),
3767 Form(
"#eta vs #phi, cluster, %2.2f<#it{p}_{T}<%2.2f GeV/#it{c}, PID cut",
fEBinCuts[ie],
fEBinCuts[ie+1]),
3768 netabins,etamin,etamax,nphibins,phimin,phimax);
3774 (Form(
"hEBin%d_Cluster_ColRow_PID",ie),
3775 Form(
"column vs row, cluster max E cell, %2.2f<#it{p}_{T}<%2.2f GeV/#it{c}, PID cut",
fEBinCuts[ie],
fEBinCuts[ie+1]),
3776 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3785 TString caseTitle[] = {
"",
"CleanCluster",
"MergedClusterHijingBkg",
"MergedClusterNotHijingBkg",
"MergedClusterHijingAndOtherBkg",
"MergedCluster"};
3789 for(
Int_t icase = 0; icase < ncases; icase++)
3792 (Form(
"hLocalRegionClusterEtaPhi%s",caseTitle[icase].
Data()),
3793 "cluster,#it{E} > 0.5 GeV, #eta vs #phi",netabins,etamin,etamax,nphibins,phimin,phimax);
3799 (Form(
"hLocalRegionClusterEnergySum%s",caseTitle[icase].
Data()),
3800 "Sum of cluster energy around trigger cluster #it{E} with R=0.2",
3801 nptbins,ptmin,ptmax, 200,0,100);
3807 (Form(
"hLocalRegionClusterMultiplicity%s",caseTitle[icase].
Data()),
3808 "Cluster multiplicity around trigger cluster #it{E} with R=0.2",
3809 nptbins,ptmin,ptmax, 200,0,200);
3817 (Form(
"hLocalRegionClusterEnergySumPerCentrality%s",caseTitle[icase].
Data()),
3818 "Sum of cluster energy around trigger cluster vs centrality with R=0.2",
3819 100,0,100, 200,0,100);
3825 (Form(
"hLocalRegionClusterMultiplicityPerCentrality%s",caseTitle[icase].
Data()),
3826 "Cluster multiplicity around trigger cluster vs centrality with R=0.2",
3827 100,0,100, 200,0,200);
3839 (Form(
"hLocalRegionClusterEnergySum%s_MCPi0Decay",caseTitle[icase].
Data()),
3840 "Sum of cluster energy around trigger cluster #it{E} with R=0.2",
3841 nptbins,ptmin,ptmax, 200,0,100);
3847 (Form(
"hLocalRegionClusterMultiplicity%s_MCPi0Decay",caseTitle[icase].
Data()),
3848 "Cluster multiplicity around trigger cluster #it{E} with R=0.2",
3849 nptbins,ptmin,ptmax, 200,0,200);
3857 (Form(
"hLocalRegionClusterEnergySumPerCentrality%s_MCPi0Decay",caseTitle[icase].
Data()),
3858 "Sum of cluster energy around trigger cluster vs centrality with R=0.2",
3859 100,0,100, 200,0,100);
3865 (Form(
"hLocalRegionClusterMultiplicityPerCentrality%s_MCPi0Decay",caseTitle[icase].
Data()),
3866 "Cluster multiplicity around trigger cluster vs centrality with R=0.2",
3867 100,0,100, 200,0,200);
3877 (Form(
"hLocalRegionClusterEnergySumHijing%s",caseTitle[icase].
Data()),
3878 "Sum of cluster energy (HIJING) around trigger cluster #it{E} with R=0.2",
3879 nptbins,ptmin,ptmax, 200,0,100);
3885 (Form(
"hLocalRegionClusterMultiplicityHijing%s",caseTitle[icase].
Data()),
3886 "Cluster multiplicity (HIJING) around trigger cluster #it{E} with R=0.2",
3887 nptbins,ptmin,ptmax, 200,0,200);
3893 (Form(
"hLocalRegionClusterEnergySumAdded%s",caseTitle[icase].
Data()),
3894 "Sum of cluster energy (not HIJING) around trigger cluster #it{E} with R=0.2",
3895 nptbins,ptmin,ptmax, 200,0,100);
3901 (Form(
"hLocalRegionClusterMultiplicityAdded%s",caseTitle[icase].
Data()),
3902 "Cluster multiplicity (not HIJING) around trigger cluster #it{E} with R=0.2",
3903 nptbins,ptmin,ptmax, 200,0,200);
3912 (Form(
"hLocalRegionClusterEnergySumPerCentralityHijing%s",caseTitle[icase].
Data()),
3913 "Sum of cluster energy (HIJING) around trigger cluster vs centrality with R=0.2",
3914 100,0,100, 200,0,100);
3920 (Form(
"hLocalRegionClusterMultiplicityPerCentralityHijing%s",caseTitle[icase].
Data()),
3921 "Cluster multiplicity (HIJING) around trigger cluster vs centrality with R=0.2",
3922 100,0,100, 200,0,200);
3929 (Form(
"hLocalRegionClusterEnergySumPerCentralityAdded%s",caseTitle[icase].
Data()),
3930 "Sum of cluster energy (not HIJING) around trigger cluster vs centrality with R=0.2",
3931 100,0,100, 200,0,100);
3937 (Form(
"hLocalRegionClusterMultiplicityPerCentralityAdded%s",caseTitle[icase].
Data()),
3938 "Cluster multiplicity (not HIJING) around trigger cluster vs centrality with R=0.2",
3939 100,0,100, 200,0,200);
3950 (Form(
"hLocalRegionClusterEnergySumHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
3951 "Sum of cluster energy (HIJING) around trigger cluster #it{E} with R=0.2",
3952 nptbins,ptmin,ptmax, 200,0,100);
3958 (Form(
"hLocalRegionClusterMultiplicityHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
3959 "Cluster multiplicity (HIJING) around trigger cluster #it{E} with R=0.2",
3960 nptbins,ptmin,ptmax, 200,0,200);
3966 (Form(
"hLocalRegionClusterEnergySumAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
3967 "Sum of cluster energy (not HIJING) around trigger cluster #it{E} with R=0.2",
3968 nptbins,ptmin,ptmax, 200,0,100);
3974 (Form(
"hLocalRegionClusterMultiplicityAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
3975 "Cluster multiplicity (not HIJING) around trigger cluster #it{E} with R=0.2",
3976 nptbins,ptmin,ptmax, 200,0,200);
3985 (Form(
"hLocalRegionClusterEnergySumPerCentralityHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
3986 "Sum of cluster energy (HIJING) around trigger cluster vs centrality with R=0.2",
3987 100,0,100, 200,0,100);
3993 (Form(
"hLocalRegionClusterMultiplicityPerCentralityHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
3994 "Cluster multiplicity (HIJING) around trigger cluster vs centrality with R=0.2",
3995 100,0,100, 200,0,200);
4002 (Form(
"hLocalRegionClusterEnergySumPerCentralityAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
4003 "Sum of cluster energy (not HIJING) around trigger cluster vs centrality with R=0.2",
4004 100,0,100, 200,0,100);
4010 (Form(
"hLocalRegionClusterMultiplicityPerCentralityAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
4011 "Cluster multiplicity (not HIJING) around trigger cluster vs centrality with R=0.2",
4012 100,0,100, 200,0,200);
4024 (
"hLocalRegionClusterEnergySumHijing2",
4025 "Sum of cluster energy (HIJING) around trigger cluster #it{E} with R=0.2",
4026 nptbins,ptmin,ptmax, 200,0,100);
4032 (
"hLocalRegionClusterMultiplicityHijing2",
4033 "Cluster multiplicity (HIJING) around trigger cluster #it{E} with R=0.2",
4034 nptbins,ptmin,ptmax, 200,0,200);
4042 (
"hLocalRegionClusterEnergySumPerCentralityHijing2",
4043 "Sum of cluster energy (HIJING) around trigger cluster vs centrality with R=0.2",
4044 100,0,100, 200,0,100);
4050 (
"hLocalRegionClusterMultiplicityPerCentralityHijing2",
4051 "Cluster multiplicity (HIJING) around trigger cluster vs centrality with R=0.2",
4052 100,0,100, 200,0,200);
4095 (
"hDistance2AddedSignals",
"Distance added signals"
4096 ,nptbins,ptmin,ptmax,100,0,0.4);
4102 (
"hDistance2Hijing",
"Distance 2 hijing clusters"
4103 ,nptbins,ptmin,ptmax,100,0,0.4);
4109 (
"hDistanceAddedSignalsHijing",
"Distance added signals to hijing"
4110 ,nptbins,ptmin,ptmax,100,0,0.4);
4119 TString mcGenNames[] = {
"",
"_MC_Pi0Merged",
"_MC_Pi0Decay",
"_MC_EtaDecay",
"_MC_PhotonOther",
"_MC_Electron",
"_MC_Other"};
4120 TString mcGenTitle[] = {
"",
",MC Pi0-Merged",
",MC Pi0-Decay",
", MC Eta-Decay",
", MC Photon other sources",
", MC Electron",
", MC other sources"};
4124 if(igen==0) add =
"";
4128 Form(
"Number of selected clusters with contribution of %s generator%s, no overlap",
4130 nptbins,ptmin,ptmax);
4136 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of %s generator%s, no overlap",
4138 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4144 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of %s generator%s, no overlap",
4146 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4154 Form(
"Number of selected clusters with contribution of >=2 generators, main %s%s",
4156 nptbins,ptmin,ptmax);
4162 Form(
"#it{E}_{reco}/#it{E}_{gen}clusters with contribution of >=2 generators, main %s%s",
4164 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4170 Form(
"#it{E}_{reco}-#it{E}_{gen}clusters with contribution of >=2 generators, main %s%s",
4172 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4182 Form(
"Number of selected clusters with contribution of >=2 generators, , none is HIJING, main %s%s",
4184 nptbins,ptmin,ptmax);
4190 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of >=2 generators, , none is HIJING, main %s%s",
4192 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4198 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of >=2 generators, , none is HIJING, main %s%s",
4200 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4208 Form(
"Number of selected clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4210 nptbins,ptmin,ptmax);
4217 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4219 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4226 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4228 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4236 Form(
"Number of selected clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4238 nptbins,ptmin,ptmax);
4244 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4246 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4252 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4254 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4262 return outputContainer ;
4271 AliFatal(
"!!STOP: You want to use PHOS in analysis but it is not read!! \n!!Check the configuration file!!");
4273 AliFatal(
"!!STOP: You want to use EMCAL in analysis but it is not read!! \n!!Check the configuration file!!");
4318 AliVCaloCells* cells = 0;
4361 TClonesArray * clusterList = 0;
4370 Int_t nclusters = clusterList->GetEntriesFast();
4371 for (
Int_t iclus = 0; iclus < nclusters; iclus++)
4373 AliVCluster * clus =
dynamic_cast<AliVCluster*
> (clusterList->At(iclus));
4387 Int_t nCaloClusters = pl->GetEntriesFast();
4395 for(
Int_t icalo = 0; icalo < nCaloClusters; icalo++)
4397 AliVCluster * calo = (AliVCluster*) (pl->At(icalo));
4401 Int_t evtIndex = 0 ;
4404 evtIndex=
GetMixedEvent()->EventIndexForCaloCluster(calo->GetID()) ;
4429 AliAODPWG4Particle aodph = AliAODPWG4Particle(
fMomentum);
4433 Int_t label = calo->GetLabel();
4434 aodph.SetLabel(label);
4435 aodph.SetCaloLabel(calo->GetID(),-1);
4441 Double_t distBad=calo->GetDistanceToBadChannel() ;
4442 if (distBad >
fMinDist3) aodph.SetDistToBad(2) ;
4443 else if(distBad >
fMinDist2) aodph.SetDistToBad(1) ;
4444 else aodph.SetDistToBad(0) ;
4459 AliDebug(1,Form(
"Origin of candidate, bit map %d",aodph.GetTag()));
4468 if( absIdMax < 0 ) AliFatal(
"Wrong absID");
4470 Int_t largeTimeInCellCluster = kFALSE;
4472 aodph.SetFiducialArea(largeTimeInCellCluster);
4475 aodph.SetM02(calo->GetM02());
4476 aodph.SetM20(calo->GetM20());
4477 aodph.SetNLM(nMaxima);
4479 Float_t time = calo->GetTOF()*1e9;
4481 aodph.SetTime(time);
4483 aodph.SetNCells(calo->GetNCells());
4485 aodph.SetSModNumber(nSM);
4497 Int_t icolAbs = -1, irowAbs = -1;
4503 Int_t icol = -1, irow = -1, iRCU = -1;
4506 if(ebin>=0 && ebin < fNEBinCuts)
4525 aodph.SetIdentifiedParticleType(
GetCaloPID()->GetIdentifiedParticleType(calo));
4527 AliDebug(1,Form(
"PDG of identified particle %d",aodph.GetIdentifiedParticleType()));
4542 AliDebug(1,
"PID Bits set");
4545 AliDebug(1,Form(
"Photon selection cuts passed: pT %3.2f, pdg %d",aodph.Pt(),aodph.GetIdentifiedParticleType()));
4565 if(ebin>=0 && ebin < fNEBinCuts)
4573 if(nSM <
GetCaloUtils()->GetNumberOfSuperModulesUsed() && nSM >=0)
4588 for(
Int_t icell = 0; icell < calo->GetNCells(); icell++)
4603 AliDebug(1,Form(
"End fill AODs, with %d entries",
GetOutputAODBranch()->GetEntriesFast()));
4623 AliDebug(1,Form(
"AOD branch entries %d", naod));
4630 for(
Int_t iaod = 0; iaod < naod ; iaod++)
4633 Int_t pdg = ph->GetIdentifiedParticleType();
4635 AliDebug(2,Form(
"PDG %d, MC TAG %d, Calorimeter <%d>",ph->GetIdentifiedParticleType(),ph->GetTag(), ph->GetDetectorTag())) ;
4642 AliDebug(2,Form(
"ID Photon: pt %f, phi %f, eta %f", ph->Pt(),ph->Phi(),ph->Eta())) ;
4647 Float_t phicluster = ph->Phi();
4648 Float_t etacluster = ph->Eta();
4691 Int_t label = ph->GetLabel();
4695 AliDebug(1,Form(
"*** bad label ***: label %d", label));
4702 Int_t pdg = 0, status = 0, momLabel = -1;
4713 Int_t tag =ph->GetTag();
4714 Int_t mcParticleTag = -1;
4744 Int_t pdgD = 0, statusD = 0, daugLabel = -1;