#include <TTree.h>
#include <TFile.h>
class TFolder;
#include <TMath.h>
#include <TMinuit.h>
#include <TTree.h>
class TSystem;
#include <TBenchmark.h>
#include <TBrowser.h>
#include <TROOT.h>
#include <cassert>
#include "AliEMCALClusterizer.h"
#include "AliEMCALReconstructor.h"
#include "AliRunLoader.h"
#include "AliRun.h"
#include "AliLog.h"
#include "AliEMCAL.h"
#include "AliEMCALRecPoint.h"
#include "AliEMCALRecParam.h"
#include "AliEMCALGeometry.h"
#include "AliEMCALRecParam.h"
#include "AliCDBManager.h"
#include "AliCaloCalibPedestal.h"
#include "AliEMCALCalibData.h"
class AliCDBStorage;
#include "AliCDBEntry.h"
ClassImp(AliEMCALClusterizer)
AliEMCALClusterizer::AliEMCALClusterizer():
fIsInputCalibrated(kFALSE),
fJustClusters(kFALSE),
fDigitsArr(NULL),
fTreeR(NULL),
fRecPoints(NULL),
fGeom(NULL),
fCalibData(NULL),
fCaloPed(NULL),
fADCchannelECA(0.),fADCpedestalECA(0.), fTimeECA(0.),
fTimeMin(-1.),fTimeMax(1.),fTimeCut(1.),
fDefaultInit(kFALSE),fToUnfold(kFALSE),
fNumberOfECAClusters(0), fECAClusteringThreshold(0.),
fECALocMaxCut(0.),fECAW0(0.),fMinECut(0.),fRejectBelowThreshold(0),
fClusterUnfolding(NULL)
{
Init();
}
AliEMCALClusterizer::AliEMCALClusterizer(AliEMCALGeometry* geometry):
fIsInputCalibrated(kFALSE),
fJustClusters(kFALSE),
fDigitsArr(NULL),
fTreeR(NULL),
fRecPoints(NULL),
fGeom(geometry),
fCalibData(NULL),
fCaloPed(NULL),
fADCchannelECA(0.),fADCpedestalECA(0.), fTimeECA(0.),
fTimeMin(-1.),fTimeMax(1.),fTimeCut(1.),
fDefaultInit(kFALSE),fToUnfold(kFALSE),
fNumberOfECAClusters(0), fECAClusteringThreshold(0.),
fECALocMaxCut(0.),fECAW0(0.),fMinECut(0.),fRejectBelowThreshold(0),
fClusterUnfolding(NULL)
{
if (!fGeom)
{
AliFatal("Geometry not initialized.");
}
Int_t i=0;
for (i = 0; i < 8; i++)
fSSPars[i] = 0.;
for (i = 0; i < 3; i++) {
fPar5[i] = 0.;
fPar6[i] = 0.;
}
}
AliEMCALClusterizer::AliEMCALClusterizer(AliEMCALGeometry *geometry,
AliEMCALCalibData *calib,
AliCaloCalibPedestal *caloped):
fIsInputCalibrated(kFALSE),
fJustClusters(kFALSE),
fDigitsArr(NULL),
fTreeR(NULL),
fRecPoints(NULL),
fGeom(geometry),
fCalibData(calib),
fCaloPed(caloped),
fADCchannelECA(0.),fADCpedestalECA(0.), fTimeECA(0.),
fTimeMin(-1.),fTimeMax(1.),fTimeCut(1.),
fDefaultInit(kFALSE),fToUnfold(kFALSE),
fNumberOfECAClusters(0), fECAClusteringThreshold(0.),
fECALocMaxCut(0.),fECAW0(0.),fMinECut(0.),fRejectBelowThreshold(0),
fClusterUnfolding(NULL)
{
if (!fGeom)
AliFatal("Geometry not initialized.");
Int_t i=0;
for (i = 0; i < 8; i++)
fSSPars[i] = 0.;
for (i = 0; i < 3; i++) {
fPar5[i] = 0.;
fPar6[i] = 0.;
}
}
AliEMCALClusterizer::~AliEMCALClusterizer()
{
if(fClusterUnfolding) delete fClusterUnfolding;
DeleteRecPoints();
DeleteDigits();
}
void AliEMCALClusterizer::DeleteRecPoints()
{
if (fRecPoints)
{
AliDebug(2, "Deleting fRecPoints.");
fRecPoints->Delete();
delete fRecPoints;
fRecPoints = 0;
}
}
void AliEMCALClusterizer::DeleteDigits()
{
if (fDigitsArr)
{
AliDebug(2, "Deleting fDigitsArr.");
fDigitsArr->Clear("C");
delete fDigitsArr;
fDigitsArr = 0;
}
}
void AliEMCALClusterizer::Calibrate(Float_t & amp, Float_t & time, const Int_t absId)
{
if (!fCalibData && !fCaloPed) {
if (fIsInputCalibrated == kTRUE)
{
AliDebug(10, Form("Input already calibrated!"));
return ;
}
else{
AliFatal("OCDB calibration and bad map parameters are not available");
return;
}
}
if (fGeom==0)
AliFatal("Did not get geometry from EMCALLoader") ;
Int_t iSupMod = -1;
Int_t nModule = -1;
Int_t nIphi = -1;
Int_t nIeta = -1;
Int_t iphi = -1;
Int_t ieta = -1;
Bool_t bCell = fGeom->GetCellIndex(absId, iSupMod, nModule, nIphi, nIeta) ;
if(!bCell) {
fGeom->PrintGeometry();
AliError(Form("Wrong cell id number : %i", absId));
amp = 0;
time = 0;
return ;
}
fGeom->GetCellPhiEtaIndexInSModule(iSupMod,nModule,nIphi, nIeta,iphi,ieta);
if (fCaloPed) {
Int_t channelStatus = (Int_t)(fCaloPed->GetDeadMap(iSupMod))->GetBinContent(ieta,iphi);
if(channelStatus == AliCaloCalibPedestal::kHot || channelStatus == AliCaloCalibPedestal::kDead) {
AliDebug(2,Form("Tower from SM %d, ieta %d, iphi %d is BAD : status %d !!!",iSupMod,ieta,iphi, channelStatus));
amp = 0 ;
time = 0 ;
return ;
}
}
if (fIsInputCalibrated || !fCalibData)
{
AliDebug(10, Form("Input already calibrated!"));
return ;
}
Int_t bc = 0;
fADCchannelECA = fCalibData->GetADCchannel (iSupMod,ieta,iphi);
fADCpedestalECA = fCalibData->GetADCpedestal(iSupMod,ieta,iphi);
fTimeECA = fCalibData->GetTimeChannel(iSupMod,ieta,iphi, bc);
time -= fTimeECA ;
amp = amp * fADCchannelECA - fADCpedestalECA ;
}
void AliEMCALClusterizer::GetCalibrationParameters()
{
if (fIsInputCalibrated)
return;
if(!fCalibData)
{
AliCDBEntry *entry = (AliCDBEntry*)
AliCDBManager::Instance()->Get("EMCAL/Calib/Data");
if (entry) fCalibData = (AliEMCALCalibData*) entry->GetObject();
}
if(!fCalibData)
AliFatal("Calibration parameters not found in CDB!");
}
void AliEMCALClusterizer::GetCaloCalibPedestal()
{
if (fIsInputCalibrated)
return;
if(!fCaloPed)
{
AliCDBEntry *entry = (AliCDBEntry*)
AliCDBManager::Instance()->Get("EMCAL/Calib/Pedestals");
if (entry) fCaloPed = (AliCaloCalibPedestal*) entry->GetObject();
}
if(!fCaloPed)
AliFatal("Pedestal info not found in CDB!");
}
void AliEMCALClusterizer::Init()
{
AliRunLoader *rl = AliRunLoader::Instance();
if (rl->GetAliRun()){
AliEMCAL* emcal = dynamic_cast<AliEMCAL*>(rl->GetAliRun()->GetDetector("EMCAL"));
if(emcal)fGeom = emcal->GetGeometry();
}
if(!fGeom){
fGeom = AliEMCALGeometry::GetInstance(AliEMCALGeometry::GetDefaultGeometryName());
}
AliDebug(1,Form("geom %p",fGeom));
if(!gMinuit)
gMinuit = new TMinuit(100) ;
Int_t i=0;
for (i = 0; i < 8; i++)
fSSPars[i] = 0.;
for (i = 0; i < 3; i++) {
fPar5[i] = 0.;
fPar6[i] = 0.;
}
}
void AliEMCALClusterizer::InitParameters()
{
return InitParameters(AliEMCALReconstructor::GetRecParam());
}
void AliEMCALClusterizer::InitParameters(const AliEMCALRecParam* recParam)
{
fNumberOfECAClusters = 0 ;
fCalibData = 0 ;
fCaloPed = 0 ;
if(!recParam) {
AliFatal("Reconstruction parameters for EMCAL not set!");
}
fECAClusteringThreshold = recParam->GetClusteringThreshold();
fECAW0 = recParam->GetW0();
fMinECut = recParam->GetMinECut();
fRejectBelowThreshold = recParam->GetRejectBelowThreshold();
fToUnfold = recParam->GetUnfold();
fECALocMaxCut = recParam->GetLocMaxCut();
fTimeCut = recParam->GetTimeCut();
fTimeMin = recParam->GetTimeMin();
fTimeMax = recParam->GetTimeMax();
SetNRowDiff(recParam->GetNRowDiff());
SetNColDiff(recParam->GetNColDiff());
AliDebug(1,Form("Reconstruction parameters: fECAClusteringThreshold=%.3f GeV, fECAW=%.3f, fMinECut=%.3f GeV, "
"fToUnfold=%d, fECALocMaxCut=%.3f GeV, fTimeCut=%e s,fTimeMin=%e s,fTimeMax=%e s,fRejectBelowThreshold=%d",
fECAClusteringThreshold,fECAW0,fMinECut,fToUnfold,fECALocMaxCut,fTimeCut, fTimeMin, fTimeMax,
fRejectBelowThreshold));
if (fToUnfold) {
Int_t i=0;
for (i = 0; i < 8; i++) {
fSSPars[i] = recParam->GetSSPars(i);
}
for (i = 0; i < 3; i++) {
fPar5[i] = recParam->GetPar5(i);
fPar6[i] = recParam->GetPar6(i);
}
InitClusterUnfolding();
for (i = 0; i < 8; i++) {
AliDebug(1,Form("unfolding shower shape parameters: fSSPars=%f \n",fSSPars[i]));
}
for (i = 0; i < 3; i++) {
AliDebug(1,Form("unfolding parameter 5: fPar5=%f \n",fPar5[i]));
AliDebug(1,Form("unfolding parameter 6: fPar6=%f \n",fPar6[i]));
}
}
}
void AliEMCALClusterizer::Print(Option_t * )const
{
TString message("\n") ;
if (strcmp(GetName(),"") == 0) {
printf("AliEMCALClusterizer not initialized\n");
return;
}
TString taskName(Version()) ;
printf("--------------- ");
printf("%s",taskName.Data()) ;
printf(" ");
printf("Clusterizing digits: ");
printf("\n ECA Local Maximum cut = %f", fECALocMaxCut);
printf("\n ECA Logarithmic weight = %f", fECAW0);
if (fToUnfold) {
printf("\nUnfolding on\n");
printf("Unfolding parameters: fSSpars: \n");
Int_t i=0;
for (i = 0; i < 8; i++) {
printf("fSSPars[%d] = %f \n", i, fSSPars[i]);
}
printf("Unfolding parameter 5 and 6: fPar5 and fPar6: \n");
for (i = 0; i < 3; i++) {
printf("fPar5[%d] = %f \n", i, fPar5[i]);
printf("fPar6[%d] = %f \n", i, fPar6[i]);
}
}
else
printf("\nUnfolding off\n");
printf("------------------------------------------------------------------");
}
void AliEMCALClusterizer::PrintRecPoints(Option_t * option)
{
if (strstr(option,"deb")) {
printf("PrintRecPoints: Clusterization result:") ;
printf(" Found %d ECA Rec Points\n ",
fRecPoints->GetEntriesFast()) ;
}
if (strstr(option,"all")) {
if (strstr(option,"deb")) {
printf("\n-----------------------------------------------------------------------\n") ;
printf("Clusters in ECAL section\n") ;
printf("Index Ene(GeV) Multi Module GX GY GZ lX lY lZ Dispersion Lambda 1 Lambda 2 # of prim Primaries list\n") ;
}
Int_t index;
for (index = 0 ; index < fRecPoints->GetEntries() ; index++) {
AliEMCALRecPoint * rp = dynamic_cast<AliEMCALRecPoint * >(fRecPoints->At(index)) ;
if (!rp)
continue;
TVector3 globalpos;
TVector3 localpos;
rp->GetLocalPosition(localpos);
Float_t lambda[2];
rp->GetElipsAxis(lambda);
Int_t nprimaries=0;
Int_t * primaries = rp->GetPrimaries(nprimaries);
if(strstr(option,"deb"))
printf("\n%6d %8.4f %3d %4.1f %4.1f %4.1f %4.1f %4.1f %4.1f %4.1f %4f %4f %2d : ",
rp->GetIndexInList(), rp->GetEnergy(), rp->GetMultiplicity(),
globalpos.X(), globalpos.Y(), globalpos.Z(), localpos.X(), localpos.Y(), localpos.Z(),
rp->GetDispersion(), lambda[0], lambda[1], nprimaries) ;
if(strstr(option,"deb")){
for (Int_t iprimary=0; iprimary<nprimaries; iprimary++) {
printf("%d ", primaries[iprimary] ) ;
}
}
}
if(strstr(option,"deb"))
printf("\n-----------------------------------------------------------------------\n");
}
}
void AliEMCALClusterizer::PrintRecoInfo()
{
printf(" AliEMCALClusterizer::PrintRecoInfo() : version %s \n", Version() );
}
void AliEMCALClusterizer::SetInput(TTree *digitsTree)
{
TBranch *branch = digitsTree->GetBranch("EMCAL");
if (!branch)
{
AliError("can't get the branch with the EMCAL digits !");
return;
}
if (!fDigitsArr) fDigitsArr = new TClonesArray("AliEMCALDigit",100);
else fDigitsArr->Clear("C");
branch->SetAddress(&fDigitsArr);
branch->GetEntry(0);
}
void AliEMCALClusterizer::SetOutput(TTree *clustersTree)
{
AliDebug(9, "Making array for EMCAL clusters");
fRecPoints = new TObjArray(1000);
if (clustersTree) {
fTreeR = clustersTree;
Int_t split = 0;
Int_t bufsize = 32000;
fTreeR->Branch("EMCALECARP", "TObjArray", &fRecPoints, bufsize, split);
}
}
void AliEMCALClusterizer::SetInputCalibrated(Bool_t val)
{
fIsInputCalibrated = val;
}
void AliEMCALClusterizer::SetJustClusters(Bool_t val)
{
fJustClusters = val;
}
AliEMCALClusterizer.cxx:1 AliEMCALClusterizer.cxx:2 AliEMCALClusterizer.cxx:3 AliEMCALClusterizer.cxx:4 AliEMCALClusterizer.cxx:5 AliEMCALClusterizer.cxx:6 AliEMCALClusterizer.cxx:7 AliEMCALClusterizer.cxx:8 AliEMCALClusterizer.cxx:9 AliEMCALClusterizer.cxx:10 AliEMCALClusterizer.cxx:11 AliEMCALClusterizer.cxx:12 AliEMCALClusterizer.cxx:13 AliEMCALClusterizer.cxx:14 AliEMCALClusterizer.cxx:15 AliEMCALClusterizer.cxx:16 AliEMCALClusterizer.cxx:17 AliEMCALClusterizer.cxx:18 AliEMCALClusterizer.cxx:19 AliEMCALClusterizer.cxx:20 AliEMCALClusterizer.cxx:21 AliEMCALClusterizer.cxx:22 AliEMCALClusterizer.cxx:23 AliEMCALClusterizer.cxx:24 AliEMCALClusterizer.cxx:25 AliEMCALClusterizer.cxx:26 AliEMCALClusterizer.cxx:27 AliEMCALClusterizer.cxx:28 AliEMCALClusterizer.cxx:29 AliEMCALClusterizer.cxx:30 AliEMCALClusterizer.cxx:31 AliEMCALClusterizer.cxx:32 AliEMCALClusterizer.cxx:33 AliEMCALClusterizer.cxx:34 AliEMCALClusterizer.cxx:35 AliEMCALClusterizer.cxx:36 AliEMCALClusterizer.cxx:37 AliEMCALClusterizer.cxx:38 AliEMCALClusterizer.cxx:39 AliEMCALClusterizer.cxx:40 AliEMCALClusterizer.cxx:41 AliEMCALClusterizer.cxx:42 AliEMCALClusterizer.cxx:43 AliEMCALClusterizer.cxx:44 AliEMCALClusterizer.cxx:45 AliEMCALClusterizer.cxx:46 AliEMCALClusterizer.cxx:47 AliEMCALClusterizer.cxx:48 AliEMCALClusterizer.cxx:49 AliEMCALClusterizer.cxx:50 AliEMCALClusterizer.cxx:51 AliEMCALClusterizer.cxx:52 AliEMCALClusterizer.cxx:53 AliEMCALClusterizer.cxx:54 AliEMCALClusterizer.cxx:55 AliEMCALClusterizer.cxx:56 AliEMCALClusterizer.cxx:57 AliEMCALClusterizer.cxx:58 AliEMCALClusterizer.cxx:59 AliEMCALClusterizer.cxx:60 AliEMCALClusterizer.cxx:61 AliEMCALClusterizer.cxx:62 AliEMCALClusterizer.cxx:63 AliEMCALClusterizer.cxx:64 AliEMCALClusterizer.cxx:65 AliEMCALClusterizer.cxx:66 AliEMCALClusterizer.cxx:67 AliEMCALClusterizer.cxx:68 AliEMCALClusterizer.cxx:69 AliEMCALClusterizer.cxx:70 AliEMCALClusterizer.cxx:71 AliEMCALClusterizer.cxx:72 AliEMCALClusterizer.cxx:73 AliEMCALClusterizer.cxx:74 AliEMCALClusterizer.cxx:75 AliEMCALClusterizer.cxx:76 AliEMCALClusterizer.cxx:77 AliEMCALClusterizer.cxx:78 AliEMCALClusterizer.cxx:79 AliEMCALClusterizer.cxx:80 AliEMCALClusterizer.cxx:81 AliEMCALClusterizer.cxx:82 AliEMCALClusterizer.cxx:83 AliEMCALClusterizer.cxx:84 AliEMCALClusterizer.cxx:85 AliEMCALClusterizer.cxx:86 AliEMCALClusterizer.cxx:87 AliEMCALClusterizer.cxx:88 AliEMCALClusterizer.cxx:89 AliEMCALClusterizer.cxx:90 AliEMCALClusterizer.cxx:91 AliEMCALClusterizer.cxx:92 AliEMCALClusterizer.cxx:93 AliEMCALClusterizer.cxx:94 AliEMCALClusterizer.cxx:95 AliEMCALClusterizer.cxx:96 AliEMCALClusterizer.cxx:97 AliEMCALClusterizer.cxx:98 AliEMCALClusterizer.cxx:99 AliEMCALClusterizer.cxx:100 AliEMCALClusterizer.cxx:101 AliEMCALClusterizer.cxx:102 AliEMCALClusterizer.cxx:103 AliEMCALClusterizer.cxx:104 AliEMCALClusterizer.cxx:105 AliEMCALClusterizer.cxx:106 AliEMCALClusterizer.cxx:107 AliEMCALClusterizer.cxx:108 AliEMCALClusterizer.cxx:109 AliEMCALClusterizer.cxx:110 AliEMCALClusterizer.cxx:111 AliEMCALClusterizer.cxx:112 AliEMCALClusterizer.cxx:113 AliEMCALClusterizer.cxx:114 AliEMCALClusterizer.cxx:115 AliEMCALClusterizer.cxx:116 AliEMCALClusterizer.cxx:117 AliEMCALClusterizer.cxx:118 AliEMCALClusterizer.cxx:119 AliEMCALClusterizer.cxx:120 AliEMCALClusterizer.cxx:121 AliEMCALClusterizer.cxx:122 AliEMCALClusterizer.cxx:123 AliEMCALClusterizer.cxx:124 AliEMCALClusterizer.cxx:125 AliEMCALClusterizer.cxx:126 AliEMCALClusterizer.cxx:127 AliEMCALClusterizer.cxx:128 AliEMCALClusterizer.cxx:129 AliEMCALClusterizer.cxx:130 AliEMCALClusterizer.cxx:131 AliEMCALClusterizer.cxx:132 AliEMCALClusterizer.cxx:133 AliEMCALClusterizer.cxx:134 AliEMCALClusterizer.cxx:135 AliEMCALClusterizer.cxx:136 AliEMCALClusterizer.cxx:137 AliEMCALClusterizer.cxx:138 AliEMCALClusterizer.cxx:139 AliEMCALClusterizer.cxx:140 AliEMCALClusterizer.cxx:141 AliEMCALClusterizer.cxx:142 AliEMCALClusterizer.cxx:143 AliEMCALClusterizer.cxx:144 AliEMCALClusterizer.cxx:145 AliEMCALClusterizer.cxx:146 AliEMCALClusterizer.cxx:147 AliEMCALClusterizer.cxx:148 AliEMCALClusterizer.cxx:149 AliEMCALClusterizer.cxx:150 AliEMCALClusterizer.cxx:151 AliEMCALClusterizer.cxx:152 AliEMCALClusterizer.cxx:153 AliEMCALClusterizer.cxx:154 AliEMCALClusterizer.cxx:155 AliEMCALClusterizer.cxx:156 AliEMCALClusterizer.cxx:157 AliEMCALClusterizer.cxx:158 AliEMCALClusterizer.cxx:159 AliEMCALClusterizer.cxx:160 AliEMCALClusterizer.cxx:161 AliEMCALClusterizer.cxx:162 AliEMCALClusterizer.cxx:163 AliEMCALClusterizer.cxx:164 AliEMCALClusterizer.cxx:165 AliEMCALClusterizer.cxx:166 AliEMCALClusterizer.cxx:167 AliEMCALClusterizer.cxx:168 AliEMCALClusterizer.cxx:169 AliEMCALClusterizer.cxx:170 AliEMCALClusterizer.cxx:171 AliEMCALClusterizer.cxx:172 AliEMCALClusterizer.cxx:173 AliEMCALClusterizer.cxx:174 AliEMCALClusterizer.cxx:175 AliEMCALClusterizer.cxx:176 AliEMCALClusterizer.cxx:177 AliEMCALClusterizer.cxx:178 AliEMCALClusterizer.cxx:179 AliEMCALClusterizer.cxx:180 AliEMCALClusterizer.cxx:181 AliEMCALClusterizer.cxx:182 AliEMCALClusterizer.cxx:183 AliEMCALClusterizer.cxx:184 AliEMCALClusterizer.cxx:185 AliEMCALClusterizer.cxx:186 AliEMCALClusterizer.cxx:187 AliEMCALClusterizer.cxx:188 AliEMCALClusterizer.cxx:189 AliEMCALClusterizer.cxx:190 AliEMCALClusterizer.cxx:191 AliEMCALClusterizer.cxx:192 AliEMCALClusterizer.cxx:193 AliEMCALClusterizer.cxx:194 AliEMCALClusterizer.cxx:195 AliEMCALClusterizer.cxx:196 AliEMCALClusterizer.cxx:197 AliEMCALClusterizer.cxx:198 AliEMCALClusterizer.cxx:199 AliEMCALClusterizer.cxx:200 AliEMCALClusterizer.cxx:201 AliEMCALClusterizer.cxx:202 AliEMCALClusterizer.cxx:203 AliEMCALClusterizer.cxx:204 AliEMCALClusterizer.cxx:205 AliEMCALClusterizer.cxx:206 AliEMCALClusterizer.cxx:207 AliEMCALClusterizer.cxx:208 AliEMCALClusterizer.cxx:209 AliEMCALClusterizer.cxx:210 AliEMCALClusterizer.cxx:211 AliEMCALClusterizer.cxx:212 AliEMCALClusterizer.cxx:213 AliEMCALClusterizer.cxx:214 AliEMCALClusterizer.cxx:215 AliEMCALClusterizer.cxx:216 AliEMCALClusterizer.cxx:217 AliEMCALClusterizer.cxx:218 AliEMCALClusterizer.cxx:219 AliEMCALClusterizer.cxx:220 AliEMCALClusterizer.cxx:221 AliEMCALClusterizer.cxx:222 AliEMCALClusterizer.cxx:223 AliEMCALClusterizer.cxx:224 AliEMCALClusterizer.cxx:225 AliEMCALClusterizer.cxx:226 AliEMCALClusterizer.cxx:227 AliEMCALClusterizer.cxx:228 AliEMCALClusterizer.cxx:229 AliEMCALClusterizer.cxx:230 AliEMCALClusterizer.cxx:231 AliEMCALClusterizer.cxx:232 AliEMCALClusterizer.cxx:233 AliEMCALClusterizer.cxx:234 AliEMCALClusterizer.cxx:235 AliEMCALClusterizer.cxx:236 AliEMCALClusterizer.cxx:237 AliEMCALClusterizer.cxx:238 AliEMCALClusterizer.cxx:239 AliEMCALClusterizer.cxx:240 AliEMCALClusterizer.cxx:241 AliEMCALClusterizer.cxx:242 AliEMCALClusterizer.cxx:243 AliEMCALClusterizer.cxx:244 AliEMCALClusterizer.cxx:245 AliEMCALClusterizer.cxx:246 AliEMCALClusterizer.cxx:247 AliEMCALClusterizer.cxx:248 AliEMCALClusterizer.cxx:249 AliEMCALClusterizer.cxx:250 AliEMCALClusterizer.cxx:251 AliEMCALClusterizer.cxx:252 AliEMCALClusterizer.cxx:253 AliEMCALClusterizer.cxx:254 AliEMCALClusterizer.cxx:255 AliEMCALClusterizer.cxx:256 AliEMCALClusterizer.cxx:257 AliEMCALClusterizer.cxx:258 AliEMCALClusterizer.cxx:259 AliEMCALClusterizer.cxx:260 AliEMCALClusterizer.cxx:261 AliEMCALClusterizer.cxx:262 AliEMCALClusterizer.cxx:263 AliEMCALClusterizer.cxx:264 AliEMCALClusterizer.cxx:265 AliEMCALClusterizer.cxx:266 AliEMCALClusterizer.cxx:267 AliEMCALClusterizer.cxx:268 AliEMCALClusterizer.cxx:269 AliEMCALClusterizer.cxx:270 AliEMCALClusterizer.cxx:271 AliEMCALClusterizer.cxx:272 AliEMCALClusterizer.cxx:273 AliEMCALClusterizer.cxx:274 AliEMCALClusterizer.cxx:275 AliEMCALClusterizer.cxx:276 AliEMCALClusterizer.cxx:277 AliEMCALClusterizer.cxx:278 AliEMCALClusterizer.cxx:279 AliEMCALClusterizer.cxx:280 AliEMCALClusterizer.cxx:281 AliEMCALClusterizer.cxx:282 AliEMCALClusterizer.cxx:283 AliEMCALClusterizer.cxx:284 AliEMCALClusterizer.cxx:285 AliEMCALClusterizer.cxx:286 AliEMCALClusterizer.cxx:287 AliEMCALClusterizer.cxx:288 AliEMCALClusterizer.cxx:289 AliEMCALClusterizer.cxx:290 AliEMCALClusterizer.cxx:291 AliEMCALClusterizer.cxx:292 AliEMCALClusterizer.cxx:293 AliEMCALClusterizer.cxx:294 AliEMCALClusterizer.cxx:295 AliEMCALClusterizer.cxx:296 AliEMCALClusterizer.cxx:297 AliEMCALClusterizer.cxx:298 AliEMCALClusterizer.cxx:299 AliEMCALClusterizer.cxx:300 AliEMCALClusterizer.cxx:301 AliEMCALClusterizer.cxx:302 AliEMCALClusterizer.cxx:303 AliEMCALClusterizer.cxx:304 AliEMCALClusterizer.cxx:305 AliEMCALClusterizer.cxx:306 AliEMCALClusterizer.cxx:307 AliEMCALClusterizer.cxx:308 AliEMCALClusterizer.cxx:309 AliEMCALClusterizer.cxx:310 AliEMCALClusterizer.cxx:311 AliEMCALClusterizer.cxx:312 AliEMCALClusterizer.cxx:313 AliEMCALClusterizer.cxx:314 AliEMCALClusterizer.cxx:315 AliEMCALClusterizer.cxx:316 AliEMCALClusterizer.cxx:317 AliEMCALClusterizer.cxx:318 AliEMCALClusterizer.cxx:319 AliEMCALClusterizer.cxx:320 AliEMCALClusterizer.cxx:321 AliEMCALClusterizer.cxx:322 AliEMCALClusterizer.cxx:323 AliEMCALClusterizer.cxx:324 AliEMCALClusterizer.cxx:325 AliEMCALClusterizer.cxx:326 AliEMCALClusterizer.cxx:327 AliEMCALClusterizer.cxx:328 AliEMCALClusterizer.cxx:329 AliEMCALClusterizer.cxx:330 AliEMCALClusterizer.cxx:331 AliEMCALClusterizer.cxx:332 AliEMCALClusterizer.cxx:333 AliEMCALClusterizer.cxx:334 AliEMCALClusterizer.cxx:335 AliEMCALClusterizer.cxx:336 AliEMCALClusterizer.cxx:337 AliEMCALClusterizer.cxx:338 AliEMCALClusterizer.cxx:339 AliEMCALClusterizer.cxx:340 AliEMCALClusterizer.cxx:341 AliEMCALClusterizer.cxx:342 AliEMCALClusterizer.cxx:343 AliEMCALClusterizer.cxx:344 AliEMCALClusterizer.cxx:345 AliEMCALClusterizer.cxx:346 AliEMCALClusterizer.cxx:347 AliEMCALClusterizer.cxx:348 AliEMCALClusterizer.cxx:349 AliEMCALClusterizer.cxx:350 AliEMCALClusterizer.cxx:351 AliEMCALClusterizer.cxx:352 AliEMCALClusterizer.cxx:353 AliEMCALClusterizer.cxx:354 AliEMCALClusterizer.cxx:355 AliEMCALClusterizer.cxx:356 AliEMCALClusterizer.cxx:357 AliEMCALClusterizer.cxx:358 AliEMCALClusterizer.cxx:359 AliEMCALClusterizer.cxx:360 AliEMCALClusterizer.cxx:361 AliEMCALClusterizer.cxx:362 AliEMCALClusterizer.cxx:363 AliEMCALClusterizer.cxx:364 AliEMCALClusterizer.cxx:365 AliEMCALClusterizer.cxx:366 AliEMCALClusterizer.cxx:367 AliEMCALClusterizer.cxx:368 AliEMCALClusterizer.cxx:369 AliEMCALClusterizer.cxx:370 AliEMCALClusterizer.cxx:371 AliEMCALClusterizer.cxx:372 AliEMCALClusterizer.cxx:373 AliEMCALClusterizer.cxx:374 AliEMCALClusterizer.cxx:375 AliEMCALClusterizer.cxx:376 AliEMCALClusterizer.cxx:377 AliEMCALClusterizer.cxx:378 AliEMCALClusterizer.cxx:379 AliEMCALClusterizer.cxx:380 AliEMCALClusterizer.cxx:381 AliEMCALClusterizer.cxx:382 AliEMCALClusterizer.cxx:383 AliEMCALClusterizer.cxx:384 AliEMCALClusterizer.cxx:385 AliEMCALClusterizer.cxx:386 AliEMCALClusterizer.cxx:387 AliEMCALClusterizer.cxx:388 AliEMCALClusterizer.cxx:389 AliEMCALClusterizer.cxx:390 AliEMCALClusterizer.cxx:391 AliEMCALClusterizer.cxx:392 AliEMCALClusterizer.cxx:393 AliEMCALClusterizer.cxx:394 AliEMCALClusterizer.cxx:395 AliEMCALClusterizer.cxx:396 AliEMCALClusterizer.cxx:397 AliEMCALClusterizer.cxx:398 AliEMCALClusterizer.cxx:399 AliEMCALClusterizer.cxx:400 AliEMCALClusterizer.cxx:401 AliEMCALClusterizer.cxx:402 AliEMCALClusterizer.cxx:403 AliEMCALClusterizer.cxx:404 AliEMCALClusterizer.cxx:405 AliEMCALClusterizer.cxx:406 AliEMCALClusterizer.cxx:407 AliEMCALClusterizer.cxx:408 AliEMCALClusterizer.cxx:409 AliEMCALClusterizer.cxx:410 AliEMCALClusterizer.cxx:411 AliEMCALClusterizer.cxx:412 AliEMCALClusterizer.cxx:413 AliEMCALClusterizer.cxx:414 AliEMCALClusterizer.cxx:415 AliEMCALClusterizer.cxx:416 AliEMCALClusterizer.cxx:417 AliEMCALClusterizer.cxx:418 AliEMCALClusterizer.cxx:419 AliEMCALClusterizer.cxx:420 AliEMCALClusterizer.cxx:421 AliEMCALClusterizer.cxx:422 AliEMCALClusterizer.cxx:423 AliEMCALClusterizer.cxx:424 AliEMCALClusterizer.cxx:425 AliEMCALClusterizer.cxx:426 AliEMCALClusterizer.cxx:427 AliEMCALClusterizer.cxx:428 AliEMCALClusterizer.cxx:429 AliEMCALClusterizer.cxx:430 AliEMCALClusterizer.cxx:431 AliEMCALClusterizer.cxx:432 AliEMCALClusterizer.cxx:433 AliEMCALClusterizer.cxx:434 AliEMCALClusterizer.cxx:435 AliEMCALClusterizer.cxx:436 AliEMCALClusterizer.cxx:437 AliEMCALClusterizer.cxx:438 AliEMCALClusterizer.cxx:439 AliEMCALClusterizer.cxx:440 AliEMCALClusterizer.cxx:441 AliEMCALClusterizer.cxx:442 AliEMCALClusterizer.cxx:443 AliEMCALClusterizer.cxx:444 AliEMCALClusterizer.cxx:445 AliEMCALClusterizer.cxx:446 AliEMCALClusterizer.cxx:447 AliEMCALClusterizer.cxx:448 AliEMCALClusterizer.cxx:449 AliEMCALClusterizer.cxx:450 AliEMCALClusterizer.cxx:451 AliEMCALClusterizer.cxx:452 AliEMCALClusterizer.cxx:453 AliEMCALClusterizer.cxx:454 AliEMCALClusterizer.cxx:455 AliEMCALClusterizer.cxx:456 AliEMCALClusterizer.cxx:457 AliEMCALClusterizer.cxx:458 AliEMCALClusterizer.cxx:459 AliEMCALClusterizer.cxx:460 AliEMCALClusterizer.cxx:461 AliEMCALClusterizer.cxx:462 AliEMCALClusterizer.cxx:463 AliEMCALClusterizer.cxx:464 AliEMCALClusterizer.cxx:465 AliEMCALClusterizer.cxx:466 AliEMCALClusterizer.cxx:467 AliEMCALClusterizer.cxx:468 AliEMCALClusterizer.cxx:469 AliEMCALClusterizer.cxx:470 AliEMCALClusterizer.cxx:471 AliEMCALClusterizer.cxx:472 AliEMCALClusterizer.cxx:473 AliEMCALClusterizer.cxx:474 AliEMCALClusterizer.cxx:475 AliEMCALClusterizer.cxx:476 AliEMCALClusterizer.cxx:477 AliEMCALClusterizer.cxx:478 AliEMCALClusterizer.cxx:479 AliEMCALClusterizer.cxx:480 AliEMCALClusterizer.cxx:481 AliEMCALClusterizer.cxx:482 AliEMCALClusterizer.cxx:483 AliEMCALClusterizer.cxx:484 AliEMCALClusterizer.cxx:485 AliEMCALClusterizer.cxx:486 AliEMCALClusterizer.cxx:487 AliEMCALClusterizer.cxx:488 AliEMCALClusterizer.cxx:489 AliEMCALClusterizer.cxx:490 AliEMCALClusterizer.cxx:491 AliEMCALClusterizer.cxx:492 AliEMCALClusterizer.cxx:493 AliEMCALClusterizer.cxx:494 AliEMCALClusterizer.cxx:495 AliEMCALClusterizer.cxx:496 AliEMCALClusterizer.cxx:497 AliEMCALClusterizer.cxx:498 AliEMCALClusterizer.cxx:499 AliEMCALClusterizer.cxx:500 AliEMCALClusterizer.cxx:501 AliEMCALClusterizer.cxx:502 AliEMCALClusterizer.cxx:503 AliEMCALClusterizer.cxx:504 AliEMCALClusterizer.cxx:505 AliEMCALClusterizer.cxx:506 AliEMCALClusterizer.cxx:507 AliEMCALClusterizer.cxx:508 AliEMCALClusterizer.cxx:509 AliEMCALClusterizer.cxx:510 AliEMCALClusterizer.cxx:511 AliEMCALClusterizer.cxx:512 AliEMCALClusterizer.cxx:513 AliEMCALClusterizer.cxx:514 AliEMCALClusterizer.cxx:515 AliEMCALClusterizer.cxx:516 AliEMCALClusterizer.cxx:517 AliEMCALClusterizer.cxx:518 AliEMCALClusterizer.cxx:519 AliEMCALClusterizer.cxx:520 AliEMCALClusterizer.cxx:521 AliEMCALClusterizer.cxx:522 AliEMCALClusterizer.cxx:523 AliEMCALClusterizer.cxx:524 AliEMCALClusterizer.cxx:525 AliEMCALClusterizer.cxx:526 AliEMCALClusterizer.cxx:527 AliEMCALClusterizer.cxx:528 AliEMCALClusterizer.cxx:529 AliEMCALClusterizer.cxx:530 AliEMCALClusterizer.cxx:531 AliEMCALClusterizer.cxx:532 AliEMCALClusterizer.cxx:533 AliEMCALClusterizer.cxx:534 AliEMCALClusterizer.cxx:535 AliEMCALClusterizer.cxx:536 AliEMCALClusterizer.cxx:537 AliEMCALClusterizer.cxx:538 AliEMCALClusterizer.cxx:539 AliEMCALClusterizer.cxx:540 AliEMCALClusterizer.cxx:541 AliEMCALClusterizer.cxx:542 AliEMCALClusterizer.cxx:543 AliEMCALClusterizer.cxx:544 AliEMCALClusterizer.cxx:545 AliEMCALClusterizer.cxx:546 AliEMCALClusterizer.cxx:547 AliEMCALClusterizer.cxx:548 AliEMCALClusterizer.cxx:549 AliEMCALClusterizer.cxx:550 AliEMCALClusterizer.cxx:551 AliEMCALClusterizer.cxx:552 AliEMCALClusterizer.cxx:553 AliEMCALClusterizer.cxx:554 AliEMCALClusterizer.cxx:555 AliEMCALClusterizer.cxx:556 AliEMCALClusterizer.cxx:557 AliEMCALClusterizer.cxx:558