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), fFillSSPerSMHistograms(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(
"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();
1453 Int_t etaRegion = -1, phiRegion = -1;
1455 if(etaRegion >= 0 && etaRegion < 4 && phiRegion >=0 && phiRegion < 3)
1477 if ( lambda0 >=0.30 && lambda0 <= 0.40 ) l0bin = 1;
1478 else if( lambda0 >=0.23 && lambda0 <= 0.26 ) l0bin = 0;
1480 Float_t ptLimit[] = {2,3,4,5,6,8,10,12};
1482 for(
Int_t ipt = 0; ipt < 7; ipt++)
1484 if( pt >= ptLimit[ipt] && pt < ptLimit[ipt+1] )
1513 Int_t ncell = cluster->GetNCells();
1518 for(
Int_t icell = 0; icell < ncell; icell++)
1520 Int_t absId = cluster->GetCellAbsId(icell);
1521 Float_t cellE = cells->GetCellAmplitude(absId);
1522 Double_t cellTime = cells->GetCellTime(absId);
1528 enerList[icell] = cellE;
1529 timeList[icell] = cellTime;
1532 TMath::Sort(ncell,enerList,sortList);
1538 Int_t absIdMax = cluster->GetCellAbsId(sortList[0]);
1540 Double_t cellTimeMax = timeList[sortList[0]];
1548 for(
Int_t icell = 1; icell < ncell; icell++)
1550 Int_t absId = cluster->GetCellAbsId(sortList[icell]);
1551 Float_t cellE = enerList[sortList[icell]];
1552 Double_t cellTime = timeList[sortList[icell]];
1556 if ( absId == absIdMax )
continue;
1561 if(weight < 0.01)
continue;
1563 if ( TMath::Abs(cellTime) > 50 )
1566 largeTimeE += cellE;
1569 if ( l0bin == -1 )
continue;
1590 if ( TMath::Abs(cellTime) > 50 )
1601 Int_t icol = -1, icolAbs = -1;
1602 Int_t irow = -1, irowAbs = -1;
1609 if ( TMath::Abs(cellTime) > 50 )
1619 if ( largeTime > 0 )
1640 delete [] sortList ;
1641 delete [] enerList ;
1642 delete [] timeList ;
1647 Float_t dispp= 0., dEta = 0., dPhi = 0.;
1648 Float_t sEta = 0., sPhi = 0., sEtaPhi = 0.;
1652 l0, l1, dispp, dEta, dPhi, sEta, sPhi, sEtaPhi);
1669 if (energy < 2 ) ebin = 0;
1670 else if (energy < 4 ) ebin = 1;
1671 else if (energy < 6 ) ebin = 2;
1672 else if (energy < 10) ebin = 3;
1673 else if (energy < 15) ebin = 4;
1674 else if (energy < 20) ebin = 5;
1686 Float_t dEta = cluster->GetTrackDz();
1687 Float_t dPhi = cluster->GetTrackDx();
1694 if(TMath::Abs(dEta) < 0.05 && TMath::Abs(dPhi) < 0.05)
1744 AliVCaloCells* cells = 0;
1754 const UInt_t nlabels = cluster->GetNLabels();
1755 Int_t overpdg[nlabels];
1756 Int_t overlab[nlabels];
1757 Int_t noverlaps = 0;
1758 if(!
GetReader()->IsEmbeddedClusterSelectionOn())
1771 for(
Int_t icell = 0; icell < cluster->GetNCells(); icell++)
1773 cellE = cells->GetCellAmplitude(cluster->GetCellAbsId(icell));
1775 fraction+=cellE*cluster->GetCellAmplitudeFraction(icell);
1781 AliDebug(1,Form(
"Energy fraction of embedded signal %2.3f, Energy %2.3f",fraction, clusterE));
1820 if(
GetReader()->IsEmbeddedClusterSelectionOn())
1826 else if(fraction > 0.5)
1830 else if(fraction > 0.1)
1857 if(
GetReader()->IsEmbeddedClusterSelectionOn())
1863 else if(fraction > 0.5)
1867 else if(fraction > 0.1)
1900 if(!
GetReader()->IsEmbeddedClusterSelectionOn())
1904 else if(noverlaps == 1)
1906 else if(noverlaps > 1)
1909 AliWarning(Form(
"n overlaps = %d!!", noverlaps));
1919 else if(energy < 6.)
1940 if (energy < 2 ) ebin = 0;
1941 else if (energy < 4 ) ebin = 1;
1942 else if (energy < 6 ) ebin = 2;
1943 else if (energy < 10) ebin = 3;
1944 else if (energy < 15) ebin = 4;
1945 else if (energy < 20) ebin = 5;
1967 Float_t dEta = cluster->GetTrackDz();
1968 Float_t dPhi = cluster->GetTrackDx();
1978 Bool_t positive = kFALSE;
1979 if(track) positive = (track->Charge()>0);
2032 if(TMath::Abs(dEta) < 0.05 && TMath::Abs(dPhi) < 0.05)
2036 Float_t dEdx = track->GetTPCsignal();
2037 Float_t eOverp = cluster->E()/track->P();
2053 AliWarning(Form(
"Residual OK but (dPhi, dEta)= (%2.4f,%2.4f) no track associated WHAT?", dPhi,dEta));
2073 if(cluster->GetNLabels()==1)
2123 const Int_t buffersize = 255;
2124 char onePar[buffersize] ;
2126 snprintf(onePar,buffersize,
"--- AliAnaPhoton ---:") ;
2130 snprintf(onePar,buffersize,
"fMinDist =%2.2f (Minimal distance to bad channel to accept cluster);",
fMinDist) ;
2132 snprintf(onePar,buffersize,
"fMinDist2=%2.2f (Cuts on Minimal distance to study acceptance evaluation);",
fMinDist2) ;
2134 snprintf(onePar,buffersize,
"fMinDist3=%2.2f (One more cut on distance used for acceptance-efficiency study);",
fMinDist3) ;
2148 return new TObjString(parList) ;
2158 outputContainer->SetName(
"PhotonHistos") ;
2211 Float_t rowcellmin = fNMaxRowsFullMin-1.5;
2214 Int_t bin[] = {0,2,4,6,10,15,20,100};
2216 TString cut[] = {
"Open",
"Reader",
"E",
"Time",
"NCells",
"NLM",
"Fidutial",
"Matching",
"Bad",
"PID"};
2217 for (
Int_t i = 0; i < 10 ; i++)
2220 Form(
"Number of clusters that pass cuts <= %d, %s", i, cut[i].
Data()),
2221 nptbins,ptmin,ptmax);
2227 Form(
"Number of clusters that pass cuts <= %d, %s", i, cut[i].
Data()),
2228 nptbins,ptmin,ptmax);
2234 fhEClusterSM =
new TH2F(
"hEClusterSM",
"Raw clusters E and super-module number",
2235 nptbins,ptmin,ptmax,
2241 fhPtClusterSM =
new TH2F(
"hPtClusterSM",
"Raw clusters #it{p}_{T} and super-module number",
2242 nptbins,ptmin,ptmax,
2248 fhEPhotonSM =
new TH2F(
"hEPhotonSM",
"Selected clusters E and super-module number",
2249 nptbins,ptmin,ptmax,
2255 fhPtPhotonSM =
new TH2F(
"hPtPhotonSM",
"Selected clusters #it{p}_{T} and super-module number",
2256 nptbins,ptmin,ptmax,
2269 (Form(
"hPtPhotonNTracks_PtCut%d",icut),
2270 Form(
"Number of tracks per event with |#eta|<%2.2f and #it{p}_{T} > %2.2f GeV/#it{c}",
2271 GetReader()->GetTrackMultiplicityEtaCut(),
GetReader()->GetTrackMultiplicityPtCut(icut)),
2272 nptbins,ptmin,ptmax, nmultbin,multmin,multmax);
2278 (Form(
"hPtPhotonSumPtTracks_PtCut%d",icut),
2279 Form(
"#Sigma #it{p}_{T} of tracks per event with |#eta|<%2.2f and #it{p}_{T} > %2.2f GeV/#it{c}",
2280 GetReader()->GetTrackMultiplicityEtaCut(),
GetReader()->GetTrackMultiplicityPtCut(icut)),
2281 nptbins,ptmin,ptmax, nsumbin,summin,summax);
2288 fhNCellsE =
new TH2F (
"hNCellsE",
"# of cells in cluster vs E of clusters", nptbins,ptmin,ptmax, nbins,nmin,nmax);
2290 fhNCellsE->SetYTitle(
"# of cells in cluster");
2293 fhCellsE =
new TH2F (
"hCellsE",
"energy of cells in cluster vs E of clusters", nptbins,ptmin,ptmax, nptbins*2,ptmin,ptmax);
2294 fhCellsE->SetXTitle(
"#it{E}_{cluster} (GeV)");
2295 fhCellsE->SetYTitle(
"#it{E}_{cell} (GeV)");
2298 fhTimePt =
new TH2F (
"hTimePt",
"time of cluster vs pT of clusters", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
2299 fhTimePt->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2300 fhTimePt->SetYTitle(
"#it{time} (ns)");
2305 fhMaxCellDiffClusterE =
new TH2F (
"hMaxCellDiffClusterE",
"energy vs difference of cluster energy - max cell energy / cluster energy, good clusters",
2306 nptbins,ptmin,ptmax, 500,0,1.);
2312 fhEPhoton =
new TH1F(
"hEPhoton",
"Number of #gamma over calorimeter vs energy",nptbins,ptmin,ptmax);
2314 fhEPhoton->SetXTitle(
"#it{E}_{#gamma}(GeV)");
2317 fhPtPhoton =
new TH1F(
"hPtPhoton",
"Number of #gamma over calorimeter vs #it{p}_{T}",nptbins,ptmin,ptmax);
2319 fhPtPhoton->SetXTitle(
"p_{T #gamma}(GeV/#it{c})");
2329 fhPtEventPlanePhoton =
new TH2F(
"hPtEventPlanePhoton",
"centrality vs #it{p}_{T}",nptbins,ptmin,ptmax, 100,0,TMath::Pi());
2336 (
"hEtaPhi",
"cluster,#it{E} > 0.5 GeV, #eta vs #varphi",netabins,etamin,etamax,nphibins,phimin,phimax);
2337 fhEtaPhi->SetYTitle(
"#varphi (rad)");
2342 (
"hPhiPhoton",
"#varphi_{#gamma} vs #it{p}_{T}",nptbins,ptmin,ptmax,nphibins,phimin,phimax);
2344 fhPhiPhoton->SetXTitle(
"p_{T #gamma} (GeV/#it{c})");
2348 (
"hEtaPhoton",
"#eta_{#gamma} vs #it{p}_{T}",nptbins,ptmin,ptmax,netabins,etamin,etamax);
2350 fhEtaPhoton->SetXTitle(
"p_{T #gamma} (GeV/#it{c})");
2354 (
"hEtaPhiPhoton",
"#eta vs #varphi",netabins,etamin,etamax,nphibins,phimin,phimax);
2361 (
"hEtaPhi05Photon",
"#eta vs #varphi, E < 0.5",netabins,etamin,etamax,nphibins,phimin,phimax);
2367 fhNLocMax =
new TH2F(
"hNLocMax",
"Number of local maxima in cluster",
2368 nptbins,ptmin,ptmax,10,0,10);
2376 fhLam0E =
new TH2F (
"hLam0E",
"#lambda_{0}^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2377 fhLam0E->SetYTitle(
"#lambda_{0}^{2}");
2378 fhLam0E->SetXTitle(
"#it{E} (GeV)");
2379 outputContainer->Add(
fhLam0E);
2381 fhLam0Pt =
new TH2F (
"hLam0Pt",
"#lambda_{0}^{2} vs #it{p}_{T}", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2382 fhLam0Pt->SetYTitle(
"#lambda_{0}^{2}");
2383 fhLam0Pt->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2386 fhLam1E =
new TH2F (
"hLam1E",
"#lambda_{1}^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2387 fhLam1E->SetYTitle(
"#lambda_{1}^{2}");
2388 fhLam1E->SetXTitle(
"#it{E} (GeV)");
2389 outputContainer->Add(
fhLam1E);
2391 fhLam1Pt =
new TH2F (
"hLam1Pt",
"#lambda_{1}^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2392 fhLam1Pt->SetYTitle(
"#lambda_{1}^{2}");
2393 fhLam1Pt->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2400 if(ism < fFirstModule || ism >
fLastModule)
continue;
2402 (Form(
"hLam0_SM%d",ism),
2403 Form(
"#it{p}_{T} vs #lambda^{2}_{0} in SM %d",ism),
2404 nptbins,ptmin,ptmax,40,0,0.4);
2406 fhLam0PerSM[ism]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2410 (Form(
"hLam1_SM%d",ism),
2411 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in SM %d",ism),
2412 nptbins,ptmin,ptmax,40,0,0.4);
2414 fhLam1PerSM[ism]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2421 fhDispE =
new TH2F (
"hDispE",
" dispersion^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2423 fhDispE->SetXTitle(
"#it{E} (GeV) ");
2424 outputContainer->Add(
fhDispE);
2426 fhDispPt =
new TH2F (
"hDispPt",
" dispersion^{2} vs #it{p}_{T}", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2428 fhDispPt->SetXTitle(
"#it{p}_{T} (GeV/#it{c}) ");
2434 fhLam0PtNLM1 =
new TH2F (
"hLam0PtNLM1",
"#lambda_{0}^{2} vs #it{p}_{T}, #it{n}_{LM}=1", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2439 fhLam0PtNLM2 =
new TH2F (
"hLam0PtNLM2",
"#lambda_{0}^{2} vs #it{p}_{T}, #it{n}_{LM}=2", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2444 fhLam1PtNLM1 =
new TH2F (
"hLam1PtNLM1",
"#lambda_{1}^{2} vs #it{p}_{T}, #it{n}_{LM}=1", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2449 fhLam1PtNLM2 =
new TH2F (
"hLam1PtNLM2",
"#lambda_{1}^{2} vs #it{p}_{T}, #it{n}_{LM}=2", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2457 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);
2458 fhLam0ETM->SetYTitle(
"#lambda_{0}^{2}");
2462 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);
2464 fhLam0PtTM->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2467 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);
2468 fhLam1ETM->SetYTitle(
"#lambda_{1}^{2}");
2474 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);
2483 fhLam0ETRD =
new TH2F (
"hLam0ETRD",
"#lambda_{0}^{2} vs E, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2488 fhLam0PtTRD =
new TH2F (
"hLam0PtTRD",
"#lambda_{0}^{2} vs #it{p}_{T}, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2490 fhLam0PtTRD->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2493 fhLam1ETRD =
new TH2F (
"hLam1ETRD",
"#lambda_{1}^{2} vs E, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2500 fhDispETRD =
new TH2F (
"hDispETRD",
" dispersion^{2} vs E, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2508 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);
2513 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);
2518 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);
2525 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);
2535 fhNCellsLam0LowE =
new TH2F (
"hNCellsLam0LowE",
"N_{cells} in cluster vs #lambda_{0}^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2540 fhNCellsLam0HighE =
new TH2F (
"hNCellsLam0HighE",
"N_{cells} in cluster vs #lambda_{0}^{2}, #it{E} > 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2545 fhNCellsLam1LowE =
new TH2F (
"hNCellsLam1LowE",
"N_{cells} in cluster vs #lambda_{1}^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2550 fhNCellsLam1HighE =
new TH2F (
"hNCellsLam1HighE",
"N_{cells} in cluster vs #lambda_{1}^{2}, #it{E} > 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2555 fhNCellsDispLowE =
new TH2F (
"hNCellsDispLowE",
"N_{cells} in cluster vs dispersion^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2560 fhNCellsDispHighE =
new TH2F (
"hNCellsDispHighE",
"N_{cells} in cluster vs dispersion^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2565 fhEtaLam0LowE =
new TH2F (
"hEtaLam0LowE",
"#eta vs #lambda_{0}^{2}, E < 2 GeV", netabins,etamin,etamax, ssbins,ssmin,ssmax);
2570 fhPhiLam0LowE =
new TH2F (
"hPhiLam0LowE",
"#varphi vs #lambda_{0}^{2}, E < 2 GeV", nphibins,phimin,phimax, ssbins,ssmin,ssmax);
2575 fhEtaLam0HighE =
new TH2F (
"hEtaLam0HighE",
"#eta vs #lambda_{0}^{2}, #it{E} > 2 GeV", netabins,etamin,etamax, ssbins,ssmin,ssmax);
2580 fhPhiLam0HighE =
new TH2F (
"hPhiLam0HighE",
"#varphi vs #lambda_{0}^{2}, #it{E} > 2 GeV", nphibins,phimin,phimax, ssbins,ssmin,ssmax);
2585 fhLam1Lam0LowE =
new TH2F (
"hLam1Lam0LowE",
"#lambda_{0}^{2} vs #lambda_{1}^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2590 fhLam1Lam0HighE =
new TH2F (
"hLam1Lam0HighE",
"#lambda_{0}^{2} vs #lambda_{1}^{2} in cluster of #it{E} > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2595 fhLam0DispLowE =
new TH2F (
"hLam0DispLowE",
"#lambda_{0}^{2} vs dispersion^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2600 fhLam0DispHighE =
new TH2F (
"hLam0DispHighE",
"#lambda_{0}^{2} vs dispersion^{2} in cluster of #it{E} > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2605 fhDispLam1LowE =
new TH2F (
"hDispLam1LowE",
"Dispersion^{2} vs #lambda_{1}^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2610 fhDispLam1HighE =
new TH2F (
"hDispLam1HighE",
"Dispersion^{2} vs #lambda_{1^{2}} in cluster of #it{E} > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2617 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);
2619 fhDispEtaE->SetYTitle(
"#sigma^{2}_{#eta #eta}");
2622 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);
2624 fhDispPhiE->SetYTitle(
"#sigma^{2}_{#varphi #varphi}");
2627 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);
2629 fhSumEtaE->SetYTitle(
"#delta^{2}_{#eta #eta}");
2632 fhSumPhiE =
new TH2F (
"hSumPhiE",
"#delta^{2}_{#varphi #varphi} = #Sigma w_{i}(#varphi_{i})^{2}/ #Sigma w_{i} - <#varphi>^{2} vs E",
2633 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
2635 fhSumPhiE->SetYTitle(
"#delta^{2}_{#varphi #varphi}");
2638 fhSumEtaPhiE =
new TH2F (
"hSumEtaPhiE",
"#delta^{2}_{#eta #varphi} = #Sigma w_{i}(#varphi_{i} #eta_{i} ) / #Sigma w_{i} - <#varphi><#eta> vs E",
2639 nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
2644 fhDispEtaPhiDiffE =
new TH2F (
"hDispEtaPhiDiffE",
"#sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta} vs E",
2645 nptbins,ptmin,ptmax,200, -10,10);
2647 fhDispEtaPhiDiffE->SetYTitle(
"#sigma^{2}_{#varphi #varphi}-#sigma^{2}_{#eta #eta}");
2650 fhSphericityE =
new TH2F (
"hSphericityE",
"(#sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#varphi #varphi}) vs E",
2651 nptbins,ptmin,ptmax, 200, -1,1);
2653 fhSphericityE->SetYTitle(
"s = (#sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#varphi #varphi})");
2656 fhDispSumEtaDiffE =
new TH2F (
"hDispSumEtaDiffE",
"#sigma^{2}_{#eta #eta} - #delta^{2}_{#eta #eta} / average vs E", nptbins,ptmin,ptmax, 200,-0.01,0.01);
2658 fhDispSumEtaDiffE->SetYTitle(
"#sigma^{2}_{#eta #eta} - #delta^{2}_{#eta #eta} / average");
2661 fhDispSumPhiDiffE =
new TH2F (
"hDispSumPhiDiffE",
"#sigma^{2}_{#varphi #varphi} - #delta^{2}_{#varphi #varphi} / average vs E", nptbins,ptmin,ptmax, 200,-0.01,0.01);
2663 fhDispSumPhiDiffE->SetYTitle(
"#sigma^{2}_{#varphi #varphi} - #delta^{2}_{#varphi #varphi} / average");
2666 for(
Int_t i = 0; i < 7; i++)
2668 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]),
2669 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
2674 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]),
2675 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
2680 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]),
2681 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
2694 TString cutTM [] = {
"NoCut",
""};
2696 for(
Int_t i = 0; i < 2; i++)
2720 (Form(
"hTrackMatchedDEtaPos%s",cutTM[i].
Data()),
2721 Form(
"#Delta #eta of cluster-track vs #it{E}_{cluster}, %s",cutTM[i].
Data()),
2722 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2727 (Form(
"hTrackMatchedDPhiPos%s",cutTM[i].
Data()),
2728 Form(
"#Delta #varphi of cluster-track vs #it{E}_{cluster}, %s",cutTM[i].
Data()),
2729 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2734 (Form(
"hTrackMatchedDEtaDPhiPos%s",cutTM[i].
Data()),
2735 Form(
"#Delta #eta vs #Delta #varphi of cluster-track, #it{E}_{cluster}, %s",cutTM[i].
Data()),
2736 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
2741 (Form(
"hTrackMatchedDEtaNeg%s",cutTM[i].
Data()),
2742 Form(
"#Delta #eta of cluster-track vs #it{E}_{cluster}, %s",cutTM[i].
Data()),
2743 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2748 (Form(
"hTrackMatchedDPhiNeg%s",cutTM[i].
Data()),
2749 Form(
"#Delta #varphi of cluster-track vs #it{E}_{cluster}, %s",cutTM[i].
Data()),
2750 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2755 (Form(
"hTrackMatchedDEtaDPhiNeg%s",cutTM[i].
Data()),
2756 Form(
"#Delta #eta vs #Delta #varphi of cluster-track, #it{E}_{cluster} > 0.5 GeV, %s",cutTM[i].
Data()),
2757 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
2761 fhdEdx[i] =
new TH2F (Form(
"hdEdx%s",cutTM[i].
Data()),Form(
"matched track <dE/dx> vs cluster #it{E}, %s",cutTM[i].
Data()),
2762 nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
2763 fhdEdx[i]->SetXTitle(
"#it{E}^{cluster} (GeV)");
2764 fhdEdx[i]->SetYTitle(
"<dE/dx>");
2766 fhEOverP[i] =
new TH2F (Form(
"hEOverP%s",cutTM[i].
Data()),Form(
"matched track E/p vs cluster #it{E}, %s",cutTM[i].
Data()),
2767 nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
2768 fhEOverP[i]->SetXTitle(
"#it{E}^{cluster} (GeV)");
2780 outputContainer->Add(
fhdEdx[i]);
2807 (Form(
"hTrackMatchedDEtaPosTrackPt%s",cutTM[i].
Data()),
2808 Form(
"#Delta #eta of cluster-track vs #it{p}_{T}^{track}, %s",cutTM[i].
Data()),
2809 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2814 (Form(
"hTrackMatchedDPhiPosTrackPt%s",cutTM[i].
Data()),
2815 Form(
"#Delta #varphi of cluster-track vs #it{p}_{T}^{track}, %s",cutTM[i].
Data()),
2816 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2821 (Form(
"hTrackMatchedDEtaDPhiPosTrackPt%s",cutTM[i].
Data()),
2822 Form(
"#Delta #eta vs #Delta #varphi of cluster-track, #it{p}_{T}^{track} > 0.5 GeV/#it{c}, %s",cutTM[i].
Data()),
2823 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
2828 (Form(
"hTrackMatchedDEtaNegTrackPt%s",cutTM[i].
Data()),
2829 Form(
"#Delta #eta of cluster-track vs #it{p}_{T}^{track}, %s",cutTM[i].
Data()),
2830 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2835 (Form(
"hTrackMatchedDPhiNegTrackPt%s",cutTM[i].
Data()),
2836 Form(
"#Delta #varphi of cluster-track vs #it{p}_{T}^{track}, %s",cutTM[i].
Data()),
2837 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2842 (Form(
"hTrackMatchedDEtaDPhiNegTrackPt%s",cutTM[i].
Data()),
2843 Form(
"#Delta #eta vs #Delta #varphi of cluster-track, #it{p}_{T}^{track} > 0.5 GeV/#it{c}, %s",cutTM[i].
Data()),
2844 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
2848 fhdEdxTrackPt[i] =
new TH2F (Form(
"hdEdxTrackPt%s",cutTM[i].
Data()),Form(
"matched track <dE/dx> vs track #it{p}_{T}, %s",cutTM[i].
Data()),
2849 nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
2850 fhdEdxTrackPt[i]->SetXTitle(
"#it{p}_{T}^{track} (GeV/#it{c})");
2853 fhEOverPTrackPt[i] =
new TH2F (Form(
"hEOverPTrackPt%s",cutTM[i].
Data()),Form(
"matched track E/p vs track #it{p}_{T}, %s",cutTM[i].
Data()),
2854 nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
2855 fhEOverPTrackPt[i]->SetXTitle(
"#it{p}_{T}^{track} (GeV)^{track/#it{c}}");
2874 (Form(
"hTrackMatchedDEtaTRD%s",cutTM[i].
Data()),
2875 Form(
"#Delta #eta of cluster-track vs cluster energy, SM behind TRD, %s",cutTM[i].
Data()),
2876 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2881 (Form(
"hTrackMatchedDPhiTRD%s",cutTM[i].
Data()),
2882 Form(
"#Delta #varphi of cluster-track vs cluster energy, SM behing TRD, %s",cutTM[i].
Data()),
2883 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2888 (Form(
"hEOverPTRD%s",cutTM[i].
Data()),
2889 Form(
"matched track E/p vs cluster E, behind TRD, %s",cutTM[i].
Data()),
2890 nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
2902 (Form(
"hTrackMatchedDEtaMCNoOverlap%s",cutTM[i].
Data()),
2903 Form(
"#Delta #eta of cluster-track vs cluster energy, no other MC particles overlap %s",cutTM[i].
Data()),
2904 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2909 (Form(
"hTrackMatchedDPhiMCNoOverlap%s",cutTM[i].
Data()),
2910 Form(
"#Delta #varphi of cluster-track vs cluster energy, no other MC particles overlap %s",cutTM[i].
Data()),
2911 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2918 (Form(
"hTrackMatchedDEtaMCOverlap%s",cutTM[i].
Data()),
2919 Form(
"#Delta #eta of cluster-track vs cluster energy, several MC particles overlap %s",cutTM[i].
Data()),
2920 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2925 (Form(
"hTrackMatchedDPhiMCOverlap%s",cutTM[i].
Data()),
2926 Form(
"#Delta #varphi of cluster-track vs cluster energy, several MC particles overlap %s",cutTM[i].
Data()),
2927 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2935 (Form(
"hTrackMatchedDEtaMCConversion%s",cutTM[i].
Data()),
2936 Form(
"#Delta #eta of cluster-track vs cluster energy, no other MC particles overlap appart from conversions %s",cutTM[i].
Data()),
2937 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2942 (Form(
"hTrackMatchedDPhiMCConversion%s",cutTM[i].
Data()),
2943 Form(
"#Delta #varphi of cluster-track vs cluster energy, no other MC particles overlap appart from conversions %s",cutTM[i].
Data()),
2944 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2952 (Form(
"hTrackMatchedMCParticle%s",cutTM[i].
Data()),
2953 Form(
"Origin of particle vs energy %s",cutTM[i].
Data()),
2954 nptbins,ptmin,ptmax,8,0,8);
2974 TString pileUpName[] = {
"SPD",
"EMCAL",
"SPDOrEMCAL",
"SPDAndEMCAL",
"SPDAndNotEMCAL",
"EMCALAndNotSPD",
"NotSPDAndNotEMCAL"} ;
2976 for(
Int_t i = 0 ; i < 7 ; i++)
2979 Form(
"Selected photon #it{p}_{T} distribution, %s Pile-Up event",pileUpName[i].
Data()), nptbins,ptmin,ptmax);
2984 Form(
"Photon cluster E vs #it{t}_{max}-#it{t}_{cell} in cluster, %s Pile-Up event",pileUpName[i].
Data()),
2985 nptbins,ptmin,ptmax,400,-200,200);
2991 fhTimePtPhotonNoCut =
new TH2F (
"hTimePtPhoton_NoCut",
"time of photon cluster vs pT of clusters, no cut", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
2996 fhTimePtPhotonSPD =
new TH2F (
"hTimePtPhoton_SPD",
"time of photon cluster vs pT of clusters, SPD cut", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
3001 fhTimeNPileUpVertSPD =
new TH2F (
"hTime_NPileUpVertSPD",
"time of cluster vs N pile-up SPD vertex", ntimebins,timemin,timemax,20,0,20);
3006 fhTimeNPileUpVertTrack =
new TH2F (
"hTime_NPileUpVertTracks",
"time of cluster vs N pile-up Tracks vertex", ntimebins,timemin,timemax, 20,0,20 );
3012 nptbins,ptmin,ptmax,20,0,20);
3018 nptbins,ptmin,ptmax, 20,0,20 );
3024 nptbins,ptmin,ptmax,20,0,20);
3030 nptbins,ptmin,ptmax, 20,0,20 );
3036 nptbins,ptmin,ptmax,20,0,20);
3042 nptbins,ptmin,ptmax, 20,0,20 );
3051 for(
Int_t ieta = 0; ieta < 4; ieta++)
3053 for(
Int_t iphi = 0; iphi < 3; iphi++)
3076 if(ism < fFirstModule || ism >
fLastModule)
continue;
3079 new TH2F(Form(
"hLam0_eta%d_phi%d_sm%d",ieta,iphi,ism),
3080 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{0}^{2}, sm %d, region eta %d, phi %d",ism,ieta,iphi),
3081 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3087 new TH2F(Form(
"hLam1_eta%d_phi%d_sm%d",ieta,iphi,ism),
3088 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{1}^{2}, sm %d, region eta %d, phi %d",ism,ieta,iphi),
3089 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3097 Float_t ptLimit[] = {2,3,4,5,6,8,10,12};
3098 TString l0bin [] = {
"0.23<#lambda^{2}_{0}<0.26",
"0.3<#lambda^{2}_{0}<0.4"};
3100 for(
Int_t il0 = 0; il0 < 2; il0++)
3102 for(
Int_t ipt = 0; ipt < 7; ipt++)
3105 (Form(
"hEtaPhiLam0Bin%d_PtBin%d",il0,ipt),
3106 Form(
"#eta vs #varphi in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s",
3107 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3108 netabins,etamin,etamax,nphibins,phimin,phimax);
3114 (Form(
"hColRowLam0Bin%d_PtBin%d",il0,ipt),
3115 Form(
"row vs column in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s, w > 0",
3116 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3117 ncolcell,colcellmin,colcellmax,nrowcell,rowcellmin,rowcellmax);
3123 (Form(
"hColRowLam0Bin%d_PtBin%dWeighted",il0,ipt),
3124 Form(
"cluster cell row vs column weighted in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s",
3125 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3126 ncolcell,colcellmin,colcellmax,nrowcell,rowcellmin,rowcellmax);
3132 (Form(
"hColRowLam0Bin%d_PtBin%d_LargeTimeInClusterCell",il0,ipt),
3133 Form(
"row vs column in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s, |t| > 50 ns, w > 0",
3134 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3135 ncolcell,colcellmin,colcellmax,nrowcell,rowcellmin,rowcellmax);
3159 (Form(
"hEtaPhiLam0Bin%d_PtBin%d_LargeTimeInClusterCell",il0,ipt),
3160 Form(
"#eta vs #varphi in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, t > 50 ns, %s",
3161 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3162 netabins,etamin,etamax,nphibins,phimin,phimax);
3168 (Form(
"hCellClusterIndexEAndTimeLam0Bin%d_PtBin%d",il0,ipt),
3169 Form(
"#it{t}_{cell} vs cell index (E sorted) in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, %s",
3170 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3171 ntimebins,timemin,timemax,30,0,30);
3177 (Form(
"hCellClusterEAndTimeLam0Bin%d_PtBin%d",il0,ipt),
3178 Form(
"#it{E}_{cell} vs #it{t}_{cell} in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, %s",
3179 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3180 ntimebins,timemin,timemax,100,0,5);
3186 (Form(
"hCellClusterEFracAndTimeLam0Bin%d_PtBin%d",il0,ipt),
3187 Form(
"#it{E}_{cell} vs #it{t}_{cell} in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, %s",
3188 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3189 ntimebins,timemin,timemax,100,0,1);
3197 if(ism < fFirstModule || ism >
fLastModule)
continue;
3200 (Form(
"hLam1Lam0Bin%d_sm%d",il0,ism),
3201 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in sm %d, %s",ism,l0bin[il0].
Data()),
3202 nptbins,ptmin,ptmax,40,0,0.4);
3208 (Form(
"hTimeLam0Bin%d_sm%d",il0,ism),
3209 Form(
"#it{p}_{T} vs cluster cell time in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3210 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3216 (Form(
"hTimeLam0Bin%d_sm%d_Weighted",il0,ism),
3217 Form(
"#it{p}_{T} vs cluster cell time weighted in sm %d, %s",ism,l0bin[il0].
Data()),
3218 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3224 (Form(
"hDTimeLam0Bin%d_sm%d",il0,ism),
3225 Form(
"#it{p}_{T} vs t_{cluster}-t_{cell} in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3226 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3232 (Form(
"hDTimeLam0Bin%d_sm%d_Weighted",il0,ism),
3233 Form(
"#it{p}_{T} vs t_{cluster}-t_{cell} weighted in sm %d, %s",ism,l0bin[il0].
Data()),
3234 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3240 (Form(
"hCellClusterEFracLam0Bin%d_sm%d",il0,ism),
3241 Form(
"#it{p}_{T} vs cell E / cluster E in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3242 nptbins,ptmin,ptmax,100,0,1);
3256 (Form(
"hCellClusterEFracLam0Bin%d_sm%d_LargeTimeInClusterCell",il0,ism),
3257 Form(
"#it{p}_{T} vs cell E / cluster E in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3258 nptbins,ptmin,ptmax,100,0,1);
3264 (Form(
"hCellClusterEFracLam0Bin%d_sm%d_LargeTimeInClusterCell_Total",il0,ism),
3265 Form(
"#it{p}_{T} vs cell E / cluster E in sm %d, %s, w > 0, all |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3266 nptbins,ptmin,ptmax,100,0,1);
3272 (Form(
"hCellClusterELam0Bin%d_sm%d",il0,ism),
3273 Form(
"#it{p}_{T} vs cell E in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3274 nptbins,ptmin,ptmax,500,0,10);
3280 (Form(
"hCellClusterELam0Bin%d_sm%d_Weighted",il0,ism),
3281 Form(
"#it{p}_{T} vs cell E weighted in sm %d, %s",ism,l0bin[il0].
Data()),
3282 nptbins,ptmin,ptmax,500,0,10);
3288 (Form(
"hCellClusterELam0Bin%d_sm%d_LargeTimeInClusterCell",il0,ism),
3289 Form(
"#it{p}_{T} vs cell E in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3290 nptbins,ptmin,ptmax,500,0,10);
3296 (Form(
"hCellClusterIndexELam0Bin%d_sm%d_LargeTimeInClusterCell",il0,ism),
3297 Form(
"#it{p}_{T} vs cell index (E sorted) in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3298 nptbins,ptmin,ptmax,30,0,30);
3304 (Form(
"hNCellsWithLargeTimeInClusterLam0Bin%d_sm%d",il0,ism),
3305 Form(
"#it{p}_{T} vs number of cells in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3306 nptbins,ptmin,ptmax,30,0,30);
3326 if(ism < fFirstModule || ism >
fLastModule)
continue;
3329 (Form(
"hLam0_sm%d_LargeTimeInClusterCell",ism),
3330 Form(
"#it{p}_{T} vs #lambda^{2}_{0} in sm %d,|t_{secondary cell}| > 50 ns",ism),
3331 nptbins,ptmin,ptmax,40,0,0.4);
3337 (Form(
"hLam1_sm%d_LargeTimeInClusterCell",ism),
3338 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in sm %d, |t_{secondary cell}| > 50 ns",ism),
3339 nptbins,ptmin,ptmax,40,0,0.4);
3380 for(
Int_t ilarge = 0; ilarge < 5; ilarge++)
3383 (Form(
"hLam0_NLargeTimeInClusterCell%d",ilarge),
3384 Form(
"#it{p}_{T} vs #lambda^{2}_{0} in sm %d,|t_{secondary cell}| > 50 ns",ilarge),
3385 nptbins,ptmin,ptmax,40,0,0.4);
3391 (Form(
"hLam1_NLargeTimeInClusterCell%d",ilarge),
3392 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in sm %d, |t_{secondary cell}| > 50 ns",ilarge),
3393 nptbins,ptmin,ptmax,40,0,0.4);
3404 TString ptype[] = {
"#gamma" ,
"#gamma_{#pi decay}" ,
"#gamma_{#eta decay}",
"#gamma_{other decay}",
3405 "#pi^{0}" ,
"#eta" ,
"e^{#pm}" ,
"#gamma->e^{#pm}" ,
3406 "hadron?" ,
"Anti-N" ,
"Anti-P" ,
3407 "Neutron" ,
"Proton" ,
"#pi^{#pm}" ,
3408 "#gamma_{prompt}",
"#gamma_{fragmentation}",
"#gamma_{ISR}" ,
"String" } ;
3410 TString pname[] = {
"Photon" ,
"PhotonPi0Decay" ,
"PhotonEtaDecay",
"PhotonOtherDecay",
3411 "Pi0" ,
"Eta" ,
"Electron" ,
"Conversion" ,
3412 "Hadron" ,
"AntiNeutron" ,
"AntiProton" ,
3413 "Neutron" ,
"Proton" ,
"ChPion" ,
3414 "PhotonPrompt",
"PhotonFragmentation",
"PhotonISR" ,
"String" } ;
3418 fhMCE[i] =
new TH1F(Form(
"hE_MC%s",pname[i].
Data()),
3419 Form(
"cluster from %s : E ",ptype[i].
Data()),
3420 nptbins,ptmin,ptmax);
3421 fhMCE[i]->SetXTitle(
"#it{E} (GeV)");
3422 outputContainer->Add(
fhMCE[i]) ;
3424 fhMCPt[i] =
new TH1F(Form(
"hPt_MC%s",pname[i].
Data()),
3425 Form(
"cluster from %s : #it{p}_{T} ",ptype[i].
Data()),
3426 nptbins,ptmin,ptmax);
3427 fhMCPt[i]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3428 outputContainer->Add(
fhMCPt[i]) ;
3431 Form(
"cluster from %s : #eta ",ptype[i].
Data()),
3432 nptbins,ptmin,ptmax,netabins,etamin,etamax);
3433 fhMCEta[i]->SetYTitle(
"#eta");
3434 fhMCEta[i]->SetXTitle(
"#it{E} (GeV)");
3435 outputContainer->Add(
fhMCEta[i]) ;
3438 Form(
"cluster from %s : #varphi ",ptype[i].
Data()),
3439 nptbins,ptmin,ptmax,nphibins,phimin,phimax);
3440 fhMCPhi[i]->SetYTitle(
"#varphi (rad)");
3441 fhMCPhi[i]->SetXTitle(
"#it{E} (GeV)");
3442 outputContainer->Add(
fhMCPhi[i]) ;
3446 Form(
"MC - Reco E from %s",pname[i].
Data()),
3447 nptbins,ptmin,ptmax, 200,-50,50);
3448 fhMCDeltaE[i]->SetYTitle(
"#Delta #it{E} (GeV)");
3453 Form(
"MC - Reco #it{p}_{T} from %s",pname[i].
Data()),
3454 nptbins,ptmin,ptmax, 200,-50,50);
3455 fhMCDeltaPt[i]->SetXTitle(
"p_{T,rec} (GeV/#it{c})");
3456 fhMCDeltaPt[i]->SetYTitle(
"#Delta #it{p}_{T} (GeV/#it{c})");
3460 Form(
"E distribution, reconstructed vs generated from %s",pname[i].
Data()),
3461 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
3462 fhMC2E[i]->SetXTitle(
"#it{E}_{rec} (GeV)");
3463 fhMC2E[i]->SetYTitle(
"#it{E}_{gen} (GeV)");
3464 outputContainer->Add(
fhMC2E[i]);
3467 Form(
"p_T distribution, reconstructed vs generated from %s",pname[i].
Data()),
3468 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
3469 fhMC2Pt[i]->SetXTitle(
"p_{T,rec} (GeV/#it{c})");
3470 fhMC2Pt[i]->SetYTitle(
"p_{T,gen} (GeV/#it{c})");
3471 outputContainer->Add(
fhMC2Pt[i]);
3474 TString pptype[] = {
"#gamma" ,
"#gamma_{#pi decay}" ,
3475 "#gamma_{#eta decay}",
"#gamma_{other decay}" ,
3476 "#gamma_{prompt}" ,
"#gamma_{fragmentation}",
"#gamma_{ISR}" } ;
3478 TString ppname[] = {
"Photon" ,
"PhotonPi0Decay" ,
3479 "PhotonEtaDecay",
"PhotonOtherDecay" ,
3480 "PhotonPrompt" ,
"PhotonFragmentation",
"PhotonISR" } ;
3484 fhEPrimMC[i] =
new TH1F(Form(
"hEPrim_MC%s",ppname[i].
Data()),
3485 Form(
"primary photon %s : E ",pptype[i].
Data()),
3486 nptbins,ptmin,ptmax);
3487 fhEPrimMC[i]->SetXTitle(
"#it{E} (GeV)");
3491 Form(
"primary photon %s : #it{p}_{T} ",pptype[i].
Data()),
3492 nptbins,ptmin,ptmax);
3493 fhPtPrimMC[i]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3497 Form(
"primary photon %s : Rapidity ",pptype[i].
Data()),
3498 nptbins,ptmin,ptmax,200,-2,2);
3500 fhYPrimMC[i]->SetXTitle(
"#it{E} (GeV)");
3504 Form(
"primary photon %s : #eta",pptype[i].
Data()),
3505 nptbins,ptmin,ptmax,200,-2,2);
3511 Form(
"primary photon %s : #varphi ",pptype[i].
Data()),
3512 nptbins,ptmin,ptmax,nphibins,0,TMath::TwoPi());
3519 Form(
"primary photon %s in acceptance: E ",pptype[i].
Data()),
3520 nptbins,ptmin,ptmax);
3525 Form(
"primary photon %s in acceptance: #it{p}_{T} ",pptype[i].
Data()),
3526 nptbins,ptmin,ptmax);
3531 Form(
"primary photon %s in acceptance: Rapidity ",pptype[i].
Data()),
3532 nptbins,ptmin,ptmax,100,-1,1);
3538 Form(
"primary photon %s in acceptance: #eta ",pptype[i].
Data()),
3539 nptbins,ptmin,ptmax,netabins,etamin,etamax);
3545 Form(
"primary photon %s in acceptance: #varphi ",pptype[i].
Data()),
3546 nptbins,ptmin,ptmax,nphibins,phimin,phimax);
3554 TString ptypess[] = {
"#gamma",
"hadron?",
"#pi^{0}",
"#eta",
"#gamma->e^{#pm}",
"e^{#pm}"} ;
3556 TString pnamess[] = {
"Photon",
"Hadron",
"Pi0",
"Eta",
"Conversion",
"Electron"} ;
3558 for(
Int_t i = 0; i < 6; i++)
3561 Form(
"cluster from %s : E vs #lambda_{0}^{2}",ptypess[i].
Data()),
3562 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3568 Form(
"cluster from %s : #it{p}_{T} vs #lambda_{0}^{2}",ptypess[i].
Data()),
3569 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3574 if(!
GetReader()->IsEmbeddedClusterSelectionOn())
3576 for(
Int_t iover = 0; iover < 3; iover++)
3579 Form(
"cluster from %s : #it{p}_{T} vs #lambda_{0}^{2}, N Overlaps = %d",ptypess[i].
Data(),iover),
3580 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3588 Form(
"cluster from %s : E vs #lambda_{1}^{2}",ptypess[i].
Data()),
3589 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3595 Form(
"# of cells in cluster from %s vs E of clusters",ptypess[i].
Data()),
3596 nptbins,ptmin,ptmax, nbins,nmin,nmax);
3598 fhMCNCellsE[i]->SetYTitle(
"# of cells in cluster");
3604 Form(
"cluster from %s : E vs dispersion^{2}",ptypess[i].
Data()),
3605 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3611 Form(
"energy vs difference of cluster energy from %s - max cell energy / cluster energy, good clusters",ptypess[i].
Data()),
3612 nptbins,ptmin,ptmax, 500,0,1.);
3618 Form(
"cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, E < 2 GeV",ptypess[i].
Data()),
3619 ssbins,ssmin,ssmax,500,0,1.);
3625 Form(
"cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, 2< E < 6 GeV",ptypess[i].
Data()),
3626 ssbins,ssmin,ssmax,500,0,1.);
3632 Form(
"cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, #it{E} > 6 GeV",ptypess[i].
Data()),
3633 ssbins,ssmin,ssmax,500,0,1.);
3639 Form(
"cluster from %s : N cells in cluster vs fraction of energy carried by max cell, E < 2 GeV",ptypess[i].
Data()),
3640 nbins/5,nmin,nmax/5,500,0,1.);
3646 Form(
"cluster from %s : N cells in cluster vs fraction of energy carried by max cell, 2< E < 6 GeV",ptypess[i].
Data()),
3647 nbins/5,nmin,nmax/5,500,0,1.);
3653 Form(
"cluster from %s : N cells in cluster vs fraction of energy carried by max cell, #it{E} > 6 GeV",ptypess[i].
Data()),
3654 nbins/5,nmin,nmax/5,500,0,1.);
3662 Form(
"cluster from %s : #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E",ptypess[i].
Data()),
3663 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3669 Form(
"cluster from %s : #sigma^{2}_{#varphi #varphi} = #Sigma w_{i}(#varphi_{i} - <#varphi>)^{2} / #Sigma w_{i} vs E",ptypess[i].
Data()),
3670 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3672 fhMCEDispPhi[i]->SetYTitle(
"#sigma^{2}_{#varphi #varphi}");
3676 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()),
3677 nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
3683 Form(
"cluster from %s : #sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta} vs E",ptypess[i].
Data()),
3684 nptbins,ptmin,ptmax,200,-10,10);
3690 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()),
3691 nptbins,ptmin,ptmax, 200,-1,1);
3693 fhMCESphericity[i]->SetYTitle(
"s = (#sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#varphi #varphi})");
3696 for(
Int_t ie = 0; ie < 7; ie++)
3699 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]),
3700 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
3706 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]),
3707 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
3713 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]),
3714 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
3747 if(
GetReader()->IsEmbeddedClusterSelectionOn())
3750 "Energy Fraction of embedded signal versus cluster energy",
3751 nptbins,ptmin,ptmax,100,0.,1.);
3757 "cluster from Photon embedded with more than 90% energy in cluster : E vs #lambda_{0}^{2}",
3758 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3764 "cluster from Photon embedded with 50% to 90% energy in cluster : E vs #lambda_{0}^{2}",
3765 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3771 "cluster from Photon embedded with 10% to 50% energy in cluster : E vs #lambda_{0}^{2}",
3772 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3778 "cluster from Photonm embedded with 0% to 10% energy in cluster : E vs #lambda_{0}^{2}",
3779 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3785 "cluster from Pi0 embedded with more than 90% energy in cluster : E vs #lambda_{0}^{2}",
3786 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3792 "cluster from Pi0 embedded with 50% to 90% energy in cluster : E vs #lambda_{0}^{2}",
3793 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3799 "cluster from Pi0 embedded with 10% to 50% energy in cluster : E vs #lambda_{0}^{2}",
3800 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3806 "cluster from Pi0 embedded with 0% to 10% energy in cluster : E vs #lambda_{0}^{2}",
3807 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3817 fhMCConversionVertex =
new TH2F(
"hMCPhotonConversionVertex",
"cluster from converted photon, #it{p}_{T} vs vertex distance",
3818 nptbins,ptmin,ptmax,500,0,500);
3825 fhMCConversionVertexTRD =
new TH2F(
"hMCPhotonConversionVertexTRD",
"cluster from converted photon, #it{p}_{T} vs vertex distance, SM covered by TRD",
3826 nptbins,ptmin,ptmax,500,0,500);
3834 TString region[] = {
"ITS",
"TPC",
"TRD",
"TOF",
"Top EMCal",
"In EMCal"};
3835 for(
Int_t iR = 0; iR < 6; iR++)
3838 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{0}^{2}, conversion in %s",region[iR].
Data()),
3839 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3845 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{1}^{2}, conversion in %s",region[iR].
Data()),
3846 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3855 for(
Int_t iR = 0; iR < 6; iR++)
3858 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{0}^{2}, conversion in %s, SM covered by TRD",region[iR].
Data()),
3859 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3865 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{1}^{2}, conversion in %s, SM covered by TRD",region[iR].
Data()),
3866 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3913 (Form(
"hEBin%d_Cluster_EtaPhi",ie),
3914 Form(
"#eta vs #varphi, cluster, %2.2f<#it{p}_{T}<%2.2f GeV/#it{c}",
fEBinCuts[ie],
fEBinCuts[ie+1]),
3915 netabins,etamin,etamax,nphibins,phimin,phimax);
3921 (Form(
"hEBin%d_Cluster_ColRow",ie),
3922 Form(
"column vs row, cluster max E cell, %2.2f<#it{p}_{T}<%2.2f GeV/#it{c}",
fEBinCuts[ie],
fEBinCuts[ie+1]),
3923 ncolcell,colcellmin,colcellmax,nrowcell,rowcellmin,rowcellmax);
3929 (Form(
"hEBin%d_Cluster_EtaPhi_PID",ie),
3930 Form(
"#eta vs #varphi, cluster, %2.2f<#it{p}_{T}<%2.2f GeV/#it{c}, PID cut",
fEBinCuts[ie],
fEBinCuts[ie+1]),
3931 netabins,etamin,etamax,nphibins,phimin,phimax);
3937 (Form(
"hEBin%d_Cluster_ColRow_PID",ie),
3938 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]),
3939 ncolcell,colcellmin,colcellmax,nrowcell,rowcellmin,rowcellmax);
3948 TString caseTitle[] = {
"",
"CleanCluster",
"MergedClusterHijingBkg",
"MergedClusterNotHijingBkg",
"MergedClusterHijingAndOtherBkg",
"MergedCluster"};
3952 for(
Int_t icase = 0; icase < ncases; icase++)
3955 (Form(
"hLocalRegionClusterEtaPhi%s",caseTitle[icase].
Data()),
3956 "cluster,#it{E} > 0.5 GeV, #eta vs #varphi",netabins,etamin,etamax,nphibins,phimin,phimax);
3962 (Form(
"hLocalRegionClusterEnergySum%s",caseTitle[icase].
Data()),
3963 "Sum of cluster energy around trigger cluster #it{E} with R=0.2",
3964 nptbins,ptmin,ptmax, 200,0,100);
3970 (Form(
"hLocalRegionClusterMultiplicity%s",caseTitle[icase].
Data()),
3971 "Cluster multiplicity around trigger cluster #it{E} with R=0.2",
3972 nptbins,ptmin,ptmax, 200,0,200);
3980 (Form(
"hLocalRegionClusterEnergySumPerCentrality%s",caseTitle[icase].
Data()),
3981 "Sum of cluster energy around trigger cluster vs centrality with R=0.2",
3982 100,0,100, 200,0,100);
3988 (Form(
"hLocalRegionClusterMultiplicityPerCentrality%s",caseTitle[icase].
Data()),
3989 "Cluster multiplicity around trigger cluster vs centrality with R=0.2",
3990 100,0,100, 200,0,200);
4002 (Form(
"hLocalRegionClusterEnergySum%s_MCPi0Decay",caseTitle[icase].
Data()),
4003 "Sum of cluster energy around trigger cluster #it{E} with R=0.2",
4004 nptbins,ptmin,ptmax, 200,0,100);
4010 (Form(
"hLocalRegionClusterMultiplicity%s_MCPi0Decay",caseTitle[icase].
Data()),
4011 "Cluster multiplicity around trigger cluster #it{E} with R=0.2",
4012 nptbins,ptmin,ptmax, 200,0,200);
4020 (Form(
"hLocalRegionClusterEnergySumPerCentrality%s_MCPi0Decay",caseTitle[icase].
Data()),
4021 "Sum of cluster energy around trigger cluster vs centrality with R=0.2",
4022 100,0,100, 200,0,100);
4028 (Form(
"hLocalRegionClusterMultiplicityPerCentrality%s_MCPi0Decay",caseTitle[icase].
Data()),
4029 "Cluster multiplicity around trigger cluster vs centrality with R=0.2",
4030 100,0,100, 200,0,200);
4040 (Form(
"hLocalRegionClusterEnergySumHijing%s",caseTitle[icase].
Data()),
4041 "Sum of cluster energy (HIJING) around trigger cluster #it{E} with R=0.2",
4042 nptbins,ptmin,ptmax, 200,0,100);
4048 (Form(
"hLocalRegionClusterMultiplicityHijing%s",caseTitle[icase].
Data()),
4049 "Cluster multiplicity (HIJING) around trigger cluster #it{E} with R=0.2",
4050 nptbins,ptmin,ptmax, 200,0,200);
4056 (Form(
"hLocalRegionClusterEnergySumAdded%s",caseTitle[icase].
Data()),
4057 "Sum of cluster energy (not HIJING) around trigger cluster #it{E} with R=0.2",
4058 nptbins,ptmin,ptmax, 200,0,100);
4064 (Form(
"hLocalRegionClusterMultiplicityAdded%s",caseTitle[icase].
Data()),
4065 "Cluster multiplicity (not HIJING) around trigger cluster #it{E} with R=0.2",
4066 nptbins,ptmin,ptmax, 200,0,200);
4075 (Form(
"hLocalRegionClusterEnergySumPerCentralityHijing%s",caseTitle[icase].
Data()),
4076 "Sum of cluster energy (HIJING) around trigger cluster vs centrality with R=0.2",
4077 100,0,100, 200,0,100);
4083 (Form(
"hLocalRegionClusterMultiplicityPerCentralityHijing%s",caseTitle[icase].
Data()),
4084 "Cluster multiplicity (HIJING) around trigger cluster vs centrality with R=0.2",
4085 100,0,100, 200,0,200);
4092 (Form(
"hLocalRegionClusterEnergySumPerCentralityAdded%s",caseTitle[icase].
Data()),
4093 "Sum of cluster energy (not HIJING) around trigger cluster vs centrality with R=0.2",
4094 100,0,100, 200,0,100);
4100 (Form(
"hLocalRegionClusterMultiplicityPerCentralityAdded%s",caseTitle[icase].
Data()),
4101 "Cluster multiplicity (not HIJING) around trigger cluster vs centrality with R=0.2",
4102 100,0,100, 200,0,200);
4113 (Form(
"hLocalRegionClusterEnergySumHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
4114 "Sum of cluster energy (HIJING) around trigger cluster #it{E} with R=0.2",
4115 nptbins,ptmin,ptmax, 200,0,100);
4121 (Form(
"hLocalRegionClusterMultiplicityHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
4122 "Cluster multiplicity (HIJING) around trigger cluster #it{E} with R=0.2",
4123 nptbins,ptmin,ptmax, 200,0,200);
4129 (Form(
"hLocalRegionClusterEnergySumAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
4130 "Sum of cluster energy (not HIJING) around trigger cluster #it{E} with R=0.2",
4131 nptbins,ptmin,ptmax, 200,0,100);
4137 (Form(
"hLocalRegionClusterMultiplicityAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
4138 "Cluster multiplicity (not HIJING) around trigger cluster #it{E} with R=0.2",
4139 nptbins,ptmin,ptmax, 200,0,200);
4148 (Form(
"hLocalRegionClusterEnergySumPerCentralityHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
4149 "Sum of cluster energy (HIJING) around trigger cluster vs centrality with R=0.2",
4150 100,0,100, 200,0,100);
4156 (Form(
"hLocalRegionClusterMultiplicityPerCentralityHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
4157 "Cluster multiplicity (HIJING) around trigger cluster vs centrality with R=0.2",
4158 100,0,100, 200,0,200);
4165 (Form(
"hLocalRegionClusterEnergySumPerCentralityAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
4166 "Sum of cluster energy (not HIJING) around trigger cluster vs centrality with R=0.2",
4167 100,0,100, 200,0,100);
4173 (Form(
"hLocalRegionClusterMultiplicityPerCentralityAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
4174 "Cluster multiplicity (not HIJING) around trigger cluster vs centrality with R=0.2",
4175 100,0,100, 200,0,200);
4187 (
"hLocalRegionClusterEnergySumHijing2",
4188 "Sum of cluster energy (HIJING) around trigger cluster #it{E} with R=0.2",
4189 nptbins,ptmin,ptmax, 200,0,100);
4195 (
"hLocalRegionClusterMultiplicityHijing2",
4196 "Cluster multiplicity (HIJING) around trigger cluster #it{E} with R=0.2",
4197 nptbins,ptmin,ptmax, 200,0,200);
4205 (
"hLocalRegionClusterEnergySumPerCentralityHijing2",
4206 "Sum of cluster energy (HIJING) around trigger cluster vs centrality with R=0.2",
4207 100,0,100, 200,0,100);
4213 (
"hLocalRegionClusterMultiplicityPerCentralityHijing2",
4214 "Cluster multiplicity (HIJING) around trigger cluster vs centrality with R=0.2",
4215 100,0,100, 200,0,200);
4258 (
"hDistance2AddedSignals",
"Distance added signals" 4259 ,nptbins,ptmin,ptmax,100,0,0.4);
4265 (
"hDistance2Hijing",
"Distance 2 hijing clusters" 4266 ,nptbins,ptmin,ptmax,100,0,0.4);
4272 (
"hDistanceAddedSignalsHijing",
"Distance added signals to hijing" 4273 ,nptbins,ptmin,ptmax,100,0,0.4);
4282 TString mcGenNames[] = {
"",
"_MC_Pi0Merged",
"_MC_Pi0Decay",
"_MC_EtaDecay",
"_MC_PhotonOther",
"_MC_Electron",
"_MC_Other"};
4283 TString mcGenTitle[] = {
"",
",MC Pi0-Merged",
",MC Pi0-Decay",
", MC Eta-Decay",
", MC Photon other sources",
", MC Electron",
", MC other sources"};
4287 if(igen==0) add =
"";
4291 Form(
"Number of selected clusters with contribution of %s generator%s, no overlap",
4293 nptbins,ptmin,ptmax);
4299 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of %s generator%s, no overlap",
4301 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4307 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of %s generator%s, no overlap",
4309 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4317 Form(
"Number of selected clusters with contribution of >=2 generators, main %s%s",
4319 nptbins,ptmin,ptmax);
4325 Form(
"#it{E}_{reco}/#it{E}_{gen}clusters with contribution of >=2 generators, main %s%s",
4327 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4333 Form(
"#it{E}_{reco}-#it{E}_{gen}clusters with contribution of >=2 generators, main %s%s",
4335 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4345 Form(
"Number of selected clusters with contribution of >=2 generators, , none is HIJING, main %s%s",
4347 nptbins,ptmin,ptmax);
4353 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of >=2 generators, , none is HIJING, main %s%s",
4355 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4361 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of >=2 generators, , none is HIJING, main %s%s",
4363 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4371 Form(
"Number of selected clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4373 nptbins,ptmin,ptmax);
4380 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4382 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4389 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4391 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4399 Form(
"Number of selected clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4401 nptbins,ptmin,ptmax);
4407 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4409 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4415 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4417 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4425 return outputContainer ;
4434 AliFatal(
"!!STOP: You want to use PHOS in analysis but it is not read!! \n!!Check the configuration file!!");
4436 AliFatal(
"!!STOP: You want to use EMCAL in analysis but it is not read!! \n!!Check the configuration file!!");
4481 AliVCaloCells* cells = 0;
4524 TClonesArray * clusterList = 0;
4533 Int_t nclusters = clusterList->GetEntriesFast();
4534 for (
Int_t iclus = 0; iclus < nclusters; iclus++)
4536 AliVCluster * clus =
dynamic_cast<AliVCluster*
> (clusterList->At(iclus));
4550 Int_t nCaloClusters = pl->GetEntriesFast();
4558 for(
Int_t icalo = 0; icalo < nCaloClusters; icalo++)
4560 AliVCluster * calo = (AliVCluster*) (pl->At(icalo));
4564 Int_t evtIndex = 0 ;
4567 evtIndex=
GetMixedEvent()->EventIndexForCaloCluster(calo->GetID()) ;
4594 AliDebug(1,Form(
"Origin of candidate, bit map %d",tag));
4629 Int_t label = calo->GetLabel();
4638 Double_t distBad=calo->GetDistanceToBadChannel() ;
4650 if( absIdMax < 0 ) AliFatal(
"Wrong absID");
4652 Int_t largeTimeInCellCluster = kFALSE;
4657 aodph.
SetM02(calo->GetM02());
4658 aodph.
SetM20(calo->GetM20());
4661 Float_t time = calo->GetTOF()*1e9;
4679 Int_t icolAbs = -1, irowAbs = -1;
4685 Int_t icol = -1, irow = -1, iRCU = -1;
4688 if(ebin>=0 && ebin < fNEBinCuts)
4724 AliDebug(1,
"PID Bits set");
4747 if(ebin>=0 && ebin < fNEBinCuts)
4755 if(nSM < fNModules && nSM >=0)