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

/* $Id$ */
 
#include <Riostream.h>
#include <TChain.h>
#include <TTree.h>
#include <TList.h>
#include <TArrayI.h>
#include <TParameter.h>
#include <TRandom.h>
#include <TParticle.h>
#include <TFile.h>
#include <TVector3.h>

#include "AliAnalysisTaskESDfilter.h"
#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliESDRun.h"
#include "AliStack.h"
#include "AliAODEvent.h"
#include "AliMCEvent.h"
#include "AliMCEventHandler.h"
#include "AliESDInputHandler.h"
#include "AliAODHandler.h"
#include "AliAODMCParticle.h"
#include "AliAnalysisFilter.h"
#include "AliESDMuonTrack.h"
#include "AliESDVertex.h"
#include "AliCentrality.h"
#include "AliEventplane.h"
#include "AliESDv0.h"
#include "AliESDkink.h"
#include "AliESDcascade.h"
#include "AliESDPmdTrack.h"
#include "AliESDCaloCluster.h"
#include "AliESDCaloCells.h"
#include "AliMultiplicity.h"
#include "AliLog.h"
#include "AliCodeTimer.h"
#include "AliESDtrackCuts.h"
#include "AliESDpid.h"
#include "AliAODHMPIDrings.h"
#include "AliV0vertexer.h"
#include "AliCascadeVertexer.h"
#include "AliExternalTrackParam.h"
#include "AliTrackerBase.h"
#include "AliTPCdEdxInfo.h"

#include "AliESDTrdTrack.h"
#include "AliESDTrdTracklet.h"
#include "AliAODTrdTrack.h"
#include "AliAODTrdTracklet.h"
#include "AliEMCALRecoUtils.h"
#include "AliESDUtils.h"

using std::cout;
using std::endl;
ClassImp(AliAnalysisTaskESDfilter)

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

AliAnalysisTaskESDfilter::AliAnalysisTaskESDfilter():
  AliAnalysisTaskSE(),
  fTrackFilter(0x0),
  fKinkFilter(0x0),
  fV0Filter(0x0),
  fCascadeFilter(0x0),
  fHighPthreshold(0),
  fPtshape(0x0),
  fEnableFillAOD(kTRUE),
  fUsedTrack(0x0),
  fUsedTrackCopy(0x0),
  fUsedKink(0x0),
  fUsedV0(0x0),
  fAODTrackRefs(0x0),
  fAODV0VtxRefs(0x0),
  fAODV0Refs(0x0),
  fMChandler(0x0),
  fNumberOfTracks(0),
  fNumberOfPositiveTracks(0),
  fNumberOfV0s(0),
  fNumberOfVertices(0),
  fNumberOfCascades(0),
  fNumberOfKinks(0),
  fOldESDformat(kFALSE),
  fPrimaryVertex(0x0),
  fTPCConstrainedFilterMask(0),
  fHybridFilterMaskTPCCG(0),
  fWriteHybridTPCCOnly(kFALSE),
  fGlobalConstrainedFilterMask(0),
  fHybridFilterMaskGCG(0),
  fWriteHybridGCOnly(kFALSE),
  fIsVZEROEnabled(kTRUE),
  fIsTZEROEnabled(kTRUE),
  fIsZDCEnabled(kTRUE),
  fIsHMPIDEnabled(kTRUE), 
  fIsV0CascadeRecoEnabled(kFALSE),
  fAreCascadesEnabled(kTRUE),
  fAreV0sEnabled(kTRUE),
  fAreKinksEnabled(kTRUE),
  fAreTracksEnabled(kTRUE),
  fArePmdClustersEnabled(kTRUE),
  fAreCaloClustersEnabled(kTRUE),
  fAreEMCALCellsEnabled(kTRUE),
  fArePHOSCellsEnabled(kTRUE),
  fAreEMCALTriggerEnabled(kTRUE),
  fArePHOSTriggerEnabled(kTRUE),
  fAreTrackletsEnabled(kTRUE),
  fIsTRDEnabled(kTRUE),
  fESDpid(0x0),
  fIsPidOwner(kFALSE),
  fTPCaloneTrackCuts(0),
  fDoPropagateTrackToEMCal(kTRUE),
  fEMCalSurfaceDistance(440),
  fRefitVertexTracks(-1),
  fRefitVertexTracksNCuts(0),
  fRefitVertexTracksCuts(0)
{
  // Default constructor
  fV0Cuts[0] =  33.   ;   // max allowed chi2
  fV0Cuts[1] =   0.1  ;   // min allowed impact parameter for the 1st daughter
  fV0Cuts[2] =   0.1  ;   // min allowed impact parameter for the 2nd daughter
  fV0Cuts[3] =   1.   ;   // max allowed DCA between the daughter tracks
  fV0Cuts[4] =    .998;   // min allowed cosine of V0's pointing angle
  fV0Cuts[5] =   0.9  ;   // min radius of the fiducial volume
  fV0Cuts[6] = 100.   ;   // max radius of the fiducial volume

  fCascadeCuts[0] =  33.   ; // max allowed chi2 (same as PDC07)
  fCascadeCuts[1] =   0.05 ; // min allowed V0 impact parameter
  fCascadeCuts[2] =   0.008; // "window" around the Lambda mass
  fCascadeCuts[3] =   0.03 ; // min allowed bachelor's impact parameter
  fCascadeCuts[4] =   0.3  ; // max allowed DCA between the V0 and the bachelor
  fCascadeCuts[5] =   0.999; // min allowed cosine of the cascade pointing angle
  fCascadeCuts[6] =   0.9  ; // min radius of the fiducial volume
  fCascadeCuts[7] = 100.   ; // max radius of the fiducial volume
}

//______________________________________________________________________________
AliAnalysisTaskESDfilter::AliAnalysisTaskESDfilter(const char* name):
  AliAnalysisTaskSE(name),
  fTrackFilter(0x0),
  fKinkFilter(0x0),
  fV0Filter(0x0),
  fCascadeFilter(0x0),
  fHighPthreshold(0),
  fPtshape(0x0),
  fEnableFillAOD(kTRUE),
  fUsedTrack(0x0),
  fUsedTrackCopy(0x0),
  fUsedKink(0x0),
  fUsedV0(0x0),
  fAODTrackRefs(0x0),
  fAODV0VtxRefs(0x0),
  fAODV0Refs(0x0),
  fMChandler(0x0),
  fNumberOfTracks(0),
  fNumberOfPositiveTracks(0),
  fNumberOfV0s(0),
  fNumberOfVertices(0),
  fNumberOfCascades(0),
  fNumberOfKinks(0),
  fOldESDformat(kFALSE),
  fPrimaryVertex(0x0),
  fTPCConstrainedFilterMask(0),
  fHybridFilterMaskTPCCG(0),
  fWriteHybridTPCCOnly(kFALSE),
  fGlobalConstrainedFilterMask(0),
  fHybridFilterMaskGCG(0),
  fWriteHybridGCOnly(kFALSE),
  fIsVZEROEnabled(kTRUE),
  fIsTZEROEnabled(kTRUE),
  fIsZDCEnabled(kTRUE),
  fIsHMPIDEnabled(kTRUE), 
  fIsV0CascadeRecoEnabled(kFALSE),
  fAreCascadesEnabled(kTRUE),
  fAreV0sEnabled(kTRUE),
  fAreKinksEnabled(kTRUE),
  fAreTracksEnabled(kTRUE),
  fArePmdClustersEnabled(kTRUE),
  fAreCaloClustersEnabled(kTRUE),
  fAreEMCALCellsEnabled(kTRUE),
  fArePHOSCellsEnabled(kTRUE),
  fAreEMCALTriggerEnabled(kTRUE),
  fArePHOSTriggerEnabled(kTRUE),
  fAreTrackletsEnabled(kTRUE),
  fIsTRDEnabled(kTRUE),
  fESDpid(0x0),
  fIsPidOwner(kFALSE),
  fTPCaloneTrackCuts(0),
  fDoPropagateTrackToEMCal(kTRUE),
  fEMCalSurfaceDistance(440),
  fRefitVertexTracks(-1),
  fRefitVertexTracksNCuts(0),
  fRefitVertexTracksCuts(0)
{
  // Constructor

  fV0Cuts[0] =  33.   ;   // max allowed chi2
  fV0Cuts[1] =   0.1  ;   // min allowed impact parameter for the 1st daughter
  fV0Cuts[2] =   0.1  ;   // min allowed impact parameter for the 2nd daughter
  fV0Cuts[3] =   1.   ;   // max allowed DCA between the daughter tracks
  fV0Cuts[4] =    .998;   // min allowed cosine of V0's pointing angle
  fV0Cuts[5] =   0.9  ;   // min radius of the fiducial volume
  fV0Cuts[6] = 100.   ;   // max radius of the fiducial volume

  fCascadeCuts[0] =  33.   ; // max allowed chi2 (same as PDC07)
  fCascadeCuts[1] =   0.05 ; // min allowed V0 impact parameter
  fCascadeCuts[2] =   0.008; // "window" around the Lambda mass
  fCascadeCuts[3] =   0.03 ; // min allowed bachelor's impact parameter
  fCascadeCuts[4] =   0.3  ; // max allowed DCA between the V0 and the bachelor
  fCascadeCuts[5] =   0.999; // min allowed cosine of the cascade pointing angle
  fCascadeCuts[6] =   0.9  ; // min radius of the fiducial volume
  fCascadeCuts[7] = 100.   ; // max radius of the fiducial volume
}

AliAnalysisTaskESDfilter::~AliAnalysisTaskESDfilter()
{
  if(fIsPidOwner) delete fESDpid;
  delete[] fRefitVertexTracksCuts;
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::UserCreateOutputObjects()
{
  //
  // Create Output Objects conenct filter to outputtree
  // 
  if(OutputTree())
  {
    OutputTree()->GetUserInfo()->Add(fTrackFilter);
  }
  else
  {
    AliError("No OutputTree() for adding the track filter");
  }
  fTPCaloneTrackCuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::Init()
{
  // Initialization
  if (fDebug > 1) AliInfo("Init() \n");
}

//______________________________________________________________________________
Bool_t AliAnalysisTaskESDfilter::Notify()
{
  // Notify method.
  AddMetadataToUserInfo();
  return kTRUE;
}   

//______________________________________________________________________________
Bool_t AliAnalysisTaskESDfilter::AddMetadataToUserInfo()
{
  // Copy metadata to AOD user info.
  static Bool_t copyFirst = kFALSE;
  if (!copyFirst) {
    AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
    if (!mgr) {
      AliError("AliAnalysisTaskESDfilter::AddMetadataToUserInfo() : No analysis manager !");
      return kFALSE;
    }   
    TTree *esdTree = mgr->GetTree()->GetTree();
    if (!esdTree) return kFALSE;
    TNamed *alirootVersion = (TNamed*)esdTree->GetUserInfo()->FindObject("alirootVersion");
    if (!alirootVersion) return kFALSE;    
    AliAODHandler *aodHandler = dynamic_cast<AliAODHandler*>(mgr->GetOutputEventHandler());
    if (!aodHandler) return kFALSE;
    TTree *aodTree = aodHandler->GetTree();
    if (!aodTree) return kFALSE;
    aodTree->GetUserInfo()->Add(new TNamed(*alirootVersion));
    copyFirst = kTRUE;
  }
  return kTRUE;
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::PrintTask(Option_t *option, Int_t indent) const
{
  // Print selection task information
  AliInfo("");
  
  AliAnalysisTaskSE::PrintTask(option,indent);
  
  TString spaces(' ',indent+3);
  
  cout << spaces.Data() << Form("Cascades       are %s",fAreCascadesEnabled ? "ENABLED":"DISABLED") << endl;
  cout << spaces.Data() << Form("V0s            are %s",fAreV0sEnabled ? "ENABLED":"DISABLED") << endl;
  cout << spaces.Data() << Form("Kinks          are %s",fAreKinksEnabled ? "ENABLED":"DISABLED") << endl;
  cout << spaces.Data() << Form("Tracks         are %s",fAreTracksEnabled ? "ENABLED":"DISABLED") << endl;
  cout << spaces.Data() << Form("PmdClusters    are %s",fArePmdClustersEnabled ? "ENABLED":"DISABLED") << endl;
  cout << spaces.Data() << Form("CaloClusters   are %s",fAreCaloClustersEnabled ? "ENABLED":"DISABLED") << endl;
  cout << spaces.Data() << Form("EMCAL cells    are %s",fAreEMCALCellsEnabled ? "ENABLED":"DISABLED") << endl;
  cout << spaces.Data() << Form("EMCAL triggers are %s",fAreEMCALTriggerEnabled ? "ENABLED":"DISABLED") << endl;
  cout << spaces.Data() << Form("PHOS triggers  are %s",fArePHOSTriggerEnabled ? "ENABLED":"DISABLED") << endl;
  cout << spaces.Data() << Form("Tracklets      are %s",fAreTrackletsEnabled ? "ENABLED":"DISABLED") << endl;  
  cout << spaces.Data() << Form("PropagateTrackToEMCal  is %s", fDoPropagateTrackToEMCal ? "ENABLED":"DISABLED") << endl; 
  if (fRefitVertexTracks<0) cout << spaces.Data() << Form("RefitVerteTracks is DISABLED") << endl;
  else cout << spaces.Data() << Form("RefitVerteTracks is ENABLED to %d",fRefitVertexTracks) << endl;
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::UserExec(Option_t */*option*/)
{
  // Execute analysis for current event
					    
  Long64_t ientry = Entry();
  if (fDebug > 0) {
    printf("Filter: Analysing event # %5d\n", (Int_t) ientry);
    if (fHighPthreshold == 0) AliInfo("detector PID signals are stored in each track");
    if (!fPtshape) AliInfo("detector PID signals are not stored below the pt threshold");
  }
  // Filters must explicitely enable AOD filling in their UserExec (AG)
  if (!AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler()) 
    AliFatal("Cannot run ESD filter without an output event handler");
  if(fEnableFillAOD) {
    AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler()->SetFillAOD(kTRUE);
    AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler()->SetFillExtension(kTRUE);
  }   
  ConvertESDtoAOD();
}

//______________________________________________________________________________
TClonesArray& AliAnalysisTaskESDfilter::Cascades()
{
  return *(AODEvent()->GetCascades());
}

//______________________________________________________________________________
TClonesArray& AliAnalysisTaskESDfilter::Tracks()
{
  return *(AODEvent()->GetTracks());
}

//______________________________________________________________________________
TClonesArray& AliAnalysisTaskESDfilter::V0s()
{
  return *(AODEvent()->GetV0s());
}

//______________________________________________________________________________
TClonesArray& AliAnalysisTaskESDfilter::Vertices()
{
  return *(AODEvent()->GetVertices());
}

//______________________________________________________________________________
AliAODHeader* AliAnalysisTaskESDfilter::ConvertHeader(const AliESDEvent& esd)
{
  // Convert header information

  AliCodeTimerAuto("",0);
  
  AliAODHeader* header = dynamic_cast<AliAODHeader*>(AODEvent()->GetHeader());
  if(!header) AliFatal("Not a standard AOD");
  
  header->SetRunNumber(esd.GetRunNumber());
  header->SetOfflineTrigger(fInputHandler->IsEventSelected()); // propagate the decision of the physics selection
  header->SetNumberOfESDTracks(esd.GetNumberOfTracks());

  TTree* tree = fInputHandler->GetTree();
  if (tree) {
    TFile* file = tree->GetCurrentFile();
    if (file) header->SetESDFileName(file->GetName());
  }
  
  if (fOldESDformat) {
    header->SetBunchCrossNumber(0);
    header->SetOrbitNumber(0);
    header->SetPeriodNumber(0);
    header->SetEventType(0);
    header->SetMuonMagFieldScale(-999.);
    header->SetCentrality(0);       
    header->SetEventplane(0);
  } else {
    header->SetBunchCrossNumber(esd.GetBunchCrossNumber());
    header->SetOrbitNumber(esd.GetOrbitNumber());
    header->SetPeriodNumber(esd.GetPeriodNumber());
    header->SetEventType(esd.GetEventType());
    
    header->SetEventNumberESDFile(esd.GetHeader()->GetEventNumberInFile());
    if(const_cast<AliESDEvent&>(esd).GetCentrality()){
      header->SetCentrality(const_cast<AliESDEvent&>(esd).GetCentrality());
    }
    else{
      header->SetCentrality(0);
    }
    if(const_cast<AliESDEvent&>(esd).GetEventplane()){
      header->SetEventplane(const_cast<AliESDEvent&>(esd).GetEventplane());
    }
    else{
      header->SetEventplane(0);
    }
  }
  
  // Trigger
  header->SetFiredTriggerClasses(esd.GetFiredTriggerClasses());
  header->SetTriggerMask(esd.GetTriggerMask()); 
  header->SetTriggerCluster(esd.GetTriggerCluster());
  header->SetL0TriggerInputs(esd.GetHeader()->GetL0TriggerInputs());    
  header->SetL1TriggerInputs(esd.GetHeader()->GetL1TriggerInputs());    
  header->SetL2TriggerInputs(esd.GetHeader()->GetL2TriggerInputs());    
  
  header->SetMagneticField(esd.GetMagneticField());
  header->SetMuonMagFieldScale(esd.GetCurrentDip()/6000.);
  header->SetZDCN1Energy(esd.GetZDCN1Energy());
  header->SetZDCP1Energy(esd.GetZDCP1Energy());
  header->SetZDCN2Energy(esd.GetZDCN2Energy());
  header->SetZDCP2Energy(esd.GetZDCP2Energy());
  header->SetZDCEMEnergy(esd.GetZDCEMEnergy(0),esd.GetZDCEMEnergy(1));

  header->SetIRInt2InteractionMap(esd.GetHeader()->GetIRInt2InteractionMap());
  header->SetIRInt1InteractionMap(esd.GetHeader()->GetIRInt1InteractionMap());
  
  // ITS Cluster Multiplicty
  const AliMultiplicity *mult = esd.GetMultiplicity();
  for (Int_t ilay = 0; ilay < 6; ilay++) header->SetITSClusters(ilay, mult->GetNumberOfITSClusters(ilay));
  
  // TPC only Reference Multiplicty
  Int_t refMult  = fTPCaloneTrackCuts ? (Short_t)fTPCaloneTrackCuts->GetReferenceMultiplicity(&esd, kTRUE) : -1;
  header->SetTPConlyRefMultiplicity(refMult);
  //
  AliESDtrackCuts::MultEstTrackType estType = esd.GetPrimaryVertexTracks()->GetStatus() ? AliESDtrackCuts::kTrackletsITSTPC : AliESDtrackCuts::kTracklets;
  header->SetRefMultiplicityComb05(AliESDtrackCuts::GetReferenceMultiplicity(&esd,estType,0.5));
  header->SetRefMultiplicityComb08(AliESDtrackCuts::GetReferenceMultiplicity(&esd,estType,0.8));
  //
  Float_t diamxy[2]={(Float_t)esd.GetDiamondX(),(Float_t)esd.GetDiamondY()};
  Float_t diamcov[3]; 
  esd.GetDiamondCovXY(diamcov);
  header->SetDiamond(diamxy,diamcov);
  header->SetDiamondZ(esd.GetDiamondZ(),esd.GetSigma2DiamondZ());
  
  // VZERO channel equalization factors for event-plane reconstruction 	 
  header->SetVZEROEqFactors(esd.GetVZEROEqFactors());

  // T0 Resolution information                                                                                                                                          
  const AliESDRun* esdRun = esd.GetESDRun();
  for (Int_t i=0;i<AliESDRun::kT0spreadSize;i++) header->SetT0spread(i,esdRun->GetT0spread(i));

  return header;
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertCascades(const AliESDEvent& esd) 
{
  // Convert the cascades part of the ESD.
  // Return the number of cascades
 
  AliCodeTimerAuto("",0);
  
  // Create vertices starting from the most complex objects
  Double_t chi2 = 0.;
  
  const AliESDVertex* vtx = esd.GetPrimaryVertex();
  Double_t pos[3] = { 0. };
  Double_t covVtx[6] = { 0. };
  Double_t momBach[3]={0.};
  Double_t covTr[21]={0.};
  //  Double_t pid[10]={0.};
  AliAODPid* detpid(0x0);
  AliAODVertex* vV0FromCascade(0x0);
  AliAODv0* aodV0(0x0);
  AliAODcascade* aodCascade(0x0);
  AliAODTrack* aodTrack(0x0);
  Double_t momPos[3]={0.};
  Double_t momNeg[3] = { 0. };
  Double_t momPosAtV0vtx[3]={0.};
  Double_t momNegAtV0vtx[3]={0.};
  Int_t    tofLabel[3] = {0};
  TClonesArray& verticesArray = Vertices();
  TClonesArray& tracksArray = Tracks();
  TClonesArray& cascadesArray = Cascades();
  
  // Cascades (Modified by A.Maire - February 2009)
  for (Int_t nCascade = 0; nCascade < esd.GetNumberOfCascades(); ++nCascade) {
    
    // 0- Preparation
    //
    AliESDcascade *esdCascade = esd.GetCascade(nCascade);
		Int_t  idxPosFromV0Dghter  = esdCascade->GetPindex();
		Int_t  idxNegFromV0Dghter  = esdCascade->GetNindex();
		Int_t  idxBachFromCascade  = esdCascade->GetBindex();
    
    AliESDtrack  *esdCascadePos  = esd.GetTrack( idxPosFromV0Dghter);
    AliESDtrack  *esdCascadeNeg  = esd.GetTrack( idxNegFromV0Dghter);
    AliESDtrack  *esdCascadeBach = esd.GetTrack( idxBachFromCascade);
    
    // Identification of the V0 within the esdCascade (via both daughter track indices)
    AliESDv0 * currentV0   = 0x0;
    Int_t      idxV0FromCascade = -1;
    
    for (Int_t iV0=0; iV0<esd.GetNumberOfV0s(); ++iV0) {
      
      currentV0 = esd.GetV0(iV0);
      Int_t posCurrentV0 = currentV0->GetPindex();
      Int_t negCurrentV0 = currentV0->GetNindex();
      
      if (posCurrentV0==idxPosFromV0Dghter && negCurrentV0==idxNegFromV0Dghter) {
        idxV0FromCascade = iV0;
        break;
      }
    }
    
    if(idxV0FromCascade < 0){
      printf("Cascade - no matching for the V0 (index V0 = -1) ! Skip ... \n");
      continue;
    }// a priori, useless check, but safer ... in case of pb with tracks "out of bounds"
    
    AliESDv0 *esdV0FromCascade   = esd.GetV0(idxV0FromCascade);
        
    // 1 - Cascade selection 
    
    //	AliESDVertex *esdPrimVtx = new AliESDVertex(*(esd.GetPrimaryVertex()));
    // 	TList cascadeObjects;
    // 	cascadeObjects.AddAt(esdV0FromCascade, 0);
    // 	cascadeObjects.AddAt(esdCascadePos,    1);
    // 	cascadeObjects.AddAt(esdCascadeNeg,    2);
    // 	cascadeObjects.AddAt(esdCascade,       3);
    // 	cascadeObjects.AddAt(esdCascadeBach,   4);
    // 	cascadeObjects.AddAt(esdPrimVtx,       5);
    // 
    // 	UInt_t selectCascade = 0;
    // 	if (fCascadeFilter) {
    // 	  // selectCascade = fCascadeFilter->IsSelected(&cascadeObjects); 
    // 	  	// FIXME AliESDCascadeCuts to be implemented ...
    // 
    // 		// Here we may encounter a moot point at the V0 level 
    // 		// between the cascade selections and the V0 ones :
    // 		// the V0 selected along with the cascade (secondary V0) may 
    // 		// usually be removed from the dedicated V0 selections (prim V0) ...
    // 		// -> To be discussed !
    // 
    // 	  // this is a little awkward but otherwise the 
    // 	  // list wants to access the pointer (delete it) 
    // 	  // again when going out of scope
    // 	  delete cascadeObjects.RemoveAt(5); // esdPrimVtx created via copy construct
    // 	  esdPrimVtx = 0;
    // 	  if (!selectCascade) 
    // 	    continue;
    // 	}
    // 	else{
    // 	  delete cascadeObjects.RemoveAt(5); // esdPrimVtx created via copy construct
    // 	  esdPrimVtx = 0;
    // 	}
    
    // 2 - Add the cascade vertex
    
    esdCascade->GetXYZcascade(pos[0], pos[1], pos[2]);
    esdCascade->GetPosCovXi(covVtx);
    chi2 = esdCascade->GetChi2Xi(); 
    
    AliAODVertex *vCascade = new(verticesArray[fNumberOfVertices++]) AliAODVertex(pos,
										  covVtx,
										  chi2, // FIXME = Chi2/NDF will be needed
										  fPrimaryVertex,
										  nCascade, // id
										  AliAODVertex::kCascade);
    fPrimaryVertex->AddDaughter(vCascade);
    
    // 3 - Add the bachelor track from the cascade
    
    if (!fUsedTrack[idxBachFromCascade]) {
      
      esdCascadeBach->GetPxPyPz(momBach);
      esdCascadeBach->GetXYZ(pos);
      esdCascadeBach->GetCovarianceXYZPxPyPz(covTr);
      //      esdCascadeBach->GetESDpid(pid);
      esdCascadeBach->GetTOFLabel(tofLabel);

      fUsedTrack[idxBachFromCascade] = kTRUE;
      UInt_t selectInfo = 0;
      if (fTrackFilter) selectInfo = fTrackFilter->IsSelected(esdCascadeBach);
      if (fMChandler) fMChandler->SelectParticle(esdCascadeBach->GetLabel());
      aodTrack = new(tracksArray[fNumberOfTracks++]) AliAODTrack(esdCascadeBach->GetID(),
								 esdCascadeBach->GetLabel(), 
								 momBach, 
								 kTRUE,
								 pos,
								 kFALSE, // Why kFALSE for "isDCA" ? FIXME
								 covTr, 
								 (Short_t)esdCascadeBach->GetSign(),
								 esdCascadeBach->GetITSClusterMap(), 
								 // pid,
								 vCascade,
								 kTRUE,  // usedForVtxFit = kFALSE ? FIXME
								 vtx->UsesTrack(esdCascadeBach->GetID()),
								 AliAODTrack::kFromDecayVtx,
								 selectInfo);
      aodTrack->SetPIDForTracking(esdCascadeBach->GetPIDForTracking());
      aodTrack->SetTPCFitMap(esdCascadeBach->GetTPCFitMap());
      aodTrack->SetTPCClusterMap(esdCascadeBach->GetTPCClusterMap());
      aodTrack->SetTPCSharedMap (esdCascadeBach->GetTPCSharedMap());
      aodTrack->SetChi2perNDF(Chi2perNDF(esdCascadeBach));
      aodTrack->SetTPCPointsF(esdCascadeBach->GetTPCNclsF());
      aodTrack->SetTPCNCrossedRows(UShort_t(esdCascadeBach->GetTPCCrossedRows()));
      aodTrack->SetIntegratedLength(esdCascadeBach->GetIntegratedLength());
      aodTrack->SetTOFLabel(tofLabel);
      CopyCaloProps(esdCascadeBach,aodTrack);
      fAODTrackRefs->AddAt(aodTrack,idxBachFromCascade);
	    
      if (esdCascadeBach->GetSign() > 0) ++fNumberOfPositiveTracks;
      aodTrack->ConvertAliPIDtoAODPID();
      aodTrack->SetFlags(esdCascadeBach->GetStatus());
      SetAODPID(esdCascadeBach,aodTrack,detpid);
    }
    else {
      aodTrack = static_cast<AliAODTrack*>( fAODTrackRefs->At(idxBachFromCascade) );
    }
    
    vCascade->AddDaughter(aodTrack);
    
    // 4 - Add the V0 from the cascade. 
    // = V0vtx + both pos and neg daughter tracks + the aodV0 itself
    //
    
    if ( !fUsedV0[idxV0FromCascade] ) {
      // 4.A - if VO structure hasn't been created yet
      
      // 4.A.1 - Create the V0 vertex of the cascade
      esdV0FromCascade->GetXYZ(pos[0], pos[1], pos[2]);
      esdV0FromCascade->GetPosCov(covVtx);
      chi2 = esdV0FromCascade->GetChi2V0();  // = chi2/NDF since NDF = 2*2-3 ?
			
      vV0FromCascade = new(verticesArray[fNumberOfVertices++]) AliAODVertex(pos,
									    covVtx,
									    chi2,
									    vCascade,
									    idxV0FromCascade, //id of ESDv0
									    AliAODVertex::kV0);
      // Note:
      //    one V0 can be used by several cascades.
      // So, one AOD V0 vtx can have several parent vtx.
      // This is not directly allowed by AliAODvertex.
      // Setting the parent vtx (here = param "vCascade") doesn't lead to a crash
      // but to a problem of consistency within AODEvent.
      // -> See below paragraph 4.B, for the proposed treatment of such a case.
      
      // Add the vV0FromCascade to the aodVOVtxRefs
      fAODV0VtxRefs->AddAt(vV0FromCascade,idxV0FromCascade);
      
      // 4.A.2 - Add the positive tracks from the V0
      
      esdCascadePos->GetPxPyPz(momPos);
      esdCascadePos->GetXYZ(pos);
      esdCascadePos->GetCovarianceXYZPxPyPz(covTr);
      //      esdCascadePos->GetESDpid(pid);
      esdCascadePos->GetTOFLabel(tofLabel);      
      
      if (!fUsedTrack[idxPosFromV0Dghter]) {
        fUsedTrack[idxPosFromV0Dghter] = kTRUE;
        
        UInt_t selectInfo = 0;
        if (fTrackFilter) selectInfo = fTrackFilter->IsSelected(esdCascadePos);
        if(fMChandler) fMChandler->SelectParticle(esdCascadePos->GetLabel());
        aodTrack = new(tracksArray[fNumberOfTracks++]) AliAODTrack(esdCascadePos->GetID(),
								   esdCascadePos->GetLabel(), 
								   momPos, 
								   kTRUE,
								   pos,
								   kFALSE, // Why kFALSE for "isDCA" ? FIXME
								   covTr, 
								   (Short_t)esdCascadePos->GetSign(),
								   esdCascadePos->GetITSClusterMap(), 
								   //pid,
								   vV0FromCascade,
								   kTRUE,  // usedForVtxFit = kFALSE ? FIXME
								   vtx->UsesTrack(esdCascadePos->GetID()),
								   AliAODTrack::kFromDecayVtx,
								   selectInfo);
	aodTrack->SetPIDForTracking(esdCascadePos->GetPIDForTracking());
        aodTrack->SetTPCFitMap(esdCascadePos->GetTPCFitMap());
        aodTrack->SetTPCClusterMap(esdCascadePos->GetTPCClusterMap());
        aodTrack->SetTPCSharedMap (esdCascadePos->GetTPCSharedMap());
        aodTrack->SetChi2perNDF(Chi2perNDF(esdCascadePos));
	aodTrack->SetTPCPointsF(esdCascadePos->GetTPCNclsF());
	aodTrack->SetTPCNCrossedRows(UShort_t(esdCascadePos->GetTPCCrossedRows()));
	aodTrack->SetIntegratedLength(esdCascadePos->GetIntegratedLength());
	aodTrack->SetTOFLabel(tofLabel);
	CopyCaloProps(esdCascadePos,aodTrack);
        fAODTrackRefs->AddAt(aodTrack,idxPosFromV0Dghter);
        
        if (esdCascadePos->GetSign() > 0) ++fNumberOfPositiveTracks;
        aodTrack->ConvertAliPIDtoAODPID();
        aodTrack->SetFlags(esdCascadePos->GetStatus());
        SetAODPID(esdCascadePos,aodTrack,detpid);
      }
      else {
        aodTrack = static_cast<AliAODTrack*>(fAODTrackRefs->At(idxPosFromV0Dghter));
      }
      vV0FromCascade->AddDaughter(aodTrack);
      
      // 4.A.3 - Add the negative tracks from the V0
      
      esdCascadeNeg->GetPxPyPz(momNeg);
      esdCascadeNeg->GetXYZ(pos);
      esdCascadeNeg->GetCovarianceXYZPxPyPz(covTr);
      //   esdCascadeNeg->GetESDpid(pid);
      esdCascadeNeg->GetTOFLabel(tofLabel);
      
      if (!fUsedTrack[idxNegFromV0Dghter]) {
        fUsedTrack[idxNegFromV0Dghter] = kTRUE;
        
        UInt_t selectInfo = 0;
        if (fTrackFilter) selectInfo = fTrackFilter->IsSelected(esdCascadeNeg);
        if (fMChandler) 
	  fMChandler->SelectParticle(esdCascadeNeg->GetLabel());
        aodTrack = new(tracksArray[fNumberOfTracks++]) AliAODTrack(esdCascadeNeg->GetID(),
								   esdCascadeNeg->GetLabel(),
								   momNeg,
								   kTRUE,
								   pos,
								   kFALSE, // Why kFALSE for "isDCA" ? FIXME
								   covTr, 
								   (Short_t)esdCascadeNeg->GetSign(),
								   esdCascadeNeg->GetITSClusterMap(), 
								   // pid,
								   vV0FromCascade,
								   kTRUE,  // usedForVtxFit = kFALSE ? FIXME
								   vtx->UsesTrack(esdCascadeNeg->GetID()),
								   AliAODTrack::kFromDecayVtx,
								   selectInfo);
	aodTrack->SetPIDForTracking(esdCascadeNeg->GetPIDForTracking());
        aodTrack->SetTPCFitMap(esdCascadeNeg->GetTPCFitMap());
        aodTrack->SetTPCClusterMap(esdCascadeNeg->GetTPCClusterMap());
        aodTrack->SetTPCSharedMap (esdCascadeNeg->GetTPCSharedMap());
        aodTrack->SetChi2perNDF(Chi2perNDF(esdCascadeNeg));
	aodTrack->SetTPCPointsF(esdCascadeNeg->GetTPCNclsF());
	aodTrack->SetTPCNCrossedRows(UShort_t(esdCascadeNeg->GetTPCCrossedRows()));
	aodTrack->SetIntegratedLength(esdCascadeNeg->GetIntegratedLength());
	aodTrack->SetTOFLabel(tofLabel);
	CopyCaloProps(esdCascadeNeg,aodTrack);
        fAODTrackRefs->AddAt(aodTrack,idxNegFromV0Dghter);
        
        if (esdCascadeNeg->GetSign() > 0) ++fNumberOfPositiveTracks;
        aodTrack->ConvertAliPIDtoAODPID();
        aodTrack->SetFlags(esdCascadeNeg->GetStatus());
        SetAODPID(esdCascadeNeg,aodTrack,detpid);
      }
      else {
        aodTrack = static_cast<AliAODTrack*>(fAODTrackRefs->At(idxNegFromV0Dghter));
      }
      
      vV0FromCascade->AddDaughter(aodTrack);
			
      // 4.A.4 - Add the V0 from cascade to the V0 array
      
      Double_t  dcaV0Daughters      = esdV0FromCascade->GetDcaV0Daughters();
      Double_t  dcaV0ToPrimVertex   = esdV0FromCascade->GetD(esd.GetPrimaryVertex()->GetX(),
                                                             esd.GetPrimaryVertex()->GetY(),
                                                             esd.GetPrimaryVertex()->GetZ() );
      esdV0FromCascade->GetPPxPyPz( momPosAtV0vtx[0],momPosAtV0vtx[1],momPosAtV0vtx[2] ); 
      esdV0FromCascade->GetNPxPyPz( momNegAtV0vtx[0],momNegAtV0vtx[1],momNegAtV0vtx[2] ); 
      
      Double_t dcaDaughterToPrimVertex[2] = { 999., 999.}; // ..[0] = DCA in (x,y) for Pos and ..[1] = Neg
      dcaDaughterToPrimVertex[0] = TMath::Abs(esdCascadePos->GetD(esd.GetPrimaryVertex()->GetX(),
                                                                  esd.GetPrimaryVertex()->GetY(),
                                                                  esd.GetMagneticField())        );
      dcaDaughterToPrimVertex[1] = TMath::Abs(esdCascadeNeg->GetD(esd.GetPrimaryVertex()->GetX(),
                                                                  esd.GetPrimaryVertex()->GetY(),
                                                                  esd.GetMagneticField())        );
      
      aodV0 = new(V0s()[fNumberOfV0s++]) AliAODv0(vV0FromCascade, 
                                                  dcaV0Daughters,
                                                  dcaV0ToPrimVertex, 
                                                  momPosAtV0vtx, 
                                                  momNegAtV0vtx, 
                                                  dcaDaughterToPrimVertex); 
      // set the aod v0 on-the-fly status
      aodV0->SetOnFlyStatus(esdV0FromCascade->GetOnFlyStatus());
      
      // Add the aodV0 to the aodVORefs
      fAODV0Refs->AddAt(aodV0,idxV0FromCascade);
      
      fUsedV0[idxV0FromCascade] = kTRUE;
      
    } else { 
      // 4.B - if V0 structure already used
      
      // Note :
      //    one V0 can be used by several cascades (frequent in PbPb evts) : 
      // same V0 which used but attached to different bachelor tracks
      // -> aodVORefs and fAODV0VtxRefs are needed.
      // Goal : avoid a redundancy of the info in "Vertices" and "v0s" clones array.
      
      vV0FromCascade = static_cast<AliAODVertex*>(fAODV0VtxRefs->At(idxV0FromCascade));
      aodV0          = static_cast<AliAODv0*>    (fAODV0Refs   ->At(idxV0FromCascade));
      
      // - Treatment of the parent for such a "re-used" V0 :
      // Insert the cascade that reuses the V0 vertex in the lineage chain
      // Before : vV0 -> vCascade1 -> vPrimary
      //  - Hyp : cascade2 uses the same V0 as cascade1
      //  After :  vV0 -> vCascade2 -> vCascade1 -> vPrimary
      
      AliAODVertex *vCascadePreviousParent = static_cast<AliAODVertex*> (vV0FromCascade->GetParent());
      vV0FromCascade->SetParent(vCascade);
      vCascade      ->SetParent(vCascadePreviousParent);
      
    }// end if V0 structure already used
    
    // In any case (used V0 or not), add the V0 vertex to the cascade one.
    vCascade->AddDaughter(vV0FromCascade);	
		
    // 5 - Add the primary track of the cascade (if any)
    
    // 6 - Add the cascade to the AOD array of cascades
    Double_t dcaBachToPrimVertexXY = TMath::Abs(esdCascadeBach->GetD(esd.GetPrimaryVertex()->GetX(),
                                                                     esd.GetPrimaryVertex()->GetY(),
                                                                     esd.GetMagneticField())        );
    
    Double_t momBachAtCascadeVtx[3]={0.};

    esdCascade->GetBPxPyPz(momBachAtCascadeVtx[0], momBachAtCascadeVtx[1], momBachAtCascadeVtx[2]);
    
    aodCascade = new(cascadesArray[fNumberOfCascades++]) AliAODcascade(vCascade,
								       esdCascade->Charge(),
								       esdCascade->GetDcaXiDaughters(),
								       -999.,
								       // DCAXiToPrimVtx -> needs to be calculated   ----|
								       // doesn't exist at ESD level;
								       // See AODcascade::DcaXiToPrimVertex(Double, Double, Double)
								       dcaBachToPrimVertexXY,
								       momBachAtCascadeVtx,
								       *aodV0);
    if (fDebug > 10) {
      printf("---- Cascade / AOD cascade : \n\n");
      aodCascade->PrintXi(fPrimaryVertex->GetX(), fPrimaryVertex->GetY(), fPrimaryVertex->GetZ());
    }
    
  } // end of the loop on cascades
  
  Cascades().Expand(fNumberOfCascades);
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertV0s(const AliESDEvent& esd)
{
  // Access to the AOD container of V0s
  
  AliCodeTimerAuto("",0);

  //
  // V0s
  //
  Double_t pos[3] = { 0. };      
  Double_t chi2(0.0);
  Double_t covVtx[6] = { 0. };
  Double_t momPos[3]={0.};
  Double_t covTr[21]={0.};
  //  Double_t pid[10]={0.};
  AliAODTrack* aodTrack(0x0);
  AliAODPid* detpid(0x0);
  Double_t momNeg[3]={0.};
  Double_t momPosAtV0vtx[3]={0.};
  Double_t momNegAtV0vtx[3]={0.};
  Int_t    tofLabel[3] = {0};
  for (Int_t nV0 = 0; nV0 < esd.GetNumberOfV0s(); ++nV0) {
    if (fUsedV0[nV0]) continue; // skip if already added to the AOD
    
    AliESDv0 *v0 = esd.GetV0(nV0);
    Int_t posFromV0 = v0->GetPindex();
    Int_t negFromV0 = v0->GetNindex();
    
    // V0 selection 
    //
    AliESDVertex *esdVtx   = new AliESDVertex(*(esd.GetPrimaryVertex()));
    AliESDtrack  *esdV0Pos = esd.GetTrack(posFromV0);
    AliESDtrack  *esdV0Neg = esd.GetTrack(negFromV0);
    TList v0objects;
    v0objects.AddAt(v0,                      0);
    v0objects.AddAt(esdV0Pos,                1);
    v0objects.AddAt(esdV0Neg,                2);
    v0objects.AddAt(esdVtx,                  3);
    UInt_t selectV0 = 0;
    if (fV0Filter) {
      selectV0 = fV0Filter->IsSelected(&v0objects);
      // this is a little awkward but otherwise the 
      // list wants to access the pointer (delete it) 
      // again when going out of scope
      delete v0objects.RemoveAt(3); // esdVtx created via copy construct
      esdVtx = 0;
      if (!selectV0) 
        continue;
    } else {
      delete v0objects.RemoveAt(3); // esdVtx created via copy construct
      esdVtx = 0;
    }
    
    v0->GetXYZ(pos[0], pos[1], pos[2]);
    
    if (!fOldESDformat) {
	    chi2 = v0->GetChi2V0(); // = chi2/NDF since NDF = 2*2-3
	    v0->GetPosCov(covVtx);
    } else {
	    chi2 = -999.;
	    for (Int_t i = 0; i < 6; i++)  covVtx[i] = 0.;
    }
    
    
    AliAODVertex * vV0 = 
	  new(Vertices()[fNumberOfVertices++]) AliAODVertex(pos,
							    covVtx,
							    chi2,
							    fPrimaryVertex,
							    nV0,
							    AliAODVertex::kV0);
    fPrimaryVertex->AddDaughter(vV0);
    
    
    // Add the positive tracks from the V0

    esdV0Pos->GetPxPyPz(momPos);
    esdV0Pos->GetXYZ(pos);
    esdV0Pos->GetCovarianceXYZPxPyPz(covTr);
    //    esdV0Pos->GetESDpid(pid);
    esdV0Pos->GetTOFLabel(tofLabel);
    
    const AliESDVertex *vtx = esd.GetPrimaryVertex();

    if (!fUsedTrack[posFromV0]) {
	    fUsedTrack[posFromV0] = kTRUE;
	    UInt_t selectInfo = 0;
	    if (fTrackFilter) selectInfo = fTrackFilter->IsSelected(esdV0Pos);
	    if(fMChandler)fMChandler->SelectParticle(esdV0Pos->GetLabel());
	    aodTrack = new(Tracks()[fNumberOfTracks++]) AliAODTrack(esdV0Pos->GetID(),
								    esdV0Pos->GetLabel(), 
								    momPos, 
								    kTRUE,
								    pos,
								    kFALSE,
								    covTr, 
								    (Short_t)esdV0Pos->GetSign(),
								    esdV0Pos->GetITSClusterMap(), 
								    // pid,
								    vV0,
								    kTRUE,  // check if this is right
								    vtx->UsesTrack(esdV0Pos->GetID()),
								    AliAODTrack::kFromDecayVtx,
								    selectInfo);
	    aodTrack->SetPIDForTracking(esdV0Pos->GetPIDForTracking());
	    aodTrack->SetTPCFitMap(esdV0Pos->GetTPCFitMap());
	    aodTrack->SetTPCClusterMap(esdV0Pos->GetTPCClusterMap());
	    aodTrack->SetTPCSharedMap (esdV0Pos->GetTPCSharedMap());
	    aodTrack->SetChi2perNDF(Chi2perNDF(esdV0Pos));
	    aodTrack->SetTPCPointsF(esdV0Pos->GetTPCNclsF());
	    aodTrack->SetTPCNCrossedRows(UShort_t(esdV0Pos->GetTPCCrossedRows()));
	    aodTrack->SetIntegratedLength(esdV0Pos->GetIntegratedLength());
	    aodTrack->SetTOFLabel(tofLabel);
	    CopyCaloProps(esdV0Pos,aodTrack);
	    fAODTrackRefs->AddAt(aodTrack,posFromV0);
	    if (esdV0Pos->GetSign() > 0) ++fNumberOfPositiveTracks;
	    aodTrack->ConvertAliPIDtoAODPID();
	    aodTrack->SetFlags(esdV0Pos->GetStatus());
	    SetAODPID(esdV0Pos,aodTrack,detpid);
    } else {
      aodTrack = static_cast<AliAODTrack*>(fAODTrackRefs->At(posFromV0));
    }
    vV0->AddDaughter(aodTrack);
    
    // Add the negative tracks from the V0
    esdV0Neg->GetPxPyPz(momNeg);
    esdV0Neg->GetXYZ(pos);
    esdV0Neg->GetCovarianceXYZPxPyPz(covTr);
    //    esdV0Neg->GetESDpid(pid);
    esdV0Neg->GetTOFLabel(tofLabel);
    
    if (!fUsedTrack[negFromV0]) {
      fUsedTrack[negFromV0] = kTRUE;
      UInt_t selectInfo = 0;
      if (fTrackFilter) selectInfo = fTrackFilter->IsSelected(esdV0Neg);
      if(fMChandler)fMChandler->SelectParticle(esdV0Neg->GetLabel());
      aodTrack = new(Tracks()[fNumberOfTracks++]) AliAODTrack(esdV0Neg->GetID(),
							      esdV0Neg->GetLabel(),
							      momNeg,
							      kTRUE,
							      pos,
							      kFALSE,
							      covTr, 
							      (Short_t)esdV0Neg->GetSign(),
							      esdV0Neg->GetITSClusterMap(), 
							      // pid,
							      vV0,
							      kTRUE,  // check if this is right
							      vtx->UsesTrack(esdV0Neg->GetID()),
							      AliAODTrack::kFromDecayVtx,
							      selectInfo);
      aodTrack->SetPIDForTracking(esdV0Neg->GetPIDForTracking());
      aodTrack->SetTPCFitMap(esdV0Neg->GetTPCFitMap());
      aodTrack->SetTPCClusterMap(esdV0Neg->GetTPCClusterMap());
      aodTrack->SetTPCSharedMap (esdV0Neg->GetTPCSharedMap());
      aodTrack->SetChi2perNDF(Chi2perNDF(esdV0Neg));
      aodTrack->SetTPCPointsF(esdV0Neg->GetTPCNclsF());
      aodTrack->SetTPCNCrossedRows(UShort_t(esdV0Neg->GetTPCCrossedRows()));
      aodTrack->SetIntegratedLength(esdV0Neg->GetIntegratedLength());
      aodTrack->SetTOFLabel(tofLabel);
      CopyCaloProps(esdV0Neg,aodTrack);
      fAODTrackRefs->AddAt(aodTrack,negFromV0);
      if (esdV0Neg->GetSign() > 0) ++fNumberOfPositiveTracks;
      aodTrack->ConvertAliPIDtoAODPID();
      aodTrack->SetFlags(esdV0Neg->GetStatus());
      SetAODPID(esdV0Neg,aodTrack,detpid);
    } else {
      aodTrack = static_cast<AliAODTrack*>(fAODTrackRefs->At(negFromV0));
    }
    vV0->AddDaughter(aodTrack);
    
    // Add the V0 the V0 array as well
    Double_t  dcaV0Daughters      = v0->GetDcaV0Daughters();
    Double_t  dcaV0ToPrimVertex   = v0->GetD(esd.GetPrimaryVertex()->GetX(),
                                             esd.GetPrimaryVertex()->GetY(),
                                             esd.GetPrimaryVertex()->GetZ());
    
    v0->GetPPxPyPz(momPosAtV0vtx[0],momPosAtV0vtx[1],momPosAtV0vtx[2]); 
    v0->GetNPxPyPz(momNegAtV0vtx[0],momNegAtV0vtx[1],momNegAtV0vtx[2]); 
    
    Double_t dcaDaughterToPrimVertex[2] = { 999., 999.}; // ..[0] = DCA in (x,y) for Pos and ..[1] = Neg
    dcaDaughterToPrimVertex[0] = TMath::Abs(esdV0Pos->GetD(  esd.GetPrimaryVertex()->GetX(),
                                                           esd.GetPrimaryVertex()->GetY(),
                                                           esd.GetMagneticField()) );
    dcaDaughterToPrimVertex[1] = TMath::Abs(esdV0Neg->GetD(  esd.GetPrimaryVertex()->GetX(),
                                                           esd.GetPrimaryVertex()->GetY(),
                                                           esd.GetMagneticField()) );
    
    AliAODv0* aodV0 = new(V0s()[fNumberOfV0s++]) AliAODv0(vV0, 
                                                dcaV0Daughters,
                                                dcaV0ToPrimVertex,
                                                momPosAtV0vtx,
                                                momNegAtV0vtx,
                                                dcaDaughterToPrimVertex);
    
    // set the aod v0 on-the-fly status
    aodV0->SetOnFlyStatus(v0->GetOnFlyStatus());
  }//End of loop on V0s 
  
  V0s().Expand(fNumberOfV0s);	 
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertTPCOnlyTracks(const AliESDEvent& esd)
{
  // Convert TPC only tracks
  // Here we have wo hybrid appraoch to remove fakes
  // ******* ITSTPC ********
  // Uses a cut on the ITS properties to select global tracks
  // which are than marked as HybdridITSTPC for the remainder 
  // the TPC only tracks are flagged as HybridITSTPConly. 
  // Note, in order not to get fakes back in the TPC cuts, one needs 
  // two "ITS" cuts one tight (1) (to throw out fakes) and one lose (2) (to NOT flag the trakcs in the TPC only)
  // using cut number (3)
  // so fHybridFilterMask == (1)|(2) fTPCFilterMask = (3), Usercode needs to slect with mask = (1)|(3) and track->IsHybridITSTPC()
  // ******* TPC ********
  // Here, only TPC tracks are flagged that pass the tight ITS cuts and tracks that pass the TPC cuts and NOT the loose ITS cuts
  // the ITS cuts neeed to be added to the filter as extra cuts, since here the selections info is reset in the global and put to the TPC only track

  AliCodeTimerAuto("",0);
  
  // Loop over the tracks and extract and mask out all aod tracks that pass the selections for AODt racks
  for(int it = 0;it < fNumberOfTracks;++it)
  {
    AliAODTrack *tr = (AliAODTrack*)(Tracks().At(it));
    if(!tr)continue;
    UInt_t map = tr->GetFilterMap();
    if(map&fTPCConstrainedFilterMask){
      // we only reset the track select ionfo, no deletion...
      tr->SetFilterMap(map&~fTPCConstrainedFilterMask);
    }
    if(map&fHybridFilterMaskTPCCG){
      // this is one part of the hybrid tracks
      // the others not passing the selection will be TPC only selected below
      tr->SetIsHybridTPCConstrainedGlobal(kTRUE);
    }
  }

  // Loop over the ESD trcks and pick out the tracks passing TPC only cuts
  const AliESDVertex *vtxSPD = esd.GetPrimaryVertexSPD();
  const AliESDVertex *vtx = esd.GetPrimaryVertex();

  Double_t pos[3] = { 0. };      
  Double_t covTr[21]={0.};
  //  Double_t pid[10]={0.};  
  Double_t p[3] = { 0. };
  Double_t pDCA[3] = { 0. }; // momentum at DCA
  Double_t rDCA[3] = { 0. }; // position at DCA
  Float_t  dDCA[2] = {0.};    // DCA to the vertex d and z
  Float_t  cDCA[3] = {0.};    // covariance of impact parameters
  Int_t    tofLabel[3] = {0};

  AliAODTrack* aodTrack(0x0);

  // account for change in pT after the constraint
  Float_t ptMax = 1E10;
  Float_t ptMin = 0;
  for(int i = 0;i<32;i++){
    if(fTPCConstrainedFilterMask&(1<<i)){
      AliESDtrackCuts*cuts = (AliESDtrackCuts*)fTrackFilter->GetCuts()->At(i);
      Float_t tmp1= 0,tmp2 = 0;
      cuts->GetPtRange(tmp1,tmp2);
      if(tmp1>ptMin)ptMin=tmp1;
      if(tmp2<ptMax)ptMax=tmp2;
    }
  } 

  for (Int_t nTrack = 0; nTrack < esd.GetNumberOfTracks(); ++nTrack) 
  {
    AliESDtrack* esdTrack = esd.GetTrack(nTrack); //carefull do not modify it othwise  need to work with a copy 
    
    UInt_t selectInfo = 0;
    Bool_t isHybridITSTPC = false;
    //
    // Track selection
    if (fTrackFilter) {
      selectInfo = fTrackFilter->IsSelected(esdTrack);
    }

    if(!(selectInfo&fHybridFilterMaskTPCCG)){
      // not already selected tracks, use second part of hybrid tracks
      isHybridITSTPC = true;
      // too save space one could only store these...
    }

    selectInfo &= fTPCConstrainedFilterMask;
    if (!selectInfo) continue;
    if (fWriteHybridTPCCOnly&&!isHybridITSTPC) continue; // write only complementary tracks
    // create a tpc only tracl
    AliESDtrack *track = AliESDtrackCuts::GetTPCOnlyTrack(const_cast<AliESDEvent*>(&esd),esdTrack->GetID());
    if (!track) continue;
    
    if (track->Pt()>0.) {
      // only constrain tracks above threshold
      AliExternalTrackParam exParam;
      // take the B-field from the ESD, no 3D fieldMap available at this point
      Bool_t relate = false;
      relate = track->RelateToVertexTPC(vtxSPD,esd.GetMagneticField(),kVeryBig,&exParam);
      if(!relate){
        delete track;
        continue;
      }
      // fetch the track parameters at the DCA (unconstraint)
      if(track->GetTPCInnerParam()){
	track->GetTPCInnerParam()->GetPxPyPz(pDCA);
	track->GetTPCInnerParam()->GetXYZ(rDCA);
      }
      // get the DCA to the vertex:
      track->GetImpactParametersTPC(dDCA,cDCA);
      // set the constrained parameters to the track
      track->Set(exParam.GetX(),exParam.GetAlpha(),exParam.GetParameter(),exParam.GetCovariance());
    }
    
    track->GetPxPyPz(p);

    Float_t pT = track->Pt();
    if(pT<ptMin||pT>ptMax){
      delete track;
      continue;
    }

    track->GetXYZ(pos);
    track->GetCovarianceXYZPxPyPz(covTr);
    //    esdTrack->GetESDpid(pid);// original PID
    esdTrack->GetTOFLabel(tofLabel);
    if(fMChandler)fMChandler->SelectParticle(esdTrack->GetLabel());
    fUsedTrackCopy[nTrack] |= selectInfo;
    aodTrack = new(Tracks()[fNumberOfTracks++]) AliAODTrack((track->GetID()+1)*-1,
							    track->GetLabel(),
							    p,
							    kTRUE,
							    pos,
							    kFALSE,
							    covTr, 
							    (Short_t)track->GetSign(),
							    track->GetITSClusterMap(), 
							    // pid,
							    fPrimaryVertex,
							    kTRUE, // check if this is right
							    vtx->UsesTrack(track->GetID()),
							    AliAODTrack::kPrimary, 
							    selectInfo);
    aodTrack->SetPIDForTracking(track->GetPIDForTracking());
    aodTrack->SetIsHybridTPCConstrainedGlobal(isHybridITSTPC);    
    aodTrack->SetTPCFitMap(track->GetTPCFitMap());
    aodTrack->SetTPCClusterMap(track->GetTPCClusterMap());
    aodTrack->SetTPCSharedMap (track->GetTPCSharedMap());
    aodTrack->SetIsTPCConstrained(kTRUE);    
    aodTrack->SetChi2perNDF(Chi2perNDF(esdTrack)); // original track
    // set the DCA values to the AOD track
    aodTrack->SetPxPyPzAtDCA(pDCA[0],pDCA[1],pDCA[2]);
    aodTrack->SetXYAtDCA(rDCA[0],rDCA[1]);
    aodTrack->SetDCA(dDCA[0],dDCA[1]);
    aodTrack->SetFlags(track->GetStatus());
    aodTrack->SetTPCPointsF(track->GetTPCNclsF());
    aodTrack->SetTPCNCrossedRows(UShort_t(track->GetTPCCrossedRows()));
    aodTrack->SetIntegratedLength(track->GetIntegratedLength());
    aodTrack->SetTOFLabel(tofLabel);
    CopyCaloProps(track,aodTrack);
    // do not duplicate PID information 
    //    aodTrack->ConvertAliPIDtoAODPID();
    //    SetAODPID(esdTrack,aodTrack,detpid);
    delete track;
  } // end of loop on tracks
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertGlobalConstrainedTracks(const AliESDEvent& esd)
{
  // Here we have the option to store the complement from global constraint information
  // to tracks passing tight cuts (1) in order not to get fakes back in, one needs 
  // two sets of cuts one tight (1) (to throw out fakes) and one lose (2) (fakes/bad tracks would pass (2) but not (1))
  // using cut number (3) selects the tracks that complement (1) e.g. tracks witout ITS refit or cluster requirement

  AliCodeTimerAuto("",0);
  
  // Loop over the tracks and extract and mask out all aod tracks that pass the selections for AODt racks
  for(int it = 0;it < fNumberOfTracks;++it)
  {
    AliAODTrack *tr = (AliAODTrack*)(Tracks().At(it));
    if(!tr)continue;
    UInt_t map = tr->GetFilterMap();
    if(map&fGlobalConstrainedFilterMask){
      // we only reset the track select info, no deletion...
      // mask reset mask in case track is already taken
      tr->SetFilterMap(map&~fGlobalConstrainedFilterMask);
    }
    if(map&fHybridFilterMaskGCG){
      // this is one part of the hybrid tracks
      // the others not passing the selection will be the ones selected below
      tr->SetIsHybridGlobalConstrainedGlobal(kTRUE);
    }
  }
  // Loop over the ESD trcks and pick out the tracks passing the GlobalConstraint cuts
 
  Double_t pos[3] = { 0. };      
  Double_t covTr[21]={0.};
  //  Double_t pid[10]={0.};  
  Double_t p[3] = { 0. };

  Double_t pDCA[3] = { 0. }; // momentum at DCA
  Double_t rDCA[3] = { 0. }; // position at DCA
  Float_t  dDCA[2] = {0.};    // DCA to the vertex d and z
  Float_t  cDCA[3] = {0.};    // covariance of impact parameters
  Int_t    tofLabel[3] = {0};

  AliAODTrack* aodTrack(0x0);
  AliAODPid* detpid(0x0);
  const AliESDVertex *vtx = esd.GetPrimaryVertex();

  // account for change in pT after the constraint
  Float_t ptMax = 1E10;
  Float_t ptMin = 0;
  for(int i = 0;i<32;i++){
    if(fGlobalConstrainedFilterMask&(1<<i)){
      AliESDtrackCuts*cuts = (AliESDtrackCuts*)fTrackFilter->GetCuts()->At(i);
      Float_t tmp1= 0,tmp2 = 0;
      cuts->GetPtRange(tmp1,tmp2);
      if(tmp1>ptMin)ptMin=tmp1;
      if(tmp2<ptMax)ptMax=tmp2;
    }
  } 

 for (Int_t nTrack = 0; nTrack < esd.GetNumberOfTracks(); ++nTrack) 
  {
    AliESDtrack* esdTrack = esd.GetTrack(nTrack); //carefull do not modify it othwise  need to work with a copy 
    const AliExternalTrackParam * exParamGC = esdTrack->GetConstrainedParam();
    if(!exParamGC)continue;

    UInt_t selectInfo = 0;
    Bool_t isHybridGC = false;

    //
    // Track selection
    if (fTrackFilter) {
      selectInfo = fTrackFilter->IsSelected(esdTrack);
    }

    if (!(selectInfo&fHybridFilterMaskGCG)) isHybridGC = true;
    if (fWriteHybridGCOnly&&!isHybridGC) continue; // write only complementary tracks

    selectInfo &= fGlobalConstrainedFilterMask;
    if (!selectInfo) continue;
    // fetch the track parameters at the DCA (unconstrained)
    esdTrack->GetPxPyPz(pDCA);
    esdTrack->GetXYZ(rDCA);
    // get the DCA to the vertex:
    esdTrack->GetImpactParameters(dDCA,cDCA);
    if (!esdTrack->GetConstrainedPxPyPz(p)) continue;

    Float_t pT = exParamGC->Pt();
    if(pT<ptMin||pT>ptMax){
      continue;
    }

    esdTrack->GetConstrainedXYZ(pos);
    exParamGC->GetCovarianceXYZPxPyPz(covTr);
    //    esdTrack->GetESDpid(pid);
    esdTrack->GetTOFLabel(tofLabel); 
    if(fMChandler)fMChandler->SelectParticle(esdTrack->GetLabel());
    fUsedTrackCopy[nTrack] |= selectInfo;
    aodTrack = new(Tracks()[fNumberOfTracks++]) AliAODTrack((esdTrack->GetID()+1)*-1,
                                                            esdTrack->GetLabel(),
                                                            p,
                                                            kTRUE,
                                                            pos,
                                                            kFALSE,
                                                            covTr, 
                                                            (Short_t)esdTrack->GetSign(),
                                                            esdTrack->GetITSClusterMap(), 
                                                            // pid,
                                                            fPrimaryVertex,
                                                            kTRUE, // check if this is right
                                                            vtx->UsesTrack(esdTrack->GetID()),
                                                            AliAODTrack::kPrimary, 
                                                            selectInfo);
    aodTrack->SetPIDForTracking(esdTrack->GetPIDForTracking());
    aodTrack->SetIsHybridGlobalConstrainedGlobal(isHybridGC);    
    aodTrack->SetIsGlobalConstrained(kTRUE);    
    aodTrack->SetTPCFitMap(esdTrack->GetTPCFitMap());
    aodTrack->SetTPCClusterMap(esdTrack->GetTPCClusterMap());
    aodTrack->SetTPCSharedMap (esdTrack->GetTPCSharedMap());
    aodTrack->SetChi2perNDF(Chi2perNDF(esdTrack));

    // set the DCA values to the AOD track
    aodTrack->SetPxPyPzAtDCA(pDCA[0],pDCA[1],pDCA[2]);
    aodTrack->SetXYAtDCA(rDCA[0],rDCA[1]);
    aodTrack->SetDCA(dDCA[0],dDCA[1]);
    aodTrack->SetFlags(esdTrack->GetStatus());
    aodTrack->SetTPCPointsF(esdTrack->GetTPCNclsF());
    aodTrack->SetTPCNCrossedRows(UShort_t(esdTrack->GetTPCCrossedRows()));
    aodTrack->SetIntegratedLength(esdTrack->GetIntegratedLength());
    aodTrack->SetTOFLabel(tofLabel);
    CopyCaloProps(esdTrack,aodTrack);
    if(isHybridGC){
      // only copy AOD information for hybrid, no duplicate information
      aodTrack->ConvertAliPIDtoAODPID();
      SetAODPID(esdTrack,aodTrack,detpid);
    }
  } // end of loop on tracks
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertTracks(const AliESDEvent& esd)
{
  // Tracks (primary and orphan)

  AliCodeTimerAuto("",0);
  
  AliDebug(1,Form("NUMBER OF ESD TRACKS %5d\n", esd.GetNumberOfTracks()));
  
  const AliESDVertex *vtx = esd.GetPrimaryVertex();
  Double_t p[3] = { 0. };
  Double_t pos[3] = { 0. };
  Double_t covTr[21] = { 0. };
  //  Double_t pid[10] = { 0. };
  Int_t    tofLabel[3] = {0};
  AliAODTrack* aodTrack(0x0);
  AliAODPid* detpid(0x0);
  
  for (Int_t nTrack = 0; nTrack < esd.GetNumberOfTracks(); ++nTrack) 
  {
    if (fUsedTrack[nTrack]) continue;
    
    AliESDtrack *esdTrack = esd.GetTrack(nTrack);
    UInt_t selectInfo = 0;
    //
    // Track selection
    if (fTrackFilter) {
      selectInfo = fTrackFilter->IsSelected(esdTrack);
      if (!selectInfo && !vtx->UsesTrack(esdTrack->GetID())) continue;
    }
    
    esdTrack->GetPxPyPz(p);
    esdTrack->GetXYZ(pos);
    esdTrack->GetCovarianceXYZPxPyPz(covTr);
    //    esdTrack->GetESDpid(pid);
    esdTrack->GetTOFLabel(tofLabel);
    if(fMChandler)fMChandler->SelectParticle(esdTrack->GetLabel());
    fUsedTrack[nTrack] = kTRUE;
    aodTrack = new(Tracks()[fNumberOfTracks++]) AliAODTrack(esdTrack->GetID(),
                                                            esdTrack->GetLabel(),
                                                            p,
                                                            kTRUE,
                                                            pos,
                                                            kFALSE,
                                                            covTr, 
                                                            (Short_t)esdTrack->GetSign(),
                                                            esdTrack->GetITSClusterMap(), 
                                                            // pid,
                                                            fPrimaryVertex,
                                                            kTRUE, // check if this is right
                                                            vtx->UsesTrack(esdTrack->GetID()),
                                                            AliAODTrack::kPrimary, 
                                                            selectInfo);
    fPrimaryVertex->AddDaughter(aodTrack);
    aodTrack->SetPIDForTracking(esdTrack->GetPIDForTracking());
    aodTrack->SetTPCFitMap(esdTrack->GetTPCFitMap());
    aodTrack->SetTPCClusterMap(esdTrack->GetTPCClusterMap());
    aodTrack->SetTPCSharedMap (esdTrack->GetTPCSharedMap());
    aodTrack->SetChi2perNDF(Chi2perNDF(esdTrack));
    aodTrack->SetTPCPointsF(esdTrack->GetTPCNclsF());
    aodTrack->SetTPCNCrossedRows(UShort_t(esdTrack->GetTPCCrossedRows()));
    aodTrack->SetIntegratedLength(esdTrack->GetIntegratedLength());
    aodTrack->SetTOFLabel(tofLabel);
    CopyCaloProps(esdTrack,aodTrack);
    fAODTrackRefs->AddAt(aodTrack, nTrack);
    if (esdTrack->GetSign() > 0) ++fNumberOfPositiveTracks;
    aodTrack->SetFlags(esdTrack->GetStatus());
    aodTrack->ConvertAliPIDtoAODPID();
    SetAODPID(esdTrack,aodTrack,detpid);
  } // end of loop on tracks
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertPmdClusters(const AliESDEvent& esd)
{
  // Convert PMD Clusters 
  AliCodeTimerAuto("",0);
  Int_t jPmdClusters=0;
  // Access to the AOD container of PMD clusters
  TClonesArray &pmdClusters = *(AODEvent()->GetPmdClusters());
  for (Int_t iPmd = 0; iPmd < esd.GetNumberOfPmdTracks(); ++iPmd) {
    // file pmd clusters, to be revised!
    AliESDPmdTrack *pmdTrack = esd.GetPmdTrack(iPmd);
    Int_t nLabel = 0;
    Int_t *label = 0x0;
    Double_t posPmd[3] = { pmdTrack->GetClusterX(), pmdTrack->GetClusterY(), pmdTrack->GetClusterZ()};
    Double_t pidPmd[13] = { 0.}; // to be revised!
    // type not set!
    // assoc cluster not set
    new(pmdClusters[jPmdClusters++]) AliAODPmdCluster(iPmd, nLabel, label, pmdTrack->GetClusterADC(), posPmd, pidPmd);
  }
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertCaloClusters(const AliESDEvent& esd)
{
  // Convert Calorimeter Clusters
  AliCodeTimerAuto("",0);
  
  // Access to the AOD container of clusters
  TClonesArray &caloClusters = *(AODEvent()->GetCaloClusters());
  Int_t jClusters(0);
  
  for (Int_t iClust=0; iClust<esd.GetNumberOfCaloClusters(); ++iClust) {
    AliESDCaloCluster * cluster = esd.GetCaloCluster(iClust);
    
    Int_t  id        = cluster->GetID();
    Int_t  nLabel    = cluster->GetNLabels();
    Int_t *labels    = cluster->GetLabels();
    if(labels){ 
      for(int i = 0;i < nLabel;++i) {
	if(fMChandler)fMChandler->SelectParticle(labels[i]);
      }
    }		
    
    Float_t energy = cluster->E();
    Float_t posF[3] = { 0.};
    cluster->GetPosition(posF);
    
    AliAODCaloCluster *caloCluster = new(caloClusters[jClusters++]) AliAODCaloCluster(id,
                                                                                      nLabel,
                                                                                      labels,
                                                                                      energy,
                                                                                      posF,
                                                                                      NULL,
                                                                                      cluster->GetType(),0);
    
    caloCluster->SetCaloCluster(cluster->GetDistanceToBadChannel(),
                                cluster->GetDispersion(),
                                cluster->GetM20(), cluster->GetM02(),
                                cluster->GetEmcCpvDistance(),  
				cluster->GetNExMax(),cluster->GetTOF()) ;
    caloCluster->SetPIDFromESD(cluster->GetPID());
    caloCluster->SetNCells(cluster->GetNCells());
    caloCluster->SetCellsAbsId(cluster->GetCellsAbsId());
    caloCluster->SetCellsAmplitudeFraction(cluster->GetCellsAmplitudeFraction());
    caloCluster->SetTrackDistance(cluster->GetTrackDx(), cluster->GetTrackDz());
    
    Int_t nMatchCount = 0;
    TArrayI* matchedT = cluster->GetTracksMatched();
    if (fNumberOfTracks>0 && matchedT && cluster->GetTrackMatchedIndex() >= 0) {	
      for (Int_t im = 0; im < matchedT->GetSize(); im++) {
        Int_t iESDtrack = matchedT->At(im);;
        if (fAODTrackRefs->At(iESDtrack) != 0) {
          caloCluster->AddTrackMatched((AliAODTrack*)fAODTrackRefs->At(iESDtrack));
	  nMatchCount++;
        }
      }
    }
    if(nMatchCount==0)
      caloCluster->SetTrackDistance(-999,-999);
    
  } 
  caloClusters.Expand(jClusters); // resize TObjArray to 'remove' slots for pseudo clusters	 
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertCaloTrigger(TString calo, const AliESDEvent& esd)
{
  AliCodeTimerAuto("",0);
		
  if (calo == "PHOS") {
    AliAODCaloTrigger &aodTrigger = *(AODEvent()->GetCaloTrigger(calo));
    AliESDCaloTrigger &esdTrigger = *(esd.GetCaloTrigger(calo));

    aodTrigger.Allocate(esdTrigger.GetEntries());
    esdTrigger.Reset();

    Float_t a;
    Int_t tmod,tabsId;
    while (esdTrigger.Next()) {
      esdTrigger.GetPosition(tmod,tabsId);
      esdTrigger.GetAmplitude(a);
      aodTrigger.Add(tmod,tabsId,a,0.,(Int_t*)NULL,0,0,0);
    }
    return;
  }
		
  AliAODHandler *aodHandler = dynamic_cast<AliAODHandler*>(AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler()); 
  if (aodHandler) {
    TTree *aodTree = aodHandler->GetTree();
    if (aodTree) {
      Int_t *type = esd.GetCaloTriggerType();
      for (Int_t i = 0; i < 15; i++) {
	aodTree->GetUserInfo()->Add(new TParameter<int>(Form("EMCALCaloTrigger%d",i), type[i]));
      }
    }
  }
						
  AliAODCaloTrigger &aodTrigger = *(AODEvent()->GetCaloTrigger(calo));
  AliESDCaloTrigger &esdTrigger = *(esd.GetCaloTrigger(calo));
  aodTrigger.Allocate(esdTrigger.GetEntries());
						
  esdTrigger.Reset();
  while (esdTrigger.Next()) {	  
    Int_t px, py, ts, nTimes, times[10], b; 
    Float_t a, t;
    esdTrigger.GetPosition(px, py);
    esdTrigger.GetAmplitude(a);
    esdTrigger.GetTime(t);
    esdTrigger.GetL0Times(times);
    esdTrigger.GetNL0Times(nTimes);
    esdTrigger.GetL1TimeSum(ts);
    esdTrigger.GetTriggerBits(b);
    aodTrigger.Add(px, py, a, t, times, nTimes, ts, b);
  }
  
  for (int i = 0; i < 4; i++) aodTrigger.SetL1Threshold(i, esdTrigger.GetL1Threshold(i));
  Int_t v0[2] = {
    esdTrigger.GetL1V0(0),
    esdTrigger.GetL1V0(1)
  };
  aodTrigger.SetL1V0(v0);	
  aodTrigger.SetL1FrameMask(esdTrigger.GetL1FrameMask());
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertEMCALCells(const AliESDEvent& esd)
{
  // Convert EMCAL Cells
  AliCodeTimerAuto("",0);

  // fill EMCAL cell info
  if (esd.GetEMCALCells()) { // protection against missing ESD information
    AliESDCaloCells &esdEMcells = *(esd.GetEMCALCells());
    Int_t nEMcell = esdEMcells.GetNumberOfCells() ;
    AliAODCaloCells &aodEMcells = *(AODEvent()->GetEMCALCells());
    aodEMcells.CreateContainer(nEMcell);
    aodEMcells.SetType(AliAODCaloCells::kEMCALCell);
    for (Int_t iCell = 0; iCell < nEMcell; iCell++) {      
      aodEMcells.SetCell(iCell,esdEMcells.GetCellNumber(iCell),esdEMcells.GetAmplitude(iCell),
                         esdEMcells.GetTime(iCell), esdEMcells.GetMCLabel(iCell), esdEMcells.GetEFraction(iCell),
			 esdEMcells.GetHighGain(iCell) );
    }
    aodEMcells.Sort();
  }
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertPHOSCells(const AliESDEvent& esd)
{
  // Convert PHOS Cells
  AliCodeTimerAuto("",0);

  // fill PHOS cell info
  if (esd.GetPHOSCells()) { // protection against missing ESD information
    AliESDCaloCells &esdPHcells = *(esd.GetPHOSCells());
    Int_t nPHcell = esdPHcells.GetNumberOfCells() ;
    
    AliAODCaloCells &aodPHcells = *(AODEvent()->GetPHOSCells());
    aodPHcells.CreateContainer(nPHcell);
    aodPHcells.SetType(AliAODCaloCells::kPHOSCell);
    for (Int_t iCell = 0; iCell < nPHcell; iCell++) {      
      aodPHcells.SetCell(iCell,esdPHcells.GetCellNumber(iCell),esdPHcells.GetAmplitude(iCell),
                         esdPHcells.GetTime(iCell), esdPHcells.GetMCLabel(iCell), esdPHcells.GetEFraction(iCell),
			 esdPHcells.GetHighGain(iCell) );
    }
    aodPHcells.Sort();
  }
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertTracklets(const AliESDEvent& esd)
{
  // tracklets    
  AliCodeTimerAuto("",0);

  AliAODTracklets &SPDTracklets = *(AODEvent()->GetTracklets());
  const AliMultiplicity *mult = esd.GetMultiplicity();
  if (mult) {
    if (mult->GetNumberOfTracklets()>0) {      
      SPDTracklets.CreateContainer(mult->GetNumberOfTracklets());
      SPDTracklets.SetScaleDThetaBySin2T(mult->GetScaleDThetaBySin2T());
      for (Int_t n=0; n<mult->GetNumberOfTracklets(); n++) {
        if(fMChandler){
          fMChandler->SelectParticle(mult->GetLabel(n, 0));
          fMChandler->SelectParticle(mult->GetLabel(n, 1));
        }
        SPDTracklets.SetTracklet(n, mult->GetTheta(n), mult->GetPhi(n), mult->GetDeltaPhi(n), mult->GetLabel(n, 0),mult->GetLabel(n, 1));
      }
    }
  } else {
    //Printf("ERROR: AliMultiplicity could not be retrieved from ESD");
  }
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertKinks(const AliESDEvent& esd)
{
  AliCodeTimerAuto("",0);
  
  // Kinks: it is a big mess the access to the information in the kinks
  // The loop is on the tracks in order to find the mother and daugther of each kink
  
  Double_t covTr[21]={0.};
  //  Double_t pid[10]={0.};
  AliAODPid* detpid(0x0);
  Int_t tofLabel[3] = {0};
  
  fNumberOfKinks = esd.GetNumberOfKinks();

  const AliESDVertex* vtx = esd.GetPrimaryVertex();
  
  for (Int_t iTrack=0; iTrack<esd.GetNumberOfTracks(); ++iTrack) 
  {
    AliESDtrack * esdTrack = esd.GetTrack(iTrack);
    
    Int_t ikink = esdTrack->GetKinkIndex(0);
    
    if (ikink && fNumberOfKinks) {
      // Negative kink index: mother, positive: daughter
      // Search for the second track of the kink
	    
      for (Int_t jTrack = iTrack+1; jTrack<esd.GetNumberOfTracks(); ++jTrack) {
        AliESDtrack * esdTrack1 = esd.GetTrack(jTrack);
        Int_t jkink = esdTrack1->GetKinkIndex(0);
        
        if ( TMath::Abs(ikink)==TMath::Abs(jkink) ) {
          // The two tracks are from the same kink
          if (fUsedKink[TMath::Abs(ikink)-1]) continue; // skip used kinks
          
          Int_t imother = -1;
          Int_t idaughter = -1;
          
          if (ikink<0 && jkink>0) {
            imother = iTrack;
            idaughter = jTrack;
          } else if (ikink>0 && jkink<0) {
	    imother = jTrack;
            idaughter = iTrack;
          } else {
            //cerr << "Error: Wrong combination of kink indexes: "
            //	   << ikink << " " << jkink << endl;
            continue;
          }
          
          // Add the mother track if it passed primary track selection cuts
          AliAODTrack * mother = NULL;
          
          UInt_t selectInfo = 0;
          if (fTrackFilter) {
            selectInfo = fTrackFilter->IsSelected(esd.GetTrack(imother));
            if (!selectInfo) continue;
          }
          
          if (!fUsedTrack[imother]) {
            fUsedTrack[imother] = kTRUE;
            AliESDtrack *esdTrackM = esd.GetTrack(imother);
            Double_t p[3] = { 0. };
            Double_t pos[3] = { 0. };
            esdTrackM->GetPxPyPz(p);
            esdTrackM->GetXYZ(pos);
            esdTrackM->GetCovarianceXYZPxPyPz(covTr);
	    //            esdTrackM->GetESDpid(pid);
	    esdTrackM->GetTOFLabel(tofLabel);
            if(fMChandler)fMChandler->SelectParticle(esdTrackM->GetLabel());
            mother = new(Tracks()[fNumberOfTracks++]) AliAODTrack(esdTrackM->GetID(),
								  esdTrackM->GetLabel(),
								  p,
								  kTRUE,
								  pos,
								  kFALSE,
								  covTr, 
								  (Short_t)esdTrackM->GetSign(),
								  esdTrackM->GetITSClusterMap(), 
								  // pid,
								  fPrimaryVertex,
								  kTRUE, // check if this is right
								  vtx->UsesTrack(esdTrack->GetID()),
								  AliAODTrack::kPrimary,
								  selectInfo);
	    mother->SetPIDForTracking(esdTrackM->GetPIDForTracking());
            mother->SetTPCFitMap(esdTrackM->GetTPCFitMap());
            mother->SetTPCClusterMap(esdTrackM->GetTPCClusterMap());
            mother->SetTPCSharedMap (esdTrackM->GetTPCSharedMap());
            mother->SetChi2perNDF(Chi2perNDF(esdTrackM));
            mother->SetTPCPointsF(esdTrackM->GetTPCNclsF());
	    mother->SetTPCNCrossedRows(UShort_t(esdTrackM->GetTPCCrossedRows()));
	    mother->SetIntegratedLength(esdTrackM->GetIntegratedLength());
	    mother->SetTOFLabel(tofLabel);
	    CopyCaloProps(esdTrackM,mother);
            fAODTrackRefs->AddAt(mother, imother);
            if (esdTrackM->GetSign() > 0) ++fNumberOfPositiveTracks;
            mother->SetFlags(esdTrackM->GetStatus());
            mother->ConvertAliPIDtoAODPID();
            fPrimaryVertex->AddDaughter(mother);
            mother->ConvertAliPIDtoAODPID();
            SetAODPID(esdTrackM,mother,detpid);
          }
          else {
            //cerr << "Error: event " << esd.GetEventNumberInFile() << " kink " << TMath::Abs(ikink)-1
            //     << " track " << imother << " has already been used!" << endl;
          }
          
          // Add the kink vertex
          AliESDkink * kink = esd.GetKink(TMath::Abs(ikink)-1);
          
          AliAODVertex * vkink = new(Vertices()[fNumberOfVertices++]) AliAODVertex(kink->GetPosition(),
										   NULL,
										   0.,
										   mother,
										   esdTrack->GetID(),  // ID of mother's track!
										   AliAODVertex::kKink);
          // Add the daughter track
          AliAODTrack * daughter = NULL;
          if (!fUsedTrack[idaughter]) {
            fUsedTrack[idaughter] = kTRUE;
            AliESDtrack *esdTrackD = esd.GetTrack(idaughter);
            Double_t p[3] = { 0. };
            Double_t pos[3] = { 0. };
            esdTrackD->GetPxPyPz(p);
            esdTrackD->GetXYZ(pos);
            esdTrackD->GetCovarianceXYZPxPyPz(covTr);
	    //            esdTrackD->GetESDpid(pid);
	    esdTrackD->GetTOFLabel(tofLabel);
            selectInfo = 0;
            if (fTrackFilter) selectInfo = fTrackFilter->IsSelected(esdTrackD);
            if(fMChandler)fMChandler->SelectParticle(esdTrackD->GetLabel());
            daughter = new(Tracks()[fNumberOfTracks++]) AliAODTrack(esdTrackD->GetID(),
								    esdTrackD->GetLabel(),
								    p,
								    kTRUE,
								    pos,
								    kFALSE,
								    covTr, 
								    (Short_t)esdTrackD->GetSign(),
								    esdTrackD->GetITSClusterMap(), 
								    // pid,
								    vkink,
								    kTRUE, // check if this is right
								    vtx->UsesTrack(esdTrack->GetID()),
								    AliAODTrack::kFromDecayVtx,
								    selectInfo);
	    daughter->SetPIDForTracking(esdTrackD->GetPIDForTracking());
            daughter->SetTPCFitMap(esdTrackD->GetTPCFitMap());
            daughter->SetTPCClusterMap(esdTrackD->GetTPCClusterMap());
            daughter->SetTPCSharedMap (esdTrackD->GetTPCSharedMap());
	    daughter->SetTPCPointsF(esdTrackD->GetTPCNclsF());
	    daughter->SetTPCNCrossedRows(UShort_t(esdTrackD->GetTPCCrossedRows()));
	    daughter->SetIntegratedLength(esdTrackD->GetIntegratedLength());
	    daughter->SetTOFLabel(tofLabel);
	    CopyCaloProps(esdTrackD,daughter);
            fAODTrackRefs->AddAt(daughter, idaughter);
            if (esdTrackD->GetSign() > 0) ++fNumberOfPositiveTracks;
            daughter->SetFlags(esdTrackD->GetStatus());
            daughter->ConvertAliPIDtoAODPID();
            vkink->AddDaughter(daughter);
            daughter->ConvertAliPIDtoAODPID();
            SetAODPID(esdTrackD,daughter,detpid);
          } else {
            //cerr << "Error: event " << esd.GetEventNumberInFile() << " kink " << TMath::Abs(ikink)-1
            //     << " track " << idaughter << " has already been used!" << endl;
          }
        }
      }
    }      
  }
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertPrimaryVertices(const AliESDEvent& esd)
{
  AliCodeTimerAuto("",0);
  
  // Access to the AOD container of vertices
  fNumberOfVertices = 0;
  
  Double_t pos[3] = { 0. };
  Double_t covVtx[6] = { 0. };

  // Add primary vertex. The primary tracks will be defined
  // after the loops on the composite objects (V0, cascades, kinks)
  const AliESDVertex *vtx = esd.GetPrimaryVertex();
  
  vtx->GetXYZ(pos); // position
  vtx->GetCovMatrix(covVtx); //covariance matrix
  
  fPrimaryVertex = new(Vertices()[fNumberOfVertices++])
  AliAODVertex(pos, covVtx, vtx->GetChi2toNDF(), NULL, -1, AliAODVertex::kPrimary);
  fPrimaryVertex->SetName(vtx->GetName());
  fPrimaryVertex->SetTitle(vtx->GetTitle());
  fPrimaryVertex->SetBC(vtx->GetBC());
  
  TString vtitle = vtx->GetTitle();
  if (!vtitle.Contains("VertexerTracks")) 
    fPrimaryVertex->SetNContributors(vtx->GetNContributors());
  
  if (fDebug > 0) fPrimaryVertex->Print();  
  
  // Add SPD "main" vertex 
  const AliESDVertex *vtxS = esd.GetPrimaryVertexSPD();
  vtxS->GetXYZ(pos); // position
  vtxS->GetCovMatrix(covVtx); //covariance matrix
  AliAODVertex * mVSPD = new(Vertices()[fNumberOfVertices++])
  AliAODVertex(pos, covVtx, vtxS->GetChi2toNDF(), NULL, -1, AliAODVertex::kMainSPD);
  mVSPD->SetName(vtxS->GetName());
  mVSPD->SetTitle(vtxS->GetTitle());
  mVSPD->SetNContributors(vtxS->GetNContributors()); 
  
  // Add SPD pileup vertices
  for(Int_t iV=0; iV<esd.GetNumberOfPileupVerticesSPD(); ++iV) {
    const AliESDVertex *vtxP = esd.GetPileupVertexSPD(iV);
    vtxP->GetXYZ(pos); // position
    vtxP->GetCovMatrix(covVtx); //covariance matrix
    AliAODVertex * pVSPD =  new(Vertices()[fNumberOfVertices++])
    AliAODVertex(pos, covVtx, vtxP->GetChi2toNDF(), NULL, -1, AliAODVertex::kPileupSPD);
    pVSPD->SetName(vtxP->GetName());
    pVSPD->SetTitle(vtxP->GetTitle());
    pVSPD->SetNContributors(vtxP->GetNContributors()); 
    pVSPD->SetBC(vtxP->GetBC());
  }
  
  // Add TRK pileup vertices
  for(Int_t iV=0; iV<esd.GetNumberOfPileupVerticesTracks(); ++iV) {
    const AliESDVertex *vtxP = esd.GetPileupVertexTracks(iV);
    vtxP->GetXYZ(pos); // position
    vtxP->GetCovMatrix(covVtx); //covariance matrix
    AliAODVertex * pVTRK = new(Vertices()[fNumberOfVertices++])
    AliAODVertex(pos, covVtx, vtxP->GetChi2toNDF(), NULL, -1, AliAODVertex::kPileupTracks);
    pVTRK->SetName(vtxP->GetName());
    pVTRK->SetTitle(vtxP->GetTitle());
    pVTRK->SetNContributors(vtxP->GetNContributors());
    pVTRK->SetBC(vtxP->GetBC());
  }

  // Add TPC "main" vertex 
  const AliESDVertex *vtxT = esd.GetPrimaryVertexTPC();
  vtxT->GetXYZ(pos); // position
  vtxT->GetCovMatrix(covVtx); //covariance matrix
  AliAODVertex * mVTPC = new(Vertices()[fNumberOfVertices++])
  AliAODVertex(pos, covVtx, vtxT->GetChi2toNDF(), NULL, -1, AliAODVertex::kMainTPC);
  mVTPC->SetName(vtxT->GetName());
  mVTPC->SetTitle(vtxT->GetTitle());
  mVTPC->SetNContributors(vtxT->GetNContributors()); 
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertVZERO(const AliESDEvent& esd)
{
  // Convert VZERO data
  AliAODVZERO* vzeroData = AODEvent()->GetVZEROData();
  *vzeroData = *(esd.GetVZEROData());
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertTZERO(const AliESDEvent& esd)
{
  // Convert TZERO data
  const AliESDTZERO* esdTzero = esd.GetESDTZERO(); 
  AliAODTZERO* aodTzero = AODEvent()->GetTZEROData();

  for (Int_t icase=0; icase<3; icase++){ 
    aodTzero->SetT0TOF(    icase, esdTzero->GetT0TOF(icase));
    aodTzero->SetT0TOFbest(icase, esdTzero->GetT0TOFbest(icase)); 
  }
  aodTzero->SetBackgroundFlag(esdTzero->GetBackgroundFlag());
  aodTzero->SetPileupFlag(esdTzero->GetPileupFlag());
  aodTzero->SetSatelliteFlag(esdTzero->GetSatellite()); 

  Float_t rawTime[24];
  for(Int_t ipmt=0; ipmt<24; ipmt++)
    rawTime[ipmt] = esdTzero->GetTimeFull(ipmt,0);
   
  Int_t idxOfFirstPmtA = -1,       idxOfFirstPmtC = -1;
  Float_t timeOfFirstPmtA = 9999, timeOfFirstPmtC = 9999;
  for(int ipmt=0;  ipmt<12; ipmt++){
    if( rawTime[ipmt] > -2 && rawTime[ipmt] < timeOfFirstPmtC && rawTime[ipmt]!=0){
      timeOfFirstPmtC = rawTime[ipmt];
      idxOfFirstPmtC  = ipmt;
    }
  }
  for(int ipmt=12; ipmt<24; ipmt++){
    if( rawTime[ipmt] > -2 && rawTime[ipmt] < timeOfFirstPmtA && rawTime[ipmt]!=0 ){
      timeOfFirstPmtA = rawTime[ipmt];
      idxOfFirstPmtA  = ipmt;
    }
  }

  if(idxOfFirstPmtA != -1 && idxOfFirstPmtC != -1){
    //speed of light in cm/ns   TMath::C()*1e-7 
    Float_t vertexraw = TMath::C()*1e-7 * (rawTime[idxOfFirstPmtA] - rawTime[idxOfFirstPmtC])/2;
    aodTzero->SetT0VertexRaw( vertexraw );
  }else{
    aodTzero->SetT0VertexRaw(99999);
  }

  aodTzero->SetT0zVertex(esdTzero->GetT0zVertex());
  //amplitude

  const Double32_t *amp=esdTzero->GetT0amplitude();
  for(int ipmt=0;  ipmt<24; ipmt++)
    aodTzero->SetAmp(ipmt, amp[ipmt]);
  aodTzero->SetAmp(24,esdTzero->GetMultC() );
  aodTzero->SetAmp(25,esdTzero->GetMultA() );
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertZDC(const AliESDEvent& esd)
{
  // Convert ZDC data
  AliESDZDC* esdZDC = esd.GetZDCData();
  
  const Double_t zem1Energy = esdZDC->GetZEM1Energy();
  const Double_t zem2Energy = esdZDC->GetZEM2Energy();
   
  const Double_t *towZNC = esdZDC->GetZNCTowerEnergy();
  const Double_t *towZPC = esdZDC->GetZPCTowerEnergy();
  const Double_t *towZNA = esdZDC->GetZNATowerEnergy();
  const Double_t *towZPA = esdZDC->GetZPATowerEnergy();
  const Double_t *towZNCLG = esdZDC->GetZNCTowerEnergyLR();
  const Double_t *towZNALG = esdZDC->GetZNATowerEnergyLR();
  
  AliAODZDC* zdcAOD = AODEvent()->GetZDCData();

  zdcAOD->SetZEM1Energy(zem1Energy);
  zdcAOD->SetZEM2Energy(zem2Energy);
  zdcAOD->SetZNCTowers(towZNC, towZNCLG);
  zdcAOD->SetZNATowers(towZNA, towZNALG);
  zdcAOD->SetZPCTowers(towZPC);
  zdcAOD->SetZPATowers(towZPA);
  
  zdcAOD->SetZDCParticipants(esdZDC->GetZDCParticipants(), esdZDC->GetZDCPartSideA(), esdZDC->GetZDCPartSideC());
  zdcAOD->SetZDCImpactParameter(esdZDC->GetImpactParameter(), esdZDC->GetImpactParamSideA(), esdZDC->GetImpactParamSideC());
  zdcAOD->SetZDCTDCSum(esdZDC->GetZNTDCSum(0));	
  zdcAOD->SetZDCTDCDiff(esdZDC->GetZNTDCDiff(0));	
  if(esdZDC->IsZNChit()) zdcAOD->SetZNCTDC(esdZDC->GetZDCTDCCorrected(10,0));
  if(esdZDC->IsZNAhit()) zdcAOD->SetZNATDC(esdZDC->GetZDCTDCCorrected(12,0));
}

//_____________________________________________________________________________
Int_t AliAnalysisTaskESDfilter::ConvertHMPID(const AliESDEvent& esd) // clm
{
  //
  // Convtert ESD HMPID info to AOD and return the number of good tracks with HMPID signal.
  // We need to return an int since there is no signal counter in the ESD.
  //
  
  AliCodeTimerAuto("",0);
  
  Int_t cntHmpidGoodTracks = 0;
  
  Float_t  xMip = 0;
  Float_t  yMip = 0;
  Int_t    qMip = 0;
  Int_t    nphMip = 0;
  
  Float_t xTrk = 0;
  Float_t yTrk = 0;
  Float_t thetaTrk = 0;
  Float_t phiTrk = 0;
  
  Double_t hmpPid[5]={0};
  Double_t hmpMom[3]={0};
  
  TClonesArray &hmpidRings = *(AODEvent()->GetHMPIDrings());
  
  for (Int_t iTrack=0; iTrack<esd.GetNumberOfTracks(); ++iTrack) {
    if(! esd.GetTrack(iTrack) ) continue;
      
    if(esd.GetTrack(iTrack)->GetHMPIDsignal() > -20 ) {                  // 
      (esd.GetTrack(iTrack))->GetHMPIDmip(xMip, yMip, qMip, nphMip);     // Get MIP properties
      (esd.GetTrack(iTrack))->GetHMPIDtrk(xTrk,yTrk,thetaTrk,phiTrk);
      (esd.GetTrack(iTrack))->GetHMPIDpid(hmpPid);
      if((esd.GetTrack(iTrack))->GetOuterHmpParam()) (esd.GetTrack(iTrack))->GetOuterHmpPxPyPz(hmpMom);
      
      if(esd.GetTrack(iTrack)->GetHMPIDsignal() == 0 && thetaTrk == 0 && qMip == 0 && nphMip ==0 ) continue;  //
      
      new(hmpidRings[cntHmpidGoodTracks++]) AliAODHMPIDrings((esd.GetTrack(iTrack))->GetID(),             // Unique track id to attach the ring to
							     1000000*nphMip+qMip,                         // MIP charge and number of photons
							     (esd.GetTrack(iTrack))->GetHMPIDcluIdx(),    // 1000000*chamber id + cluster idx of assigned MIP cluster  
							     thetaTrk,                                    // track inclination angle theta
							     phiTrk,                                      // track inclination angle phi
							     (esd.GetTrack(iTrack))->GetHMPIDsignal(),    // Cherenkov angle
							     (esd.GetTrack(iTrack))->GetHMPIDoccupancy(), // Occupancy claculated for the given chamber 
							     (esd.GetTrack(iTrack))->GetHMPIDchi2(),      // Ring resolution squared
							     xTrk,                                        // Track x coordinate (LORS)
							     yTrk,                                        // Track y coordinate (LORS)
							     xMip,                                        // MIP x coordinate (LORS)
							     yMip,                                        // MIP y coordinate (LORS)
							     hmpPid,                                      // PID probablities from ESD, remove once it is CombinedPid
							     hmpMom                                       // Track momentum in HMPID at ring reconstruction
							     );  
    }
  }
  
  return cntHmpidGoodTracks;
}

void AliAnalysisTaskESDfilter::ConvertTRD(const AliESDEvent& esd)
{
  // fill TRD on-line tracks with assiocated tracklets
  // as used for the TRD level-1 triggers

  const Int_t nTrdTracks = esd.GetNumberOfTrdTracks();
  const Int_t nLayers = 6;

  for (Int_t iTrdTrack = 0; iTrdTrack < nTrdTracks; ++iTrdTrack) {
    // copy information from ESD track to AOD track
    const AliESDTrdTrack *esdTrdTrk = esd.GetTrdTrack(iTrdTrack);
    AliAODTrdTrack &aodTrdTrk = AODEvent()->AddTrdTrack(esdTrdTrk);

    // copy the contributing tracklets
    for (Int_t iTracklet = 0; iTracklet < nLayers; ++iTracklet) {
      if (const AliESDTrdTracklet *esdTrdTrkl = esdTrdTrk->GetTracklet(iTracklet))
	aodTrdTrk.AddTracklet(*esdTrdTrkl, iTracklet);
    }

    // add the reference to the matched global track
    AliAODTrack *aodTrkMatch = 0x0;
    AliESDtrack *esdTrkMatch = (AliESDtrack*) esdTrdTrk->GetTrackMatch();
    if (esdTrkMatch) {
      Int_t idx = esdTrkMatch->GetID();

      if (idx < 0)
    	AliError("track has a matched track that was not found");
      else if (esdTrkMatch != esd.GetTrack(idx))
	AliError("wrong track found for ESD track index");
      else {
        UInt_t selectInfo = fTrackFilter ? fTrackFilter->IsSelected(esdTrkMatch) : 0;

	if (fUsedTrack[idx]) {
	  aodTrkMatch = (AliAODTrack*) (*fAODTrackRefs)[idx];
	  AliDebug(2, Form("event %lld: existing track (idx %i, pt = %f) matched to TRD track (idx %i, pt = %f), cut flags: 0x%08x",
			   Entry(), idx, esdTrkMatch->Pt(), iTrdTrack, esdTrdTrk->Pt(),
			   selectInfo));
	} else {
	  if (selectInfo & fUsedTrackCopy[idx]) {
	    // mask filter bits already used in track copies
	    selectInfo &= ~fUsedTrackCopy[idx];
	    AliWarning(Form("event %lld: copied track (idx %i, pt = %f) matched to TRD track (idx %i, pt = %f), cut flags: 0x%08x -> 0x%08x",
			    Entry(), idx, esdTrkMatch->Pt(), iTrdTrack, esdTrdTrk->Pt(),
			    fTrackFilter->IsSelected(esdTrkMatch), selectInfo));
	  }
	  AliDebug(2, Form("event %lld: unused track (idx %i, pt = %f) matched to TRD track (idx %i, pt = %f), cut flags: 0x%08x -> 0x%08x",
			   Entry(), idx, esdTrkMatch->Pt(), iTrdTrack, esdTrdTrk->Pt(),
			   fTrackFilter->IsSelected(esdTrkMatch), selectInfo));

	  Double_t mom[3]={0.};
	  Double_t pos[3]={0.};
	  Double_t covTr[21]={0.};
	  //	  Double_t pid[10]={0.};

	  esdTrkMatch->GetPxPyPz(mom);
	  esdTrkMatch->GetXYZ(pos);
	  esdTrkMatch->GetCovarianceXYZPxPyPz(covTr);
	  // esdTrkMatch->GetESDpid(pid);
	  const AliESDVertex* vtx = esd.GetPrimaryVertex();

	  fUsedTrack[idx] = kTRUE;
	  if(fMChandler) fMChandler->SelectParticle(esdTrkMatch->GetLabel());

	  aodTrkMatch = new(Tracks()[fNumberOfTracks++]) AliAODTrack(esdTrkMatch->GetID(),
								     esdTrkMatch->GetLabel(),
								     mom,
								     kTRUE,
								     pos,
								     kFALSE,
								     covTr,
								     (Short_t)esdTrkMatch->GetSign(),
								     esdTrkMatch->GetITSClusterMap(),
								     // pid,
								     fPrimaryVertex,
								     kTRUE,
								     vtx->UsesTrack(esdTrkMatch->GetID()),
								     AliAODTrack::kUndef,
								     selectInfo);
	  aodTrkMatch->SetPIDForTracking(esdTrkMatch->GetPIDForTracking());
	  aodTrkMatch->SetTPCFitMap(esdTrkMatch->GetTPCFitMap());
	  aodTrkMatch->SetTPCClusterMap(esdTrkMatch->GetTPCClusterMap());
	  aodTrkMatch->SetTPCSharedMap (esdTrkMatch->GetTPCSharedMap());
	  aodTrkMatch->SetChi2perNDF(Chi2perNDF(esdTrkMatch));
	  aodTrkMatch->SetTPCPointsF(esdTrkMatch->GetTPCNclsF());
	  aodTrkMatch->SetTPCNCrossedRows(UShort_t(esdTrkMatch->GetTPCCrossedRows()));
	  aodTrkMatch->SetIntegratedLength(esdTrkMatch->GetIntegratedLength());
	  CopyCaloProps(esdTrkMatch,aodTrkMatch);
 	  fAODTrackRefs->AddAt(aodTrkMatch,idx);
	  if (esdTrkMatch->GetSign() > 0) ++fNumberOfPositiveTracks;
	  aodTrkMatch->ConvertAliPIDtoAODPID();
	  aodTrkMatch->SetFlags(esdTrkMatch->GetStatus());
	}
      }
    }
    aodTrdTrk.SetTrackMatchReference(aodTrkMatch);
  }
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::ConvertESDtoAOD() 
{
  // ESD Filter analysis task executed for each event
  
  AliESDEvent* esd = dynamic_cast<AliESDEvent*>(InputEvent());
  
  if(!esd)return;

  AliCodeTimerAuto("",0);

  if (fRefitVertexTracks>=0) AliESDUtils::RefitESDVertexTracks(esd,fRefitVertexTracks,
							       fRefitVertexTracksNCuts ? fRefitVertexTracksCuts:0);
  
  fOldESDformat = ( esd->GetAliESDOld() != 0x0 );
 
      // Reconstruct cascades and V0 here
  if (fIsV0CascadeRecoEnabled) {
    esd->ResetCascades();
    esd->ResetV0s();

    AliV0vertexer lV0vtxer;
    AliCascadeVertexer lCascVtxer;

    lV0vtxer.SetCuts(fV0Cuts);
    lCascVtxer.SetCuts(fCascadeCuts);


    lV0vtxer.Tracks2V0vertices(esd);
    lCascVtxer.V0sTracks2CascadeVertices(esd);
  }

  // Perform progagation of tracks if needed
  if (fDoPropagateTrackToEMCal) {
    const Int_t ntrack = esd->GetNumberOfTracks();
    for (Int_t i=0;i<ntrack;++i) {
      AliESDtrack *t = esd->GetTrack(i);
      AliEMCALRecoUtils::ExtrapolateTrackToEMCalSurface(t,fEMCalSurfaceDistance);
    }
  }
 
  fNumberOfTracks = 0;
  fNumberOfPositiveTracks = 0;
  fNumberOfV0s = 0;
  fNumberOfVertices = 0;
  fNumberOfCascades = 0;
  fNumberOfKinks = 0;
    
  AliAODHeader* header = ConvertHeader(*esd);

  if ( fIsVZEROEnabled ) ConvertVZERO(*esd);
  if ( fIsTZEROEnabled ) ConvertTZERO(*esd);
  
  // Fetch Stack for debuggging if available 
  fMChandler=0x0;
  if(MCEvent()) {
    fMChandler = (AliMCEventHandler*) ((AliAnalysisManager::GetAnalysisManager())->GetMCtruthEventHandler()); 
  }
  
  // loop over events and fill them
  // Multiplicity information needed by the header (to be revised!)
  Int_t nTracks    = esd->GetNumberOfTracks();

// The line below should not be needed anymore (tracks already connected)
//  for (Int_t iTrack=0; iTrack<nTracks; ++iTrack) esd->GetTrack(iTrack)->SetESDEvent(esd);

  // Update the header
  Int_t nV0s      = esd->GetNumberOfV0s();
  Int_t nCascades = esd->GetNumberOfCascades();
  Int_t nKinks    = esd->GetNumberOfKinks();
  Int_t nVertices = nV0s + nCascades /*V0 wihtin cascade already counted*/+ nKinks + 1 /* = prim. vtx*/;
  Int_t nPileSPDVertices=1+esd->GetNumberOfPileupVerticesSPD(); // also SPD main vertex
  Int_t nPileTrkVertices=esd->GetNumberOfPileupVerticesTracks();
  nVertices+=nPileSPDVertices;
  nVertices+=nPileTrkVertices;
  Int_t nJets     = 0;
  Int_t nCaloClus = esd->GetNumberOfCaloClusters();
  Int_t nFmdClus  = 0;
  Int_t nPmdClus  = esd->GetNumberOfPmdTracks();
  Int_t nHmpidRings = 0;  
    
  AliDebug(1,Form("   NV0=%d  NCASCADES=%d  NKINKS=%d", nV0s, nCascades, nKinks));
       
  AODEvent()->ResetStd(nTracks, nVertices, nV0s, nCascades, nJets, nCaloClus, nFmdClus, nPmdClus, nHmpidRings);

  if (nV0s > 0) {
    // RefArray to store a mapping between esd V0 number and newly created AOD-Vertex V0
    fAODV0VtxRefs = new TRefArray(nV0s);
    // RefArray to store the mapping between esd V0 number and newly created AOD-V0
    fAODV0Refs = new TRefArray(nV0s); 
    // Array to take into account the V0s already added to the AOD (V0 within cascades)
    fUsedV0 = new Bool_t[nV0s];
    for (Int_t iV0=0; iV0<nV0s; ++iV0) fUsedV0[iV0]=kFALSE;
  }
  
  if (nTracks>0) {
    // RefArray to store the mapping between esd track number and newly created AOD-Track
    
    fAODTrackRefs = new TRefArray(nTracks);

    // Array to take into account the tracks already added to the AOD    
    fUsedTrack = new Bool_t[nTracks];
    fUsedTrackCopy = new UInt_t[nTracks];
    for (Int_t iTrack=0; iTrack<nTracks; ++iTrack) {
      fUsedTrack[iTrack]=kFALSE;
      fUsedTrackCopy[iTrack] = 0;
    }
  }
  
  // Array to take into account the kinks already added to the AOD
  if (nKinks>0) {
    fUsedKink = new Bool_t[nKinks];
    for (Int_t iKink=0; iKink<nKinks; ++iKink) fUsedKink[iKink]=kFALSE;
  }
    
  ConvertPrimaryVertices(*esd);

  //setting best TOF PID
  AliESDInputHandler* esdH = dynamic_cast<AliESDInputHandler*>(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
  if (esdH)
    fESDpid = esdH->GetESDpid();

  if (fIsPidOwner && fESDpid) {
    delete fESDpid;
    fESDpid = 0;
  }
  if (!fESDpid) { //in case of no Tender attached 
    fESDpid = new AliESDpid;
    fIsPidOwner = kTRUE;
  }
  
  if (!esd->GetTOFHeader()) { //protection in case the pass2 LHC10b,c,d have been processed without tender. 
    Float_t t0spread[10];
    Float_t intrinsicTOFres=100; //ps ok for LHC10b,c,d pass2!! 
    for (Int_t i=0; i<10; i++) t0spread[i] = (TMath::Sqrt(esd->GetSigma2DiamondZ()))/0.03; //0.03 to convert from cm to ps
    fESDpid->GetTOFResponse().SetT0resolution(t0spread);
    fESDpid->GetTOFResponse().SetTimeResolution(intrinsicTOFres);
    //    fESDpid->SetTOFResponse(esd, (AliESDpid::EStartTimeType_t)fTimeZeroType);    
    AliTOFHeader tmpTOFHeader(0,t0spread[0],0,NULL,NULL,NULL,intrinsicTOFres,t0spread[0]);   
    AODEvent()->SetTOFHeader(&tmpTOFHeader);         // write dummy TOF header in AOD
  } else {
    AODEvent()->SetTOFHeader(esd->GetTOFHeader());    // write TOF header in AOD
  }
  
  // In case of AOD production strating form LHC10e without Tender. 
  //if(esd->GetTOFHeader() && fIsPidOwner) fESDpid->SetTOFResponse(esd, (AliESDpid::EStartTimeType_t)fTimeZeroType); 
  
  if (fAreCascadesEnabled) ConvertCascades(*esd);
  if (fAreV0sEnabled) ConvertV0s(*esd);
  if (fAreKinksEnabled) ConvertKinks(*esd);
  if (fAreTracksEnabled) ConvertTracks(*esd);
  
  // Update number of AOD tracks in header at the end of track loop (M.G.)
  header->SetRefMultiplicity(fNumberOfTracks);
  header->SetRefMultiplicityPos(fNumberOfPositiveTracks);
  header->SetRefMultiplicityNeg(fNumberOfTracks - fNumberOfPositiveTracks);

  if (fTPCConstrainedFilterMask) ConvertTPCOnlyTracks(*esd);
  if (fGlobalConstrainedFilterMask) ConvertGlobalConstrainedTracks(*esd);  
  if (fArePmdClustersEnabled) ConvertPmdClusters(*esd);
  if (fAreCaloClustersEnabled) ConvertCaloClusters(*esd);
  if (fAreEMCALCellsEnabled) ConvertEMCALCells(*esd);
  if (fArePHOSCellsEnabled) ConvertPHOSCells(*esd);
  if (fAreEMCALTriggerEnabled) ConvertCaloTrigger(TString("EMCAL"), *esd);
  if (fArePHOSTriggerEnabled) ConvertCaloTrigger(TString("PHOS"), *esd);
  if (fAreTrackletsEnabled) ConvertTracklets(*esd);
  if (fIsZDCEnabled) ConvertZDC(*esd);
  if (fIsHMPIDEnabled) nHmpidRings = ConvertHMPID(*esd); 
  if (fIsTRDEnabled) ConvertTRD(*esd);

  delete fAODTrackRefs; fAODTrackRefs=0x0;
  delete fAODV0VtxRefs; fAODV0VtxRefs=0x0;
  delete fAODV0Refs; fAODV0Refs=0x0;
  delete[] fUsedTrack; fUsedTrack=0x0;
  delete[] fUsedTrackCopy; fUsedTrackCopy=0x0;
  delete[] fUsedV0; fUsedV0=0x0;
  delete[] fUsedKink; fUsedKink=0x0;

  if (fIsPidOwner) {
    delete fESDpid;
    fESDpid = 0x0;
  }
  AODEvent()->ConnectTracks();
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::SetAODPID(AliESDtrack *esdtrack, AliAODTrack *aodtrack, AliAODPid *detpid)
{
  //
  // Setter for the raw PID detector signals
  //

  // Save PID object for candidate electrons
  Bool_t pidSave = kFALSE;
  if (fTrackFilter) {
    Bool_t selectInfo = fTrackFilter->IsSelected((char*) "Electrons");
    if (selectInfo)  pidSave = kTRUE;
  }

  // Tracks passing pt cut 
  if(esdtrack->Pt()>fHighPthreshold) {
    pidSave = kTRUE;
  } else {
    if(fPtshape){
      if(esdtrack->Pt()> fPtshape->GetXmin()){
	Double_t y = fPtshape->Eval(esdtrack->Pt())/fPtshape->Eval(fHighPthreshold);
	if(gRandom->Rndm(0)<1./y){
	  pidSave = kTRUE;
	}//end rndm
      }//end if p < pmin
    }//end if p function
  }// end else

  if (pidSave) {
    if(!aodtrack->GetDetPid()){// prevent memory leak when calling SetAODPID twice for the same track
      detpid = new AliAODPid();
      SetDetectorRawSignals(detpid,esdtrack);
      aodtrack->SetDetPID(detpid);
    }
  }
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::SetDetectorRawSignals(AliAODPid *aodpid, AliESDtrack *track)
{
  // Assignment of the detector signals (AliXXXesdPID inspired)

  if(!track) {
    AliInfo("no ESD track found. .....exiting");
    return;
  }

  // TPC momentum
  aodpid->SetTPCmomentum(track->GetTPCmomentum());
  aodpid->SetTPCTgl(track->GetTPCTgl());
  aodpid->SetITSsignal(track->GetITSsignal());
  Double_t itsdedx[4]; // dE/dx samples for individual ITS layers
  track->GetITSdEdxSamples(itsdedx);
  aodpid->SetITSdEdxSamples(itsdedx);
  
  aodpid->SetTPCsignal(track->GetTPCsignal());
  aodpid->SetTPCsignalN(track->GetTPCsignalN());
  if (track->GetTPCdEdxInfo()) aodpid->SetTPCdEdxInfo(track->GetTPCdEdxInfo());

  //n TRD planes = 6
  Int_t nslices = track->GetNumberOfTRDslices()*6;
  TArrayD trdslices(nslices);
  for(Int_t iSl =0; iSl < track->GetNumberOfTRDslices(); iSl++) {
    for(Int_t iPl =0; iPl<6; iPl++) trdslices[iPl*track->GetNumberOfTRDslices()+iSl] = track->GetTRDslice(iPl,iSl);
  }
 
  //TRD momentum
  for(Int_t iPl=0;iPl<6;iPl++){
    Double_t trdmom=track->GetTRDmomentum(iPl);
    aodpid->SetTRDmomentum(iPl,trdmom);
  }

  aodpid->SetTRDslices(track->GetNumberOfTRDslices()*6,trdslices.GetArray());
  aodpid->SetTRDsignal(track->GetTRDsignal());

  //TRD clusters and tracklets
  aodpid->SetTRDncls(track->GetTRDncls());
  aodpid->SetTRDntrackletsPID(track->GetTRDntrackletsPID());
  
  aodpid->SetTRDChi2(track->GetTRDchi2());

  //TOF PID  
  Double_t times[AliPID::kSPECIESC]; track->GetIntegratedTimes(times,AliPID::kSPECIESC);
  aodpid->SetIntegratedTimes(times);

  //  Float_t tzeroTrack = fESDpid->GetTOFResponse().GetStartTime(track->P());
  //  aodpid->SetTOFsignal(track->GetTOFsignal()-tzeroTrack);
  aodpid->SetTOFsignal(track->GetTOFsignal());
  
  Double_t tofRes[5];
  for (Int_t iMass=0; iMass<5; iMass++){
    //    tofRes[iMass]=(Double_t)fESDpid->GetTOFResponse().GetExpectedSigma(track->P(), times[iMass], AliPID::ParticleMass(iMass));
    tofRes[iMass]=0; //backward compatibility
  }
  aodpid->SetTOFpidResolution(tofRes);
  //aodpid->SetHMPIDsignal(0); // set to zero for compression but it will be removed later
}

Double_t AliAnalysisTaskESDfilter::Chi2perNDF(AliESDtrack* track)
{
  // Calculate chi2 per ndf for track

  Int_t  nClustersTPC = track->GetTPCNcls();
  if ( nClustersTPC > 5) {
    return (track->GetTPCchi2()/Float_t(nClustersTPC - 5));
  } else {
    return (-1.);
  }
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::Terminate(Option_t */*option*/)
{
  // Terminate analysis

  if (fDebug > 1) printf("AnalysisESDfilter: Terminate() \n");
}

//______________________________________________________________________________
void  AliAnalysisTaskESDfilter::PrintMCInfo(AliStack *pStack,Int_t label)
{
  // Print MC info
  if (!pStack) return;
  label = TMath::Abs(label);
  TParticle *part = pStack->Particle(label);
  Printf("########################");
  Printf("%s:%d %d UniqueID %d PDG %d P %3.3f",(char*)__FILE__,__LINE__,label,part->GetUniqueID(),part->GetPdgCode(),part->P());
  part->Print();
  TParticle* mother = part;
  Int_t imo = part->GetFirstMother();
  Int_t nprim = pStack->GetNprimary();
  //  while((imo >= nprim) && (mother->GetUniqueID() == 4)) {
  while((imo >= nprim)) {
    mother =  pStack->Particle(imo);
    Printf("Mother %s:%d Label %d UniqueID %d PDG %d P %3.3f",(char*)__FILE__,__LINE__,imo,mother->GetUniqueID(),mother->GetPdgCode(),mother->P());
    mother->Print();
    imo =  mother->GetFirstMother();
  }
  Printf("########################");
}

//______________________________________________________________________________
void  AliAnalysisTaskESDfilter::CopyCaloProps(AliESDtrack *tre, AliAODTrack *tra) 
{
  // Copy calo properties from ESD track to AOD track
  tra->SetTrackPhiEtaPtOnEMCal(tre->GetTrackPhiOnEMCal(),tre->GetTrackEtaOnEMCal(),tre->GetTrackPtOnEMCal());
  if (tre->IsEMCAL()) tra->SetEMCALcluster(tre->GetEMCALcluster());
  if (tre->IsPHOS())  tra->SetPHOScluster(tre->GetPHOScluster());
}

//______________________________________________________________________________
void AliAnalysisTaskESDfilter::SetRefitVertexTracks(Int_t algo, Double_t* cuts)
{
  // request vertexTrack reprocessing from ESDtracks
  // if algo>=0 and cuts==0 then algo is interpreted as the algorithm ID to be run with default cuts
  // otherwise it is number of cuts to digest
  fRefitVertexTracks = algo;
  if (algo>0 && cuts) {
    fRefitVertexTracksCuts = new Double_t[fRefitVertexTracks];
    for (int i=fRefitVertexTracks;i--;) fRefitVertexTracksCuts[i] = cuts[i];
    fRefitVertexTracksNCuts = fRefitVertexTracks;
  }
}
 AliAnalysisTaskESDfilter.cxx:1
 AliAnalysisTaskESDfilter.cxx:2
 AliAnalysisTaskESDfilter.cxx:3
 AliAnalysisTaskESDfilter.cxx:4
 AliAnalysisTaskESDfilter.cxx:5
 AliAnalysisTaskESDfilter.cxx:6
 AliAnalysisTaskESDfilter.cxx:7
 AliAnalysisTaskESDfilter.cxx:8
 AliAnalysisTaskESDfilter.cxx:9
 AliAnalysisTaskESDfilter.cxx:10
 AliAnalysisTaskESDfilter.cxx:11
 AliAnalysisTaskESDfilter.cxx:12
 AliAnalysisTaskESDfilter.cxx:13
 AliAnalysisTaskESDfilter.cxx:14
 AliAnalysisTaskESDfilter.cxx:15
 AliAnalysisTaskESDfilter.cxx:16
 AliAnalysisTaskESDfilter.cxx:17
 AliAnalysisTaskESDfilter.cxx:18
 AliAnalysisTaskESDfilter.cxx:19
 AliAnalysisTaskESDfilter.cxx:20
 AliAnalysisTaskESDfilter.cxx:21
 AliAnalysisTaskESDfilter.cxx:22
 AliAnalysisTaskESDfilter.cxx:23
 AliAnalysisTaskESDfilter.cxx:24
 AliAnalysisTaskESDfilter.cxx:25
 AliAnalysisTaskESDfilter.cxx:26
 AliAnalysisTaskESDfilter.cxx:27
 AliAnalysisTaskESDfilter.cxx:28
 AliAnalysisTaskESDfilter.cxx:29
 AliAnalysisTaskESDfilter.cxx:30
 AliAnalysisTaskESDfilter.cxx:31
 AliAnalysisTaskESDfilter.cxx:32
 AliAnalysisTaskESDfilter.cxx:33
 AliAnalysisTaskESDfilter.cxx:34
 AliAnalysisTaskESDfilter.cxx:35
 AliAnalysisTaskESDfilter.cxx:36
 AliAnalysisTaskESDfilter.cxx:37
 AliAnalysisTaskESDfilter.cxx:38
 AliAnalysisTaskESDfilter.cxx:39
 AliAnalysisTaskESDfilter.cxx:40
 AliAnalysisTaskESDfilter.cxx:41
 AliAnalysisTaskESDfilter.cxx:42
 AliAnalysisTaskESDfilter.cxx:43
 AliAnalysisTaskESDfilter.cxx:44
 AliAnalysisTaskESDfilter.cxx:45
 AliAnalysisTaskESDfilter.cxx:46
 AliAnalysisTaskESDfilter.cxx:47
 AliAnalysisTaskESDfilter.cxx:48
 AliAnalysisTaskESDfilter.cxx:49
 AliAnalysisTaskESDfilter.cxx:50
 AliAnalysisTaskESDfilter.cxx:51
 AliAnalysisTaskESDfilter.cxx:52
 AliAnalysisTaskESDfilter.cxx:53
 AliAnalysisTaskESDfilter.cxx:54
 AliAnalysisTaskESDfilter.cxx:55
 AliAnalysisTaskESDfilter.cxx:56
 AliAnalysisTaskESDfilter.cxx:57
 AliAnalysisTaskESDfilter.cxx:58
 AliAnalysisTaskESDfilter.cxx:59
 AliAnalysisTaskESDfilter.cxx:60
 AliAnalysisTaskESDfilter.cxx:61
 AliAnalysisTaskESDfilter.cxx:62
 AliAnalysisTaskESDfilter.cxx:63
 AliAnalysisTaskESDfilter.cxx:64
 AliAnalysisTaskESDfilter.cxx:65
 AliAnalysisTaskESDfilter.cxx:66
 AliAnalysisTaskESDfilter.cxx:67
 AliAnalysisTaskESDfilter.cxx:68
 AliAnalysisTaskESDfilter.cxx:69
 AliAnalysisTaskESDfilter.cxx:70
 AliAnalysisTaskESDfilter.cxx:71
 AliAnalysisTaskESDfilter.cxx:72
 AliAnalysisTaskESDfilter.cxx:73
 AliAnalysisTaskESDfilter.cxx:74
 AliAnalysisTaskESDfilter.cxx:75
 AliAnalysisTaskESDfilter.cxx:76
 AliAnalysisTaskESDfilter.cxx:77
 AliAnalysisTaskESDfilter.cxx:78
 AliAnalysisTaskESDfilter.cxx:79
 AliAnalysisTaskESDfilter.cxx:80
 AliAnalysisTaskESDfilter.cxx:81
 AliAnalysisTaskESDfilter.cxx:82
 AliAnalysisTaskESDfilter.cxx:83
 AliAnalysisTaskESDfilter.cxx:84
 AliAnalysisTaskESDfilter.cxx:85
 AliAnalysisTaskESDfilter.cxx:86
 AliAnalysisTaskESDfilter.cxx:87
 AliAnalysisTaskESDfilter.cxx:88
 AliAnalysisTaskESDfilter.cxx:89
 AliAnalysisTaskESDfilter.cxx:90
 AliAnalysisTaskESDfilter.cxx:91
 AliAnalysisTaskESDfilter.cxx:92
 AliAnalysisTaskESDfilter.cxx:93
 AliAnalysisTaskESDfilter.cxx:94
 AliAnalysisTaskESDfilter.cxx:95
 AliAnalysisTaskESDfilter.cxx:96
 AliAnalysisTaskESDfilter.cxx:97
 AliAnalysisTaskESDfilter.cxx:98
 AliAnalysisTaskESDfilter.cxx:99
 AliAnalysisTaskESDfilter.cxx:100
 AliAnalysisTaskESDfilter.cxx:101
 AliAnalysisTaskESDfilter.cxx:102
 AliAnalysisTaskESDfilter.cxx:103
 AliAnalysisTaskESDfilter.cxx:104
 AliAnalysisTaskESDfilter.cxx:105
 AliAnalysisTaskESDfilter.cxx:106
 AliAnalysisTaskESDfilter.cxx:107
 AliAnalysisTaskESDfilter.cxx:108
 AliAnalysisTaskESDfilter.cxx:109
 AliAnalysisTaskESDfilter.cxx:110
 AliAnalysisTaskESDfilter.cxx:111
 AliAnalysisTaskESDfilter.cxx:112
 AliAnalysisTaskESDfilter.cxx:113
 AliAnalysisTaskESDfilter.cxx:114
 AliAnalysisTaskESDfilter.cxx:115
 AliAnalysisTaskESDfilter.cxx:116
 AliAnalysisTaskESDfilter.cxx:117
 AliAnalysisTaskESDfilter.cxx:118
 AliAnalysisTaskESDfilter.cxx:119
 AliAnalysisTaskESDfilter.cxx:120
 AliAnalysisTaskESDfilter.cxx:121
 AliAnalysisTaskESDfilter.cxx:122
 AliAnalysisTaskESDfilter.cxx:123
 AliAnalysisTaskESDfilter.cxx:124
 AliAnalysisTaskESDfilter.cxx:125
 AliAnalysisTaskESDfilter.cxx:126
 AliAnalysisTaskESDfilter.cxx:127
 AliAnalysisTaskESDfilter.cxx:128
 AliAnalysisTaskESDfilter.cxx:129
 AliAnalysisTaskESDfilter.cxx:130
 AliAnalysisTaskESDfilter.cxx:131
 AliAnalysisTaskESDfilter.cxx:132
 AliAnalysisTaskESDfilter.cxx:133
 AliAnalysisTaskESDfilter.cxx:134
 AliAnalysisTaskESDfilter.cxx:135
 AliAnalysisTaskESDfilter.cxx:136
 AliAnalysisTaskESDfilter.cxx:137
 AliAnalysisTaskESDfilter.cxx:138
 AliAnalysisTaskESDfilter.cxx:139
 AliAnalysisTaskESDfilter.cxx:140
 AliAnalysisTaskESDfilter.cxx:141
 AliAnalysisTaskESDfilter.cxx:142
 AliAnalysisTaskESDfilter.cxx:143
 AliAnalysisTaskESDfilter.cxx:144
 AliAnalysisTaskESDfilter.cxx:145
 AliAnalysisTaskESDfilter.cxx:146
 AliAnalysisTaskESDfilter.cxx:147
 AliAnalysisTaskESDfilter.cxx:148
 AliAnalysisTaskESDfilter.cxx:149
 AliAnalysisTaskESDfilter.cxx:150
 AliAnalysisTaskESDfilter.cxx:151
 AliAnalysisTaskESDfilter.cxx:152
 AliAnalysisTaskESDfilter.cxx:153
 AliAnalysisTaskESDfilter.cxx:154
 AliAnalysisTaskESDfilter.cxx:155
 AliAnalysisTaskESDfilter.cxx:156
 AliAnalysisTaskESDfilter.cxx:157
 AliAnalysisTaskESDfilter.cxx:158
 AliAnalysisTaskESDfilter.cxx:159
 AliAnalysisTaskESDfilter.cxx:160
 AliAnalysisTaskESDfilter.cxx:161
 AliAnalysisTaskESDfilter.cxx:162
 AliAnalysisTaskESDfilter.cxx:163
 AliAnalysisTaskESDfilter.cxx:164
 AliAnalysisTaskESDfilter.cxx:165
 AliAnalysisTaskESDfilter.cxx:166
 AliAnalysisTaskESDfilter.cxx:167
 AliAnalysisTaskESDfilter.cxx:168
 AliAnalysisTaskESDfilter.cxx:169
 AliAnalysisTaskESDfilter.cxx:170
 AliAnalysisTaskESDfilter.cxx:171
 AliAnalysisTaskESDfilter.cxx:172
 AliAnalysisTaskESDfilter.cxx:173
 AliAnalysisTaskESDfilter.cxx:174
 AliAnalysisTaskESDfilter.cxx:175
 AliAnalysisTaskESDfilter.cxx:176
 AliAnalysisTaskESDfilter.cxx:177
 AliAnalysisTaskESDfilter.cxx:178
 AliAnalysisTaskESDfilter.cxx:179
 AliAnalysisTaskESDfilter.cxx:180
 AliAnalysisTaskESDfilter.cxx:181
 AliAnalysisTaskESDfilter.cxx:182
 AliAnalysisTaskESDfilter.cxx:183
 AliAnalysisTaskESDfilter.cxx:184
 AliAnalysisTaskESDfilter.cxx:185
 AliAnalysisTaskESDfilter.cxx:186
 AliAnalysisTaskESDfilter.cxx:187
 AliAnalysisTaskESDfilter.cxx:188
 AliAnalysisTaskESDfilter.cxx:189
 AliAnalysisTaskESDfilter.cxx:190
 AliAnalysisTaskESDfilter.cxx:191
 AliAnalysisTaskESDfilter.cxx:192
 AliAnalysisTaskESDfilter.cxx:193
 AliAnalysisTaskESDfilter.cxx:194
 AliAnalysisTaskESDfilter.cxx:195
 AliAnalysisTaskESDfilter.cxx:196
 AliAnalysisTaskESDfilter.cxx:197
 AliAnalysisTaskESDfilter.cxx:198
 AliAnalysisTaskESDfilter.cxx:199
 AliAnalysisTaskESDfilter.cxx:200
 AliAnalysisTaskESDfilter.cxx:201
 AliAnalysisTaskESDfilter.cxx:202
 AliAnalysisTaskESDfilter.cxx:203
 AliAnalysisTaskESDfilter.cxx:204
 AliAnalysisTaskESDfilter.cxx:205
 AliAnalysisTaskESDfilter.cxx:206
 AliAnalysisTaskESDfilter.cxx:207
 AliAnalysisTaskESDfilter.cxx:208
 AliAnalysisTaskESDfilter.cxx:209
 AliAnalysisTaskESDfilter.cxx:210
 AliAnalysisTaskESDfilter.cxx:211
 AliAnalysisTaskESDfilter.cxx:212
 AliAnalysisTaskESDfilter.cxx:213
 AliAnalysisTaskESDfilter.cxx:214
 AliAnalysisTaskESDfilter.cxx:215
 AliAnalysisTaskESDfilter.cxx:216
 AliAnalysisTaskESDfilter.cxx:217
 AliAnalysisTaskESDfilter.cxx:218
 AliAnalysisTaskESDfilter.cxx:219
 AliAnalysisTaskESDfilter.cxx:220
 AliAnalysisTaskESDfilter.cxx:221
 AliAnalysisTaskESDfilter.cxx:222
 AliAnalysisTaskESDfilter.cxx:223
 AliAnalysisTaskESDfilter.cxx:224
 AliAnalysisTaskESDfilter.cxx:225
 AliAnalysisTaskESDfilter.cxx:226
 AliAnalysisTaskESDfilter.cxx:227
 AliAnalysisTaskESDfilter.cxx:228
 AliAnalysisTaskESDfilter.cxx:229
 AliAnalysisTaskESDfilter.cxx:230
 AliAnalysisTaskESDfilter.cxx:231
 AliAnalysisTaskESDfilter.cxx:232
 AliAnalysisTaskESDfilter.cxx:233
 AliAnalysisTaskESDfilter.cxx:234
 AliAnalysisTaskESDfilter.cxx:235
 AliAnalysisTaskESDfilter.cxx:236
 AliAnalysisTaskESDfilter.cxx:237
 AliAnalysisTaskESDfilter.cxx:238
 AliAnalysisTaskESDfilter.cxx:239
 AliAnalysisTaskESDfilter.cxx:240
 AliAnalysisTaskESDfilter.cxx:241
 AliAnalysisTaskESDfilter.cxx:242
 AliAnalysisTaskESDfilter.cxx:243
 AliAnalysisTaskESDfilter.cxx:244
 AliAnalysisTaskESDfilter.cxx:245
 AliAnalysisTaskESDfilter.cxx:246
 AliAnalysisTaskESDfilter.cxx:247
 AliAnalysisTaskESDfilter.cxx:248
 AliAnalysisTaskESDfilter.cxx:249
 AliAnalysisTaskESDfilter.cxx:250
 AliAnalysisTaskESDfilter.cxx:251
 AliAnalysisTaskESDfilter.cxx:252
 AliAnalysisTaskESDfilter.cxx:253
 AliAnalysisTaskESDfilter.cxx:254
 AliAnalysisTaskESDfilter.cxx:255
 AliAnalysisTaskESDfilter.cxx:256
 AliAnalysisTaskESDfilter.cxx:257
 AliAnalysisTaskESDfilter.cxx:258
 AliAnalysisTaskESDfilter.cxx:259
 AliAnalysisTaskESDfilter.cxx:260
 AliAnalysisTaskESDfilter.cxx:261
 AliAnalysisTaskESDfilter.cxx:262
 AliAnalysisTaskESDfilter.cxx:263
 AliAnalysisTaskESDfilter.cxx:264
 AliAnalysisTaskESDfilter.cxx:265
 AliAnalysisTaskESDfilter.cxx:266
 AliAnalysisTaskESDfilter.cxx:267
 AliAnalysisTaskESDfilter.cxx:268
 AliAnalysisTaskESDfilter.cxx:269
 AliAnalysisTaskESDfilter.cxx:270
 AliAnalysisTaskESDfilter.cxx:271
 AliAnalysisTaskESDfilter.cxx:272
 AliAnalysisTaskESDfilter.cxx:273
 AliAnalysisTaskESDfilter.cxx:274
 AliAnalysisTaskESDfilter.cxx:275
 AliAnalysisTaskESDfilter.cxx:276
 AliAnalysisTaskESDfilter.cxx:277
 AliAnalysisTaskESDfilter.cxx:278
 AliAnalysisTaskESDfilter.cxx:279
 AliAnalysisTaskESDfilter.cxx:280
 AliAnalysisTaskESDfilter.cxx:281
 AliAnalysisTaskESDfilter.cxx:282
 AliAnalysisTaskESDfilter.cxx:283
 AliAnalysisTaskESDfilter.cxx:284
 AliAnalysisTaskESDfilter.cxx:285
 AliAnalysisTaskESDfilter.cxx:286
 AliAnalysisTaskESDfilter.cxx:287
 AliAnalysisTaskESDfilter.cxx:288
 AliAnalysisTaskESDfilter.cxx:289
 AliAnalysisTaskESDfilter.cxx:290
 AliAnalysisTaskESDfilter.cxx:291
 AliAnalysisTaskESDfilter.cxx:292
 AliAnalysisTaskESDfilter.cxx:293
 AliAnalysisTaskESDfilter.cxx:294
 AliAnalysisTaskESDfilter.cxx:295
 AliAnalysisTaskESDfilter.cxx:296
 AliAnalysisTaskESDfilter.cxx:297
 AliAnalysisTaskESDfilter.cxx:298
 AliAnalysisTaskESDfilter.cxx:299
 AliAnalysisTaskESDfilter.cxx:300
 AliAnalysisTaskESDfilter.cxx:301
 AliAnalysisTaskESDfilter.cxx:302
 AliAnalysisTaskESDfilter.cxx:303
 AliAnalysisTaskESDfilter.cxx:304
 AliAnalysisTaskESDfilter.cxx:305
 AliAnalysisTaskESDfilter.cxx:306
 AliAnalysisTaskESDfilter.cxx:307
 AliAnalysisTaskESDfilter.cxx:308
 AliAnalysisTaskESDfilter.cxx:309
 AliAnalysisTaskESDfilter.cxx:310
 AliAnalysisTaskESDfilter.cxx:311
 AliAnalysisTaskESDfilter.cxx:312
 AliAnalysisTaskESDfilter.cxx:313
 AliAnalysisTaskESDfilter.cxx:314
 AliAnalysisTaskESDfilter.cxx:315
 AliAnalysisTaskESDfilter.cxx:316
 AliAnalysisTaskESDfilter.cxx:317
 AliAnalysisTaskESDfilter.cxx:318
 AliAnalysisTaskESDfilter.cxx:319
 AliAnalysisTaskESDfilter.cxx:320
 AliAnalysisTaskESDfilter.cxx:321
 AliAnalysisTaskESDfilter.cxx:322
 AliAnalysisTaskESDfilter.cxx:323
 AliAnalysisTaskESDfilter.cxx:324
 AliAnalysisTaskESDfilter.cxx:325
 AliAnalysisTaskESDfilter.cxx:326
 AliAnalysisTaskESDfilter.cxx:327
 AliAnalysisTaskESDfilter.cxx:328
 AliAnalysisTaskESDfilter.cxx:329
 AliAnalysisTaskESDfilter.cxx:330
 AliAnalysisTaskESDfilter.cxx:331
 AliAnalysisTaskESDfilter.cxx:332
 AliAnalysisTaskESDfilter.cxx:333
 AliAnalysisTaskESDfilter.cxx:334
 AliAnalysisTaskESDfilter.cxx:335
 AliAnalysisTaskESDfilter.cxx:336
 AliAnalysisTaskESDfilter.cxx:337
 AliAnalysisTaskESDfilter.cxx:338
 AliAnalysisTaskESDfilter.cxx:339
 AliAnalysisTaskESDfilter.cxx:340
 AliAnalysisTaskESDfilter.cxx:341
 AliAnalysisTaskESDfilter.cxx:342
 AliAnalysisTaskESDfilter.cxx:343
 AliAnalysisTaskESDfilter.cxx:344
 AliAnalysisTaskESDfilter.cxx:345
 AliAnalysisTaskESDfilter.cxx:346
 AliAnalysisTaskESDfilter.cxx:347
 AliAnalysisTaskESDfilter.cxx:348
 AliAnalysisTaskESDfilter.cxx:349
 AliAnalysisTaskESDfilter.cxx:350
 AliAnalysisTaskESDfilter.cxx:351
 AliAnalysisTaskESDfilter.cxx:352
 AliAnalysisTaskESDfilter.cxx:353
 AliAnalysisTaskESDfilter.cxx:354
 AliAnalysisTaskESDfilter.cxx:355
 AliAnalysisTaskESDfilter.cxx:356
 AliAnalysisTaskESDfilter.cxx:357
 AliAnalysisTaskESDfilter.cxx:358
 AliAnalysisTaskESDfilter.cxx:359
 AliAnalysisTaskESDfilter.cxx:360
 AliAnalysisTaskESDfilter.cxx:361
 AliAnalysisTaskESDfilter.cxx:362
 AliAnalysisTaskESDfilter.cxx:363
 AliAnalysisTaskESDfilter.cxx:364
 AliAnalysisTaskESDfilter.cxx:365
 AliAnalysisTaskESDfilter.cxx:366
 AliAnalysisTaskESDfilter.cxx:367
 AliAnalysisTaskESDfilter.cxx:368
 AliAnalysisTaskESDfilter.cxx:369
 AliAnalysisTaskESDfilter.cxx:370
 AliAnalysisTaskESDfilter.cxx:371
 AliAnalysisTaskESDfilter.cxx:372
 AliAnalysisTaskESDfilter.cxx:373
 AliAnalysisTaskESDfilter.cxx:374
 AliAnalysisTaskESDfilter.cxx:375
 AliAnalysisTaskESDfilter.cxx:376
 AliAnalysisTaskESDfilter.cxx:377
 AliAnalysisTaskESDfilter.cxx:378
 AliAnalysisTaskESDfilter.cxx:379
 AliAnalysisTaskESDfilter.cxx:380
 AliAnalysisTaskESDfilter.cxx:381
 AliAnalysisTaskESDfilter.cxx:382
 AliAnalysisTaskESDfilter.cxx:383
 AliAnalysisTaskESDfilter.cxx:384
 AliAnalysisTaskESDfilter.cxx:385
 AliAnalysisTaskESDfilter.cxx:386
 AliAnalysisTaskESDfilter.cxx:387
 AliAnalysisTaskESDfilter.cxx:388
 AliAnalysisTaskESDfilter.cxx:389
 AliAnalysisTaskESDfilter.cxx:390
 AliAnalysisTaskESDfilter.cxx:391
 AliAnalysisTaskESDfilter.cxx:392
 AliAnalysisTaskESDfilter.cxx:393
 AliAnalysisTaskESDfilter.cxx:394
 AliAnalysisTaskESDfilter.cxx:395
 AliAnalysisTaskESDfilter.cxx:396
 AliAnalysisTaskESDfilter.cxx:397
 AliAnalysisTaskESDfilter.cxx:398
 AliAnalysisTaskESDfilter.cxx:399
 AliAnalysisTaskESDfilter.cxx:400
 AliAnalysisTaskESDfilter.cxx:401
 AliAnalysisTaskESDfilter.cxx:402
 AliAnalysisTaskESDfilter.cxx:403
 AliAnalysisTaskESDfilter.cxx:404
 AliAnalysisTaskESDfilter.cxx:405
 AliAnalysisTaskESDfilter.cxx:406
 AliAnalysisTaskESDfilter.cxx:407
 AliAnalysisTaskESDfilter.cxx:408
 AliAnalysisTaskESDfilter.cxx:409
 AliAnalysisTaskESDfilter.cxx:410
 AliAnalysisTaskESDfilter.cxx:411
 AliAnalysisTaskESDfilter.cxx:412
 AliAnalysisTaskESDfilter.cxx:413
 AliAnalysisTaskESDfilter.cxx:414
 AliAnalysisTaskESDfilter.cxx:415
 AliAnalysisTaskESDfilter.cxx:416
 AliAnalysisTaskESDfilter.cxx:417
 AliAnalysisTaskESDfilter.cxx:418
 AliAnalysisTaskESDfilter.cxx:419
 AliAnalysisTaskESDfilter.cxx:420
 AliAnalysisTaskESDfilter.cxx:421
 AliAnalysisTaskESDfilter.cxx:422
 AliAnalysisTaskESDfilter.cxx:423
 AliAnalysisTaskESDfilter.cxx:424
 AliAnalysisTaskESDfilter.cxx:425
 AliAnalysisTaskESDfilter.cxx:426
 AliAnalysisTaskESDfilter.cxx:427
 AliAnalysisTaskESDfilter.cxx:428
 AliAnalysisTaskESDfilter.cxx:429
 AliAnalysisTaskESDfilter.cxx:430
 AliAnalysisTaskESDfilter.cxx:431
 AliAnalysisTaskESDfilter.cxx:432
 AliAnalysisTaskESDfilter.cxx:433
 AliAnalysisTaskESDfilter.cxx:434
 AliAnalysisTaskESDfilter.cxx:435
 AliAnalysisTaskESDfilter.cxx:436
 AliAnalysisTaskESDfilter.cxx:437
 AliAnalysisTaskESDfilter.cxx:438
 AliAnalysisTaskESDfilter.cxx:439
 AliAnalysisTaskESDfilter.cxx:440
 AliAnalysisTaskESDfilter.cxx:441
 AliAnalysisTaskESDfilter.cxx:442
 AliAnalysisTaskESDfilter.cxx:443
 AliAnalysisTaskESDfilter.cxx:444
 AliAnalysisTaskESDfilter.cxx:445
 AliAnalysisTaskESDfilter.cxx:446
 AliAnalysisTaskESDfilter.cxx:447
 AliAnalysisTaskESDfilter.cxx:448
 AliAnalysisTaskESDfilter.cxx:449
 AliAnalysisTaskESDfilter.cxx:450
 AliAnalysisTaskESDfilter.cxx:451
 AliAnalysisTaskESDfilter.cxx:452
 AliAnalysisTaskESDfilter.cxx:453
 AliAnalysisTaskESDfilter.cxx:454
 AliAnalysisTaskESDfilter.cxx:455
 AliAnalysisTaskESDfilter.cxx:456
 AliAnalysisTaskESDfilter.cxx:457
 AliAnalysisTaskESDfilter.cxx:458
 AliAnalysisTaskESDfilter.cxx:459
 AliAnalysisTaskESDfilter.cxx:460
 AliAnalysisTaskESDfilter.cxx:461
 AliAnalysisTaskESDfilter.cxx:462
 AliAnalysisTaskESDfilter.cxx:463
 AliAnalysisTaskESDfilter.cxx:464
 AliAnalysisTaskESDfilter.cxx:465
 AliAnalysisTaskESDfilter.cxx:466
 AliAnalysisTaskESDfilter.cxx:467
 AliAnalysisTaskESDfilter.cxx:468
 AliAnalysisTaskESDfilter.cxx:469
 AliAnalysisTaskESDfilter.cxx:470
 AliAnalysisTaskESDfilter.cxx:471
 AliAnalysisTaskESDfilter.cxx:472
 AliAnalysisTaskESDfilter.cxx:473
 AliAnalysisTaskESDfilter.cxx:474
 AliAnalysisTaskESDfilter.cxx:475
 AliAnalysisTaskESDfilter.cxx:476
 AliAnalysisTaskESDfilter.cxx:477
 AliAnalysisTaskESDfilter.cxx:478
 AliAnalysisTaskESDfilter.cxx:479
 AliAnalysisTaskESDfilter.cxx:480
 AliAnalysisTaskESDfilter.cxx:481
 AliAnalysisTaskESDfilter.cxx:482
 AliAnalysisTaskESDfilter.cxx:483
 AliAnalysisTaskESDfilter.cxx:484
 AliAnalysisTaskESDfilter.cxx:485
 AliAnalysisTaskESDfilter.cxx:486
 AliAnalysisTaskESDfilter.cxx:487
 AliAnalysisTaskESDfilter.cxx:488
 AliAnalysisTaskESDfilter.cxx:489
 AliAnalysisTaskESDfilter.cxx:490
 AliAnalysisTaskESDfilter.cxx:491
 AliAnalysisTaskESDfilter.cxx:492
 AliAnalysisTaskESDfilter.cxx:493
 AliAnalysisTaskESDfilter.cxx:494
 AliAnalysisTaskESDfilter.cxx:495
 AliAnalysisTaskESDfilter.cxx:496
 AliAnalysisTaskESDfilter.cxx:497
 AliAnalysisTaskESDfilter.cxx:498
 AliAnalysisTaskESDfilter.cxx:499
 AliAnalysisTaskESDfilter.cxx:500
 AliAnalysisTaskESDfilter.cxx:501
 AliAnalysisTaskESDfilter.cxx:502
 AliAnalysisTaskESDfilter.cxx:503
 AliAnalysisTaskESDfilter.cxx:504
 AliAnalysisTaskESDfilter.cxx:505
 AliAnalysisTaskESDfilter.cxx:506
 AliAnalysisTaskESDfilter.cxx:507
 AliAnalysisTaskESDfilter.cxx:508
 AliAnalysisTaskESDfilter.cxx:509
 AliAnalysisTaskESDfilter.cxx:510
 AliAnalysisTaskESDfilter.cxx:511
 AliAnalysisTaskESDfilter.cxx:512
 AliAnalysisTaskESDfilter.cxx:513
 AliAnalysisTaskESDfilter.cxx:514
 AliAnalysisTaskESDfilter.cxx:515
 AliAnalysisTaskESDfilter.cxx:516
 AliAnalysisTaskESDfilter.cxx:517
 AliAnalysisTaskESDfilter.cxx:518
 AliAnalysisTaskESDfilter.cxx:519
 AliAnalysisTaskESDfilter.cxx:520
 AliAnalysisTaskESDfilter.cxx:521
 AliAnalysisTaskESDfilter.cxx:522
 AliAnalysisTaskESDfilter.cxx:523
 AliAnalysisTaskESDfilter.cxx:524
 AliAnalysisTaskESDfilter.cxx:525
 AliAnalysisTaskESDfilter.cxx:526
 AliAnalysisTaskESDfilter.cxx:527
 AliAnalysisTaskESDfilter.cxx:528
 AliAnalysisTaskESDfilter.cxx:529
 AliAnalysisTaskESDfilter.cxx:530
 AliAnalysisTaskESDfilter.cxx:531
 AliAnalysisTaskESDfilter.cxx:532
 AliAnalysisTaskESDfilter.cxx:533
 AliAnalysisTaskESDfilter.cxx:534
 AliAnalysisTaskESDfilter.cxx:535
 AliAnalysisTaskESDfilter.cxx:536
 AliAnalysisTaskESDfilter.cxx:537
 AliAnalysisTaskESDfilter.cxx:538
 AliAnalysisTaskESDfilter.cxx:539
 AliAnalysisTaskESDfilter.cxx:540
 AliAnalysisTaskESDfilter.cxx:541
 AliAnalysisTaskESDfilter.cxx:542
 AliAnalysisTaskESDfilter.cxx:543
 AliAnalysisTaskESDfilter.cxx:544
 AliAnalysisTaskESDfilter.cxx:545
 AliAnalysisTaskESDfilter.cxx:546
 AliAnalysisTaskESDfilter.cxx:547
 AliAnalysisTaskESDfilter.cxx:548
 AliAnalysisTaskESDfilter.cxx:549
 AliAnalysisTaskESDfilter.cxx:550
 AliAnalysisTaskESDfilter.cxx:551
 AliAnalysisTaskESDfilter.cxx:552
 AliAnalysisTaskESDfilter.cxx:553
 AliAnalysisTaskESDfilter.cxx:554
 AliAnalysisTaskESDfilter.cxx:555
 AliAnalysisTaskESDfilter.cxx:556
 AliAnalysisTaskESDfilter.cxx:557
 AliAnalysisTaskESDfilter.cxx:558
 AliAnalysisTaskESDfilter.cxx:559
 AliAnalysisTaskESDfilter.cxx:560
 AliAnalysisTaskESDfilter.cxx:561
 AliAnalysisTaskESDfilter.cxx:562
 AliAnalysisTaskESDfilter.cxx:563
 AliAnalysisTaskESDfilter.cxx:564
 AliAnalysisTaskESDfilter.cxx:565
 AliAnalysisTaskESDfilter.cxx:566
 AliAnalysisTaskESDfilter.cxx:567
 AliAnalysisTaskESDfilter.cxx:568
 AliAnalysisTaskESDfilter.cxx:569
 AliAnalysisTaskESDfilter.cxx:570
 AliAnalysisTaskESDfilter.cxx:571
 AliAnalysisTaskESDfilter.cxx:572
 AliAnalysisTaskESDfilter.cxx:573
 AliAnalysisTaskESDfilter.cxx:574
 AliAnalysisTaskESDfilter.cxx:575
 AliAnalysisTaskESDfilter.cxx:576
 AliAnalysisTaskESDfilter.cxx:577
 AliAnalysisTaskESDfilter.cxx:578
 AliAnalysisTaskESDfilter.cxx:579
 AliAnalysisTaskESDfilter.cxx:580
 AliAnalysisTaskESDfilter.cxx:581
 AliAnalysisTaskESDfilter.cxx:582
 AliAnalysisTaskESDfilter.cxx:583
 AliAnalysisTaskESDfilter.cxx:584
 AliAnalysisTaskESDfilter.cxx:585
 AliAnalysisTaskESDfilter.cxx:586
 AliAnalysisTaskESDfilter.cxx:587
 AliAnalysisTaskESDfilter.cxx:588
 AliAnalysisTaskESDfilter.cxx:589
 AliAnalysisTaskESDfilter.cxx:590
 AliAnalysisTaskESDfilter.cxx:591
 AliAnalysisTaskESDfilter.cxx:592
 AliAnalysisTaskESDfilter.cxx:593
 AliAnalysisTaskESDfilter.cxx:594
 AliAnalysisTaskESDfilter.cxx:595
 AliAnalysisTaskESDfilter.cxx:596
 AliAnalysisTaskESDfilter.cxx:597
 AliAnalysisTaskESDfilter.cxx:598
 AliAnalysisTaskESDfilter.cxx:599
 AliAnalysisTaskESDfilter.cxx:600
 AliAnalysisTaskESDfilter.cxx:601
 AliAnalysisTaskESDfilter.cxx:602
 AliAnalysisTaskESDfilter.cxx:603
 AliAnalysisTaskESDfilter.cxx:604
 AliAnalysisTaskESDfilter.cxx:605
 AliAnalysisTaskESDfilter.cxx:606
 AliAnalysisTaskESDfilter.cxx:607
 AliAnalysisTaskESDfilter.cxx:608
 AliAnalysisTaskESDfilter.cxx:609
 AliAnalysisTaskESDfilter.cxx:610
 AliAnalysisTaskESDfilter.cxx:611
 AliAnalysisTaskESDfilter.cxx:612
 AliAnalysisTaskESDfilter.cxx:613
 AliAnalysisTaskESDfilter.cxx:614
 AliAnalysisTaskESDfilter.cxx:615
 AliAnalysisTaskESDfilter.cxx:616
 AliAnalysisTaskESDfilter.cxx:617
 AliAnalysisTaskESDfilter.cxx:618
 AliAnalysisTaskESDfilter.cxx:619
 AliAnalysisTaskESDfilter.cxx:620
 AliAnalysisTaskESDfilter.cxx:621
 AliAnalysisTaskESDfilter.cxx:622
 AliAnalysisTaskESDfilter.cxx:623
 AliAnalysisTaskESDfilter.cxx:624
 AliAnalysisTaskESDfilter.cxx:625
 AliAnalysisTaskESDfilter.cxx:626
 AliAnalysisTaskESDfilter.cxx:627
 AliAnalysisTaskESDfilter.cxx:628
 AliAnalysisTaskESDfilter.cxx:629
 AliAnalysisTaskESDfilter.cxx:630
 AliAnalysisTaskESDfilter.cxx:631
 AliAnalysisTaskESDfilter.cxx:632
 AliAnalysisTaskESDfilter.cxx:633
 AliAnalysisTaskESDfilter.cxx:634
 AliAnalysisTaskESDfilter.cxx:635
 AliAnalysisTaskESDfilter.cxx:636
 AliAnalysisTaskESDfilter.cxx:637
 AliAnalysisTaskESDfilter.cxx:638
 AliAnalysisTaskESDfilter.cxx:639
 AliAnalysisTaskESDfilter.cxx:640
 AliAnalysisTaskESDfilter.cxx:641
 AliAnalysisTaskESDfilter.cxx:642
 AliAnalysisTaskESDfilter.cxx:643
 AliAnalysisTaskESDfilter.cxx:644
 AliAnalysisTaskESDfilter.cxx:645
 AliAnalysisTaskESDfilter.cxx:646
 AliAnalysisTaskESDfilter.cxx:647
 AliAnalysisTaskESDfilter.cxx:648
 AliAnalysisTaskESDfilter.cxx:649
 AliAnalysisTaskESDfilter.cxx:650
 AliAnalysisTaskESDfilter.cxx:651
 AliAnalysisTaskESDfilter.cxx:652
 AliAnalysisTaskESDfilter.cxx:653
 AliAnalysisTaskESDfilter.cxx:654
 AliAnalysisTaskESDfilter.cxx:655
 AliAnalysisTaskESDfilter.cxx:656
 AliAnalysisTaskESDfilter.cxx:657
 AliAnalysisTaskESDfilter.cxx:658
 AliAnalysisTaskESDfilter.cxx:659
 AliAnalysisTaskESDfilter.cxx:660
 AliAnalysisTaskESDfilter.cxx:661
 AliAnalysisTaskESDfilter.cxx:662
 AliAnalysisTaskESDfilter.cxx:663
 AliAnalysisTaskESDfilter.cxx:664
 AliAnalysisTaskESDfilter.cxx:665
 AliAnalysisTaskESDfilter.cxx:666
 AliAnalysisTaskESDfilter.cxx:667
 AliAnalysisTaskESDfilter.cxx:668
 AliAnalysisTaskESDfilter.cxx:669
 AliAnalysisTaskESDfilter.cxx:670
 AliAnalysisTaskESDfilter.cxx:671
 AliAnalysisTaskESDfilter.cxx:672
 AliAnalysisTaskESDfilter.cxx:673
 AliAnalysisTaskESDfilter.cxx:674
 AliAnalysisTaskESDfilter.cxx:675
 AliAnalysisTaskESDfilter.cxx:676
 AliAnalysisTaskESDfilter.cxx:677
 AliAnalysisTaskESDfilter.cxx:678
 AliAnalysisTaskESDfilter.cxx:679
 AliAnalysisTaskESDfilter.cxx:680
 AliAnalysisTaskESDfilter.cxx:681
 AliAnalysisTaskESDfilter.cxx:682
 AliAnalysisTaskESDfilter.cxx:683
 AliAnalysisTaskESDfilter.cxx:684
 AliAnalysisTaskESDfilter.cxx:685
 AliAnalysisTaskESDfilter.cxx:686
 AliAnalysisTaskESDfilter.cxx:687
 AliAnalysisTaskESDfilter.cxx:688
 AliAnalysisTaskESDfilter.cxx:689
 AliAnalysisTaskESDfilter.cxx:690
 AliAnalysisTaskESDfilter.cxx:691
 AliAnalysisTaskESDfilter.cxx:692
 AliAnalysisTaskESDfilter.cxx:693
 AliAnalysisTaskESDfilter.cxx:694
 AliAnalysisTaskESDfilter.cxx:695
 AliAnalysisTaskESDfilter.cxx:696
 AliAnalysisTaskESDfilter.cxx:697
 AliAnalysisTaskESDfilter.cxx:698
 AliAnalysisTaskESDfilter.cxx:699
 AliAnalysisTaskESDfilter.cxx:700
 AliAnalysisTaskESDfilter.cxx:701
 AliAnalysisTaskESDfilter.cxx:702
 AliAnalysisTaskESDfilter.cxx:703
 AliAnalysisTaskESDfilter.cxx:704
 AliAnalysisTaskESDfilter.cxx:705
 AliAnalysisTaskESDfilter.cxx:706
 AliAnalysisTaskESDfilter.cxx:707
 AliAnalysisTaskESDfilter.cxx:708
 AliAnalysisTaskESDfilter.cxx:709
 AliAnalysisTaskESDfilter.cxx:710
 AliAnalysisTaskESDfilter.cxx:711
 AliAnalysisTaskESDfilter.cxx:712
 AliAnalysisTaskESDfilter.cxx:713
 AliAnalysisTaskESDfilter.cxx:714
 AliAnalysisTaskESDfilter.cxx:715
 AliAnalysisTaskESDfilter.cxx:716
 AliAnalysisTaskESDfilter.cxx:717
 AliAnalysisTaskESDfilter.cxx:718
 AliAnalysisTaskESDfilter.cxx:719
 AliAnalysisTaskESDfilter.cxx:720
 AliAnalysisTaskESDfilter.cxx:721
 AliAnalysisTaskESDfilter.cxx:722
 AliAnalysisTaskESDfilter.cxx:723
 AliAnalysisTaskESDfilter.cxx:724
 AliAnalysisTaskESDfilter.cxx:725
 AliAnalysisTaskESDfilter.cxx:726
 AliAnalysisTaskESDfilter.cxx:727
 AliAnalysisTaskESDfilter.cxx:728
 AliAnalysisTaskESDfilter.cxx:729
 AliAnalysisTaskESDfilter.cxx:730
 AliAnalysisTaskESDfilter.cxx:731
 AliAnalysisTaskESDfilter.cxx:732
 AliAnalysisTaskESDfilter.cxx:733
 AliAnalysisTaskESDfilter.cxx:734
 AliAnalysisTaskESDfilter.cxx:735
 AliAnalysisTaskESDfilter.cxx:736
 AliAnalysisTaskESDfilter.cxx:737
 AliAnalysisTaskESDfilter.cxx:738
 AliAnalysisTaskESDfilter.cxx:739
 AliAnalysisTaskESDfilter.cxx:740
 AliAnalysisTaskESDfilter.cxx:741
 AliAnalysisTaskESDfilter.cxx:742
 AliAnalysisTaskESDfilter.cxx:743
 AliAnalysisTaskESDfilter.cxx:744
 AliAnalysisTaskESDfilter.cxx:745
 AliAnalysisTaskESDfilter.cxx:746
 AliAnalysisTaskESDfilter.cxx:747
 AliAnalysisTaskESDfilter.cxx:748
 AliAnalysisTaskESDfilter.cxx:749
 AliAnalysisTaskESDfilter.cxx:750
 AliAnalysisTaskESDfilter.cxx:751
 AliAnalysisTaskESDfilter.cxx:752
 AliAnalysisTaskESDfilter.cxx:753
 AliAnalysisTaskESDfilter.cxx:754
 AliAnalysisTaskESDfilter.cxx:755
 AliAnalysisTaskESDfilter.cxx:756
 AliAnalysisTaskESDfilter.cxx:757
 AliAnalysisTaskESDfilter.cxx:758
 AliAnalysisTaskESDfilter.cxx:759
 AliAnalysisTaskESDfilter.cxx:760
 AliAnalysisTaskESDfilter.cxx:761
 AliAnalysisTaskESDfilter.cxx:762
 AliAnalysisTaskESDfilter.cxx:763
 AliAnalysisTaskESDfilter.cxx:764
 AliAnalysisTaskESDfilter.cxx:765
 AliAnalysisTaskESDfilter.cxx:766
 AliAnalysisTaskESDfilter.cxx:767
 AliAnalysisTaskESDfilter.cxx:768
 AliAnalysisTaskESDfilter.cxx:769
 AliAnalysisTaskESDfilter.cxx:770
 AliAnalysisTaskESDfilter.cxx:771
 AliAnalysisTaskESDfilter.cxx:772
 AliAnalysisTaskESDfilter.cxx:773
 AliAnalysisTaskESDfilter.cxx:774
 AliAnalysisTaskESDfilter.cxx:775
 AliAnalysisTaskESDfilter.cxx:776
 AliAnalysisTaskESDfilter.cxx:777
 AliAnalysisTaskESDfilter.cxx:778
 AliAnalysisTaskESDfilter.cxx:779
 AliAnalysisTaskESDfilter.cxx:780
 AliAnalysisTaskESDfilter.cxx:781
 AliAnalysisTaskESDfilter.cxx:782
 AliAnalysisTaskESDfilter.cxx:783
 AliAnalysisTaskESDfilter.cxx:784
 AliAnalysisTaskESDfilter.cxx:785
 AliAnalysisTaskESDfilter.cxx:786
 AliAnalysisTaskESDfilter.cxx:787
 AliAnalysisTaskESDfilter.cxx:788
 AliAnalysisTaskESDfilter.cxx:789
 AliAnalysisTaskESDfilter.cxx:790
 AliAnalysisTaskESDfilter.cxx:791
 AliAnalysisTaskESDfilter.cxx:792
 AliAnalysisTaskESDfilter.cxx:793
 AliAnalysisTaskESDfilter.cxx:794
 AliAnalysisTaskESDfilter.cxx:795
 AliAnalysisTaskESDfilter.cxx:796
 AliAnalysisTaskESDfilter.cxx:797
 AliAnalysisTaskESDfilter.cxx:798
 AliAnalysisTaskESDfilter.cxx:799
 AliAnalysisTaskESDfilter.cxx:800
 AliAnalysisTaskESDfilter.cxx:801
 AliAnalysisTaskESDfilter.cxx:802
 AliAnalysisTaskESDfilter.cxx:803
 AliAnalysisTaskESDfilter.cxx:804
 AliAnalysisTaskESDfilter.cxx:805
 AliAnalysisTaskESDfilter.cxx:806
 AliAnalysisTaskESDfilter.cxx:807
 AliAnalysisTaskESDfilter.cxx:808
 AliAnalysisTaskESDfilter.cxx:809
 AliAnalysisTaskESDfilter.cxx:810
 AliAnalysisTaskESDfilter.cxx:811
 AliAnalysisTaskESDfilter.cxx:812
 AliAnalysisTaskESDfilter.cxx:813
 AliAnalysisTaskESDfilter.cxx:814
 AliAnalysisTaskESDfilter.cxx:815
 AliAnalysisTaskESDfilter.cxx:816
 AliAnalysisTaskESDfilter.cxx:817
 AliAnalysisTaskESDfilter.cxx:818
 AliAnalysisTaskESDfilter.cxx:819
 AliAnalysisTaskESDfilter.cxx:820
 AliAnalysisTaskESDfilter.cxx:821
 AliAnalysisTaskESDfilter.cxx:822
 AliAnalysisTaskESDfilter.cxx:823
 AliAnalysisTaskESDfilter.cxx:824
 AliAnalysisTaskESDfilter.cxx:825
 AliAnalysisTaskESDfilter.cxx:826
 AliAnalysisTaskESDfilter.cxx:827
 AliAnalysisTaskESDfilter.cxx:828
 AliAnalysisTaskESDfilter.cxx:829
 AliAnalysisTaskESDfilter.cxx:830
 AliAnalysisTaskESDfilter.cxx:831
 AliAnalysisTaskESDfilter.cxx:832
 AliAnalysisTaskESDfilter.cxx:833
 AliAnalysisTaskESDfilter.cxx:834
 AliAnalysisTaskESDfilter.cxx:835
 AliAnalysisTaskESDfilter.cxx:836
 AliAnalysisTaskESDfilter.cxx:837
 AliAnalysisTaskESDfilter.cxx:838
 AliAnalysisTaskESDfilter.cxx:839
 AliAnalysisTaskESDfilter.cxx:840
 AliAnalysisTaskESDfilter.cxx:841
 AliAnalysisTaskESDfilter.cxx:842
 AliAnalysisTaskESDfilter.cxx:843
 AliAnalysisTaskESDfilter.cxx:844
 AliAnalysisTaskESDfilter.cxx:845
 AliAnalysisTaskESDfilter.cxx:846
 AliAnalysisTaskESDfilter.cxx:847
 AliAnalysisTaskESDfilter.cxx:848
 AliAnalysisTaskESDfilter.cxx:849
 AliAnalysisTaskESDfilter.cxx:850
 AliAnalysisTaskESDfilter.cxx:851
 AliAnalysisTaskESDfilter.cxx:852
 AliAnalysisTaskESDfilter.cxx:853
 AliAnalysisTaskESDfilter.cxx:854
 AliAnalysisTaskESDfilter.cxx:855
 AliAnalysisTaskESDfilter.cxx:856
 AliAnalysisTaskESDfilter.cxx:857
 AliAnalysisTaskESDfilter.cxx:858
 AliAnalysisTaskESDfilter.cxx:859
 AliAnalysisTaskESDfilter.cxx:860
 AliAnalysisTaskESDfilter.cxx:861
 AliAnalysisTaskESDfilter.cxx:862
 AliAnalysisTaskESDfilter.cxx:863
 AliAnalysisTaskESDfilter.cxx:864
 AliAnalysisTaskESDfilter.cxx:865
 AliAnalysisTaskESDfilter.cxx:866
 AliAnalysisTaskESDfilter.cxx:867
 AliAnalysisTaskESDfilter.cxx:868
 AliAnalysisTaskESDfilter.cxx:869
 AliAnalysisTaskESDfilter.cxx:870
 AliAnalysisTaskESDfilter.cxx:871
 AliAnalysisTaskESDfilter.cxx:872
 AliAnalysisTaskESDfilter.cxx:873
 AliAnalysisTaskESDfilter.cxx:874
 AliAnalysisTaskESDfilter.cxx:875
 AliAnalysisTaskESDfilter.cxx:876
 AliAnalysisTaskESDfilter.cxx:877
 AliAnalysisTaskESDfilter.cxx:878
 AliAnalysisTaskESDfilter.cxx:879
 AliAnalysisTaskESDfilter.cxx:880
 AliAnalysisTaskESDfilter.cxx:881
 AliAnalysisTaskESDfilter.cxx:882
 AliAnalysisTaskESDfilter.cxx:883
 AliAnalysisTaskESDfilter.cxx:884
 AliAnalysisTaskESDfilter.cxx:885
 AliAnalysisTaskESDfilter.cxx:886
 AliAnalysisTaskESDfilter.cxx:887
 AliAnalysisTaskESDfilter.cxx:888
 AliAnalysisTaskESDfilter.cxx:889
 AliAnalysisTaskESDfilter.cxx:890
 AliAnalysisTaskESDfilter.cxx:891
 AliAnalysisTaskESDfilter.cxx:892
 AliAnalysisTaskESDfilter.cxx:893
 AliAnalysisTaskESDfilter.cxx:894
 AliAnalysisTaskESDfilter.cxx:895
 AliAnalysisTaskESDfilter.cxx:896
 AliAnalysisTaskESDfilter.cxx:897
 AliAnalysisTaskESDfilter.cxx:898
 AliAnalysisTaskESDfilter.cxx:899
 AliAnalysisTaskESDfilter.cxx:900
 AliAnalysisTaskESDfilter.cxx:901
 AliAnalysisTaskESDfilter.cxx:902
 AliAnalysisTaskESDfilter.cxx:903
 AliAnalysisTaskESDfilter.cxx:904
 AliAnalysisTaskESDfilter.cxx:905
 AliAnalysisTaskESDfilter.cxx:906
 AliAnalysisTaskESDfilter.cxx:907
 AliAnalysisTaskESDfilter.cxx:908
 AliAnalysisTaskESDfilter.cxx:909
 AliAnalysisTaskESDfilter.cxx:910
 AliAnalysisTaskESDfilter.cxx:911
 AliAnalysisTaskESDfilter.cxx:912
 AliAnalysisTaskESDfilter.cxx:913
 AliAnalysisTaskESDfilter.cxx:914
 AliAnalysisTaskESDfilter.cxx:915
 AliAnalysisTaskESDfilter.cxx:916
 AliAnalysisTaskESDfilter.cxx:917
 AliAnalysisTaskESDfilter.cxx:918
 AliAnalysisTaskESDfilter.cxx:919
 AliAnalysisTaskESDfilter.cxx:920
 AliAnalysisTaskESDfilter.cxx:921
 AliAnalysisTaskESDfilter.cxx:922
 AliAnalysisTaskESDfilter.cxx:923
 AliAnalysisTaskESDfilter.cxx:924
 AliAnalysisTaskESDfilter.cxx:925
 AliAnalysisTaskESDfilter.cxx:926
 AliAnalysisTaskESDfilter.cxx:927
 AliAnalysisTaskESDfilter.cxx:928
 AliAnalysisTaskESDfilter.cxx:929
 AliAnalysisTaskESDfilter.cxx:930
 AliAnalysisTaskESDfilter.cxx:931
 AliAnalysisTaskESDfilter.cxx:932
 AliAnalysisTaskESDfilter.cxx:933
 AliAnalysisTaskESDfilter.cxx:934
 AliAnalysisTaskESDfilter.cxx:935
 AliAnalysisTaskESDfilter.cxx:936
 AliAnalysisTaskESDfilter.cxx:937
 AliAnalysisTaskESDfilter.cxx:938
 AliAnalysisTaskESDfilter.cxx:939
 AliAnalysisTaskESDfilter.cxx:940
 AliAnalysisTaskESDfilter.cxx:941
 AliAnalysisTaskESDfilter.cxx:942
 AliAnalysisTaskESDfilter.cxx:943
 AliAnalysisTaskESDfilter.cxx:944
 AliAnalysisTaskESDfilter.cxx:945
 AliAnalysisTaskESDfilter.cxx:946
 AliAnalysisTaskESDfilter.cxx:947
 AliAnalysisTaskESDfilter.cxx:948
 AliAnalysisTaskESDfilter.cxx:949
 AliAnalysisTaskESDfilter.cxx:950
 AliAnalysisTaskESDfilter.cxx:951
 AliAnalysisTaskESDfilter.cxx:952
 AliAnalysisTaskESDfilter.cxx:953
 AliAnalysisTaskESDfilter.cxx:954
 AliAnalysisTaskESDfilter.cxx:955
 AliAnalysisTaskESDfilter.cxx:956
 AliAnalysisTaskESDfilter.cxx:957
 AliAnalysisTaskESDfilter.cxx:958
 AliAnalysisTaskESDfilter.cxx:959
 AliAnalysisTaskESDfilter.cxx:960
 AliAnalysisTaskESDfilter.cxx:961
 AliAnalysisTaskESDfilter.cxx:962
 AliAnalysisTaskESDfilter.cxx:963
 AliAnalysisTaskESDfilter.cxx:964
 AliAnalysisTaskESDfilter.cxx:965
 AliAnalysisTaskESDfilter.cxx:966
 AliAnalysisTaskESDfilter.cxx:967
 AliAnalysisTaskESDfilter.cxx:968
 AliAnalysisTaskESDfilter.cxx:969
 AliAnalysisTaskESDfilter.cxx:970
 AliAnalysisTaskESDfilter.cxx:971
 AliAnalysisTaskESDfilter.cxx:972
 AliAnalysisTaskESDfilter.cxx:973
 AliAnalysisTaskESDfilter.cxx:974
 AliAnalysisTaskESDfilter.cxx:975
 AliAnalysisTaskESDfilter.cxx:976
 AliAnalysisTaskESDfilter.cxx:977
 AliAnalysisTaskESDfilter.cxx:978
 AliAnalysisTaskESDfilter.cxx:979
 AliAnalysisTaskESDfilter.cxx:980
 AliAnalysisTaskESDfilter.cxx:981
 AliAnalysisTaskESDfilter.cxx:982
 AliAnalysisTaskESDfilter.cxx:983
 AliAnalysisTaskESDfilter.cxx:984
 AliAnalysisTaskESDfilter.cxx:985
 AliAnalysisTaskESDfilter.cxx:986
 AliAnalysisTaskESDfilter.cxx:987
 AliAnalysisTaskESDfilter.cxx:988
 AliAnalysisTaskESDfilter.cxx:989
 AliAnalysisTaskESDfilter.cxx:990
 AliAnalysisTaskESDfilter.cxx:991
 AliAnalysisTaskESDfilter.cxx:992
 AliAnalysisTaskESDfilter.cxx:993
 AliAnalysisTaskESDfilter.cxx:994
 AliAnalysisTaskESDfilter.cxx:995
 AliAnalysisTaskESDfilter.cxx:996
 AliAnalysisTaskESDfilter.cxx:997
 AliAnalysisTaskESDfilter.cxx:998
 AliAnalysisTaskESDfilter.cxx:999
 AliAnalysisTaskESDfilter.cxx:1000
 AliAnalysisTaskESDfilter.cxx:1001
 AliAnalysisTaskESDfilter.cxx:1002
 AliAnalysisTaskESDfilter.cxx:1003
 AliAnalysisTaskESDfilter.cxx:1004
 AliAnalysisTaskESDfilter.cxx:1005
 AliAnalysisTaskESDfilter.cxx:1006
 AliAnalysisTaskESDfilter.cxx:1007
 AliAnalysisTaskESDfilter.cxx:1008
 AliAnalysisTaskESDfilter.cxx:1009
 AliAnalysisTaskESDfilter.cxx:1010
 AliAnalysisTaskESDfilter.cxx:1011
 AliAnalysisTaskESDfilter.cxx:1012
 AliAnalysisTaskESDfilter.cxx:1013
 AliAnalysisTaskESDfilter.cxx:1014
 AliAnalysisTaskESDfilter.cxx:1015
 AliAnalysisTaskESDfilter.cxx:1016
 AliAnalysisTaskESDfilter.cxx:1017
 AliAnalysisTaskESDfilter.cxx:1018
 AliAnalysisTaskESDfilter.cxx:1019
 AliAnalysisTaskESDfilter.cxx:1020
 AliAnalysisTaskESDfilter.cxx:1021
 AliAnalysisTaskESDfilter.cxx:1022
 AliAnalysisTaskESDfilter.cxx:1023
 AliAnalysisTaskESDfilter.cxx:1024
 AliAnalysisTaskESDfilter.cxx:1025
 AliAnalysisTaskESDfilter.cxx:1026
 AliAnalysisTaskESDfilter.cxx:1027
 AliAnalysisTaskESDfilter.cxx:1028
 AliAnalysisTaskESDfilter.cxx:1029
 AliAnalysisTaskESDfilter.cxx:1030
 AliAnalysisTaskESDfilter.cxx:1031
 AliAnalysisTaskESDfilter.cxx:1032
 AliAnalysisTaskESDfilter.cxx:1033
 AliAnalysisTaskESDfilter.cxx:1034
 AliAnalysisTaskESDfilter.cxx:1035
 AliAnalysisTaskESDfilter.cxx:1036
 AliAnalysisTaskESDfilter.cxx:1037
 AliAnalysisTaskESDfilter.cxx:1038
 AliAnalysisTaskESDfilter.cxx:1039
 AliAnalysisTaskESDfilter.cxx:1040
 AliAnalysisTaskESDfilter.cxx:1041
 AliAnalysisTaskESDfilter.cxx:1042
 AliAnalysisTaskESDfilter.cxx:1043
 AliAnalysisTaskESDfilter.cxx:1044
 AliAnalysisTaskESDfilter.cxx:1045
 AliAnalysisTaskESDfilter.cxx:1046
 AliAnalysisTaskESDfilter.cxx:1047
 AliAnalysisTaskESDfilter.cxx:1048
 AliAnalysisTaskESDfilter.cxx:1049
 AliAnalysisTaskESDfilter.cxx:1050
 AliAnalysisTaskESDfilter.cxx:1051
 AliAnalysisTaskESDfilter.cxx:1052
 AliAnalysisTaskESDfilter.cxx:1053
 AliAnalysisTaskESDfilter.cxx:1054
 AliAnalysisTaskESDfilter.cxx:1055
 AliAnalysisTaskESDfilter.cxx:1056
 AliAnalysisTaskESDfilter.cxx:1057
 AliAnalysisTaskESDfilter.cxx:1058
 AliAnalysisTaskESDfilter.cxx:1059
 AliAnalysisTaskESDfilter.cxx:1060
 AliAnalysisTaskESDfilter.cxx:1061
 AliAnalysisTaskESDfilter.cxx:1062
 AliAnalysisTaskESDfilter.cxx:1063
 AliAnalysisTaskESDfilter.cxx:1064
 AliAnalysisTaskESDfilter.cxx:1065
 AliAnalysisTaskESDfilter.cxx:1066
 AliAnalysisTaskESDfilter.cxx:1067
 AliAnalysisTaskESDfilter.cxx:1068
 AliAnalysisTaskESDfilter.cxx:1069
 AliAnalysisTaskESDfilter.cxx:1070
 AliAnalysisTaskESDfilter.cxx:1071
 AliAnalysisTaskESDfilter.cxx:1072
 AliAnalysisTaskESDfilter.cxx:1073
 AliAnalysisTaskESDfilter.cxx:1074
 AliAnalysisTaskESDfilter.cxx:1075
 AliAnalysisTaskESDfilter.cxx:1076
 AliAnalysisTaskESDfilter.cxx:1077
 AliAnalysisTaskESDfilter.cxx:1078
 AliAnalysisTaskESDfilter.cxx:1079
 AliAnalysisTaskESDfilter.cxx:1080
 AliAnalysisTaskESDfilter.cxx:1081
 AliAnalysisTaskESDfilter.cxx:1082
 AliAnalysisTaskESDfilter.cxx:1083
 AliAnalysisTaskESDfilter.cxx:1084
 AliAnalysisTaskESDfilter.cxx:1085
 AliAnalysisTaskESDfilter.cxx:1086
 AliAnalysisTaskESDfilter.cxx:1087
 AliAnalysisTaskESDfilter.cxx:1088
 AliAnalysisTaskESDfilter.cxx:1089
 AliAnalysisTaskESDfilter.cxx:1090
 AliAnalysisTaskESDfilter.cxx:1091
 AliAnalysisTaskESDfilter.cxx:1092
 AliAnalysisTaskESDfilter.cxx:1093
 AliAnalysisTaskESDfilter.cxx:1094
 AliAnalysisTaskESDfilter.cxx:1095
 AliAnalysisTaskESDfilter.cxx:1096
 AliAnalysisTaskESDfilter.cxx:1097
 AliAnalysisTaskESDfilter.cxx:1098
 AliAnalysisTaskESDfilter.cxx:1099
 AliAnalysisTaskESDfilter.cxx:1100
 AliAnalysisTaskESDfilter.cxx:1101
 AliAnalysisTaskESDfilter.cxx:1102
 AliAnalysisTaskESDfilter.cxx:1103
 AliAnalysisTaskESDfilter.cxx:1104
 AliAnalysisTaskESDfilter.cxx:1105
 AliAnalysisTaskESDfilter.cxx:1106
 AliAnalysisTaskESDfilter.cxx:1107
 AliAnalysisTaskESDfilter.cxx:1108
 AliAnalysisTaskESDfilter.cxx:1109
 AliAnalysisTaskESDfilter.cxx:1110
 AliAnalysisTaskESDfilter.cxx:1111
 AliAnalysisTaskESDfilter.cxx:1112
 AliAnalysisTaskESDfilter.cxx:1113
 AliAnalysisTaskESDfilter.cxx:1114
 AliAnalysisTaskESDfilter.cxx:1115
 AliAnalysisTaskESDfilter.cxx:1116
 AliAnalysisTaskESDfilter.cxx:1117
 AliAnalysisTaskESDfilter.cxx:1118
 AliAnalysisTaskESDfilter.cxx:1119
 AliAnalysisTaskESDfilter.cxx:1120
 AliAnalysisTaskESDfilter.cxx:1121
 AliAnalysisTaskESDfilter.cxx:1122
 AliAnalysisTaskESDfilter.cxx:1123
 AliAnalysisTaskESDfilter.cxx:1124
 AliAnalysisTaskESDfilter.cxx:1125
 AliAnalysisTaskESDfilter.cxx:1126
 AliAnalysisTaskESDfilter.cxx:1127
 AliAnalysisTaskESDfilter.cxx:1128
 AliAnalysisTaskESDfilter.cxx:1129
 AliAnalysisTaskESDfilter.cxx:1130
 AliAnalysisTaskESDfilter.cxx:1131
 AliAnalysisTaskESDfilter.cxx:1132
 AliAnalysisTaskESDfilter.cxx:1133
 AliAnalysisTaskESDfilter.cxx:1134
 AliAnalysisTaskESDfilter.cxx:1135
 AliAnalysisTaskESDfilter.cxx:1136
 AliAnalysisTaskESDfilter.cxx:1137
 AliAnalysisTaskESDfilter.cxx:1138
 AliAnalysisTaskESDfilter.cxx:1139
 AliAnalysisTaskESDfilter.cxx:1140
 AliAnalysisTaskESDfilter.cxx:1141
 AliAnalysisTaskESDfilter.cxx:1142
 AliAnalysisTaskESDfilter.cxx:1143
 AliAnalysisTaskESDfilter.cxx:1144
 AliAnalysisTaskESDfilter.cxx:1145
 AliAnalysisTaskESDfilter.cxx:1146
 AliAnalysisTaskESDfilter.cxx:1147
 AliAnalysisTaskESDfilter.cxx:1148
 AliAnalysisTaskESDfilter.cxx:1149
 AliAnalysisTaskESDfilter.cxx:1150
 AliAnalysisTaskESDfilter.cxx:1151
 AliAnalysisTaskESDfilter.cxx:1152
 AliAnalysisTaskESDfilter.cxx:1153
 AliAnalysisTaskESDfilter.cxx:1154
 AliAnalysisTaskESDfilter.cxx:1155
 AliAnalysisTaskESDfilter.cxx:1156
 AliAnalysisTaskESDfilter.cxx:1157
 AliAnalysisTaskESDfilter.cxx:1158
 AliAnalysisTaskESDfilter.cxx:1159
 AliAnalysisTaskESDfilter.cxx:1160
 AliAnalysisTaskESDfilter.cxx:1161
 AliAnalysisTaskESDfilter.cxx:1162
 AliAnalysisTaskESDfilter.cxx:1163
 AliAnalysisTaskESDfilter.cxx:1164
 AliAnalysisTaskESDfilter.cxx:1165
 AliAnalysisTaskESDfilter.cxx:1166
 AliAnalysisTaskESDfilter.cxx:1167
 AliAnalysisTaskESDfilter.cxx:1168
 AliAnalysisTaskESDfilter.cxx:1169
 AliAnalysisTaskESDfilter.cxx:1170
 AliAnalysisTaskESDfilter.cxx:1171
 AliAnalysisTaskESDfilter.cxx:1172
 AliAnalysisTaskESDfilter.cxx:1173
 AliAnalysisTaskESDfilter.cxx:1174
 AliAnalysisTaskESDfilter.cxx:1175
 AliAnalysisTaskESDfilter.cxx:1176
 AliAnalysisTaskESDfilter.cxx:1177
 AliAnalysisTaskESDfilter.cxx:1178
 AliAnalysisTaskESDfilter.cxx:1179
 AliAnalysisTaskESDfilter.cxx:1180
 AliAnalysisTaskESDfilter.cxx:1181
 AliAnalysisTaskESDfilter.cxx:1182
 AliAnalysisTaskESDfilter.cxx:1183
 AliAnalysisTaskESDfilter.cxx:1184
 AliAnalysisTaskESDfilter.cxx:1185
 AliAnalysisTaskESDfilter.cxx:1186
 AliAnalysisTaskESDfilter.cxx:1187
 AliAnalysisTaskESDfilter.cxx:1188
 AliAnalysisTaskESDfilter.cxx:1189
 AliAnalysisTaskESDfilter.cxx:1190
 AliAnalysisTaskESDfilter.cxx:1191
 AliAnalysisTaskESDfilter.cxx:1192
 AliAnalysisTaskESDfilter.cxx:1193
 AliAnalysisTaskESDfilter.cxx:1194
 AliAnalysisTaskESDfilter.cxx:1195
 AliAnalysisTaskESDfilter.cxx:1196
 AliAnalysisTaskESDfilter.cxx:1197
 AliAnalysisTaskESDfilter.cxx:1198
 AliAnalysisTaskESDfilter.cxx:1199
 AliAnalysisTaskESDfilter.cxx:1200
 AliAnalysisTaskESDfilter.cxx:1201
 AliAnalysisTaskESDfilter.cxx:1202
 AliAnalysisTaskESDfilter.cxx:1203
 AliAnalysisTaskESDfilter.cxx:1204
 AliAnalysisTaskESDfilter.cxx:1205
 AliAnalysisTaskESDfilter.cxx:1206
 AliAnalysisTaskESDfilter.cxx:1207
 AliAnalysisTaskESDfilter.cxx:1208
 AliAnalysisTaskESDfilter.cxx:1209
 AliAnalysisTaskESDfilter.cxx:1210
 AliAnalysisTaskESDfilter.cxx:1211
 AliAnalysisTaskESDfilter.cxx:1212
 AliAnalysisTaskESDfilter.cxx:1213
 AliAnalysisTaskESDfilter.cxx:1214
 AliAnalysisTaskESDfilter.cxx:1215
 AliAnalysisTaskESDfilter.cxx:1216
 AliAnalysisTaskESDfilter.cxx:1217
 AliAnalysisTaskESDfilter.cxx:1218
 AliAnalysisTaskESDfilter.cxx:1219
 AliAnalysisTaskESDfilter.cxx:1220
 AliAnalysisTaskESDfilter.cxx:1221
 AliAnalysisTaskESDfilter.cxx:1222
 AliAnalysisTaskESDfilter.cxx:1223
 AliAnalysisTaskESDfilter.cxx:1224
 AliAnalysisTaskESDfilter.cxx:1225
 AliAnalysisTaskESDfilter.cxx:1226
 AliAnalysisTaskESDfilter.cxx:1227
 AliAnalysisTaskESDfilter.cxx:1228
 AliAnalysisTaskESDfilter.cxx:1229
 AliAnalysisTaskESDfilter.cxx:1230
 AliAnalysisTaskESDfilter.cxx:1231
 AliAnalysisTaskESDfilter.cxx:1232
 AliAnalysisTaskESDfilter.cxx:1233
 AliAnalysisTaskESDfilter.cxx:1234
 AliAnalysisTaskESDfilter.cxx:1235
 AliAnalysisTaskESDfilter.cxx:1236
 AliAnalysisTaskESDfilter.cxx:1237
 AliAnalysisTaskESDfilter.cxx:1238
 AliAnalysisTaskESDfilter.cxx:1239
 AliAnalysisTaskESDfilter.cxx:1240
 AliAnalysisTaskESDfilter.cxx:1241
 AliAnalysisTaskESDfilter.cxx:1242
 AliAnalysisTaskESDfilter.cxx:1243
 AliAnalysisTaskESDfilter.cxx:1244
 AliAnalysisTaskESDfilter.cxx:1245
 AliAnalysisTaskESDfilter.cxx:1246
 AliAnalysisTaskESDfilter.cxx:1247
 AliAnalysisTaskESDfilter.cxx:1248
 AliAnalysisTaskESDfilter.cxx:1249
 AliAnalysisTaskESDfilter.cxx:1250
 AliAnalysisTaskESDfilter.cxx:1251
 AliAnalysisTaskESDfilter.cxx:1252
 AliAnalysisTaskESDfilter.cxx:1253
 AliAnalysisTaskESDfilter.cxx:1254
 AliAnalysisTaskESDfilter.cxx:1255
 AliAnalysisTaskESDfilter.cxx:1256
 AliAnalysisTaskESDfilter.cxx:1257
 AliAnalysisTaskESDfilter.cxx:1258
 AliAnalysisTaskESDfilter.cxx:1259
 AliAnalysisTaskESDfilter.cxx:1260
 AliAnalysisTaskESDfilter.cxx:1261
 AliAnalysisTaskESDfilter.cxx:1262
 AliAnalysisTaskESDfilter.cxx:1263
 AliAnalysisTaskESDfilter.cxx:1264
 AliAnalysisTaskESDfilter.cxx:1265
 AliAnalysisTaskESDfilter.cxx:1266
 AliAnalysisTaskESDfilter.cxx:1267
 AliAnalysisTaskESDfilter.cxx:1268
 AliAnalysisTaskESDfilter.cxx:1269
 AliAnalysisTaskESDfilter.cxx:1270
 AliAnalysisTaskESDfilter.cxx:1271
 AliAnalysisTaskESDfilter.cxx:1272
 AliAnalysisTaskESDfilter.cxx:1273
 AliAnalysisTaskESDfilter.cxx:1274
 AliAnalysisTaskESDfilter.cxx:1275
 AliAnalysisTaskESDfilter.cxx:1276
 AliAnalysisTaskESDfilter.cxx:1277
 AliAnalysisTaskESDfilter.cxx:1278
 AliAnalysisTaskESDfilter.cxx:1279
 AliAnalysisTaskESDfilter.cxx:1280
 AliAnalysisTaskESDfilter.cxx:1281
 AliAnalysisTaskESDfilter.cxx:1282
 AliAnalysisTaskESDfilter.cxx:1283
 AliAnalysisTaskESDfilter.cxx:1284
 AliAnalysisTaskESDfilter.cxx:1285
 AliAnalysisTaskESDfilter.cxx:1286
 AliAnalysisTaskESDfilter.cxx:1287
 AliAnalysisTaskESDfilter.cxx:1288
 AliAnalysisTaskESDfilter.cxx:1289
 AliAnalysisTaskESDfilter.cxx:1290
 AliAnalysisTaskESDfilter.cxx:1291
 AliAnalysisTaskESDfilter.cxx:1292
 AliAnalysisTaskESDfilter.cxx:1293
 AliAnalysisTaskESDfilter.cxx:1294
 AliAnalysisTaskESDfilter.cxx:1295
 AliAnalysisTaskESDfilter.cxx:1296
 AliAnalysisTaskESDfilter.cxx:1297
 AliAnalysisTaskESDfilter.cxx:1298
 AliAnalysisTaskESDfilter.cxx:1299
 AliAnalysisTaskESDfilter.cxx:1300
 AliAnalysisTaskESDfilter.cxx:1301
 AliAnalysisTaskESDfilter.cxx:1302
 AliAnalysisTaskESDfilter.cxx:1303
 AliAnalysisTaskESDfilter.cxx:1304
 AliAnalysisTaskESDfilter.cxx:1305
 AliAnalysisTaskESDfilter.cxx:1306
 AliAnalysisTaskESDfilter.cxx:1307
 AliAnalysisTaskESDfilter.cxx:1308
 AliAnalysisTaskESDfilter.cxx:1309
 AliAnalysisTaskESDfilter.cxx:1310
 AliAnalysisTaskESDfilter.cxx:1311
 AliAnalysisTaskESDfilter.cxx:1312
 AliAnalysisTaskESDfilter.cxx:1313
 AliAnalysisTaskESDfilter.cxx:1314
 AliAnalysisTaskESDfilter.cxx:1315
 AliAnalysisTaskESDfilter.cxx:1316
 AliAnalysisTaskESDfilter.cxx:1317
 AliAnalysisTaskESDfilter.cxx:1318
 AliAnalysisTaskESDfilter.cxx:1319
 AliAnalysisTaskESDfilter.cxx:1320
 AliAnalysisTaskESDfilter.cxx:1321
 AliAnalysisTaskESDfilter.cxx:1322
 AliAnalysisTaskESDfilter.cxx:1323
 AliAnalysisTaskESDfilter.cxx:1324
 AliAnalysisTaskESDfilter.cxx:1325
 AliAnalysisTaskESDfilter.cxx:1326
 AliAnalysisTaskESDfilter.cxx:1327
 AliAnalysisTaskESDfilter.cxx:1328
 AliAnalysisTaskESDfilter.cxx:1329
 AliAnalysisTaskESDfilter.cxx:1330
 AliAnalysisTaskESDfilter.cxx:1331
 AliAnalysisTaskESDfilter.cxx:1332
 AliAnalysisTaskESDfilter.cxx:1333
 AliAnalysisTaskESDfilter.cxx:1334
 AliAnalysisTaskESDfilter.cxx:1335
 AliAnalysisTaskESDfilter.cxx:1336
 AliAnalysisTaskESDfilter.cxx:1337
 AliAnalysisTaskESDfilter.cxx:1338
 AliAnalysisTaskESDfilter.cxx:1339
 AliAnalysisTaskESDfilter.cxx:1340
 AliAnalysisTaskESDfilter.cxx:1341
 AliAnalysisTaskESDfilter.cxx:1342
 AliAnalysisTaskESDfilter.cxx:1343
 AliAnalysisTaskESDfilter.cxx:1344
 AliAnalysisTaskESDfilter.cxx:1345
 AliAnalysisTaskESDfilter.cxx:1346
 AliAnalysisTaskESDfilter.cxx:1347
 AliAnalysisTaskESDfilter.cxx:1348
 AliAnalysisTaskESDfilter.cxx:1349
 AliAnalysisTaskESDfilter.cxx:1350
 AliAnalysisTaskESDfilter.cxx:1351
 AliAnalysisTaskESDfilter.cxx:1352
 AliAnalysisTaskESDfilter.cxx:1353
 AliAnalysisTaskESDfilter.cxx:1354
 AliAnalysisTaskESDfilter.cxx:1355
 AliAnalysisTaskESDfilter.cxx:1356
 AliAnalysisTaskESDfilter.cxx:1357
 AliAnalysisTaskESDfilter.cxx:1358
 AliAnalysisTaskESDfilter.cxx:1359
 AliAnalysisTaskESDfilter.cxx:1360
 AliAnalysisTaskESDfilter.cxx:1361
 AliAnalysisTaskESDfilter.cxx:1362
 AliAnalysisTaskESDfilter.cxx:1363
 AliAnalysisTaskESDfilter.cxx:1364
 AliAnalysisTaskESDfilter.cxx:1365
 AliAnalysisTaskESDfilter.cxx:1366
 AliAnalysisTaskESDfilter.cxx:1367
 AliAnalysisTaskESDfilter.cxx:1368
 AliAnalysisTaskESDfilter.cxx:1369
 AliAnalysisTaskESDfilter.cxx:1370
 AliAnalysisTaskESDfilter.cxx:1371
 AliAnalysisTaskESDfilter.cxx:1372
 AliAnalysisTaskESDfilter.cxx:1373
 AliAnalysisTaskESDfilter.cxx:1374
 AliAnalysisTaskESDfilter.cxx:1375
 AliAnalysisTaskESDfilter.cxx:1376
 AliAnalysisTaskESDfilter.cxx:1377
 AliAnalysisTaskESDfilter.cxx:1378
 AliAnalysisTaskESDfilter.cxx:1379
 AliAnalysisTaskESDfilter.cxx:1380
 AliAnalysisTaskESDfilter.cxx:1381
 AliAnalysisTaskESDfilter.cxx:1382
 AliAnalysisTaskESDfilter.cxx:1383
 AliAnalysisTaskESDfilter.cxx:1384
 AliAnalysisTaskESDfilter.cxx:1385
 AliAnalysisTaskESDfilter.cxx:1386
 AliAnalysisTaskESDfilter.cxx:1387
 AliAnalysisTaskESDfilter.cxx:1388
 AliAnalysisTaskESDfilter.cxx:1389
 AliAnalysisTaskESDfilter.cxx:1390
 AliAnalysisTaskESDfilter.cxx:1391
 AliAnalysisTaskESDfilter.cxx:1392
 AliAnalysisTaskESDfilter.cxx:1393
 AliAnalysisTaskESDfilter.cxx:1394
 AliAnalysisTaskESDfilter.cxx:1395
 AliAnalysisTaskESDfilter.cxx:1396
 AliAnalysisTaskESDfilter.cxx:1397
 AliAnalysisTaskESDfilter.cxx:1398
 AliAnalysisTaskESDfilter.cxx:1399
 AliAnalysisTaskESDfilter.cxx:1400
 AliAnalysisTaskESDfilter.cxx:1401
 AliAnalysisTaskESDfilter.cxx:1402
 AliAnalysisTaskESDfilter.cxx:1403
 AliAnalysisTaskESDfilter.cxx:1404
 AliAnalysisTaskESDfilter.cxx:1405
 AliAnalysisTaskESDfilter.cxx:1406
 AliAnalysisTaskESDfilter.cxx:1407
 AliAnalysisTaskESDfilter.cxx:1408
 AliAnalysisTaskESDfilter.cxx:1409
 AliAnalysisTaskESDfilter.cxx:1410
 AliAnalysisTaskESDfilter.cxx:1411
 AliAnalysisTaskESDfilter.cxx:1412
 AliAnalysisTaskESDfilter.cxx:1413
 AliAnalysisTaskESDfilter.cxx:1414
 AliAnalysisTaskESDfilter.cxx:1415
 AliAnalysisTaskESDfilter.cxx:1416
 AliAnalysisTaskESDfilter.cxx:1417
 AliAnalysisTaskESDfilter.cxx:1418
 AliAnalysisTaskESDfilter.cxx:1419
 AliAnalysisTaskESDfilter.cxx:1420
 AliAnalysisTaskESDfilter.cxx:1421
 AliAnalysisTaskESDfilter.cxx:1422
 AliAnalysisTaskESDfilter.cxx:1423
 AliAnalysisTaskESDfilter.cxx:1424
 AliAnalysisTaskESDfilter.cxx:1425
 AliAnalysisTaskESDfilter.cxx:1426
 AliAnalysisTaskESDfilter.cxx:1427
 AliAnalysisTaskESDfilter.cxx:1428
 AliAnalysisTaskESDfilter.cxx:1429
 AliAnalysisTaskESDfilter.cxx:1430
 AliAnalysisTaskESDfilter.cxx:1431
 AliAnalysisTaskESDfilter.cxx:1432
 AliAnalysisTaskESDfilter.cxx:1433
 AliAnalysisTaskESDfilter.cxx:1434
 AliAnalysisTaskESDfilter.cxx:1435
 AliAnalysisTaskESDfilter.cxx:1436
 AliAnalysisTaskESDfilter.cxx:1437
 AliAnalysisTaskESDfilter.cxx:1438
 AliAnalysisTaskESDfilter.cxx:1439
 AliAnalysisTaskESDfilter.cxx:1440
 AliAnalysisTaskESDfilter.cxx:1441
 AliAnalysisTaskESDfilter.cxx:1442
 AliAnalysisTaskESDfilter.cxx:1443
 AliAnalysisTaskESDfilter.cxx:1444
 AliAnalysisTaskESDfilter.cxx:1445
 AliAnalysisTaskESDfilter.cxx:1446
 AliAnalysisTaskESDfilter.cxx:1447
 AliAnalysisTaskESDfilter.cxx:1448
 AliAnalysisTaskESDfilter.cxx:1449
 AliAnalysisTaskESDfilter.cxx:1450
 AliAnalysisTaskESDfilter.cxx:1451
 AliAnalysisTaskESDfilter.cxx:1452
 AliAnalysisTaskESDfilter.cxx:1453
 AliAnalysisTaskESDfilter.cxx:1454
 AliAnalysisTaskESDfilter.cxx:1455
 AliAnalysisTaskESDfilter.cxx:1456
 AliAnalysisTaskESDfilter.cxx:1457
 AliAnalysisTaskESDfilter.cxx:1458
 AliAnalysisTaskESDfilter.cxx:1459
 AliAnalysisTaskESDfilter.cxx:1460
 AliAnalysisTaskESDfilter.cxx:1461
 AliAnalysisTaskESDfilter.cxx:1462
 AliAnalysisTaskESDfilter.cxx:1463
 AliAnalysisTaskESDfilter.cxx:1464
 AliAnalysisTaskESDfilter.cxx:1465
 AliAnalysisTaskESDfilter.cxx:1466
 AliAnalysisTaskESDfilter.cxx:1467
 AliAnalysisTaskESDfilter.cxx:1468
 AliAnalysisTaskESDfilter.cxx:1469
 AliAnalysisTaskESDfilter.cxx:1470
 AliAnalysisTaskESDfilter.cxx:1471
 AliAnalysisTaskESDfilter.cxx:1472
 AliAnalysisTaskESDfilter.cxx:1473
 AliAnalysisTaskESDfilter.cxx:1474
 AliAnalysisTaskESDfilter.cxx:1475
 AliAnalysisTaskESDfilter.cxx:1476
 AliAnalysisTaskESDfilter.cxx:1477
 AliAnalysisTaskESDfilter.cxx:1478
 AliAnalysisTaskESDfilter.cxx:1479
 AliAnalysisTaskESDfilter.cxx:1480
 AliAnalysisTaskESDfilter.cxx:1481
 AliAnalysisTaskESDfilter.cxx:1482
 AliAnalysisTaskESDfilter.cxx:1483
 AliAnalysisTaskESDfilter.cxx:1484
 AliAnalysisTaskESDfilter.cxx:1485
 AliAnalysisTaskESDfilter.cxx:1486
 AliAnalysisTaskESDfilter.cxx:1487
 AliAnalysisTaskESDfilter.cxx:1488
 AliAnalysisTaskESDfilter.cxx:1489
 AliAnalysisTaskESDfilter.cxx:1490
 AliAnalysisTaskESDfilter.cxx:1491
 AliAnalysisTaskESDfilter.cxx:1492
 AliAnalysisTaskESDfilter.cxx:1493
 AliAnalysisTaskESDfilter.cxx:1494
 AliAnalysisTaskESDfilter.cxx:1495
 AliAnalysisTaskESDfilter.cxx:1496
 AliAnalysisTaskESDfilter.cxx:1497
 AliAnalysisTaskESDfilter.cxx:1498
 AliAnalysisTaskESDfilter.cxx:1499
 AliAnalysisTaskESDfilter.cxx:1500
 AliAnalysisTaskESDfilter.cxx:1501
 AliAnalysisTaskESDfilter.cxx:1502
 AliAnalysisTaskESDfilter.cxx:1503
 AliAnalysisTaskESDfilter.cxx:1504
 AliAnalysisTaskESDfilter.cxx:1505
 AliAnalysisTaskESDfilter.cxx:1506
 AliAnalysisTaskESDfilter.cxx:1507
 AliAnalysisTaskESDfilter.cxx:1508
 AliAnalysisTaskESDfilter.cxx:1509
 AliAnalysisTaskESDfilter.cxx:1510
 AliAnalysisTaskESDfilter.cxx:1511
 AliAnalysisTaskESDfilter.cxx:1512
 AliAnalysisTaskESDfilter.cxx:1513
 AliAnalysisTaskESDfilter.cxx:1514
 AliAnalysisTaskESDfilter.cxx:1515
 AliAnalysisTaskESDfilter.cxx:1516
 AliAnalysisTaskESDfilter.cxx:1517
 AliAnalysisTaskESDfilter.cxx:1518
 AliAnalysisTaskESDfilter.cxx:1519
 AliAnalysisTaskESDfilter.cxx:1520
 AliAnalysisTaskESDfilter.cxx:1521
 AliAnalysisTaskESDfilter.cxx:1522
 AliAnalysisTaskESDfilter.cxx:1523
 AliAnalysisTaskESDfilter.cxx:1524
 AliAnalysisTaskESDfilter.cxx:1525
 AliAnalysisTaskESDfilter.cxx:1526
 AliAnalysisTaskESDfilter.cxx:1527
 AliAnalysisTaskESDfilter.cxx:1528
 AliAnalysisTaskESDfilter.cxx:1529
 AliAnalysisTaskESDfilter.cxx:1530
 AliAnalysisTaskESDfilter.cxx:1531
 AliAnalysisTaskESDfilter.cxx:1532
 AliAnalysisTaskESDfilter.cxx:1533
 AliAnalysisTaskESDfilter.cxx:1534
 AliAnalysisTaskESDfilter.cxx:1535
 AliAnalysisTaskESDfilter.cxx:1536
 AliAnalysisTaskESDfilter.cxx:1537
 AliAnalysisTaskESDfilter.cxx:1538
 AliAnalysisTaskESDfilter.cxx:1539
 AliAnalysisTaskESDfilter.cxx:1540
 AliAnalysisTaskESDfilter.cxx:1541
 AliAnalysisTaskESDfilter.cxx:1542
 AliAnalysisTaskESDfilter.cxx:1543
 AliAnalysisTaskESDfilter.cxx:1544
 AliAnalysisTaskESDfilter.cxx:1545
 AliAnalysisTaskESDfilter.cxx:1546
 AliAnalysisTaskESDfilter.cxx:1547
 AliAnalysisTaskESDfilter.cxx:1548
 AliAnalysisTaskESDfilter.cxx:1549
 AliAnalysisTaskESDfilter.cxx:1550
 AliAnalysisTaskESDfilter.cxx:1551
 AliAnalysisTaskESDfilter.cxx:1552
 AliAnalysisTaskESDfilter.cxx:1553
 AliAnalysisTaskESDfilter.cxx:1554
 AliAnalysisTaskESDfilter.cxx:1555
 AliAnalysisTaskESDfilter.cxx:1556
 AliAnalysisTaskESDfilter.cxx:1557
 AliAnalysisTaskESDfilter.cxx:1558
 AliAnalysisTaskESDfilter.cxx:1559
 AliAnalysisTaskESDfilter.cxx:1560
 AliAnalysisTaskESDfilter.cxx:1561
 AliAnalysisTaskESDfilter.cxx:1562
 AliAnalysisTaskESDfilter.cxx:1563
 AliAnalysisTaskESDfilter.cxx:1564
 AliAnalysisTaskESDfilter.cxx:1565
 AliAnalysisTaskESDfilter.cxx:1566
 AliAnalysisTaskESDfilter.cxx:1567
 AliAnalysisTaskESDfilter.cxx:1568
 AliAnalysisTaskESDfilter.cxx:1569
 AliAnalysisTaskESDfilter.cxx:1570
 AliAnalysisTaskESDfilter.cxx:1571
 AliAnalysisTaskESDfilter.cxx:1572
 AliAnalysisTaskESDfilter.cxx:1573
 AliAnalysisTaskESDfilter.cxx:1574
 AliAnalysisTaskESDfilter.cxx:1575
 AliAnalysisTaskESDfilter.cxx:1576
 AliAnalysisTaskESDfilter.cxx:1577
 AliAnalysisTaskESDfilter.cxx:1578
 AliAnalysisTaskESDfilter.cxx:1579
 AliAnalysisTaskESDfilter.cxx:1580
 AliAnalysisTaskESDfilter.cxx:1581
 AliAnalysisTaskESDfilter.cxx:1582
 AliAnalysisTaskESDfilter.cxx:1583
 AliAnalysisTaskESDfilter.cxx:1584
 AliAnalysisTaskESDfilter.cxx:1585
 AliAnalysisTaskESDfilter.cxx:1586
 AliAnalysisTaskESDfilter.cxx:1587
 AliAnalysisTaskESDfilter.cxx:1588
 AliAnalysisTaskESDfilter.cxx:1589
 AliAnalysisTaskESDfilter.cxx:1590
 AliAnalysisTaskESDfilter.cxx:1591
 AliAnalysisTaskESDfilter.cxx:1592
 AliAnalysisTaskESDfilter.cxx:1593
 AliAnalysisTaskESDfilter.cxx:1594
 AliAnalysisTaskESDfilter.cxx:1595
 AliAnalysisTaskESDfilter.cxx:1596
 AliAnalysisTaskESDfilter.cxx:1597
 AliAnalysisTaskESDfilter.cxx:1598
 AliAnalysisTaskESDfilter.cxx:1599
 AliAnalysisTaskESDfilter.cxx:1600
 AliAnalysisTaskESDfilter.cxx:1601
 AliAnalysisTaskESDfilter.cxx:1602
 AliAnalysisTaskESDfilter.cxx:1603
 AliAnalysisTaskESDfilter.cxx:1604
 AliAnalysisTaskESDfilter.cxx:1605
 AliAnalysisTaskESDfilter.cxx:1606
 AliAnalysisTaskESDfilter.cxx:1607
 AliAnalysisTaskESDfilter.cxx:1608
 AliAnalysisTaskESDfilter.cxx:1609
 AliAnalysisTaskESDfilter.cxx:1610
 AliAnalysisTaskESDfilter.cxx:1611
 AliAnalysisTaskESDfilter.cxx:1612
 AliAnalysisTaskESDfilter.cxx:1613
 AliAnalysisTaskESDfilter.cxx:1614
 AliAnalysisTaskESDfilter.cxx:1615
 AliAnalysisTaskESDfilter.cxx:1616
 AliAnalysisTaskESDfilter.cxx:1617
 AliAnalysisTaskESDfilter.cxx:1618
 AliAnalysisTaskESDfilter.cxx:1619
 AliAnalysisTaskESDfilter.cxx:1620
 AliAnalysisTaskESDfilter.cxx:1621
 AliAnalysisTaskESDfilter.cxx:1622
 AliAnalysisTaskESDfilter.cxx:1623
 AliAnalysisTaskESDfilter.cxx:1624
 AliAnalysisTaskESDfilter.cxx:1625
 AliAnalysisTaskESDfilter.cxx:1626
 AliAnalysisTaskESDfilter.cxx:1627
 AliAnalysisTaskESDfilter.cxx:1628
 AliAnalysisTaskESDfilter.cxx:1629
 AliAnalysisTaskESDfilter.cxx:1630
 AliAnalysisTaskESDfilter.cxx:1631
 AliAnalysisTaskESDfilter.cxx:1632
 AliAnalysisTaskESDfilter.cxx:1633
 AliAnalysisTaskESDfilter.cxx:1634
 AliAnalysisTaskESDfilter.cxx:1635
 AliAnalysisTaskESDfilter.cxx:1636
 AliAnalysisTaskESDfilter.cxx:1637
 AliAnalysisTaskESDfilter.cxx:1638
 AliAnalysisTaskESDfilter.cxx:1639
 AliAnalysisTaskESDfilter.cxx:1640
 AliAnalysisTaskESDfilter.cxx:1641
 AliAnalysisTaskESDfilter.cxx:1642
 AliAnalysisTaskESDfilter.cxx:1643
 AliAnalysisTaskESDfilter.cxx:1644
 AliAnalysisTaskESDfilter.cxx:1645
 AliAnalysisTaskESDfilter.cxx:1646
 AliAnalysisTaskESDfilter.cxx:1647
 AliAnalysisTaskESDfilter.cxx:1648
 AliAnalysisTaskESDfilter.cxx:1649
 AliAnalysisTaskESDfilter.cxx:1650
 AliAnalysisTaskESDfilter.cxx:1651
 AliAnalysisTaskESDfilter.cxx:1652
 AliAnalysisTaskESDfilter.cxx:1653
 AliAnalysisTaskESDfilter.cxx:1654
 AliAnalysisTaskESDfilter.cxx:1655
 AliAnalysisTaskESDfilter.cxx:1656
 AliAnalysisTaskESDfilter.cxx:1657
 AliAnalysisTaskESDfilter.cxx:1658
 AliAnalysisTaskESDfilter.cxx:1659
 AliAnalysisTaskESDfilter.cxx:1660
 AliAnalysisTaskESDfilter.cxx:1661
 AliAnalysisTaskESDfilter.cxx:1662
 AliAnalysisTaskESDfilter.cxx:1663
 AliAnalysisTaskESDfilter.cxx:1664
 AliAnalysisTaskESDfilter.cxx:1665
 AliAnalysisTaskESDfilter.cxx:1666
 AliAnalysisTaskESDfilter.cxx:1667
 AliAnalysisTaskESDfilter.cxx:1668
 AliAnalysisTaskESDfilter.cxx:1669
 AliAnalysisTaskESDfilter.cxx:1670
 AliAnalysisTaskESDfilter.cxx:1671
 AliAnalysisTaskESDfilter.cxx:1672
 AliAnalysisTaskESDfilter.cxx:1673
 AliAnalysisTaskESDfilter.cxx:1674
 AliAnalysisTaskESDfilter.cxx:1675
 AliAnalysisTaskESDfilter.cxx:1676
 AliAnalysisTaskESDfilter.cxx:1677
 AliAnalysisTaskESDfilter.cxx:1678
 AliAnalysisTaskESDfilter.cxx:1679
 AliAnalysisTaskESDfilter.cxx:1680
 AliAnalysisTaskESDfilter.cxx:1681
 AliAnalysisTaskESDfilter.cxx:1682
 AliAnalysisTaskESDfilter.cxx:1683
 AliAnalysisTaskESDfilter.cxx:1684
 AliAnalysisTaskESDfilter.cxx:1685
 AliAnalysisTaskESDfilter.cxx:1686
 AliAnalysisTaskESDfilter.cxx:1687
 AliAnalysisTaskESDfilter.cxx:1688
 AliAnalysisTaskESDfilter.cxx:1689
 AliAnalysisTaskESDfilter.cxx:1690
 AliAnalysisTaskESDfilter.cxx:1691
 AliAnalysisTaskESDfilter.cxx:1692
 AliAnalysisTaskESDfilter.cxx:1693
 AliAnalysisTaskESDfilter.cxx:1694
 AliAnalysisTaskESDfilter.cxx:1695
 AliAnalysisTaskESDfilter.cxx:1696
 AliAnalysisTaskESDfilter.cxx:1697
 AliAnalysisTaskESDfilter.cxx:1698
 AliAnalysisTaskESDfilter.cxx:1699
 AliAnalysisTaskESDfilter.cxx:1700
 AliAnalysisTaskESDfilter.cxx:1701
 AliAnalysisTaskESDfilter.cxx:1702
 AliAnalysisTaskESDfilter.cxx:1703
 AliAnalysisTaskESDfilter.cxx:1704
 AliAnalysisTaskESDfilter.cxx:1705
 AliAnalysisTaskESDfilter.cxx:1706
 AliAnalysisTaskESDfilter.cxx:1707
 AliAnalysisTaskESDfilter.cxx:1708
 AliAnalysisTaskESDfilter.cxx:1709
 AliAnalysisTaskESDfilter.cxx:1710
 AliAnalysisTaskESDfilter.cxx:1711
 AliAnalysisTaskESDfilter.cxx:1712
 AliAnalysisTaskESDfilter.cxx:1713
 AliAnalysisTaskESDfilter.cxx:1714
 AliAnalysisTaskESDfilter.cxx:1715
 AliAnalysisTaskESDfilter.cxx:1716
 AliAnalysisTaskESDfilter.cxx:1717
 AliAnalysisTaskESDfilter.cxx:1718
 AliAnalysisTaskESDfilter.cxx:1719
 AliAnalysisTaskESDfilter.cxx:1720
 AliAnalysisTaskESDfilter.cxx:1721
 AliAnalysisTaskESDfilter.cxx:1722
 AliAnalysisTaskESDfilter.cxx:1723
 AliAnalysisTaskESDfilter.cxx:1724
 AliAnalysisTaskESDfilter.cxx:1725
 AliAnalysisTaskESDfilter.cxx:1726
 AliAnalysisTaskESDfilter.cxx:1727
 AliAnalysisTaskESDfilter.cxx:1728
 AliAnalysisTaskESDfilter.cxx:1729
 AliAnalysisTaskESDfilter.cxx:1730
 AliAnalysisTaskESDfilter.cxx:1731
 AliAnalysisTaskESDfilter.cxx:1732
 AliAnalysisTaskESDfilter.cxx:1733
 AliAnalysisTaskESDfilter.cxx:1734
 AliAnalysisTaskESDfilter.cxx:1735
 AliAnalysisTaskESDfilter.cxx:1736
 AliAnalysisTaskESDfilter.cxx:1737
 AliAnalysisTaskESDfilter.cxx:1738
 AliAnalysisTaskESDfilter.cxx:1739
 AliAnalysisTaskESDfilter.cxx:1740
 AliAnalysisTaskESDfilter.cxx:1741
 AliAnalysisTaskESDfilter.cxx:1742
 AliAnalysisTaskESDfilter.cxx:1743
 AliAnalysisTaskESDfilter.cxx:1744
 AliAnalysisTaskESDfilter.cxx:1745
 AliAnalysisTaskESDfilter.cxx:1746
 AliAnalysisTaskESDfilter.cxx:1747
 AliAnalysisTaskESDfilter.cxx:1748
 AliAnalysisTaskESDfilter.cxx:1749
 AliAnalysisTaskESDfilter.cxx:1750
 AliAnalysisTaskESDfilter.cxx:1751
 AliAnalysisTaskESDfilter.cxx:1752
 AliAnalysisTaskESDfilter.cxx:1753
 AliAnalysisTaskESDfilter.cxx:1754
 AliAnalysisTaskESDfilter.cxx:1755
 AliAnalysisTaskESDfilter.cxx:1756
 AliAnalysisTaskESDfilter.cxx:1757
 AliAnalysisTaskESDfilter.cxx:1758
 AliAnalysisTaskESDfilter.cxx:1759
 AliAnalysisTaskESDfilter.cxx:1760
 AliAnalysisTaskESDfilter.cxx:1761
 AliAnalysisTaskESDfilter.cxx:1762
 AliAnalysisTaskESDfilter.cxx:1763
 AliAnalysisTaskESDfilter.cxx:1764
 AliAnalysisTaskESDfilter.cxx:1765
 AliAnalysisTaskESDfilter.cxx:1766
 AliAnalysisTaskESDfilter.cxx:1767
 AliAnalysisTaskESDfilter.cxx:1768
 AliAnalysisTaskESDfilter.cxx:1769
 AliAnalysisTaskESDfilter.cxx:1770
 AliAnalysisTaskESDfilter.cxx:1771
 AliAnalysisTaskESDfilter.cxx:1772
 AliAnalysisTaskESDfilter.cxx:1773
 AliAnalysisTaskESDfilter.cxx:1774
 AliAnalysisTaskESDfilter.cxx:1775
 AliAnalysisTaskESDfilter.cxx:1776
 AliAnalysisTaskESDfilter.cxx:1777
 AliAnalysisTaskESDfilter.cxx:1778
 AliAnalysisTaskESDfilter.cxx:1779
 AliAnalysisTaskESDfilter.cxx:1780
 AliAnalysisTaskESDfilter.cxx:1781
 AliAnalysisTaskESDfilter.cxx:1782
 AliAnalysisTaskESDfilter.cxx:1783
 AliAnalysisTaskESDfilter.cxx:1784
 AliAnalysisTaskESDfilter.cxx:1785
 AliAnalysisTaskESDfilter.cxx:1786
 AliAnalysisTaskESDfilter.cxx:1787
 AliAnalysisTaskESDfilter.cxx:1788
 AliAnalysisTaskESDfilter.cxx:1789
 AliAnalysisTaskESDfilter.cxx:1790
 AliAnalysisTaskESDfilter.cxx:1791
 AliAnalysisTaskESDfilter.cxx:1792
 AliAnalysisTaskESDfilter.cxx:1793
 AliAnalysisTaskESDfilter.cxx:1794
 AliAnalysisTaskESDfilter.cxx:1795
 AliAnalysisTaskESDfilter.cxx:1796
 AliAnalysisTaskESDfilter.cxx:1797
 AliAnalysisTaskESDfilter.cxx:1798
 AliAnalysisTaskESDfilter.cxx:1799
 AliAnalysisTaskESDfilter.cxx:1800
 AliAnalysisTaskESDfilter.cxx:1801
 AliAnalysisTaskESDfilter.cxx:1802
 AliAnalysisTaskESDfilter.cxx:1803
 AliAnalysisTaskESDfilter.cxx:1804
 AliAnalysisTaskESDfilter.cxx:1805
 AliAnalysisTaskESDfilter.cxx:1806
 AliAnalysisTaskESDfilter.cxx:1807
 AliAnalysisTaskESDfilter.cxx:1808
 AliAnalysisTaskESDfilter.cxx:1809
 AliAnalysisTaskESDfilter.cxx:1810
 AliAnalysisTaskESDfilter.cxx:1811
 AliAnalysisTaskESDfilter.cxx:1812
 AliAnalysisTaskESDfilter.cxx:1813
 AliAnalysisTaskESDfilter.cxx:1814
 AliAnalysisTaskESDfilter.cxx:1815
 AliAnalysisTaskESDfilter.cxx:1816
 AliAnalysisTaskESDfilter.cxx:1817
 AliAnalysisTaskESDfilter.cxx:1818
 AliAnalysisTaskESDfilter.cxx:1819
 AliAnalysisTaskESDfilter.cxx:1820
 AliAnalysisTaskESDfilter.cxx:1821
 AliAnalysisTaskESDfilter.cxx:1822
 AliAnalysisTaskESDfilter.cxx:1823
 AliAnalysisTaskESDfilter.cxx:1824
 AliAnalysisTaskESDfilter.cxx:1825
 AliAnalysisTaskESDfilter.cxx:1826
 AliAnalysisTaskESDfilter.cxx:1827
 AliAnalysisTaskESDfilter.cxx:1828
 AliAnalysisTaskESDfilter.cxx:1829
 AliAnalysisTaskESDfilter.cxx:1830
 AliAnalysisTaskESDfilter.cxx:1831
 AliAnalysisTaskESDfilter.cxx:1832
 AliAnalysisTaskESDfilter.cxx:1833
 AliAnalysisTaskESDfilter.cxx:1834
 AliAnalysisTaskESDfilter.cxx:1835
 AliAnalysisTaskESDfilter.cxx:1836
 AliAnalysisTaskESDfilter.cxx:1837
 AliAnalysisTaskESDfilter.cxx:1838
 AliAnalysisTaskESDfilter.cxx:1839
 AliAnalysisTaskESDfilter.cxx:1840
 AliAnalysisTaskESDfilter.cxx:1841
 AliAnalysisTaskESDfilter.cxx:1842
 AliAnalysisTaskESDfilter.cxx:1843
 AliAnalysisTaskESDfilter.cxx:1844
 AliAnalysisTaskESDfilter.cxx:1845
 AliAnalysisTaskESDfilter.cxx:1846
 AliAnalysisTaskESDfilter.cxx:1847
 AliAnalysisTaskESDfilter.cxx:1848
 AliAnalysisTaskESDfilter.cxx:1849
 AliAnalysisTaskESDfilter.cxx:1850
 AliAnalysisTaskESDfilter.cxx:1851
 AliAnalysisTaskESDfilter.cxx:1852
 AliAnalysisTaskESDfilter.cxx:1853
 AliAnalysisTaskESDfilter.cxx:1854
 AliAnalysisTaskESDfilter.cxx:1855
 AliAnalysisTaskESDfilter.cxx:1856
 AliAnalysisTaskESDfilter.cxx:1857
 AliAnalysisTaskESDfilter.cxx:1858
 AliAnalysisTaskESDfilter.cxx:1859
 AliAnalysisTaskESDfilter.cxx:1860
 AliAnalysisTaskESDfilter.cxx:1861
 AliAnalysisTaskESDfilter.cxx:1862
 AliAnalysisTaskESDfilter.cxx:1863
 AliAnalysisTaskESDfilter.cxx:1864
 AliAnalysisTaskESDfilter.cxx:1865
 AliAnalysisTaskESDfilter.cxx:1866
 AliAnalysisTaskESDfilter.cxx:1867
 AliAnalysisTaskESDfilter.cxx:1868
 AliAnalysisTaskESDfilter.cxx:1869
 AliAnalysisTaskESDfilter.cxx:1870
 AliAnalysisTaskESDfilter.cxx:1871
 AliAnalysisTaskESDfilter.cxx:1872
 AliAnalysisTaskESDfilter.cxx:1873
 AliAnalysisTaskESDfilter.cxx:1874
 AliAnalysisTaskESDfilter.cxx:1875
 AliAnalysisTaskESDfilter.cxx:1876
 AliAnalysisTaskESDfilter.cxx:1877
 AliAnalysisTaskESDfilter.cxx:1878
 AliAnalysisTaskESDfilter.cxx:1879
 AliAnalysisTaskESDfilter.cxx:1880
 AliAnalysisTaskESDfilter.cxx:1881
 AliAnalysisTaskESDfilter.cxx:1882
 AliAnalysisTaskESDfilter.cxx:1883
 AliAnalysisTaskESDfilter.cxx:1884
 AliAnalysisTaskESDfilter.cxx:1885
 AliAnalysisTaskESDfilter.cxx:1886
 AliAnalysisTaskESDfilter.cxx:1887
 AliAnalysisTaskESDfilter.cxx:1888
 AliAnalysisTaskESDfilter.cxx:1889
 AliAnalysisTaskESDfilter.cxx:1890
 AliAnalysisTaskESDfilter.cxx:1891
 AliAnalysisTaskESDfilter.cxx:1892
 AliAnalysisTaskESDfilter.cxx:1893
 AliAnalysisTaskESDfilter.cxx:1894
 AliAnalysisTaskESDfilter.cxx:1895
 AliAnalysisTaskESDfilter.cxx:1896
 AliAnalysisTaskESDfilter.cxx:1897
 AliAnalysisTaskESDfilter.cxx:1898
 AliAnalysisTaskESDfilter.cxx:1899
 AliAnalysisTaskESDfilter.cxx:1900
 AliAnalysisTaskESDfilter.cxx:1901
 AliAnalysisTaskESDfilter.cxx:1902
 AliAnalysisTaskESDfilter.cxx:1903
 AliAnalysisTaskESDfilter.cxx:1904
 AliAnalysisTaskESDfilter.cxx:1905
 AliAnalysisTaskESDfilter.cxx:1906
 AliAnalysisTaskESDfilter.cxx:1907
 AliAnalysisTaskESDfilter.cxx:1908
 AliAnalysisTaskESDfilter.cxx:1909
 AliAnalysisTaskESDfilter.cxx:1910
 AliAnalysisTaskESDfilter.cxx:1911
 AliAnalysisTaskESDfilter.cxx:1912
 AliAnalysisTaskESDfilter.cxx:1913
 AliAnalysisTaskESDfilter.cxx:1914
 AliAnalysisTaskESDfilter.cxx:1915
 AliAnalysisTaskESDfilter.cxx:1916
 AliAnalysisTaskESDfilter.cxx:1917
 AliAnalysisTaskESDfilter.cxx:1918
 AliAnalysisTaskESDfilter.cxx:1919
 AliAnalysisTaskESDfilter.cxx:1920
 AliAnalysisTaskESDfilter.cxx:1921
 AliAnalysisTaskESDfilter.cxx:1922
 AliAnalysisTaskESDfilter.cxx:1923
 AliAnalysisTaskESDfilter.cxx:1924
 AliAnalysisTaskESDfilter.cxx:1925
 AliAnalysisTaskESDfilter.cxx:1926
 AliAnalysisTaskESDfilter.cxx:1927
 AliAnalysisTaskESDfilter.cxx:1928
 AliAnalysisTaskESDfilter.cxx:1929
 AliAnalysisTaskESDfilter.cxx:1930
 AliAnalysisTaskESDfilter.cxx:1931
 AliAnalysisTaskESDfilter.cxx:1932
 AliAnalysisTaskESDfilter.cxx:1933
 AliAnalysisTaskESDfilter.cxx:1934
 AliAnalysisTaskESDfilter.cxx:1935
 AliAnalysisTaskESDfilter.cxx:1936
 AliAnalysisTaskESDfilter.cxx:1937
 AliAnalysisTaskESDfilter.cxx:1938
 AliAnalysisTaskESDfilter.cxx:1939
 AliAnalysisTaskESDfilter.cxx:1940
 AliAnalysisTaskESDfilter.cxx:1941
 AliAnalysisTaskESDfilter.cxx:1942
 AliAnalysisTaskESDfilter.cxx:1943
 AliAnalysisTaskESDfilter.cxx:1944
 AliAnalysisTaskESDfilter.cxx:1945
 AliAnalysisTaskESDfilter.cxx:1946
 AliAnalysisTaskESDfilter.cxx:1947
 AliAnalysisTaskESDfilter.cxx:1948
 AliAnalysisTaskESDfilter.cxx:1949
 AliAnalysisTaskESDfilter.cxx:1950
 AliAnalysisTaskESDfilter.cxx:1951
 AliAnalysisTaskESDfilter.cxx:1952
 AliAnalysisTaskESDfilter.cxx:1953
 AliAnalysisTaskESDfilter.cxx:1954
 AliAnalysisTaskESDfilter.cxx:1955
 AliAnalysisTaskESDfilter.cxx:1956
 AliAnalysisTaskESDfilter.cxx:1957
 AliAnalysisTaskESDfilter.cxx:1958
 AliAnalysisTaskESDfilter.cxx:1959
 AliAnalysisTaskESDfilter.cxx:1960
 AliAnalysisTaskESDfilter.cxx:1961
 AliAnalysisTaskESDfilter.cxx:1962
 AliAnalysisTaskESDfilter.cxx:1963
 AliAnalysisTaskESDfilter.cxx:1964
 AliAnalysisTaskESDfilter.cxx:1965
 AliAnalysisTaskESDfilter.cxx:1966
 AliAnalysisTaskESDfilter.cxx:1967
 AliAnalysisTaskESDfilter.cxx:1968
 AliAnalysisTaskESDfilter.cxx:1969
 AliAnalysisTaskESDfilter.cxx:1970
 AliAnalysisTaskESDfilter.cxx:1971
 AliAnalysisTaskESDfilter.cxx:1972
 AliAnalysisTaskESDfilter.cxx:1973
 AliAnalysisTaskESDfilter.cxx:1974
 AliAnalysisTaskESDfilter.cxx:1975
 AliAnalysisTaskESDfilter.cxx:1976
 AliAnalysisTaskESDfilter.cxx:1977
 AliAnalysisTaskESDfilter.cxx:1978
 AliAnalysisTaskESDfilter.cxx:1979
 AliAnalysisTaskESDfilter.cxx:1980
 AliAnalysisTaskESDfilter.cxx:1981
 AliAnalysisTaskESDfilter.cxx:1982
 AliAnalysisTaskESDfilter.cxx:1983
 AliAnalysisTaskESDfilter.cxx:1984
 AliAnalysisTaskESDfilter.cxx:1985
 AliAnalysisTaskESDfilter.cxx:1986
 AliAnalysisTaskESDfilter.cxx:1987
 AliAnalysisTaskESDfilter.cxx:1988
 AliAnalysisTaskESDfilter.cxx:1989
 AliAnalysisTaskESDfilter.cxx:1990
 AliAnalysisTaskESDfilter.cxx:1991
 AliAnalysisTaskESDfilter.cxx:1992
 AliAnalysisTaskESDfilter.cxx:1993
 AliAnalysisTaskESDfilter.cxx:1994
 AliAnalysisTaskESDfilter.cxx:1995
 AliAnalysisTaskESDfilter.cxx:1996
 AliAnalysisTaskESDfilter.cxx:1997
 AliAnalysisTaskESDfilter.cxx:1998
 AliAnalysisTaskESDfilter.cxx:1999
 AliAnalysisTaskESDfilter.cxx:2000
 AliAnalysisTaskESDfilter.cxx:2001
 AliAnalysisTaskESDfilter.cxx:2002
 AliAnalysisTaskESDfilter.cxx:2003
 AliAnalysisTaskESDfilter.cxx:2004
 AliAnalysisTaskESDfilter.cxx:2005
 AliAnalysisTaskESDfilter.cxx:2006
 AliAnalysisTaskESDfilter.cxx:2007
 AliAnalysisTaskESDfilter.cxx:2008
 AliAnalysisTaskESDfilter.cxx:2009
 AliAnalysisTaskESDfilter.cxx:2010
 AliAnalysisTaskESDfilter.cxx:2011
 AliAnalysisTaskESDfilter.cxx:2012
 AliAnalysisTaskESDfilter.cxx:2013
 AliAnalysisTaskESDfilter.cxx:2014
 AliAnalysisTaskESDfilter.cxx:2015
 AliAnalysisTaskESDfilter.cxx:2016
 AliAnalysisTaskESDfilter.cxx:2017
 AliAnalysisTaskESDfilter.cxx:2018
 AliAnalysisTaskESDfilter.cxx:2019
 AliAnalysisTaskESDfilter.cxx:2020
 AliAnalysisTaskESDfilter.cxx:2021
 AliAnalysisTaskESDfilter.cxx:2022
 AliAnalysisTaskESDfilter.cxx:2023
 AliAnalysisTaskESDfilter.cxx:2024
 AliAnalysisTaskESDfilter.cxx:2025
 AliAnalysisTaskESDfilter.cxx:2026
 AliAnalysisTaskESDfilter.cxx:2027
 AliAnalysisTaskESDfilter.cxx:2028
 AliAnalysisTaskESDfilter.cxx:2029
 AliAnalysisTaskESDfilter.cxx:2030
 AliAnalysisTaskESDfilter.cxx:2031
 AliAnalysisTaskESDfilter.cxx:2032
 AliAnalysisTaskESDfilter.cxx:2033
 AliAnalysisTaskESDfilter.cxx:2034
 AliAnalysisTaskESDfilter.cxx:2035
 AliAnalysisTaskESDfilter.cxx:2036
 AliAnalysisTaskESDfilter.cxx:2037
 AliAnalysisTaskESDfilter.cxx:2038
 AliAnalysisTaskESDfilter.cxx:2039
 AliAnalysisTaskESDfilter.cxx:2040
 AliAnalysisTaskESDfilter.cxx:2041
 AliAnalysisTaskESDfilter.cxx:2042
 AliAnalysisTaskESDfilter.cxx:2043
 AliAnalysisTaskESDfilter.cxx:2044
 AliAnalysisTaskESDfilter.cxx:2045
 AliAnalysisTaskESDfilter.cxx:2046
 AliAnalysisTaskESDfilter.cxx:2047
 AliAnalysisTaskESDfilter.cxx:2048
 AliAnalysisTaskESDfilter.cxx:2049
 AliAnalysisTaskESDfilter.cxx:2050
 AliAnalysisTaskESDfilter.cxx:2051
 AliAnalysisTaskESDfilter.cxx:2052
 AliAnalysisTaskESDfilter.cxx:2053
 AliAnalysisTaskESDfilter.cxx:2054
 AliAnalysisTaskESDfilter.cxx:2055
 AliAnalysisTaskESDfilter.cxx:2056
 AliAnalysisTaskESDfilter.cxx:2057
 AliAnalysisTaskESDfilter.cxx:2058
 AliAnalysisTaskESDfilter.cxx:2059
 AliAnalysisTaskESDfilter.cxx:2060
 AliAnalysisTaskESDfilter.cxx:2061
 AliAnalysisTaskESDfilter.cxx:2062
 AliAnalysisTaskESDfilter.cxx:2063
 AliAnalysisTaskESDfilter.cxx:2064
 AliAnalysisTaskESDfilter.cxx:2065
 AliAnalysisTaskESDfilter.cxx:2066
 AliAnalysisTaskESDfilter.cxx:2067
 AliAnalysisTaskESDfilter.cxx:2068
 AliAnalysisTaskESDfilter.cxx:2069
 AliAnalysisTaskESDfilter.cxx:2070
 AliAnalysisTaskESDfilter.cxx:2071
 AliAnalysisTaskESDfilter.cxx:2072
 AliAnalysisTaskESDfilter.cxx:2073
 AliAnalysisTaskESDfilter.cxx:2074
 AliAnalysisTaskESDfilter.cxx:2075
 AliAnalysisTaskESDfilter.cxx:2076
 AliAnalysisTaskESDfilter.cxx:2077
 AliAnalysisTaskESDfilter.cxx:2078
 AliAnalysisTaskESDfilter.cxx:2079
 AliAnalysisTaskESDfilter.cxx:2080
 AliAnalysisTaskESDfilter.cxx:2081
 AliAnalysisTaskESDfilter.cxx:2082
 AliAnalysisTaskESDfilter.cxx:2083
 AliAnalysisTaskESDfilter.cxx:2084
 AliAnalysisTaskESDfilter.cxx:2085
 AliAnalysisTaskESDfilter.cxx:2086
 AliAnalysisTaskESDfilter.cxx:2087
 AliAnalysisTaskESDfilter.cxx:2088
 AliAnalysisTaskESDfilter.cxx:2089
 AliAnalysisTaskESDfilter.cxx:2090
 AliAnalysisTaskESDfilter.cxx:2091
 AliAnalysisTaskESDfilter.cxx:2092
 AliAnalysisTaskESDfilter.cxx:2093
 AliAnalysisTaskESDfilter.cxx:2094
 AliAnalysisTaskESDfilter.cxx:2095
 AliAnalysisTaskESDfilter.cxx:2096
 AliAnalysisTaskESDfilter.cxx:2097
 AliAnalysisTaskESDfilter.cxx:2098
 AliAnalysisTaskESDfilter.cxx:2099
 AliAnalysisTaskESDfilter.cxx:2100
 AliAnalysisTaskESDfilter.cxx:2101
 AliAnalysisTaskESDfilter.cxx:2102
 AliAnalysisTaskESDfilter.cxx:2103
 AliAnalysisTaskESDfilter.cxx:2104
 AliAnalysisTaskESDfilter.cxx:2105
 AliAnalysisTaskESDfilter.cxx:2106
 AliAnalysisTaskESDfilter.cxx:2107
 AliAnalysisTaskESDfilter.cxx:2108
 AliAnalysisTaskESDfilter.cxx:2109
 AliAnalysisTaskESDfilter.cxx:2110
 AliAnalysisTaskESDfilter.cxx:2111
 AliAnalysisTaskESDfilter.cxx:2112
 AliAnalysisTaskESDfilter.cxx:2113
 AliAnalysisTaskESDfilter.cxx:2114
 AliAnalysisTaskESDfilter.cxx:2115
 AliAnalysisTaskESDfilter.cxx:2116
 AliAnalysisTaskESDfilter.cxx:2117
 AliAnalysisTaskESDfilter.cxx:2118
 AliAnalysisTaskESDfilter.cxx:2119
 AliAnalysisTaskESDfilter.cxx:2120
 AliAnalysisTaskESDfilter.cxx:2121
 AliAnalysisTaskESDfilter.cxx:2122
 AliAnalysisTaskESDfilter.cxx:2123
 AliAnalysisTaskESDfilter.cxx:2124
 AliAnalysisTaskESDfilter.cxx:2125
 AliAnalysisTaskESDfilter.cxx:2126
 AliAnalysisTaskESDfilter.cxx:2127
 AliAnalysisTaskESDfilter.cxx:2128
 AliAnalysisTaskESDfilter.cxx:2129
 AliAnalysisTaskESDfilter.cxx:2130
 AliAnalysisTaskESDfilter.cxx:2131
 AliAnalysisTaskESDfilter.cxx:2132
 AliAnalysisTaskESDfilter.cxx:2133
 AliAnalysisTaskESDfilter.cxx:2134
 AliAnalysisTaskESDfilter.cxx:2135
 AliAnalysisTaskESDfilter.cxx:2136
 AliAnalysisTaskESDfilter.cxx:2137
 AliAnalysisTaskESDfilter.cxx:2138
 AliAnalysisTaskESDfilter.cxx:2139
 AliAnalysisTaskESDfilter.cxx:2140
 AliAnalysisTaskESDfilter.cxx:2141
 AliAnalysisTaskESDfilter.cxx:2142
 AliAnalysisTaskESDfilter.cxx:2143
 AliAnalysisTaskESDfilter.cxx:2144
 AliAnalysisTaskESDfilter.cxx:2145
 AliAnalysisTaskESDfilter.cxx:2146
 AliAnalysisTaskESDfilter.cxx:2147
 AliAnalysisTaskESDfilter.cxx:2148
 AliAnalysisTaskESDfilter.cxx:2149
 AliAnalysisTaskESDfilter.cxx:2150
 AliAnalysisTaskESDfilter.cxx:2151
 AliAnalysisTaskESDfilter.cxx:2152
 AliAnalysisTaskESDfilter.cxx:2153
 AliAnalysisTaskESDfilter.cxx:2154
 AliAnalysisTaskESDfilter.cxx:2155
 AliAnalysisTaskESDfilter.cxx:2156
 AliAnalysisTaskESDfilter.cxx:2157
 AliAnalysisTaskESDfilter.cxx:2158
 AliAnalysisTaskESDfilter.cxx:2159
 AliAnalysisTaskESDfilter.cxx:2160
 AliAnalysisTaskESDfilter.cxx:2161
 AliAnalysisTaskESDfilter.cxx:2162
 AliAnalysisTaskESDfilter.cxx:2163
 AliAnalysisTaskESDfilter.cxx:2164
 AliAnalysisTaskESDfilter.cxx:2165
 AliAnalysisTaskESDfilter.cxx:2166
 AliAnalysisTaskESDfilter.cxx:2167
 AliAnalysisTaskESDfilter.cxx:2168
 AliAnalysisTaskESDfilter.cxx:2169
 AliAnalysisTaskESDfilter.cxx:2170
 AliAnalysisTaskESDfilter.cxx:2171
 AliAnalysisTaskESDfilter.cxx:2172
 AliAnalysisTaskESDfilter.cxx:2173
 AliAnalysisTaskESDfilter.cxx:2174
 AliAnalysisTaskESDfilter.cxx:2175
 AliAnalysisTaskESDfilter.cxx:2176
 AliAnalysisTaskESDfilter.cxx:2177
 AliAnalysisTaskESDfilter.cxx:2178
 AliAnalysisTaskESDfilter.cxx:2179
 AliAnalysisTaskESDfilter.cxx:2180
 AliAnalysisTaskESDfilter.cxx:2181
 AliAnalysisTaskESDfilter.cxx:2182
 AliAnalysisTaskESDfilter.cxx:2183
 AliAnalysisTaskESDfilter.cxx:2184
 AliAnalysisTaskESDfilter.cxx:2185
 AliAnalysisTaskESDfilter.cxx:2186
 AliAnalysisTaskESDfilter.cxx:2187
 AliAnalysisTaskESDfilter.cxx:2188
 AliAnalysisTaskESDfilter.cxx:2189
 AliAnalysisTaskESDfilter.cxx:2190
 AliAnalysisTaskESDfilter.cxx:2191
 AliAnalysisTaskESDfilter.cxx:2192
 AliAnalysisTaskESDfilter.cxx:2193
 AliAnalysisTaskESDfilter.cxx:2194
 AliAnalysisTaskESDfilter.cxx:2195
 AliAnalysisTaskESDfilter.cxx:2196
 AliAnalysisTaskESDfilter.cxx:2197
 AliAnalysisTaskESDfilter.cxx:2198
 AliAnalysisTaskESDfilter.cxx:2199
 AliAnalysisTaskESDfilter.cxx:2200
 AliAnalysisTaskESDfilter.cxx:2201
 AliAnalysisTaskESDfilter.cxx:2202
 AliAnalysisTaskESDfilter.cxx:2203
 AliAnalysisTaskESDfilter.cxx:2204
 AliAnalysisTaskESDfilter.cxx:2205
 AliAnalysisTaskESDfilter.cxx:2206
 AliAnalysisTaskESDfilter.cxx:2207
 AliAnalysisTaskESDfilter.cxx:2208
 AliAnalysisTaskESDfilter.cxx:2209
 AliAnalysisTaskESDfilter.cxx:2210
 AliAnalysisTaskESDfilter.cxx:2211
 AliAnalysisTaskESDfilter.cxx:2212
 AliAnalysisTaskESDfilter.cxx:2213
 AliAnalysisTaskESDfilter.cxx:2214
 AliAnalysisTaskESDfilter.cxx:2215
 AliAnalysisTaskESDfilter.cxx:2216
 AliAnalysisTaskESDfilter.cxx:2217
 AliAnalysisTaskESDfilter.cxx:2218
 AliAnalysisTaskESDfilter.cxx:2219
 AliAnalysisTaskESDfilter.cxx:2220
 AliAnalysisTaskESDfilter.cxx:2221
 AliAnalysisTaskESDfilter.cxx:2222
 AliAnalysisTaskESDfilter.cxx:2223
 AliAnalysisTaskESDfilter.cxx:2224
 AliAnalysisTaskESDfilter.cxx:2225
 AliAnalysisTaskESDfilter.cxx:2226
 AliAnalysisTaskESDfilter.cxx:2227
 AliAnalysisTaskESDfilter.cxx:2228
 AliAnalysisTaskESDfilter.cxx:2229
 AliAnalysisTaskESDfilter.cxx:2230
 AliAnalysisTaskESDfilter.cxx:2231
 AliAnalysisTaskESDfilter.cxx:2232
 AliAnalysisTaskESDfilter.cxx:2233
 AliAnalysisTaskESDfilter.cxx:2234
 AliAnalysisTaskESDfilter.cxx:2235
 AliAnalysisTaskESDfilter.cxx:2236
 AliAnalysisTaskESDfilter.cxx:2237
 AliAnalysisTaskESDfilter.cxx:2238
 AliAnalysisTaskESDfilter.cxx:2239
 AliAnalysisTaskESDfilter.cxx:2240
 AliAnalysisTaskESDfilter.cxx:2241
 AliAnalysisTaskESDfilter.cxx:2242
 AliAnalysisTaskESDfilter.cxx:2243
 AliAnalysisTaskESDfilter.cxx:2244
 AliAnalysisTaskESDfilter.cxx:2245
 AliAnalysisTaskESDfilter.cxx:2246
 AliAnalysisTaskESDfilter.cxx:2247
 AliAnalysisTaskESDfilter.cxx:2248
 AliAnalysisTaskESDfilter.cxx:2249
 AliAnalysisTaskESDfilter.cxx:2250
 AliAnalysisTaskESDfilter.cxx:2251
 AliAnalysisTaskESDfilter.cxx:2252
 AliAnalysisTaskESDfilter.cxx:2253
 AliAnalysisTaskESDfilter.cxx:2254
 AliAnalysisTaskESDfilter.cxx:2255
 AliAnalysisTaskESDfilter.cxx:2256
 AliAnalysisTaskESDfilter.cxx:2257
 AliAnalysisTaskESDfilter.cxx:2258
 AliAnalysisTaskESDfilter.cxx:2259
 AliAnalysisTaskESDfilter.cxx:2260
 AliAnalysisTaskESDfilter.cxx:2261
 AliAnalysisTaskESDfilter.cxx:2262
 AliAnalysisTaskESDfilter.cxx:2263
 AliAnalysisTaskESDfilter.cxx:2264
 AliAnalysisTaskESDfilter.cxx:2265
 AliAnalysisTaskESDfilter.cxx:2266
 AliAnalysisTaskESDfilter.cxx:2267
 AliAnalysisTaskESDfilter.cxx:2268
 AliAnalysisTaskESDfilter.cxx:2269
 AliAnalysisTaskESDfilter.cxx:2270
 AliAnalysisTaskESDfilter.cxx:2271
 AliAnalysisTaskESDfilter.cxx:2272
 AliAnalysisTaskESDfilter.cxx:2273
 AliAnalysisTaskESDfilter.cxx:2274
 AliAnalysisTaskESDfilter.cxx:2275
 AliAnalysisTaskESDfilter.cxx:2276
 AliAnalysisTaskESDfilter.cxx:2277
 AliAnalysisTaskESDfilter.cxx:2278
 AliAnalysisTaskESDfilter.cxx:2279
 AliAnalysisTaskESDfilter.cxx:2280
 AliAnalysisTaskESDfilter.cxx:2281
 AliAnalysisTaskESDfilter.cxx:2282
 AliAnalysisTaskESDfilter.cxx:2283
 AliAnalysisTaskESDfilter.cxx:2284
 AliAnalysisTaskESDfilter.cxx:2285
 AliAnalysisTaskESDfilter.cxx:2286
 AliAnalysisTaskESDfilter.cxx:2287
 AliAnalysisTaskESDfilter.cxx:2288
 AliAnalysisTaskESDfilter.cxx:2289
 AliAnalysisTaskESDfilter.cxx:2290
 AliAnalysisTaskESDfilter.cxx:2291
 AliAnalysisTaskESDfilter.cxx:2292
 AliAnalysisTaskESDfilter.cxx:2293
 AliAnalysisTaskESDfilter.cxx:2294
 AliAnalysisTaskESDfilter.cxx:2295
 AliAnalysisTaskESDfilter.cxx:2296
 AliAnalysisTaskESDfilter.cxx:2297
 AliAnalysisTaskESDfilter.cxx:2298
 AliAnalysisTaskESDfilter.cxx:2299
 AliAnalysisTaskESDfilter.cxx:2300
 AliAnalysisTaskESDfilter.cxx:2301
 AliAnalysisTaskESDfilter.cxx:2302
 AliAnalysisTaskESDfilter.cxx:2303
 AliAnalysisTaskESDfilter.cxx:2304
 AliAnalysisTaskESDfilter.cxx:2305
 AliAnalysisTaskESDfilter.cxx:2306
 AliAnalysisTaskESDfilter.cxx:2307
 AliAnalysisTaskESDfilter.cxx:2308
 AliAnalysisTaskESDfilter.cxx:2309
 AliAnalysisTaskESDfilter.cxx:2310
 AliAnalysisTaskESDfilter.cxx:2311
 AliAnalysisTaskESDfilter.cxx:2312
 AliAnalysisTaskESDfilter.cxx:2313
 AliAnalysisTaskESDfilter.cxx:2314
 AliAnalysisTaskESDfilter.cxx:2315
 AliAnalysisTaskESDfilter.cxx:2316
 AliAnalysisTaskESDfilter.cxx:2317
 AliAnalysisTaskESDfilter.cxx:2318
 AliAnalysisTaskESDfilter.cxx:2319
 AliAnalysisTaskESDfilter.cxx:2320
 AliAnalysisTaskESDfilter.cxx:2321
 AliAnalysisTaskESDfilter.cxx:2322
 AliAnalysisTaskESDfilter.cxx:2323
 AliAnalysisTaskESDfilter.cxx:2324
 AliAnalysisTaskESDfilter.cxx:2325
 AliAnalysisTaskESDfilter.cxx:2326
 AliAnalysisTaskESDfilter.cxx:2327
 AliAnalysisTaskESDfilter.cxx:2328
 AliAnalysisTaskESDfilter.cxx:2329
 AliAnalysisTaskESDfilter.cxx:2330
 AliAnalysisTaskESDfilter.cxx:2331
 AliAnalysisTaskESDfilter.cxx:2332
 AliAnalysisTaskESDfilter.cxx:2333
 AliAnalysisTaskESDfilter.cxx:2334
 AliAnalysisTaskESDfilter.cxx:2335
 AliAnalysisTaskESDfilter.cxx:2336
 AliAnalysisTaskESDfilter.cxx:2337
 AliAnalysisTaskESDfilter.cxx:2338
 AliAnalysisTaskESDfilter.cxx:2339
 AliAnalysisTaskESDfilter.cxx:2340
 AliAnalysisTaskESDfilter.cxx:2341
 AliAnalysisTaskESDfilter.cxx:2342
 AliAnalysisTaskESDfilter.cxx:2343
 AliAnalysisTaskESDfilter.cxx:2344
 AliAnalysisTaskESDfilter.cxx:2345
 AliAnalysisTaskESDfilter.cxx:2346
 AliAnalysisTaskESDfilter.cxx:2347
 AliAnalysisTaskESDfilter.cxx:2348
 AliAnalysisTaskESDfilter.cxx:2349
 AliAnalysisTaskESDfilter.cxx:2350
 AliAnalysisTaskESDfilter.cxx:2351
 AliAnalysisTaskESDfilter.cxx:2352
 AliAnalysisTaskESDfilter.cxx:2353
 AliAnalysisTaskESDfilter.cxx:2354
 AliAnalysisTaskESDfilter.cxx:2355
 AliAnalysisTaskESDfilter.cxx:2356
 AliAnalysisTaskESDfilter.cxx:2357
 AliAnalysisTaskESDfilter.cxx:2358
 AliAnalysisTaskESDfilter.cxx:2359
 AliAnalysisTaskESDfilter.cxx:2360
 AliAnalysisTaskESDfilter.cxx:2361
 AliAnalysisTaskESDfilter.cxx:2362
 AliAnalysisTaskESDfilter.cxx:2363
 AliAnalysisTaskESDfilter.cxx:2364
 AliAnalysisTaskESDfilter.cxx:2365
 AliAnalysisTaskESDfilter.cxx:2366
 AliAnalysisTaskESDfilter.cxx:2367
 AliAnalysisTaskESDfilter.cxx:2368
 AliAnalysisTaskESDfilter.cxx:2369
 AliAnalysisTaskESDfilter.cxx:2370
 AliAnalysisTaskESDfilter.cxx:2371
 AliAnalysisTaskESDfilter.cxx:2372
 AliAnalysisTaskESDfilter.cxx:2373
 AliAnalysisTaskESDfilter.cxx:2374
 AliAnalysisTaskESDfilter.cxx:2375
 AliAnalysisTaskESDfilter.cxx:2376
 AliAnalysisTaskESDfilter.cxx:2377
 AliAnalysisTaskESDfilter.cxx:2378
 AliAnalysisTaskESDfilter.cxx:2379
 AliAnalysisTaskESDfilter.cxx:2380
 AliAnalysisTaskESDfilter.cxx:2381
 AliAnalysisTaskESDfilter.cxx:2382
 AliAnalysisTaskESDfilter.cxx:2383
 AliAnalysisTaskESDfilter.cxx:2384
 AliAnalysisTaskESDfilter.cxx:2385
 AliAnalysisTaskESDfilter.cxx:2386
 AliAnalysisTaskESDfilter.cxx:2387
 AliAnalysisTaskESDfilter.cxx:2388
 AliAnalysisTaskESDfilter.cxx:2389
 AliAnalysisTaskESDfilter.cxx:2390
 AliAnalysisTaskESDfilter.cxx:2391
 AliAnalysisTaskESDfilter.cxx:2392
 AliAnalysisTaskESDfilter.cxx:2393
 AliAnalysisTaskESDfilter.cxx:2394
 AliAnalysisTaskESDfilter.cxx:2395
 AliAnalysisTaskESDfilter.cxx:2396
 AliAnalysisTaskESDfilter.cxx:2397
 AliAnalysisTaskESDfilter.cxx:2398
 AliAnalysisTaskESDfilter.cxx:2399
 AliAnalysisTaskESDfilter.cxx:2400
 AliAnalysisTaskESDfilter.cxx:2401
 AliAnalysisTaskESDfilter.cxx:2402
 AliAnalysisTaskESDfilter.cxx:2403
 AliAnalysisTaskESDfilter.cxx:2404
 AliAnalysisTaskESDfilter.cxx:2405
 AliAnalysisTaskESDfilter.cxx:2406
 AliAnalysisTaskESDfilter.cxx:2407
 AliAnalysisTaskESDfilter.cxx:2408
 AliAnalysisTaskESDfilter.cxx:2409
 AliAnalysisTaskESDfilter.cxx:2410
 AliAnalysisTaskESDfilter.cxx:2411
 AliAnalysisTaskESDfilter.cxx:2412
 AliAnalysisTaskESDfilter.cxx:2413
 AliAnalysisTaskESDfilter.cxx:2414
 AliAnalysisTaskESDfilter.cxx:2415
 AliAnalysisTaskESDfilter.cxx:2416
 AliAnalysisTaskESDfilter.cxx:2417
 AliAnalysisTaskESDfilter.cxx:2418
 AliAnalysisTaskESDfilter.cxx:2419
 AliAnalysisTaskESDfilter.cxx:2420
 AliAnalysisTaskESDfilter.cxx:2421
 AliAnalysisTaskESDfilter.cxx:2422
 AliAnalysisTaskESDfilter.cxx:2423
 AliAnalysisTaskESDfilter.cxx:2424
 AliAnalysisTaskESDfilter.cxx:2425
 AliAnalysisTaskESDfilter.cxx:2426
 AliAnalysisTaskESDfilter.cxx:2427
 AliAnalysisTaskESDfilter.cxx:2428
 AliAnalysisTaskESDfilter.cxx:2429
 AliAnalysisTaskESDfilter.cxx:2430
 AliAnalysisTaskESDfilter.cxx:2431
 AliAnalysisTaskESDfilter.cxx:2432
 AliAnalysisTaskESDfilter.cxx:2433
 AliAnalysisTaskESDfilter.cxx:2434
 AliAnalysisTaskESDfilter.cxx:2435
 AliAnalysisTaskESDfilter.cxx:2436
 AliAnalysisTaskESDfilter.cxx:2437
 AliAnalysisTaskESDfilter.cxx:2438
 AliAnalysisTaskESDfilter.cxx:2439
 AliAnalysisTaskESDfilter.cxx:2440
 AliAnalysisTaskESDfilter.cxx:2441
 AliAnalysisTaskESDfilter.cxx:2442
 AliAnalysisTaskESDfilter.cxx:2443
 AliAnalysisTaskESDfilter.cxx:2444
 AliAnalysisTaskESDfilter.cxx:2445
 AliAnalysisTaskESDfilter.cxx:2446
 AliAnalysisTaskESDfilter.cxx:2447
 AliAnalysisTaskESDfilter.cxx:2448
 AliAnalysisTaskESDfilter.cxx:2449
 AliAnalysisTaskESDfilter.cxx:2450
 AliAnalysisTaskESDfilter.cxx:2451
 AliAnalysisTaskESDfilter.cxx:2452
 AliAnalysisTaskESDfilter.cxx:2453
 AliAnalysisTaskESDfilter.cxx:2454
 AliAnalysisTaskESDfilter.cxx:2455
 AliAnalysisTaskESDfilter.cxx:2456
 AliAnalysisTaskESDfilter.cxx:2457
 AliAnalysisTaskESDfilter.cxx:2458
 AliAnalysisTaskESDfilter.cxx:2459
 AliAnalysisTaskESDfilter.cxx:2460
 AliAnalysisTaskESDfilter.cxx:2461
 AliAnalysisTaskESDfilter.cxx:2462
 AliAnalysisTaskESDfilter.cxx:2463
 AliAnalysisTaskESDfilter.cxx:2464
 AliAnalysisTaskESDfilter.cxx:2465
 AliAnalysisTaskESDfilter.cxx:2466
 AliAnalysisTaskESDfilter.cxx:2467
 AliAnalysisTaskESDfilter.cxx:2468
 AliAnalysisTaskESDfilter.cxx:2469
 AliAnalysisTaskESDfilter.cxx:2470
 AliAnalysisTaskESDfilter.cxx:2471
 AliAnalysisTaskESDfilter.cxx:2472
 AliAnalysisTaskESDfilter.cxx:2473
 AliAnalysisTaskESDfilter.cxx:2474
 AliAnalysisTaskESDfilter.cxx:2475
 AliAnalysisTaskESDfilter.cxx:2476
 AliAnalysisTaskESDfilter.cxx:2477
 AliAnalysisTaskESDfilter.cxx:2478
 AliAnalysisTaskESDfilter.cxx:2479
 AliAnalysisTaskESDfilter.cxx:2480
 AliAnalysisTaskESDfilter.cxx:2481
 AliAnalysisTaskESDfilter.cxx:2482
 AliAnalysisTaskESDfilter.cxx:2483
 AliAnalysisTaskESDfilter.cxx:2484
 AliAnalysisTaskESDfilter.cxx:2485
 AliAnalysisTaskESDfilter.cxx:2486