#include <TMath.h>
#include <TMinuit.h>
#include <TTree.h>
#include <TBenchmark.h>
#include <TBrowser.h>
#include <TROOT.h>
#include <TClonesArray.h>
#include <cassert>
#include "AliLog.h"
#include "AliEMCALClusterizerNxN.h"
#include "AliEMCALRecPoint.h"
#include "AliEMCALDigit.h"
#include "AliEMCALGeometry.h"
#include "AliCaloCalibPedestal.h"
#include "AliEMCALCalibData.h"
#include "AliESDCaloCluster.h"
#include "AliEMCALUnfolding.h"
ClassImp(AliEMCALClusterizerNxN)
AliEMCALClusterizerNxN::AliEMCALClusterizerNxN()
: AliEMCALClusterizer(), fNRowDiff(1), fNColDiff(1), fEnergyGrad(0)
{
}
AliEMCALClusterizerNxN::AliEMCALClusterizerNxN(AliEMCALGeometry* geometry)
: AliEMCALClusterizer(geometry), fNRowDiff(1), fNColDiff(1), fEnergyGrad(0)
{
}
AliEMCALClusterizerNxN::AliEMCALClusterizerNxN(AliEMCALGeometry* geometry, AliEMCALCalibData * calib, AliCaloCalibPedestal * caloped)
: AliEMCALClusterizer(geometry, calib, caloped), fNRowDiff(1), fNColDiff(1), fEnergyGrad(0)
{
}
AliEMCALClusterizerNxN::~AliEMCALClusterizerNxN()
{
}
void AliEMCALClusterizerNxN::Digits2Clusters(Option_t * option)
{
if (strstr(option,"tim"))
gBenchmark->Start("EMCALClusterizer");
if (strstr(option,"print"))
Print("");
GetCalibrationParameters();
GetCaloCalibPedestal();
MakeClusters();
if (fToUnfold) {
fClusterUnfolding->SetInput(fNumberOfECAClusters,fRecPoints,fDigitsArr);
fClusterUnfolding->MakeUnfolding();
}
for (Int_t index = 0; index < fRecPoints->GetEntries(); index++) {
AliEMCALRecPoint * rp = dynamic_cast<AliEMCALRecPoint *>(fRecPoints->At(index));
if (rp) {
rp->EvalAll(fECAW0,fDigitsArr,fJustClusters);
AliDebug(5, Form("MAX INDEX %d ", rp->GetMaximalEnergyIndex()));
if (fCaloPed)
rp->EvalDistanceToBadChannels(fCaloPed);
}
}
fRecPoints->Sort();
for (Int_t index = 0; index < fRecPoints->GetEntries(); index++) {
AliEMCALRecPoint *rp = dynamic_cast<AliEMCALRecPoint *>(fRecPoints->At(index));
if (rp) {
rp->SetIndexInList(index);
}
else AliFatal("RecPoint NULL!!");
}
if (fTreeR)
fTreeR->Fill();
if (strstr(option,"deb") || strstr(option,"all"))
PrintRecPoints(option);
AliDebug(1,Form("EMCAL Clusterizer found %d Rec Points",fRecPoints->GetEntriesFast()));
if (strstr(option,"tim")) {
gBenchmark->Stop("EMCALClusterizer");
printf("Exec took %f seconds for Clusterizing",
gBenchmark->GetCpuTime("EMCALClusterizer"));
}
}
Int_t AliEMCALClusterizerNxN::AreNeighbours(AliEMCALDigit * d1, AliEMCALDigit * d2, Bool_t & shared) const
{
if (fEnergyGrad) {
if (d2->GetCalibAmp()>d1->GetCalibAmp())
return 3;
}
Int_t nSupMod1=0, nModule1=0, nIphi1=0, nIeta1=0, iphi1=0, ieta1=0;
Int_t nSupMod2=0, nModule2=0, nIphi2=0, nIeta2=0, iphi2=0, ieta2=0;
Int_t rowdiff=0, coldiff=0;
shared = kFALSE;
fGeom->GetCellIndex(d1->GetId(), nSupMod1,nModule1,nIphi1,nIeta1);
fGeom->GetCellIndex(d2->GetId(), nSupMod2,nModule2,nIphi2,nIeta2);
fGeom->GetCellPhiEtaIndexInSModule(nSupMod1,nModule1,nIphi1,nIeta1, iphi1,ieta1);
fGeom->GetCellPhiEtaIndexInSModule(nSupMod2,nModule2,nIphi2,nIeta2, iphi2,ieta2);
if (nSupMod1 != nSupMod2 )
{
Float_t smPhi1 = fGeom->GetEMCGeometry()->GetPhiCenterOfSM(nSupMod1);
Float_t smPhi2 = fGeom->GetEMCGeometry()->GetPhiCenterOfSM(nSupMod2);
if (!TMath::AreEqualAbs(smPhi1, smPhi2, 1e-3)) return 2;
if (nSupMod1%2) ieta1+=AliEMCALGeoParams::fgkEMCALCols;
else ieta2+=AliEMCALGeoParams::fgkEMCALCols;
shared = kTRUE;
}
rowdiff = TMath::Abs(iphi1 - iphi2);
coldiff = TMath::Abs(ieta1 - ieta2);
if ( TMath::Abs(coldiff) <= fNColDiff && TMath::Abs(rowdiff) <= fNRowDiff)
{
AliDebug(9, Form("AliEMCALClusterizerNxN::AreNeighbours(): id1=%d, (row %d, col %d) ; id2=%d, (row %d, col %d), shared %d \n",
d1->GetId(), iphi1,ieta1, d2->GetId(), iphi2,ieta2, shared));
return 1;
}
else
{
AliDebug(9, Form("NOT AliEMCALClusterizerNxN::AreNeighbours(): id1=%d, (row %d, col %d) ; id2=%d, (row %d, col %d), shared %d \n",
d1->GetId(), iphi1,ieta1, d2->GetId(), iphi2,ieta2, shared));
shared = kFALSE;
return 2;
}
}
void AliEMCALClusterizerNxN::MakeClusters()
{
if (fGeom==0)
AliFatal("Did not get geometry from EMCALLoader");
fNumberOfECAClusters = 0;
fRecPoints->Delete();
TObjArray digitsC;
TIter nextdigit(fDigitsArr);
AliEMCALDigit *digit = 0;
while ( (digit = static_cast<AliEMCALDigit*>(nextdigit())) ) {
Float_t dEnergyCalibrated = digit->GetAmplitude();
Float_t time = digit->GetTime();
Calibrate(dEnergyCalibrated,time ,digit->GetId());
digit->SetCalibAmp(dEnergyCalibrated);
digit->SetTime(time);
digitsC.AddLast(digit);
}
TIter nextdigitC(&digitsC);
AliDebug(1,Form("MakeClusters: Number of digits %d -> (e %f)\n",
fDigitsArr->GetEntries(),fMinECut));
Bool_t bDone = kFALSE;
while ( bDone != kTRUE )
{
Int_t iMaxEnergyDigit = -1;
Float_t dMaxEnergyDigit = -1;
AliEMCALDigit *pMaxEnergyDigit = 0;
nextdigitC.Reset();
while ( (digit = static_cast<AliEMCALDigit *>(nextdigitC())) )
{
Float_t dEnergyCalibrated = digit->GetCalibAmp();
Float_t time = digit->GetTime();
if (fGeom->CheckAbsCellId(digit->GetId()) &&
dEnergyCalibrated > fMinECut &&
time < fTimeMax &&
time > fTimeMin )
{
if (dEnergyCalibrated > dMaxEnergyDigit)
{
dMaxEnergyDigit = dEnergyCalibrated;
iMaxEnergyDigit = digit->GetId();
pMaxEnergyDigit = digit;
}
}
}
if (iMaxEnergyDigit < 0 || digitsC.GetEntries() <= 0)
{
bDone = kTRUE;
continue;
}
AliDebug (2, Form("Max digit found: %1.5f AbsId: %d", dMaxEnergyDigit, iMaxEnergyDigit));
TList clusterDigitList;
clusterDigitList.SetOwner(kFALSE);
clusterDigitList.AddLast(pMaxEnergyDigit);
Double_t clusterCandidateEnergy = dMaxEnergyDigit;
nextdigitC.Reset();
while ( (digit = static_cast<AliEMCALDigit *>(nextdigitC())) )
{
if (digit == pMaxEnergyDigit) continue;
Float_t dEnergyCalibrated = digit->GetCalibAmp();
AliDebug(5, Form("-> Digit ENERGY: %1.5f", dEnergyCalibrated));
if (fGeom->CheckAbsCellId(digit->GetId()) && dEnergyCalibrated > 0.0 )
{
Float_t time = pMaxEnergyDigit->GetTime();
if (TMath::Abs(time - digit->GetTime()) > fTimeCut ) continue;
Bool_t shared = kFALSE;
if (AreNeighbours(pMaxEnergyDigit, digit, shared) == 1)
{
clusterDigitList.AddLast(digit);
clusterCandidateEnergy += dEnergyCalibrated;
}
}
}
AliDebug(5, Form("Clusterization threshold is %f MeV", fECAClusteringThreshold));
if (clusterCandidateEnergy > fECAClusteringThreshold)
{
if (fNumberOfECAClusters >= fRecPoints->GetSize())
fRecPoints->Expand(2*fNumberOfECAClusters+1);
(*fRecPoints)[fNumberOfECAClusters] = new AliEMCALRecPoint("") ;
AliEMCALRecPoint *recPoint = dynamic_cast<AliEMCALRecPoint *>( fRecPoints->At(fNumberOfECAClusters) ) ;
if (recPoint) {
fNumberOfECAClusters++;
recPoint->SetClusterType(AliVCluster::kEMCALClusterv1);
AliDebug(9, Form("Number of cells per cluster (max is 9!): %d", clusterDigitList.GetEntries()));
for (Int_t idig = 0; idig < clusterDigitList.GetEntries(); idig++)
{
digit = (AliEMCALDigit*)clusterDigitList.At(idig);
AliDebug(5, Form(" Adding digit %d", digit->GetId()));
recPoint->AddDigit(*digit, digit->GetCalibAmp(), kFALSE);
digitsC.Remove(digit);
}
}
}
else
{
digitsC.Remove(pMaxEnergyDigit);
}
AliDebug (2, Form("Number of digits left: %d", digitsC.GetEntries()));
}
AliDebug(1,Form("total no of clusters %d from %d digits",fNumberOfECAClusters,fDigitsArr->GetEntriesFast()));
}
AliEMCALClusterizerNxN.cxx:1 AliEMCALClusterizerNxN.cxx:2 AliEMCALClusterizerNxN.cxx:3 AliEMCALClusterizerNxN.cxx:4 AliEMCALClusterizerNxN.cxx:5 AliEMCALClusterizerNxN.cxx:6 AliEMCALClusterizerNxN.cxx:7 AliEMCALClusterizerNxN.cxx:8 AliEMCALClusterizerNxN.cxx:9 AliEMCALClusterizerNxN.cxx:10 AliEMCALClusterizerNxN.cxx:11 AliEMCALClusterizerNxN.cxx:12 AliEMCALClusterizerNxN.cxx:13 AliEMCALClusterizerNxN.cxx:14 AliEMCALClusterizerNxN.cxx:15 AliEMCALClusterizerNxN.cxx:16 AliEMCALClusterizerNxN.cxx:17 AliEMCALClusterizerNxN.cxx:18 AliEMCALClusterizerNxN.cxx:19 AliEMCALClusterizerNxN.cxx:20 AliEMCALClusterizerNxN.cxx:21 AliEMCALClusterizerNxN.cxx:22 AliEMCALClusterizerNxN.cxx:23 AliEMCALClusterizerNxN.cxx:24 AliEMCALClusterizerNxN.cxx:25 AliEMCALClusterizerNxN.cxx:26 AliEMCALClusterizerNxN.cxx:27 AliEMCALClusterizerNxN.cxx:28 AliEMCALClusterizerNxN.cxx:29 AliEMCALClusterizerNxN.cxx:30 AliEMCALClusterizerNxN.cxx:31 AliEMCALClusterizerNxN.cxx:32 AliEMCALClusterizerNxN.cxx:33 AliEMCALClusterizerNxN.cxx:34 AliEMCALClusterizerNxN.cxx:35 AliEMCALClusterizerNxN.cxx:36 AliEMCALClusterizerNxN.cxx:37 AliEMCALClusterizerNxN.cxx:38 AliEMCALClusterizerNxN.cxx:39 AliEMCALClusterizerNxN.cxx:40 AliEMCALClusterizerNxN.cxx:41 AliEMCALClusterizerNxN.cxx:42 AliEMCALClusterizerNxN.cxx:43 AliEMCALClusterizerNxN.cxx:44 AliEMCALClusterizerNxN.cxx:45 AliEMCALClusterizerNxN.cxx:46 AliEMCALClusterizerNxN.cxx:47 AliEMCALClusterizerNxN.cxx:48 AliEMCALClusterizerNxN.cxx:49 AliEMCALClusterizerNxN.cxx:50 AliEMCALClusterizerNxN.cxx:51 AliEMCALClusterizerNxN.cxx:52 AliEMCALClusterizerNxN.cxx:53 AliEMCALClusterizerNxN.cxx:54 AliEMCALClusterizerNxN.cxx:55 AliEMCALClusterizerNxN.cxx:56 AliEMCALClusterizerNxN.cxx:57 AliEMCALClusterizerNxN.cxx:58 AliEMCALClusterizerNxN.cxx:59 AliEMCALClusterizerNxN.cxx:60 AliEMCALClusterizerNxN.cxx:61 AliEMCALClusterizerNxN.cxx:62 AliEMCALClusterizerNxN.cxx:63 AliEMCALClusterizerNxN.cxx:64 AliEMCALClusterizerNxN.cxx:65 AliEMCALClusterizerNxN.cxx:66 AliEMCALClusterizerNxN.cxx:67 AliEMCALClusterizerNxN.cxx:68 AliEMCALClusterizerNxN.cxx:69 AliEMCALClusterizerNxN.cxx:70 AliEMCALClusterizerNxN.cxx:71 AliEMCALClusterizerNxN.cxx:72 AliEMCALClusterizerNxN.cxx:73 AliEMCALClusterizerNxN.cxx:74 AliEMCALClusterizerNxN.cxx:75 AliEMCALClusterizerNxN.cxx:76 AliEMCALClusterizerNxN.cxx:77 AliEMCALClusterizerNxN.cxx:78 AliEMCALClusterizerNxN.cxx:79 AliEMCALClusterizerNxN.cxx:80 AliEMCALClusterizerNxN.cxx:81 AliEMCALClusterizerNxN.cxx:82 AliEMCALClusterizerNxN.cxx:83 AliEMCALClusterizerNxN.cxx:84 AliEMCALClusterizerNxN.cxx:85 AliEMCALClusterizerNxN.cxx:86 AliEMCALClusterizerNxN.cxx:87 AliEMCALClusterizerNxN.cxx:88 AliEMCALClusterizerNxN.cxx:89 AliEMCALClusterizerNxN.cxx:90 AliEMCALClusterizerNxN.cxx:91 AliEMCALClusterizerNxN.cxx:92 AliEMCALClusterizerNxN.cxx:93 AliEMCALClusterizerNxN.cxx:94 AliEMCALClusterizerNxN.cxx:95 AliEMCALClusterizerNxN.cxx:96 AliEMCALClusterizerNxN.cxx:97 AliEMCALClusterizerNxN.cxx:98 AliEMCALClusterizerNxN.cxx:99 AliEMCALClusterizerNxN.cxx:100 AliEMCALClusterizerNxN.cxx:101 AliEMCALClusterizerNxN.cxx:102 AliEMCALClusterizerNxN.cxx:103 AliEMCALClusterizerNxN.cxx:104 AliEMCALClusterizerNxN.cxx:105 AliEMCALClusterizerNxN.cxx:106 AliEMCALClusterizerNxN.cxx:107 AliEMCALClusterizerNxN.cxx:108 AliEMCALClusterizerNxN.cxx:109 AliEMCALClusterizerNxN.cxx:110 AliEMCALClusterizerNxN.cxx:111 AliEMCALClusterizerNxN.cxx:112 AliEMCALClusterizerNxN.cxx:113 AliEMCALClusterizerNxN.cxx:114 AliEMCALClusterizerNxN.cxx:115 AliEMCALClusterizerNxN.cxx:116 AliEMCALClusterizerNxN.cxx:117 AliEMCALClusterizerNxN.cxx:118 AliEMCALClusterizerNxN.cxx:119 AliEMCALClusterizerNxN.cxx:120 AliEMCALClusterizerNxN.cxx:121 AliEMCALClusterizerNxN.cxx:122 AliEMCALClusterizerNxN.cxx:123 AliEMCALClusterizerNxN.cxx:124 AliEMCALClusterizerNxN.cxx:125 AliEMCALClusterizerNxN.cxx:126 AliEMCALClusterizerNxN.cxx:127 AliEMCALClusterizerNxN.cxx:128 AliEMCALClusterizerNxN.cxx:129 AliEMCALClusterizerNxN.cxx:130 AliEMCALClusterizerNxN.cxx:131 AliEMCALClusterizerNxN.cxx:132 AliEMCALClusterizerNxN.cxx:133 AliEMCALClusterizerNxN.cxx:134 AliEMCALClusterizerNxN.cxx:135 AliEMCALClusterizerNxN.cxx:136 AliEMCALClusterizerNxN.cxx:137 AliEMCALClusterizerNxN.cxx:138 AliEMCALClusterizerNxN.cxx:139 AliEMCALClusterizerNxN.cxx:140 AliEMCALClusterizerNxN.cxx:141 AliEMCALClusterizerNxN.cxx:142 AliEMCALClusterizerNxN.cxx:143 AliEMCALClusterizerNxN.cxx:144 AliEMCALClusterizerNxN.cxx:145 AliEMCALClusterizerNxN.cxx:146 AliEMCALClusterizerNxN.cxx:147 AliEMCALClusterizerNxN.cxx:148 AliEMCALClusterizerNxN.cxx:149 AliEMCALClusterizerNxN.cxx:150 AliEMCALClusterizerNxN.cxx:151 AliEMCALClusterizerNxN.cxx:152 AliEMCALClusterizerNxN.cxx:153 AliEMCALClusterizerNxN.cxx:154 AliEMCALClusterizerNxN.cxx:155 AliEMCALClusterizerNxN.cxx:156 AliEMCALClusterizerNxN.cxx:157 AliEMCALClusterizerNxN.cxx:158 AliEMCALClusterizerNxN.cxx:159 AliEMCALClusterizerNxN.cxx:160 AliEMCALClusterizerNxN.cxx:161 AliEMCALClusterizerNxN.cxx:162 AliEMCALClusterizerNxN.cxx:163 AliEMCALClusterizerNxN.cxx:164 AliEMCALClusterizerNxN.cxx:165 AliEMCALClusterizerNxN.cxx:166 AliEMCALClusterizerNxN.cxx:167 AliEMCALClusterizerNxN.cxx:168 AliEMCALClusterizerNxN.cxx:169 AliEMCALClusterizerNxN.cxx:170 AliEMCALClusterizerNxN.cxx:171 AliEMCALClusterizerNxN.cxx:172 AliEMCALClusterizerNxN.cxx:173 AliEMCALClusterizerNxN.cxx:174 AliEMCALClusterizerNxN.cxx:175 AliEMCALClusterizerNxN.cxx:176 AliEMCALClusterizerNxN.cxx:177 AliEMCALClusterizerNxN.cxx:178 AliEMCALClusterizerNxN.cxx:179 AliEMCALClusterizerNxN.cxx:180 AliEMCALClusterizerNxN.cxx:181 AliEMCALClusterizerNxN.cxx:182 AliEMCALClusterizerNxN.cxx:183 AliEMCALClusterizerNxN.cxx:184 AliEMCALClusterizerNxN.cxx:185 AliEMCALClusterizerNxN.cxx:186 AliEMCALClusterizerNxN.cxx:187 AliEMCALClusterizerNxN.cxx:188 AliEMCALClusterizerNxN.cxx:189 AliEMCALClusterizerNxN.cxx:190 AliEMCALClusterizerNxN.cxx:191 AliEMCALClusterizerNxN.cxx:192 AliEMCALClusterizerNxN.cxx:193 AliEMCALClusterizerNxN.cxx:194 AliEMCALClusterizerNxN.cxx:195 AliEMCALClusterizerNxN.cxx:196 AliEMCALClusterizerNxN.cxx:197 AliEMCALClusterizerNxN.cxx:198 AliEMCALClusterizerNxN.cxx:199 AliEMCALClusterizerNxN.cxx:200 AliEMCALClusterizerNxN.cxx:201 AliEMCALClusterizerNxN.cxx:202 AliEMCALClusterizerNxN.cxx:203 AliEMCALClusterizerNxN.cxx:204 AliEMCALClusterizerNxN.cxx:205 AliEMCALClusterizerNxN.cxx:206 AliEMCALClusterizerNxN.cxx:207 AliEMCALClusterizerNxN.cxx:208 AliEMCALClusterizerNxN.cxx:209 AliEMCALClusterizerNxN.cxx:210 AliEMCALClusterizerNxN.cxx:211 AliEMCALClusterizerNxN.cxx:212 AliEMCALClusterizerNxN.cxx:213 AliEMCALClusterizerNxN.cxx:214 AliEMCALClusterizerNxN.cxx:215 AliEMCALClusterizerNxN.cxx:216 AliEMCALClusterizerNxN.cxx:217 AliEMCALClusterizerNxN.cxx:218 AliEMCALClusterizerNxN.cxx:219 AliEMCALClusterizerNxN.cxx:220 AliEMCALClusterizerNxN.cxx:221 AliEMCALClusterizerNxN.cxx:222 AliEMCALClusterizerNxN.cxx:223 AliEMCALClusterizerNxN.cxx:224 AliEMCALClusterizerNxN.cxx:225 AliEMCALClusterizerNxN.cxx:226 AliEMCALClusterizerNxN.cxx:227 AliEMCALClusterizerNxN.cxx:228 AliEMCALClusterizerNxN.cxx:229 AliEMCALClusterizerNxN.cxx:230 AliEMCALClusterizerNxN.cxx:231 AliEMCALClusterizerNxN.cxx:232 AliEMCALClusterizerNxN.cxx:233 AliEMCALClusterizerNxN.cxx:234 AliEMCALClusterizerNxN.cxx:235 AliEMCALClusterizerNxN.cxx:236 AliEMCALClusterizerNxN.cxx:237 AliEMCALClusterizerNxN.cxx:238 AliEMCALClusterizerNxN.cxx:239 AliEMCALClusterizerNxN.cxx:240 AliEMCALClusterizerNxN.cxx:241 AliEMCALClusterizerNxN.cxx:242 AliEMCALClusterizerNxN.cxx:243 AliEMCALClusterizerNxN.cxx:244 AliEMCALClusterizerNxN.cxx:245 AliEMCALClusterizerNxN.cxx:246 AliEMCALClusterizerNxN.cxx:247 AliEMCALClusterizerNxN.cxx:248 AliEMCALClusterizerNxN.cxx:249 AliEMCALClusterizerNxN.cxx:250 AliEMCALClusterizerNxN.cxx:251 AliEMCALClusterizerNxN.cxx:252 AliEMCALClusterizerNxN.cxx:253 AliEMCALClusterizerNxN.cxx:254 AliEMCALClusterizerNxN.cxx:255 AliEMCALClusterizerNxN.cxx:256 AliEMCALClusterizerNxN.cxx:257 AliEMCALClusterizerNxN.cxx:258 AliEMCALClusterizerNxN.cxx:259 AliEMCALClusterizerNxN.cxx:260 AliEMCALClusterizerNxN.cxx:261 AliEMCALClusterizerNxN.cxx:262 AliEMCALClusterizerNxN.cxx:263 AliEMCALClusterizerNxN.cxx:264 AliEMCALClusterizerNxN.cxx:265 AliEMCALClusterizerNxN.cxx:266 AliEMCALClusterizerNxN.cxx:267 AliEMCALClusterizerNxN.cxx:268 AliEMCALClusterizerNxN.cxx:269 AliEMCALClusterizerNxN.cxx:270 AliEMCALClusterizerNxN.cxx:271 AliEMCALClusterizerNxN.cxx:272 AliEMCALClusterizerNxN.cxx:273 AliEMCALClusterizerNxN.cxx:274 AliEMCALClusterizerNxN.cxx:275 AliEMCALClusterizerNxN.cxx:276 AliEMCALClusterizerNxN.cxx:277 AliEMCALClusterizerNxN.cxx:278 AliEMCALClusterizerNxN.cxx:279 AliEMCALClusterizerNxN.cxx:280 AliEMCALClusterizerNxN.cxx:281 AliEMCALClusterizerNxN.cxx:282 AliEMCALClusterizerNxN.cxx:283 AliEMCALClusterizerNxN.cxx:284 AliEMCALClusterizerNxN.cxx:285 AliEMCALClusterizerNxN.cxx:286 AliEMCALClusterizerNxN.cxx:287 AliEMCALClusterizerNxN.cxx:288 AliEMCALClusterizerNxN.cxx:289 AliEMCALClusterizerNxN.cxx:290 AliEMCALClusterizerNxN.cxx:291 AliEMCALClusterizerNxN.cxx:292 AliEMCALClusterizerNxN.cxx:293 AliEMCALClusterizerNxN.cxx:294 AliEMCALClusterizerNxN.cxx:295 AliEMCALClusterizerNxN.cxx:296 AliEMCALClusterizerNxN.cxx:297 AliEMCALClusterizerNxN.cxx:298 AliEMCALClusterizerNxN.cxx:299 AliEMCALClusterizerNxN.cxx:300 AliEMCALClusterizerNxN.cxx:301 AliEMCALClusterizerNxN.cxx:302 AliEMCALClusterizerNxN.cxx:303 AliEMCALClusterizerNxN.cxx:304 AliEMCALClusterizerNxN.cxx:305 AliEMCALClusterizerNxN.cxx:306 AliEMCALClusterizerNxN.cxx:307 AliEMCALClusterizerNxN.cxx:308 AliEMCALClusterizerNxN.cxx:309 AliEMCALClusterizerNxN.cxx:310 AliEMCALClusterizerNxN.cxx:311 AliEMCALClusterizerNxN.cxx:312 AliEMCALClusterizerNxN.cxx:313 AliEMCALClusterizerNxN.cxx:314 AliEMCALClusterizerNxN.cxx:315 AliEMCALClusterizerNxN.cxx:316 AliEMCALClusterizerNxN.cxx:317 AliEMCALClusterizerNxN.cxx:318 AliEMCALClusterizerNxN.cxx:319 AliEMCALClusterizerNxN.cxx:320 AliEMCALClusterizerNxN.cxx:321 AliEMCALClusterizerNxN.cxx:322 AliEMCALClusterizerNxN.cxx:323 AliEMCALClusterizerNxN.cxx:324 AliEMCALClusterizerNxN.cxx:325 AliEMCALClusterizerNxN.cxx:326 AliEMCALClusterizerNxN.cxx:327 AliEMCALClusterizerNxN.cxx:328 AliEMCALClusterizerNxN.cxx:329 AliEMCALClusterizerNxN.cxx:330 AliEMCALClusterizerNxN.cxx:331 AliEMCALClusterizerNxN.cxx:332 AliEMCALClusterizerNxN.cxx:333 AliEMCALClusterizerNxN.cxx:334 AliEMCALClusterizerNxN.cxx:335 AliEMCALClusterizerNxN.cxx:336 AliEMCALClusterizerNxN.cxx:337 AliEMCALClusterizerNxN.cxx:338 AliEMCALClusterizerNxN.cxx:339 AliEMCALClusterizerNxN.cxx:340 AliEMCALClusterizerNxN.cxx:341 AliEMCALClusterizerNxN.cxx:342 AliEMCALClusterizerNxN.cxx:343 AliEMCALClusterizerNxN.cxx:344 AliEMCALClusterizerNxN.cxx:345 AliEMCALClusterizerNxN.cxx:346 AliEMCALClusterizerNxN.cxx:347 AliEMCALClusterizerNxN.cxx:348 AliEMCALClusterizerNxN.cxx:349 AliEMCALClusterizerNxN.cxx:350 AliEMCALClusterizerNxN.cxx:351 AliEMCALClusterizerNxN.cxx:352 AliEMCALClusterizerNxN.cxx:353 AliEMCALClusterizerNxN.cxx:354