18 #include <TClonesArray.h>
19 #include <TObjString.h>
20 #include "AliVParticle.h"
21 #include "TDatabasePDG.h"
26 #include "AliMCEvent.h"
30 #include "AliVCluster.h"
31 #include "AliMixedEvent.h"
32 #include "AliAODEvent.h"
33 #include "AliESDEvent.h"
34 #include "AliMCEvent.h"
37 #include "AliPHOSGeoUtils.h"
38 #include "AliEMCALGeometry.h"
50 fMinDist(0.), fMinDist2(0.), fMinDist3(0.),
51 fRejectTrackMatch(0), fFillTMHisto(kFALSE), fFillTMHistoTrackPt(0),
52 fTimeCutMin(-10000), fTimeCutMax(10000),
54 fNLMCutMin(-1), fNLMCutMax(10),
55 fFillSSHistograms(0), fFillEMCALRegionSSHistograms(0),
56 fFillConversionVertexHisto(0),fFillOnlySimpleSSHisto(1),
57 fFillSSNLocMaxHisto(0),
58 fFillTrackMultHistograms(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),
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++)
182 for(
Int_t iover = 0 ; iover < 3; iover++)
199 for(
Int_t i = 0; i < 5; i++)
205 for(
Int_t icut = 0; icut < 10; icut++)
212 for(
Int_t i = 0; i < 2; i++)
232 for(
Int_t i = 0; i < 6; i++)
240 for(
Int_t ieta = 0; ieta < 4; ieta++)
242 for(
Int_t iphi = 0; iphi < 3; iphi++)
252 for(
Int_t ism =0; ism < 20; ism++)
260 for(
Int_t il0 = 0; il0 < 2; il0++)
262 for(
Int_t i = 0; i < 7; i++)
275 for(
Int_t ism =0; ism < 20; ism++)
311 for(
Int_t ism = 0; ism < 20; ism++)
321 for(
Int_t ilarge = 0; ilarge < 5; ilarge++)
327 for(
Int_t i = 0; i < 14; i++)
335 for(
Int_t igen = 0; igen < 10; igen++)
359 for(
Int_t icase = 0; icase < 6; icase++)
412 if(phi < 3.15 - radius && phi > 1.4 + radius && TMath::Abs(eta) < 0.7-radius)
415 Int_t genIndex, genIndexBkg;
416 Int_t genBkgTag = -1;
418 TString genName2 , genNameBkg2 ;
419 Int_t genIndex2, genIndexBkg2;
420 Int_t genBkgTag2 = -1;
424 AliVCluster * calo = (AliVCluster*) (clusterList->At(icalo));
431 if(
IsDataMC() && !genName.Contains(
"ijing") &&
445 for(
Int_t icalo2 = 0; icalo2 < clusterList->GetEntriesFast(); icalo2++)
447 if ( icalo2 == icalo )
continue;
449 AliVCluster * calo2 = (AliVCluster*) (clusterList->At(icalo2));
457 if(TMath::Abs(dPhi) >= TMath::Pi())
458 dPhi = TMath::TwoPi()-TMath::Abs(dPhi);
460 Float_t distance = TMath::Sqrt( dEta*dEta + dPhi*dPhi );
476 if ( distance > radius)
continue;
483 if(genName2.Contains(
"ijing"))
486 sumEHi += calo2->E();
489 if(genName2.Contains(
"ijing") || genBkgTag2 == 1 || genBkgTag2 == 3)
492 sumEHi2 += calo2->E();
563 if(genBkgTag < 0)
return;
679 TString genName =
"", genNameBkg =
"";
680 Int_t genIndex = -1, genIndexBkg = -1;
682 if (genBkgTag == -1)
return;
683 else if(genBkgTag > 3) printf(
"Bkg generator tag larger than 3\n");
690 Int_t pdg = 0, status = 0, momLabel = -1;
704 if ( eprim < 0.1 || en < 0.5 )
return;
782 if ( genBkgTag == 3 )
845 if(phicluster < 0) phicluster+=TMath::TwoPi();
849 AliDebug(2,Form(
"Current Event %d; Before selection : E %2.2f, pT %2.2f, phi %2.2f, eta %2.2f",
851 ecluster,ptcluster, phicluster*TMath::RadToDeg(),etacluster));
859 if(nSM < fNModules && nSM >=0)
869 AliDebug(2,Form(
"\t Cluster %d Pass E Cut",calo->GetID()));
879 if(tof < fTimeCutMin || tof >
fTimeCutMax)
return kFALSE;
881 AliDebug(2,Form(
"\t Cluster %d Pass Time Cut",calo->GetID()));
889 AliDebug(2,Form(
"\t Cluster %d Pass NCell Cut",calo->GetID()));
894 if(nMaxima < fNLMCutMin || nMaxima >
fNLMCutMax)
return kFALSE ;
895 AliDebug(2,Form(
"\t Cluster %d pass NLM %d of out of range",calo->GetID(), nMaxima));
905 if(! in )
return kFALSE ;
908 AliDebug(2,Form(
"\t Fiducial cut passed"));
923 AliDebug(2,
"\t Reject track-matched clusters");
927 AliDebug(2,
"\t Track-matching cut passed");
935 Double_t distBad=calo->GetDistanceToBadChannel() ;
936 if(distBad < 0.) distBad=9999. ;
941 else AliDebug(2,Form(
"\t Bad channel cut passed %4.2f > %2.2f",distBad,
fMinDist));
946 AliDebug(1,Form(
"Current Event %d; After selection : E %2.2f, pT %2.2f, phi %2.2f, eta %2.2f",
965 AliFatal(
"MCEvent not available, is the MC handler called? STOP");
980 Bool_t inacceptance = kFALSE ;
982 AliVParticle * primary = 0;
984 for(
Int_t i=0 ; i < nprim; i++)
986 if ( !
GetReader()->AcceptParticleMCLabel( i ) ) continue ;
988 primary =
GetMC()->GetTrack(i);
991 AliWarning(
"ESD primaries pointer not available!!");
995 pdg = primary->PdgCode();
996 status = primary->MCStatusCode();
999 if ( primary->E() == TMath::Abs(primary->Pz()) ||
1000 (primary->E() - primary->Pz()) < 1e-3 ||
1001 (primary->E() + primary->Pz()) < 0 ) continue ;
1009 photonY = 0.5*TMath::Log((primary->E()+primary->Pz())/(primary->E()-primary->Pz())) ;
1014 if(pdg != 22 ) continue ;
1025 if(photonPhi < 0) photonPhi+=TMath::TwoPi();
1028 inacceptance = kTRUE;
1058 if(status > 1) continue ;
1098 if(!takeIt) continue ;
1102 if(TMath::Abs(photonY) < 1.0)
1123 if(TMath::Abs(photonY) < 1.0)
1281 Float_t time = cluster->GetTOF()*1.e9;
1302 if(cells->GetCellAmplitude(absIdMax) > 0.1 && TMath::Abs(time) < 30)
1304 for (
Int_t ipos = 0; ipos < cluster->GetNCells(); ipos++)
1306 Int_t absId = cluster->GetCellsAbsId()[ipos];
1308 if( absId == absIdMax ) continue ;
1310 Double_t tcell = cells->GetCellTime(absId);
1311 Float_t amp = cells->GetCellAmplitude(absId);
1320 if( cells->GetCellAmplitude(absIdMax) < 0.1 )
continue ;
1345 nVtxSPD = esdEv->GetNumberOfPileupVerticesSPD();
1346 nVtxTrk = esdEv->GetNumberOfPileupVerticesTracks();
1351 nVtxSPD = aodEv->GetNumberOfPileupVerticesSPD();
1352 nVtxTrk = aodEv->GetNumberOfPileupVerticesTracks();
1364 if(TMath::Abs(time) < 25)
1370 if(time < 75 && time > -25)
1386 Int_t ncells = cluster->GetNCells();
1387 Float_t lambda0 = cluster->GetM02();
1388 Float_t lambda1 = cluster->GetM20();
1389 Float_t disp = cluster->GetDispersion()*cluster->GetDispersion();
1394 if(phi < 0) phi+=TMath::TwoPi();
1449 Int_t etaRegion = -1, phiRegion = -1;
1451 if(etaRegion >= 0 && etaRegion < 4 && phiRegion >=0 && phiRegion < 3)
1473 if ( lambda0 >=0.30 && lambda0 <= 0.40 ) l0bin = 1;
1474 else if( lambda0 >=0.23 && lambda0 <= 0.26 ) l0bin = 0;
1476 Float_t ptLimit[] = {2,3,4,5,6,8,10,12};
1478 for(
Int_t ipt = 0; ipt < 7; ipt++)
1480 if( pt >= ptLimit[ipt] && pt < ptLimit[ipt+1] )
1509 Int_t ncell = cluster->GetNCells();
1514 for(
Int_t icell = 0; icell < ncell; icell++)
1516 Int_t absId = cluster->GetCellAbsId(icell);
1517 Float_t cellE = cells->GetCellAmplitude(absId);
1518 Double_t cellTime = cells->GetCellTime(absId);
1524 enerList[icell] = cellE;
1525 timeList[icell] = cellTime;
1528 TMath::Sort(ncell,enerList,sortList);
1534 Int_t absIdMax = cluster->GetCellAbsId(sortList[0]);
1536 Double_t cellTimeMax = timeList[sortList[0]];
1544 for(
Int_t icell = 1; icell < ncell; icell++)
1546 Int_t absId = cluster->GetCellAbsId(sortList[icell]);
1547 Float_t cellE = enerList[sortList[icell]];
1548 Double_t cellTime = timeList[sortList[icell]];
1552 if ( absId == absIdMax )
continue;
1557 if(weight < 0.01)
continue;
1559 if ( TMath::Abs(cellTime) > 50 )
1562 largeTimeE += cellE;
1565 if ( l0bin == -1 )
continue;
1586 if ( TMath::Abs(cellTime) > 50 )
1597 Int_t icol = -1, icolAbs = -1;
1598 Int_t irow = -1, irowAbs = -1;
1605 if ( TMath::Abs(cellTime) > 50 )
1615 if ( largeTime > 0 )
1636 delete [] sortList ;
1637 delete [] enerList ;
1638 delete [] timeList ;
1643 Float_t dispp= 0., dEta = 0., dPhi = 0.;
1644 Float_t sEta = 0., sPhi = 0., sEtaPhi = 0.;
1648 l0, l1, dispp, dEta, dPhi, sEta, sPhi, sEtaPhi);
1665 if (energy < 2 ) ebin = 0;
1666 else if (energy < 4 ) ebin = 1;
1667 else if (energy < 6 ) ebin = 2;
1668 else if (energy < 10) ebin = 3;
1669 else if (energy < 15) ebin = 4;
1670 else if (energy < 20) ebin = 5;
1682 Float_t dEta = cluster->GetTrackDz();
1683 Float_t dPhi = cluster->GetTrackDx();
1690 if(TMath::Abs(dEta) < 0.05 && TMath::Abs(dPhi) < 0.05)
1740 AliVCaloCells* cells = 0;
1750 const UInt_t nlabels = cluster->GetNLabels();
1751 Int_t overpdg[nlabels];
1752 Int_t overlab[nlabels];
1753 Int_t noverlaps = 0;
1754 if(!
GetReader()->IsEmbeddedClusterSelectionOn())
1767 for(
Int_t icell = 0; icell < cluster->GetNCells(); icell++)
1769 cellE = cells->GetCellAmplitude(cluster->GetCellAbsId(icell));
1771 fraction+=cellE*cluster->GetCellAmplitudeFraction(icell);
1777 AliDebug(1,Form(
"Energy fraction of embedded signal %2.3f, Energy %2.3f",fraction, clusterE));
1816 if(
GetReader()->IsEmbeddedClusterSelectionOn())
1822 else if(fraction > 0.5)
1826 else if(fraction > 0.1)
1853 if(
GetReader()->IsEmbeddedClusterSelectionOn())
1859 else if(fraction > 0.5)
1863 else if(fraction > 0.1)
1896 if(!
GetReader()->IsEmbeddedClusterSelectionOn())
1900 else if(noverlaps == 1)
1902 else if(noverlaps > 1)
1905 AliWarning(Form(
"n overlaps = %d!!", noverlaps));
1915 else if(energy < 6.)
1936 if (energy < 2 ) ebin = 0;
1937 else if (energy < 4 ) ebin = 1;
1938 else if (energy < 6 ) ebin = 2;
1939 else if (energy < 10) ebin = 3;
1940 else if (energy < 15) ebin = 4;
1941 else if (energy < 20) ebin = 5;
1963 Float_t dEta = cluster->GetTrackDz();
1964 Float_t dPhi = cluster->GetTrackDx();
1974 Bool_t positive = kFALSE;
1975 if(track) positive = (track->Charge()>0);
2028 if(TMath::Abs(dEta) < 0.05 && TMath::Abs(dPhi) < 0.05)
2032 Float_t dEdx = track->GetTPCsignal();
2033 Float_t eOverp = cluster->E()/track->P();
2049 AliWarning(Form(
"Residual OK but (dPhi, dEta)= (%2.4f,%2.4f) no track associated WHAT?", dPhi,dEta));
2069 if(cluster->GetNLabels()==1)
2119 const Int_t buffersize = 255;
2120 char onePar[buffersize] ;
2122 snprintf(onePar,buffersize,
"--- AliAnaPhoton ---:") ;
2126 snprintf(onePar,buffersize,
"fMinDist =%2.2f (Minimal distance to bad channel to accept cluster);",
fMinDist) ;
2128 snprintf(onePar,buffersize,
"fMinDist2=%2.2f (Cuts on Minimal distance to study acceptance evaluation);",
fMinDist2) ;
2130 snprintf(onePar,buffersize,
"fMinDist3=%2.2f (One more cut on distance used for acceptance-efficiency study);",
fMinDist3) ;
2144 return new TObjString(parList) ;
2154 outputContainer->SetName(
"PhotonHistos") ;
2207 Float_t rowcellmin = fNMaxRowsFullMin-1.5;
2210 Int_t bin[] = {0,2,4,6,10,15,20,100};
2212 TString cut[] = {
"Open",
"Reader",
"E",
"Time",
"NCells",
"NLM",
"Fidutial",
"Matching",
"Bad",
"PID"};
2213 for (
Int_t i = 0; i < 10 ; i++)
2216 Form(
"Number of clusters that pass cuts <= %d, %s", i, cut[i].
Data()),
2217 nptbins,ptmin,ptmax);
2223 Form(
"Number of clusters that pass cuts <= %d, %s", i, cut[i].
Data()),
2224 nptbins,ptmin,ptmax);
2230 fhEClusterSM =
new TH2F(
"hEClusterSM",
"Raw clusters E and super-module number",
2231 nptbins,ptmin,ptmax,
2237 fhPtClusterSM =
new TH2F(
"hPtClusterSM",
"Raw clusters #it{p}_{T} and super-module number",
2238 nptbins,ptmin,ptmax,
2244 fhEPhotonSM =
new TH2F(
"hEPhotonSM",
"Selected clusters E and super-module number",
2245 nptbins,ptmin,ptmax,
2251 fhPtPhotonSM =
new TH2F(
"hPtPhotonSM",
"Selected clusters #it{p}_{T} and super-module number",
2252 nptbins,ptmin,ptmax,
2265 (Form(
"hPtPhotonNTracks_PtCut%d",icut),
2266 Form(
"Number of tracks per event with |#eta|<%2.2f and #it{p}_{T} > %2.2f GeV/#it{c}",
2267 GetReader()->GetTrackMultiplicityEtaCut(),
GetReader()->GetTrackMultiplicityPtCut(icut)),
2268 nptbins,ptmin,ptmax, nmultbin,multmin,multmax);
2274 (Form(
"hPtPhotonSumPtTracks_PtCut%d",icut),
2275 Form(
"#Sigma #it{p}_{T} of tracks per event with |#eta|<%2.2f and #it{p}_{T} > %2.2f GeV/#it{c}",
2276 GetReader()->GetTrackMultiplicityEtaCut(),
GetReader()->GetTrackMultiplicityPtCut(icut)),
2277 nptbins,ptmin,ptmax, nsumbin,summin,summax);
2284 fhNCellsE =
new TH2F (
"hNCellsE",
"# of cells in cluster vs E of clusters", nptbins,ptmin,ptmax, nbins,nmin,nmax);
2286 fhNCellsE->SetYTitle(
"# of cells in cluster");
2289 fhCellsE =
new TH2F (
"hCellsE",
"energy of cells in cluster vs E of clusters", nptbins,ptmin,ptmax, nptbins*2,ptmin,ptmax);
2290 fhCellsE->SetXTitle(
"#it{E}_{cluster} (GeV)");
2291 fhCellsE->SetYTitle(
"#it{E}_{cell} (GeV)");
2294 fhTimePt =
new TH2F (
"hTimePt",
"time of cluster vs pT of clusters", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
2295 fhTimePt->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2296 fhTimePt->SetYTitle(
"#it{time} (ns)");
2301 fhMaxCellDiffClusterE =
new TH2F (
"hMaxCellDiffClusterE",
"energy vs difference of cluster energy - max cell energy / cluster energy, good clusters",
2302 nptbins,ptmin,ptmax, 500,0,1.);
2308 fhEPhoton =
new TH1F(
"hEPhoton",
"Number of #gamma over calorimeter vs energy",nptbins,ptmin,ptmax);
2310 fhEPhoton->SetXTitle(
"#it{E}_{#gamma}(GeV)");
2313 fhPtPhoton =
new TH1F(
"hPtPhoton",
"Number of #gamma over calorimeter vs #it{p}_{T}",nptbins,ptmin,ptmax);
2315 fhPtPhoton->SetXTitle(
"p_{T #gamma}(GeV/#it{c})");
2325 fhPtEventPlanePhoton =
new TH2F(
"hPtEventPlanePhoton",
"centrality vs #it{p}_{T}",nptbins,ptmin,ptmax, 100,0,TMath::Pi());
2332 (
"hEtaPhi",
"cluster,#it{E} > 0.5 GeV, #eta vs #varphi",netabins,etamin,etamax,nphibins,phimin,phimax);
2333 fhEtaPhi->SetYTitle(
"#varphi (rad)");
2338 (
"hPhiPhoton",
"#varphi_{#gamma} vs #it{p}_{T}",nptbins,ptmin,ptmax,nphibins,phimin,phimax);
2340 fhPhiPhoton->SetXTitle(
"p_{T #gamma} (GeV/#it{c})");
2344 (
"hEtaPhoton",
"#eta_{#gamma} vs #it{p}_{T}",nptbins,ptmin,ptmax,netabins,etamin,etamax);
2346 fhEtaPhoton->SetXTitle(
"p_{T #gamma} (GeV/#it{c})");
2350 (
"hEtaPhiPhoton",
"#eta vs #varphi",netabins,etamin,etamax,nphibins,phimin,phimax);
2357 (
"hEtaPhi05Photon",
"#eta vs #varphi, E < 0.5",netabins,etamin,etamax,nphibins,phimin,phimax);
2363 fhNLocMax =
new TH2F(
"hNLocMax",
"Number of local maxima in cluster",
2364 nptbins,ptmin,ptmax,10,0,10);
2372 fhLam0E =
new TH2F (
"hLam0E",
"#lambda_{0}^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2373 fhLam0E->SetYTitle(
"#lambda_{0}^{2}");
2374 fhLam0E->SetXTitle(
"#it{E} (GeV)");
2375 outputContainer->Add(
fhLam0E);
2377 fhLam0Pt =
new TH2F (
"hLam0Pt",
"#lambda_{0}^{2} vs #it{p}_{T}", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2378 fhLam0Pt->SetYTitle(
"#lambda_{0}^{2}");
2379 fhLam0Pt->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2382 fhLam1E =
new TH2F (
"hLam1E",
"#lambda_{1}^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2383 fhLam1E->SetYTitle(
"#lambda_{1}^{2}");
2384 fhLam1E->SetXTitle(
"#it{E} (GeV)");
2385 outputContainer->Add(
fhLam1E);
2387 fhLam1Pt =
new TH2F (
"hLam1Pt",
"#lambda_{1}^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2388 fhLam1Pt->SetYTitle(
"#lambda_{1}^{2}");
2389 fhLam1Pt->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2394 fhDispE =
new TH2F (
"hDispE",
" dispersion^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2396 fhDispE->SetXTitle(
"#it{E} (GeV) ");
2397 outputContainer->Add(
fhDispE);
2399 fhDispPt =
new TH2F (
"hDispPt",
" dispersion^{2} vs #it{p}_{T}", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2401 fhDispPt->SetXTitle(
"#it{p}_{T} (GeV/#it{c}) ");
2407 fhLam0PtNLM1 =
new TH2F (
"hLam0PtNLM1",
"#lambda_{0}^{2} vs #it{p}_{T}, #it{n}_{LM}=1", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2412 fhLam0PtNLM2 =
new TH2F (
"hLam0PtNLM2",
"#lambda_{0}^{2} vs #it{p}_{T}, #it{n}_{LM}=2", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2417 fhLam1PtNLM1 =
new TH2F (
"hLam1PtNLM1",
"#lambda_{1}^{2} vs #it{p}_{T}, #it{n}_{LM}=1", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2422 fhLam1PtNLM2 =
new TH2F (
"hLam1PtNLM2",
"#lambda_{1}^{2} vs #it{p}_{T}, #it{n}_{LM}=2", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2430 fhLam0ETM =
new TH2F (
"hLam0ETM",
"#lambda_{0}^{2} vs E, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #varphi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2431 fhLam0ETM->SetYTitle(
"#lambda_{0}^{2}");
2435 fhLam0PtTM =
new TH2F (
"hLam0PtTM",
"#lambda_{0}^{2} vs #it{p}_{T}, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #varphi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2437 fhLam0PtTM->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2440 fhLam1ETM =
new TH2F (
"hLam1ETM",
"#lambda_{1}^{2} vs E, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #varphi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2441 fhLam1ETM->SetYTitle(
"#lambda_{1}^{2}");
2447 fhDispETM =
new TH2F (
"hDispETM",
" dispersion^{2} vs E, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #varphi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2456 fhLam0ETRD =
new TH2F (
"hLam0ETRD",
"#lambda_{0}^{2} vs E, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2461 fhLam0PtTRD =
new TH2F (
"hLam0PtTRD",
"#lambda_{0}^{2} vs #it{p}_{T}, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2463 fhLam0PtTRD->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2466 fhLam1ETRD =
new TH2F (
"hLam1ETRD",
"#lambda_{1}^{2} vs E, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2473 fhDispETRD =
new TH2F (
"hDispETRD",
" dispersion^{2} vs E, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2481 fhLam0ETMTRD =
new TH2F (
"hLam0ETMTRD",
"#lambda_{0}^{2} vs E, EMCAL SM covered by TRD, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #varphi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2486 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 #varphi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2491 fhLam1ETMTRD =
new TH2F (
"hLam1ETMTRD",
"#lambda_{1}^{2} vs E, EMCAL SM covered by TRD, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #varphi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2498 fhDispETMTRD =
new TH2F (
"hDispETMTRD",
" dispersion^{2} vs E, EMCAL SM covered by TRD, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #varphi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2508 fhNCellsLam0LowE =
new TH2F (
"hNCellsLam0LowE",
"N_{cells} in cluster vs #lambda_{0}^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2513 fhNCellsLam0HighE =
new TH2F (
"hNCellsLam0HighE",
"N_{cells} in cluster vs #lambda_{0}^{2}, #it{E} > 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2518 fhNCellsLam1LowE =
new TH2F (
"hNCellsLam1LowE",
"N_{cells} in cluster vs #lambda_{1}^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2523 fhNCellsLam1HighE =
new TH2F (
"hNCellsLam1HighE",
"N_{cells} in cluster vs #lambda_{1}^{2}, #it{E} > 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2528 fhNCellsDispLowE =
new TH2F (
"hNCellsDispLowE",
"N_{cells} in cluster vs dispersion^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2533 fhNCellsDispHighE =
new TH2F (
"hNCellsDispHighE",
"N_{cells} in cluster vs dispersion^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2538 fhEtaLam0LowE =
new TH2F (
"hEtaLam0LowE",
"#eta vs #lambda_{0}^{2}, E < 2 GeV", netabins,etamin,etamax, ssbins,ssmin,ssmax);
2543 fhPhiLam0LowE =
new TH2F (
"hPhiLam0LowE",
"#varphi vs #lambda_{0}^{2}, E < 2 GeV", nphibins,phimin,phimax, ssbins,ssmin,ssmax);
2548 fhEtaLam0HighE =
new TH2F (
"hEtaLam0HighE",
"#eta vs #lambda_{0}^{2}, #it{E} > 2 GeV", netabins,etamin,etamax, ssbins,ssmin,ssmax);
2553 fhPhiLam0HighE =
new TH2F (
"hPhiLam0HighE",
"#varphi vs #lambda_{0}^{2}, #it{E} > 2 GeV", nphibins,phimin,phimax, ssbins,ssmin,ssmax);
2558 fhLam1Lam0LowE =
new TH2F (
"hLam1Lam0LowE",
"#lambda_{0}^{2} vs #lambda_{1}^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2563 fhLam1Lam0HighE =
new TH2F (
"hLam1Lam0HighE",
"#lambda_{0}^{2} vs #lambda_{1}^{2} in cluster of #it{E} > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2568 fhLam0DispLowE =
new TH2F (
"hLam0DispLowE",
"#lambda_{0}^{2} vs dispersion^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2573 fhLam0DispHighE =
new TH2F (
"hLam0DispHighE",
"#lambda_{0}^{2} vs dispersion^{2} in cluster of #it{E} > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2578 fhDispLam1LowE =
new TH2F (
"hDispLam1LowE",
"Dispersion^{2} vs #lambda_{1}^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2583 fhDispLam1HighE =
new TH2F (
"hDispLam1HighE",
"Dispersion^{2} vs #lambda_{1^{2}} in cluster of #it{E} > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2590 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);
2592 fhDispEtaE->SetYTitle(
"#sigma^{2}_{#eta #eta}");
2595 fhDispPhiE =
new TH2F (
"hDispPhiE",
"#sigma^{2}_{#varphi #varphi} = #Sigma w_{i}(#varphi_{i} - <#varphi>)^{2} / #Sigma w_{i} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
2597 fhDispPhiE->SetYTitle(
"#sigma^{2}_{#varphi #varphi}");
2600 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);
2602 fhSumEtaE->SetYTitle(
"#delta^{2}_{#eta #eta}");
2605 fhSumPhiE =
new TH2F (
"hSumPhiE",
"#delta^{2}_{#varphi #varphi} = #Sigma w_{i}(#varphi_{i})^{2}/ #Sigma w_{i} - <#varphi>^{2} vs E",
2606 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
2608 fhSumPhiE->SetYTitle(
"#delta^{2}_{#varphi #varphi}");
2611 fhSumEtaPhiE =
new TH2F (
"hSumEtaPhiE",
"#delta^{2}_{#eta #varphi} = #Sigma w_{i}(#varphi_{i} #eta_{i} ) / #Sigma w_{i} - <#varphi><#eta> vs E",
2612 nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
2617 fhDispEtaPhiDiffE =
new TH2F (
"hDispEtaPhiDiffE",
"#sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta} vs E",
2618 nptbins,ptmin,ptmax,200, -10,10);
2620 fhDispEtaPhiDiffE->SetYTitle(
"#sigma^{2}_{#varphi #varphi}-#sigma^{2}_{#eta #eta}");
2623 fhSphericityE =
new TH2F (
"hSphericityE",
"(#sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#varphi #varphi}) vs E",
2624 nptbins,ptmin,ptmax, 200, -1,1);
2626 fhSphericityE->SetYTitle(
"s = (#sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#varphi #varphi})");
2629 fhDispSumEtaDiffE =
new TH2F (
"hDispSumEtaDiffE",
"#sigma^{2}_{#eta #eta} - #delta^{2}_{#eta #eta} / average vs E", nptbins,ptmin,ptmax, 200,-0.01,0.01);
2631 fhDispSumEtaDiffE->SetYTitle(
"#sigma^{2}_{#eta #eta} - #delta^{2}_{#eta #eta} / average");
2634 fhDispSumPhiDiffE =
new TH2F (
"hDispSumPhiDiffE",
"#sigma^{2}_{#varphi #varphi} - #delta^{2}_{#varphi #varphi} / average vs E", nptbins,ptmin,ptmax, 200,-0.01,0.01);
2636 fhDispSumPhiDiffE->SetYTitle(
"#sigma^{2}_{#varphi #varphi} - #delta^{2}_{#varphi #varphi} / average");
2639 for(
Int_t i = 0; i < 7; i++)
2641 fhDispEtaDispPhi[i] =
new TH2F (Form(
"hDispEtaDispPhi_EBin%d",i),Form(
"#sigma^{2}_{#varphi #varphi} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",bin[i],bin[i+1]),
2642 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
2647 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]),
2648 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
2653 fhLambda0DispPhi[i] =
new TH2F (Form(
"hLambda0DispPhi_EBin%d",i),Form(
"#lambda^{2}_{0}} vs #sigma^{2}_{#varphi #varphi} for %d < E < %d GeV",bin[i],bin[i+1]),
2654 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
2667 TString cutTM [] = {
"NoCut",
""};
2669 for(
Int_t i = 0; i < 2; i++)
2693 (Form(
"hTrackMatchedDEtaPos%s",cutTM[i].
Data()),
2694 Form(
"#Delta #eta of cluster-track vs #it{E}_{cluster}, %s",cutTM[i].
Data()),
2695 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2700 (Form(
"hTrackMatchedDPhiPos%s",cutTM[i].
Data()),
2701 Form(
"#Delta #varphi of cluster-track vs #it{E}_{cluster}, %s",cutTM[i].
Data()),
2702 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2707 (Form(
"hTrackMatchedDEtaDPhiPos%s",cutTM[i].
Data()),
2708 Form(
"#Delta #eta vs #Delta #varphi of cluster-track, #it{E}_{cluster}, %s",cutTM[i].
Data()),
2709 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
2714 (Form(
"hTrackMatchedDEtaNeg%s",cutTM[i].
Data()),
2715 Form(
"#Delta #eta of cluster-track vs #it{E}_{cluster}, %s",cutTM[i].
Data()),
2716 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2721 (Form(
"hTrackMatchedDPhiNeg%s",cutTM[i].
Data()),
2722 Form(
"#Delta #varphi of cluster-track vs #it{E}_{cluster}, %s",cutTM[i].
Data()),
2723 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2728 (Form(
"hTrackMatchedDEtaDPhiNeg%s",cutTM[i].
Data()),
2729 Form(
"#Delta #eta vs #Delta #varphi of cluster-track, #it{E}_{cluster} > 0.5 GeV, %s",cutTM[i].
Data()),
2730 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
2734 fhdEdx[i] =
new TH2F (Form(
"hdEdx%s",cutTM[i].
Data()),Form(
"matched track <dE/dx> vs cluster #it{E}, %s",cutTM[i].
Data()),
2735 nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
2736 fhdEdx[i]->SetXTitle(
"#it{E}^{cluster} (GeV)");
2737 fhdEdx[i]->SetYTitle(
"<dE/dx>");
2739 fhEOverP[i] =
new TH2F (Form(
"hEOverP%s",cutTM[i].
Data()),Form(
"matched track E/p vs cluster #it{E}, %s",cutTM[i].
Data()),
2740 nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
2741 fhEOverP[i]->SetXTitle(
"#it{E}^{cluster} (GeV)");
2753 outputContainer->Add(
fhdEdx[i]);
2780 (Form(
"hTrackMatchedDEtaPosTrackPt%s",cutTM[i].
Data()),
2781 Form(
"#Delta #eta of cluster-track vs #it{p}_{T}^{track}, %s",cutTM[i].
Data()),
2782 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2787 (Form(
"hTrackMatchedDPhiPosTrackPt%s",cutTM[i].
Data()),
2788 Form(
"#Delta #varphi of cluster-track vs #it{p}_{T}^{track}, %s",cutTM[i].
Data()),
2789 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2794 (Form(
"hTrackMatchedDEtaDPhiPosTrackPt%s",cutTM[i].
Data()),
2795 Form(
"#Delta #eta vs #Delta #varphi of cluster-track, #it{p}_{T}^{track} > 0.5 GeV/#it{c}, %s",cutTM[i].
Data()),
2796 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
2801 (Form(
"hTrackMatchedDEtaNegTrackPt%s",cutTM[i].
Data()),
2802 Form(
"#Delta #eta of cluster-track vs #it{p}_{T}^{track}, %s",cutTM[i].
Data()),
2803 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2808 (Form(
"hTrackMatchedDPhiNegTrackPt%s",cutTM[i].
Data()),
2809 Form(
"#Delta #varphi of cluster-track vs #it{p}_{T}^{track}, %s",cutTM[i].
Data()),
2810 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2815 (Form(
"hTrackMatchedDEtaDPhiNegTrackPt%s",cutTM[i].
Data()),
2816 Form(
"#Delta #eta vs #Delta #varphi of cluster-track, #it{p}_{T}^{track} > 0.5 GeV/#it{c}, %s",cutTM[i].
Data()),
2817 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
2821 fhdEdxTrackPt[i] =
new TH2F (Form(
"hdEdxTrackPt%s",cutTM[i].
Data()),Form(
"matched track <dE/dx> vs track #it{p}_{T}, %s",cutTM[i].
Data()),
2822 nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
2823 fhdEdxTrackPt[i]->SetXTitle(
"#it{p}_{T}^{track} (GeV/#it{c})");
2826 fhEOverPTrackPt[i] =
new TH2F (Form(
"hEOverPTrackPt%s",cutTM[i].
Data()),Form(
"matched track E/p vs track #it{p}_{T}, %s",cutTM[i].
Data()),
2827 nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
2828 fhEOverPTrackPt[i]->SetXTitle(
"#it{p}_{T}^{track} (GeV)^{track/#it{c}}");
2847 (Form(
"hTrackMatchedDEtaTRD%s",cutTM[i].
Data()),
2848 Form(
"#Delta #eta of cluster-track vs cluster energy, SM behind TRD, %s",cutTM[i].
Data()),
2849 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2854 (Form(
"hTrackMatchedDPhiTRD%s",cutTM[i].
Data()),
2855 Form(
"#Delta #varphi of cluster-track vs cluster energy, SM behing TRD, %s",cutTM[i].
Data()),
2856 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2861 (Form(
"hEOverPTRD%s",cutTM[i].
Data()),
2862 Form(
"matched track E/p vs cluster E, behind TRD, %s",cutTM[i].
Data()),
2863 nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
2875 (Form(
"hTrackMatchedDEtaMCNoOverlap%s",cutTM[i].
Data()),
2876 Form(
"#Delta #eta of cluster-track vs cluster energy, no other MC particles overlap %s",cutTM[i].
Data()),
2877 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2882 (Form(
"hTrackMatchedDPhiMCNoOverlap%s",cutTM[i].
Data()),
2883 Form(
"#Delta #varphi of cluster-track vs cluster energy, no other MC particles overlap %s",cutTM[i].
Data()),
2884 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2891 (Form(
"hTrackMatchedDEtaMCOverlap%s",cutTM[i].
Data()),
2892 Form(
"#Delta #eta of cluster-track vs cluster energy, several MC particles overlap %s",cutTM[i].
Data()),
2893 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2898 (Form(
"hTrackMatchedDPhiMCOverlap%s",cutTM[i].
Data()),
2899 Form(
"#Delta #varphi of cluster-track vs cluster energy, several MC particles overlap %s",cutTM[i].
Data()),
2900 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2908 (Form(
"hTrackMatchedDEtaMCConversion%s",cutTM[i].
Data()),
2909 Form(
"#Delta #eta of cluster-track vs cluster energy, no other MC particles overlap appart from conversions %s",cutTM[i].
Data()),
2910 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2915 (Form(
"hTrackMatchedDPhiMCConversion%s",cutTM[i].
Data()),
2916 Form(
"#Delta #varphi of cluster-track vs cluster energy, no other MC particles overlap appart from conversions %s",cutTM[i].
Data()),
2917 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2925 (Form(
"hTrackMatchedMCParticle%s",cutTM[i].
Data()),
2926 Form(
"Origin of particle vs energy %s",cutTM[i].
Data()),
2927 nptbins,ptmin,ptmax,8,0,8);
2947 TString pileUpName[] = {
"SPD",
"EMCAL",
"SPDOrEMCAL",
"SPDAndEMCAL",
"SPDAndNotEMCAL",
"EMCALAndNotSPD",
"NotSPDAndNotEMCAL"} ;
2949 for(
Int_t i = 0 ; i < 7 ; i++)
2952 Form(
"Selected photon #it{p}_{T} distribution, %s Pile-Up event",pileUpName[i].
Data()), nptbins,ptmin,ptmax);
2957 Form(
"Photon cluster E vs #it{t}_{max}-#it{t}_{cell} in cluster, %s Pile-Up event",pileUpName[i].
Data()),
2958 nptbins,ptmin,ptmax,400,-200,200);
2964 fhTimePtPhotonNoCut =
new TH2F (
"hTimePtPhoton_NoCut",
"time of photon cluster vs pT of clusters, no cut", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
2969 fhTimePtPhotonSPD =
new TH2F (
"hTimePtPhoton_SPD",
"time of photon cluster vs pT of clusters, SPD cut", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
2974 fhTimeNPileUpVertSPD =
new TH2F (
"hTime_NPileUpVertSPD",
"time of cluster vs N pile-up SPD vertex", ntimebins,timemin,timemax,20,0,20);
2979 fhTimeNPileUpVertTrack =
new TH2F (
"hTime_NPileUpVertTracks",
"time of cluster vs N pile-up Tracks vertex", ntimebins,timemin,timemax, 20,0,20 );
2985 nptbins,ptmin,ptmax,20,0,20);
2991 nptbins,ptmin,ptmax, 20,0,20 );
2997 nptbins,ptmin,ptmax,20,0,20);
3003 nptbins,ptmin,ptmax, 20,0,20 );
3009 nptbins,ptmin,ptmax,20,0,20);
3015 nptbins,ptmin,ptmax, 20,0,20 );
3024 for(
Int_t ieta = 0; ieta < 4; ieta++)
3026 for(
Int_t iphi = 0; iphi < 3; iphi++)
3049 if(ism < fFirstModule || ism >
fLastModule)
continue;
3052 new TH2F(Form(
"hLam0_eta%d_phi%d_sm%d",ieta,iphi,ism),
3053 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{0}^{2}, sm %d, region eta %d, phi %d",ism,ieta,iphi),
3054 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3060 new TH2F(Form(
"hLam1_eta%d_phi%d_sm%d",ieta,iphi,ism),
3061 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{1}^{2}, sm %d, region eta %d, phi %d",ism,ieta,iphi),
3062 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3070 Float_t ptLimit[] = {2,3,4,5,6,8,10,12};
3071 TString l0bin [] = {
"0.23<#lambda^{2}_{0}<0.26",
"0.3<#lambda^{2}_{0}<0.4"};
3073 for(
Int_t il0 = 0; il0 < 2; il0++)
3075 for(
Int_t ipt = 0; ipt < 7; ipt++)
3078 (Form(
"hEtaPhiLam0Bin%d_PtBin%d",il0,ipt),
3079 Form(
"#eta vs #varphi in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s",
3080 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3081 netabins,etamin,etamax,nphibins,phimin,phimax);
3087 (Form(
"hColRowLam0Bin%d_PtBin%d",il0,ipt),
3088 Form(
"row vs column in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s, w > 0",
3089 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3090 ncolcell,colcellmin,colcellmax,nrowcell,rowcellmin,rowcellmax);
3096 (Form(
"hColRowLam0Bin%d_PtBin%dWeighted",il0,ipt),
3097 Form(
"cluster cell row vs column weighted in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s",
3098 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3099 ncolcell,colcellmin,colcellmax,nrowcell,rowcellmin,rowcellmax);
3105 (Form(
"hColRowLam0Bin%d_PtBin%d_LargeTimeInClusterCell",il0,ipt),
3106 Form(
"row vs column in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s, |t| > 50 ns, w > 0",
3107 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3108 ncolcell,colcellmin,colcellmax,nrowcell,rowcellmin,rowcellmax);
3132 (Form(
"hEtaPhiLam0Bin%d_PtBin%d_LargeTimeInClusterCell",il0,ipt),
3133 Form(
"#eta vs #varphi in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, t > 50 ns, %s",
3134 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3135 netabins,etamin,etamax,nphibins,phimin,phimax);
3141 (Form(
"hCellClusterIndexEAndTimeLam0Bin%d_PtBin%d",il0,ipt),
3142 Form(
"#it{t}_{cell} vs cell index (E sorted) in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, %s",
3143 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3144 ntimebins,timemin,timemax,30,0,30);
3150 (Form(
"hCellClusterEAndTimeLam0Bin%d_PtBin%d",il0,ipt),
3151 Form(
"#it{E}_{cell} vs #it{t}_{cell} in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, %s",
3152 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3153 ntimebins,timemin,timemax,100,0,5);
3159 (Form(
"hCellClusterEFracAndTimeLam0Bin%d_PtBin%d",il0,ipt),
3160 Form(
"#it{E}_{cell} vs #it{t}_{cell} in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, %s",
3161 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3162 ntimebins,timemin,timemax,100,0,1);
3170 if(ism < fFirstModule || ism >
fLastModule)
continue;
3173 (Form(
"hLam1Lam0Bin%d_sm%d",il0,ism),
3174 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in sm %d, %s",ism,l0bin[il0].
Data()),
3175 nptbins,ptmin,ptmax,40,0,0.4);
3181 (Form(
"hTimeLam0Bin%d_sm%d",il0,ism),
3182 Form(
"#it{p}_{T} vs cluster cell time in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3183 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3189 (Form(
"hTimeLam0Bin%d_sm%d_Weighted",il0,ism),
3190 Form(
"#it{p}_{T} vs cluster cell time weighted in sm %d, %s",ism,l0bin[il0].
Data()),
3191 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3197 (Form(
"hDTimeLam0Bin%d_sm%d",il0,ism),
3198 Form(
"#it{p}_{T} vs t_{cluster}-t_{cell} in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3199 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3205 (Form(
"hDTimeLam0Bin%d_sm%d_Weighted",il0,ism),
3206 Form(
"#it{p}_{T} vs t_{cluster}-t_{cell} weighted in sm %d, %s",ism,l0bin[il0].
Data()),
3207 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3213 (Form(
"hCellClusterEFracLam0Bin%d_sm%d",il0,ism),
3214 Form(
"#it{p}_{T} vs cell E / cluster E in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3215 nptbins,ptmin,ptmax,100,0,1);
3229 (Form(
"hCellClusterEFracLam0Bin%d_sm%d_LargeTimeInClusterCell",il0,ism),
3230 Form(
"#it{p}_{T} vs cell E / cluster E in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3231 nptbins,ptmin,ptmax,100,0,1);
3237 (Form(
"hCellClusterEFracLam0Bin%d_sm%d_LargeTimeInClusterCell_Total",il0,ism),
3238 Form(
"#it{p}_{T} vs cell E / cluster E in sm %d, %s, w > 0, all |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3239 nptbins,ptmin,ptmax,100,0,1);
3245 (Form(
"hCellClusterELam0Bin%d_sm%d",il0,ism),
3246 Form(
"#it{p}_{T} vs cell E in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3247 nptbins,ptmin,ptmax,500,0,10);
3253 (Form(
"hCellClusterELam0Bin%d_sm%d_Weighted",il0,ism),
3254 Form(
"#it{p}_{T} vs cell E weighted in sm %d, %s",ism,l0bin[il0].
Data()),
3255 nptbins,ptmin,ptmax,500,0,10);
3261 (Form(
"hCellClusterELam0Bin%d_sm%d_LargeTimeInClusterCell",il0,ism),
3262 Form(
"#it{p}_{T} vs cell E in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3263 nptbins,ptmin,ptmax,500,0,10);
3269 (Form(
"hCellClusterIndexELam0Bin%d_sm%d_LargeTimeInClusterCell",il0,ism),
3270 Form(
"#it{p}_{T} vs cell index (E sorted) in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3271 nptbins,ptmin,ptmax,30,0,30);
3277 (Form(
"hNCellsWithLargeTimeInClusterLam0Bin%d_sm%d",il0,ism),
3278 Form(
"#it{p}_{T} vs number of cells in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3279 nptbins,ptmin,ptmax,30,0,30);
3299 if(ism < fFirstModule || ism >
fLastModule)
continue;
3302 (Form(
"hLam0_sm%d",ism),
3303 Form(
"#it{p}_{T} vs #lambda^{2}_{0} in sm %d",ism),
3304 nptbins,ptmin,ptmax,40,0,0.4);
3306 fhLam0PerSM[ism]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3310 (Form(
"hLam1_sm%d",ism),
3311 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in sm %d",ism),
3312 nptbins,ptmin,ptmax,40,0,0.4);
3314 fhLam1PerSM[ism]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3318 (Form(
"hLam0_sm%d_LargeTimeInClusterCell",ism),
3319 Form(
"#it{p}_{T} vs #lambda^{2}_{0} in sm %d,|t_{secondary cell}| > 50 ns",ism),
3320 nptbins,ptmin,ptmax,40,0,0.4);
3326 (Form(
"hLam1_sm%d_LargeTimeInClusterCell",ism),
3327 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in sm %d, |t_{secondary cell}| > 50 ns",ism),
3328 nptbins,ptmin,ptmax,40,0,0.4);
3369 for(
Int_t ilarge = 0; ilarge < 5; ilarge++)
3372 (Form(
"hLam0_NLargeTimeInClusterCell%d",ilarge),
3373 Form(
"#it{p}_{T} vs #lambda^{2}_{0} in sm %d,|t_{secondary cell}| > 50 ns",ilarge),
3374 nptbins,ptmin,ptmax,40,0,0.4);
3380 (Form(
"hLam1_NLargeTimeInClusterCell%d",ilarge),
3381 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in sm %d, |t_{secondary cell}| > 50 ns",ilarge),
3382 nptbins,ptmin,ptmax,40,0,0.4);
3393 TString ptype[] = {
"#gamma" ,
"#gamma_{#pi decay}" ,
"#gamma_{#eta decay}",
"#gamma_{other decay}",
3394 "#pi^{0}" ,
"#eta" ,
"e^{#pm}" ,
"#gamma->e^{#pm}" ,
3395 "hadron?" ,
"Anti-N" ,
"Anti-P" ,
3396 "Neutron" ,
"Proton" ,
"#pi^{#pm}" ,
3397 "#gamma_{prompt}",
"#gamma_{fragmentation}",
"#gamma_{ISR}" ,
"String" } ;
3399 TString pname[] = {
"Photon" ,
"PhotonPi0Decay" ,
"PhotonEtaDecay",
"PhotonOtherDecay",
3400 "Pi0" ,
"Eta" ,
"Electron" ,
"Conversion" ,
3401 "Hadron" ,
"AntiNeutron" ,
"AntiProton" ,
3402 "Neutron" ,
"Proton" ,
"ChPion" ,
3403 "PhotonPrompt",
"PhotonFragmentation",
"PhotonISR" ,
"String" } ;
3407 fhMCE[i] =
new TH1F(Form(
"hE_MC%s",pname[i].
Data()),
3408 Form(
"cluster from %s : E ",ptype[i].
Data()),
3409 nptbins,ptmin,ptmax);
3410 fhMCE[i]->SetXTitle(
"#it{E} (GeV)");
3411 outputContainer->Add(
fhMCE[i]) ;
3413 fhMCPt[i] =
new TH1F(Form(
"hPt_MC%s",pname[i].
Data()),
3414 Form(
"cluster from %s : #it{p}_{T} ",ptype[i].
Data()),
3415 nptbins,ptmin,ptmax);
3416 fhMCPt[i]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3417 outputContainer->Add(
fhMCPt[i]) ;
3420 Form(
"cluster from %s : #eta ",ptype[i].
Data()),
3421 nptbins,ptmin,ptmax,netabins,etamin,etamax);
3422 fhMCEta[i]->SetYTitle(
"#eta");
3423 fhMCEta[i]->SetXTitle(
"#it{E} (GeV)");
3424 outputContainer->Add(
fhMCEta[i]) ;
3427 Form(
"cluster from %s : #varphi ",ptype[i].
Data()),
3428 nptbins,ptmin,ptmax,nphibins,phimin,phimax);
3429 fhMCPhi[i]->SetYTitle(
"#varphi (rad)");
3430 fhMCPhi[i]->SetXTitle(
"#it{E} (GeV)");
3431 outputContainer->Add(
fhMCPhi[i]) ;
3435 Form(
"MC - Reco E from %s",pname[i].
Data()),
3436 nptbins,ptmin,ptmax, 200,-50,50);
3437 fhMCDeltaE[i]->SetYTitle(
"#Delta #it{E} (GeV)");
3442 Form(
"MC - Reco #it{p}_{T} from %s",pname[i].
Data()),
3443 nptbins,ptmin,ptmax, 200,-50,50);
3444 fhMCDeltaPt[i]->SetXTitle(
"p_{T,rec} (GeV/#it{c})");
3445 fhMCDeltaPt[i]->SetYTitle(
"#Delta #it{p}_{T} (GeV/#it{c})");
3449 Form(
"E distribution, reconstructed vs generated from %s",pname[i].
Data()),
3450 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
3451 fhMC2E[i]->SetXTitle(
"#it{E}_{rec} (GeV)");
3452 fhMC2E[i]->SetYTitle(
"#it{E}_{gen} (GeV)");
3453 outputContainer->Add(
fhMC2E[i]);
3456 Form(
"p_T distribution, reconstructed vs generated from %s",pname[i].
Data()),
3457 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
3458 fhMC2Pt[i]->SetXTitle(
"p_{T,rec} (GeV/#it{c})");
3459 fhMC2Pt[i]->SetYTitle(
"p_{T,gen} (GeV/#it{c})");
3460 outputContainer->Add(
fhMC2Pt[i]);
3463 TString pptype[] = {
"#gamma" ,
"#gamma_{#pi decay}" ,
3464 "#gamma_{#eta decay}",
"#gamma_{other decay}" ,
3465 "#gamma_{prompt}" ,
"#gamma_{fragmentation}",
"#gamma_{ISR}" } ;
3467 TString ppname[] = {
"Photon" ,
"PhotonPi0Decay" ,
3468 "PhotonEtaDecay",
"PhotonOtherDecay" ,
3469 "PhotonPrompt" ,
"PhotonFragmentation",
"PhotonISR" } ;
3473 fhEPrimMC[i] =
new TH1F(Form(
"hEPrim_MC%s",ppname[i].
Data()),
3474 Form(
"primary photon %s : E ",pptype[i].
Data()),
3475 nptbins,ptmin,ptmax);
3476 fhEPrimMC[i]->SetXTitle(
"#it{E} (GeV)");
3480 Form(
"primary photon %s : #it{p}_{T} ",pptype[i].
Data()),
3481 nptbins,ptmin,ptmax);
3482 fhPtPrimMC[i]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3486 Form(
"primary photon %s : Rapidity ",pptype[i].
Data()),
3487 nptbins,ptmin,ptmax,200,-2,2);
3489 fhYPrimMC[i]->SetXTitle(
"#it{E} (GeV)");
3493 Form(
"primary photon %s : #eta",pptype[i].
Data()),
3494 nptbins,ptmin,ptmax,200,-2,2);
3500 Form(
"primary photon %s : #varphi ",pptype[i].
Data()),
3501 nptbins,ptmin,ptmax,nphibins,0,TMath::TwoPi());
3508 Form(
"primary photon %s in acceptance: E ",pptype[i].
Data()),
3509 nptbins,ptmin,ptmax);
3514 Form(
"primary photon %s in acceptance: #it{p}_{T} ",pptype[i].
Data()),
3515 nptbins,ptmin,ptmax);
3520 Form(
"primary photon %s in acceptance: Rapidity ",pptype[i].
Data()),
3521 nptbins,ptmin,ptmax,100,-1,1);
3527 Form(
"primary photon %s in acceptance: #eta ",pptype[i].
Data()),
3528 nptbins,ptmin,ptmax,netabins,etamin,etamax);
3534 Form(
"primary photon %s in acceptance: #varphi ",pptype[i].
Data()),
3535 nptbins,ptmin,ptmax,nphibins,phimin,phimax);
3543 TString ptypess[] = {
"#gamma",
"hadron?",
"#pi^{0}",
"#eta",
"#gamma->e^{#pm}",
"e^{#pm}"} ;
3545 TString pnamess[] = {
"Photon",
"Hadron",
"Pi0",
"Eta",
"Conversion",
"Electron"} ;
3547 for(
Int_t i = 0; i < 6; i++)
3550 Form(
"cluster from %s : E vs #lambda_{0}^{2}",ptypess[i].
Data()),
3551 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3557 Form(
"cluster from %s : #it{p}_{T} vs #lambda_{0}^{2}",ptypess[i].
Data()),
3558 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3563 if(!
GetReader()->IsEmbeddedClusterSelectionOn())
3565 for(
Int_t iover = 0; iover < 3; iover++)
3568 Form(
"cluster from %s : #it{p}_{T} vs #lambda_{0}^{2}, N Overlaps = %d",ptypess[i].
Data(),iover),
3569 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3577 Form(
"cluster from %s : E vs #lambda_{1}^{2}",ptypess[i].
Data()),
3578 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3584 Form(
"# of cells in cluster from %s vs E of clusters",ptypess[i].
Data()),
3585 nptbins,ptmin,ptmax, nbins,nmin,nmax);
3587 fhMCNCellsE[i]->SetYTitle(
"# of cells in cluster");
3593 Form(
"cluster from %s : E vs dispersion^{2}",ptypess[i].
Data()),
3594 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3600 Form(
"energy vs difference of cluster energy from %s - max cell energy / cluster energy, good clusters",ptypess[i].
Data()),
3601 nptbins,ptmin,ptmax, 500,0,1.);
3607 Form(
"cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, E < 2 GeV",ptypess[i].
Data()),
3608 ssbins,ssmin,ssmax,500,0,1.);
3614 Form(
"cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, 2< E < 6 GeV",ptypess[i].
Data()),
3615 ssbins,ssmin,ssmax,500,0,1.);
3621 Form(
"cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, #it{E} > 6 GeV",ptypess[i].
Data()),
3622 ssbins,ssmin,ssmax,500,0,1.);
3628 Form(
"cluster from %s : N cells in cluster vs fraction of energy carried by max cell, E < 2 GeV",ptypess[i].
Data()),
3629 nbins/5,nmin,nmax/5,500,0,1.);
3635 Form(
"cluster from %s : N cells in cluster vs fraction of energy carried by max cell, 2< E < 6 GeV",ptypess[i].
Data()),
3636 nbins/5,nmin,nmax/5,500,0,1.);
3642 Form(
"cluster from %s : N cells in cluster vs fraction of energy carried by max cell, #it{E} > 6 GeV",ptypess[i].
Data()),
3643 nbins/5,nmin,nmax/5,500,0,1.);
3651 Form(
"cluster from %s : #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E",ptypess[i].
Data()),
3652 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3658 Form(
"cluster from %s : #sigma^{2}_{#varphi #varphi} = #Sigma w_{i}(#varphi_{i} - <#varphi>)^{2} / #Sigma w_{i} vs E",ptypess[i].
Data()),
3659 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3661 fhMCEDispPhi[i]->SetYTitle(
"#sigma^{2}_{#varphi #varphi}");
3665 Form(
"cluster from %s : #delta^{2}_{#eta #varphi} = #Sigma w_{i}(#varphi_{i} #eta_{i} ) / #Sigma w_{i} - <#varphi><#eta> vs E",ptypess[i].
Data()),
3666 nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
3672 Form(
"cluster from %s : #sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta} vs E",ptypess[i].
Data()),
3673 nptbins,ptmin,ptmax,200,-10,10);
3679 Form(
"cluster from %s : (#sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#varphi #varphi}) vs E",ptypess[i].
Data()),
3680 nptbins,ptmin,ptmax, 200,-1,1);
3682 fhMCESphericity[i]->SetYTitle(
"s = (#sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#varphi #varphi})");
3685 for(
Int_t ie = 0; ie < 7; ie++)
3688 Form(
"cluster from %s : #sigma^{2}_{#varphi #varphi} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",pnamess[i].
Data(),bin[ie],bin[ie+1]),
3689 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
3695 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]),
3696 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
3702 Form(
"cluster from %s :#lambda^{2}_{0} vs #sigma^{2}_{#varphi #varphi} for %d < E < %d GeV",pnamess[i].
Data(),bin[ie],bin[ie+1]),
3703 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
3736 if(
GetReader()->IsEmbeddedClusterSelectionOn())
3739 "Energy Fraction of embedded signal versus cluster energy",
3740 nptbins,ptmin,ptmax,100,0.,1.);
3746 "cluster from Photon embedded with more than 90% energy in cluster : E vs #lambda_{0}^{2}",
3747 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3753 "cluster from Photon embedded with 50% to 90% energy in cluster : E vs #lambda_{0}^{2}",
3754 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3760 "cluster from Photon embedded with 10% to 50% energy in cluster : E vs #lambda_{0}^{2}",
3761 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3767 "cluster from Photonm embedded with 0% to 10% energy in cluster : E vs #lambda_{0}^{2}",
3768 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3774 "cluster from Pi0 embedded with more than 90% energy in cluster : E vs #lambda_{0}^{2}",
3775 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3781 "cluster from Pi0 embedded with 50% to 90% energy in cluster : E vs #lambda_{0}^{2}",
3782 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3788 "cluster from Pi0 embedded with 10% to 50% energy in cluster : E vs #lambda_{0}^{2}",
3789 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3795 "cluster from Pi0 embedded with 0% to 10% energy in cluster : E vs #lambda_{0}^{2}",
3796 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3806 fhMCConversionVertex =
new TH2F(
"hMCPhotonConversionVertex",
"cluster from converted photon, #it{p}_{T} vs vertex distance",
3807 nptbins,ptmin,ptmax,500,0,500);
3814 fhMCConversionVertexTRD =
new TH2F(
"hMCPhotonConversionVertexTRD",
"cluster from converted photon, #it{p}_{T} vs vertex distance, SM covered by TRD",
3815 nptbins,ptmin,ptmax,500,0,500);
3823 TString region[] = {
"ITS",
"TPC",
"TRD",
"TOF",
"Top EMCal",
"In EMCal"};
3824 for(
Int_t iR = 0; iR < 6; iR++)
3827 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{0}^{2}, conversion in %s",region[iR].
Data()),
3828 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3834 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{1}^{2}, conversion in %s",region[iR].
Data()),
3835 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3844 for(
Int_t iR = 0; iR < 6; iR++)
3847 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{0}^{2}, conversion in %s, SM covered by TRD",region[iR].
Data()),
3848 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3854 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{1}^{2}, conversion in %s, SM covered by TRD",region[iR].
Data()),
3855 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3902 (Form(
"hEBin%d_Cluster_EtaPhi",ie),
3903 Form(
"#eta vs #varphi, cluster, %2.2f<#it{p}_{T}<%2.2f GeV/#it{c}",
fEBinCuts[ie],
fEBinCuts[ie+1]),
3904 netabins,etamin,etamax,nphibins,phimin,phimax);
3910 (Form(
"hEBin%d_Cluster_ColRow",ie),
3911 Form(
"column vs row, cluster max E cell, %2.2f<#it{p}_{T}<%2.2f GeV/#it{c}",
fEBinCuts[ie],
fEBinCuts[ie+1]),
3912 ncolcell,colcellmin,colcellmax,nrowcell,rowcellmin,rowcellmax);
3918 (Form(
"hEBin%d_Cluster_EtaPhi_PID",ie),
3919 Form(
"#eta vs #varphi, cluster, %2.2f<#it{p}_{T}<%2.2f GeV/#it{c}, PID cut",
fEBinCuts[ie],
fEBinCuts[ie+1]),
3920 netabins,etamin,etamax,nphibins,phimin,phimax);
3926 (Form(
"hEBin%d_Cluster_ColRow_PID",ie),
3927 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]),
3928 ncolcell,colcellmin,colcellmax,nrowcell,rowcellmin,rowcellmax);
3937 TString caseTitle[] = {
"",
"CleanCluster",
"MergedClusterHijingBkg",
"MergedClusterNotHijingBkg",
"MergedClusterHijingAndOtherBkg",
"MergedCluster"};
3941 for(
Int_t icase = 0; icase < ncases; icase++)
3944 (Form(
"hLocalRegionClusterEtaPhi%s",caseTitle[icase].
Data()),
3945 "cluster,#it{E} > 0.5 GeV, #eta vs #varphi",netabins,etamin,etamax,nphibins,phimin,phimax);
3951 (Form(
"hLocalRegionClusterEnergySum%s",caseTitle[icase].
Data()),
3952 "Sum of cluster energy around trigger cluster #it{E} with R=0.2",
3953 nptbins,ptmin,ptmax, 200,0,100);
3959 (Form(
"hLocalRegionClusterMultiplicity%s",caseTitle[icase].
Data()),
3960 "Cluster multiplicity around trigger cluster #it{E} with R=0.2",
3961 nptbins,ptmin,ptmax, 200,0,200);
3969 (Form(
"hLocalRegionClusterEnergySumPerCentrality%s",caseTitle[icase].
Data()),
3970 "Sum of cluster energy around trigger cluster vs centrality with R=0.2",
3971 100,0,100, 200,0,100);
3977 (Form(
"hLocalRegionClusterMultiplicityPerCentrality%s",caseTitle[icase].
Data()),
3978 "Cluster multiplicity around trigger cluster vs centrality with R=0.2",
3979 100,0,100, 200,0,200);
3991 (Form(
"hLocalRegionClusterEnergySum%s_MCPi0Decay",caseTitle[icase].
Data()),
3992 "Sum of cluster energy around trigger cluster #it{E} with R=0.2",
3993 nptbins,ptmin,ptmax, 200,0,100);
3999 (Form(
"hLocalRegionClusterMultiplicity%s_MCPi0Decay",caseTitle[icase].
Data()),
4000 "Cluster multiplicity around trigger cluster #it{E} with R=0.2",
4001 nptbins,ptmin,ptmax, 200,0,200);
4009 (Form(
"hLocalRegionClusterEnergySumPerCentrality%s_MCPi0Decay",caseTitle[icase].
Data()),
4010 "Sum of cluster energy around trigger cluster vs centrality with R=0.2",
4011 100,0,100, 200,0,100);
4017 (Form(
"hLocalRegionClusterMultiplicityPerCentrality%s_MCPi0Decay",caseTitle[icase].
Data()),
4018 "Cluster multiplicity around trigger cluster vs centrality with R=0.2",
4019 100,0,100, 200,0,200);
4029 (Form(
"hLocalRegionClusterEnergySumHijing%s",caseTitle[icase].
Data()),
4030 "Sum of cluster energy (HIJING) around trigger cluster #it{E} with R=0.2",
4031 nptbins,ptmin,ptmax, 200,0,100);
4037 (Form(
"hLocalRegionClusterMultiplicityHijing%s",caseTitle[icase].
Data()),
4038 "Cluster multiplicity (HIJING) around trigger cluster #it{E} with R=0.2",
4039 nptbins,ptmin,ptmax, 200,0,200);
4045 (Form(
"hLocalRegionClusterEnergySumAdded%s",caseTitle[icase].
Data()),
4046 "Sum of cluster energy (not HIJING) around trigger cluster #it{E} with R=0.2",
4047 nptbins,ptmin,ptmax, 200,0,100);
4053 (Form(
"hLocalRegionClusterMultiplicityAdded%s",caseTitle[icase].
Data()),
4054 "Cluster multiplicity (not HIJING) around trigger cluster #it{E} with R=0.2",
4055 nptbins,ptmin,ptmax, 200,0,200);
4064 (Form(
"hLocalRegionClusterEnergySumPerCentralityHijing%s",caseTitle[icase].
Data()),
4065 "Sum of cluster energy (HIJING) around trigger cluster vs centrality with R=0.2",
4066 100,0,100, 200,0,100);
4072 (Form(
"hLocalRegionClusterMultiplicityPerCentralityHijing%s",caseTitle[icase].
Data()),
4073 "Cluster multiplicity (HIJING) around trigger cluster vs centrality with R=0.2",
4074 100,0,100, 200,0,200);
4081 (Form(
"hLocalRegionClusterEnergySumPerCentralityAdded%s",caseTitle[icase].
Data()),
4082 "Sum of cluster energy (not HIJING) around trigger cluster vs centrality with R=0.2",
4083 100,0,100, 200,0,100);
4089 (Form(
"hLocalRegionClusterMultiplicityPerCentralityAdded%s",caseTitle[icase].
Data()),
4090 "Cluster multiplicity (not HIJING) around trigger cluster vs centrality with R=0.2",
4091 100,0,100, 200,0,200);
4102 (Form(
"hLocalRegionClusterEnergySumHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
4103 "Sum of cluster energy (HIJING) around trigger cluster #it{E} with R=0.2",
4104 nptbins,ptmin,ptmax, 200,0,100);
4110 (Form(
"hLocalRegionClusterMultiplicityHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
4111 "Cluster multiplicity (HIJING) around trigger cluster #it{E} with R=0.2",
4112 nptbins,ptmin,ptmax, 200,0,200);
4118 (Form(
"hLocalRegionClusterEnergySumAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
4119 "Sum of cluster energy (not HIJING) around trigger cluster #it{E} with R=0.2",
4120 nptbins,ptmin,ptmax, 200,0,100);
4126 (Form(
"hLocalRegionClusterMultiplicityAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
4127 "Cluster multiplicity (not HIJING) around trigger cluster #it{E} with R=0.2",
4128 nptbins,ptmin,ptmax, 200,0,200);
4137 (Form(
"hLocalRegionClusterEnergySumPerCentralityHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
4138 "Sum of cluster energy (HIJING) around trigger cluster vs centrality with R=0.2",
4139 100,0,100, 200,0,100);
4145 (Form(
"hLocalRegionClusterMultiplicityPerCentralityHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
4146 "Cluster multiplicity (HIJING) around trigger cluster vs centrality with R=0.2",
4147 100,0,100, 200,0,200);
4154 (Form(
"hLocalRegionClusterEnergySumPerCentralityAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
4155 "Sum of cluster energy (not HIJING) around trigger cluster vs centrality with R=0.2",
4156 100,0,100, 200,0,100);
4162 (Form(
"hLocalRegionClusterMultiplicityPerCentralityAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
4163 "Cluster multiplicity (not HIJING) around trigger cluster vs centrality with R=0.2",
4164 100,0,100, 200,0,200);
4176 (
"hLocalRegionClusterEnergySumHijing2",
4177 "Sum of cluster energy (HIJING) around trigger cluster #it{E} with R=0.2",
4178 nptbins,ptmin,ptmax, 200,0,100);
4184 (
"hLocalRegionClusterMultiplicityHijing2",
4185 "Cluster multiplicity (HIJING) around trigger cluster #it{E} with R=0.2",
4186 nptbins,ptmin,ptmax, 200,0,200);
4194 (
"hLocalRegionClusterEnergySumPerCentralityHijing2",
4195 "Sum of cluster energy (HIJING) around trigger cluster vs centrality with R=0.2",
4196 100,0,100, 200,0,100);
4202 (
"hLocalRegionClusterMultiplicityPerCentralityHijing2",
4203 "Cluster multiplicity (HIJING) around trigger cluster vs centrality with R=0.2",
4204 100,0,100, 200,0,200);
4247 (
"hDistance2AddedSignals",
"Distance added signals"
4248 ,nptbins,ptmin,ptmax,100,0,0.4);
4254 (
"hDistance2Hijing",
"Distance 2 hijing clusters"
4255 ,nptbins,ptmin,ptmax,100,0,0.4);
4261 (
"hDistanceAddedSignalsHijing",
"Distance added signals to hijing"
4262 ,nptbins,ptmin,ptmax,100,0,0.4);
4271 TString mcGenNames[] = {
"",
"_MC_Pi0Merged",
"_MC_Pi0Decay",
"_MC_EtaDecay",
"_MC_PhotonOther",
"_MC_Electron",
"_MC_Other"};
4272 TString mcGenTitle[] = {
"",
",MC Pi0-Merged",
",MC Pi0-Decay",
", MC Eta-Decay",
", MC Photon other sources",
", MC Electron",
", MC other sources"};
4276 if(igen==0) add =
"";
4280 Form(
"Number of selected clusters with contribution of %s generator%s, no overlap",
4282 nptbins,ptmin,ptmax);
4288 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of %s generator%s, no overlap",
4290 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4296 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of %s generator%s, no overlap",
4298 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4306 Form(
"Number of selected clusters with contribution of >=2 generators, main %s%s",
4308 nptbins,ptmin,ptmax);
4314 Form(
"#it{E}_{reco}/#it{E}_{gen}clusters with contribution of >=2 generators, main %s%s",
4316 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4322 Form(
"#it{E}_{reco}-#it{E}_{gen}clusters with contribution of >=2 generators, main %s%s",
4324 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4334 Form(
"Number of selected clusters with contribution of >=2 generators, , none is HIJING, main %s%s",
4336 nptbins,ptmin,ptmax);
4342 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of >=2 generators, , none is HIJING, main %s%s",
4344 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4350 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of >=2 generators, , none is HIJING, main %s%s",
4352 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4360 Form(
"Number of selected clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4362 nptbins,ptmin,ptmax);
4369 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4371 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4378 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4380 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4388 Form(
"Number of selected clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4390 nptbins,ptmin,ptmax);
4396 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4398 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4404 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4406 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4414 return outputContainer ;
4423 AliFatal(
"!!STOP: You want to use PHOS in analysis but it is not read!! \n!!Check the configuration file!!");
4425 AliFatal(
"!!STOP: You want to use EMCAL in analysis but it is not read!! \n!!Check the configuration file!!");
4470 AliVCaloCells* cells = 0;
4513 TClonesArray * clusterList = 0;
4522 Int_t nclusters = clusterList->GetEntriesFast();
4523 for (
Int_t iclus = 0; iclus < nclusters; iclus++)
4525 AliVCluster * clus =
dynamic_cast<AliVCluster*
> (clusterList->At(iclus));
4539 Int_t nCaloClusters = pl->GetEntriesFast();
4547 for(
Int_t icalo = 0; icalo < nCaloClusters; icalo++)
4549 AliVCluster * calo = (AliVCluster*) (pl->At(icalo));
4553 Int_t evtIndex = 0 ;
4556 evtIndex=
GetMixedEvent()->EventIndexForCaloCluster(calo->GetID()) ;
4583 AliDebug(1,Form(
"Origin of candidate, bit map %d",tag));
4595 AliAODPWG4Particle aodph = AliAODPWG4Particle(
fMomentum);
4599 Int_t label = calo->GetLabel();
4600 aodph.SetLabel(label);
4601 aodph.SetCaloLabel(calo->GetID(),-1);
4608 Double_t distBad=calo->GetDistanceToBadChannel() ;
4609 if (distBad >
fMinDist3) aodph.SetDistToBad(2) ;
4610 else if(distBad >
fMinDist2) aodph.SetDistToBad(1) ;
4611 else aodph.SetDistToBad(0) ;
4620 if( absIdMax < 0 ) AliFatal(
"Wrong absID");
4622 Int_t largeTimeInCellCluster = kFALSE;
4624 aodph.SetFiducialArea(largeTimeInCellCluster);
4627 aodph.SetM02(calo->GetM02());
4628 aodph.SetM20(calo->GetM20());
4629 aodph.SetNLM(nMaxima);
4631 Float_t time = calo->GetTOF()*1e9;
4633 aodph.SetTime(time);
4635 aodph.SetNCells(calo->GetNCells());
4637 aodph.SetSModNumber(nSM);
4649 Int_t icolAbs = -1, irowAbs = -1;
4655 Int_t icol = -1, irow = -1, iRCU = -1;
4658 if(ebin>=0 && ebin < fNEBinCuts)
4677 aodph.SetIdentifiedParticleType(
GetCaloPID()->GetIdentifiedParticleType(calo));
4679 AliDebug(1,Form(
"PDG of identified particle %d",aodph.GetIdentifiedParticleType()));
4694 AliDebug(1,
"PID Bits set");
4697 AliDebug(1,Form(
"Photon selection cuts passed: pT %3.2f, pdg %d",aodph.Pt(),aodph.GetIdentifiedParticleType()));
4717 if(ebin>=0 && ebin < fNEBinCuts)
4725 if(nSM < fNModules && nSM >=0)