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 reading data (Kinematics) in order to do prompt gamma 
// or other particle identification and correlations
// Separates generated particles into charged (CTS) 
// and neutral (PHOS or EMCAL acceptance)
// Now, it only works with data stored in Kinematics.root and 
// not in filtered Kinematics branch in AODs
//
//*-- Author: Gustavo Conesa (LNF-INFN) 
//////////////////////////////////////////////////////////////////////////////


// --- ROOT system ---

#include <TParticle.h>
#include <TDatabasePDG.h>
#include <TRandom.h>
#include <TArrayI.h>
#include "TParticle.h"

//---- ANALYSIS system ----
#include "AliCaloTrackMCReader.h" 
#include "AliGenEventHeader.h"
#include "AliStack.h"
#include "AliVCluster.h"
#include "AliAODTrack.h"
#include "AliAODEvent.h"
#include "AliFiducialCut.h"
#include "AliMCAnalysisUtils.h"
#include "AliLog.h"

ClassImp(AliCaloTrackMCReader)

//____________________________________________
AliCaloTrackMCReader::AliCaloTrackMCReader() : 
AliCaloTrackReader(),        fDecayPi0(0), 
fNeutralParticlesArray(0x0), fChargedParticlesArray(0x0), 
fStatusArray(0x0),           fKeepAllStatus(0), 
fCheckOverlap(0),            fEMCALOverlapAngle(0),fPHOSOverlapAngle(0), 
fIndex2ndPhoton(0),          fOnlyGeneratorParticles(kTRUE),
fMomentum(),                 fPi0Momentum(),
fGamDecayMom1(),             fGamDecayMom2()
{
  //Ctor
  
  //Initialize parameters
  InitParameters();
}
//___________________________________________
AliCaloTrackMCReader::~AliCaloTrackMCReader()
{
  //Dtor
  
  if(fChargedParticlesArray) delete fChargedParticlesArray ;
  if(fNeutralParticlesArray) delete fNeutralParticlesArray ;
  if(fStatusArray)           delete fStatusArray ;
  
}

//________________________________________________________
void AliCaloTrackMCReader::GetVertex(Double_t  v[3]) const 
{
  //Return vertex position
  
  TArrayF pv;
  GetGenEventHeader()->PrimaryVertex(pv);
  v[0]=pv.At(0);
  v[1]=pv.At(1);
  v[2]=pv.At(2);
  
}

//_________________________________________
void AliCaloTrackMCReader::InitParameters()
{
  
  //Initialize the parameters of the analysis.
  
  fDecayPi0 = kFALSE;
  
  fChargedParticlesArray = new TArrayI(1);
  fChargedParticlesArray->SetAt(11,0);  
  //Int_t pdgarray[]={12,14,16};// skip neutrinos
  //fNeutralParticlesArray = new TArrayI(3, pdgarray);
  fNeutralParticlesArray = new TArrayI(3);
  fNeutralParticlesArray->SetAt(12,0); fNeutralParticlesArray->SetAt(14,1); fNeutralParticlesArray->SetAt(16,2); 
  fStatusArray = new TArrayI(1);
  fStatusArray->SetAt(1,0); 
  
  fOnlyGeneratorParticles = kTRUE;
  fKeepAllStatus          = kTRUE;
  
  fCheckOverlap       = kFALSE;
  fEMCALOverlapAngle  = 2.5 * TMath::DegToRad();
  fPHOSOverlapAngle   = 0.5 * TMath::DegToRad();
  fIndex2ndPhoton     = -1;
  
  fDataType           = kMC;  
  fReadStack          = kTRUE;
  fReadAODMCParticles = kFALSE; //This class only works with Kinematics.root input.
  
  //For this reader we own the objects of the arrays
  fCTSTracks    ->SetOwner(kTRUE); 
  fEMCALClusters->SetOwner(kTRUE); 
  fPHOSClusters ->SetOwner(kTRUE); 
  
}

//____________________________________________________________________________________
void  AliCaloTrackMCReader::CheckOverlap(Float_t anglethres, Int_t imom,
                                         Int_t & iPrimary, Int_t & index, Int_t & pdg)
{
  //Check overlap of decay photons
  if( fIndex2ndPhoton==iPrimary )
  {
    fIndex2ndPhoton=-1;
    return;
  }
  else 
    fIndex2ndPhoton=-1;
  
  if(pdg!=22) return;
  
  TParticle *meson = GetStack()->Particle(imom);
  Int_t mepdg  = meson->GetPdgCode();
  Int_t idaug1 = meson->GetFirstDaughter();
  if((mepdg == 111 || mepdg == 221 ) && meson->GetNDaughters() == 2)
  { //Check only decay in 2 photons
    TParticle * d1 = GetStack()->Particle(idaug1);
    TParticle * d2 = GetStack()->Particle(idaug1+1);
    if(d1->GetPdgCode() == 22 && d2->GetPdgCode() == 22 )
    {
      d1->Momentum(fGamDecayMom1);
      d2->Momentum(fGamDecayMom2);
      //printf("angle %2.2f\n",ph1.Angle(ph2.Vect()));
      
      if(anglethres >  fGamDecayMom1.Angle(fGamDecayMom2.Vect()))
      { 	  
        //Keep the meson
        pdg=mepdg;
        index=imom;
        meson->Momentum(fMomentum);
        //printf("Overlap:: pt %2.2f, phi %2.2f, eta %2.2f\n",mom.Pt(),mom.Phi(),mom.Eta());
        if(iPrimary == idaug1) iPrimary++; //skip next photon in list
      }
      else
      {
        //Do not check overlapping for next decay photon from same meson
        if(iPrimary == idaug1)
        {
          fIndex2ndPhoton = idaug1+1;
        }
        
      }
    }
  }//Meson Decay with 2 photon daughters
}

//__________________________________________________________________________________
void  AliCaloTrackMCReader::FillCalorimeters(Int_t & iParticle, TParticle* particle)
{
  //Fill AODCaloClusters or TParticles lists of PHOS or EMCAL
  Char_t  ttype          = 0;
  Float_t overAngleLimit = 100;
  
  if     (fFillPHOS)
  {
    if( particle->Pt() < fPHOSPtMin ) return;
    if( fCheckFidCut && !fFiducialCut->IsInFiducialCut(particle->Eta(),particle->Phi(),kPHOS )) return;
    ttype = AliVCluster::kPHOSNeutral;
    overAngleLimit = fPHOSOverlapAngle;
  }
  else if(fFillEMCAL)
  {
    if( particle->Pt() < fEMCALPtMin ) return;
    if( fCheckFidCut && !fFiducialCut->IsInFiducialCut(particle->Eta(),particle->Phi(),kEMCAL)) return;
    ttype= AliVCluster::kEMCALClusterv1;
    overAngleLimit = fEMCALOverlapAngle;
  }
  
  particle->Momentum(fMomentum);
  
  Int_t index = iParticle ;
  Int_t pdg = TMath::Abs(particle->GetPdgCode());
  if(fCheckOverlap)
    CheckOverlap(overAngleLimit,particle->GetFirstMother(),index, iParticle, pdg);
  
  Int_t labels[] = {index};
  Double_t x[] = {fMomentum.X(), fMomentum.Y(), fMomentum.Z()};
  
  //Create object and write it to file
  AliAODCaloCluster *calo = new AliAODCaloCluster(index,1,labels,fMomentum.E(), x, NULL, ttype, 0);
  
  SetCaloClusterPID(pdg,calo) ;
 
  AliDebug(3,Form("PHOS %d?, EMCAL %d? : Selected cluster pdg %d, E %3.2f, pt %3.2f, phi %3.2f, eta %3.2f",
                  fFillPHOS, fFillEMCAL, pdg,fMomentum.E(), fMomentum.Pt(), fMomentum.Phi()*TMath::RadToDeg(),fMomentum.Eta()));
  
  //reference the selected object to the list
  if(fFillPHOS)fPHOSClusters ->Add(calo);
  else         fEMCALClusters->Add(calo);
  
}

//___________________________________________________________________________
Bool_t AliCaloTrackMCReader::FillInputEvent(Int_t iEntry,
                                            const char * /*currentFileName*/)
{
  //Fill the event counter and input lists that are needed, called by the analysis maker.
  
  fEventNumber     = iEntry;
  //fCurrentFileName = TString(currentFileName);
  fTrackMult       = 0;
  
  //In case of analysis of events with jets, skip those with jet pt > 5 pt hard	
  if(fComparePtHardAndJetPt && GetStack()) 
  {
    if(!ComparePtHardAndJetPt()) return kFALSE ;
  }
	
  //Fill Vertex array
  FillVertexArray();
  
  Int_t iParticle  = 0 ;
  Double_t charge  = 0.;
  Int_t nparticles = GetStack()->GetNtrack() ;
  
  if(fOnlyGeneratorParticles) nparticles=GetStack()->GetNprimary();
  
  for (iParticle = 0 ; iParticle <  nparticles ; iParticle++) 
  {
    TParticle * particle = GetStack()->Particle(iParticle);
    Float_t p[3];
    Float_t x[3];
    Int_t pdg = particle->GetPdgCode();						
    
    //Keep particles with a given status 
    if(KeepParticleWithStatus(particle->GetStatusCode()) && (particle->Pt() > 0) )
    {
      //Skip bizarre particles, they crash when charge is calculated
      //	if(TMath::Abs(pdg) == 3124 || TMath::Abs(pdg) > 10000000) continue ;
      
      charge = TDatabasePDG::Instance()->GetParticle(pdg)->Charge();
      
      Float_t en  = particle->Energy();
      Float_t pt  = particle->Pt();
      Float_t eta = particle->Eta();
      Float_t phi = particle->Phi();
      //---------- Charged particles ----------------------
      if(charge != 0)
      {
        if(TMath::Abs(eta)< fTrackMultEtaCut) fTrackMult++;
        
        if(fFillCTS && (pt > fCTSPtMin))
        {
          //Particles in CTS acceptance
          
          if(fCheckFidCut && !fFiducialCut->IsInFiducialCut(eta,phi,kCTS)) continue;
          
          if(TMath::Abs(pdg) == 11 && GetStack()->Particle(particle->GetFirstMother())->GetPdgCode()==22) continue ;
          
          AliDebug(2,Form("CTS : Selected tracks E %3.2f, pt %3.2f, phi %3.2f, eta %3.2f",
                          en,pt,phi*TMath::RadToDeg(),eta));
          
          x[0] = particle->Vx(); x[1] = particle->Vy(); x[2] = particle->Vz();
          p[0] = particle->Px(); p[1] = particle->Py(); p[2] = particle->Pz();
          //Create object and write it to file
          AliAODTrack *aodTrack = new AliAODTrack(0, iParticle, p, kTRUE, x, kFALSE,NULL, 0, 0, 
                                                  // NULL,
                                                  0x0,//primary,
                                                  kFALSE, // No fit performed
                                                  kFALSE, // No fit performed
                                                  AliAODTrack::kPrimary, 
                                                  0);
          SetTrackChargeAndPID(pdg, aodTrack);
          fCTSTracks->Add(aodTrack);//reference the selected object to the list
        }
        //Keep some charged particles in calorimeters lists
        if((fFillPHOS || fFillEMCAL) && KeepChargedParticles(pdg)) FillCalorimeters(iParticle, particle);
        
      }//Charged
      
      //-------------Neutral particles ----------------------
      else if(charge == 0 && (fFillPHOS || fFillEMCAL))
      {
        //Skip neutrinos or other neutral particles
        //if(SkipNeutralParticles(pdg) || particle->IsPrimary()) continue ; // protection added (MG)
        if(SkipNeutralParticles(pdg)) continue ;
        //Fill particle/calocluster arrays
        if(!fDecayPi0) 
        {
          AliDebug(2,Form("Calo : Selected tracks E %3.2f, pt %3.2f, phi %3.2f, eta %3.2f",
                          en,pt,phi*TMath::RadToDeg(),eta));
          FillCalorimeters(iParticle, particle);
        }
        else 
        {
          //Sometimes pi0 are stable for the generator, if needed decay it by hand
          if(pdg == 111 )
          {
            if(pt >  fPHOSPtMin || pt >  fEMCALPtMin)
            {
              //Decay
              //Double_t angle = 0;
              particle->Momentum(fPi0Momentum);

              MakePi0Decay();//,angle);
              
              //Check if Pi0 is in the acceptance of the calorimeters, if aperture angle is small, keep it
              TParticle * pPhoton1 = new TParticle(22,1,iParticle,0,0,0,fGamDecayMom1.Px(),fGamDecayMom1.Py(),
                                                   fGamDecayMom1.Pz(),fGamDecayMom1.E(),0,0,0,0);
              TParticle * pPhoton2 = new TParticle(22,1,iParticle,0,0,0,fGamDecayMom2.Px(),fGamDecayMom2.Py(),
                                                   fGamDecayMom2.Pz(),fGamDecayMom2.E(),0,0,0,0);
              //Fill particle/calocluster arrays
              FillCalorimeters(iParticle,pPhoton1);
              FillCalorimeters(iParticle,pPhoton2);
            }//pt cut
          }//pi0
          else
          {
            AliDebug(2,Form("Calo : Selected tracks E %3.2f, pt %3.2f, phi %3.2f, eta %3.2f",
                            en,pt,phi*TMath::RadToDeg(),eta));
            FillCalorimeters(iParticle,particle); //Add the rest
          }
        }
      }//neutral particles
    } //particle with correct status
  }//particle loop
  
  fIndex2ndPhoton = -1; //In case of overlapping studies, reset for each event	
 	
  return kTRUE;	
  
}

//_____________________________________________________________________
Bool_t AliCaloTrackMCReader::KeepParticleWithStatus(Int_t status) const 
{
  //Check if status is equal to one of the  list
  //These particles will be used in analysis.
  if(!fKeepAllStatus)
  {
    for(Int_t i= 0; i < fStatusArray->GetSize(); i++)
      if(status ==  fStatusArray->At(i)) return kTRUE ;
    
    return kFALSE; 
  }
  else
    return kTRUE ;  
}

//________________________________________________________________
Bool_t AliCaloTrackMCReader::KeepChargedParticles(Int_t pdg) const 
{
  //Check if pdg is equal to one of the charged particles list
  //These particles will be added to the calorimeters lists.
  
  for(Int_t i= 0; i < fChargedParticlesArray->GetSize(); i++)
    if(TMath::Abs(pdg) ==  fChargedParticlesArray->At(i)) return kTRUE ;
  
  return kFALSE; 
  
}

//__________________________________________________________
void AliCaloTrackMCReader::Print(const Option_t * opt) const
{
  //Print some relevant parameters set for the analysis
  if(! opt)
    return;
  
  AliCaloTrackReader::Print(opt);
  
  printf("**** Print **** %s %s ****\n", GetName(), GetTitle() ) ;
  
  printf("Decay Pi0?          : %d\n", fDecayPi0) ;
  printf("Check Overlap in Calo?    : %d\n", fCheckOverlap) ;
  printf("Keep all status?    : %d\n", fKeepAllStatus) ;
  
  if(!fKeepAllStatus) printf("Keep particles with status : ");
  for(Int_t i= 0; i < fStatusArray->GetSize(); i++)
    printf(" %d ; ", fStatusArray->At(i));
  printf("\n");
  
  printf("Skip neutral particles in calo : ");
  for(Int_t i= 0; i < fNeutralParticlesArray->GetSize(); i++)
    printf(" %d ; ", fNeutralParticlesArray->At(i));
  printf("\n");
  
  printf("Keep charged particles in calo : ");
  for(Int_t i= 0; i < fChargedParticlesArray->GetSize(); i++)
    printf(" %d ; ", fChargedParticlesArray->At(i));
  printf("\n");
  
}

//_______________________________________
void AliCaloTrackMCReader::MakePi0Decay()
//, Double_t &angle)
{ 
  // Perform isotropic decay pi0 -> 2 photons
  // fPi0Momentum is pi0 4-momentum (ipnut)
  // fGamDecayMom1 and fGamDecayMom2 are photon 4-momenta (output)
  
  //  cout<<"Boost vector"<<endl;
  Double_t mPi0 = TDatabasePDG::Instance()->GetParticle(111)->Mass();
  TVector3 b = fPi0Momentum.BoostVector();
  //cout<<"Parameters"<<endl;
  //Double_t mPi0   = fPi0Momentum.M();
  Double_t phi    = TMath::TwoPi() * gRandom->Rndm();
  Double_t cosThe = 2 * gRandom->Rndm() - 1;
  Double_t cosPhi = TMath::Cos(phi);
  Double_t sinPhi = TMath::Sin(phi);
  Double_t sinThe = TMath::Sqrt(1-cosThe*cosThe);
  Double_t ePi0   = mPi0/2.;
  //cout<<"ePi0 "<<ePi0<<endl;
  //cout<<"Components"<<endl;
  fGamDecayMom1.SetPx(+ePi0*cosPhi*sinThe);
  fGamDecayMom1.SetPy(+ePi0*sinPhi*sinThe);
  fGamDecayMom1.SetPz(+ePi0*cosThe);
  fGamDecayMom1.SetE(ePi0);
  //cout<<"fGamDecayMom1: "<<fGamDecayMom1.Px()<<" "<<fGamDecayMom1.Py()<<" "<<fGamDecayMom1.Pz()<<" "<<fGamDecayMom1.E()<<endl;
  //cout<<"fGamDecayMom1 Mass: "<<fGamDecayMom1.Px()*fGamDecayMom1.Px()+fGamDecayMom1.Py()*fGamDecayMom1.Py()+fGamDecayMom1.Pz()*fGamDecayMom1.Pz()-fGamDecayMom1.E()*fGamDecayMom1.E()<<endl;
  fGamDecayMom2.SetPx(-ePi0*cosPhi*sinThe);
  fGamDecayMom2.SetPy(-ePi0*sinPhi*sinThe);
  fGamDecayMom2.SetPz(-ePi0*cosThe);
  fGamDecayMom2.SetE(ePi0);
  //cout<<"fGamDecayMom2: "<<fGamDecayMom2.Px()<<" "<<fGamDecayMom2.Py()<<" "<<fGamDecayMom2.Pz()<<" "<<fGamDecayMom2.E()<<endl;
  //cout<<"fGamDecayMom2 Mass: "<<fGamDecayMom2.Px()*fGamDecayMom2.Px()+fGamDecayMom2.Py()*fGamDecayMom2.Py()+fGamDecayMom2.Pz()*fGamDecayMom2.Pz()-fGamDecayMom2.E()*fGamDecayMom2.E()<<endl;
  //cout<<"Boost "<<b.X()<<" "<<b.Y()<<" "<<b.Z()<<endl;
  fGamDecayMom1.Boost(b);
  //cout<<"fGamDecayMom1: "<<fGamDecayMom1.Px()<<" "<<fGamDecayMom1.Py()<<" "<<fGamDecayMom1.Pz()<<" "<<fGamDecayMom1.E()<<endl;
  fGamDecayMom2.Boost(b);
  //cout<<"fGamDecayMom2: "<<fGamDecayMom2.Px()<<" "<<fGamDecayMom2.Py()<<" "<<fGamDecayMom2.Pz()<<" "<<fGamDecayMom2.E()<<endl;
  //cout<<"angle"<<endl;
  //angle = fGamDecayMom1.Angle(fGamDecayMom2.Vect());
  //cout<<angle<<endl;
}

//__________________________________________________________________
void AliCaloTrackMCReader::SetInputOutputMCEvent(AliVEvent* /*esd*/, 
                                                 AliAODEvent* aod, 
                                                 AliMCEvent* mc) 
{
  // Connect the data pointer
  SetMC(mc);
  SetOutputEvent(aod);
}

//________________________________________________________________
Bool_t AliCaloTrackMCReader::SkipNeutralParticles(Int_t pdg) const 
{
  //Check if pdg is equal to one of the neutral particles list
  //These particles will be skipped from analysis.
  
  for(Int_t i= 0; i < fNeutralParticlesArray->GetSize(); i++)
    if(TMath::Abs(pdg) ==  fNeutralParticlesArray->At(i)) return kTRUE ;
  
  return kFALSE; 
  
}

//_______________________________________________________________________
void AliCaloTrackMCReader::SetTrackChargeAndPID(Int_t pdgCode,
                                                AliAODTrack *track) const 
{
  //Give a PID weight for tracks equal to 1 depending on the particle type
  
  Float_t pid[10] = {0., 0., 0., 0., 0., 0., 0., 0., 0., 0.};
  
  switch (pdgCode) 
  {
    case 22: // gamma
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case 11: // e- 
      track->SetCharge(-1);
      pid[AliAODTrack::kElectron] = 1.;
      track->SetPID(pid);
      break;
      
    case -11: // e+
      track->SetCharge(+1);
      pid[AliAODTrack::kElectron] = 1.;
      track->SetPID(pid);
      break;
      
    case 13: // mu- 
      track->SetCharge(-1);
      pid[AliAODTrack::kMuon] = 1.;
      track->SetPID(pid);
      break;
      
    case -13: // mu+
      track->SetCharge(+1);
      pid[AliAODTrack::kMuon] = 1.;
      track->SetPID(pid);
      break;
      
    case 111: // pi0
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case 211: // pi+
      track->SetCharge(+1);
      pid[AliAODTrack::kPion] = 1.;
      track->SetPID(pid);
      break;
      
    case -211: // pi-
      track->SetCharge(-1);
      pid[AliAODTrack::kPion] = 1.;
      track->SetPID(pid);
      break;
      
    case 130: // K0L
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case 321: // K+
      track->SetCharge(+1);
      pid[AliAODTrack::kKaon] = 1.;
      track->SetPID(pid);
      break;
      
    case -321: // K- 
      track->SetCharge(-1);
      pid[AliAODTrack::kKaon] = 1.;
      track->SetPID(pid);
      break;
      
    case 2112: // n
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case 2212: // p
      track->SetCharge(+1);
      pid[AliAODTrack::kProton] = 1.;
      track->SetPID(pid);
      break;
      
    case -2212: // anti-p
      track->SetCharge(-1);
      pid[AliAODTrack::kProton] = 1.;
      track->SetPID(pid);
      break;
      
    case 310: // K0S
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case 311: // K0
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case -311: // anti-K0
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case 221: // eta
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case 3122: // lambda
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case 3222: // Sigma+
      track->SetCharge(+1);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case 3212: // Sigma0
      track->SetCharge(-1);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case 3112: // Sigma-
      track->SetCharge(-1);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case 3322: // Xi0
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case 3312: // Xi-
      track->SetCharge(-1);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case 3334: // Omega-
      track->SetCharge(-1);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case -2112: // n-bar
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case -3122: // anti-Lambda
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case -3222: // anti-Sigma-
      track->SetCharge(-1);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case -3212: // anti-Sigma0
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case -3112: // anti-Sigma+
      track->SetCharge(+1);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case -3322: // anti-Xi0
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case -3312: // anti-Xi+
      track->SetCharge(+1);
      break;
      
    case -3334: // anti-Omega+
      track->SetCharge(+1);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case 411: // D+
      track->SetCharge(+1);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case -411: // D- 
      track->SetCharge(-1);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case 421: // D0
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    case -421: // anti-D0
      track->SetCharge(0);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
      break;
      
    default : // unknown
      track->SetCharge(-99);
      pid[AliAODTrack::kUnknown] = 1.;
      track->SetPID(pid);
  }
  
  track->SetPID(pid);
  
  return;
}

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