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.                  *
 **************************************************************************/

//////////////////////////////////////////////////////////
// Filter the ESDCaloClusters and ESDCaloCells of EMCAL,
// PHOS or both, creating the corresponing AODCaloClusters
// and AODCaloCells.
// Keep also the AODHeader information and the vertex.
// Keep tracks, v0s, VZERO if requested
// Select events containing a cluster or track avobe a given threshold
// Copy of AliAnalysisTaskESDfilter.
// Author: Gustavo Conesa Balbastre (INFN - Frascati)
//////////////////////////////////////////////////////////

//Root
#include "TGeoManager.h"
#include "TFile.h"
#include "TROOT.h"
#include "TInterpreter.h"

//STEER
#include "AliESDEvent.h"
#include "AliAODEvent.h"
#include "AliLog.h"
#include "AliVCluster.h"
#include "AliVCaloCells.h"
#include "AliVEventHandler.h"
#include "AliAODHandler.h"
#include "AliAnalysisManager.h"
#include "AliInputEventHandler.h"

//EMCAL
#include "AliEMCALRecoUtils.h"
#include "AliEMCALGeometry.h"

#include "AliAnalysisTaskCaloFilter.h"

ClassImp(AliAnalysisTaskCaloFilter)

////////////////////////////////////////////////////////////////////////

AliAnalysisTaskCaloFilter::AliAnalysisTaskCaloFilter():
AliAnalysisTaskSE("CaloFilterTask"), 
fCaloFilter(0),           fEventSelection(), 
fAcceptAllMBEvent(kFALSE),fMBTriggerMask(AliVEvent::kMB), 
fCorrect(kFALSE), 
fEMCALGeo(0x0),           fEMCALGeoName("EMCAL_COMPLETE12SMV1"), 
fEMCALRecoUtils(new AliEMCALRecoUtils),
fLoadEMCALMatrices(kFALSE), //fLoadPHOSMatrices(kFALSE),
fGeoMatrixSet(kFALSE),
fConfigName(""),          fFillAODFile(kTRUE), 
fFillMCParticles(kFALSE),
fFillTracks(kFALSE),      fFillHybridTracks(kFALSE),
fFillAllVertices(kFALSE), fFillv0s(kFALSE),  
fFillVZERO(kFALSE),
fEMCALEnergyCut(0.),      fEMCALNcellsCut (0),
fPHOSEnergyCut(0.),       fPHOSNcellsCut (0), 
fTrackPtCut(-1),
fVzCut(100.),             fCheckEventVertex(kTRUE),
fEvent(0x0),              
fESDEvent(0x0),           fAODEvent(0x0)
{
  // Default constructor
  
  fEventSelection[0] = kFALSE;
  fEventSelection[1] = kFALSE;
  fEventSelection[2] = kFALSE;
  
  for(Int_t i = 0; i < 12; i++) fEMCALMatrix[i] = 0 ;
  //for(Int_t i = 0; i < 5 ; i++) fPHOSMatrix[i]  = 0 ;
  
}

//__________________________________________________
AliAnalysisTaskCaloFilter::AliAnalysisTaskCaloFilter(const char* name):
AliAnalysisTaskSE(name), 
fCaloFilter(0),           fEventSelection(), 
fAcceptAllMBEvent(kFALSE),fMBTriggerMask(AliVEvent::kMB), 
fCorrect(kFALSE),
fEMCALGeo(0x0),           fEMCALGeoName("EMCAL_COMPLETE12SMV1"), 
fEMCALRecoUtils(new AliEMCALRecoUtils),
fLoadEMCALMatrices(kFALSE), //fLoadPHOSMatrices(kFALSE),
fGeoMatrixSet(kFALSE),
fConfigName(""),          fFillAODFile(kTRUE),
fFillMCParticles(kFALSE),
fFillTracks(kFALSE),      fFillHybridTracks(kFALSE),
fFillAllVertices(kFALSE), fFillv0s(kFALSE),
fFillVZERO(kFALSE),
fEMCALEnergyCut(0.),      fEMCALNcellsCut(0), 
fPHOSEnergyCut(0.),       fPHOSNcellsCut(0), 
fTrackPtCut(-1),
fVzCut(100.),             fCheckEventVertex(kTRUE),
fEvent(0x0),              
fESDEvent(0x0),           fAODEvent(0x0)
{
  // Constructor
  
  fEventSelection[0] = kFALSE;
  fEventSelection[1] = kFALSE;
  fEventSelection[2] = kFALSE;  
  
  for(Int_t i = 0; i < 12; i++) fEMCALMatrix[i] = 0 ;
  //for(Int_t i = 0; i < 5 ; i++) fPHOSMatrix[i]  = 0 ;
  
}

//__________________________________________________
AliAnalysisTaskCaloFilter::~AliAnalysisTaskCaloFilter()
{
  //Destructor.
	
  if(fEMCALGeo)        delete fEMCALGeo;	
  if(fEMCALRecoUtils)  delete fEMCALRecoUtils;
  
}

//_____________________________________________
Bool_t AliAnalysisTaskCaloFilter::AcceptEvent()
{
  // Define conditions to accept the event to be filtered
  
  if(!AcceptEventVertex()) return kFALSE;
  
  Bool_t eventSel = kFALSE;
  
  Bool_t isMB = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & fMBTriggerMask);
  
  if     ( isMB && fAcceptAllMBEvent )                eventSel = kTRUE; // accept any MB event
  
  else if( fEventSelection[0] && AcceptEventEMCAL() ) eventSel = kTRUE; // accept event depending on EMCAL activity
  
  else if( fEventSelection[1] && AcceptEventPHOS () ) eventSel = kTRUE; // accept event depending on PHOS  activity
  
  else if( fEventSelection[2] && AcceptEventTrack() ) eventSel = kTRUE; // accept event depending on Track activity
    
  return eventSel ;
  
}

//__________________________________________________
Bool_t AliAnalysisTaskCaloFilter::AcceptEventEMCAL()
{
  // Accept event given there is a EMCAL cluster with enough energy, and not noisy, exotic
  
  if(fCaloFilter==kPHOS)   return kTRUE; // accept 
  
  if(fEMCALEnergyCut <= 0) return kTRUE; // accept
  
  Int_t           nCluster = InputEvent() -> GetNumberOfCaloClusters();
  AliVCaloCells * caloCell = InputEvent() -> GetEMCALCells();
  Int_t           bc       = InputEvent() -> GetBunchCrossNumber();
  
  for(Int_t icalo = 0; icalo < nCluster; icalo++)
  {
    AliVCluster *clus = (AliVCluster*) (InputEvent()->GetCaloCluster(icalo));
    
    if( ( clus->IsEMCAL() ) && ( clus->GetNCells() > fEMCALNcellsCut ) && ( clus->E() > fEMCALEnergyCut ) &&
       fEMCALRecoUtils->IsGoodCluster(clus,fEMCALGeo,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");

  //printf("Fired %s\n",((AliESDEvent*)InputEvent())->GetFiredTriggerClasses().Data());

  return kFALSE;
  
}  

//_________________________________________________
Bool_t AliAnalysisTaskCaloFilter::AcceptEventPHOS()
{
  // Accept event given there is a PHOS cluster with enough energy and not noisy/exotic
  
  if(fCaloFilter==kEMCAL) return kTRUE; // accept 
  
  if(fPHOSEnergyCut <= 0) return kTRUE; // accept
  
  Int_t nCluster = InputEvent() -> GetNumberOfCaloClusters();
  
  for(Int_t icalo = 0; icalo < nCluster; icalo++)
  {
    AliVCluster *clus = (AliVCluster*) (InputEvent()->GetCaloCluster(icalo));
    
    if( ( clus->IsPHOS() ) && ( clus->GetNCells() > fPHOSNcellsCut ) && ( clus->E() > fPHOSEnergyCut ))
    { 
      
      AliDebug(1,Form("Accept :  E %2.2f > %2.2f, nCells %d > %d",
                      clus->E(), fPHOSEnergyCut, clus->GetNCells(), fPHOSNcellsCut));
      
      return kTRUE;
    }
    
  }// loop
  
  AliDebug(1,"Reject");
  
  return kFALSE;
  
}  

//__________________________________________________
Bool_t AliAnalysisTaskCaloFilter::AcceptEventTrack()
{
  // Accept event if there is a track avobe a certain pT
  
  if(fTrackPtCut <= 0) return kTRUE; // accept
  
  Double_t pTrack[3] = {0,0,0};
  
  for (Int_t nTrack = 0; nTrack < fEvent->GetNumberOfTracks(); ++nTrack) 
  {
    AliVTrack *track = (AliVTrack*) fEvent->GetTrack(nTrack);
    
    // Select only hybrid tracks?
    if(fAODEvent && fFillHybridTracks && !((AliAODTrack*)track)->IsHybridGlobalConstrainedGlobal()) continue;
    
    track->GetPxPyPz(pTrack) ;
    
    TLorentzVector momentum(pTrack[0],pTrack[1],pTrack[2],0);
    
    if(momentum.Pt() > fTrackPtCut) 
    {
      AliDebug(1,Form("Accept :  pT %2.2f > %2.2f",momentum.Pt(), fTrackPtCut));

      return kTRUE;
    }
    
  } 
  
  AliDebug(1,"Reject");
  
  return kFALSE;
  
}  

//___________________________________________________
Bool_t AliAnalysisTaskCaloFilter::AcceptEventVertex()
{
  // Accept event with good vertex
  
  Double_t v[3];
  InputEvent()->GetPrimaryVertex()->GetXYZ(v) ;
  
  if(TMath::Abs(v[2]) > fVzCut) 
  {
    AliDebug(1,Form("Vz Reject : vz %2.2f > %2.2f",v[2],fVzCut));
    
    return kFALSE ;
  }
  
  return CheckForPrimaryVertex();
}  

//_______________________________________________________
Bool_t AliAnalysisTaskCaloFilter::CheckForPrimaryVertex()
{
  //Check if the vertex was well reconstructed, copy from v0Reader of conversion group
  //It only works for ESDs
  
  if(!fCheckEventVertex) return kTRUE;

  // AODs
  if(!fESDEvent) 
  {
    // Check that the vertex is not (0,0,0)
    Double_t v[3];
    InputEvent()->GetPrimaryVertex()->GetXYZ(v) ;
    
    if(TMath::Abs(v[2]) < 1e-6 && 
       TMath::Abs(v[1]) < 1e-6 && 
       TMath::Abs(v[0]) < 1e-6 ) 
    {
      AliDebug(1,"Reject v(0,0,0)");
      
      return kFALSE ;
    }
    
    return kTRUE;
  }
  
  // ESDs
  if(fESDEvent->GetPrimaryVertexTracks()->GetNContributors() > 0)
  {
    return kTRUE;
  }
  
  if(fESDEvent->GetPrimaryVertexTracks()->GetNContributors() < 1) 
  {
    // SPD vertex
    if(fESDEvent->GetPrimaryVertexSPD()->GetNContributors() > 0) 
    {
      //cout<<"spd vertex type::"<< fESDEvent->GetPrimaryVertex()->GetName() << endl;
      return kTRUE;
      
    }
    if(fESDEvent->GetPrimaryVertexSPD()->GetNContributors() < 1) 
    {
      //      cout<<"bad vertex type::"<< fESDEvent->GetPrimaryVertex()->GetName() << endl;
      AliDebug(1,"Reject, GetPrimaryVertexSPD()->GetNContributors() < 1");
      
      return kFALSE;
    }
  }
  
  AliDebug(1,"Reject, GetPrimaryVertexTracks()->GetNContributors() > 1");
  
  return kFALSE;
  
}

//__________________________________________________
void AliAnalysisTaskCaloFilter::CorrectionsInEMCAL()
{
  //If EMCAL, and requested, correct energy, position ...
  
  //Need to do this in a separate loop before filling the ESDs because of the track matching recalculations
  
  if(fCorrect && (fCaloFilter==kEMCAL || fCaloFilter==kBoth) ) 
  {
    if(!fGeoMatrixSet)
    {
      if(fLoadEMCALMatrices)
      {
        AliInfo("Load user defined EMCAL geometry matrices");
        for(Int_t mod=0; mod < (fEMCALGeo->GetEMCGeometry())->GetNumberOfSuperModules(); mod++)
        {
          if(fEMCALMatrix[mod])
          {
            if(DebugLevel() > 1) 
              fEMCALMatrix[mod]->Print();
            fEMCALGeo->SetMisalMatrix(fEMCALMatrix[mod],mod) ;  
          }
          fGeoMatrixSet=kTRUE;
        }//SM loop
      }//Load matrices
      else if(!gGeoManager)
      {
        AliInfo("Get geo matrices from data");
        //Still not implemented in AOD, just a workaround to be able to work at least with ESDs	
        if(!strcmp(InputEvent()->GetName(),"AliAODEvent")) 
        {
          AliDebug(1,"Use ideal geometry, values geometry matrix not kept in AODs");
        }//AOD
        else 
        {	
          AliDebug(1,"Load Misaligned matrices");
          AliESDEvent* esd = dynamic_cast<AliESDEvent*>(InputEvent()) ;
          if(!esd) 
          {
            AliInfo("This event does not contain ESDs?");
            return;
          }
          for(Int_t mod=0; mod < (fEMCALGeo->GetEMCGeometry())->GetNumberOfSuperModules(); mod++)
          {
            if(DebugLevel() > 1)
              esd->GetEMCALMatrix(mod)->Print();
            if(esd->GetEMCALMatrix(mod)) fEMCALGeo->SetMisalMatrix(esd->GetEMCALMatrix(mod),mod) ;
          } 
          fGeoMatrixSet=kTRUE;
        }//ESD
      }//Load matrices from Data 
      
    }//first event
    
    //Cluster Loop
    Int_t nCaloClus = InputEvent()->GetNumberOfCaloClusters();
    
    for (Int_t iClust=0; iClust<nCaloClus; ++iClust) 
    {
      AliVCluster * cluster = InputEvent()->GetCaloCluster(iClust);
      
      if(cluster->IsPHOS()) continue ;
      
      Float_t position[]={0,0,0};
      
      AliDebug(1,Form("Check cluster %d for bad channels and close to border",cluster->GetID()));
      
      if(fEMCALRecoUtils->ClusterContainsBadChannel(fEMCALGeo,cluster->GetCellsAbsId(), cluster->GetNCells())) continue;	
      
      AliDebug(2,Form("Filter, before  : i %d, E %f, dispersion %f, m02 %f, m20 %f, distToBad %f",iClust,cluster->E(),
                      cluster->GetDispersion(),cluster->GetM02(),cluster->GetM20(), cluster->GetDistanceToBadChannel()));
      cluster->GetPosition(position);
      AliDebug(2,Form("Filter, before  : i %d, x %f, y %f, z %f",cluster->GetID(), position[0], position[1], position[2]));
      
      //Recalculate distance to bad channels, if new list of bad channels provided
      fEMCALRecoUtils->RecalculateClusterDistanceToBadChannel(fEMCALGeo, InputEvent()->GetEMCALCells(), cluster);
      
      if(fEMCALRecoUtils->IsRecalibrationOn())	
      {
        fEMCALRecoUtils->RecalibrateClusterEnergy(fEMCALGeo, cluster, InputEvent()->GetEMCALCells());
        fEMCALRecoUtils->RecalculateClusterShowerShapeParameters(fEMCALGeo, InputEvent()->GetEMCALCells(),cluster);
        fEMCALRecoUtils->RecalculateClusterPID(cluster);
      }
      
      fEMCALRecoUtils->RecalculateClusterPosition(fEMCALGeo, InputEvent()->GetEMCALCells(),cluster);
      
      AliDebug(2,Form("Filter, after   : i %d, E %f, dispersion %f, m02 %f, m20 %f, distToBad %f",cluster->GetID(),cluster->E(),
                      cluster->GetDispersion(),cluster->GetM02(),cluster->GetM20(), cluster->GetDistanceToBadChannel()));
      cluster->GetPosition(position);
      AliDebug(1,Form("Filter, after   : i %d, x %f, y %f, z %f",cluster->GetID(), position[0], position[1], position[2]));
      
      cluster->SetE(fEMCALRecoUtils->CorrectClusterEnergyLinearity(cluster));
      
    }
    
    //Recalculate track-matching
    fEMCALRecoUtils->FindMatches(InputEvent(),0,fEMCALGeo);
    
  } // corrections in EMCAL
}

//________________________________________________
void AliAnalysisTaskCaloFilter::FillAODCaloCells()
{  
  // Fill EMCAL/PHOS cell info
  
  // EMCAL
  if ((fCaloFilter==kBoth ||  fCaloFilter==kEMCAL) && fEvent->GetEMCALCells()) 
  { // protection against missing ESD information
    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; 
      fEMCALGeo->GetCellIndex(eventEMcells.GetCellNumber(iCell),imod,iTower,iIphi,iIeta); 
      fEMCALGeo->GetCellPhiEtaIndexInSModule(imod,iTower,iIphi, iIeta,iphi,ieta);	
      
      if(fCorrect && fEMCALRecoUtils->IsRecalibrationOn())
      { 
        calibFactor = fEMCALRecoUtils->GetEMCALChannelRecalibrationFactor(imod,ieta,iphi);
      }
      
      if(!fEMCALRecoUtils->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));
        //printf("GOOD channel\n");
      }
      else 
      {
        aodEMcells.SetCell(iCell,eventEMcells.GetCellNumber(iCell),0,-1,-1,0);
        //printf("BAD channel\n");
      }
    }
    aodEMcells.Sort();
  }
  
  // PHOS 
  if ((fCaloFilter==kBoth ||  fCaloFilter==kPHOS) && fEvent->GetPHOSCells()) 
  { // protection against missing ESD information
    AliVCaloCells &eventPHcells = *(fEvent->GetPHOSCells());
    Int_t nPHcell = eventPHcells.GetNumberOfCells() ;
    
    AliAODCaloCells &aodPHcells = *(AODEvent()->GetPHOSCells());
    aodPHcells.CreateContainer(nPHcell);
    aodPHcells.SetType(AliVCaloCells::kPHOSCell);
    
    for (Int_t iCell = 0; iCell < nPHcell; iCell++) 
    {      
      aodPHcells.SetCell(iCell,eventPHcells.GetCellNumber(iCell),eventPHcells.GetAmplitude(iCell),
                         eventPHcells.GetTime(iCell),eventPHcells.GetMCLabel(iCell),eventPHcells.GetEFraction(iCell));
    }
    
    aodPHcells.Sort();
  }
}


//___________________________________________________
void AliAnalysisTaskCaloFilter::FillAODCaloClusters()
{
  // Fill the AOD with caloclusters
  
  // Access to the AOD container of clusters
  
  TClonesArray &caloClusters = *(AODEvent()->GetCaloClusters());
  Int_t jClusters=0;
  Float_t  posF[3]  ;
  
  Int_t nCaloClus = fEvent->GetNumberOfCaloClusters();
  for (Int_t iClust=0; iClust<nCaloClus; ++iClust) 
  {
    
    AliVCluster * cluster = fEvent->GetCaloCluster(iClust);
    
    //Check which calorimeter information we want to keep.
    
    if(fCaloFilter!=kBoth)
    {
      if     (fCaloFilter==kPHOS  && cluster->IsEMCAL()) continue ;
      else if(fCaloFilter==kEMCAL && cluster->IsPHOS())  continue ;
    }  
    
    // Get original residuals, in case of previous recalculation, reset them 
    Float_t dR = cluster->GetTrackDx();
    Float_t dZ = cluster->GetTrackDz();
    
    AliDebug(2,Form("Original residuals : dZ %f, dR %f",dZ, dR));
    
    //--------------------------------------------------------------
    //If EMCAL and corrections done, get the new matching parameters, do not copy noisy clusters
    if(cluster->IsEMCAL() && fCorrect)
    {
      AliDebug(2,Form("Check cluster %d for bad channels and close to border",cluster->GetID()));
      
      if(fEMCALRecoUtils->ClusterContainsBadChannel(fEMCALGeo,cluster->GetCellsAbsId(), cluster->GetNCells())) continue;	
      
      if(fEMCALRecoUtils->IsExoticCluster(cluster, InputEvent()->GetEMCALCells(),InputEvent()->GetBunchCrossNumber())) continue;	
      
      fEMCALRecoUtils->GetMatchedResiduals(cluster->GetID(),dR,dZ);
      cluster->SetTrackDistance(dR,dZ);
    }
    
    AliDebug(2,Form("EMCAL? %d, PHOS? %d Track-Cluster Residuals : dZ %f, dR %f",cluster->IsEMCAL(), cluster->IsPHOS(),dZ, dR));
    
    //--------------------------------------------------------------
    
    //Now fill AODs
    
    Int_t id       = cluster->GetID();
    Float_t energy = cluster->E();
    cluster->GetPosition(posF);
    
    AliAODCaloCluster *caloCluster = new(caloClusters[jClusters++]) 
    AliAODCaloCluster(id,
                      cluster->GetNLabels(),
                      cluster->GetLabels(),
                      energy,
                      posF,
                      NULL,
                      cluster->GetType());
    
    caloCluster->SetCaloCluster(cluster->GetDistanceToBadChannel(),
                                cluster->GetDispersion(),
                                cluster->GetM20(), cluster->GetM02(),
                                -1,  
                                cluster->GetNExMax(),cluster->GetTOF()) ;
    
    caloCluster->SetPIDFromESD(cluster->GetPID());
    caloCluster->SetNCells(cluster->GetNCells());
    caloCluster->SetCellsAbsId(cluster->GetCellsAbsId());
    caloCluster->SetCellsAmplitudeFraction(cluster->GetCellsAmplitudeFraction());
    caloCluster->SetTrackDistance(dR, dZ);
    
    AliDebug(2,Form("Filter, aod     : i %d, E %f, dispersion %f, m02 %f, m20 %f",caloCluster->GetID(),caloCluster->E(),
                    caloCluster->GetDispersion(),caloCluster->GetM02(),caloCluster->GetM20()));
    caloCluster->GetPosition(posF);
    AliDebug(2,Form("Filter, aod     : i %d, x %f, y %f, z %f",caloCluster->GetID(), posF[0], posF[1], posF[2]));
    
    //Matched tracks, just to know if there was any match, the track pointer is useless if tracks not stored
    if(TMath::Abs(dR) < 990 && TMath::Abs(dZ) < 990) 
    { //Default value in PHOS 999, in EMCAL 1024, why?
      caloCluster->AddTrackMatched(new AliAODTrack); 
    }
    // TO DO, in case Tracks available, think how to put the matched track in AOD
  }
  
  caloClusters.Expand(jClusters); // resize TObjArray to 'remove' slots  
  
}

//__________________________________________________
void AliAnalysisTaskCaloFilter::FillAODCaloTrigger()
{
  // AOD CaloTrigger copy
  
  if( !AODEvent() || !fAODEvent ) return;
  
  AliAODCaloTrigger* triggerEM   = AODEvent()->GetCaloTrigger("EMCAL");
  AliAODCaloTrigger* triggerPH   = AODEvent()->GetCaloTrigger("PHOS");
  
  // Copy from AODs
  
  AliAODCaloTrigger* inTriggerEM = fAODEvent ->GetCaloTrigger("EMCAL");
  AliAODCaloTrigger* inTriggerPH = fAODEvent ->GetCaloTrigger("PHOS");
  
  if(inTriggerPH && (fCaloFilter==kBoth || fCaloFilter==kPHOS))  *triggerPH = *inTriggerPH;
  
  if(inTriggerEM && (fCaloFilter==kBoth || fCaloFilter==kEMCAL)) *triggerEM = *inTriggerEM;  
}  

//______________________________________________
void AliAnalysisTaskCaloFilter::FillAODHeader()
{
  // AOD header copy
  
  AliAODHeader* header = dynamic_cast<AliAODHeader*>(AODEvent()->GetHeader());
  if(!header)
  {
    AliFatal("Not a standard AOD");
    return; // not needed but coverity complains
  }
  
  // Copy from AODs
  if(fAODEvent)
  {
    *header = *((AliAODHeader*)fAODEvent->GetHeader());
    return;
  }
  
  if(!fESDEvent) return;
  
  // Copy from ESDs
  
  header->SetRunNumber(fEvent->GetRunNumber());
  
  TTree* tree = fInputHandler->GetTree();
  if (tree) 
  {
    TFile* file = tree->GetCurrentFile();
    if (file) header->SetESDFileName(file->GetName());
  }
  
  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(fESDEvent->GetFiredTriggerClasses());
  header->SetTriggerMask(fEvent->GetTriggerMask()); 
  header->SetTriggerCluster(fEvent->GetTriggerCluster());
  header->SetL0TriggerInputs(fESDEvent->GetHeader()->GetL0TriggerInputs());    
  header->SetL1TriggerInputs(fESDEvent->GetHeader()->GetL1TriggerInputs());    
  header->SetL2TriggerInputs(fESDEvent->GetHeader()->GetL2TriggerInputs());    
  
  header->SetMagneticField(fEvent->GetMagneticField());
  header->SetMuonMagFieldScale(fESDEvent->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);
  header->SetDiamondZ(fESDEvent->GetDiamondZ(),fESDEvent->GetSigma2DiamondZ());
  
}


//__________________________________________________
void AliAnalysisTaskCaloFilter::FillAODMCParticles()
{
  // Copy MC particles
  
  if(!fFillMCParticles) return;
  
  TClonesArray* inMCParticles = (TClonesArray*) (fAODEvent  ->FindListObject("mcparticles"));
  TClonesArray* ouMCParticles = (TClonesArray*) ( AODEvent()->FindListObject("mcparticles"));
  
  if( inMCParticles &&  ouMCParticles ) new (ouMCParticles) TClonesArray(*inMCParticles);
    
}  

//_____________________________________________
void AliAnalysisTaskCaloFilter::FillAODTracks()
{
  // AOD track copy
  
  if(!fFillTracks) return;
  
  AliAODTrack* aodTrack(0x0);
  
  Double_t pos[3]   = { 0. };      
  Double_t covTr[21]= { 0. };
  //Double_t pid[10]  = { 0. };  
  Double_t p[3]     = { 0. };
    
  // Copy from AODs
  if(fAODEvent)
  {
    //TClonesArray* inTracks = fAODEvent  ->GetTracks();
    TClonesArray* ouTracks = AODEvent()->GetTracks();
		//new (ouTracks) TClonesArray(*inTracks);
    
    //printf("N tracks %d\n",fAODEvent->GetNumberOfTracks());
    Int_t nCopyTrack = 0;
    for (Int_t nTrack = 0; nTrack < fAODEvent->GetNumberOfTracks(); ++nTrack) 
    {
      AliAODTrack *track = dynamic_cast<AliAODTrack*>(fAODEvent->GetTrack(nTrack));
      if(!track) AliFatal("Not a standard AOD");
      
      // Select only hybrid tracks?
      if(fFillHybridTracks && !track->IsHybridGlobalConstrainedGlobal()) continue;
      
      // Remove PID object to save space
      //track->SetDetPID(0x0);
      
      //new((*ouTracks)[nCopyTrack++]) AliAODTrack(*track);
      
      track->GetPxPyPz(p);
      Bool_t isDCA  = track->GetPosition(pos);
      track->GetCovMatrix(covTr);
      //track->GetPID(pid);
      
      AliAODVertex* primVertex = (AliAODVertex*) AODEvent()->GetVertices()->At(0); // primary vertex, copied previously!!!

      aodTrack = new((*ouTracks)[nCopyTrack++]) AliAODTrack(
                                                            track->GetID(),
                                                            track->GetLabel(),
                                                            p,
                                                            kTRUE,
                                                            pos,
                                                            isDCA,
                                                            covTr, 
                                                            track->Charge(),
                                                            track->GetITSClusterMap(), 
                                                            // pid,
                                                            primVertex,
                                                            track->GetUsedForVtxFit(),
                                                            track->GetUsedForPrimVtxFit(),
                                                            (AliAODTrack::AODTrk_t) track->GetType(), 
                                                            track->GetFilterMap());
      
      
      aodTrack->SetPIDForTracking(track->GetPIDForTracking());
      aodTrack->SetIsHybridGlobalConstrainedGlobal(track->IsHybridGlobalConstrainedGlobal());   
      aodTrack->SetIsHybridTPCConstrainedGlobal   (track->IsHybridTPCConstrainedGlobal());    
      aodTrack->SetIsGlobalConstrained            (track->IsGlobalConstrained());  
      aodTrack->SetIsTPCConstrained               (track->IsTPCConstrained());    
      
      aodTrack->SetTPCFitMap    (track->GetTPCFitMap());
      aodTrack->SetTPCClusterMap(track->GetTPCClusterMap());
      aodTrack->SetTPCSharedMap (track->GetTPCSharedMap());
      
      aodTrack->SetChi2MatchTrigger(track->GetChi2MatchTrigger());
      
      // set the DCA values to the AOD track
    
      aodTrack->SetPxPyPzAtDCA(track->PxAtDCA(),track->PyAtDCA(),track->PzAtDCA());
      aodTrack->SetXYAtDCA    (track->XAtDCA() ,track->YAtDCA());
      
      aodTrack->SetFlags      (track->GetFlags());
      aodTrack->SetTPCPointsF (track->GetTPCNclsF());
      
      // Calo 
      
      if(track->IsEMCAL()) aodTrack->SetEMCALcluster(track->GetEMCALcluster());
      if(track->IsPHOS())  aodTrack->SetPHOScluster (track->GetPHOScluster());
      aodTrack->SetTrackPhiEtaPtOnEMCal( track->GetTrackPhiOnEMCal(),  track->GetTrackPhiOnEMCal(),  track->GetTrackPtOnEMCal() );
          
    } 
    
    //printf("Final N tracks %d\n",nCopyTrack);
    
    return;
  }
  
}  

//_________________________________________
void AliAnalysisTaskCaloFilter::FillAODv0s()
{
  // Copy v0s (use if you know what you do, use quite a lot of memory)
  
  if(!fFillv0s) return;
  
  // Copy from AODs
  if(fAODEvent)
  {
    TClonesArray* inv0 = fAODEvent  ->GetV0s();
    TClonesArray* ouv0 =  AODEvent()->GetV0s();
    
		//new (ouv0s) TClonesArray(*inv0s);
    
    Int_t allv0s = inv0->GetEntriesFast();
    
    for (Int_t nv0s = 0; nv0s < allv0s; ++nv0s) 
    {
      AliAODv0 *v0 = (AliAODv0*)inv0->At(nv0s);
      
      new((*ouv0)[nv0s]) AliAODv0(*v0);
    } 
    
    return;
  }
  
}  

//____________________________________________
void AliAnalysisTaskCaloFilter::FillAODVZERO()
{
  // Copy VZERO
  
  if(!fFillVZERO) return;
  
  AliAODVZERO* vzeroData = AODEvent()->GetVZEROData();
  
  if(fESDEvent) *vzeroData = *(fESDEvent->GetVZEROData());
  else          *vzeroData = *(fAODEvent->GetVZEROData());
  
}  

//_______________________________________________
void AliAnalysisTaskCaloFilter::FillAODVertices()
{
  // Copy vertices
  
  // set arrays and pointers
  Double_t pos[3]   ;
  Double_t covVtx[6];
  for (Int_t i = 0; i < 6; i++)  covVtx[i] = 0.;
  
  // Copy from AODs
  if(fAODEvent)
  {
    TClonesArray* inVertices = fAODEvent  ->GetVertices();
    TClonesArray* ouVertices = AODEvent()->GetVertices();
    
		//new (ouVertices) TClonesArray(*inVertices);
    
    //Keep only the first 3 vertices if not requested
    Int_t allVertices = inVertices->GetEntriesFast();
    
    //printf("n Vertices %d\n",allVertices);
    
    if(!fFillAllVertices) 
    {
      if(allVertices >  3) allVertices = 3;
    }
    
    //printf("Final n Vertices %d\n",allVertices);
    
    for (Int_t nVertices = 0; nVertices < allVertices; ++nVertices) 
    {
      AliAODVertex *vertex = (AliAODVertex*)inVertices->At(nVertices);
      
      new((*ouVertices)[nVertices]) AliAODVertex(*vertex);
    } 
    
    return;
  }
  
  if(!fESDEvent) return;
  
  // Copy from ESDs
  
  // Access to the AOD container of vertices
  Int_t jVertices=0;
  TClonesArray &vertices = *(AODEvent()->GetVertices());
  
  // Add primary vertex. The primary tracks will be defined
  // after the loops on the composite objects (v0, cascades, kinks)
  fEvent   ->GetPrimaryVertex()->GetXYZ(pos);
  fESDEvent->GetPrimaryVertex()->GetCovMatrix(covVtx);
  Float_t chi = fESDEvent->GetPrimaryVertex()->GetChi2toNDF();
  
  AliAODVertex * primary = new(vertices[jVertices++])
  AliAODVertex(pos, covVtx, chi, NULL, -1, AliAODVertex::kPrimary);
  primary->SetName(fEvent->GetPrimaryVertex()->GetName());
  primary->SetTitle(fEvent->GetPrimaryVertex()->GetTitle());
  
}

//____________________________________
void AliAnalysisTaskCaloFilter::Init()
{
  //Init analysis with configuration macro if available
  
  if(gROOT->LoadMacro(fConfigName) >=0)
  {
    AliInfo(Form("Configure analysis with %s",fConfigName.Data()));
    
    AliAnalysisTaskCaloFilter *filter = (AliAnalysisTaskCaloFilter*)gInterpreter->ProcessLine("ConfigCaloFilter()");
    
    fEMCALGeoName      = filter->fEMCALGeoName; 
    fLoadEMCALMatrices = filter->fLoadEMCALMatrices;
    fFillAODFile       = filter->fFillAODFile;
    fFillTracks        = filter->fFillTracks;
    fFillHybridTracks  = filter->fFillHybridTracks;
    fFillv0s           = filter->fFillv0s;
    fFillVZERO         = filter->fFillVZERO;
    fFillAllVertices   = filter->fFillAllVertices;
    fEMCALRecoUtils    = filter->fEMCALRecoUtils; 
    fConfigName        = filter->fConfigName;
    fCaloFilter        = filter->fCaloFilter;
    fEventSelection[0] = filter->fEventSelection[0];
    fEventSelection[1] = filter->fEventSelection[1];
    fEventSelection[2] = filter->fEventSelection[2];
    fAcceptAllMBEvent  = filter->fAcceptAllMBEvent;
    fMBTriggerMask     = filter->fMBTriggerMask;
    fCorrect           = filter->fCorrect;
    fEMCALEnergyCut    = filter->fEMCALEnergyCut;
    fEMCALNcellsCut    = filter->fEMCALNcellsCut;
    fPHOSEnergyCut     = filter->fPHOSEnergyCut;
    fPHOSNcellsCut     = filter->fPHOSNcellsCut;
    fTrackPtCut        = filter->fTrackPtCut;
    fVzCut             = filter->fVzCut;
    fCheckEventVertex  = filter->fCheckEventVertex;

    for(Int_t i = 0; i < 12; i++) fEMCALMatrix[i] = filter->fEMCALMatrix[i] ;
  }
} 

//_________________________________________
void AliAnalysisTaskCaloFilter::PrintInfo()
{
  //Print settings
  
  printf("AnalysisCaloFilter::PrintInfo() \n");
  
  printf("\t Not only filter, correct Clusters? %d\n",fCorrect);
  printf("\t Calorimeter Filtering Option     ? %d\n",fCaloFilter);
  
  //printf("\t Use handmade geo matrices?   EMCAL %d, PHOS %d\n",fLoadEMCALMatrices, fLoadPHOSMatrices);
  printf("\t Use handmade geo matrices?   EMCAL %d, PHOS 0\n",fLoadEMCALMatrices);
  
  printf("\t Fill: AOD file? %d Tracks? %d; all Vertex? %d; v0s? %d; VZERO ? %d\n", 
         fFillAODFile,fFillTracks,fFillAllVertices, fFillv0s, fFillVZERO);
  
  printf("\t Event Selection based : EMCAL?  %d, PHOS?  %d Tracks? %d - Accept all MB with mask %d? %d\n",
         fEventSelection[0],fEventSelection[1],fEventSelection[2],fMBTriggerMask, fAcceptAllMBEvent);
  
  printf("\t \t EMCAL E > %2.2f, EMCAL nCells >= %d, PHOS E > %2.2f, PHOS nCells >= %d, Track pT > %2.2f, |vz| < %2.2f\n",
         fEMCALEnergyCut,fEMCALNcellsCut,fPHOSEnergyCut,fPHOSNcellsCut, fTrackPtCut,fVzCut);
}

//_______________________________________________________
void AliAnalysisTaskCaloFilter::UserCreateOutputObjects()
{
  // Init geometry 
	
  fEMCALGeo =  AliEMCALGeometry::GetInstance(fEMCALGeoName) ;	
  
  if(fFillMCParticles)
  {
    TClonesArray * aodMCParticles = new TClonesArray("AliAODMCParticle",500);
		aodMCParticles->SetName("mcparticles");
		((AliAODHandler*)AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler())->AddBranch("TClonesArray", &aodMCParticles);
  }
  
}  

//____________________________________________________________
void AliAnalysisTaskCaloFilter::UserExec(Option_t */*option*/)
{
  // Execute analysis for current event
  // Copy input ESD or AOD header, vertex, CaloClusters and CaloCells to output AOD
  
  AliDebug(1,Form("Analysing event # %d", (Int_t)Entry()));
  
  fEvent    = InputEvent();
  fAODEvent = dynamic_cast<AliAODEvent*> (fEvent);  
  fESDEvent = dynamic_cast<AliESDEvent*> (fEvent);
  
  if(!fEvent) 
  {
    AliInfo("This event does not contain Input?");
    return;
  }
  
  // printf("Start processing : %s\n",fAODEvent->GetFiredTriggerClasses().Data());
  
  // Select the event
  
  if(!AcceptEvent()) return ;
  
  //Magic line to write events to file
  
  AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler()->SetFillAOD(fFillAODFile);
  
  // Reset output AOD
  
  Int_t nVertices = 0;
  if(fFillv0s) nVertices = fEvent->GetNumberOfV0s();
  Int_t nCaloClus = fEvent->GetNumberOfCaloClusters();
  Int_t nTracks   = fEvent->GetNumberOfTracks();
  
  AODEvent()->ResetStd(nTracks, nVertices, 0, 0, 0, nCaloClus, 0, 0);
  
  // Copy
  
  FillAODHeader();
  
  // 
  FillAODv0s();
  
  //
  FillAODVertices(); // Do it before the track filtering to have the reference to the vertex
  
  // 
  FillAODVZERO();
  
  //
  FillAODTracks();
  
  //
  CorrectionsInEMCAL();
  
  //
  FillAODCaloClusters();
  
  //
  FillAODCaloCells();
  
  //
  FillAODCaloTrigger();
  
  // 
  FillAODMCParticles();
  
  //printf("Filtered event, end processing : %s\n",fAODEvent->GetFiredTriggerClasses().Data());
  
}

 AliAnalysisTaskCaloFilter.cxx:1
 AliAnalysisTaskCaloFilter.cxx:2
 AliAnalysisTaskCaloFilter.cxx:3
 AliAnalysisTaskCaloFilter.cxx:4
 AliAnalysisTaskCaloFilter.cxx:5
 AliAnalysisTaskCaloFilter.cxx:6
 AliAnalysisTaskCaloFilter.cxx:7
 AliAnalysisTaskCaloFilter.cxx:8
 AliAnalysisTaskCaloFilter.cxx:9
 AliAnalysisTaskCaloFilter.cxx:10
 AliAnalysisTaskCaloFilter.cxx:11
 AliAnalysisTaskCaloFilter.cxx:12
 AliAnalysisTaskCaloFilter.cxx:13
 AliAnalysisTaskCaloFilter.cxx:14
 AliAnalysisTaskCaloFilter.cxx:15
 AliAnalysisTaskCaloFilter.cxx:16
 AliAnalysisTaskCaloFilter.cxx:17
 AliAnalysisTaskCaloFilter.cxx:18
 AliAnalysisTaskCaloFilter.cxx:19
 AliAnalysisTaskCaloFilter.cxx:20
 AliAnalysisTaskCaloFilter.cxx:21
 AliAnalysisTaskCaloFilter.cxx:22
 AliAnalysisTaskCaloFilter.cxx:23
 AliAnalysisTaskCaloFilter.cxx:24
 AliAnalysisTaskCaloFilter.cxx:25
 AliAnalysisTaskCaloFilter.cxx:26
 AliAnalysisTaskCaloFilter.cxx:27
 AliAnalysisTaskCaloFilter.cxx:28
 AliAnalysisTaskCaloFilter.cxx:29
 AliAnalysisTaskCaloFilter.cxx:30
 AliAnalysisTaskCaloFilter.cxx:31
 AliAnalysisTaskCaloFilter.cxx:32
 AliAnalysisTaskCaloFilter.cxx:33
 AliAnalysisTaskCaloFilter.cxx:34
 AliAnalysisTaskCaloFilter.cxx:35
 AliAnalysisTaskCaloFilter.cxx:36
 AliAnalysisTaskCaloFilter.cxx:37
 AliAnalysisTaskCaloFilter.cxx:38
 AliAnalysisTaskCaloFilter.cxx:39
 AliAnalysisTaskCaloFilter.cxx:40
 AliAnalysisTaskCaloFilter.cxx:41
 AliAnalysisTaskCaloFilter.cxx:42
 AliAnalysisTaskCaloFilter.cxx:43
 AliAnalysisTaskCaloFilter.cxx:44
 AliAnalysisTaskCaloFilter.cxx:45
 AliAnalysisTaskCaloFilter.cxx:46
 AliAnalysisTaskCaloFilter.cxx:47
 AliAnalysisTaskCaloFilter.cxx:48
 AliAnalysisTaskCaloFilter.cxx:49
 AliAnalysisTaskCaloFilter.cxx:50
 AliAnalysisTaskCaloFilter.cxx:51
 AliAnalysisTaskCaloFilter.cxx:52
 AliAnalysisTaskCaloFilter.cxx:53
 AliAnalysisTaskCaloFilter.cxx:54
 AliAnalysisTaskCaloFilter.cxx:55
 AliAnalysisTaskCaloFilter.cxx:56
 AliAnalysisTaskCaloFilter.cxx:57
 AliAnalysisTaskCaloFilter.cxx:58
 AliAnalysisTaskCaloFilter.cxx:59
 AliAnalysisTaskCaloFilter.cxx:60
 AliAnalysisTaskCaloFilter.cxx:61
 AliAnalysisTaskCaloFilter.cxx:62
 AliAnalysisTaskCaloFilter.cxx:63
 AliAnalysisTaskCaloFilter.cxx:64
 AliAnalysisTaskCaloFilter.cxx:65
 AliAnalysisTaskCaloFilter.cxx:66
 AliAnalysisTaskCaloFilter.cxx:67
 AliAnalysisTaskCaloFilter.cxx:68
 AliAnalysisTaskCaloFilter.cxx:69
 AliAnalysisTaskCaloFilter.cxx:70
 AliAnalysisTaskCaloFilter.cxx:71
 AliAnalysisTaskCaloFilter.cxx:72
 AliAnalysisTaskCaloFilter.cxx:73
 AliAnalysisTaskCaloFilter.cxx:74
 AliAnalysisTaskCaloFilter.cxx:75
 AliAnalysisTaskCaloFilter.cxx:76
 AliAnalysisTaskCaloFilter.cxx:77
 AliAnalysisTaskCaloFilter.cxx:78
 AliAnalysisTaskCaloFilter.cxx:79
 AliAnalysisTaskCaloFilter.cxx:80
 AliAnalysisTaskCaloFilter.cxx:81
 AliAnalysisTaskCaloFilter.cxx:82
 AliAnalysisTaskCaloFilter.cxx:83
 AliAnalysisTaskCaloFilter.cxx:84
 AliAnalysisTaskCaloFilter.cxx:85
 AliAnalysisTaskCaloFilter.cxx:86
 AliAnalysisTaskCaloFilter.cxx:87
 AliAnalysisTaskCaloFilter.cxx:88
 AliAnalysisTaskCaloFilter.cxx:89
 AliAnalysisTaskCaloFilter.cxx:90
 AliAnalysisTaskCaloFilter.cxx:91
 AliAnalysisTaskCaloFilter.cxx:92
 AliAnalysisTaskCaloFilter.cxx:93
 AliAnalysisTaskCaloFilter.cxx:94
 AliAnalysisTaskCaloFilter.cxx:95
 AliAnalysisTaskCaloFilter.cxx:96
 AliAnalysisTaskCaloFilter.cxx:97
 AliAnalysisTaskCaloFilter.cxx:98
 AliAnalysisTaskCaloFilter.cxx:99
 AliAnalysisTaskCaloFilter.cxx:100
 AliAnalysisTaskCaloFilter.cxx:101
 AliAnalysisTaskCaloFilter.cxx:102
 AliAnalysisTaskCaloFilter.cxx:103
 AliAnalysisTaskCaloFilter.cxx:104
 AliAnalysisTaskCaloFilter.cxx:105
 AliAnalysisTaskCaloFilter.cxx:106
 AliAnalysisTaskCaloFilter.cxx:107
 AliAnalysisTaskCaloFilter.cxx:108
 AliAnalysisTaskCaloFilter.cxx:109
 AliAnalysisTaskCaloFilter.cxx:110
 AliAnalysisTaskCaloFilter.cxx:111
 AliAnalysisTaskCaloFilter.cxx:112
 AliAnalysisTaskCaloFilter.cxx:113
 AliAnalysisTaskCaloFilter.cxx:114
 AliAnalysisTaskCaloFilter.cxx:115
 AliAnalysisTaskCaloFilter.cxx:116
 AliAnalysisTaskCaloFilter.cxx:117
 AliAnalysisTaskCaloFilter.cxx:118
 AliAnalysisTaskCaloFilter.cxx:119
 AliAnalysisTaskCaloFilter.cxx:120
 AliAnalysisTaskCaloFilter.cxx:121
 AliAnalysisTaskCaloFilter.cxx:122
 AliAnalysisTaskCaloFilter.cxx:123
 AliAnalysisTaskCaloFilter.cxx:124
 AliAnalysisTaskCaloFilter.cxx:125
 AliAnalysisTaskCaloFilter.cxx:126
 AliAnalysisTaskCaloFilter.cxx:127
 AliAnalysisTaskCaloFilter.cxx:128
 AliAnalysisTaskCaloFilter.cxx:129
 AliAnalysisTaskCaloFilter.cxx:130
 AliAnalysisTaskCaloFilter.cxx:131
 AliAnalysisTaskCaloFilter.cxx:132
 AliAnalysisTaskCaloFilter.cxx:133
 AliAnalysisTaskCaloFilter.cxx:134
 AliAnalysisTaskCaloFilter.cxx:135
 AliAnalysisTaskCaloFilter.cxx:136
 AliAnalysisTaskCaloFilter.cxx:137
 AliAnalysisTaskCaloFilter.cxx:138
 AliAnalysisTaskCaloFilter.cxx:139
 AliAnalysisTaskCaloFilter.cxx:140
 AliAnalysisTaskCaloFilter.cxx:141
 AliAnalysisTaskCaloFilter.cxx:142
 AliAnalysisTaskCaloFilter.cxx:143
 AliAnalysisTaskCaloFilter.cxx:144
 AliAnalysisTaskCaloFilter.cxx:145
 AliAnalysisTaskCaloFilter.cxx:146
 AliAnalysisTaskCaloFilter.cxx:147
 AliAnalysisTaskCaloFilter.cxx:148
 AliAnalysisTaskCaloFilter.cxx:149
 AliAnalysisTaskCaloFilter.cxx:150
 AliAnalysisTaskCaloFilter.cxx:151
 AliAnalysisTaskCaloFilter.cxx:152
 AliAnalysisTaskCaloFilter.cxx:153
 AliAnalysisTaskCaloFilter.cxx:154
 AliAnalysisTaskCaloFilter.cxx:155
 AliAnalysisTaskCaloFilter.cxx:156
 AliAnalysisTaskCaloFilter.cxx:157
 AliAnalysisTaskCaloFilter.cxx:158
 AliAnalysisTaskCaloFilter.cxx:159
 AliAnalysisTaskCaloFilter.cxx:160
 AliAnalysisTaskCaloFilter.cxx:161
 AliAnalysisTaskCaloFilter.cxx:162
 AliAnalysisTaskCaloFilter.cxx:163
 AliAnalysisTaskCaloFilter.cxx:164
 AliAnalysisTaskCaloFilter.cxx:165
 AliAnalysisTaskCaloFilter.cxx:166
 AliAnalysisTaskCaloFilter.cxx:167
 AliAnalysisTaskCaloFilter.cxx:168
 AliAnalysisTaskCaloFilter.cxx:169
 AliAnalysisTaskCaloFilter.cxx:170
 AliAnalysisTaskCaloFilter.cxx:171
 AliAnalysisTaskCaloFilter.cxx:172
 AliAnalysisTaskCaloFilter.cxx:173
 AliAnalysisTaskCaloFilter.cxx:174
 AliAnalysisTaskCaloFilter.cxx:175
 AliAnalysisTaskCaloFilter.cxx:176
 AliAnalysisTaskCaloFilter.cxx:177
 AliAnalysisTaskCaloFilter.cxx:178
 AliAnalysisTaskCaloFilter.cxx:179
 AliAnalysisTaskCaloFilter.cxx:180
 AliAnalysisTaskCaloFilter.cxx:181
 AliAnalysisTaskCaloFilter.cxx:182
 AliAnalysisTaskCaloFilter.cxx:183
 AliAnalysisTaskCaloFilter.cxx:184
 AliAnalysisTaskCaloFilter.cxx:185
 AliAnalysisTaskCaloFilter.cxx:186
 AliAnalysisTaskCaloFilter.cxx:187
 AliAnalysisTaskCaloFilter.cxx:188
 AliAnalysisTaskCaloFilter.cxx:189
 AliAnalysisTaskCaloFilter.cxx:190
 AliAnalysisTaskCaloFilter.cxx:191
 AliAnalysisTaskCaloFilter.cxx:192
 AliAnalysisTaskCaloFilter.cxx:193
 AliAnalysisTaskCaloFilter.cxx:194
 AliAnalysisTaskCaloFilter.cxx:195
 AliAnalysisTaskCaloFilter.cxx:196
 AliAnalysisTaskCaloFilter.cxx:197
 AliAnalysisTaskCaloFilter.cxx:198
 AliAnalysisTaskCaloFilter.cxx:199
 AliAnalysisTaskCaloFilter.cxx:200
 AliAnalysisTaskCaloFilter.cxx:201
 AliAnalysisTaskCaloFilter.cxx:202
 AliAnalysisTaskCaloFilter.cxx:203
 AliAnalysisTaskCaloFilter.cxx:204
 AliAnalysisTaskCaloFilter.cxx:205
 AliAnalysisTaskCaloFilter.cxx:206
 AliAnalysisTaskCaloFilter.cxx:207
 AliAnalysisTaskCaloFilter.cxx:208
 AliAnalysisTaskCaloFilter.cxx:209
 AliAnalysisTaskCaloFilter.cxx:210
 AliAnalysisTaskCaloFilter.cxx:211
 AliAnalysisTaskCaloFilter.cxx:212
 AliAnalysisTaskCaloFilter.cxx:213
 AliAnalysisTaskCaloFilter.cxx:214
 AliAnalysisTaskCaloFilter.cxx:215
 AliAnalysisTaskCaloFilter.cxx:216
 AliAnalysisTaskCaloFilter.cxx:217
 AliAnalysisTaskCaloFilter.cxx:218
 AliAnalysisTaskCaloFilter.cxx:219
 AliAnalysisTaskCaloFilter.cxx:220
 AliAnalysisTaskCaloFilter.cxx:221
 AliAnalysisTaskCaloFilter.cxx:222
 AliAnalysisTaskCaloFilter.cxx:223
 AliAnalysisTaskCaloFilter.cxx:224
 AliAnalysisTaskCaloFilter.cxx:225
 AliAnalysisTaskCaloFilter.cxx:226
 AliAnalysisTaskCaloFilter.cxx:227
 AliAnalysisTaskCaloFilter.cxx:228
 AliAnalysisTaskCaloFilter.cxx:229
 AliAnalysisTaskCaloFilter.cxx:230
 AliAnalysisTaskCaloFilter.cxx:231
 AliAnalysisTaskCaloFilter.cxx:232
 AliAnalysisTaskCaloFilter.cxx:233
 AliAnalysisTaskCaloFilter.cxx:234
 AliAnalysisTaskCaloFilter.cxx:235
 AliAnalysisTaskCaloFilter.cxx:236
 AliAnalysisTaskCaloFilter.cxx:237
 AliAnalysisTaskCaloFilter.cxx:238
 AliAnalysisTaskCaloFilter.cxx:239
 AliAnalysisTaskCaloFilter.cxx:240
 AliAnalysisTaskCaloFilter.cxx:241
 AliAnalysisTaskCaloFilter.cxx:242
 AliAnalysisTaskCaloFilter.cxx:243
 AliAnalysisTaskCaloFilter.cxx:244
 AliAnalysisTaskCaloFilter.cxx:245
 AliAnalysisTaskCaloFilter.cxx:246
 AliAnalysisTaskCaloFilter.cxx:247
 AliAnalysisTaskCaloFilter.cxx:248
 AliAnalysisTaskCaloFilter.cxx:249
 AliAnalysisTaskCaloFilter.cxx:250
 AliAnalysisTaskCaloFilter.cxx:251
 AliAnalysisTaskCaloFilter.cxx:252
 AliAnalysisTaskCaloFilter.cxx:253
 AliAnalysisTaskCaloFilter.cxx:254
 AliAnalysisTaskCaloFilter.cxx:255
 AliAnalysisTaskCaloFilter.cxx:256
 AliAnalysisTaskCaloFilter.cxx:257
 AliAnalysisTaskCaloFilter.cxx:258
 AliAnalysisTaskCaloFilter.cxx:259
 AliAnalysisTaskCaloFilter.cxx:260
 AliAnalysisTaskCaloFilter.cxx:261
 AliAnalysisTaskCaloFilter.cxx:262
 AliAnalysisTaskCaloFilter.cxx:263
 AliAnalysisTaskCaloFilter.cxx:264
 AliAnalysisTaskCaloFilter.cxx:265
 AliAnalysisTaskCaloFilter.cxx:266
 AliAnalysisTaskCaloFilter.cxx:267
 AliAnalysisTaskCaloFilter.cxx:268
 AliAnalysisTaskCaloFilter.cxx:269
 AliAnalysisTaskCaloFilter.cxx:270
 AliAnalysisTaskCaloFilter.cxx:271
 AliAnalysisTaskCaloFilter.cxx:272
 AliAnalysisTaskCaloFilter.cxx:273
 AliAnalysisTaskCaloFilter.cxx:274
 AliAnalysisTaskCaloFilter.cxx:275
 AliAnalysisTaskCaloFilter.cxx:276
 AliAnalysisTaskCaloFilter.cxx:277
 AliAnalysisTaskCaloFilter.cxx:278
 AliAnalysisTaskCaloFilter.cxx:279
 AliAnalysisTaskCaloFilter.cxx:280
 AliAnalysisTaskCaloFilter.cxx:281
 AliAnalysisTaskCaloFilter.cxx:282
 AliAnalysisTaskCaloFilter.cxx:283
 AliAnalysisTaskCaloFilter.cxx:284
 AliAnalysisTaskCaloFilter.cxx:285
 AliAnalysisTaskCaloFilter.cxx:286
 AliAnalysisTaskCaloFilter.cxx:287
 AliAnalysisTaskCaloFilter.cxx:288
 AliAnalysisTaskCaloFilter.cxx:289
 AliAnalysisTaskCaloFilter.cxx:290
 AliAnalysisTaskCaloFilter.cxx:291
 AliAnalysisTaskCaloFilter.cxx:292
 AliAnalysisTaskCaloFilter.cxx:293
 AliAnalysisTaskCaloFilter.cxx:294
 AliAnalysisTaskCaloFilter.cxx:295
 AliAnalysisTaskCaloFilter.cxx:296
 AliAnalysisTaskCaloFilter.cxx:297
 AliAnalysisTaskCaloFilter.cxx:298
 AliAnalysisTaskCaloFilter.cxx:299
 AliAnalysisTaskCaloFilter.cxx:300
 AliAnalysisTaskCaloFilter.cxx:301
 AliAnalysisTaskCaloFilter.cxx:302
 AliAnalysisTaskCaloFilter.cxx:303
 AliAnalysisTaskCaloFilter.cxx:304
 AliAnalysisTaskCaloFilter.cxx:305
 AliAnalysisTaskCaloFilter.cxx:306
 AliAnalysisTaskCaloFilter.cxx:307
 AliAnalysisTaskCaloFilter.cxx:308
 AliAnalysisTaskCaloFilter.cxx:309
 AliAnalysisTaskCaloFilter.cxx:310
 AliAnalysisTaskCaloFilter.cxx:311
 AliAnalysisTaskCaloFilter.cxx:312
 AliAnalysisTaskCaloFilter.cxx:313
 AliAnalysisTaskCaloFilter.cxx:314
 AliAnalysisTaskCaloFilter.cxx:315
 AliAnalysisTaskCaloFilter.cxx:316
 AliAnalysisTaskCaloFilter.cxx:317
 AliAnalysisTaskCaloFilter.cxx:318
 AliAnalysisTaskCaloFilter.cxx:319
 AliAnalysisTaskCaloFilter.cxx:320
 AliAnalysisTaskCaloFilter.cxx:321
 AliAnalysisTaskCaloFilter.cxx:322
 AliAnalysisTaskCaloFilter.cxx:323
 AliAnalysisTaskCaloFilter.cxx:324
 AliAnalysisTaskCaloFilter.cxx:325
 AliAnalysisTaskCaloFilter.cxx:326
 AliAnalysisTaskCaloFilter.cxx:327
 AliAnalysisTaskCaloFilter.cxx:328
 AliAnalysisTaskCaloFilter.cxx:329
 AliAnalysisTaskCaloFilter.cxx:330
 AliAnalysisTaskCaloFilter.cxx:331
 AliAnalysisTaskCaloFilter.cxx:332
 AliAnalysisTaskCaloFilter.cxx:333
 AliAnalysisTaskCaloFilter.cxx:334
 AliAnalysisTaskCaloFilter.cxx:335
 AliAnalysisTaskCaloFilter.cxx:336
 AliAnalysisTaskCaloFilter.cxx:337
 AliAnalysisTaskCaloFilter.cxx:338
 AliAnalysisTaskCaloFilter.cxx:339
 AliAnalysisTaskCaloFilter.cxx:340
 AliAnalysisTaskCaloFilter.cxx:341
 AliAnalysisTaskCaloFilter.cxx:342
 AliAnalysisTaskCaloFilter.cxx:343
 AliAnalysisTaskCaloFilter.cxx:344
 AliAnalysisTaskCaloFilter.cxx:345
 AliAnalysisTaskCaloFilter.cxx:346
 AliAnalysisTaskCaloFilter.cxx:347
 AliAnalysisTaskCaloFilter.cxx:348
 AliAnalysisTaskCaloFilter.cxx:349
 AliAnalysisTaskCaloFilter.cxx:350
 AliAnalysisTaskCaloFilter.cxx:351
 AliAnalysisTaskCaloFilter.cxx:352
 AliAnalysisTaskCaloFilter.cxx:353
 AliAnalysisTaskCaloFilter.cxx:354
 AliAnalysisTaskCaloFilter.cxx:355
 AliAnalysisTaskCaloFilter.cxx:356
 AliAnalysisTaskCaloFilter.cxx:357
 AliAnalysisTaskCaloFilter.cxx:358
 AliAnalysisTaskCaloFilter.cxx:359
 AliAnalysisTaskCaloFilter.cxx:360
 AliAnalysisTaskCaloFilter.cxx:361
 AliAnalysisTaskCaloFilter.cxx:362
 AliAnalysisTaskCaloFilter.cxx:363
 AliAnalysisTaskCaloFilter.cxx:364
 AliAnalysisTaskCaloFilter.cxx:365
 AliAnalysisTaskCaloFilter.cxx:366
 AliAnalysisTaskCaloFilter.cxx:367
 AliAnalysisTaskCaloFilter.cxx:368
 AliAnalysisTaskCaloFilter.cxx:369
 AliAnalysisTaskCaloFilter.cxx:370
 AliAnalysisTaskCaloFilter.cxx:371
 AliAnalysisTaskCaloFilter.cxx:372
 AliAnalysisTaskCaloFilter.cxx:373
 AliAnalysisTaskCaloFilter.cxx:374
 AliAnalysisTaskCaloFilter.cxx:375
 AliAnalysisTaskCaloFilter.cxx:376
 AliAnalysisTaskCaloFilter.cxx:377
 AliAnalysisTaskCaloFilter.cxx:378
 AliAnalysisTaskCaloFilter.cxx:379
 AliAnalysisTaskCaloFilter.cxx:380
 AliAnalysisTaskCaloFilter.cxx:381
 AliAnalysisTaskCaloFilter.cxx:382
 AliAnalysisTaskCaloFilter.cxx:383
 AliAnalysisTaskCaloFilter.cxx:384
 AliAnalysisTaskCaloFilter.cxx:385
 AliAnalysisTaskCaloFilter.cxx:386
 AliAnalysisTaskCaloFilter.cxx:387
 AliAnalysisTaskCaloFilter.cxx:388
 AliAnalysisTaskCaloFilter.cxx:389
 AliAnalysisTaskCaloFilter.cxx:390
 AliAnalysisTaskCaloFilter.cxx:391
 AliAnalysisTaskCaloFilter.cxx:392
 AliAnalysisTaskCaloFilter.cxx:393
 AliAnalysisTaskCaloFilter.cxx:394
 AliAnalysisTaskCaloFilter.cxx:395
 AliAnalysisTaskCaloFilter.cxx:396
 AliAnalysisTaskCaloFilter.cxx:397
 AliAnalysisTaskCaloFilter.cxx:398
 AliAnalysisTaskCaloFilter.cxx:399
 AliAnalysisTaskCaloFilter.cxx:400
 AliAnalysisTaskCaloFilter.cxx:401
 AliAnalysisTaskCaloFilter.cxx:402
 AliAnalysisTaskCaloFilter.cxx:403
 AliAnalysisTaskCaloFilter.cxx:404
 AliAnalysisTaskCaloFilter.cxx:405
 AliAnalysisTaskCaloFilter.cxx:406
 AliAnalysisTaskCaloFilter.cxx:407
 AliAnalysisTaskCaloFilter.cxx:408
 AliAnalysisTaskCaloFilter.cxx:409
 AliAnalysisTaskCaloFilter.cxx:410
 AliAnalysisTaskCaloFilter.cxx:411
 AliAnalysisTaskCaloFilter.cxx:412
 AliAnalysisTaskCaloFilter.cxx:413
 AliAnalysisTaskCaloFilter.cxx:414
 AliAnalysisTaskCaloFilter.cxx:415
 AliAnalysisTaskCaloFilter.cxx:416
 AliAnalysisTaskCaloFilter.cxx:417
 AliAnalysisTaskCaloFilter.cxx:418
 AliAnalysisTaskCaloFilter.cxx:419
 AliAnalysisTaskCaloFilter.cxx:420
 AliAnalysisTaskCaloFilter.cxx:421
 AliAnalysisTaskCaloFilter.cxx:422
 AliAnalysisTaskCaloFilter.cxx:423
 AliAnalysisTaskCaloFilter.cxx:424
 AliAnalysisTaskCaloFilter.cxx:425
 AliAnalysisTaskCaloFilter.cxx:426
 AliAnalysisTaskCaloFilter.cxx:427
 AliAnalysisTaskCaloFilter.cxx:428
 AliAnalysisTaskCaloFilter.cxx:429
 AliAnalysisTaskCaloFilter.cxx:430
 AliAnalysisTaskCaloFilter.cxx:431
 AliAnalysisTaskCaloFilter.cxx:432
 AliAnalysisTaskCaloFilter.cxx:433
 AliAnalysisTaskCaloFilter.cxx:434
 AliAnalysisTaskCaloFilter.cxx:435
 AliAnalysisTaskCaloFilter.cxx:436
 AliAnalysisTaskCaloFilter.cxx:437
 AliAnalysisTaskCaloFilter.cxx:438
 AliAnalysisTaskCaloFilter.cxx:439
 AliAnalysisTaskCaloFilter.cxx:440
 AliAnalysisTaskCaloFilter.cxx:441
 AliAnalysisTaskCaloFilter.cxx:442
 AliAnalysisTaskCaloFilter.cxx:443
 AliAnalysisTaskCaloFilter.cxx:444
 AliAnalysisTaskCaloFilter.cxx:445
 AliAnalysisTaskCaloFilter.cxx:446
 AliAnalysisTaskCaloFilter.cxx:447
 AliAnalysisTaskCaloFilter.cxx:448
 AliAnalysisTaskCaloFilter.cxx:449
 AliAnalysisTaskCaloFilter.cxx:450
 AliAnalysisTaskCaloFilter.cxx:451
 AliAnalysisTaskCaloFilter.cxx:452
 AliAnalysisTaskCaloFilter.cxx:453
 AliAnalysisTaskCaloFilter.cxx:454
 AliAnalysisTaskCaloFilter.cxx:455
 AliAnalysisTaskCaloFilter.cxx:456
 AliAnalysisTaskCaloFilter.cxx:457
 AliAnalysisTaskCaloFilter.cxx:458
 AliAnalysisTaskCaloFilter.cxx:459
 AliAnalysisTaskCaloFilter.cxx:460
 AliAnalysisTaskCaloFilter.cxx:461
 AliAnalysisTaskCaloFilter.cxx:462
 AliAnalysisTaskCaloFilter.cxx:463
 AliAnalysisTaskCaloFilter.cxx:464
 AliAnalysisTaskCaloFilter.cxx:465
 AliAnalysisTaskCaloFilter.cxx:466
 AliAnalysisTaskCaloFilter.cxx:467
 AliAnalysisTaskCaloFilter.cxx:468
 AliAnalysisTaskCaloFilter.cxx:469
 AliAnalysisTaskCaloFilter.cxx:470
 AliAnalysisTaskCaloFilter.cxx:471
 AliAnalysisTaskCaloFilter.cxx:472
 AliAnalysisTaskCaloFilter.cxx:473
 AliAnalysisTaskCaloFilter.cxx:474
 AliAnalysisTaskCaloFilter.cxx:475
 AliAnalysisTaskCaloFilter.cxx:476
 AliAnalysisTaskCaloFilter.cxx:477
 AliAnalysisTaskCaloFilter.cxx:478
 AliAnalysisTaskCaloFilter.cxx:479
 AliAnalysisTaskCaloFilter.cxx:480
 AliAnalysisTaskCaloFilter.cxx:481
 AliAnalysisTaskCaloFilter.cxx:482
 AliAnalysisTaskCaloFilter.cxx:483
 AliAnalysisTaskCaloFilter.cxx:484
 AliAnalysisTaskCaloFilter.cxx:485
 AliAnalysisTaskCaloFilter.cxx:486
 AliAnalysisTaskCaloFilter.cxx:487
 AliAnalysisTaskCaloFilter.cxx:488
 AliAnalysisTaskCaloFilter.cxx:489
 AliAnalysisTaskCaloFilter.cxx:490
 AliAnalysisTaskCaloFilter.cxx:491
 AliAnalysisTaskCaloFilter.cxx:492
 AliAnalysisTaskCaloFilter.cxx:493
 AliAnalysisTaskCaloFilter.cxx:494
 AliAnalysisTaskCaloFilter.cxx:495
 AliAnalysisTaskCaloFilter.cxx:496
 AliAnalysisTaskCaloFilter.cxx:497
 AliAnalysisTaskCaloFilter.cxx:498
 AliAnalysisTaskCaloFilter.cxx:499
 AliAnalysisTaskCaloFilter.cxx:500
 AliAnalysisTaskCaloFilter.cxx:501
 AliAnalysisTaskCaloFilter.cxx:502
 AliAnalysisTaskCaloFilter.cxx:503
 AliAnalysisTaskCaloFilter.cxx:504
 AliAnalysisTaskCaloFilter.cxx:505
 AliAnalysisTaskCaloFilter.cxx:506
 AliAnalysisTaskCaloFilter.cxx:507
 AliAnalysisTaskCaloFilter.cxx:508
 AliAnalysisTaskCaloFilter.cxx:509
 AliAnalysisTaskCaloFilter.cxx:510
 AliAnalysisTaskCaloFilter.cxx:511
 AliAnalysisTaskCaloFilter.cxx:512
 AliAnalysisTaskCaloFilter.cxx:513
 AliAnalysisTaskCaloFilter.cxx:514
 AliAnalysisTaskCaloFilter.cxx:515
 AliAnalysisTaskCaloFilter.cxx:516
 AliAnalysisTaskCaloFilter.cxx:517
 AliAnalysisTaskCaloFilter.cxx:518
 AliAnalysisTaskCaloFilter.cxx:519
 AliAnalysisTaskCaloFilter.cxx:520
 AliAnalysisTaskCaloFilter.cxx:521
 AliAnalysisTaskCaloFilter.cxx:522
 AliAnalysisTaskCaloFilter.cxx:523
 AliAnalysisTaskCaloFilter.cxx:524
 AliAnalysisTaskCaloFilter.cxx:525
 AliAnalysisTaskCaloFilter.cxx:526
 AliAnalysisTaskCaloFilter.cxx:527
 AliAnalysisTaskCaloFilter.cxx:528
 AliAnalysisTaskCaloFilter.cxx:529
 AliAnalysisTaskCaloFilter.cxx:530
 AliAnalysisTaskCaloFilter.cxx:531
 AliAnalysisTaskCaloFilter.cxx:532
 AliAnalysisTaskCaloFilter.cxx:533
 AliAnalysisTaskCaloFilter.cxx:534
 AliAnalysisTaskCaloFilter.cxx:535
 AliAnalysisTaskCaloFilter.cxx:536
 AliAnalysisTaskCaloFilter.cxx:537
 AliAnalysisTaskCaloFilter.cxx:538
 AliAnalysisTaskCaloFilter.cxx:539
 AliAnalysisTaskCaloFilter.cxx:540
 AliAnalysisTaskCaloFilter.cxx:541
 AliAnalysisTaskCaloFilter.cxx:542
 AliAnalysisTaskCaloFilter.cxx:543
 AliAnalysisTaskCaloFilter.cxx:544
 AliAnalysisTaskCaloFilter.cxx:545
 AliAnalysisTaskCaloFilter.cxx:546
 AliAnalysisTaskCaloFilter.cxx:547
 AliAnalysisTaskCaloFilter.cxx:548
 AliAnalysisTaskCaloFilter.cxx:549
 AliAnalysisTaskCaloFilter.cxx:550
 AliAnalysisTaskCaloFilter.cxx:551
 AliAnalysisTaskCaloFilter.cxx:552
 AliAnalysisTaskCaloFilter.cxx:553
 AliAnalysisTaskCaloFilter.cxx:554
 AliAnalysisTaskCaloFilter.cxx:555
 AliAnalysisTaskCaloFilter.cxx:556
 AliAnalysisTaskCaloFilter.cxx:557
 AliAnalysisTaskCaloFilter.cxx:558
 AliAnalysisTaskCaloFilter.cxx:559
 AliAnalysisTaskCaloFilter.cxx:560
 AliAnalysisTaskCaloFilter.cxx:561
 AliAnalysisTaskCaloFilter.cxx:562
 AliAnalysisTaskCaloFilter.cxx:563
 AliAnalysisTaskCaloFilter.cxx:564
 AliAnalysisTaskCaloFilter.cxx:565
 AliAnalysisTaskCaloFilter.cxx:566
 AliAnalysisTaskCaloFilter.cxx:567
 AliAnalysisTaskCaloFilter.cxx:568
 AliAnalysisTaskCaloFilter.cxx:569
 AliAnalysisTaskCaloFilter.cxx:570
 AliAnalysisTaskCaloFilter.cxx:571
 AliAnalysisTaskCaloFilter.cxx:572
 AliAnalysisTaskCaloFilter.cxx:573
 AliAnalysisTaskCaloFilter.cxx:574
 AliAnalysisTaskCaloFilter.cxx:575
 AliAnalysisTaskCaloFilter.cxx:576
 AliAnalysisTaskCaloFilter.cxx:577
 AliAnalysisTaskCaloFilter.cxx:578
 AliAnalysisTaskCaloFilter.cxx:579
 AliAnalysisTaskCaloFilter.cxx:580
 AliAnalysisTaskCaloFilter.cxx:581
 AliAnalysisTaskCaloFilter.cxx:582
 AliAnalysisTaskCaloFilter.cxx:583
 AliAnalysisTaskCaloFilter.cxx:584
 AliAnalysisTaskCaloFilter.cxx:585
 AliAnalysisTaskCaloFilter.cxx:586
 AliAnalysisTaskCaloFilter.cxx:587
 AliAnalysisTaskCaloFilter.cxx:588
 AliAnalysisTaskCaloFilter.cxx:589
 AliAnalysisTaskCaloFilter.cxx:590
 AliAnalysisTaskCaloFilter.cxx:591
 AliAnalysisTaskCaloFilter.cxx:592
 AliAnalysisTaskCaloFilter.cxx:593
 AliAnalysisTaskCaloFilter.cxx:594
 AliAnalysisTaskCaloFilter.cxx:595
 AliAnalysisTaskCaloFilter.cxx:596
 AliAnalysisTaskCaloFilter.cxx:597
 AliAnalysisTaskCaloFilter.cxx:598
 AliAnalysisTaskCaloFilter.cxx:599
 AliAnalysisTaskCaloFilter.cxx:600
 AliAnalysisTaskCaloFilter.cxx:601
 AliAnalysisTaskCaloFilter.cxx:602
 AliAnalysisTaskCaloFilter.cxx:603
 AliAnalysisTaskCaloFilter.cxx:604
 AliAnalysisTaskCaloFilter.cxx:605
 AliAnalysisTaskCaloFilter.cxx:606
 AliAnalysisTaskCaloFilter.cxx:607
 AliAnalysisTaskCaloFilter.cxx:608
 AliAnalysisTaskCaloFilter.cxx:609
 AliAnalysisTaskCaloFilter.cxx:610
 AliAnalysisTaskCaloFilter.cxx:611
 AliAnalysisTaskCaloFilter.cxx:612
 AliAnalysisTaskCaloFilter.cxx:613
 AliAnalysisTaskCaloFilter.cxx:614
 AliAnalysisTaskCaloFilter.cxx:615
 AliAnalysisTaskCaloFilter.cxx:616
 AliAnalysisTaskCaloFilter.cxx:617
 AliAnalysisTaskCaloFilter.cxx:618
 AliAnalysisTaskCaloFilter.cxx:619
 AliAnalysisTaskCaloFilter.cxx:620
 AliAnalysisTaskCaloFilter.cxx:621
 AliAnalysisTaskCaloFilter.cxx:622
 AliAnalysisTaskCaloFilter.cxx:623
 AliAnalysisTaskCaloFilter.cxx:624
 AliAnalysisTaskCaloFilter.cxx:625
 AliAnalysisTaskCaloFilter.cxx:626
 AliAnalysisTaskCaloFilter.cxx:627
 AliAnalysisTaskCaloFilter.cxx:628
 AliAnalysisTaskCaloFilter.cxx:629
 AliAnalysisTaskCaloFilter.cxx:630
 AliAnalysisTaskCaloFilter.cxx:631
 AliAnalysisTaskCaloFilter.cxx:632
 AliAnalysisTaskCaloFilter.cxx:633
 AliAnalysisTaskCaloFilter.cxx:634
 AliAnalysisTaskCaloFilter.cxx:635
 AliAnalysisTaskCaloFilter.cxx:636
 AliAnalysisTaskCaloFilter.cxx:637
 AliAnalysisTaskCaloFilter.cxx:638
 AliAnalysisTaskCaloFilter.cxx:639
 AliAnalysisTaskCaloFilter.cxx:640
 AliAnalysisTaskCaloFilter.cxx:641
 AliAnalysisTaskCaloFilter.cxx:642
 AliAnalysisTaskCaloFilter.cxx:643
 AliAnalysisTaskCaloFilter.cxx:644
 AliAnalysisTaskCaloFilter.cxx:645
 AliAnalysisTaskCaloFilter.cxx:646
 AliAnalysisTaskCaloFilter.cxx:647
 AliAnalysisTaskCaloFilter.cxx:648
 AliAnalysisTaskCaloFilter.cxx:649
 AliAnalysisTaskCaloFilter.cxx:650
 AliAnalysisTaskCaloFilter.cxx:651
 AliAnalysisTaskCaloFilter.cxx:652
 AliAnalysisTaskCaloFilter.cxx:653
 AliAnalysisTaskCaloFilter.cxx:654
 AliAnalysisTaskCaloFilter.cxx:655
 AliAnalysisTaskCaloFilter.cxx:656
 AliAnalysisTaskCaloFilter.cxx:657
 AliAnalysisTaskCaloFilter.cxx:658
 AliAnalysisTaskCaloFilter.cxx:659
 AliAnalysisTaskCaloFilter.cxx:660
 AliAnalysisTaskCaloFilter.cxx:661
 AliAnalysisTaskCaloFilter.cxx:662
 AliAnalysisTaskCaloFilter.cxx:663
 AliAnalysisTaskCaloFilter.cxx:664
 AliAnalysisTaskCaloFilter.cxx:665
 AliAnalysisTaskCaloFilter.cxx:666
 AliAnalysisTaskCaloFilter.cxx:667
 AliAnalysisTaskCaloFilter.cxx:668
 AliAnalysisTaskCaloFilter.cxx:669
 AliAnalysisTaskCaloFilter.cxx:670
 AliAnalysisTaskCaloFilter.cxx:671
 AliAnalysisTaskCaloFilter.cxx:672
 AliAnalysisTaskCaloFilter.cxx:673
 AliAnalysisTaskCaloFilter.cxx:674
 AliAnalysisTaskCaloFilter.cxx:675
 AliAnalysisTaskCaloFilter.cxx:676
 AliAnalysisTaskCaloFilter.cxx:677
 AliAnalysisTaskCaloFilter.cxx:678
 AliAnalysisTaskCaloFilter.cxx:679
 AliAnalysisTaskCaloFilter.cxx:680
 AliAnalysisTaskCaloFilter.cxx:681
 AliAnalysisTaskCaloFilter.cxx:682
 AliAnalysisTaskCaloFilter.cxx:683
 AliAnalysisTaskCaloFilter.cxx:684
 AliAnalysisTaskCaloFilter.cxx:685
 AliAnalysisTaskCaloFilter.cxx:686
 AliAnalysisTaskCaloFilter.cxx:687
 AliAnalysisTaskCaloFilter.cxx:688
 AliAnalysisTaskCaloFilter.cxx:689
 AliAnalysisTaskCaloFilter.cxx:690
 AliAnalysisTaskCaloFilter.cxx:691
 AliAnalysisTaskCaloFilter.cxx:692
 AliAnalysisTaskCaloFilter.cxx:693
 AliAnalysisTaskCaloFilter.cxx:694
 AliAnalysisTaskCaloFilter.cxx:695
 AliAnalysisTaskCaloFilter.cxx:696
 AliAnalysisTaskCaloFilter.cxx:697
 AliAnalysisTaskCaloFilter.cxx:698
 AliAnalysisTaskCaloFilter.cxx:699
 AliAnalysisTaskCaloFilter.cxx:700
 AliAnalysisTaskCaloFilter.cxx:701
 AliAnalysisTaskCaloFilter.cxx:702
 AliAnalysisTaskCaloFilter.cxx:703
 AliAnalysisTaskCaloFilter.cxx:704
 AliAnalysisTaskCaloFilter.cxx:705
 AliAnalysisTaskCaloFilter.cxx:706
 AliAnalysisTaskCaloFilter.cxx:707
 AliAnalysisTaskCaloFilter.cxx:708
 AliAnalysisTaskCaloFilter.cxx:709
 AliAnalysisTaskCaloFilter.cxx:710
 AliAnalysisTaskCaloFilter.cxx:711
 AliAnalysisTaskCaloFilter.cxx:712
 AliAnalysisTaskCaloFilter.cxx:713
 AliAnalysisTaskCaloFilter.cxx:714
 AliAnalysisTaskCaloFilter.cxx:715
 AliAnalysisTaskCaloFilter.cxx:716
 AliAnalysisTaskCaloFilter.cxx:717
 AliAnalysisTaskCaloFilter.cxx:718
 AliAnalysisTaskCaloFilter.cxx:719
 AliAnalysisTaskCaloFilter.cxx:720
 AliAnalysisTaskCaloFilter.cxx:721
 AliAnalysisTaskCaloFilter.cxx:722
 AliAnalysisTaskCaloFilter.cxx:723
 AliAnalysisTaskCaloFilter.cxx:724
 AliAnalysisTaskCaloFilter.cxx:725
 AliAnalysisTaskCaloFilter.cxx:726
 AliAnalysisTaskCaloFilter.cxx:727
 AliAnalysisTaskCaloFilter.cxx:728
 AliAnalysisTaskCaloFilter.cxx:729
 AliAnalysisTaskCaloFilter.cxx:730
 AliAnalysisTaskCaloFilter.cxx:731
 AliAnalysisTaskCaloFilter.cxx:732
 AliAnalysisTaskCaloFilter.cxx:733
 AliAnalysisTaskCaloFilter.cxx:734
 AliAnalysisTaskCaloFilter.cxx:735
 AliAnalysisTaskCaloFilter.cxx:736
 AliAnalysisTaskCaloFilter.cxx:737
 AliAnalysisTaskCaloFilter.cxx:738
 AliAnalysisTaskCaloFilter.cxx:739
 AliAnalysisTaskCaloFilter.cxx:740
 AliAnalysisTaskCaloFilter.cxx:741
 AliAnalysisTaskCaloFilter.cxx:742
 AliAnalysisTaskCaloFilter.cxx:743
 AliAnalysisTaskCaloFilter.cxx:744
 AliAnalysisTaskCaloFilter.cxx:745
 AliAnalysisTaskCaloFilter.cxx:746
 AliAnalysisTaskCaloFilter.cxx:747
 AliAnalysisTaskCaloFilter.cxx:748
 AliAnalysisTaskCaloFilter.cxx:749
 AliAnalysisTaskCaloFilter.cxx:750
 AliAnalysisTaskCaloFilter.cxx:751
 AliAnalysisTaskCaloFilter.cxx:752
 AliAnalysisTaskCaloFilter.cxx:753
 AliAnalysisTaskCaloFilter.cxx:754
 AliAnalysisTaskCaloFilter.cxx:755
 AliAnalysisTaskCaloFilter.cxx:756
 AliAnalysisTaskCaloFilter.cxx:757
 AliAnalysisTaskCaloFilter.cxx:758
 AliAnalysisTaskCaloFilter.cxx:759
 AliAnalysisTaskCaloFilter.cxx:760
 AliAnalysisTaskCaloFilter.cxx:761
 AliAnalysisTaskCaloFilter.cxx:762
 AliAnalysisTaskCaloFilter.cxx:763
 AliAnalysisTaskCaloFilter.cxx:764
 AliAnalysisTaskCaloFilter.cxx:765
 AliAnalysisTaskCaloFilter.cxx:766
 AliAnalysisTaskCaloFilter.cxx:767
 AliAnalysisTaskCaloFilter.cxx:768
 AliAnalysisTaskCaloFilter.cxx:769
 AliAnalysisTaskCaloFilter.cxx:770
 AliAnalysisTaskCaloFilter.cxx:771
 AliAnalysisTaskCaloFilter.cxx:772
 AliAnalysisTaskCaloFilter.cxx:773
 AliAnalysisTaskCaloFilter.cxx:774
 AliAnalysisTaskCaloFilter.cxx:775
 AliAnalysisTaskCaloFilter.cxx:776
 AliAnalysisTaskCaloFilter.cxx:777
 AliAnalysisTaskCaloFilter.cxx:778
 AliAnalysisTaskCaloFilter.cxx:779
 AliAnalysisTaskCaloFilter.cxx:780
 AliAnalysisTaskCaloFilter.cxx:781
 AliAnalysisTaskCaloFilter.cxx:782
 AliAnalysisTaskCaloFilter.cxx:783
 AliAnalysisTaskCaloFilter.cxx:784
 AliAnalysisTaskCaloFilter.cxx:785
 AliAnalysisTaskCaloFilter.cxx:786
 AliAnalysisTaskCaloFilter.cxx:787
 AliAnalysisTaskCaloFilter.cxx:788
 AliAnalysisTaskCaloFilter.cxx:789
 AliAnalysisTaskCaloFilter.cxx:790
 AliAnalysisTaskCaloFilter.cxx:791
 AliAnalysisTaskCaloFilter.cxx:792
 AliAnalysisTaskCaloFilter.cxx:793
 AliAnalysisTaskCaloFilter.cxx:794
 AliAnalysisTaskCaloFilter.cxx:795
 AliAnalysisTaskCaloFilter.cxx:796
 AliAnalysisTaskCaloFilter.cxx:797
 AliAnalysisTaskCaloFilter.cxx:798
 AliAnalysisTaskCaloFilter.cxx:799
 AliAnalysisTaskCaloFilter.cxx:800
 AliAnalysisTaskCaloFilter.cxx:801
 AliAnalysisTaskCaloFilter.cxx:802
 AliAnalysisTaskCaloFilter.cxx:803
 AliAnalysisTaskCaloFilter.cxx:804
 AliAnalysisTaskCaloFilter.cxx:805
 AliAnalysisTaskCaloFilter.cxx:806
 AliAnalysisTaskCaloFilter.cxx:807
 AliAnalysisTaskCaloFilter.cxx:808
 AliAnalysisTaskCaloFilter.cxx:809
 AliAnalysisTaskCaloFilter.cxx:810
 AliAnalysisTaskCaloFilter.cxx:811
 AliAnalysisTaskCaloFilter.cxx:812
 AliAnalysisTaskCaloFilter.cxx:813
 AliAnalysisTaskCaloFilter.cxx:814
 AliAnalysisTaskCaloFilter.cxx:815
 AliAnalysisTaskCaloFilter.cxx:816
 AliAnalysisTaskCaloFilter.cxx:817
 AliAnalysisTaskCaloFilter.cxx:818
 AliAnalysisTaskCaloFilter.cxx:819
 AliAnalysisTaskCaloFilter.cxx:820
 AliAnalysisTaskCaloFilter.cxx:821
 AliAnalysisTaskCaloFilter.cxx:822
 AliAnalysisTaskCaloFilter.cxx:823
 AliAnalysisTaskCaloFilter.cxx:824
 AliAnalysisTaskCaloFilter.cxx:825
 AliAnalysisTaskCaloFilter.cxx:826
 AliAnalysisTaskCaloFilter.cxx:827
 AliAnalysisTaskCaloFilter.cxx:828
 AliAnalysisTaskCaloFilter.cxx:829
 AliAnalysisTaskCaloFilter.cxx:830
 AliAnalysisTaskCaloFilter.cxx:831
 AliAnalysisTaskCaloFilter.cxx:832
 AliAnalysisTaskCaloFilter.cxx:833
 AliAnalysisTaskCaloFilter.cxx:834
 AliAnalysisTaskCaloFilter.cxx:835
 AliAnalysisTaskCaloFilter.cxx:836
 AliAnalysisTaskCaloFilter.cxx:837
 AliAnalysisTaskCaloFilter.cxx:838
 AliAnalysisTaskCaloFilter.cxx:839
 AliAnalysisTaskCaloFilter.cxx:840
 AliAnalysisTaskCaloFilter.cxx:841
 AliAnalysisTaskCaloFilter.cxx:842
 AliAnalysisTaskCaloFilter.cxx:843
 AliAnalysisTaskCaloFilter.cxx:844
 AliAnalysisTaskCaloFilter.cxx:845
 AliAnalysisTaskCaloFilter.cxx:846
 AliAnalysisTaskCaloFilter.cxx:847
 AliAnalysisTaskCaloFilter.cxx:848
 AliAnalysisTaskCaloFilter.cxx:849
 AliAnalysisTaskCaloFilter.cxx:850
 AliAnalysisTaskCaloFilter.cxx:851
 AliAnalysisTaskCaloFilter.cxx:852
 AliAnalysisTaskCaloFilter.cxx:853
 AliAnalysisTaskCaloFilter.cxx:854
 AliAnalysisTaskCaloFilter.cxx:855
 AliAnalysisTaskCaloFilter.cxx:856
 AliAnalysisTaskCaloFilter.cxx:857
 AliAnalysisTaskCaloFilter.cxx:858
 AliAnalysisTaskCaloFilter.cxx:859
 AliAnalysisTaskCaloFilter.cxx:860
 AliAnalysisTaskCaloFilter.cxx:861
 AliAnalysisTaskCaloFilter.cxx:862
 AliAnalysisTaskCaloFilter.cxx:863
 AliAnalysisTaskCaloFilter.cxx:864
 AliAnalysisTaskCaloFilter.cxx:865
 AliAnalysisTaskCaloFilter.cxx:866
 AliAnalysisTaskCaloFilter.cxx:867
 AliAnalysisTaskCaloFilter.cxx:868
 AliAnalysisTaskCaloFilter.cxx:869
 AliAnalysisTaskCaloFilter.cxx:870
 AliAnalysisTaskCaloFilter.cxx:871
 AliAnalysisTaskCaloFilter.cxx:872
 AliAnalysisTaskCaloFilter.cxx:873
 AliAnalysisTaskCaloFilter.cxx:874
 AliAnalysisTaskCaloFilter.cxx:875
 AliAnalysisTaskCaloFilter.cxx:876
 AliAnalysisTaskCaloFilter.cxx:877
 AliAnalysisTaskCaloFilter.cxx:878
 AliAnalysisTaskCaloFilter.cxx:879
 AliAnalysisTaskCaloFilter.cxx:880
 AliAnalysisTaskCaloFilter.cxx:881
 AliAnalysisTaskCaloFilter.cxx:882
 AliAnalysisTaskCaloFilter.cxx:883
 AliAnalysisTaskCaloFilter.cxx:884
 AliAnalysisTaskCaloFilter.cxx:885
 AliAnalysisTaskCaloFilter.cxx:886
 AliAnalysisTaskCaloFilter.cxx:887
 AliAnalysisTaskCaloFilter.cxx:888
 AliAnalysisTaskCaloFilter.cxx:889
 AliAnalysisTaskCaloFilter.cxx:890
 AliAnalysisTaskCaloFilter.cxx:891
 AliAnalysisTaskCaloFilter.cxx:892
 AliAnalysisTaskCaloFilter.cxx:893
 AliAnalysisTaskCaloFilter.cxx:894
 AliAnalysisTaskCaloFilter.cxx:895
 AliAnalysisTaskCaloFilter.cxx:896
 AliAnalysisTaskCaloFilter.cxx:897
 AliAnalysisTaskCaloFilter.cxx:898
 AliAnalysisTaskCaloFilter.cxx:899
 AliAnalysisTaskCaloFilter.cxx:900
 AliAnalysisTaskCaloFilter.cxx:901
 AliAnalysisTaskCaloFilter.cxx:902
 AliAnalysisTaskCaloFilter.cxx:903
 AliAnalysisTaskCaloFilter.cxx:904
 AliAnalysisTaskCaloFilter.cxx:905
 AliAnalysisTaskCaloFilter.cxx:906
 AliAnalysisTaskCaloFilter.cxx:907
 AliAnalysisTaskCaloFilter.cxx:908
 AliAnalysisTaskCaloFilter.cxx:909
 AliAnalysisTaskCaloFilter.cxx:910
 AliAnalysisTaskCaloFilter.cxx:911
 AliAnalysisTaskCaloFilter.cxx:912
 AliAnalysisTaskCaloFilter.cxx:913
 AliAnalysisTaskCaloFilter.cxx:914
 AliAnalysisTaskCaloFilter.cxx:915
 AliAnalysisTaskCaloFilter.cxx:916
 AliAnalysisTaskCaloFilter.cxx:917
 AliAnalysisTaskCaloFilter.cxx:918
 AliAnalysisTaskCaloFilter.cxx:919
 AliAnalysisTaskCaloFilter.cxx:920
 AliAnalysisTaskCaloFilter.cxx:921
 AliAnalysisTaskCaloFilter.cxx:922
 AliAnalysisTaskCaloFilter.cxx:923
 AliAnalysisTaskCaloFilter.cxx:924
 AliAnalysisTaskCaloFilter.cxx:925
 AliAnalysisTaskCaloFilter.cxx:926
 AliAnalysisTaskCaloFilter.cxx:927
 AliAnalysisTaskCaloFilter.cxx:928
 AliAnalysisTaskCaloFilter.cxx:929
 AliAnalysisTaskCaloFilter.cxx:930
 AliAnalysisTaskCaloFilter.cxx:931
 AliAnalysisTaskCaloFilter.cxx:932
 AliAnalysisTaskCaloFilter.cxx:933
 AliAnalysisTaskCaloFilter.cxx:934
 AliAnalysisTaskCaloFilter.cxx:935
 AliAnalysisTaskCaloFilter.cxx:936
 AliAnalysisTaskCaloFilter.cxx:937
 AliAnalysisTaskCaloFilter.cxx:938
 AliAnalysisTaskCaloFilter.cxx:939
 AliAnalysisTaskCaloFilter.cxx:940
 AliAnalysisTaskCaloFilter.cxx:941
 AliAnalysisTaskCaloFilter.cxx:942
 AliAnalysisTaskCaloFilter.cxx:943
 AliAnalysisTaskCaloFilter.cxx:944
 AliAnalysisTaskCaloFilter.cxx:945
 AliAnalysisTaskCaloFilter.cxx:946
 AliAnalysisTaskCaloFilter.cxx:947
 AliAnalysisTaskCaloFilter.cxx:948
 AliAnalysisTaskCaloFilter.cxx:949
 AliAnalysisTaskCaloFilter.cxx:950
 AliAnalysisTaskCaloFilter.cxx:951
 AliAnalysisTaskCaloFilter.cxx:952
 AliAnalysisTaskCaloFilter.cxx:953
 AliAnalysisTaskCaloFilter.cxx:954
 AliAnalysisTaskCaloFilter.cxx:955
 AliAnalysisTaskCaloFilter.cxx:956
 AliAnalysisTaskCaloFilter.cxx:957
 AliAnalysisTaskCaloFilter.cxx:958
 AliAnalysisTaskCaloFilter.cxx:959
 AliAnalysisTaskCaloFilter.cxx:960
 AliAnalysisTaskCaloFilter.cxx:961
 AliAnalysisTaskCaloFilter.cxx:962
 AliAnalysisTaskCaloFilter.cxx:963
 AliAnalysisTaskCaloFilter.cxx:964
 AliAnalysisTaskCaloFilter.cxx:965
 AliAnalysisTaskCaloFilter.cxx:966
 AliAnalysisTaskCaloFilter.cxx:967
 AliAnalysisTaskCaloFilter.cxx:968
 AliAnalysisTaskCaloFilter.cxx:969
 AliAnalysisTaskCaloFilter.cxx:970
 AliAnalysisTaskCaloFilter.cxx:971
 AliAnalysisTaskCaloFilter.cxx:972
 AliAnalysisTaskCaloFilter.cxx:973
 AliAnalysisTaskCaloFilter.cxx:974
 AliAnalysisTaskCaloFilter.cxx:975
 AliAnalysisTaskCaloFilter.cxx:976
 AliAnalysisTaskCaloFilter.cxx:977
 AliAnalysisTaskCaloFilter.cxx:978
 AliAnalysisTaskCaloFilter.cxx:979
 AliAnalysisTaskCaloFilter.cxx:980
 AliAnalysisTaskCaloFilter.cxx:981
 AliAnalysisTaskCaloFilter.cxx:982
 AliAnalysisTaskCaloFilter.cxx:983
 AliAnalysisTaskCaloFilter.cxx:984
 AliAnalysisTaskCaloFilter.cxx:985
 AliAnalysisTaskCaloFilter.cxx:986
 AliAnalysisTaskCaloFilter.cxx:987
 AliAnalysisTaskCaloFilter.cxx:988
 AliAnalysisTaskCaloFilter.cxx:989
 AliAnalysisTaskCaloFilter.cxx:990
 AliAnalysisTaskCaloFilter.cxx:991
 AliAnalysisTaskCaloFilter.cxx:992
 AliAnalysisTaskCaloFilter.cxx:993
 AliAnalysisTaskCaloFilter.cxx:994
 AliAnalysisTaskCaloFilter.cxx:995
 AliAnalysisTaskCaloFilter.cxx:996
 AliAnalysisTaskCaloFilter.cxx:997
 AliAnalysisTaskCaloFilter.cxx:998
 AliAnalysisTaskCaloFilter.cxx:999
 AliAnalysisTaskCaloFilter.cxx:1000
 AliAnalysisTaskCaloFilter.cxx:1001
 AliAnalysisTaskCaloFilter.cxx:1002
 AliAnalysisTaskCaloFilter.cxx:1003
 AliAnalysisTaskCaloFilter.cxx:1004
 AliAnalysisTaskCaloFilter.cxx:1005
 AliAnalysisTaskCaloFilter.cxx:1006
 AliAnalysisTaskCaloFilter.cxx:1007
 AliAnalysisTaskCaloFilter.cxx:1008
 AliAnalysisTaskCaloFilter.cxx:1009
 AliAnalysisTaskCaloFilter.cxx:1010
 AliAnalysisTaskCaloFilter.cxx:1011
 AliAnalysisTaskCaloFilter.cxx:1012
 AliAnalysisTaskCaloFilter.cxx:1013
 AliAnalysisTaskCaloFilter.cxx:1014
 AliAnalysisTaskCaloFilter.cxx:1015
 AliAnalysisTaskCaloFilter.cxx:1016
 AliAnalysisTaskCaloFilter.cxx:1017
 AliAnalysisTaskCaloFilter.cxx:1018
 AliAnalysisTaskCaloFilter.cxx:1019
 AliAnalysisTaskCaloFilter.cxx:1020
 AliAnalysisTaskCaloFilter.cxx:1021
 AliAnalysisTaskCaloFilter.cxx:1022
 AliAnalysisTaskCaloFilter.cxx:1023
 AliAnalysisTaskCaloFilter.cxx:1024
 AliAnalysisTaskCaloFilter.cxx:1025
 AliAnalysisTaskCaloFilter.cxx:1026
 AliAnalysisTaskCaloFilter.cxx:1027
 AliAnalysisTaskCaloFilter.cxx:1028
 AliAnalysisTaskCaloFilter.cxx:1029
 AliAnalysisTaskCaloFilter.cxx:1030
 AliAnalysisTaskCaloFilter.cxx:1031
 AliAnalysisTaskCaloFilter.cxx:1032
 AliAnalysisTaskCaloFilter.cxx:1033
 AliAnalysisTaskCaloFilter.cxx:1034
 AliAnalysisTaskCaloFilter.cxx:1035
 AliAnalysisTaskCaloFilter.cxx:1036
 AliAnalysisTaskCaloFilter.cxx:1037
 AliAnalysisTaskCaloFilter.cxx:1038
 AliAnalysisTaskCaloFilter.cxx:1039
 AliAnalysisTaskCaloFilter.cxx:1040
 AliAnalysisTaskCaloFilter.cxx:1041
 AliAnalysisTaskCaloFilter.cxx:1042
 AliAnalysisTaskCaloFilter.cxx:1043
 AliAnalysisTaskCaloFilter.cxx:1044
 AliAnalysisTaskCaloFilter.cxx:1045