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

//
// Implementation of a branch replicator 
// to produce aods with only few branches.
//
// This replicator is in charge of replicating the nuclei primary vertices
// tracks identified as nuclei with Z>=2, secondary vertices in form of 
// AliAODRecoDecayLF2Prong and their daughter tracks.
// These informations are stored into a reduced AODs (AliAOD.NuclEx.root) 
// 
// The vertices are filtered so that only the primary vertices make it
// to the output aods.
//
// The secondary vertices are recreated here, as a AliAODRecoDecayLF2Prong
// plus cuts that select secondary vericesoutside the primary vertex

// Authors: S. Bufalino (stefania.bufalino@cern.ch)
//          R. Lea      (ramona.lea@cern.ch)
// Based on AliAODMuonReplicator.cxx 


class AliESDv0;
class AliESDVertex;
class AliAODVertex;
class AliAODRecoDecay;

#include "AliAODDimuon.h"
#include "AliAODEvent.h"
#include "AliAODMCHeader.h"
#include "AliAODMCParticle.h"
#include "AliAODTZERO.h"
#include "AliAODTrack.h"
#include "AliAODVZERO.h"
//#include "AliAnalysisCuts.h"
#include "TF1.h"
#include "AliExternalTrackParam.h"
#include "AliESDv0.h"
#include "AliAODv0.h"
#include "AliPIDResponse.h"
#include <iostream>
#include <cassert>
#include "AliESDtrack.h"
#include "TObjArray.h"
#include "AliAnalysisFilter.h"
#include "AliAODRecoDecay.h"
#include "AliAODRecoDecayLF.h"
#include "AliAODRecoDecayLF2Prong.h"

#include <TFile.h>
#include <TDatabasePDG.h>
#include <TString.h>
#include <TList.h>
#include "AliLog.h"
#include "AliVEvent.h"
#include "AliVVertex.h"
#include "AliVTrack.h"
#include "AliVertexerTracks.h"
#include "AliKFVertex.h"
#include "AliESDEvent.h"
#include "AliESDVertex.h"
#include "AliESDtrackCuts.h"
#include "AliAODEvent.h"
#include "AliAnalysisFilter.h"
//#include "AliAnalysisVertexingLF.h"
#include "AliAnalysisManager.h"
#include "AliAODNuclExReplicator.h"
#include "TH1.h"
#include "TCanvas.h"
#include "AliInputEventHandler.h"

using std::cout;
using std::endl;

ClassImp(AliAODNuclExReplicator)

//_____________________________________________________________________________
AliAODNuclExReplicator::AliAODNuclExReplicator(const char* name, const char* title,
					       // AliAnalysisCuts* trackCut,
					       // AliAnalysisCuts* vertexCut,
					       Int_t mcMode, 
					       Int_t nsigmaTrk1, Int_t partType1,
					       Int_t nsigmaTrk2, Int_t partType2
					       )
  :AliAODBranchReplicator(name,title),
  fBzkG(0.),
  fCosMin(),
  fDCAtracksMin(),
  fRmax(),
  fRmin(),
  fDNmin(),
  fDPmin(), 
  fHeader(0x0),
//fVertexCut(vertexCut), 
  fVertices(0x0), 
  fNuclei(0x0),
//  fTrackCut(trackCut), 
  fSecondaryVerices(0x0), 
  fDaughterTracks(0x0),
  fList(0x0),
  fMCParticles(0x0),
  fMCHeader(0x0),
  fMCMode(mcMode),
  fLabelMap(),
  fParticleSelected(),
  fReplicateHeader(kTRUE), //replicateHeader //to be fixed
  fnSigmaTrk1(nsigmaTrk1),
  fnSigmaTrk2(nsigmaTrk2),
  fpartType1(partType1),
  fpartType2(partType2),
  fSecVtxWithKF(kFALSE),
  fVertexerTracks(0x0),
  fV1(0x0),
  fAODMapSize(0),
  fAODMap(0)
  
{
  // default ctor
}

//_____________________________________________________________________________
AliAODNuclExReplicator::~AliAODNuclExReplicator()
{
  // destructor
  // delete fTrackCut;
  // delete fVertexCut;
  delete fList;
}

//_____________________________________________________________________________
void AliAODNuclExReplicator::SelectParticle(Int_t i)
{
  // taking the absolute values here, need to take care 
  // of negative daughter and mother
  // IDs when setting!
  
  if (!IsParticleSelected(TMath::Abs(i)))
  {
    fParticleSelected.Add(TMath::Abs(i),1);    
  }
}

//_____________________________________________________________________________
Bool_t AliAODNuclExReplicator::IsParticleSelected(Int_t i)  
{
  // taking the absolute values here, need to take 
  // care with negative daughter and mother
  // IDs when setting!
  return (fParticleSelected.GetValue(TMath::Abs(i))==1);
}


//_____________________________________________________________________________
void AliAODNuclExReplicator::CreateLabelMap(const AliAODEvent& source)
{  
  //
  // this should be called once all selections are done 
  //
  
  fLabelMap.Delete();
  
  TClonesArray* mcParticles = static_cast<TClonesArray*>(source.FindListObject(AliAODMCParticle::StdBranchName()));
  
  Int_t i(0);
  Int_t j(0);
  
  TIter next(mcParticles);
  
  while ( next() ) 
  {
    if (IsParticleSelected(i))
    {
      fLabelMap.Add(i,j++);
    }
    ++i;
  }
}

//_____________________________________________________________________________
Int_t AliAODNuclExReplicator::GetNewLabel(Int_t i) 
{
  // Gets the label from the new created Map
  // Call CreatLabelMap before
  // otherwise only 0 returned
  return fLabelMap.GetValue(TMath::Abs(i));
}

//_____________________________________________________________________________
// void AliAODNuclExReplicator::FilterMC(const AliAODEvent& source)
// {
//   // Filter MC information

//   fMCHeader->Reset();
//   fMCParticles->Clear("C");

//   AliAODMCHeader* mcHeader(0x0);
//   TClonesArray* mcParticles(0x0);
  
//   fParticleSelected.Delete();
  
//   if ( fMCMode>=2 && !fTracks->GetEntries() ) return;
//   // for fMCMode==1 we only copy MC information for events where there's at least one muon track
    
//   mcHeader = static_cast<AliAODMCHeader*>(source.FindListObject(AliAODMCHeader::StdBranchName()));
  
//   if ( mcHeader ) 
//     {
//       *fMCHeader = *mcHeader;
//     }
  
//   mcParticles = static_cast<TClonesArray*>(source.FindListObject(AliAODMCParticle::StdBranchName()));
  
//   if ( mcParticles && fMCMode>=2 )
//     {
//       // loop on (kept) muon tracks to find their ancestors
//       TIter nextMT(fTracks);
//       AliAODTrack* mt;
    
//       while ( ( mt = static_cast<AliAODTrack*>(nextMT()) ) )
// 	{
// 	  Int_t label = mt->GetLabel();
      
// 	  while ( label >= 0 ) 
// 	    {
// 	      SelectParticle(label);
// 	      AliAODMCParticle* mother = static_cast<AliAODMCParticle*>(mcParticles->UncheckedAt(label));
// 	      if (!mother)
// 		{
// 		  AliError("Got a null mother ! Check that !");
// 		  label = -1;
// 		}
// 	      else
// 		{
// 		  label = mother->GetMother();
// 		}
// 	    }
// 	}
    
//       CreateLabelMap(source);
    
//       // Actual filtering and label remapping (shamelessly taken for the implementation of AliAODHandler::StoreMCParticles)
//       TIter nextMC(mcParticles);
//       AliAODMCParticle* p;
//       Int_t nmc(0);
//       Int_t nmcout(0);
    
//       while ( ( p = static_cast<AliAODMCParticle*>(nextMC()) ) )
// 	{
// 	  AliAODMCParticle c(*p);
      
// 	  if ( IsParticleSelected(nmc) )
// 	    {
// 	      // 
// 	      Int_t d0 =  p->GetDaughter(0);
// 	      Int_t d1 =  p->GetDaughter(1);
// 	      Int_t m =   p->GetMother();
        
// 	      // other than for the track labels, negative values mean
// 	      // no daughter/mother so preserve it
        
// 	      if(d0<0 && d1<0)
// 		{
// 		  // no first daughter -> no second daughter
// 		  // nothing to be done
// 		  // second condition not needed just for sanity check at the end
// 		  c.SetDaughter(0,d0);
// 		  c.SetDaughter(1,d1);
// 		} else if(d1 < 0 && d0 >= 0) 
// 		{
// 		  // Only one daughter
// 		  // second condition not needed just for sanity check at the end
// 		  if(IsParticleSelected(d0))
// 		    {
// 		      c.SetDaughter(0,GetNewLabel(d0));
// 		    } else 
// 		    {
// 		      c.SetDaughter(0,-1);
// 		    }
// 		  c.SetDaughter(1,d1);
// 		}
// 	      else if (d0 > 0 && d1 > 0 )
// 		{
// 		  // we have two or more daughters loop on the stack to see if they are
// 		  // selected
// 		  Int_t d0tmp = -1;
// 		  Int_t d1tmp = -1;
// 		  for (int id = d0; id<=d1;++id)
// 		    {
// 		      if (IsParticleSelected(id))
// 			{
// 			  if(d0tmp==-1)
// 			    {
// 			      // first time
// 			      d0tmp = GetNewLabel(id);
// 			      d1tmp = d0tmp; // this is to have the same schema as on the stack i.e. with one daugther d0 and d1 are the same 
// 			    }
// 			  else d1tmp = GetNewLabel(id);
// 			}
// 		    }
// 		  c.SetDaughter(0,d0tmp);
// 		  c.SetDaughter(1,d1tmp);
// 		} else 
// 		{
// 		  AliError(Form("Unxpected indices %d %d",d0,d1));
// 		}
        
// 	      if ( m < 0 )
// 		{
// 		  c.SetMother(m);
// 		} else 
// 		{
// 		  if (IsParticleSelected(m)) 
// 		    {
// 		      c.SetMother(GetNewLabel(m));              
// 		    }
// 		  else 
// 		    {
// 		      AliError(Form("PROBLEM Mother not selected %d", m));              
// 		    }
// 		}
        
// 	      new ((*fMCParticles)[nmcout++]) AliAODMCParticle(c);
// 	    }
      
// 	  ++nmc;        
// 	}      
    
//       // now remap the tracks...
    
//       TIter nextTrack(fTracks);
//       AliAODTrack* t;
    
//       while ( ( t = static_cast<AliAODTrack*>(nextTrack()) ) )
// 	{
// 	  t->SetLabel(GetNewLabel(t->GetLabel()));
// 	}
    
//     }
//   else if ( mcParticles ) 
//     {
//       // simple copy of input MC particles to ouput MC particles
//       TIter nextMC(mcParticles);
//       AliAODMCParticle* p;
//       Int_t nmcout(0);
    
//       while ( ( p = static_cast<AliAODMCParticle*>(nextMC()) ) )
// 	{
// 	  new ((*fMCParticles)[nmcout++]) AliAODMCParticle(*p);
// 	}
//     }
  
//   AliDebug(1,Form("input mc %d output mc %d",
//                   mcParticles ? mcParticles->GetEntries() : 0,
//                   fMCParticles ? fMCParticles->GetEntries() : 0));
  
// }


//_____________________________________________________________________________
TList* AliAODNuclExReplicator::GetList() const
{
  // return (and build if not already done) our internal list of managed objects
  if (!fList)
    {
    
      if ( fReplicateHeader )
	{
	  fHeader = new AliAODHeader;
	}
      
      
      fSecondaryVerices = new TClonesArray("AliAODRecoDecayLF2Prong",30);
      fSecondaryVerices->SetName("SecondaryVertices");    
    
      fVertices = new TClonesArray("AliAODVertex",2);
      fVertices->SetName("vertices");    
    
      fNuclei = new TClonesArray("AliAODTrack",30);
      fNuclei->SetName("Nuclei");
    
      fDaughterTracks = new TClonesArray("AliAODTrack",30);
      fDaughterTracks->SetName("DaughterTracks");

    
      fList = new TList;
      fList->SetOwner(kTRUE);
  
      fList->Add(fHeader);
      fList->Add(fVertices);
      fList->Add(fNuclei);
      fList->Add(fSecondaryVerices);
      fList->Add(fDaughterTracks);
  
      
      if ( fMCMode > 0 )
	{
	  fMCHeader = new AliAODMCHeader;    
	  fMCParticles = new TClonesArray("AliAODMCParticle",1000);
	  fMCParticles->SetName(AliAODMCParticle::StdBranchName());
	  fList->Add(fMCHeader);
	  fList->Add(fMCParticles);
	}
    }
  return fList;
}

//_____________________________________________________________________________
void AliAODNuclExReplicator::ReplicateAndFilter(const AliAODEvent& source)
{
  // Replicate (and filter if filters are there) the relevant parts we're interested in AODEvent
  
  //-----------------------------------------------
  // AliPIDResponse
  
  AliPIDResponse *fPIDResponse;
  AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
  AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
  fPIDResponse = inputHandler->GetPIDResponse();
  
  //--------------------------------------------------------

  //  printf("Execute NuclEx Replicator\n");

  //---------------------------------

  if (fReplicateHeader)
    {
      AliAODHeader * header = dynamic_cast<AliAODHeader*>(source.GetHeader());
      if(!header) AliFatal("Not a standard AOD");
      *fHeader = *(header);
    }
    
  fVertices->Clear("C");			
    
  fNuclei->Clear("C");

  fSecondaryVerices->Clear("C");

  fDaughterTracks->Clear("C");
  
  //----------------------------------

  //  cout<<"Centrality AOD source: "<<source.GetHeader()->GetCentrality()<<endl;

  Int_t nsv(0);
  Int_t nnuclei(0);
  Int_t ntracksD(0);

  Int_t input(0);
  Double_t xdummy,ydummy;

  AliAODRecoDecayLF2Prong *io2Prong  = 0;

  TObjArray *twoTrackArray    = new TObjArray(2);
  Double_t dispersion;

  // cout<<"Qui"<<endl;
  //cout<<source.GetMagneticField()<<endl;

  AliAODVertex *vtx = source.GetPrimaryVertex();
						
  //  cout<<"Source "<<source<<endl;
  //cout<<"vtx: "<<vtx<<endl;

  // A Set of very loose cut for a weak strange decay
  
  fCosMin       = 0.99;
  fDCAtracksMin = 1;
  fRmax         = 200.;
  fRmin         = 0.1;
  fDNmin        = 0.05;
  fDPmin        = 0.05;

  //----------------------------------------------------------

  //  Int_t nindices=0;
  UShort_t *indices = 0;
  const Int_t entries = source.GetNumberOfTracks();

  Double_t pos[3],cov[6];
  vtx->GetXYZ(pos);
  vtx->GetCovarianceMatrix(cov);
  fV1 = new AliESDVertex(pos,cov,100.,100,vtx->GetName());
  //  cout<<"fV1 pricipal loop: "<<fV1<<endl;
  
  if(entries<=0) return;
  indices = new UShort_t[entries];
  memset(indices,0,sizeof(UShort_t)*entries);
  fAODMapSize = 100000;
  fAODMap = new Int_t[fAODMapSize];
  memset(fAODMap,0,sizeof(Int_t)*fAODMapSize);
  //  cent=((AliAODEvent&)source)->GetCentrality();
  
  //-------------------------------------------------------------

  //AliAODRecoDecayLF   *rd = 0;
  //  AliAODRecoDecayLF2Prong*rd = 0;
  

  if(vtx->GetNContributors()<1) {
    
    // SPD vertex cut
    vtx =source.GetPrimaryVertexSPD();
    
    if(vtx->GetNContributors()<1) {
      Info("AliAnalysisTaskHelium3Pi","No good vertex, skip event");
      return; // NO GOOD VERTEX, SKIP EVENT 
    }
  }
  
  Double_t xPrimaryVertex=0.,yPrimaryVertex=0.;
  xPrimaryVertex=vtx->GetX();
  yPrimaryVertex=vtx->GetY();
  
  fBzkG=source.GetMagneticField();
  fVertexerTracks=new AliVertexerTracks(fBzkG);

  // TF1 *foPion=new TF1("foPion", "[0]*([1]*TMath::Power(TMath::Sqrt(1 + (x/0.13957)*(x/0.13957))/(x/0.13957) , [3]) - 1 - TMath::Power(TMath::Sqrt(1 + (x/0.13957)*(x/0.13957))/(x/0.13957) , [3])*TMath::Log([2] + 1/TMath::Power((x/0.13957), [4])))",0.01,20);
  // foPion->SetParameters(4.1,8.98482806165147636e+00,1.54000000000000005e-05,2.30445734159456084e+00,2.25624744086878559e+00);
  
  Double_t TrackNumber = source.GetNumberOfTracks();
  
  //Tracks arrays
  
  TArrayI Track0(TrackNumber);        //Pions                                                                          
  Int_t nTrack0=0;
  
  TArrayI Track1(TrackNumber);        //Helium3
  Int_t nTrack1=0;
  
  for(Int_t j=0; j<TrackNumber; j++){

    //    cout<<"Inside loop tracks"<<endl;
    
    AliVTrack *track = (AliVTrack*)source.GetTrack(j);
    
    AliAODTrack *aodtrack =(AliAODTrack*)track;

    //-----------------------------------------------------------
    //Track cuts 
    if(aodtrack->GetTPCNcls() < 70 )continue;
    if(aodtrack->Chi2perNDF() > 4 )continue;

    // cout<<"Filter Map: "<<aodtrack->GetFilterMap()<<endl;
    //    if (!aodtrack->TestFilterMask(BIT(4))) continue;
    // if(aodtrack->TestFilterMask(BIT(4))!=0)
    //   cout<<"!!!!!!!!!!!!!!!!!!!!!!!!!!! Filter bit mask: !!!!!!!!!!!!!!!!!!!!!!!!!!!"<<endl;
    
    if (!aodtrack->IsOn(AliAODTrack::kTPCrefit)) continue;
    if (!aodtrack->IsOn(AliAODTrack::kTPCin)) continue;
    if (aodtrack->IsOn(AliAODTrack::kITSpureSA)) continue;

    //---------------------------------------------------------------
     
    //    Double_t mom = aodtrack->GetDetPid()->GetTPCmomentum();
    Double_t mom = aodtrack->P();
    
    if(mom<0.150)continue;
   

 
    Double_t nSigmaNegPion = TMath::Abs(fPIDResponse->NumberOfSigmasTPC(aodtrack,(AliPID::EParticleType)fpartType1)); 
    //    cout<<"%%% nsigma Pi: "<<nSigmaNegPion<<endl;
    //    Double_t nSigmaNegPion = TMath::Abs((aodtrack->GetTPCsignal() - foPion->Eval(mom))/foPion->Eval(mom))/0.07;
    
    if ( nSigmaNegPion <= fnSigmaTrk1 /*&& aodtrack->Charge()==-1*/){
      Track0[nTrack0++]=j;
    }
    
    Double_t nSigmaNuclei = fPIDResponse->NumberOfSigmasTPC(aodtrack,(AliPID::EParticleType)fpartType2);  //To be changed
    //cout<<"%%% nsigma Nuclei: "<<nSigmaNuclei<<endl;
  
    if(nSigmaNuclei>-fnSigmaTrk2 && aodtrack->GetTPCsignal()<1000 && mom>0.2){ 
   
    //Double_t triggerDeDx = 4*AliExternalTrackParam::BetheBlochAleph((mom*2)/(0.938*3),1.0288,31.9806,5.04114e-11,2.13096,2.38541);
      //if(aodtrack->GetTPCsignal() > triggerDeDx && aodtrack->GetTPCsignal()<5000 && mom>0.2 /*&& aodtrack->Charge()==1*/){
      
      Track1[nTrack1++]=j;
      new((*fNuclei)[nnuclei++]) AliAODTrack(*aodtrack);
      //cout<<"@@@ n sigma NUCLEI"<<nSigmaNuclei<<endl;
    }
    
  }
  
  //  cout<<"Delete AodTrack..."<<endl;
  //  delete aodtrack;
  //  aodtrack->Delete();

  //Set Track Daughters
  Track0.Set(nTrack0);
  Track1.Set(nTrack1);
  
  //  cout<<"Track loops..."<<endl;
  
  AliAODTrack *postrackAOD = 0;
  AliAODTrack *negtrackAOD = 0;
 
  AliESDtrack *postrack = 0;
  AliESDtrack *negtrack = 0;

  // cout <<"nTrack1 "<< nTrack1<<endl;
  // cout <<"nTrack0 "<< nTrack0<<endl;

  for (Int_t i=0; i<nTrack1; i++){                            //! He Tracks Loop

    //    cout<<"Inside track loop"<<endl;
    
    Int_t Track1idx=Track1[i];

    AliVTrack *trackpos = (AliVTrack*)source.GetTrack(Track1idx);

    postrackAOD = (AliAODTrack*)trackpos;
    postrack = new AliESDtrack(trackpos);
    
    for (Int_t k=0; k <nTrack0 ; k++) {                           //! Pion Tracks Loop

      Int_t Track0idx=Track0[k];

      AliVTrack *trackneg = (AliVTrack*)source.GetTrack(Track0idx);
      negtrackAOD =(AliAODTrack*)trackneg;
      negtrack = new AliESDtrack(trackneg);       
   
      twoTrackArray->AddAt(negtrack,0);
      twoTrackArray->AddAt(postrack,1);
      
      Double_t dcap1n1 = postrack->GetDCA(negtrack,fBzkG,xdummy,ydummy);

      Double_t dcap1toPV = TMath::Abs(postrack->GetD(xPrimaryVertex, yPrimaryVertex,fBzkG));
      Double_t dcan1toPV = TMath::Abs(negtrack->GetD(xPrimaryVertex, yPrimaryVertex,fBzkG));

      if(dcap1n1>fDCAtracksMin)continue;
      if((xdummy+ydummy)>fRmax )continue;
      if((xdummy+ydummy)< fRmin)continue;
      
      if ( dcan1toPV < fDNmin)               
        if ( dcap1toPV < fDPmin) continue;   
      
      //      cout<<"dcap1n1: "<<dcap1n1<<endl;
 
      AliAODVertex *vertexp1n1 = ReconstructSecondaryVertex(twoTrackArray,dispersion,kTRUE);
      
      if(!vertexp1n1) {

	twoTrackArray->Clear();
	delete negtrack;
	negtrack=NULL; 
      	continue; 
      }
      
      //      cout<<"vertexp1n1:  "<<vertexp1n1<<endl;

      io2Prong = Make2Prong(twoTrackArray,source,vertexp1n1,dcap1n1);
  
      //cout<<"Fuori dal loop e' quello che salvo \npr0: "<<io2Prong->GetProngID(0)<<" pr1: "<<io2Prong->GetProngID(1)<<" pr2"<<io2Prong->GetProngID(2)<<endl;

      if(io2Prong->CosPointingAngle()<fCosMin)continue;

      //      cout<<"if CPA \npr0: "<<io2Prong->GetProngID(0)<<" pr1: "<<io2Prong->GetProngID(1)<<" pr2"<<io2Prong->GetProngID(2)<<endl;
      // cout<<"pointing angle "<<io2Prong->CosPointingAngle()<<endl;
      
      
      // AliAODTrack *trk0 = (AliAODTrack*)io2Prong->GetDaughter(0);
      // AliAODTrack *trk1 = (AliAODTrack*)io2Prong->GetDaughter(1);
    
      // cout<<"**********************************************"<<endl;
      // cout<<trk0/*->GetID()*/<<" "<<negtrackAOD->GetID()<<endl;
      // cout<<trk1/*->GetID()*/<<" "<<postrackAOD->GetID()<<endl;
      // cout<<"d0 io2Prong: "<<io2Prong->GetProngID(1)<<endl;
      // cout<<"d1 io2Prong: "<<io2Prong->GetProngID(0)<<endl;
      // cout<<"**********************************************"<<endl;

      //      rd =  new((*fSecondaryVerices)[nsv++]) AliAODRecoDecayLF2Prong(*io2Prong);
      
      new((*fSecondaryVerices)[nsv++]) AliAODRecoDecayLF2Prong(*io2Prong);
      
      //      cout<<"QUELLO CHE SALVo \npr0: "<<rd->GetProngID(0)<<" pr1: "<<rd->GetProngID(1)<<" pr2"<<rd->GetProngID(2)<<endl;

      // rd->SetSecondaryVtx(vertexp1n1);
      // vertexp1n1->SetParent(rd);
      // AddRefs(vertexp1n1,rd,source,twoTrackArray);
      
	
      new((*fDaughterTracks)[ntracksD++]) AliAODTrack(*negtrackAOD);
      new((*fDaughterTracks)[ntracksD++]) AliAODTrack(*postrackAOD);
      
      delete negtrack; 
      negtrack = NULL;
    
      delete vertexp1n1;
      vertexp1n1= NULL;
      continue;
    }

    delete postrack; 
    postrack = NULL;
   
  }
  
  //----------------------------------------------------------
 
  assert(fVertices!=0x0);
  fVertices->Clear("C");
  TIter nextV(source.GetVertices());
  AliAODVertex* v;
  Int_t nvertices(0);
  
  while ( ( v = static_cast<AliAODVertex*>(nextV()) ) )
    {
       if (  v->GetType() == AliAODVertex::kPrimary     ||
       	    v->GetType() == AliAODVertex::kMainSPD     ||
       	    v->GetType() == AliAODVertex::kPileupSPD   ||
       	    v->GetType() == AliAODVertex::kPileupTracks||
       	    v->GetType() == AliAODVertex::kMainTPC  ) 
       	{
	  AliAODVertex* tmp = v->CloneWithoutRefs();
	  AliAODVertex* copiedVertex = new((*fVertices)[nvertices++]) AliAODVertex(*tmp);
	  
	  // to insure the main vertex retains the ncontributors information
	  // (which is otherwise computed dynamically from
	  // references to tracks, which we do not keep in muon aods...)
	  // we set it here
	  
	  copiedVertex->SetNContributors(v->GetNContributors()); 
	  
	  //  fVertices->Delete();
	  //	  delete copiedVertex;
	  delete tmp;
	}
    }
  
  //  printf("....Done NuclEx Replicator...\n");
  
  AliDebug(1,Form("input mu tracks=%d tracks=%d vertices=%d nnuclei=%d",
                  input,fSecondaryVerices->GetEntries(),fVertices->GetEntries(),fNuclei->GetEntries())); 
  
  // Finally, deal with MC information, if needed
  
  // if ( fMCMode > 0 )
  //   {
  //     FilterMC(source);      
  //   }
  
  //cout<<"Delete..."<<endl;
  // delete foPion;
  // foPion = NULL;
  //cout<<"Delete 1"<<  endl;
  
  if(io2Prong) {delete io2Prong; io2Prong=NULL;}
  //cout<<"Delete 2"<<  endl;
  twoTrackArray->Delete();  delete twoTrackArray;
  //cout<<"Delete 3"<<  endl;
  // vtx->Delete();  delete vtx;
  //cout<<"Delete 4"<<  endl;
  if(fV1) { delete fV1; fV1=NULL; }
  //cout<<"Delete 5"<<  endl;
  if(fAODMap) { delete [] fAODMap; fAODMap=NULL; }
  delete []indices;
  //cout<<"Delete 6"<<  endl;
  delete fVertexerTracks;

  
} 

//-----------------------------------------------------------------------------

AliAODVertex *AliAODNuclExReplicator::ReconstructSecondaryVertex(TObjArray *trkArray,
								Double_t &dispersion,Bool_t useTRefArray) const

{
  // Secondary vertex reconstruction with AliVertexerTracks or AliKFParticle
  //AliCodeTimerAuto("",0);

  AliESDVertex *vertexESD = 0;
  AliAODVertex *vertexAOD = 0;

  if(!fSecVtxWithKF) { // AliVertexerTracks

    fVertexerTracks->SetVtxStart(fV1);
    vertexESD = (AliESDVertex*)fVertexerTracks->VertexForSelectedESDTracks(trkArray);

    if(!vertexESD) return vertexAOD;


    Double_t vertRadius2=vertexESD->GetX()*vertexESD->GetX()+vertexESD->GetY()*vertexESD->GetY();
    if(vertRadius2>200.){
      // vertex outside beam pipe, reject candidate to avoid propagation through material
      delete vertexESD; vertexESD=NULL;
      return vertexAOD;
    }

  } else { // Kalman Filter vertexer (AliKFParticle)

    AliKFParticle::SetField(fBzkG);

    AliKFVertex vertexKF;

    Int_t nTrks = trkArray->GetEntriesFast();
    for(Int_t i=0; i<nTrks; i++) {
      AliESDtrack *esdTrack = (AliESDtrack*)trkArray->At(i);
      AliKFParticle daughterKF(*esdTrack,211);
      vertexKF.AddDaughter(daughterKF);
    }
    vertexESD = new AliESDVertex(vertexKF.Parameters(),
				 vertexKF.CovarianceMatrix(),
				 vertexKF.GetChi2(),
				 vertexKF.GetNContributors());

  }
  // convert to AliAODVertex
  Double_t pos[3],cov[6],chi2perNDF;
  vertexESD->GetXYZ(pos); // position
  vertexESD->GetCovMatrix(cov); //covariance matrix
  chi2perNDF = vertexESD->GetChi2toNDF();
  dispersion = vertexESD->GetDispersion();
  delete vertexESD; 
  vertexESD=NULL;

  Int_t nprongs= (useTRefArray ? 0 : trkArray->GetEntriesFast());
  vertexAOD = new AliAODVertex(pos,cov,chi2perNDF,0x0,-1,AliAODVertex::kUndef,nprongs);

  //cout<<"------------------> Reconstruct vertexAOD: "<<vertexAOD<<endl;

  return vertexAOD;

 
}

//-----------------------------------------------------------------------------

AliAODRecoDecayLF2Prong* AliAODNuclExReplicator::Make2Prong(TObjArray *twoTrackArray,const AliAODEvent &evento,
							   AliAODVertex *secVert,Double_t dca)


{ 

  //cout<<"Inside make 2 prong"<<endl;

  Int_t charge[2];
  charge[0]=1; //it was -1 //Ramona
  charge[1]=2;
      
  // From AliAnalysisVertexingLF.cxx Method:Make2Prongs
  
  fBzkG = evento.GetMagneticField();
      
  Double_t px[2],py[2],pz[2],d0[2],d0err[2];
  // Also this has been changed //Ramona
  AliESDtrack *negtrack = (AliESDtrack*)twoTrackArray->UncheckedAt(0);
  AliESDtrack *postrack = (AliESDtrack*)twoTrackArray->UncheckedAt(1);

  //cout<<"negtrack: "<<negtrack<<" postrack: "<<postrack<<endl;
  //cout<<"kVeryBig: "<<kVeryBig<<endl;
  //cout<<"secVert: "<<secVert<<endl;

  // // propagate tracks to secondary vertex, to compute inv. mass
  
  postrack->PropagateToDCA(secVert,fBzkG,kVeryBig);
  negtrack->PropagateToDCA(secVert,fBzkG,kVeryBig);
  
  Double_t momentum[3];
  
  negtrack->GetPxPyPz(momentum);
  px[0] = charge[0]*momentum[0]; 
  py[0] = charge[0]*momentum[1]; 
  pz[0] = charge[0]*momentum[2]; 

  postrack->GetPxPyPz(momentum);
  px[1] = charge[1]*momentum[0]; 
  py[1] = charge[1]*momentum[1]; 
  pz[1] = charge[1]*momentum[2]; 
  
  //cout<< px[0] <<" "<< " "<< py[0] << " "<< pz[0]<<endl;
  //  px[0] = momentum[0]; py[0] = momentum[1]; pz[0] = momentum[2]; 
  //cout<< px[1] <<" "<< " "<< py[1] << " "<< pz[1]<<endl;
  //px[1] = momentum[0]; py[1] = momentum[1]; pz[1] = momentum[2]; 
  

  // primary vertex to be used by this candidate
  AliAODVertex *primVertexAOD  = evento.GetPrimaryVertex();
  //cout<<"primVertexAOD "<<primVertexAOD<<endl;
  if(!primVertexAOD) return 0x0;
      
  Double_t d0z0[2],covd0z0[3];

  d0z0[0] = -999.;
  d0z0[1] = -999.;
  covd0z0[0] = -999.;
  covd0z0[1] = -999.;
  covd0z0[2] = -999.;

  d0[0] = d0z0[0];
  d0err[0] = TMath::Sqrt(TMath::Abs(covd0z0[0]));

  d0[1] = d0z0[0];
  d0err[1] = TMath::Sqrt(TMath::Abs(covd0z0[0]));
  
  // create the object AliAODRecoDecayLF2Prong
  //  AliAODRecoDecayLF2Prong *the2Prong = new AliAODRecoDecayLF2Prong(secVert,px,py,pz,d0,d0err,dcap1n1);
  AliAODRecoDecayLF2Prong *the2Prong = new AliAODRecoDecayLF2Prong(secVert,px,py,pz,d0,d0err,dca);
  the2Prong->SetOwnPrimaryVtx(primVertexAOD);
  
  //  the2Prong->SetProngIDs(2,{-999,999});
  // UShort_t id0[2]={99999,999999};
  // the2Prong->SetProngIDs(2,id0);

  UShort_t id[2]={(UShort_t)postrack->GetID(),(UShort_t)negtrack->GetID()};
  the2Prong->SetProngIDs(2,id);

  // cout<<"\n\n\nMake 2 Prong: id[0]"<<id[0]<<" id[1]: "<<id[1]<<endl;
  // cout<<"Get: 1 "<<the2Prong->GetProngID(0)<<" 2 "<<the2Prong->GetProngID(1)<<endl;
  // cout<<"Get: 3 "<<the2Prong->GetProngID(2)<<" 4 "<<the2Prong->GetProngID(3)<<endl<<endl<<endl;
  //delete primVertexAOD; primVertexAOD=NULL;
  
  if(postrack->Charge()!=0 && negtrack->Charge()!=0) {
      
    AddDaughterRefs(secVert,(AliAODEvent&)evento,twoTrackArray);
    //    AddDaughterRefs(secVert,(AliAODEvent*)evento,twoTrackArray);
      
  }
  
  return the2Prong;  

  delete the2Prong;
}

//----------------------------------------------------------------------------
void AliAODNuclExReplicator::AddDaughterRefs(AliAODVertex *v,
					    const AliAODEvent &event,
					    const TObjArray *trkArray) const

{
  // Add the AOD tracks as daughters of the vertex (TRef)
  // AliCodeTimerAuto("",0);
  // cout<<"Inside  AddDaughterRefs "<<endl;

  Int_t nDg = v->GetNDaughters();
  
  TObject *dg = 0;
  if(nDg) dg = v->GetDaughter(0);
  if(dg) return; // daughters already added
  
  Int_t nTrks = trkArray->GetEntriesFast();
  
  AliExternalTrackParam *track = 0;
  AliAODTrack *aodTrack = 0;
  Int_t id;
  
  for(Int_t i=0; i<nTrks; i++) {
    track = (AliExternalTrackParam*)trkArray->UncheckedAt(i);
  
    id = (Int_t)track->GetID();
    //    printf("---> %d\n",id);
    if(id<0) continue; // this track is a AliAODRecoDecay
  
    aodTrack = (AliAODTrack*)event.GetTrack(fAODMap[id]);
    v->AddDaughter(aodTrack);
  }
  return;
}
//----------------------------------------------------------------------------
	
void AliAODNuclExReplicator::AddRefs(AliAODVertex *v,AliAODRecoDecayLF *rd,
				    const AliAODEvent &event,
				    const TObjArray *trkArray) const

{
  // Add the AOD tracks as daughters of the vertex (TRef)
  // Also add the references to the primary vertex and to the cuts
  //AliCodeTimerAuto("",0);
  
  AddDaughterRefs(v,event,trkArray);
  rd->SetPrimaryVtxRef((AliAODVertex*)event.GetPrimaryVertex());
  return;
}	

//---------------------------------------------------------------------------

void AliAODNuclExReplicator::Terminate(){

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