17 #include <TObjArray.h>
18 #include <TParticle.h>
19 #include <TDatabasePDG.h>
21 #include <TObjString.h>
27 #include "AliVCaloCells.h"
29 #include "AliVCluster.h"
30 #include "AliVTrack.h"
31 #include "AliVEvent.h"
32 #include "AliVEventHandler.h"
33 #include "AliAODMCParticle.h"
37 #include "AliPHOSGeoUtils.h"
38 #include "AliEMCALGeometry.h"
51 fFillAllCellTimeHisto(kTRUE),
52 fFillAllPosHisto(kFALSE), fFillAllPosHisto2(kFALSE),
54 fFillAllTMHisto(kTRUE),
55 fFillAllPi0Histo(kTRUE), fFillInvMassOpenAngle(kFALSE),
56 fFillPi0PairDiffTime(kFALSE), fFillInvMassInEMCALWithPHOSDCalAcc(kFALSE),
57 fFillEBinAcceptanceHisto(kFALSE),
58 fCorrelate(kTRUE), fStudyBadClusters(kFALSE),
59 fStudyClustersAsymmetry(kFALSE), fStudyExotic(kFALSE),
61 fStudyFECCorrelation(kFALSE), fStudyTCardCorrelation(kFALSE),
62 fStudyM02Dependence (kFALSE),
65 fNModules(12), fNRCU(2),
66 fNMaxCols(48), fNMaxRows(24),
67 fTimeCutMin(-10000), fTimeCutMax(10000),
69 fEMCALCellAmpMin(0), fPHOSCellAmpMin(0),
70 fEMCALClusterM02Min(0),
71 fEMCALClusterNCellMin(0), fPHOSClusterNCellMin(0),
75 fInvMassMinECut(0), fInvMassMaxECut(0),
76 fInvMassMinM02Cut(0), fInvMassMaxM02Cut(0),
77 fInvMassMaxOpenAngle(0), fInvMassMaxTimeDifference(0),
80 fExoNECrossCuts(0), fExoECrossCuts(),
81 fExoNDTimeCuts(0), fExoDTimeCuts(),
83 fClusterMomentum(), fClusterMomentum2(),
85 fConstantTimeShift(0),
89 fhEtaPhi(0), fhEtaPhiE(0),
90 fhECharged(0), fhPtCharged(0),
91 fhPhiCharged(0), fhEtaCharged(0),
92 fhEtaPhiCharged(0), fhEtaPhiECharged(0),
95 fhIM(0), fhIMSame(0), fhIMDiff(0),
96 fhIMDCAL(0), fhIMDCALSame(0), fhIMDCALDiff(0),
97 fhIMDCALPHOS(0), fhIMDCALPHOSSame(0),
98 fhIMEMCALPHOS(0), fhIMEMCALPHOSSame(0),
100 fhOpAngle(0), fhIMvsOpAngle(0),
101 fhNCellsPerCluster(0), fhNCellsPerClusterNoCut(0),
102 fhNCellsPerClusterWithWeight(0), fhNCellsPerClusterRatioWithWeight(0),
106 fhClusterTimeEnergy(0), fhCellTimeSpreadRespectToCellMax(0),
107 fhCellIdCellLargeTimeSpread(0), fhClusterPairDiffTimeE(0), fhClusterPairDiffTimeESameMod(0),
108 fhClusterMaxCellCloseCellRatio(0), fhClusterMaxCellCloseCellDiff(0),
109 fhClusterMaxCellDiff(0), fhClusterMaxCellDiffNoCut(0),
111 fhClusterMaxCellECross(0),
112 fhLambda0(0), fhLambda1(0),
113 fhLambda0MaxFECPair(0), fhLambda1MaxFECPair(0),
114 fhLambda0MaxFECOdd(0), fhLambda1MaxFECOdd(0),
115 fhLambda0Max2FECPair(0), fhLambda1Max2FECPair(0),
116 fhLambda0Max2FECOdd(0), fhLambda1Max2FECOdd(0),
117 fhLambda0MaxFECPairLargeNCells(0), fhLambda1MaxFECPairLargeNCells(0),
118 fhLambda0MaxFECOddLargeNCells(0), fhLambda1MaxFECOddLargeNCells(0),
119 fhLambda0Max2FECPairLargeNCells(0), fhLambda1Max2FECPairLargeNCells(0),
120 fhLambda0Max2FECOddLargeNCells(0), fhLambda1Max2FECOddLargeNCells(0),
123 fhEtaPhiFECCorrControl(0),
125 fhBadClusterEnergy(0), fhBadClusterTimeEnergy(0), fhBadClusterEtaPhi(0),
126 fhBadClusterPairDiffTimeE(0), fhBadCellTimeSpreadRespectToCellMax(0),
127 fhBadClusterMaxCellCloseCellRatio(0), fhBadClusterMaxCellCloseCellDiff(0), fhBadClusterMaxCellDiff(0),
128 fhBadClusterMaxCellDiffAverageTime(0), fhBadClusterMaxCellDiffWeightedTime(0),
129 fhBadClusterMaxCellECross(0),
130 fhBadClusterLambda0(0), fhBadClusterLambda1(0),
131 fhBadClusterDeltaIEtaDeltaIPhiE0(0), fhBadClusterDeltaIEtaDeltaIPhiE2(0),
132 fhBadClusterDeltaIEtaDeltaIPhiE6(0), fhBadClusterDeltaIA(0),
135 fhRNCells(0), fhXNCells(0),
136 fhYNCells(0), fhZNCells(0),
140 fhRCellE(0), fhXCellE(0),
141 fhYCellE(0), fhZCellE(0),
143 fhDeltaCellClusterRNCells(0), fhDeltaCellClusterXNCells(0),
144 fhDeltaCellClusterYNCells(0), fhDeltaCellClusterZNCells(0),
145 fhDeltaCellClusterRE(0), fhDeltaCellClusterXE(0),
146 fhDeltaCellClusterYE(0), fhDeltaCellClusterZE(0),
149 fhNCells(0), fhNCellsCutAmpMin(0),
150 fhAmplitude(0), fhAmpId(0),
151 fhEtaPhiAmpCell(0), fhEtaPhiCell(0),
153 fhTimeId(0), fhTimeAmp(0),
154 fhAmpIdLowGain(0), fhTimeIdLowGain(0), fhTimeAmpLowGain(0),
158 fhEMCALPHOSCorrNClusters(0), fhEMCALPHOSCorrEClusters(0),
159 fhEMCALPHOSCorrNCells(0), fhEMCALPHOSCorrECells(0),
160 fhEMCALDCALCorrNClusters(0), fhEMCALDCALCorrEClusters(0),
161 fhEMCALDCALCorrNCells(0), fhEMCALDCALCorrECells(0),
162 fhDCALPHOSCorrNClusters(0), fhDCALPHOSCorrEClusters(0),
163 fhDCALPHOSCorrNCells(0), fhDCALPHOSCorrECells(0),
164 fhCaloV0SCorrNClusters(0), fhCaloV0SCorrEClusters(0),
165 fhCaloV0SCorrNCells(0), fhCaloV0SCorrECells(0),
166 fhCaloV0MCorrNClusters(0), fhCaloV0MCorrEClusters(0),
167 fhCaloV0MCorrNCells(0), fhCaloV0MCorrECells(0),
168 fhCaloTrackMCorrNClusters(0), fhCaloTrackMCorrEClusters(0),
169 fhCaloTrackMCorrNCells(0), fhCaloTrackMCorrECells(0),
170 fhCaloCenNClusters(0), fhCaloCenEClusters(0),
171 fhCaloCenNCells(0), fhCaloCenECells(0),
172 fhCaloEvPNClusters(0), fhCaloEvPEClusters(0),
173 fhCaloEvPNCells(0), fhCaloEvPECells(0),
176 fhEMod(0), fhAmpMod(0),
177 fhEWeirdMod(0), fhAmpWeirdMod(0),
179 fhNClustersMod(0), fhNCellsMod(0),
180 fhNCellsSumAmpPerMod(0), fhNClustersSumEnergyPerMod(0),
181 fhNCellsPerClusterMod(0), fhNCellsPerClusterModNoCut(0),
182 fhNCellsPerClusterWeirdMod(0), fhNCellsPerClusterWeirdModNoCut(0),
184 fhGridCells(0), fhGridCellsE(0), fhGridCellsTime(0),
185 fhGridCellsLowGain(0), fhGridCellsELowGain(0), fhGridCellsTimeLowGain(0),
186 fhTimeAmpPerRCU(0), fhIMMod(0),
189 fhECellClusterRatio(0), fhECellClusterLogRatio(0),
190 fhEMaxCellClusterRatio(0), fhEMaxCellClusterLogRatio(0),
191 fhECellTotalRatio(0), fhECellTotalLogRatio(0),
192 fhECellTotalRatioMod(0), fhECellTotalLogRatioMod(0),
194 fhExoL0ECross(0), fhExoL1ECross(0),
197 fhRecoMCE(), fhRecoMCPhi(), fhRecoMCEta(),
198 fhRecoMCDeltaE(), fhRecoMCRatioE(),
199 fhRecoMCDeltaPhi(), fhRecoMCDeltaEta(),
202 fhGenMCE(), fhGenMCPt(), fhGenMCEtaPhi(),
203 fhGenMCAccE(), fhGenMCAccPt(), fhGenMCAccEtaPhi(),
206 fhEMVxyz(0), fhEMR(0),
207 fhHaVxyz(0), fhHaR(0),
208 fh1EOverP(0), fh2dR(0),
209 fh2EledEdx(0), fh2MatchdEdx(0),
210 fh1EOverPR02(0), fh1EleEOverP(0),
211 fhMCEle1EOverP(0), fhMCEle1dR(0), fhMCEle2MatchdEdx(0),
212 fhMCChHad1EOverP(0), fhMCChHad1dR(0), fhMCChHad2MatchdEdx(0),
213 fhMCNeutral1EOverP(0), fhMCNeutral1dR(0), fhMCNeutral2MatchdEdx(0),
214 fhMCEle1EOverPR02(0), fhMCChHad1EOverPR02(0), fhMCNeutral1EOverPR02(0),
215 fhMCEle1EleEOverP(0), fhMCChHad1EleEOverP(0), fhMCNeutral1EleEOverP(0),
216 fhTrackMatchedDEtaNeg(0), fhTrackMatchedDPhiNeg(0), fhTrackMatchedDEtaDPhiNeg(0),
217 fhTrackMatchedDEtaPos(0), fhTrackMatchedDPhiPos(0), fhTrackMatchedDEtaDPhiPos(0),
218 fhTrackMatchedDEtaNegMod(0), fhTrackMatchedDPhiNegMod(0),
219 fhTrackMatchedDEtaPosMod(0), fhTrackMatchedDPhiPosMod(0),
220 fhClusterTimeEnergyM02(0), fhCellTimeSpreadRespectToCellMaxM02(0),
221 fhClusterMaxCellCloseCellRatioM02(0), fhClusterMaxCellCloseCellDiffM02(0),
222 fhClusterMaxCellDiffM02(0), fhClusterMaxCellECrossM02(0), fhNCellsPerClusterM02(0)
225 for(
Int_t i =0; i < 12; i++)
227 for(
Int_t j = 0; j < 4; j++)
229 for(
Int_t k = 0; k < 3; k++)
236 for(
Int_t j = 0; j < 5; j++)
253 for (
Int_t ie = 0; ie < 10 ; ie++)
256 for (
Int_t idt = 0; idt < 5 ; idt++)
270 for(
Int_t i = 0; i < 7; i++)
281 for(
Int_t i = 0; i < 4; i++)
291 for(
Int_t i = 0; i < 14; i++)
301 for(
Int_t i = 0; i < 6; i++)
309 for(
Int_t i = 0; i < 4; i++)
318 for(
Int_t tm = 0; tm < 2; tm++)
341 for(
Int_t i = 0; i < 6; i++)
343 for(
Int_t j = 0; j < 6; j++)
378 for(
Int_t i = 0; i < 4; i++)
386 for(
Int_t i = 0; i < 14; i++)
404 for(
Int_t j = 0; j < 6; j++)
406 for(
Int_t k = 0; k < 6; k++)
414 for(
Int_t i = 0; i < 7; i++)
427 for(
Int_t i = 0; i < 12; i++)
484 if(phi < 0) phi += TMath::TwoPi();
495 for(
Int_t iclus2 = 0; iclus2 < caloClusters->GetEntriesFast(); iclus2++ )
497 AliVCluster* clus2 = (AliVCluster*) caloClusters->At(iclus2);
499 if(clus->GetID() == clus2->GetID())
continue;
504 if(
IsGoodCluster(absIdMax2, clus->GetM02(), clus->GetNCells(), cells) && clus2->GetM02() > 0.1 )
506 Double_t tof2 = clus2->GetTOF()*1.e9;
524 for (
Int_t ipos = 0; ipos < clus->GetNCells(); ipos++)
526 Int_t absId = clus->GetCellsAbsId()[ipos];
527 if(absId!=absIdMax && cells->GetCellAmplitude(absIdMax) > 0.01)
529 Float_t frac = cells->GetCellAmplitude(absId)/cells->GetCellAmplitude(absIdMax);
536 Double_t time = cells->GetCellTime(absId);
554 AliVCaloCells* cells,
562 for (
Int_t ipos = 0; ipos < clus->GetNCells(); ipos++)
564 Int_t id = clus->GetCellsAbsId()[ipos];
567 amp = cells->GetCellAmplitude(
id);
586 Int_t ncells = clus->GetNCells();
588 for (
Int_t ipos = 0; ipos < ncells; ipos++)
590 id = clus ->GetCellsAbsId()[ipos];
591 amp = cells->GetCellAmplitude(
id);
592 time = cells->GetCellTime(
id);
600 wTime += time*1e9 * w;
604 if(ncells > 0) aTime /= ncells;
607 if(wTot > 0) wTime /= wTot;
610 timeAverages[0] = aTime;
611 timeAverages[1] = wTime;
619 Int_t ncells = cells->GetNumberOfCells();
633 nCellsInModule[imod] = 0 ;
634 eCellsInModule[imod] = 0.;
637 Int_t icol = -1, icolAbs = -1;
638 Int_t irow = -1, irowAbs = -1;
647 for (
Int_t iCell = 0; iCell < cells->GetNumberOfCells(); iCell++)
649 if ( cells->GetCellNumber(iCell) < 0 )
continue;
651 AliDebug(2,Form(
"Cell : amp %f, absId %d", cells->GetAmplitude(iCell), cells->GetCellNumber(iCell)));
657 AliDebug(2,Form(
"\t module %d, column %d (%d), row %d (%d)", nModule,icolAbs,icol,irowAbs,irow));
659 if(nModule < fNModules)
666 if(
GetCaloUtils()->GetEMCALChannelStatus(nModule,icol,irow))
continue;
670 if(
GetCaloUtils()->GetPHOSChannelStatus(nModule,icol,irow) )
continue;
674 amp = cells->GetAmplitude(iCell)*recalF;
675 time = cells->GetTime(iCell);
676 id = cells->GetCellNumber(iCell);
677 highG = cells->GetCellHighGain(
id);
692 AliDebug(1,Form(
"Remove cell with Time %f",time));
698 GetCaloUtils()->GetEMCALRecoUtils()->IsExoticCell(
id, cells, bc))
continue;
728 nCellsInModule[nModule]++ ;
779 if ( cellphi < 0 ) cellphi+=TMath::TwoPi();
793 Float_t rcell = TMath::Sqrt(cellpos[0]*cellpos[0]+cellpos[1]*cellpos[1]);
801 Int_t relId[4], module;
809 Float_t rcell = TMath::Sqrt(xyz.X()*xyz.X()+xyz.Y()*xyz.Y());
829 AliDebug(1,Form(
"Module %d, calo %s, N cells %d, sum Amp %f", imod,
GetCalorimeterString().
Data(), nCellsInModule[imod], eCellsInModule[imod]));
840 for (
Int_t iCell = 0; iCell < cells->GetNumberOfCells(); iCell++)
842 if ( cells->GetCellNumber(iCell) < 0 )
continue;
844 AliDebug(2,Form(
"Cell : amp %f, absId %d", cells->GetAmplitude(iCell), cells->GetCellNumber(iCell)));
848 AliDebug(2,Form(
"\t module %d, column %d, row %d", nModule,icol,irow));
850 if(nModule < fNModules)
857 if(
GetCaloUtils()->GetEMCALChannelStatus(nModule, icol, irow))
continue;
861 if(
GetCaloUtils()->GetPHOSChannelStatus (nModule, icol, irow) )
continue;
865 amp = cells->GetAmplitude(iCell)*recalF;
866 time = cells->GetTime(iCell);
867 id = cells->GetCellNumber(iCell);
874 GetReader()->GetInputEvent()->GetBunchCrossNumber());
882 AliDebug(1,Form(
"Remove cell with Time %f",time));
888 GetCaloUtils()->GetEMCALRecoUtils()->IsExoticCell(
id, cells, bc))
continue;
900 if(eCellsInModule[nModule] > 0)
902 Float_t ratioMod = amp/eCellsInModule[nModule];
911 delete [] nCellsInModule;
912 delete [] eCellsInModule;
920 Int_t nCaloCellsPerCluster = clus->GetNCells();
922 UShort_t * indexList = clus->GetCellsAbsId();
925 clus->GetPosition(pos);
930 for (
Int_t ipos = 0; ipos < nCaloCellsPerCluster; ipos++)
933 Int_t absId = indexList[ipos];
950 Float_t r = TMath::Sqrt(pos[0] *pos[0] + pos[1] * pos[1] );
951 Float_t rcell = TMath::Sqrt(cellpos[0]*cellpos[0] + cellpos[1]* cellpos[1]);
959 Int_t relId[4], module;
975 Float_t r = TMath::Sqrt(pos[0] * pos[0] + pos[1] * pos[1] );
976 Float_t rcell = TMath::Sqrt(xyz.X() * xyz.X() + xyz.Y() * xyz.Y());
1000 if ( matched )
return;
1003 if ( clus->GetDistanceToBadChannel() < 5 )
return ;
1006 Int_t etaRegion = -1, phiRegion = -1;
1009 if ( etaRegion !=0 ) return ;
1016 Int_t ncells = clus->GetNCells();
1018 Int_t absIdCorr[] = {-1,-1,-1,-1};
1025 Int_t nCellWithWeight = 1;
1029 Int_t absId2ndMax = -1;
1033 for (
Int_t ipos = 0; ipos < ncells; ipos++)
1035 Int_t absId = clus->GetCellsAbsId()[ipos];
1037 Float_t eCell = cells->GetCellAmplitude(absId);
1041 if( absId == absIdMax || weight < 0.01 )
continue;
1048 absId2ndMax = absId;
1051 for(
Int_t id = 0;
id < 4;
id++)
1053 if ( absId == absIdCorr[
id] )
1056 Int_t diff = TMath::Abs(absId-absIdMax);
1057 if ( diff == 1 ) near = kTRUE;
1058 else if( diff >= 8 ) far = kTRUE;
1064 Float_t ratioNcells = nCellWithWeight/(ncells*1.);
1074 if ( nCorr == 0 ) index = 0;
1077 if ( near && !far ) index = 1;
1078 else if (!near && far ) index = 2;
1079 else if ( near && far ) index = 3;
1087 if(nCellWithWeight > 3)
1094 else printf(
"Max cell correl cells not found\n");
1099 Int_t absIdCorrSecondary [] = {-1,-1,-1,-1};
1101 for (
Int_t ipos = 0; ipos < ncells; ipos++)
1103 Int_t absId = clus->GetCellsAbsId()[ipos];
1108 if( absId == absIdCorr[0] || absId == absIdCorr[1] ||
1109 absId == absIdCorr[2] || absId == absIdCorr[3] || weight < 0.01 )
continue;
1113 if(!correlOK)
continue;
1115 for (
Int_t ipos2 = ipos+1; ipos2 < ncells; ipos2++)
1117 Int_t absId2 = clus->GetCellsAbsId()[ipos2];
1122 if( absId2 == absIdCorr[0] || absId2 == absIdCorr[1] || absId2 == absId ||
1123 absId2 == absIdCorr[2] || absId2 == absIdCorr[3] || weight < 0.01 )
continue;
1125 for(
Int_t id = 0;
id < 4;
id++)
1127 if ( absId2 == absIdCorrSecondary[
id] )
1134 if ( counter == 1 ) distCase = 1;
1135 else if ( counter >= 2 ) distCase = 2;
1137 if ( nCorr > 0 ) distCase+=3;
1141 if(nCellWithWeight > 3)
1153 for(
Int_t id = 0;
id < 4;
id++)
1155 if ( absIdMax == absIdCorr[
id]) idMax = id;
1156 else if( absId2ndMax == absIdCorr[
id]) idMax2 = id;
1161 printf(
"something wrong, absId max not found in correlated");
1165 if(idMax == 0 || idMax == 3) pairCol = kTRUE;
1189 if(nCellWithWeight > 3)
1231 if ( clus->GetDistanceToBadChannel() < 5 )
return ;
1234 Int_t etaRegion = -1, phiRegion = -1;
1237 if ( etaRegion !=0 ) return ;
1242 Int_t ncells = clus->GetNCells();
1247 Int_t nCellWithWeight = 1;
1255 Float_t eCellMax = cells->GetCellAmplitude(absIdMax);
1256 Double_t tCellMax = cells->GetCellTime(absIdMax);
1266 Int_t icol = -1, irow = -1, iRCU = -1, icolAbs = -1, irowAbs = -1;
1282 Float_t eCellSameRowSameTCardNearCol = 0.;
1283 Float_t eCellSameRowDiffTCardNearCol = 0.;
1284 Double_t tCellSameRowSameTCardNearCol = 0.;
1285 Double_t tCellSameRowDiffTCardNearCol = 0.;
1292 for (
Int_t ipos = 0; ipos < ncells; ipos++)
1294 Int_t absId = clus->GetCellsAbsId()[ipos];
1296 Float_t eCell = cells->GetCellAmplitude(absId);
1297 Double_t tCell = cells->GetCellTime(absId);
1307 if( absId == absIdMax || weight < 0.01 )
continue;
1309 if(eCellMax < eCell) printf(
"Check!!! E max %f (id %d), E sec %f (id %d)\n",eCellMax,absIdMax, eCell,absId);
1313 Int_t rowDiff = -100, colDiff = -100;
1318 Int_t indexType = -1;
1323 if(TMath::Abs(rowDiff) == 1) nearRow = kTRUE;
1324 if(TMath::Abs(colDiff) == 1) nearCol = kTRUE;
1326 if ( rowDiff == 0 && colDiff != 0 )
1328 if ( nearCol ) indexType = 6;
1334 else if ( rowDiff != 0 && colDiff == 0 )
1336 if ( nearRow ) indexType = 8;
1344 if ( nearRow && nearCol) indexType = 10;
1345 else indexType = 11;
1355 if ( rowDiff == 0 && colDiff != 0 )
1357 if ( nearCol ) indexType = 0;
1361 else if ( rowDiff != 0 && colDiff == 0 )
1363 if ( nearRow ) indexType = 2;
1368 if ( nearCol && nearRow ) indexType = 4;
1373 if ( rowDiff == 0 && TMath::Abs(colDiff) == 1 )
1377 eCellSameRowSameTCardNearCol = eCell;
1378 tCellSameRowSameTCardNearCol = tCell;
1382 eCellSameRowDiffTCardNearCol = eCell;
1383 tCellSameRowDiffTCardNearCol = tCell;
1389 Float_t eCellDiff = eCellMax - eCell;
1390 Float_t eClusDiff = energy - eCell;
1391 Float_t eCellRat = eCell / eCellMax;
1393 Float_t tCellDiff = tCellMax - tCell;
1401 if(exoticity > 0.97)
1432 if ( sameTCard )
continue;
1434 for (
Int_t ipos2 = 0; ipos2 < ncells; ipos2++)
1436 Int_t absId2 = clus->GetCellsAbsId()[ipos2];
1438 eCell = cells->GetCellAmplitude(absId2);
1442 if( absId2 == absIdMax || absId2 == absId || weight < 0.01 )
continue;
1444 rowDiff = -100, colDiff = -100;
1450 if ( rowDiff == 0 && colDiff != 0 ) sameRow2++;
1451 else if ( rowDiff != 0 && colDiff == 0 ) sameCol2++;
1458 Float_t ratioNcells = nCellWithWeight/(ncells*1.);
1463 if ( nCellWithWeight <= 1 )
return;
1471 if(energy >= 2 && energy < 8)
1473 else if(energy >= 8)
1484 if(eCellSameRowSameTCardNearCol > 0 && eCellSameRowDiffTCardNearCol > 0)
1486 Float_t eDiff = eCellSameRowSameTCardNearCol - eCellSameRowDiffTCardNearCol ;
1487 Float_t tDiff = tCellSameRowSameTCardNearCol - tCellSameRowDiffTCardNearCol ;
1494 if(exoticity > 0.97)
1504 Int_t nCorrInd = nCorr;
1505 if(nCorr > 4) nCorrInd = 5;
1507 Int_t nCorrNoInd = nCorrNo;
1508 if(nCorrNoInd > 4) nCorrNoInd = 5;
1513 if ( energy >= 2 && energy < 8 )
1523 if ( energy >= 2 && energy < 8)
1525 else if ( energy >= 8 )
1533 if ( energy >= 2 && energy < 8 )
1535 else if ( energy >= 8 )
1540 if ( exoticity > 0.97 )
1561 Int_t indexExo = -1;
1562 if (!nearRow && nearCol ) indexExo = 0;
1563 else if (!nearRow && !nearCol ) indexExo = 1;
1564 else if ( nearRow && nearCol ) indexExo = 2;
1565 else if ( nearRow && !nearCol ) indexExo = 3;
1601 if(exoticity > 0.97 )
1606 Float_t deta = clus->GetTrackDz();
1607 Float_t dphi = clus->GetTrackDx();
1618 if(exoticity > 0.97 )
1624 if (!sameRow && sameCol && !other ) index = 0;
1625 else if (!sameRow && !sameCol && other ) index = 1;
1626 else if (!sameRow && sameCol && other ) index = 2;
1627 else if ( sameRow && sameCol && !other ) index = 3;
1628 else if ( sameRow && !sameCol && other ) index = 4;
1629 else if ( sameRow && sameCol && other ) index = 5;
1630 else if ( sameRow && !sameCol && !other ) index = 6;
1631 else printf(
"case not considered!!!: sameRow %d, sameCol %d, other %d, nearRow %d\n",sameRow,sameCol,other,nearRow);
1672 Int_t indexOtherTCard = -1;
1673 if ( nCorr == 0 && nCorr2 == 0 ) indexOtherTCard = 6;
1674 else if ( nCorr == 0 && nCorr2 > 0 )
1676 if ( sameRow2 && !sameCol2 && !other2) indexOtherTCard = 0;
1677 else if ( !sameRow2 && sameCol2 && !other2) indexOtherTCard = 1;
1678 else indexOtherTCard = 2;
1680 else if ( nCorr > 0 && nCorr2 > 0 )
1682 if ( sameRow2 && !sameCol2 && !other2) indexOtherTCard = 3;
1683 else if ( !sameRow2 && sameCol2 && !other2) indexOtherTCard = 4;
1684 else indexOtherTCard = 5;
1687 if ( indexOtherTCard >= 0 )
1692 if ( energy >= 2 && energy < 8 )
1694 else if ( energy >= 8 )
1707 if( clus->GetNCells() <= 3 )
return;
1715 for (
Int_t ipos = 0; ipos < clus->GetNCells(); ipos++)
1717 Int_t absId = clus->GetCellsAbsId()[ipos];
1722 if(dIphi < TMath::Abs(iphi-iphiMax)) dIphi = TMath::Abs(iphi-iphiMax);
1726 if(dIeta < TMath::Abs(ieta-ietaMax)) dIeta = TMath::Abs(ieta-ietaMax);
1730 Int_t ietaShift = ieta;
1731 Int_t ietaMaxShift = ietaMax;
1732 if (ieta > ietaMax) ietaMaxShift+=48;
1733 else ietaShift +=48;
1734 if(dIeta < TMath::Abs(ietaShift-ietaMaxShift)) dIeta = TMath::Abs(ietaShift-ietaMaxShift);
1738 Float_t dIA = 1.*(dIphi-dIeta)/(dIeta+dIphi);
1759 Int_t nLabel = clus->GetNLabels();
1760 Int_t* labels = clus->GetLabels();
1809 Double_t tof = clus->GetTOF()*1.e9;
1830 Int_t nCaloCellsPerCluster = clus->GetNCells();
1833 for(
Int_t iclus2 = 0; iclus2 < caloClusters->GetEntriesFast(); iclus2++ )
1835 AliVCluster* clus2 = (AliVCluster*) caloClusters->At(iclus2);
1837 if( clus->GetID() == clus2->GetID() )
continue;
1839 if( clus->GetM02() > 0.01 && clus2->GetM02() > 0.01 )
1843 Double_t tof2 = clus2->GetTOF()*1.e9;
1848 if ( nModule2 == nModule )
1853 if(nCaloCellsPerCluster > 1)
1867 for (
Int_t ipos = 0; ipos < nCaloCellsPerCluster; ipos++)
1869 Int_t absId = clus->GetCellsAbsId()[ipos];
1870 if( absId == absIdMax || cells->GetCellAmplitude(absIdMax) < 0.01 )
continue;
1872 Float_t frac = cells->GetCellAmplitude(absId)/cells->GetCellAmplitude(absIdMax);
1884 Double_t time = cells->GetCellTime(absId);
1904 AliDebug(1,Form(
"cluster: E %2.3f, pT %2.3f, eta %2.3f, phi %2.3f",e,pt,eta,phi*TMath::RadToDeg()));
1919 Int_t icol = -1, irow = -1, iRCU = -1, icolAbs = -1, irowAbs = -1;
1948 clus->GetPosition(pos);
1960 Float_t rxyz = TMath::Sqrt(pos[0]*pos[0]+pos[1]*pos[1]);
1983 AliVCaloCells* cells)
1986 Int_t *labels = 0x0;
1987 Int_t nCaloClusters = caloClusters->GetEntriesFast() ;
1988 Int_t nCaloClustersAccepted = 0 ;
1989 Int_t nCaloCellsPerCluster = 0 ;
2001 nClustersInModule[imod] = 0;
2002 energyInModule [imod] = 0;
2008 for(
Int_t iclus = 0; iclus < nCaloClusters; iclus++)
2010 AliDebug(1,Form(
"Cluster: %d/%d, data %d",iclus+1,nCaloClusters,
GetReader()->GetDataType()));
2012 AliVCluster* clus = (AliVCluster*) caloClusters->At(iclus);
2019 Double_t tof = clus->GetTOF()*1.e9;
2024 AliDebug(1,Form(
"Remove cluster with TOF %f",tof));
2037 nLabel = clus->GetNLabels();
2038 labels = clus->GetLabels();
2044 nCaloCellsPerCluster = clus->GetNCells();
2050 Double_t tmax = cells->GetCellTime(absIdMax);
2063 if(nModule >=0 && nModule < fNModules)
2072 Float_t ampMax = cells->GetCellAmplitude(absIdMax);
2078 Bool_t goodCluster =
IsGoodCluster(absIdMax, clus->GetM02(), nCaloCellsPerCluster, cells);
2081 if(ampMax > 0.01) eCrossFrac = 1-
GetECross(absIdMax,cells)/ampMax;
2083 AliDebug(1,Form(
"Accept cluster? %d",goodCluster));
2096 maxCellFraction, eCrossFrac, tmax);
2098 nCaloClustersAccepted++;
2108 nClustersInModule[nModule]++;
2110 energyInModule [nModule] += clus->E();
2120 Int_t mcOK = kFALSE;
2122 if(
IsDataMC() && nLabel > 0 && labels)
2134 && nCaloClusters > 1
2135 && nCaloCellsPerCluster > 1
2136 &&
GetCaloUtils()->GetNumberOfLocalMaxima(clus,cells) == 1
2152 AliDebug(1,Form(
"Module %d calo %s clusters %d, sum E %f", imod,
GetCalorimeterString().
Data(), nClustersInModule[imod], energyInModule[imod]));
2160 delete [] nClustersInModule;
2161 delete [] energyInModule;
2171 if(!labels || nLabels<=0)
2173 AliWarning(Form(
"Strange, labels array %p, n labels %d", labels,nLabels));
2177 AliDebug(1,Form(
"Primaries: nlabels %d",nLabels));
2182 if(phi < 0) phi +=TMath::TwoPi();
2184 AliAODMCParticle * aodprimary = 0x0;
2185 TParticle * primary = 0x0;
2188 Int_t label = labels[0];
2192 AliDebug(1,Form(
" *** bad label ***: label %d", label));
2211 AliDebug(1,Form(
"*** large label ***: label %d, n tracks %d", label,
GetMCStack()->GetNtrack()));
2217 pdg0 = TMath::Abs(primary->GetPdgCode());
2219 status = primary->GetStatusCode();
2220 vxMC = primary->Vx();
2221 vyMC = primary->Vy();
2222 iParent = primary->GetFirstMother();
2224 AliDebug(1,
"Cluster most contributing mother:");
2225 AliDebug(1,Form(
"\t Mother label %d, pdg %d, %s, status %d, parent %d",iMother, pdg0, primary->GetName(),status, iParent));
2233 pdg = TMath::Abs(primary->GetPdgCode());
2235 AliDebug(2,
"Converted cluster!. Find before conversion:");
2237 while((pdg == 22 || pdg == 11) && status != 1)
2239 Int_t iMotherOrg = iMother;
2242 status = primary->GetStatusCode();
2243 pdg = TMath::Abs(primary->GetPdgCode());
2244 iParent = primary->GetFirstMother();
2248 if(pdg==111 || pdg==221)
2250 primary =
GetMCStack()->Particle(iMotherOrg);
2260 AliDebug(2,Form(
"\t pdg %d, index %d, %s, status %d",pdg, iMother, primary->GetName(),status));
2263 AliDebug(1,
"Converted Cluster mother before conversion:");
2264 AliDebug(1,Form(
"\t Mother label %d, pdg %d, %s, status %d, parent %d",iMother, pdg, primary->GetName(), status, iParent));
2272 AliDebug(2,
"Overlapped Meson decay!, Find it:");
2274 while(pdg != 111 && pdg != 221)
2279 status = primary->GetStatusCode();
2280 pdg = TMath::Abs(primary->GetPdgCode());
2281 iParent = primary->GetFirstMother();
2283 if( iParent < 0 )
break;
2285 AliDebug(2,Form(
"\t pdg %d, %s, index %d",pdg, primary->GetName(),iMother));
2289 AliWarning(
"Tagged as Overlapped photon but meson not found, why?");
2294 AliDebug(2,Form(
"Overlapped %s decay, label %d",primary->GetName(),iMother));
2297 eMC = primary->Energy();
2299 phiMC = primary->Phi();
2300 etaMC = primary->Eta();
2301 pdg = TMath::Abs(primary->GetPdgCode());
2302 charge = (
Int_t) TDatabasePDG::Instance()->GetParticle(pdg)->Charge();
2305 else if(
GetReader()->ReadAODMCParticles() &&
2311 AliFatal(
"MCParticles not available!");
2315 pdg0 = TMath::Abs(aodprimary->GetPdgCode());
2317 status = aodprimary->IsPrimary();
2318 vxMC = aodprimary->Xv();
2319 vyMC = aodprimary->Yv();
2320 iParent = aodprimary->GetMother();
2322 AliDebug(1,
"Cluster most contributing mother:");
2323 AliDebug(1,Form(
"\t Mother label %d, pdg %d, Primary? %d, Physical Primary? %d, parent %d",
2324 iMother, pdg0, aodprimary->IsPrimary(), aodprimary->IsPhysicalPrimary(), iParent));
2329 AliDebug(2,
"Converted cluster!. Find before conversion:");
2333 pdg = TMath::Abs(aodprimary->GetPdgCode());
2335 while ((pdg == 22 || pdg == 11) && !aodprimary->IsPhysicalPrimary())
2337 Int_t iMotherOrg = iMother;
2340 status = aodprimary->IsPrimary();
2341 iParent = aodprimary->GetMother();
2342 pdg = TMath::Abs(aodprimary->GetPdgCode());
2346 if( pdg == 111 || pdg == 221 )
2358 AliDebug(2,Form(
"\t pdg %d, index %d, Primary? %d, Physical Primary? %d",
2359 pdg, iMother, aodprimary->IsPrimary(), aodprimary->IsPhysicalPrimary()));
2362 AliDebug(1,
"Converted Cluster mother before conversion:");
2363 AliDebug(1,Form(
"\t Mother label %d, pdg %d, parent %d, Primary? %d, Physical Primary? %d",
2364 iMother, pdg, iParent, aodprimary->IsPrimary(), aodprimary->IsPhysicalPrimary()));
2372 AliDebug(2,Form(
"Overlapped Meson decay!, Find it: PDG %d, mom %d",pdg, iMother));
2374 while(pdg != 111 && pdg != 221)
2378 status = aodprimary->IsPrimary();
2379 iParent = aodprimary->GetMother();
2380 pdg = TMath::Abs(aodprimary->GetPdgCode());
2382 if( iParent < 0 )
break;
2384 AliDebug(2,Form(
"\t pdg %d, index %d",pdg, iMother));
2388 AliWarning(
"Tagged as Overlapped photon but meson not found, why?");
2393 AliDebug(2,Form(
"Overlapped %s decay, label %d",aodprimary->GetName(),iMother));
2396 status = aodprimary->IsPrimary();
2397 eMC = aodprimary->E();
2399 phiMC = aodprimary->Phi();
2400 etaMC = aodprimary->Eta();
2401 pdg = TMath::Abs(aodprimary->GetPdgCode());
2402 charge = aodprimary->Charge();
2406 Float_t rVMC = TMath::Sqrt(vxMC*vxMC + vyMC*vyMC);
2407 if( ( pdg == 22 || TMath::Abs(pdg) == 11 ) && status != 1 )
2440 else if(charge == 0)
2455 if( mcIndex >= 0 && mcIndex < 7 && e > 0.5 && eMC > 0.5)
2466 if( primary || aodprimary )
return kTRUE ;
2482 if(phi < 0) phi +=TMath::TwoPi();
2500 Double_t dedx = track->GetTPCsignal();
2501 Int_t nITS = track->GetNcls(0);
2502 Int_t nTPC = track->GetNcls(1);
2503 Bool_t positive = kFALSE;
2504 if(track) positive = (track->Charge()>0);
2507 Float_t deta = clus->GetTrackDz();
2508 Float_t dphi = clus->GetTrackDx();
2509 Double_t dR = TMath::Sqrt(dphi*dphi + deta*deta);
2512 if( TMath::Abs(dphi) < 999 )
2549 if(dedx > 60 && dedx < 100)
2559 if(e > 0.5 && tmom > 0.5)
2565 if(dR < 0.02 && eOverP > 0.6 && eOverP < 1.2
2566 && clus->GetNCells() > 1 && nITS > 3 && nTPC > 20)
2574 Double_t charge = TDatabasePDG::Instance()->GetParticle(pdg)->Charge();
2576 if(TMath::Abs(pdg) == 11)
2600 else if(charge == 0)
2625 if(!caloClustersEMCAL || !caloClustersPHOS)
2627 AliDebug(1,Form(
"PHOS (%p) or EMCAL (%p) clusters array not available, do not correlate",caloClustersPHOS,caloClustersEMCAL));
2635 if(!cellsEMCAL || !cellsPHOS)
2637 AliDebug(1,Form(
"PHOS (%p) or EMCAL (%p) cells array ot available, do not correlate",cellsPHOS,cellsEMCAL));
2646 Float_t sumClusterEnergyEMCAL = 0;
2647 Float_t sumClusterEnergyDCAL = 0;
2648 Float_t sumClusterEnergyPHOS = 0;
2652 AliVCluster* cluster = 0;
2653 for(iclus = 0 ; iclus < caloClustersEMCAL->GetEntriesFast() ; iclus++)
2655 cluster = (AliVCluster*)caloClustersEMCAL->At(iclus);
2656 Float_t energy = cluster->E();
2658 if( energy < 0.5 )
continue;
2660 if(cluster->GetCellsAbsId()[0] < 12288)
2663 sumClusterEnergyEMCAL +=
energy;
2668 sumClusterEnergyDCAL +=
energy;
2672 for(iclus = 0 ; iclus < caloClustersPHOS ->GetEntriesFast(); iclus++)
2674 cluster = (AliVCluster*) caloClustersPHOS->At(iclus);
2676 energy = cluster->E();
2678 if( energy < 0.5 )
continue;
2681 sumClusterEnergyPHOS +=
energy;
2685 Int_t ncellsEMCAL = 0 ;
2686 Int_t ncellsDCAL = 0 ;
2687 Int_t ncellsPHOS = 0;
2689 Float_t sumCellEnergyEMCAL = 0;
2690 Float_t sumCellEnergyDCAL = 0;
2691 Float_t sumCellEnergyPHOS = 0;
2693 for(icell = 0 ; icell < cellsEMCAL->GetNumberOfCells() ; icell++)
2695 Float_t amp = cellsEMCAL->GetAmplitude(icell);
2696 Int_t cellId = cellsEMCAL->GetCellNumber(icell);
2703 sumCellEnergyEMCAL += amp;
2708 sumCellEnergyDCAL += amp;
2712 for(icell = 0 ; icell < cellsPHOS->GetNumberOfCells(); icell++)
2714 Float_t amp = cellsPHOS->GetAmplitude(icell);
2715 Int_t cellId = cellsPHOS->GetCellNumber(icell);
2717 if ( cellId < 0 ) continue ;
2722 sumCellEnergyPHOS += amp;
2748 Int_t ncl = nclPHOS;
2749 Float_t sumClusterEnergy = sumClusterEnergyPHOS;
2750 Int_t ncells = ncellsPHOS;
2751 Float_t sumCellEnergy = sumCellEnergyPHOS;
2755 ncl = nclEMCAL + nclDCAL;
2756 sumClusterEnergy = sumClusterEnergyEMCAL + sumClusterEnergyDCAL;
2757 ncells = ncellsEMCAL + ncellsDCAL;
2758 sumCellEnergy = sumCellEnergyEMCAL + sumCellEnergyDCAL;
2786 AliDebug(1,
"Correlate():");
2787 AliDebug(1,Form(
"\t EMCAL: N cells %d, N clusters %d, summed E cells %f, summed E clusters %f",
2788 ncellsEMCAL,nclEMCAL, sumCellEnergyEMCAL,sumClusterEnergyEMCAL));
2789 AliDebug(1,Form(
"\t DCAL : N cells %d, N clusters %d, summed E cells %f, summed E clusters %f",
2790 ncellsDCAL,nclDCAL, sumCellEnergyDCAL,sumClusterEnergyDCAL));
2791 AliDebug(1,Form(
"\t PHOS : N cells %d, N clusters %d, summed E cells %f, summed E clusters %f",
2792 ncellsPHOS,nclPHOS,sumCellEnergyPHOS,sumClusterEnergyPHOS));
2793 AliDebug(1,Form(
"\t V0 : Signal %d, Multiplicity %d, Track Multiplicity %d", v0S,v0M,trM));
2794 AliDebug(1,Form(
"\t centrality : %f, Event plane angle %f", cen,ep));
2803 const Int_t buffersize = 255;
2804 char onePar[buffersize] ;
2806 snprintf(onePar,buffersize,
"--- AliAnaCalorimeterQA ---:") ;
2833 return new TObjString(parList) ;
2840 AliVCluster *clus, AliVCaloCells* cells)
2844 AliDebug(1,Form(
"Low amplitude energy %f",ampMax));
2851 Int_t nc = clus->GetNCells();
2884 for (
Int_t icell = 0; icell < clus->GetNCells(); icell++)
2886 Int_t absId = clus->GetCellsAbsId()[icell];
2887 Double_t time = cells->GetCellTime(absId);
2913 outputContainer->SetName(
"QAHistos") ;
2972 fhE =
new TH1F (
"hE",
"#it{E} reconstructed clusters ", nptbins*5,ptmin,ptmax*5);
2973 fhE->SetXTitle(
"#it{E} (GeV)");
2974 outputContainer->Add(
fhE);
2976 fhPt =
new TH1F (
"hPt",
"#it{p}_{T} reconstructed clusters", nptbins,ptmin,ptmax);
2977 fhPt->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
2978 outputContainer->Add(
fhPt);
2980 fhPhi =
new TH1F (
"hPhi",
"#varphi reconstructed clusters ",nphibins,phimin,phimax);
2981 fhPhi->SetXTitle(
"#varphi (rad)");
2982 outputContainer->Add(
fhPhi);
2984 fhEta =
new TH1F (
"hEta",
"#eta reconstructed clusters ",netabins,etamin,etamax);
2985 fhEta->SetXTitle(
"#eta ");
2986 outputContainer->Add(
fhEta);
2992 fhEtaPhiE =
new TH3F (
"hEtaPhiE",
"#eta vs #varphi vs energy, reconstructed clusters",
2993 netabins,etamin,etamax,nphibins,phimin,phimax,nptbins,ptmin,ptmax);
3001 fhEtaPhi =
new TH2F (
"hEtaPhi",
"#eta vs #varphi for #it{E} > 0.5 GeV, reconstructed clusters",
3002 netabins,etamin,etamax,nphibins,phimin,phimax);
3004 fhEtaPhi->SetYTitle(
"#varphi (rad)");
3010 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
3016 nptbins,ptmin,ptmax, tdbins,tdmin,tdmax);
3022 nptbins,ptmin,ptmax, tdbins,tdmin,tdmax);
3033 fhLambda0 =
new TH2F (
"hLambda0",
"shower shape, #lambda^{2}_{0} vs E",
3034 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3035 fhLambda0->SetXTitle(
"#it{E}_{cluster} (GeV)");
3036 fhLambda0->SetYTitle(
"#lambda^{2}_{0}");
3039 fhLambda1 =
new TH2F (
"hLambda1",
"shower shape, #lambda^{2}_{1} vs E",
3040 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3041 fhLambda1->SetXTitle(
"#it{E}_{cluster} (GeV)");
3042 fhLambda1->SetYTitle(
"#lambda^{2}_{1}");
3048 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3054 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3059 fhLambda0Max2FECPair =
new TH2F (
"hLambda0Max2FECPair",
"#lambda^{2}_{0} vs E, FEC pair eta column, 2 highest cells corr.",
3060 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3065 fhLambda1Max2FECPair =
new TH2F (
"hLambda1Max2FECPair",
"#lambda^{2}_{1} vs E, FEC pair eta column, 2 highest cells corr.",
3066 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3072 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3078 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3083 fhLambda0Max2FECOdd =
new TH2F (
"hLambda0Max2FECOdd",
"#lambda^{2}_{0} vs E, FEC odd eta column, 2 highest cells corr.",
3084 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3089 fhLambda1Max2FECOdd =
new TH2F (
"hLambda1Max2FECOdd",
"#lambda^{2}_{1} vs E, FEC odd eta column, 2 highest cells corr.",
3090 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3096 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3102 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3108 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3114 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3120 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3126 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3132 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3138 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3145 {
"No correlation with main cell",
"Main cell corr. with near cell",
3146 "Main cell corr. with far cell",
"Main cell corr. with near and far"};
3149 {
"No main cell corr., no other inside cluster" ,
"No main cell corr., 1 cell correl in cluster" ,
"No main cell corr., >=2 cell correl in cluster",
3150 "Main cell corr. & no other inside cluster" ,
"Main cell corr. & 1 cell corr. inside cluster",
"Main cell corr. & >=2 cell corr. inside cluster"};
3153 netabins,etamin,etamax,nphibins,phimin,phimax);
3158 for(
Int_t i = 0; i < 4; i++)
3161 (Form(
"hLambda0MaxFECCorrel_Case%d",i),
3162 Form(
"#lambda^{2}_{0} vs E, Max FEC correl %s",titleMaxFEC[i].
Data()),
3163 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3169 (Form(
"hLambda1MaxFECCorrel_Case%d",i),
3170 Form(
"#lambda^{2}_{1} vs E for bad cluster, Max FEC correl %s",titleMaxFEC[i].
Data()),
3171 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3177 (Form(
"hLambda0MaxFECCorrel_Case%d_LargeNCells",i),
3178 Form(
"#lambda^{2}_{0} vs E, Max FEC correl %s, ncells>5",titleMaxFEC[i].
Data()),
3179 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3185 (Form(
"hLambda1MaxFECCorrel_Case%d_LargeNCells",i),
3186 Form(
"#lambda^{2}_{1} vs E for bad cluster, Max FEC correl %s, ncells>5",titleMaxFEC[i].
Data()),
3187 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3193 for(
Int_t i = 0; i < 6; i++)
3196 (Form(
"hLambda0FECCorrel_Case%d",i),
3197 Form(
"#lambda^{2}_{0} vs E, %s",titleFEC[i].
Data()),
3198 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3204 (Form(
"hLambda1FECCorrel_Case%d",i),
3205 Form(
"#lambda^{2}_{1} vs E for bad cluster, %s",titleFEC[i].
Data()),
3206 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3212 (Form(
"hLambda0FECCorrel_Case%d_LargeNCells",i),
3213 Form(
"#lambda^{2}_{0} vs E, %s, ncells>5",titleFEC[i].
Data()),
3214 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3220 (Form(
"hLambda1FECCorrel_Case%d_LargeNCells",i),
3221 Form(
"#lambda^{2}_{1} vs E for bad cluster, %s, ncells>5",titleFEC[i].
Data()),
3222 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3232 TString add[] = {
"",
"TrackMatched"};
3233 for(
Int_t tm = 0; tm < 2; tm++)
3236 (Form(
"hColRowTCardCorrNoSelectionLowE%s",add[tm].
Data()),
3237 Form(
"column vs row, max E cell for TCard correlation selected clusters, E > 2 GeV %s",add[tm].
Data()),
3238 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3244 (Form(
"hColRowTCardCorrNoSelectionHighE%s",add[tm].
Data()),
3245 Form(
"column vs row, max E cell for TCard correlation selected clusters, E > 8 GeV %s",add[tm].
Data()),
3246 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3252 (Form(
"hNCellsTCardCorrNoSelection%s",add[tm].
Data()),
3253 Form(
"# custer # cells vs #it{E} %s",add[tm].
Data()),
3254 nptbins,ptmin,ptmax, nceclbins,nceclmin,nceclmax);
3260 (Form(
"hNCellsTCardCorrWithWeightNoSelection%s",add[tm].
Data()),
3261 Form(
"custer # cells vs #it{E}, w > 0.01 %s",add[tm].
Data()),
3262 nptbins,ptmin,ptmax, nceclbins,nceclmin,nceclmax);
3268 (Form(
"hNCellsTCardCorrRatioWithWeightNoSelection%s",add[tm].
Data()),
3269 Form(
"custer # cells vs #it{E}, w > 0.01 %s",add[tm].
Data()),
3270 nptbins,ptmin,ptmax, 100,0,1);
3276 (Form(
"hLambda0TCardCorrNoSelection%s",add[tm].
Data()),
3277 Form(
"#lambda^{2}_{0} vs #it{E} %s",add[tm].
Data()),
3278 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3284 (Form(
"hLambda1TCardCorrNoSelection%s",add[tm].
Data()),
3285 Form(
"#lambda^{2}_{1} vs #it{E} %s",add[tm].
Data()),
3286 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3292 (Form(
"hLambdaRTCardCorrNoSelection%s",add[tm].
Data()),
3293 Form(
"#lambda^{1}_{0}/#lambda^{2}_{0} vs #it{E} %s",add[tm].
Data()),
3294 nptbins,ptmin,ptmax,110,0,1.1);
3300 (Form(
"hExoticTCardCorrNoSelection%s",add[tm].
Data()),
3301 Form(
"exoticity vs #it{E} %s",add[tm].
Data()),
3302 nptbins,ptmin,ptmax,200,-1,1);
3308 (Form(
"fhNCellsTCardSameAndDiff%s",add[tm].
Data()),
3309 Form(
"#it{n}_{cells} same TCard vs diff TCard fraction, w > 0.01, %s",add[tm].
Data()),
3310 nptbins,ptmin,ptmax,100,0,1);
3316 (Form(
"fhNCellsTCardSameAndDiffFraction_Exotic%s",add[tm].
Data()),
3317 Form(
"#it{n}_{cells} same TCard vs diff TCard fraction, w > 0.01, exo > 0.97 %s",add[tm].
Data()),
3318 nptbins,ptmin,ptmax,100,0,1);
3325 (Form(
"hSameRowDiffColAndTCardCellsEnergyDiffClusterE%s",add[tm].
Data()),
3326 Form(
"#Delta row = 0, |#Delta col = 1|, with respect to leading cell, #it{E}_{cell}^{same TCard}-#it{E}_{cell}^{diff TCard} vs #it{E}_{cluster} %s",add[tm].
Data()),
3327 nptbins,ptmin,ptmax,200,-10,10);
3333 (Form(
"hSameRowDiffColAndTCardCellsTimeDiffClusterE%s",add[tm].
Data()),
3334 Form(
"#Delta row = 0, |#Delta col = 1|, with respect to leading cell, #it{t}_{cell}^{same TCard}-#it{t}_{cell}^{diff TCard} vs #it{E}_{cluster} %s",add[tm].
Data()),
3335 nptbins,ptmin,ptmax,200,-100,100);
3341 (Form(
"hSameRowDiffColAndTCardCellsEnergyDiffCellMaxE%s",add[tm].
Data()),
3342 Form(
"#Delta row = 0, |#Delta col = 1|, with respect to leading cell, #it{E}_{cell}^{same TCard}-#it{E}_{cell}^{diff TCard} vs #it{E}_{cell max} %s",add[tm].
Data()),
3343 nptbins,ptmin,ptmax,200,-10,10);
3349 (Form(
"hSameRowDiffColAndTCardCellsTimeDiffCellMaxE%s",add[tm].
Data()),
3350 Form(
"#Delta row = 0, |#Delta col = 1|, with respect to leading cell, #it{t}_{cell}^{same TCard}-#it{t}_{cell}^{diff TCard} vs #it{E}_{cell max} %s",add[tm].
Data()),
3351 nptbins,ptmin,ptmax,200,-100,100);
3357 (Form(
"hSameRowDiffColAndTCardCellsEnergyDiffClusterEExo%s",add[tm].
Data()),
3358 Form(
"#Delta row = 0, |#Delta col = 1|, with respect to leading cell, #it{E}_{cell}^{same TCard}-#it{E}_{cell}^{diff TCard} vs #it{E}_{cluster}, exo > 0.97 %s",add[tm].
Data()),
3359 nptbins,ptmin,ptmax,200,-10,10);
3365 (Form(
"hSameRowDiffColAndTCardCellsTimeDiffClusterEExo%s",add[tm].
Data()),
3366 Form(
"#Delta row = 0, |#Delta col = 1|, with respect to leading cell, #it{t}_{cell}^{same TCard}-#it{t}_{cell}^{diff TCard} vs #it{E}_{cluster}, exo > 0.97 %s",add[tm].
Data()),
3367 nptbins,ptmin,ptmax,200,-100,100);
3373 (Form(
"hSameRowDiffColAndTCardCellsEnergyDiffCellMaxEExo%s",add[tm].
Data()),
3374 Form(
"#Delta row = 0, |#Delta col = 1|, with respect to leading cell, #it{E}_{cell}^{same TCard}-#it{E}_{cell}^{diff TCard} vs #it{E}_{cell max}, exo > 0.97 %s",add[tm].
Data()),
3375 nptbins,ptmin,ptmax,200,-10,10);
3381 (Form(
"hSameRowDiffColAndTCardCellsTimeDiffCellMaxEExo%s",add[tm].
Data()),
3382 Form(
"#Delta row = 0, |#Delta col = 1|, with respect to leading cell, #it{t}_{cell}^{same TCard}-#it{t}_{cell}^{diff TCard} vs #it{E}_{cell max}, exo > 0.97 %s",add[tm].
Data()),
3383 nptbins,ptmin,ptmax,200,-100,100);
3388 for(
Int_t i = 0; i < 6; i++)
3390 for(
Int_t j = 0; j < 6; j++)
3393 (Form(
"hLambda0TCardCorrelNCell_Same%d_Diff%d%s",i,j,add[tm].
Data()),
3394 Form(
"#lambda^{2}_{0} vs #it{E}, N cells with w > 0.01, TCard same = %d, diff =%d %s",i,j,add[tm].
Data()),
3395 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3401 (Form(
"hLambda1TCardCorrelNCell_Same%d_Diff%d%s",i,j,add[tm].
Data()),
3402 Form(
"#lambda^{2}_{1} vs #it{E}, N cells with w > 0.01, TCard same = %d, diff =%d %s",i,j,add[tm].
Data()),
3403 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3409 (Form(
"hLambdaRTCardCorrelNCell_Same%d_Diff%d%s",i,j,add[tm].
Data()),
3410 Form(
"#lambda^{2}_{1}/#lambda^{2}_{0} vs #it{E}, N cells with w > 0.01, TCard same = %d, diff =%d %s",i,j,add[tm].
Data()),
3411 nptbins,ptmin,ptmax,110,0,1.1);
3417 (Form(
"hExoticTCardCorrelNCell_Same%d_Diff%d%s",i,j,add[tm].
Data()),
3418 Form(
"exoticity vs #it{E}, N cells with w > 0.01, TCard same = %d, diff =%d %s",i,j,add[tm].
Data()),
3419 nptbins,ptmin,ptmax,200,-1,1);
3425 (Form(
"hColRowTCardCorrelNCellLowE_Same%d_Diff%d%s",i,j,add[tm].
Data()),
3426 Form(
"column vs row, N cells with w > 0.01, TCard same = %d, diff =%d %s",i,j,add[tm].
Data()),
3427 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3433 (Form(
"hColRowTCardCorrelNCellHighE_Same%d_Diff%d%s",i,j,add[tm].
Data()),
3434 Form(
"column vs row,N cells with w > 0.01, TCard same = %d, diff =%d %s",i,j,add[tm].
Data()),
3435 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3445 (Form(
"hLambda0TCardCorrelN_Case%d%s",i,add[tm].
Data()),
3446 Form(
"#lambda^{2}_{0} vs #it{E}, max E cell correl with TCard cell, N corr = %d %s",i,add[tm].
Data()),
3447 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3453 (Form(
"hNCellsTCardCorrelN_Case%d%s",i,add[tm].
Data()),
3454 Form(
"custer # cells vs #it{E}, w > 0.01, max E cell correl with TCard cell, N corr = %d %s",i,add[tm].
Data()),
3455 nptbins,ptmin,ptmax, nceclbins,nceclmin,nceclmax);
3461 (Form(
"hExoticTCardCorrelN_Case%d%s",i,add[tm].
Data()),
3462 Form(
"exoticity vs #it{E}, max E cell correl with TCard cell, N corr = %d %s",i,add[tm].
Data()),
3463 nptbins,ptmin,ptmax,200,-1,1);
3469 (Form(
"hColRowTCardCorrelNLowE_Case%d%s",i,add[tm].
Data()),
3470 Form(
"column vs row, max E cell correl with TCard cell, E > 2 GeV, N corr = %d %s",i,add[tm].
Data()),
3471 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3477 (Form(
"hColRowTCardCorrelNHighE_Case%d%s",i,add[tm].
Data()),
3478 Form(
"column vs row, max E cell correl with TCard cell, E > 8 GeV, N corr = %d %s",i,add[tm].
Data()),
3479 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3488 (Form(
"hLambda0TCardCorrelN_Exotic_Case%d%s",i,add[tm].
Data()),
3489 Form(
"#lambda^{2}_{0} vs #it{E}, max E cell correl with TCard cell, exo > 0.97, N corr = %d %s",i,add[tm].
Data()),
3490 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3496 (Form(
"hNCellsTCardCorrelN_Exotic_Case%d%s",i,add[tm].
Data()),
3497 Form(
"custer # cells vs #it{E}, w > 0.01, max E cell correl with TCard cell, exo > 0.97, N corr = %d %s",i,add[tm].
Data()),
3498 nptbins,ptmin,ptmax, nceclbins,nceclmin,nceclmax);
3504 (Form(
"hColRowTCardCorrelNLowEExotic_Case%d%s",i,add[tm].
Data()),
3505 Form(
"column vs row, max E cell correl with TCard cell, exo > 0.97, E > 2 GeV, N corr = %d %s",i,add[tm].
Data()),
3506 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3512 (Form(
"hColRowTCardCorrelNHighEExotic_Case%d%s",i,add[tm].
Data()),
3513 Form(
"column vs row, max E cell correl with TCard cell, exo > 0.97, E > 8 GeV, N corr = %d %s",i,add[tm].
Data()),
3514 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3523 (Form(
"hLambda0TCardCorrelNAllSameTCard_Case%d%s",i,add[tm].
Data()),
3524 Form(
"#lambda^{2}_{0} vs #it{E}, max E cell correl with TCard cell, N corr = %d, no other TCard cells %s",i,add[tm].
Data()),
3525 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3531 (Form(
"hNCellsTCardCorrelNAllSameTCard_Case%d%s",i,add[tm].
Data()),
3532 Form(
"custer # cells vs #it{E}, w > 0.01, max E cell correl with TCard cell, N corr = %d, no other TCard cells %s",i,add[tm].
Data()),
3533 nptbins,ptmin,ptmax, nceclbins,nceclmin,nceclmax);
3539 (Form(
"hExoticTCardCorrelNAllSameTCard_Case%d%s",i,add[tm].
Data()),
3540 Form(
"exoticity vs #it{E}, max E cell correl with TCard cell, N corr = %d, no other TCard cells %s",i,add[tm].
Data()),
3541 nptbins,ptmin,ptmax,200,-1,1);
3547 (Form(
"hColRowTCardCorrelNAllSameTCardLowE_Case%d%s",i,add[tm].
Data()),
3548 Form(
"column vs row, max E cell correl with TCard cell, E > 2 GeV, N corr = %d, no other TCard cells %s",i,add[tm].
Data()),
3549 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3555 (Form(
"hColRowTCardCorrelNAllSameTCardHighE_Case%d%s",i,add[tm].
Data()),
3556 Form(
"column vs row, max E cell correl with TCard cell, E > 8 GeV, N corr = %d, no other TCard cells %s",i,add[tm].
Data()),
3557 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3565 (Form(
"hLambda0TCardCorrelNAllSameTCard_Exotic_Case%d%s",i,add[tm].
Data()),
3566 Form(
"#lambda^{2}_{0} vs #it{E}, max E cell correl with TCard cell, exo > 0.97, N corr = %d, no other TCard cells %s",i,add[tm].
Data()),
3567 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3573 (Form(
"hNCellsTCardCorrelNAllSameTCard_Exotic_Case%d%s",i,add[tm].
Data()),
3574 Form(
"custer # cells vs #it{E}, w > 0.01, max E cell correl with TCard cell, exo > 0.97, N corr = %d, no other TCard cells %s",i,add[tm].
Data()),
3575 nptbins,ptmin,ptmax, nceclbins,nceclmin,nceclmax);
3581 (Form(
"hColRowTCardCorrelNAllSameTCardLowEExotic_Case%d%s",i,add[tm].
Data()),
3582 Form(
"column vs row, max E cell correl with TCard cell, exo > 0.97, E > 2 GeV, N corr = %d, no other TCard cells %s",i,add[tm].
Data()),
3583 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3589 (Form(
"hColRowTCardCorrelNAllSameTCardHighEExotic_Case%d%s",i,add[tm].
Data()),
3590 Form(
"column vs row, max E cell correl with TCard cell, exo > 0.97, E > 8 GeV, N corr = %d, no other TCard cells %s",i,add[tm].
Data()),
3591 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3597 for(
Int_t i = 0; i < 7; i++)
3600 (Form(
"hLambda0TCardCorrel_Case%d%s",i,add[tm].
Data()),
3601 Form(
"#lambda^{2}_{0} vs #it{E}, max E cell correl with TCard cell, case %d %s",i,add[tm].
Data()),
3602 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3608 (Form(
"hNCellsTCardCorrel_Case%d%s",i,add[tm].
Data()),
3609 Form(
"custer # cells vs #it{E}, w > 0.01, max E cell correl with TCard cell, case %d %s",i,add[tm].
Data()),
3610 nptbins,ptmin,ptmax, nceclbins,nceclmin,nceclmax);
3616 (Form(
"hExoticTCardCorrel_Case%d%s",i,add[tm].
Data()),
3617 Form(
"exoticity vs #it{E}, max E cell correl with TCard cell, N corr = %d %s",i,add[tm].
Data()),
3618 nptbins,ptmin,ptmax,200,-1,1);
3624 for(
Int_t i = 0; i < 4; i++)
3627 (Form(
"hLambda0TCardCorrel_Exotic_Case%d%s",i,add[tm].
Data()),
3628 Form(
"#lambda^{2}_{0} vs #it{E}, max E cell correl with TCard cell, exo>0.97, case %d %s",i,add[tm].
Data()),
3629 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3635 (Form(
"hNCellsTCardCorrel_Exotic_Case%d%s",i,add[tm].
Data()),
3636 Form(
"custer # cells vs #it{E}, w > 0.01, max E cell correl with TCard cell, exot > 0.97,case %d %s",i,add[tm].
Data()),
3637 nptbins,ptmin,ptmax, nceclbins,nceclmin,nceclmax);
3646 (Form(
"hLambda0Exoticity_EBin%d%s",i,add[tm].
Data()),
3647 Form(
"#lambda^{2}_{0} vs #it{exoticity}, %2.2f<#it{E}<%2.2f GeV %s",
fEBinCuts[i],
fEBinCuts[i+1],add[tm].
Data()),
3648 200,-1,1,ssbins,ssmin,ssmax);
3654 (Form(
"hLambda1Exoticity_EBin%d%s",i,add[tm].
Data()),
3655 Form(
"#lambda^{2}_{1} vs #it{exoticity}, %2.2f<#it{E}<%2.2f GeV %s",
fEBinCuts[i],
fEBinCuts[i+1],add[tm].
Data()),
3656 200,-1,1,ssbins,ssmin,ssmax);
3662 (Form(
"hLambdaRExoticity_EBin%d%s",i,add[tm].
Data()),
3663 Form(
"#lambda^{2}_{1}/#lambda^{2}_{0} vs #it{exoticity}, %2.2f<#it{E}<%2.2f GeV %s",
fEBinCuts[i],
fEBinCuts[i+1],add[tm].
Data()),
3664 200,-1,1,110,0,1.1);
3670 (Form(
"hNCellsExoticity_EBin%d%s",i,add[tm].
Data()),
3671 Form(
"#it{n}_{cells} vs #it{exoticity}, %2.2f<#it{E}<%2.2f GeV %s",
fEBinCuts[i],
fEBinCuts[i+1],add[tm].
Data()),
3672 200,-1,1,nceclbins,nceclmin,nceclmax);
3673 fhNCellsExoticity[i][tm]->SetXTitle(
"#it{F}_{+}=1-#it{E}_{+}/#it{E}_{lead cell}");
3678 (Form(
"hLambda0Lambda1_EBin%d%s",i,add[tm].
Data()),
3679 Form(
"#lambda^{2}_{0} vs #lambda^{2}_{1}, %2.2f<#it{E}<%2.2f GeV %s",
fEBinCuts[i],
fEBinCuts[i+1],add[tm].
Data()),
3680 200,-1,1,ssbins,ssmin,ssmax);
3686 (Form(
"hLambda0ExoticityAllSameTCard_EBin%d%s",i,add[tm].
Data()),
3687 Form(
"#lambda^{2}_{0} vs #it{exoticity}, all cells same TCard as leading, %2.2f<#it{E}<%2.2f GeV %s",
fEBinCuts[i],
fEBinCuts[i+1],add[tm].
Data()),
3688 200,-1,1,ssbins,ssmin,ssmax);
3694 (Form(
"hLambda1ExoticityAllSameTCard_EBin%d%s",i,add[tm].
Data()),
3695 Form(
"#lambda^{2}_{1} vs #it{exoticity}, all cells same TCard as leading, %2.2f<#it{E}<%2.2f GeV %s",
fEBinCuts[i],
fEBinCuts[i+1],add[tm].
Data()),
3696 200,-1,1,ssbins,ssmin,ssmax);
3702 (Form(
"hLambdaRExoticityAllSameTCard_EBin%d%s",i,add[tm].
Data()),
3703 Form(
"#lambda^{2}_{1}/#lambda^{2}_{0} vs #it{exoticity}, all cells same TCard as leading, %2.2f<#it{E}<%2.2f GeV %s",
fEBinCuts[i],
fEBinCuts[i+1],add[tm].
Data()),
3704 200,-1,1,110,0,1.1);
3710 (Form(
"hNCellsExoticityAllSameTCard_EBin%d%s",i,add[tm].
Data()),
3711 Form(
"#it{n}_{cells} vs #it{exoticity}, all cells same TCard as leading, %2.2f<#it{E}<%2.2f GeV %s",
fEBinCuts[i],
fEBinCuts[i+1],add[tm].
Data()),
3712 200,-1,1,nceclbins,nceclmin,nceclmax);
3718 (Form(
"hLambda0Lambda1_EBin%d%s",i,add[tm].
Data()),
3719 Form(
"#lambda^{2}_{0} vs #lambda^{2}_{1}, , all cells same TCard as leading, %2.2f<#it{E}<%2.2f GeV %s",
fEBinCuts[i],
fEBinCuts[i+1],add[tm].
Data()),
3720 200,-1,1,ssbins,ssmin,ssmax);
3726 (Form(
"fhNCellsTCardSameAndDiff_EBin%d%s",i,add[tm].
Data()),
3727 Form(
"#it{n}_{cells} same TCard vs diff TCard, w > 0.01, %2.2f<#it{E}<%2.2f GeV %s",
fEBinCuts[i],
fEBinCuts[i+1],add[tm].
Data()),
3728 nceclbins,nceclmin,nceclmax,nceclbins,nceclmin,nceclmax);
3734 (Form(
"fhNCellsTCardSameAndDiff_Exotic_EBin%d%s",i,add[tm].
Data()),
3735 Form(
"#it{n}_{cells} same TCard vs diff TCard, w > 0.01, %2.2f<#it{E}<%2.2f GeV, exo > 0.97 %s",
fEBinCuts[i],
fEBinCuts[i+1],add[tm].
Data()),
3736 nceclbins,nceclmin,nceclmax,nceclbins,nceclmin,nceclmax);
3742 for(
Int_t j = 0; j < 6; j++)
3744 for(
Int_t k = 0; k < 6; k++)
3747 (Form(
"hLambda0Exoticity_NCell_Same%d_Diff%d%s",j,k,add[tm].
Data()),
3748 Form(
"#lambda^{2}_{0} vs #it{exoticity}, #it{n}_{cell} TCard same = %d, diff =%d, #it{E}>8 GeV %s",j,k,add[tm].
Data()),
3749 200,-1,1,ssbins,ssmin,ssmax);
3755 (Form(
"hLambda1Exoticity_NCell_Same%d_Diff%d%s",j,k,add[tm].
Data()),
3756 Form(
"#lambda^{2}_{1} vs #it{exoticity}, #it{n}_{cell} TCard same = %d, diff =%d, #it{E}>8 GeV %s",j,k,add[tm].
Data()),
3757 200,-1,1,ssbins,ssmin,ssmax);
3763 (Form(
"hLambdaRExoticity_NCell_Same%d_Diff%d%s",j,k,add[tm].
Data()),
3764 Form(
"#lambda^{2}_{1}/#lambda^{2}_{0} vs #it{exoticity}, #it{n}_{cell} TCard same = %d, diff =%d, #it{E}>8 GeV %s",j,k,add[tm].
Data()),
3765 200,-1,1,110,0,1.1);
3811 for(
Int_t i = 0; i < 7; i++)
3814 (Form(
"hLambda0TCardCorrelOtherTCard_Case%d%s",i,add[tm].
Data()),
3815 Form(
"#lambda^{2}_{0} vs #it{E}, correlation of cells in different TCards, case %d %s",i,add[tm].
Data()),
3816 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
3822 (Form(
"hNCellsTCardCorrelOtherTCard_Case%d%s",i,add[tm].
Data()),
3823 Form(
"custer # cells vs #it{E}, w > 0.01, correlation of cells in different TCards, case %d %s",i,add[tm].
Data()),
3824 nptbins,ptmin,ptmax, nceclbins,nceclmin,nceclmax);
3830 (Form(
"hExoticTCardCorrelOtherTCard_Case%d%s",i,add[tm].
Data()),
3831 Form(
"exoticity vs #it{E}, w > 0.01, correlation of cells in different TCards, case %d %s",i,add[tm].
Data()),
3832 nptbins,ptmin,ptmax,200,-1,1);
3838 (Form(
"hColRowTCardCorrelOtherTCardLowE_Case%d%s",i,add[tm].
Data()),
3839 Form(
"column vs row for different 2 TCard correlation cases, E > 2 GeV, case %d %s",i,add[tm].
Data()),
3840 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3846 (Form(
"hColRowTCardCorrelOtherTCardHighE_Case%d%s",i,add[tm].
Data()),
3847 Form(
"column vs row for different 2 TCard correlation cases, E > 8 GeV, case %d %s",i,add[tm].
Data()),
3848 96+2,-1.5,96+0.5,(8*24+2*8)+2,-1.5,(8*24+2*8)+0.5);
3854 for(
Int_t i = 0; i < 12; i++)
3857 (Form(
"hTCardCorrECellMaxDiff_Case%d%s",i,add[tm].
Data()),
3858 Form(
"#it{E}_{cell}^{max}-#it{E}_{cell} vs #it{E}_{cluster}, for (un)correlated cells in TCard, case %d %s",i,add[tm].
Data()),
3859 nptbins,ptmin,ptmax,210,-1,20);
3865 (Form(
"hTCardCorrEClusterDiff_Case%d%s",i,add[tm].
Data()),
3866 Form(
"#it{E}_{cluster}-#it{E}_{cell} vs #it{E}_{cluster}, for (un)correlated cells in TCard, case %d %s",i,add[tm].
Data()),
3867 nptbins,ptmin,ptmax,210,-1,20);
3873 (Form(
"hTCardCorrECellMaxRat_Case%d%s",i,add[tm].
Data()),
3874 Form(
"#it{E}_{cell}/#it{E}_{cell}^{max} vs #it{E}_{cluster}, for (un)correlated cells in TCard, case %d %s",i,add[tm].
Data()),
3875 nptbins,ptmin,ptmax,110,0,1.1);
3881 (Form(
"hTCardCorrEClusterRat_Case%d%s",i,add[tm].
Data()),
3882 Form(
"#it{E}_{cell}/#it{E}_{cluster} vs #it{E}_{cluster}, for (un)correlated cells in TCard, case %d %s",i,add[tm].
Data()),
3883 nptbins,ptmin,ptmax,110,0,1.1);
3889 (Form(
"hTCardCorrTCellMaxDiff_Case%d%s",i,add[tm].
Data()),
3890 Form(
"#it{t}_{cell}^{max}-#it{t}_{cell} vs #it{E}_{cluster}, for (un)correlated cells in TCard, case %d %s",i,add[tm].
Data()),
3891 nptbins,ptmin,ptmax,1000,-100,100);
3897 (Form(
"hTCardCorrECellMaxDiffExo_Case%d%s",i,add[tm].
Data()),
3898 Form(
"#it{E}_{cell}^{max}-#it{E}_{cell} vs #it{E}_{cluster}, for (un)correlated cells in TCard, exoticity > 0.97, case %d %s",i,add[tm].
Data()),
3899 nptbins,ptmin,ptmax,210,-1,20);
3905 (Form(
"hTCardCorrEClusterDiffExo_Case%d%s",i,add[tm].
Data()),
3906 Form(
"#it{E}_{cluster}-#it{E}_{cell} vs #it{E}_{cluster}, for (un)correlated cells in TCard, exoticity > 0.97, case %d %s",i,add[tm].
Data()),
3907 nptbins,ptmin,ptmax,210,-1,20);
3913 (Form(
"hTCardCorrECellMaxRatExo_Case%d%s",i,add[tm].
Data()),
3914 Form(
"#it{E}_{cell}/#it{E}_{cell}^{max} vs #it{E}_{cluster}, for (un)correlated cells in TCard, exoticity > 0.97, case %d %s",i,add[tm].
Data()),
3915 nptbins,ptmin,ptmax,110,0,1.1);
3921 (Form(
"hTCardCorrEClusterRatExo_Case%d%s",i,add[tm].
Data()),
3922 Form(
"#it{E}_{cell}/#it{E}_{cluster} vs #it{E}_{cluster}, for (un)correlated cells in TCard, exoticity > 0.97, case %d %s",i,add[tm].
Data()),
3923 nptbins,ptmin,ptmax,110,0,1.1);
3929 (Form(
"hTCardCorrTCellMaxDiffExo_Case%d%s",i,add[tm].
Data()),
3930 Form(
"#it{t}_{cell}^{max}-#it{t}_{cell} vs #it{E}_{cluster}, for (un)correlated cells in TCard, exoticity > 0.97, case %d %s",i,add[tm].
Data()),
3931 nptbins,ptmin,ptmax,1000,-100,100);
3941 (Form(
"hTMPhiResidual_EBin%d",i),
3942 Form(
"#Delta #varphi_{cluster-track} vs #it{exoticity}, %2.2f<#it{E}<%2.2f GeV",
fEBinCuts[i],
fEBinCuts[i+1]),
3943 200,-1,1,nresphibins,resphimin,resphimax);
3949 (Form(
"hTMEtaResidual_EBin%d",i),
3950 Form(
"#Delta #eta_{cluster-track} vs #it{exoticity}, %2.2f<#it{E}<%2.2f GeV",
fEBinCuts[i],
fEBinCuts[i+1]),
3951 200,-1,1,nresetabins,resetamin,resetamax);
3957 (Form(
"hTMPhiResidualAllSameTCard_EBin%d",i),
3958 Form(
"#Delta #varphi_{cluster-track} vs #it{exoticity}, all cells same TCard as leading, %2.2f<#it{E}<%2.2f GeV",
fEBinCuts[i],
fEBinCuts[i+1]),
3959 200,-1,1,nresphibins,resphimin,resphimax);
3965 (Form(
"hTMEtaResidualAllSameTCard_EBin%d",i),
3966 Form(
"#Delta #eta_{cluster-track} vs #it{exoticity}, all cells same TCard as leading, %2.2f<#it{E}<%2.2f GeV",
fEBinCuts[i],
fEBinCuts[i+1]),
3967 200,-1,1,nresetabins,resetamin,resetamax);
3976 nptbins,ptmin,ptmax, 100,0,1.);
3982 nptbins,ptmin,ptmax, 500,0,100.);
3987 fhClusterMaxCellDiff =
new TH2F (
"hClusterMaxCellDiff",
"energy vs difference of cluster energy - max cell energy / cluster energy, good clusters",
3988 nptbins,ptmin,ptmax, 500,0,1.);
3995 fhClusterMaxCellDiffNoCut =
new TH2F (
"hClusterMaxCellDiffNoCut",
"energy vs difference of cluster energy - max cell energy / cluster energy",
3996 nptbins,ptmin,ptmax, 500,0,1.);
4002 fhClusterMaxCellECross =
new TH2F (
"hClusterMaxCellECross",
"1 - Energy in cross around max energy cell / max energy cell vs cluster energy, good clusters",
4003 nptbins,ptmin,ptmax, 400,-1,1.);
4011 nptbins,ptmin,ptmax, nceclbins,nceclmin,nceclmax);
4017 fhNCellsPerCluster =
new TH2F (
"hNCellsPerCluster",
"# cells per cluster vs energy",nptbins,ptmin,ptmax, nceclbins,nceclmin,nceclmax);
4025 (
"hNCellsPerClusterWithWeight",
"# cells per cluster vs energy",nptbins,ptmin,ptmax, nceclbins,nceclmin,nceclmax);
4031 (
"hNCellsPerClusterRatioWithWeight",
"# cells per cluster vs energy",nptbins,ptmin,ptmax, 100,0,1);
4052 fhNClusters =
new TH1F (
"hNClusters",
"# clusters", nclbins,nclmin,nclmax);
4058 fhBadClusterEnergy =
new TH1F (
"hBadClusterEnergy",
"Bad cluster energy", nptbins,ptmin,ptmax);
4063 netabins,etamin,etamax,nphibins,phimin,phimax);
4069 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
4074 fhBadClusterLambda1 =
new TH2F (
"hBadClusterLambda1",
"Bad cluster,shower shape, #lambda^{2}_{1} vs E for bad cluster ",
4075 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
4081 nptbins,ptmin,ptmax, 100,0,1.);
4087 nptbins,ptmin,ptmax, 500,0,100);
4092 fhBadClusterMaxCellDiff =
new TH2F (
"hBadClusterMaxCellDiff",
"energy vs difference of cluster energy - max cell energy / cluster energy for bad clusters",
4093 nptbins,ptmin,ptmax, 500,0,1.);
4099 nptbins,ptmin,ptmax, ntimebins,timemin,timemax);
4104 fhBadClusterPairDiffTimeE =
new TH2F(
"hBadClusterPairDiffTimeE",
"cluster pair time difference (bad - good) vs E from bad cluster",nptbins,ptmin,ptmax, tdbins,tdmin,tdmax);
4109 fhBadClusterMaxCellECross =
new TH2F (
"hBadClusterMaxCellECross",
"1 - #it{E}_{+} around max energy cell / max energy cell vs cluster energy, bad clusters",
4110 nptbins,ptmin,ptmax, 400,-1,1.);
4139 "#lambda^{2}_{0} vs 1-#it{E}_{+}/#it{E}_{max} for E > 5 GeV",
4140 400,0,1,ssbins,ssmin,ssmax);
4141 fhExoL0ECross ->SetXTitle(
"1-#it{E}_{+}/#it{E}_{cell max}");
4146 "#lambda^{2}_{1} vs 1-#it{E}_{+}/#it{E}_{max} for E > 5 GeV",
4147 400,0,1,ssbins,ssmin,ssmax);
4148 fhExoL1ECross ->SetXTitle(
"1-#it{E}_{+}/#it{E}_{cell max}");
4156 Form(
"#Delta time = t_{max}-t_{cells} vs #it{E}_{cluster} for exotic, 1-#it{E}_{+}/#it{E}_{max} < %2.2f",
fExoECrossCuts[ie]),
4157 nptbins,ptmin,ptmax,tdbins,tdmin,tdmax);
4158 fhExoDTime[ie] ->SetYTitle(
"#Delta #it{t} (ns)");
4164 fhExoNCell[ie][idt] =
new TH2F(Form(
"hExoNCell_ECross%d_DT%d",ie,idt),
4165 Form(
"N cells per cluster vs E cluster, 1-#it{E}_{+}/#it{E}_{max} < %2.2f, #Delta t < %2.0f",
fExoECrossCuts[ie],
fExoDTimeCuts[idt]),
4166 nptbins,ptmin,ptmax,nceclbins,nceclmin,nceclmax);
4167 fhExoNCell[ie][idt] ->SetYTitle(
"#it{n}_cells");
4168 fhExoNCell[ie][idt] ->SetXTitle(
"#it{E} (GeV)");
4171 fhExoL0 [ie][idt] =
new TH2F(Form(
"hExoL0_ECross%d_DT%d",ie,idt),
4172 Form(
"#lambda^{2}_{0} vs E cluster for exotic, 1-#it{E}_{+}/#it{E}_{max} < %2.2f, #Delta t = %2.0f",
fExoECrossCuts[ie],
fExoDTimeCuts[idt]),
4173 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
4174 fhExoL0 [ie][idt] ->SetYTitle(
"#lambda^{2}_{0}");
4175 fhExoL0 [ie][idt] ->SetXTitle(
"#it{E} (GeV)");
4176 outputContainer->Add(
fhExoL0[ie][idt]) ;
4178 fhExoL1 [ie][idt] =
new TH2F(Form(
"hExoL1_ECross%d_DT%d",ie,idt),
4179 Form(
"#lambda^{2}_{1} vs E cluster for exotic, 1-#it{E}_{+}/#it{E}_{max} < %2.2f, #Delta t = %2.0f",
fExoECrossCuts[ie],
fExoDTimeCuts[idt]),
4180 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
4181 fhExoL1 [ie][idt] ->SetYTitle(
"#lambda^{2}_{1}");
4182 fhExoL1 [ie][idt] ->SetXTitle(
"#it{E} (GeV)");
4183 outputContainer->Add(
fhExoL1[ie][idt]) ;
4185 fhExoECross[ie][idt] =
new TH2F(Form(
"hExoECross_ECross%d_DT%d",ie,idt),
4186 Form(
"#it{E} cross for cells vs E cell, 1-#it{E}_{+}/#it{E}_{max} < %2.2f, #Delta t < %2.0f",
fExoECrossCuts[ie],
fExoDTimeCuts[idt]),
4187 nptbins,ptmin,ptmax,400,0,1);
4188 fhExoECross[ie][idt] ->SetYTitle(
"1-#it{E}_{+}/#it{E}_{cell max}");
4189 fhExoECross[ie][idt] ->SetXTitle(
"#it{E}_{cell} (GeV)");
4192 fhExoTime [ie][idt] =
new TH2F(Form(
"hExoTime_ECross%d_DT%d",ie,idt),
4193 Form(
"Time of cluster (max cell) vs E cluster for exotic, 1-#it{E}_{+}/#it{E}_{max} < %2.2f, #Delta t = %2.0f",
fExoECrossCuts[ie],
fExoDTimeCuts[idt]),
4194 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
4195 fhExoTime [ie][idt] ->SetYTitle(
"#it{t}_{max} (ns)");
4196 fhExoTime [ie][idt] ->SetXTitle(
"#it{E} (GeV)");
4197 outputContainer->Add(
fhExoTime[ie][idt]) ;
4200 Form(
"#lambda^{2}_{0} vs N cells per clusters for E > 5 GeV, 1-#it{E}_{+}/#it{E}_{max} < %2.2f, #Delta t = %2.0f",
fExoECrossCuts[ie],
fExoDTimeCuts[idt]),
4201 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
4207 Form(
"#lambda^{2}_{1} vs N cells per clusters for E > 5 GeV, 1-#it{E}_{+}/#it{E}_{max} < %2.2f, #Delta t = %2.0f",
fExoECrossCuts[ie],
fExoDTimeCuts[idt]),
4208 nptbins,ptmin,ptmax,ntimebins,timemin,timemax);
4220 fhDeltaIEtaDeltaIPhiE0[0] =
new TH2F (
"hDeltaIEtaDeltaIPhiE0",
" Cluster size in columns vs rows for E < 2 GeV, #it{n}_{cells} > 3",
4226 fhDeltaIEtaDeltaIPhiE2[0] =
new TH2F (
"hDeltaIEtaDeltaIPhiE2",
" Cluster size in columns vs rows for 2 <E < 6 GeV, #it{n}_{cells} > 3",
4232 fhDeltaIEtaDeltaIPhiE6[0] =
new TH2F (
"hDeltaIEtaDeltaIPhiE6",
" Cluster size in columns vs rows for E > 6 GeV, #it{n}_{cells} > 3",
4238 fhDeltaIA[0] =
new TH2F (
"hDeltaIA",
" Cluster *asymmetry* in cell units vs E",
4239 nptbins,ptmin,ptmax,21,-1.05,1.05);
4240 fhDeltaIA[0]->SetXTitle(
"#it{E}_{cluster}");
4241 fhDeltaIA[0]->SetYTitle(
"#it{A}_{cell in cluster}");
4244 fhDeltaIAL0[0] =
new TH2F (
"hDeltaIAL0",
" Cluster *asymmetry* in cell units vs #lambda^{2}_{0}",
4245 ssbins,ssmin,ssmax,21,-1.05,1.05);
4247 fhDeltaIAL0[0]->SetYTitle(
"#it{A}_{cell in cluster}");
4250 fhDeltaIAL1[0] =
new TH2F (
"hDeltaIAL1",
" Cluster *asymmetry* in cell units vs #lambda^{2}_{1}",
4251 ssbins,ssmin,ssmax,21,-1.05,1.05);
4253 fhDeltaIAL1[0]->SetYTitle(
"#it{A}_{cell in cluster}");
4256 fhDeltaIANCells[0] =
new TH2F (
"hDeltaIANCells",
" Cluster *asymmetry* in cell units vs N cells in cluster",
4257 nceclbins,nceclmin,nceclmax,21,-1.05,1.05);
4263 fhDeltaIEtaDeltaIPhiE0[1] =
new TH2F (
"hDeltaIEtaDeltaIPhiE0Charged",
" Cluster size in columns vs rows for E < 2 GeV, #it{n}_{cells} > 3, matched with track",
4269 fhDeltaIEtaDeltaIPhiE2[1] =
new TH2F (
"hDeltaIEtaDeltaIPhiE2Charged",
" Cluster size in columns vs rows for 2 <E < 6 GeV, #it{n}_{cells} > 3, matched with track",
4275 fhDeltaIEtaDeltaIPhiE6[1] =
new TH2F (
"hDeltaIEtaDeltaIPhiE6Charged",
" Cluster size in columns vs rows for E > 6 GeV, #it{n}_{cells} > 3, matched with track",
4281 fhDeltaIA[1] =
new TH2F (
"hDeltaIACharged",
" Cluster *asymmetry* in cell units vs E, matched with track",
4282 nptbins,ptmin,ptmax,21,-1.05,1.05);
4283 fhDeltaIA[1]->SetXTitle(
"#it{E}_{cluster}");
4284 fhDeltaIA[1]->SetYTitle(
"#it{A}_{cell in cluster}");
4287 fhDeltaIAL0[1] =
new TH2F (
"hDeltaIAL0Charged",
" Cluster *asymmetry* in cell units vs #lambda^{2}_{0}, matched with track",
4288 ssbins,ssmin,ssmax,21,-1.05,1.05);
4290 fhDeltaIAL0[1]->SetYTitle(
"#it{A}_{cell in cluster}");
4293 fhDeltaIAL1[1] =
new TH2F (
"hDeltaIAL1Charged",
" Cluster *asymmetry* in cell units vs #lambda^{2}_{1}, matched with track",
4294 ssbins,ssmin,ssmax,21,-1.05,1.05);
4296 fhDeltaIAL1[1]->SetYTitle(
"#it{A}_{cell in cluster}");
4299 fhDeltaIANCells[1] =
new TH2F (
"hDeltaIANCellsCharged",
" Cluster *asymmetry* in cell units vs N cells in cluster, matched with track",
4300 nceclbins,nceclmin,nceclmax,21,-1.05,1.05);
4306 TString particle[]={
"Photon",
"Electron",
"Conversion",
"Hadron"};
4307 for (
Int_t iPart = 0; iPart < 4; iPart++) {
4309 fhDeltaIAMC[iPart] =
new TH2F (Form(
"hDeltaIA_MC%s",particle[iPart].
Data()),Form(
" Cluster *asymmetry* in cell units vs E, from %s",particle[iPart].
Data()),
4310 nptbins,ptmin,ptmax,21,-1.05,1.05);
4311 fhDeltaIAMC[iPart]->SetXTitle(
"#it{E}_{cluster}");
4312 fhDeltaIAMC[iPart]->SetYTitle(
"#it{A}_{cell in cluster}");
4338 nptbins,ptmin,ptmax,21,-1.05,1.05);
4348 nptbins,ptmin,ptmax, 100,0,1.);
4354 nptbins,ptmin,ptmax, 100,-10,0);
4360 nptbins,ptmin,ptmax, 100,0,1.);
4366 nptbins,ptmin,ptmax, 100,-10,0);
4372 nptbins*2,ptmin,ptmax*2, 100,0,1.);
4378 nptbins*2,ptmin,ptmax*2, 100,-10,0);
4389 Form(
"#cell energy / sum all energy vs all energy in Module %d",imod),
4390 nptbins*2,ptmin,ptmax*2, 100,0,1.);
4396 Form(
"Log(cell energy / sum all energy) vs all energy in Module %d",imod),
4397 nptbins*2,ptmin,ptmax*2, 100,-10,0);
4404 Float_t cellEmin [] = {0.05,0.1,0.15,0.2};
4405 Float_t cellTmin [] = {50.,100.,1000000.};
4407 for(
Int_t iw = 0; iw < 12; iw++)
4410 for(
Int_t iEmin = 0; iEmin < 4; iEmin++)
4412 for(
Int_t iTmin = 0; iTmin < 3; iTmin++)
4415 Form(
"#lambda^{2}_{0} vs E, w0=%1.2f, cell E>%2.2f MeV, |t|<%2.0f ns",
4416 w0, cellEmin[iEmin], cellTmin[iTmin]),
4417 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
4432 Form(
"#lambda^{2}_{0} vs E, w0=%1.2f, cell E>%2.2f MeV, |t|<%2.0f ns, |#eta| < 0.15",
4433 w0, cellEmin[iEmin], cellTmin[iTmin]),
4434 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
4443 TString mcnames[] = {
"Photon",
"Electron",
"Conversion",
"Pi0",
"Hadron"};
4444 for(
Int_t imc = 0; imc < 5; imc++)
4447 Form(
"shower shape, #lambda^{2}_{0} vs E, w0 = %1.1f, for MC %s",w0,mcnames[imc].
Data()),
4448 nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
4468 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
4473 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
4478 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
4483 nptbins,ptmin,ptmax,nresetabins,resetamin,resetamax);
4488 nptbins,ptmin,ptmax,nresphibins,resphimin,resphimax);
4493 nresetabins,resetamin,resetamax,nresphibins,resphimin,resphimax);
4530 fhECharged =
new TH1F (
"hECharged",
"#it{E} reconstructed clusters, matched with track", nptbins,ptmin,ptmax);
4534 fhPtCharged =
new TH1F (
"hPtCharged",
"#it{p}_{T} reconstructed clusters, matched with track", nptbins,ptmin,ptmax);
4535 fhPtCharged->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
4538 fhPhiCharged =
new TH1F (
"hPhiCharged",
"#varphi reconstructed clusters, matched with track",nphibins,phimin,phimax);
4542 fhEtaCharged =
new TH1F (
"hEtaCharged",
"#eta reconstructed clusters, matched with track",netabins,etamin,etamax);
4548 fhEtaPhiECharged =
new TH3F (
"hEtaPhiECharged",
"#eta vs #varphi, reconstructed clusters, matched with track",
4549 netabins,etamin,etamax,nphibins,phimin,phimax,nptbins,ptmin,ptmax);
4557 fhEtaPhiCharged =
new TH2F (
"hEtaPhiCharged",
"#eta vs #varphi for #it{E} > 0.5 GeV, reconstructed clusters, with matched track",
4558 netabins,etamin,etamax,nphibins,phimin,phimax);
4564 fh1EOverP =
new TH2F(
"h1EOverP",
"TRACK matches #it{E}/#it{p}",nptbins,ptmin,ptmax, nPoverEbins,eOverPmin,eOverPmax);
4566 fh1EOverP->SetXTitle(
"#it{p}_{T} (GeV/#it{c})");
4569 fh2dR =
new TH2F(
"h2dR",
"TRACK matches #Delta #it{R}",nptbins,ptmin,ptmax,ndRbins,dRmin,dRmax);
4570 fh2dR->SetYTitle(
"#Delta #it{R} (rad)");
4571 fh2dR->SetXTitle(
"#it{E} cluster (GeV)");
4572 outputContainer->Add(
fh2dR) ;
4574 fh2MatchdEdx =
new TH2F(
"h2MatchdEdx",
"#it{dE/dx} vs. #it{p} for all matches",nptbins,ptmin,ptmax,ndedxbins,dedxmin,dedxmax);
4579 fh2EledEdx =
new TH2F(
"h2EledEdx",
"#it{dE/dx} vs. #it{p} for electrons",nptbins,ptmin,ptmax,ndedxbins,dedxmin,dedxmax);
4584 fh1EOverPR02 =
new TH2F(
"h1EOverPR02",
"TRACK matches #it{E}/#it{p}, all",nptbins,ptmin,ptmax, nPoverEbins,eOverPmin,eOverPmax);
4589 fh1EleEOverP =
new TH2F(
"h1EleEOverP",
"Electron candidates #it{E}/#it{p} (60<#it{dE/dx}<100)",nptbins,ptmin,ptmax, nPoverEbins,eOverPmin,eOverPmax);
4597 fh1EOverPMod =
new TH2F(
"h1EOverP_PerModule",
"TRACK matches #it{E}/#it{p}, #it{E}_{cl}&#it{p}_{tr}>0.5 Gev/#it{c}",nPoverEbins,eOverPmin,eOverPmax,
fNModules,0,
fNModules);
4602 fh2dRMod =
new TH2F(
"h2dR_PerModule",
"TRACK matches #Delta #it{R}, #it{E}_{cl}&#it{p}_{tr}>0.5 Gev/#it{c}",ndRbins,dRmin,dRmax,
fNModules,0,
fNModules);
4603 fh2dRMod->SetXTitle(
"#Delta #it{R} (rad)");
4607 fh2MatchdEdxMod =
new TH2F(
"h2MatchdEdx_PerModule",
"#it{dE/dx} vs. #it{p} for all matches, #it{E}_{cl}&#it{p}_{tr}>0.5 Gev/#it{c}",ndedxbins,dedxmin,dedxmax,
fNModules,0,
fNModules);
4612 fh2EledEdxMod =
new TH2F(
"h2EledEdx_PerModule",
"#it{dE/dx} vs. #it{p} for electrons, #it{E}_{cl}&#it{p}_{tr}>0.5 Gev/#it{c}",ndedxbins,dedxmin,dedxmax,
fNModules,0,
fNModules);
4617 fh1EOverPR02Mod =
new TH2F(
"h1EOverPR02_PerModule",
"TRACK matches #it{E}/#it{p}, all, #it{E}_{cl}&#it{p}_{tr}>0.5 Gev/#it{c}",nPoverEbins,eOverPmin,eOverPmax,
fNModules,0,
fNModules);
4622 fh1EleEOverPMod =
new TH2F(
"h1EleEOverP_PerModule",
"Electron candidates #it{E}/#it{p} (60<#it{dE/dx}<100), #it{E}_{cl}&#it{p}_{tr}>0.5 Gev/#it{c}",nPoverEbins,eOverPmin,eOverPmax,
fNModules,0,
fNModules);
4630 fhIM =
new TH2F (
"hIM",
"Cluster pairs (EMCAL or PHOS) Invariant mass vs reconstructed pair #it{p}_{T}, ncell > 1",
4631 nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
4632 fhIM->SetXTitle(
"#it{p}_{T, cluster pairs} (GeV) ");
4633 fhIM->SetYTitle(
"M_{cluster pairs} (GeV/#it{c}^{2})");
4634 outputContainer->Add(
fhIM);
4636 fhIMDiff =
new TH2F (
"hIMDiff",
"Cluster pairs (EMCAL or PHOS) Invariant mass vs reconstructed pair #it{p}_{T}, ncell > 1, different SM",
4637 nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
4638 fhIMDiff->SetXTitle(
"#it{p}_{T, cluster pairs} (GeV) ");
4639 fhIMDiff->SetYTitle(
"M_{cluster pairs} (GeV/#it{c}^{2})");
4642 fhIMSame =
new TH2F (
"hIMSame",
"Cluster pairs (EMCAL or PHOS) Invariant mass vs reconstructed pair #it{p}_{T}, ncell > 1, same SM",
4643 nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
4644 fhIMSame->SetXTitle(
"#it{p}_{T, cluster pairs} (GeV) ");
4645 fhIMSame->SetYTitle(
"M_{cluster pairs} (GeV/#it{c}^{2})");
4650 fhIMDCAL =
new TH2F (
"hIMDCAL",
"Cluster pairs in DCAL Invariant mass vs reconstructed pair #it{p}_{T}, ncell > 1",
4651 nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
4652 fhIMDCAL->SetXTitle(
"#it{p}_{T, cluster pairs} (GeV) ");
4653 fhIMDCAL->SetYTitle(
"M_{cluster pairs} (GeV/#it{c}^{2})");
4656 fhIMDCALDiff =
new TH2F (
"hIMDCALDiff",
"Cluster pairs in DCAL Invariant mass vs reconstructed pair #it{p}_{T}, ncell > 1, different SM",
4657 nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
4658 fhIMDCALDiff->SetXTitle(
"#it{p}_{T, cluster pairs} (GeV) ");
4659 fhIMDCALDiff->SetYTitle(
"M_{cluster pairs} (GeV/#it{c}^{2})");
4662 fhIMDCALSame =
new TH2F (
"hIMDCALSame",
"Cluster pairs in DCAL Invariant mass vs reconstructed pair #it{p}_{T}, ncell > 1, same SM",
4663 nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
4664 fhIMDCALSame->SetXTitle(
"#it{p}_{T, cluster pairs} (GeV) ");
4665 fhIMDCALSame->SetYTitle(
"M_{cluster pairs} (GeV/#it{c}^{2})");
4668 fhIMDCALPHOS =
new TH2F (
"hIMDCALPHOS",
"Cluster pairs in DCAL-PHOS Invariant mass vs reconstructed pair #it{p}_{T}, ncell > 1",
4669 nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
4670 fhIMDCALPHOS->SetXTitle(
"#it{p}_{T, cluster pairs} (GeV) ");
4671 fhIMDCALPHOS->SetYTitle(
"M_{cluster pairs} (GeV/#it{c}^{2})");
4674 fhIMDCALPHOSSame =
new TH2F (
"hIMDCALPHOSSame",
"Cluster pairs in DCAL-PHOS Invariant mass vs reconstructed pair #it{p}_{T}, ncell > 1, same #varphi sector",
4675 nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
4683 fhIMEMCALPHOS =
new TH2F (
"hIMEMCALPHOS",
"Cluster pairs in DCAL-PHOS Invariant mass vs reconstructed pair #it{p}_{T}, ncell > 1",
4684 nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
4685 fhIMEMCALPHOS->SetXTitle(
"#it{p}_{T, cluster pairs} (GeV) ");
4686 fhIMEMCALPHOS->SetYTitle(
"M_{cluster pairs} (GeV/#it{c}^{2})");
4689 fhIMEMCALPHOSSame =
new TH2F (
"hIMEMCALPHOSSame",
"Cluster pairs in DCAL-PHOS Invariant mass vs reconstructed pair #it{p}_{T}, ncell > 1, same #varphi sector",
4690 nptbins,ptmin,ptmax,nmassbins,massmin,massmax);
4699 nptbins,ptmin,ptmax, tdbins,tdmin,tdmax);
4705 nptbins,ptmin,ptmax, tdbins,tdmin,tdmax);
4713 nptbins,ptmin,ptmax, tdbins,tdmin,tdmax);
4719 nptbins,ptmin,ptmax, tdbins,tdmin,tdmax);
4726 fhAsym =
new TH2F (
"hAssym",
"Cluster pairs Asymmetry vs reconstructed pair energy",nptbins,ptmin,ptmax,nasymbins,asymmin,asymmax);
4727 fhAsym->SetXTitle(
"#it{p}_{T, cluster pairs} (GeV) ");
4728 fhAsym->SetYTitle(
"#it{Asymmetry}");
4729 outputContainer->Add(
fhAsym);
4733 fhOpAngle =
new TH2F (
"hOpeningAngle",
"Cluster pairs opening angle vs reconstructed pair #it{p}_{T}, ncell > 1",
4734 nptbins,ptmin,ptmax, 180,0,TMath::Pi());
4735 fhOpAngle->SetXTitle(
"#it{p}_{T, cluster pairs} (GeV) ");
4736 fhOpAngle->SetYTitle(
"Opening angle (degrees)");
4740 fhIMvsOpAngle =
new TH2F (
"hIMvsOpAngle",
"Cluster pairs Invariant mass vs reconstructed pair opening angle, ncell > 1",
4743 fhIMvsOpAngle->SetYTitle(
"M_{cluster pairs} (GeV/#it{c}^{2})");
4750 fhXYZ =
new TH3F (
"hXYZ",
"Cluster: #it{x} vs #it{y} vs #it{z}",xbins,xmin,xmax,ybins,ymin,ymax,zbins,zmin,zmax);
4751 fhXYZ->SetXTitle(
"#it{x} (cm)");
4752 fhXYZ->SetYTitle(
"#it{y} (cm)");
4753 fhXYZ->SetZTitle(
"#it{z} (cm) ");
4754 outputContainer->Add(
fhXYZ);
4756 fhXE =
new TH2F (
"hXE",
"Cluster X position vs cluster energy",xbins,xmin,xmax,nptbins,ptmin,ptmax);
4757 fhXE->SetXTitle(
"#it{x} (cm)");
4758 fhXE->SetYTitle(
"#it{E} (GeV)");
4759 outputContainer->Add(
fhXE);
4761 fhYE =
new TH2F (
"hYE",
"Cluster Y position vs cluster energy",ybins,ymin,ymax,nptbins,ptmin,ptmax);
4762 fhYE->SetXTitle(
"#it{y} (cm)");
4763 fhYE->SetYTitle(
"#it{E} (GeV)");
4764 outputContainer->Add(
fhYE);
4766 fhZE =
new TH2F (
"hZE",
"Cluster Z position vs cluster energy",zbins,zmin,zmax,nptbins,ptmin,ptmax);
4767 fhZE->SetXTitle(
"#it{z} (cm)");
4768 fhZE->SetYTitle(
"#it{E} (GeV)");
4769 outputContainer->Add(
fhZE);
4771 fhRE =
new TH2F (
"hRE",
"Cluster R position vs cluster energy",rbins,rmin,rmax,nptbins,ptmin,ptmax);
4772 fhRE->SetXTitle(
"r = #sqrt{x^{2}+y^{2}} (cm)");
4773 fhRE->SetYTitle(
"#it{E} (GeV)");
4774 outputContainer->Add(
fhRE);
4776 fhXNCells =
new TH2F (
"hXNCells",
"Cluster X position vs N Cells per Cluster",xbins,xmin,xmax,nceclbins,nceclmin,nceclmax);
4778 fhXNCells->SetYTitle(
"N cells per cluster");
4781 fhYNCells =
new TH2F (
"hYNCells",
"Cluster Y position vs N Cells per Cluster",ybins,ymin,ymax,nceclbins,nceclmin,nceclmax);
4783 fhYNCells->SetYTitle(
"N cells per cluster");
4786 fhZNCells =
new TH2F (
"hZNCells",
"Cluster Z position vs N Cells per Cluster",zbins,zmin,zmax,nceclbins,nceclmin,nceclmax);
4788 fhZNCells->SetYTitle(
"N cells per cluster");
4791 fhRNCells =
new TH2F (
"hRNCells",
"Cluster R position vs N Cells per Cluster",rbins,rmin,rmax,nceclbins,nceclmin,nceclmax);
4792 fhRNCells->SetXTitle(
"r = #sqrt{x^{2}+y^{2}} (cm)");
4793 fhRNCells->SetYTitle(
"N cells per cluster");
4799 fhRCellE =
new TH2F (
"hRCellE",
"Cell R position vs cell energy",rbins,rmin,rmax,nptbins,ptmin,ptmax);
4800 fhRCellE->SetXTitle(
"r = #sqrt{x^{2}+y^{2}} (cm)");
4801 fhRCellE->SetYTitle(
"#it{E} (GeV)");
4804 fhXCellE =
new TH2F (
"hXCellE",
"Cell X position vs cell energy",xbins,xmin,xmax,nptbins,ptmin,ptmax);
4805 fhXCellE->SetXTitle(
"#it{x} (cm)");
4806 fhXCellE->SetYTitle(
"#it{E} (GeV)");
4809 fhYCellE =
new TH2F (
"hYCellE",
"Cell Y position vs cell energy",ybins,ymin,ymax,nptbins,ptmin,ptmax);
4810 fhYCellE->SetXTitle(
"#it{y} (cm)");
4811 fhYCellE->SetYTitle(
"#it{E} (GeV)");
4814 fhZCellE =
new TH2F (
"hZCellE",
"Cell Z position vs cell energy",zbins,zmin,zmax,nptbins,ptmin,ptmax);
4815 fhZCellE->SetXTitle(
"#it{z} (cm)");