#include <TClonesArray.h>
#include <TGeoManager.h>
#include <TObjArray.h>
#include <TString.h>
#include <TTree.h>
#include <TArrayI.h>
#include "AliAODCaloCluster.h"
#include "AliAODEvent.h"
#include "AliAnalysisManager.h"
#include "AliCDBEntry.h"
#include "AliCDBManager.h"
#include "AliCaloCalibPedestal.h"
#include "AliEMCALAfterBurnerUF.h"
#include "AliEMCALCalibData.h"
#include "AliEMCALClusterizerNxN.h"
#include "AliEMCALClusterizerv1.h"
#include "AliEMCALClusterizerv2.h"
#include "AliEMCALClusterizerFixedWindow.h"
#include "AliEMCALDigit.h"
#include "AliEMCALGeometry.h"
#include "AliEMCALRecParam.h"
#include "AliEMCALRecPoint.h"
#include "AliEMCALRecoUtils.h"
#include "AliESDEvent.h"
#include "AliInputEventHandler.h"
#include "AliLog.h"
#include "AliAnalysisTaskEMCALClusterizeFast.h"
ClassImp(AliAnalysisTaskEMCALClusterizeFast)
AliAnalysisTaskEMCALClusterizeFast::AliAnalysisTaskEMCALClusterizeFast() :
AliAnalysisTaskSE(),
fRun(-1),
fDigitsArr(0),
fClusterArr(0),
fRecParam(new AliEMCALRecParam),
fClusterizer(0),
fUnfolder(0),
fJustUnfold(kFALSE),
fGeomName(),
fGeomMatrixSet(kFALSE),
fLoadGeomMatrices(kFALSE),
fOCDBpath(),
fCalibData(0),
fPedestalData(0),
fOutputAODBranch(0),
fOutputAODBrName(),
fRecoUtils(0),
fLoadCalib(kFALSE),
fLoadPed(kFALSE),
fAttachClusters(kTRUE),
fSubBackground(kFALSE),
fNPhi(4),
fNEta(4),
fShiftPhi(2),
fShiftEta(2),
fTRUShift(0),
fInputCellType(kFEEData),
fTrackName(),
fCaloCellsName(),
fCaloClustersName("newCaloClusters"),
fDoUpdateCells(kFALSE),
fDoClusterize(kTRUE),
fClusterBadChannelCheck(kFALSE),
fRejectExoticClusters(kFALSE),
fRejectExoticCells(kFALSE),
fFiducial(kFALSE),
fDoNonLinearity(kFALSE),
fRecalDistToBadChannels(kFALSE),
fSetCellMCLabelFromCluster(0),
fCaloCells(0),
fCaloClusters(0),
fEsd(0),
fAod(0),
fGeom(0)
{
for(Int_t i = 0; i < 12; ++i)
fGeomMatrix[i] = 0;
}
AliAnalysisTaskEMCALClusterizeFast::AliAnalysisTaskEMCALClusterizeFast(const char *name) :
AliAnalysisTaskSE(name),
fRun(-1),
fDigitsArr(0),
fClusterArr(0),
fRecParam(new AliEMCALRecParam),
fClusterizer(0),
fUnfolder(0),
fJustUnfold(kFALSE),
fGeomName(),
fGeomMatrixSet(kFALSE),
fLoadGeomMatrices(kFALSE),
fOCDBpath(),
fCalibData(0),
fPedestalData(0),
fOutputAODBranch(0),
fOutputAODBrName(),
fRecoUtils(0),
fLoadCalib(kFALSE),
fLoadPed(kFALSE),
fAttachClusters(kTRUE),
fSubBackground(kFALSE),
fNPhi(4),
fNEta(4),
fShiftPhi(2),
fShiftEta(2),
fTRUShift(0),
fInputCellType(kFEEData),
fTrackName(),
fCaloCellsName(),
fCaloClustersName("newCaloClusters"),
fDoUpdateCells(kFALSE),
fDoClusterize(kTRUE),
fClusterBadChannelCheck(kFALSE),
fRejectExoticClusters(kFALSE),
fRejectExoticCells(kFALSE),
fFiducial(kFALSE),
fDoNonLinearity(kFALSE),
fRecalDistToBadChannels(kFALSE),
fSetCellMCLabelFromCluster(0),
fCaloCells(0),
fCaloClusters(0),
fEsd(0),
fAod(0),
fGeom(0)
{
fBranchNames = "ESD:AliESDHeader.,AliESDRun.,EMCALCells.,EMCALTrigger. AOD:header,emcalCells";
for(Int_t i = 0; i < 12; ++i)
fGeomMatrix[i] = 0;
}
AliAnalysisTaskEMCALClusterizeFast::~AliAnalysisTaskEMCALClusterizeFast()
{
delete fClusterizer;
delete fUnfolder;
delete fRecoUtils;
delete fRecParam;
}
void AliAnalysisTaskEMCALClusterizeFast::UserCreateOutputObjects()
{
if (!fOutputAODBrName.IsNull()) {
fOutputAODBranch = new TClonesArray("AliAODCaloCluster", 0);
fOutputAODBranch->SetName(fOutputAODBrName);
AddAODBranch("TClonesArray", &fOutputAODBranch);
AliInfo(Form("Created Branch: %s",fOutputAODBrName.Data()));
}
}
void AliAnalysisTaskEMCALClusterizeFast::UserExec(Option_t *)
{
if (!fDoClusterize && !fDoUpdateCells)
return;
if (fOutputAODBranch)
fOutputAODBranch->Clear("C");
fEsd = dynamic_cast<AliESDEvent*>(InputEvent());
fAod = dynamic_cast<AliAODEvent*>(InputEvent());
if (!fEsd&&!fAod) {
Error("UserExec","Event not available");
return;
}
LoadBranches();
UInt_t offtrigger = 0;
if (fEsd) {
UInt_t mask1 = fEsd->GetESDRun()->GetDetectorsInDAQ();
UInt_t mask2 = fEsd->GetESDRun()->GetDetectorsInReco();
Bool_t desc1 = (mask1 >> 18) & 0x1;
Bool_t desc2 = (mask2 >> 18) & 0x1;
if (desc1==0 || desc2==0) {
AliError(Form("EMCAL not in DAQ/RECO: %u (%u)/%u (%u)",
mask1, fEsd->GetESDRun()->GetDetectorsInReco(),
mask2, fEsd->GetESDRun()->GetDetectorsInDAQ()));
return;
}
AliAnalysisManager *am = AliAnalysisManager::GetAnalysisManager();
offtrigger = ((AliInputEventHandler*)(am->GetInputEventHandler()))->IsEventSelected();
} else {
offtrigger = ((AliVAODHeader*)fAod->GetHeader())->GetOfflineTrigger();
}
if (!MCEvent()) {
if (offtrigger & AliVEvent::kFastOnly) {
AliError(Form("EMCAL not in fast only partition"));
return;
}
}
Init();
if (fJustUnfold) {
AliWarning("Unfolding not implemented");
return;
}
FillDigitsArray();
if (fDoClusterize)
Clusterize();
if (fDoUpdateCells)
UpdateCells();
if (!fDoClusterize || (!fAttachClusters && !fOutputAODBranch) || !fCaloClusters)
return;
UpdateClusters();
CalibrateClusters();
if (fOutputAODBranch && fCaloClusters != fOutputAODBranch)
CopyClusters(fCaloClusters, fOutputAODBranch);
}
void AliAnalysisTaskEMCALClusterizeFast::CopyClusters(TClonesArray *orig, TClonesArray *dest)
{
const Int_t Ncls = orig->GetEntries();
for(Int_t i=0; i < Ncls; ++i) {
AliVCluster *oc = static_cast<AliVCluster*>(orig->At(i));
if (!oc)
continue;
if (!oc->IsEMCAL())
continue;
AliVCluster *dc = static_cast<AliVCluster*>(dest->New(i));
dc->SetType(AliVCluster::kEMCALClusterv1);
dc->SetE(oc->E());
Float_t pos[3] = {0};
oc->GetPosition(pos);
dc->SetPosition(pos);
dc->SetNCells(oc->GetNCells());
dc->SetCellsAbsId(oc->GetCellsAbsId());
dc->SetCellsAmplitudeFraction(oc->GetCellsAmplitudeFraction());
dc->SetID(oc->GetID());
dc->SetDispersion(oc->GetDispersion());
dc->SetEmcCpvDistance(-1);
dc->SetChi2(-1);
dc->SetTOF(oc->GetTOF());
dc->SetNExMax(oc->GetNExMax());
dc->SetM02(oc->GetM02());
dc->SetM20(oc->GetM20());
dc->SetDistanceToBadChannel(oc->GetDistanceToBadChannel());
dc->SetMCEnergyFraction(oc->GetMCEnergyFraction());
UInt_t nlabels = oc->GetNLabels();
Int_t *labels = oc->GetLabels();
if (nlabels == 0 || !labels)
continue;
AliESDCaloCluster *esdClus = dynamic_cast<AliESDCaloCluster*>(dc);
if (esdClus) {
TArrayI parents(nlabels, labels);
esdClus->AddLabels(parents);
}
else {
AliAODCaloCluster *aodClus = dynamic_cast<AliAODCaloCluster*>(dc);
if (aodClus)
aodClus->SetLabel(labels, nlabels);
}
}
}
void AliAnalysisTaskEMCALClusterizeFast::Clusterize()
{
if (fSubBackground) {
fClusterizer->SetInputCalibrated(kTRUE);
fClusterizer->SetCalibrationParameters(0);
}
fClusterizer->Digits2Clusters("");
if (fSubBackground) {
if (fCalibData) {
fClusterizer->SetInputCalibrated(kFALSE);
fClusterizer->SetCalibrationParameters(fCalibData);
}
}
}
void AliAnalysisTaskEMCALClusterizeFast::FillDigitsArray()
{
fDigitsArr->Clear("C");
switch (fInputCellType) {
case kFEEData :
case kFEEDataMCOnly :
case kFEEDataExcludeMC :
{
Int_t cellLabels[12672]={-1};
if (fSetCellMCLabelFromCluster) {
Int_t nClusters = InputEvent()->GetNumberOfCaloClusters();
for (Int_t i = 0; i < nClusters; i++) {
AliVCluster *clus = InputEvent()->GetCaloCluster(i);
if (!clus) continue;
if (!clus->IsEMCAL()) continue ;
Int_t label = clus->GetLabel();
UShort_t * index = clus->GetCellsAbsId() ;
for (Int_t icell=0; icell < clus->GetNCells(); icell++) cellLabels[index[icell]] = label;
}
}
Double_t avgE = 0;
const Int_t ncells = fCaloCells->GetNumberOfCells();
for (Int_t icell = 0, idigit = 0; icell < ncells; ++icell) {
Double_t cellAmplitude=0, cellTime=0, cellEFrac = 0;
Short_t cellNumber=0;
Int_t cellMCLabel=-1;
if (fCaloCells->GetCell(icell, cellNumber, cellAmplitude, cellTime, cellMCLabel, cellEFrac) != kTRUE)
break;
if (fSetCellMCLabelFromCluster) cellMCLabel = cellLabels[cellNumber];
if (cellMCLabel > 0 && cellEFrac < 1e-6)
cellEFrac = 1;
if (cellAmplitude < 1e-6 || cellNumber < 0)
continue;
if (fInputCellType == kFEEDataMCOnly) {
if (cellMCLabel <= 0)
continue;
else {
cellAmplitude *= cellEFrac;
cellEFrac = 1;
}
}
else if (fInputCellType == kFEEDataExcludeMC) {
if (cellMCLabel > 0)
continue;
else {
cellAmplitude *= 1 - cellEFrac;
cellEFrac = 0;
}
}
if(!AcceptCell(cellNumber)) continue;
AliEMCALDigit *digit = new((*fDigitsArr)[idigit]) AliEMCALDigit(cellMCLabel, cellMCLabel, cellNumber,
(Float_t)cellAmplitude, (Float_t)cellTime,
AliEMCALDigit::kHG,idigit, 0, 0, cellEFrac*cellAmplitude);
if (!fDoClusterize||fSubBackground) {
Float_t energy = cellAmplitude;
Float_t time = cellTime;
fClusterizer->Calibrate(energy,time,cellNumber);
digit->SetAmplitude(energy);
avgE += energy;
}
idigit++;
}
if (fSubBackground) {
avgE /= fGeom->GetNumberOfSuperModules()*48*24;
Int_t ndigis = fDigitsArr->GetEntries();
for (Int_t i = 0; i < ndigis; ++i) {
AliEMCALDigit *digit = static_cast<AliEMCALDigit*>(fDigitsArr->At(i));
Double_t energy = digit->GetAmplitude() - avgE;
if (energy<=0.001) {
digit->SetAmplitude(0);
} else {
digit->SetAmplitude(energy);
}
}
}
}
break;
case kPattern :
{
Int_t maxd = fGeom->GetNCells() / 4;
for (Int_t idigit = 0; idigit < maxd; idigit++){
if (idigit % 24 == 12) idigit += 12;
AliEMCALDigit *digit = static_cast<AliEMCALDigit*>(fDigitsArr->New(idigit));
digit->SetId(idigit * 4);
digit->SetTime(600);
digit->SetTimeR(600);
digit->SetIndexInList(idigit);
digit->SetType(AliEMCALDigit::kHG);
digit->SetAmplitude(0.1);
}
}
break;
case kL0FastORs :
case kL0FastORsTC :
case kL1FastORs :
{
AliVCaloTrigger *triggers = InputEvent()->GetCaloTrigger("EMCAL");
if (!triggers || !(triggers->GetEntries() > 0))
return;
Int_t idigit = 0;
triggers->Reset();
while ((triggers->Next())) {
Float_t L0Amplitude = 0;
triggers->GetAmplitude(L0Amplitude);
if (L0Amplitude <= 0 && fInputCellType != kL1FastORs)
continue;
Int_t L1Amplitude = 0;
triggers->GetL1TimeSum(L1Amplitude);
if (L1Amplitude <= 0 && fInputCellType == kL1FastORs)
continue;
Int_t triggerTime = 0;
Int_t ntimes = 0;
triggers->GetNL0Times(ntimes);
if (ntimes < 1 && fInputCellType == kL0FastORsTC)
continue;
if (ntimes > 0) {
Int_t trgtimes[25];
triggers->GetL0Times(trgtimes);
triggerTime = trgtimes[0];
}
Int_t triggerCol = 0, triggerRow = 0;
triggers->GetPosition(triggerCol, triggerRow);
Int_t find = -1;
fGeom->GetAbsFastORIndexFromPositionInEMCAL(triggerCol, triggerRow, find);
if (find < 0)
continue;
Int_t cidx[4] = {-1};
Bool_t ret = fGeom->GetCellIndexFromFastORIndex(find, cidx);
if (!ret)
continue;
Float_t triggerAmplitude = 0;
if (fInputCellType == kL1FastORs) {
triggerAmplitude = 0.25 * L1Amplitude;
}
else {
triggerAmplitude = L0Amplitude;
}
for (Int_t idxpos = 0; idxpos < 4; idxpos++) {
Int_t triggerNumber = cidx[idxpos];
AliEMCALDigit *digit = static_cast<AliEMCALDigit*>(fDigitsArr->New(idigit));
digit->SetId(triggerNumber);
digit->SetTime(triggerTime);
digit->SetTimeR(triggerTime);
digit->SetIndexInList(idigit);
digit->SetType(AliEMCALDigit::kHG);
digit->SetAmplitude(triggerAmplitude);
idigit++;
}
}
}
break;
}
}
Bool_t AliAnalysisTaskEMCALClusterizeFast::AcceptCell(Int_t cellNumber) {
Bool_t accept = kTRUE;
if(fRejectExoticCells) {
Bool_t exRemoval = fRecoUtils->IsRejectExoticCell();
fRecoUtils->SwitchOnRejectExoticCell();
Int_t bunchCrossNo = InputEvent()->GetBunchCrossNumber();
Bool_t isEx = fRecoUtils->IsExoticCell(cellNumber, fCaloCells, bunchCrossNo);
if(isEx) accept = kFALSE;
if(!exRemoval) fRecoUtils->SwitchOffRejectExoticCell();
}
return accept;
}
void AliAnalysisTaskEMCALClusterizeFast::CalibrateClusters()
{
Int_t nclusters = fCaloClusters->GetEntriesFast();
for (Int_t icluster=0; icluster < nclusters; ++icluster) {
AliVCluster *clust = static_cast<AliVCluster*>(fCaloClusters->At(icluster));
if (!clust)
continue;
if (!clust->IsEMCAL())
continue;
if (fClusterBadChannelCheck) {
Bool_t badRemoval = fRecoUtils->IsBadChannelsRemovalSwitchedOn();
fRecoUtils->SwitchOnBadChannelsRemoval();
Bool_t badResult = fRecoUtils->ClusterContainsBadChannel(fGeom, clust->GetCellsAbsId(), clust->GetNCells());
if (!badRemoval)
fRecoUtils->SwitchOffBadChannelsRemoval();
if (badResult) {
delete fCaloClusters->RemoveAt(icluster);
continue;
}
}
if (fRejectExoticClusters) {
Bool_t exRemoval = fRecoUtils->IsRejectExoticCell();
fRecoUtils->SwitchOnRejectExoticCell();
Int_t bunchCrossNo = InputEvent()->GetBunchCrossNumber();
Bool_t exResult = fRecoUtils->IsExoticCluster(clust, fCaloCells, bunchCrossNo);
if (!exRemoval)
fRecoUtils->SwitchOffRejectExoticCell();
if (exResult) {
delete fCaloClusters->RemoveAt(icluster);
continue;
}
}
if (fFiducial) {
if (!fRecoUtils->CheckCellFiducialRegion(fGeom, clust, fCaloCells)){
delete fCaloClusters->RemoveAt(icluster);
continue;
}
}
if (fDoNonLinearity) {
Float_t correctedEnergy = fRecoUtils->CorrectClusterEnergyLinearity(clust);
clust->SetE(correctedEnergy);
}
if (fRecalDistToBadChannels)
fRecoUtils->RecalculateClusterDistanceToBadChannel(fGeom, fCaloCells, clust);
}
fCaloClusters->Compress();
}
void AliAnalysisTaskEMCALClusterizeFast::TrackClusterMatching(AliVCluster *c, TClonesArray *tarr)
{
Float_t g[3]={0};
c->GetPosition(g);
TVector3 gpos(g);
Double_t dEtaMin = 1e9;
Double_t dPhiMin = 1e9;
Int_t imin = -1;
Double_t ceta = gpos.Eta();
Double_t cphi = gpos.Phi();
const Int_t ntrks = tarr->GetEntries();
for(Int_t t = 0; t<ntrks; ++t) {
AliVTrack *track = static_cast<AliVTrack*>(tarr->At(t));
if (!track)
continue;
const AliExternalTrackParam *outp = track->GetOuterParam();
if (!outp)
continue;
Double_t trkPos[3] = {0.,0.,0.};
if (!outp->GetXYZ(trkPos))
continue;
TVector3 vec(trkPos[0],trkPos[1],trkPos[2]);
Double_t veta = vec.Eta();
Double_t vphi = vec.Phi();
if(vphi<0)
vphi += 2*TMath::Pi();
if (TMath::Abs(veta)>0.75 || (vphi<70*TMath::DegToRad()) || (vphi>190*TMath::DegToRad()))
continue;
Double_t dR = vec.DeltaR(gpos);
if(dR > 25)
continue;
Float_t tmpEta=0, tmpPhi=0;
if (0) {
AliExternalTrackParam trkParTemp(*outp);
Bool_t ret = fRecoUtils->ExtrapolateTrackToCluster(&trkParTemp, c, fRecoUtils->GetMass(), fRecoUtils->GetStep(), tmpEta, tmpPhi);
if (!ret)
continue;
} else {
tmpEta = ceta - veta;
tmpPhi = cphi - vphi;
}
if (TMath::Abs(tmpEta)<TMath::Abs(dEtaMin) && TMath::Abs(tmpPhi)<TMath::Abs(dPhiMin)) {
dEtaMin = tmpEta;
dPhiMin = tmpPhi;
imin = t;
}
}
c->SetEmcCpvDistance(imin);
c->SetTrackDistance(dPhiMin, dEtaMin);
}
void AliAnalysisTaskEMCALClusterizeFast::RecPoints2Clusters(TClonesArray *clus)
{
TClonesArray *tarr = 0;
if (!fTrackName.IsNull()) {
tarr = dynamic_cast<TClonesArray*>(InputEvent()->FindListObject(fTrackName));
if (!tarr) {
AliError(Form("Cannot get tracks named %s", fTrackName.Data()));
}
}
const Int_t Ncls = fClusterArr->GetEntries();
AliDebug(1, Form("total no of clusters %d", Ncls));
for(Int_t i=0, nout=clus->GetEntries(); i < Ncls; ++i) {
AliEMCALRecPoint *recpoint = static_cast<AliEMCALRecPoint*>(fClusterArr->At(i));
Int_t ncells_true = 0;
const Int_t ncells = recpoint->GetMultiplicity();
UShort_t absIds[ncells];
Double32_t ratios[ncells];
Int_t *dlist = recpoint->GetDigitsList();
Float_t *elist = recpoint->GetEnergiesList();
Double_t mcEnergy = 0;
for (Int_t c = 0; c < ncells; ++c) {
AliEMCALDigit *digit = static_cast<AliEMCALDigit*>(fDigitsArr->At(dlist[c]));
absIds[ncells_true] = digit->GetId();
ratios[ncells_true] = elist[c]/recpoint->GetEnergy();
if (digit->GetIparent(1) > 0)
mcEnergy += digit->GetDEParent(1)/recpoint->GetEnergy();
++ncells_true;
}
if (ncells_true < 1) {
AliWarning("Skipping cluster with no cells");
continue;
}
TVector3 gpos;
recpoint->GetGlobalPosition(gpos);
Float_t g[3];
gpos.GetXYZ(g);
AliDebug(1, Form("energy %f", recpoint->GetEnergy()));
AliVCluster *c = static_cast<AliVCluster*>(clus->New(nout++));
c->SetType(AliVCluster::kEMCALClusterv1);
c->SetE(recpoint->GetEnergy());
c->SetPosition(g);
c->SetNCells(ncells_true);
c->SetCellsAbsId(absIds);
c->SetCellsAmplitudeFraction(ratios);
c->SetID(recpoint->GetUniqueID());
c->SetDispersion(recpoint->GetDispersion());
c->SetEmcCpvDistance(-1);
c->SetChi2(-1);
c->SetTOF(recpoint->GetTime()) ;
c->SetNExMax(recpoint->GetNExMax());
Float_t elipAxis[2];
recpoint->GetElipsAxis(elipAxis);
c->SetM02(elipAxis[0]*elipAxis[0]);
c->SetM20(elipAxis[1]*elipAxis[1]);
c->SetMCEnergyFraction(mcEnergy);
AliESDCaloCluster *esdClus = dynamic_cast<AliESDCaloCluster*>(c);
if (esdClus) {
Int_t parentMult = 0;
Int_t *parentList = recpoint->GetParents(parentMult);
if (parentMult > 0) {
TArrayI parents(parentMult, parentList);
esdClus->AddLabels(parents);
}
}
else {
AliAODCaloCluster *aodClus = dynamic_cast<AliAODCaloCluster*>(c);
if (aodClus) {
Int_t parentMult = 0;
Int_t *parentList = recpoint->GetParents(parentMult);
aodClus->SetLabel(parentList, parentMult);
}
}
if (tarr)
TrackClusterMatching(c, tarr);
}
}
void AliAnalysisTaskEMCALClusterizeFast::UpdateCells()
{
if (!fCalibData&&!fSubBackground)
return;
const Int_t ncells = fCaloCells->GetNumberOfCells();
const Int_t ndigis = fDigitsArr->GetEntries();
if (ncells!=ndigis) {
fCaloCells->DeleteContainer();
fCaloCells->CreateContainer(ndigis);
}
for (Int_t idigit = 0; idigit < ndigis; ++idigit) {
AliEMCALDigit *digit = static_cast<AliEMCALDigit*>(fDigitsArr->At(idigit));
Double_t cellAmplitude = digit->GetCalibAmp();
Short_t cellNumber = digit->GetId();
Double_t cellTime = digit->GetTime();
fCaloCells->SetCell(idigit, cellNumber, cellAmplitude, cellTime);
}
}
void AliAnalysisTaskEMCALClusterizeFast::UpdateClusters()
{
const Int_t nents = fCaloClusters->GetEntries();
for (Int_t i=0;i<nents;++i) {
AliVCluster *c = static_cast<AliVCluster*>(fCaloClusters->At(i));
if (!c)
continue;
if (c->IsEMCAL())
delete fCaloClusters->RemoveAt(i);
}
fCaloClusters->Compress();
RecPoints2Clusters(fCaloClusters);
}
void AliAnalysisTaskEMCALClusterizeFast::Init()
{
if (InputEvent()->GetRunNumber()==fRun)
return;
fRun = InputEvent()->GetRunNumber();
if (fJustUnfold){
delete fUnfolder;
fUnfolder = new AliEMCALAfterBurnerUF(fRecParam->GetW0(),fRecParam->GetLocMaxCut(),fRecParam->GetMinECut());
return;
}
if (fGeomName.Length()>0)
fGeom = AliEMCALGeometry::GetInstance(fGeomName);
else
fGeom = AliEMCALGeometry::GetInstance();
if (!fGeom) {
AliFatal("Geometry not available!!!");
return;
}
if (!fGeomMatrixSet) {
if (fLoadGeomMatrices) {
for(Int_t mod=0; mod < fGeom->GetNumberOfSuperModules(); ++mod) {
if (fGeomMatrix[mod]){
if (DebugLevel() > 2)
fGeomMatrix[mod]->Print();
fGeom->SetMisalMatrix(fGeomMatrix[mod],mod);
}
}
} else {
for(Int_t mod=0; mod < fGeom->GetEMCGeometry()->GetNumberOfSuperModules(); ++mod) {
const TGeoHMatrix *gm = 0;
if (fEsd) {
gm = fEsd->GetEMCALMatrix(mod);
} else {
AliAODHeader *aodheader = dynamic_cast<AliAODHeader*>(fAod->GetHeader());
if(!aodheader) AliFatal("Not a standard AOD");
if (aodheader) {
gm = aodheader->GetEMCALMatrix(mod);
}
}
if (gm) {
if (DebugLevel() > 2)
gm->Print();
fGeom->SetMisalMatrix(gm,mod);
}
}
}
fGeomMatrixSet=kTRUE;
}
if (!fDigitsArr) {
fDigitsArr = new TClonesArray("AliEMCALDigit", 1000);
fDigitsArr->SetOwner(1);
}
if (fClusterizer) {
fClusterizer->SetDigitsArr(0);
delete fClusterizer;
}
if (fRecParam->GetClusterizerFlag() == AliEMCALRecParam::kClusterizerv1)
fClusterizer = new AliEMCALClusterizerv1(fGeom);
else if (fRecParam->GetClusterizerFlag() == AliEMCALRecParam::kClusterizerNxN) {
AliEMCALClusterizerNxN *clusterizer = new AliEMCALClusterizerNxN(fGeom);
clusterizer->SetNRowDiff(fRecParam->GetNRowDiff());
clusterizer->SetNColDiff(fRecParam->GetNColDiff());
fClusterizer = clusterizer;
}
else if (fRecParam->GetClusterizerFlag() == AliEMCALRecParam::kClusterizerv2)
fClusterizer = new AliEMCALClusterizerv2(fGeom);
else if (fRecParam->GetClusterizerFlag() == AliEMCALRecParam::kClusterizerFW) {
AliEMCALClusterizerFixedWindow *clusterizer = new AliEMCALClusterizerFixedWindow(fGeom);
clusterizer->SetNphi(fNPhi);
clusterizer->SetNeta(fNEta);
clusterizer->SetShiftPhi(fShiftPhi);
clusterizer->SetShiftEta(fShiftEta);
clusterizer->SetTRUshift(fTRUShift);
fClusterizer = clusterizer;
}
else {
AliFatal(Form("Clusterizer < %d > not available", fRecParam->GetClusterizerFlag()));
}
fClusterizer->InitParameters(fRecParam);
if ((!fCalibData&&fLoadCalib) || (!fPedestalData&&fLoadPed)) {
AliCDBManager *cdb = AliCDBManager::Instance();
if (!cdb->IsDefaultStorageSet() && !fOCDBpath.IsNull())
cdb->SetDefaultStorage(fOCDBpath);
if (fRun!=cdb->GetRun())
cdb->SetRun(fRun);
}
if (!fCalibData&&fLoadCalib&&fRun>0) {
AliCDBEntry *entry = static_cast<AliCDBEntry*>(AliCDBManager::Instance()->Get("EMCAL/Calib/Data"));
if (entry)
fCalibData = static_cast<AliEMCALCalibData*>(entry->GetObject());
if (!fCalibData)
AliFatal("Calibration parameters not found in CDB!");
}
if (!fPedestalData&&fLoadPed&&fRun>0) {
AliCDBEntry *entry = static_cast<AliCDBEntry*>(AliCDBManager::Instance()->Get("EMCAL/Calib/Pedestals"));
if (entry)
fPedestalData = static_cast<AliCaloCalibPedestal*>(entry->GetObject());
}
if (fCalibData) {
fClusterizer->SetInputCalibrated(kFALSE);
fClusterizer->SetCalibrationParameters(fCalibData);
} else {
fClusterizer->SetInputCalibrated(kTRUE);
}
fClusterizer->SetCaloCalibPedestal(fPedestalData);
fClusterizer->SetJustClusters(kTRUE);
fClusterizer->SetDigitsArr(fDigitsArr);
fClusterizer->SetOutput(0);
fClusterArr = const_cast<TObjArray *>(fClusterizer->GetRecPoints());
if ((fInputCellType == kFEEData || fInputCellType == kFEEDataMCOnly || fInputCellType == kFEEDataExcludeMC) && !fCaloCells) {
if (fCaloCellsName.IsNull()) {
fCaloCells = InputEvent()->GetEMCALCells();
}
else {
fCaloCells = dynamic_cast<AliVCaloCells*>(InputEvent()->FindListObject(fCaloCellsName));
if (!fCaloCells)
AliError(Form("%s: Could not retrieve cells %s!", GetName(), fCaloCellsName.Data()));
}
if (!fCaloCells)
AliFatal("Could not get EMCal cells!");
}
if (!fAttachClusters) {
fCaloClusters = fOutputAODBranch;
return;
}
if (!fCaloClusters) {
if (fCaloClustersName.IsNull()) {
if (fEsd)
fCaloClusters = static_cast<TClonesArray*>(InputEvent()->FindListObject("CaloClusters"));
else if (fAod)
fCaloClusters = static_cast<TClonesArray*>(InputEvent()->FindListObject("caloClusters"));
}
else {
fCaloClusters = static_cast<TClonesArray*>(InputEvent()->FindListObject(fCaloClustersName));
if (!fCaloClusters) {
if (fEsd)
fCaloClusters = new TClonesArray("AliESDCaloCluster");
else if (fAod)
fCaloClusters = new TClonesArray("AliAODCaloCluster");
fCaloClusters->SetName(fCaloClustersName);
InputEvent()->AddObject(fCaloClusters);
}
}
if (!fCaloClusters)
AliFatal("Could not get cluster collection!");
TClass *cl = fCaloClusters->GetClass();
if (!cl->GetBaseClass("AliVCluster")) {
AliFatal(Form("%s: Collection %s does not contain AliVCluster objects!", GetName(), fCaloClusters->GetName()));
fCaloClusters = 0;
return;
}
}
}
AliAnalysisTaskEMCALClusterizeFast.cxx:1 AliAnalysisTaskEMCALClusterizeFast.cxx:2 AliAnalysisTaskEMCALClusterizeFast.cxx:3 AliAnalysisTaskEMCALClusterizeFast.cxx:4 AliAnalysisTaskEMCALClusterizeFast.cxx:5 AliAnalysisTaskEMCALClusterizeFast.cxx:6 AliAnalysisTaskEMCALClusterizeFast.cxx:7 AliAnalysisTaskEMCALClusterizeFast.cxx:8 AliAnalysisTaskEMCALClusterizeFast.cxx:9 AliAnalysisTaskEMCALClusterizeFast.cxx:10 AliAnalysisTaskEMCALClusterizeFast.cxx:11 AliAnalysisTaskEMCALClusterizeFast.cxx:12 AliAnalysisTaskEMCALClusterizeFast.cxx:13 AliAnalysisTaskEMCALClusterizeFast.cxx:14 AliAnalysisTaskEMCALClusterizeFast.cxx:15 AliAnalysisTaskEMCALClusterizeFast.cxx:16 AliAnalysisTaskEMCALClusterizeFast.cxx:17 AliAnalysisTaskEMCALClusterizeFast.cxx:18 AliAnalysisTaskEMCALClusterizeFast.cxx:19 AliAnalysisTaskEMCALClusterizeFast.cxx:20 AliAnalysisTaskEMCALClusterizeFast.cxx:21 AliAnalysisTaskEMCALClusterizeFast.cxx:22 AliAnalysisTaskEMCALClusterizeFast.cxx:23 AliAnalysisTaskEMCALClusterizeFast.cxx:24 AliAnalysisTaskEMCALClusterizeFast.cxx:25 AliAnalysisTaskEMCALClusterizeFast.cxx:26 AliAnalysisTaskEMCALClusterizeFast.cxx:27 AliAnalysisTaskEMCALClusterizeFast.cxx:28 AliAnalysisTaskEMCALClusterizeFast.cxx:29 AliAnalysisTaskEMCALClusterizeFast.cxx:30 AliAnalysisTaskEMCALClusterizeFast.cxx:31 AliAnalysisTaskEMCALClusterizeFast.cxx:32 AliAnalysisTaskEMCALClusterizeFast.cxx:33 AliAnalysisTaskEMCALClusterizeFast.cxx:34 AliAnalysisTaskEMCALClusterizeFast.cxx:35 AliAnalysisTaskEMCALClusterizeFast.cxx:36 AliAnalysisTaskEMCALClusterizeFast.cxx:37 AliAnalysisTaskEMCALClusterizeFast.cxx:38 AliAnalysisTaskEMCALClusterizeFast.cxx:39 AliAnalysisTaskEMCALClusterizeFast.cxx:40 AliAnalysisTaskEMCALClusterizeFast.cxx:41 AliAnalysisTaskEMCALClusterizeFast.cxx:42 AliAnalysisTaskEMCALClusterizeFast.cxx:43 AliAnalysisTaskEMCALClusterizeFast.cxx:44 AliAnalysisTaskEMCALClusterizeFast.cxx:45 AliAnalysisTaskEMCALClusterizeFast.cxx:46 AliAnalysisTaskEMCALClusterizeFast.cxx:47 AliAnalysisTaskEMCALClusterizeFast.cxx:48 AliAnalysisTaskEMCALClusterizeFast.cxx:49 AliAnalysisTaskEMCALClusterizeFast.cxx:50 AliAnalysisTaskEMCALClusterizeFast.cxx:51 AliAnalysisTaskEMCALClusterizeFast.cxx:52 AliAnalysisTaskEMCALClusterizeFast.cxx:53 AliAnalysisTaskEMCALClusterizeFast.cxx:54 AliAnalysisTaskEMCALClusterizeFast.cxx:55 AliAnalysisTaskEMCALClusterizeFast.cxx:56 AliAnalysisTaskEMCALClusterizeFast.cxx:57 AliAnalysisTaskEMCALClusterizeFast.cxx:58 AliAnalysisTaskEMCALClusterizeFast.cxx:59 AliAnalysisTaskEMCALClusterizeFast.cxx:60 AliAnalysisTaskEMCALClusterizeFast.cxx:61 AliAnalysisTaskEMCALClusterizeFast.cxx:62 AliAnalysisTaskEMCALClusterizeFast.cxx:63 AliAnalysisTaskEMCALClusterizeFast.cxx:64 AliAnalysisTaskEMCALClusterizeFast.cxx:65 AliAnalysisTaskEMCALClusterizeFast.cxx:66 AliAnalysisTaskEMCALClusterizeFast.cxx:67 AliAnalysisTaskEMCALClusterizeFast.cxx:68 AliAnalysisTaskEMCALClusterizeFast.cxx:69 AliAnalysisTaskEMCALClusterizeFast.cxx:70 AliAnalysisTaskEMCALClusterizeFast.cxx:71 AliAnalysisTaskEMCALClusterizeFast.cxx:72 AliAnalysisTaskEMCALClusterizeFast.cxx:73 AliAnalysisTaskEMCALClusterizeFast.cxx:74 AliAnalysisTaskEMCALClusterizeFast.cxx:75 AliAnalysisTaskEMCALClusterizeFast.cxx:76 AliAnalysisTaskEMCALClusterizeFast.cxx:77 AliAnalysisTaskEMCALClusterizeFast.cxx:78 AliAnalysisTaskEMCALClusterizeFast.cxx:79 AliAnalysisTaskEMCALClusterizeFast.cxx:80 AliAnalysisTaskEMCALClusterizeFast.cxx:81 AliAnalysisTaskEMCALClusterizeFast.cxx:82 AliAnalysisTaskEMCALClusterizeFast.cxx:83 AliAnalysisTaskEMCALClusterizeFast.cxx:84 AliAnalysisTaskEMCALClusterizeFast.cxx:85 AliAnalysisTaskEMCALClusterizeFast.cxx:86 AliAnalysisTaskEMCALClusterizeFast.cxx:87 AliAnalysisTaskEMCALClusterizeFast.cxx:88 AliAnalysisTaskEMCALClusterizeFast.cxx:89 AliAnalysisTaskEMCALClusterizeFast.cxx:90 AliAnalysisTaskEMCALClusterizeFast.cxx:91 AliAnalysisTaskEMCALClusterizeFast.cxx:92 AliAnalysisTaskEMCALClusterizeFast.cxx:93 AliAnalysisTaskEMCALClusterizeFast.cxx:94 AliAnalysisTaskEMCALClusterizeFast.cxx:95 AliAnalysisTaskEMCALClusterizeFast.cxx:96 AliAnalysisTaskEMCALClusterizeFast.cxx:97 AliAnalysisTaskEMCALClusterizeFast.cxx:98 AliAnalysisTaskEMCALClusterizeFast.cxx:99 AliAnalysisTaskEMCALClusterizeFast.cxx:100 AliAnalysisTaskEMCALClusterizeFast.cxx:101 AliAnalysisTaskEMCALClusterizeFast.cxx:102 AliAnalysisTaskEMCALClusterizeFast.cxx:103 AliAnalysisTaskEMCALClusterizeFast.cxx:104 AliAnalysisTaskEMCALClusterizeFast.cxx:105 AliAnalysisTaskEMCALClusterizeFast.cxx:106 AliAnalysisTaskEMCALClusterizeFast.cxx:107 AliAnalysisTaskEMCALClusterizeFast.cxx:108 AliAnalysisTaskEMCALClusterizeFast.cxx:109 AliAnalysisTaskEMCALClusterizeFast.cxx:110 AliAnalysisTaskEMCALClusterizeFast.cxx:111 AliAnalysisTaskEMCALClusterizeFast.cxx:112 AliAnalysisTaskEMCALClusterizeFast.cxx:113 AliAnalysisTaskEMCALClusterizeFast.cxx:114 AliAnalysisTaskEMCALClusterizeFast.cxx:115 AliAnalysisTaskEMCALClusterizeFast.cxx:116 AliAnalysisTaskEMCALClusterizeFast.cxx:117 AliAnalysisTaskEMCALClusterizeFast.cxx:118 AliAnalysisTaskEMCALClusterizeFast.cxx:119 AliAnalysisTaskEMCALClusterizeFast.cxx:120 AliAnalysisTaskEMCALClusterizeFast.cxx:121 AliAnalysisTaskEMCALClusterizeFast.cxx:122 AliAnalysisTaskEMCALClusterizeFast.cxx:123 AliAnalysisTaskEMCALClusterizeFast.cxx:124 AliAnalysisTaskEMCALClusterizeFast.cxx:125 AliAnalysisTaskEMCALClusterizeFast.cxx:126 AliAnalysisTaskEMCALClusterizeFast.cxx:127 AliAnalysisTaskEMCALClusterizeFast.cxx:128 AliAnalysisTaskEMCALClusterizeFast.cxx:129 AliAnalysisTaskEMCALClusterizeFast.cxx:130 AliAnalysisTaskEMCALClusterizeFast.cxx:131 AliAnalysisTaskEMCALClusterizeFast.cxx:132 AliAnalysisTaskEMCALClusterizeFast.cxx:133 AliAnalysisTaskEMCALClusterizeFast.cxx:134 AliAnalysisTaskEMCALClusterizeFast.cxx:135 AliAnalysisTaskEMCALClusterizeFast.cxx:136 AliAnalysisTaskEMCALClusterizeFast.cxx:137 AliAnalysisTaskEMCALClusterizeFast.cxx:138 AliAnalysisTaskEMCALClusterizeFast.cxx:139 AliAnalysisTaskEMCALClusterizeFast.cxx:140 AliAnalysisTaskEMCALClusterizeFast.cxx:141 AliAnalysisTaskEMCALClusterizeFast.cxx:142 AliAnalysisTaskEMCALClusterizeFast.cxx:143 AliAnalysisTaskEMCALClusterizeFast.cxx:144 AliAnalysisTaskEMCALClusterizeFast.cxx:145 AliAnalysisTaskEMCALClusterizeFast.cxx:146 AliAnalysisTaskEMCALClusterizeFast.cxx:147 AliAnalysisTaskEMCALClusterizeFast.cxx:148 AliAnalysisTaskEMCALClusterizeFast.cxx:149 AliAnalysisTaskEMCALClusterizeFast.cxx:150 AliAnalysisTaskEMCALClusterizeFast.cxx:151 AliAnalysisTaskEMCALClusterizeFast.cxx:152 AliAnalysisTaskEMCALClusterizeFast.cxx:153 AliAnalysisTaskEMCALClusterizeFast.cxx:154 AliAnalysisTaskEMCALClusterizeFast.cxx:155 AliAnalysisTaskEMCALClusterizeFast.cxx:156 AliAnalysisTaskEMCALClusterizeFast.cxx:157 AliAnalysisTaskEMCALClusterizeFast.cxx:158 AliAnalysisTaskEMCALClusterizeFast.cxx:159 AliAnalysisTaskEMCALClusterizeFast.cxx:160 AliAnalysisTaskEMCALClusterizeFast.cxx:161 AliAnalysisTaskEMCALClusterizeFast.cxx:162 AliAnalysisTaskEMCALClusterizeFast.cxx:163 AliAnalysisTaskEMCALClusterizeFast.cxx:164 AliAnalysisTaskEMCALClusterizeFast.cxx:165 AliAnalysisTaskEMCALClusterizeFast.cxx:166 AliAnalysisTaskEMCALClusterizeFast.cxx:167 AliAnalysisTaskEMCALClusterizeFast.cxx:168 AliAnalysisTaskEMCALClusterizeFast.cxx:169 AliAnalysisTaskEMCALClusterizeFast.cxx:170 AliAnalysisTaskEMCALClusterizeFast.cxx:171 AliAnalysisTaskEMCALClusterizeFast.cxx:172 AliAnalysisTaskEMCALClusterizeFast.cxx:173 AliAnalysisTaskEMCALClusterizeFast.cxx:174 AliAnalysisTaskEMCALClusterizeFast.cxx:175 AliAnalysisTaskEMCALClusterizeFast.cxx:176 AliAnalysisTaskEMCALClusterizeFast.cxx:177 AliAnalysisTaskEMCALClusterizeFast.cxx:178 AliAnalysisTaskEMCALClusterizeFast.cxx:179 AliAnalysisTaskEMCALClusterizeFast.cxx:180 AliAnalysisTaskEMCALClusterizeFast.cxx:181 AliAnalysisTaskEMCALClusterizeFast.cxx:182 AliAnalysisTaskEMCALClusterizeFast.cxx:183 AliAnalysisTaskEMCALClusterizeFast.cxx:184 AliAnalysisTaskEMCALClusterizeFast.cxx:185 AliAnalysisTaskEMCALClusterizeFast.cxx:186 AliAnalysisTaskEMCALClusterizeFast.cxx:187 AliAnalysisTaskEMCALClusterizeFast.cxx:188 AliAnalysisTaskEMCALClusterizeFast.cxx:189 AliAnalysisTaskEMCALClusterizeFast.cxx:190 AliAnalysisTaskEMCALClusterizeFast.cxx:191 AliAnalysisTaskEMCALClusterizeFast.cxx:192 AliAnalysisTaskEMCALClusterizeFast.cxx:193 AliAnalysisTaskEMCALClusterizeFast.cxx:194 AliAnalysisTaskEMCALClusterizeFast.cxx:195 AliAnalysisTaskEMCALClusterizeFast.cxx:196 AliAnalysisTaskEMCALClusterizeFast.cxx:197 AliAnalysisTaskEMCALClusterizeFast.cxx:198 AliAnalysisTaskEMCALClusterizeFast.cxx:199 AliAnalysisTaskEMCALClusterizeFast.cxx:200 AliAnalysisTaskEMCALClusterizeFast.cxx:201 AliAnalysisTaskEMCALClusterizeFast.cxx:202 AliAnalysisTaskEMCALClusterizeFast.cxx:203 AliAnalysisTaskEMCALClusterizeFast.cxx:204 AliAnalysisTaskEMCALClusterizeFast.cxx:205 AliAnalysisTaskEMCALClusterizeFast.cxx:206 AliAnalysisTaskEMCALClusterizeFast.cxx:207 AliAnalysisTaskEMCALClusterizeFast.cxx:208 AliAnalysisTaskEMCALClusterizeFast.cxx:209 AliAnalysisTaskEMCALClusterizeFast.cxx:210 AliAnalysisTaskEMCALClusterizeFast.cxx:211 AliAnalysisTaskEMCALClusterizeFast.cxx:212 AliAnalysisTaskEMCALClusterizeFast.cxx:213 AliAnalysisTaskEMCALClusterizeFast.cxx:214 AliAnalysisTaskEMCALClusterizeFast.cxx:215 AliAnalysisTaskEMCALClusterizeFast.cxx:216 AliAnalysisTaskEMCALClusterizeFast.cxx:217 AliAnalysisTaskEMCALClusterizeFast.cxx:218 AliAnalysisTaskEMCALClusterizeFast.cxx:219 AliAnalysisTaskEMCALClusterizeFast.cxx:220 AliAnalysisTaskEMCALClusterizeFast.cxx:221 AliAnalysisTaskEMCALClusterizeFast.cxx:222 AliAnalysisTaskEMCALClusterizeFast.cxx:223 AliAnalysisTaskEMCALClusterizeFast.cxx:224 AliAnalysisTaskEMCALClusterizeFast.cxx:225 AliAnalysisTaskEMCALClusterizeFast.cxx:226 AliAnalysisTaskEMCALClusterizeFast.cxx:227 AliAnalysisTaskEMCALClusterizeFast.cxx:228 AliAnalysisTaskEMCALClusterizeFast.cxx:229 AliAnalysisTaskEMCALClusterizeFast.cxx:230 AliAnalysisTaskEMCALClusterizeFast.cxx:231 AliAnalysisTaskEMCALClusterizeFast.cxx:232 AliAnalysisTaskEMCALClusterizeFast.cxx:233 AliAnalysisTaskEMCALClusterizeFast.cxx:234 AliAnalysisTaskEMCALClusterizeFast.cxx:235 AliAnalysisTaskEMCALClusterizeFast.cxx:236 AliAnalysisTaskEMCALClusterizeFast.cxx:237 AliAnalysisTaskEMCALClusterizeFast.cxx:238 AliAnalysisTaskEMCALClusterizeFast.cxx:239 AliAnalysisTaskEMCALClusterizeFast.cxx:240 AliAnalysisTaskEMCALClusterizeFast.cxx:241 AliAnalysisTaskEMCALClusterizeFast.cxx:242 AliAnalysisTaskEMCALClusterizeFast.cxx:243 AliAnalysisTaskEMCALClusterizeFast.cxx:244 AliAnalysisTaskEMCALClusterizeFast.cxx:245 AliAnalysisTaskEMCALClusterizeFast.cxx:246 AliAnalysisTaskEMCALClusterizeFast.cxx:247 AliAnalysisTaskEMCALClusterizeFast.cxx:248 AliAnalysisTaskEMCALClusterizeFast.cxx:249 AliAnalysisTaskEMCALClusterizeFast.cxx:250 AliAnalysisTaskEMCALClusterizeFast.cxx:251 AliAnalysisTaskEMCALClusterizeFast.cxx:252 AliAnalysisTaskEMCALClusterizeFast.cxx:253 AliAnalysisTaskEMCALClusterizeFast.cxx:254 AliAnalysisTaskEMCALClusterizeFast.cxx:255 AliAnalysisTaskEMCALClusterizeFast.cxx:256 AliAnalysisTaskEMCALClusterizeFast.cxx:257 AliAnalysisTaskEMCALClusterizeFast.cxx:258 AliAnalysisTaskEMCALClusterizeFast.cxx:259 AliAnalysisTaskEMCALClusterizeFast.cxx:260 AliAnalysisTaskEMCALClusterizeFast.cxx:261 AliAnalysisTaskEMCALClusterizeFast.cxx:262 AliAnalysisTaskEMCALClusterizeFast.cxx:263 AliAnalysisTaskEMCALClusterizeFast.cxx:264 AliAnalysisTaskEMCALClusterizeFast.cxx:265 AliAnalysisTaskEMCALClusterizeFast.cxx:266 AliAnalysisTaskEMCALClusterizeFast.cxx:267 AliAnalysisTaskEMCALClusterizeFast.cxx:268 AliAnalysisTaskEMCALClusterizeFast.cxx:269 AliAnalysisTaskEMCALClusterizeFast.cxx:270 AliAnalysisTaskEMCALClusterizeFast.cxx:271 AliAnalysisTaskEMCALClusterizeFast.cxx:272 AliAnalysisTaskEMCALClusterizeFast.cxx:273 AliAnalysisTaskEMCALClusterizeFast.cxx:274 AliAnalysisTaskEMCALClusterizeFast.cxx:275 AliAnalysisTaskEMCALClusterizeFast.cxx:276 AliAnalysisTaskEMCALClusterizeFast.cxx:277 AliAnalysisTaskEMCALClusterizeFast.cxx:278 AliAnalysisTaskEMCALClusterizeFast.cxx:279 AliAnalysisTaskEMCALClusterizeFast.cxx:280 AliAnalysisTaskEMCALClusterizeFast.cxx:281 AliAnalysisTaskEMCALClusterizeFast.cxx:282 AliAnalysisTaskEMCALClusterizeFast.cxx:283 AliAnalysisTaskEMCALClusterizeFast.cxx:284 AliAnalysisTaskEMCALClusterizeFast.cxx:285 AliAnalysisTaskEMCALClusterizeFast.cxx:286 AliAnalysisTaskEMCALClusterizeFast.cxx:287 AliAnalysisTaskEMCALClusterizeFast.cxx:288 AliAnalysisTaskEMCALClusterizeFast.cxx:289 AliAnalysisTaskEMCALClusterizeFast.cxx:290 AliAnalysisTaskEMCALClusterizeFast.cxx:291 AliAnalysisTaskEMCALClusterizeFast.cxx:292 AliAnalysisTaskEMCALClusterizeFast.cxx:293 AliAnalysisTaskEMCALClusterizeFast.cxx:294 AliAnalysisTaskEMCALClusterizeFast.cxx:295 AliAnalysisTaskEMCALClusterizeFast.cxx:296 AliAnalysisTaskEMCALClusterizeFast.cxx:297 AliAnalysisTaskEMCALClusterizeFast.cxx:298 AliAnalysisTaskEMCALClusterizeFast.cxx:299 AliAnalysisTaskEMCALClusterizeFast.cxx:300 AliAnalysisTaskEMCALClusterizeFast.cxx:301 AliAnalysisTaskEMCALClusterizeFast.cxx:302 AliAnalysisTaskEMCALClusterizeFast.cxx:303 AliAnalysisTaskEMCALClusterizeFast.cxx:304 AliAnalysisTaskEMCALClusterizeFast.cxx:305 AliAnalysisTaskEMCALClusterizeFast.cxx:306 AliAnalysisTaskEMCALClusterizeFast.cxx:307 AliAnalysisTaskEMCALClusterizeFast.cxx:308 AliAnalysisTaskEMCALClusterizeFast.cxx:309 AliAnalysisTaskEMCALClusterizeFast.cxx:310 AliAnalysisTaskEMCALClusterizeFast.cxx:311 AliAnalysisTaskEMCALClusterizeFast.cxx:312 AliAnalysisTaskEMCALClusterizeFast.cxx:313 AliAnalysisTaskEMCALClusterizeFast.cxx:314 AliAnalysisTaskEMCALClusterizeFast.cxx:315 AliAnalysisTaskEMCALClusterizeFast.cxx:316 AliAnalysisTaskEMCALClusterizeFast.cxx:317 AliAnalysisTaskEMCALClusterizeFast.cxx:318 AliAnalysisTaskEMCALClusterizeFast.cxx:319 AliAnalysisTaskEMCALClusterizeFast.cxx:320 AliAnalysisTaskEMCALClusterizeFast.cxx:321 AliAnalysisTaskEMCALClusterizeFast.cxx:322 AliAnalysisTaskEMCALClusterizeFast.cxx:323 AliAnalysisTaskEMCALClusterizeFast.cxx:324 AliAnalysisTaskEMCALClusterizeFast.cxx:325 AliAnalysisTaskEMCALClusterizeFast.cxx:326 AliAnalysisTaskEMCALClusterizeFast.cxx:327 AliAnalysisTaskEMCALClusterizeFast.cxx:328 AliAnalysisTaskEMCALClusterizeFast.cxx:329 AliAnalysisTaskEMCALClusterizeFast.cxx:330 AliAnalysisTaskEMCALClusterizeFast.cxx:331 AliAnalysisTaskEMCALClusterizeFast.cxx:332 AliAnalysisTaskEMCALClusterizeFast.cxx:333 AliAnalysisTaskEMCALClusterizeFast.cxx:334 AliAnalysisTaskEMCALClusterizeFast.cxx:335 AliAnalysisTaskEMCALClusterizeFast.cxx:336 AliAnalysisTaskEMCALClusterizeFast.cxx:337 AliAnalysisTaskEMCALClusterizeFast.cxx:338 AliAnalysisTaskEMCALClusterizeFast.cxx:339 AliAnalysisTaskEMCALClusterizeFast.cxx:340 AliAnalysisTaskEMCALClusterizeFast.cxx:341 AliAnalysisTaskEMCALClusterizeFast.cxx:342 AliAnalysisTaskEMCALClusterizeFast.cxx:343 AliAnalysisTaskEMCALClusterizeFast.cxx:344 AliAnalysisTaskEMCALClusterizeFast.cxx:345 AliAnalysisTaskEMCALClusterizeFast.cxx:346 AliAnalysisTaskEMCALClusterizeFast.cxx:347 AliAnalysisTaskEMCALClusterizeFast.cxx:348 AliAnalysisTaskEMCALClusterizeFast.cxx:349 AliAnalysisTaskEMCALClusterizeFast.cxx:350 AliAnalysisTaskEMCALClusterizeFast.cxx:351 AliAnalysisTaskEMCALClusterizeFast.cxx:352 AliAnalysisTaskEMCALClusterizeFast.cxx:353 AliAnalysisTaskEMCALClusterizeFast.cxx:354 AliAnalysisTaskEMCALClusterizeFast.cxx:355 AliAnalysisTaskEMCALClusterizeFast.cxx:356 AliAnalysisTaskEMCALClusterizeFast.cxx:357 AliAnalysisTaskEMCALClusterizeFast.cxx:358 AliAnalysisTaskEMCALClusterizeFast.cxx:359 AliAnalysisTaskEMCALClusterizeFast.cxx:360 AliAnalysisTaskEMCALClusterizeFast.cxx:361 AliAnalysisTaskEMCALClusterizeFast.cxx:362 AliAnalysisTaskEMCALClusterizeFast.cxx:363 AliAnalysisTaskEMCALClusterizeFast.cxx:364 AliAnalysisTaskEMCALClusterizeFast.cxx:365 AliAnalysisTaskEMCALClusterizeFast.cxx:366 AliAnalysisTaskEMCALClusterizeFast.cxx:367 AliAnalysisTaskEMCALClusterizeFast.cxx:368 AliAnalysisTaskEMCALClusterizeFast.cxx:369 AliAnalysisTaskEMCALClusterizeFast.cxx:370 AliAnalysisTaskEMCALClusterizeFast.cxx:371 AliAnalysisTaskEMCALClusterizeFast.cxx:372 AliAnalysisTaskEMCALClusterizeFast.cxx:373 AliAnalysisTaskEMCALClusterizeFast.cxx:374 AliAnalysisTaskEMCALClusterizeFast.cxx:375 AliAnalysisTaskEMCALClusterizeFast.cxx:376 AliAnalysisTaskEMCALClusterizeFast.cxx:377 AliAnalysisTaskEMCALClusterizeFast.cxx:378 AliAnalysisTaskEMCALClusterizeFast.cxx:379 AliAnalysisTaskEMCALClusterizeFast.cxx:380 AliAnalysisTaskEMCALClusterizeFast.cxx:381 AliAnalysisTaskEMCALClusterizeFast.cxx:382 AliAnalysisTaskEMCALClusterizeFast.cxx:383 AliAnalysisTaskEMCALClusterizeFast.cxx:384 AliAnalysisTaskEMCALClusterizeFast.cxx:385 AliAnalysisTaskEMCALClusterizeFast.cxx:386 AliAnalysisTaskEMCALClusterizeFast.cxx:387 AliAnalysisTaskEMCALClusterizeFast.cxx:388 AliAnalysisTaskEMCALClusterizeFast.cxx:389 AliAnalysisTaskEMCALClusterizeFast.cxx:390 AliAnalysisTaskEMCALClusterizeFast.cxx:391 AliAnalysisTaskEMCALClusterizeFast.cxx:392 AliAnalysisTaskEMCALClusterizeFast.cxx:393 AliAnalysisTaskEMCALClusterizeFast.cxx:394 AliAnalysisTaskEMCALClusterizeFast.cxx:395 AliAnalysisTaskEMCALClusterizeFast.cxx:396 AliAnalysisTaskEMCALClusterizeFast.cxx:397 AliAnalysisTaskEMCALClusterizeFast.cxx:398 AliAnalysisTaskEMCALClusterizeFast.cxx:399 AliAnalysisTaskEMCALClusterizeFast.cxx:400 AliAnalysisTaskEMCALClusterizeFast.cxx:401 AliAnalysisTaskEMCALClusterizeFast.cxx:402 AliAnalysisTaskEMCALClusterizeFast.cxx:403 AliAnalysisTaskEMCALClusterizeFast.cxx:404 AliAnalysisTaskEMCALClusterizeFast.cxx:405 AliAnalysisTaskEMCALClusterizeFast.cxx:406 AliAnalysisTaskEMCALClusterizeFast.cxx:407 AliAnalysisTaskEMCALClusterizeFast.cxx:408 AliAnalysisTaskEMCALClusterizeFast.cxx:409 AliAnalysisTaskEMCALClusterizeFast.cxx:410 AliAnalysisTaskEMCALClusterizeFast.cxx:411 AliAnalysisTaskEMCALClusterizeFast.cxx:412 AliAnalysisTaskEMCALClusterizeFast.cxx:413 AliAnalysisTaskEMCALClusterizeFast.cxx:414 AliAnalysisTaskEMCALClusterizeFast.cxx:415 AliAnalysisTaskEMCALClusterizeFast.cxx:416 AliAnalysisTaskEMCALClusterizeFast.cxx:417 AliAnalysisTaskEMCALClusterizeFast.cxx:418 AliAnalysisTaskEMCALClusterizeFast.cxx:419 AliAnalysisTaskEMCALClusterizeFast.cxx:420 AliAnalysisTaskEMCALClusterizeFast.cxx:421 AliAnalysisTaskEMCALClusterizeFast.cxx:422 AliAnalysisTaskEMCALClusterizeFast.cxx:423 AliAnalysisTaskEMCALClusterizeFast.cxx:424 AliAnalysisTaskEMCALClusterizeFast.cxx:425 AliAnalysisTaskEMCALClusterizeFast.cxx:426 AliAnalysisTaskEMCALClusterizeFast.cxx:427 AliAnalysisTaskEMCALClusterizeFast.cxx:428 AliAnalysisTaskEMCALClusterizeFast.cxx:429 AliAnalysisTaskEMCALClusterizeFast.cxx:430 AliAnalysisTaskEMCALClusterizeFast.cxx:431 AliAnalysisTaskEMCALClusterizeFast.cxx:432 AliAnalysisTaskEMCALClusterizeFast.cxx:433 AliAnalysisTaskEMCALClusterizeFast.cxx:434 AliAnalysisTaskEMCALClusterizeFast.cxx:435 AliAnalysisTaskEMCALClusterizeFast.cxx:436 AliAnalysisTaskEMCALClusterizeFast.cxx:437 AliAnalysisTaskEMCALClusterizeFast.cxx:438 AliAnalysisTaskEMCALClusterizeFast.cxx:439 AliAnalysisTaskEMCALClusterizeFast.cxx:440 AliAnalysisTaskEMCALClusterizeFast.cxx:441 AliAnalysisTaskEMCALClusterizeFast.cxx:442 AliAnalysisTaskEMCALClusterizeFast.cxx:443 AliAnalysisTaskEMCALClusterizeFast.cxx:444 AliAnalysisTaskEMCALClusterizeFast.cxx:445 AliAnalysisTaskEMCALClusterizeFast.cxx:446 AliAnalysisTaskEMCALClusterizeFast.cxx:447 AliAnalysisTaskEMCALClusterizeFast.cxx:448 AliAnalysisTaskEMCALClusterizeFast.cxx:449 AliAnalysisTaskEMCALClusterizeFast.cxx:450 AliAnalysisTaskEMCALClusterizeFast.cxx:451 AliAnalysisTaskEMCALClusterizeFast.cxx:452 AliAnalysisTaskEMCALClusterizeFast.cxx:453 AliAnalysisTaskEMCALClusterizeFast.cxx:454 AliAnalysisTaskEMCALClusterizeFast.cxx:455 AliAnalysisTaskEMCALClusterizeFast.cxx:456 AliAnalysisTaskEMCALClusterizeFast.cxx:457 AliAnalysisTaskEMCALClusterizeFast.cxx:458 AliAnalysisTaskEMCALClusterizeFast.cxx:459 AliAnalysisTaskEMCALClusterizeFast.cxx:460 AliAnalysisTaskEMCALClusterizeFast.cxx:461 AliAnalysisTaskEMCALClusterizeFast.cxx:462 AliAnalysisTaskEMCALClusterizeFast.cxx:463 AliAnalysisTaskEMCALClusterizeFast.cxx:464 AliAnalysisTaskEMCALClusterizeFast.cxx:465 AliAnalysisTaskEMCALClusterizeFast.cxx:466 AliAnalysisTaskEMCALClusterizeFast.cxx:467 AliAnalysisTaskEMCALClusterizeFast.cxx:468 AliAnalysisTaskEMCALClusterizeFast.cxx:469 AliAnalysisTaskEMCALClusterizeFast.cxx:470 AliAnalysisTaskEMCALClusterizeFast.cxx:471 AliAnalysisTaskEMCALClusterizeFast.cxx:472 AliAnalysisTaskEMCALClusterizeFast.cxx:473 AliAnalysisTaskEMCALClusterizeFast.cxx:474 AliAnalysisTaskEMCALClusterizeFast.cxx:475 AliAnalysisTaskEMCALClusterizeFast.cxx:476 AliAnalysisTaskEMCALClusterizeFast.cxx:477 AliAnalysisTaskEMCALClusterizeFast.cxx:478 AliAnalysisTaskEMCALClusterizeFast.cxx:479 AliAnalysisTaskEMCALClusterizeFast.cxx:480 AliAnalysisTaskEMCALClusterizeFast.cxx:481 AliAnalysisTaskEMCALClusterizeFast.cxx:482 AliAnalysisTaskEMCALClusterizeFast.cxx:483 AliAnalysisTaskEMCALClusterizeFast.cxx:484 AliAnalysisTaskEMCALClusterizeFast.cxx:485 AliAnalysisTaskEMCALClusterizeFast.cxx:486 AliAnalysisTaskEMCALClusterizeFast.cxx:487 AliAnalysisTaskEMCALClusterizeFast.cxx:488 AliAnalysisTaskEMCALClusterizeFast.cxx:489 AliAnalysisTaskEMCALClusterizeFast.cxx:490 AliAnalysisTaskEMCALClusterizeFast.cxx:491 AliAnalysisTaskEMCALClusterizeFast.cxx:492 AliAnalysisTaskEMCALClusterizeFast.cxx:493 AliAnalysisTaskEMCALClusterizeFast.cxx:494 AliAnalysisTaskEMCALClusterizeFast.cxx:495 AliAnalysisTaskEMCALClusterizeFast.cxx:496 AliAnalysisTaskEMCALClusterizeFast.cxx:497 AliAnalysisTaskEMCALClusterizeFast.cxx:498 AliAnalysisTaskEMCALClusterizeFast.cxx:499 AliAnalysisTaskEMCALClusterizeFast.cxx:500 AliAnalysisTaskEMCALClusterizeFast.cxx:501 AliAnalysisTaskEMCALClusterizeFast.cxx:502 AliAnalysisTaskEMCALClusterizeFast.cxx:503 AliAnalysisTaskEMCALClusterizeFast.cxx:504 AliAnalysisTaskEMCALClusterizeFast.cxx:505 AliAnalysisTaskEMCALClusterizeFast.cxx:506 AliAnalysisTaskEMCALClusterizeFast.cxx:507 AliAnalysisTaskEMCALClusterizeFast.cxx:508 AliAnalysisTaskEMCALClusterizeFast.cxx:509 AliAnalysisTaskEMCALClusterizeFast.cxx:510 AliAnalysisTaskEMCALClusterizeFast.cxx:511 AliAnalysisTaskEMCALClusterizeFast.cxx:512 AliAnalysisTaskEMCALClusterizeFast.cxx:513 AliAnalysisTaskEMCALClusterizeFast.cxx:514 AliAnalysisTaskEMCALClusterizeFast.cxx:515 AliAnalysisTaskEMCALClusterizeFast.cxx:516 AliAnalysisTaskEMCALClusterizeFast.cxx:517 AliAnalysisTaskEMCALClusterizeFast.cxx:518 AliAnalysisTaskEMCALClusterizeFast.cxx:519 AliAnalysisTaskEMCALClusterizeFast.cxx:520 AliAnalysisTaskEMCALClusterizeFast.cxx:521 AliAnalysisTaskEMCALClusterizeFast.cxx:522 AliAnalysisTaskEMCALClusterizeFast.cxx:523 AliAnalysisTaskEMCALClusterizeFast.cxx:524 AliAnalysisTaskEMCALClusterizeFast.cxx:525 AliAnalysisTaskEMCALClusterizeFast.cxx:526 AliAnalysisTaskEMCALClusterizeFast.cxx:527 AliAnalysisTaskEMCALClusterizeFast.cxx:528 AliAnalysisTaskEMCALClusterizeFast.cxx:529 AliAnalysisTaskEMCALClusterizeFast.cxx:530 AliAnalysisTaskEMCALClusterizeFast.cxx:531 AliAnalysisTaskEMCALClusterizeFast.cxx:532 AliAnalysisTaskEMCALClusterizeFast.cxx:533 AliAnalysisTaskEMCALClusterizeFast.cxx:534 AliAnalysisTaskEMCALClusterizeFast.cxx:535 AliAnalysisTaskEMCALClusterizeFast.cxx:536 AliAnalysisTaskEMCALClusterizeFast.cxx:537 AliAnalysisTaskEMCALClusterizeFast.cxx:538 AliAnalysisTaskEMCALClusterizeFast.cxx:539 AliAnalysisTaskEMCALClusterizeFast.cxx:540 AliAnalysisTaskEMCALClusterizeFast.cxx:541 AliAnalysisTaskEMCALClusterizeFast.cxx:542 AliAnalysisTaskEMCALClusterizeFast.cxx:543 AliAnalysisTaskEMCALClusterizeFast.cxx:544 AliAnalysisTaskEMCALClusterizeFast.cxx:545 AliAnalysisTaskEMCALClusterizeFast.cxx:546 AliAnalysisTaskEMCALClusterizeFast.cxx:547 AliAnalysisTaskEMCALClusterizeFast.cxx:548 AliAnalysisTaskEMCALClusterizeFast.cxx:549 AliAnalysisTaskEMCALClusterizeFast.cxx:550 AliAnalysisTaskEMCALClusterizeFast.cxx:551 AliAnalysisTaskEMCALClusterizeFast.cxx:552 AliAnalysisTaskEMCALClusterizeFast.cxx:553 AliAnalysisTaskEMCALClusterizeFast.cxx:554 AliAnalysisTaskEMCALClusterizeFast.cxx:555 AliAnalysisTaskEMCALClusterizeFast.cxx:556 AliAnalysisTaskEMCALClusterizeFast.cxx:557 AliAnalysisTaskEMCALClusterizeFast.cxx:558 AliAnalysisTaskEMCALClusterizeFast.cxx:559 AliAnalysisTaskEMCALClusterizeFast.cxx:560 AliAnalysisTaskEMCALClusterizeFast.cxx:561 AliAnalysisTaskEMCALClusterizeFast.cxx:562 AliAnalysisTaskEMCALClusterizeFast.cxx:563 AliAnalysisTaskEMCALClusterizeFast.cxx:564 AliAnalysisTaskEMCALClusterizeFast.cxx:565 AliAnalysisTaskEMCALClusterizeFast.cxx:566 AliAnalysisTaskEMCALClusterizeFast.cxx:567 AliAnalysisTaskEMCALClusterizeFast.cxx:568 AliAnalysisTaskEMCALClusterizeFast.cxx:569 AliAnalysisTaskEMCALClusterizeFast.cxx:570 AliAnalysisTaskEMCALClusterizeFast.cxx:571 AliAnalysisTaskEMCALClusterizeFast.cxx:572 AliAnalysisTaskEMCALClusterizeFast.cxx:573 AliAnalysisTaskEMCALClusterizeFast.cxx:574 AliAnalysisTaskEMCALClusterizeFast.cxx:575 AliAnalysisTaskEMCALClusterizeFast.cxx:576 AliAnalysisTaskEMCALClusterizeFast.cxx:577 AliAnalysisTaskEMCALClusterizeFast.cxx:578 AliAnalysisTaskEMCALClusterizeFast.cxx:579 AliAnalysisTaskEMCALClusterizeFast.cxx:580 AliAnalysisTaskEMCALClusterizeFast.cxx:581 AliAnalysisTaskEMCALClusterizeFast.cxx:582 AliAnalysisTaskEMCALClusterizeFast.cxx:583 AliAnalysisTaskEMCALClusterizeFast.cxx:584 AliAnalysisTaskEMCALClusterizeFast.cxx:585 AliAnalysisTaskEMCALClusterizeFast.cxx:586 AliAnalysisTaskEMCALClusterizeFast.cxx:587 AliAnalysisTaskEMCALClusterizeFast.cxx:588 AliAnalysisTaskEMCALClusterizeFast.cxx:589 AliAnalysisTaskEMCALClusterizeFast.cxx:590 AliAnalysisTaskEMCALClusterizeFast.cxx:591 AliAnalysisTaskEMCALClusterizeFast.cxx:592 AliAnalysisTaskEMCALClusterizeFast.cxx:593 AliAnalysisTaskEMCALClusterizeFast.cxx:594 AliAnalysisTaskEMCALClusterizeFast.cxx:595 AliAnalysisTaskEMCALClusterizeFast.cxx:596 AliAnalysisTaskEMCALClusterizeFast.cxx:597 AliAnalysisTaskEMCALClusterizeFast.cxx:598 AliAnalysisTaskEMCALClusterizeFast.cxx:599 AliAnalysisTaskEMCALClusterizeFast.cxx:600 AliAnalysisTaskEMCALClusterizeFast.cxx:601 AliAnalysisTaskEMCALClusterizeFast.cxx:602 AliAnalysisTaskEMCALClusterizeFast.cxx:603 AliAnalysisTaskEMCALClusterizeFast.cxx:604 AliAnalysisTaskEMCALClusterizeFast.cxx:605 AliAnalysisTaskEMCALClusterizeFast.cxx:606 AliAnalysisTaskEMCALClusterizeFast.cxx:607 AliAnalysisTaskEMCALClusterizeFast.cxx:608 AliAnalysisTaskEMCALClusterizeFast.cxx:609 AliAnalysisTaskEMCALClusterizeFast.cxx:610 AliAnalysisTaskEMCALClusterizeFast.cxx:611 AliAnalysisTaskEMCALClusterizeFast.cxx:612 AliAnalysisTaskEMCALClusterizeFast.cxx:613 AliAnalysisTaskEMCALClusterizeFast.cxx:614 AliAnalysisTaskEMCALClusterizeFast.cxx:615 AliAnalysisTaskEMCALClusterizeFast.cxx:616 AliAnalysisTaskEMCALClusterizeFast.cxx:617 AliAnalysisTaskEMCALClusterizeFast.cxx:618 AliAnalysisTaskEMCALClusterizeFast.cxx:619 AliAnalysisTaskEMCALClusterizeFast.cxx:620 AliAnalysisTaskEMCALClusterizeFast.cxx:621 AliAnalysisTaskEMCALClusterizeFast.cxx:622 AliAnalysisTaskEMCALClusterizeFast.cxx:623 AliAnalysisTaskEMCALClusterizeFast.cxx:624 AliAnalysisTaskEMCALClusterizeFast.cxx:625 AliAnalysisTaskEMCALClusterizeFast.cxx:626 AliAnalysisTaskEMCALClusterizeFast.cxx:627 AliAnalysisTaskEMCALClusterizeFast.cxx:628 AliAnalysisTaskEMCALClusterizeFast.cxx:629 AliAnalysisTaskEMCALClusterizeFast.cxx:630 AliAnalysisTaskEMCALClusterizeFast.cxx:631 AliAnalysisTaskEMCALClusterizeFast.cxx:632 AliAnalysisTaskEMCALClusterizeFast.cxx:633 AliAnalysisTaskEMCALClusterizeFast.cxx:634 AliAnalysisTaskEMCALClusterizeFast.cxx:635 AliAnalysisTaskEMCALClusterizeFast.cxx:636 AliAnalysisTaskEMCALClusterizeFast.cxx:637 AliAnalysisTaskEMCALClusterizeFast.cxx:638 AliAnalysisTaskEMCALClusterizeFast.cxx:639 AliAnalysisTaskEMCALClusterizeFast.cxx:640 AliAnalysisTaskEMCALClusterizeFast.cxx:641 AliAnalysisTaskEMCALClusterizeFast.cxx:642 AliAnalysisTaskEMCALClusterizeFast.cxx:643 AliAnalysisTaskEMCALClusterizeFast.cxx:644 AliAnalysisTaskEMCALClusterizeFast.cxx:645 AliAnalysisTaskEMCALClusterizeFast.cxx:646 AliAnalysisTaskEMCALClusterizeFast.cxx:647 AliAnalysisTaskEMCALClusterizeFast.cxx:648 AliAnalysisTaskEMCALClusterizeFast.cxx:649 AliAnalysisTaskEMCALClusterizeFast.cxx:650 AliAnalysisTaskEMCALClusterizeFast.cxx:651 AliAnalysisTaskEMCALClusterizeFast.cxx:652 AliAnalysisTaskEMCALClusterizeFast.cxx:653 AliAnalysisTaskEMCALClusterizeFast.cxx:654 AliAnalysisTaskEMCALClusterizeFast.cxx:655 AliAnalysisTaskEMCALClusterizeFast.cxx:656 AliAnalysisTaskEMCALClusterizeFast.cxx:657 AliAnalysisTaskEMCALClusterizeFast.cxx:658 AliAnalysisTaskEMCALClusterizeFast.cxx:659 AliAnalysisTaskEMCALClusterizeFast.cxx:660 AliAnalysisTaskEMCALClusterizeFast.cxx:661 AliAnalysisTaskEMCALClusterizeFast.cxx:662 AliAnalysisTaskEMCALClusterizeFast.cxx:663 AliAnalysisTaskEMCALClusterizeFast.cxx:664 AliAnalysisTaskEMCALClusterizeFast.cxx:665 AliAnalysisTaskEMCALClusterizeFast.cxx:666 AliAnalysisTaskEMCALClusterizeFast.cxx:667 AliAnalysisTaskEMCALClusterizeFast.cxx:668 AliAnalysisTaskEMCALClusterizeFast.cxx:669 AliAnalysisTaskEMCALClusterizeFast.cxx:670 AliAnalysisTaskEMCALClusterizeFast.cxx:671 AliAnalysisTaskEMCALClusterizeFast.cxx:672 AliAnalysisTaskEMCALClusterizeFast.cxx:673 AliAnalysisTaskEMCALClusterizeFast.cxx:674 AliAnalysisTaskEMCALClusterizeFast.cxx:675 AliAnalysisTaskEMCALClusterizeFast.cxx:676 AliAnalysisTaskEMCALClusterizeFast.cxx:677 AliAnalysisTaskEMCALClusterizeFast.cxx:678 AliAnalysisTaskEMCALClusterizeFast.cxx:679 AliAnalysisTaskEMCALClusterizeFast.cxx:680 AliAnalysisTaskEMCALClusterizeFast.cxx:681 AliAnalysisTaskEMCALClusterizeFast.cxx:682 AliAnalysisTaskEMCALClusterizeFast.cxx:683 AliAnalysisTaskEMCALClusterizeFast.cxx:684 AliAnalysisTaskEMCALClusterizeFast.cxx:685 AliAnalysisTaskEMCALClusterizeFast.cxx:686 AliAnalysisTaskEMCALClusterizeFast.cxx:687 AliAnalysisTaskEMCALClusterizeFast.cxx:688 AliAnalysisTaskEMCALClusterizeFast.cxx:689 AliAnalysisTaskEMCALClusterizeFast.cxx:690 AliAnalysisTaskEMCALClusterizeFast.cxx:691 AliAnalysisTaskEMCALClusterizeFast.cxx:692 AliAnalysisTaskEMCALClusterizeFast.cxx:693 AliAnalysisTaskEMCALClusterizeFast.cxx:694 AliAnalysisTaskEMCALClusterizeFast.cxx:695 AliAnalysisTaskEMCALClusterizeFast.cxx:696 AliAnalysisTaskEMCALClusterizeFast.cxx:697 AliAnalysisTaskEMCALClusterizeFast.cxx:698 AliAnalysisTaskEMCALClusterizeFast.cxx:699 AliAnalysisTaskEMCALClusterizeFast.cxx:700 AliAnalysisTaskEMCALClusterizeFast.cxx:701 AliAnalysisTaskEMCALClusterizeFast.cxx:702 AliAnalysisTaskEMCALClusterizeFast.cxx:703 AliAnalysisTaskEMCALClusterizeFast.cxx:704 AliAnalysisTaskEMCALClusterizeFast.cxx:705 AliAnalysisTaskEMCALClusterizeFast.cxx:706 AliAnalysisTaskEMCALClusterizeFast.cxx:707 AliAnalysisTaskEMCALClusterizeFast.cxx:708 AliAnalysisTaskEMCALClusterizeFast.cxx:709 AliAnalysisTaskEMCALClusterizeFast.cxx:710 AliAnalysisTaskEMCALClusterizeFast.cxx:711 AliAnalysisTaskEMCALClusterizeFast.cxx:712 AliAnalysisTaskEMCALClusterizeFast.cxx:713 AliAnalysisTaskEMCALClusterizeFast.cxx:714 AliAnalysisTaskEMCALClusterizeFast.cxx:715 AliAnalysisTaskEMCALClusterizeFast.cxx:716 AliAnalysisTaskEMCALClusterizeFast.cxx:717 AliAnalysisTaskEMCALClusterizeFast.cxx:718 AliAnalysisTaskEMCALClusterizeFast.cxx:719 AliAnalysisTaskEMCALClusterizeFast.cxx:720 AliAnalysisTaskEMCALClusterizeFast.cxx:721 AliAnalysisTaskEMCALClusterizeFast.cxx:722 AliAnalysisTaskEMCALClusterizeFast.cxx:723 AliAnalysisTaskEMCALClusterizeFast.cxx:724 AliAnalysisTaskEMCALClusterizeFast.cxx:725 AliAnalysisTaskEMCALClusterizeFast.cxx:726 AliAnalysisTaskEMCALClusterizeFast.cxx:727 AliAnalysisTaskEMCALClusterizeFast.cxx:728 AliAnalysisTaskEMCALClusterizeFast.cxx:729 AliAnalysisTaskEMCALClusterizeFast.cxx:730 AliAnalysisTaskEMCALClusterizeFast.cxx:731 AliAnalysisTaskEMCALClusterizeFast.cxx:732 AliAnalysisTaskEMCALClusterizeFast.cxx:733 AliAnalysisTaskEMCALClusterizeFast.cxx:734 AliAnalysisTaskEMCALClusterizeFast.cxx:735 AliAnalysisTaskEMCALClusterizeFast.cxx:736 AliAnalysisTaskEMCALClusterizeFast.cxx:737 AliAnalysisTaskEMCALClusterizeFast.cxx:738 AliAnalysisTaskEMCALClusterizeFast.cxx:739 AliAnalysisTaskEMCALClusterizeFast.cxx:740 AliAnalysisTaskEMCALClusterizeFast.cxx:741 AliAnalysisTaskEMCALClusterizeFast.cxx:742 AliAnalysisTaskEMCALClusterizeFast.cxx:743 AliAnalysisTaskEMCALClusterizeFast.cxx:744 AliAnalysisTaskEMCALClusterizeFast.cxx:745 AliAnalysisTaskEMCALClusterizeFast.cxx:746 AliAnalysisTaskEMCALClusterizeFast.cxx:747 AliAnalysisTaskEMCALClusterizeFast.cxx:748 AliAnalysisTaskEMCALClusterizeFast.cxx:749 AliAnalysisTaskEMCALClusterizeFast.cxx:750 AliAnalysisTaskEMCALClusterizeFast.cxx:751 AliAnalysisTaskEMCALClusterizeFast.cxx:752 AliAnalysisTaskEMCALClusterizeFast.cxx:753 AliAnalysisTaskEMCALClusterizeFast.cxx:754 AliAnalysisTaskEMCALClusterizeFast.cxx:755 AliAnalysisTaskEMCALClusterizeFast.cxx:756 AliAnalysisTaskEMCALClusterizeFast.cxx:757 AliAnalysisTaskEMCALClusterizeFast.cxx:758 AliAnalysisTaskEMCALClusterizeFast.cxx:759 AliAnalysisTaskEMCALClusterizeFast.cxx:760 AliAnalysisTaskEMCALClusterizeFast.cxx:761 AliAnalysisTaskEMCALClusterizeFast.cxx:762 AliAnalysisTaskEMCALClusterizeFast.cxx:763 AliAnalysisTaskEMCALClusterizeFast.cxx:764 AliAnalysisTaskEMCALClusterizeFast.cxx:765 AliAnalysisTaskEMCALClusterizeFast.cxx:766 AliAnalysisTaskEMCALClusterizeFast.cxx:767 AliAnalysisTaskEMCALClusterizeFast.cxx:768 AliAnalysisTaskEMCALClusterizeFast.cxx:769 AliAnalysisTaskEMCALClusterizeFast.cxx:770 AliAnalysisTaskEMCALClusterizeFast.cxx:771 AliAnalysisTaskEMCALClusterizeFast.cxx:772 AliAnalysisTaskEMCALClusterizeFast.cxx:773 AliAnalysisTaskEMCALClusterizeFast.cxx:774 AliAnalysisTaskEMCALClusterizeFast.cxx:775 AliAnalysisTaskEMCALClusterizeFast.cxx:776 AliAnalysisTaskEMCALClusterizeFast.cxx:777 AliAnalysisTaskEMCALClusterizeFast.cxx:778 AliAnalysisTaskEMCALClusterizeFast.cxx:779 AliAnalysisTaskEMCALClusterizeFast.cxx:780 AliAnalysisTaskEMCALClusterizeFast.cxx:781 AliAnalysisTaskEMCALClusterizeFast.cxx:782 AliAnalysisTaskEMCALClusterizeFast.cxx:783 AliAnalysisTaskEMCALClusterizeFast.cxx:784 AliAnalysisTaskEMCALClusterizeFast.cxx:785 AliAnalysisTaskEMCALClusterizeFast.cxx:786 AliAnalysisTaskEMCALClusterizeFast.cxx:787 AliAnalysisTaskEMCALClusterizeFast.cxx:788 AliAnalysisTaskEMCALClusterizeFast.cxx:789 AliAnalysisTaskEMCALClusterizeFast.cxx:790 AliAnalysisTaskEMCALClusterizeFast.cxx:791 AliAnalysisTaskEMCALClusterizeFast.cxx:792 AliAnalysisTaskEMCALClusterizeFast.cxx:793 AliAnalysisTaskEMCALClusterizeFast.cxx:794 AliAnalysisTaskEMCALClusterizeFast.cxx:795 AliAnalysisTaskEMCALClusterizeFast.cxx:796 AliAnalysisTaskEMCALClusterizeFast.cxx:797 AliAnalysisTaskEMCALClusterizeFast.cxx:798 AliAnalysisTaskEMCALClusterizeFast.cxx:799 AliAnalysisTaskEMCALClusterizeFast.cxx:800 AliAnalysisTaskEMCALClusterizeFast.cxx:801 AliAnalysisTaskEMCALClusterizeFast.cxx:802 AliAnalysisTaskEMCALClusterizeFast.cxx:803 AliAnalysisTaskEMCALClusterizeFast.cxx:804 AliAnalysisTaskEMCALClusterizeFast.cxx:805 AliAnalysisTaskEMCALClusterizeFast.cxx:806 AliAnalysisTaskEMCALClusterizeFast.cxx:807 AliAnalysisTaskEMCALClusterizeFast.cxx:808 AliAnalysisTaskEMCALClusterizeFast.cxx:809 AliAnalysisTaskEMCALClusterizeFast.cxx:810 AliAnalysisTaskEMCALClusterizeFast.cxx:811 AliAnalysisTaskEMCALClusterizeFast.cxx:812 AliAnalysisTaskEMCALClusterizeFast.cxx:813 AliAnalysisTaskEMCALClusterizeFast.cxx:814 AliAnalysisTaskEMCALClusterizeFast.cxx:815 AliAnalysisTaskEMCALClusterizeFast.cxx:816 AliAnalysisTaskEMCALClusterizeFast.cxx:817 AliAnalysisTaskEMCALClusterizeFast.cxx:818 AliAnalysisTaskEMCALClusterizeFast.cxx:819 AliAnalysisTaskEMCALClusterizeFast.cxx:820 AliAnalysisTaskEMCALClusterizeFast.cxx:821 AliAnalysisTaskEMCALClusterizeFast.cxx:822 AliAnalysisTaskEMCALClusterizeFast.cxx:823 AliAnalysisTaskEMCALClusterizeFast.cxx:824 AliAnalysisTaskEMCALClusterizeFast.cxx:825 AliAnalysisTaskEMCALClusterizeFast.cxx:826 AliAnalysisTaskEMCALClusterizeFast.cxx:827 AliAnalysisTaskEMCALClusterizeFast.cxx:828 AliAnalysisTaskEMCALClusterizeFast.cxx:829 AliAnalysisTaskEMCALClusterizeFast.cxx:830 AliAnalysisTaskEMCALClusterizeFast.cxx:831 AliAnalysisTaskEMCALClusterizeFast.cxx:832 AliAnalysisTaskEMCALClusterizeFast.cxx:833 AliAnalysisTaskEMCALClusterizeFast.cxx:834 AliAnalysisTaskEMCALClusterizeFast.cxx:835 AliAnalysisTaskEMCALClusterizeFast.cxx:836 AliAnalysisTaskEMCALClusterizeFast.cxx:837 AliAnalysisTaskEMCALClusterizeFast.cxx:838 AliAnalysisTaskEMCALClusterizeFast.cxx:839 AliAnalysisTaskEMCALClusterizeFast.cxx:840 AliAnalysisTaskEMCALClusterizeFast.cxx:841 AliAnalysisTaskEMCALClusterizeFast.cxx:842 AliAnalysisTaskEMCALClusterizeFast.cxx:843 AliAnalysisTaskEMCALClusterizeFast.cxx:844 AliAnalysisTaskEMCALClusterizeFast.cxx:845 AliAnalysisTaskEMCALClusterizeFast.cxx:846 AliAnalysisTaskEMCALClusterizeFast.cxx:847 AliAnalysisTaskEMCALClusterizeFast.cxx:848 AliAnalysisTaskEMCALClusterizeFast.cxx:849 AliAnalysisTaskEMCALClusterizeFast.cxx:850 AliAnalysisTaskEMCALClusterizeFast.cxx:851 AliAnalysisTaskEMCALClusterizeFast.cxx:852 AliAnalysisTaskEMCALClusterizeFast.cxx:853 AliAnalysisTaskEMCALClusterizeFast.cxx:854 AliAnalysisTaskEMCALClusterizeFast.cxx:855 AliAnalysisTaskEMCALClusterizeFast.cxx:856 AliAnalysisTaskEMCALClusterizeFast.cxx:857 AliAnalysisTaskEMCALClusterizeFast.cxx:858 AliAnalysisTaskEMCALClusterizeFast.cxx:859 AliAnalysisTaskEMCALClusterizeFast.cxx:860 AliAnalysisTaskEMCALClusterizeFast.cxx:861 AliAnalysisTaskEMCALClusterizeFast.cxx:862 AliAnalysisTaskEMCALClusterizeFast.cxx:863 AliAnalysisTaskEMCALClusterizeFast.cxx:864 AliAnalysisTaskEMCALClusterizeFast.cxx:865 AliAnalysisTaskEMCALClusterizeFast.cxx:866 AliAnalysisTaskEMCALClusterizeFast.cxx:867 AliAnalysisTaskEMCALClusterizeFast.cxx:868 AliAnalysisTaskEMCALClusterizeFast.cxx:869 AliAnalysisTaskEMCALClusterizeFast.cxx:870 AliAnalysisTaskEMCALClusterizeFast.cxx:871 AliAnalysisTaskEMCALClusterizeFast.cxx:872 AliAnalysisTaskEMCALClusterizeFast.cxx:873 AliAnalysisTaskEMCALClusterizeFast.cxx:874 AliAnalysisTaskEMCALClusterizeFast.cxx:875 AliAnalysisTaskEMCALClusterizeFast.cxx:876 AliAnalysisTaskEMCALClusterizeFast.cxx:877 AliAnalysisTaskEMCALClusterizeFast.cxx:878 AliAnalysisTaskEMCALClusterizeFast.cxx:879 AliAnalysisTaskEMCALClusterizeFast.cxx:880 AliAnalysisTaskEMCALClusterizeFast.cxx:881 AliAnalysisTaskEMCALClusterizeFast.cxx:882 AliAnalysisTaskEMCALClusterizeFast.cxx:883 AliAnalysisTaskEMCALClusterizeFast.cxx:884 AliAnalysisTaskEMCALClusterizeFast.cxx:885 AliAnalysisTaskEMCALClusterizeFast.cxx:886 AliAnalysisTaskEMCALClusterizeFast.cxx:887 AliAnalysisTaskEMCALClusterizeFast.cxx:888 AliAnalysisTaskEMCALClusterizeFast.cxx:889 AliAnalysisTaskEMCALClusterizeFast.cxx:890 AliAnalysisTaskEMCALClusterizeFast.cxx:891 AliAnalysisTaskEMCALClusterizeFast.cxx:892 AliAnalysisTaskEMCALClusterizeFast.cxx:893 AliAnalysisTaskEMCALClusterizeFast.cxx:894 AliAnalysisTaskEMCALClusterizeFast.cxx:895 AliAnalysisTaskEMCALClusterizeFast.cxx:896 AliAnalysisTaskEMCALClusterizeFast.cxx:897 AliAnalysisTaskEMCALClusterizeFast.cxx:898 AliAnalysisTaskEMCALClusterizeFast.cxx:899 AliAnalysisTaskEMCALClusterizeFast.cxx:900 AliAnalysisTaskEMCALClusterizeFast.cxx:901 AliAnalysisTaskEMCALClusterizeFast.cxx:902 AliAnalysisTaskEMCALClusterizeFast.cxx:903 AliAnalysisTaskEMCALClusterizeFast.cxx:904 AliAnalysisTaskEMCALClusterizeFast.cxx:905 AliAnalysisTaskEMCALClusterizeFast.cxx:906 AliAnalysisTaskEMCALClusterizeFast.cxx:907 AliAnalysisTaskEMCALClusterizeFast.cxx:908 AliAnalysisTaskEMCALClusterizeFast.cxx:909 AliAnalysisTaskEMCALClusterizeFast.cxx:910 AliAnalysisTaskEMCALClusterizeFast.cxx:911 AliAnalysisTaskEMCALClusterizeFast.cxx:912 AliAnalysisTaskEMCALClusterizeFast.cxx:913 AliAnalysisTaskEMCALClusterizeFast.cxx:914 AliAnalysisTaskEMCALClusterizeFast.cxx:915 AliAnalysisTaskEMCALClusterizeFast.cxx:916 AliAnalysisTaskEMCALClusterizeFast.cxx:917 AliAnalysisTaskEMCALClusterizeFast.cxx:918 AliAnalysisTaskEMCALClusterizeFast.cxx:919 AliAnalysisTaskEMCALClusterizeFast.cxx:920 AliAnalysisTaskEMCALClusterizeFast.cxx:921 AliAnalysisTaskEMCALClusterizeFast.cxx:922 AliAnalysisTaskEMCALClusterizeFast.cxx:923 AliAnalysisTaskEMCALClusterizeFast.cxx:924 AliAnalysisTaskEMCALClusterizeFast.cxx:925 AliAnalysisTaskEMCALClusterizeFast.cxx:926 AliAnalysisTaskEMCALClusterizeFast.cxx:927 AliAnalysisTaskEMCALClusterizeFast.cxx:928 AliAnalysisTaskEMCALClusterizeFast.cxx:929 AliAnalysisTaskEMCALClusterizeFast.cxx:930 AliAnalysisTaskEMCALClusterizeFast.cxx:931 AliAnalysisTaskEMCALClusterizeFast.cxx:932 AliAnalysisTaskEMCALClusterizeFast.cxx:933 AliAnalysisTaskEMCALClusterizeFast.cxx:934 AliAnalysisTaskEMCALClusterizeFast.cxx:935 AliAnalysisTaskEMCALClusterizeFast.cxx:936 AliAnalysisTaskEMCALClusterizeFast.cxx:937 AliAnalysisTaskEMCALClusterizeFast.cxx:938 AliAnalysisTaskEMCALClusterizeFast.cxx:939 AliAnalysisTaskEMCALClusterizeFast.cxx:940 AliAnalysisTaskEMCALClusterizeFast.cxx:941 AliAnalysisTaskEMCALClusterizeFast.cxx:942 AliAnalysisTaskEMCALClusterizeFast.cxx:943 AliAnalysisTaskEMCALClusterizeFast.cxx:944 AliAnalysisTaskEMCALClusterizeFast.cxx:945 AliAnalysisTaskEMCALClusterizeFast.cxx:946 AliAnalysisTaskEMCALClusterizeFast.cxx:947 AliAnalysisTaskEMCALClusterizeFast.cxx:948 AliAnalysisTaskEMCALClusterizeFast.cxx:949 AliAnalysisTaskEMCALClusterizeFast.cxx:950 AliAnalysisTaskEMCALClusterizeFast.cxx:951 AliAnalysisTaskEMCALClusterizeFast.cxx:952 AliAnalysisTaskEMCALClusterizeFast.cxx:953 AliAnalysisTaskEMCALClusterizeFast.cxx:954 AliAnalysisTaskEMCALClusterizeFast.cxx:955 AliAnalysisTaskEMCALClusterizeFast.cxx:956 AliAnalysisTaskEMCALClusterizeFast.cxx:957 AliAnalysisTaskEMCALClusterizeFast.cxx:958 AliAnalysisTaskEMCALClusterizeFast.cxx:959 AliAnalysisTaskEMCALClusterizeFast.cxx:960 AliAnalysisTaskEMCALClusterizeFast.cxx:961 AliAnalysisTaskEMCALClusterizeFast.cxx:962 AliAnalysisTaskEMCALClusterizeFast.cxx:963 AliAnalysisTaskEMCALClusterizeFast.cxx:964 AliAnalysisTaskEMCALClusterizeFast.cxx:965 AliAnalysisTaskEMCALClusterizeFast.cxx:966 AliAnalysisTaskEMCALClusterizeFast.cxx:967 AliAnalysisTaskEMCALClusterizeFast.cxx:968 AliAnalysisTaskEMCALClusterizeFast.cxx:969 AliAnalysisTaskEMCALClusterizeFast.cxx:970 AliAnalysisTaskEMCALClusterizeFast.cxx:971 AliAnalysisTaskEMCALClusterizeFast.cxx:972 AliAnalysisTaskEMCALClusterizeFast.cxx:973 AliAnalysisTaskEMCALClusterizeFast.cxx:974 AliAnalysisTaskEMCALClusterizeFast.cxx:975 AliAnalysisTaskEMCALClusterizeFast.cxx:976 AliAnalysisTaskEMCALClusterizeFast.cxx:977 AliAnalysisTaskEMCALClusterizeFast.cxx:978 AliAnalysisTaskEMCALClusterizeFast.cxx:979 AliAnalysisTaskEMCALClusterizeFast.cxx:980 AliAnalysisTaskEMCALClusterizeFast.cxx:981 AliAnalysisTaskEMCALClusterizeFast.cxx:982 AliAnalysisTaskEMCALClusterizeFast.cxx:983 AliAnalysisTaskEMCALClusterizeFast.cxx:984 AliAnalysisTaskEMCALClusterizeFast.cxx:985 AliAnalysisTaskEMCALClusterizeFast.cxx:986 AliAnalysisTaskEMCALClusterizeFast.cxx:987 AliAnalysisTaskEMCALClusterizeFast.cxx:988 AliAnalysisTaskEMCALClusterizeFast.cxx:989 AliAnalysisTaskEMCALClusterizeFast.cxx:990