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

//_________________________________________________________________________
//
// Class for track selection and identification (not done now)
// Tracks from the CTS are kept in the AOD.
// Few histograms produced.
//
//-- Author: Gustavo Conesa (INFN-LNF)
//_________________________________________________________________________


// --- ROOT system ---
#include "TParticle.h"
#include "TH2F.h"
#include "TDatabasePDG.h"

//---- AliRoot system ----
#include "AliAnaChargedParticles.h"
#include "AliCaloTrackReader.h"
#include "AliAODPWG4Particle.h"
#include "AliStack.h"
#include "AliFiducialCut.h"
#include "AliVTrack.h"
#include "AliAODMCParticle.h"
#include "AliAODTrack.h"
#include "AliAODEvent.h"
#include "AliESDEvent.h"

ClassImp(AliAnaChargedParticles)
  
//__________________________________________________
  AliAnaChargedParticles::AliAnaChargedParticles() :
    AliAnaCaloTrackCorrBaseClass(),
    fFillTrackBCHistograms(0), fFillVertexBC0Histograms(0),
    fMomentum(),
    //Histograms
    fhNtracks(0),      fhPt(0),            fhPtNoCut(0),
    fhPtCutDCA(0),     fhPtCutDCABCOK(0),
    fhPhiNeg(0),       fhEtaNeg(0),
    fhPhiPos(0),       fhEtaPos(0), 
    fhEtaPhiPos(0),    fhEtaPhiNeg(0),
    fhPtVtxOutBC0(0),  fhEtaPhiVtxOutBC0(0),
    fhPtVtxInBC0(0),   fhEtaPhiVtxInBC0(0),
    fhPtSPDRefit(0),         fhPtNoSPDRefit(0),         fhPtNoSPDNoRefit(0),
    fhEtaPhiSPDRefitPt02(0), fhEtaPhiNoSPDRefitPt02(0), fhEtaPhiNoSPDNoRefitPt02(0),
    fhEtaPhiSPDRefitPt3(0),  fhEtaPhiNoSPDRefitPt3(0),  fhEtaPhiNoSPDNoRefitPt3(0),

    //TOF
    fhTOFSignal(0),    fhTOFSignalPtCut(0),  fhTOFSignalBCOK(0),
    fhPtTOFSignal(0),  fhPtTOFSignalDCACut(0),
    fhPtTOFSignalVtxOutBC0(0), fhPtTOFSignalVtxInBC0(0),
    fhPtTOFStatus0(0), fhEtaPhiTOFStatus0(0),
    fhEtaPhiTOFBC0(0), fhEtaPhiTOFBCPlus(0), fhEtaPhiTOFBCMinus(0),
    fhEtaPhiTOFBC0PileUpSPD(0),
    fhEtaPhiTOFBCPlusPileUpSPD(0),
    fhEtaPhiTOFBCMinusPileUpSPD(0),
    fhProductionVertexBC(0),
    fhPtNPileUpSPDVtx(0),    fhPtNPileUpTrkVtx(0),
    fhPtNPileUpSPDVtxBC0(0), fhPtNPileUpTrkVtxBC0(0)

{
  //Default Ctor

  for(Int_t i = 0; i < 7; i++)
  {
    fhPtPileUp         [i] = 0;
    fhPtTOFSignalPileUp[i] = 0;
    fhPtTOFSignalVtxOutBC0PileUp[i] = 0;
    fhPtTOFSignalVtxInBC0PileUp [i] = 0;
    fhProductionVertexBCPileUp  [i] = 0;
  }
  
  for(Int_t i = 0; i < 3; i++)
  {
    fhPtDCA               [i] = 0 ;
    
    fhPtDCASPDRefit       [i] = 0 ;
    fhPtDCANoSPDRefit     [i] = 0 ;
    fhPtDCANoSPDNoRefit   [i] = 0 ;

    fhPtDCAPileUp         [i] = 0 ;
    fhPtDCATOFBC0         [i] = 0 ;
    fhPtDCATOFBCOut       [i] = 0 ;
    fhPtDCAPileUpTOFBC0   [i] = 0 ;
    fhPtDCANoTOFHit       [i] = 0 ;
    fhPtDCAPileUpNoTOFHit [i] = 0 ;

    fhPtDCAVtxOutBC0      [i] = 0 ;
    fhPtDCAVtxInBC0       [i] = 0 ;
    fhPtDCAVtxOutBC0PileUp[i] = 0 ;
    fhPtDCAVtxInBC0PileUp [i] = 0 ;
    fhPtDCAVtxOutBC0NoTOFHit[i] = 0 ;
    fhPtDCAVtxInBC0NoTOFHit [i] = 0 ;
    fhPtDCAVtxOutBC0PileUpNoTOFHit[i] = 0 ;
    fhPtDCAVtxInBC0PileUpNoTOFHit [i] = 0 ;
  }
  
  // MC
  for(Int_t imcPart = 0; imcPart < 6; imcPart++)
  {
    fhPtMCPart     [imcPart] = 0;
    fhPtMCPrimPart [imcPart] = 0;
    fhPhiMCPart    [imcPart] = 0;
    fhPhiMCPrimPart[imcPart] = 0;
    fhEtaMCPart    [imcPart] = 0;
    fhEtaMCPrimPart[imcPart] = 0;
  }
  
  //Initialize parameters
  InitParameters();

}

//__________________________________________________
void AliAnaChargedParticles::FillPrimaryHistograms()
{
  // Fill primary generated particles histograms if MC data is available
  
  Int_t    pdg       =  0 ;
  Int_t    nprim     =  0 ;
  
  TParticle        * primStack = 0;
  AliAODMCParticle * primAOD   = 0;
  
  // Get the ESD MC particles container
  AliStack * stack = 0;
  if( GetReader()->ReadStack() )
  {
    stack = GetMCStack();
    if(!stack ) return;
    nprim = stack->GetNtrack();
  }
  
  // Get the AOD MC particles container
  TClonesArray * mcparticles = 0;
  if( GetReader()->ReadAODMCParticles() )
  {
    mcparticles = GetReader()->GetAODMCParticles();
    if( !mcparticles ) return;
    nprim = mcparticles->GetEntriesFast();
  }
  
  for(Int_t i=0 ; i < nprim; i++)
  {
    if(GetReader()->AcceptOnlyHIJINGLabels() && !GetReader()->IsHIJINGLabel(i)) continue ;
    
    if(GetReader()->ReadStack())
    {
      primStack = stack->Particle(i) ;
      if(!primStack)
      {
        AliWarning("ESD primaries pointer not available!!");
        continue;
      }
      
      if( primStack->GetStatusCode() != 1 ) continue;

      Int_t charge = (Int_t )TDatabasePDG::Instance()->GetParticle(primStack->GetPdgCode())->Charge();
      if( TMath::Abs(charge) == 0 ) continue;

      pdg  = TMath::Abs(primStack->GetPdgCode());
      
      if(primStack->Energy() == TMath::Abs(primStack->Pz()))  continue ; //Protection against floating point exception
      
      //printf("i %d, %s %d  %s %d \n",i, stack->Particle(i)->GetName(), stack->Particle(i)->GetPdgCode(),
      //       prim->GetName(), prim->GetPdgCode());
      
      //Charged kinematics
      primStack->Momentum(fMomentum);
    }
    else
    {
      primAOD = (AliAODMCParticle *) mcparticles->At(i);
      if(!primAOD)
      {
        AliWarning("AOD primaries pointer not available!!");
        continue;
      }

      if( primAOD->GetStatus() != 1 ) continue;
      
      if(TMath::Abs(primAOD->Charge()) == 0 ) continue;
      
      pdg = TMath::Abs(primAOD->GetPdgCode());
      
      if(primAOD->E() == TMath::Abs(primAOD->Pz()))  continue ; //Protection against floating point exception
      
      //Charged kinematics
      fMomentum.SetPxPyPzE(primAOD->Px(),primAOD->Py(),primAOD->Pz(),primAOD->E());
    }
    
    Int_t mcType = kmcUnknown;
    if     (pdg==211 ) mcType = kmcPion;
    else if(pdg==2212) mcType = kmcProton;
    else if(pdg==321 ) mcType = kmcKaon;
    else if(pdg==11  ) mcType = kmcElectron;
    else if(pdg==13  ) mcType = kmcMuon;
    
    //printf("pdg %d, charge %f, mctype %d\n",pdg, charge, mcType);
    
    Float_t  ptPrim = fMomentum.Pt();
    Float_t etaPrim = fMomentum.Eta();
    Float_t phiPrim = fMomentum.Phi();
    if(phiPrim < 0) phiPrim+=TMath::TwoPi();
    
    Bool_t in = GetFiducialCut()->IsInFiducialCut(etaPrim,phiPrim,kCTS) ;
    
    if(in)
      fhPtMCPrimPart[mcType]->Fill(ptPrim);
    fhEtaMCPrimPart[mcType]->Fill(ptPrim,etaPrim);
    fhPhiMCPrimPart[mcType]->Fill(ptPrim,phiPrim);
  }
}

//_______________________________________________________
TList *  AliAnaChargedParticles::GetCreateOutputObjects()
{  
  // Create histograms to be saved in output file and 
  // store them in fOutputContainer
  
  
  TList * outputContainer = new TList() ; 
  outputContainer->SetName("ChargedParticleHistos") ;
  
  Int_t nptbins  = GetHistogramRanges()->GetHistoPtBins(); Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins(); Int_t netabins = GetHistogramRanges()->GetHistoEtaBins();
  Float_t ptmax  = GetHistogramRanges()->GetHistoPtMax();  Float_t phimax = GetHistogramRanges()->GetHistoPhiMax();  Float_t etamax = GetHistogramRanges()->GetHistoEtaMax();
  Float_t ptmin  = GetHistogramRanges()->GetHistoPtMin();  Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();  Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();	

  fhNtracks  = new TH1F ("hNtracks","# of tracks", 1000,0,1000); 
  fhNtracks->SetXTitle("# of tracks");
  outputContainer->Add(fhNtracks);
    
  fhPt  = new TH1F ("hPt","#it{p}_{T} distribution", nptbins,ptmin,ptmax); 
  fhPt->SetXTitle("#it{p}_{T} (GeV/#it{c})");
  outputContainer->Add(fhPt);
  
  fhPtNoCut  = new TH1F ("hPtNoCut","#it{p}_{T} distribution, raw tracks", nptbins,ptmin,ptmax);
  fhPtNoCut->SetXTitle("#it{p}_{T} (GeV/#it{c})");
  outputContainer->Add(fhPtNoCut);
  
  if(!GetReader()->IsDCACutOn())
  {
    fhPtCutDCA  = new TH1F ("hPtCutDCA","#it{p}_{T} distribution, cut DCA", nptbins,ptmin,ptmax);
    fhPtCutDCA->SetXTitle("#it{p}_{T} (GeV/#it{c})");
    outputContainer->Add(fhPtCutDCA);
  }
  
  if(fFillVertexBC0Histograms && !GetReader()->IsDCACutOn())
  {
    fhPtCutDCABCOK  = new TH1F ("hPtCutDCABCOK","#it{p}_{T} distribution, DCA cut, track BC=0 or -100", nptbins,ptmin,ptmax);
    fhPtCutDCABCOK->SetXTitle("#it{p}_{T} (GeV/#it{c})");
    outputContainer->Add(fhPtCutDCABCOK);
  }
  
  fhPhiNeg  = new TH2F ("hPhiNegative","#phi of negative charges distribution",
                        nptbins,ptmin,ptmax, nphibins,phimin,phimax); 
  fhPhiNeg->SetYTitle("#phi (rad)");
  fhPhiNeg->SetXTitle("#it{p}_{T} (GeV/#it{c})");
  outputContainer->Add(fhPhiNeg);
  
  fhEtaNeg  = new TH2F ("hEtaNegative","#eta of negative charges distribution",
                        nptbins,ptmin,ptmax, netabins,etamin,etamax); 
  fhEtaNeg->SetYTitle("#eta ");
  fhEtaNeg->SetXTitle("#it{p}_{T} (GeV/#it{c})");
  outputContainer->Add(fhEtaNeg);
  
  fhPhiPos  = new TH2F ("hPhiPositive","#phi of positive charges distribution",
                        nptbins,ptmin,ptmax, nphibins,phimin,phimax); 
  fhPhiPos->SetYTitle("#phi (rad)");
  fhPhiPos->SetXTitle("#it{p}_{T} (GeV/#it{c})");
  outputContainer->Add(fhPhiPos);
  
  fhEtaPos  = new TH2F ("hEtaPositive","#eta of positive charges distribution",
                        nptbins,ptmin,ptmax, netabins,etamin,etamax); 
  fhEtaPos->SetYTitle("#eta ");
  fhEtaPos->SetXTitle("#it{p}_{T} (GeV/#it{c})");
  outputContainer->Add(fhEtaPos);
  
  fhEtaPhiPos  = new TH2F ("hEtaPhiPositive","pt/eta/phi of positive charge",netabins,etamin,etamax, nphibins,phimin,phimax);
  fhEtaPhiPos->SetXTitle("#eta ");
  fhEtaPhiPos->SetYTitle("#phi (rad)");  
  outputContainer->Add(fhEtaPhiPos);
  
  fhEtaPhiNeg  = new TH2F ("hEtaPhiNegative","#eta vs #phi of negative charge",netabins,etamin,etamax, nphibins,phimin,phimax); 
  fhEtaPhiNeg->SetXTitle("#eta ");
  fhEtaPhiNeg->SetYTitle("#phi (rad)");  
  outputContainer->Add(fhEtaPhiNeg);
  
  if(fFillVertexBC0Histograms)
  {
    fhPtVtxOutBC0  = new TH1F ("hPtVtxOutBC0","#it{p}_{T} distribution, vertex in BC=0", nptbins,ptmin,ptmax);
    fhPtVtxOutBC0->SetXTitle("#it{p}_{T} (GeV/#it{c})");
    outputContainer->Add(fhPtVtxOutBC0);
    
    fhEtaPhiVtxOutBC0  = new TH2F ("hEtaPhiVtxOutBC0","#eta vs #phi of all charges with vertex in BC=0",netabins,etamin,etamax, nphibins,phimin,phimax);
    fhEtaPhiVtxOutBC0->SetXTitle("#eta ");
    fhEtaPhiVtxOutBC0->SetYTitle("#phi (rad)");
    outputContainer->Add(fhEtaPhiVtxOutBC0);
    
    fhPtVtxInBC0  = new TH1F ("hPtVtxInBC0","#it{p}_{T} distribution, vertex in BC=0", nptbins,ptmin,ptmax);
    fhPtVtxInBC0->SetXTitle("#it{p}_{T} (GeV/#it{c})");
    outputContainer->Add(fhPtVtxInBC0);
    
    fhEtaPhiVtxInBC0  = new TH2F ("hEtaPhiVtxInBC0","#eta vs #phi of all charges with vertex in BC=0",netabins,etamin,etamax, nphibins,phimin,phimax);
    fhEtaPhiVtxInBC0->SetXTitle("#eta ");
    fhEtaPhiVtxInBC0->SetYTitle("#phi (rad)");
    outputContainer->Add(fhEtaPhiVtxInBC0);
  }
  
  fhPtSPDRefit  = new TH1F ("hPtSPDRefit","#it{p}_{T} distribution of tracks with SPD and ITS refit", nptbins,ptmin,ptmax);
  fhPtSPDRefit->SetXTitle("#it{p}_{T} (GeV/#it{c})");
  outputContainer->Add(fhPtSPDRefit);

  fhEtaPhiSPDRefitPt02  = new TH2F ("hEtaPhiSPDRefitPt02","#eta vs #phi of tracks with SPD and ITS refit, #it{p}_{T}< 2 GeV/#it{c}",
                                    netabins,etamin,etamax, nphibins,phimin,phimax);
  fhEtaPhiSPDRefitPt02->SetXTitle("#eta ");
  fhEtaPhiSPDRefitPt02->SetYTitle("#phi (rad)");
  outputContainer->Add(fhEtaPhiSPDRefitPt02);
  
  fhEtaPhiSPDRefitPt3  = new TH2F ("hEtaPhiSPDRefitPt3","#eta vs #phi of tracks with SPD and ITS refit, #it{p}_{T}> 3 GeV/#it{c}",
                                   netabins,etamin,etamax, nphibins,phimin,phimax);
  fhEtaPhiSPDRefitPt3->SetXTitle("#eta ");
  fhEtaPhiSPDRefitPt3->SetYTitle("#phi (rad)");
  outputContainer->Add(fhEtaPhiSPDRefitPt3);

  fhPtNoSPDRefit  = new TH1F ("hPtNoSPDRefit","#it{p}_{T} distribution of constrained tracks no SPD and with ITSRefit",
                              nptbins,ptmin,ptmax);
  fhPtNoSPDRefit->SetXTitle("#it{p}_{T} (GeV/#it{c})");
  outputContainer->Add(fhPtNoSPDRefit);
  
  fhEtaPhiNoSPDRefitPt02  = new TH2F ("hEtaPhiNoSPDRefitPt02","#eta vs #phi of constrained tracks no SPD and with ITSRefit, #it{p}_{T}< 2 GeV/#it{c}",
                                      netabins,etamin,etamax, nphibins,phimin,phimax);
  fhEtaPhiNoSPDRefitPt02->SetXTitle("#eta ");
  fhEtaPhiNoSPDRefitPt02->SetYTitle("#phi (rad)");
  outputContainer->Add(fhEtaPhiNoSPDRefitPt02);
  
  fhEtaPhiNoSPDRefitPt3  = new TH2F ("hEtaPhiNoSPDRefitPt3","#eta vs #phi of of constrained tracks no SPD and with ITSRefit, #it{p}_{T}> 3 GeV/#it{c}",
                                     netabins,etamin,etamax, nphibins,phimin,phimax);
  fhEtaPhiNoSPDRefitPt3->SetXTitle("#eta ");
  fhEtaPhiNoSPDRefitPt3->SetYTitle("#phi (rad)");
  outputContainer->Add(fhEtaPhiNoSPDRefitPt3);
  
  fhPtNoSPDNoRefit  = new TH1F ("hPtNoSPDNoRefit","#it{p}_{T} distribution of constrained tracks with no SPD requierement and without ITSRefit",
                                nptbins,ptmin,ptmax);
  fhPtNoSPDNoRefit->SetXTitle("#it{p}_{T} (GeV/#it{c})");
  outputContainer->Add(fhPtNoSPDNoRefit);
  
  fhEtaPhiNoSPDNoRefitPt02  = new TH2F ("hEtaPhiNoSPDNoRefitPt02",
                                        "#eta vs #phi of constrained tracks with no SPD requierement and without ITSRefit, #it{p}_{T}< 2 GeV/#it{c}",
                                        netabins,etamin,etamax, nphibins,phimin,phimax);
  fhEtaPhiNoSPDNoRefitPt02->SetXTitle("#eta ");
  fhEtaPhiNoSPDNoRefitPt02->SetYTitle("#phi (rad)");
  outputContainer->Add(fhEtaPhiNoSPDNoRefitPt02);
  
  fhEtaPhiNoSPDNoRefitPt3  = new TH2F ("hEtaPhiNoSPDNoRefitPt3",
                                       "#eta vs #phi of constrained tracks with no SPD requierement and without ITSRefit, #it{p}_{T}> 3 GeV/#it{c}",
                                       netabins,etamin,etamax, nphibins,phimin,phimax);
  fhEtaPhiNoSPDNoRefitPt3->SetXTitle("#eta ");
  fhEtaPhiNoSPDNoRefitPt3->SetYTitle("#phi (rad)");
  outputContainer->Add(fhEtaPhiNoSPDNoRefitPt3);

  if(fFillVertexBC0Histograms)
  {
    fhProductionVertexBC      = new TH1F("hProductionVertexBC", "tracks production vertex bunch crossing ", 41 , -20 , 20 ) ;
    fhProductionVertexBC->SetYTitle("# tracks");
    fhProductionVertexBC->SetXTitle("Bunch crossing");
    outputContainer->Add(fhProductionVertexBC);
  }
  
  Int_t ntofbins = 1000;
  Int_t mintof = -500;
  Int_t maxtof =  500;
  
  fhTOFSignal  = new TH1F ("hTOFSignal","TOF signal", ntofbins,mintof,maxtof);
  fhTOFSignal->SetXTitle("TOF signal (ns)");
  outputContainer->Add(fhTOFSignal);

  if(fFillTrackBCHistograms)
  {
    fhTOFSignalBCOK  = new TH1F ("hTOFSignalBCOK","TOF signal", ntofbins,mintof,maxtof);
    fhTOFSignalBCOK->SetXTitle("TOF signal (ns)");
    outputContainer->Add(fhTOFSignalBCOK);
  }
  
  fhTOFSignalPtCut  = new TH1F ("hTOFSignalPtCut","TOF signal", ntofbins,mintof,maxtof);
  fhTOFSignalPtCut->SetXTitle("TOF signal (ns)");
  outputContainer->Add(fhTOFSignalPtCut);

  fhPtTOFSignal  = new TH2F ("hPtTOFSignal","TOF signal", nptbins,ptmin,ptmax,ntofbins,mintof,maxtof);
  fhPtTOFSignal->SetYTitle("TOF signal (ns)");
  fhPtTOFSignal->SetXTitle("#it{p}_{T} (GeV/#it{c})");
  outputContainer->Add(fhPtTOFSignal);
  
  if(!GetReader()->IsDCACutOn())
  {
    fhPtTOFSignalDCACut  = new TH2F ("hPtTOFSignalDCACut","TOF signal after DCA cut", nptbins,ptmin,ptmax,ntofbins,mintof,maxtof);
    fhPtTOFSignalDCACut->SetYTitle("TOF signal (ns)");
    fhPtTOFSignalDCACut->SetXTitle("#it{p}_{T} (GeV/#it{c})");
    outputContainer->Add(fhPtTOFSignalDCACut);
  }
  
  if(fFillVertexBC0Histograms)
  {
    fhPtTOFSignalVtxOutBC0  = new TH2F ("hPtTOFSignalVtxOutBC0","TOF signal, vtx BC!=0", nptbins,ptmin,ptmax,ntofbins,mintof,maxtof);
    fhPtTOFSignalVtxOutBC0->SetYTitle("TOF signal (ns)");
    fhPtTOFSignalVtxOutBC0->SetXTitle("#it{p}_{T} (GeV/#it{c})");
    outputContainer->Add(fhPtTOFSignalVtxOutBC0);
    
    fhPtTOFSignalVtxInBC0  = new TH2F ("hPtTOFSignalVtxInBC0","TOF signal, vtx BC=0", nptbins,ptmin,ptmax,ntofbins,mintof,maxtof);
    fhPtTOFSignalVtxInBC0->SetYTitle("TOF signal (ns)");
    fhPtTOFSignalVtxInBC0->SetXTitle("#it{p}_{T} (GeV/#it{c})");
    outputContainer->Add(fhPtTOFSignalVtxInBC0);
  }
  
  if(IsPileUpAnalysisOn())
  {    
    TString pileUpName[] = {"SPD","EMCAL","SPDOrEMCAL","SPDAndEMCAL","SPDAndNotEMCAL","EMCALAndNotSPD","NotSPDAndNotEMCAL"} ;
    
    for(Int_t i = 0 ; i < 7 ; i++)
    {
      fhPtPileUp[i]  = new TH1F(Form("hPtPileUp%s",pileUpName[i].Data()),
                                Form("Track #it{p}_{T}distribution, %s Pile-Up event",pileUpName[i].Data()),
                                nptbins,ptmin,ptmax);
      fhPtPileUp[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      outputContainer->Add(fhPtPileUp[i]);
            
      fhPtTOFSignalPileUp[i]  = new TH2F(Form("hPtTOFSignalPileUp%s",pileUpName[i].Data()),
                                         Form("Track TOF vs #it{p}_{T}distribution, %s Pile-Up event",pileUpName[i].Data()),
                                         nptbins,ptmin,ptmax,ntofbins,mintof,maxtof);
      fhPtTOFSignalPileUp[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      fhPtTOFSignalPileUp[i]->SetXTitle("TOF signal (ns)");
      outputContainer->Add(fhPtTOFSignalPileUp[i]);
      
      if(fFillVertexBC0Histograms)
      {
        fhPtTOFSignalVtxOutBC0PileUp[i]  = new TH2F(Form("hPtTOFSignalVtxOutBC0PileUp%s",pileUpName[i].Data()),
                                           Form("Track TOF vs #it{p}_{T}distribution, %s Pile-Up event, vtx BC!=0",pileUpName[i].Data()),
                                           nptbins,ptmin,ptmax,ntofbins,mintof,maxtof);
        fhPtTOFSignalVtxOutBC0PileUp[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
        fhPtTOFSignalVtxOutBC0PileUp[i]->SetXTitle("TOF signal (ns)");
        outputContainer->Add(fhPtTOFSignalVtxOutBC0PileUp[i]);

        fhPtTOFSignalVtxInBC0PileUp[i]  = new TH2F(Form("hPtTOFSignalVtxInBC0PileUp%s",pileUpName[i].Data()),
                                                    Form("Track TOF vs #it{p}_{T}distribution, %s Pile-Up event, vtx BC=0",pileUpName[i].Data()),
                                                    nptbins,ptmin,ptmax,ntofbins,mintof,maxtof);
        fhPtTOFSignalVtxInBC0PileUp[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
        fhPtTOFSignalVtxInBC0PileUp[i]->SetXTitle("TOF signal (ns)");
        outputContainer->Add(fhPtTOFSignalVtxInBC0PileUp[i]);
      }
      
      if(fFillVertexBC0Histograms)
      {
        fhProductionVertexBCPileUp[i]      = new TH1F(Form("hProductionVertexBCPileUp%s",pileUpName[i].Data()),
                                                Form("tracks production vertex bunch crossing, %s Pile-Up event",pileUpName[i].Data()),
                                                41 , -20 , 20 ) ;
        fhProductionVertexBCPileUp[i]->SetYTitle("# tracks");
        fhProductionVertexBCPileUp[i]->SetXTitle("Bunch crossing");
        outputContainer->Add(fhProductionVertexBCPileUp[i]);
      }
    }
 
    
    if(fFillTrackBCHistograms)
    {
      fhEtaPhiTOFBC0  = new TH2F ("hEtaPhiTOFBC0","eta-phi for tracks with hit on TOF, and tof corresponding to BC=0",netabins,etamin,etamax, nphibins,phimin,phimax);
      fhEtaPhiTOFBC0->SetXTitle("#eta ");
      fhEtaPhiTOFBC0->SetYTitle("#phi (rad)");
      outputContainer->Add(fhEtaPhiTOFBC0);
      
      fhEtaPhiTOFBCPlus  = new TH2F ("hEtaPhiTOFBCPlus","eta-phi for tracks with hit on TOF, and tof corresponding to BC>0",netabins,etamin,etamax, nphibins,phimin,phimax);
      fhEtaPhiTOFBCPlus->SetXTitle("#eta ");
      fhEtaPhiTOFBCPlus->SetYTitle("#phi (rad)");
      outputContainer->Add(fhEtaPhiTOFBCPlus);
      
      fhEtaPhiTOFBCMinus  = new TH2F ("hEtaPhiTOFBCMinus","eta-phi for tracks with hit on TOF, and tof corresponding to BC<0",netabins,etamin,etamax, nphibins,phimin,phimax);
      fhEtaPhiTOFBCMinus->SetXTitle("#eta ");
      fhEtaPhiTOFBCMinus->SetYTitle("#phi (rad)");
      outputContainer->Add(fhEtaPhiTOFBCMinus);
      
      if(IsPileUpAnalysisOn())
      {
        fhEtaPhiTOFBC0PileUpSPD  = new TH2F ("hEtaPhiTOFBC0PileUpSPD","eta-phi for tracks with hit on TOF, and tof corresponding to BC=0, SPD pile-up",netabins,etamin,etamax, nphibins,phimin,phimax);
        fhEtaPhiTOFBC0PileUpSPD->SetXTitle("#eta ");
        fhEtaPhiTOFBC0PileUpSPD->SetYTitle("#phi (rad)");
        outputContainer->Add(fhEtaPhiTOFBC0PileUpSPD);
        
        fhEtaPhiTOFBCPlusPileUpSPD  = new TH2F ("hEtaPhiTOFBCPlusPileUpSPD","eta-phi for tracks with hit on TOF, and tof corresponding to BC>0, SPD pile-up",netabins,etamin,etamax, nphibins,phimin,phimax);
        fhEtaPhiTOFBCPlusPileUpSPD->SetXTitle("#eta ");
        fhEtaPhiTOFBCPlusPileUpSPD->SetYTitle("#phi (rad)");
        outputContainer->Add(fhEtaPhiTOFBCPlusPileUpSPD);
        
        fhEtaPhiTOFBCMinusPileUpSPD  = new TH2F ("hEtaPhiTOFBCMinusPileUpSPD","eta-phi for tracks with hit on TOF, and tof corresponding to BC<0, SPD pile-up",netabins,etamin,etamax, nphibins,phimin,phimax);
        fhEtaPhiTOFBCMinusPileUpSPD->SetXTitle("#eta ");
        fhEtaPhiTOFBCMinusPileUpSPD->SetYTitle("#phi (rad)");
        outputContainer->Add(fhEtaPhiTOFBCMinusPileUpSPD);
      }
    }
    
  }
  
  fhPtTOFStatus0  = new TH1F ("hPtTOFStatus0","#it{p}_{T} distribution of tracks not hitting TOF", nptbins,ptmin,ptmax);
  fhPtTOFStatus0->SetXTitle("#it{p}_{T} (GeV/#it{c})");
  outputContainer->Add(fhPtTOFStatus0);
  
  
  fhEtaPhiTOFStatus0  = new TH2F ("hEtaPhiTOFStatus0","eta-phi for tracks without hit on TOF",netabins,etamin,etamax, nphibins,phimin,phimax);
  fhEtaPhiTOFStatus0->SetXTitle("#eta ");
  fhEtaPhiTOFStatus0->SetYTitle("#phi (rad)");
  outputContainer->Add(fhEtaPhiTOFStatus0);

  TString dcaName[] = {"xy","z","Cons"} ;
  Int_t ndcabins = 800;
  Int_t mindca = -4;
  Int_t maxdca =  4;
  
  for(Int_t i = 0 ; i < 3 ; i++)
  {
    
    fhPtDCA[i]  = new TH2F(Form("hPtDCA%s",dcaName[i].Data()),
                           Form("Track DCA%s vs #it{p}_{T}distribution",dcaName[i].Data()),
                           nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
    fhPtDCA[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
    fhPtDCA[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
    outputContainer->Add(fhPtDCA[i]);
    
    fhPtDCASPDRefit[i]  = new TH2F(Form("hPtDCA%sSPDRefit",dcaName[i].Data()),
                                        Form("Track DCA%s vs #it{p}_{T}distribution of tracks with SPD and ITS refit",dcaName[i].Data()),
                                        nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
    fhPtDCASPDRefit[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
    fhPtDCASPDRefit[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
    outputContainer->Add(fhPtDCASPDRefit[i]);

    fhPtDCANoSPDRefit[i]  = new TH2F(Form("hPtDCA%sNoSPDRefit",dcaName[i].Data()),
                                 Form("Track DCA%s vs #it{p}_{T}distributionof constrained tracks no SPD and with ITSRefit",dcaName[i].Data()),
                                 nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
    fhPtDCANoSPDRefit[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
    fhPtDCANoSPDRefit[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
    outputContainer->Add(fhPtDCANoSPDRefit[i]);

    fhPtDCANoSPDNoRefit[i]  = new TH2F(Form("hPtDCA%sNoSPDNoRefit",dcaName[i].Data()),
                           Form("Track DCA%s vs #it{p}_{T}distribution, constrained tracks with no SPD requierement and without ITSRefit",dcaName[i].Data()),
                           nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
    fhPtDCANoSPDNoRefit[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
    fhPtDCANoSPDNoRefit[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
    outputContainer->Add(fhPtDCANoSPDNoRefit[i]);
    
    if(fFillTrackBCHistograms)
    {
      fhPtDCATOFBC0[i]  = new TH2F(Form("hPtDCA%sTOFBC0",dcaName[i].Data()),
                                   Form("Track DCA%s vs #it{p}_{T}distribution, BC=0",dcaName[i].Data()),
                                   nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
      fhPtDCATOFBC0[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      fhPtDCATOFBC0[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
      outputContainer->Add(fhPtDCATOFBC0[i]);
      
      fhPtDCATOFBCOut[i]  = new TH2F(Form("hPtDCA%sTOFBCOut",dcaName[i].Data()),
                                     Form("Track DCA%s vs #it{p}_{T}distribution, BC!=0",dcaName[i].Data()),
                                     nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
      fhPtDCATOFBCOut[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      fhPtDCATOFBCOut[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
      outputContainer->Add(fhPtDCATOFBCOut[i]);
    }
    
    fhPtDCANoTOFHit[i]  = new TH2F(Form("hPtDCA%sNoTOFHit",dcaName[i].Data()),
                           Form("Track (no TOF hit) DCA%s vs #it{p}_{T}distribution",dcaName[i].Data()),
                           nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
    fhPtDCANoTOFHit[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
    fhPtDCANoTOFHit[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
    outputContainer->Add(fhPtDCANoTOFHit[i]);

    if(fFillVertexBC0Histograms)
    {
      fhPtDCAVtxOutBC0[i]  = new TH2F(Form("hPtDCA%sVtxOutBC0",dcaName[i].Data()),
                                      Form("Track DCA%s vs #it{p}_{T}distribution, vertex with BC!=0",dcaName[i].Data()),
                                      nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
      fhPtDCAVtxOutBC0[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      fhPtDCAVtxOutBC0[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
      outputContainer->Add(fhPtDCAVtxOutBC0[i]);
      
      fhPtDCAVtxOutBC0NoTOFHit[i]  = new TH2F(Form("hPtDCA%sVtxOutBC0NoTOFHit",dcaName[i].Data()),
                                              Form("Track (no TOF hit) DCA%s vs #it{p}_{T}distribution, vertex with BC!=0",dcaName[i].Data()),
                                              nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
      fhPtDCAVtxOutBC0NoTOFHit[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      fhPtDCAVtxOutBC0NoTOFHit[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
      outputContainer->Add(fhPtDCAVtxOutBC0NoTOFHit[i]);
      
      fhPtDCAVtxInBC0[i]  = new TH2F(Form("hPtDCA%sVtxInBC0",dcaName[i].Data()),
                                      Form("Track DCA%s vs #it{p}_{T}distribution, vertex with BC==0",dcaName[i].Data()),
                                      nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
      fhPtDCAVtxInBC0[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      fhPtDCAVtxInBC0[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
      outputContainer->Add(fhPtDCAVtxInBC0[i]);
      
      fhPtDCAVtxInBC0NoTOFHit[i]  = new TH2F(Form("hPtDCA%sVtxInBC0NoTOFHit",dcaName[i].Data()),
                                              Form("Track (no TOF hit) DCA%s vs #it{p}_{T}distribution, vertex with BC==0",dcaName[i].Data()),
                                              nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
      fhPtDCAVtxInBC0NoTOFHit[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      fhPtDCAVtxInBC0NoTOFHit[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
      outputContainer->Add(fhPtDCAVtxInBC0NoTOFHit[i]);
    }
    
    if(IsPileUpAnalysisOn())
    {
      fhPtDCAPileUp[i]  = new TH2F(Form("hPtDCA%sPileUp",dcaName[i].Data()),
                             Form("Track DCA%s vs #it{p}_{T}distribution, SPD Pile-Up",dcaName[i].Data()),
                             nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
      fhPtDCAPileUp[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      fhPtDCAPileUp[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
      outputContainer->Add(fhPtDCAPileUp[i]);
      
      if(fFillTrackBCHistograms)
      {
        fhPtDCAPileUpTOFBC0[i]  = new TH2F(Form("hPtDCA%sPileUpTOFBC0",dcaName[i].Data()),
                                           Form("Track DCA%s vs #it{p}_{T}distribution",dcaName[i].Data()),
                                           nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
        fhPtDCAPileUpTOFBC0[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
        fhPtDCAPileUpTOFBC0[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
        outputContainer->Add(fhPtDCAPileUpTOFBC0[i]);
      }
      
      fhPtDCAPileUpNoTOFHit[i]  = new TH2F(Form("hPtDCA%sPileUpNoTOFHit",dcaName[i].Data()),
                                     Form("Track (no TOF hit) DCA%s vs #it{p}_{T}distribution, SPD Pile-Up, vertex with BC!=0",dcaName[i].Data()),
                                     nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
      fhPtDCAPileUpNoTOFHit[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      fhPtDCAPileUpNoTOFHit[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
      outputContainer->Add(fhPtDCAPileUpNoTOFHit[i]);
      
      if(fFillVertexBC0Histograms)
      {
        fhPtDCAVtxOutBC0PileUp[i]  = new TH2F(Form("hPtDCA%sPileUpVtxOutBC0",dcaName[i].Data()),
                                              Form("Track DCA%s vs #it{p}_{T}distribution, SPD Pile-Up, vertex with BC!=0",dcaName[i].Data()),
                                              nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
        fhPtDCAVtxOutBC0PileUp[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
        fhPtDCAVtxOutBC0PileUp[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
        outputContainer->Add(fhPtDCAVtxOutBC0PileUp[i]);
        
        fhPtDCAVtxOutBC0PileUpNoTOFHit[i]  = new TH2F(Form("hPtDCA%sVtxOutBC0PileUpNoTOFHit",dcaName[i].Data()),
                                                      Form("Track (no TOF hit) DCA%s vs #it{p}_{T}distribution, SPD Pile-Up, vertex with BC!=0",dcaName[i].Data()),
                                                      nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
        fhPtDCAVtxOutBC0PileUpNoTOFHit[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
        fhPtDCAVtxOutBC0PileUpNoTOFHit[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
        outputContainer->Add(fhPtDCAVtxOutBC0PileUpNoTOFHit[i]);
        
        fhPtDCAVtxInBC0PileUp[i]  = new TH2F(Form("hPtDCA%sPileUpVtxInBC0",dcaName[i].Data()),
                                              Form("Track DCA%s vs #it{p}_{T}distribution, SPD Pile-Up,vertex with BC==0",dcaName[i].Data()),
                                              nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
        fhPtDCAVtxInBC0PileUp[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
        fhPtDCAVtxInBC0PileUp[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
        outputContainer->Add(fhPtDCAVtxInBC0PileUp[i]);
        
        fhPtDCAVtxInBC0PileUpNoTOFHit[i]  = new TH2F(Form("hPtDCA%sVtxInBC0PileUpNoTOFHit",dcaName[i].Data()),
                                                      Form("Track (no TOF hit) DCA%s vs #it{p}_{T}distribution, SPD Pile-Up, vertex with BC==0",dcaName[i].Data()),
                                                      nptbins,ptmin,ptmax,ndcabins,mindca,maxdca);
        fhPtDCAVtxInBC0PileUpNoTOFHit[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
        fhPtDCAVtxInBC0PileUpNoTOFHit[i]->SetYTitle(Form("DCA_{%s}",dcaName[i].Data()));
        outputContainer->Add(fhPtDCAVtxInBC0PileUpNoTOFHit[i]);
        
      }
    }
  }

  if(IsDataMC())
  {
    //enum mvType{kmcPion = 0, kmcProton = 1, kmcKaon = 2, kmcMuon = 3, kmcElectron = 4, kmcUnknown = 4 };

    TString histoName[] = {"Pion","Proton","Kaon","Muon","Electron","Unknown"};
    TString titleName[] = {"#pi^{#pm}","p^{#pm}","K^{#pm}","#mu^{#pm}","e^{#pm}","x^{#pm}"};
    
    for(Int_t imcPart = 0; imcPart < 6; imcPart++)
    {
      fhPtMCPart[imcPart]  = new TH1F (Form("hPtMC%s",histoName[imcPart].Data()),
                                       Form("reconstructed #it{p}_{T} distribution from %s",titleName[imcPart].Data()),
                                       nptbins,ptmin,ptmax);
      fhPtMCPart[imcPart]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      outputContainer->Add(fhPtMCPart[imcPart]);
      
      fhPhiMCPart[imcPart]  = new TH2F (Form("hPhiMC%s",histoName[imcPart].Data()),
                                        Form("reconstructed #phi vs #it{p}_{T} distribution from %s",titleName[imcPart].Data()),
                                        nptbins,ptmin,ptmax, nphibins,phimin,phimax);
      fhPhiMCPart[imcPart]->SetYTitle("#phi (rad)");
      fhPhiMCPart[imcPart]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      outputContainer->Add(fhPhiMCPart[imcPart]);
      
      fhEtaMCPart[imcPart]  = new TH2F (Form("hEtaMC%s",histoName[imcPart].Data()),
                                        Form("reconstructed #eta vs #it{p}_{T} distribution from %s",titleName[imcPart].Data()),
                                        nptbins,ptmin,ptmax, netabins,etamin,etamax);
      fhEtaMCPart[imcPart]->SetYTitle("#eta ");
      fhEtaMCPart[imcPart]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      outputContainer->Add(fhEtaMCPart[imcPart]);
      
      fhPtMCPrimPart[imcPart]  = new TH1F (Form("hPtMCPrimary%s",histoName[imcPart].Data()),
                                           Form("generated #it{p}_{T} distribution from %s",titleName[imcPart].Data()),
                                           nptbins,ptmin,ptmax);
      fhPtMCPrimPart[imcPart]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      outputContainer->Add(fhPtMCPrimPart[imcPart]);
      
      fhPhiMCPrimPart[imcPart]  = new TH2F (Form("hPhiMCPrimary%s",histoName[imcPart].Data()),
                                            Form("generated #phi vs #it{p}_{T} distribution from %s",titleName[imcPart].Data()),
                                            nptbins,ptmin,ptmax, nphibins,phimin,phimax);
      fhPhiMCPrimPart[imcPart]->SetYTitle("#phi (rad)");
      fhPhiMCPrimPart[imcPart]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      outputContainer->Add(fhPhiMCPrimPart[imcPart]);
      
      fhEtaMCPrimPart[imcPart]  = new TH2F (Form("hEtaMCPrimary%s",histoName[imcPart].Data()),
                                            Form("generated #eta vs #it{p}_{T} distribution from %s",titleName[imcPart].Data()),
                                            nptbins,ptmin,ptmax, netabins,etamin,etamax);
      fhEtaMCPrimPart[imcPart]->SetYTitle("#eta ");
      fhEtaMCPrimPart[imcPart]->SetXTitle("#it{p}_{T} (GeV/#it{c})");
      outputContainer->Add(fhEtaMCPrimPart[imcPart]);
    }
    
  }
  
  fhPtNPileUpSPDVtx  = new TH2F ("hPt_NPileUpVertSPD","pT of cluster vs N pile-up SPD vertex",
                                 nptbins,ptmin,ptmax,20,0,20);
  fhPtNPileUpSPDVtx->SetYTitle("# vertex ");
  fhPtNPileUpSPDVtx->SetXTitle("#it{p}_{T} (GeV/#it{c})");
  outputContainer->Add(fhPtNPileUpSPDVtx);
  
  fhPtNPileUpTrkVtx  = new TH2F ("hPt_NPileUpVertTracks","pT of cluster vs N pile-up Tracks vertex",
                                 nptbins,ptmin,ptmax, 20,0,20 );
  fhPtNPileUpTrkVtx->SetYTitle("# vertex ");
  fhPtNPileUpTrkVtx->SetXTitle("#it{p}_{T} (GeV/#it{c})");
  outputContainer->Add(fhPtNPileUpTrkVtx);
  
  if(fFillVertexBC0Histograms)
  {
    fhPtNPileUpSPDVtxBC0  = new TH2F ("hPt_NPileUpVertSPD_BC0","pT of cluster vs N pile-up SPD vertex",
                                   nptbins,ptmin,ptmax,20,0,20);
    fhPtNPileUpSPDVtxBC0->SetYTitle("# vertex ");
    fhPtNPileUpSPDVtxBC0->SetXTitle("#it{p}_{T} (GeV/#it{c})");
    outputContainer->Add(fhPtNPileUpSPDVtxBC0);
  
    fhPtNPileUpTrkVtxBC0  = new TH2F ("hPt_NPileUpVertTracks_BC0","pT of cluster vs N pile-up Tracks vertex",
                                   nptbins,ptmin,ptmax, 20,0,20 );
    fhPtNPileUpTrkVtxBC0->SetYTitle("# vertex ");
    fhPtNPileUpTrkVtxBC0->SetXTitle("#it{p}_{T} (GeV/#it{c})");
    outputContainer->Add(fhPtNPileUpTrkVtxBC0);
  }

  return outputContainer;

}


//___________________________________________
void AliAnaChargedParticles::InitParameters()
{ 
  //Initialize the parameters of the analysis.
  SetOutputAODClassName("AliAODPWG4Particle");
  SetOutputAODName("PWG4Particle");

  AddToHistogramsName("AnaCharged_");
  
}

//____________________________________________________________
void AliAnaChargedParticles::Print(const Option_t * opt) const
{
  //Print some relevant parameters set for the analysis
  if(! opt)
    return;
  
  printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
  AliAnaCaloTrackCorrBaseClass::Print(" ");	
	
  printf("Min Pt = %3.2f\n", GetMinPt());
  printf("Max Pt = %3.2f\n", GetMaxPt());
  
} 

//_________________________________
void AliAnaChargedParticles::Init()
{  
  //Init
  //Do some checks
  
  if(!GetReader()->IsCTSSwitchedOn())
    AliFatal("STOP!: You want to use CTS tracks in analysis but not read!! \n!!Check the configuration file!!");
  
}

//_________________________________________________
void  AliAnaChargedParticles::MakeAnalysisFillAOD() 
{
  //Do analysis and fill aods
  if(!GetCTSTracks() || GetCTSTracks()->GetEntriesFast() == 0) return ;
  
  Int_t ntracks = GetCTSTracks()->GetEntriesFast();
  Double_t vert[3] = {0,0,0}; //vertex ;
  
  //Some prints
  AliDebug(1,Form("In CTS aod entries %d", ntracks));
  
  AliVEvent  * event = GetReader()->GetInputEvent();
  AliESDEvent* esdEv = dynamic_cast<AliESDEvent*> (event);
  AliAODEvent* aodEv = dynamic_cast<AliAODEvent*> (event);
  
  Int_t vtxBC = GetReader()->GetVertexBC();
  if(!GetReader()->IsDCACutOn()) vtxBC = GetReader()->GetVertexBC(event->GetPrimaryVertex());

  if(fFillVertexBC0Histograms)
  {
    fhProductionVertexBC->Fill(vtxBC);
    if(IsPileUpAnalysisOn())
    {
      if(GetReader()->IsPileUpFromSPD())               fhProductionVertexBCPileUp[0]->Fill(vtxBC);
      if(GetReader()->IsPileUpFromEMCal())             fhProductionVertexBCPileUp[1]->Fill(vtxBC);
      if(GetReader()->IsPileUpFromSPDOrEMCal())        fhProductionVertexBCPileUp[2]->Fill(vtxBC);
      if(GetReader()->IsPileUpFromSPDAndEMCal())       fhProductionVertexBCPileUp[3]->Fill(vtxBC);
      if(GetReader()->IsPileUpFromSPDAndNotEMCal())    fhProductionVertexBCPileUp[4]->Fill(vtxBC);
      if(GetReader()->IsPileUpFromEMCalAndNotSPD())    fhProductionVertexBCPileUp[5]->Fill(vtxBC);
      if(GetReader()->IsPileUpFromNotSPDAndNotEMCal()) fhProductionVertexBCPileUp[6]->Fill(vtxBC);
    }
  }
  
  // N pile up vertices
  Int_t nVtxSPD = -1;
  Int_t nVtxTrk = -1;
  
  if      (esdEv)
  {
    nVtxSPD = esdEv->GetNumberOfPileupVerticesSPD();
    nVtxTrk = esdEv->GetNumberOfPileupVerticesTracks();
    
  }//ESD
  else if (aodEv)
  {
    nVtxSPD = aodEv->GetNumberOfPileupVerticesSPD();
    nVtxTrk = aodEv->GetNumberOfPileupVerticesTracks();
  }//AOD

  
  //printf("AliAnaChargedParticles::MakeAnalysisFillAOD() - primary vertex BC %d\n",vtxBC);
  
  Double_t bz = event->GetMagneticField();

  //Fill AODParticle with CTS aods
  Float_t pt  = 0;
  Float_t phi = 0;
  Float_t eta = 0;
  Int_t evtIndex = 0;
  for(Int_t i = 0; i < ntracks; i++)
  {
    AliVTrack * track =  (AliVTrack*) (GetCTSTracks()->At(i));
        
    pt  = track->Pt();
    eta = track->Eta();
    phi = track->Phi();

    fhPtNoCut->Fill(pt);
    
    fhPtNPileUpSPDVtx->Fill(pt,nVtxSPD);
    fhPtNPileUpTrkVtx->Fill(pt,nVtxTrk);
    
    AliAODTrack * aodTrack = dynamic_cast<AliAODTrack*>(track);
    AliESDtrack * esdTrack = dynamic_cast<AliESDtrack*>(track);
    
    //TOF
    ULong_t status = track->GetStatus();
    Bool_t okTOF = (status & AliVTrack::kTOFout) == AliVTrack::kTOFout ;
    Double32_t tof = track->GetTOFsignal()*1e-3;    
    
    //DCA
    Double_t dcaCons = -999;
    if(aodTrack)
    {
      dcaCons = aodTrack->DCA();
      //vtxBC   = aodTrack->GetProdVertex()->GetBC();
    }
    
    Double_t dca[2]   = {1e6,1e6};
    Double_t covar[3] = {1e6,1e6,1e6};
    track->PropagateToDCA(GetReader()->GetInputEvent()->GetPrimaryVertex(),bz,100.,dca,covar);
    
    Float_t trackDCA = dca[0];
    
    if(dcaCons == -999)
    {
      fhPtDCA[0]->Fill(pt, dca[0]);
      fhPtDCA[1]->Fill(pt, dca[1]);
    }
    else
    {
      trackDCA = dcaCons;
      fhPtDCA[2]->Fill(pt, dcaCons);
    }
    
    if(GetReader()->AcceptDCA(pt,trackDCA) && !GetReader()->IsDCACutOn() ) fhPtCutDCA->Fill(pt);
    
    if(fFillVertexBC0Histograms)
    {
      if(TMath::Abs(vtxBC) > 0 && vtxBC!=AliVTrack::kTOFBCNA)
      {        
        fhPtVtxOutBC0->Fill(pt);
        fhEtaPhiVtxOutBC0->Fill(eta,phi);
        
        if(dcaCons == -999)
        {
          fhPtDCAVtxOutBC0[0]->Fill(pt, dca[0]);
          fhPtDCAVtxOutBC0[1]->Fill(pt, dca[1]);
        }
        else
          fhPtDCAVtxOutBC0[2]->Fill(pt, dcaCons);
      }
      else
      {
        fhPtVtxInBC0->Fill(pt);
        fhEtaPhiVtxInBC0->Fill(eta,phi);
        
        fhPtNPileUpSPDVtxBC0->Fill(pt,nVtxSPD);
        fhPtNPileUpTrkVtxBC0->Fill(pt,nVtxTrk);
        
        if(GetReader()->AcceptDCA(pt,trackDCA) && !GetReader()->IsDCACutOn() ) fhPtCutDCABCOK->Fill(pt);
        
        if(dcaCons == -999)
        {
          fhPtDCAVtxInBC0[0]->Fill(pt, dca[0]);
          fhPtDCAVtxInBC0[1]->Fill(pt, dca[1]);
        }
        else
          fhPtDCAVtxInBC0[2]->Fill(pt, dcaCons);
        
      }
    }
    
    if(IsPileUpAnalysisOn() && GetReader()->IsPileUpFromSPD())
    {
      if(dcaCons == -999)
      {
        fhPtDCAPileUp[0]->Fill(pt, dca[0]);
        fhPtDCAPileUp[1]->Fill(pt, dca[1]);
      }
      else
        fhPtDCAPileUp[2]->Fill(pt, dcaCons);

      if(fFillVertexBC0Histograms)
      {
        if(TMath::Abs(vtxBC) > 0 && vtxBC!=AliVTrack::kTOFBCNA)
        {
          if(dcaCons == -999)
          {
            fhPtDCAVtxOutBC0PileUp[0]->Fill(pt, dca[0]);
            fhPtDCAVtxOutBC0PileUp[1]->Fill(pt, dca[1]);
          }
          else fhPtDCAVtxOutBC0PileUp[2]->Fill(pt, dcaCons);
        }
        else
        {
          if(dcaCons == -999)
          {
            fhPtDCAVtxInBC0PileUp[0]->Fill(pt, dca[0]);
            fhPtDCAVtxInBC0PileUp[1]->Fill(pt, dca[1]);
          }
          else fhPtDCAVtxInBC0PileUp[2]->Fill(pt, dcaCons);
        }
      }
    }

    if(!okTOF)
    {
      if(dcaCons == -999)
      {
        fhPtDCANoTOFHit[0]->Fill(pt, dca[0]);
        fhPtDCANoTOFHit[1]->Fill(pt, dca[1]);
      }
      else
        fhPtDCANoTOFHit[2]->Fill(pt, dcaCons);
      
      if(fFillVertexBC0Histograms)
      {
        if(TMath::Abs(vtxBC) > 0 && vtxBC!=AliVTrack::kTOFBCNA)
        {
          if(dcaCons == -999)
          {
            fhPtDCAVtxOutBC0NoTOFHit[0]->Fill(pt, dca[0]);
            fhPtDCAVtxOutBC0NoTOFHit[1]->Fill(pt, dca[1]);
          }
          else
            fhPtDCAVtxOutBC0NoTOFHit[2]->Fill(pt, dcaCons);
        }
        else
        {
          if(dcaCons == -999)
          {
            fhPtDCAVtxInBC0NoTOFHit[0]->Fill(pt, dca[0]);
            fhPtDCAVtxInBC0NoTOFHit[1]->Fill(pt, dca[1]);
          }
          else
            fhPtDCAVtxInBC0NoTOFHit[2]->Fill(pt, dcaCons);
          
        }
      }
      
      if(IsPileUpAnalysisOn() && GetReader()->IsPileUpFromSPD())
      {
        if(dcaCons == -999)
        {
          fhPtDCAPileUpNoTOFHit[0]->Fill(pt, dca[0]);
          fhPtDCAPileUpNoTOFHit[1]->Fill(pt, dca[1]);
        }
        else
          fhPtDCAPileUpNoTOFHit[2]->Fill(pt, dcaCons);
        
        if(fFillVertexBC0Histograms)
        {
          if(TMath::Abs(vtxBC) > 0 && vtxBC!=AliVTrack::kTOFBCNA)
          {
            if(dcaCons == -999)
            {
              fhPtDCAVtxOutBC0PileUpNoTOFHit[0]->Fill(pt, dca[0]);
              fhPtDCAVtxOutBC0PileUpNoTOFHit[1]->Fill(pt, dca[1]);
            }
            else
              fhPtDCAVtxOutBC0PileUpNoTOFHit[2]->Fill(pt, dcaCons);
          }
          else
          {
            if(dcaCons == -999)
            {
              fhPtDCAVtxInBC0PileUpNoTOFHit[0]->Fill(pt, dca[0]);
              fhPtDCAVtxInBC0PileUpNoTOFHit[1]->Fill(pt, dca[1]);
            }
            else
              fhPtDCAVtxInBC0PileUpNoTOFHit[2]->Fill(pt, dcaCons);
            
          }
        }
      }
    }
    
    //printf("track pT %2.2f, DCA Cons %f, DCA1 %f, DCA2 %f, TOFBC %d, oktof %d, tof %f\n",
    //      pt,dcaCons,dca[0],dca[1],track->GetTOFBunchCrossing(bz),okTOF, tof);
    
    
//    if( vtxBC == 0 && trackBC !=0 && trackBC!=AliVTrack::kTOFBCNA)
//      printf("TOF Signal %e, BC %d, pt %f, dca_xy %f, dca_z %f, dca_tpc %f \n", tof,trackBC, pt,dca[0],dca[1],dcaCons);
    
    
    if(okTOF)
    {
      fhTOFSignal  ->Fill(tof);
      fhPtTOFSignal->Fill(pt, tof);
      if(GetReader()->AcceptDCA(pt,trackDCA) && !GetReader()->IsDCACutOn() ) fhPtTOFSignalDCACut->Fill(pt, tof);
        
      if(fFillVertexBC0Histograms)
      {
        if(TMath::Abs(vtxBC) > 0 && vtxBC!=AliVTrack::kTOFBCNA)
          fhPtTOFSignalVtxOutBC0->Fill(pt, tof);
        else
          fhPtTOFSignalVtxInBC0->Fill(pt, tof);
      }
      
      Int_t trackBC = 1000;
      
      if(fFillTrackBCHistograms)
      {
        trackBC = track->GetTOFBunchCrossing(bz);

        if(trackBC==0)
        {
          fhTOFSignalBCOK->Fill(tof);
          
          if(dcaCons == -999)
          {
            fhPtDCATOFBC0[0]->Fill(pt, dca[0]);
            fhPtDCATOFBC0[1]->Fill(pt, dca[1]);
          }
          else
            fhPtDCATOFBC0[2]->Fill(pt, dcaCons);
          
          if(IsPileUpAnalysisOn() && GetReader()->IsPileUpFromSPD())
          {
            if(dcaCons == -999)
            {
              fhPtDCAPileUpTOFBC0[0]->Fill(pt, dca[0]);
              fhPtDCAPileUpTOFBC0[1]->Fill(pt, dca[1]);
            }
            else
              fhPtDCAPileUpTOFBC0[2]->Fill(pt, dcaCons);
          }
        }
        else if(trackBC!=AliVTrack::kTOFBCNA)
        {
          if(dcaCons == -999)
          {
            fhPtDCATOFBCOut[0]->Fill(pt, dca[0]);
            fhPtDCATOFBCOut[1]->Fill(pt, dca[1]);
          }
          else
            fhPtDCATOFBCOut[2]->Fill(pt, dcaCons);
          
        }
      }
      
      if(IsPileUpAnalysisOn())
      {
        if(GetReader()->IsPileUpFromSPD())               fhPtTOFSignalPileUp[0]->Fill(pt, tof);
        if(GetReader()->IsPileUpFromEMCal())             fhPtTOFSignalPileUp[1]->Fill(pt, tof);
        if(GetReader()->IsPileUpFromSPDOrEMCal())        fhPtTOFSignalPileUp[2]->Fill(pt, tof);
        if(GetReader()->IsPileUpFromSPDAndEMCal())       fhPtTOFSignalPileUp[3]->Fill(pt, tof);
        if(GetReader()->IsPileUpFromSPDAndNotEMCal())    fhPtTOFSignalPileUp[4]->Fill(pt, tof);
        if(GetReader()->IsPileUpFromEMCalAndNotSPD())    fhPtTOFSignalPileUp[5]->Fill(pt, tof);
        if(GetReader()->IsPileUpFromNotSPDAndNotEMCal()) fhPtTOFSignalPileUp[6]->Fill(pt, tof);
        
        if(fFillTrackBCHistograms)
        {
          if      (trackBC ==0)  { fhEtaPhiTOFBC0    ->Fill(eta,phi); if(IsPileUpAnalysisOn() && GetReader()->IsPileUpFromSPD()) fhEtaPhiTOFBC0PileUpSPD    ->Fill(eta,phi); }
          else if (trackBC < 0)  { fhEtaPhiTOFBCPlus ->Fill(eta,phi); if(IsPileUpAnalysisOn() && GetReader()->IsPileUpFromSPD()) fhEtaPhiTOFBCPlusPileUpSPD ->Fill(eta,phi); }
          else if (trackBC > 0)  { fhEtaPhiTOFBCMinus->Fill(eta,phi); if(IsPileUpAnalysisOn() && GetReader()->IsPileUpFromSPD()) fhEtaPhiTOFBCMinusPileUpSPD->Fill(eta,phi); }
        }
        
        if(fFillVertexBC0Histograms)
        {
          if(TMath::Abs(vtxBC) > 0 && vtxBC!=AliVTrack::kTOFBCNA)
          {            
            if(GetReader()->IsPileUpFromSPD())               fhPtTOFSignalVtxOutBC0PileUp[0]->Fill(pt, tof);
            if(GetReader()->IsPileUpFromEMCal())             fhPtTOFSignalVtxOutBC0PileUp[1]->Fill(pt, tof);
            if(GetReader()->IsPileUpFromSPDOrEMCal())        fhPtTOFSignalVtxOutBC0PileUp[2]->Fill(pt, tof);
            if(GetReader()->IsPileUpFromSPDAndEMCal())       fhPtTOFSignalVtxOutBC0PileUp[3]->Fill(pt, tof);
            if(GetReader()->IsPileUpFromSPDAndNotEMCal())    fhPtTOFSignalVtxOutBC0PileUp[4]->Fill(pt, tof);
            if(GetReader()->IsPileUpFromEMCalAndNotSPD())    fhPtTOFSignalVtxOutBC0PileUp[5]->Fill(pt, tof);
            if(GetReader()->IsPileUpFromNotSPDAndNotEMCal()) fhPtTOFSignalVtxOutBC0PileUp[6]->Fill(pt, tof);
          }
          else
          {            
            if(GetReader()->IsPileUpFromSPD())               fhPtTOFSignalVtxInBC0PileUp[0]->Fill(pt, tof);
            if(GetReader()->IsPileUpFromEMCal())             fhPtTOFSignalVtxInBC0PileUp[1]->Fill(pt, tof);
            if(GetReader()->IsPileUpFromSPDOrEMCal())        fhPtTOFSignalVtxInBC0PileUp[2]->Fill(pt, tof);
            if(GetReader()->IsPileUpFromSPDAndEMCal())       fhPtTOFSignalVtxInBC0PileUp[3]->Fill(pt, tof);
            if(GetReader()->IsPileUpFromSPDAndNotEMCal())    fhPtTOFSignalVtxInBC0PileUp[4]->Fill(pt, tof);
            if(GetReader()->IsPileUpFromEMCalAndNotSPD())    fhPtTOFSignalVtxInBC0PileUp[5]->Fill(pt, tof);
            if(GetReader()->IsPileUpFromNotSPDAndNotEMCal()) fhPtTOFSignalVtxInBC0PileUp[6]->Fill(pt, tof);
          }
        }
      }
    }
    
    //Fill AODParticle after some selection
    fMomentum.SetPxPyPzE(track->Px(),track->Py(),track->Pz(),0);
    Bool_t in = GetFiducialCut()->IsInFiducialCut(fMomentum.Eta(),fMomentum.Phi(),kCTS) ;
    
    AliDebug(1,Form("Track pt %2.2f, eta %2.2f, phi %2.2f in fiducial cut %d",pt,eta,phi,in));
    
    //Acceptance selection
    if(IsFiducialCutOn() && ! in ) continue ;
    
    // Momentum selection
    if(pt < GetMinPt() || pt > GetMaxPt()) continue;
    
    if(okTOF) fhTOFSignalPtCut->Fill(tof); 
    else
    {
      fhPtTOFStatus0    ->Fill(pt);
      fhEtaPhiTOFStatus0->Fill(eta,phi);
    }
    
    Bool_t bITSRefit    = (status & AliVTrack::kITSrefit) == AliVTrack::kITSrefit;
    Bool_t bConstrained = kFALSE;
    if     (aodTrack) bConstrained = aodTrack->IsGlobalConstrained();
    else if(esdTrack) bConstrained = (!esdTrack->HasPointOnITSLayer(0) && !esdTrack->HasPointOnITSLayer(1));
    //printf("Track %d, pt %2.2f, eta %2.2f, phi %2.2f, SPDRefit %d, refit %d, dcaCons %2.2f\n",
    //       i, pt, eta, phi, bConstrained, bITSRefit, dcaCons);
    
    if(bConstrained)
    {      
      if(bITSRefit)
      {
        fhPtNoSPDRefit->Fill(pt);
        if(pt < 2)fhEtaPhiNoSPDRefitPt02->Fill(eta,phi);
        if(pt > 3)fhEtaPhiNoSPDRefitPt3 ->Fill(eta,phi);
        
        if(dcaCons == -999)
        {
          fhPtDCANoSPDRefit[0]->Fill(pt, dca[0]);
          fhPtDCANoSPDRefit[1]->Fill(pt, dca[1]);
        }
        else
          fhPtDCANoSPDRefit[2]->Fill(pt, dcaCons);
        
      }
      else
      {
        fhPtNoSPDNoRefit->Fill(pt);
        if(pt < 2)fhEtaPhiNoSPDNoRefitPt02->Fill(eta,phi);
        if(pt > 3)fhEtaPhiNoSPDNoRefitPt3 ->Fill(eta,phi);
        if(dcaCons == -999)
        {
          fhPtDCANoSPDNoRefit[0]->Fill(pt, dca[0]);
          fhPtDCANoSPDNoRefit[1]->Fill(pt, dca[1]);
        }
        else
          fhPtDCANoSPDNoRefit[2]->Fill(pt, dcaCons);

      }
    }
    else
    {
      fhPtSPDRefit->Fill(pt);
      if(pt < 2)fhEtaPhiSPDRefitPt02->Fill(eta,phi);
      if(pt > 3)fhEtaPhiSPDRefitPt3 ->Fill(eta,phi);
      if(dcaCons == -999)
      {
        fhPtDCASPDRefit[0]->Fill(pt, dca[0]);
        fhPtDCASPDRefit[1]->Fill(pt, dca[1]);
      }
      else
        fhPtDCASPDRefit[2]->Fill(pt, dcaCons);
    }
        
    // Mixed event
    if (GetMixedEvent())
    {
      evtIndex = GetMixedEvent()->EventIndex(track->GetID()) ;
    }
    
    GetVertex(vert,evtIndex); 
    if(TMath::Abs(vert[2])> GetZvertexCut()) return; 
        
    AliAODPWG4Particle tr = AliAODPWG4Particle(track->Px(),track->Py(),track->Pz(),0);
    tr.SetDetectorTag(kCTS);
    tr.SetLabel(track->GetLabel());
    tr.SetTrackLabel(track->GetID(),-1);
    tr.SetChargedBit(track->Charge()>0);
		
    AddAODParticle(tr);
    
  }//loop
  
  AliDebug(1,Form("Final aod branch entries %d", GetOutputAODBranch()->GetEntriesFast()));
  
} 

//__________________________________________________________________
void  AliAnaChargedParticles::MakeAnalysisFillHistograms()
{
  //Do analysis and fill histograms
  
  if(IsDataMC()) FillPrimaryHistograms();
  
  //Loop on stored AODParticles
  Int_t naod = GetOutputAODBranch()->GetEntriesFast();
  
  fhNtracks->Fill(GetReader()->GetTrackMultiplicity()) ;
  
  AliDebug(1,Form("AOD branch entries %d", naod));
  
  Float_t pt  = 0;
  Float_t phi = 0;
  Float_t eta = 0;
  
  for(Int_t iaod = 0; iaod < naod ; iaod++)
  {
    AliAODPWG4Particle* track =  (AliAODPWG4Particle*) (GetOutputAODBranch()->At(iaod));
    
    pt  = track->Pt();
    eta = track->Eta();
    phi = track->Phi();
    
    fhPt->Fill(pt);
    
    if(track->GetChargedBit())
    {
      fhPhiPos   ->Fill(pt, phi);
      fhEtaPos   ->Fill(pt, eta);
      fhEtaPhiPos->Fill(eta,phi);
    }
    else
    {
      fhPhiNeg   ->Fill(pt, phi);
      fhEtaNeg   ->Fill(pt, eta);
      fhEtaPhiNeg->Fill(eta,phi);
    }
    
    if(IsPileUpAnalysisOn())
    {
      if(GetReader()->IsPileUpFromSPD())               {fhPtPileUp[0]->Fill(pt);}
      if(GetReader()->IsPileUpFromEMCal())             {fhPtPileUp[1]->Fill(pt);}
      if(GetReader()->IsPileUpFromSPDOrEMCal())        {fhPtPileUp[2]->Fill(pt);}
      if(GetReader()->IsPileUpFromSPDAndEMCal())       {fhPtPileUp[3]->Fill(pt);}
      if(GetReader()->IsPileUpFromSPDAndNotEMCal())    {fhPtPileUp[4]->Fill(pt);}
      if(GetReader()->IsPileUpFromEMCalAndNotSPD())    {fhPtPileUp[5]->Fill(pt);}
      if(GetReader()->IsPileUpFromNotSPDAndNotEMCal()) {fhPtPileUp[6]->Fill(pt);}
    }
    
    
    if(IsDataMC())
    {
      //Play with the MC stack if available
      Int_t mompdg = -1;
      Int_t label  = track->GetLabel();
      
      if(label >= 0)
      {
        if( GetReader()->ReadStack() && label < GetMCStack()->GetNtrack())
        {
          TParticle * mom = GetMCStack()->Particle(label);
          mompdg =TMath::Abs(mom->GetPdgCode());
        }
        else if(GetReader()->ReadAODMCParticles())
        {
          AliAODMCParticle * aodmom = 0;
          //Get the list of MC particles
          aodmom = (AliAODMCParticle*) (GetReader()->GetAODMCParticles())->At(label);
          mompdg =TMath::Abs(aodmom->GetPdgCode());
        }
      }
      
      Int_t mcType = kmcUnknown;
      if     (mompdg==211 ) mcType = kmcPion;
      else if(mompdg==2212) mcType = kmcProton;
      else if(mompdg==321 ) mcType = kmcKaon;
      else if(mompdg==11  ) mcType = kmcElectron;
      else if(mompdg==13  ) mcType = kmcMuon;
      
      fhPtMCPart [mcType]->Fill(pt);
      fhEtaMCPart[mcType]->Fill(pt,eta);
      fhPhiMCPart[mcType]->Fill(pt,phi);
      
    }//Work with stack also
    
  }// aod branch loop
  
}
 AliAnaChargedParticles.cxx:1
 AliAnaChargedParticles.cxx:2
 AliAnaChargedParticles.cxx:3
 AliAnaChargedParticles.cxx:4
 AliAnaChargedParticles.cxx:5
 AliAnaChargedParticles.cxx:6
 AliAnaChargedParticles.cxx:7
 AliAnaChargedParticles.cxx:8
 AliAnaChargedParticles.cxx:9
 AliAnaChargedParticles.cxx:10
 AliAnaChargedParticles.cxx:11
 AliAnaChargedParticles.cxx:12
 AliAnaChargedParticles.cxx:13
 AliAnaChargedParticles.cxx:14
 AliAnaChargedParticles.cxx:15
 AliAnaChargedParticles.cxx:16
 AliAnaChargedParticles.cxx:17
 AliAnaChargedParticles.cxx:18
 AliAnaChargedParticles.cxx:19
 AliAnaChargedParticles.cxx:20
 AliAnaChargedParticles.cxx:21
 AliAnaChargedParticles.cxx:22
 AliAnaChargedParticles.cxx:23
 AliAnaChargedParticles.cxx:24
 AliAnaChargedParticles.cxx:25
 AliAnaChargedParticles.cxx:26
 AliAnaChargedParticles.cxx:27
 AliAnaChargedParticles.cxx:28
 AliAnaChargedParticles.cxx:29
 AliAnaChargedParticles.cxx:30
 AliAnaChargedParticles.cxx:31
 AliAnaChargedParticles.cxx:32
 AliAnaChargedParticles.cxx:33
 AliAnaChargedParticles.cxx:34
 AliAnaChargedParticles.cxx:35
 AliAnaChargedParticles.cxx:36
 AliAnaChargedParticles.cxx:37
 AliAnaChargedParticles.cxx:38
 AliAnaChargedParticles.cxx:39
 AliAnaChargedParticles.cxx:40
 AliAnaChargedParticles.cxx:41
 AliAnaChargedParticles.cxx:42
 AliAnaChargedParticles.cxx:43
 AliAnaChargedParticles.cxx:44
 AliAnaChargedParticles.cxx:45
 AliAnaChargedParticles.cxx:46
 AliAnaChargedParticles.cxx:47
 AliAnaChargedParticles.cxx:48
 AliAnaChargedParticles.cxx:49
 AliAnaChargedParticles.cxx:50
 AliAnaChargedParticles.cxx:51
 AliAnaChargedParticles.cxx:52
 AliAnaChargedParticles.cxx:53
 AliAnaChargedParticles.cxx:54
 AliAnaChargedParticles.cxx:55
 AliAnaChargedParticles.cxx:56
 AliAnaChargedParticles.cxx:57
 AliAnaChargedParticles.cxx:58
 AliAnaChargedParticles.cxx:59
 AliAnaChargedParticles.cxx:60
 AliAnaChargedParticles.cxx:61
 AliAnaChargedParticles.cxx:62
 AliAnaChargedParticles.cxx:63
 AliAnaChargedParticles.cxx:64
 AliAnaChargedParticles.cxx:65
 AliAnaChargedParticles.cxx:66
 AliAnaChargedParticles.cxx:67
 AliAnaChargedParticles.cxx:68
 AliAnaChargedParticles.cxx:69
 AliAnaChargedParticles.cxx:70
 AliAnaChargedParticles.cxx:71
 AliAnaChargedParticles.cxx:72
 AliAnaChargedParticles.cxx:73
 AliAnaChargedParticles.cxx:74
 AliAnaChargedParticles.cxx:75
 AliAnaChargedParticles.cxx:76
 AliAnaChargedParticles.cxx:77
 AliAnaChargedParticles.cxx:78
 AliAnaChargedParticles.cxx:79
 AliAnaChargedParticles.cxx:80
 AliAnaChargedParticles.cxx:81
 AliAnaChargedParticles.cxx:82
 AliAnaChargedParticles.cxx:83
 AliAnaChargedParticles.cxx:84
 AliAnaChargedParticles.cxx:85
 AliAnaChargedParticles.cxx:86
 AliAnaChargedParticles.cxx:87
 AliAnaChargedParticles.cxx:88
 AliAnaChargedParticles.cxx:89
 AliAnaChargedParticles.cxx:90
 AliAnaChargedParticles.cxx:91
 AliAnaChargedParticles.cxx:92
 AliAnaChargedParticles.cxx:93
 AliAnaChargedParticles.cxx:94
 AliAnaChargedParticles.cxx:95
 AliAnaChargedParticles.cxx:96
 AliAnaChargedParticles.cxx:97
 AliAnaChargedParticles.cxx:98
 AliAnaChargedParticles.cxx:99
 AliAnaChargedParticles.cxx:100
 AliAnaChargedParticles.cxx:101
 AliAnaChargedParticles.cxx:102
 AliAnaChargedParticles.cxx:103
 AliAnaChargedParticles.cxx:104
 AliAnaChargedParticles.cxx:105
 AliAnaChargedParticles.cxx:106
 AliAnaChargedParticles.cxx:107
 AliAnaChargedParticles.cxx:108
 AliAnaChargedParticles.cxx:109
 AliAnaChargedParticles.cxx:110
 AliAnaChargedParticles.cxx:111
 AliAnaChargedParticles.cxx:112
 AliAnaChargedParticles.cxx:113
 AliAnaChargedParticles.cxx:114
 AliAnaChargedParticles.cxx:115
 AliAnaChargedParticles.cxx:116
 AliAnaChargedParticles.cxx:117
 AliAnaChargedParticles.cxx:118
 AliAnaChargedParticles.cxx:119
 AliAnaChargedParticles.cxx:120
 AliAnaChargedParticles.cxx:121
 AliAnaChargedParticles.cxx:122
 AliAnaChargedParticles.cxx:123
 AliAnaChargedParticles.cxx:124
 AliAnaChargedParticles.cxx:125
 AliAnaChargedParticles.cxx:126
 AliAnaChargedParticles.cxx:127
 AliAnaChargedParticles.cxx:128
 AliAnaChargedParticles.cxx:129
 AliAnaChargedParticles.cxx:130
 AliAnaChargedParticles.cxx:131
 AliAnaChargedParticles.cxx:132
 AliAnaChargedParticles.cxx:133
 AliAnaChargedParticles.cxx:134
 AliAnaChargedParticles.cxx:135
 AliAnaChargedParticles.cxx:136
 AliAnaChargedParticles.cxx:137
 AliAnaChargedParticles.cxx:138
 AliAnaChargedParticles.cxx:139
 AliAnaChargedParticles.cxx:140
 AliAnaChargedParticles.cxx:141
 AliAnaChargedParticles.cxx:142
 AliAnaChargedParticles.cxx:143
 AliAnaChargedParticles.cxx:144
 AliAnaChargedParticles.cxx:145
 AliAnaChargedParticles.cxx:146
 AliAnaChargedParticles.cxx:147
 AliAnaChargedParticles.cxx:148
 AliAnaChargedParticles.cxx:149
 AliAnaChargedParticles.cxx:150
 AliAnaChargedParticles.cxx:151
 AliAnaChargedParticles.cxx:152
 AliAnaChargedParticles.cxx:153
 AliAnaChargedParticles.cxx:154
 AliAnaChargedParticles.cxx:155
 AliAnaChargedParticles.cxx:156
 AliAnaChargedParticles.cxx:157
 AliAnaChargedParticles.cxx:158
 AliAnaChargedParticles.cxx:159
 AliAnaChargedParticles.cxx:160
 AliAnaChargedParticles.cxx:161
 AliAnaChargedParticles.cxx:162
 AliAnaChargedParticles.cxx:163
 AliAnaChargedParticles.cxx:164
 AliAnaChargedParticles.cxx:165
 AliAnaChargedParticles.cxx:166
 AliAnaChargedParticles.cxx:167
 AliAnaChargedParticles.cxx:168
 AliAnaChargedParticles.cxx:169
 AliAnaChargedParticles.cxx:170
 AliAnaChargedParticles.cxx:171
 AliAnaChargedParticles.cxx:172
 AliAnaChargedParticles.cxx:173
 AliAnaChargedParticles.cxx:174
 AliAnaChargedParticles.cxx:175
 AliAnaChargedParticles.cxx:176
 AliAnaChargedParticles.cxx:177
 AliAnaChargedParticles.cxx:178
 AliAnaChargedParticles.cxx:179
 AliAnaChargedParticles.cxx:180
 AliAnaChargedParticles.cxx:181
 AliAnaChargedParticles.cxx:182
 AliAnaChargedParticles.cxx:183
 AliAnaChargedParticles.cxx:184
 AliAnaChargedParticles.cxx:185
 AliAnaChargedParticles.cxx:186
 AliAnaChargedParticles.cxx:187
 AliAnaChargedParticles.cxx:188
 AliAnaChargedParticles.cxx:189
 AliAnaChargedParticles.cxx:190
 AliAnaChargedParticles.cxx:191
 AliAnaChargedParticles.cxx:192
 AliAnaChargedParticles.cxx:193
 AliAnaChargedParticles.cxx:194
 AliAnaChargedParticles.cxx:195
 AliAnaChargedParticles.cxx:196
 AliAnaChargedParticles.cxx:197
 AliAnaChargedParticles.cxx:198
 AliAnaChargedParticles.cxx:199
 AliAnaChargedParticles.cxx:200
 AliAnaChargedParticles.cxx:201
 AliAnaChargedParticles.cxx:202
 AliAnaChargedParticles.cxx:203
 AliAnaChargedParticles.cxx:204
 AliAnaChargedParticles.cxx:205
 AliAnaChargedParticles.cxx:206
 AliAnaChargedParticles.cxx:207
 AliAnaChargedParticles.cxx:208
 AliAnaChargedParticles.cxx:209
 AliAnaChargedParticles.cxx:210
 AliAnaChargedParticles.cxx:211
 AliAnaChargedParticles.cxx:212
 AliAnaChargedParticles.cxx:213
 AliAnaChargedParticles.cxx:214
 AliAnaChargedParticles.cxx:215
 AliAnaChargedParticles.cxx:216
 AliAnaChargedParticles.cxx:217
 AliAnaChargedParticles.cxx:218
 AliAnaChargedParticles.cxx:219
 AliAnaChargedParticles.cxx:220
 AliAnaChargedParticles.cxx:221
 AliAnaChargedParticles.cxx:222
 AliAnaChargedParticles.cxx:223
 AliAnaChargedParticles.cxx:224
 AliAnaChargedParticles.cxx:225
 AliAnaChargedParticles.cxx:226
 AliAnaChargedParticles.cxx:227
 AliAnaChargedParticles.cxx:228
 AliAnaChargedParticles.cxx:229
 AliAnaChargedParticles.cxx:230
 AliAnaChargedParticles.cxx:231
 AliAnaChargedParticles.cxx:232
 AliAnaChargedParticles.cxx:233
 AliAnaChargedParticles.cxx:234
 AliAnaChargedParticles.cxx:235
 AliAnaChargedParticles.cxx:236
 AliAnaChargedParticles.cxx:237
 AliAnaChargedParticles.cxx:238
 AliAnaChargedParticles.cxx:239
 AliAnaChargedParticles.cxx:240
 AliAnaChargedParticles.cxx:241
 AliAnaChargedParticles.cxx:242
 AliAnaChargedParticles.cxx:243
 AliAnaChargedParticles.cxx:244
 AliAnaChargedParticles.cxx:245
 AliAnaChargedParticles.cxx:246
 AliAnaChargedParticles.cxx:247
 AliAnaChargedParticles.cxx:248
 AliAnaChargedParticles.cxx:249
 AliAnaChargedParticles.cxx:250
 AliAnaChargedParticles.cxx:251
 AliAnaChargedParticles.cxx:252
 AliAnaChargedParticles.cxx:253
 AliAnaChargedParticles.cxx:254
 AliAnaChargedParticles.cxx:255
 AliAnaChargedParticles.cxx:256
 AliAnaChargedParticles.cxx:257
 AliAnaChargedParticles.cxx:258
 AliAnaChargedParticles.cxx:259
 AliAnaChargedParticles.cxx:260
 AliAnaChargedParticles.cxx:261
 AliAnaChargedParticles.cxx:262
 AliAnaChargedParticles.cxx:263
 AliAnaChargedParticles.cxx:264
 AliAnaChargedParticles.cxx:265
 AliAnaChargedParticles.cxx:266
 AliAnaChargedParticles.cxx:267
 AliAnaChargedParticles.cxx:268
 AliAnaChargedParticles.cxx:269
 AliAnaChargedParticles.cxx:270
 AliAnaChargedParticles.cxx:271
 AliAnaChargedParticles.cxx:272
 AliAnaChargedParticles.cxx:273
 AliAnaChargedParticles.cxx:274
 AliAnaChargedParticles.cxx:275
 AliAnaChargedParticles.cxx:276
 AliAnaChargedParticles.cxx:277
 AliAnaChargedParticles.cxx:278
 AliAnaChargedParticles.cxx:279
 AliAnaChargedParticles.cxx:280
 AliAnaChargedParticles.cxx:281
 AliAnaChargedParticles.cxx:282
 AliAnaChargedParticles.cxx:283
 AliAnaChargedParticles.cxx:284
 AliAnaChargedParticles.cxx:285
 AliAnaChargedParticles.cxx:286
 AliAnaChargedParticles.cxx:287
 AliAnaChargedParticles.cxx:288
 AliAnaChargedParticles.cxx:289
 AliAnaChargedParticles.cxx:290
 AliAnaChargedParticles.cxx:291
 AliAnaChargedParticles.cxx:292
 AliAnaChargedParticles.cxx:293
 AliAnaChargedParticles.cxx:294
 AliAnaChargedParticles.cxx:295
 AliAnaChargedParticles.cxx:296
 AliAnaChargedParticles.cxx:297
 AliAnaChargedParticles.cxx:298
 AliAnaChargedParticles.cxx:299
 AliAnaChargedParticles.cxx:300
 AliAnaChargedParticles.cxx:301
 AliAnaChargedParticles.cxx:302
 AliAnaChargedParticles.cxx:303
 AliAnaChargedParticles.cxx:304
 AliAnaChargedParticles.cxx:305
 AliAnaChargedParticles.cxx:306
 AliAnaChargedParticles.cxx:307
 AliAnaChargedParticles.cxx:308
 AliAnaChargedParticles.cxx:309
 AliAnaChargedParticles.cxx:310
 AliAnaChargedParticles.cxx:311
 AliAnaChargedParticles.cxx:312
 AliAnaChargedParticles.cxx:313
 AliAnaChargedParticles.cxx:314
 AliAnaChargedParticles.cxx:315
 AliAnaChargedParticles.cxx:316
 AliAnaChargedParticles.cxx:317
 AliAnaChargedParticles.cxx:318
 AliAnaChargedParticles.cxx:319
 AliAnaChargedParticles.cxx:320
 AliAnaChargedParticles.cxx:321
 AliAnaChargedParticles.cxx:322
 AliAnaChargedParticles.cxx:323
 AliAnaChargedParticles.cxx:324
 AliAnaChargedParticles.cxx:325
 AliAnaChargedParticles.cxx:326
 AliAnaChargedParticles.cxx:327
 AliAnaChargedParticles.cxx:328
 AliAnaChargedParticles.cxx:329
 AliAnaChargedParticles.cxx:330
 AliAnaChargedParticles.cxx:331
 AliAnaChargedParticles.cxx:332
 AliAnaChargedParticles.cxx:333
 AliAnaChargedParticles.cxx:334
 AliAnaChargedParticles.cxx:335
 AliAnaChargedParticles.cxx:336
 AliAnaChargedParticles.cxx:337
 AliAnaChargedParticles.cxx:338
 AliAnaChargedParticles.cxx:339
 AliAnaChargedParticles.cxx:340
 AliAnaChargedParticles.cxx:341
 AliAnaChargedParticles.cxx:342
 AliAnaChargedParticles.cxx:343
 AliAnaChargedParticles.cxx:344
 AliAnaChargedParticles.cxx:345
 AliAnaChargedParticles.cxx:346
 AliAnaChargedParticles.cxx:347
 AliAnaChargedParticles.cxx:348
 AliAnaChargedParticles.cxx:349
 AliAnaChargedParticles.cxx:350
 AliAnaChargedParticles.cxx:351
 AliAnaChargedParticles.cxx:352
 AliAnaChargedParticles.cxx:353
 AliAnaChargedParticles.cxx:354
 AliAnaChargedParticles.cxx:355
 AliAnaChargedParticles.cxx:356
 AliAnaChargedParticles.cxx:357
 AliAnaChargedParticles.cxx:358
 AliAnaChargedParticles.cxx:359
 AliAnaChargedParticles.cxx:360
 AliAnaChargedParticles.cxx:361
 AliAnaChargedParticles.cxx:362
 AliAnaChargedParticles.cxx:363
 AliAnaChargedParticles.cxx:364
 AliAnaChargedParticles.cxx:365
 AliAnaChargedParticles.cxx:366
 AliAnaChargedParticles.cxx:367
 AliAnaChargedParticles.cxx:368
 AliAnaChargedParticles.cxx:369
 AliAnaChargedParticles.cxx:370
 AliAnaChargedParticles.cxx:371
 AliAnaChargedParticles.cxx:372
 AliAnaChargedParticles.cxx:373
 AliAnaChargedParticles.cxx:374
 AliAnaChargedParticles.cxx:375
 AliAnaChargedParticles.cxx:376
 AliAnaChargedParticles.cxx:377
 AliAnaChargedParticles.cxx:378
 AliAnaChargedParticles.cxx:379
 AliAnaChargedParticles.cxx:380
 AliAnaChargedParticles.cxx:381
 AliAnaChargedParticles.cxx:382
 AliAnaChargedParticles.cxx:383
 AliAnaChargedParticles.cxx:384
 AliAnaChargedParticles.cxx:385
 AliAnaChargedParticles.cxx:386
 AliAnaChargedParticles.cxx:387
 AliAnaChargedParticles.cxx:388
 AliAnaChargedParticles.cxx:389
 AliAnaChargedParticles.cxx:390
 AliAnaChargedParticles.cxx:391
 AliAnaChargedParticles.cxx:392
 AliAnaChargedParticles.cxx:393
 AliAnaChargedParticles.cxx:394
 AliAnaChargedParticles.cxx:395
 AliAnaChargedParticles.cxx:396
 AliAnaChargedParticles.cxx:397
 AliAnaChargedParticles.cxx:398
 AliAnaChargedParticles.cxx:399
 AliAnaChargedParticles.cxx:400
 AliAnaChargedParticles.cxx:401
 AliAnaChargedParticles.cxx:402
 AliAnaChargedParticles.cxx:403
 AliAnaChargedParticles.cxx:404
 AliAnaChargedParticles.cxx:405
 AliAnaChargedParticles.cxx:406
 AliAnaChargedParticles.cxx:407
 AliAnaChargedParticles.cxx:408
 AliAnaChargedParticles.cxx:409
 AliAnaChargedParticles.cxx:410
 AliAnaChargedParticles.cxx:411
 AliAnaChargedParticles.cxx:412
 AliAnaChargedParticles.cxx:413
 AliAnaChargedParticles.cxx:414
 AliAnaChargedParticles.cxx:415
 AliAnaChargedParticles.cxx:416
 AliAnaChargedParticles.cxx:417
 AliAnaChargedParticles.cxx:418
 AliAnaChargedParticles.cxx:419
 AliAnaChargedParticles.cxx:420
 AliAnaChargedParticles.cxx:421
 AliAnaChargedParticles.cxx:422
 AliAnaChargedParticles.cxx:423
 AliAnaChargedParticles.cxx:424
 AliAnaChargedParticles.cxx:425
 AliAnaChargedParticles.cxx:426
 AliAnaChargedParticles.cxx:427
 AliAnaChargedParticles.cxx:428
 AliAnaChargedParticles.cxx:429
 AliAnaChargedParticles.cxx:430
 AliAnaChargedParticles.cxx:431
 AliAnaChargedParticles.cxx:432
 AliAnaChargedParticles.cxx:433
 AliAnaChargedParticles.cxx:434
 AliAnaChargedParticles.cxx:435
 AliAnaChargedParticles.cxx:436
 AliAnaChargedParticles.cxx:437
 AliAnaChargedParticles.cxx:438
 AliAnaChargedParticles.cxx:439
 AliAnaChargedParticles.cxx:440
 AliAnaChargedParticles.cxx:441
 AliAnaChargedParticles.cxx:442
 AliAnaChargedParticles.cxx:443
 AliAnaChargedParticles.cxx:444
 AliAnaChargedParticles.cxx:445
 AliAnaChargedParticles.cxx:446
 AliAnaChargedParticles.cxx:447
 AliAnaChargedParticles.cxx:448
 AliAnaChargedParticles.cxx:449
 AliAnaChargedParticles.cxx:450
 AliAnaChargedParticles.cxx:451
 AliAnaChargedParticles.cxx:452
 AliAnaChargedParticles.cxx:453
 AliAnaChargedParticles.cxx:454
 AliAnaChargedParticles.cxx:455
 AliAnaChargedParticles.cxx:456
 AliAnaChargedParticles.cxx:457
 AliAnaChargedParticles.cxx:458
 AliAnaChargedParticles.cxx:459
 AliAnaChargedParticles.cxx:460
 AliAnaChargedParticles.cxx:461
 AliAnaChargedParticles.cxx:462
 AliAnaChargedParticles.cxx:463
 AliAnaChargedParticles.cxx:464
 AliAnaChargedParticles.cxx:465
 AliAnaChargedParticles.cxx:466
 AliAnaChargedParticles.cxx:467
 AliAnaChargedParticles.cxx:468
 AliAnaChargedParticles.cxx:469
 AliAnaChargedParticles.cxx:470
 AliAnaChargedParticles.cxx:471
 AliAnaChargedParticles.cxx:472
 AliAnaChargedParticles.cxx:473
 AliAnaChargedParticles.cxx:474
 AliAnaChargedParticles.cxx:475
 AliAnaChargedParticles.cxx:476
 AliAnaChargedParticles.cxx:477
 AliAnaChargedParticles.cxx:478
 AliAnaChargedParticles.cxx:479
 AliAnaChargedParticles.cxx:480
 AliAnaChargedParticles.cxx:481
 AliAnaChargedParticles.cxx:482
 AliAnaChargedParticles.cxx:483
 AliAnaChargedParticles.cxx:484
 AliAnaChargedParticles.cxx:485
 AliAnaChargedParticles.cxx:486
 AliAnaChargedParticles.cxx:487
 AliAnaChargedParticles.cxx:488
 AliAnaChargedParticles.cxx:489
 AliAnaChargedParticles.cxx:490
 AliAnaChargedParticles.cxx:491
 AliAnaChargedParticles.cxx:492
 AliAnaChargedParticles.cxx:493
 AliAnaChargedParticles.cxx:494
 AliAnaChargedParticles.cxx:495
 AliAnaChargedParticles.cxx:496
 AliAnaChargedParticles.cxx:497
 AliAnaChargedParticles.cxx:498
 AliAnaChargedParticles.cxx:499
 AliAnaChargedParticles.cxx:500
 AliAnaChargedParticles.cxx:501
 AliAnaChargedParticles.cxx:502
 AliAnaChargedParticles.cxx:503
 AliAnaChargedParticles.cxx:504
 AliAnaChargedParticles.cxx:505
 AliAnaChargedParticles.cxx:506
 AliAnaChargedParticles.cxx:507
 AliAnaChargedParticles.cxx:508
 AliAnaChargedParticles.cxx:509
 AliAnaChargedParticles.cxx:510
 AliAnaChargedParticles.cxx:511
 AliAnaChargedParticles.cxx:512
 AliAnaChargedParticles.cxx:513
 AliAnaChargedParticles.cxx:514
 AliAnaChargedParticles.cxx:515
 AliAnaChargedParticles.cxx:516
 AliAnaChargedParticles.cxx:517
 AliAnaChargedParticles.cxx:518
 AliAnaChargedParticles.cxx:519
 AliAnaChargedParticles.cxx:520
 AliAnaChargedParticles.cxx:521
 AliAnaChargedParticles.cxx:522
 AliAnaChargedParticles.cxx:523
 AliAnaChargedParticles.cxx:524
 AliAnaChargedParticles.cxx:525
 AliAnaChargedParticles.cxx:526
 AliAnaChargedParticles.cxx:527
 AliAnaChargedParticles.cxx:528
 AliAnaChargedParticles.cxx:529
 AliAnaChargedParticles.cxx:530
 AliAnaChargedParticles.cxx:531
 AliAnaChargedParticles.cxx:532
 AliAnaChargedParticles.cxx:533
 AliAnaChargedParticles.cxx:534
 AliAnaChargedParticles.cxx:535
 AliAnaChargedParticles.cxx:536
 AliAnaChargedParticles.cxx:537
 AliAnaChargedParticles.cxx:538
 AliAnaChargedParticles.cxx:539
 AliAnaChargedParticles.cxx:540
 AliAnaChargedParticles.cxx:541
 AliAnaChargedParticles.cxx:542
 AliAnaChargedParticles.cxx:543
 AliAnaChargedParticles.cxx:544
 AliAnaChargedParticles.cxx:545
 AliAnaChargedParticles.cxx:546
 AliAnaChargedParticles.cxx:547
 AliAnaChargedParticles.cxx:548
 AliAnaChargedParticles.cxx:549
 AliAnaChargedParticles.cxx:550
 AliAnaChargedParticles.cxx:551
 AliAnaChargedParticles.cxx:552
 AliAnaChargedParticles.cxx:553
 AliAnaChargedParticles.cxx:554
 AliAnaChargedParticles.cxx:555
 AliAnaChargedParticles.cxx:556
 AliAnaChargedParticles.cxx:557
 AliAnaChargedParticles.cxx:558
 AliAnaChargedParticles.cxx:559
 AliAnaChargedParticles.cxx:560
 AliAnaChargedParticles.cxx:561
 AliAnaChargedParticles.cxx:562
 AliAnaChargedParticles.cxx:563
 AliAnaChargedParticles.cxx:564
 AliAnaChargedParticles.cxx:565
 AliAnaChargedParticles.cxx:566
 AliAnaChargedParticles.cxx:567
 AliAnaChargedParticles.cxx:568
 AliAnaChargedParticles.cxx:569
 AliAnaChargedParticles.cxx:570
 AliAnaChargedParticles.cxx:571
 AliAnaChargedParticles.cxx:572
 AliAnaChargedParticles.cxx:573
 AliAnaChargedParticles.cxx:574
 AliAnaChargedParticles.cxx:575
 AliAnaChargedParticles.cxx:576
 AliAnaChargedParticles.cxx:577
 AliAnaChargedParticles.cxx:578
 AliAnaChargedParticles.cxx:579
 AliAnaChargedParticles.cxx:580
 AliAnaChargedParticles.cxx:581
 AliAnaChargedParticles.cxx:582
 AliAnaChargedParticles.cxx:583
 AliAnaChargedParticles.cxx:584
 AliAnaChargedParticles.cxx:585
 AliAnaChargedParticles.cxx:586
 AliAnaChargedParticles.cxx:587
 AliAnaChargedParticles.cxx:588
 AliAnaChargedParticles.cxx:589
 AliAnaChargedParticles.cxx:590
 AliAnaChargedParticles.cxx:591
 AliAnaChargedParticles.cxx:592
 AliAnaChargedParticles.cxx:593
 AliAnaChargedParticles.cxx:594
 AliAnaChargedParticles.cxx:595
 AliAnaChargedParticles.cxx:596
 AliAnaChargedParticles.cxx:597
 AliAnaChargedParticles.cxx:598
 AliAnaChargedParticles.cxx:599
 AliAnaChargedParticles.cxx:600
 AliAnaChargedParticles.cxx:601
 AliAnaChargedParticles.cxx:602
 AliAnaChargedParticles.cxx:603
 AliAnaChargedParticles.cxx:604
 AliAnaChargedParticles.cxx:605
 AliAnaChargedParticles.cxx:606
 AliAnaChargedParticles.cxx:607
 AliAnaChargedParticles.cxx:608
 AliAnaChargedParticles.cxx:609
 AliAnaChargedParticles.cxx:610
 AliAnaChargedParticles.cxx:611
 AliAnaChargedParticles.cxx:612
 AliAnaChargedParticles.cxx:613
 AliAnaChargedParticles.cxx:614
 AliAnaChargedParticles.cxx:615
 AliAnaChargedParticles.cxx:616
 AliAnaChargedParticles.cxx:617
 AliAnaChargedParticles.cxx:618
 AliAnaChargedParticles.cxx:619
 AliAnaChargedParticles.cxx:620
 AliAnaChargedParticles.cxx:621
 AliAnaChargedParticles.cxx:622
 AliAnaChargedParticles.cxx:623
 AliAnaChargedParticles.cxx:624
 AliAnaChargedParticles.cxx:625
 AliAnaChargedParticles.cxx:626
 AliAnaChargedParticles.cxx:627
 AliAnaChargedParticles.cxx:628
 AliAnaChargedParticles.cxx:629
 AliAnaChargedParticles.cxx:630
 AliAnaChargedParticles.cxx:631
 AliAnaChargedParticles.cxx:632
 AliAnaChargedParticles.cxx:633
 AliAnaChargedParticles.cxx:634
 AliAnaChargedParticles.cxx:635
 AliAnaChargedParticles.cxx:636
 AliAnaChargedParticles.cxx:637
 AliAnaChargedParticles.cxx:638
 AliAnaChargedParticles.cxx:639
 AliAnaChargedParticles.cxx:640
 AliAnaChargedParticles.cxx:641
 AliAnaChargedParticles.cxx:642
 AliAnaChargedParticles.cxx:643
 AliAnaChargedParticles.cxx:644
 AliAnaChargedParticles.cxx:645
 AliAnaChargedParticles.cxx:646
 AliAnaChargedParticles.cxx:647
 AliAnaChargedParticles.cxx:648
 AliAnaChargedParticles.cxx:649
 AliAnaChargedParticles.cxx:650
 AliAnaChargedParticles.cxx:651
 AliAnaChargedParticles.cxx:652
 AliAnaChargedParticles.cxx:653
 AliAnaChargedParticles.cxx:654
 AliAnaChargedParticles.cxx:655
 AliAnaChargedParticles.cxx:656
 AliAnaChargedParticles.cxx:657
 AliAnaChargedParticles.cxx:658
 AliAnaChargedParticles.cxx:659
 AliAnaChargedParticles.cxx:660
 AliAnaChargedParticles.cxx:661
 AliAnaChargedParticles.cxx:662
 AliAnaChargedParticles.cxx:663
 AliAnaChargedParticles.cxx:664
 AliAnaChargedParticles.cxx:665
 AliAnaChargedParticles.cxx:666
 AliAnaChargedParticles.cxx:667
 AliAnaChargedParticles.cxx:668
 AliAnaChargedParticles.cxx:669
 AliAnaChargedParticles.cxx:670
 AliAnaChargedParticles.cxx:671
 AliAnaChargedParticles.cxx:672
 AliAnaChargedParticles.cxx:673
 AliAnaChargedParticles.cxx:674
 AliAnaChargedParticles.cxx:675
 AliAnaChargedParticles.cxx:676
 AliAnaChargedParticles.cxx:677
 AliAnaChargedParticles.cxx:678
 AliAnaChargedParticles.cxx:679
 AliAnaChargedParticles.cxx:680
 AliAnaChargedParticles.cxx:681
 AliAnaChargedParticles.cxx:682
 AliAnaChargedParticles.cxx:683
 AliAnaChargedParticles.cxx:684
 AliAnaChargedParticles.cxx:685
 AliAnaChargedParticles.cxx:686
 AliAnaChargedParticles.cxx:687
 AliAnaChargedParticles.cxx:688
 AliAnaChargedParticles.cxx:689
 AliAnaChargedParticles.cxx:690
 AliAnaChargedParticles.cxx:691
 AliAnaChargedParticles.cxx:692
 AliAnaChargedParticles.cxx:693
 AliAnaChargedParticles.cxx:694
 AliAnaChargedParticles.cxx:695
 AliAnaChargedParticles.cxx:696
 AliAnaChargedParticles.cxx:697
 AliAnaChargedParticles.cxx:698
 AliAnaChargedParticles.cxx:699
 AliAnaChargedParticles.cxx:700
 AliAnaChargedParticles.cxx:701
 AliAnaChargedParticles.cxx:702
 AliAnaChargedParticles.cxx:703
 AliAnaChargedParticles.cxx:704
 AliAnaChargedParticles.cxx:705
 AliAnaChargedParticles.cxx:706
 AliAnaChargedParticles.cxx:707
 AliAnaChargedParticles.cxx:708
 AliAnaChargedParticles.cxx:709
 AliAnaChargedParticles.cxx:710
 AliAnaChargedParticles.cxx:711
 AliAnaChargedParticles.cxx:712
 AliAnaChargedParticles.cxx:713
 AliAnaChargedParticles.cxx:714
 AliAnaChargedParticles.cxx:715
 AliAnaChargedParticles.cxx:716
 AliAnaChargedParticles.cxx:717
 AliAnaChargedParticles.cxx:718
 AliAnaChargedParticles.cxx:719
 AliAnaChargedParticles.cxx:720
 AliAnaChargedParticles.cxx:721
 AliAnaChargedParticles.cxx:722
 AliAnaChargedParticles.cxx:723
 AliAnaChargedParticles.cxx:724
 AliAnaChargedParticles.cxx:725
 AliAnaChargedParticles.cxx:726
 AliAnaChargedParticles.cxx:727
 AliAnaChargedParticles.cxx:728
 AliAnaChargedParticles.cxx:729
 AliAnaChargedParticles.cxx:730
 AliAnaChargedParticles.cxx:731
 AliAnaChargedParticles.cxx:732
 AliAnaChargedParticles.cxx:733
 AliAnaChargedParticles.cxx:734
 AliAnaChargedParticles.cxx:735
 AliAnaChargedParticles.cxx:736
 AliAnaChargedParticles.cxx:737
 AliAnaChargedParticles.cxx:738
 AliAnaChargedParticles.cxx:739
 AliAnaChargedParticles.cxx:740
 AliAnaChargedParticles.cxx:741
 AliAnaChargedParticles.cxx:742
 AliAnaChargedParticles.cxx:743
 AliAnaChargedParticles.cxx:744
 AliAnaChargedParticles.cxx:745
 AliAnaChargedParticles.cxx:746
 AliAnaChargedParticles.cxx:747
 AliAnaChargedParticles.cxx:748
 AliAnaChargedParticles.cxx:749
 AliAnaChargedParticles.cxx:750
 AliAnaChargedParticles.cxx:751
 AliAnaChargedParticles.cxx:752
 AliAnaChargedParticles.cxx:753
 AliAnaChargedParticles.cxx:754
 AliAnaChargedParticles.cxx:755
 AliAnaChargedParticles.cxx:756
 AliAnaChargedParticles.cxx:757
 AliAnaChargedParticles.cxx:758
 AliAnaChargedParticles.cxx:759
 AliAnaChargedParticles.cxx:760
 AliAnaChargedParticles.cxx:761
 AliAnaChargedParticles.cxx:762
 AliAnaChargedParticles.cxx:763
 AliAnaChargedParticles.cxx:764
 AliAnaChargedParticles.cxx:765
 AliAnaChargedParticles.cxx:766
 AliAnaChargedParticles.cxx:767
 AliAnaChargedParticles.cxx:768
 AliAnaChargedParticles.cxx:769
 AliAnaChargedParticles.cxx:770
 AliAnaChargedParticles.cxx:771
 AliAnaChargedParticles.cxx:772
 AliAnaChargedParticles.cxx:773
 AliAnaChargedParticles.cxx:774
 AliAnaChargedParticles.cxx:775
 AliAnaChargedParticles.cxx:776
 AliAnaChargedParticles.cxx:777
 AliAnaChargedParticles.cxx:778
 AliAnaChargedParticles.cxx:779
 AliAnaChargedParticles.cxx:780
 AliAnaChargedParticles.cxx:781
 AliAnaChargedParticles.cxx:782
 AliAnaChargedParticles.cxx:783
 AliAnaChargedParticles.cxx:784
 AliAnaChargedParticles.cxx:785
 AliAnaChargedParticles.cxx:786
 AliAnaChargedParticles.cxx:787
 AliAnaChargedParticles.cxx:788
 AliAnaChargedParticles.cxx:789
 AliAnaChargedParticles.cxx:790
 AliAnaChargedParticles.cxx:791
 AliAnaChargedParticles.cxx:792
 AliAnaChargedParticles.cxx:793
 AliAnaChargedParticles.cxx:794
 AliAnaChargedParticles.cxx:795
 AliAnaChargedParticles.cxx:796
 AliAnaChargedParticles.cxx:797
 AliAnaChargedParticles.cxx:798
 AliAnaChargedParticles.cxx:799
 AliAnaChargedParticles.cxx:800
 AliAnaChargedParticles.cxx:801
 AliAnaChargedParticles.cxx:802
 AliAnaChargedParticles.cxx:803
 AliAnaChargedParticles.cxx:804
 AliAnaChargedParticles.cxx:805
 AliAnaChargedParticles.cxx:806
 AliAnaChargedParticles.cxx:807
 AliAnaChargedParticles.cxx:808
 AliAnaChargedParticles.cxx:809
 AliAnaChargedParticles.cxx:810
 AliAnaChargedParticles.cxx:811
 AliAnaChargedParticles.cxx:812
 AliAnaChargedParticles.cxx:813
 AliAnaChargedParticles.cxx:814
 AliAnaChargedParticles.cxx:815
 AliAnaChargedParticles.cxx:816
 AliAnaChargedParticles.cxx:817
 AliAnaChargedParticles.cxx:818
 AliAnaChargedParticles.cxx:819
 AliAnaChargedParticles.cxx:820
 AliAnaChargedParticles.cxx:821
 AliAnaChargedParticles.cxx:822
 AliAnaChargedParticles.cxx:823
 AliAnaChargedParticles.cxx:824
 AliAnaChargedParticles.cxx:825
 AliAnaChargedParticles.cxx:826
 AliAnaChargedParticles.cxx:827
 AliAnaChargedParticles.cxx:828
 AliAnaChargedParticles.cxx:829
 AliAnaChargedParticles.cxx:830
 AliAnaChargedParticles.cxx:831
 AliAnaChargedParticles.cxx:832
 AliAnaChargedParticles.cxx:833
 AliAnaChargedParticles.cxx:834
 AliAnaChargedParticles.cxx:835
 AliAnaChargedParticles.cxx:836
 AliAnaChargedParticles.cxx:837
 AliAnaChargedParticles.cxx:838
 AliAnaChargedParticles.cxx:839
 AliAnaChargedParticles.cxx:840
 AliAnaChargedParticles.cxx:841
 AliAnaChargedParticles.cxx:842
 AliAnaChargedParticles.cxx:843
 AliAnaChargedParticles.cxx:844
 AliAnaChargedParticles.cxx:845
 AliAnaChargedParticles.cxx:846
 AliAnaChargedParticles.cxx:847
 AliAnaChargedParticles.cxx:848
 AliAnaChargedParticles.cxx:849
 AliAnaChargedParticles.cxx:850
 AliAnaChargedParticles.cxx:851
 AliAnaChargedParticles.cxx:852
 AliAnaChargedParticles.cxx:853
 AliAnaChargedParticles.cxx:854
 AliAnaChargedParticles.cxx:855
 AliAnaChargedParticles.cxx:856
 AliAnaChargedParticles.cxx:857
 AliAnaChargedParticles.cxx:858
 AliAnaChargedParticles.cxx:859
 AliAnaChargedParticles.cxx:860
 AliAnaChargedParticles.cxx:861
 AliAnaChargedParticles.cxx:862
 AliAnaChargedParticles.cxx:863
 AliAnaChargedParticles.cxx:864
 AliAnaChargedParticles.cxx:865
 AliAnaChargedParticles.cxx:866
 AliAnaChargedParticles.cxx:867
 AliAnaChargedParticles.cxx:868
 AliAnaChargedParticles.cxx:869
 AliAnaChargedParticles.cxx:870
 AliAnaChargedParticles.cxx:871
 AliAnaChargedParticles.cxx:872
 AliAnaChargedParticles.cxx:873
 AliAnaChargedParticles.cxx:874
 AliAnaChargedParticles.cxx:875
 AliAnaChargedParticles.cxx:876
 AliAnaChargedParticles.cxx:877
 AliAnaChargedParticles.cxx:878
 AliAnaChargedParticles.cxx:879
 AliAnaChargedParticles.cxx:880
 AliAnaChargedParticles.cxx:881
 AliAnaChargedParticles.cxx:882
 AliAnaChargedParticles.cxx:883
 AliAnaChargedParticles.cxx:884
 AliAnaChargedParticles.cxx:885
 AliAnaChargedParticles.cxx:886
 AliAnaChargedParticles.cxx:887
 AliAnaChargedParticles.cxx:888
 AliAnaChargedParticles.cxx:889
 AliAnaChargedParticles.cxx:890
 AliAnaChargedParticles.cxx:891
 AliAnaChargedParticles.cxx:892
 AliAnaChargedParticles.cxx:893
 AliAnaChargedParticles.cxx:894
 AliAnaChargedParticles.cxx:895
 AliAnaChargedParticles.cxx:896
 AliAnaChargedParticles.cxx:897
 AliAnaChargedParticles.cxx:898
 AliAnaChargedParticles.cxx:899
 AliAnaChargedParticles.cxx:900
 AliAnaChargedParticles.cxx:901
 AliAnaChargedParticles.cxx:902
 AliAnaChargedParticles.cxx:903
 AliAnaChargedParticles.cxx:904
 AliAnaChargedParticles.cxx:905
 AliAnaChargedParticles.cxx:906
 AliAnaChargedParticles.cxx:907
 AliAnaChargedParticles.cxx:908
 AliAnaChargedParticles.cxx:909
 AliAnaChargedParticles.cxx:910
 AliAnaChargedParticles.cxx:911
 AliAnaChargedParticles.cxx:912
 AliAnaChargedParticles.cxx:913
 AliAnaChargedParticles.cxx:914
 AliAnaChargedParticles.cxx:915
 AliAnaChargedParticles.cxx:916
 AliAnaChargedParticles.cxx:917
 AliAnaChargedParticles.cxx:918
 AliAnaChargedParticles.cxx:919
 AliAnaChargedParticles.cxx:920
 AliAnaChargedParticles.cxx:921
 AliAnaChargedParticles.cxx:922
 AliAnaChargedParticles.cxx:923
 AliAnaChargedParticles.cxx:924
 AliAnaChargedParticles.cxx:925
 AliAnaChargedParticles.cxx:926
 AliAnaChargedParticles.cxx:927
 AliAnaChargedParticles.cxx:928
 AliAnaChargedParticles.cxx:929
 AliAnaChargedParticles.cxx:930
 AliAnaChargedParticles.cxx:931
 AliAnaChargedParticles.cxx:932
 AliAnaChargedParticles.cxx:933
 AliAnaChargedParticles.cxx:934
 AliAnaChargedParticles.cxx:935
 AliAnaChargedParticles.cxx:936
 AliAnaChargedParticles.cxx:937
 AliAnaChargedParticles.cxx:938
 AliAnaChargedParticles.cxx:939
 AliAnaChargedParticles.cxx:940
 AliAnaChargedParticles.cxx:941
 AliAnaChargedParticles.cxx:942
 AliAnaChargedParticles.cxx:943
 AliAnaChargedParticles.cxx:944
 AliAnaChargedParticles.cxx:945
 AliAnaChargedParticles.cxx:946
 AliAnaChargedParticles.cxx:947
 AliAnaChargedParticles.cxx:948
 AliAnaChargedParticles.cxx:949
 AliAnaChargedParticles.cxx:950
 AliAnaChargedParticles.cxx:951
 AliAnaChargedParticles.cxx:952
 AliAnaChargedParticles.cxx:953
 AliAnaChargedParticles.cxx:954
 AliAnaChargedParticles.cxx:955
 AliAnaChargedParticles.cxx:956
 AliAnaChargedParticles.cxx:957
 AliAnaChargedParticles.cxx:958
 AliAnaChargedParticles.cxx:959
 AliAnaChargedParticles.cxx:960
 AliAnaChargedParticles.cxx:961
 AliAnaChargedParticles.cxx:962
 AliAnaChargedParticles.cxx:963
 AliAnaChargedParticles.cxx:964
 AliAnaChargedParticles.cxx:965
 AliAnaChargedParticles.cxx:966
 AliAnaChargedParticles.cxx:967
 AliAnaChargedParticles.cxx:968
 AliAnaChargedParticles.cxx:969
 AliAnaChargedParticles.cxx:970
 AliAnaChargedParticles.cxx:971
 AliAnaChargedParticles.cxx:972
 AliAnaChargedParticles.cxx:973
 AliAnaChargedParticles.cxx:974
 AliAnaChargedParticles.cxx:975
 AliAnaChargedParticles.cxx:976
 AliAnaChargedParticles.cxx:977
 AliAnaChargedParticles.cxx:978
 AliAnaChargedParticles.cxx:979
 AliAnaChargedParticles.cxx:980
 AliAnaChargedParticles.cxx:981
 AliAnaChargedParticles.cxx:982
 AliAnaChargedParticles.cxx:983
 AliAnaChargedParticles.cxx:984
 AliAnaChargedParticles.cxx:985
 AliAnaChargedParticles.cxx:986
 AliAnaChargedParticles.cxx:987
 AliAnaChargedParticles.cxx:988
 AliAnaChargedParticles.cxx:989
 AliAnaChargedParticles.cxx:990
 AliAnaChargedParticles.cxx:991
 AliAnaChargedParticles.cxx:992
 AliAnaChargedParticles.cxx:993
 AliAnaChargedParticles.cxx:994
 AliAnaChargedParticles.cxx:995
 AliAnaChargedParticles.cxx:996
 AliAnaChargedParticles.cxx:997
 AliAnaChargedParticles.cxx:998
 AliAnaChargedParticles.cxx:999
 AliAnaChargedParticles.cxx:1000
 AliAnaChargedParticles.cxx:1001
 AliAnaChargedParticles.cxx:1002
 AliAnaChargedParticles.cxx:1003
 AliAnaChargedParticles.cxx:1004
 AliAnaChargedParticles.cxx:1005
 AliAnaChargedParticles.cxx:1006
 AliAnaChargedParticles.cxx:1007
 AliAnaChargedParticles.cxx:1008
 AliAnaChargedParticles.cxx:1009
 AliAnaChargedParticles.cxx:1010
 AliAnaChargedParticles.cxx:1011
 AliAnaChargedParticles.cxx:1012
 AliAnaChargedParticles.cxx:1013
 AliAnaChargedParticles.cxx:1014
 AliAnaChargedParticles.cxx:1015
 AliAnaChargedParticles.cxx:1016
 AliAnaChargedParticles.cxx:1017
 AliAnaChargedParticles.cxx:1018
 AliAnaChargedParticles.cxx:1019
 AliAnaChargedParticles.cxx:1020
 AliAnaChargedParticles.cxx:1021
 AliAnaChargedParticles.cxx:1022
 AliAnaChargedParticles.cxx:1023
 AliAnaChargedParticles.cxx:1024
 AliAnaChargedParticles.cxx:1025
 AliAnaChargedParticles.cxx:1026
 AliAnaChargedParticles.cxx:1027
 AliAnaChargedParticles.cxx:1028
 AliAnaChargedParticles.cxx:1029
 AliAnaChargedParticles.cxx:1030
 AliAnaChargedParticles.cxx:1031
 AliAnaChargedParticles.cxx:1032
 AliAnaChargedParticles.cxx:1033
 AliAnaChargedParticles.cxx:1034
 AliAnaChargedParticles.cxx:1035
 AliAnaChargedParticles.cxx:1036
 AliAnaChargedParticles.cxx:1037
 AliAnaChargedParticles.cxx:1038
 AliAnaChargedParticles.cxx:1039
 AliAnaChargedParticles.cxx:1040
 AliAnaChargedParticles.cxx:1041
 AliAnaChargedParticles.cxx:1042
 AliAnaChargedParticles.cxx:1043
 AliAnaChargedParticles.cxx:1044
 AliAnaChargedParticles.cxx:1045
 AliAnaChargedParticles.cxx:1046
 AliAnaChargedParticles.cxx:1047
 AliAnaChargedParticles.cxx:1048
 AliAnaChargedParticles.cxx:1049
 AliAnaChargedParticles.cxx:1050
 AliAnaChargedParticles.cxx:1051
 AliAnaChargedParticles.cxx:1052
 AliAnaChargedParticles.cxx:1053
 AliAnaChargedParticles.cxx:1054
 AliAnaChargedParticles.cxx:1055
 AliAnaChargedParticles.cxx:1056
 AliAnaChargedParticles.cxx:1057
 AliAnaChargedParticles.cxx:1058
 AliAnaChargedParticles.cxx:1059
 AliAnaChargedParticles.cxx:1060
 AliAnaChargedParticles.cxx:1061
 AliAnaChargedParticles.cxx:1062
 AliAnaChargedParticles.cxx:1063
 AliAnaChargedParticles.cxx:1064
 AliAnaChargedParticles.cxx:1065
 AliAnaChargedParticles.cxx:1066
 AliAnaChargedParticles.cxx:1067
 AliAnaChargedParticles.cxx:1068
 AliAnaChargedParticles.cxx:1069
 AliAnaChargedParticles.cxx:1070
 AliAnaChargedParticles.cxx:1071
 AliAnaChargedParticles.cxx:1072
 AliAnaChargedParticles.cxx:1073
 AliAnaChargedParticles.cxx:1074
 AliAnaChargedParticles.cxx:1075
 AliAnaChargedParticles.cxx:1076
 AliAnaChargedParticles.cxx:1077
 AliAnaChargedParticles.cxx:1078
 AliAnaChargedParticles.cxx:1079
 AliAnaChargedParticles.cxx:1080
 AliAnaChargedParticles.cxx:1081
 AliAnaChargedParticles.cxx:1082
 AliAnaChargedParticles.cxx:1083
 AliAnaChargedParticles.cxx:1084
 AliAnaChargedParticles.cxx:1085
 AliAnaChargedParticles.cxx:1086
 AliAnaChargedParticles.cxx:1087
 AliAnaChargedParticles.cxx:1088
 AliAnaChargedParticles.cxx:1089
 AliAnaChargedParticles.cxx:1090
 AliAnaChargedParticles.cxx:1091
 AliAnaChargedParticles.cxx:1092
 AliAnaChargedParticles.cxx:1093
 AliAnaChargedParticles.cxx:1094
 AliAnaChargedParticles.cxx:1095
 AliAnaChargedParticles.cxx:1096
 AliAnaChargedParticles.cxx:1097
 AliAnaChargedParticles.cxx:1098
 AliAnaChargedParticles.cxx:1099
 AliAnaChargedParticles.cxx:1100
 AliAnaChargedParticles.cxx:1101
 AliAnaChargedParticles.cxx:1102
 AliAnaChargedParticles.cxx:1103
 AliAnaChargedParticles.cxx:1104
 AliAnaChargedParticles.cxx:1105
 AliAnaChargedParticles.cxx:1106
 AliAnaChargedParticles.cxx:1107
 AliAnaChargedParticles.cxx:1108
 AliAnaChargedParticles.cxx:1109
 AliAnaChargedParticles.cxx:1110
 AliAnaChargedParticles.cxx:1111
 AliAnaChargedParticles.cxx:1112
 AliAnaChargedParticles.cxx:1113
 AliAnaChargedParticles.cxx:1114
 AliAnaChargedParticles.cxx:1115
 AliAnaChargedParticles.cxx:1116
 AliAnaChargedParticles.cxx:1117
 AliAnaChargedParticles.cxx:1118
 AliAnaChargedParticles.cxx:1119
 AliAnaChargedParticles.cxx:1120
 AliAnaChargedParticles.cxx:1121
 AliAnaChargedParticles.cxx:1122
 AliAnaChargedParticles.cxx:1123
 AliAnaChargedParticles.cxx:1124
 AliAnaChargedParticles.cxx:1125
 AliAnaChargedParticles.cxx:1126
 AliAnaChargedParticles.cxx:1127
 AliAnaChargedParticles.cxx:1128
 AliAnaChargedParticles.cxx:1129
 AliAnaChargedParticles.cxx:1130
 AliAnaChargedParticles.cxx:1131
 AliAnaChargedParticles.cxx:1132
 AliAnaChargedParticles.cxx:1133
 AliAnaChargedParticles.cxx:1134
 AliAnaChargedParticles.cxx:1135
 AliAnaChargedParticles.cxx:1136
 AliAnaChargedParticles.cxx:1137
 AliAnaChargedParticles.cxx:1138
 AliAnaChargedParticles.cxx:1139
 AliAnaChargedParticles.cxx:1140
 AliAnaChargedParticles.cxx:1141
 AliAnaChargedParticles.cxx:1142
 AliAnaChargedParticles.cxx:1143
 AliAnaChargedParticles.cxx:1144
 AliAnaChargedParticles.cxx:1145
 AliAnaChargedParticles.cxx:1146
 AliAnaChargedParticles.cxx:1147
 AliAnaChargedParticles.cxx:1148
 AliAnaChargedParticles.cxx:1149
 AliAnaChargedParticles.cxx:1150
 AliAnaChargedParticles.cxx:1151
 AliAnaChargedParticles.cxx:1152
 AliAnaChargedParticles.cxx:1153
 AliAnaChargedParticles.cxx:1154
 AliAnaChargedParticles.cxx:1155
 AliAnaChargedParticles.cxx:1156
 AliAnaChargedParticles.cxx:1157
 AliAnaChargedParticles.cxx:1158
 AliAnaChargedParticles.cxx:1159
 AliAnaChargedParticles.cxx:1160
 AliAnaChargedParticles.cxx:1161
 AliAnaChargedParticles.cxx:1162
 AliAnaChargedParticles.cxx:1163
 AliAnaChargedParticles.cxx:1164
 AliAnaChargedParticles.cxx:1165
 AliAnaChargedParticles.cxx:1166
 AliAnaChargedParticles.cxx:1167
 AliAnaChargedParticles.cxx:1168
 AliAnaChargedParticles.cxx:1169
 AliAnaChargedParticles.cxx:1170
 AliAnaChargedParticles.cxx:1171
 AliAnaChargedParticles.cxx:1172
 AliAnaChargedParticles.cxx:1173
 AliAnaChargedParticles.cxx:1174
 AliAnaChargedParticles.cxx:1175
 AliAnaChargedParticles.cxx:1176
 AliAnaChargedParticles.cxx:1177
 AliAnaChargedParticles.cxx:1178
 AliAnaChargedParticles.cxx:1179
 AliAnaChargedParticles.cxx:1180
 AliAnaChargedParticles.cxx:1181
 AliAnaChargedParticles.cxx:1182
 AliAnaChargedParticles.cxx:1183
 AliAnaChargedParticles.cxx:1184
 AliAnaChargedParticles.cxx:1185
 AliAnaChargedParticles.cxx:1186
 AliAnaChargedParticles.cxx:1187
 AliAnaChargedParticles.cxx:1188
 AliAnaChargedParticles.cxx:1189
 AliAnaChargedParticles.cxx:1190
 AliAnaChargedParticles.cxx:1191
 AliAnaChargedParticles.cxx:1192
 AliAnaChargedParticles.cxx:1193
 AliAnaChargedParticles.cxx:1194
 AliAnaChargedParticles.cxx:1195
 AliAnaChargedParticles.cxx:1196
 AliAnaChargedParticles.cxx:1197
 AliAnaChargedParticles.cxx:1198
 AliAnaChargedParticles.cxx:1199
 AliAnaChargedParticles.cxx:1200
 AliAnaChargedParticles.cxx:1201
 AliAnaChargedParticles.cxx:1202
 AliAnaChargedParticles.cxx:1203
 AliAnaChargedParticles.cxx:1204
 AliAnaChargedParticles.cxx:1205
 AliAnaChargedParticles.cxx:1206
 AliAnaChargedParticles.cxx:1207
 AliAnaChargedParticles.cxx:1208
 AliAnaChargedParticles.cxx:1209
 AliAnaChargedParticles.cxx:1210
 AliAnaChargedParticles.cxx:1211
 AliAnaChargedParticles.cxx:1212
 AliAnaChargedParticles.cxx:1213
 AliAnaChargedParticles.cxx:1214
 AliAnaChargedParticles.cxx:1215
 AliAnaChargedParticles.cxx:1216
 AliAnaChargedParticles.cxx:1217
 AliAnaChargedParticles.cxx:1218
 AliAnaChargedParticles.cxx:1219
 AliAnaChargedParticles.cxx:1220
 AliAnaChargedParticles.cxx:1221
 AliAnaChargedParticles.cxx:1222
 AliAnaChargedParticles.cxx:1223
 AliAnaChargedParticles.cxx:1224
 AliAnaChargedParticles.cxx:1225
 AliAnaChargedParticles.cxx:1226
 AliAnaChargedParticles.cxx:1227
 AliAnaChargedParticles.cxx:1228
 AliAnaChargedParticles.cxx:1229
 AliAnaChargedParticles.cxx:1230
 AliAnaChargedParticles.cxx:1231
 AliAnaChargedParticles.cxx:1232
 AliAnaChargedParticles.cxx:1233
 AliAnaChargedParticles.cxx:1234
 AliAnaChargedParticles.cxx:1235
 AliAnaChargedParticles.cxx:1236
 AliAnaChargedParticles.cxx:1237
 AliAnaChargedParticles.cxx:1238
 AliAnaChargedParticles.cxx:1239
 AliAnaChargedParticles.cxx:1240
 AliAnaChargedParticles.cxx:1241
 AliAnaChargedParticles.cxx:1242
 AliAnaChargedParticles.cxx:1243
 AliAnaChargedParticles.cxx:1244
 AliAnaChargedParticles.cxx:1245
 AliAnaChargedParticles.cxx:1246
 AliAnaChargedParticles.cxx:1247
 AliAnaChargedParticles.cxx:1248
 AliAnaChargedParticles.cxx:1249
 AliAnaChargedParticles.cxx:1250
 AliAnaChargedParticles.cxx:1251
 AliAnaChargedParticles.cxx:1252
 AliAnaChargedParticles.cxx:1253
 AliAnaChargedParticles.cxx:1254
 AliAnaChargedParticles.cxx:1255
 AliAnaChargedParticles.cxx:1256
 AliAnaChargedParticles.cxx:1257
 AliAnaChargedParticles.cxx:1258
 AliAnaChargedParticles.cxx:1259
 AliAnaChargedParticles.cxx:1260
 AliAnaChargedParticles.cxx:1261
 AliAnaChargedParticles.cxx:1262
 AliAnaChargedParticles.cxx:1263
 AliAnaChargedParticles.cxx:1264
 AliAnaChargedParticles.cxx:1265
 AliAnaChargedParticles.cxx:1266
 AliAnaChargedParticles.cxx:1267
 AliAnaChargedParticles.cxx:1268
 AliAnaChargedParticles.cxx:1269
 AliAnaChargedParticles.cxx:1270
 AliAnaChargedParticles.cxx:1271
 AliAnaChargedParticles.cxx:1272
 AliAnaChargedParticles.cxx:1273
 AliAnaChargedParticles.cxx:1274
 AliAnaChargedParticles.cxx:1275
 AliAnaChargedParticles.cxx:1276
 AliAnaChargedParticles.cxx:1277
 AliAnaChargedParticles.cxx:1278
 AliAnaChargedParticles.cxx:1279
 AliAnaChargedParticles.cxx:1280
 AliAnaChargedParticles.cxx:1281
 AliAnaChargedParticles.cxx:1282
 AliAnaChargedParticles.cxx:1283
 AliAnaChargedParticles.cxx:1284
 AliAnaChargedParticles.cxx:1285
 AliAnaChargedParticles.cxx:1286
 AliAnaChargedParticles.cxx:1287
 AliAnaChargedParticles.cxx:1288
 AliAnaChargedParticles.cxx:1289
 AliAnaChargedParticles.cxx:1290
 AliAnaChargedParticles.cxx:1291
 AliAnaChargedParticles.cxx:1292
 AliAnaChargedParticles.cxx:1293
 AliAnaChargedParticles.cxx:1294
 AliAnaChargedParticles.cxx:1295
 AliAnaChargedParticles.cxx:1296
 AliAnaChargedParticles.cxx:1297
 AliAnaChargedParticles.cxx:1298
 AliAnaChargedParticles.cxx:1299
 AliAnaChargedParticles.cxx:1300
 AliAnaChargedParticles.cxx:1301
 AliAnaChargedParticles.cxx:1302
 AliAnaChargedParticles.cxx:1303
 AliAnaChargedParticles.cxx:1304
 AliAnaChargedParticles.cxx:1305
 AliAnaChargedParticles.cxx:1306
 AliAnaChargedParticles.cxx:1307
 AliAnaChargedParticles.cxx:1308
 AliAnaChargedParticles.cxx:1309
 AliAnaChargedParticles.cxx:1310
 AliAnaChargedParticles.cxx:1311
 AliAnaChargedParticles.cxx:1312
 AliAnaChargedParticles.cxx:1313
 AliAnaChargedParticles.cxx:1314
 AliAnaChargedParticles.cxx:1315
 AliAnaChargedParticles.cxx:1316
 AliAnaChargedParticles.cxx:1317
 AliAnaChargedParticles.cxx:1318
 AliAnaChargedParticles.cxx:1319
 AliAnaChargedParticles.cxx:1320
 AliAnaChargedParticles.cxx:1321
 AliAnaChargedParticles.cxx:1322
 AliAnaChargedParticles.cxx:1323
 AliAnaChargedParticles.cxx:1324
 AliAnaChargedParticles.cxx:1325
 AliAnaChargedParticles.cxx:1326
 AliAnaChargedParticles.cxx:1327
 AliAnaChargedParticles.cxx:1328
 AliAnaChargedParticles.cxx:1329
 AliAnaChargedParticles.cxx:1330
 AliAnaChargedParticles.cxx:1331
 AliAnaChargedParticles.cxx:1332
 AliAnaChargedParticles.cxx:1333
 AliAnaChargedParticles.cxx:1334
 AliAnaChargedParticles.cxx:1335
 AliAnaChargedParticles.cxx:1336
 AliAnaChargedParticles.cxx:1337
 AliAnaChargedParticles.cxx:1338