#include <TClonesArray.h>
#include "TGeoManager.h"
#include "TGeoMatrix.h"
#include "AliEMCALReconstructor.h"
#include "AliCodeTimer.h"
#include "AliCaloCalibPedestal.h"
#include "AliEMCALCalibData.h"
#include "AliESDEvent.h"
#include "AliESDCaloCluster.h"
#include "AliESDCaloCells.h"
#include "AliESDtrack.h"
#include "AliEMCALLoader.h"
#include "AliEMCALRawUtils.h"
#include "AliEMCALDigit.h"
#include "AliEMCALClusterizerv1.h"
#include "AliEMCALClusterizerv2.h"
#include "AliEMCALClusterizerNxN.h"
#include "AliEMCALRecPoint.h"
#include "AliEMCALPID.h"
#include "AliEMCALRecoUtils.h"
#include "AliRawReader.h"
#include "AliCDBEntry.h"
#include "AliCDBManager.h"
#include "AliEMCALGeometry.h"
#include "AliEMCAL.h"
#include "AliESDVZERO.h"
#include "AliCDBManager.h"
#include "AliRunLoader.h"
#include "AliRun.h"
#include "AliEMCALTriggerData.h"
#include "AliEMCALTriggerElectronics.h"
#include "AliEMCALTriggerDCSConfigDB.h"
#include "AliEMCALTriggerDCSConfig.h"
#include "AliEMCALTriggerData.h"
#include "AliEMCALTriggerRawDigit.h"
#include "AliEMCALTriggerPatch.h"
#include "AliEMCALTriggerTypes.h"
ClassImp(AliEMCALReconstructor)
const AliEMCALRecParam* AliEMCALReconstructor::fgkRecParam = 0;
AliEMCALRawUtils* AliEMCALReconstructor::fgRawUtils = 0;
AliEMCALClusterizer* AliEMCALReconstructor::fgClusterizer = 0;
TClonesArray* AliEMCALReconstructor::fgDigitsArr = 0;
TObjArray* AliEMCALReconstructor::fgClustersArr = 0;
TClonesArray* AliEMCALReconstructor::fgTriggerDigits = 0;
AliEMCALTriggerElectronics* AliEMCALReconstructor::fgTriggerProcessor = 0x0;
AliEMCALReconstructor::AliEMCALReconstructor()
: fGeom(0),fCalibData(0),fPedestalData(0),fTriggerData(0x0), fMatches(0x0)
{
fgRawUtils = new AliEMCALRawUtils;
AliRunLoader *rl = AliRunLoader::Instance();
if (rl->GetAliRun()){
AliEMCAL * emcal = dynamic_cast<AliEMCAL*>(rl->GetAliRun()->GetDetector("EMCAL"));
if(emcal) fGeom = emcal->GetGeometry();
}
if(!fGeom) {
AliInfo(Form("Using default geometry in reconstruction"));
fGeom = AliEMCALGeometry::GetInstance(AliEMCALGeometry::GetDefaultGeometryName());
}
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!");
if(!fPedestalData)
{
AliCDBEntry *entry = (AliCDBEntry*)
AliCDBManager::Instance()->Get("EMCAL/Calib/Pedestals");
if (entry) fPedestalData = (AliCaloCalibPedestal*) entry->GetObject();
}
if(!fPedestalData)
AliFatal("Dead map not found in CDB!");
if(!fGeom) AliFatal(Form("Could not get geometry!"));
AliEMCALTriggerDCSConfigDB* dcsConfigDB = AliEMCALTriggerDCSConfigDB::Instance();
const AliEMCALTriggerDCSConfig* dcsConfig = dcsConfigDB->GetTriggerDCSConfig();
if (!dcsConfig) AliFatal("No Trigger DCS Configuration from OCDB!");
fgTriggerProcessor = new AliEMCALTriggerElectronics( dcsConfig );
fTriggerData = new AliEMCALTriggerData();
fgDigitsArr = new TClonesArray("AliEMCALDigit",1000);
fgClustersArr = new TObjArray(1000);
const int kNTRU = fGeom->GetNTotalTRU();
fgTriggerDigits = new TClonesArray("AliEMCALTriggerRawDigit", kNTRU * 96);
fMatches = new TList();
fMatches->SetOwner(kTRUE);
}
AliEMCALReconstructor::~AliEMCALReconstructor()
{
if(fgDigitsArr) fgDigitsArr->Clear("C");
delete fgDigitsArr;
fgDigitsArr = 0;
if(fgClustersArr) fgClustersArr->Clear();
delete fgClustersArr;
fgClustersArr = 0;
if(fgTriggerDigits) fgTriggerDigits->Clear();
delete fgTriggerDigits;
fgTriggerDigits = 0;
delete fgRawUtils;
fgRawUtils = 0;
delete fgClusterizer;
fgClusterizer = 0;
delete fgTriggerProcessor;
fgTriggerProcessor = 0;
if(fMatches) { fMatches->Delete(); delete fMatches; fMatches = 0;}
AliCodeTimer::Instance()->Print();
}
void AliEMCALReconstructor::InitClusterizer() const
{
Int_t clusterizerType = -1;
Int_t eventType = -1;
if(GetRecParam()) {
clusterizerType = GetRecParam()->GetClusterizerFlag();
eventType = GetRecParam()->GetEventSpecie();
}
else{
AliCDBEntry *entry = (AliCDBEntry*)
AliCDBManager::Instance()->Get("EMCAL/Calib/RecoParam");
if (entry) {
AliEMCALRecParam *recParam = (AliEMCALRecParam*)((TObjArray *) entry->GetObject())->At(0);
if(recParam) clusterizerType = recParam->GetClusterizerFlag();
}
}
if(fgClusterizer){
if(eventType!=AliRecoParam::kCalib){
if (clusterizerType == AliEMCALRecParam::kClusterizerv1 && !strcmp(fgClusterizer->Version(),"clu-v1")) return;
else if(clusterizerType == AliEMCALRecParam::kClusterizerNxN && !strcmp(fgClusterizer->Version(),"clu-NxN")) return;
else if(clusterizerType == AliEMCALRecParam::kClusterizerv2 && !strcmp(fgClusterizer->Version(),"clu-v2")) return;
delete fgClusterizer;
}
else return;
}
if (clusterizerType == AliEMCALRecParam::kClusterizerv1)
{
fgClusterizer = new AliEMCALClusterizerv1 (fGeom, fCalibData,fPedestalData);
}
else if (clusterizerType == AliEMCALRecParam::kClusterizerNxN)
{
fgClusterizer = new AliEMCALClusterizerNxN(fGeom, fCalibData,fPedestalData);
}
else if (clusterizerType == AliEMCALRecParam::kClusterizerv2)
{
fgClusterizer = new AliEMCALClusterizerv2 (fGeom, fCalibData,fPedestalData);
}
else
{
AliFatal(Form("Unknown clusterizer %d ", clusterizerType));
}
}
void AliEMCALReconstructor::Reconstruct(TTree* digitsTree, TTree* clustersTree) const
{
AliCodeTimerAuto("",0)
ReadDigitsArrayFromTree(digitsTree);
InitClusterizer();
fgClusterizer->InitParameters();
fgClusterizer->SetOutput(clustersTree);
if (GetRecParam()->GetEventSpecie()!=AliRecoParam::kCalib){
if(fgDigitsArr && fgDigitsArr->GetEntries()) {
fgClusterizer->SetInput(digitsTree);
fgClusterizer->Digits2Clusters("");
fgClusterizer->Clear();
}
}
clustersTree->Fill();
fgClusterizer->DeleteRecPoints();
}
void AliEMCALReconstructor::ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const
{
rawReader->Reset() ;
fTriggerData->SetMode(1);
if(fgDigitsArr) fgDigitsArr->Clear("C");
const int kNTRU = fGeom->GetNTotalTRU();
TClonesArray *digitsTrg = new TClonesArray("AliEMCALTriggerRawDigit", kNTRU * 96);
Int_t bufsize = 32000;
digitsTree->Branch("EMCAL", &fgDigitsArr, bufsize);
digitsTree->Branch("EMTRG", &digitsTrg, bufsize);
Bool_t doFit = kTRUE;
if ( !(GetRecParam()->FitLEDEvents()) && GetRecParam()->GetEventSpecie()==AliRecoParam::kCalib) doFit = kFALSE;
if (doFit){
fgRawUtils->SetOption(GetOption());
fgRawUtils->SetNoiseThreshold(GetRecParam()->GetNoiseThreshold());
fgRawUtils->SetNPedSamples(GetRecParam()->GetNPedSamples());
fgRawUtils->SetRemoveBadChannels(GetRecParam()->GetRemoveBadChannels());
if (!fgRawUtils->GetFittingAlgorithm()) fgRawUtils->SetFittingAlgorithm(GetRecParam()->GetFittingAlgorithm());
fgRawUtils->SetFALTROUsage(GetRecParam()->UseFALTRO());
fgRawUtils->Raw2Digits(rawReader,fgDigitsArr,fPedestalData,digitsTrg,fTriggerData);
}
else{
AliDebug(1," Calibration Event, skip!");
}
digitsTree->Fill();
digitsTrg->Delete();
delete digitsTrg;
}
void AliEMCALReconstructor::FillESD(TTree* digitsTree, TTree* clustersTree,
AliESDEvent* esd) const
{
static int saveOnce = 0;
Int_t v0M[2] = {0, 0};
AliESDVZERO* esdV0 = esd->GetVZEROData();
if (esdV0)
{
v0M[0] = esdV0->GetTriggerChargeC();
v0M[1] = esdV0->GetTriggerChargeA();
}
else
{
AliWarning("No V0 ESD! Run trigger processor w/ null V0 charges");
}
if (fgTriggerDigits && fgTriggerDigits->GetEntriesFast()) fgTriggerDigits->Delete();
TBranch *branchtrg = digitsTree->GetBranch("EMTRG");
if (!branchtrg)
{
AliError("Can't get the branch with the EMCAL trigger digits!");
return;
}
branchtrg->SetAddress(&fgTriggerDigits);
branchtrg->GetEntry(0);
fgTriggerProcessor->Digits2Trigger(fgTriggerDigits, v0M, fTriggerData);
AliESDCaloTrigger* trgESD = esd->GetCaloTrigger("EMCAL");
if (trgESD)
{
trgESD->Allocate(fgTriggerDigits->GetEntriesFast());
for (Int_t i = 0; i < fgTriggerDigits->GetEntriesFast(); i++)
{
AliEMCALTriggerRawDigit* rdig = (AliEMCALTriggerRawDigit*)fgTriggerDigits->At(i);
if (AliDebugLevel() > 999) rdig->Print("");
Int_t px, py;
if (fGeom->GetPositionInEMCALFromAbsFastORIndex(rdig->GetId(), px, py))
{
Int_t a = -1, t = -1, times[10];
rdig->GetMaximum(a, t);
rdig->GetL0Times(times);
trgESD->Add(px, py, a, t, times, rdig->GetNL0Times(), rdig->GetL1TimeSum(), rdig->GetTriggerBits());
}
}
for (int i = 0; i < 2; i++) {
trgESD->SetL1Threshold(2 * i , fTriggerData->GetL1JetThreshold( i));
trgESD->SetL1Threshold(2 * i + 1, fTriggerData->GetL1GammaThreshold(i));
}
Int_t v0[2];
fTriggerData->GetL1V0(v0);
trgESD->SetL1V0(v0);
trgESD->SetL1FrameMask(fTriggerData->GetL1FrameMask());
if (!saveOnce && fTriggerData->GetL1DataDecoded())
{
int type[15] = {0};
fTriggerData->GetL1TriggerType(type);
esd->SetCaloTriggerType(type);
saveOnce = 1;
}
}
fTriggerData->Reset();
ReadDigitsArrayFromTree(digitsTree);
Int_t nDigits = fgDigitsArr->GetEntries(), idignew = 0 ;
AliDebug(1,Form("%d digits",nDigits));
AliESDCaloCells &emcCells = *(esd->GetEMCALCells());
emcCells.CreateContainer(nDigits);
emcCells.SetType(AliVCaloCells::kEMCALCell);
Float_t energy = 0;
Float_t time = 0;
for (Int_t idig = 0 ; idig < nDigits ; idig++)
{
const AliEMCALDigit * dig = (const AliEMCALDigit*)fgDigitsArr->At(idig);
time = dig->GetTime();
energy = dig->GetAmplitude();
if(energy > 0 )
{
fgClusterizer->Calibrate(energy,time,dig->GetId());
if(energy > 0)
{
Int_t nprimaries = dig->GetNprimary() ;
Int_t digLabel =-1 ;
Float_t edep =-1.;
if ( nprimaries > 0 )
{
Int_t jndex ;
for ( jndex = 0 ; jndex < nprimaries ; jndex++ ) {
if(edep < dig->GetDEParent(jndex+1))
{
digLabel = dig->GetIparent (jndex+1);
edep = dig->GetDEParent(jndex+1);
}
}
}
Bool_t highGain = kFALSE;
if( dig->GetType() == AliEMCALDigit::kHG ) highGain = kTRUE;
emcCells.SetCell(idignew,dig->GetId(),energy, time,digLabel,0.,highGain);
idignew++;
}
}
}
emcCells.SetNumberOfCells(idignew);
emcCells.Sort();
clustersTree->SetBranchStatus("*",0);
clustersTree->SetBranchStatus("EMCALECARP",1);
if(fgClustersArr) fgClustersArr->Clear();
TBranch *branch = clustersTree->GetBranch("EMCALECARP");
branch->SetAddress(&fgClustersArr);
branch->GetEntry(0);
Int_t nClusters = fgClustersArr->GetEntries(), nClustersNew=0;
AliDebug(1,Form("%d clusters",nClusters));
for (Int_t iClust = 0 ; iClust < nClusters ; iClust++) {
const AliEMCALRecPoint * clust = (const AliEMCALRecPoint*)fgClustersArr->At(iClust);
if(!clust) continue;
Float_t xyz[3];
TVector3 gpos;
clust->GetGlobalPosition(gpos);
for (Int_t ixyz=0; ixyz<3; ixyz++)
xyz[ixyz] = gpos[ixyz];
Float_t elipAxis[2];
clust->GetElipsAxis(elipAxis);
Int_t cellMult = clust->GetMultiplicity();
Float_t *amplFloat = clust->GetEnergiesList();
Int_t *digitInts = clust->GetAbsId();
TArrayS absIdList(cellMult);
TArrayD fracList(cellMult);
Int_t newCellMult = 0;
for (Int_t iCell=0; iCell<cellMult; iCell++) {
if (amplFloat[iCell] > 0) {
absIdList[newCellMult] = (UShort_t)(digitInts[iCell]);
if(emcCells.GetCellAmplitude(digitInts[iCell])>0 && GetRecParam()->GetUnfold()){
fracList[newCellMult] = amplFloat[iCell]/(emcCells.GetCellAmplitude(digitInts[iCell]));
}
else{
fracList[newCellMult] = 0;
}
newCellMult++;
}
}
absIdList.Set(newCellMult);
fracList.Set(newCellMult);
if(newCellMult > 0) {
nClustersNew++;
Int_t parentMult = 0;
Int_t *parentList = clust->GetParents(parentMult);
AliESDCaloCluster * ec = new AliESDCaloCluster() ;
ec->SetType(AliVCluster::kEMCALClusterv1);
ec->SetPosition(xyz);
ec->SetE(clust->GetEnergy());
ec->SetDistanceToBadChannel(clust->GetDistanceToBadTower());
ec->SetNCells(newCellMult);
UShort_t *newAbsIdList = new UShort_t[newCellMult];
Double_t *newFracList = new Double_t[newCellMult];
for(Int_t i = 0; i < newCellMult ; i++) {
newAbsIdList[i]=absIdList[i];
newFracList[i] =fracList[i];
}
ec->SetCellsAbsId(newAbsIdList);
ec->SetCellsAmplitudeFraction(newFracList);
ec->SetDispersion(clust->GetDispersion());
ec->SetChi2(-1);
ec->SetM02(elipAxis[0]*elipAxis[0]) ;
ec->SetM20(elipAxis[1]*elipAxis[1]) ;
ec->SetTOF(clust->GetTime()) ;
ec->SetNExMax(clust->GetNExMax());
TArrayI arrayParents(parentMult,parentList);
ec->AddLabels(arrayParents);
fMatches->Clear();
Int_t nTracks = esd->GetNumberOfTracks();
for (Int_t itrack = 0; itrack < nTracks; itrack++)
{
AliESDtrack * track = esd->GetTrack(itrack) ;
if(track->GetEMCALcluster()==iClust)
{
Float_t dEta=-999, dPhi=-999;
Bool_t isMatch = CalculateResidual(track, ec, dEta, dPhi);
if(!isMatch)
{
continue;
}
AliEMCALMatch *match = new AliEMCALMatch();
match->SetIndexT(itrack);
match->SetDistance(TMath::Sqrt(dEta*dEta+dPhi*dPhi));
match->SetdEta(dEta);
match->SetdPhi(dPhi);
fMatches->Add(match);
}
}
fMatches->Sort(kSortAscending);
Int_t nMatch = fMatches->GetEntries();
TArrayI arrayTrackMatched(nMatch);
for(Int_t imatch=0; imatch<nMatch; imatch++)
{
AliEMCALMatch *match = (AliEMCALMatch*)fMatches->At(imatch);
arrayTrackMatched[imatch] = match->GetIndexT();
if(imatch==0)
{
ec->SetTrackDistance(match->GetdPhi(), match->GetdEta());
}
}
ec->AddTracksMatched(arrayTrackMatched);
esd->AddCaloCluster(ec);
delete ec;
delete [] newAbsIdList ;
delete [] newFracList ;
}
}
Int_t ncls = esd->GetNumberOfCaloClusters();
for(Int_t icl=0; icl<ncls; icl++)
{
AliESDCaloCluster *cluster = esd->GetCaloCluster(icl);
if(!cluster || !cluster->IsEMCAL()) continue;
TArrayI *trackIndex = cluster->GetTracksMatched();
for(Int_t itr=0; itr<trackIndex->GetSize(); itr++)
{
AliESDtrack *track = esd->GetTrack(trackIndex->At(itr));
track->SetEMCALcluster(cluster->GetID());
}
}
AliEMCALPID *pid = new AliEMCALPID;
pid->SetReconstructor(kTRUE);
pid->RunPID(esd);
delete pid;
FillMisalMatrixes(esd) ;
}
void AliEMCALReconstructor::FillMisalMatrixes(AliESDEvent* esd)const{
for(Int_t sm = 0 ; sm < fGeom->GetNumberOfSuperModules(); sm++){
if(esd->GetEMCALMatrix(sm)!=0)
return ;
}
if(!gGeoManager){
AliError("Can not store misal. matrixes: no gGeoManager! \n") ;
return ;
}
const Int_t bufsize = 255;
char path[bufsize] ;
TGeoHMatrix * m = 0x0;
Int_t tmpType = -1;
Int_t SMOrder = 0;
TString SMName;
for(Int_t sm = 0; sm < fGeom->GetNumberOfSuperModules(); sm++){
if(fGeom->GetSMType(sm) == AliEMCALGeometry::kEMCAL_Standard ) SMName = "SMOD";
else if(fGeom->GetSMType(sm) == AliEMCALGeometry::kEMCAL_Half ) SMName = "SM10";
else if(fGeom->GetSMType(sm) == AliEMCALGeometry::kEMCAL_3rd ) SMName = "SM3rd";
else if( fGeom->GetSMType(sm) == AliEMCALGeometry::kDCAL_Standard ) SMName = "DCSM";
else if( fGeom->GetSMType(sm) == AliEMCALGeometry::kDCAL_Ext ) SMName = "DCEXT";
else AliError("Unkown SM Type!!");
if(fGeom->GetSMType(sm) == tmpType) {
SMOrder++;
} else {
tmpType = fGeom->GetSMType(sm);
SMOrder = 1;
}
snprintf(path,bufsize,"/ALIC_1/XEN1_1/%s_%d", SMName.Data(), SMOrder) ;
if (gGeoManager->CheckPath(path)){
gGeoManager->cd(path);
m = gGeoManager->GetCurrentMatrix() ;
esd->SetEMCALMatrix(new TGeoHMatrix(*m),sm) ;
}
else{
esd->SetEMCALMatrix(NULL,sm) ;
}
}
}
void AliEMCALReconstructor::ReadDigitsArrayFromTree(TTree *digitsTree) const
{
if(fgDigitsArr){
fgDigitsArr->Clear("C");
}
else{
fgDigitsArr = new TClonesArray("AliEMCALDigit",100);
}
TBranch *branch = digitsTree->GetBranch("EMCAL");
if (!branch) {
AliError("can't get the branch with the EMCAL digits !");
return;
}
branch->SetAddress(&fgDigitsArr);
branch->GetEntry(0);
}
Bool_t AliEMCALReconstructor::CalculateResidual(AliESDtrack *track, AliESDCaloCluster *cluster, Float_t &dEta, Float_t &dPhi)const
{
dEta = -999, dPhi = -999;
Bool_t ITSTrackSA = 0;
AliExternalTrackParam *trkParam = 0;
const AliESDfriendTrack* friendTrack = track->GetFriendTrack();
if(friendTrack && friendTrack->GetTPCOut())
trkParam = const_cast<AliExternalTrackParam*>(friendTrack->GetTPCOut());
else if(track->GetInnerParam())
trkParam = const_cast<AliExternalTrackParam*>(track->GetInnerParam());
else{
trkParam = new AliExternalTrackParam(*track);
ITSTrackSA = 1;
}
if(!trkParam) return kFALSE;
AliExternalTrackParam trkParamTmp (*trkParam);
if(!AliEMCALRecoUtils::ExtrapolateTrackToCluster(&trkParamTmp, cluster, track->GetMass(kTRUE), GetRecParam()->GetExtrapolateStep(), dEta, dPhi)){
if(ITSTrackSA) delete trkParam;
return kFALSE;
}
if(ITSTrackSA) delete trkParam;
return kTRUE;
}
AliEMCALReconstructor::AliEMCALMatch::AliEMCALMatch()
: TObject(),
fIndexT(-1),
fDistance(-999.),
fdEta(-999.),
fdPhi(-999.)
{
}
AliEMCALReconstructor::AliEMCALMatch::AliEMCALMatch(const AliEMCALMatch& copy)
: TObject(),
fIndexT(copy.fIndexT),
fDistance(copy.fDistance),
fdEta(copy.fdEta),
fdPhi(copy.fdPhi)
{
}
AliEMCALReconstructor::AliEMCALMatch& AliEMCALReconstructor::AliEMCALMatch::AliEMCALMatch::operator = (const AliEMCALMatch &source)
{
if (&source == this) return *this;
new (this) AliEMCALMatch(source);
return *this;
}
Int_t AliEMCALReconstructor::AliEMCALMatch::Compare(const TObject *obj) const
{
AliEMCALReconstructor::AliEMCALMatch *that = (AliEMCALReconstructor::AliEMCALMatch*)obj;
Double_t thisDist = fDistance;
Double_t thatDist = that->fDistance;
if (thisDist > thatDist) return 1;
else if (thisDist < thatDist) return -1;
return 0;
}
AliEMCALReconstructor.cxx:1 AliEMCALReconstructor.cxx:2 AliEMCALReconstructor.cxx:3 AliEMCALReconstructor.cxx:4 AliEMCALReconstructor.cxx:5 AliEMCALReconstructor.cxx:6 AliEMCALReconstructor.cxx:7 AliEMCALReconstructor.cxx:8 AliEMCALReconstructor.cxx:9 AliEMCALReconstructor.cxx:10 AliEMCALReconstructor.cxx:11 AliEMCALReconstructor.cxx:12 AliEMCALReconstructor.cxx:13 AliEMCALReconstructor.cxx:14 AliEMCALReconstructor.cxx:15 AliEMCALReconstructor.cxx:16 AliEMCALReconstructor.cxx:17 AliEMCALReconstructor.cxx:18 AliEMCALReconstructor.cxx:19 AliEMCALReconstructor.cxx:20 AliEMCALReconstructor.cxx:21 AliEMCALReconstructor.cxx:22 AliEMCALReconstructor.cxx:23 AliEMCALReconstructor.cxx:24 AliEMCALReconstructor.cxx:25 AliEMCALReconstructor.cxx:26 AliEMCALReconstructor.cxx:27 AliEMCALReconstructor.cxx:28 AliEMCALReconstructor.cxx:29 AliEMCALReconstructor.cxx:30 AliEMCALReconstructor.cxx:31 AliEMCALReconstructor.cxx:32 AliEMCALReconstructor.cxx:33 AliEMCALReconstructor.cxx:34 AliEMCALReconstructor.cxx:35 AliEMCALReconstructor.cxx:36 AliEMCALReconstructor.cxx:37 AliEMCALReconstructor.cxx:38 AliEMCALReconstructor.cxx:39 AliEMCALReconstructor.cxx:40 AliEMCALReconstructor.cxx:41 AliEMCALReconstructor.cxx:42 AliEMCALReconstructor.cxx:43 AliEMCALReconstructor.cxx:44 AliEMCALReconstructor.cxx:45 AliEMCALReconstructor.cxx:46 AliEMCALReconstructor.cxx:47 AliEMCALReconstructor.cxx:48 AliEMCALReconstructor.cxx:49 AliEMCALReconstructor.cxx:50 AliEMCALReconstructor.cxx:51 AliEMCALReconstructor.cxx:52 AliEMCALReconstructor.cxx:53 AliEMCALReconstructor.cxx:54 AliEMCALReconstructor.cxx:55 AliEMCALReconstructor.cxx:56 AliEMCALReconstructor.cxx:57 AliEMCALReconstructor.cxx:58 AliEMCALReconstructor.cxx:59 AliEMCALReconstructor.cxx:60 AliEMCALReconstructor.cxx:61 AliEMCALReconstructor.cxx:62 AliEMCALReconstructor.cxx:63 AliEMCALReconstructor.cxx:64 AliEMCALReconstructor.cxx:65 AliEMCALReconstructor.cxx:66 AliEMCALReconstructor.cxx:67 AliEMCALReconstructor.cxx:68 AliEMCALReconstructor.cxx:69 AliEMCALReconstructor.cxx:70 AliEMCALReconstructor.cxx:71 AliEMCALReconstructor.cxx:72 AliEMCALReconstructor.cxx:73 AliEMCALReconstructor.cxx:74 AliEMCALReconstructor.cxx:75 AliEMCALReconstructor.cxx:76 AliEMCALReconstructor.cxx:77 AliEMCALReconstructor.cxx:78 AliEMCALReconstructor.cxx:79 AliEMCALReconstructor.cxx:80 AliEMCALReconstructor.cxx:81 AliEMCALReconstructor.cxx:82 AliEMCALReconstructor.cxx:83 AliEMCALReconstructor.cxx:84 AliEMCALReconstructor.cxx:85 AliEMCALReconstructor.cxx:86 AliEMCALReconstructor.cxx:87 AliEMCALReconstructor.cxx:88 AliEMCALReconstructor.cxx:89 AliEMCALReconstructor.cxx:90 AliEMCALReconstructor.cxx:91 AliEMCALReconstructor.cxx:92 AliEMCALReconstructor.cxx:93 AliEMCALReconstructor.cxx:94 AliEMCALReconstructor.cxx:95 AliEMCALReconstructor.cxx:96 AliEMCALReconstructor.cxx:97 AliEMCALReconstructor.cxx:98 AliEMCALReconstructor.cxx:99 AliEMCALReconstructor.cxx:100 AliEMCALReconstructor.cxx:101 AliEMCALReconstructor.cxx:102 AliEMCALReconstructor.cxx:103 AliEMCALReconstructor.cxx:104 AliEMCALReconstructor.cxx:105 AliEMCALReconstructor.cxx:106 AliEMCALReconstructor.cxx:107 AliEMCALReconstructor.cxx:108 AliEMCALReconstructor.cxx:109 AliEMCALReconstructor.cxx:110 AliEMCALReconstructor.cxx:111 AliEMCALReconstructor.cxx:112 AliEMCALReconstructor.cxx:113 AliEMCALReconstructor.cxx:114 AliEMCALReconstructor.cxx:115 AliEMCALReconstructor.cxx:116 AliEMCALReconstructor.cxx:117 AliEMCALReconstructor.cxx:118 AliEMCALReconstructor.cxx:119 AliEMCALReconstructor.cxx:120 AliEMCALReconstructor.cxx:121 AliEMCALReconstructor.cxx:122 AliEMCALReconstructor.cxx:123 AliEMCALReconstructor.cxx:124 AliEMCALReconstructor.cxx:125 AliEMCALReconstructor.cxx:126 AliEMCALReconstructor.cxx:127 AliEMCALReconstructor.cxx:128 AliEMCALReconstructor.cxx:129 AliEMCALReconstructor.cxx:130 AliEMCALReconstructor.cxx:131 AliEMCALReconstructor.cxx:132 AliEMCALReconstructor.cxx:133 AliEMCALReconstructor.cxx:134 AliEMCALReconstructor.cxx:135 AliEMCALReconstructor.cxx:136 AliEMCALReconstructor.cxx:137 AliEMCALReconstructor.cxx:138 AliEMCALReconstructor.cxx:139 AliEMCALReconstructor.cxx:140 AliEMCALReconstructor.cxx:141 AliEMCALReconstructor.cxx:142 AliEMCALReconstructor.cxx:143 AliEMCALReconstructor.cxx:144 AliEMCALReconstructor.cxx:145 AliEMCALReconstructor.cxx:146 AliEMCALReconstructor.cxx:147 AliEMCALReconstructor.cxx:148 AliEMCALReconstructor.cxx:149 AliEMCALReconstructor.cxx:150 AliEMCALReconstructor.cxx:151 AliEMCALReconstructor.cxx:152 AliEMCALReconstructor.cxx:153 AliEMCALReconstructor.cxx:154 AliEMCALReconstructor.cxx:155 AliEMCALReconstructor.cxx:156 AliEMCALReconstructor.cxx:157 AliEMCALReconstructor.cxx:158 AliEMCALReconstructor.cxx:159 AliEMCALReconstructor.cxx:160 AliEMCALReconstructor.cxx:161 AliEMCALReconstructor.cxx:162 AliEMCALReconstructor.cxx:163 AliEMCALReconstructor.cxx:164 AliEMCALReconstructor.cxx:165 AliEMCALReconstructor.cxx:166 AliEMCALReconstructor.cxx:167 AliEMCALReconstructor.cxx:168 AliEMCALReconstructor.cxx:169 AliEMCALReconstructor.cxx:170 AliEMCALReconstructor.cxx:171 AliEMCALReconstructor.cxx:172 AliEMCALReconstructor.cxx:173 AliEMCALReconstructor.cxx:174 AliEMCALReconstructor.cxx:175 AliEMCALReconstructor.cxx:176 AliEMCALReconstructor.cxx:177 AliEMCALReconstructor.cxx:178 AliEMCALReconstructor.cxx:179 AliEMCALReconstructor.cxx:180 AliEMCALReconstructor.cxx:181 AliEMCALReconstructor.cxx:182 AliEMCALReconstructor.cxx:183 AliEMCALReconstructor.cxx:184 AliEMCALReconstructor.cxx:185 AliEMCALReconstructor.cxx:186 AliEMCALReconstructor.cxx:187 AliEMCALReconstructor.cxx:188 AliEMCALReconstructor.cxx:189 AliEMCALReconstructor.cxx:190 AliEMCALReconstructor.cxx:191 AliEMCALReconstructor.cxx:192 AliEMCALReconstructor.cxx:193 AliEMCALReconstructor.cxx:194 AliEMCALReconstructor.cxx:195 AliEMCALReconstructor.cxx:196 AliEMCALReconstructor.cxx:197 AliEMCALReconstructor.cxx:198 AliEMCALReconstructor.cxx:199 AliEMCALReconstructor.cxx:200 AliEMCALReconstructor.cxx:201 AliEMCALReconstructor.cxx:202 AliEMCALReconstructor.cxx:203 AliEMCALReconstructor.cxx:204 AliEMCALReconstructor.cxx:205 AliEMCALReconstructor.cxx:206 AliEMCALReconstructor.cxx:207 AliEMCALReconstructor.cxx:208 AliEMCALReconstructor.cxx:209 AliEMCALReconstructor.cxx:210 AliEMCALReconstructor.cxx:211 AliEMCALReconstructor.cxx:212 AliEMCALReconstructor.cxx:213 AliEMCALReconstructor.cxx:214 AliEMCALReconstructor.cxx:215 AliEMCALReconstructor.cxx:216 AliEMCALReconstructor.cxx:217 AliEMCALReconstructor.cxx:218 AliEMCALReconstructor.cxx:219 AliEMCALReconstructor.cxx:220 AliEMCALReconstructor.cxx:221 AliEMCALReconstructor.cxx:222 AliEMCALReconstructor.cxx:223 AliEMCALReconstructor.cxx:224 AliEMCALReconstructor.cxx:225 AliEMCALReconstructor.cxx:226 AliEMCALReconstructor.cxx:227 AliEMCALReconstructor.cxx:228 AliEMCALReconstructor.cxx:229 AliEMCALReconstructor.cxx:230 AliEMCALReconstructor.cxx:231 AliEMCALReconstructor.cxx:232 AliEMCALReconstructor.cxx:233 AliEMCALReconstructor.cxx:234 AliEMCALReconstructor.cxx:235 AliEMCALReconstructor.cxx:236 AliEMCALReconstructor.cxx:237 AliEMCALReconstructor.cxx:238 AliEMCALReconstructor.cxx:239 AliEMCALReconstructor.cxx:240 AliEMCALReconstructor.cxx:241 AliEMCALReconstructor.cxx:242 AliEMCALReconstructor.cxx:243 AliEMCALReconstructor.cxx:244 AliEMCALReconstructor.cxx:245 AliEMCALReconstructor.cxx:246 AliEMCALReconstructor.cxx:247 AliEMCALReconstructor.cxx:248 AliEMCALReconstructor.cxx:249 AliEMCALReconstructor.cxx:250 AliEMCALReconstructor.cxx:251 AliEMCALReconstructor.cxx:252 AliEMCALReconstructor.cxx:253 AliEMCALReconstructor.cxx:254 AliEMCALReconstructor.cxx:255 AliEMCALReconstructor.cxx:256 AliEMCALReconstructor.cxx:257 AliEMCALReconstructor.cxx:258 AliEMCALReconstructor.cxx:259 AliEMCALReconstructor.cxx:260 AliEMCALReconstructor.cxx:261 AliEMCALReconstructor.cxx:262 AliEMCALReconstructor.cxx:263 AliEMCALReconstructor.cxx:264 AliEMCALReconstructor.cxx:265 AliEMCALReconstructor.cxx:266 AliEMCALReconstructor.cxx:267 AliEMCALReconstructor.cxx:268 AliEMCALReconstructor.cxx:269 AliEMCALReconstructor.cxx:270 AliEMCALReconstructor.cxx:271 AliEMCALReconstructor.cxx:272 AliEMCALReconstructor.cxx:273 AliEMCALReconstructor.cxx:274 AliEMCALReconstructor.cxx:275 AliEMCALReconstructor.cxx:276 AliEMCALReconstructor.cxx:277 AliEMCALReconstructor.cxx:278 AliEMCALReconstructor.cxx:279 AliEMCALReconstructor.cxx:280 AliEMCALReconstructor.cxx:281 AliEMCALReconstructor.cxx:282 AliEMCALReconstructor.cxx:283 AliEMCALReconstructor.cxx:284 AliEMCALReconstructor.cxx:285 AliEMCALReconstructor.cxx:286 AliEMCALReconstructor.cxx:287 AliEMCALReconstructor.cxx:288 AliEMCALReconstructor.cxx:289 AliEMCALReconstructor.cxx:290 AliEMCALReconstructor.cxx:291 AliEMCALReconstructor.cxx:292 AliEMCALReconstructor.cxx:293 AliEMCALReconstructor.cxx:294 AliEMCALReconstructor.cxx:295 AliEMCALReconstructor.cxx:296 AliEMCALReconstructor.cxx:297 AliEMCALReconstructor.cxx:298 AliEMCALReconstructor.cxx:299 AliEMCALReconstructor.cxx:300 AliEMCALReconstructor.cxx:301 AliEMCALReconstructor.cxx:302 AliEMCALReconstructor.cxx:303 AliEMCALReconstructor.cxx:304 AliEMCALReconstructor.cxx:305 AliEMCALReconstructor.cxx:306 AliEMCALReconstructor.cxx:307 AliEMCALReconstructor.cxx:308 AliEMCALReconstructor.cxx:309 AliEMCALReconstructor.cxx:310 AliEMCALReconstructor.cxx:311 AliEMCALReconstructor.cxx:312 AliEMCALReconstructor.cxx:313 AliEMCALReconstructor.cxx:314 AliEMCALReconstructor.cxx:315 AliEMCALReconstructor.cxx:316 AliEMCALReconstructor.cxx:317 AliEMCALReconstructor.cxx:318 AliEMCALReconstructor.cxx:319 AliEMCALReconstructor.cxx:320 AliEMCALReconstructor.cxx:321 AliEMCALReconstructor.cxx:322 AliEMCALReconstructor.cxx:323 AliEMCALReconstructor.cxx:324 AliEMCALReconstructor.cxx:325 AliEMCALReconstructor.cxx:326 AliEMCALReconstructor.cxx:327 AliEMCALReconstructor.cxx:328 AliEMCALReconstructor.cxx:329 AliEMCALReconstructor.cxx:330 AliEMCALReconstructor.cxx:331 AliEMCALReconstructor.cxx:332 AliEMCALReconstructor.cxx:333 AliEMCALReconstructor.cxx:334 AliEMCALReconstructor.cxx:335 AliEMCALReconstructor.cxx:336 AliEMCALReconstructor.cxx:337 AliEMCALReconstructor.cxx:338 AliEMCALReconstructor.cxx:339 AliEMCALReconstructor.cxx:340 AliEMCALReconstructor.cxx:341 AliEMCALReconstructor.cxx:342 AliEMCALReconstructor.cxx:343 AliEMCALReconstructor.cxx:344 AliEMCALReconstructor.cxx:345 AliEMCALReconstructor.cxx:346 AliEMCALReconstructor.cxx:347 AliEMCALReconstructor.cxx:348 AliEMCALReconstructor.cxx:349 AliEMCALReconstructor.cxx:350 AliEMCALReconstructor.cxx:351 AliEMCALReconstructor.cxx:352 AliEMCALReconstructor.cxx:353 AliEMCALReconstructor.cxx:354 AliEMCALReconstructor.cxx:355 AliEMCALReconstructor.cxx:356 AliEMCALReconstructor.cxx:357 AliEMCALReconstructor.cxx:358 AliEMCALReconstructor.cxx:359 AliEMCALReconstructor.cxx:360 AliEMCALReconstructor.cxx:361 AliEMCALReconstructor.cxx:362 AliEMCALReconstructor.cxx:363 AliEMCALReconstructor.cxx:364 AliEMCALReconstructor.cxx:365 AliEMCALReconstructor.cxx:366 AliEMCALReconstructor.cxx:367 AliEMCALReconstructor.cxx:368 AliEMCALReconstructor.cxx:369 AliEMCALReconstructor.cxx:370 AliEMCALReconstructor.cxx:371 AliEMCALReconstructor.cxx:372 AliEMCALReconstructor.cxx:373 AliEMCALReconstructor.cxx:374 AliEMCALReconstructor.cxx:375 AliEMCALReconstructor.cxx:376 AliEMCALReconstructor.cxx:377 AliEMCALReconstructor.cxx:378 AliEMCALReconstructor.cxx:379 AliEMCALReconstructor.cxx:380 AliEMCALReconstructor.cxx:381 AliEMCALReconstructor.cxx:382 AliEMCALReconstructor.cxx:383 AliEMCALReconstructor.cxx:384 AliEMCALReconstructor.cxx:385 AliEMCALReconstructor.cxx:386 AliEMCALReconstructor.cxx:387 AliEMCALReconstructor.cxx:388 AliEMCALReconstructor.cxx:389 AliEMCALReconstructor.cxx:390 AliEMCALReconstructor.cxx:391 AliEMCALReconstructor.cxx:392 AliEMCALReconstructor.cxx:393 AliEMCALReconstructor.cxx:394 AliEMCALReconstructor.cxx:395 AliEMCALReconstructor.cxx:396 AliEMCALReconstructor.cxx:397 AliEMCALReconstructor.cxx:398 AliEMCALReconstructor.cxx:399 AliEMCALReconstructor.cxx:400 AliEMCALReconstructor.cxx:401 AliEMCALReconstructor.cxx:402 AliEMCALReconstructor.cxx:403 AliEMCALReconstructor.cxx:404 AliEMCALReconstructor.cxx:405 AliEMCALReconstructor.cxx:406 AliEMCALReconstructor.cxx:407 AliEMCALReconstructor.cxx:408 AliEMCALReconstructor.cxx:409 AliEMCALReconstructor.cxx:410 AliEMCALReconstructor.cxx:411 AliEMCALReconstructor.cxx:412 AliEMCALReconstructor.cxx:413 AliEMCALReconstructor.cxx:414 AliEMCALReconstructor.cxx:415 AliEMCALReconstructor.cxx:416 AliEMCALReconstructor.cxx:417 AliEMCALReconstructor.cxx:418 AliEMCALReconstructor.cxx:419 AliEMCALReconstructor.cxx:420 AliEMCALReconstructor.cxx:421 AliEMCALReconstructor.cxx:422 AliEMCALReconstructor.cxx:423 AliEMCALReconstructor.cxx:424 AliEMCALReconstructor.cxx:425 AliEMCALReconstructor.cxx:426 AliEMCALReconstructor.cxx:427 AliEMCALReconstructor.cxx:428 AliEMCALReconstructor.cxx:429 AliEMCALReconstructor.cxx:430 AliEMCALReconstructor.cxx:431 AliEMCALReconstructor.cxx:432 AliEMCALReconstructor.cxx:433 AliEMCALReconstructor.cxx:434 AliEMCALReconstructor.cxx:435 AliEMCALReconstructor.cxx:436 AliEMCALReconstructor.cxx:437 AliEMCALReconstructor.cxx:438 AliEMCALReconstructor.cxx:439 AliEMCALReconstructor.cxx:440 AliEMCALReconstructor.cxx:441 AliEMCALReconstructor.cxx:442 AliEMCALReconstructor.cxx:443 AliEMCALReconstructor.cxx:444 AliEMCALReconstructor.cxx:445 AliEMCALReconstructor.cxx:446 AliEMCALReconstructor.cxx:447 AliEMCALReconstructor.cxx:448 AliEMCALReconstructor.cxx:449 AliEMCALReconstructor.cxx:450 AliEMCALReconstructor.cxx:451 AliEMCALReconstructor.cxx:452 AliEMCALReconstructor.cxx:453 AliEMCALReconstructor.cxx:454 AliEMCALReconstructor.cxx:455 AliEMCALReconstructor.cxx:456 AliEMCALReconstructor.cxx:457 AliEMCALReconstructor.cxx:458 AliEMCALReconstructor.cxx:459 AliEMCALReconstructor.cxx:460 AliEMCALReconstructor.cxx:461 AliEMCALReconstructor.cxx:462 AliEMCALReconstructor.cxx:463 AliEMCALReconstructor.cxx:464 AliEMCALReconstructor.cxx:465 AliEMCALReconstructor.cxx:466 AliEMCALReconstructor.cxx:467 AliEMCALReconstructor.cxx:468 AliEMCALReconstructor.cxx:469 AliEMCALReconstructor.cxx:470 AliEMCALReconstructor.cxx:471 AliEMCALReconstructor.cxx:472 AliEMCALReconstructor.cxx:473 AliEMCALReconstructor.cxx:474 AliEMCALReconstructor.cxx:475 AliEMCALReconstructor.cxx:476 AliEMCALReconstructor.cxx:477 AliEMCALReconstructor.cxx:478 AliEMCALReconstructor.cxx:479 AliEMCALReconstructor.cxx:480 AliEMCALReconstructor.cxx:481 AliEMCALReconstructor.cxx:482 AliEMCALReconstructor.cxx:483 AliEMCALReconstructor.cxx:484 AliEMCALReconstructor.cxx:485 AliEMCALReconstructor.cxx:486 AliEMCALReconstructor.cxx:487 AliEMCALReconstructor.cxx:488 AliEMCALReconstructor.cxx:489 AliEMCALReconstructor.cxx:490 AliEMCALReconstructor.cxx:491 AliEMCALReconstructor.cxx:492 AliEMCALReconstructor.cxx:493 AliEMCALReconstructor.cxx:494 AliEMCALReconstructor.cxx:495 AliEMCALReconstructor.cxx:496 AliEMCALReconstructor.cxx:497 AliEMCALReconstructor.cxx:498 AliEMCALReconstructor.cxx:499 AliEMCALReconstructor.cxx:500 AliEMCALReconstructor.cxx:501 AliEMCALReconstructor.cxx:502 AliEMCALReconstructor.cxx:503 AliEMCALReconstructor.cxx:504 AliEMCALReconstructor.cxx:505 AliEMCALReconstructor.cxx:506 AliEMCALReconstructor.cxx:507 AliEMCALReconstructor.cxx:508 AliEMCALReconstructor.cxx:509 AliEMCALReconstructor.cxx:510 AliEMCALReconstructor.cxx:511 AliEMCALReconstructor.cxx:512 AliEMCALReconstructor.cxx:513 AliEMCALReconstructor.cxx:514 AliEMCALReconstructor.cxx:515 AliEMCALReconstructor.cxx:516 AliEMCALReconstructor.cxx:517 AliEMCALReconstructor.cxx:518 AliEMCALReconstructor.cxx:519 AliEMCALReconstructor.cxx:520 AliEMCALReconstructor.cxx:521 AliEMCALReconstructor.cxx:522 AliEMCALReconstructor.cxx:523 AliEMCALReconstructor.cxx:524 AliEMCALReconstructor.cxx:525 AliEMCALReconstructor.cxx:526 AliEMCALReconstructor.cxx:527 AliEMCALReconstructor.cxx:528 AliEMCALReconstructor.cxx:529 AliEMCALReconstructor.cxx:530 AliEMCALReconstructor.cxx:531 AliEMCALReconstructor.cxx:532 AliEMCALReconstructor.cxx:533 AliEMCALReconstructor.cxx:534 AliEMCALReconstructor.cxx:535 AliEMCALReconstructor.cxx:536 AliEMCALReconstructor.cxx:537 AliEMCALReconstructor.cxx:538 AliEMCALReconstructor.cxx:539 AliEMCALReconstructor.cxx:540 AliEMCALReconstructor.cxx:541 AliEMCALReconstructor.cxx:542 AliEMCALReconstructor.cxx:543 AliEMCALReconstructor.cxx:544 AliEMCALReconstructor.cxx:545 AliEMCALReconstructor.cxx:546 AliEMCALReconstructor.cxx:547 AliEMCALReconstructor.cxx:548 AliEMCALReconstructor.cxx:549 AliEMCALReconstructor.cxx:550 AliEMCALReconstructor.cxx:551 AliEMCALReconstructor.cxx:552 AliEMCALReconstructor.cxx:553 AliEMCALReconstructor.cxx:554 AliEMCALReconstructor.cxx:555 AliEMCALReconstructor.cxx:556 AliEMCALReconstructor.cxx:557 AliEMCALReconstructor.cxx:558 AliEMCALReconstructor.cxx:559 AliEMCALReconstructor.cxx:560 AliEMCALReconstructor.cxx:561 AliEMCALReconstructor.cxx:562 AliEMCALReconstructor.cxx:563 AliEMCALReconstructor.cxx:564 AliEMCALReconstructor.cxx:565 AliEMCALReconstructor.cxx:566 AliEMCALReconstructor.cxx:567 AliEMCALReconstructor.cxx:568 AliEMCALReconstructor.cxx:569 AliEMCALReconstructor.cxx:570 AliEMCALReconstructor.cxx:571 AliEMCALReconstructor.cxx:572 AliEMCALReconstructor.cxx:573 AliEMCALReconstructor.cxx:574 AliEMCALReconstructor.cxx:575 AliEMCALReconstructor.cxx:576 AliEMCALReconstructor.cxx:577 AliEMCALReconstructor.cxx:578 AliEMCALReconstructor.cxx:579 AliEMCALReconstructor.cxx:580 AliEMCALReconstructor.cxx:581 AliEMCALReconstructor.cxx:582 AliEMCALReconstructor.cxx:583 AliEMCALReconstructor.cxx:584 AliEMCALReconstructor.cxx:585 AliEMCALReconstructor.cxx:586 AliEMCALReconstructor.cxx:587 AliEMCALReconstructor.cxx:588 AliEMCALReconstructor.cxx:589 AliEMCALReconstructor.cxx:590 AliEMCALReconstructor.cxx:591 AliEMCALReconstructor.cxx:592 AliEMCALReconstructor.cxx:593 AliEMCALReconstructor.cxx:594 AliEMCALReconstructor.cxx:595 AliEMCALReconstructor.cxx:596 AliEMCALReconstructor.cxx:597 AliEMCALReconstructor.cxx:598 AliEMCALReconstructor.cxx:599 AliEMCALReconstructor.cxx:600 AliEMCALReconstructor.cxx:601 AliEMCALReconstructor.cxx:602 AliEMCALReconstructor.cxx:603 AliEMCALReconstructor.cxx:604 AliEMCALReconstructor.cxx:605 AliEMCALReconstructor.cxx:606 AliEMCALReconstructor.cxx:607 AliEMCALReconstructor.cxx:608 AliEMCALReconstructor.cxx:609 AliEMCALReconstructor.cxx:610 AliEMCALReconstructor.cxx:611 AliEMCALReconstructor.cxx:612 AliEMCALReconstructor.cxx:613 AliEMCALReconstructor.cxx:614 AliEMCALReconstructor.cxx:615 AliEMCALReconstructor.cxx:616 AliEMCALReconstructor.cxx:617 AliEMCALReconstructor.cxx:618 AliEMCALReconstructor.cxx:619 AliEMCALReconstructor.cxx:620 AliEMCALReconstructor.cxx:621 AliEMCALReconstructor.cxx:622 AliEMCALReconstructor.cxx:623 AliEMCALReconstructor.cxx:624 AliEMCALReconstructor.cxx:625 AliEMCALReconstructor.cxx:626 AliEMCALReconstructor.cxx:627 AliEMCALReconstructor.cxx:628 AliEMCALReconstructor.cxx:629 AliEMCALReconstructor.cxx:630 AliEMCALReconstructor.cxx:631 AliEMCALReconstructor.cxx:632 AliEMCALReconstructor.cxx:633 AliEMCALReconstructor.cxx:634 AliEMCALReconstructor.cxx:635 AliEMCALReconstructor.cxx:636 AliEMCALReconstructor.cxx:637 AliEMCALReconstructor.cxx:638 AliEMCALReconstructor.cxx:639 AliEMCALReconstructor.cxx:640 AliEMCALReconstructor.cxx:641 AliEMCALReconstructor.cxx:642 AliEMCALReconstructor.cxx:643 AliEMCALReconstructor.cxx:644 AliEMCALReconstructor.cxx:645 AliEMCALReconstructor.cxx:646 AliEMCALReconstructor.cxx:647 AliEMCALReconstructor.cxx:648 AliEMCALReconstructor.cxx:649 AliEMCALReconstructor.cxx:650 AliEMCALReconstructor.cxx:651 AliEMCALReconstructor.cxx:652 AliEMCALReconstructor.cxx:653 AliEMCALReconstructor.cxx:654 AliEMCALReconstructor.cxx:655 AliEMCALReconstructor.cxx:656 AliEMCALReconstructor.cxx:657 AliEMCALReconstructor.cxx:658 AliEMCALReconstructor.cxx:659 AliEMCALReconstructor.cxx:660 AliEMCALReconstructor.cxx:661 AliEMCALReconstructor.cxx:662 AliEMCALReconstructor.cxx:663 AliEMCALReconstructor.cxx:664 AliEMCALReconstructor.cxx:665 AliEMCALReconstructor.cxx:666 AliEMCALReconstructor.cxx:667 AliEMCALReconstructor.cxx:668 AliEMCALReconstructor.cxx:669 AliEMCALReconstructor.cxx:670 AliEMCALReconstructor.cxx:671 AliEMCALReconstructor.cxx:672 AliEMCALReconstructor.cxx:673 AliEMCALReconstructor.cxx:674 AliEMCALReconstructor.cxx:675 AliEMCALReconstructor.cxx:676 AliEMCALReconstructor.cxx:677 AliEMCALReconstructor.cxx:678 AliEMCALReconstructor.cxx:679 AliEMCALReconstructor.cxx:680 AliEMCALReconstructor.cxx:681 AliEMCALReconstructor.cxx:682 AliEMCALReconstructor.cxx:683 AliEMCALReconstructor.cxx:684 AliEMCALReconstructor.cxx:685 AliEMCALReconstructor.cxx:686 AliEMCALReconstructor.cxx:687 AliEMCALReconstructor.cxx:688 AliEMCALReconstructor.cxx:689 AliEMCALReconstructor.cxx:690 AliEMCALReconstructor.cxx:691 AliEMCALReconstructor.cxx:692 AliEMCALReconstructor.cxx:693 AliEMCALReconstructor.cxx:694 AliEMCALReconstructor.cxx:695 AliEMCALReconstructor.cxx:696 AliEMCALReconstructor.cxx:697 AliEMCALReconstructor.cxx:698 AliEMCALReconstructor.cxx:699 AliEMCALReconstructor.cxx:700 AliEMCALReconstructor.cxx:701 AliEMCALReconstructor.cxx:702 AliEMCALReconstructor.cxx:703 AliEMCALReconstructor.cxx:704 AliEMCALReconstructor.cxx:705 AliEMCALReconstructor.cxx:706 AliEMCALReconstructor.cxx:707 AliEMCALReconstructor.cxx:708 AliEMCALReconstructor.cxx:709 AliEMCALReconstructor.cxx:710 AliEMCALReconstructor.cxx:711 AliEMCALReconstructor.cxx:712 AliEMCALReconstructor.cxx:713 AliEMCALReconstructor.cxx:714 AliEMCALReconstructor.cxx:715 AliEMCALReconstructor.cxx:716 AliEMCALReconstructor.cxx:717 AliEMCALReconstructor.cxx:718 AliEMCALReconstructor.cxx:719 AliEMCALReconstructor.cxx:720 AliEMCALReconstructor.cxx:721 AliEMCALReconstructor.cxx:722 AliEMCALReconstructor.cxx:723 AliEMCALReconstructor.cxx:724 AliEMCALReconstructor.cxx:725 AliEMCALReconstructor.cxx:726 AliEMCALReconstructor.cxx:727 AliEMCALReconstructor.cxx:728 AliEMCALReconstructor.cxx:729 AliEMCALReconstructor.cxx:730 AliEMCALReconstructor.cxx:731 AliEMCALReconstructor.cxx:732 AliEMCALReconstructor.cxx:733 AliEMCALReconstructor.cxx:734 AliEMCALReconstructor.cxx:735 AliEMCALReconstructor.cxx:736 AliEMCALReconstructor.cxx:737 AliEMCALReconstructor.cxx:738 AliEMCALReconstructor.cxx:739 AliEMCALReconstructor.cxx:740 AliEMCALReconstructor.cxx:741 AliEMCALReconstructor.cxx:742 AliEMCALReconstructor.cxx:743 AliEMCALReconstructor.cxx:744 AliEMCALReconstructor.cxx:745 AliEMCALReconstructor.cxx:746 AliEMCALReconstructor.cxx:747 AliEMCALReconstructor.cxx:748 AliEMCALReconstructor.cxx:749 AliEMCALReconstructor.cxx:750 AliEMCALReconstructor.cxx:751 AliEMCALReconstructor.cxx:752 AliEMCALReconstructor.cxx:753 AliEMCALReconstructor.cxx:754 AliEMCALReconstructor.cxx:755 AliEMCALReconstructor.cxx:756 AliEMCALReconstructor.cxx:757 AliEMCALReconstructor.cxx:758 AliEMCALReconstructor.cxx:759 AliEMCALReconstructor.cxx:760 AliEMCALReconstructor.cxx:761 AliEMCALReconstructor.cxx:762 AliEMCALReconstructor.cxx:763 AliEMCALReconstructor.cxx:764 AliEMCALReconstructor.cxx:765 AliEMCALReconstructor.cxx:766 AliEMCALReconstructor.cxx:767 AliEMCALReconstructor.cxx:768 AliEMCALReconstructor.cxx:769 AliEMCALReconstructor.cxx:770 AliEMCALReconstructor.cxx:771 AliEMCALReconstructor.cxx:772 AliEMCALReconstructor.cxx:773 AliEMCALReconstructor.cxx:774 AliEMCALReconstructor.cxx:775 AliEMCALReconstructor.cxx:776 AliEMCALReconstructor.cxx:777 AliEMCALReconstructor.cxx:778 AliEMCALReconstructor.cxx:779 AliEMCALReconstructor.cxx:780 AliEMCALReconstructor.cxx:781 AliEMCALReconstructor.cxx:782 AliEMCALReconstructor.cxx:783 AliEMCALReconstructor.cxx:784 AliEMCALReconstructor.cxx:785 AliEMCALReconstructor.cxx:786 AliEMCALReconstructor.cxx:787 AliEMCALReconstructor.cxx:788 AliEMCALReconstructor.cxx:789 AliEMCALReconstructor.cxx:790 AliEMCALReconstructor.cxx:791 AliEMCALReconstructor.cxx:792 AliEMCALReconstructor.cxx:793 AliEMCALReconstructor.cxx:794 AliEMCALReconstructor.cxx:795 AliEMCALReconstructor.cxx:796 AliEMCALReconstructor.cxx:797 AliEMCALReconstructor.cxx:798 AliEMCALReconstructor.cxx:799 AliEMCALReconstructor.cxx:800 AliEMCALReconstructor.cxx:801 AliEMCALReconstructor.cxx:802 AliEMCALReconstructor.cxx:803 AliEMCALReconstructor.cxx:804 AliEMCALReconstructor.cxx:805 AliEMCALReconstructor.cxx:806 AliEMCALReconstructor.cxx:807 AliEMCALReconstructor.cxx:808 AliEMCALReconstructor.cxx:809 AliEMCALReconstructor.cxx:810 AliEMCALReconstructor.cxx:811 AliEMCALReconstructor.cxx:812 AliEMCALReconstructor.cxx:813 AliEMCALReconstructor.cxx:814 AliEMCALReconstructor.cxx:815 AliEMCALReconstructor.cxx:816 AliEMCALReconstructor.cxx:817 AliEMCALReconstructor.cxx:818 AliEMCALReconstructor.cxx:819 AliEMCALReconstructor.cxx:820 AliEMCALReconstructor.cxx:821 AliEMCALReconstructor.cxx:822 AliEMCALReconstructor.cxx:823 AliEMCALReconstructor.cxx:824 AliEMCALReconstructor.cxx:825 AliEMCALReconstructor.cxx:826 AliEMCALReconstructor.cxx:827 AliEMCALReconstructor.cxx:828 AliEMCALReconstructor.cxx:829 AliEMCALReconstructor.cxx:830