ROOT logo
 /**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

//_________________________________________________________________________
// This analysis provides a new list of clusters to be used in other analysis
//
// Author: Gustavo Conesa Balbastre,
//         Adapted from analysis class from Deepa Thomas
//
// $Id$
//_________________________________________________________________________

// --- Root ---
#include <TString.h>
#include <TRefArray.h>
#include <TClonesArray.h>
#include <TTree.h>
#include <TGeoManager.h>
#include <TROOT.h>
#include <TInterpreter.h>
#include <TFile.h>

// --- AliRoot Analysis Steering
#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliGeomManager.h"
#include "AliVCaloCells.h"
#include "AliAODCaloCluster.h"
#include "AliCDBManager.h"
#include "AliCDBStorage.h"
#include "AliCDBEntry.h"
#include "AliLog.h"
#include "AliVEventHandler.h"
#include "AliAODInputHandler.h"
#include "AliOADBContainer.h"
#include "AliAODMCParticle.h"

// --- EMCAL
#include "AliEMCALAfterBurnerUF.h"
#include "AliEMCALGeometry.h"
#include "AliEMCALClusterizerNxN.h"
#include "AliEMCALClusterizerv1.h"
#include "AliEMCALClusterizerv2.h"
#include "AliEMCALRecPoint.h"
#include "AliEMCALDigit.h"
#include "AliCaloCalibPedestal.h"
#include "AliEMCALCalibData.h"

#include "AliAnalysisTaskEMCALClusterize.h"

ClassImp(AliAnalysisTaskEMCALClusterize)

//______________________________________________________________________________
AliAnalysisTaskEMCALClusterize::AliAnalysisTaskEMCALClusterize(const char *name) 
: AliAnalysisTaskSE(name)
, fEvent(0)
, fGeom(0),               fGeomName("") 
, fGeomMatrixSet(kFALSE), fLoadGeomMatrices(kFALSE)
, fCalibData(0),          fPedestalData(0)
, fOCDBpath(""),          fAccessOCDB(kFALSE)
, fDigitsArr(0),          fClusterArr(0),             fCaloClusterArr(0)
, fRecParam(0),           fClusterizer(0)
, fUnfolder(0),           fJustUnfold(kFALSE) 
, fOutputAODBranch(0),    fOutputAODBranchName(""),   fOutputAODBranchSet(0)
, fFillAODFile(kFALSE),   fFillAODHeader(0)
, fFillAODCaloCells(0),   fRun(-1)
, fRecoUtils(0),          fConfigName("")
, fOrgClusterCellId()
, fCellLabels(),          fCellSecondLabels(),        fCellTime()
, fCellMatchdEta(),       fCellMatchdPhi()
, fRecalibrateWithClusterTime(0)
, fMaxEvent(0),           fDoTrackMatching(kFALSE)
, fSelectCell(kFALSE),    fSelectCellMinE(0),         fSelectCellMinFrac(0)
, fRejectBelowThreshold(kFALSE)
, fRemoveLEDEvents(kTRUE),fRemoveExoticEvents(kFALSE)
, fImportGeometryFromFile(kTRUE), fImportGeometryFilePath("")
, fOADBSet(kFALSE),       fAccessOADB(kTRUE),         fOADBFilePath("")
, fCentralityClass(""),   fSelectEMCALEvent(0)
, fEMCALEnergyCut(0.),    fEMCALNcellsCut (0)
, fSetCellMCLabelFromCluster(0)
, fRemapMCLabelForAODs(0)
, fInputFromFilter(0)
{
  // Constructor
  
  for(Int_t i = 0; i < 12;    i++)  fGeomMatrix[i] =  0;
  
  ResetArrays();
  
  fCentralityBin[0] = fCentralityBin[1]=-1;
  
}

//______________________________________________________________
AliAnalysisTaskEMCALClusterize::AliAnalysisTaskEMCALClusterize() 
: AliAnalysisTaskSE("DefaultAnalysis_AliAnalysisTaskEMCALClusterize")
, fEvent(0)
, fGeom(0),                 fGeomName("") 
, fGeomMatrixSet(kFALSE),   fLoadGeomMatrices(kFALSE)
, fCalibData(0),            fPedestalData(0)
, fOCDBpath(""),            fAccessOCDB(kFALSE)
, fDigitsArr(0),            fClusterArr(0),             fCaloClusterArr(0)
, fRecParam(0),             fClusterizer(0)
, fUnfolder(0),             fJustUnfold(kFALSE) 
, fOutputAODBranch(0),      fOutputAODBranchName(""),   fOutputAODBranchSet(0)
, fFillAODFile(kFALSE),     fFillAODHeader(0)
, fFillAODCaloCells(0),     fRun(-1)
, fRecoUtils(0),            fConfigName("")
, fOrgClusterCellId()
, fCellLabels(),            fCellSecondLabels(),        fCellTime()
, fCellMatchdEta(),         fCellMatchdPhi()
, fRecalibrateWithClusterTime(0)
, fMaxEvent(0),             fDoTrackMatching(kFALSE)
, fSelectCell(kFALSE),      fSelectCellMinE(0),         fSelectCellMinFrac(0)
, fRejectBelowThreshold(kFALSE)
, fRemoveLEDEvents(kTRUE),  fRemoveExoticEvents(kFALSE)
, fImportGeometryFromFile(kTRUE), fImportGeometryFilePath("")
, fOADBSet(kFALSE),         fAccessOADB(kTRUE),        fOADBFilePath("")
, fCentralityClass(""),     fSelectEMCALEvent(0)
, fEMCALEnergyCut(0.),      fEMCALNcellsCut (0)
, fSetCellMCLabelFromCluster(0)
, fRemapMCLabelForAODs(0)
, fInputFromFilter(0)
{
  // Constructor
  
  for(Int_t i = 0; i < 12;    i++)  fGeomMatrix[i] =  0;
  
  ResetArrays();
  
  fCentralityBin[0] = fCentralityBin[1]=-1;

}


//_______________________________________________________________
AliAnalysisTaskEMCALClusterize::~AliAnalysisTaskEMCALClusterize()
{
  //dtor 
  
  if (fDigitsArr)
  {
    fDigitsArr->Clear("C");
    delete fDigitsArr; 
  }
  
  if (fClusterArr)
  {
    fClusterArr->Delete();
    delete fClusterArr;
  }
  
  if (fCaloClusterArr)
  {
    fCaloClusterArr->Delete();
    delete fCaloClusterArr; 
  }
  
  if(fClusterizer) delete fClusterizer;
  if(fUnfolder)    delete fUnfolder;   
  if(fRecoUtils)   delete fRecoUtils;
  
}

//_______________________________________________________
Bool_t AliAnalysisTaskEMCALClusterize::AcceptEventEMCAL()
{
  // Accept event given there is a EMCAL cluster with enough energy, and not noisy, exotic
  
  if(!fSelectEMCALEvent)   return kTRUE; // accept
  
  if(fEMCALEnergyCut <= 0) return kTRUE; // accept
  
  Int_t           nCluster = fEvent -> GetNumberOfCaloClusters();
  AliVCaloCells * caloCell = fEvent -> GetEMCALCells();
  Int_t           bc       = fEvent -> GetBunchCrossNumber();
  
  for(Int_t icalo = 0; icalo < nCluster; icalo++)
  {
    AliVCluster *clus = (AliVCluster*) (fEvent->GetCaloCluster(icalo));
    
    if( ( clus->IsEMCAL() ) && ( clus->GetNCells() > fEMCALNcellsCut ) && ( clus->E() > fEMCALEnergyCut ) &&
       fRecoUtils->IsGoodCluster(clus,fGeom,caloCell,bc))
    {
      
      AliDebug(1, Form("Accept :  E %2.2f > %2.2f, nCells %d > %d",
                       clus->E(), fEMCALEnergyCut, clus->GetNCells(), fEMCALNcellsCut));
      
      return kTRUE;
    }
    
  }// loop
  
  AliDebug(1,"Reject");
  
  return kFALSE;
  
}

//_______________________________________________
void AliAnalysisTaskEMCALClusterize::AccessOADB()
{
  // Set the AODB calibration, bad channels etc. parameters at least once
  // alignment matrices from OADB done in SetGeometryMatrices
  
  //Set it only once
  if(fOADBSet) return ; 
  
  Int_t   runnumber = InputEvent()->GetRunNumber() ;
  TString pass      = GetPass();
  
  AliInfo(Form("Get AODB parameters from EMCAL in %s for run %d, and <%s>",fOADBFilePath.Data(),runnumber,pass.Data()));
  
  Int_t nSM = fGeom->GetNumberOfSuperModules();
  
  // Bad map
  if(fRecoUtils->IsBadChannelsRemovalSwitchedOn())
  {
    AliOADBContainer *contBC=new AliOADBContainer("");
    contBC->InitFromFile(Form("%s/EMCALBadChannels.root",fOADBFilePath.Data()),"AliEMCALBadChannels"); 
    
    TObjArray *arrayBC=(TObjArray*)contBC->GetObject(runnumber);
    
    if(arrayBC)
    {
        fRecoUtils->SwitchOnDistToBadChannelRecalculation();
        AliInfo("Remove EMCAL bad cells");
        
        for (Int_t i=0; i<nSM; ++i) 
        {
          TH2I *hbm = fRecoUtils->GetEMCALChannelStatusMap(i);
          
          if (hbm)
            delete hbm;
          
          hbm=(TH2I*)arrayBC->FindObject(Form("EMCALBadChannelMap_Mod%d",i));
          
          if (!hbm) 
          {
            AliError(Form("Can not get EMCALBadChannelMap_Mod%d",i));
            continue;
          }
          
          hbm->SetDirectory(0);
          fRecoUtils->SetEMCALChannelStatusMap(i,hbm);
          
        } // loop
    } else AliInfo("Do NOT remove EMCAL bad channels"); // run array
  }  // Remove bad
  
  // Energy Recalibration
  if(fRecoUtils->IsRecalibrationOn())
  {
    AliOADBContainer *contRF=new AliOADBContainer("");
    
    contRF->InitFromFile(Form("%s/EMCALRecalib.root",fOADBFilePath.Data()),"AliEMCALRecalib");
    
    TObjArray *recal=(TObjArray*)contRF->GetObject(runnumber); 
    
    if(recal)
    {
      TObjArray *recalpass=(TObjArray*)recal->FindObject(pass);
      
      if(recalpass)
      {
        TObjArray *recalib=(TObjArray*)recalpass->FindObject("Recalib");
        
        if(recalib)
        {
          AliInfo("Recalibrate EMCAL");
          for (Int_t i=0; i<nSM; ++i) 
          {
            TH2F *h = fRecoUtils->GetEMCALChannelRecalibrationFactors(i);
            
            if (h)
              delete h;
            
            h = (TH2F*)recalib->FindObject(Form("EMCALRecalFactors_SM%d",i));
            
            if (!h) 
            {
              AliError(Form("Could not load EMCALRecalFactors_SM%d",i));
              continue;
            }
            
            h->SetDirectory(0);
            
            fRecoUtils->SetEMCALChannelRecalibrationFactors(i,h);
          } // SM loop
        } else AliInfo("Do NOT recalibrate EMCAL, no params object array"); // array ok
      } else AliInfo("Do NOT recalibrate EMCAL, no params for pass"); // array pass ok
    } else AliInfo("Do NOT recalibrate EMCAL, no params for run");  // run number array ok
        
  } // Recalibration on
  
  // Energy Recalibration, apply on top of previous calibration factors
  if(fRecoUtils->IsRunDepRecalibrationOn())
  {
    AliOADBContainer *contRFTD=new AliOADBContainer("");
    
    contRFTD->InitFromFile(Form("%s/EMCALTemperatureCorrCalib.root",fOADBFilePath.Data()),"AliEMCALRunDepTempCalibCorrections");
    
    TH1S *htd=(TH1S*)contRFTD->GetObject(runnumber); 
    
    //If it did not exist for this run, get closes one
    if (!htd)
    {
      AliWarning(Form("No TemperatureCorrCalib Objects for run: %d",runnumber));
      // let's get the closest runnumber instead then..
      Int_t lower = 0;
      Int_t ic = 0;
      Int_t maxEntry = contRFTD->GetNumberOfEntries();
      
      while ( (ic < maxEntry) && (contRFTD->UpperLimit(ic) < runnumber) ) {
        lower = ic;
        ic++;
      }
      
      Int_t closest = lower;
      if ( (ic<maxEntry) &&
          (contRFTD->LowerLimit(ic)-runnumber) < (runnumber - contRFTD->UpperLimit(lower)) ) {
        closest = ic;
      }
      
      AliWarning(Form("TemperatureCorrCalib Objects found closest id %d from run: %d", closest, contRFTD->LowerLimit(closest)));
      htd = (TH1S*) contRFTD->GetObjectByIndex(closest);
    } 

    if(htd)
    {
      AliInfo("Recalibrate (Temperature) EMCAL");
      
      for (Int_t ism=0; ism<nSM; ++ism) 
      {        
        for (Int_t icol=0; icol<48; ++icol) 
        {        
          for (Int_t irow=0; irow<24; ++irow) 
          {
            Float_t factor = fRecoUtils->GetEMCALChannelRecalibrationFactor(ism,icol,irow);
            
            Int_t absID = fGeom->GetAbsCellIdFromCellIndexes(ism, irow, icol); // original calibration factor
            factor *= htd->GetBinContent(absID) / 10000. ; // correction dependent on T
            //printf("\t ism %d, icol %d, irow %d,absID %d, corrA %2.3f, corrB %2.3f, corrAB %2.3f\n",ism, icol, irow, absID, 
            //      GetEMCALChannelRecalibrationFactor(ism,icol,irow) , htd->GetBinContent(absID) / 10000., factor);
            fRecoUtils->SetEMCALChannelRecalibrationFactor(ism,icol,irow,factor);
          } // columns
        } // rows 
      } // SM loop
    } else AliInfo("Do NOT recalibrate EMCAL with T variations, no params TH1");
  } // Run by Run T calibration
  
  // Time Recalibration
  if(fRecoUtils->IsTimeRecalibrationOn())
  {
    AliOADBContainer *contTRF=new AliOADBContainer("");
    
    contTRF->InitFromFile(Form("%s/EMCALTimeCalib.root",fOADBFilePath.Data()),"AliEMCALTimeCalib");
    
    TObjArray *trecal=(TObjArray*)contTRF->GetObject(runnumber); 
    
    if(trecal)
    {
      TString passM = pass;
      if(pass=="spc_calo") passM = "pass1";
      TObjArray *trecalpass=(TObjArray*)trecal->FindObject(passM);

      if(trecalpass)
      {
        AliInfo("Time Recalibrate EMCAL");
        for (Int_t ibc = 0; ibc < 4; ++ibc) 
        {
          TH1F *h = fRecoUtils->GetEMCALChannelTimeRecalibrationFactors(ibc);
          
          if (h)
            delete h;
          
          h = (TH1F*)trecalpass->FindObject(Form("hAllTimeAvBC%d",ibc));
          
          if (!h) 
          {
            AliError(Form("Could not load hAllTimeAvBC%d",ibc));
            continue;
          }
          
          h->SetDirectory(0);
          
          fRecoUtils->SetEMCALChannelTimeRecalibrationFactors(ibc,h);
        } // bunch crossing loop
      } else AliInfo("Do NOT recalibrate time EMCAL, no params for pass"); // array pass ok
    } else AliInfo("Do NOT recalibrate time EMCAL, no params for run");  // run number array ok
    
  } // Time recalibration on    
  
  // Parameters already set once, so do not it again
  fOADBSet = kTRUE;
  
}  

//_________________________________________________
Bool_t AliAnalysisTaskEMCALClusterize::AccessOCDB()
{
  //Access to OCDB stuff
  
  fEvent = InputEvent();
  if (!fEvent)
  {
    Warning("AccessOCDB","Event not available!!!");
    return kFALSE;
  }
  
  if (fEvent->GetRunNumber()==fRun)
    return kTRUE;
  fRun = fEvent->GetRunNumber();
  
  AliDebug(1,"Begin");
  
  AliCDBManager *cdb = AliCDBManager::Instance();
  
  
  if (fOCDBpath.Length())
  {
    cdb->SetDefaultStorage(fOCDBpath.Data());
    AliInfo(Form("Default storage %s",fOCDBpath.Data()));
  }
  
  cdb->SetRun(fEvent->GetRunNumber());
  
  //
  // EMCAL from RAW OCDB
  if (fOCDBpath.Contains("alien:"))
  {
    cdb->SetSpecificStorage("EMCAL/Calib/Data","alien://Folder=/alice/data/2010/OCDB");
    cdb->SetSpecificStorage("EMCAL/Calib/Pedestals","alien://Folder=/alice/data/2010/OCDB");
  }
  
  TString path = cdb->GetDefaultStorage()->GetBaseFolder();
  
  // init parameters:
  
  //Get calibration parameters	
  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!");
  
  //Get calibration parameters	
  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!");
  
  return kTRUE;
}

//_____________________________________________________
void AliAnalysisTaskEMCALClusterize::CheckAndGetEvent()
{
  // Get the input event, it can depend in embedded events what you want to get
  // Also check if the quality of the event is good if not reject it
  
  fEvent = 0x0;
      
  AliAODInputHandler* aodIH = dynamic_cast<AliAODInputHandler*>((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
  Int_t eventN = Entry();
  if(aodIH) eventN = aodIH->GetReadEntry(); 
  
  if (eventN > fMaxEvent) 
    return ;
  
  //printf("Clusterizer --- Event %d-- \n",eventN);
  
  //Check if input event are embedded events
  //If so, take output event
  if (aodIH && aodIH->GetMergeEvents())
  {
    fEvent  = AODEvent();
    
    if(!aodIH->GetMergeEMCALCells())
      AliFatal("Events merged but not EMCAL cells, check analysis settings!");
    
    AliDebug(1,"Use embedded events");
    
    AliDebug(1,Form("\t InputEvent  N Clusters %d, N Cells %d",
                    InputEvent()->GetNumberOfCaloClusters(),InputEvent()->GetEMCALCells()->GetNumberOfCells()));
    
    AliDebug(1,Form("\t MergedEvent  N Clusters %d, N Cells %d",
                    aodIH->GetEventToMerge()->GetNumberOfCaloClusters(), aodIH->GetEventToMerge()->GetEMCALCells()->GetNumberOfCells()));
    
//    if(DebugLevel() > 1)
//    {
//      for (Int_t icl=0; icl < aodIH->GetEventToMerge()->GetNumberOfCaloClusters(); icl++)
//      {
//        AliAODCaloCluster *sigCluster = aodIH->GetEventToMerge()->GetCaloCluster(icl);
//        if(sigCluster->IsEMCAL()) AliInfo(Form("\t \t Signal cluster: i %d, E  %f",icl,sigCluster->E()));
//      }
//    }
    
    AliDebug(1,Form("\t OutputEvent N Clusters %d, N Cells %d",
                    AODEvent()->GetNumberOfCaloClusters(), AODEvent()->GetEMCALCells()->GetNumberOfCells()));
  }
  else if(fInputFromFilter)
  {
    //printf("Get Input From Filtered AOD\n");
    fEvent =  AODEvent();
  }
  else 
  {
    fEvent =  InputEvent();
    if(fFillAODCaloCells) FillAODCaloCells();   
    if(fFillAODHeader)    FillAODHeader();
  }
  
  if (!fEvent) 
  {
    AliError("Event not available");
    return ;
  }
  
  //Process events if there is a high energy cluster
  if(!AcceptEventEMCAL())  { fEvent = 0x0 ; return ; }
  
  //-------------------------------------------------------------------------------------
  // Reject events if LED was firing, use only for LHC11a data 
  // Reject event if triggered by exotic cell and remove exotic cells if not triggered
  //-------------------------------------------------------------------------------------
  
  if( IsLEDEvent( InputEvent()->GetRunNumber() ) ) { fEvent = 0x0 ; return ; }
  
  if( IsExoticEvent() )                            { fEvent = 0x0 ; return ; }
  
  //-------------------------------------------------------------------------------------
  // Set the cluster array in the event (output or input)
  //-------------------------------------------------------------------------------------
  
  if     ( fFillAODFile ) 
  {
    //Magic line to write events to AOD filem put after event rejection
    AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler()->SetFillAOD(kTRUE);
  }
  else if( !fOutputAODBranchSet )
  {
    // Create array and put it in the input event, if output AOD not selected, only once
    InputEvent()->AddObject(fOutputAODBranch);
    fOutputAODBranchSet = kTRUE;
    AliInfo(Form("Add AOD branch <%s> to input event",fOutputAODBranchName.Data()));
  }
  
}

//____________________________________________________
void AliAnalysisTaskEMCALClusterize::ClusterizeCells()
{ 
  // Recluster calocells, transform them into digits, 
  // feed the clusterizer with them and get new list of clusters
  
  //In case of MC, first loop on the clusters and fill MC label to array  
  Int_t nClusters     = fEvent->GetNumberOfCaloClusters();
  Int_t nClustersOrg  = 0;
  
  AliAODInputHandler* aodIH = dynamic_cast<AliAODInputHandler*>((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
  if(aodIH && aodIH->GetEventToMerge())  //Embedding
    nClusters = aodIH->GetEventToMerge()->GetNumberOfCaloClusters(); //Get clusters directly from embedded signal

  ResetArrays();
   
  for (Int_t i = 0; i < nClusters; i++)
  {
    AliVCluster *clus = 0;
    if(aodIH && aodIH->GetEventToMerge()) //Embedding
      clus = aodIH->GetEventToMerge()->GetCaloCluster(i); //Get clusters directly from embedded signal
    else      
      clus = fEvent->GetCaloCluster(i);
    
    if(!clus) return;
    
    if(clus->IsEMCAL())
    {
      Int_t label = clus->GetLabel();
      Int_t label2 = -1 ;
      //printf("Org cluster E %f, Time  %e, Index = %d, ID %d, MC label %d\n", clus->E(), clus->GetTOF(),i, clus->GetID(),label );
      //printf("Original list of labels from old cluster : \n");
      //for(Int_t imc = 0; imc < clus->GetNLabels(); imc++) printf("\t Label %d\n",clus->GetLabelAt(imc));
      
      if (clus->GetNLabels()>=2) label2 = clus->GetLabelAt(1) ;
      UShort_t * index    = clus->GetCellsAbsId() ;
      for(Int_t icell=0; icell < clus->GetNCells(); icell++ )
      {
        //printf("\t cell %d, MC label %d\n",index[icell],fEvent->GetEMCALCells()->GetCellMCLabel(index[icell]));
        fOrgClusterCellId[index[icell]] = i;
        fCellLabels[index[icell]]       = label;
        fCellSecondLabels[index[icell]] = label2;
        fCellTime[index[icell]]         = clus->GetTOF();
        fCellMatchdEta[index[icell]]    = clus->GetTrackDz();
        fCellMatchdPhi[index[icell]]    = clus->GetTrackDx();
      }
      nClustersOrg++;
    }
    // printf("\n");
  } 
  
  // Transform CaloCells into Digits
  
  Int_t    idigit =  0;
  Int_t    id     = -1;
  Float_t  amp    = -1; 
  Double_t time   = -1; 
  
  AliVCaloCells *cells = fEvent->GetEMCALCells();
  
  Int_t bc = InputEvent()->GetBunchCrossNumber();

  for (Int_t icell = 0; icell < cells->GetNumberOfCells(); icell++)
  {
    // Get cell values, recalibrate and not include bad channels found in analysis, nor cells with too low energy, nor exotic cell
    id = cells->GetCellNumber(icell);
    Bool_t accept = fRecoUtils->AcceptCalibrateCell(id,bc,amp,time,cells);
    
    // Do not include cells with too low energy, nor exotic cell
    if( amp  < fRecParam->GetMinECut() ||
        time > fRecParam->GetTimeMax() ||
        time < fRecParam->GetTimeMin()    ) accept = kFALSE;
    
    // In case of old AOD analysis cell time is -1 s, approximate replacing by time of the cluster the digit belongs.
    if (fRecalibrateWithClusterTime)
    { 
      time = fCellTime[id];
      //printf("cell %d time org %f - ",id, time*1.e9);
      fRecoUtils->RecalibrateCellTime(id,bc,time);
      //printf("recal %f\n",time*1.e9);
    }
    
    //Exotic?
    if (accept && fRecoUtils->IsExoticCell(id,cells,bc))
        accept = kFALSE;
    
    if( !accept )
    {
        AliDebug(2,Form("Remove channel absId %d, index %d of %d, amp %f, time %f",
               id,icell, cells->GetNumberOfCells(), amp, time*1.e9));
      continue;
    }
    
    Int_t mcLabel = cells->GetMCLabel(icell);
    //printf("AliAnalysisTaksEMCALClusterize::ClusterizeCells() - cell %d, mc label %d\n",id,mcLabel);

    //if(fCellLabels[id]!=mcLabel)printf("mcLabel %d - %d\n",mcLabel,fCellLabels[id]);
    if     ( fSetCellMCLabelFromCluster == 1 ) mcLabel = fCellLabels[id]; // Older aliroot MC productions
    else if( fSetCellMCLabelFromCluster == 0 && fRemapMCLabelForAODs) RemapMCLabelForAODs(mcLabel);
    else mcLabel = -1; // found later
    
    //printf("\t new label %d\n",mcLabel);
    
    // Create the digit, put a fake primary deposited energy to trick the clusterizer
    // when checking the most likely primary
    
    Float_t efrac = cells->GetEFraction(icell);
    
    //When checking the MC of digits, give weight to cells with embedded signal
    if (mcLabel > 0 && efrac < 1.e-6) efrac = 1;
    
    //printf("******* Cell %d, id %d, e %f,  fraction %f, MC label %d, used MC label %d\n",icell,id,amp,cells->GetEFraction(icell),cells->GetMCLabel(icell),mcLabel);
    
    new((*fDigitsArr)[idigit]) AliEMCALDigit( mcLabel, mcLabel, id, amp, time,AliEMCALDigit::kHG,idigit, 0, 0, amp*efrac);
    // Last parameter should be MC deposited energy, since it is not available, add just the cell amplitude so that
    // we give more weight to the MC label of the cell with highest energy in the cluster
        
    idigit++;
  }
  
  fDigitsArr->Sort();
  
  //-------------------------------------------------------------------------------------
  //Do the clusterization
  //-------------------------------------------------------------------------------------        
  
  fClusterizer->Digits2Clusters("");
  
  //-------------------------------------------------------------------------------------
  //Transform the recpoints into AliVClusters
  //-------------------------------------------------------------------------------------
  
  RecPoints2Clusters();
  
  if(!fCaloClusterArr)
  { 
    AliWarning(Form("No array with CaloClusters, input RecPoints entries %d",fClusterArr->GetEntriesFast()));
    return;    
  }
  
  AliDebug(1,Form("N clusters: before recluster %d, after recluster %d, recpoints %d",
                  nClustersOrg, fCaloClusterArr->GetEntriesFast(),fClusterArr->GetEntriesFast()));
  
//    if(fCaloClusterArr->GetEntriesFast() != fClusterArr->GetEntriesFast())
//    {
//      AliInfo("\t Some RecRoints not transformed into CaloClusters (clusterizer %d, unfold %d): Input entries %d - Output entries %d - %d (not fast)\n",
//             fRecParam->GetClusterizerFlag(),fRecParam->GetUnfold(),
//             fClusterArr->GetEntriesFast(), fCaloClusterArr->GetEntriesFast(), fCaloClusterArr->GetEntries());
//    }
  
}

//_____________________________________________________
void AliAnalysisTaskEMCALClusterize::ClusterUnfolding()
{
  // Take the event clusters and unfold them
  
  AliVCaloCells *cells   = fEvent->GetEMCALCells();
  Double_t cellAmplitude = 0;
  Double_t cellTime      = 0;
  Short_t  cellNumber    = 0;
  Int_t    cellMCLabel   = 0;
  Double_t cellEFrac     = 0;
  Int_t    nClustersOrg  = 0;
  
  // Fill the array with the EMCAL clusters, copy them
  for (Int_t i = 0; i < fEvent->GetNumberOfCaloClusters(); i++)
  {
    AliVCluster *clus = fEvent->GetCaloCluster(i);
    if(clus->IsEMCAL())
    {        
      //recalibrate/remove bad channels/etc if requested
      if(fRecoUtils->ClusterContainsBadChannel(fGeom,clus->GetCellsAbsId(), clus->GetNCells()))
      {
        continue;
      } 
      
      if(fRecoUtils->IsRecalibrationOn())
      {
        //Calibrate cluster
        fRecoUtils->RecalibrateClusterEnergy(fGeom, clus, cells);
        
        //CalibrateCells
        for (Int_t icell = 0; icell < cells->GetNumberOfCells(); icell++)
        {
          if (cells->GetCell(icell, cellNumber, cellAmplitude, cellTime, cellMCLabel, cellEFrac) != kTRUE)
            break;
          
          Int_t imod = -1, iphi =-1, ieta=-1,iTower = -1, iIphi = -1, iIeta = -1; 
          fGeom->GetCellIndex(cellNumber,imod,iTower,iIphi,iIeta); 
          fGeom->GetCellPhiEtaIndexInSModule(imod,iTower,iIphi, iIeta,iphi,ieta);	
          
          //Do not include bad channels found in analysis?
          if( fRecoUtils->IsBadChannelsRemovalSwitchedOn() && 
              fRecoUtils->GetEMCALChannelStatus(imod, ieta, iphi))
            continue;
          
          cells->SetCell(icell, cellNumber, cellAmplitude*fRecoUtils->GetEMCALChannelRecalibrationFactor(imod,ieta,iphi),cellTime);
          
        }// cells loop            
      }// recalibrate
      
      //Cast to ESD or AOD, needed to create the cluster array
      AliESDCaloCluster * esdCluster = dynamic_cast<AliESDCaloCluster*> (clus);
      AliAODCaloCluster * aodCluster = dynamic_cast<AliAODCaloCluster*> (clus);
      
      if     (esdCluster)
      {
        fCaloClusterArr->Add( new AliESDCaloCluster(*esdCluster) );   
      }//ESD
      else if(aodCluster)
      {
        fCaloClusterArr->Add( new AliAODCaloCluster(*aodCluster) );   
      }//AOD
      else 
        AliWarning("Wrong CaloCluster type?");
      
      nClustersOrg++;
    }
  }
  
  //Do the unfolding
  fUnfolder->UnfoldClusters(fCaloClusterArr, cells);
  
  //CLEAN-UP
  fUnfolder->Clear();
  
}

//_____________________________________________________
void AliAnalysisTaskEMCALClusterize::FillAODCaloCells() 
{
  // Put calo cells in standard branch  
  AliVCaloCells &eventEMcells = *(fEvent->GetEMCALCells());
  Int_t nEMcell = eventEMcells.GetNumberOfCells() ;
  
  AliAODCaloCells &aodEMcells = *(AODEvent()->GetEMCALCells());
  aodEMcells.CreateContainer(nEMcell);
  aodEMcells.SetType(AliVCaloCells::kEMCALCell);
  Double_t calibFactor = 1.;   
  for (Int_t iCell = 0; iCell < nEMcell; iCell++) 
  { 
    Int_t imod = -1, iphi =-1, ieta=-1,iTower = -1, iIphi = -1, iIeta = -1; 
    fGeom->GetCellIndex(eventEMcells.GetCellNumber(iCell),imod,iTower,iIphi,iIeta); 
    fGeom->GetCellPhiEtaIndexInSModule(imod,iTower,iIphi, iIeta,iphi,ieta);	
    
    if(fRecoUtils->IsRecalibrationOn())
    { 
      calibFactor = fRecoUtils->GetEMCALChannelRecalibrationFactor(imod,ieta,iphi);
    }
    
    if(!fRecoUtils->GetEMCALChannelStatus(imod, ieta, iphi))
    { //Channel is not declared as bad
      aodEMcells.SetCell(iCell,eventEMcells.GetCellNumber(iCell),eventEMcells.GetAmplitude(iCell)*calibFactor,
                         eventEMcells.GetTime(iCell),eventEMcells.GetMCLabel(iCell),eventEMcells.GetEFraction(iCell));
    }
    else 
    {
      aodEMcells.SetCell(iCell,eventEMcells.GetCellNumber(iCell),0,-1,-1,0);
    }
  }
  aodEMcells.Sort();
  
}

//__________________________________________________
void AliAnalysisTaskEMCALClusterize::FillAODHeader() 
{
  //Put event header information in standard AOD branch
  
  AliESDEvent* esdevent = dynamic_cast<AliESDEvent*> (fEvent);
  AliAODEvent* aodevent = dynamic_cast<AliAODEvent*> (fEvent);
  
  Double_t pos[3]   ;
  Double_t covVtx[6];
  for (Int_t i = 0; i < 6; i++)  covVtx[i] = 0.;
  
  AliAODHeader* header = dynamic_cast<AliAODHeader*>(AODEvent()->GetHeader());
  if(!header) AliFatal("Not a standard AOD");
  header->SetRunNumber(fEvent->GetRunNumber());
  
  if(esdevent)
  {
    TTree* tree = fInputHandler->GetTree();
    if (tree) 
    {
      TFile* file = tree->GetCurrentFile();
      if (file) header->SetESDFileName(file->GetName());
    }
  }
  else if (aodevent) {
    AliAODHeader * aodheader = dynamic_cast<AliAODHeader*>(aodevent->GetHeader());
    if(!aodheader) AliFatal("Not a standard AOD");
    header->SetESDFileName(aodheader->GetESDFileName());
  }
  
  header->SetBunchCrossNumber(fEvent->GetBunchCrossNumber());
  header->SetOrbitNumber(fEvent->GetOrbitNumber());
  header->SetPeriodNumber(fEvent->GetPeriodNumber());
  header->SetEventType(fEvent->GetEventType());
  
  //Centrality
  if(fEvent->GetCentrality())
    header->SetCentrality(new AliCentrality(*(fEvent->GetCentrality())));
  else
    header->SetCentrality(0);
  
  //Trigger  
  header->SetOfflineTrigger(fInputHandler->IsEventSelected()); // propagate the decision of the physics selection

  header->SetFiredTriggerClasses(fEvent->GetFiredTriggerClasses());
  
  header->SetTriggerMask(fEvent->GetTriggerMask()); 
  header->SetTriggerCluster(fEvent->GetTriggerCluster());
  
  if      (esdevent)
  {
    header->SetL0TriggerInputs(esdevent->GetHeader()->GetL0TriggerInputs());    
    header->SetL1TriggerInputs(esdevent->GetHeader()->GetL1TriggerInputs());    
    header->SetL2TriggerInputs(esdevent->GetHeader()->GetL2TriggerInputs());    
  }
  else if (aodevent)
  {
    header->SetL0TriggerInputs(aodevent->GetHeader()->GetL0TriggerInputs());    
    header->SetL1TriggerInputs(aodevent->GetHeader()->GetL1TriggerInputs());    
    header->SetL2TriggerInputs(aodevent->GetHeader()->GetL2TriggerInputs());    
  }
  
  header->SetMagneticField(fEvent->GetMagneticField());
  //header->SetMuonMagFieldScale(esdevent->GetCurrentDip()/6000.); 
  
  header->SetZDCN1Energy(fEvent->GetZDCN1Energy());
  header->SetZDCP1Energy(fEvent->GetZDCP1Energy());
  header->SetZDCN2Energy(fEvent->GetZDCN2Energy());
  header->SetZDCP2Energy(fEvent->GetZDCP2Energy());
  header->SetZDCEMEnergy(fEvent->GetZDCEMEnergy(0),fEvent->GetZDCEMEnergy(1));
  
  Float_t diamxy[2]={(Float_t)fEvent->GetDiamondX(),(Float_t)fEvent->GetDiamondY()};
  Float_t diamcov[3];
  fEvent->GetDiamondCovXY(diamcov);
  header->SetDiamond(diamxy,diamcov);
  if      (esdevent) header->SetDiamondZ(esdevent->GetDiamondZ(),esdevent->GetSigma2DiamondZ());
  else if (aodevent) header->SetDiamondZ(aodevent->GetDiamondZ(),aodevent->GetSigma2DiamondZ());
  
  //
  Int_t nVertices = 1 ;/* = prim. vtx*/;
  Int_t nCaloClus = fEvent->GetNumberOfCaloClusters();
  
  AODEvent()->ResetStd(0, nVertices, 0, 0, 0, nCaloClus, 0, 0);
  
  // Access to the AOD container of vertices
  TClonesArray &vertices = *(AODEvent()->GetVertices());
  Int_t jVertices=0;
  
  // Add primary vertex. The primary tracks will be defined
  // after the loops on the composite objects (V0, cascades, kinks)
  fEvent->GetPrimaryVertex()->GetXYZ(pos);
  Float_t chi = 0;
  if      (esdevent)
  {
    esdevent->GetPrimaryVertex()->GetCovMatrix(covVtx);
    chi = esdevent->GetPrimaryVertex()->GetChi2toNDF();
  }
  else if (aodevent)
  {
    aodevent->GetPrimaryVertex()->GetCovMatrix(covVtx);
    chi = aodevent->GetPrimaryVertex()->GetChi2perNDF();//Different from ESD?
  }
  
  AliAODVertex * primary = new(vertices[jVertices++])
  AliAODVertex(pos, covVtx, chi, NULL, -1, AliAODVertex::kPrimary);
  primary->SetName(fEvent->GetPrimaryVertex()->GetName());
  primary->SetTitle(fEvent->GetPrimaryVertex()->GetTitle());
  
}

//___________________________________________________________
void AliAnalysisTaskEMCALClusterize::FillCaloClusterInEvent()
{
  // Get the CaloClusters array, do some final calculations 
  // and put the clusters in the output or input event 
  // as a separate branch 
  
  //First recalculate track-matching for the new clusters
  if(fDoTrackMatching) 
  {
    fRecoUtils->FindMatches(fEvent,fCaloClusterArr,fGeom);
  }
  //Put the new clusters in the AOD list
  
  Int_t kNumberOfCaloClusters   = fCaloClusterArr->GetEntriesFast();

  for(Int_t i = 0; i < kNumberOfCaloClusters; i++)
  {
    AliAODCaloCluster *newCluster = (AliAODCaloCluster *) fCaloClusterArr->At(i);
    
    newCluster->SetID(i);
    
    // Correct cluster energy non linearity
    newCluster->SetE(fRecoUtils->CorrectClusterEnergyLinearity(newCluster));
    
    //Add matched track
    if(fDoTrackMatching)
    {
      Int_t trackIndex = fRecoUtils->GetMatchedTrackIndex(i);
      if(trackIndex >= 0)
      {
        newCluster->AddTrackMatched(fEvent->GetTrack(trackIndex));
        AliDebug(2,Form("Matched Track index %d to new cluster %d",trackIndex,i));
      }
      
      Float_t dR = 999., dZ = 999.;
      fRecoUtils->GetMatchedResiduals(newCluster->GetID(),dR,dZ);
      newCluster->SetTrackDistance(dR,dZ);
      
    }
    else
    {// Assign previously assigned matched track in reco, very very rough
      Int_t absId0 = newCluster->GetCellsAbsId()[0]; // Assign match of first cell in cluster
      newCluster->SetTrackDistance(fCellMatchdPhi[absId0],fCellMatchdEta[absId0]);
    }
    
    //printf("New cluster E %f, Time  %e, Id = ", newCluster->E(), newCluster->GetTOF() );
    //for(Int_t icell=0; icell < newCluster->GetNCells(); icell++ ) printf(" %d,", newCluster->GetCellsAbsId() [icell] );
    //printf("\n");
    
    // Calculate distance to bad channel for new cluster. Make sure you give the list of bad channels.
    fRecoUtils->RecalculateClusterDistanceToBadChannel(fGeom, fEvent->GetEMCALCells(), newCluster);
    
    new((*fOutputAODBranch)[i])  AliAODCaloCluster(*newCluster);
    
    AliDebug(2,Form("New cluster %d of %d, energy %f, mc label %d",
                    newCluster->GetID(), kNumberOfCaloClusters, newCluster->E(), newCluster->GetLabel()));
    
  } // cluster loop
  
  fOutputAODBranch->Expand(kNumberOfCaloClusters); // resize TObjArray to 'remove' slots
  
  
}

//_______________________________________________
TString AliAnalysisTaskEMCALClusterize::GetPass()
{
  // Get passx from filename.
  
  if (!AliAnalysisManager::GetAnalysisManager()->GetTree()) 
  {
    AliError("AliAnalysisTaskEMCALClusterize::GetPass() - Pointer to tree = 0, returning null");
    return TString("");
  }
  
  if (!AliAnalysisManager::GetAnalysisManager()->GetTree()->GetCurrentFile()) 
  {
    AliError("AliAnalysisTaskEMCALClusterize::GetPass() - Null pointer input file, returning null");
    return TString("");
  }
  
  TString pass(AliAnalysisManager::GetAnalysisManager()->GetTree()->GetCurrentFile()->GetName());
  if      (pass.Contains("ass1")) return TString("pass1");
  else if (pass.Contains("ass2")) return TString("pass2");
  else if (pass.Contains("ass3")) return TString("pass3");
  else if (pass.Contains("ass4")) return TString("pass4");
  else if (pass.Contains("ass5")) return TString("pass5");
  else if (pass.Contains("LHC11c") && pass.Contains("spc_calo") ) return TString("spc_calo");
  else if (pass.Contains("calo") || pass.Contains("high_lumi"))
  {
    printf("AliAnalysisTaskEMCALClusterize::GetPass() - Path contains <calo> or <high-lumi>, set as <pass1>");
    return TString("pass1");
  }
  
  // No condition fullfilled, give a default value
  AliInfo("Pass number string not found");
  return TString("");            
  
}

//_________________________________________
void AliAnalysisTaskEMCALClusterize::Init()
{
  //Init analysis with configuration macro if available
  
  if(fDebug >=0) (AliAnalysisManager::GetAnalysisManager())->AddClassDebug(this->ClassName(),fDebug);

  fOADBSet           = kFALSE;
  if(fOADBFilePath == "") fOADBFilePath = "$ALICE_ROOT/OADB/EMCAL" ;          
  
  fBranchNames       = "ESD:AliESDHeader.,EMCALCells.";
  
  if(!fRecParam)     fRecParam  = new AliEMCALRecParam;
  if(!fRecoUtils)    fRecoUtils = new AliEMCALRecoUtils();  
  
  if(fMaxEvent          <= 0) fMaxEvent          = 1000000000;
  if(fSelectCellMinE    <= 0) fSelectCellMinE    = 0.005;     
  if(fSelectCellMinFrac <= 0) fSelectCellMinFrac = 0.001;
  fRejectBelowThreshold = kFALSE;

  //Centrality
  if(fCentralityClass  == "") fCentralityClass  = "V0M";
  
  if (fOCDBpath            == "") fOCDBpath            = "raw://" ;
  if (fOutputAODBranchName == "") fOutputAODBranchName = "newEMCALClusters" ;
  
  if(gROOT->LoadMacro(fConfigName) >=0)
  {
    AliInfo(Form("Configure analysis with %s",fConfigName.Data()));
    AliAnalysisTaskEMCALClusterize *clus = (AliAnalysisTaskEMCALClusterize*)gInterpreter->ProcessLine("ConfigEMCALClusterize()");
    fGeomName         = clus->fGeomName; 
    fLoadGeomMatrices = clus->fLoadGeomMatrices;
    fOCDBpath         = clus->fOCDBpath;   
    fAccessOCDB       = clus->fAccessOCDB;
    fRecParam         = clus->fRecParam;
    fJustUnfold       = clus->fJustUnfold;
    fFillAODFile      = clus->fFillAODFile;
    fRecoUtils        = clus->fRecoUtils; 
    fConfigName       = clus->fConfigName;
    fMaxEvent         = clus->fMaxEvent;
    fDoTrackMatching  = clus->fDoTrackMatching;
    fOutputAODBranchName = clus->fOutputAODBranchName;
    for(Int_t i = 0; i < 12; i++) fGeomMatrix[i] = clus->fGeomMatrix[i] ;
    fCentralityClass  = clus->fCentralityClass;
    fCentralityBin[0] = clus->fCentralityBin[0];
    fCentralityBin[1] = clus->fCentralityBin[1];
  }

}  

//_______________________________________________________
void AliAnalysisTaskEMCALClusterize::InitClusterization()
{
  //Select clusterization/unfolding algorithm and set all the needed parameters
  
  if (fJustUnfold)
  {
    // init the unfolding afterburner 
    delete fUnfolder;
    fUnfolder =  new AliEMCALAfterBurnerUF(fRecParam->GetW0(),fRecParam->GetLocMaxCut(),fRecParam->GetMinECut());
    return;
  }
  
  //First init the clusterizer
  delete fClusterizer;
  if     (fRecParam->GetClusterizerFlag() == AliEMCALRecParam::kClusterizerv1)
    fClusterizer = new AliEMCALClusterizerv1 (fGeom, fCalibData, fPedestalData);
  else if(fRecParam->GetClusterizerFlag() == AliEMCALRecParam::kClusterizerv2) 
    fClusterizer = new AliEMCALClusterizerv2(fGeom, fCalibData, fPedestalData);
  else if(fRecParam->GetClusterizerFlag() == AliEMCALRecParam::kClusterizerNxN)
  { 
    fClusterizer = new AliEMCALClusterizerNxN(fGeom, fCalibData, fPedestalData);
    fClusterizer->SetNRowDiff(fRecParam->GetNRowDiff());
    fClusterizer->SetNColDiff(fRecParam->GetNColDiff());
  } 
  else 
  {
    AliFatal(Form("Clusterizer < %d > not available", fRecParam->GetClusterizerFlag()));
  }
  
  //Now set the parameters
  fClusterizer->SetECAClusteringThreshold( fRecParam->GetClusteringThreshold() );
  fClusterizer->SetECALogWeight          ( fRecParam->GetW0()                  );
  fClusterizer->SetMinECut               ( fRecParam->GetMinECut()             );    
  fClusterizer->SetUnfolding             ( fRecParam->GetUnfold()              );
  fClusterizer->SetECALocalMaxCut        ( fRecParam->GetLocMaxCut()           );
  fClusterizer->SetTimeCut               ( fRecParam->GetTimeCut()             );
  fClusterizer->SetTimeMin               ( fRecParam->GetTimeMin()             );
  fClusterizer->SetTimeMax               ( fRecParam->GetTimeMax()             );
  fClusterizer->SetInputCalibrated       ( kTRUE                               );
  fClusterizer->SetJustClusters          ( kTRUE                               );  
  
  // Initialize the cluster rec points and digits arrays and get them.
  fClusterizer->SetOutput(0);
  fClusterArr = const_cast<TObjArray *>(fClusterizer->GetRecPoints());
  fDigitsArr  = fClusterizer->GetDigits();
  
  //In case of unfolding after clusterization is requested, set the corresponding parameters
  if(fRecParam->GetUnfold())
  {
    Int_t i=0;
    for (i = 0; i < 8; i++) 
    {
      fClusterizer->SetSSPars(i, fRecParam->GetSSPars(i));
    }//end of loop over parameters
    
    for (i = 0; i < 3; i++) 
    {
      fClusterizer->SetPar5  (i, fRecParam->GetPar5(i));
      fClusterizer->SetPar6  (i, fRecParam->GetPar6(i));
    }//end of loop over parameters
    fClusterizer->SetRejectBelowThreshold(fRejectBelowThreshold);//here we set option of unfolding: split or reject energy
    fClusterizer->InitClusterUnfolding();
    
  }// to unfold
}

//_________________________________________________
void AliAnalysisTaskEMCALClusterize::InitGeometry()
{
  // Init geometry and set the geometry matrix, for the first event, skip the rest
  // Also set once the run dependent calibrations
  
  if(fGeomMatrixSet) return;
  
  Int_t runnumber = InputEvent()->GetRunNumber() ;
  if (!fGeom)
  {
    if(fGeomName=="")
    {
      if     (runnumber < 140000) fGeomName = "EMCAL_FIRSTYEARV1";
      else if(runnumber < 171000) fGeomName = "EMCAL_COMPLETEV1";
      else                        fGeomName = "EMCAL_COMPLETE12SMV1";  
      AliInfo(Form("Set EMCAL geometry name to <%s> for run %d",fGeomName.Data(),runnumber));
    }
    
		fGeom = AliEMCALGeometry::GetInstance(fGeomName);
    
    // Init geometry, I do not like much to do it like this ...
    if(fImportGeometryFromFile && !gGeoManager)
    {
      if(fImportGeometryFilePath=="") // If not specified, set location depending on run number
      {
        // "$ALICE_ROOT/EVE/alice-data/default_geo.root"
        if     (runnumber <  140000 &&
                runnumber >= 100000) fImportGeometryFilePath = "$ALICE_ROOT/OADB/EMCAL/geometry_2010.root";
        if     (runnumber >= 140000 &&
                runnumber <  171000) fImportGeometryFilePath = "$ALICE_ROOT/OADB/EMCAL/geometry_2011.root";
        else                         fImportGeometryFilePath = "$ALICE_ROOT/OADB/EMCAL/geometry_2012.root"; // 2012-2013
      }
      
      AliInfo(Form("Import %s",fImportGeometryFilePath.Data()));
      TGeoManager::Import(fImportGeometryFilePath) ;
    }

    AliDebug(1,Form("Init for run=%d",runnumber));
    if (!gGeoManager) AliDebug(1,"Careful!, gGeoManager not loaded, load misalign matrices");
	} // geometry pointer did not exist before
  
  if(fLoadGeomMatrices)
  {
    AliInfo("Load user defined EMCAL geometry matrices");
    
    // OADB if available
    AliOADBContainer emcGeoMat("AliEMCALgeo");
    emcGeoMat.InitFromFile(Form("%s/EMCALlocal2master.root",fOADBFilePath.Data()),"AliEMCALgeo");
    TObjArray *matEMCAL=(TObjArray*)emcGeoMat.GetObject(runnumber,"EmcalMatrices");
    
    for(Int_t mod=0; mod < (fGeom->GetEMCGeometry())->GetNumberOfSuperModules(); mod++)
    {
      
      if (!fGeomMatrix[mod]) // Get it from OADB
      {
        AliDebug(2,Form("EMCAL matrices SM %d, %p",mod,((TGeoHMatrix*) matEMCAL->At(mod))));
        //((TGeoHMatrix*) matEMCAL->At(mod))->Print();
        
        fGeomMatrix[mod] = (TGeoHMatrix*) matEMCAL->At(mod) ;
      }        
      
      if(fGeomMatrix[mod])
      {
        if(DebugLevel() > 1) 
          fGeomMatrix[mod]->Print();
        
        fGeom->SetMisalMatrix(fGeomMatrix[mod],mod) ;  
      }
      
      fGeomMatrixSet=kTRUE;
      
    }//SM loop
  }//Load matrices
  else if(!gGeoManager)
  {
    AliInfo("AliAnalysisTaksEMCALClusterize::InitGeometry() - Get geo matrices from data");
    //Still not implemented in AOD, just a workaround to be able to work at least with ESDs	
    if(!strcmp(fEvent->GetName(),"AliAODEvent")) 
    {
      AliWarning("Use ideal geometry, values geometry matrix not kept in AODs");
    }//AOD
    else 
    {	
      if(DebugLevel() > 1) 
        printf("AliAnalysisTaksEMCALClusterize::InitGeometry() - AliAnalysisTaskEMCALClusterize Load Misaligned matrices.");
      
      AliESDEvent* esd = dynamic_cast<AliESDEvent*>(fEvent) ;
      
      if(!esd)
      {
        AliError("This event does not contain ESDs?");
        if(fFillAODFile) AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler()->SetFillAOD(kFALSE);
        return;
      }
      
      for(Int_t mod=0; mod < (fGeom->GetEMCGeometry())->GetNumberOfSuperModules(); mod++)
      {
        if(DebugLevel() > 1) 
          esd->GetEMCALMatrix(mod)->Print();
        
        if(esd->GetEMCALMatrix(mod)) fGeom->SetMisalMatrix(esd->GetEMCALMatrix(mod),mod) ;
        
      } 
      
      fGeomMatrixSet=kTRUE;
      
    }//ESD
  }//Load matrices from Data 
  
}

//____________________________________________________
Bool_t AliAnalysisTaskEMCALClusterize::IsExoticEvent()
{
  
  // Check if event is exotic, get an exotic cell and compare with triggered patch
  // If there is a match remove event ... to be completed, filled with something provisional
  
  if(!fRemoveExoticEvents) return kFALSE;
  
  // Loop on cells
  AliVCaloCells * cells = fEvent->GetEMCALCells();
  Float_t totCellE = 0;
  Int_t bc = InputEvent()->GetBunchCrossNumber();
  for(Int_t icell = 0; icell < cells->GetNumberOfCells(); icell++)
  {
    
    Float_t  ecell = 0 ;
    Double_t tcell = 0 ;
    
    Int_t absID   = cells->GetCellNumber(icell);
    Bool_t accept = fRecoUtils->AcceptCalibrateCell(absID,bc,ecell,tcell,cells);
    if(accept && !fRecoUtils->IsExoticCell(absID,cells,bc)) totCellE += ecell;
  }
  
  //  TString triggerclasses = event->GetFiredTriggerClasses();
  //    printf("AliAnalysisTaskEMCALClusterize - reject event %d with cluster  - reject event with ncells in SM3 %d and SM4 %d\n",(Int_t)Entry(),ncellsSM3, ncellsSM4);
  //    if(fFillAODFile) AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler()->SetFillAOD(kFALSE);;
  //    return;
  //  
  
  //printf("TotE cell %f\n",totCellE);
  if(totCellE < 1) return kTRUE;
  
  return kFALSE;
  
} 

//________________________________________________________________
Bool_t AliAnalysisTaskEMCALClusterize::IsLEDEvent(const Int_t run)
{
  //Check if event is LED
  
  if(!fRemoveLEDEvents) return kFALSE;
  
  //check events of LHC11a period
  if(run < 146858 || run > 146860) return kFALSE ;
  
  // Count number of cells with energy larger than 0.1 in SM3, cut on this number
  Int_t ncellsSM3 = 0;
  AliVCaloCells * cells = fEvent->GetEMCALCells();
  for(Int_t icell = 0; icell < cells->GetNumberOfCells(); icell++)
  {
    if(cells->GetAmplitude(icell) > 0.1 && cells->GetCellNumber(icell)/(24*48)==3) ncellsSM3++;
  }
  
  TString triggerclasses = fEvent->GetFiredTriggerClasses();
  
  Int_t ncellcut = 21;
  if(triggerclasses.Contains("EMC")) ncellcut = 35;
  
  if( ncellsSM3 >= ncellcut)
  {
    AliInfo(Form("Reject event %d with ncells in SM3 %d",(Int_t)Entry(),ncellsSM3));
    if(fFillAODFile) AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler()->SetFillAOD(kFALSE);;
    return kTRUE;
  }
  
  return kFALSE;
  
} 

//_______________________________________________________
void AliAnalysisTaskEMCALClusterize::RecPoints2Clusters()
{
  // Restore clusters from recPoints
  // Cluster energy, global position, cells and their amplitude 
  // fractions are restored
  
  Int_t j = 0;
  for(Int_t i = 0; i < fClusterArr->GetEntriesFast(); i++)
  {
    AliEMCALRecPoint *recPoint = (AliEMCALRecPoint*) fClusterArr->At(i);
    
    const Int_t ncells = recPoint->GetMultiplicity();
    Int_t ncellsTrue = 0;
    
    if(recPoint->GetEnergy() < fRecParam->GetClusteringThreshold()) continue;
    
    // cells and their amplitude fractions
    UShort_t   absIds[ncells];  
    Double32_t ratios[ncells];
    
    //For later check embedding
    AliAODInputHandler* aodIH = dynamic_cast<AliAODInputHandler*>((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
    
    Float_t clusterE = 0; 
    for (Int_t c = 0; c < ncells; c++) 
    {
      AliEMCALDigit *digit = (AliEMCALDigit*) fDigitsArr->At(recPoint->GetDigitsList()[c]);
      
      absIds[ncellsTrue] = digit->GetId();
      ratios[ncellsTrue] = recPoint->GetEnergiesList()[c]/digit->GetAmplitude();
            
      // In case of unfolding, remove digits with unfolded energy too low      
      if(fSelectCell)
      {
        if     (recPoint->GetEnergiesList()[c] < fSelectCellMinE || ratios[ncellsTrue] < fSelectCellMinFrac)  
        {
         
          AliDebug(2,Form("Too small energy in cell of cluster: cluster cell %f, digit %f",
                          recPoint->GetEnergiesList()[c],digit->GetAmplitude()));
          continue;
          
        } // if cuts
      }// Select cells
      
      //Recalculate cluster energy and number of cluster cells in case any of the cells was rejected
      clusterE  +=recPoint->GetEnergiesList()[c];
      
      // In case of embedding, fill ratio with amount of signal, 
      if (aodIH && aodIH->GetMergeEvents()) 
      {
        //AliVCaloCells* inEMCALCells = InputEvent()->GetEMCALCells();
        AliVCaloCells* meEMCALCells = aodIH->GetEventToMerge()->GetEMCALCells();
        AliVCaloCells* ouEMCALCells = AODEvent()->GetEMCALCells();
        
        Float_t sigAmplitude = meEMCALCells->GetCellAmplitude(absIds[ncellsTrue]);
        //Float_t bkgAmplitude = inEMCALCells->GetCellAmplitude(absIds[ncellsTrue]);
        Float_t sumAmplitude = ouEMCALCells->GetCellAmplitude(absIds[ncellsTrue]);
        //printf("\t AbsID %d, amplitude : bkg %f, sigAmplitude %f, summed %f - %f\n",absIds[ncellsTrue], bkgAmplitude, sigAmplitude, sumAmplitude, digit->GetAmplitude());
        
        if(sumAmplitude > 0) ratios[ncellsTrue] = sigAmplitude/sumAmplitude;
        //printf("\t \t ratio %f\n",ratios[ncellsTrue]);
        
      }//Embedding
      
      ncellsTrue++;
      
    }// cluster cell loop
    
    if (ncellsTrue < 1) 
    {
        AliDebug(2,Form("Skipping cluster with no cells avobe threshold E = %f, ncells %d",
                        recPoint->GetEnergy(), ncells));
      continue;
    }
    
    //if(ncellsTrue != ncells) printf("Old E %f, ncells %d; New E %f, ncells %d\n",recPoint->GetEnergy(),ncells,clusterE,ncellsTrue);
    
    if(clusterE <  fRecParam->GetClusteringThreshold()) 
    {
      AliDebug(2,Form("Remove cluster with energy below seed threshold %f",clusterE));
      continue;
    }
    
    TVector3 gpos;
    Float_t g[3];
    
    // calculate new cluster position
    
    recPoint->EvalGlobalPosition(fRecParam->GetW0(), fDigitsArr);
    recPoint->GetGlobalPosition(gpos);
    gpos.GetXYZ(g);
    
    // create a new cluster
    
    (*fCaloClusterArr)[j] = new AliAODCaloCluster() ;
    AliAODCaloCluster *clus = dynamic_cast<AliAODCaloCluster *>( fCaloClusterArr->At(j) ) ;
    j++;
    clus->SetType(AliVCluster::kEMCALClusterv1);
    clus->SetE(clusterE);
    clus->SetPosition(g);
    clus->SetNCells(ncellsTrue);
    clus->SetCellsAbsId(absIds);
    clus->SetCellsAmplitudeFraction(ratios);
    clus->SetChi2(-1); //not yet implemented
    clus->SetTOF(recPoint->GetTime()) ; //time-of-flight
    clus->SetNExMax(recPoint->GetNExMax()); //number of local maxima
    clus->SetDistanceToBadChannel(recPoint->GetDistanceToBadTower()); 
    
    if(ncells == ncellsTrue)
    {
      Float_t elipAxis[2];
      recPoint->GetElipsAxis(elipAxis);
      clus->SetM02(elipAxis[0]*elipAxis[0]) ;
      clus->SetM20(elipAxis[1]*elipAxis[1]) ;
      clus->SetDispersion(recPoint->GetDispersion());
    }
    else if(fSelectCell)
    {
      // In case some cells rejected, in unfolding case, recalculate
      // shower shape parameters and position
      AliDebug(2,Form("Cells removed from cluster (ncells %d, ncellsTrue %d), recalculate Shower Shape",ncells,ncellsTrue));
      
      AliVCaloCells* cells = 0x0; 
      if (aodIH && aodIH->GetMergeEvents()) cells = AODEvent()  ->GetEMCALCells();
      else                                  cells = InputEvent()->GetEMCALCells();
      
      fRecoUtils->RecalculateClusterShowerShapeParameters(fGeom,cells,clus);
      fRecoUtils->RecalculateClusterPID(clus);
      fRecoUtils->RecalculateClusterPosition(fGeom,cells,clus); 
      
    }
    
    // MC

    if     ( fSetCellMCLabelFromCluster == 1 ) SetClustersMCLabelFrom2SelectedLabels(recPoint,clus) ;
    else if( fSetCellMCLabelFromCluster == 2 ) SetClustersMCLabelFromOriginalClusters(clus) ;
    else
    {
      // Normal case, trust what the clusterizer has found
      Int_t  parentMult = 0;
      Int_t *parentList = recPoint->GetParents(parentMult);
      clus->SetLabel(parentList, parentMult);
//      printf("Label list : ");
//      for(Int_t ilabel = 0; ilabel < parentMult; ilabel++ ) printf(" %d ",parentList[ilabel]);
//      printf("\n");
    }
    
  } // recPoints loop
  
}

//___________________________________________________________________________
void AliAnalysisTaskEMCALClusterize::RemapMCLabelForAODs(Int_t & label)
{
  // MC label for Cells not remapped after ESD filtering, do it here.

  if(label < 0) return ;
  
  AliAODEvent  * evt = dynamic_cast<AliAODEvent*> (fEvent) ;
  if(!evt) return ;
  
  TClonesArray * arr = dynamic_cast<TClonesArray*>(evt->FindListObject("mcparticles")) ;
  if(!arr) return ;
    
  if(label < arr->GetEntriesFast())
  {
    AliAODMCParticle * particle = dynamic_cast<AliAODMCParticle *>(arr->At(label));
    if(!particle) return ;
        
    if(label == particle->Label()) return ; // label already OK
    //else printf("AliAnalysisTaskEMCALClusterize::RemapMCLabelForAODs() - Label  %d - AOD stack %d \n",label, particle->Label());
  }
  //else printf("AliAnalysisTaskEMCALClusterize::RemapMCLabelForAODs() - Label  %d > AOD labels %d \n",label, arr->GetEntriesFast());
  
  // loop on the particles list and check if there is one with the same label
  for(Int_t ind = 0; ind < arr->GetEntriesFast(); ind++ )
  {
    AliAODMCParticle * particle = dynamic_cast<AliAODMCParticle *>(arr->At(ind));
    if(!particle) continue ;

    if(label == particle->Label())
    {
      label = ind;
      //printf("AliAnalysisTaskEMCALClusterize::RemapMCLabelForAODs() - New Label Index  %d \n",label);
      return;
    }
  }
  
  label = -1;
  
  //printf("AliAnalysisTaskEMCALClusterize::RemapMCLabelForAODs() - Label not found set to -1 \n");
 
}

//________________________________________________
void AliAnalysisTaskEMCALClusterize::ResetArrays()
{
  // Reset arrays containing information for all possible cells
  for(Int_t j = 0; j < 12672; j++)
  {
    fOrgClusterCellId[j] = -1;
    fCellLabels[j]       = -1;
    fCellSecondLabels[j] = -1;
    fCellTime[j]         =  0.;
    fCellMatchdEta[j]    = -999;
    fCellMatchdPhi[j]    = -999;
  }
}

//_____________________________________________________________________________________________________
void AliAnalysisTaskEMCALClusterize::SetClustersMCLabelFrom2SelectedLabels(AliEMCALRecPoint  * recPoint,
                                                                           AliAODCaloCluster * clus)
{
  // Set the cluster MC label, the digizer was filled with most likely MC label for all cells in original cluster
  // Now check the second most likely MC label and add it to the new cluster
  
  Int_t  parentMult = 0;
  Int_t *parentList = recPoint->GetParents(parentMult);
  clus->SetLabel(parentList, parentMult);
  
  //Write the second major contributor to each MC cluster.
  Int_t iNewLabel ;
  for ( Int_t iLoopCell = 0 ; iLoopCell < clus->GetNCells() ; iLoopCell++ )
  {
    
    Int_t idCell = clus->GetCellAbsId(iLoopCell) ;
    if(idCell>=0)
    {
      iNewLabel = 1 ; //iNewLabel makes sure we  don't write twice the same label.
      for ( UInt_t iLoopLabels = 0 ; iLoopLabels < clus->GetNLabels() ; iLoopLabels++ )
      {
        if ( fCellSecondLabels[idCell] == -1 )  iNewLabel = 0;  // -1 is never a good second label.
          if ( fCellSecondLabels[idCell] == clus->GetLabelAt(iLoopLabels) )  iNewLabel = 0;
            }
      if (iNewLabel == 1)
      {
        Int_t * newLabelArray = new Int_t[clus->GetNLabels()+1] ;
        for ( UInt_t iLoopNewLabels = 0 ; iLoopNewLabels < clus->GetNLabels() ; iLoopNewLabels++ )
        {
          newLabelArray[iLoopNewLabels] = clus->GetLabelAt(iLoopNewLabels) ;
        }
        
        newLabelArray[clus->GetNLabels()] = fCellSecondLabels[idCell] ;
        clus->SetLabel(newLabelArray,clus->GetNLabels()+1) ;
        delete [] newLabelArray;
      }
    }//positive cell number
  }
}

//___________________________________________________________________________________________________
void AliAnalysisTaskEMCALClusterize::SetClustersMCLabelFromOriginalClusters(AliAODCaloCluster * clus)
{
  // Get the original clusters that contribute to the new cluster, assign the labels of such clusters
  // to the new cluster.
  // Only approximatedly valid  when output are V1 clusters, handle with care
    
  TArrayI clArray(300) ; //Weird if more than a few clusters are in the origin ...
  clArray.Reset();
  Int_t nClu = 0;
  Int_t nLabTotOrg = 0;
  Float_t emax = -1;
  Int_t idMax = -1;
  
  AliVEvent * event = fEvent;
  
  //In case of embedding the MC signal is in the added event
  AliAODInputHandler* aodIH = dynamic_cast<AliAODInputHandler*>((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
  if(aodIH && aodIH->GetEventToMerge())  //Embedding
    event = aodIH->GetEventToMerge(); //Get clusters directly from embedded signal

  
  //Find the clusters that originally had the cells
  for ( Int_t iLoopCell = 0 ; iLoopCell < clus->GetNCells() ; iLoopCell++ )
  {
    Int_t idCell = clus->GetCellAbsId(iLoopCell) ;
    
    if(idCell>=0)
    {
      Int_t idCluster = fOrgClusterCellId[idCell];
      
      Bool_t set = kTRUE;
      for(Int_t icl =0; icl < nClu; icl++)
      {
        if(((Int_t)clArray.GetAt(icl))==-1 ) continue;
        if( idCluster == ((Int_t)clArray.GetAt(icl)) ) set = kFALSE;
        //   printf("\t \t icell %d  Cluster in array %d, IdCluster %d, in array %d, set %d\n",
        //          iLoopCell,                 icl,  idCluster,((Int_t)clArray.GetAt(icl)),set);
      }
      if( set && idCluster >= 0)
      {
        clArray.SetAt(idCluster,nClu++);
        //printf("******** idCluster %d \n",idCluster);
        nLabTotOrg+=(event->GetCaloCluster(idCluster))->GetNLabels();

        //printf("Cluster in array %d, IdCluster %d\n",nClu-1,  idCluster);

        //Search highest E cluster
        AliVCluster * clOrg = event->GetCaloCluster(idCluster);
        //printf("\t E %f\n",clOrg->E());
        if(emax < clOrg->E())
        {
          emax  = clOrg->E();
          idMax = idCluster;
        }        
      }
    }
  }// cell loop

  if(nClu==0 || nLabTotOrg == 0)
  {
    //if(clus->E() > 0.25) printf("AliAnalysisTaskEMCALClusterize::SetClustersMCLabelFromOriginalClusters() - Check: N org clusters %d, n tot labels %d, cluster E %f,  n cells %d\n",nClu,nLabTotOrg,clus->E(), clus->GetNCells());
    //for(Int_t icell = 0; icell < clus->GetNCells(); icell++) printf("\t cell %d",clus->GetCellsAbsId()[icell]);
    //printf("\n");
  }
  
  // Put the first in the list the cluster with highest energy
  if(idMax != ((Int_t)clArray.GetAt(0))) // Max not at first position
  {
    Int_t maxIndex = -1;
    Int_t firstCluster = ((Int_t)clArray.GetAt(0));
    for ( Int_t iLoopCluster = 0 ; iLoopCluster < nClu ; iLoopCluster++ )
    {
      if(idMax == ((Int_t)clArray.GetAt(iLoopCluster))) maxIndex = iLoopCluster;
    }
    
    if(firstCluster >=0 && idMax >=0)
    {
      clArray.SetAt(idMax,0);
      clArray.SetAt(firstCluster,maxIndex);
    }
  }
  
  // Get the labels list in the original clusters, assign all to the new cluster
  TArrayI clMCArray(nLabTotOrg) ;
  clMCArray.Reset();
  
  Int_t nLabTot = 0;
  for ( Int_t iLoopCluster = 0 ; iLoopCluster < nClu ; iLoopCluster++ )
  {
    Int_t idCluster = (Int_t) clArray.GetAt(iLoopCluster);
    //printf("New Cluster in Array %d,  idCluster %d \n",iLoopCluster,idCluster);
    AliVCluster * clOrg = event->GetCaloCluster(idCluster);
    Int_t nLab = clOrg->GetNLabels();
    
    for ( Int_t iLab = 0 ; iLab < nLab ; iLab++ )
    {
      Int_t lab = clOrg->GetLabelAt(iLab) ;
      if(lab>=0)
      {
        Bool_t set = kTRUE;
        //printf("\t \t Set Label %d \n", lab);
        for(Int_t iLabTot =0; iLabTot < nLabTot; iLabTot++)
        {
          if( lab == ((Int_t)clMCArray.GetAt(iLabTot)) ) set = kFALSE;
          //printf("iLoopCluster %d, Label ID in Org Cluster %d,label %d  Label ID in array %d, label in array %d, set %d\n",
          //       iLoopCluster,                           iLab,     lab,           iLabTot,  ((Int_t)clMCArray.GetAt(iLabTot)),set);
        }
        if( set ) clMCArray.SetAt(lab,nLabTot++);
      }
    }
  }// cluster loop
  
  // Set the final list of labels
  
  clus->SetLabel(clMCArray.GetArray(), nLabTot);
  
//  printf("Final list of labels for new cluster : \n");
//  for(Int_t ice = 0; ice < clus->GetNCells() ; ice++)
//  {
//    printf("\t Cell %d ",clus->GetCellsAbsId()[ice]);
//    Int_t label = InputEvent()->GetEMCALCells()->GetCellMCLabel(clus->GetCellsAbsId()[ice]);
//    printf(" org %d ",label);
//    RemapMCLabelForAODs(label);
//    printf(" new %d \n",label);
//  }
//  for(Int_t imc = 0; imc < clus->GetNLabels(); imc++) printf("\t Label %d\n",clus->GetLabelAt(imc));
}


//____________________________________________________________
void AliAnalysisTaskEMCALClusterize::UserCreateOutputObjects()
{
  // Init geometry, create list of output clusters
  

  fOutputAODBranch = new TClonesArray("AliAODCaloCluster", 0);

  if(fOutputAODBranchName.Length()==0)
  {
    fOutputAODBranchName = "newEMCALClustersArray";
    printf("Cluster branch name not set, set it to newEMCALClustersArray");
  }
  
  fOutputAODBranch->SetName(fOutputAODBranchName);
  
  if( fFillAODFile )
  {
    //fOutputAODBranch = new TClonesArray("AliAODCaloCluster", 0);

    
    //fOutputAODBranch->SetOwner(kFALSE);
    
    AddAODBranch("TClonesArray", &fOutputAODBranch);
  }
  
}

//_______________________________________________________
void AliAnalysisTaskEMCALClusterize::UserExec(Option_t *) 
{
  // Do clusterization event by event, execute different steps
  // 1) Do some checks on the kind of events (ESD, AOD) or if some filtering is needed, initializations
  //    load things and clear arrays
  // 2) Clusterize a) just unfolding existing clusters (fJustUnfold)
  //               b) recluster cells
  //                   +  convert cells into digits (calibrating them)
  //                   +  recluster digits into recPoints with the chosen clusterizer (V1, V1+Unfold,V2, NxN) 
  //                      with methods in AliEMCALClusterizer
  //                   +  transform recPoints into CaloClusters
  // 3) Do some final calculations in the found clusters (track-matching) and put them in an AOD branch
  
  //-------
  // Step 1

  //Remove the contents of AOD branch output list set in the previous event 
  fOutputAODBranch->Clear("C");

  LoadBranches();
  
  //Check if there is a centrality value, PbPb analysis, and if a centrality bin selection is requested
  //If we need a centrality bin, we select only those events in the corresponding bin.
  if( GetCentrality() && fCentralityBin[0] >= 0 && fCentralityBin[1] >= 0 )
  {
    Float_t cen = GetEventCentrality();
    if(cen > fCentralityBin[1] || cen < fCentralityBin[0]) return ; //reject events out of bin.
  }  
    
  // intermediate array with new clusters : init the array only once or clear from previous event
  if(!fCaloClusterArr) fCaloClusterArr    = new TObjArray(10000);
  else                 fCaloClusterArr->Delete();//Clear("C"); it leaks?

  InitGeometry(); // only once, must be done before OADB, geo OADB accessed here
  
  //Get the event, do some checks and settings
  CheckAndGetEvent() ;
  
  if (!fEvent) 
  {
    AliDebug(1,Form("Skip Event %d", (Int_t) Entry()));
    return ;
  }

  //Init pointers, geometry, clusterizer, ocdb, aodb
  
  
  if(fAccessOCDB) AccessOCDB();
  if(fAccessOADB) AccessOADB(); // only once
  
  InitClusterization();
  
  //-------
  // Step 2
  
  // Make clusters
  if (fJustUnfold) ClusterUnfolding();
  else             ClusterizeCells() ;
  
  //-------
  // Step 3
  
  FillCaloClusterInEvent();
  
}


 AliAnalysisTaskEMCALClusterize.cxx:1
 AliAnalysisTaskEMCALClusterize.cxx:2
 AliAnalysisTaskEMCALClusterize.cxx:3
 AliAnalysisTaskEMCALClusterize.cxx:4
 AliAnalysisTaskEMCALClusterize.cxx:5
 AliAnalysisTaskEMCALClusterize.cxx:6
 AliAnalysisTaskEMCALClusterize.cxx:7
 AliAnalysisTaskEMCALClusterize.cxx:8
 AliAnalysisTaskEMCALClusterize.cxx:9
 AliAnalysisTaskEMCALClusterize.cxx:10
 AliAnalysisTaskEMCALClusterize.cxx:11
 AliAnalysisTaskEMCALClusterize.cxx:12
 AliAnalysisTaskEMCALClusterize.cxx:13
 AliAnalysisTaskEMCALClusterize.cxx:14
 AliAnalysisTaskEMCALClusterize.cxx:15
 AliAnalysisTaskEMCALClusterize.cxx:16
 AliAnalysisTaskEMCALClusterize.cxx:17
 AliAnalysisTaskEMCALClusterize.cxx:18
 AliAnalysisTaskEMCALClusterize.cxx:19
 AliAnalysisTaskEMCALClusterize.cxx:20
 AliAnalysisTaskEMCALClusterize.cxx:21
 AliAnalysisTaskEMCALClusterize.cxx:22
 AliAnalysisTaskEMCALClusterize.cxx:23
 AliAnalysisTaskEMCALClusterize.cxx:24
 AliAnalysisTaskEMCALClusterize.cxx:25
 AliAnalysisTaskEMCALClusterize.cxx:26
 AliAnalysisTaskEMCALClusterize.cxx:27
 AliAnalysisTaskEMCALClusterize.cxx:28
 AliAnalysisTaskEMCALClusterize.cxx:29
 AliAnalysisTaskEMCALClusterize.cxx:30
 AliAnalysisTaskEMCALClusterize.cxx:31
 AliAnalysisTaskEMCALClusterize.cxx:32
 AliAnalysisTaskEMCALClusterize.cxx:33
 AliAnalysisTaskEMCALClusterize.cxx:34
 AliAnalysisTaskEMCALClusterize.cxx:35
 AliAnalysisTaskEMCALClusterize.cxx:36
 AliAnalysisTaskEMCALClusterize.cxx:37
 AliAnalysisTaskEMCALClusterize.cxx:38
 AliAnalysisTaskEMCALClusterize.cxx:39
 AliAnalysisTaskEMCALClusterize.cxx:40
 AliAnalysisTaskEMCALClusterize.cxx:41
 AliAnalysisTaskEMCALClusterize.cxx:42
 AliAnalysisTaskEMCALClusterize.cxx:43
 AliAnalysisTaskEMCALClusterize.cxx:44
 AliAnalysisTaskEMCALClusterize.cxx:45
 AliAnalysisTaskEMCALClusterize.cxx:46
 AliAnalysisTaskEMCALClusterize.cxx:47
 AliAnalysisTaskEMCALClusterize.cxx:48
 AliAnalysisTaskEMCALClusterize.cxx:49
 AliAnalysisTaskEMCALClusterize.cxx:50
 AliAnalysisTaskEMCALClusterize.cxx:51
 AliAnalysisTaskEMCALClusterize.cxx:52
 AliAnalysisTaskEMCALClusterize.cxx:53
 AliAnalysisTaskEMCALClusterize.cxx:54
 AliAnalysisTaskEMCALClusterize.cxx:55
 AliAnalysisTaskEMCALClusterize.cxx:56
 AliAnalysisTaskEMCALClusterize.cxx:57
 AliAnalysisTaskEMCALClusterize.cxx:58
 AliAnalysisTaskEMCALClusterize.cxx:59
 AliAnalysisTaskEMCALClusterize.cxx:60
 AliAnalysisTaskEMCALClusterize.cxx:61
 AliAnalysisTaskEMCALClusterize.cxx:62
 AliAnalysisTaskEMCALClusterize.cxx:63
 AliAnalysisTaskEMCALClusterize.cxx:64
 AliAnalysisTaskEMCALClusterize.cxx:65
 AliAnalysisTaskEMCALClusterize.cxx:66
 AliAnalysisTaskEMCALClusterize.cxx:67
 AliAnalysisTaskEMCALClusterize.cxx:68
 AliAnalysisTaskEMCALClusterize.cxx:69
 AliAnalysisTaskEMCALClusterize.cxx:70
 AliAnalysisTaskEMCALClusterize.cxx:71
 AliAnalysisTaskEMCALClusterize.cxx:72
 AliAnalysisTaskEMCALClusterize.cxx:73
 AliAnalysisTaskEMCALClusterize.cxx:74
 AliAnalysisTaskEMCALClusterize.cxx:75
 AliAnalysisTaskEMCALClusterize.cxx:76
 AliAnalysisTaskEMCALClusterize.cxx:77
 AliAnalysisTaskEMCALClusterize.cxx:78
 AliAnalysisTaskEMCALClusterize.cxx:79
 AliAnalysisTaskEMCALClusterize.cxx:80
 AliAnalysisTaskEMCALClusterize.cxx:81
 AliAnalysisTaskEMCALClusterize.cxx:82
 AliAnalysisTaskEMCALClusterize.cxx:83
 AliAnalysisTaskEMCALClusterize.cxx:84
 AliAnalysisTaskEMCALClusterize.cxx:85
 AliAnalysisTaskEMCALClusterize.cxx:86
 AliAnalysisTaskEMCALClusterize.cxx:87
 AliAnalysisTaskEMCALClusterize.cxx:88
 AliAnalysisTaskEMCALClusterize.cxx:89
 AliAnalysisTaskEMCALClusterize.cxx:90
 AliAnalysisTaskEMCALClusterize.cxx:91
 AliAnalysisTaskEMCALClusterize.cxx:92
 AliAnalysisTaskEMCALClusterize.cxx:93
 AliAnalysisTaskEMCALClusterize.cxx:94
 AliAnalysisTaskEMCALClusterize.cxx:95
 AliAnalysisTaskEMCALClusterize.cxx:96
 AliAnalysisTaskEMCALClusterize.cxx:97
 AliAnalysisTaskEMCALClusterize.cxx:98
 AliAnalysisTaskEMCALClusterize.cxx:99
 AliAnalysisTaskEMCALClusterize.cxx:100
 AliAnalysisTaskEMCALClusterize.cxx:101
 AliAnalysisTaskEMCALClusterize.cxx:102
 AliAnalysisTaskEMCALClusterize.cxx:103
 AliAnalysisTaskEMCALClusterize.cxx:104
 AliAnalysisTaskEMCALClusterize.cxx:105
 AliAnalysisTaskEMCALClusterize.cxx:106
 AliAnalysisTaskEMCALClusterize.cxx:107
 AliAnalysisTaskEMCALClusterize.cxx:108
 AliAnalysisTaskEMCALClusterize.cxx:109
 AliAnalysisTaskEMCALClusterize.cxx:110
 AliAnalysisTaskEMCALClusterize.cxx:111
 AliAnalysisTaskEMCALClusterize.cxx:112
 AliAnalysisTaskEMCALClusterize.cxx:113
 AliAnalysisTaskEMCALClusterize.cxx:114
 AliAnalysisTaskEMCALClusterize.cxx:115
 AliAnalysisTaskEMCALClusterize.cxx:116
 AliAnalysisTaskEMCALClusterize.cxx:117
 AliAnalysisTaskEMCALClusterize.cxx:118
 AliAnalysisTaskEMCALClusterize.cxx:119
 AliAnalysisTaskEMCALClusterize.cxx:120
 AliAnalysisTaskEMCALClusterize.cxx:121
 AliAnalysisTaskEMCALClusterize.cxx:122
 AliAnalysisTaskEMCALClusterize.cxx:123
 AliAnalysisTaskEMCALClusterize.cxx:124
 AliAnalysisTaskEMCALClusterize.cxx:125
 AliAnalysisTaskEMCALClusterize.cxx:126
 AliAnalysisTaskEMCALClusterize.cxx:127
 AliAnalysisTaskEMCALClusterize.cxx:128
 AliAnalysisTaskEMCALClusterize.cxx:129
 AliAnalysisTaskEMCALClusterize.cxx:130
 AliAnalysisTaskEMCALClusterize.cxx:131
 AliAnalysisTaskEMCALClusterize.cxx:132
 AliAnalysisTaskEMCALClusterize.cxx:133
 AliAnalysisTaskEMCALClusterize.cxx:134
 AliAnalysisTaskEMCALClusterize.cxx:135
 AliAnalysisTaskEMCALClusterize.cxx:136
 AliAnalysisTaskEMCALClusterize.cxx:137
 AliAnalysisTaskEMCALClusterize.cxx:138
 AliAnalysisTaskEMCALClusterize.cxx:139
 AliAnalysisTaskEMCALClusterize.cxx:140
 AliAnalysisTaskEMCALClusterize.cxx:141
 AliAnalysisTaskEMCALClusterize.cxx:142
 AliAnalysisTaskEMCALClusterize.cxx:143
 AliAnalysisTaskEMCALClusterize.cxx:144
 AliAnalysisTaskEMCALClusterize.cxx:145
 AliAnalysisTaskEMCALClusterize.cxx:146
 AliAnalysisTaskEMCALClusterize.cxx:147
 AliAnalysisTaskEMCALClusterize.cxx:148
 AliAnalysisTaskEMCALClusterize.cxx:149
 AliAnalysisTaskEMCALClusterize.cxx:150
 AliAnalysisTaskEMCALClusterize.cxx:151
 AliAnalysisTaskEMCALClusterize.cxx:152
 AliAnalysisTaskEMCALClusterize.cxx:153
 AliAnalysisTaskEMCALClusterize.cxx:154
 AliAnalysisTaskEMCALClusterize.cxx:155
 AliAnalysisTaskEMCALClusterize.cxx:156
 AliAnalysisTaskEMCALClusterize.cxx:157
 AliAnalysisTaskEMCALClusterize.cxx:158
 AliAnalysisTaskEMCALClusterize.cxx:159
 AliAnalysisTaskEMCALClusterize.cxx:160
 AliAnalysisTaskEMCALClusterize.cxx:161
 AliAnalysisTaskEMCALClusterize.cxx:162
 AliAnalysisTaskEMCALClusterize.cxx:163
 AliAnalysisTaskEMCALClusterize.cxx:164
 AliAnalysisTaskEMCALClusterize.cxx:165
 AliAnalysisTaskEMCALClusterize.cxx:166
 AliAnalysisTaskEMCALClusterize.cxx:167
 AliAnalysisTaskEMCALClusterize.cxx:168
 AliAnalysisTaskEMCALClusterize.cxx:169
 AliAnalysisTaskEMCALClusterize.cxx:170
 AliAnalysisTaskEMCALClusterize.cxx:171
 AliAnalysisTaskEMCALClusterize.cxx:172
 AliAnalysisTaskEMCALClusterize.cxx:173
 AliAnalysisTaskEMCALClusterize.cxx:174
 AliAnalysisTaskEMCALClusterize.cxx:175
 AliAnalysisTaskEMCALClusterize.cxx:176
 AliAnalysisTaskEMCALClusterize.cxx:177
 AliAnalysisTaskEMCALClusterize.cxx:178
 AliAnalysisTaskEMCALClusterize.cxx:179
 AliAnalysisTaskEMCALClusterize.cxx:180
 AliAnalysisTaskEMCALClusterize.cxx:181
 AliAnalysisTaskEMCALClusterize.cxx:182
 AliAnalysisTaskEMCALClusterize.cxx:183
 AliAnalysisTaskEMCALClusterize.cxx:184
 AliAnalysisTaskEMCALClusterize.cxx:185
 AliAnalysisTaskEMCALClusterize.cxx:186
 AliAnalysisTaskEMCALClusterize.cxx:187
 AliAnalysisTaskEMCALClusterize.cxx:188
 AliAnalysisTaskEMCALClusterize.cxx:189
 AliAnalysisTaskEMCALClusterize.cxx:190
 AliAnalysisTaskEMCALClusterize.cxx:191
 AliAnalysisTaskEMCALClusterize.cxx:192
 AliAnalysisTaskEMCALClusterize.cxx:193
 AliAnalysisTaskEMCALClusterize.cxx:194
 AliAnalysisTaskEMCALClusterize.cxx:195
 AliAnalysisTaskEMCALClusterize.cxx:196
 AliAnalysisTaskEMCALClusterize.cxx:197
 AliAnalysisTaskEMCALClusterize.cxx:198
 AliAnalysisTaskEMCALClusterize.cxx:199
 AliAnalysisTaskEMCALClusterize.cxx:200
 AliAnalysisTaskEMCALClusterize.cxx:201
 AliAnalysisTaskEMCALClusterize.cxx:202
 AliAnalysisTaskEMCALClusterize.cxx:203
 AliAnalysisTaskEMCALClusterize.cxx:204
 AliAnalysisTaskEMCALClusterize.cxx:205
 AliAnalysisTaskEMCALClusterize.cxx:206
 AliAnalysisTaskEMCALClusterize.cxx:207
 AliAnalysisTaskEMCALClusterize.cxx:208
 AliAnalysisTaskEMCALClusterize.cxx:209
 AliAnalysisTaskEMCALClusterize.cxx:210
 AliAnalysisTaskEMCALClusterize.cxx:211
 AliAnalysisTaskEMCALClusterize.cxx:212
 AliAnalysisTaskEMCALClusterize.cxx:213
 AliAnalysisTaskEMCALClusterize.cxx:214
 AliAnalysisTaskEMCALClusterize.cxx:215
 AliAnalysisTaskEMCALClusterize.cxx:216
 AliAnalysisTaskEMCALClusterize.cxx:217
 AliAnalysisTaskEMCALClusterize.cxx:218
 AliAnalysisTaskEMCALClusterize.cxx:219
 AliAnalysisTaskEMCALClusterize.cxx:220
 AliAnalysisTaskEMCALClusterize.cxx:221
 AliAnalysisTaskEMCALClusterize.cxx:222
 AliAnalysisTaskEMCALClusterize.cxx:223
 AliAnalysisTaskEMCALClusterize.cxx:224
 AliAnalysisTaskEMCALClusterize.cxx:225
 AliAnalysisTaskEMCALClusterize.cxx:226
 AliAnalysisTaskEMCALClusterize.cxx:227
 AliAnalysisTaskEMCALClusterize.cxx:228
 AliAnalysisTaskEMCALClusterize.cxx:229
 AliAnalysisTaskEMCALClusterize.cxx:230
 AliAnalysisTaskEMCALClusterize.cxx:231
 AliAnalysisTaskEMCALClusterize.cxx:232
 AliAnalysisTaskEMCALClusterize.cxx:233
 AliAnalysisTaskEMCALClusterize.cxx:234
 AliAnalysisTaskEMCALClusterize.cxx:235
 AliAnalysisTaskEMCALClusterize.cxx:236
 AliAnalysisTaskEMCALClusterize.cxx:237
 AliAnalysisTaskEMCALClusterize.cxx:238
 AliAnalysisTaskEMCALClusterize.cxx:239
 AliAnalysisTaskEMCALClusterize.cxx:240
 AliAnalysisTaskEMCALClusterize.cxx:241
 AliAnalysisTaskEMCALClusterize.cxx:242
 AliAnalysisTaskEMCALClusterize.cxx:243
 AliAnalysisTaskEMCALClusterize.cxx:244
 AliAnalysisTaskEMCALClusterize.cxx:245
 AliAnalysisTaskEMCALClusterize.cxx:246
 AliAnalysisTaskEMCALClusterize.cxx:247
 AliAnalysisTaskEMCALClusterize.cxx:248
 AliAnalysisTaskEMCALClusterize.cxx:249
 AliAnalysisTaskEMCALClusterize.cxx:250
 AliAnalysisTaskEMCALClusterize.cxx:251
 AliAnalysisTaskEMCALClusterize.cxx:252
 AliAnalysisTaskEMCALClusterize.cxx:253
 AliAnalysisTaskEMCALClusterize.cxx:254
 AliAnalysisTaskEMCALClusterize.cxx:255
 AliAnalysisTaskEMCALClusterize.cxx:256
 AliAnalysisTaskEMCALClusterize.cxx:257
 AliAnalysisTaskEMCALClusterize.cxx:258
 AliAnalysisTaskEMCALClusterize.cxx:259
 AliAnalysisTaskEMCALClusterize.cxx:260
 AliAnalysisTaskEMCALClusterize.cxx:261
 AliAnalysisTaskEMCALClusterize.cxx:262
 AliAnalysisTaskEMCALClusterize.cxx:263
 AliAnalysisTaskEMCALClusterize.cxx:264
 AliAnalysisTaskEMCALClusterize.cxx:265
 AliAnalysisTaskEMCALClusterize.cxx:266
 AliAnalysisTaskEMCALClusterize.cxx:267
 AliAnalysisTaskEMCALClusterize.cxx:268
 AliAnalysisTaskEMCALClusterize.cxx:269
 AliAnalysisTaskEMCALClusterize.cxx:270
 AliAnalysisTaskEMCALClusterize.cxx:271
 AliAnalysisTaskEMCALClusterize.cxx:272
 AliAnalysisTaskEMCALClusterize.cxx:273
 AliAnalysisTaskEMCALClusterize.cxx:274
 AliAnalysisTaskEMCALClusterize.cxx:275
 AliAnalysisTaskEMCALClusterize.cxx:276
 AliAnalysisTaskEMCALClusterize.cxx:277
 AliAnalysisTaskEMCALClusterize.cxx:278
 AliAnalysisTaskEMCALClusterize.cxx:279
 AliAnalysisTaskEMCALClusterize.cxx:280
 AliAnalysisTaskEMCALClusterize.cxx:281
 AliAnalysisTaskEMCALClusterize.cxx:282
 AliAnalysisTaskEMCALClusterize.cxx:283
 AliAnalysisTaskEMCALClusterize.cxx:284
 AliAnalysisTaskEMCALClusterize.cxx:285
 AliAnalysisTaskEMCALClusterize.cxx:286
 AliAnalysisTaskEMCALClusterize.cxx:287
 AliAnalysisTaskEMCALClusterize.cxx:288
 AliAnalysisTaskEMCALClusterize.cxx:289
 AliAnalysisTaskEMCALClusterize.cxx:290
 AliAnalysisTaskEMCALClusterize.cxx:291
 AliAnalysisTaskEMCALClusterize.cxx:292
 AliAnalysisTaskEMCALClusterize.cxx:293
 AliAnalysisTaskEMCALClusterize.cxx:294
 AliAnalysisTaskEMCALClusterize.cxx:295
 AliAnalysisTaskEMCALClusterize.cxx:296
 AliAnalysisTaskEMCALClusterize.cxx:297
 AliAnalysisTaskEMCALClusterize.cxx:298
 AliAnalysisTaskEMCALClusterize.cxx:299
 AliAnalysisTaskEMCALClusterize.cxx:300
 AliAnalysisTaskEMCALClusterize.cxx:301
 AliAnalysisTaskEMCALClusterize.cxx:302
 AliAnalysisTaskEMCALClusterize.cxx:303
 AliAnalysisTaskEMCALClusterize.cxx:304
 AliAnalysisTaskEMCALClusterize.cxx:305
 AliAnalysisTaskEMCALClusterize.cxx:306
 AliAnalysisTaskEMCALClusterize.cxx:307
 AliAnalysisTaskEMCALClusterize.cxx:308
 AliAnalysisTaskEMCALClusterize.cxx:309
 AliAnalysisTaskEMCALClusterize.cxx:310
 AliAnalysisTaskEMCALClusterize.cxx:311
 AliAnalysisTaskEMCALClusterize.cxx:312
 AliAnalysisTaskEMCALClusterize.cxx:313
 AliAnalysisTaskEMCALClusterize.cxx:314
 AliAnalysisTaskEMCALClusterize.cxx:315
 AliAnalysisTaskEMCALClusterize.cxx:316
 AliAnalysisTaskEMCALClusterize.cxx:317
 AliAnalysisTaskEMCALClusterize.cxx:318
 AliAnalysisTaskEMCALClusterize.cxx:319
 AliAnalysisTaskEMCALClusterize.cxx:320
 AliAnalysisTaskEMCALClusterize.cxx:321
 AliAnalysisTaskEMCALClusterize.cxx:322
 AliAnalysisTaskEMCALClusterize.cxx:323
 AliAnalysisTaskEMCALClusterize.cxx:324
 AliAnalysisTaskEMCALClusterize.cxx:325
 AliAnalysisTaskEMCALClusterize.cxx:326
 AliAnalysisTaskEMCALClusterize.cxx:327
 AliAnalysisTaskEMCALClusterize.cxx:328
 AliAnalysisTaskEMCALClusterize.cxx:329
 AliAnalysisTaskEMCALClusterize.cxx:330
 AliAnalysisTaskEMCALClusterize.cxx:331
 AliAnalysisTaskEMCALClusterize.cxx:332
 AliAnalysisTaskEMCALClusterize.cxx:333
 AliAnalysisTaskEMCALClusterize.cxx:334
 AliAnalysisTaskEMCALClusterize.cxx:335
 AliAnalysisTaskEMCALClusterize.cxx:336
 AliAnalysisTaskEMCALClusterize.cxx:337
 AliAnalysisTaskEMCALClusterize.cxx:338
 AliAnalysisTaskEMCALClusterize.cxx:339
 AliAnalysisTaskEMCALClusterize.cxx:340
 AliAnalysisTaskEMCALClusterize.cxx:341
 AliAnalysisTaskEMCALClusterize.cxx:342
 AliAnalysisTaskEMCALClusterize.cxx:343
 AliAnalysisTaskEMCALClusterize.cxx:344
 AliAnalysisTaskEMCALClusterize.cxx:345
 AliAnalysisTaskEMCALClusterize.cxx:346
 AliAnalysisTaskEMCALClusterize.cxx:347
 AliAnalysisTaskEMCALClusterize.cxx:348
 AliAnalysisTaskEMCALClusterize.cxx:349
 AliAnalysisTaskEMCALClusterize.cxx:350
 AliAnalysisTaskEMCALClusterize.cxx:351
 AliAnalysisTaskEMCALClusterize.cxx:352
 AliAnalysisTaskEMCALClusterize.cxx:353
 AliAnalysisTaskEMCALClusterize.cxx:354
 AliAnalysisTaskEMCALClusterize.cxx:355
 AliAnalysisTaskEMCALClusterize.cxx:356
 AliAnalysisTaskEMCALClusterize.cxx:357
 AliAnalysisTaskEMCALClusterize.cxx:358
 AliAnalysisTaskEMCALClusterize.cxx:359
 AliAnalysisTaskEMCALClusterize.cxx:360
 AliAnalysisTaskEMCALClusterize.cxx:361
 AliAnalysisTaskEMCALClusterize.cxx:362
 AliAnalysisTaskEMCALClusterize.cxx:363
 AliAnalysisTaskEMCALClusterize.cxx:364
 AliAnalysisTaskEMCALClusterize.cxx:365
 AliAnalysisTaskEMCALClusterize.cxx:366
 AliAnalysisTaskEMCALClusterize.cxx:367
 AliAnalysisTaskEMCALClusterize.cxx:368
 AliAnalysisTaskEMCALClusterize.cxx:369
 AliAnalysisTaskEMCALClusterize.cxx:370
 AliAnalysisTaskEMCALClusterize.cxx:371
 AliAnalysisTaskEMCALClusterize.cxx:372
 AliAnalysisTaskEMCALClusterize.cxx:373
 AliAnalysisTaskEMCALClusterize.cxx:374
 AliAnalysisTaskEMCALClusterize.cxx:375
 AliAnalysisTaskEMCALClusterize.cxx:376
 AliAnalysisTaskEMCALClusterize.cxx:377
 AliAnalysisTaskEMCALClusterize.cxx:378
 AliAnalysisTaskEMCALClusterize.cxx:379
 AliAnalysisTaskEMCALClusterize.cxx:380
 AliAnalysisTaskEMCALClusterize.cxx:381
 AliAnalysisTaskEMCALClusterize.cxx:382
 AliAnalysisTaskEMCALClusterize.cxx:383
 AliAnalysisTaskEMCALClusterize.cxx:384
 AliAnalysisTaskEMCALClusterize.cxx:385
 AliAnalysisTaskEMCALClusterize.cxx:386
 AliAnalysisTaskEMCALClusterize.cxx:387
 AliAnalysisTaskEMCALClusterize.cxx:388
 AliAnalysisTaskEMCALClusterize.cxx:389
 AliAnalysisTaskEMCALClusterize.cxx:390
 AliAnalysisTaskEMCALClusterize.cxx:391
 AliAnalysisTaskEMCALClusterize.cxx:392
 AliAnalysisTaskEMCALClusterize.cxx:393
 AliAnalysisTaskEMCALClusterize.cxx:394
 AliAnalysisTaskEMCALClusterize.cxx:395
 AliAnalysisTaskEMCALClusterize.cxx:396
 AliAnalysisTaskEMCALClusterize.cxx:397
 AliAnalysisTaskEMCALClusterize.cxx:398
 AliAnalysisTaskEMCALClusterize.cxx:399
 AliAnalysisTaskEMCALClusterize.cxx:400
 AliAnalysisTaskEMCALClusterize.cxx:401
 AliAnalysisTaskEMCALClusterize.cxx:402
 AliAnalysisTaskEMCALClusterize.cxx:403
 AliAnalysisTaskEMCALClusterize.cxx:404
 AliAnalysisTaskEMCALClusterize.cxx:405
 AliAnalysisTaskEMCALClusterize.cxx:406
 AliAnalysisTaskEMCALClusterize.cxx:407
 AliAnalysisTaskEMCALClusterize.cxx:408
 AliAnalysisTaskEMCALClusterize.cxx:409
 AliAnalysisTaskEMCALClusterize.cxx:410
 AliAnalysisTaskEMCALClusterize.cxx:411
 AliAnalysisTaskEMCALClusterize.cxx:412
 AliAnalysisTaskEMCALClusterize.cxx:413
 AliAnalysisTaskEMCALClusterize.cxx:414
 AliAnalysisTaskEMCALClusterize.cxx:415
 AliAnalysisTaskEMCALClusterize.cxx:416
 AliAnalysisTaskEMCALClusterize.cxx:417
 AliAnalysisTaskEMCALClusterize.cxx:418
 AliAnalysisTaskEMCALClusterize.cxx:419
 AliAnalysisTaskEMCALClusterize.cxx:420
 AliAnalysisTaskEMCALClusterize.cxx:421
 AliAnalysisTaskEMCALClusterize.cxx:422
 AliAnalysisTaskEMCALClusterize.cxx:423
 AliAnalysisTaskEMCALClusterize.cxx:424
 AliAnalysisTaskEMCALClusterize.cxx:425
 AliAnalysisTaskEMCALClusterize.cxx:426
 AliAnalysisTaskEMCALClusterize.cxx:427
 AliAnalysisTaskEMCALClusterize.cxx:428
 AliAnalysisTaskEMCALClusterize.cxx:429
 AliAnalysisTaskEMCALClusterize.cxx:430
 AliAnalysisTaskEMCALClusterize.cxx:431
 AliAnalysisTaskEMCALClusterize.cxx:432
 AliAnalysisTaskEMCALClusterize.cxx:433
 AliAnalysisTaskEMCALClusterize.cxx:434
 AliAnalysisTaskEMCALClusterize.cxx:435
 AliAnalysisTaskEMCALClusterize.cxx:436
 AliAnalysisTaskEMCALClusterize.cxx:437
 AliAnalysisTaskEMCALClusterize.cxx:438
 AliAnalysisTaskEMCALClusterize.cxx:439
 AliAnalysisTaskEMCALClusterize.cxx:440
 AliAnalysisTaskEMCALClusterize.cxx:441
 AliAnalysisTaskEMCALClusterize.cxx:442
 AliAnalysisTaskEMCALClusterize.cxx:443
 AliAnalysisTaskEMCALClusterize.cxx:444
 AliAnalysisTaskEMCALClusterize.cxx:445
 AliAnalysisTaskEMCALClusterize.cxx:446
 AliAnalysisTaskEMCALClusterize.cxx:447
 AliAnalysisTaskEMCALClusterize.cxx:448
 AliAnalysisTaskEMCALClusterize.cxx:449
 AliAnalysisTaskEMCALClusterize.cxx:450
 AliAnalysisTaskEMCALClusterize.cxx:451
 AliAnalysisTaskEMCALClusterize.cxx:452
 AliAnalysisTaskEMCALClusterize.cxx:453
 AliAnalysisTaskEMCALClusterize.cxx:454
 AliAnalysisTaskEMCALClusterize.cxx:455
 AliAnalysisTaskEMCALClusterize.cxx:456
 AliAnalysisTaskEMCALClusterize.cxx:457
 AliAnalysisTaskEMCALClusterize.cxx:458
 AliAnalysisTaskEMCALClusterize.cxx:459
 AliAnalysisTaskEMCALClusterize.cxx:460
 AliAnalysisTaskEMCALClusterize.cxx:461
 AliAnalysisTaskEMCALClusterize.cxx:462
 AliAnalysisTaskEMCALClusterize.cxx:463
 AliAnalysisTaskEMCALClusterize.cxx:464
 AliAnalysisTaskEMCALClusterize.cxx:465
 AliAnalysisTaskEMCALClusterize.cxx:466
 AliAnalysisTaskEMCALClusterize.cxx:467
 AliAnalysisTaskEMCALClusterize.cxx:468
 AliAnalysisTaskEMCALClusterize.cxx:469
 AliAnalysisTaskEMCALClusterize.cxx:470
 AliAnalysisTaskEMCALClusterize.cxx:471
 AliAnalysisTaskEMCALClusterize.cxx:472
 AliAnalysisTaskEMCALClusterize.cxx:473
 AliAnalysisTaskEMCALClusterize.cxx:474
 AliAnalysisTaskEMCALClusterize.cxx:475
 AliAnalysisTaskEMCALClusterize.cxx:476
 AliAnalysisTaskEMCALClusterize.cxx:477
 AliAnalysisTaskEMCALClusterize.cxx:478
 AliAnalysisTaskEMCALClusterize.cxx:479
 AliAnalysisTaskEMCALClusterize.cxx:480
 AliAnalysisTaskEMCALClusterize.cxx:481
 AliAnalysisTaskEMCALClusterize.cxx:482
 AliAnalysisTaskEMCALClusterize.cxx:483
 AliAnalysisTaskEMCALClusterize.cxx:484
 AliAnalysisTaskEMCALClusterize.cxx:485
 AliAnalysisTaskEMCALClusterize.cxx:486
 AliAnalysisTaskEMCALClusterize.cxx:487
 AliAnalysisTaskEMCALClusterize.cxx:488
 AliAnalysisTaskEMCALClusterize.cxx:489
 AliAnalysisTaskEMCALClusterize.cxx:490
 AliAnalysisTaskEMCALClusterize.cxx:491
 AliAnalysisTaskEMCALClusterize.cxx:492
 AliAnalysisTaskEMCALClusterize.cxx:493
 AliAnalysisTaskEMCALClusterize.cxx:494
 AliAnalysisTaskEMCALClusterize.cxx:495
 AliAnalysisTaskEMCALClusterize.cxx:496
 AliAnalysisTaskEMCALClusterize.cxx:497
 AliAnalysisTaskEMCALClusterize.cxx:498
 AliAnalysisTaskEMCALClusterize.cxx:499
 AliAnalysisTaskEMCALClusterize.cxx:500
 AliAnalysisTaskEMCALClusterize.cxx:501
 AliAnalysisTaskEMCALClusterize.cxx:502
 AliAnalysisTaskEMCALClusterize.cxx:503
 AliAnalysisTaskEMCALClusterize.cxx:504
 AliAnalysisTaskEMCALClusterize.cxx:505
 AliAnalysisTaskEMCALClusterize.cxx:506
 AliAnalysisTaskEMCALClusterize.cxx:507
 AliAnalysisTaskEMCALClusterize.cxx:508
 AliAnalysisTaskEMCALClusterize.cxx:509
 AliAnalysisTaskEMCALClusterize.cxx:510
 AliAnalysisTaskEMCALClusterize.cxx:511
 AliAnalysisTaskEMCALClusterize.cxx:512
 AliAnalysisTaskEMCALClusterize.cxx:513
 AliAnalysisTaskEMCALClusterize.cxx:514
 AliAnalysisTaskEMCALClusterize.cxx:515
 AliAnalysisTaskEMCALClusterize.cxx:516
 AliAnalysisTaskEMCALClusterize.cxx:517
 AliAnalysisTaskEMCALClusterize.cxx:518
 AliAnalysisTaskEMCALClusterize.cxx:519
 AliAnalysisTaskEMCALClusterize.cxx:520
 AliAnalysisTaskEMCALClusterize.cxx:521
 AliAnalysisTaskEMCALClusterize.cxx:522
 AliAnalysisTaskEMCALClusterize.cxx:523
 AliAnalysisTaskEMCALClusterize.cxx:524
 AliAnalysisTaskEMCALClusterize.cxx:525
 AliAnalysisTaskEMCALClusterize.cxx:526
 AliAnalysisTaskEMCALClusterize.cxx:527
 AliAnalysisTaskEMCALClusterize.cxx:528
 AliAnalysisTaskEMCALClusterize.cxx:529
 AliAnalysisTaskEMCALClusterize.cxx:530
 AliAnalysisTaskEMCALClusterize.cxx:531
 AliAnalysisTaskEMCALClusterize.cxx:532
 AliAnalysisTaskEMCALClusterize.cxx:533
 AliAnalysisTaskEMCALClusterize.cxx:534
 AliAnalysisTaskEMCALClusterize.cxx:535
 AliAnalysisTaskEMCALClusterize.cxx:536
 AliAnalysisTaskEMCALClusterize.cxx:537
 AliAnalysisTaskEMCALClusterize.cxx:538
 AliAnalysisTaskEMCALClusterize.cxx:539
 AliAnalysisTaskEMCALClusterize.cxx:540
 AliAnalysisTaskEMCALClusterize.cxx:541
 AliAnalysisTaskEMCALClusterize.cxx:542
 AliAnalysisTaskEMCALClusterize.cxx:543
 AliAnalysisTaskEMCALClusterize.cxx:544
 AliAnalysisTaskEMCALClusterize.cxx:545
 AliAnalysisTaskEMCALClusterize.cxx:546
 AliAnalysisTaskEMCALClusterize.cxx:547
 AliAnalysisTaskEMCALClusterize.cxx:548
 AliAnalysisTaskEMCALClusterize.cxx:549
 AliAnalysisTaskEMCALClusterize.cxx:550
 AliAnalysisTaskEMCALClusterize.cxx:551
 AliAnalysisTaskEMCALClusterize.cxx:552
 AliAnalysisTaskEMCALClusterize.cxx:553
 AliAnalysisTaskEMCALClusterize.cxx:554
 AliAnalysisTaskEMCALClusterize.cxx:555
 AliAnalysisTaskEMCALClusterize.cxx:556
 AliAnalysisTaskEMCALClusterize.cxx:557
 AliAnalysisTaskEMCALClusterize.cxx:558
 AliAnalysisTaskEMCALClusterize.cxx:559
 AliAnalysisTaskEMCALClusterize.cxx:560
 AliAnalysisTaskEMCALClusterize.cxx:561
 AliAnalysisTaskEMCALClusterize.cxx:562
 AliAnalysisTaskEMCALClusterize.cxx:563
 AliAnalysisTaskEMCALClusterize.cxx:564
 AliAnalysisTaskEMCALClusterize.cxx:565
 AliAnalysisTaskEMCALClusterize.cxx:566
 AliAnalysisTaskEMCALClusterize.cxx:567
 AliAnalysisTaskEMCALClusterize.cxx:568
 AliAnalysisTaskEMCALClusterize.cxx:569
 AliAnalysisTaskEMCALClusterize.cxx:570
 AliAnalysisTaskEMCALClusterize.cxx:571
 AliAnalysisTaskEMCALClusterize.cxx:572
 AliAnalysisTaskEMCALClusterize.cxx:573
 AliAnalysisTaskEMCALClusterize.cxx:574
 AliAnalysisTaskEMCALClusterize.cxx:575
 AliAnalysisTaskEMCALClusterize.cxx:576
 AliAnalysisTaskEMCALClusterize.cxx:577
 AliAnalysisTaskEMCALClusterize.cxx:578
 AliAnalysisTaskEMCALClusterize.cxx:579
 AliAnalysisTaskEMCALClusterize.cxx:580
 AliAnalysisTaskEMCALClusterize.cxx:581
 AliAnalysisTaskEMCALClusterize.cxx:582
 AliAnalysisTaskEMCALClusterize.cxx:583
 AliAnalysisTaskEMCALClusterize.cxx:584
 AliAnalysisTaskEMCALClusterize.cxx:585
 AliAnalysisTaskEMCALClusterize.cxx:586
 AliAnalysisTaskEMCALClusterize.cxx:587
 AliAnalysisTaskEMCALClusterize.cxx:588
 AliAnalysisTaskEMCALClusterize.cxx:589
 AliAnalysisTaskEMCALClusterize.cxx:590
 AliAnalysisTaskEMCALClusterize.cxx:591
 AliAnalysisTaskEMCALClusterize.cxx:592
 AliAnalysisTaskEMCALClusterize.cxx:593
 AliAnalysisTaskEMCALClusterize.cxx:594
 AliAnalysisTaskEMCALClusterize.cxx:595
 AliAnalysisTaskEMCALClusterize.cxx:596
 AliAnalysisTaskEMCALClusterize.cxx:597
 AliAnalysisTaskEMCALClusterize.cxx:598
 AliAnalysisTaskEMCALClusterize.cxx:599
 AliAnalysisTaskEMCALClusterize.cxx:600
 AliAnalysisTaskEMCALClusterize.cxx:601
 AliAnalysisTaskEMCALClusterize.cxx:602
 AliAnalysisTaskEMCALClusterize.cxx:603
 AliAnalysisTaskEMCALClusterize.cxx:604
 AliAnalysisTaskEMCALClusterize.cxx:605
 AliAnalysisTaskEMCALClusterize.cxx:606
 AliAnalysisTaskEMCALClusterize.cxx:607
 AliAnalysisTaskEMCALClusterize.cxx:608
 AliAnalysisTaskEMCALClusterize.cxx:609
 AliAnalysisTaskEMCALClusterize.cxx:610
 AliAnalysisTaskEMCALClusterize.cxx:611
 AliAnalysisTaskEMCALClusterize.cxx:612
 AliAnalysisTaskEMCALClusterize.cxx:613
 AliAnalysisTaskEMCALClusterize.cxx:614
 AliAnalysisTaskEMCALClusterize.cxx:615
 AliAnalysisTaskEMCALClusterize.cxx:616
 AliAnalysisTaskEMCALClusterize.cxx:617
 AliAnalysisTaskEMCALClusterize.cxx:618
 AliAnalysisTaskEMCALClusterize.cxx:619
 AliAnalysisTaskEMCALClusterize.cxx:620
 AliAnalysisTaskEMCALClusterize.cxx:621
 AliAnalysisTaskEMCALClusterize.cxx:622
 AliAnalysisTaskEMCALClusterize.cxx:623
 AliAnalysisTaskEMCALClusterize.cxx:624
 AliAnalysisTaskEMCALClusterize.cxx:625
 AliAnalysisTaskEMCALClusterize.cxx:626
 AliAnalysisTaskEMCALClusterize.cxx:627
 AliAnalysisTaskEMCALClusterize.cxx:628
 AliAnalysisTaskEMCALClusterize.cxx:629
 AliAnalysisTaskEMCALClusterize.cxx:630
 AliAnalysisTaskEMCALClusterize.cxx:631
 AliAnalysisTaskEMCALClusterize.cxx:632
 AliAnalysisTaskEMCALClusterize.cxx:633
 AliAnalysisTaskEMCALClusterize.cxx:634
 AliAnalysisTaskEMCALClusterize.cxx:635
 AliAnalysisTaskEMCALClusterize.cxx:636
 AliAnalysisTaskEMCALClusterize.cxx:637
 AliAnalysisTaskEMCALClusterize.cxx:638
 AliAnalysisTaskEMCALClusterize.cxx:639
 AliAnalysisTaskEMCALClusterize.cxx:640
 AliAnalysisTaskEMCALClusterize.cxx:641
 AliAnalysisTaskEMCALClusterize.cxx:642
 AliAnalysisTaskEMCALClusterize.cxx:643
 AliAnalysisTaskEMCALClusterize.cxx:644
 AliAnalysisTaskEMCALClusterize.cxx:645
 AliAnalysisTaskEMCALClusterize.cxx:646
 AliAnalysisTaskEMCALClusterize.cxx:647
 AliAnalysisTaskEMCALClusterize.cxx:648
 AliAnalysisTaskEMCALClusterize.cxx:649
 AliAnalysisTaskEMCALClusterize.cxx:650
 AliAnalysisTaskEMCALClusterize.cxx:651
 AliAnalysisTaskEMCALClusterize.cxx:652
 AliAnalysisTaskEMCALClusterize.cxx:653
 AliAnalysisTaskEMCALClusterize.cxx:654
 AliAnalysisTaskEMCALClusterize.cxx:655
 AliAnalysisTaskEMCALClusterize.cxx:656
 AliAnalysisTaskEMCALClusterize.cxx:657
 AliAnalysisTaskEMCALClusterize.cxx:658
 AliAnalysisTaskEMCALClusterize.cxx:659
 AliAnalysisTaskEMCALClusterize.cxx:660
 AliAnalysisTaskEMCALClusterize.cxx:661
 AliAnalysisTaskEMCALClusterize.cxx:662
 AliAnalysisTaskEMCALClusterize.cxx:663
 AliAnalysisTaskEMCALClusterize.cxx:664
 AliAnalysisTaskEMCALClusterize.cxx:665
 AliAnalysisTaskEMCALClusterize.cxx:666
 AliAnalysisTaskEMCALClusterize.cxx:667
 AliAnalysisTaskEMCALClusterize.cxx:668
 AliAnalysisTaskEMCALClusterize.cxx:669
 AliAnalysisTaskEMCALClusterize.cxx:670
 AliAnalysisTaskEMCALClusterize.cxx:671
 AliAnalysisTaskEMCALClusterize.cxx:672
 AliAnalysisTaskEMCALClusterize.cxx:673
 AliAnalysisTaskEMCALClusterize.cxx:674
 AliAnalysisTaskEMCALClusterize.cxx:675
 AliAnalysisTaskEMCALClusterize.cxx:676
 AliAnalysisTaskEMCALClusterize.cxx:677
 AliAnalysisTaskEMCALClusterize.cxx:678
 AliAnalysisTaskEMCALClusterize.cxx:679
 AliAnalysisTaskEMCALClusterize.cxx:680
 AliAnalysisTaskEMCALClusterize.cxx:681
 AliAnalysisTaskEMCALClusterize.cxx:682
 AliAnalysisTaskEMCALClusterize.cxx:683
 AliAnalysisTaskEMCALClusterize.cxx:684
 AliAnalysisTaskEMCALClusterize.cxx:685
 AliAnalysisTaskEMCALClusterize.cxx:686
 AliAnalysisTaskEMCALClusterize.cxx:687
 AliAnalysisTaskEMCALClusterize.cxx:688
 AliAnalysisTaskEMCALClusterize.cxx:689
 AliAnalysisTaskEMCALClusterize.cxx:690
 AliAnalysisTaskEMCALClusterize.cxx:691
 AliAnalysisTaskEMCALClusterize.cxx:692
 AliAnalysisTaskEMCALClusterize.cxx:693
 AliAnalysisTaskEMCALClusterize.cxx:694
 AliAnalysisTaskEMCALClusterize.cxx:695
 AliAnalysisTaskEMCALClusterize.cxx:696
 AliAnalysisTaskEMCALClusterize.cxx:697
 AliAnalysisTaskEMCALClusterize.cxx:698
 AliAnalysisTaskEMCALClusterize.cxx:699
 AliAnalysisTaskEMCALClusterize.cxx:700
 AliAnalysisTaskEMCALClusterize.cxx:701
 AliAnalysisTaskEMCALClusterize.cxx:702
 AliAnalysisTaskEMCALClusterize.cxx:703
 AliAnalysisTaskEMCALClusterize.cxx:704
 AliAnalysisTaskEMCALClusterize.cxx:705
 AliAnalysisTaskEMCALClusterize.cxx:706
 AliAnalysisTaskEMCALClusterize.cxx:707
 AliAnalysisTaskEMCALClusterize.cxx:708
 AliAnalysisTaskEMCALClusterize.cxx:709
 AliAnalysisTaskEMCALClusterize.cxx:710
 AliAnalysisTaskEMCALClusterize.cxx:711
 AliAnalysisTaskEMCALClusterize.cxx:712
 AliAnalysisTaskEMCALClusterize.cxx:713
 AliAnalysisTaskEMCALClusterize.cxx:714
 AliAnalysisTaskEMCALClusterize.cxx:715
 AliAnalysisTaskEMCALClusterize.cxx:716
 AliAnalysisTaskEMCALClusterize.cxx:717
 AliAnalysisTaskEMCALClusterize.cxx:718
 AliAnalysisTaskEMCALClusterize.cxx:719
 AliAnalysisTaskEMCALClusterize.cxx:720
 AliAnalysisTaskEMCALClusterize.cxx:721
 AliAnalysisTaskEMCALClusterize.cxx:722
 AliAnalysisTaskEMCALClusterize.cxx:723
 AliAnalysisTaskEMCALClusterize.cxx:724
 AliAnalysisTaskEMCALClusterize.cxx:725
 AliAnalysisTaskEMCALClusterize.cxx:726
 AliAnalysisTaskEMCALClusterize.cxx:727
 AliAnalysisTaskEMCALClusterize.cxx:728
 AliAnalysisTaskEMCALClusterize.cxx:729
 AliAnalysisTaskEMCALClusterize.cxx:730
 AliAnalysisTaskEMCALClusterize.cxx:731
 AliAnalysisTaskEMCALClusterize.cxx:732
 AliAnalysisTaskEMCALClusterize.cxx:733
 AliAnalysisTaskEMCALClusterize.cxx:734
 AliAnalysisTaskEMCALClusterize.cxx:735
 AliAnalysisTaskEMCALClusterize.cxx:736
 AliAnalysisTaskEMCALClusterize.cxx:737
 AliAnalysisTaskEMCALClusterize.cxx:738
 AliAnalysisTaskEMCALClusterize.cxx:739
 AliAnalysisTaskEMCALClusterize.cxx:740
 AliAnalysisTaskEMCALClusterize.cxx:741
 AliAnalysisTaskEMCALClusterize.cxx:742
 AliAnalysisTaskEMCALClusterize.cxx:743
 AliAnalysisTaskEMCALClusterize.cxx:744
 AliAnalysisTaskEMCALClusterize.cxx:745
 AliAnalysisTaskEMCALClusterize.cxx:746
 AliAnalysisTaskEMCALClusterize.cxx:747
 AliAnalysisTaskEMCALClusterize.cxx:748
 AliAnalysisTaskEMCALClusterize.cxx:749
 AliAnalysisTaskEMCALClusterize.cxx:750
 AliAnalysisTaskEMCALClusterize.cxx:751
 AliAnalysisTaskEMCALClusterize.cxx:752
 AliAnalysisTaskEMCALClusterize.cxx:753
 AliAnalysisTaskEMCALClusterize.cxx:754
 AliAnalysisTaskEMCALClusterize.cxx:755
 AliAnalysisTaskEMCALClusterize.cxx:756
 AliAnalysisTaskEMCALClusterize.cxx:757
 AliAnalysisTaskEMCALClusterize.cxx:758
 AliAnalysisTaskEMCALClusterize.cxx:759
 AliAnalysisTaskEMCALClusterize.cxx:760
 AliAnalysisTaskEMCALClusterize.cxx:761
 AliAnalysisTaskEMCALClusterize.cxx:762
 AliAnalysisTaskEMCALClusterize.cxx:763
 AliAnalysisTaskEMCALClusterize.cxx:764
 AliAnalysisTaskEMCALClusterize.cxx:765
 AliAnalysisTaskEMCALClusterize.cxx:766
 AliAnalysisTaskEMCALClusterize.cxx:767
 AliAnalysisTaskEMCALClusterize.cxx:768
 AliAnalysisTaskEMCALClusterize.cxx:769
 AliAnalysisTaskEMCALClusterize.cxx:770
 AliAnalysisTaskEMCALClusterize.cxx:771
 AliAnalysisTaskEMCALClusterize.cxx:772
 AliAnalysisTaskEMCALClusterize.cxx:773
 AliAnalysisTaskEMCALClusterize.cxx:774
 AliAnalysisTaskEMCALClusterize.cxx:775
 AliAnalysisTaskEMCALClusterize.cxx:776
 AliAnalysisTaskEMCALClusterize.cxx:777
 AliAnalysisTaskEMCALClusterize.cxx:778
 AliAnalysisTaskEMCALClusterize.cxx:779
 AliAnalysisTaskEMCALClusterize.cxx:780
 AliAnalysisTaskEMCALClusterize.cxx:781
 AliAnalysisTaskEMCALClusterize.cxx:782
 AliAnalysisTaskEMCALClusterize.cxx:783
 AliAnalysisTaskEMCALClusterize.cxx:784
 AliAnalysisTaskEMCALClusterize.cxx:785
 AliAnalysisTaskEMCALClusterize.cxx:786
 AliAnalysisTaskEMCALClusterize.cxx:787
 AliAnalysisTaskEMCALClusterize.cxx:788
 AliAnalysisTaskEMCALClusterize.cxx:789
 AliAnalysisTaskEMCALClusterize.cxx:790
 AliAnalysisTaskEMCALClusterize.cxx:791
 AliAnalysisTaskEMCALClusterize.cxx:792
 AliAnalysisTaskEMCALClusterize.cxx:793
 AliAnalysisTaskEMCALClusterize.cxx:794
 AliAnalysisTaskEMCALClusterize.cxx:795
 AliAnalysisTaskEMCALClusterize.cxx:796
 AliAnalysisTaskEMCALClusterize.cxx:797
 AliAnalysisTaskEMCALClusterize.cxx:798
 AliAnalysisTaskEMCALClusterize.cxx:799
 AliAnalysisTaskEMCALClusterize.cxx:800
 AliAnalysisTaskEMCALClusterize.cxx:801
 AliAnalysisTaskEMCALClusterize.cxx:802
 AliAnalysisTaskEMCALClusterize.cxx:803
 AliAnalysisTaskEMCALClusterize.cxx:804
 AliAnalysisTaskEMCALClusterize.cxx:805
 AliAnalysisTaskEMCALClusterize.cxx:806
 AliAnalysisTaskEMCALClusterize.cxx:807
 AliAnalysisTaskEMCALClusterize.cxx:808
 AliAnalysisTaskEMCALClusterize.cxx:809
 AliAnalysisTaskEMCALClusterize.cxx:810
 AliAnalysisTaskEMCALClusterize.cxx:811
 AliAnalysisTaskEMCALClusterize.cxx:812
 AliAnalysisTaskEMCALClusterize.cxx:813
 AliAnalysisTaskEMCALClusterize.cxx:814
 AliAnalysisTaskEMCALClusterize.cxx:815
 AliAnalysisTaskEMCALClusterize.cxx:816
 AliAnalysisTaskEMCALClusterize.cxx:817
 AliAnalysisTaskEMCALClusterize.cxx:818
 AliAnalysisTaskEMCALClusterize.cxx:819
 AliAnalysisTaskEMCALClusterize.cxx:820
 AliAnalysisTaskEMCALClusterize.cxx:821
 AliAnalysisTaskEMCALClusterize.cxx:822
 AliAnalysisTaskEMCALClusterize.cxx:823
 AliAnalysisTaskEMCALClusterize.cxx:824
 AliAnalysisTaskEMCALClusterize.cxx:825
 AliAnalysisTaskEMCALClusterize.cxx:826
 AliAnalysisTaskEMCALClusterize.cxx:827
 AliAnalysisTaskEMCALClusterize.cxx:828
 AliAnalysisTaskEMCALClusterize.cxx:829
 AliAnalysisTaskEMCALClusterize.cxx:830
 AliAnalysisTaskEMCALClusterize.cxx:831
 AliAnalysisTaskEMCALClusterize.cxx:832
 AliAnalysisTaskEMCALClusterize.cxx:833
 AliAnalysisTaskEMCALClusterize.cxx:834
 AliAnalysisTaskEMCALClusterize.cxx:835
 AliAnalysisTaskEMCALClusterize.cxx:836
 AliAnalysisTaskEMCALClusterize.cxx:837
 AliAnalysisTaskEMCALClusterize.cxx:838
 AliAnalysisTaskEMCALClusterize.cxx:839
 AliAnalysisTaskEMCALClusterize.cxx:840
 AliAnalysisTaskEMCALClusterize.cxx:841
 AliAnalysisTaskEMCALClusterize.cxx:842
 AliAnalysisTaskEMCALClusterize.cxx:843
 AliAnalysisTaskEMCALClusterize.cxx:844
 AliAnalysisTaskEMCALClusterize.cxx:845
 AliAnalysisTaskEMCALClusterize.cxx:846
 AliAnalysisTaskEMCALClusterize.cxx:847
 AliAnalysisTaskEMCALClusterize.cxx:848
 AliAnalysisTaskEMCALClusterize.cxx:849
 AliAnalysisTaskEMCALClusterize.cxx:850
 AliAnalysisTaskEMCALClusterize.cxx:851
 AliAnalysisTaskEMCALClusterize.cxx:852
 AliAnalysisTaskEMCALClusterize.cxx:853
 AliAnalysisTaskEMCALClusterize.cxx:854
 AliAnalysisTaskEMCALClusterize.cxx:855
 AliAnalysisTaskEMCALClusterize.cxx:856
 AliAnalysisTaskEMCALClusterize.cxx:857
 AliAnalysisTaskEMCALClusterize.cxx:858
 AliAnalysisTaskEMCALClusterize.cxx:859
 AliAnalysisTaskEMCALClusterize.cxx:860
 AliAnalysisTaskEMCALClusterize.cxx:861
 AliAnalysisTaskEMCALClusterize.cxx:862
 AliAnalysisTaskEMCALClusterize.cxx:863
 AliAnalysisTaskEMCALClusterize.cxx:864
 AliAnalysisTaskEMCALClusterize.cxx:865
 AliAnalysisTaskEMCALClusterize.cxx:866
 AliAnalysisTaskEMCALClusterize.cxx:867
 AliAnalysisTaskEMCALClusterize.cxx:868
 AliAnalysisTaskEMCALClusterize.cxx:869
 AliAnalysisTaskEMCALClusterize.cxx:870
 AliAnalysisTaskEMCALClusterize.cxx:871
 AliAnalysisTaskEMCALClusterize.cxx:872
 AliAnalysisTaskEMCALClusterize.cxx:873
 AliAnalysisTaskEMCALClusterize.cxx:874
 AliAnalysisTaskEMCALClusterize.cxx:875
 AliAnalysisTaskEMCALClusterize.cxx:876
 AliAnalysisTaskEMCALClusterize.cxx:877
 AliAnalysisTaskEMCALClusterize.cxx:878
 AliAnalysisTaskEMCALClusterize.cxx:879
 AliAnalysisTaskEMCALClusterize.cxx:880
 AliAnalysisTaskEMCALClusterize.cxx:881
 AliAnalysisTaskEMCALClusterize.cxx:882
 AliAnalysisTaskEMCALClusterize.cxx:883
 AliAnalysisTaskEMCALClusterize.cxx:884
 AliAnalysisTaskEMCALClusterize.cxx:885
 AliAnalysisTaskEMCALClusterize.cxx:886
 AliAnalysisTaskEMCALClusterize.cxx:887
 AliAnalysisTaskEMCALClusterize.cxx:888
 AliAnalysisTaskEMCALClusterize.cxx:889
 AliAnalysisTaskEMCALClusterize.cxx:890
 AliAnalysisTaskEMCALClusterize.cxx:891
 AliAnalysisTaskEMCALClusterize.cxx:892
 AliAnalysisTaskEMCALClusterize.cxx:893
 AliAnalysisTaskEMCALClusterize.cxx:894
 AliAnalysisTaskEMCALClusterize.cxx:895
 AliAnalysisTaskEMCALClusterize.cxx:896
 AliAnalysisTaskEMCALClusterize.cxx:897
 AliAnalysisTaskEMCALClusterize.cxx:898
 AliAnalysisTaskEMCALClusterize.cxx:899
 AliAnalysisTaskEMCALClusterize.cxx:900
 AliAnalysisTaskEMCALClusterize.cxx:901
 AliAnalysisTaskEMCALClusterize.cxx:902
 AliAnalysisTaskEMCALClusterize.cxx:903
 AliAnalysisTaskEMCALClusterize.cxx:904
 AliAnalysisTaskEMCALClusterize.cxx:905
 AliAnalysisTaskEMCALClusterize.cxx:906
 AliAnalysisTaskEMCALClusterize.cxx:907
 AliAnalysisTaskEMCALClusterize.cxx:908
 AliAnalysisTaskEMCALClusterize.cxx:909
 AliAnalysisTaskEMCALClusterize.cxx:910
 AliAnalysisTaskEMCALClusterize.cxx:911
 AliAnalysisTaskEMCALClusterize.cxx:912
 AliAnalysisTaskEMCALClusterize.cxx:913
 AliAnalysisTaskEMCALClusterize.cxx:914
 AliAnalysisTaskEMCALClusterize.cxx:915
 AliAnalysisTaskEMCALClusterize.cxx:916
 AliAnalysisTaskEMCALClusterize.cxx:917
 AliAnalysisTaskEMCALClusterize.cxx:918
 AliAnalysisTaskEMCALClusterize.cxx:919
 AliAnalysisTaskEMCALClusterize.cxx:920
 AliAnalysisTaskEMCALClusterize.cxx:921
 AliAnalysisTaskEMCALClusterize.cxx:922
 AliAnalysisTaskEMCALClusterize.cxx:923
 AliAnalysisTaskEMCALClusterize.cxx:924
 AliAnalysisTaskEMCALClusterize.cxx:925
 AliAnalysisTaskEMCALClusterize.cxx:926
 AliAnalysisTaskEMCALClusterize.cxx:927
 AliAnalysisTaskEMCALClusterize.cxx:928
 AliAnalysisTaskEMCALClusterize.cxx:929
 AliAnalysisTaskEMCALClusterize.cxx:930
 AliAnalysisTaskEMCALClusterize.cxx:931
 AliAnalysisTaskEMCALClusterize.cxx:932
 AliAnalysisTaskEMCALClusterize.cxx:933
 AliAnalysisTaskEMCALClusterize.cxx:934
 AliAnalysisTaskEMCALClusterize.cxx:935
 AliAnalysisTaskEMCALClusterize.cxx:936
 AliAnalysisTaskEMCALClusterize.cxx:937
 AliAnalysisTaskEMCALClusterize.cxx:938
 AliAnalysisTaskEMCALClusterize.cxx:939
 AliAnalysisTaskEMCALClusterize.cxx:940
 AliAnalysisTaskEMCALClusterize.cxx:941
 AliAnalysisTaskEMCALClusterize.cxx:942
 AliAnalysisTaskEMCALClusterize.cxx:943
 AliAnalysisTaskEMCALClusterize.cxx:944
 AliAnalysisTaskEMCALClusterize.cxx:945
 AliAnalysisTaskEMCALClusterize.cxx:946
 AliAnalysisTaskEMCALClusterize.cxx:947
 AliAnalysisTaskEMCALClusterize.cxx:948
 AliAnalysisTaskEMCALClusterize.cxx:949
 AliAnalysisTaskEMCALClusterize.cxx:950
 AliAnalysisTaskEMCALClusterize.cxx:951
 AliAnalysisTaskEMCALClusterize.cxx:952
 AliAnalysisTaskEMCALClusterize.cxx:953
 AliAnalysisTaskEMCALClusterize.cxx:954
 AliAnalysisTaskEMCALClusterize.cxx:955
 AliAnalysisTaskEMCALClusterize.cxx:956
 AliAnalysisTaskEMCALClusterize.cxx:957
 AliAnalysisTaskEMCALClusterize.cxx:958
 AliAnalysisTaskEMCALClusterize.cxx:959
 AliAnalysisTaskEMCALClusterize.cxx:960
 AliAnalysisTaskEMCALClusterize.cxx:961
 AliAnalysisTaskEMCALClusterize.cxx:962
 AliAnalysisTaskEMCALClusterize.cxx:963
 AliAnalysisTaskEMCALClusterize.cxx:964
 AliAnalysisTaskEMCALClusterize.cxx:965
 AliAnalysisTaskEMCALClusterize.cxx:966
 AliAnalysisTaskEMCALClusterize.cxx:967
 AliAnalysisTaskEMCALClusterize.cxx:968
 AliAnalysisTaskEMCALClusterize.cxx:969
 AliAnalysisTaskEMCALClusterize.cxx:970
 AliAnalysisTaskEMCALClusterize.cxx:971
 AliAnalysisTaskEMCALClusterize.cxx:972
 AliAnalysisTaskEMCALClusterize.cxx:973
 AliAnalysisTaskEMCALClusterize.cxx:974
 AliAnalysisTaskEMCALClusterize.cxx:975
 AliAnalysisTaskEMCALClusterize.cxx:976
 AliAnalysisTaskEMCALClusterize.cxx:977
 AliAnalysisTaskEMCALClusterize.cxx:978
 AliAnalysisTaskEMCALClusterize.cxx:979
 AliAnalysisTaskEMCALClusterize.cxx:980
 AliAnalysisTaskEMCALClusterize.cxx:981
 AliAnalysisTaskEMCALClusterize.cxx:982
 AliAnalysisTaskEMCALClusterize.cxx:983
 AliAnalysisTaskEMCALClusterize.cxx:984
 AliAnalysisTaskEMCALClusterize.cxx:985
 AliAnalysisTaskEMCALClusterize.cxx:986
 AliAnalysisTaskEMCALClusterize.cxx:987
 AliAnalysisTaskEMCALClusterize.cxx:988
 AliAnalysisTaskEMCALClusterize.cxx:989
 AliAnalysisTaskEMCALClusterize.cxx:990
 AliAnalysisTaskEMCALClusterize.cxx:991
 AliAnalysisTaskEMCALClusterize.cxx:992
 AliAnalysisTaskEMCALClusterize.cxx:993
 AliAnalysisTaskEMCALClusterize.cxx:994
 AliAnalysisTaskEMCALClusterize.cxx:995
 AliAnalysisTaskEMCALClusterize.cxx:996
 AliAnalysisTaskEMCALClusterize.cxx:997
 AliAnalysisTaskEMCALClusterize.cxx:998
 AliAnalysisTaskEMCALClusterize.cxx:999
 AliAnalysisTaskEMCALClusterize.cxx:1000
 AliAnalysisTaskEMCALClusterize.cxx:1001
 AliAnalysisTaskEMCALClusterize.cxx:1002
 AliAnalysisTaskEMCALClusterize.cxx:1003
 AliAnalysisTaskEMCALClusterize.cxx:1004
 AliAnalysisTaskEMCALClusterize.cxx:1005
 AliAnalysisTaskEMCALClusterize.cxx:1006
 AliAnalysisTaskEMCALClusterize.cxx:1007
 AliAnalysisTaskEMCALClusterize.cxx:1008
 AliAnalysisTaskEMCALClusterize.cxx:1009
 AliAnalysisTaskEMCALClusterize.cxx:1010
 AliAnalysisTaskEMCALClusterize.cxx:1011
 AliAnalysisTaskEMCALClusterize.cxx:1012
 AliAnalysisTaskEMCALClusterize.cxx:1013
 AliAnalysisTaskEMCALClusterize.cxx:1014
 AliAnalysisTaskEMCALClusterize.cxx:1015
 AliAnalysisTaskEMCALClusterize.cxx:1016
 AliAnalysisTaskEMCALClusterize.cxx:1017
 AliAnalysisTaskEMCALClusterize.cxx:1018
 AliAnalysisTaskEMCALClusterize.cxx:1019
 AliAnalysisTaskEMCALClusterize.cxx:1020
 AliAnalysisTaskEMCALClusterize.cxx:1021
 AliAnalysisTaskEMCALClusterize.cxx:1022
 AliAnalysisTaskEMCALClusterize.cxx:1023
 AliAnalysisTaskEMCALClusterize.cxx:1024
 AliAnalysisTaskEMCALClusterize.cxx:1025
 AliAnalysisTaskEMCALClusterize.cxx:1026
 AliAnalysisTaskEMCALClusterize.cxx:1027
 AliAnalysisTaskEMCALClusterize.cxx:1028
 AliAnalysisTaskEMCALClusterize.cxx:1029
 AliAnalysisTaskEMCALClusterize.cxx:1030
 AliAnalysisTaskEMCALClusterize.cxx:1031
 AliAnalysisTaskEMCALClusterize.cxx:1032
 AliAnalysisTaskEMCALClusterize.cxx:1033
 AliAnalysisTaskEMCALClusterize.cxx:1034
 AliAnalysisTaskEMCALClusterize.cxx:1035
 AliAnalysisTaskEMCALClusterize.cxx:1036
 AliAnalysisTaskEMCALClusterize.cxx:1037
 AliAnalysisTaskEMCALClusterize.cxx:1038
 AliAnalysisTaskEMCALClusterize.cxx:1039
 AliAnalysisTaskEMCALClusterize.cxx:1040
 AliAnalysisTaskEMCALClusterize.cxx:1041
 AliAnalysisTaskEMCALClusterize.cxx:1042
 AliAnalysisTaskEMCALClusterize.cxx:1043
 AliAnalysisTaskEMCALClusterize.cxx:1044
 AliAnalysisTaskEMCALClusterize.cxx:1045
 AliAnalysisTaskEMCALClusterize.cxx:1046
 AliAnalysisTaskEMCALClusterize.cxx:1047
 AliAnalysisTaskEMCALClusterize.cxx:1048
 AliAnalysisTaskEMCALClusterize.cxx:1049
 AliAnalysisTaskEMCALClusterize.cxx:1050
 AliAnalysisTaskEMCALClusterize.cxx:1051
 AliAnalysisTaskEMCALClusterize.cxx:1052
 AliAnalysisTaskEMCALClusterize.cxx:1053
 AliAnalysisTaskEMCALClusterize.cxx:1054
 AliAnalysisTaskEMCALClusterize.cxx:1055
 AliAnalysisTaskEMCALClusterize.cxx:1056
 AliAnalysisTaskEMCALClusterize.cxx:1057
 AliAnalysisTaskEMCALClusterize.cxx:1058
 AliAnalysisTaskEMCALClusterize.cxx:1059
 AliAnalysisTaskEMCALClusterize.cxx:1060
 AliAnalysisTaskEMCALClusterize.cxx:1061
 AliAnalysisTaskEMCALClusterize.cxx:1062
 AliAnalysisTaskEMCALClusterize.cxx:1063
 AliAnalysisTaskEMCALClusterize.cxx:1064
 AliAnalysisTaskEMCALClusterize.cxx:1065
 AliAnalysisTaskEMCALClusterize.cxx:1066
 AliAnalysisTaskEMCALClusterize.cxx:1067
 AliAnalysisTaskEMCALClusterize.cxx:1068
 AliAnalysisTaskEMCALClusterize.cxx:1069
 AliAnalysisTaskEMCALClusterize.cxx:1070
 AliAnalysisTaskEMCALClusterize.cxx:1071
 AliAnalysisTaskEMCALClusterize.cxx:1072
 AliAnalysisTaskEMCALClusterize.cxx:1073
 AliAnalysisTaskEMCALClusterize.cxx:1074
 AliAnalysisTaskEMCALClusterize.cxx:1075
 AliAnalysisTaskEMCALClusterize.cxx:1076
 AliAnalysisTaskEMCALClusterize.cxx:1077
 AliAnalysisTaskEMCALClusterize.cxx:1078
 AliAnalysisTaskEMCALClusterize.cxx:1079
 AliAnalysisTaskEMCALClusterize.cxx:1080
 AliAnalysisTaskEMCALClusterize.cxx:1081
 AliAnalysisTaskEMCALClusterize.cxx:1082
 AliAnalysisTaskEMCALClusterize.cxx:1083
 AliAnalysisTaskEMCALClusterize.cxx:1084
 AliAnalysisTaskEMCALClusterize.cxx:1085
 AliAnalysisTaskEMCALClusterize.cxx:1086
 AliAnalysisTaskEMCALClusterize.cxx:1087
 AliAnalysisTaskEMCALClusterize.cxx:1088
 AliAnalysisTaskEMCALClusterize.cxx:1089
 AliAnalysisTaskEMCALClusterize.cxx:1090
 AliAnalysisTaskEMCALClusterize.cxx:1091
 AliAnalysisTaskEMCALClusterize.cxx:1092
 AliAnalysisTaskEMCALClusterize.cxx:1093
 AliAnalysisTaskEMCALClusterize.cxx:1094
 AliAnalysisTaskEMCALClusterize.cxx:1095
 AliAnalysisTaskEMCALClusterize.cxx:1096
 AliAnalysisTaskEMCALClusterize.cxx:1097
 AliAnalysisTaskEMCALClusterize.cxx:1098
 AliAnalysisTaskEMCALClusterize.cxx:1099
 AliAnalysisTaskEMCALClusterize.cxx:1100
 AliAnalysisTaskEMCALClusterize.cxx:1101
 AliAnalysisTaskEMCALClusterize.cxx:1102
 AliAnalysisTaskEMCALClusterize.cxx:1103
 AliAnalysisTaskEMCALClusterize.cxx:1104
 AliAnalysisTaskEMCALClusterize.cxx:1105
 AliAnalysisTaskEMCALClusterize.cxx:1106
 AliAnalysisTaskEMCALClusterize.cxx:1107
 AliAnalysisTaskEMCALClusterize.cxx:1108
 AliAnalysisTaskEMCALClusterize.cxx:1109
 AliAnalysisTaskEMCALClusterize.cxx:1110
 AliAnalysisTaskEMCALClusterize.cxx:1111
 AliAnalysisTaskEMCALClusterize.cxx:1112
 AliAnalysisTaskEMCALClusterize.cxx:1113
 AliAnalysisTaskEMCALClusterize.cxx:1114
 AliAnalysisTaskEMCALClusterize.cxx:1115
 AliAnalysisTaskEMCALClusterize.cxx:1116
 AliAnalysisTaskEMCALClusterize.cxx:1117
 AliAnalysisTaskEMCALClusterize.cxx:1118
 AliAnalysisTaskEMCALClusterize.cxx:1119
 AliAnalysisTaskEMCALClusterize.cxx:1120
 AliAnalysisTaskEMCALClusterize.cxx:1121
 AliAnalysisTaskEMCALClusterize.cxx:1122
 AliAnalysisTaskEMCALClusterize.cxx:1123
 AliAnalysisTaskEMCALClusterize.cxx:1124
 AliAnalysisTaskEMCALClusterize.cxx:1125
 AliAnalysisTaskEMCALClusterize.cxx:1126
 AliAnalysisTaskEMCALClusterize.cxx:1127
 AliAnalysisTaskEMCALClusterize.cxx:1128
 AliAnalysisTaskEMCALClusterize.cxx:1129
 AliAnalysisTaskEMCALClusterize.cxx:1130
 AliAnalysisTaskEMCALClusterize.cxx:1131
 AliAnalysisTaskEMCALClusterize.cxx:1132
 AliAnalysisTaskEMCALClusterize.cxx:1133
 AliAnalysisTaskEMCALClusterize.cxx:1134
 AliAnalysisTaskEMCALClusterize.cxx:1135
 AliAnalysisTaskEMCALClusterize.cxx:1136
 AliAnalysisTaskEMCALClusterize.cxx:1137
 AliAnalysisTaskEMCALClusterize.cxx:1138
 AliAnalysisTaskEMCALClusterize.cxx:1139
 AliAnalysisTaskEMCALClusterize.cxx:1140
 AliAnalysisTaskEMCALClusterize.cxx:1141
 AliAnalysisTaskEMCALClusterize.cxx:1142
 AliAnalysisTaskEMCALClusterize.cxx:1143
 AliAnalysisTaskEMCALClusterize.cxx:1144
 AliAnalysisTaskEMCALClusterize.cxx:1145
 AliAnalysisTaskEMCALClusterize.cxx:1146
 AliAnalysisTaskEMCALClusterize.cxx:1147
 AliAnalysisTaskEMCALClusterize.cxx:1148
 AliAnalysisTaskEMCALClusterize.cxx:1149
 AliAnalysisTaskEMCALClusterize.cxx:1150
 AliAnalysisTaskEMCALClusterize.cxx:1151
 AliAnalysisTaskEMCALClusterize.cxx:1152
 AliAnalysisTaskEMCALClusterize.cxx:1153
 AliAnalysisTaskEMCALClusterize.cxx:1154
 AliAnalysisTaskEMCALClusterize.cxx:1155
 AliAnalysisTaskEMCALClusterize.cxx:1156
 AliAnalysisTaskEMCALClusterize.cxx:1157
 AliAnalysisTaskEMCALClusterize.cxx:1158
 AliAnalysisTaskEMCALClusterize.cxx:1159
 AliAnalysisTaskEMCALClusterize.cxx:1160
 AliAnalysisTaskEMCALClusterize.cxx:1161
 AliAnalysisTaskEMCALClusterize.cxx:1162
 AliAnalysisTaskEMCALClusterize.cxx:1163
 AliAnalysisTaskEMCALClusterize.cxx:1164
 AliAnalysisTaskEMCALClusterize.cxx:1165
 AliAnalysisTaskEMCALClusterize.cxx:1166
 AliAnalysisTaskEMCALClusterize.cxx:1167
 AliAnalysisTaskEMCALClusterize.cxx:1168
 AliAnalysisTaskEMCALClusterize.cxx:1169
 AliAnalysisTaskEMCALClusterize.cxx:1170
 AliAnalysisTaskEMCALClusterize.cxx:1171
 AliAnalysisTaskEMCALClusterize.cxx:1172
 AliAnalysisTaskEMCALClusterize.cxx:1173
 AliAnalysisTaskEMCALClusterize.cxx:1174
 AliAnalysisTaskEMCALClusterize.cxx:1175
 AliAnalysisTaskEMCALClusterize.cxx:1176
 AliAnalysisTaskEMCALClusterize.cxx:1177
 AliAnalysisTaskEMCALClusterize.cxx:1178
 AliAnalysisTaskEMCALClusterize.cxx:1179
 AliAnalysisTaskEMCALClusterize.cxx:1180
 AliAnalysisTaskEMCALClusterize.cxx:1181
 AliAnalysisTaskEMCALClusterize.cxx:1182
 AliAnalysisTaskEMCALClusterize.cxx:1183
 AliAnalysisTaskEMCALClusterize.cxx:1184
 AliAnalysisTaskEMCALClusterize.cxx:1185
 AliAnalysisTaskEMCALClusterize.cxx:1186
 AliAnalysisTaskEMCALClusterize.cxx:1187
 AliAnalysisTaskEMCALClusterize.cxx:1188
 AliAnalysisTaskEMCALClusterize.cxx:1189
 AliAnalysisTaskEMCALClusterize.cxx:1190
 AliAnalysisTaskEMCALClusterize.cxx:1191
 AliAnalysisTaskEMCALClusterize.cxx:1192
 AliAnalysisTaskEMCALClusterize.cxx:1193
 AliAnalysisTaskEMCALClusterize.cxx:1194
 AliAnalysisTaskEMCALClusterize.cxx:1195
 AliAnalysisTaskEMCALClusterize.cxx:1196
 AliAnalysisTaskEMCALClusterize.cxx:1197
 AliAnalysisTaskEMCALClusterize.cxx:1198
 AliAnalysisTaskEMCALClusterize.cxx:1199
 AliAnalysisTaskEMCALClusterize.cxx:1200
 AliAnalysisTaskEMCALClusterize.cxx:1201
 AliAnalysisTaskEMCALClusterize.cxx:1202
 AliAnalysisTaskEMCALClusterize.cxx:1203
 AliAnalysisTaskEMCALClusterize.cxx:1204
 AliAnalysisTaskEMCALClusterize.cxx:1205
 AliAnalysisTaskEMCALClusterize.cxx:1206
 AliAnalysisTaskEMCALClusterize.cxx:1207
 AliAnalysisTaskEMCALClusterize.cxx:1208
 AliAnalysisTaskEMCALClusterize.cxx:1209
 AliAnalysisTaskEMCALClusterize.cxx:1210
 AliAnalysisTaskEMCALClusterize.cxx:1211
 AliAnalysisTaskEMCALClusterize.cxx:1212
 AliAnalysisTaskEMCALClusterize.cxx:1213
 AliAnalysisTaskEMCALClusterize.cxx:1214
 AliAnalysisTaskEMCALClusterize.cxx:1215
 AliAnalysisTaskEMCALClusterize.cxx:1216
 AliAnalysisTaskEMCALClusterize.cxx:1217
 AliAnalysisTaskEMCALClusterize.cxx:1218
 AliAnalysisTaskEMCALClusterize.cxx:1219
 AliAnalysisTaskEMCALClusterize.cxx:1220
 AliAnalysisTaskEMCALClusterize.cxx:1221
 AliAnalysisTaskEMCALClusterize.cxx:1222
 AliAnalysisTaskEMCALClusterize.cxx:1223
 AliAnalysisTaskEMCALClusterize.cxx:1224
 AliAnalysisTaskEMCALClusterize.cxx:1225
 AliAnalysisTaskEMCALClusterize.cxx:1226
 AliAnalysisTaskEMCALClusterize.cxx:1227
 AliAnalysisTaskEMCALClusterize.cxx:1228
 AliAnalysisTaskEMCALClusterize.cxx:1229
 AliAnalysisTaskEMCALClusterize.cxx:1230
 AliAnalysisTaskEMCALClusterize.cxx:1231
 AliAnalysisTaskEMCALClusterize.cxx:1232
 AliAnalysisTaskEMCALClusterize.cxx:1233
 AliAnalysisTaskEMCALClusterize.cxx:1234
 AliAnalysisTaskEMCALClusterize.cxx:1235
 AliAnalysisTaskEMCALClusterize.cxx:1236
 AliAnalysisTaskEMCALClusterize.cxx:1237
 AliAnalysisTaskEMCALClusterize.cxx:1238
 AliAnalysisTaskEMCALClusterize.cxx:1239
 AliAnalysisTaskEMCALClusterize.cxx:1240
 AliAnalysisTaskEMCALClusterize.cxx:1241
 AliAnalysisTaskEMCALClusterize.cxx:1242
 AliAnalysisTaskEMCALClusterize.cxx:1243
 AliAnalysisTaskEMCALClusterize.cxx:1244
 AliAnalysisTaskEMCALClusterize.cxx:1245
 AliAnalysisTaskEMCALClusterize.cxx:1246
 AliAnalysisTaskEMCALClusterize.cxx:1247
 AliAnalysisTaskEMCALClusterize.cxx:1248
 AliAnalysisTaskEMCALClusterize.cxx:1249
 AliAnalysisTaskEMCALClusterize.cxx:1250
 AliAnalysisTaskEMCALClusterize.cxx:1251
 AliAnalysisTaskEMCALClusterize.cxx:1252
 AliAnalysisTaskEMCALClusterize.cxx:1253
 AliAnalysisTaskEMCALClusterize.cxx:1254
 AliAnalysisTaskEMCALClusterize.cxx:1255
 AliAnalysisTaskEMCALClusterize.cxx:1256
 AliAnalysisTaskEMCALClusterize.cxx:1257
 AliAnalysisTaskEMCALClusterize.cxx:1258
 AliAnalysisTaskEMCALClusterize.cxx:1259
 AliAnalysisTaskEMCALClusterize.cxx:1260
 AliAnalysisTaskEMCALClusterize.cxx:1261
 AliAnalysisTaskEMCALClusterize.cxx:1262
 AliAnalysisTaskEMCALClusterize.cxx:1263
 AliAnalysisTaskEMCALClusterize.cxx:1264
 AliAnalysisTaskEMCALClusterize.cxx:1265
 AliAnalysisTaskEMCALClusterize.cxx:1266
 AliAnalysisTaskEMCALClusterize.cxx:1267
 AliAnalysisTaskEMCALClusterize.cxx:1268
 AliAnalysisTaskEMCALClusterize.cxx:1269
 AliAnalysisTaskEMCALClusterize.cxx:1270
 AliAnalysisTaskEMCALClusterize.cxx:1271
 AliAnalysisTaskEMCALClusterize.cxx:1272
 AliAnalysisTaskEMCALClusterize.cxx:1273
 AliAnalysisTaskEMCALClusterize.cxx:1274
 AliAnalysisTaskEMCALClusterize.cxx:1275
 AliAnalysisTaskEMCALClusterize.cxx:1276
 AliAnalysisTaskEMCALClusterize.cxx:1277
 AliAnalysisTaskEMCALClusterize.cxx:1278
 AliAnalysisTaskEMCALClusterize.cxx:1279
 AliAnalysisTaskEMCALClusterize.cxx:1280
 AliAnalysisTaskEMCALClusterize.cxx:1281
 AliAnalysisTaskEMCALClusterize.cxx:1282
 AliAnalysisTaskEMCALClusterize.cxx:1283
 AliAnalysisTaskEMCALClusterize.cxx:1284
 AliAnalysisTaskEMCALClusterize.cxx:1285
 AliAnalysisTaskEMCALClusterize.cxx:1286
 AliAnalysisTaskEMCALClusterize.cxx:1287
 AliAnalysisTaskEMCALClusterize.cxx:1288
 AliAnalysisTaskEMCALClusterize.cxx:1289
 AliAnalysisTaskEMCALClusterize.cxx:1290
 AliAnalysisTaskEMCALClusterize.cxx:1291
 AliAnalysisTaskEMCALClusterize.cxx:1292
 AliAnalysisTaskEMCALClusterize.cxx:1293
 AliAnalysisTaskEMCALClusterize.cxx:1294
 AliAnalysisTaskEMCALClusterize.cxx:1295
 AliAnalysisTaskEMCALClusterize.cxx:1296
 AliAnalysisTaskEMCALClusterize.cxx:1297
 AliAnalysisTaskEMCALClusterize.cxx:1298
 AliAnalysisTaskEMCALClusterize.cxx:1299
 AliAnalysisTaskEMCALClusterize.cxx:1300
 AliAnalysisTaskEMCALClusterize.cxx:1301
 AliAnalysisTaskEMCALClusterize.cxx:1302
 AliAnalysisTaskEMCALClusterize.cxx:1303
 AliAnalysisTaskEMCALClusterize.cxx:1304
 AliAnalysisTaskEMCALClusterize.cxx:1305
 AliAnalysisTaskEMCALClusterize.cxx:1306
 AliAnalysisTaskEMCALClusterize.cxx:1307
 AliAnalysisTaskEMCALClusterize.cxx:1308
 AliAnalysisTaskEMCALClusterize.cxx:1309
 AliAnalysisTaskEMCALClusterize.cxx:1310
 AliAnalysisTaskEMCALClusterize.cxx:1311
 AliAnalysisTaskEMCALClusterize.cxx:1312
 AliAnalysisTaskEMCALClusterize.cxx:1313
 AliAnalysisTaskEMCALClusterize.cxx:1314
 AliAnalysisTaskEMCALClusterize.cxx:1315
 AliAnalysisTaskEMCALClusterize.cxx:1316
 AliAnalysisTaskEMCALClusterize.cxx:1317
 AliAnalysisTaskEMCALClusterize.cxx:1318
 AliAnalysisTaskEMCALClusterize.cxx:1319
 AliAnalysisTaskEMCALClusterize.cxx:1320
 AliAnalysisTaskEMCALClusterize.cxx:1321
 AliAnalysisTaskEMCALClusterize.cxx:1322
 AliAnalysisTaskEMCALClusterize.cxx:1323
 AliAnalysisTaskEMCALClusterize.cxx:1324
 AliAnalysisTaskEMCALClusterize.cxx:1325
 AliAnalysisTaskEMCALClusterize.cxx:1326
 AliAnalysisTaskEMCALClusterize.cxx:1327
 AliAnalysisTaskEMCALClusterize.cxx:1328
 AliAnalysisTaskEMCALClusterize.cxx:1329
 AliAnalysisTaskEMCALClusterize.cxx:1330
 AliAnalysisTaskEMCALClusterize.cxx:1331
 AliAnalysisTaskEMCALClusterize.cxx:1332
 AliAnalysisTaskEMCALClusterize.cxx:1333
 AliAnalysisTaskEMCALClusterize.cxx:1334
 AliAnalysisTaskEMCALClusterize.cxx:1335
 AliAnalysisTaskEMCALClusterize.cxx:1336
 AliAnalysisTaskEMCALClusterize.cxx:1337
 AliAnalysisTaskEMCALClusterize.cxx:1338
 AliAnalysisTaskEMCALClusterize.cxx:1339
 AliAnalysisTaskEMCALClusterize.cxx:1340
 AliAnalysisTaskEMCALClusterize.cxx:1341
 AliAnalysisTaskEMCALClusterize.cxx:1342
 AliAnalysisTaskEMCALClusterize.cxx:1343
 AliAnalysisTaskEMCALClusterize.cxx:1344
 AliAnalysisTaskEMCALClusterize.cxx:1345
 AliAnalysisTaskEMCALClusterize.cxx:1346
 AliAnalysisTaskEMCALClusterize.cxx:1347
 AliAnalysisTaskEMCALClusterize.cxx:1348
 AliAnalysisTaskEMCALClusterize.cxx:1349
 AliAnalysisTaskEMCALClusterize.cxx:1350
 AliAnalysisTaskEMCALClusterize.cxx:1351
 AliAnalysisTaskEMCALClusterize.cxx:1352
 AliAnalysisTaskEMCALClusterize.cxx:1353
 AliAnalysisTaskEMCALClusterize.cxx:1354
 AliAnalysisTaskEMCALClusterize.cxx:1355
 AliAnalysisTaskEMCALClusterize.cxx:1356
 AliAnalysisTaskEMCALClusterize.cxx:1357
 AliAnalysisTaskEMCALClusterize.cxx:1358
 AliAnalysisTaskEMCALClusterize.cxx:1359
 AliAnalysisTaskEMCALClusterize.cxx:1360
 AliAnalysisTaskEMCALClusterize.cxx:1361
 AliAnalysisTaskEMCALClusterize.cxx:1362
 AliAnalysisTaskEMCALClusterize.cxx:1363
 AliAnalysisTaskEMCALClusterize.cxx:1364
 AliAnalysisTaskEMCALClusterize.cxx:1365
 AliAnalysisTaskEMCALClusterize.cxx:1366
 AliAnalysisTaskEMCALClusterize.cxx:1367
 AliAnalysisTaskEMCALClusterize.cxx:1368
 AliAnalysisTaskEMCALClusterize.cxx:1369
 AliAnalysisTaskEMCALClusterize.cxx:1370
 AliAnalysisTaskEMCALClusterize.cxx:1371
 AliAnalysisTaskEMCALClusterize.cxx:1372
 AliAnalysisTaskEMCALClusterize.cxx:1373
 AliAnalysisTaskEMCALClusterize.cxx:1374
 AliAnalysisTaskEMCALClusterize.cxx:1375
 AliAnalysisTaskEMCALClusterize.cxx:1376
 AliAnalysisTaskEMCALClusterize.cxx:1377
 AliAnalysisTaskEMCALClusterize.cxx:1378
 AliAnalysisTaskEMCALClusterize.cxx:1379
 AliAnalysisTaskEMCALClusterize.cxx:1380
 AliAnalysisTaskEMCALClusterize.cxx:1381
 AliAnalysisTaskEMCALClusterize.cxx:1382
 AliAnalysisTaskEMCALClusterize.cxx:1383
 AliAnalysisTaskEMCALClusterize.cxx:1384
 AliAnalysisTaskEMCALClusterize.cxx:1385
 AliAnalysisTaskEMCALClusterize.cxx:1386
 AliAnalysisTaskEMCALClusterize.cxx:1387
 AliAnalysisTaskEMCALClusterize.cxx:1388
 AliAnalysisTaskEMCALClusterize.cxx:1389
 AliAnalysisTaskEMCALClusterize.cxx:1390
 AliAnalysisTaskEMCALClusterize.cxx:1391
 AliAnalysisTaskEMCALClusterize.cxx:1392
 AliAnalysisTaskEMCALClusterize.cxx:1393
 AliAnalysisTaskEMCALClusterize.cxx:1394
 AliAnalysisTaskEMCALClusterize.cxx:1395
 AliAnalysisTaskEMCALClusterize.cxx:1396
 AliAnalysisTaskEMCALClusterize.cxx:1397
 AliAnalysisTaskEMCALClusterize.cxx:1398
 AliAnalysisTaskEMCALClusterize.cxx:1399
 AliAnalysisTaskEMCALClusterize.cxx:1400
 AliAnalysisTaskEMCALClusterize.cxx:1401
 AliAnalysisTaskEMCALClusterize.cxx:1402
 AliAnalysisTaskEMCALClusterize.cxx:1403
 AliAnalysisTaskEMCALClusterize.cxx:1404
 AliAnalysisTaskEMCALClusterize.cxx:1405
 AliAnalysisTaskEMCALClusterize.cxx:1406
 AliAnalysisTaskEMCALClusterize.cxx:1407
 AliAnalysisTaskEMCALClusterize.cxx:1408
 AliAnalysisTaskEMCALClusterize.cxx:1409
 AliAnalysisTaskEMCALClusterize.cxx:1410
 AliAnalysisTaskEMCALClusterize.cxx:1411
 AliAnalysisTaskEMCALClusterize.cxx:1412
 AliAnalysisTaskEMCALClusterize.cxx:1413
 AliAnalysisTaskEMCALClusterize.cxx:1414
 AliAnalysisTaskEMCALClusterize.cxx:1415
 AliAnalysisTaskEMCALClusterize.cxx:1416
 AliAnalysisTaskEMCALClusterize.cxx:1417
 AliAnalysisTaskEMCALClusterize.cxx:1418
 AliAnalysisTaskEMCALClusterize.cxx:1419
 AliAnalysisTaskEMCALClusterize.cxx:1420
 AliAnalysisTaskEMCALClusterize.cxx:1421
 AliAnalysisTaskEMCALClusterize.cxx:1422
 AliAnalysisTaskEMCALClusterize.cxx:1423
 AliAnalysisTaskEMCALClusterize.cxx:1424
 AliAnalysisTaskEMCALClusterize.cxx:1425
 AliAnalysisTaskEMCALClusterize.cxx:1426
 AliAnalysisTaskEMCALClusterize.cxx:1427
 AliAnalysisTaskEMCALClusterize.cxx:1428
 AliAnalysisTaskEMCALClusterize.cxx:1429
 AliAnalysisTaskEMCALClusterize.cxx:1430
 AliAnalysisTaskEMCALClusterize.cxx:1431
 AliAnalysisTaskEMCALClusterize.cxx:1432
 AliAnalysisTaskEMCALClusterize.cxx:1433
 AliAnalysisTaskEMCALClusterize.cxx:1434
 AliAnalysisTaskEMCALClusterize.cxx:1435
 AliAnalysisTaskEMCALClusterize.cxx:1436
 AliAnalysisTaskEMCALClusterize.cxx:1437
 AliAnalysisTaskEMCALClusterize.cxx:1438
 AliAnalysisTaskEMCALClusterize.cxx:1439
 AliAnalysisTaskEMCALClusterize.cxx:1440
 AliAnalysisTaskEMCALClusterize.cxx:1441
 AliAnalysisTaskEMCALClusterize.cxx:1442
 AliAnalysisTaskEMCALClusterize.cxx:1443
 AliAnalysisTaskEMCALClusterize.cxx:1444
 AliAnalysisTaskEMCALClusterize.cxx:1445
 AliAnalysisTaskEMCALClusterize.cxx:1446
 AliAnalysisTaskEMCALClusterize.cxx:1447
 AliAnalysisTaskEMCALClusterize.cxx:1448
 AliAnalysisTaskEMCALClusterize.cxx:1449
 AliAnalysisTaskEMCALClusterize.cxx:1450
 AliAnalysisTaskEMCALClusterize.cxx:1451
 AliAnalysisTaskEMCALClusterize.cxx:1452
 AliAnalysisTaskEMCALClusterize.cxx:1453
 AliAnalysisTaskEMCALClusterize.cxx:1454
 AliAnalysisTaskEMCALClusterize.cxx:1455
 AliAnalysisTaskEMCALClusterize.cxx:1456
 AliAnalysisTaskEMCALClusterize.cxx:1457
 AliAnalysisTaskEMCALClusterize.cxx:1458
 AliAnalysisTaskEMCALClusterize.cxx:1459
 AliAnalysisTaskEMCALClusterize.cxx:1460
 AliAnalysisTaskEMCALClusterize.cxx:1461
 AliAnalysisTaskEMCALClusterize.cxx:1462
 AliAnalysisTaskEMCALClusterize.cxx:1463
 AliAnalysisTaskEMCALClusterize.cxx:1464
 AliAnalysisTaskEMCALClusterize.cxx:1465
 AliAnalysisTaskEMCALClusterize.cxx:1466
 AliAnalysisTaskEMCALClusterize.cxx:1467
 AliAnalysisTaskEMCALClusterize.cxx:1468
 AliAnalysisTaskEMCALClusterize.cxx:1469
 AliAnalysisTaskEMCALClusterize.cxx:1470
 AliAnalysisTaskEMCALClusterize.cxx:1471
 AliAnalysisTaskEMCALClusterize.cxx:1472
 AliAnalysisTaskEMCALClusterize.cxx:1473
 AliAnalysisTaskEMCALClusterize.cxx:1474
 AliAnalysisTaskEMCALClusterize.cxx:1475
 AliAnalysisTaskEMCALClusterize.cxx:1476
 AliAnalysisTaskEMCALClusterize.cxx:1477
 AliAnalysisTaskEMCALClusterize.cxx:1478
 AliAnalysisTaskEMCALClusterize.cxx:1479
 AliAnalysisTaskEMCALClusterize.cxx:1480
 AliAnalysisTaskEMCALClusterize.cxx:1481
 AliAnalysisTaskEMCALClusterize.cxx:1482
 AliAnalysisTaskEMCALClusterize.cxx:1483
 AliAnalysisTaskEMCALClusterize.cxx:1484
 AliAnalysisTaskEMCALClusterize.cxx:1485
 AliAnalysisTaskEMCALClusterize.cxx:1486
 AliAnalysisTaskEMCALClusterize.cxx:1487
 AliAnalysisTaskEMCALClusterize.cxx:1488
 AliAnalysisTaskEMCALClusterize.cxx:1489
 AliAnalysisTaskEMCALClusterize.cxx:1490
 AliAnalysisTaskEMCALClusterize.cxx:1491
 AliAnalysisTaskEMCALClusterize.cxx:1492
 AliAnalysisTaskEMCALClusterize.cxx:1493
 AliAnalysisTaskEMCALClusterize.cxx:1494
 AliAnalysisTaskEMCALClusterize.cxx:1495
 AliAnalysisTaskEMCALClusterize.cxx:1496
 AliAnalysisTaskEMCALClusterize.cxx:1497
 AliAnalysisTaskEMCALClusterize.cxx:1498
 AliAnalysisTaskEMCALClusterize.cxx:1499
 AliAnalysisTaskEMCALClusterize.cxx:1500
 AliAnalysisTaskEMCALClusterize.cxx:1501
 AliAnalysisTaskEMCALClusterize.cxx:1502
 AliAnalysisTaskEMCALClusterize.cxx:1503
 AliAnalysisTaskEMCALClusterize.cxx:1504
 AliAnalysisTaskEMCALClusterize.cxx:1505
 AliAnalysisTaskEMCALClusterize.cxx:1506
 AliAnalysisTaskEMCALClusterize.cxx:1507
 AliAnalysisTaskEMCALClusterize.cxx:1508
 AliAnalysisTaskEMCALClusterize.cxx:1509
 AliAnalysisTaskEMCALClusterize.cxx:1510
 AliAnalysisTaskEMCALClusterize.cxx:1511
 AliAnalysisTaskEMCALClusterize.cxx:1512
 AliAnalysisTaskEMCALClusterize.cxx:1513
 AliAnalysisTaskEMCALClusterize.cxx:1514
 AliAnalysisTaskEMCALClusterize.cxx:1515
 AliAnalysisTaskEMCALClusterize.cxx:1516
 AliAnalysisTaskEMCALClusterize.cxx:1517
 AliAnalysisTaskEMCALClusterize.cxx:1518
 AliAnalysisTaskEMCALClusterize.cxx:1519
 AliAnalysisTaskEMCALClusterize.cxx:1520
 AliAnalysisTaskEMCALClusterize.cxx:1521
 AliAnalysisTaskEMCALClusterize.cxx:1522
 AliAnalysisTaskEMCALClusterize.cxx:1523
 AliAnalysisTaskEMCALClusterize.cxx:1524
 AliAnalysisTaskEMCALClusterize.cxx:1525
 AliAnalysisTaskEMCALClusterize.cxx:1526
 AliAnalysisTaskEMCALClusterize.cxx:1527
 AliAnalysisTaskEMCALClusterize.cxx:1528
 AliAnalysisTaskEMCALClusterize.cxx:1529
 AliAnalysisTaskEMCALClusterize.cxx:1530
 AliAnalysisTaskEMCALClusterize.cxx:1531
 AliAnalysisTaskEMCALClusterize.cxx:1532
 AliAnalysisTaskEMCALClusterize.cxx:1533
 AliAnalysisTaskEMCALClusterize.cxx:1534
 AliAnalysisTaskEMCALClusterize.cxx:1535
 AliAnalysisTaskEMCALClusterize.cxx:1536
 AliAnalysisTaskEMCALClusterize.cxx:1537
 AliAnalysisTaskEMCALClusterize.cxx:1538
 AliAnalysisTaskEMCALClusterize.cxx:1539
 AliAnalysisTaskEMCALClusterize.cxx:1540
 AliAnalysisTaskEMCALClusterize.cxx:1541
 AliAnalysisTaskEMCALClusterize.cxx:1542
 AliAnalysisTaskEMCALClusterize.cxx:1543
 AliAnalysisTaskEMCALClusterize.cxx:1544
 AliAnalysisTaskEMCALClusterize.cxx:1545
 AliAnalysisTaskEMCALClusterize.cxx:1546
 AliAnalysisTaskEMCALClusterize.cxx:1547
 AliAnalysisTaskEMCALClusterize.cxx:1548
 AliAnalysisTaskEMCALClusterize.cxx:1549
 AliAnalysisTaskEMCALClusterize.cxx:1550
 AliAnalysisTaskEMCALClusterize.cxx:1551
 AliAnalysisTaskEMCALClusterize.cxx:1552
 AliAnalysisTaskEMCALClusterize.cxx:1553
 AliAnalysisTaskEMCALClusterize.cxx:1554
 AliAnalysisTaskEMCALClusterize.cxx:1555
 AliAnalysisTaskEMCALClusterize.cxx:1556
 AliAnalysisTaskEMCALClusterize.cxx:1557
 AliAnalysisTaskEMCALClusterize.cxx:1558
 AliAnalysisTaskEMCALClusterize.cxx:1559
 AliAnalysisTaskEMCALClusterize.cxx:1560
 AliAnalysisTaskEMCALClusterize.cxx:1561
 AliAnalysisTaskEMCALClusterize.cxx:1562
 AliAnalysisTaskEMCALClusterize.cxx:1563
 AliAnalysisTaskEMCALClusterize.cxx:1564
 AliAnalysisTaskEMCALClusterize.cxx:1565
 AliAnalysisTaskEMCALClusterize.cxx:1566
 AliAnalysisTaskEMCALClusterize.cxx:1567
 AliAnalysisTaskEMCALClusterize.cxx:1568
 AliAnalysisTaskEMCALClusterize.cxx:1569
 AliAnalysisTaskEMCALClusterize.cxx:1570
 AliAnalysisTaskEMCALClusterize.cxx:1571
 AliAnalysisTaskEMCALClusterize.cxx:1572
 AliAnalysisTaskEMCALClusterize.cxx:1573
 AliAnalysisTaskEMCALClusterize.cxx:1574
 AliAnalysisTaskEMCALClusterize.cxx:1575
 AliAnalysisTaskEMCALClusterize.cxx:1576
 AliAnalysisTaskEMCALClusterize.cxx:1577
 AliAnalysisTaskEMCALClusterize.cxx:1578
 AliAnalysisTaskEMCALClusterize.cxx:1579
 AliAnalysisTaskEMCALClusterize.cxx:1580
 AliAnalysisTaskEMCALClusterize.cxx:1581
 AliAnalysisTaskEMCALClusterize.cxx:1582
 AliAnalysisTaskEMCALClusterize.cxx:1583
 AliAnalysisTaskEMCALClusterize.cxx:1584
 AliAnalysisTaskEMCALClusterize.cxx:1585
 AliAnalysisTaskEMCALClusterize.cxx:1586
 AliAnalysisTaskEMCALClusterize.cxx:1587
 AliAnalysisTaskEMCALClusterize.cxx:1588
 AliAnalysisTaskEMCALClusterize.cxx:1589
 AliAnalysisTaskEMCALClusterize.cxx:1590
 AliAnalysisTaskEMCALClusterize.cxx:1591
 AliAnalysisTaskEMCALClusterize.cxx:1592
 AliAnalysisTaskEMCALClusterize.cxx:1593
 AliAnalysisTaskEMCALClusterize.cxx:1594
 AliAnalysisTaskEMCALClusterize.cxx:1595
 AliAnalysisTaskEMCALClusterize.cxx:1596
 AliAnalysisTaskEMCALClusterize.cxx:1597
 AliAnalysisTaskEMCALClusterize.cxx:1598
 AliAnalysisTaskEMCALClusterize.cxx:1599
 AliAnalysisTaskEMCALClusterize.cxx:1600
 AliAnalysisTaskEMCALClusterize.cxx:1601
 AliAnalysisTaskEMCALClusterize.cxx:1602
 AliAnalysisTaskEMCALClusterize.cxx:1603
 AliAnalysisTaskEMCALClusterize.cxx:1604
 AliAnalysisTaskEMCALClusterize.cxx:1605
 AliAnalysisTaskEMCALClusterize.cxx:1606
 AliAnalysisTaskEMCALClusterize.cxx:1607
 AliAnalysisTaskEMCALClusterize.cxx:1608
 AliAnalysisTaskEMCALClusterize.cxx:1609
 AliAnalysisTaskEMCALClusterize.cxx:1610
 AliAnalysisTaskEMCALClusterize.cxx:1611
 AliAnalysisTaskEMCALClusterize.cxx:1612
 AliAnalysisTaskEMCALClusterize.cxx:1613
 AliAnalysisTaskEMCALClusterize.cxx:1614
 AliAnalysisTaskEMCALClusterize.cxx:1615
 AliAnalysisTaskEMCALClusterize.cxx:1616
 AliAnalysisTaskEMCALClusterize.cxx:1617
 AliAnalysisTaskEMCALClusterize.cxx:1618
 AliAnalysisTaskEMCALClusterize.cxx:1619
 AliAnalysisTaskEMCALClusterize.cxx:1620
 AliAnalysisTaskEMCALClusterize.cxx:1621
 AliAnalysisTaskEMCALClusterize.cxx:1622
 AliAnalysisTaskEMCALClusterize.cxx:1623
 AliAnalysisTaskEMCALClusterize.cxx:1624
 AliAnalysisTaskEMCALClusterize.cxx:1625
 AliAnalysisTaskEMCALClusterize.cxx:1626
 AliAnalysisTaskEMCALClusterize.cxx:1627
 AliAnalysisTaskEMCALClusterize.cxx:1628
 AliAnalysisTaskEMCALClusterize.cxx:1629
 AliAnalysisTaskEMCALClusterize.cxx:1630
 AliAnalysisTaskEMCALClusterize.cxx:1631
 AliAnalysisTaskEMCALClusterize.cxx:1632
 AliAnalysisTaskEMCALClusterize.cxx:1633
 AliAnalysisTaskEMCALClusterize.cxx:1634
 AliAnalysisTaskEMCALClusterize.cxx:1635
 AliAnalysisTaskEMCALClusterize.cxx:1636
 AliAnalysisTaskEMCALClusterize.cxx:1637
 AliAnalysisTaskEMCALClusterize.cxx:1638
 AliAnalysisTaskEMCALClusterize.cxx:1639
 AliAnalysisTaskEMCALClusterize.cxx:1640
 AliAnalysisTaskEMCALClusterize.cxx:1641
 AliAnalysisTaskEMCALClusterize.cxx:1642
 AliAnalysisTaskEMCALClusterize.cxx:1643
 AliAnalysisTaskEMCALClusterize.cxx:1644
 AliAnalysisTaskEMCALClusterize.cxx:1645
 AliAnalysisTaskEMCALClusterize.cxx:1646
 AliAnalysisTaskEMCALClusterize.cxx:1647
 AliAnalysisTaskEMCALClusterize.cxx:1648
 AliAnalysisTaskEMCALClusterize.cxx:1649
 AliAnalysisTaskEMCALClusterize.cxx:1650
 AliAnalysisTaskEMCALClusterize.cxx:1651
 AliAnalysisTaskEMCALClusterize.cxx:1652
 AliAnalysisTaskEMCALClusterize.cxx:1653
 AliAnalysisTaskEMCALClusterize.cxx:1654
 AliAnalysisTaskEMCALClusterize.cxx:1655
 AliAnalysisTaskEMCALClusterize.cxx:1656
 AliAnalysisTaskEMCALClusterize.cxx:1657
 AliAnalysisTaskEMCALClusterize.cxx:1658
 AliAnalysisTaskEMCALClusterize.cxx:1659
 AliAnalysisTaskEMCALClusterize.cxx:1660
 AliAnalysisTaskEMCALClusterize.cxx:1661
 AliAnalysisTaskEMCALClusterize.cxx:1662
 AliAnalysisTaskEMCALClusterize.cxx:1663
 AliAnalysisTaskEMCALClusterize.cxx:1664
 AliAnalysisTaskEMCALClusterize.cxx:1665
 AliAnalysisTaskEMCALClusterize.cxx:1666
 AliAnalysisTaskEMCALClusterize.cxx:1667
 AliAnalysisTaskEMCALClusterize.cxx:1668
 AliAnalysisTaskEMCALClusterize.cxx:1669
 AliAnalysisTaskEMCALClusterize.cxx:1670
 AliAnalysisTaskEMCALClusterize.cxx:1671
 AliAnalysisTaskEMCALClusterize.cxx:1672
 AliAnalysisTaskEMCALClusterize.cxx:1673
 AliAnalysisTaskEMCALClusterize.cxx:1674
 AliAnalysisTaskEMCALClusterize.cxx:1675
 AliAnalysisTaskEMCALClusterize.cxx:1676
 AliAnalysisTaskEMCALClusterize.cxx:1677
 AliAnalysisTaskEMCALClusterize.cxx:1678
 AliAnalysisTaskEMCALClusterize.cxx:1679
 AliAnalysisTaskEMCALClusterize.cxx:1680
 AliAnalysisTaskEMCALClusterize.cxx:1681
 AliAnalysisTaskEMCALClusterize.cxx:1682
 AliAnalysisTaskEMCALClusterize.cxx:1683
 AliAnalysisTaskEMCALClusterize.cxx:1684
 AliAnalysisTaskEMCALClusterize.cxx:1685
 AliAnalysisTaskEMCALClusterize.cxx:1686
 AliAnalysisTaskEMCALClusterize.cxx:1687
 AliAnalysisTaskEMCALClusterize.cxx:1688
 AliAnalysisTaskEMCALClusterize.cxx:1689
 AliAnalysisTaskEMCALClusterize.cxx:1690
 AliAnalysisTaskEMCALClusterize.cxx:1691
 AliAnalysisTaskEMCALClusterize.cxx:1692
 AliAnalysisTaskEMCALClusterize.cxx:1693
 AliAnalysisTaskEMCALClusterize.cxx:1694
 AliAnalysisTaskEMCALClusterize.cxx:1695
 AliAnalysisTaskEMCALClusterize.cxx:1696
 AliAnalysisTaskEMCALClusterize.cxx:1697
 AliAnalysisTaskEMCALClusterize.cxx:1698
 AliAnalysisTaskEMCALClusterize.cxx:1699
 AliAnalysisTaskEMCALClusterize.cxx:1700
 AliAnalysisTaskEMCALClusterize.cxx:1701
 AliAnalysisTaskEMCALClusterize.cxx:1702
 AliAnalysisTaskEMCALClusterize.cxx:1703
 AliAnalysisTaskEMCALClusterize.cxx:1704
 AliAnalysisTaskEMCALClusterize.cxx:1705
 AliAnalysisTaskEMCALClusterize.cxx:1706
 AliAnalysisTaskEMCALClusterize.cxx:1707
 AliAnalysisTaskEMCALClusterize.cxx:1708
 AliAnalysisTaskEMCALClusterize.cxx:1709
 AliAnalysisTaskEMCALClusterize.cxx:1710
 AliAnalysisTaskEMCALClusterize.cxx:1711
 AliAnalysisTaskEMCALClusterize.cxx:1712
 AliAnalysisTaskEMCALClusterize.cxx:1713
 AliAnalysisTaskEMCALClusterize.cxx:1714
 AliAnalysisTaskEMCALClusterize.cxx:1715
 AliAnalysisTaskEMCALClusterize.cxx:1716
 AliAnalysisTaskEMCALClusterize.cxx:1717
 AliAnalysisTaskEMCALClusterize.cxx:1718
 AliAnalysisTaskEMCALClusterize.cxx:1719
 AliAnalysisTaskEMCALClusterize.cxx:1720
 AliAnalysisTaskEMCALClusterize.cxx:1721
 AliAnalysisTaskEMCALClusterize.cxx:1722
 AliAnalysisTaskEMCALClusterize.cxx:1723
 AliAnalysisTaskEMCALClusterize.cxx:1724
 AliAnalysisTaskEMCALClusterize.cxx:1725
 AliAnalysisTaskEMCALClusterize.cxx:1726
 AliAnalysisTaskEMCALClusterize.cxx:1727
 AliAnalysisTaskEMCALClusterize.cxx:1728
 AliAnalysisTaskEMCALClusterize.cxx:1729
 AliAnalysisTaskEMCALClusterize.cxx:1730
 AliAnalysisTaskEMCALClusterize.cxx:1731
 AliAnalysisTaskEMCALClusterize.cxx:1732
 AliAnalysisTaskEMCALClusterize.cxx:1733
 AliAnalysisTaskEMCALClusterize.cxx:1734
 AliAnalysisTaskEMCALClusterize.cxx:1735
 AliAnalysisTaskEMCALClusterize.cxx:1736
 AliAnalysisTaskEMCALClusterize.cxx:1737
 AliAnalysisTaskEMCALClusterize.cxx:1738
 AliAnalysisTaskEMCALClusterize.cxx:1739
 AliAnalysisTaskEMCALClusterize.cxx:1740
 AliAnalysisTaskEMCALClusterize.cxx:1741
 AliAnalysisTaskEMCALClusterize.cxx:1742
 AliAnalysisTaskEMCALClusterize.cxx:1743
 AliAnalysisTaskEMCALClusterize.cxx:1744
 AliAnalysisTaskEMCALClusterize.cxx:1745
 AliAnalysisTaskEMCALClusterize.cxx:1746
 AliAnalysisTaskEMCALClusterize.cxx:1747
 AliAnalysisTaskEMCALClusterize.cxx:1748
 AliAnalysisTaskEMCALClusterize.cxx:1749
 AliAnalysisTaskEMCALClusterize.cxx:1750
 AliAnalysisTaskEMCALClusterize.cxx:1751
 AliAnalysisTaskEMCALClusterize.cxx:1752
 AliAnalysisTaskEMCALClusterize.cxx:1753
 AliAnalysisTaskEMCALClusterize.cxx:1754
 AliAnalysisTaskEMCALClusterize.cxx:1755
 AliAnalysisTaskEMCALClusterize.cxx:1756
 AliAnalysisTaskEMCALClusterize.cxx:1757
 AliAnalysisTaskEMCALClusterize.cxx:1758
 AliAnalysisTaskEMCALClusterize.cxx:1759
 AliAnalysisTaskEMCALClusterize.cxx:1760
 AliAnalysisTaskEMCALClusterize.cxx:1761
 AliAnalysisTaskEMCALClusterize.cxx:1762
 AliAnalysisTaskEMCALClusterize.cxx:1763
 AliAnalysisTaskEMCALClusterize.cxx:1764
 AliAnalysisTaskEMCALClusterize.cxx:1765
 AliAnalysisTaskEMCALClusterize.cxx:1766
 AliAnalysisTaskEMCALClusterize.cxx:1767
 AliAnalysisTaskEMCALClusterize.cxx:1768
 AliAnalysisTaskEMCALClusterize.cxx:1769
 AliAnalysisTaskEMCALClusterize.cxx:1770
 AliAnalysisTaskEMCALClusterize.cxx:1771
 AliAnalysisTaskEMCALClusterize.cxx:1772
 AliAnalysisTaskEMCALClusterize.cxx:1773
 AliAnalysisTaskEMCALClusterize.cxx:1774
 AliAnalysisTaskEMCALClusterize.cxx:1775
 AliAnalysisTaskEMCALClusterize.cxx:1776
 AliAnalysisTaskEMCALClusterize.cxx:1777
 AliAnalysisTaskEMCALClusterize.cxx:1778
 AliAnalysisTaskEMCALClusterize.cxx:1779
 AliAnalysisTaskEMCALClusterize.cxx:1780
 AliAnalysisTaskEMCALClusterize.cxx:1781
 AliAnalysisTaskEMCALClusterize.cxx:1782
 AliAnalysisTaskEMCALClusterize.cxx:1783
 AliAnalysisTaskEMCALClusterize.cxx:1784
 AliAnalysisTaskEMCALClusterize.cxx:1785
 AliAnalysisTaskEMCALClusterize.cxx:1786
 AliAnalysisTaskEMCALClusterize.cxx:1787
 AliAnalysisTaskEMCALClusterize.cxx:1788
 AliAnalysisTaskEMCALClusterize.cxx:1789
 AliAnalysisTaskEMCALClusterize.cxx:1790
 AliAnalysisTaskEMCALClusterize.cxx:1791
 AliAnalysisTaskEMCALClusterize.cxx:1792
 AliAnalysisTaskEMCALClusterize.cxx:1793
 AliAnalysisTaskEMCALClusterize.cxx:1794
 AliAnalysisTaskEMCALClusterize.cxx:1795
 AliAnalysisTaskEMCALClusterize.cxx:1796
 AliAnalysisTaskEMCALClusterize.cxx:1797
 AliAnalysisTaskEMCALClusterize.cxx:1798
 AliAnalysisTaskEMCALClusterize.cxx:1799
 AliAnalysisTaskEMCALClusterize.cxx:1800
 AliAnalysisTaskEMCALClusterize.cxx:1801
 AliAnalysisTaskEMCALClusterize.cxx:1802
 AliAnalysisTaskEMCALClusterize.cxx:1803
 AliAnalysisTaskEMCALClusterize.cxx:1804
 AliAnalysisTaskEMCALClusterize.cxx:1805
 AliAnalysisTaskEMCALClusterize.cxx:1806
 AliAnalysisTaskEMCALClusterize.cxx:1807
 AliAnalysisTaskEMCALClusterize.cxx:1808
 AliAnalysisTaskEMCALClusterize.cxx:1809
 AliAnalysisTaskEMCALClusterize.cxx:1810
 AliAnalysisTaskEMCALClusterize.cxx:1811
 AliAnalysisTaskEMCALClusterize.cxx:1812
 AliAnalysisTaskEMCALClusterize.cxx:1813
 AliAnalysisTaskEMCALClusterize.cxx:1814
 AliAnalysisTaskEMCALClusterize.cxx:1815
 AliAnalysisTaskEMCALClusterize.cxx:1816
 AliAnalysisTaskEMCALClusterize.cxx:1817
 AliAnalysisTaskEMCALClusterize.cxx:1818
 AliAnalysisTaskEMCALClusterize.cxx:1819
 AliAnalysisTaskEMCALClusterize.cxx:1820
 AliAnalysisTaskEMCALClusterize.cxx:1821
 AliAnalysisTaskEMCALClusterize.cxx:1822
 AliAnalysisTaskEMCALClusterize.cxx:1823
 AliAnalysisTaskEMCALClusterize.cxx:1824
 AliAnalysisTaskEMCALClusterize.cxx:1825
 AliAnalysisTaskEMCALClusterize.cxx:1826
 AliAnalysisTaskEMCALClusterize.cxx:1827
 AliAnalysisTaskEMCALClusterize.cxx:1828