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 )
846 if(phicluster < 0) phicluster+=TMath::TwoPi();
850 AliDebug(2,Form(
"Current Event %d; Before selection : E %2.2f, pT %2.2f, phi %2.2f, eta %2.2f",
852 ecluster,ptcluster, phicluster*TMath::RadToDeg(),etacluster));
861 AliWarning(Form(
"SM %d out of expected range [%d, %d]",
873 AliDebug(2,Form(
"\t Cluster %d Pass E Cut",calo->GetID()));
883 if(tof < fTimeCutMin || tof >
fTimeCutMax)
return kFALSE;
885 AliDebug(2,Form(
"\t Cluster %d Pass Time Cut",calo->GetID()));
893 AliDebug(2,Form(
"\t Cluster %d Pass NCell Cut",calo->GetID()));
898 if(nMaxima < fNLMCutMin || nMaxima >
fNLMCutMax)
return kFALSE ;
899 AliDebug(2,Form(
"\t Cluster %d pass NLM %d of out of range",calo->GetID(), nMaxima));
909 if(! in )
return kFALSE ;
912 AliDebug(2,Form(
"\t Fiducial cut passed"));
927 AliDebug(2,
"\t Reject track-matched clusters");
931 AliDebug(2,
"\t Track-matching cut passed");
939 Double_t distBad=calo->GetDistanceToBadChannel() ;
940 if(distBad < 0.) distBad=9999. ;
945 else AliDebug(2,Form(
"\t Bad channel cut passed %4.2f > %2.2f",distBad,
fMinDist));
950 AliDebug(1,Form(
"Current Event %d; After selection : E %2.2f, pT %2.2f, phi %2.2f, eta %2.2f",
969 AliFatal(
"MCEvent not available, is the MC handler called? STOP");
984 Bool_t inacceptance = kFALSE ;
986 AliVParticle * primary = 0;
988 for(
Int_t i=0 ; i < nprim; i++)
990 if ( !
GetReader()->AcceptParticleMCLabel( i ) ) continue ;
992 primary =
GetMC()->GetTrack(i);
995 AliWarning(
"primaries pointer not available!!");
999 pdg = primary->PdgCode();
1000 status = primary->MCStatusCode();
1003 if ( primary->E() == TMath::Abs(primary->Pz()) ||
1004 (primary->E() - primary->Pz()) < 1e-3 ||
1005 (primary->E() + primary->Pz()) < 0 ) continue ;
1013 photonY = 0.5*TMath::Log((primary->E()+primary->Pz())/(primary->E()-primary->Pz())) ;
1018 if(pdg != 22 ) continue ;
1029 if(photonPhi < 0) photonPhi+=TMath::TwoPi();
1032 inacceptance = kTRUE;
1046 GetReader()->GetNameOfMCEventHederGeneratorToAccept());
1063 if(status > 1) continue ;
1103 if(!takeIt) continue ;
1107 if(TMath::Abs(photonY) < 1.0)
1128 if(TMath::Abs(photonY) < 1.0)
1286 Float_t time = cluster->GetTOF()*1.e9;
1307 if(cells->GetCellAmplitude(absIdMax) > 0.1 && TMath::Abs(time) < 30)
1309 for (
Int_t ipos = 0; ipos < cluster->GetNCells(); ipos++)
1311 Int_t absId = cluster->GetCellsAbsId()[ipos];
1313 if( absId == absIdMax ) continue ;
1315 Double_t tcell = cells->GetCellTime(absId);
1316 Float_t amp = cells->GetCellAmplitude(absId);
1325 if( cells->GetCellAmplitude(absIdMax) < 0.1 )
continue ;
1350 nVtxSPD = esdEv->GetNumberOfPileupVerticesSPD();
1351 nVtxTrk = esdEv->GetNumberOfPileupVerticesTracks();
1356 nVtxSPD = aodEv->GetNumberOfPileupVerticesSPD();
1357 nVtxTrk = aodEv->GetNumberOfPileupVerticesTracks();
1369 if(TMath::Abs(time) < 25)
1375 if(time < 75 && time > -25)
1391 Int_t ncells = cluster->GetNCells();
1392 Float_t lambda0 = cluster->GetM02();
1393 Float_t lambda1 = cluster->GetM20();
1394 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;
1968 Float_t dEta = cluster->GetTrackDz();
1969 Float_t dPhi = cluster->GetTrackDx();
1979 Bool_t positive = kFALSE;
1980 if(track) positive = (track->Charge()>0);
2031 if(TMath::Abs(dEta) < 0.05 && TMath::Abs(dPhi) < 0.05)
2035 Float_t dEdx = track->GetTPCsignal();
2036 Float_t eOverp = ener/track->P();
2052 AliWarning(Form(
"Residual OK but (dPhi, dEta)= (%2.4f,%2.4f) no track associated WHAT?", dPhi,dEta));
2072 if(cluster->GetNLabels()==1)
2122 const Int_t buffersize = 255;
2123 char onePar[buffersize] ;
2125 snprintf(onePar,buffersize,
"--- AliAnaPhoton ---:") ;
2129 snprintf(onePar,buffersize,
"fMinDist =%2.2f (Minimal distance to bad channel to accept cluster);",
fMinDist) ;
2131 snprintf(onePar,buffersize,
"fMinDist2=%2.2f (Cuts on Minimal distance to study acceptance evaluation);",
fMinDist2) ;
2133 snprintf(onePar,buffersize,
"fMinDist3=%2.2f (One more cut on distance used for acceptance-efficiency study);",
fMinDist3) ;
2147 return new TObjString(parList) ;
2157 outputContainer->SetName(
"PhotonHistos") ;
2210 Float_t rowcellmin = fNMaxRowsFullMin-1.5;
2213 Int_t bin[] = {0,2,4,6,10,15,20,100};
2215 TString cut[] = {
"Open",
"Reader",
"E",
"Time",
"NCells",
"NLM",
"Fidutial",
"Matching",
"Bad",
"PID"};
2216 for (
Int_t i = 0; i < 10 ; i++)
2219 Form(
"Number of clusters that pass cuts <= %d, %s", i, cut[i].
Data()),
2220 nptbins,ptmin,ptmax);
2226 Form(
"Number of clusters that pass cuts <= %d, %s", i, cut[i].
Data()),
2227 nptbins,ptmin,ptmax);
2233 fhEClusterSM =
new TH2F(
"hEClusterSM",
"Raw clusters E and super-module number",
2234 nptbins,ptmin,ptmax,
2240 fhPtClusterSM =
new TH2F(
"hPtClusterSM",
"Raw clusters #it{p}_{T} and super-module number",
2241 nptbins,ptmin,ptmax,
2247 fhEPhotonSM =
new TH2F(
"hEPhotonSM",
"Selected clusters E and super-module number",
2248 nptbins,ptmin,ptmax,
2254 fhPtPhotonSM =
new TH2F(
"hPtPhotonSM",
"Selected clusters #it{p}_{T} and super-module number",
2255 nptbins,ptmin,ptmax,
2268 (Form(
"hPtPhotonNTracks_PtCut%d",icut),
2269 Form(
"Number of tracks per event with |#eta|<%2.2f and #it{p}_{T} > %2.2f GeV/#it{c}",
2270 GetReader()->GetTrackMultiplicityEtaCut(),
GetReader()->GetTrackMultiplicityPtCut(icut)),
2271 nptbins,ptmin,ptmax, nmultbin,multmin,multmax);
2277 (Form(
"hPtPhotonSumPtTracks_PtCut%d",icut),
2278 Form(
"#Sigma #it{p}_{T} of tracks per event with |#eta|<%2.2f and #it{p}_{T} > %2.2f GeV/#it{c}",
2279 GetReader()->GetTrackMultiplicityEtaCut(),
GetReader()->GetTrackMultiplicityPtCut(icut)),
2280 nptbins,ptmin,ptmax, nsumbin,summin,summax);
2287 fhNCellsE =
new TH2F (
"hNCellsE",
"# of cells in cluster vs E of clusters", nptbins,ptmin,ptmax, nbins,nmin,nmax);
2289 fhNCellsE->SetYTitle(
"# of cells in cluster");
2292 fhCellsE =
new TH2F (
"hCellsE",
"energy of cells in cluster vs E of clusters", nptbins,ptmin,ptmax, nptbins*2,ptmin,ptmax);
2293 fhCellsE->SetXTitle(
"#it{E}_{cluster} (GeV)");
2294 fhCellsE->SetYTitle(
"#it{E}_{cell} (GeV)");
2297 fhTimePt =
new TH2F (
"hTimePt",
"time of cluster vs pT of clusters", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
2298 fhTimePt->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2299 fhTimePt->SetYTitle(
"#it{time} (ns)");
2304 fhMaxCellDiffClusterE =
new TH2F (
"hMaxCellDiffClusterE",
"energy vs difference of cluster energy - max cell energy / cluster energy, good clusters",
2305 nptbins,ptmin,ptmax, 500,0,1.);
2311 fhEPhoton =
new TH1F(
"hEPhoton",
"Number of #gamma over calorimeter vs energy",nptbins,ptmin,ptmax);
2313 fhEPhoton->SetXTitle(
"#it{E}_{#gamma}(GeV)");
2316 fhPtPhoton =
new TH1F(
"hPtPhoton",
"Number of #gamma over calorimeter vs #it{p}_{T}",nptbins,ptmin,ptmax);
2318 fhPtPhoton->SetXTitle(
"p_{T #gamma}(GeV/#it{c})");
2328 fhPtEventPlanePhoton =
new TH2F(
"hPtEventPlanePhoton",
"centrality vs #it{p}_{T}",nptbins,ptmin,ptmax, 100,0,TMath::Pi());
2335 (
"hEtaPhi",
"cluster,#it{E} > 0.5 GeV, #eta vs #varphi",netabins,etamin,etamax,nphibins,phimin,phimax);
2336 fhEtaPhi->SetYTitle(
"#varphi (rad)");
2341 (
"hPhiPhoton",
"#varphi_{#gamma} vs #it{p}_{T}",nptbins,ptmin,ptmax,nphibins,phimin,phimax);
2343 fhPhiPhoton->SetXTitle(
"p_{T #gamma} (GeV/#it{c})");
2347 (
"hEtaPhoton",
"#eta_{#gamma} vs #it{p}_{T}",nptbins,ptmin,ptmax,netabins,etamin,etamax);
2349 fhEtaPhoton->SetXTitle(
"p_{T #gamma} (GeV/#it{c})");
2353 (
"hEtaPhiPhoton",
"#eta vs #varphi",netabins,etamin,etamax,nphibins,phimin,phimax);
2360 (
"hEtaPhi05Photon",
"#eta vs #varphi, E < 0.5",netabins,etamin,etamax,nphibins,phimin,phimax);
2366 fhNLocMax =
new TH2F(
"hNLocMax",
"Number of local maxima in cluster",
2367 nptbins,ptmin,ptmax,10,0,10);
2375 fhLam0E =
new TH2F (
"hLam0E",
"#lambda_{0}^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2376 fhLam0E->SetYTitle(
"#lambda_{0}^{2}");
2377 fhLam0E->SetXTitle(
"#it{E} (GeV)");
2378 outputContainer->Add(
fhLam0E);
2380 fhLam0Pt =
new TH2F (
"hLam0Pt",
"#lambda_{0}^{2} vs #it{p}_{T}", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2381 fhLam0Pt->SetYTitle(
"#lambda_{0}^{2}");
2382 fhLam0Pt->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2385 fhLam1E =
new TH2F (
"hLam1E",
"#lambda_{1}^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2386 fhLam1E->SetYTitle(
"#lambda_{1}^{2}");
2387 fhLam1E->SetXTitle(
"#it{E} (GeV)");
2388 outputContainer->Add(
fhLam1E);
2390 fhLam1Pt =
new TH2F (
"hLam1Pt",
"#lambda_{1}^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2391 fhLam1Pt->SetYTitle(
"#lambda_{1}^{2}");
2392 fhLam1Pt->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2399 if(ism < fFirstModule || ism >
fLastModule)
continue;
2401 (Form(
"hLam0_SM%d",ism),
2402 Form(
"#it{p}_{T} vs #lambda^{2}_{0} in SM %d",ism),
2403 nptbins,ptmin,ptmax,40,0,0.4);
2405 fhLam0PerSM[ism]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2409 (Form(
"hLam1_SM%d",ism),
2410 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in SM %d",ism),
2411 nptbins,ptmin,ptmax,40,0,0.4);
2413 fhLam1PerSM[ism]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2420 fhDispE =
new TH2F (
"hDispE",
" dispersion^{2} vs E", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2422 fhDispE->SetXTitle(
"#it{E} (GeV) ");
2423 outputContainer->Add(
fhDispE);
2425 fhDispPt =
new TH2F (
"hDispPt",
" dispersion^{2} vs #it{p}_{T}", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2427 fhDispPt->SetXTitle(
"#it{p}_{T} (GeV/#it{c}) ");
2433 fhLam0PtNLM1 =
new TH2F (
"hLam0PtNLM1",
"#lambda_{0}^{2} vs #it{p}_{T}, #it{n}_{LM}=1", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2438 fhLam0PtNLM2 =
new TH2F (
"hLam0PtNLM2",
"#lambda_{0}^{2} vs #it{p}_{T}, #it{n}_{LM}=2", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2443 fhLam1PtNLM1 =
new TH2F (
"hLam1PtNLM1",
"#lambda_{1}^{2} vs #it{p}_{T}, #it{n}_{LM}=1", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2448 fhLam1PtNLM2 =
new TH2F (
"hLam1PtNLM2",
"#lambda_{1}^{2} vs #it{p}_{T}, #it{n}_{LM}=2", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2456 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);
2457 fhLam0ETM->SetYTitle(
"#lambda_{0}^{2}");
2461 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);
2463 fhLam0PtTM->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2466 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);
2467 fhLam1ETM->SetYTitle(
"#lambda_{1}^{2}");
2473 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);
2482 fhLam0ETRD =
new TH2F (
"hLam0ETRD",
"#lambda_{0}^{2} vs E, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2487 fhLam0PtTRD =
new TH2F (
"hLam0PtTRD",
"#lambda_{0}^{2} vs #it{p}_{T}, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2489 fhLam0PtTRD->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2492 fhLam1ETRD =
new TH2F (
"hLam1ETRD",
"#lambda_{1}^{2} vs E, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2499 fhDispETRD =
new TH2F (
"hDispETRD",
" dispersion^{2} vs E, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
2507 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);
2512 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);
2517 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);
2524 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);
2534 fhNCellsLam0LowE =
new TH2F (
"hNCellsLam0LowE",
"N_{cells} in cluster vs #lambda_{0}^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2539 fhNCellsLam0HighE =
new TH2F (
"hNCellsLam0HighE",
"N_{cells} in cluster vs #lambda_{0}^{2}, #it{E} > 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2544 fhNCellsLam1LowE =
new TH2F (
"hNCellsLam1LowE",
"N_{cells} in cluster vs #lambda_{1}^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2549 fhNCellsLam1HighE =
new TH2F (
"hNCellsLam1HighE",
"N_{cells} in cluster vs #lambda_{1}^{2}, #it{E} > 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2554 fhNCellsDispLowE =
new TH2F (
"hNCellsDispLowE",
"N_{cells} in cluster vs dispersion^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2559 fhNCellsDispHighE =
new TH2F (
"hNCellsDispHighE",
"N_{cells} in cluster vs dispersion^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
2564 fhEtaLam0LowE =
new TH2F (
"hEtaLam0LowE",
"#eta vs #lambda_{0}^{2}, E < 2 GeV", netabins,etamin,etamax, ssbins,ssmin,ssmax);
2569 fhPhiLam0LowE =
new TH2F (
"hPhiLam0LowE",
"#varphi vs #lambda_{0}^{2}, E < 2 GeV", nphibins,phimin,phimax, ssbins,ssmin,ssmax);
2574 fhEtaLam0HighE =
new TH2F (
"hEtaLam0HighE",
"#eta vs #lambda_{0}^{2}, #it{E} > 2 GeV", netabins,etamin,etamax, ssbins,ssmin,ssmax);
2579 fhPhiLam0HighE =
new TH2F (
"hPhiLam0HighE",
"#varphi vs #lambda_{0}^{2}, #it{E} > 2 GeV", nphibins,phimin,phimax, ssbins,ssmin,ssmax);
2584 fhLam1Lam0LowE =
new TH2F (
"hLam1Lam0LowE",
"#lambda_{0}^{2} vs #lambda_{1}^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2589 fhLam1Lam0HighE =
new TH2F (
"hLam1Lam0HighE",
"#lambda_{0}^{2} vs #lambda_{1}^{2} in cluster of #it{E} > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2594 fhLam0DispLowE =
new TH2F (
"hLam0DispLowE",
"#lambda_{0}^{2} vs dispersion^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2599 fhLam0DispHighE =
new TH2F (
"hLam0DispHighE",
"#lambda_{0}^{2} vs dispersion^{2} in cluster of #it{E} > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2604 fhDispLam1LowE =
new TH2F (
"hDispLam1LowE",
"Dispersion^{2} vs #lambda_{1}^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2609 fhDispLam1HighE =
new TH2F (
"hDispLam1HighE",
"Dispersion^{2} vs #lambda_{1^{2}} in cluster of #it{E} > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
2616 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);
2618 fhDispEtaE->SetYTitle(
"#sigma^{2}_{#eta #eta}");
2621 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);
2623 fhDispPhiE->SetYTitle(
"#sigma^{2}_{#varphi #varphi}");
2626 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);
2628 fhSumEtaE->SetYTitle(
"#delta^{2}_{#eta #eta}");
2631 fhSumPhiE =
new TH2F (
"hSumPhiE",
"#delta^{2}_{#varphi #varphi} = #Sigma w_{i}(#varphi_{i})^{2}/ #Sigma w_{i} - <#varphi>^{2} vs E",
2632 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
2634 fhSumPhiE->SetYTitle(
"#delta^{2}_{#varphi #varphi}");
2637 fhSumEtaPhiE =
new TH2F (
"hSumEtaPhiE",
"#delta^{2}_{#eta #varphi} = #Sigma w_{i}(#varphi_{i} #eta_{i} ) / #Sigma w_{i} - <#varphi><#eta> vs E",
2638 nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
2643 fhDispEtaPhiDiffE =
new TH2F (
"hDispEtaPhiDiffE",
"#sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta} vs E",
2644 nptbins,ptmin,ptmax,200, -10,10);
2646 fhDispEtaPhiDiffE->SetYTitle(
"#sigma^{2}_{#varphi #varphi}-#sigma^{2}_{#eta #eta}");
2649 fhSphericityE =
new TH2F (
"hSphericityE",
"(#sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#varphi #varphi}) vs E",
2650 nptbins,ptmin,ptmax, 200, -1,1);
2652 fhSphericityE->SetYTitle(
"s = (#sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#varphi #varphi})");
2655 fhDispSumEtaDiffE =
new TH2F (
"hDispSumEtaDiffE",
"#sigma^{2}_{#eta #eta} - #delta^{2}_{#eta #eta} / average vs E", nptbins,ptmin,ptmax, 200,-0.01,0.01);
2657 fhDispSumEtaDiffE->SetYTitle(
"#sigma^{2}_{#eta #eta} - #delta^{2}_{#eta #eta} / average");
2660 fhDispSumPhiDiffE =
new TH2F (
"hDispSumPhiDiffE",
"#sigma^{2}_{#varphi #varphi} - #delta^{2}_{#varphi #varphi} / average vs E", nptbins,ptmin,ptmax, 200,-0.01,0.01);
2662 fhDispSumPhiDiffE->SetYTitle(
"#sigma^{2}_{#varphi #varphi} - #delta^{2}_{#varphi #varphi} / average");
2665 for(
Int_t i = 0; i < 7; i++)
2667 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]),
2668 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
2673 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]),
2674 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
2679 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]),
2680 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
2693 TString cutTM [] = {
"NoCut",
""};
2695 for(
Int_t i = 0; i < 2; i++)
2719 (Form(
"hTrackMatchedDEtaPos%s",cutTM[i].
Data()),
2720 Form(
"#Delta #eta of cluster-track vs #it{E}_{cluster}, %s",cutTM[i].
Data()),
2721 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2726 (Form(
"hTrackMatchedDPhiPos%s",cutTM[i].
Data()),
2727 Form(
"#Delta #varphi of cluster-track vs #it{E}_{cluster}, %s",cutTM[i].
Data()),
2728 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2733 (Form(
"hTrackMatchedDEtaDPhiPos%s",cutTM[i].
Data()),
2734 Form(
"#Delta #eta vs #Delta #varphi of cluster-track, #it{E}_{cluster}, %s",cutTM[i].
Data()),
2735 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
2740 (Form(
"hTrackMatchedDEtaNeg%s",cutTM[i].
Data()),
2741 Form(
"#Delta #eta of cluster-track vs #it{E}_{cluster}, %s",cutTM[i].
Data()),
2742 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2747 (Form(
"hTrackMatchedDPhiNeg%s",cutTM[i].
Data()),
2748 Form(
"#Delta #varphi of cluster-track vs #it{E}_{cluster}, %s",cutTM[i].
Data()),
2749 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2754 (Form(
"hTrackMatchedDEtaDPhiNeg%s",cutTM[i].
Data()),
2755 Form(
"#Delta #eta vs #Delta #varphi of cluster-track, #it{E}_{cluster} > 0.5 GeV, %s",cutTM[i].
Data()),
2756 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
2760 fhdEdx[i] =
new TH2F (Form(
"hdEdx%s",cutTM[i].
Data()),Form(
"matched track <d#it{E}/d#it{x}> vs cluster #it{E}, %s",cutTM[i].
Data()),
2761 nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
2762 fhdEdx[i]->SetXTitle(
"#it{E}^{cluster} (GeV)");
2763 fhdEdx[i]->SetYTitle(
"<d#it{E}/d#it{x}>");
2765 fhEOverP[i] =
new TH2F (Form(
"hEOverP%s",cutTM[i].
Data()),Form(
"matched track #it{E}/#it{p} vs cluster #it{E}, %s",cutTM[i].
Data()),
2766 nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
2767 fhEOverP[i]->SetXTitle(
"#it{E}^{cluster} (GeV)");
2768 fhEOverP[i]->SetYTitle(
"#it{E}/#it{p}");
2779 outputContainer->Add(
fhdEdx[i]);
2806 (Form(
"hTrackMatchedDEtaPosTrackPt%s",cutTM[i].
Data()),
2807 Form(
"#Delta #eta of cluster-track vs #it{p}_{T}^{track}, %s",cutTM[i].
Data()),
2808 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2813 (Form(
"hTrackMatchedDPhiPosTrackPt%s",cutTM[i].
Data()),
2814 Form(
"#Delta #varphi of cluster-track vs #it{p}_{T}^{track}, %s",cutTM[i].
Data()),
2815 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2820 (Form(
"hTrackMatchedDEtaDPhiPosTrackPt%s",cutTM[i].
Data()),
2821 Form(
"#Delta #eta vs #Delta #varphi of cluster-track, #it{p}_{T}^{track} > 0.5 GeV/#it{c}, %s",cutTM[i].
Data()),
2822 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
2827 (Form(
"hTrackMatchedDEtaNegTrackPt%s",cutTM[i].
Data()),
2828 Form(
"#Delta #eta of cluster-track vs #it{p}_{T}^{track}, %s",cutTM[i].
Data()),
2829 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2834 (Form(
"hTrackMatchedDPhiNegTrackPt%s",cutTM[i].
Data()),
2835 Form(
"#Delta #varphi of cluster-track vs #it{p}_{T}^{track}, %s",cutTM[i].
Data()),
2836 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2841 (Form(
"hTrackMatchedDEtaDPhiNegTrackPt%s",cutTM[i].
Data()),
2842 Form(
"#Delta #eta vs #Delta #varphi of cluster-track, #it{p}_{T}^{track} > 0.5 GeV/#it{c}, %s",cutTM[i].
Data()),
2843 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
2847 fhdEdxTrackPt[i] =
new TH2F (Form(
"hdEdxTrackPt%s",cutTM[i].
Data()),Form(
"matched track <d#it{E}/d#it{x}> vs track #it{p}_{T}, %s",cutTM[i].
Data()),
2848 nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
2849 fhdEdxTrackPt[i]->SetXTitle(
"#it{p}_{T}^{track} (GeV/#it{c})");
2852 fhEOverPTrackPt[i] =
new TH2F (Form(
"hEOverPTrackPt%s",cutTM[i].
Data()),Form(
"matched track #it{E}/#it{p} vs track #it{p}_{T}, %s",cutTM[i].
Data()),
2853 nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
2873 (Form(
"hTrackMatchedDEtaTRD%s",cutTM[i].
Data()),
2874 Form(
"#Delta #eta of cluster-track vs cluster energy, SM behind TRD, %s",cutTM[i].
Data()),
2875 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2880 (Form(
"hTrackMatchedDPhiTRD%s",cutTM[i].
Data()),
2881 Form(
"#Delta #varphi of cluster-track vs cluster energy, SM behing TRD, %s",cutTM[i].
Data()),
2882 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2887 (Form(
"hEOverPTRD%s",cutTM[i].
Data()),
2888 Form(
"matched track #it{E}/#it{p} vs cluster E, behind TRD, %s",cutTM[i].
Data()),
2889 nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax);
2901 (Form(
"hTrackMatchedDEtaMCNoOverlap%s",cutTM[i].
Data()),
2902 Form(
"#Delta #eta of cluster-track vs cluster energy, no other MC particles overlap %s",cutTM[i].
Data()),
2903 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2908 (Form(
"hTrackMatchedDPhiMCNoOverlap%s",cutTM[i].
Data()),
2909 Form(
"#Delta #varphi of cluster-track vs cluster energy, no other MC particles overlap %s",cutTM[i].
Data()),
2910 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2917 (Form(
"hTrackMatchedDEtaMCOverlap%s",cutTM[i].
Data()),
2918 Form(
"#Delta #eta of cluster-track vs cluster energy, several MC particles overlap %s",cutTM[i].
Data()),
2919 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2924 (Form(
"hTrackMatchedDPhiMCOverlap%s",cutTM[i].
Data()),
2925 Form(
"#Delta #varphi of cluster-track vs cluster energy, several MC particles overlap %s",cutTM[i].
Data()),
2926 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2934 (Form(
"hTrackMatchedDEtaMCConversion%s",cutTM[i].
Data()),
2935 Form(
"#Delta #eta of cluster-track vs cluster energy, no other MC particles overlap appart from conversions %s",cutTM[i].
Data()),
2936 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
2941 (Form(
"hTrackMatchedDPhiMCConversion%s",cutTM[i].
Data()),
2942 Form(
"#Delta #varphi of cluster-track vs cluster energy, no other MC particles overlap appart from conversions %s",cutTM[i].
Data()),
2943 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
2951 (Form(
"hTrackMatchedMCParticle%s",cutTM[i].
Data()),
2952 Form(
"Origin of particle vs energy %s",cutTM[i].
Data()),
2953 nptbins,ptmin,ptmax,8,0,8);
2973 TString pileUpName[] = {
"SPD",
"EMCAL",
"SPDOrEMCAL",
"SPDAndEMCAL",
"SPDAndNotEMCAL",
"EMCALAndNotSPD",
"NotSPDAndNotEMCAL"} ;
2975 for(
Int_t i = 0 ; i < 7 ; i++)
2978 Form(
"Selected photon #it{p}_{T} distribution, %s Pile-Up event",pileUpName[i].
Data()), nptbins,ptmin,ptmax);
2983 Form(
"Photon cluster E vs #it{t}_{max}-#it{t}_{cell} in cluster, %s Pile-Up event",pileUpName[i].
Data()),
2984 nptbins,ptmin,ptmax,400,-200,200);
2990 fhTimePtPhotonNoCut =
new TH2F (
"hTimePtPhoton_NoCut",
"time of photon cluster vs pT of clusters, no cut", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
2995 fhTimePtPhotonSPD =
new TH2F (
"hTimePtPhoton_SPD",
"time of photon cluster vs pT of clusters, SPD cut", nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
3000 fhTimeNPileUpVertSPD =
new TH2F (
"hTime_NPileUpVertSPD",
"time of cluster vs N pile-up SPD vertex", ntimebins,timemin,timemax,20,0,20);
3005 fhTimeNPileUpVertTrack =
new TH2F (
"hTime_NPileUpVertTracks",
"time of cluster vs N pile-up Tracks vertex", ntimebins,timemin,timemax, 20,0,20 );
3011 nptbins,ptmin,ptmax,20,0,20);
3017 nptbins,ptmin,ptmax, 20,0,20 );
3023 nptbins,ptmin,ptmax,20,0,20);
3029 nptbins,ptmin,ptmax, 20,0,20 );
3035 nptbins,ptmin,ptmax,20,0,20);
3041 nptbins,ptmin,ptmax, 20,0,20 );
3050 for(
Int_t ieta = 0; ieta < 4; ieta++)
3052 for(
Int_t iphi = 0; iphi < 3; iphi++)
3075 if(ism < fFirstModule || ism >
fLastModule)
continue;
3078 new TH2F(Form(
"hLam0_eta%d_phi%d_sm%d",ieta,iphi,ism),
3079 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{0}^{2}, sm %d, region eta %d, phi %d",ism,ieta,iphi),
3080 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3086 new TH2F(Form(
"hLam1_eta%d_phi%d_sm%d",ieta,iphi,ism),
3087 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{1}^{2}, sm %d, region eta %d, phi %d",ism,ieta,iphi),
3088 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3096 Float_t ptLimit[] = {2,3,4,5,6,8,10,12};
3097 TString l0bin [] = {
"0.23<#lambda^{2}_{0}<0.26",
"0.3<#lambda^{2}_{0}<0.4"};
3099 for(
Int_t il0 = 0; il0 < 2; il0++)
3101 for(
Int_t ipt = 0; ipt < 7; ipt++)
3104 (Form(
"hEtaPhiLam0Bin%d_PtBin%d",il0,ipt),
3105 Form(
"#eta vs #varphi in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s",
3106 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3107 netabins,etamin,etamax,nphibins,phimin,phimax);
3113 (Form(
"hColRowLam0Bin%d_PtBin%d",il0,ipt),
3114 Form(
"row vs column in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s, w > 0",
3115 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3116 ncolcell,colcellmin,colcellmax,nrowcell,rowcellmin,rowcellmax);
3122 (Form(
"hColRowLam0Bin%d_PtBin%dWeighted",il0,ipt),
3123 Form(
"cluster cell row vs column weighted in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s",
3124 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3125 ncolcell,colcellmin,colcellmax,nrowcell,rowcellmin,rowcellmax);
3131 (Form(
"hColRowLam0Bin%d_PtBin%d_LargeTimeInClusterCell",il0,ipt),
3132 Form(
"row vs column in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, %s, |t| > 50 ns, w > 0",
3133 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3134 ncolcell,colcellmin,colcellmax,nrowcell,rowcellmin,rowcellmax);
3158 (Form(
"hEtaPhiLam0Bin%d_PtBin%d_LargeTimeInClusterCell",il0,ipt),
3159 Form(
"#eta vs #varphi in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, t > 50 ns, %s",
3160 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3161 netabins,etamin,etamax,nphibins,phimin,phimax);
3167 (Form(
"hCellClusterIndexEAndTimeLam0Bin%d_PtBin%d",il0,ipt),
3168 Form(
"#it{t}_{cell} vs cell index (E sorted) in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, %s",
3169 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3170 ntimebins,timemin,timemax,30,0,30);
3176 (Form(
"hCellClusterEAndTimeLam0Bin%d_PtBin%d",il0,ipt),
3177 Form(
"#it{E}_{cell} vs #it{t}_{cell} in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, %s",
3178 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3179 ntimebins,timemin,timemax,100,0,5);
3185 (Form(
"hCellClusterEFracAndTimeLam0Bin%d_PtBin%d",il0,ipt),
3186 Form(
"#it{E}_{cell} vs #it{t}_{cell} in #it{p}_{T}=[%2.1f,%2.1f] GeV/#it{c}, w > 0, %s",
3187 ptLimit[ipt],ptLimit[ipt+1],l0bin[il0].
Data()),
3188 ntimebins,timemin,timemax,100,0,1);
3196 if(ism < fFirstModule || ism >
fLastModule)
continue;
3199 (Form(
"hLam1Lam0Bin%d_sm%d",il0,ism),
3200 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in sm %d, %s",ism,l0bin[il0].
Data()),
3201 nptbins,ptmin,ptmax,40,0,0.4);
3207 (Form(
"hTimeLam0Bin%d_sm%d",il0,ism),
3208 Form(
"#it{p}_{T} vs cluster cell time in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3209 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3215 (Form(
"hTimeLam0Bin%d_sm%d_Weighted",il0,ism),
3216 Form(
"#it{p}_{T} vs cluster cell time weighted in sm %d, %s",ism,l0bin[il0].
Data()),
3217 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3223 (Form(
"hDTimeLam0Bin%d_sm%d",il0,ism),
3224 Form(
"#it{p}_{T} vs t_{cluster}-t_{cell} in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3225 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3231 (Form(
"hDTimeLam0Bin%d_sm%d_Weighted",il0,ism),
3232 Form(
"#it{p}_{T} vs t_{cluster}-t_{cell} weighted in sm %d, %s",ism,l0bin[il0].
Data()),
3233 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
3239 (Form(
"hCellClusterEFracLam0Bin%d_sm%d",il0,ism),
3240 Form(
"#it{p}_{T} vs cell E / cluster E in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3241 nptbins,ptmin,ptmax,100,0,1);
3255 (Form(
"hCellClusterEFracLam0Bin%d_sm%d_LargeTimeInClusterCell",il0,ism),
3256 Form(
"#it{p}_{T} vs cell E / cluster E in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3257 nptbins,ptmin,ptmax,100,0,1);
3263 (Form(
"hCellClusterEFracLam0Bin%d_sm%d_LargeTimeInClusterCell_Total",il0,ism),
3264 Form(
"#it{p}_{T} vs cell E / cluster E in sm %d, %s, w > 0, all |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3265 nptbins,ptmin,ptmax,100,0,1);
3271 (Form(
"hCellClusterELam0Bin%d_sm%d",il0,ism),
3272 Form(
"#it{p}_{T} vs cell E in sm %d, %s, w > 0",ism,l0bin[il0].
Data()),
3273 nptbins,ptmin,ptmax,500,0,10);
3279 (Form(
"hCellClusterELam0Bin%d_sm%d_Weighted",il0,ism),
3280 Form(
"#it{p}_{T} vs cell E weighted in sm %d, %s",ism,l0bin[il0].
Data()),
3281 nptbins,ptmin,ptmax,500,0,10);
3287 (Form(
"hCellClusterELam0Bin%d_sm%d_LargeTimeInClusterCell",il0,ism),
3288 Form(
"#it{p}_{T} vs cell E in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3289 nptbins,ptmin,ptmax,500,0,10);
3295 (Form(
"hCellClusterIndexELam0Bin%d_sm%d_LargeTimeInClusterCell",il0,ism),
3296 Form(
"#it{p}_{T} vs cell index (E sorted) in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3297 nptbins,ptmin,ptmax,30,0,30);
3303 (Form(
"hNCellsWithLargeTimeInClusterLam0Bin%d_sm%d",il0,ism),
3304 Form(
"#it{p}_{T} vs number of cells in sm %d, %s, w > 0, |t_{cell}| > 50 ns",ism,l0bin[il0].
Data()),
3305 nptbins,ptmin,ptmax,30,0,30);
3325 if(ism < fFirstModule || ism >
fLastModule)
continue;
3328 (Form(
"hLam0_sm%d_LargeTimeInClusterCell",ism),
3329 Form(
"#it{p}_{T} vs #lambda^{2}_{0} in sm %d,|t_{secondary cell}| > 50 ns",ism),
3330 nptbins,ptmin,ptmax,40,0,0.4);
3336 (Form(
"hLam1_sm%d_LargeTimeInClusterCell",ism),
3337 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in sm %d, |t_{secondary cell}| > 50 ns",ism),
3338 nptbins,ptmin,ptmax,40,0,0.4);
3379 for(
Int_t ilarge = 0; ilarge < 5; ilarge++)
3382 (Form(
"hLam0_NLargeTimeInClusterCell%d",ilarge),
3383 Form(
"#it{p}_{T} vs #lambda^{2}_{0} in sm %d,|t_{secondary cell}| > 50 ns",ilarge),
3384 nptbins,ptmin,ptmax,40,0,0.4);
3390 (Form(
"hLam1_NLargeTimeInClusterCell%d",ilarge),
3391 Form(
"#it{p}_{T} vs #lambda^{2}_{1} in sm %d, |t_{secondary cell}| > 50 ns",ilarge),
3392 nptbins,ptmin,ptmax,40,0,0.4);
3403 TString ptype[] = {
"#gamma" ,
"#gamma_{#pi decay}" ,
"#gamma_{#eta decay}",
"#gamma_{other decay}",
3404 "#pi^{0}" ,
"#eta" ,
"e^{#pm}" ,
"#gamma->e^{#pm}" ,
3405 "hadron?" ,
"Anti-N" ,
"Anti-P" ,
3406 "Neutron" ,
"Proton" ,
"#pi^{#pm}" ,
3407 "#gamma_{prompt}",
"#gamma_{fragmentation}",
"#gamma_{ISR}" ,
"String" } ;
3409 TString pname[] = {
"Photon" ,
"PhotonPi0Decay" ,
"PhotonEtaDecay",
"PhotonOtherDecay",
3410 "Pi0" ,
"Eta" ,
"Electron" ,
"Conversion" ,
3411 "Hadron" ,
"AntiNeutron" ,
"AntiProton" ,
3412 "Neutron" ,
"Proton" ,
"ChPion" ,
3413 "PhotonPrompt",
"PhotonFragmentation",
"PhotonISR" ,
"String" } ;
3417 fhMCE[i] =
new TH1F(Form(
"hE_MC%s",pname[i].
Data()),
3418 Form(
"cluster from %s : E ",ptype[i].
Data()),
3419 nptbins,ptmin,ptmax);
3420 fhMCE[i]->SetXTitle(
"#it{E} (GeV)");
3421 outputContainer->Add(
fhMCE[i]) ;
3423 fhMCPt[i] =
new TH1F(Form(
"hPt_MC%s",pname[i].
Data()),
3424 Form(
"cluster from %s : #it{p}_{T} ",ptype[i].
Data()),
3425 nptbins,ptmin,ptmax);
3426 fhMCPt[i]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3427 outputContainer->Add(
fhMCPt[i]) ;
3430 Form(
"cluster from %s : #eta ",ptype[i].
Data()),
3431 nptbins,ptmin,ptmax,netabins,etamin,etamax);
3432 fhMCEta[i]->SetYTitle(
"#eta");
3433 fhMCEta[i]->SetXTitle(
"#it{E} (GeV)");
3434 outputContainer->Add(
fhMCEta[i]) ;
3437 Form(
"cluster from %s : #varphi ",ptype[i].
Data()),
3438 nptbins,ptmin,ptmax,nphibins,phimin,phimax);
3439 fhMCPhi[i]->SetYTitle(
"#varphi (rad)");
3440 fhMCPhi[i]->SetXTitle(
"#it{E} (GeV)");
3441 outputContainer->Add(
fhMCPhi[i]) ;
3445 Form(
"MC - Reco E from %s",pname[i].
Data()),
3446 nptbins,ptmin,ptmax, 200,-50,50);
3447 fhMCDeltaE[i]->SetYTitle(
"#Delta #it{E} (GeV)");
3452 Form(
"MC - Reco #it{p}_{T} from %s",pname[i].
Data()),
3453 nptbins,ptmin,ptmax, 200,-50,50);
3454 fhMCDeltaPt[i]->SetXTitle(
"p_{T,rec} (GeV/#it{c})");
3455 fhMCDeltaPt[i]->SetYTitle(
"#Delta #it{p}_{T} (GeV/#it{c})");
3459 Form(
"E distribution, reconstructed vs generated from %s",pname[i].
Data()),
3460 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
3461 fhMC2E[i]->SetXTitle(
"#it{E}_{rec} (GeV)");
3462 fhMC2E[i]->SetYTitle(
"#it{E}_{gen} (GeV)");
3463 outputContainer->Add(
fhMC2E[i]);
3466 Form(
"p_T distribution, reconstructed vs generated from %s",pname[i].
Data()),
3467 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
3468 fhMC2Pt[i]->SetXTitle(
"p_{T,rec} (GeV/#it{c})");
3469 fhMC2Pt[i]->SetYTitle(
"p_{T,gen} (GeV/#it{c})");
3470 outputContainer->Add(
fhMC2Pt[i]);
3473 TString pptype[] = {
"#gamma" ,
"#gamma_{#pi decay}" ,
3474 "#gamma_{#eta decay}",
"#gamma_{other decay}" ,
3475 "#gamma_{prompt}" ,
"#gamma_{fragmentation}",
"#gamma_{ISR}" } ;
3477 TString ppname[] = {
"Photon" ,
"PhotonPi0Decay" ,
3478 "PhotonEtaDecay",
"PhotonOtherDecay" ,
3479 "PhotonPrompt" ,
"PhotonFragmentation",
"PhotonISR" } ;
3483 fhEPrimMC[i] =
new TH1F(Form(
"hEPrim_MC%s",ppname[i].
Data()),
3484 Form(
"primary photon %s : E ",pptype[i].
Data()),
3485 nptbins,ptmin,ptmax);
3486 fhEPrimMC[i]->SetXTitle(
"#it{E} (GeV)");
3490 Form(
"primary photon %s : #it{p}_{T} ",pptype[i].
Data()),
3491 nptbins,ptmin,ptmax);
3492 fhPtPrimMC[i]->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
3496 Form(
"primary photon %s : Rapidity ",pptype[i].
Data()),
3497 nptbins,ptmin,ptmax,200,-2,2);
3499 fhYPrimMC[i]->SetXTitle(
"#it{E} (GeV)");
3503 Form(
"primary photon %s : #eta",pptype[i].
Data()),
3504 nptbins,ptmin,ptmax,200,-2,2);
3510 Form(
"primary photon %s : #varphi ",pptype[i].
Data()),
3511 nptbins,ptmin,ptmax,nphibins,0,TMath::TwoPi());
3518 Form(
"primary photon %s in acceptance: E ",pptype[i].
Data()),
3519 nptbins,ptmin,ptmax);
3524 Form(
"primary photon %s in acceptance: #it{p}_{T} ",pptype[i].
Data()),
3525 nptbins,ptmin,ptmax);
3530 Form(
"primary photon %s in acceptance: Rapidity ",pptype[i].
Data()),
3531 nptbins,ptmin,ptmax,100,-1,1);
3537 Form(
"primary photon %s in acceptance: #eta ",pptype[i].
Data()),
3538 nptbins,ptmin,ptmax,netabins,etamin,etamax);
3544 Form(
"primary photon %s in acceptance: #varphi ",pptype[i].
Data()),
3545 nptbins,ptmin,ptmax,nphibins,phimin,phimax);
3553 TString ptypess[] = {
"#gamma",
"hadron?",
"#pi^{0}",
"#eta",
"#gamma->e^{#pm}",
"e^{#pm}"} ;
3555 TString pnamess[] = {
"Photon",
"Hadron",
"Pi0",
"Eta",
"Conversion",
"Electron"} ;
3557 for(
Int_t i = 0; i < 6; i++)
3560 Form(
"cluster from %s : E vs #lambda_{0}^{2}",ptypess[i].
Data()),
3561 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3567 Form(
"cluster from %s : #it{p}_{T} vs #lambda_{0}^{2}",ptypess[i].
Data()),
3568 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3573 if(!
GetReader()->IsEmbeddedClusterSelectionOn())
3575 for(
Int_t iover = 0; iover < 3; iover++)
3578 Form(
"cluster from %s : #it{p}_{T} vs #lambda_{0}^{2}, N Overlaps = %d",ptypess[i].
Data(),iover),
3579 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3587 Form(
"cluster from %s : E vs #lambda_{1}^{2}",ptypess[i].
Data()),
3588 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3594 Form(
"# of cells in cluster from %s vs E of clusters",ptypess[i].
Data()),
3595 nptbins,ptmin,ptmax, nbins,nmin,nmax);
3597 fhMCNCellsE[i]->SetYTitle(
"# of cells in cluster");
3603 Form(
"cluster from %s : E vs dispersion^{2}",ptypess[i].
Data()),
3604 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3610 Form(
"energy vs difference of cluster energy from %s - max cell energy / cluster energy, good clusters",ptypess[i].
Data()),
3611 nptbins,ptmin,ptmax, 500,0,1.);
3617 Form(
"cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, E < 2 GeV",ptypess[i].
Data()),
3618 ssbins,ssmin,ssmax,500,0,1.);
3624 Form(
"cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, 2< E < 6 GeV",ptypess[i].
Data()),
3625 ssbins,ssmin,ssmax,500,0,1.);
3631 Form(
"cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, #it{E} > 6 GeV",ptypess[i].
Data()),
3632 ssbins,ssmin,ssmax,500,0,1.);
3638 Form(
"cluster from %s : N cells in cluster vs fraction of energy carried by max cell, E < 2 GeV",ptypess[i].
Data()),
3639 nbins/5,nmin,nmax/5,500,0,1.);
3645 Form(
"cluster from %s : N cells in cluster vs fraction of energy carried by max cell, 2< E < 6 GeV",ptypess[i].
Data()),
3646 nbins/5,nmin,nmax/5,500,0,1.);
3652 Form(
"cluster from %s : N cells in cluster vs fraction of energy carried by max cell, #it{E} > 6 GeV",ptypess[i].
Data()),
3653 nbins/5,nmin,nmax/5,500,0,1.);
3661 Form(
"cluster from %s : #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E",ptypess[i].
Data()),
3662 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3668 Form(
"cluster from %s : #sigma^{2}_{#varphi #varphi} = #Sigma w_{i}(#varphi_{i} - <#varphi>)^{2} / #Sigma w_{i} vs E",ptypess[i].
Data()),
3669 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3671 fhMCEDispPhi[i]->SetYTitle(
"#sigma^{2}_{#varphi #varphi}");
3675 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()),
3676 nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
3682 Form(
"cluster from %s : #sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta} vs E",ptypess[i].
Data()),
3683 nptbins,ptmin,ptmax,200,-10,10);
3689 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()),
3690 nptbins,ptmin,ptmax, 200,-1,1);
3692 fhMCESphericity[i]->SetYTitle(
"s = (#sigma^{2}_{#varphi #varphi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#varphi #varphi})");
3695 for(
Int_t ie = 0; ie < 7; ie++)
3698 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]),
3699 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
3705 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]),
3706 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
3712 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]),
3713 ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
3746 if(
GetReader()->IsEmbeddedClusterSelectionOn())
3749 "Energy Fraction of embedded signal versus cluster energy",
3750 nptbins,ptmin,ptmax,100,0.,1.);
3756 "cluster from Photon embedded with more than 90% energy in cluster : E vs #lambda_{0}^{2}",
3757 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3763 "cluster from Photon embedded with 50% to 90% energy in cluster : E vs #lambda_{0}^{2}",
3764 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3770 "cluster from Photon embedded with 10% to 50% energy in cluster : E vs #lambda_{0}^{2}",
3771 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3777 "cluster from Photonm embedded with 0% to 10% energy in cluster : E vs #lambda_{0}^{2}",
3778 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3784 "cluster from Pi0 embedded with more than 90% energy in cluster : E vs #lambda_{0}^{2}",
3785 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3791 "cluster from Pi0 embedded with 50% to 90% energy in cluster : E vs #lambda_{0}^{2}",
3792 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3798 "cluster from Pi0 embedded with 10% to 50% energy in cluster : E vs #lambda_{0}^{2}",
3799 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3805 "cluster from Pi0 embedded with 0% to 10% energy in cluster : E vs #lambda_{0}^{2}",
3806 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3816 fhMCConversionVertex =
new TH2F(
"hMCPhotonConversionVertex",
"cluster from converted photon, #it{p}_{T} vs vertex distance",
3817 nptbins,ptmin,ptmax,500,0,500);
3824 fhMCConversionVertexTRD =
new TH2F(
"hMCPhotonConversionVertexTRD",
"cluster from converted photon, #it{p}_{T} vs vertex distance, SM covered by TRD",
3825 nptbins,ptmin,ptmax,500,0,500);
3833 TString region[] = {
"ITS",
"TPC",
"TRD",
"TOF",
"Top EMCal",
"In EMCal"};
3834 for(
Int_t iR = 0; iR < 6; iR++)
3837 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{0}^{2}, conversion in %s",region[iR].
Data()),
3838 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3844 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{1}^{2}, conversion in %s",region[iR].
Data()),
3845 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3854 for(
Int_t iR = 0; iR < 6; iR++)
3857 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{0}^{2}, conversion in %s, SM covered by TRD",region[iR].
Data()),
3858 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3864 Form(
"cluster from converted photon, #it{p}_{T} vs #lambda_{1}^{2}, conversion in %s, SM covered by TRD",region[iR].
Data()),
3865 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3912 (Form(
"hEBin%d_Cluster_EtaPhi",ie),
3913 Form(
"#eta vs #varphi, cluster, %2.2f<#it{p}_{T}<%2.2f GeV/#it{c}",
fEBinCuts[ie],
fEBinCuts[ie+1]),
3914 netabins,etamin,etamax,nphibins,phimin,phimax);
3920 (Form(
"hEBin%d_Cluster_ColRow",ie),
3921 Form(
"column vs row, cluster max E cell, %2.2f<#it{p}_{T}<%2.2f GeV/#it{c}",
fEBinCuts[ie],
fEBinCuts[ie+1]),
3922 ncolcell,colcellmin,colcellmax,nrowcell,rowcellmin,rowcellmax);
3928 (Form(
"hEBin%d_Cluster_EtaPhi_PID",ie),
3929 Form(
"#eta vs #varphi, cluster, %2.2f<#it{p}_{T}<%2.2f GeV/#it{c}, PID cut",
fEBinCuts[ie],
fEBinCuts[ie+1]),
3930 netabins,etamin,etamax,nphibins,phimin,phimax);
3936 (Form(
"hEBin%d_Cluster_ColRow_PID",ie),
3937 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]),
3938 ncolcell,colcellmin,colcellmax,nrowcell,rowcellmin,rowcellmax);
3947 TString caseTitle[] = {
"",
"CleanCluster",
"MergedClusterHijingBkg",
"MergedClusterNotHijingBkg",
"MergedClusterHijingAndOtherBkg",
"MergedCluster"};
3951 for(
Int_t icase = 0; icase < ncases; icase++)
3954 (Form(
"hLocalRegionClusterEtaPhi%s",caseTitle[icase].
Data()),
3955 "cluster,#it{E} > 0.5 GeV, #eta vs #varphi",netabins,etamin,etamax,nphibins,phimin,phimax);
3961 (Form(
"hLocalRegionClusterEnergySum%s",caseTitle[icase].
Data()),
3962 "Sum of cluster energy around trigger cluster #it{E} with R=0.2",
3963 nptbins,ptmin,ptmax, 200,0,100);
3969 (Form(
"hLocalRegionClusterMultiplicity%s",caseTitle[icase].
Data()),
3970 "Cluster multiplicity around trigger cluster #it{E} with R=0.2",
3971 nptbins,ptmin,ptmax, 200,0,200);
3979 (Form(
"hLocalRegionClusterEnergySumPerCentrality%s",caseTitle[icase].
Data()),
3980 "Sum of cluster energy around trigger cluster vs centrality with R=0.2",
3981 100,0,100, 200,0,100);
3987 (Form(
"hLocalRegionClusterMultiplicityPerCentrality%s",caseTitle[icase].
Data()),
3988 "Cluster multiplicity around trigger cluster vs centrality with R=0.2",
3989 100,0,100, 200,0,200);
4001 (Form(
"hLocalRegionClusterEnergySum%s_MCPi0Decay",caseTitle[icase].
Data()),
4002 "Sum of cluster energy around trigger cluster #it{E} with R=0.2",
4003 nptbins,ptmin,ptmax, 200,0,100);
4009 (Form(
"hLocalRegionClusterMultiplicity%s_MCPi0Decay",caseTitle[icase].
Data()),
4010 "Cluster multiplicity around trigger cluster #it{E} with R=0.2",
4011 nptbins,ptmin,ptmax, 200,0,200);
4019 (Form(
"hLocalRegionClusterEnergySumPerCentrality%s_MCPi0Decay",caseTitle[icase].
Data()),
4020 "Sum of cluster energy around trigger cluster vs centrality with R=0.2",
4021 100,0,100, 200,0,100);
4027 (Form(
"hLocalRegionClusterMultiplicityPerCentrality%s_MCPi0Decay",caseTitle[icase].
Data()),
4028 "Cluster multiplicity around trigger cluster vs centrality with R=0.2",
4029 100,0,100, 200,0,200);
4039 (Form(
"hLocalRegionClusterEnergySumHijing%s",caseTitle[icase].
Data()),
4040 "Sum of cluster energy (HIJING) around trigger cluster #it{E} with R=0.2",
4041 nptbins,ptmin,ptmax, 200,0,100);
4047 (Form(
"hLocalRegionClusterMultiplicityHijing%s",caseTitle[icase].
Data()),
4048 "Cluster multiplicity (HIJING) around trigger cluster #it{E} with R=0.2",
4049 nptbins,ptmin,ptmax, 200,0,200);
4055 (Form(
"hLocalRegionClusterEnergySumAdded%s",caseTitle[icase].
Data()),
4056 "Sum of cluster energy (not HIJING) around trigger cluster #it{E} with R=0.2",
4057 nptbins,ptmin,ptmax, 200,0,100);
4063 (Form(
"hLocalRegionClusterMultiplicityAdded%s",caseTitle[icase].
Data()),
4064 "Cluster multiplicity (not HIJING) around trigger cluster #it{E} with R=0.2",
4065 nptbins,ptmin,ptmax, 200,0,200);
4074 (Form(
"hLocalRegionClusterEnergySumPerCentralityHijing%s",caseTitle[icase].
Data()),
4075 "Sum of cluster energy (HIJING) around trigger cluster vs centrality with R=0.2",
4076 100,0,100, 200,0,100);
4082 (Form(
"hLocalRegionClusterMultiplicityPerCentralityHijing%s",caseTitle[icase].
Data()),
4083 "Cluster multiplicity (HIJING) around trigger cluster vs centrality with R=0.2",
4084 100,0,100, 200,0,200);
4091 (Form(
"hLocalRegionClusterEnergySumPerCentralityAdded%s",caseTitle[icase].
Data()),
4092 "Sum of cluster energy (not HIJING) around trigger cluster vs centrality with R=0.2",
4093 100,0,100, 200,0,100);
4099 (Form(
"hLocalRegionClusterMultiplicityPerCentralityAdded%s",caseTitle[icase].
Data()),
4100 "Cluster multiplicity (not HIJING) around trigger cluster vs centrality with R=0.2",
4101 100,0,100, 200,0,200);
4112 (Form(
"hLocalRegionClusterEnergySumHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
4113 "Sum of cluster energy (HIJING) around trigger cluster #it{E} with R=0.2",
4114 nptbins,ptmin,ptmax, 200,0,100);
4120 (Form(
"hLocalRegionClusterMultiplicityHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
4121 "Cluster multiplicity (HIJING) around trigger cluster #it{E} with R=0.2",
4122 nptbins,ptmin,ptmax, 200,0,200);
4128 (Form(
"hLocalRegionClusterEnergySumAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
4129 "Sum of cluster energy (not HIJING) around trigger cluster #it{E} with R=0.2",
4130 nptbins,ptmin,ptmax, 200,0,100);
4136 (Form(
"hLocalRegionClusterMultiplicityAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
4137 "Cluster multiplicity (not HIJING) around trigger cluster #it{E} with R=0.2",
4138 nptbins,ptmin,ptmax, 200,0,200);
4147 (Form(
"hLocalRegionClusterEnergySumPerCentralityHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
4148 "Sum of cluster energy (HIJING) around trigger cluster vs centrality with R=0.2",
4149 100,0,100, 200,0,100);
4155 (Form(
"hLocalRegionClusterMultiplicityPerCentralityHijing%s_MCPi0Decay",caseTitle[icase].
Data()),
4156 "Cluster multiplicity (HIJING) around trigger cluster vs centrality with R=0.2",
4157 100,0,100, 200,0,200);
4164 (Form(
"hLocalRegionClusterEnergySumPerCentralityAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
4165 "Sum of cluster energy (not HIJING) around trigger cluster vs centrality with R=0.2",
4166 100,0,100, 200,0,100);
4172 (Form(
"hLocalRegionClusterMultiplicityPerCentralityAdded%s_MCPi0Decay",caseTitle[icase].
Data()),
4173 "Cluster multiplicity (not HIJING) around trigger cluster vs centrality with R=0.2",
4174 100,0,100, 200,0,200);
4186 (
"hLocalRegionClusterEnergySumHijing2",
4187 "Sum of cluster energy (HIJING) around trigger cluster #it{E} with R=0.2",
4188 nptbins,ptmin,ptmax, 200,0,100);
4194 (
"hLocalRegionClusterMultiplicityHijing2",
4195 "Cluster multiplicity (HIJING) around trigger cluster #it{E} with R=0.2",
4196 nptbins,ptmin,ptmax, 200,0,200);
4204 (
"hLocalRegionClusterEnergySumPerCentralityHijing2",
4205 "Sum of cluster energy (HIJING) around trigger cluster vs centrality with R=0.2",
4206 100,0,100, 200,0,100);
4212 (
"hLocalRegionClusterMultiplicityPerCentralityHijing2",
4213 "Cluster multiplicity (HIJING) around trigger cluster vs centrality with R=0.2",
4214 100,0,100, 200,0,200);
4257 (
"hDistance2AddedSignals",
"Distance added signals" 4258 ,nptbins,ptmin,ptmax,100,0,0.4);
4264 (
"hDistance2Hijing",
"Distance 2 hijing clusters" 4265 ,nptbins,ptmin,ptmax,100,0,0.4);
4271 (
"hDistanceAddedSignalsHijing",
"Distance added signals to hijing" 4272 ,nptbins,ptmin,ptmax,100,0,0.4);
4281 TString mcGenNames[] = {
"",
"_MC_Pi0Merged",
"_MC_Pi0Decay",
"_MC_EtaDecay",
"_MC_PhotonOther",
"_MC_Electron",
"_MC_Other"};
4282 TString mcGenTitle[] = {
"",
",MC Pi0-Merged",
",MC Pi0-Decay",
", MC Eta-Decay",
", MC Photon other sources",
", MC Electron",
", MC other sources"};
4286 if(igen==0) add =
"";
4290 Form(
"Number of selected clusters with contribution of %s generator%s, no overlap",
4292 nptbins,ptmin,ptmax);
4298 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of %s generator%s, no overlap",
4300 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4306 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of %s generator%s, no overlap",
4308 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4316 Form(
"Number of selected clusters with contribution of >=2 generators, main %s%s",
4318 nptbins,ptmin,ptmax);
4324 Form(
"#it{E}_{reco}/#it{E}_{gen}clusters with contribution of >=2 generators, main %s%s",
4326 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4332 Form(
"#it{E}_{reco}-#it{E}_{gen}clusters with contribution of >=2 generators, main %s%s",
4334 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4344 Form(
"Number of selected clusters with contribution of >=2 generators, , none is HIJING, main %s%s",
4346 nptbins,ptmin,ptmax);
4352 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of >=2 generators, , none is HIJING, main %s%s",
4354 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4360 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of >=2 generators, , none is HIJING, main %s%s",
4362 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4370 Form(
"Number of selected clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4372 nptbins,ptmin,ptmax);
4379 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4381 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4388 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4390 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4398 Form(
"Number of selected clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4400 nptbins,ptmin,ptmax);
4406 Form(
"#it{E}_{reco}/#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4408 nptbins,ptmin,ptmax,nratbins,ratmin,ratmax);
4414 Form(
"#it{E}_{reco}-#it{E}_{gen} clusters with contribution of >=3 generators, none is HIJING, main %s%s",
4416 nptbins,ptmin,ptmax,ndifbins,difmin,difmax);
4424 return outputContainer ;
4433 AliFatal(
"!!STOP: You want to use PHOS in analysis but it is not read!! \n!!Check the configuration file!!");
4435 AliFatal(
"!!STOP: You want to use EMCAL in analysis but it is not read!! \n!!Check the configuration file!!");
4480 AliVCaloCells* cells = 0;
4523 TClonesArray * clusterList = 0;
4532 Int_t nclusters = clusterList->GetEntriesFast();
4533 for (
Int_t iclus = 0; iclus < nclusters; iclus++)
4535 AliVCluster * clus =
dynamic_cast<AliVCluster*
> (clusterList->At(iclus));
4549 Int_t nCaloClusters = pl->GetEntriesFast();
4557 for(
Int_t icalo = 0; icalo < nCaloClusters; icalo++)
4559 AliVCluster * calo = (AliVCluster*) (pl->At(icalo));
4563 Int_t evtIndex = 0 ;
4566 evtIndex=
GetMixedEvent()->EventIndexForCaloCluster(calo->GetID()) ;
4595 AliDebug(1,Form(
"Origin of candidate, bit map %d",tag));
4631 Int_t label = calo->GetLabel();
4640 Double_t distBad=calo->GetDistanceToBadChannel() ;
4652 if( absIdMax < 0 ) AliFatal(
"Wrong absID");
4654 Int_t largeTimeInCellCluster = kFALSE;
4659 aodph.
SetM02(calo->GetM02());
4660 aodph.
SetM20(calo->GetM20());
4663 Float_t time = calo->GetTOF()*1e9;
4680 Int_t icolAbs = -1, irowAbs = -1;
4686 Int_t icol = -1, irow = -1, iRCU = -1;
4689 if(ebin>=0 && ebin < fNEBinCuts)
4725 AliDebug(1,
"PID Bits set");
4748 if(ebin>=0 && ebin < fNEBinCuts)
4756 if(nSM < fNModules && nSM >=0)