18 #include <TClonesArray.h>
19 #include <TObjString.h>
21 #include <TDatabasePDG.h>
28 #include "AliVCluster.h"
29 #include "AliAODEvent.h"
30 #include "AliEMCALGeoParams.h"
33 #include "AliEMCALGeometry.h"
45 fMinNCells(0), fMinBadDist(0),
46 fHistoECut(0), fCheckSplitDistToBad(0), fFillAngleHisto(kFALSE),
47 fFillTMHisto(kFALSE), fFillTMResidualHisto(kFALSE), fFillSSExtraHisto(kFALSE),
48 fFillMCHisto(kFALSE), fFillSSWeightHisto(kFALSE),
49 fFillNLMDiffCutHisto(kFALSE), fFillEbinHisto(0),
50 fFillMCOverlapHisto(0), fFillNCellHisto(0), fFillIdConvHisto(0),
51 fFillIdEtaHisto(0), fFillHighMultHisto(0),
52 fFillArmenterosHisto(0), fFillThetaStarHisto(0),
53 fSSWeightN(0), fSSECellCutN(0),
54 fNLMSettingN(0), fWSimu(),
55 fClusterMomentum(), fSubClusterMom1(), fSubClusterMom2(),
56 fSubClusterMomSum(), fSubClusterMomBoost(),
57 fPrimaryMom(), fGrandMotherMom(),
58 fMCDaughMom1(), fMCDaughMom2(), fProdVertex(),
60 fhMassAsyCutNLocMax1(0), fhMassAsyCutNLocMax2(0), fhMassAsyCutNLocMaxN(0),
61 fhM02AsyCutNLocMax1(0), fhM02AsyCutNLocMax2(0), fhM02AsyCutNLocMaxN(0),
62 fhMassM02CutNLocMax1(0), fhMassM02CutNLocMax2(0), fhMassM02CutNLocMaxN(0),
63 fhAsymM02CutNLocMax1(0), fhAsymM02CutNLocMax2(0), fhAsymM02CutNLocMaxN(0),
64 fhMassEnCutNLocMax1(0), fhMassEnCutNLocMax2(0), fhMassEnCutNLocMaxN(0),
65 fhM02EnCutNLocMax1(0), fhM02EnCutNLocMax2(0), fhM02EnCutNLocMaxN(0),
66 fhAsymEnCutNLocMax1(0), fhAsymEnCutNLocMax2(0), fhAsymEnCutNLocMaxN(0),
67 fhSplitEFracEnCutNLocMax1(0), fhSplitEFracEnCutNLocMax2(0), fhSplitEFracEnCutNLocMaxN(0),
68 fhMassSplitECutNLocMax1(0), fhMassSplitECutNLocMax2(0), fhMassSplitECutNLocMaxN(0),
69 fhMCGenFracAfterCutsNLocMax1MCPi0(0), fhMCGenFracAfterCutsNLocMax2MCPi0(0), fhMCGenFracAfterCutsNLocMaxNMCPi0(0),
70 fhMCGenSplitEFracAfterCutsNLocMax1MCPi0(0),fhMCGenSplitEFracAfterCutsNLocMax2MCPi0(0),fhMCGenSplitEFracAfterCutsNLocMaxNMCPi0(0),
71 fhNCellMassEHighNLocMax1MCPi0(0), fhNCellM02EHighNLocMax1MCPi0(0),
72 fhNCellMassELowNLocMax1MCPi0(0), fhNCellM02ELowNLocMax1MCPi0(0),
73 fhNCellMassEHighNLocMax2MCPi0(0), fhNCellM02EHighNLocMax2MCPi0(0),
74 fhNCellMassELowNLocMax2MCPi0(0), fhNCellM02ELowNLocMax2MCPi0(0),
75 fhNCellMassEHighNLocMaxNMCPi0(0), fhNCellM02EHighNLocMaxNMCPi0(0),
76 fhNCellMassELowNLocMaxNMCPi0(0), fhNCellM02ELowNLocMaxNMCPi0(0),
77 fhAnglePairPrimPi0RecoNLocMax1(0), fhAnglePairPrimPi0RecoNLocMax2(0), fhAnglePairPrimPi0RecoNLocMaxN(0),
78 fhAnglePairPrimPi0vsRecoNLocMax1(0), fhAnglePairPrimPi0vsRecoNLocMax2(0), fhAnglePairPrimPi0vsRecoNLocMaxN(0),
79 fhAnglePairPrimPi0OverM02NLocMax1(0), fhAnglePairPrimPi0OverM02NLocMax2(0), fhAnglePairPrimPi0OverM02NLocMaxN(0),
80 fhCentralityPi0NLocMax1(0), fhCentralityEtaNLocMax1(0),
81 fhCentralityPi0NLocMax2(0), fhCentralityEtaNLocMax2(0),
82 fhCentralityPi0NLocMaxN(0), fhCentralityEtaNLocMaxN(0),
83 fhEventPlanePi0NLocMax1(0), fhEventPlaneEtaNLocMax1(0),
84 fhEventPlanePi0NLocMax2(0), fhEventPlaneEtaNLocMax2(0),
85 fhEventPlanePi0NLocMaxN(0), fhEventPlaneEtaNLocMaxN(0),
86 fhClusterEtaPhiNLocMax1(0), fhClusterEtaPhiNLocMax2(0), fhClusterEtaPhiNLocMaxN(0),
87 fhPi0EtaPhiNLocMax1(0), fhPi0EtaPhiNLocMax2(0), fhPi0EtaPhiNLocMaxN(0),
88 fhEtaEtaPhiNLocMax1(0), fhEtaEtaPhiNLocMax2(0), fhEtaEtaPhiNLocMaxN(0),
89 fhPi0EPairDiffTimeNLM1(0), fhPi0EPairDiffTimeNLM2(0), fhPi0EPairDiffTimeNLMN(0),
90 fhEtaEPairDiffTimeNLM1(0), fhEtaEPairDiffTimeNLM2(0), fhEtaEPairDiffTimeNLMN(0),
91 fhMCPi0HighNLMPair(0), fhMCPi0LowNLMPair(0),
92 fhMCPi0AnyNLMPair(0), fhMCPi0NoneNLMPair(0),
93 fhMCPi0HighNLMPairNoMCMatch(0), fhMCPi0LowNLMPairNoMCMatch(0),
94 fhMCPi0AnyNLMPairNoMCMatch(0), fhMCPi0NoneNLMPairNoMCMatch(0),
95 fhMCPi0HighNLMPairOverlap(0), fhMCPi0LowNLMPairOverlap(0),
96 fhMCPi0AnyNLMPairOverlap(0), fhMCPi0NoneNLMPairOverlap(0),
97 fhMCPi0HighNLMPairNoMCMatchOverlap(0), fhMCPi0LowNLMPairNoMCMatchOverlap(0),
98 fhMCPi0AnyNLMPairNoMCMatchOverlap(0), fhMCPi0NoneNLMPairNoMCMatchOverlap(0),
99 fhMCPi0DecayPhotonHitHighLM(0), fhMCPi0DecayPhotonAdjHighLM(0),
100 fhMCPi0DecayPhotonHitOtherLM(0), fhMCPi0DecayPhotonAdjOtherLM(0),
101 fhMCPi0DecayPhotonAdjacent(0), fhMCPi0DecayPhotonHitNoLM(0),
102 fhMCPi0DecayPhotonHitHighLMOverlap(0), fhMCPi0DecayPhotonAdjHighLMOverlap(0),
103 fhMCPi0DecayPhotonHitOtherLMOverlap(0), fhMCPi0DecayPhotonAdjOtherLMOverlap(0),
104 fhMCPi0DecayPhotonAdjacentOverlap(0), fhMCPi0DecayPhotonHitNoLMOverlap(0),
105 fhMCEOverlapType(0), fhMCEOverlapTypeMatch(0)
107 for(
Int_t i = 0; i < 7; i++)
109 for(
Int_t j = 0; j < 2; j++)
268 for(
Int_t jj = 0; jj < 4; jj++)
307 for(
Int_t nlm = 0; nlm < 3; nlm++)
369 for(
Int_t i = 0; i < 2; i++)
376 for(
Int_t i = 0; i < 4; i++)
407 for(
Int_t nlm = 0; nlm < 3; nlm++)
475 for(
Int_t i = 0; i < 20; i++)
491 for(
Int_t i = 0; i < 7; i++)
493 for(
Int_t j = 0; j < 4; j++)
509 for(
Int_t i = 0; i < 5; i++)
511 for(
Int_t j = 0; j < 5; j++)
517 for(
Int_t k = 0; k < 3; k++)
545 const UInt_t nc = cluster->GetNCells();
608 for (
UInt_t icell = 0; icell < nc; icell++ )
610 list [icell] = cluster->GetCellAbsId(icell);
611 elist[icell] =
GetEMCALCells()->GetCellAmplitude(list[icell]);
615 Int_t nmaxima = nMax;
616 if(nMax==1) nmaxima = nc ;
623 for(
Int_t i = 0; i < nmaxima; i++)
634 for(
Int_t i = 0; i < nmaxima; i++)
636 if(i==imax)
continue;
657 Int_t mcLabelMax = -1 ;
658 if(imax >=0 && imax < 999)
664 Int_t mcLabelMax2 = -1 ;
665 if(imax2 >=0 && imax2 < 999)
671 Int_t mcLabelclusterMax = cluster->GetLabels()[0];
672 Bool_t matchHighLMAndHighMC = kFALSE;
676 if(mcLabelclusterMax == mcLabelMax && mcLabelclusterMax >= 0)
678 matchHighLMAndHighMC = kTRUE;
684 if(mcLabelclusterMax == mcLabelMax2 && mcLabelclusterMax >= 0)
687 matchHighLMAndHighMC = kTRUE;
692 matchHighLMAndHighMC = kFALSE;
697 Int_t ancPDG = 0, ancStatus = -1;
720 for(
Int_t i = 0; i < nmaxima-1; i++)
725 for(
Int_t j = i+1; j < nmaxima; j++)
730 if(mcLabel1 < 0 || mcLabel2 < 0 )
740 if((i==imax && j==imax2) || (j==imax && i==imax2))
745 else if(ancPDG==22 || TMath::Abs(ancPDG)==11)
770 if(matchHighLMAndHighMC)
787 if(matchHighLMAndHighMC)
815 Int_t label = cluster->GetLabel();
817 while( pdg!=111 && label >=0 )
822 if(pdg!=111 || label < 0)
824 AliWarning(
"Mother Pi0 not found!");
832 AliWarning(Form(
"N daughters %d !=2!",nDaugthers));
837 Int_t pdg0 = -22222, status0 = -1;
Int_t label0 = -1;
839 Int_t pdg1 = -22222, status1 = -1;
Int_t label1 = -1;
842 if(pdg1!=22 || pdg0 != 22)
844 AliWarning(Form(
"Wrong daughters PDG: photon0 %d - photon1 %d",pdg0,pdg1));
867 if(phi0 < 0 ) phi0+=TMath::TwoPi();
868 if(phi1 < 0 ) phi1+=TMath::TwoPi();
870 Int_t absId0=-1, absId1=-1;
874 if(absId0 < 0 || absId1 < 0)
908 if(inlm > 2) inlm = 2;
914 if(imax >= 0 && imax2 >=0 && absId0 > 0 && absId1 > 0 )
916 if (absId0 == list[imax] ) { match0 = kTRUE ; imatch0 = imax ; }
917 else if(absId0 == list[imax2]) { match0 = kTRUE ; imatch0 = imax2 ; }
919 if (absId1 == list[imax] ) { match1 = kTRUE ; imatch1 = imax ; }
920 else if(absId1 == list[imax2]) { match1 = kTRUE ; imatch1 = imax2 ; }
928 Int_t absId0second = -1;
929 Int_t absId1second = -1;
930 Int_t secLabel0 = -1;
931 Int_t secLabel1 = -1;
935 Int_t secpdg = -999999;
936 Int_t secstatus = -1;
937 Int_t secgrandLabel = -1;
939 if(match0) { secLabel0 = label0 ; mcLabel0 = label0 ; }
940 if(match1) { secLabel1 = label1 ; mcLabel1 = label1 ; }
942 if((!match0 || !match1) && mcindex ==
kmcPi0Conv)
944 for (
UInt_t ilab = 0; ilab < cluster->GetNLabels(); ilab++ )
946 Int_t mclabel = cluster->GetLabels()[ilab];
950 if(mclabel == label0 || mclabel == label1)
953 if(mclabel == label0 && secLabel0 < 0) { secLabel0 = label0 ; mcLabel0 = label0 ; }
954 if(mclabel == label1 && secLabel1 < 0) { secLabel1 = label1 ; mcLabel1 = label1 ; }
961 Int_t tmplabel = mclabel;
962 while((secLabel0 < 0 || secLabel1 < 0) && tmplabel > 0 )
968 if((secgrandLabel == label0) || (secgrandLabel == label1 ))
971 if(!match0 && mcLabel1 != secgrandLabel) { secLabel0 = mclabel; mcLabel0 = secgrandLabel; }
972 if(!match1 && mcLabel0 != secgrandLabel) { secLabel1 = mclabel; mcLabel1 = secgrandLabel; }
977 tmplabel = secgrandLabel;
982 if(!match0 && secLabel0 > 0)
993 if(absId0second == list[imax] ) { match0 = kTRUE ; imatch0 = imax ; }
994 if(absId0second == list[imax2]) { match0 = kTRUE ; imatch0 = imax2 ; }
997 if(!match1 && secLabel1 > 0)
1008 if(absId1second == list[imax] ) { match1 = kTRUE ; imatch1 = imax ; }
1009 if(absId1second == list[imax2]) { match1 = kTRUE ; imatch1 = imax2 ; }
1016 if( match0 && match1 )
1025 if(match0 && imatch0 == imax)
1052 if(match0 && imatch0 == imax )
1105 if(match0 && match1)
1115 if(match0 && imatch0 == imax)
1142 if(match0 && imatch0 == imax)
1193 Bool_t matchMCHitOtherLM = kFALSE;
1196 for(
Int_t i = 0; i < nmaxima; i++)
1198 if(imax!=i && imax2!=i && absId1 == list[i]) { match1 = kTRUE; matchMCHitOtherLM = kTRUE; }
1204 for(
Int_t i = 0; i < nmaxima; i++)
1206 if(imax!=i && imax2!=i && absId0 == list[i]) { match0 = kTRUE; matchMCHitOtherLM = kTRUE; }
1210 if(matchMCHitOtherLM)
1219 if(match0 && imatch0 == imax)
1238 if(match0 && imatch0 == imax)
1259 Bool_t adjacentOther1 = kFALSE;
1262 for(
Int_t i = 0; i < nmaxima; i++)
1275 Bool_t adjacentOther0 = kFALSE;
1278 for(
Int_t i = 0; i < nmaxima; i++)
1291 if((match0 && adjacentOther1) || (match1 && adjacentOther0))
1300 if(match0 && imatch0 == imax)
1319 if(match0 && imatch0 == imax)
1367 Int_t inlm = nMax-1;
1368 if(inlm > 2 ) inlm = 2;
1370 if (ensubcut > 0.1 && ensubcut < e1 && ensubcut < e2 ) eCutOK = kTRUE;
1371 else if(ensubcut < 0.1) eCutOK = kTRUE;
1377 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1398 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1419 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1437 if(
IsDataMC() && mcIndex > 0 && mcIndex < 7)
1447 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1458 if((mcIndex ==
kmcPi0 || mcIndex ==
kmcPi0Conv) && !matched && anglePrim > 0)
1474 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1485 if((mcIndex ==
kmcPi0 || mcIndex ==
kmcPi0Conv) && !matched && anglePrim > 0)
1500 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1511 if((mcIndex ==
kmcPi0 || mcIndex ==
kmcPi0Conv) && !matched && anglePrim > 0)
1530 Float_t momentumDaughter1AlongMother = 0.;
1531 Float_t momentumDaughter2AlongMother = 0.;
1533 if (momentumSquaredMother > 0.)
1540 Float_t ptArmSquared = momentumSquaredDaughter1 - momentumDaughter1AlongMother*momentumDaughter1AlongMother;
1543 if (ptArmSquared > 0.)
1544 pTArm = sqrt(ptArmSquared);
1547 if(momentumDaughter1AlongMother +momentumDaughter2AlongMother > 0)
1548 alphaArm = (momentumDaughter1AlongMother -momentumDaughter2AlongMother) / (momentumDaughter1AlongMother + momentumDaughter2AlongMother);
1552 AliDebug(2,Form(
"E %f, alphaArm %f, pTArm %f",en,alphaArm,pTArm));
1560 Int_t inlm = nMax-1;
1561 if(inlm > 2 ) inlm = 2;
1564 if (ensubcut > 0.1 && ensubcut <
fSubClusterMom1.E() && ensubcut < fSubClusterMom2.E() )
1566 else if(ensubcut < 0.1)
1572 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1580 if((m02OK && asyOK) && (asyOn || m02On))
1588 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1594 if(
IsDataMC() && mcIndex > 0 && mcIndex < 7)
1599 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1607 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1615 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1643 Int_t inlm = nMax-1;
1644 if(inlm > 2 ) inlm = 2;
1646 if (ensubcut > 0.1 && ensubcut <
fSubClusterMom1.E() && ensubcut < fSubClusterMom2.E() ) eCutOK = kTRUE;
1647 else if(ensubcut < 0.1) eCutOK = kTRUE;
1655 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1664 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1673 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1679 if(
IsDataMC() && mcIndex > 0 && mcIndex < 7)
1685 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1694 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1703 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1751 Float_t splitFrac = (e1+e2)/en;
1754 if(e1+e2>0) asym = (e1-e2)/(e1+e2);
1763 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
1778 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
1793 else if( nMax == 2 )
1798 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
1813 else if( nMax >= 3 )
1818 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
1846 if(e1+e2 > 0) efracSplit = eprim/(e1+e2);
1848 Float_t splitFrac = (e1+e2)/en;
1851 if(e1+e2>0) asym = (e1-e2)/(e1+e2);
1853 Int_t inlm = nMax-1;
1854 if(inlm > 2) inlm = 2;
1864 if (ensubcut > 0.1 && ensubcut < e1 && ensubcut < e2 ) eCutOK = kTRUE;
1865 else if(ensubcut < 0.1) eCutOK = kTRUE;
1875 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
1891 if( !matched && asyOK && asyOn )
1897 if( !matched && m02OK && m02On )
1904 if(!matched && eCutOK && ensubcut > 0.1)
1912 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1915 if(splitFrac > splitFracMin)
1927 else if( nMax == 2 )
1935 if( !matched && asyOK && asyOn )
1941 if( !matched && m02OK && m02On )
1948 if( !matched && eCutOK && ensubcut > 0.1 )
1956 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
1959 if(splitFrac > splitFracMin)
1980 if( !matched && asyOK && asyOn )
1986 if(!matched && m02OK && m02On )
1993 if( !matched && eCutOK && ensubcut > 0.1 )
2001 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
2004 if(splitFrac > splitFracMin)
2018 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
2026 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
2029 if(splitFrac > splitFracMin)
2042 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
2045 if(splitFrac > splitFracMin)
2058 if((m02OK && asyOK) && (asyOn || m02On) && eCutOK)
2061 if(splitFrac > splitFracMin)
2081 if(e1+e2>0) asym = (e1-e2)/(e1+e2);
2090 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
2156 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
2199 if(e1+e2>0) asym = (e1-e2)/(e1+e2);
2256 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
2296 else if ( nMax == 2 )
2302 else if ( nMax > 2 )
2309 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
2317 else if ( nMax == 2 )
2323 else if ( nMax > 2 )
2344 if(e1+e2 > 0) efracSplit = eprim/(e1+e2);
2345 Float_t asymDiff = TMath::Abs(asym) - TMath::Abs(asymGen);
2361 if(asym > 0 && !matched)
2390 else if( nMax == 2 )
2396 if(asym > 0 && !matched)
2430 if(asym > 0 && !matched)
2488 else if(noverlaps == 1)
2498 else if(noverlaps > 1)
2509 AliWarning(Form(
"n overlaps = %d!!", noverlaps));
2525 else if(noverlaps == 1)
2535 else if(noverlaps > 1)
2546 AliWarning(Form(
"n overlaps in matched = %d!!", noverlaps));
2564 if (mcindex==
kmcPi0 && !matched)
2578 else if( nMax == 2 )
2584 if (mcindex==
kmcPi0 && !matched)
2598 else if( nMax >= 3 )
2603 if (mcindex==
kmcPi0 && !matched)
2652 distbad1,distbad2,fidcut1,fidcut2);
2655 AliWarning(
"No local maximum found! It did not pass CaloPID selection criteria");
2660 if(inlm>2) inlm = 2;
2691 Float_t disp= 0., dispEta = 0., dispPhi = 0.;
2692 Float_t sEta = 0., sPhi = 0., sEtaPhi = 0.;
2695 ll0, ll1, disp, dispEta, dispPhi, sEta, sPhi, sEtaPhi);
2698 if(dispEta+dispPhi >0 ) dispAsy = (dispPhi-dispEta) / (dispPhi+dispEta);
2708 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
2723 else if( nMax == 2 )
2731 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
2746 else if( nMax >= 3 )
2754 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
2777 AliVCaloCells* cells = 0;
2793 AliWarning(Form(
"Wrong calculated energy %f",energy));
2798 Float_t amp1 = cells->GetCellAmplitude(absId1);
2800 Float_t amp2 = cells->GetCellAmplitude(absId2);
2803 if(amp1 < amp2) AliWarning(Form(
"Bad local maxima E ordering : id1 E %f, id2 E %f",amp1,amp2));
2804 if(amp1==0 || amp2==0) AliWarning(Form(
"Null E local maxima : id1 E %f, id2 E %f " ,amp1,amp2));
2817 for (
Int_t ipos = 0; ipos < clus->GetNCells(); ipos++)
2819 Int_t id = clus->GetCellsAbsId()[ipos];
2822 Float_t amp = cells->GetCellAmplitude(
id);
2835 if (
id!=absId1 &&
id!=absId2)
2845 Float_t l0org = clus->GetM02();
2846 Float_t l1org = clus->GetM20();
2847 Float_t dorg = clus->GetDispersion();
2859 Float_t disp = 0., dEta = 0., dPhi = 0.;
2860 Float_t sEta = 0., sPhi = 0., sEtaPhi = 0.;
2873 clus->SetM02(l0org);
2874 clus->SetM20(l1org);
2875 clus->SetDispersion(dorg);
2881 Float_t disp = 0., dEta = 0., dPhi = 0.;
2882 Float_t sEta = 0., sPhi = 0., sEtaPhi = 0.;
2885 dEta, dPhi, sEta, sPhi, sEtaPhi,
fSSECellCut[iec]);
2900 Float_t dZ = cluster->GetTrackDz();
2901 Float_t dR = cluster->GetTrackDx();
2912 if(TMath::Abs(dR) < 999)
2919 else if( nMax == 2 )
2924 else if( nMax >= 3 )
2930 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
2937 else if( nMax == 2 )
2942 else if( nMax >= 3 )
2951 Bool_t positive = kFALSE;
2952 if(track) positive = (track->Charge()>0);
2963 else if( nMax == 2 )
2968 else if( nMax >= 3 )
2974 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
2981 else if( nMax == 2 )
2986 else if( nMax >= 3 )
3000 else if( nMax == 2 )
3005 else if( nMax >= 3 )
3011 if(
IsDataMC() && mcindex > 0 && mcindex < 7)
3018 else if( nMax == 2 )
3023 else if( nMax >= 3 )
3040 Int_t buffersize = 255;
3041 char onePar[buffersize] ;
3043 snprintf(onePar,buffersize,
"--- AliAnaInsideClusterInvariantMass ---:") ;
3048 snprintf(onePar,buffersize,
"fNLocMaxCutE =%2.2f;",
GetCaloUtils()->GetLocalMaximaCutE()) ;
3050 snprintf(onePar,buffersize,
"fNLocMaxCutEDiff =%2.2f;",
GetCaloUtils()->GetLocalMaximaCutEDiff()) ;
3052 snprintf(onePar,buffersize,
"fMinNCells =%d;",
fMinNCells) ;
3054 snprintf(onePar,buffersize,
"fMinBadDist =%1.1f;",
fMinBadDist) ;
3062 return new TObjString(parList) ;
3072 outputContainer->SetName(
"InsideClusterHistos") ;
3091 if(
GetCaloPID()->GetSplitEnergyFractionMinimum(0) > 0 ||
3092 GetCaloPID()->GetSplitEnergyFractionMinimum(1) > 0 ||
3093 GetCaloPID()->GetSplitEnergyFractionMinimum(2) > 0) splitOn = kTRUE;
3095 TString ptype[] ={
"",
"#gamma",
"#gamma->e^{#pm}",
"#pi^{0}",
"#pi^{0} (#gamma->e^{#pm})",
"#eta",
"hadron"};
3096 TString pname[] ={
"",
"Photon",
"Conversion",
"Pi0",
"Pi0Conv",
"Eta",
"Hadron"};
3097 TString snlm [] = {
"1",
"2",
"N"};
3099 TString sEBin[] = {
"8 < #it{E} < 12 GeV",
"12 < #it{E} < 16 GeV",
"16 < #it{E} < 20 GeV",
"#it{E} > 20 GeV" };
3105 Int_t nMaxBins = 10;
3107 TString sMatched[] = {
"",
"Matched"};
3115 for(
Int_t imatch = 0; imatch < nMatched; imatch++)
3121 fhNLocMaxDiffCut[iE][iDiff][imatch] =
new TH2F(Form(
"hNLocMax_MinE%d_MinDiffE%d%s",iE, iDiff, sMatched[imatch].
Data()),
3122 Form(
"NLM for #it{E}_{LM}>%1.2f, #Delta E=%1.2F %s",
fNLMMinE[iE],
fNLMMinDiff[iDiff],sMatched[imatch].
Data()),
3123 nptbins,ptmin,ptmax, nMaxBins,0,nMaxBins);
3129 Form(
"#pi^{0} NLM for #it{E}_{LM}>%1.2f, #Delta E=%1.2F %s",
3131 nptbins,ptmin,ptmax, nMaxBins,0,nMaxBins);
3136 for(
Int_t inlm = 0; inlm < 3; inlm++)
3140 iE, iDiff, snlm[inlm].
Data(),sMatched[imatch].
Data()),
3141 Form(
"#lambda^{2}_{0} for #it{E}_{LM}>%1.2f, #Delta E=%1.2F NLM %s %s",
3143 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3149 iE, iDiff, snlm[inlm].
Data(),sMatched[imatch].
Data()),
3150 Form(
"#it{M}_{split} for #it{E}_{LM}>%1.2f, #Delta E=%1.2F NLM %s %s",
3152 nptbins,ptmin,ptmax, mbins,mmin,mmax);
3158 iE, iDiff, snlm[inlm].
Data(),sMatched[imatch].
Data()),
3159 Form(
"#pi^{0} #lambda^{2}_{0} for #it{E}_{LM}>%1.2f, #Delta E=%1.2F NLM %s %s",
3161 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3167 iE, iDiff, snlm[inlm].
Data(),sMatched[imatch].
Data()),
3168 Form(
"#pi^{0} #it{M}_{split} for #it{E}_{LM}>%1.2f, #Delta E=%1.2F NLM %s %s",
3170 nptbins,ptmin,ptmax, mbins,mmin,mmax);
3180 return outputContainer;
3185 for(
Int_t inlm = 0; inlm < 3; inlm++)
3188 Form(
"Invariant mass of splitted cluster with #it{NLM}=%d vs E, 2nd LM close to bad channel",inlm),
3189 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3195 Form(
"#lambda_{0}^{2} for cluster with #it{NLM}=%d vs E, 2nd LM close to bad channel",inlm),
3196 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3202 Form(
"Invariant mass of splitted cluster with #it{NLM}=%d vs E, 2nd LM close to border",inlm),
3203 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3209 Form(
"#lambda_{0}^{2} for cluster with #it{NLM}=%d vs E, 2nd LM close to border",inlm),
3210 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3217 for(
Int_t i = 0; i < n; i++)
3219 for(
Int_t j = 0; j < nMatched; j++)
3223 Form(
"Number of local maxima in cluster %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3224 nptbins,ptmin,ptmax,nMaxBins,0,nMaxBins);
3225 fhNLocMax[i][j] ->SetYTitle(
"#it{N} maxima");
3226 fhNLocMax[i][j] ->SetXTitle(
"#it{E} (GeV)");
3230 Form(
"Number of local maxima in cluster for split cluster 1 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3231 nptbins,ptmin,ptmax,nMaxBins,0,nMaxBins);
3237 Form(
"Number of local maxima in cluster for split cluster 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3238 nptbins,ptmin,ptmax,nMaxBins,0,nMaxBins);
3246 Form(
"Number of local maxima in cluster %s %s, M02 cut",ptype[i].
Data(),sMatched[j].
Data()),
3247 nptbins,ptmin,ptmax,nMaxBins,0,nMaxBins);
3253 Form(
"Number of local maxima in cluster for split cluster 1 %s %s, M02 cut",ptype[i].
Data(),sMatched[j].
Data()),
3254 nptbins,ptmin,ptmax,nMaxBins,0,nMaxBins);
3260 Form(
"Number of local maxima in cluster for split cluster 2 %s %s, M02 cut",ptype[i].
Data(),sMatched[j].
Data()),
3261 nptbins,ptmin,ptmax,nMaxBins,0,nMaxBins);
3268 Form(
"Number of local maxima in pi0 ID cluster %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3269 nptbins,ptmin,ptmax,nMaxBins,0,nMaxBins);
3276 Form(
"Number of local maxima in cluster for split cluster 1 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3277 nptbins,ptmin,ptmax,nMaxBins,0,nMaxBins);
3283 Form(
"Number of local maxima in cluster for split cluster 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3284 nptbins,ptmin,ptmax,nMaxBins,0,nMaxBins);
3291 Form(
"Number of local maxima vs E of split clusters %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3292 nptbins,ptmin,ptmax,nMaxBins,0,nMaxBins);
3299 Form(
"Number of local maxima vs E of split clusters, id as pi0, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3300 nptbins,ptmin,ptmax,nMaxBins,0,nMaxBins);
3308 Form(
"n cells vs E for N max = 1 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3309 nptbins,ptmin,ptmax,ncbins,ncmin,ncmax);
3315 Form(
"n cells vs E for N max = 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3316 nptbins,ptmin,ptmax,ncbins,ncmin,ncmax);
3323 Form(
"n cells vs E for N max > 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3324 nptbins,ptmin,ptmax,ncbins,ncmin,ncmax);
3331 Form(
"Invariant mass of splitted cluster with #it{NLM}=1 vs E, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3332 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3338 Form(
"Invariant mass of splitted cluster with #it{NLM}=2 vs E, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3339 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3345 Form(
"Invariant mass of splitted cluster with NLM>2 vs E, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3346 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3352 Form(
"Invariant mass of splitted cluster with #it{NLM}=1 vs #it{E}_{1}+#it{E}_{2}, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3353 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3359 Form(
"Invariant mass of splitted cluster with #it{NLM}=2 vs #it{E}_{1}+#it{E}_{2}, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3360 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3366 Form(
"Invariant mass of splitted cluster with NLM>2 vs #it{E}_{1}+#it{E}_{2}, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3367 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3373 Form(
"#lambda_{0}^{2} vs E for N max = 1 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3374 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3380 Form(
"#lambda_{0}^{2} vs E for N max = 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3381 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3387 Form(
"#lambda_{0}^{2} vs E for N max > 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3388 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3394 Form(
"Asymmetry of #it{NLM}=1 vs cluster Energy, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3395 nptbins,ptmin,ptmax,200,-1,1);
3396 fhAsymNLocMax1[i][j]->SetYTitle(
"(#it{E}_{1}-#it{E}_{2})/(#it{E}_{1}+#it{E}_{2})");
3401 Form(
"Asymmetry of #it{NLM}=2 vs cluster Energy, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3402 nptbins,ptmin,ptmax,200,-1,1);
3403 fhAsymNLocMax2[i][j]->SetYTitle(
"(#it{E}_{1}-#it{E}_{2})/(#it{E}_{1}+#it{E}_{2})");
3408 Form(
"Asymmetry of NLM>2 vs cluster Energy, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3409 nptbins,ptmin,ptmax,200,-1,1);
3410 fhAsymNLocMaxN[i][j]->SetYTitle(
"(#it{E}_{1}-#it{E}_{2})/(#it{E}_{1}+#it{E}_{2})");
3415 Form(
"(#it{E}_{1}+#it{E}_{2})/#it{E}_{cluster} vs #it{E}_{cluster} for N max = 1 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3416 nptbins,ptmin,ptmax,120,0,1.2);
3422 Form(
"(#it{E}_{1}+#it{E}_{2})/#it{E}_{cluster} vs #it{E}_{cluster} for N max = 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3423 nptbins,ptmin,ptmax,120,0,1.2);
3429 Form(
"(#it{E}_{1}+#it{E}_{2})/#it{E}_{cluster} vs #it{E}_{cluster} for N max > 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3430 nptbins,ptmin,ptmax,120,0,1.2);
3439 fhMassM02CutNLocMax1 =
new TH2F(
"hMassM02CutNLocMax1",
"Invariant mass of splitted cluster with #it{NLM}=1 vs E, M02 cut, no TM",
3440 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3445 fhMassM02CutNLocMax2 =
new TH2F(
"hMassM02CutNLocMax2",
"Invariant mass of splitted cluster with #it{NLM}=2 vs E, M02 cut, no TM",
3446 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3451 fhMassM02CutNLocMaxN =
new TH2F(
"hMassM02CutNLocMaxN",
"Invariant mass of splitted cluster with NLM>2 vs E, M02 cut, no TM",
3452 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3457 fhAsymM02CutNLocMax1 =
new TH2F(
"hAsymM02CutNLocMax1",
"Asymmetry of #it{NLM}=1 vs cluster Energy, M02Cut, no TM", nptbins,ptmin,ptmax,200,-1,1);
3462 fhAsymM02CutNLocMax2 =
new TH2F(
"hAsymM02CutNLocMax2",
"Asymmetry of #it{NLM}=2 vs cluster Energy, M02Cut, no TM", nptbins,ptmin,ptmax,200,-1,1);
3467 fhAsymM02CutNLocMaxN =
new TH2F(
"hAsymM02CutNLocMaxN",
"Asymmetry of NLM>2 vs cluster Energy, M02Cut, no TM", nptbins,ptmin,ptmax,200,-1,1);
3474 fhMassSplitECutNLocMax1 =
new TH2F(
"hMassSplitECutNLocMax1",
"Invariant mass of splitted cluster with #it{NLM}=1 vs E, (#it{E}_{1}+#it{E}_{2})/E cut, M02 cut, no TM",
3475 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3480 fhMassSplitECutNLocMax2 =
new TH2F(
"hMassSplitECutNLocMax2",
"Invariant mass of splitted cluster with #it{NLM}=2 vs E, (#it{E}_{1}+#it{E}_{2})/E cut, M02 cut, no TM",
3481 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3486 fhMassSplitECutNLocMaxN =
new TH2F(
"hMassSplitECutNLocMaxN",
"Invariant mass of splitted cluster with NLM>2 vs E, (#it{E}_{1}+#it{E}_{2})/E cut, M02 cut, no TM",
3487 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3496 fhMassAsyCutNLocMax1 =
new TH2F(
"hMassAsyCutNLocMax1",
"Invariant mass of splitted cluster with #it{NLM}=1 vs E, Asy cut, no TM",
3497 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3502 fhMassAsyCutNLocMax2 =
new TH2F(
"hMassAsyCutNLocMax2",
"Invariant mass of splitted cluster with #it{NLM}=2 vs E, Asy cut, no TM",
3503 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3508 fhMassAsyCutNLocMaxN =
new TH2F(
"hMassAsyCutNLocMaxN",
"Invariant mass of splitted cluster with NLM>2 vs E, Asy cut, no TM",
3509 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3514 fhM02AsyCutNLocMax1 =
new TH2F(
"hM02AsyCutNLocMax1",
"#lambda_{0}^{2} of #it{NLM}=1 vs cluster Energy, AsyCut, no TM",
3515 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3520 fhM02AsyCutNLocMax2 =
new TH2F(
"hM02AsyCutNLocMax2",
"#lambda_{0}^{2} of #it{NLM}=2 vs cluster Energy, AsyCut, no TM",
3521 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3526 fhM02AsyCutNLocMaxN =
new TH2F(
"hM02AsyCutNLocMaxN",
"#lambda_{0}^{2} of NLM>2 vs cluster Energy, AsyCut, no TM",
3527 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3533 if(
GetCaloPID()->GetSubClusterEnergyMinimum(0) > 0.1)
3535 fhMassEnCutNLocMax1 =
new TH2F(
"hMassEnCutNLocMax1",Form(
"Invariant mass of splitted cluster with #it{NLM}=1 vs E, E > %1.1f GeV, no TM",
GetCaloPID()->GetSubClusterEnergyMinimum(0)),
3536 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3541 fhMassEnCutNLocMax2 =
new TH2F(
"hMassEnCutNLocMax2",Form(
"Invariant mass of splitted cluster with #it{NLM}=2 vs E, E > %1.1f GeV, no TM",
GetCaloPID()->GetSubClusterEnergyMinimum(1)),
3542 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3547 fhMassEnCutNLocMaxN =
new TH2F(
"hMassEnCutNLocMaxN",Form(
"Invariant mass of splitted cluster with NLM>2 vs E, E > %1.1f GeV, no TM",
GetCaloPID()->GetSubClusterEnergyMinimum(2)),
3548 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3553 fhM02EnCutNLocMax1 =
new TH2F(
"hM02EnCutNLocMax1",Form(
"#lambda_{0}^{2} of #it{NLM}=1 vs cluster Energy, E > %1.1f GeV, no TM",
GetCaloPID()->GetSubClusterEnergyMinimum(0)),
3554 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3559 fhM02EnCutNLocMax2 =
new TH2F(
"hM02EnCutNLocMax2",Form(
"#lambda_{0}^{2} of #it{NLM}=2 vs cluster Energy, E > %1.1f GeV, no TM",
GetCaloPID()->GetSubClusterEnergyMinimum(1)),
3560 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3565 fhM02EnCutNLocMaxN =
new TH2F(
"hM02EnCutNLocMaxN",Form(
"#lambda_{0}^{2} of NLM>2 vs cluster Energy, E > %1.1f GeV, no TM",
GetCaloPID()->GetSubClusterEnergyMinimum(2)),
3566 nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
3571 fhAsymEnCutNLocMax1 =
new TH2F(
"hAsymEnCutNLocMax1",Form(
"Asymmetry of #it{NLM}=1 vs cluster Energy, E > %1.1f GeV, no TM",
GetCaloPID()->GetSubClusterEnergyMinimum(0))
3572 , nptbins,ptmin,ptmax,200,-1,1);
3577 fhAsymEnCutNLocMax2 =
new TH2F(
"hAsymEnCutNLocMax2",Form(
"Asymmetry of #it{NLM}=2 vs cluster Energy, E > %1.1f GeV, no TM",
GetCaloPID()->GetSubClusterEnergyMinimum(1))
3578 , nptbins,ptmin,ptmax,200,-1,1);
3583 fhAsymEnCutNLocMaxN =
new TH2F(
"hAsymEnCutNLocMaxN",Form(
"Asymmetry of NLM>2 vs cluster Energy, E > %1.1f GeV, no TM",
GetCaloPID()->GetSubClusterEnergyMinimum(2))
3584 , nptbins,ptmin,ptmax,200,-1,1);
3590 , nptbins,ptmin,ptmax,120,0,1.2);
3596 , nptbins,ptmin,ptmax,120,0,1.2);
3602 , nptbins,ptmin,ptmax,120,0,1.2);
3612 Form(
"Mass vs E, %s %s, for NLM = 1, M02 and asy cut",ptype[i].
Data(),sMatched[j].
Data()),
3613 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3619 Form(
"Mass vs E, %s %s, for NLM = 2, M02 and asy cut",ptype[i].
Data(),sMatched[j].
Data()),
3620 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3626 Form(
"Mass vs E, %s %s, for NLM > 2, M02 and asy cut",ptype[i].
Data(),sMatched[j].
Data()),
3627 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3633 Form(
"Mass vs #it{E}_{1}+#it{E}_{2}, %s %s, for NLM = 1, M02 and asy cut",ptype[i].
Data(),sMatched[j].
Data()),
3634 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3640 Form(
"Mass vs #it{E}_{1}+#it{E}_{2}, %s %s, for NLM = 2, M02 and asy cut",ptype[i].
Data(),sMatched[j].
Data()),
3641 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3647 Form(
"Mass vs #it{E}_{1}+#it{E}_{2}, %s %s, for NLM > 2, M02 and asy cut",ptype[i].
Data(),sMatched[j].
Data()),
3648 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3655 Form(
"(#it{E}_{1}+#it{E}_{2})/#it{E}_{cluster} vs #it{E}_{cluster} for N max = 1, M02 and Asy cut on, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3656 nptbins,ptmin,ptmax,120,0,1.2);
3662 Form(
"(#it{E}_{1}+#it{E}_{2})/#it{E}_{cluster} vs #it{E}_{cluster} for N max = 2, M02 and Asy cut on, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3663 nptbins,ptmin,ptmax,120,0,1.2);
3669 Form(
"(#it{E}_{1}+#it{E}_{2})/#it{E}_{cluster} vs #it{E}_{cluster} for N max > 2, M02 and Asy cut on, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3670 nptbins,ptmin,ptmax,120,0,1.2);
3677 Form(
"Invariant mass of splitted cluster with #it{NLM}=1, #lambda_{0}^{2}, E > 12 GeV,%s %s",ptype[i].
Data(),sMatched[j].
Data()),
3678 ssbins,ssmin,ssmax,mbins,mmin,mmax);
3684 Form(
"Invariant mass of splitted cluster with #it{NLM}=2, #lambda_{0}^{2}, E > 12 GeV, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3685 ssbins,ssmin,ssmax,mbins,mmin,mmax);
3691 Form(
"Invariant mass of splitted cluster with NLM>2, vs #lambda_{0}^{2}, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3692 ssbins,ssmin,ssmax,mbins,mmin,mmax);
3700 Form(
"Invariant mass of splitted cluster with #it{NLM}=1, #sigma_{#eta #eta}^{2}, E > 12 GeV,%s %s",ptype[i].
Data(),sMatched[j].
Data()),
3701 ssbins,ssmin,ssmax,mbins,mmin,mmax);
3707 Form(
"Invariant mass of splitted cluster with #it{NLM}=2 #sigma_{#eta #eta}^{2}, E > 12 GeV, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3708 ssbins,ssmin,ssmax,mbins,mmin,mmax);
3714 Form(
"Invariant mass of splitted cluster with NLM>2, #sigma_{#eta #eta}^{2}, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3715 ssbins,ssmin,ssmax,mbins,mmin,mmax);
3721 Form(
"Invariant mass of 2 highest energy cells #sigma_{#phi #phi}^{2}, E > 12 GeV,%s %s",ptype[i].
Data(),sMatched[j].
Data()),
3722 ssbins,ssmin,ssmax,mbins,mmin,mmax);
3728 Form(
"Invariant mass of 2 local maxima cells #sigma_{#phi #phi}^{2}, E > 12 GeV, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3729 ssbins,ssmin,ssmax,mbins,mmin,mmax);
3735 Form(
"Invariant mass of N>2 local maxima cells vs #sigma_{#phi #phi}^{2}, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3736 ssbins,ssmin,ssmax,mbins,mmin,mmax);
3742 Form(
"Invariant mass of 2 highest energy cells A = (#sigma_{#phi #phi}^{2} - #sigma_{#eta #eta}^{2}) / (#sigma_{#phi #phi}^{2} + #sigma_{#eta #eta}^{2}), E > 12 GeV,%s %s",ptype[i].
Data(),sMatched[j].
Data()),
3743 200,-1,1,mbins,mmin,mmax);
3745 fhMassDispAsyNLocMax1[i][j]->SetXTitle(
"A = (#sigma_{#phi #phi}^{2} - #sigma_{#eta #eta}^{2}) / (#sigma_{#phi #phi}^{2} + #sigma_{#eta #eta}^{2})");
3749 Form(
"Invariant mass of 2 local maxima cells A = (#sigma_{#phi #phi}^{2} - #sigma_{#eta #eta}^{2}) / (#sigma_{#phi #phi}^{2} + #sigma_{#eta #eta}^{2}), E > 12 GeV, %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3750 200,-1,1,mbins,mmin,mmax);
3752 fhMassDispAsyNLocMax2[i][j]->SetXTitle(
"A = (#sigma_{#phi #phi}^{2} - #sigma_{#eta #eta}^{2}) / (#sigma_{#phi #phi}^{2} + #sigma_{#eta #eta}^{2})");
3756 Form(
"Invariant mass of N>2 local maxima cells vsA = (#sigma_{#phi #phi}^{2} - #sigma_{#eta #eta}^{2}) / (#sigma_{#phi #phi}^{2} + #sigma_{#eta #eta}^{2}), %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3757 200,-1,1,mbins,mmin,mmax);
3759 fhMassDispAsyNLocMaxN[i][j]->SetXTitle(
"#it{A} = (#sigma_{#phi #phi}^{2} - #sigma_{#eta #eta}^{2}) / (#sigma_{#phi #phi}^{2} + #sigma_{#eta #eta}^{2})");
3766 Form(
"#lambda_{0}^{2} vs E for N max = 1 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3767 nptbins,ptmin,ptmax,200,0,2);
3773 Form(
"#lambda_{0}^{2} vs E for N max = 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3774 nptbins,ptmin,ptmax,200,0,2);
3780 Form(
"#lambda_{0}^{2} vs E for N max > 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3781 nptbins,ptmin,ptmax,200,0,2);
3787 Form(
"#lambda_{0}^{2} vs E for N max = 1 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3788 nptbins,ptmin,ptmax,200,0,2);
3794 Form(
"#lambda_{0}^{2} vs E for N max = 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3795 nptbins,ptmin,ptmax,200,0,2);
3801 Form(
"#lambda_{0}^{2} vs E for N max > 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3802 nptbins,ptmin,ptmax,200,0,2);
3809 Form(
"#it{E}_{gen} / (#it{E}_{1 split}+#it{E}_{2 split}) vs E for N max = 1 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3810 nptbins,ptmin,ptmax,200,0,2);
3816 Form(
"#it{E}_{gen} / (#it{E}_{1 split}+#it{E}_{2 split}) vs E for N max = 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3817 nptbins,ptmin,ptmax,200,0,2);
3823 Form(
"#it{E}_{gen} / (#it{E}_{1 split}+#it{E}_{2 split}) vs E for N max > 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3824 nptbins,ptmin,ptmax,200,0,2);
3830 Form(
"#it{E}_{gen} / (#it{E}_{1 split}+#it{E}_{2 split}) vs E for N max = 1 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3831 nptbins,ptmin,ptmax,200,0,2);
3837 Form(
"#it{E}_{gen} / (#it{E}_{1 split}+#it{E}_{2 split}) vs E for N max = 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3838 nptbins,ptmin,ptmax,200,0,2);
3844 Form(
"#it{E}_{gen} / (#it{E}_{1 split}+#it{E}_{2 split}) vs E for N max > 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3845 nptbins,ptmin,ptmax,200,0,2);
3851 Form(
"(#it{E}_{1 split}+#it{E}_{2 split})/#it{E}_{reco} vs #it{E}_{gen} / #it{E}_{reco} for N max = 1 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3858 Form(
"(#it{E}_{1 split}+#it{E}_{2 split})/#it{E}_{reco} vs #it{E}_{gen} / #it{E}_{reco} for N max = 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3866 Form(
"(#it{E}_{1 split}+#it{E}_{2 split})/#it{E}_{reco} vs #it{E}_{gen} / #it{E}_{reco} for N max > 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3874 Form(
"#it{E}_{1 split}+#it{E}_{2 split} vs #it{E}_{gen} for N max = 1 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3875 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
3881 Form(
"#it{E}_{1 split}+#it{E}_{2 split} vs #it{E}_{gen} for N max = 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3882 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
3889 Form(
"#it{E}_{1 split}+#it{E}_{2 split} vs #it{E}_{gen} for N max > 2 %s %s",ptype[i].
Data(),sMatched[j].
Data()),
3890 nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
3902 Form(
"#lambda_{0}^{2} vs #it{E}, %s, for NLM = 1",ptype[i].
Data()),
3903 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3909 Form(
"#lambda_{0}^{2} vs #it{E}, %s, for NLM = 2",ptype[i].
Data()),
3910 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3916 Form(
"#lambda_{0}^{2} vs #it{E}, %s, for NLM > 2",ptype[i].
Data()),
3917 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3923 Form(
"Mass vs #it{E}, %s, for NLM = 1",ptype[i].
Data()),
3924 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3930 Form(
"Mass vs #it{E} , %s, for NLM = 2",ptype[i].
Data()),
3931 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3937 Form(
"Mass vs #it{E}, %s, for NLM > 2",ptype[i].
Data()),
3938 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3944 Form(
"Mass vs #it{E}_{1}+#it{E}_{2}, %s, for NLM = 1",ptype[i].
Data()),
3945 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3951 Form(
"Mass vs #it{E}_{1}+#it{E}_{2} , %s, for NLM = 2",ptype[i].
Data()),
3952 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3958 Form(
"Mass vs #it{E}_{1}+#it{E}_{2}, %s, for NLM > 2",ptype[i].
Data()),
3959 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3965 Form(
"Asymmetry vs E, %s, for NLM = 1",ptype[i].
Data()),
3966 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3972 Form(
"Asymmetry vs E, %s, for NLM = 2",ptype[i].
Data()),
3973 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3979 Form(
"Asymmetry vs E, %s, for NLM > 2",ptype[i].
Data()),
3980 nptbins,ptmin,ptmax,mbins,mmin,mmax);
3988 Form(
"n cells vs E, %s, for NLM = 1",ptype[i].
Data()),
3989 nptbins,ptmin,ptmax,ncbins,ncmin,ncmax);
3995 Form(
"n cells vs E, %s, for NLM = 2",ptype[i].
Data()),
3996 nptbins,ptmin,ptmax,ncbins,ncmin,ncmax);
4002 Form(
"n cells vs E, %s, for NLM > 2",ptype[i].
Data()),
4003 nptbins,ptmin,ptmax,ncbins,ncmin,ncmax);
4014 Form(
"#lambda_{0}^{2} vs E, %s, for NLM = 1",ptype[i].
Data()),
4015 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
4022 Form(
"#lambda_{0}^{2} vs E, %s, for NLM = 2",ptype[i].
Data()),
4023 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
4029 Form(
"#lambda_{0}^{2} vs E, %s, for NLM > 2",ptype[i].
Data()),
4030 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
4036 Form(
"Mass vs E, %s, for NLM = 1",ptype[i].
Data()),
4037 nptbins,ptmin,ptmax,mbins,mmin,mmax);
4043 Form(
"Mass vs E, %s, for NLM = 2",ptype[i].
Data()),
4044 nptbins,ptmin,ptmax,mbins,mmin,mmax);
4050 Form(
"Mass vs E, %s, for NLM > 2",ptype[i].
Data()),
4051 nptbins,ptmin,ptmax,mbins,mmin,mmax);
4057 Form(
"Asymmetry vs E, %s, for NLM = 1",ptype[i].
Data()),
4058 nptbins,ptmin,ptmax,mbins,mmin,mmax);
4064 Form(
"Asymmetry vs E, %s, for NLM = 2",ptype[i].
Data()),
4065 nptbins,ptmin,ptmax,mbins,mmin,mmax);
4071 Form(
"Asymmetry vs E, %s, for NLM > 2",ptype[i].
Data()),
4072 nptbins,ptmin,ptmax,mbins,mmin,mmax);
4080 Form(
"n cells vs E, %s, for NLM = 1",ptype[i].
Data()),
4081 nptbins,ptmin,ptmax,ncbins,ncmin,ncmax);
4087 Form(
"n cells vs E, %s, for NLM = 2",ptype[i].
Data()),
4088 nptbins,ptmin,ptmax,ncbins,ncmin,ncmax);
4094 Form(
"n cells vs E, %s, for NLM > 2",ptype[i].
Data()),
4095 nptbins,ptmin,ptmax,ncbins,ncmin,ncmax);
4105 Form(
"#lambda_{0}^{2} vs E, %s, for NLM = 1",ptype[i].
Data()),
4106 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
4112 Form(
"#lambda_{0}^{2} vs E, %s, for NLM = 2",ptype[i].
Data()),
4113 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
4119 Form(
"#lambda_{0}^{2} vs E, %s, for NLM > 2",ptype[i].
Data()),
4120 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
4127 Form(
"Mass vs E, %s, for NLM = 1",ptype[i].
Data()),
4128 nptbins,ptmin,ptmax,mbins,mmin,mmax);
4134 Form(
"Mass vs E, %s, for NLM = 2",ptype[i].
Data()),
4135 nptbins,ptmin,ptmax,mbins,mmin,mmax);
4141 Form(
"Mass vs E, %s, for NLM > 2",ptype[i].
Data()),
4142 nptbins,ptmin,ptmax,mbins,mmin,mmax);
4148 Form(
"Asymmetry vs E, %s, for NLM = 1",ptype[i].
Data()),
4149 nptbins,ptmin,ptmax,mbins,mmin,mmax);
4155 Form(
"Asymmetry vs E, %s, for NLM = 2",ptype[i].
Data()),
4156 nptbins,ptmin,ptmax,mbins,mmin,mmax);
4162 Form(
"Asymmetry vs E, %s, for NLM > 2",ptype[i].
Data()),
4163 nptbins,ptmin,ptmax,mbins,mmin,mmax);
4172 for(
Int_t j = 0; j < 4; j++)
4175 Form(
"Invariant mass of 2 highest energy cells vs (#it{E}_{1}+#it{E}_{2})/Ecluster, %s, %s",ptype[i].
Data(),sEBin[j].
Data()),
4176 120,0,1.2,mbins,mmin,mmax);
4182 Form(
"Invariant mass of 2 local maxima cells vs (#it{E}_{1}+#it{E}_{2})/Ecluster, %s, %s",ptype[i].
Data(),sEBin[j].
Data()),
4183 120,0,1.2,mbins,mmin,mmax);
4189 Form(
"Invariant mass of N>2 local maxima cells vs (#it{E}_{1}+#it{E}_{2})/Ecluster, %s, %s",ptype[i].
Data(),sEBin[j].
Data()),
4190 120,0,1.2,mbins,mmin,mmax);
4198 Form(
"NLM vs E, %s, %s",ptype[i].
Data(),sEBin[j].
Data()),
4199 200,0,2,nMaxBins,0,nMaxBins);
4205 Form(
"NLM vs E, %s, %s, matched to a track",ptype[i].
Data(),sEBin[j].
Data()),
4206 200,0,2,nMaxBins,0,nMaxBins);
4212 Form(
"Invariant mass of 2 highest energy cells vs E, %s, %s",ptype[i].
Data(),sEBin[j].
Data()),
4213 200,0,2,mbins,mmin,mmax);
4219 Form(
"Invariant mass of 2 local maxima cells vs E, %s, %s",ptype[i].
Data(),sEBin[j].
Data()),
4220 200,0,2,mbins,mmin,mmax);
4226 Form(
"Invariant mass of N>2 local maxima cells vs E, %s, %s",ptype[i].
Data(),sEBin[j].
Data()),
4227 200,0,2,mbins,mmin,mmax);
4233 Form(
"#lambda_{0}^{2} vs E for N max = 1 %s, %s",ptype[i].
Data(),sEBin[j].
Data()),
4234 200,0,2,ssbins,ssmin,ssmax);
4240 Form(
"#lambda_{0}^{2} vs E for N max = 2 %s, %s",ptype[i].
Data(),sEBin[j].
Data()),
4241 200,0,2,ssbins,ssmin,ssmax);
4247 Form(
"#lambda_{0}^{2} vs E for N max > 2 %s, %s",ptype[i].
Data(),sEBin[j].
Data()),
4248 200,0,2,ssbins,ssmin,ssmax);
4262 "E vs Centrality, selected pi0 cluster with #it{NLM}=1",
4263 nptbins,ptmin,ptmax,100,0,100);
4269 "E vs Centrality, selected pi0 cluster with #it{NLM}=2",
4270 nptbins,ptmin,ptmax,100,0,100);
4276 "E vs Centrality, selected pi0 cluster with NLM>1",
4277 nptbins,ptmin,ptmax,100,0,100);
4285 "E vs Centrality, selected pi0 cluster with #it{NLM}=1",
4286 nptbins,ptmin,ptmax,100,0,100);
4292 "E vs Centrality, selected pi0 cluster with #it{NLM}=2",
4293 nptbins,ptmin,ptmax,100,0,100);