ROOT logo
////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// AliFemtoEventReaderAOD - the reader class for the Alice AOD                //
// Reads in AOD information and converts it into internal AliFemtoEvent       //
// Authors: Marek Chojnacki mchojnacki@knf.pw.edu.pl                          //
//          Adam Kisiel kisiel@mps.ohio-state.edu                             //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////

#include "AliFemtoEventReaderAOD.h"

#include "TFile.h"
#include "TTree.h"
#include "TRandom3.h"
#include "AliAODEvent.h"
#include "AliAODTrack.h"
#include "AliAODVertex.h"
#include "AliAODMCHeader.h"
#include "AliESDtrack.h"

#include "AliFmPhysicalHelixD.h"
#include "AliFmThreeVectorF.h"

#include "SystemOfUnits.h"

#include "AliFemtoEvent.h"
#include "AliFemtoModelHiddenInfo.h"
#include "AliFemtoModelGlobalHiddenInfo.h"
#include "AliPID.h"

#include "AliAODpidUtil.h"
#include "AliAnalysisUtils.h"
#include "assert.h"
#include "AliGenHijingEventHeader.h"

ClassImp(AliFemtoEventReaderAOD)

#if !(ST_NO_NAMESPACES)
using namespace units;
#endif

using namespace std;

double fV1[3];

//____________________________
//constructor with 0 parameters , look at default settings
AliFemtoEventReaderAOD::AliFemtoEventReaderAOD():
  fNumberofEvent(0),
  fCurEvent(0),
  fEvent(0x0),
  fAllTrue(160),
  fAllFalse(160),
  fFilterBit(0),
  fFilterMask(0),
  //  fPWG2AODTracks(0x0),
  fReadMC(0),
  fReadV0(0),
  fUsePreCent(0),
  fEstEventMult(kCentrality),
  fAODpidUtil(0),
  fAODheader(0),
  fInputFile(""),
  fTree(0x0),
  fAodFile(0x0),
  fMagFieldSign(1),
  fisEPVZ(kTRUE),
  fpA2013(kFALSE),
  fisPileUp(kFALSE),
  fMVPlp(kFALSE),
  fMinVtxContr(0),
  fMinPlpContribMV(0),
  fMinPlpContribSPD(0),
  fDCAglobalTrack(kFALSE),
  fFlatCent(kFALSE)
{
  // default constructor
  fAllTrue.ResetAllBits(kTRUE);
  fAllFalse.ResetAllBits(kFALSE);
  fCentRange[0] = 0;
  fCentRange[1] = 1000;
}

AliFemtoEventReaderAOD::AliFemtoEventReaderAOD(const AliFemtoEventReaderAOD &aReader) :
  AliFemtoEventReader(),
  fNumberofEvent(0),
  fCurEvent(0),
  fEvent(0x0),
  fAllTrue(160),
  fAllFalse(160),
  fFilterBit(0),
  fFilterMask(0),
  //  fPWG2AODTracks(0x0),
  fReadMC(0),
  fReadV0(0),
  fUsePreCent(0),
  fEstEventMult(kCentrality),
  fAODpidUtil(0),
  fAODheader(0),
  fInputFile(""),
  fTree(0x0),
  fAodFile(0x0),
  fMagFieldSign(1),
  fisEPVZ(kTRUE),
  fpA2013(kFALSE),
  fisPileUp(kFALSE),
  fMVPlp(kFALSE),
  fMinVtxContr(0),
  fMinPlpContribMV(0),
  fMinPlpContribSPD(0),
  fDCAglobalTrack(kFALSE),
  fFlatCent(kFALSE)
{
  // copy constructor
  fReadMC = aReader.fReadMC;
  fReadV0 = aReader.fReadV0;
  fInputFile = aReader.fInputFile;
  fNumberofEvent = aReader.fNumberofEvent;
  fCurEvent = aReader.fCurEvent;
  fEvent = new AliAODEvent();
  fAodFile = new TFile(aReader.fAodFile->GetName());
  fAllTrue.ResetAllBits(kTRUE);
  fAllFalse.ResetAllBits(kFALSE);
  fFilterBit = aReader.fFilterBit;
  //  fPWG2AODTracks = aReader.fPWG2AODTracks;
  fAODpidUtil = aReader.fAODpidUtil;
  fAODheader = aReader.fAODheader;
  fCentRange[0] = aReader.fCentRange[0];
  fCentRange[1] = aReader.fCentRange[1];
  fEstEventMult = aReader.fEstEventMult;
  fUsePreCent = aReader.fUsePreCent;
  fpA2013 = aReader.fpA2013;
  fisPileUp = aReader.fisPileUp;
  fMVPlp = aReader.fMVPlp;
  fMinVtxContr = aReader.fMinVtxContr;
  fMinPlpContribMV = aReader.fMinPlpContribMV;
  fMinPlpContribSPD = aReader.fMinPlpContribSPD;
  fDCAglobalTrack = aReader.fDCAglobalTrack;

}
//__________________
//Destructor
AliFemtoEventReaderAOD::~AliFemtoEventReaderAOD()
{
  // destructor
  delete fTree;
  delete fEvent;
  delete fAodFile;
//   if (fPWG2AODTracks) {
//     fPWG2AODTracks->Delete();
//     delete fPWG2AODTracks;
//   }
}

//__________________
AliFemtoEventReaderAOD& AliFemtoEventReaderAOD::operator=(const AliFemtoEventReaderAOD& aReader)
{
  // assignment operator
  if (this == &aReader)
    return *this;

  fInputFile = aReader.fInputFile;
  fNumberofEvent = aReader.fNumberofEvent;
  fCurEvent = aReader.fCurEvent;
  if (fTree) delete fTree;
  if (fEvent) delete fEvent;
  fEvent = new AliAODEvent();
  if (fAodFile) delete fAodFile;
  fAodFile = new TFile(aReader.fAodFile->GetName());
  fAllTrue.ResetAllBits(kTRUE);
  fAllFalse.ResetAllBits(kFALSE);
  fFilterBit = aReader.fFilterBit;
  fFilterMask = aReader.fFilterMask;
  //  fPWG2AODTracks = aReader.fPWG2AODTracks;
  fAODpidUtil = aReader.fAODpidUtil;
  fAODheader = aReader.fAODheader;
  fCentRange[0] = aReader.fCentRange[0];
  fCentRange[1] = aReader.fCentRange[1];
  fUsePreCent = aReader.fUsePreCent;
  fEstEventMult = aReader.fEstEventMult;
  fpA2013 = aReader.fpA2013;
  fisPileUp = aReader.fisPileUp;
  fMVPlp = aReader.fMVPlp;
  fMinVtxContr = aReader.fMinVtxContr;
  fMinPlpContribMV = aReader.fMinPlpContribMV;
  fMinPlpContribSPD = aReader.fMinPlpContribSPD;
  fDCAglobalTrack = aReader.fDCAglobalTrack;
  fFlatCent= aReader.fFlatCent;

  return *this;
}
//__________________
AliFemtoString AliFemtoEventReaderAOD::Report()
{
  // create reader report
  AliFemtoString temp = "\n This is the AliFemtoEventReaderAOD\n";
  return temp;
}

//__________________
void AliFemtoEventReaderAOD::SetInputFile(const char* inputFile)
{
  //setting the name of file where names of AOD file are written
  //it takes only this files which have good trees
  char buffer[256];
  fInputFile=string(inputFile);
  ifstream infile(inputFile);

  fTree = new TChain("aodTree");

  if(infile.good()==true)
  {
    //checking if all give files have good tree inside
    while (infile.eof()==false)
    {
      infile.getline(buffer,256);
      TFile *aodFile=TFile::Open(buffer,"READ");
      if (aodFile!=0x0)
	    {
	      TTree* tree = (TTree*) aodFile->Get("aodTree");
	      if (tree!=0x0)
        {
          // 		  cout<<"putting file  "<<string(buffer)<<" into analysis"<<endl;
          fTree->AddFile(buffer);
          delete tree;
        }
	      aodFile->Close();
	    }
      delete aodFile;
    }
  }
}

AliFemtoEvent* AliFemtoEventReaderAOD::ReturnHbtEvent()
{
  // read in a next hbt event from the chain
  // convert it to AliFemtoEvent and return
  // for further analysis
  AliFemtoEvent *hbtEvent = 0;
  // cout<<"reader"<<endl;
  if (fCurEvent==fNumberofEvent)//open next file
  {
    if(fNumberofEvent==0)
    {
      fEvent=new AliAODEvent();
      fEvent->ReadFromTree(fTree);

      // Check for the existence of the additional information
// 	  fPWG2AODTracks = (TClonesArray *) fEvent->GetList()->FindObject("pwg2aodtracks");

// 	  if (fPWG2AODTracks) {
// 	    cout << "Found additional PWG2 specific information in the AOD!" << endl;
// 	    cout << "Reading only tracks with the additional information" << endl;
// 	  }

      fNumberofEvent=fTree->GetEntries();
      //	  cout<<"Number of Entries in file "<<fNumberofEvent<<endl;
      fCurEvent=0;
    }
    else //no more data to read
    {
      // cout<<"no more files "<<hbtEvent<<endl;
      fReaderStatus=1;
      return hbtEvent;
    }
  }

  // cout<<"starting to read event "<<fCurEvent<<endl;
  fTree->GetEvent(fCurEvent);//getting next event
  //  cout << "Read event " << fEvent << " from file " << fTree << endl;

  //hbtEvent = new AliFemtoEvent;

  hbtEvent = CopyAODtoFemtoEvent();
  fCurEvent++;


  return hbtEvent;
}

AliFemtoEvent* AliFemtoEventReaderAOD::CopyAODtoFemtoEvent()
{

  // A function that reads in the AOD event
  // and transfers the neccessary information into
  // the internal AliFemtoEvent

  AliFemtoEvent *tEvent = new AliFemtoEvent();

  // setting global event characteristics
  tEvent->SetRunNumber(fEvent->GetRunNumber());
  tEvent->SetMagneticField(fEvent->GetMagneticField()*kilogauss);//to check if here is ok
  tEvent->SetZDCN1Energy(fEvent->GetZDCN1Energy());
  tEvent->SetZDCP1Energy(fEvent->GetZDCP1Energy());
  tEvent->SetZDCN2Energy(fEvent->GetZDCN2Energy());
  tEvent->SetZDCP2Energy(fEvent->GetZDCP2Energy());
  tEvent->SetZDCEMEnergy(fEvent->GetZDCEMEnergy(0));
  tEvent->SetZDCParticipants(0);
  tEvent->SetTriggerMask(fEvent->GetTriggerMask());
  tEvent->SetTriggerCluster(fEvent->GetTriggerCluster());

  // Attempt to access MC header
  AliAODMCHeader *mcH;
  TClonesArray *mcP=0;
  if (fReadMC) {
    mcH = (AliAODMCHeader *) fEvent->FindListObject(AliAODMCHeader::StdBranchName());
    if (!mcH) {
      cout << "AOD MC information requested, but no header found!" << endl;
    }

    mcP = (TClonesArray *) fEvent->FindListObject(AliAODMCParticle::StdBranchName());
    if (!mcP) {
      cout << "AOD MC information requested, but no particle array found!" << endl;
    }
  }

  AliAODHeader * header = dynamic_cast<AliAODHeader*>(fEvent->GetHeader());
  assert(header&&"Not a standard AOD");

  tEvent->SetReactionPlaneAngle(header->GetQTheta(0)/2.0);
  // Int_t *motherids=0;
  // if (mcP) {
  //   const int motherTabSize = ((AliAODMCParticle *) mcP->At(mcP->GetEntries()-1))->GetLabel();
  //   motherids = new int[motherTabSize+1];
  //   for (int ip=0; ip<motherTabSize+1; ip++) motherids[ip] = 0;

  //   // Read in mother ids
  //   AliAODMCParticle *motherpart;
  //   for (int ip=0; ip<mcP->GetEntries(); ip++) {
  //     motherpart = (AliAODMCParticle *) mcP->At(ip);
  //     if (motherpart->GetDaughter(0) > 0)
  //       motherids[motherpart->GetDaughter(0)] = ip;
  //     if (motherpart->GetDaughter(1) > 0)
  //       motherids[motherpart->GetDaughter(1)] = ip;
  //   }
  // }

  //AliAnalysisUtils
  if(fisPileUp||fpA2013)
    {
      AliAnalysisUtils *anaUtil=new AliAnalysisUtils();
      if(fMinVtxContr)
	anaUtil->SetMinVtxContr(fMinVtxContr);
      if(fpA2013)
	if(anaUtil->IsVertexSelected2013pA(fEvent)==kFALSE)
	  {
	    delete tEvent;
	    return NULL; //Vertex rejection for pA analysis.
	  }
      if(fMVPlp) anaUtil->SetUseMVPlpSelection(kTRUE);
      else anaUtil->SetUseMVPlpSelection(kFALSE);
      if(fMinPlpContribMV) anaUtil->SetMinPlpContribMV(fMinPlpContribMV);
      if(fMinPlpContribSPD) anaUtil->SetMinPlpContribSPD(fMinPlpContribSPD);
      if(fisPileUp)
	if(anaUtil->IsPileUpEvent(fEvent)) { delete tEvent;return NULL;} //Pile-up rejection.
      delete anaUtil;
    }

  // Primary Vertex position
  const AliAODVertex* aodvertex = (AliAODVertex*) fEvent->GetPrimaryVertex();
  if(!aodvertex || aodvertex->GetNContributors() < 1) { delete tEvent;return NULL;} //Bad vertex, skip event.

  aodvertex->GetPosition(fV1);
  AliFmThreeVectorF vertex(fV1[0],fV1[1],fV1[2]);
  tEvent->SetPrimVertPos(vertex);

  //starting to reading tracks
  int nofTracks=0;  //number of reconstructed tracks in event

  nofTracks=fEvent->GetNumberOfTracks();

  AliEventplane *ep = fEvent->GetEventplane();
  if (ep) {
    tEvent->SetEP(ep);
    if (fisEPVZ)
      tEvent->SetReactionPlaneAngle(ep->GetEventplane("V0",fEvent,2));
    else
      tEvent->SetReactionPlaneAngle(ep->GetEventplane("Q"));
  }

  AliCentrality *cent = fEvent->GetCentrality();

  if (!fEstEventMult && cent && fUsePreCent) {
    if ((cent->GetCentralityPercentile("V0M")*10 < fCentRange[0]) ||
        (cent->GetCentralityPercentile("V0M")*10 > fCentRange[1]))
    {
      // cout << "Centrality " << cent->GetCentralityPercentile("V0M") << " outside of preselection range " << fCentRange[0] << " - " << fCentRange[1] << endl;
      delete tEvent;
      return NULL;
    }
  }

  float percent = cent->GetCentralityPercentile("V0M");
//flatten centrality dist.
  if(percent < 9){
    if(fFlatCent){
      if(RejectEventCentFlat(fEvent->GetMagneticField(),percent)) { delete tEvent; return NULL;}
    }
  }

  int realnofTracks=0;   // number of track which we use in a analysis
  int tracksPrim=0;

  int labels[20000];
  for (int il=0; il<20000; il++) labels[il] = -1;

  // looking for global tracks and saving their numbers to copy from them PID information to TPC-only tracks in the main loop over tracks
  for (int i=0;i<nofTracks;i++) {
    const AliAODTrack *aodtrack=dynamic_cast<const AliAODTrack*>(fEvent->GetTrack(i));
    assert(aodtrack&&"Not a standard AOD");
    if (!aodtrack->TestFilterBit(fFilterBit)) {
      if(aodtrack->GetID() < 0) continue;
      labels[aodtrack->GetID()] = i;
    }
  }

  int tNormMult = 0;
  for (int i=0;i<nofTracks;i++)
  {
    AliFemtoTrack* trackCopy;// = new AliFemtoTrack();

//       if (fPWG2AODTracks) {
// 	// Read tracks from the additional pwg2 specific AOD part
// 	// if they exist
// 	// Note that in that case all the AOD tracks without the
// 	// additional information will be ignored !
// 	AliPWG2AODTrack *pwg2aodtrack = (AliPWG2AODTrack *) fPWG2AODTracks->At(i);

// 	// Getting the AOD track through the ref of the additional info
// 	AliAODTrack *aodtrack = pwg2aodtrack->GetRefAODTrack();
// 	if (!aodtrack->TestFilterBit(fFilterBit)) {
// 	  delete trackCopy;
// 	  continue;
// 	}


// 	if (aodtrack->IsOn(AliESDtrack::kTPCrefit))
// 	  if (aodtrack->Chi2perNDF() < 6.0)
// 	    if (aodtrack->Eta() < 0.9)
// 	      tNormMult++;


// 	CopyAODtoFemtoTrack(aodtrack, trackCopy, pwg2aodtrack);

// 	if (mcP) {
// 	  // Fill the hidden information with the simulated data
// 	  //	  Int_t pLabel = aodtrack->GetLabel();
// 	  AliAODMCParticle *tPart = GetParticleWithLabel(mcP, (TMath::Abs(aodtrack->GetLabel())));

// 	  // Check the mother information

// 	  // Using the new way of storing the freeze-out information
// 	  // Final state particle is stored twice on the stack
// 	  // one copy (mother) is stored with original freeze-out information
// 	  //   and is not tracked
// 	  // the other one (daughter) is stored with primary vertex position
// 	  //   and is tracked

// 	  // Freeze-out coordinates
// 	  double fpx=0.0, fpy=0.0, fpz=0.0, fpt=0.0;
// 	  fpx = tPart->Xv() - fV1[0];
// 	  fpy = tPart->Yv() - fV1[1];
// 	  fpz = tPart->Zv() - fV1[2];
// 	  fpt = tPart->T();

// 	  AliFemtoModelGlobalHiddenInfo *tInfo = new AliFemtoModelGlobalHiddenInfo();
// 	  tInfo->SetGlobalEmissionPoint(fpx, fpy, fpz);

// 	  fpx *= 1e13;
// 	  fpy *= 1e13;
// 	  fpz *= 1e13;
// 	  fpt *= 1e13;

// 	  //      cout << "Looking for mother ids " << endl;
// 	  if (motherids[TMath::Abs(aodtrack->GetLabel())]>0) {
// 	    //	cout << "Got mother id" << endl;
// 	    AliAODMCParticle *mother = GetParticleWithLabel(mcP, motherids[TMath::Abs(aodtrack->GetLabel())]);
// 	    // Check if this is the same particle stored twice on the stack
// 	    if ((mother->GetPdgCode() == tPart->GetPdgCode() || (mother->Px() == tPart->Px()))) {
// 	      // It is the same particle
// 	      // Read in the original freeze-out information
// 	      // and convert it from to [fm]

// 	      // EPOS style
// 	      // 	  fpx = mother->Xv()*1e13*0.197327;
// 	      // 	  fpy = mother->Yv()*1e13*0.197327;
// 	      // 	  fpz = mother->Zv()*1e13*0.197327;
// 	      // 	  fpt = mother->T() *1e13*0.197327*0.5;


// 	      // Therminator style
// 	      fpx = mother->Xv()*1e13;
// 	      fpy = mother->Yv()*1e13;
// 	      fpz = mother->Zv()*1e13;
// 	      fpt = mother->T() *1e13*3e10;

// 	    }
// 	  }

// 	  //       if (fRotateToEventPlane) {
// 	  // 	double tPhi = TMath::ATan2(fpy, fpx);
// 	  // 	double tRad = TMath::Hypot(fpx, fpy);

// 	  // 	fpx = tRad*TMath::Cos(tPhi - tReactionPlane);
// 	  // 	fpy = tRad*TMath::Sin(tPhi - tReactionPlane);
// 	  //       }

// 	  tInfo->SetPDGPid(tPart->GetPdgCode());

// 	  // 	  if (fRotateToEventPlane) {
// 	  // 	    double tPhi = TMath::ATan2(tPart->Py(), tPart->Px());
// 	  // 	    double tRad = TMath::Hypot(tPart->Px(), tPart->Py());

// 	  // 	    tInfo->SetTrueMomentum(tRad*TMath::Cos(tPhi - tReactionPlane),
// 	  // 				   tRad*TMath::Sin(tPhi - tReactionPlane),
// 	  // 				   tPart->Pz());
// 	  // 	  }
// 	  //       else
// 	  tInfo->SetTrueMomentum(tPart->Px(), tPart->Py(), tPart->Pz());
// 	  Double_t mass2 = (tPart->E() *tPart->E() -
// 			    tPart->Px()*tPart->Px() -
// 			    tPart->Py()*tPart->Py() -
// 			    tPart->Pz()*tPart->Pz());
// 	  if (mass2>0.0)
// 	    tInfo->SetMass(TMath::Sqrt(mass2));
// 	  else
// 	    tInfo->SetMass(0.0);

// 	  tInfo->SetEmissionPoint(fpx, fpy, fpz, fpt);
// 	  trackCopy->SetHiddenInfo(tInfo);

// 	}

// 	double pxyz[3];
// 	aodtrack->PxPyPz(pxyz);//reading noconstarined momentum
// 	const AliFmThreeVectorD ktP(pxyz[0],pxyz[1],pxyz[2]);
// 	// Check the sanity of the tracks - reject zero momentum tracks
// 	if (ktP.Mag() == 0) {
// 	  delete trackCopy;
// 	  continue;
// 	}
//       }
//       else {
    // No additional information exists
    // Read in the normal AliAODTracks

    //	const AliAODTrack *aodtrack=dynamic_cast<AliAODTrack*>(fEvent->GetTrack(i));
    AliAODTrack *aodtrack=dynamic_cast<AliAODTrack*>(fEvent->GetTrack(i));
    assert(aodtrack&&"Not a standard AOD"); // getting the AODtrack directly



    if (aodtrack->IsPrimaryCandidate()) tracksPrim++;

    if (fFilterBit && !aodtrack->TestFilterBit(fFilterBit)) {
      //delete trackCopy;
      continue;
    }

    if (fFilterMask && !aodtrack->TestFilterBit(fFilterMask)) {
      //delete trackCopy;
      continue;
    }

    // cout << "Muon? " << aodtrack->IsMuonTrack() << endl;
    // cout << "Type? " << aodtrack->GetType() << endl;

    // if (aodtrack->IsMuonTrack()) {
    //   cout << "muon" << endl;
    //   delete trackCopy;
    //   continue;
    // }

    //counting particles to set multiplicity
    if(fEstEventMult==kGlobalCount){
      AliAODTrack* trk_clone = (AliAODTrack*)aodtrack->Clone("trk_clone"); //no DCA cut for global count
      //if (aodtrack->IsPrimaryCandidate()) //? instead of kinks?
      if (aodtrack->Chi2perNDF() < 4.0)
	if (aodtrack->Pt() > 0.15 && aodtrack->Pt() < 20)
	  if (aodtrack->GetTPCNcls() > 70)
	    if (aodtrack->Eta() < 0.8)
	      tNormMult++;
      delete trk_clone;
    }

    trackCopy = CopyAODtoFemtoTrack(aodtrack);

    // copying PID information from the correspondent track
    //	const AliAODTrack *aodtrackpid = fEvent->GetTrack(labels[-1-fEvent->GetTrack(i)->GetID()]);


    AliAODTrack *aodtrackpid;
    if((fFilterBit ==  (1 << (7))) || fFilterMask == 128) {//for TPC Only tracks we have to copy PID information from corresponding global tracks
      aodtrackpid = dynamic_cast<AliAODTrack*>(fEvent->GetTrack(labels[-1-fEvent->GetTrack(i)->GetID()]));
    }
    else {
      aodtrackpid = dynamic_cast<AliAODTrack*>(fEvent->GetTrack(i));
    }
    assert(aodtrackpid&&"Not a standard AOD");

    CopyPIDtoFemtoTrack(aodtrackpid, trackCopy);

    if (mcP) {
      // Fill the hidden information with the simulated data
      //	  Int_t pLabel = aodtrack->GetLabel();
      //      AliAODMCParticle *tPart = GetParticleWithLabel(mcP, (TMath::Abs(aodtrack->GetLabel())));
      AliAODMCParticle *tPart;
      if(aodtrack->GetLabel() > -1 ) {
	tPart = (AliAODMCParticle*)mcP->At(aodtrack->GetLabel());
      }
      else {
	tPart = NULL;
      }
      AliFemtoModelGlobalHiddenInfo *tInfo = new AliFemtoModelGlobalHiddenInfo();
      double fpx=0.0, fpy=0.0, fpz=0.0, fpt=0.0;
      if (!tPart) {
        fpx = fV1[0];
        fpy = fV1[1];
        fpz = fV1[2];
        tInfo->SetGlobalEmissionPoint(fpx, fpy, fpz);
        tInfo->SetPDGPid(0);
        tInfo->SetTrueMomentum(0.0, 0.0, 0.0);
        tInfo->SetEmissionPoint(0.0, 0.0, 0.0, 0.0);
        tInfo->SetMass(0);
      }
      else {
        // Check the mother information

        // Using the new way of storing the freeze-out information
        // Final state particle is stored twice on the stack
        // one copy (mother) is stored with original freeze-out information
        //   and is not tracked
        // the other one (daughter) is stored with primary vertex position
        //   and is tracked

        // Freeze-out coordinates
        fpx = tPart->Xv() - fV1[0];
        fpy = tPart->Yv() - fV1[1];
        fpz = tPart->Zv() - fV1[2];
        //	  fpt = tPart->T();

        tInfo->SetGlobalEmissionPoint(fpx, fpy, fpz);


        fpx *= 1e13;
        fpy *= 1e13;
        fpz *= 1e13;
        //	  fpt *= 1e13;

        //      cout << "Looking for mother ids " << endl;

        //if (motherids[TMath::Abs(aodtrack->GetLabel())]>0) {
        if(tPart->GetMother() > -1) { //MC particle has a mother
	//	cout << "Got mother id" << endl;
	  //          AliAODMCParticle *mother = GetParticleWithLabel(mcP, motherids[TMath::Abs(aodtrack->GetLabel())]);
          AliAODMCParticle *mother = (AliAODMCParticle*)mcP->At(tPart->GetMother());
	  // Check if this is the same particle stored twice on the stack
          if (mother) {
            if ((mother->GetPdgCode() == tPart->GetPdgCode() || (mother->Px() == tPart->Px()))) {
              // It is the same particle
              // Read in the original freeze-out information
              // and convert it from to [fm]

              // EPOS style
              // 	  fpx = mother->Xv()*1e13*0.197327;
              // 	  fpy = mother->Yv()*1e13*0.197327;
              // 	  fpz = mother->Zv()*1e13*0.197327;
              // 	  fpt = mother->T() *1e13*0.197327*0.5;


              // Therminator style
              fpx = mother->Xv()*1e13;
              fpy = mother->Yv()*1e13;
              fpz = mother->Zv()*1e13;
              //	      fpt = mother->T() *1e13*3e10;

            }
	    else { //particle's mother exists and the information about it can be added to hiddeninfo:
	      tInfo->SetMotherPdgCode(mother->GetPdgCode());
	    }
          }
        }

        //       if (fRotateToEventPlane) {
        // 	double tPhi = TMath::ATan2(fpy, fpx);
        // 	double tRad = TMath::Hypot(fpx, fpy);

        // 	fpx = tRad*TMath::Cos(tPhi - tReactionPlane);
        // 	fpy = tRad*TMath::Sin(tPhi - tReactionPlane);
        //       }

        tInfo->SetPDGPid(tPart->GetPdgCode());

        // 	  if (fRotateToEventPlane) {
        // 	    double tPhi = TMath::ATan2(tPart->Py(), tPart->Px());
        // 	    double tRad = TMath::Hypot(tPart->Px(), tPart->Py());

        // 	    tInfo->SetTrueMomentum(tRad*TMath::Cos(tPhi - tReactionPlane),
        // 				   tRad*TMath::Sin(tPhi - tReactionPlane),
        // 				   tPart->Pz());
        // 	  }
        //       else
        tInfo->SetTrueMomentum(tPart->Px(), tPart->Py(), tPart->Pz());
        Double_t mass2 = (tPart->E() *tPart->E() -
                          tPart->Px()*tPart->Px() -
                          tPart->Py()*tPart->Py() -
                          tPart->Pz()*tPart->Pz());
        if (mass2>0.0)
          tInfo->SetMass(TMath::Sqrt(mass2));
        else
          tInfo->SetMass(0.0);

        tInfo->SetEmissionPoint(fpx, fpy, fpz, fpt);

        // // fillDCA
        // //if (TMath::Abs(impact[0]) > 0.001) {
        // if (tPart->IsPhysicalPrimary()){
        //   tInfo->SetPartOrigin(0);
        //   // trackCopy->SetImpactDprim(impact[0]);
        //   //cout << "Read prim" << endl;
        // }
        // else if (tPart->IsSecondaryFromWeakDecay()) {
        //   tInfo->SetPartOrigin(1);
        //   // trackCopy->SetImpactDweak(impact[0]);
        //   //cout << "Read wea" << endl;
        // }
        // else if (tPart->IsSecondaryFromMaterial()) {
        //   tInfo->SetPartOrigin(2);
        //   // trackCopy->SetImpactDmat(impact[0]);
        //   //cout << "Read mat" << endl;
        // }
        // //}
        // //  end fillDCA


      }
      trackCopy->SetHiddenInfo(tInfo);
    }

    double pxyz[3];

    //AliExternalTrackParam *param = new AliExternalTrackParam(*aodtrack->GetInnerParam());
    trackCopy->SetInnerMomentum(aodtrack->GetTPCmomentum());

    aodtrack->PxPyPz(pxyz);//reading noconstarined momentum
    const AliFmThreeVectorD ktP(pxyz[0],pxyz[1],pxyz[2]);
    // Check the sanity of the tracks - reject zero momentum tracks
    if (ktP.Mag() == 0) {
      delete trackCopy;
      continue;
    }
    //    }

    tEvent->TrackCollection()->push_back(trackCopy);//adding track to analysis
    realnofTracks++;//real number of tracks
  }

  tEvent->SetNumberOfTracks(realnofTracks);//setting number of track which we read in event
  tEvent->SetNormalizedMult(tracksPrim);

  if (cent) {
    tEvent->SetCentralityV0(cent->GetCentralityPercentile("V0M"));
    tEvent->SetCentralityV0A(cent->GetCentralityPercentile("V0A"));
    tEvent->SetCentralityV0C(cent->GetCentralityPercentile("V0C"));
    tEvent->SetCentralityZNA(cent->GetCentralityPercentile("ZNA"));
    tEvent->SetCentralityZNC(cent->GetCentralityPercentile("ZNC"));
    tEvent->SetCentralityCL1(cent->GetCentralityPercentile("CL1"));
    tEvent->SetCentralityCL0(cent->GetCentralityPercentile("CL0"));
    tEvent->SetCentralityTKL(cent->GetCentralityPercentile("TKL"));
    tEvent->SetCentralityFMD(cent->GetCentralityPercentile("FMD"));
    tEvent->SetCentralityFMD(cent->GetCentralityPercentile("NPA"));
    //    tEvent->SetCentralitySPD1(cent->GetCentralityPercentile("CL1"));
    tEvent->SetCentralityTrk(cent->GetCentralityPercentile("TRK"));
    tEvent->SetCentralityCND(cent->GetCentralityPercentile("CND"));
  }

  if (fEstEventMult==kCentrality) {
    //AliCentrality *cent = fEvent->GetCentrality();
    //cout<<"AliFemtoEventReaderAOD:"<<lrint(10*cent->GetCentralityPercentile("V0M"))<<endl;
    if (cent) tEvent->SetNormalizedMult(lrint(10*cent->GetCentralityPercentile("V0M")));
    //  if (cent) tEvent->SetNormalizedMult((int) cent->GetCentralityPercentile("V0M"));
  }
  else if (fEstEventMult==kCentralityV0A) {
    if (cent) tEvent->SetNormalizedMult(lrint(10*cent->GetCentralityPercentile("V0A")));
  }
  else if (fEstEventMult==kCentralityV0C) {
    if (cent) tEvent->SetNormalizedMult(lrint(10*cent->GetCentralityPercentile("V0C")));
  }
  else if (fEstEventMult==kCentralityZNA) {
    if (cent) tEvent->SetNormalizedMult(lrint(10*cent->GetCentralityPercentile("ZNA")));
  }
  else if (fEstEventMult==kCentralityZNC) {
    if (cent) tEvent->SetNormalizedMult(lrint(10*cent->GetCentralityPercentile("ZNC")));
  }
  else if (fEstEventMult==kCentralityCL1) {
    if (cent) tEvent->SetNormalizedMult(lrint(10*cent->GetCentralityPercentile("CL1")));
  }
  else if (fEstEventMult==kCentralityCL0) {
    if (cent) tEvent->SetNormalizedMult(lrint(10*cent->GetCentralityPercentile("CL0")));
  }
  else if (fEstEventMult==kCentralityTRK) {
    if (cent) tEvent->SetNormalizedMult(lrint(10*cent->GetCentralityPercentile("TRK")));
  }
  else if (fEstEventMult==kCentralityTKL) {
    if (cent) tEvent->SetNormalizedMult(lrint(10*cent->GetCentralityPercentile("TKL")));
  }
  else if (fEstEventMult==kCentralityCND) {
    if (cent) tEvent->SetNormalizedMult(lrint(10*cent->GetCentralityPercentile("CND")));
  }
  else if (fEstEventMult==kCentralityNPA) {
    if (cent) tEvent->SetNormalizedMult(lrint(10*cent->GetCentralityPercentile("NPA")));
  }
  else if (fEstEventMult==kCentralityFMD) {
    if (cent) tEvent->SetNormalizedMult(lrint(10*cent->GetCentralityPercentile("FMD")));
  }
  else if(fEstEventMult==kGlobalCount){
    tEvent->SetNormalizedMult(tNormMult); //particles counted in the loop, trying to reproduce GetReferenceMultiplicity. If better (default) method appears it should be changed
  }
  else if(fEstEventMult==kReference)
  {
    tEvent->SetNormalizedMult(fAODheader->GetRefMultiplicity());
  }
  else if(fEstEventMult==kTPCOnlyRef)
  {
    tEvent->SetNormalizedMult(fAODheader->GetTPConlyRefMultiplicity());
  }
  else if(fEstEventMult == kVZERO)
  {
    Float_t multV0 = 0;
    for (Int_t i=0; i<64; i++)
      multV0 += fEvent->GetVZEROData()->GetMultiplicity(i);
    tEvent->SetNormalizedMult(multV0);
  }

  // if (mcP) delete [] motherids;

  // cout<<"end of reading nt "<<nofTracks<<" real number "<<realnofTracks<<endl;

  if(fReadV0)
  {
    int count_pass = 0;
    for (Int_t i = 0; i < fEvent->GetNumberOfV0s(); i++) {
      AliAODv0* aodv0 = fEvent->GetV0(i);
      if (!aodv0) continue;
      if(aodv0->GetNDaughters()>2) continue;
      if(aodv0->GetNProngs()>2) continue;
      if(aodv0->GetCharge()!=0) continue;
      if(aodv0->ChargeProng(0)==aodv0->ChargeProng(1)) continue;
      if(aodv0->CosPointingAngle(fV1)<0.998) continue;

      AliAODTrack* daughterTrackPos = (AliAODTrack*)aodv0->GetDaughter(0); //getting positive daughter track
      AliAODTrack* daughterTrackNeg = (AliAODTrack*)aodv0->GetDaughter(1); //getting negative daughter track
      if(!daughterTrackPos) continue; //daughter tracks must exist
      if(!daughterTrackNeg) continue;
      if(daughterTrackNeg->Charge() == daughterTrackPos->Charge() ) continue; //and have different charge

      AliFemtoV0* trackCopyV0 = CopyAODtoFemtoV0(aodv0);
      if(mcP) {
      	daughterTrackPos->SetAODEvent(fEvent);
      	daughterTrackNeg->SetAODEvent(fEvent);
	if(daughterTrackPos->GetLabel() > 0 && daughterTrackNeg->GetLabel() > 0 ) {
	  AliAODMCParticle* mcParticlePos = (AliAODMCParticle*)mcP->At(daughterTrackPos->GetLabel());
	  AliAODMCParticle* mcParticleNeg = (AliAODMCParticle*)mcP->At(daughterTrackNeg->GetLabel() );
	  if((mcParticlePos!=NULL) && (mcParticleNeg!=NULL)){
	    int motherOfPosID = mcParticlePos->GetMother();
	    int motherOfNegID = mcParticleNeg->GetMother();
	    if ((motherOfPosID > -1) && (motherOfPosID == motherOfNegID)){
	      AliFemtoModelHiddenInfo *tInfo = new AliFemtoModelHiddenInfo();
	      // Both daughter tracks refer to the same mother, we can continue
	      AliAODMCParticle *v0 = (AliAODMCParticle*)mcP->At(motherOfPosID); //our V0 particle

	      tInfo->SetPDGPid(v0->GetPdgCode());
	      int v0MotherId = v0->GetMother();
	      if(v0MotherId>-1) { //V0 particle has a mother
		AliAODMCParticle* motherOfV0 = (AliAODMCParticle*)mcP->At(v0MotherId);
		tInfo->SetMotherPdgCode(motherOfV0->GetPdgCode());
	      }
	      trackCopyV0->SetHiddenInfo(tInfo);
	    }
	  }
	}
      }
      tEvent->V0Collection()->push_back(trackCopyV0);
      count_pass++;
      //cout<<"Pushback v0 to v0collection"<<endl;
    }
  }

  return tEvent;
}

AliFemtoTrack* AliFemtoEventReaderAOD::CopyAODtoFemtoTrack(AliAODTrack *tAodTrack
                                                 //						 AliPWG2AODTrack *tPWG2AODTrack
  )
{
  // Copy the track information from the AOD into the internal AliFemtoTrack
  // If it exists, use the additional information from the PWG2 AOD
  AliFemtoTrack *tFemtoTrack = new AliFemtoTrack();

  // Primary Vertex position

  fEvent->GetPrimaryVertex()->GetPosition(fV1);
  //  fEvent->GetPrimaryVertex()->GetXYZ(fV1);
  tFemtoTrack->SetPrimaryVertex(fV1);

  tFemtoTrack->SetCharge(tAodTrack->Charge());

  double pxyz[3];
  tAodTrack->PxPyPz(pxyz);//reading noconstrained momentum

  AliFemtoThreeVector v(pxyz[0],pxyz[1],pxyz[2]);
  tFemtoTrack->SetP(v);//setting momentum
  tFemtoTrack->SetPt(sqrt(pxyz[0]*pxyz[0]+pxyz[1]*pxyz[1]));
  const AliFmThreeVectorD kOrigin(fV1[0],fV1[1],fV1[2]);
  //setting track helix
  const AliFmThreeVectorD ktP(pxyz[0],pxyz[1],pxyz[2]);
  AliFmPhysicalHelixD helix(ktP,kOrigin,(double)(fEvent->GetMagneticField())*kilogauss,(double)(tFemtoTrack->Charge()));
  tFemtoTrack->SetHelix(helix);

  // Flags
  tFemtoTrack->SetTrackId(tAodTrack->GetID());
  tFemtoTrack->SetFlags(tAodTrack->GetFlags());
  tFemtoTrack->SetLabel(tAodTrack->GetLabel());

  // Track quality information
  float covmat[6];
  tAodTrack->GetCovMatrix(covmat);

  if (!fDCAglobalTrack) {

    tFemtoTrack->SetImpactD(tAodTrack->DCA());
    tFemtoTrack->SetImpactZ(tAodTrack->ZAtDCA());


    // double impact[2];
    // double covimpact[3];

    // AliAODTrack* trk_clone = (AliAODTrack*)tAodTrack->Clone("trk_clone");
    // // if(!trk_clone->PropagateToDCA(fAODVertex,aod->GetMagneticField(),300.,dca,cov)) continue;
    // // if (!tAodTrack->PropagateToDCA(fEvent->GetPrimaryVertex(),fEvent->GetMagneticField(),10000,impact,covimpact)) {
    // if (!trk_clone->PropagateToDCA(fEvent->GetPrimaryVertex(),fEvent->GetMagneticField(),10000,impact,covimpact)) {
    //   //cout << "sth went wrong with dca propagation" << endl;
    //   tFemtoTrack->SetImpactD(-1000.0);
    //   tFemtoTrack->SetImpactZ(-1000.0);

    // }
    // else {
    //   tFemtoTrack->SetImpactD(impact[0]);
    //   tFemtoTrack->SetImpactZ(impact[1]);
    // }
    // delete trk_clone;

  }

  //   if (TMath::Abs(tAodTrack->Xv()) > 0.00000000001)
  //     tFemtoTrack->SetImpactD(TMath::Hypot(tAodTrack->Xv(), tAodTrack->Yv())*(tAodTrack->Xv()/TMath::Abs(tAodTrack->Xv())));
  //   else
  //     tFemtoTrack->SetImpactD(0.0);
  //   tFemtoTrack->SetImpactD(tAodTrack->DCA());

  //   tFemtoTrack->SetImpactZ(tAodTrack->ZAtDCA());


  //   tFemtoTrack->SetImpactD(TMath::Hypot(tAodTrack->Xv() - fV1[0], tAodTrack->Yv() - fV1[1]));
  //   tFemtoTrack->SetImpactZ(tAodTrack->Zv() - fV1[2]);


  //   cout
  //    << "dca" << TMath::Hypot(tAodTrack->Xv() - fV1[0], tAodTrack->Yv() - fV1[1])
  //    << "xv - fv10 = "<< tAodTrack->Xv() - fV1[0]
  //    << tAodTrack->Yv() - fV1[1]
//     << "xv = " << tAodTrack->Xv() << endl
//     << "fv1[0] = " << fV1[0]  << endl
//     << "yv = " << tAodTrack->Yv()  << endl
//     << "fv1[1] = " << fV1[1]  << endl
//     << "zv = " << tAodTrack->Zv()  << endl
//     << "fv1[2] = " << fV1[2]  << endl
//     << "impact[0] = " << impact[0]  << endl
//     << "impact[1] = " << impact[1]  << endl
//     << endl << endl ;

  tFemtoTrack->SetCdd(covmat[0]);
  tFemtoTrack->SetCdz(covmat[1]);
  tFemtoTrack->SetCzz(covmat[2]);
  tFemtoTrack->SetITSchi2(tAodTrack->Chi2perNDF());
  tFemtoTrack->SetITSncls(tAodTrack->GetITSNcls());
  tFemtoTrack->SetTPCchi2(tAodTrack->Chi2perNDF());
  tFemtoTrack->SetTPCncls(tAodTrack->GetTPCNcls());
  tFemtoTrack->SetTPCnclsF(tAodTrack->GetTPCNcls());
  tFemtoTrack->SetTPCsignalN(1);
  tFemtoTrack->SetTPCsignalS(1);
  tFemtoTrack->SetTPCsignal(tAodTrack->GetTPCsignal());

//   if (tPWG2AODTrack) {
//     // Copy the PWG2 specific information if it exists
//     tFemtoTrack->SetTPCClusterMap(tPWG2AODTrack->GetTPCClusterMap());
//     tFemtoTrack->SetTPCSharedMap(tPWG2AODTrack->GetTPCSharedMap());

//     double xtpc[3] = {0,0,0};
//     tPWG2AODTrack->GetTPCNominalEntrancePoint(xtpc);
//     tFemtoTrack->SetNominalTPCEntrancePoint(xtpc);
//     tPWG2AODTrack->GetTPCNominalExitPoint(xtpc);
//     tFemtoTrack->SetNominalTPCExitPoint(xtpc);
//   }
//   else {
  // If not use dummy values
  tFemtoTrack->SetTPCClusterMap(tAodTrack->GetTPCClusterMap());
  tFemtoTrack->SetTPCSharedMap(tAodTrack->GetTPCSharedMap());

  float globalPositionsAtRadii[9][3];
  float bfield = 5*fMagFieldSign;

  GetGlobalPositionAtGlobalRadiiThroughTPC(tAodTrack,bfield,globalPositionsAtRadii);
  double tpcEntrance[3]={globalPositionsAtRadii[0][0],globalPositionsAtRadii[0][1],globalPositionsAtRadii[0][2]};
  double **tpcPositions;
  tpcPositions = new double*[9];
  for(int i=0;i<9;i++)
    tpcPositions[i] = new double[3];
  double tpcExit[3]={globalPositionsAtRadii[8][0],globalPositionsAtRadii[8][1],globalPositionsAtRadii[8][2]};
  for(int i=0;i<9;i++)
  {
    tpcPositions[i][0] = globalPositionsAtRadii[i][0];
    tpcPositions[i][1] = globalPositionsAtRadii[i][1];
    tpcPositions[i][2] = globalPositionsAtRadii[i][2];
  }

  tFemtoTrack->SetNominalTPCEntrancePoint(tpcEntrance);
  tFemtoTrack->SetNominalTPCPoints(tpcPositions);
  tFemtoTrack->SetNominalTPCExitPoint(tpcExit);
  for(int i=0;i<9;i++)
    delete [] tpcPositions[i];
  delete [] tpcPositions;
  //   }

  //   //  cout << "Track has " << TMath::Hypot(tAodTrack->Xv(), tAodTrack->Yv()) << "  " << tAodTrack->Zv() << "  " << tAodTrack->GetTPCNcls() << endl;


  int indexes[3];
  for (int ik=0; ik<3; ik++) {
    indexes[ik] = 0;
  }
  tFemtoTrack->SetKinkIndexes(indexes);


  for (int ii=0; ii<6; ii++){
    tFemtoTrack->SetITSHitOnLayer(ii,tAodTrack->HasPointOnITSLayer(ii));
  }

  return tFemtoTrack;
}

AliFemtoV0* AliFemtoEventReaderAOD::CopyAODtoFemtoV0(AliAODv0 *tAODv0 )
{
  AliFemtoV0 *tFemtoV0 = new AliFemtoV0();

  tFemtoV0->SetdecayLengthV0(tAODv0->DecayLength(fV1));
  tFemtoV0->SetdecayVertexV0X(tAODv0->DecayVertexV0X());
  tFemtoV0->SetdecayVertexV0Y(tAODv0->DecayVertexV0Y());
  tFemtoV0->SetdecayVertexV0Z(tAODv0->DecayVertexV0Z());
  AliFemtoThreeVector decayvertex(tAODv0->DecayVertexV0X(),tAODv0->DecayVertexV0Y(),tAODv0->DecayVertexV0Z());
  tFemtoV0->SetdecayVertexV0(decayvertex);
  tFemtoV0->SetdcaV0Daughters(tAODv0->DcaV0Daughters());
  tFemtoV0->SetdcaV0ToPrimVertex(tAODv0->DcaV0ToPrimVertex());
  tFemtoV0->SetdcaPosToPrimVertex(tAODv0->DcaPosToPrimVertex());
  tFemtoV0->SetdcaNegToPrimVertex(tAODv0->DcaNegToPrimVertex());
  tFemtoV0->SetmomPosX(tAODv0->MomPosX());
  tFemtoV0->SetmomPosY(tAODv0->MomPosY());
  tFemtoV0->SetmomPosZ(tAODv0->MomPosZ());
  AliFemtoThreeVector mompos(tAODv0->MomPosX(),tAODv0->MomPosY(),tAODv0->MomPosZ());
  tFemtoV0->SetmomPos(mompos);
  tFemtoV0->SetmomNegX(tAODv0->MomNegX());
  tFemtoV0->SetmomNegY(tAODv0->MomNegY());
  tFemtoV0->SetmomNegZ(tAODv0->MomNegZ());
  AliFemtoThreeVector momneg(tAODv0->MomNegX(),tAODv0->MomNegY(),tAODv0->MomNegZ());
  tFemtoV0->SetmomNeg(momneg);

  //jest cos takiego w AliFemtoV0.h czego nie ma w AliAODv0.h
  //void SettpcHitsPos(const int& i);
  //void SettpcHitsNeg(const int& i);

  //void SetTrackTopologyMapPos(unsigned int word, const unsigned long& m);
  //void SetTrackTopologyMapNeg(unsigned int word, const unsigned long& m);


  tFemtoV0->SetmomV0X(tAODv0->MomV0X());
  tFemtoV0->SetmomV0Y(tAODv0->MomV0Y());
  tFemtoV0->SetmomV0Z(tAODv0->MomV0Z());
  AliFemtoThreeVector momv0(tAODv0->MomV0X(),tAODv0->MomV0Y(),tAODv0->MomV0Z());
  tFemtoV0->SetmomV0(momv0);
  tFemtoV0->SetalphaV0(tAODv0->AlphaV0());
  tFemtoV0->SetptArmV0(tAODv0->PtArmV0());
  tFemtoV0->SeteLambda(tAODv0->ELambda());
  tFemtoV0->SeteK0Short(tAODv0->EK0Short());
  tFemtoV0->SetePosProton(tAODv0->EPosProton());
  tFemtoV0->SeteNegProton(tAODv0->ENegProton());
  tFemtoV0->SetmassLambda(tAODv0->MassLambda());
  tFemtoV0->SetmassAntiLambda(tAODv0->MassAntiLambda());
  tFemtoV0->SetmassK0Short(tAODv0->MassK0Short());
  tFemtoV0->SetrapLambda(tAODv0->RapLambda());
  tFemtoV0->SetrapK0Short(tAODv0->RapK0Short());

  //void SetcTauLambda( float x);
  //void SetcTauK0Short( float x);

  //tFemtoV0->SetptV0(::sqrt(tAODv0->Pt2V0())); //!
  tFemtoV0->SetptV0(tAODv0->Pt());
  tFemtoV0->SetptotV0(::sqrt(tAODv0->Ptot2V0()));
  //tFemtoV0->SetptPos(::sqrt(tAODv0->MomPosX()*tAODv0->MomPosX()+tAODv0->MomPosY()*tAODv0->MomPosY()));
  //tFemtoV0->SetptotPos(::sqrt(tAODv0->Ptot2Pos()));
  //tFemtoV0->SetptNeg(::sqrt(tAODv0->MomNegX()*tAODv0->MomNegX()+tAODv0->MomNegY()*tAODv0->MomNegY()));
  //tFemtoV0->SetptotNeg(::sqrt(tAODv0->Ptot2Neg()));

  tFemtoV0->SetidNeg(tAODv0->GetNegID());
  //cout<<"tAODv0->GetNegID(): "<<tAODv0->GetNegID()<<endl;
  //cout<<"tFemtoV0->IdNeg(): "<<tFemtoV0->IdNeg()<<endl;
  tFemtoV0->SetidPos(tAODv0->GetPosID());

  tFemtoV0->SetEtaV0(tAODv0->Eta());
  tFemtoV0->SetPhiV0(tAODv0->Phi());
  tFemtoV0->SetCosPointingAngle(tAODv0->CosPointingAngle(fV1));
  //tFemtoV0->SetYV0(tAODv0->Y());


  //void SetdedxNeg(float x);
  //void SeterrdedxNeg(float x);//Gael 04Fev2002
  //void SetlendedxNeg(float x);//Gael 04Fev2002
  //void SetdedxPos(float x);
  //void SeterrdedxPos(float x);//Gael 04Fev2002
  //void SetlendedxPos(float x);//Gael 04Fev2002

  //tFemtoV0->SetEtaPos(tAODv0->PseudoRapPos());
  //tFemtoV0->SetEtaNeg(tAODv0->PseudoRapNeg());

  AliAODTrack *trackpos = (AliAODTrack*)tAODv0->GetDaughter(0);
  AliAODTrack *trackneg = (AliAODTrack*)tAODv0->GetDaughter(1);


  if(trackpos && trackneg)
  {
    tFemtoV0->SetEtaPos(trackpos->Eta());
    tFemtoV0->SetEtaNeg(trackneg->Eta());
    tFemtoV0->SetptotPos(tAODv0->PProng(0));
    tFemtoV0->SetptotNeg(tAODv0->PProng(1));
    tFemtoV0->SetptPos(trackpos->Pt());
    tFemtoV0->SetptNeg(trackneg->Pt());

    //tFemtoV0->SetEtaPos(trackpos->Eta()); //tAODv0->PseudoRapPos()
    //tFemtoV0->SetEtaNeg(trackneg->Eta()); //tAODv0->PseudoRapNeg()
    tFemtoV0->SetTPCNclsPos(trackpos->GetTPCNcls());
    tFemtoV0->SetTPCNclsNeg(trackneg->GetTPCNcls());
    tFemtoV0->SetTPCclustersPos(trackpos->GetTPCClusterMap());
    tFemtoV0->SetTPCclustersNeg(trackneg->GetTPCClusterMap());
    tFemtoV0->SetTPCsharingPos(trackpos->GetTPCSharedMap());
    tFemtoV0->SetTPCsharingNeg(trackneg->GetTPCSharedMap());
    tFemtoV0->SetNdofPos(trackpos->Chi2perNDF());
    tFemtoV0->SetNdofNeg(trackneg->Chi2perNDF());
    tFemtoV0->SetStatusPos(trackpos->GetStatus());
    tFemtoV0->SetStatusNeg(trackneg->GetStatus());

    tFemtoV0->SetPosNSigmaTPCK(fAODpidUtil->NumberOfSigmasTPC(trackpos,AliPID::kKaon));
    tFemtoV0->SetNegNSigmaTPCK(fAODpidUtil->NumberOfSigmasTPC(trackneg,AliPID::kKaon));
    tFemtoV0->SetPosNSigmaTPCP(fAODpidUtil->NumberOfSigmasTPC(trackpos,AliPID::kProton));
    tFemtoV0->SetNegNSigmaTPCP(fAODpidUtil->NumberOfSigmasTPC(trackneg,AliPID::kProton));
    tFemtoV0->SetPosNSigmaTPCPi(fAODpidUtil->NumberOfSigmasTPC(trackpos,AliPID::kPion));
    tFemtoV0->SetNegNSigmaTPCPi(fAODpidUtil->NumberOfSigmasTPC(trackneg,AliPID::kPion));


    float bfield = 5*fMagFieldSign;
    float globalPositionsAtRadiiPos[9][3];
    GetGlobalPositionAtGlobalRadiiThroughTPC(trackpos,bfield,globalPositionsAtRadiiPos);
    double tpcEntrancePos[3]={globalPositionsAtRadiiPos[0][0],globalPositionsAtRadiiPos[0][1],globalPositionsAtRadiiPos[0][2]};
    double tpcExitPos[3]={globalPositionsAtRadiiPos[8][0],globalPositionsAtRadiiPos[8][1],globalPositionsAtRadiiPos[8][2]};

    float globalPositionsAtRadiiNeg[9][3];
    GetGlobalPositionAtGlobalRadiiThroughTPC(trackneg,bfield,globalPositionsAtRadiiNeg);
    double tpcEntranceNeg[3]={globalPositionsAtRadiiNeg[0][0],globalPositionsAtRadiiNeg[0][1],globalPositionsAtRadiiNeg[0][2]};
    double tpcExitNeg[3]={globalPositionsAtRadiiNeg[8][0],globalPositionsAtRadiiNeg[8][1],globalPositionsAtRadiiNeg[8][2]};

    AliFemtoThreeVector tmpVec;
    tmpVec.SetX(tpcEntrancePos[0]); tmpVec.SetY(tpcEntrancePos[1]); tmpVec.SetZ(tpcEntrancePos[2]);
    tFemtoV0->SetNominalTpcEntrancePointPos(tmpVec);

    tmpVec.SetX(tpcExitPos[0]); tmpVec.SetY(tpcExitPos[1]); tmpVec.SetZ(tpcExitPos[2]);
    tFemtoV0->SetNominalTpcExitPointPos(tmpVec);

    tmpVec.SetX(tpcEntranceNeg[0]); tmpVec.SetY(tpcEntranceNeg[1]); tmpVec.SetZ(tpcEntranceNeg[2]);
    tFemtoV0->SetNominalTpcEntrancePointNeg(tmpVec);

    tmpVec.SetX(tpcExitNeg[0]); tmpVec.SetY(tpcExitNeg[1]); tmpVec.SetZ(tpcExitNeg[2]);
    tFemtoV0->SetNominalTpcExitPointNeg(tmpVec);


    AliFemtoThreeVector vecTpcPos[9];
    AliFemtoThreeVector vecTpcNeg[9];
    for(int i=0;i<9;i++)
    {
      vecTpcPos[i].SetX(globalPositionsAtRadiiPos[i][0]); vecTpcPos[i].SetY(globalPositionsAtRadiiPos[i][1]); vecTpcPos[i].SetZ(globalPositionsAtRadiiPos[i][2]);
      vecTpcNeg[i].SetX(globalPositionsAtRadiiNeg[i][0]); vecTpcNeg[i].SetY(globalPositionsAtRadiiNeg[i][1]); vecTpcNeg[i].SetZ(globalPositionsAtRadiiNeg[i][2]);
    }
    tFemtoV0->SetNominalTpcPointPos(vecTpcPos);
    tFemtoV0->SetNominalTpcPointNeg(vecTpcNeg);

    tFemtoV0->SetTPCMomentumPos(trackpos->GetTPCmomentum());
    tFemtoV0->SetTPCMomentumNeg(trackneg->GetTPCmomentum());

    tFemtoV0->SetdedxPos(trackpos->GetTPCsignal());
    tFemtoV0->SetdedxNeg(trackneg->GetTPCsignal());


    Float_t probMisPos = 1.0;
    Float_t probMisNeg = 1.0;

        if( ((tFemtoV0->StatusPos() & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((tFemtoV0->StatusPos() & AliVTrack::kTIME) == AliVTrack::kTIME) ){
    // if (tFemtoV0->StatusPos() & AliESDtrack::kTOFout & AliESDtrack::kTIME) {  //AliESDtrack::kTOFpid=0x8000
      probMisPos = fAODpidUtil->GetTOFMismatchProbability(trackpos);
    }
    if( ((tFemtoV0->StatusNeg() & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((tFemtoV0->StatusNeg() & AliVTrack::kTIME) == AliVTrack::kTIME) ){
    // if (tFemtoV0->StatusNeg() & AliESDtrack::kTOFout & AliESDtrack::kTIME) {  //AliESDtrack::kTOFpid=0x8000
      probMisNeg = fAODpidUtil->GetTOFMismatchProbability(trackneg);
    }

    // if(// (tFemtoV0->StatusPos()& AliESDtrack::kTOFpid)==0 ||
    //    (tFemtoV0->StatusPos()&AliESDtrack::kTIME)==0 || (tFemtoV0->StatusPos()&AliESDtrack::kTOFout)==0 || probMisPos > 0.01)

      if( !(((tFemtoV0->StatusPos() & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((tFemtoV0->StatusPos() & AliVTrack::kTIME) == AliVTrack::kTIME)) || probMisPos > 0.01)

    {
      // if(// (tFemtoV0->StatusNeg()&AliESDtrack::kTOFpid)==0 ||
      //    (tFemtoV0->StatusNeg()&AliESDtrack::kTIME)==0 || (tFemtoV0->StatusNeg()&AliESDtrack::kTOFout)==0 || probMisNeg > 0.01)
        if( !(((tFemtoV0->StatusNeg() & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((tFemtoV0->StatusNeg() & AliVTrack::kTIME) == AliVTrack::kTIME)) || probMisNeg > 0.01)

	    {
	      tFemtoV0->SetPosNSigmaTOFK(-1000);
	      tFemtoV0->SetNegNSigmaTOFK(-1000);
	      tFemtoV0->SetPosNSigmaTOFP(-1000);
	      tFemtoV0->SetNegNSigmaTOFP(-1000);
	      tFemtoV0->SetPosNSigmaTOFPi(-1000);
	      tFemtoV0->SetNegNSigmaTOFPi(-1000);

	      tFemtoV0->SetTOFProtonTimePos(-1000);
	      tFemtoV0->SetTOFPionTimePos(-1000);
	      tFemtoV0->SetTOFKaonTimePos(-1000);
	      tFemtoV0->SetTOFProtonTimeNeg(-1000);
	      tFemtoV0->SetTOFPionTimeNeg(-1000);
	      tFemtoV0->SetTOFKaonTimeNeg(-1000);
	    }
    }
    else
    {
        if( ((tFemtoV0->StatusPos() & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((tFemtoV0->StatusPos() & AliVTrack::kTIME) == AliVTrack::kTIME) && probMisPos < 0.01){

      // if(trackpos->IsOn(AliESDtrack::kTOFout & AliESDtrack::kTIME)) {
        tFemtoV0->SetPosNSigmaTOFK(fAODpidUtil->NumberOfSigmasTOF(trackpos,AliPID::kKaon));
        tFemtoV0->SetPosNSigmaTOFP(fAODpidUtil->NumberOfSigmasTOF(trackpos,AliPID::kProton));
        tFemtoV0->SetPosNSigmaTOFPi(fAODpidUtil->NumberOfSigmasTOF(trackpos,AliPID::kPion));
      }
        if( ((tFemtoV0->StatusNeg() & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((tFemtoV0->StatusNeg() & AliVTrack::kTIME) == AliVTrack::kTIME) && probMisNeg < 0.01){

      // if(trackneg->IsOn(AliESDtrack::kTOFout & AliESDtrack::kTIME)) {
        tFemtoV0->SetNegNSigmaTOFK(fAODpidUtil->NumberOfSigmasTOF(trackneg,AliPID::kKaon));
        tFemtoV0->SetNegNSigmaTOFP(fAODpidUtil->NumberOfSigmasTOF(trackneg,AliPID::kProton));
        tFemtoV0->SetNegNSigmaTOFPi(fAODpidUtil->NumberOfSigmasTOF(trackneg,AliPID::kPion));
      }
      double TOFSignalPos = trackpos->GetTOFsignal();
      double TOFSignalNeg = trackneg->GetTOFsignal();
      TOFSignalPos -= fAODpidUtil->GetTOFResponse().GetStartTime(trackpos->P());
      TOFSignalNeg -= fAODpidUtil->GetTOFResponse().GetStartTime(trackneg->P());
      double pidPos[5];
      double pidNeg[5];
      trackpos->GetIntegratedTimes(pidPos);
      trackneg->GetIntegratedTimes(pidNeg);

      tFemtoV0->SetTOFPionTimePos(TOFSignalPos-pidPos[2]);
      tFemtoV0->SetTOFKaonTimePos(TOFSignalPos-pidPos[3]);
      tFemtoV0->SetTOFProtonTimePos(TOFSignalPos-pidPos[4]);
      tFemtoV0->SetTOFPionTimeNeg(TOFSignalNeg-pidNeg[2]);
      tFemtoV0->SetTOFKaonTimeNeg(TOFSignalNeg-pidNeg[3]);
      tFemtoV0->SetTOFProtonTimeNeg(TOFSignalNeg-pidNeg[4]);
    }

  }
  else
  {

    tFemtoV0->SetStatusPos(999);
    tFemtoV0->SetStatusNeg(999);
  }

  tFemtoV0->SetOnFlyStatusV0(tAODv0->GetOnFlyStatus());
  return tFemtoV0;
}

void AliFemtoEventReaderAOD::SetFilterBit(UInt_t ibit)
{
  fFilterBit = (1 << (ibit));
}


void AliFemtoEventReaderAOD::SetFilterMask(int ibit)
{
  fFilterMask = ibit;
}

void AliFemtoEventReaderAOD::SetReadMC(unsigned char a)
{
  fReadMC = a;
}


void AliFemtoEventReaderAOD::SetReadV0(unsigned char a)
{
  fReadV0 = a;
}

void AliFemtoEventReaderAOD::SetUseMultiplicity(EstEventMult aType)
{
  fEstEventMult = aType;
}

AliAODMCParticle* AliFemtoEventReaderAOD::GetParticleWithLabel(TClonesArray *mcP, Int_t aLabel)
{
  if (aLabel < 0) return 0;
  AliAODMCParticle *aodP;
  Int_t posstack = 0;
  if (aLabel > mcP->GetEntries())
    posstack = mcP->GetEntries();
  else
    posstack = aLabel;

  aodP = (AliAODMCParticle *) mcP->At(posstack);
  if (aodP->GetLabel() > posstack) {
    do {
      aodP = (AliAODMCParticle *) mcP->At(posstack);
      if (aodP->GetLabel() == aLabel) return aodP;
      posstack--;
    }
    while (posstack > 0);
  }
  else {
    do {
      aodP = (AliAODMCParticle *) mcP->At(posstack);
      if (aodP->GetLabel() == aLabel) return aodP;
      posstack++;
    }
    while (posstack < mcP->GetEntries());
  }

  return 0;
}

void AliFemtoEventReaderAOD::CopyPIDtoFemtoTrack(AliAODTrack *tAodTrack,
                                                 AliFemtoTrack *tFemtoTrack)
{

  if (fDCAglobalTrack) {

    // code from Michael and Prabhat from AliAnalysisTaskDptDptCorrelations
    const AliAODVertex* vertex = (AliAODVertex*) fEvent->GetPrimaryVertex();
    float vertexX  = -999.;
    float vertexY  = -999.;
    float vertexZ  = -999.;

    if(vertex) {
      Double32_t fCov[6];
      vertex->GetCovarianceMatrix(fCov);
      if(vertex->GetNContributors() > 0) {
        if(fCov[5] != 0) {
          vertexX = vertex->GetX();
          vertexY = vertex->GetY();
          vertexZ = vertex->GetZ();

        }
      }
    }

    Double_t pos[3];
    tAodTrack->GetXYZ(pos);

    Double_t DCAX = pos[0] - vertexX;
    Double_t DCAY = pos[1] - vertexY;
    Double_t DCAZ = pos[2] - vertexZ;

    Double_t DCAXY = TMath::Sqrt((DCAX*DCAX) + (DCAY*DCAY));

    tFemtoTrack->SetImpactD(DCAXY);
    tFemtoTrack->SetImpactZ(DCAZ);


    // // // copying DCA information (taking it from global tracks gives better resolution than from TPC-only)

    // double impact[2];
    // double covimpact[3];

    // AliAODTrack* trk_clone = (AliAODTrack*)tAodTrack->Clone("trk_clone");
    // // if(!trk_clone->PropagateToDCA(fAODVertex,aod->GetMagneticField(),300.,dca,cov)) continue;
    // // if (!tAodTrack->PropagateToDCA(fEvent->GetPrimaryVertex(),fEvent->GetMagneticField(),10000,impact,covimpact)) {
    // if (!trk_clone->PropagateToDCA(fEvent->GetPrimaryVertex(),fEvent->GetMagneticField(),10000,impact,covimpact)) {

    // // if (!tAodTrack->PropagateToDCA(fEvent->GetPrimaryVertex(),fEvent->GetMagneticField(),10000,impact,covimpact)) {
    //   //cout << "sth went wrong with dca propagation" << endl;
    //   tFemtoTrack->SetImpactD(-1000.0);
    //   tFemtoTrack->SetImpactZ(-1000.0);

    // }
    // else {
    //   tFemtoTrack->SetImpactD(impact[0]);
    //   tFemtoTrack->SetImpactZ(impact[1]);
    // }
    // delete trk_clone;
  }

  double aodpid[10];
  tAodTrack->GetPID(aodpid);
  tFemtoTrack->SetPidProbElectron(aodpid[0]);
  tFemtoTrack->SetPidProbMuon(aodpid[1]);
  tFemtoTrack->SetPidProbPion(aodpid[2]);
  tFemtoTrack->SetPidProbKaon(aodpid[3]);
  tFemtoTrack->SetPidProbProton(aodpid[4]);

  aodpid[0] = -100000.0;
  aodpid[1] = -100000.0;
  aodpid[2] = -100000.0;
  aodpid[3] = -100000.0;
  aodpid[4] = -100000.0;

  double tTOF = 0.0;
  Float_t probMis = 1.0;

  //what is that code? for what do we need it? nsigma values are not enough?
  // if (tAodTrack->GetStatus() & AliESDtrack::kTOFout & AliESDtrack::kTIME) {  //AliESDtrack::kTOFpid=0x8000

  ULong_t status=tAodTrack->GetStatus();

  if( ((status & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((status & AliVTrack::kTIME) == AliVTrack::kTIME) ){
    tTOF = tAodTrack->GetTOFsignal();
    tAodTrack->GetIntegratedTimes(aodpid);

    tTOF -= fAODpidUtil->GetTOFResponse().GetStartTime(tAodTrack->P());

    probMis = fAODpidUtil->GetTOFMismatchProbability(tAodTrack);
  }



  tFemtoTrack->SetTofExpectedTimes(tTOF-aodpid[2], tTOF-aodpid[3], tTOF-aodpid[4]);

  //////  TPC ////////////////////////////////////////////

  float nsigmaTPCK=-1000.;
  float nsigmaTPCPi=-1000.;
  float nsigmaTPCP=-1000.;
  float nsigmaTPCE=-1000.;

  //   cout<<"in reader fESDpid"<<fESDpid<<endl;

  nsigmaTPCK = fAODpidUtil->NumberOfSigmasTPC(tAodTrack,AliPID::kKaon);
  nsigmaTPCPi = fAODpidUtil->NumberOfSigmasTPC(tAodTrack,AliPID::kPion);
  nsigmaTPCP = fAODpidUtil->NumberOfSigmasTPC(tAodTrack,AliPID::kProton);
  nsigmaTPCE = fAODpidUtil->NumberOfSigmasTPC(tAodTrack,AliPID::kElectron);

  tFemtoTrack->SetNSigmaTPCPi(nsigmaTPCPi);
  tFemtoTrack->SetNSigmaTPCK(nsigmaTPCK);
  tFemtoTrack->SetNSigmaTPCP(nsigmaTPCP);
  tFemtoTrack->SetNSigmaTPCE(nsigmaTPCE);

  tFemtoTrack->SetTPCchi2(tAodTrack->Chi2perNDF());
  tFemtoTrack->SetTPCncls(tAodTrack->GetTPCNcls());
  tFemtoTrack->SetTPCnclsF(tAodTrack->GetTPCNcls());

  tFemtoTrack->SetTPCsignalN(1);
  tFemtoTrack->SetTPCsignalS(1);
  tFemtoTrack->SetTPCsignal(tAodTrack->GetTPCsignal());

  ///////TOF//////////////////////

  float vp=-1000.;
  float nsigmaTOFPi=-1000.;
  float nsigmaTOFK=-1000.;
  float nsigmaTOFP=-1000.;
  float nsigmaTOFE=-1000.;

  if( ((status & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((status & AliVTrack::kTIME) == AliVTrack::kTIME) && probMis < 0.01){

    nsigmaTOFPi = fAODpidUtil->NumberOfSigmasTOF(tAodTrack,AliPID::kPion);
    nsigmaTOFK = fAODpidUtil->NumberOfSigmasTOF(tAodTrack,AliPID::kKaon);
    nsigmaTOFP = fAODpidUtil->NumberOfSigmasTOF(tAodTrack,AliPID::kProton);
    nsigmaTOFE = fAODpidUtil->NumberOfSigmasTOF(tAodTrack,AliPID::kElectron);

    Double_t len=200;// esdtrack->GetIntegratedLength(); !!!!!
    Double_t tof=tAodTrack->GetTOFsignal();
    if(tof > 0.) vp=len/tof/0.03;
  }

  tFemtoTrack->SetVTOF(vp);
  tFemtoTrack->SetNSigmaTOFPi(nsigmaTOFPi);
  tFemtoTrack->SetNSigmaTOFK(nsigmaTOFK);
  tFemtoTrack->SetNSigmaTOFP(nsigmaTOFP);
  tFemtoTrack->SetNSigmaTOFE(nsigmaTOFE);


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

}

void AliFemtoEventReaderAOD::SetCentralityPreSelection(double min, double max)
{
  fCentRange[0] = min; fCentRange[1] = max;
  fUsePreCent = 1;
  fEstEventMult = kCentrality;
}

void AliFemtoEventReaderAOD::SetNoCentrality(bool anocent)
{
  if(anocent==false) {fEstEventMult=kCentrality;}
  else {fEstEventMult=kReference; fUsePreCent = 0; }
}

void AliFemtoEventReaderAOD::SetAODpidUtil(AliAODpidUtil *aAODpidUtil)
{
  fAODpidUtil = aAODpidUtil;
  //  printf("fAODpidUtil: %x\n",fAODpidUtil);
}

void AliFemtoEventReaderAOD::SetAODheader(AliAODHeader *aAODheader)
{
  fAODheader = aAODheader;
}


void AliFemtoEventReaderAOD::SetMagneticFieldSign(int s)
{
  if(s>0)
    fMagFieldSign = 1;
  else if(s<0)
    fMagFieldSign = -1;
  else
    fMagFieldSign = 0;
}

void AliFemtoEventReaderAOD::SetEPVZERO(Bool_t iepvz)
{
  fisEPVZ = iepvz;
}

void AliFemtoEventReaderAOD::GetGlobalPositionAtGlobalRadiiThroughTPC(AliAODTrack *track, Float_t bfield, Float_t globalPositionsAtRadii[9][3])
{
  // Gets the global position of the track at nine different radii in the TPC
  // track is the track you want to propagate
  // bfield is the magnetic field of your event
  // globalPositionsAtRadii is the array of global positions in the radii and xyz

  // Initialize the array to something indicating there was no propagation
  for(Int_t i=0;i<9;i++){
    for(Int_t j=0;j<3;j++){
      globalPositionsAtRadii[i][j]=-9999.;
    }
  }

  // Make a copy of the track to not change parameters of the track
  AliExternalTrackParam etp; etp.CopyFromVTrack(track);
  //printf("\nAfter CopyFromVTrack\n");
  //etp.Print();

  // The global position of the the track
  Double_t xyz[3]={-9999.,-9999.,-9999.};

  // Counter for which radius we want
  Int_t iR=0;
  // The radii at which we get the global positions
  // IROC (OROC) from 84.1 cm to 132.1 cm (134.6 cm to 246.6 cm)
  Float_t Rwanted[9]={85.,105.,125.,145.,165.,185.,205.,225.,245.};
  // The global radius we are at
  Float_t globalRadius=0;

  // Propagation is done in local x of the track
  for (Float_t x = etp.GetX();x<247.;x+=1.){ // GetX returns local coordinates
    // Starts at the tracks fX and goes outwards. x = 245 is the outer radial limit
    // of the TPC when the track is straight, i.e. has inifinite pt and doesn't get bent.
    // If the track's momentum is smaller than infinite, it will develop a y-component, which
    // adds to the global radius

    // Stop if the propagation was not succesful. This can happen for low pt tracks
    // that don't reach outer radii
    if(!etp.PropagateTo(x,bfield))break;
    etp.GetXYZ(xyz); // GetXYZ returns global coordinates
    globalRadius = TMath::Sqrt(xyz[0]*xyz[0]+xyz[1]*xyz[1]); //Idea to speed up: compare squared radii

    // Roughly reached the radius we want
    if(globalRadius > Rwanted[iR]){

      // Bigger loop has bad precision, we're nearly one centimeter too far, go back in small steps.
      while (globalRadius>Rwanted[iR]){
        x-=.1;
        //      printf("propagating to x %5.2f\n",x);
        if(!etp.PropagateTo(x,bfield))break;
        etp.GetXYZ(xyz); // GetXYZ returns global coordinates
        globalRadius = TMath::Sqrt(xyz[0]*xyz[0]+xyz[1]*xyz[1]); //Idea to speed up: compare squared radii
      }
      //printf("At Radius:%05.2f (local x %5.2f). Setting position to x %4.1f y %4.1f z %4.1f\n",globalRadius,x,xyz[0],xyz[1],xyz[2]);
      globalPositionsAtRadii[iR][0]=xyz[0];
      globalPositionsAtRadii[iR][1]=xyz[1];
      globalPositionsAtRadii[iR][2]=xyz[2];
      // Indicate we want the next radius
      iR+=1;
    }
    if(iR>=8){
      // TPC edge reached
      return;
    }
  }
}

void AliFemtoEventReaderAOD::SetpA2013(Bool_t pa2013)
{
  fpA2013 = pa2013;
}

void AliFemtoEventReaderAOD::SetUseMVPlpSelection(Bool_t mvplp)
{
  fMVPlp = mvplp;
}

void AliFemtoEventReaderAOD::SetIsPileUpEvent(Bool_t ispileup)
{
  fisPileUp = ispileup;
}



void AliFemtoEventReaderAOD::SetDCAglobalTrack(Bool_t dcagt)
{
  fDCAglobalTrack = dcagt;
}


bool AliFemtoEventReaderAOD::RejectEventCentFlat(float MagField, float CentPercent)
{ // to flatten centrality distribution
  bool RejectEvent = kFALSE;
  int weightBinSign;
  TRandom3* fRandomNumber = new TRandom3();  //for 3D, random sign switching
  fRandomNumber->SetSeed(0);

  if(MagField > 0) weightBinSign = 0;
  else weightBinSign = 1;
  float kCentWeight[2][9] = {{.878,.876,.860,.859,.859,.88,.873,.879,.894},
                             {.828,.793,.776,.772,.775,.796,.788,.804,.839}};
  int weightBinCent = (int) CentPercent;
  if(fRandomNumber->Rndm() > kCentWeight[weightBinSign][weightBinCent]) RejectEvent = kTRUE;
  delete fRandomNumber;
  return RejectEvent;
}

void AliFemtoEventReaderAOD::SetCentralityFlattening(Bool_t dcagt)
{
  fFlatCent = dcagt;
}
 AliFemtoEventReaderAOD.cxx:1
 AliFemtoEventReaderAOD.cxx:2
 AliFemtoEventReaderAOD.cxx:3
 AliFemtoEventReaderAOD.cxx:4
 AliFemtoEventReaderAOD.cxx:5
 AliFemtoEventReaderAOD.cxx:6
 AliFemtoEventReaderAOD.cxx:7
 AliFemtoEventReaderAOD.cxx:8
 AliFemtoEventReaderAOD.cxx:9
 AliFemtoEventReaderAOD.cxx:10
 AliFemtoEventReaderAOD.cxx:11
 AliFemtoEventReaderAOD.cxx:12
 AliFemtoEventReaderAOD.cxx:13
 AliFemtoEventReaderAOD.cxx:14
 AliFemtoEventReaderAOD.cxx:15
 AliFemtoEventReaderAOD.cxx:16
 AliFemtoEventReaderAOD.cxx:17
 AliFemtoEventReaderAOD.cxx:18
 AliFemtoEventReaderAOD.cxx:19
 AliFemtoEventReaderAOD.cxx:20
 AliFemtoEventReaderAOD.cxx:21
 AliFemtoEventReaderAOD.cxx:22
 AliFemtoEventReaderAOD.cxx:23
 AliFemtoEventReaderAOD.cxx:24
 AliFemtoEventReaderAOD.cxx:25
 AliFemtoEventReaderAOD.cxx:26
 AliFemtoEventReaderAOD.cxx:27
 AliFemtoEventReaderAOD.cxx:28
 AliFemtoEventReaderAOD.cxx:29
 AliFemtoEventReaderAOD.cxx:30
 AliFemtoEventReaderAOD.cxx:31
 AliFemtoEventReaderAOD.cxx:32
 AliFemtoEventReaderAOD.cxx:33
 AliFemtoEventReaderAOD.cxx:34
 AliFemtoEventReaderAOD.cxx:35
 AliFemtoEventReaderAOD.cxx:36
 AliFemtoEventReaderAOD.cxx:37
 AliFemtoEventReaderAOD.cxx:38
 AliFemtoEventReaderAOD.cxx:39
 AliFemtoEventReaderAOD.cxx:40
 AliFemtoEventReaderAOD.cxx:41
 AliFemtoEventReaderAOD.cxx:42
 AliFemtoEventReaderAOD.cxx:43
 AliFemtoEventReaderAOD.cxx:44
 AliFemtoEventReaderAOD.cxx:45
 AliFemtoEventReaderAOD.cxx:46
 AliFemtoEventReaderAOD.cxx:47
 AliFemtoEventReaderAOD.cxx:48
 AliFemtoEventReaderAOD.cxx:49
 AliFemtoEventReaderAOD.cxx:50
 AliFemtoEventReaderAOD.cxx:51
 AliFemtoEventReaderAOD.cxx:52
 AliFemtoEventReaderAOD.cxx:53
 AliFemtoEventReaderAOD.cxx:54
 AliFemtoEventReaderAOD.cxx:55
 AliFemtoEventReaderAOD.cxx:56
 AliFemtoEventReaderAOD.cxx:57
 AliFemtoEventReaderAOD.cxx:58
 AliFemtoEventReaderAOD.cxx:59
 AliFemtoEventReaderAOD.cxx:60
 AliFemtoEventReaderAOD.cxx:61
 AliFemtoEventReaderAOD.cxx:62
 AliFemtoEventReaderAOD.cxx:63
 AliFemtoEventReaderAOD.cxx:64
 AliFemtoEventReaderAOD.cxx:65
 AliFemtoEventReaderAOD.cxx:66
 AliFemtoEventReaderAOD.cxx:67
 AliFemtoEventReaderAOD.cxx:68
 AliFemtoEventReaderAOD.cxx:69
 AliFemtoEventReaderAOD.cxx:70
 AliFemtoEventReaderAOD.cxx:71
 AliFemtoEventReaderAOD.cxx:72
 AliFemtoEventReaderAOD.cxx:73
 AliFemtoEventReaderAOD.cxx:74
 AliFemtoEventReaderAOD.cxx:75
 AliFemtoEventReaderAOD.cxx:76
 AliFemtoEventReaderAOD.cxx:77
 AliFemtoEventReaderAOD.cxx:78
 AliFemtoEventReaderAOD.cxx:79
 AliFemtoEventReaderAOD.cxx:80
 AliFemtoEventReaderAOD.cxx:81
 AliFemtoEventReaderAOD.cxx:82
 AliFemtoEventReaderAOD.cxx:83
 AliFemtoEventReaderAOD.cxx:84
 AliFemtoEventReaderAOD.cxx:85
 AliFemtoEventReaderAOD.cxx:86
 AliFemtoEventReaderAOD.cxx:87
 AliFemtoEventReaderAOD.cxx:88
 AliFemtoEventReaderAOD.cxx:89
 AliFemtoEventReaderAOD.cxx:90
 AliFemtoEventReaderAOD.cxx:91
 AliFemtoEventReaderAOD.cxx:92
 AliFemtoEventReaderAOD.cxx:93
 AliFemtoEventReaderAOD.cxx:94
 AliFemtoEventReaderAOD.cxx:95
 AliFemtoEventReaderAOD.cxx:96
 AliFemtoEventReaderAOD.cxx:97
 AliFemtoEventReaderAOD.cxx:98
 AliFemtoEventReaderAOD.cxx:99
 AliFemtoEventReaderAOD.cxx:100
 AliFemtoEventReaderAOD.cxx:101
 AliFemtoEventReaderAOD.cxx:102
 AliFemtoEventReaderAOD.cxx:103
 AliFemtoEventReaderAOD.cxx:104
 AliFemtoEventReaderAOD.cxx:105
 AliFemtoEventReaderAOD.cxx:106
 AliFemtoEventReaderAOD.cxx:107
 AliFemtoEventReaderAOD.cxx:108
 AliFemtoEventReaderAOD.cxx:109
 AliFemtoEventReaderAOD.cxx:110
 AliFemtoEventReaderAOD.cxx:111
 AliFemtoEventReaderAOD.cxx:112
 AliFemtoEventReaderAOD.cxx:113
 AliFemtoEventReaderAOD.cxx:114
 AliFemtoEventReaderAOD.cxx:115
 AliFemtoEventReaderAOD.cxx:116
 AliFemtoEventReaderAOD.cxx:117
 AliFemtoEventReaderAOD.cxx:118
 AliFemtoEventReaderAOD.cxx:119
 AliFemtoEventReaderAOD.cxx:120
 AliFemtoEventReaderAOD.cxx:121
 AliFemtoEventReaderAOD.cxx:122
 AliFemtoEventReaderAOD.cxx:123
 AliFemtoEventReaderAOD.cxx:124
 AliFemtoEventReaderAOD.cxx:125
 AliFemtoEventReaderAOD.cxx:126
 AliFemtoEventReaderAOD.cxx:127
 AliFemtoEventReaderAOD.cxx:128
 AliFemtoEventReaderAOD.cxx:129
 AliFemtoEventReaderAOD.cxx:130
 AliFemtoEventReaderAOD.cxx:131
 AliFemtoEventReaderAOD.cxx:132
 AliFemtoEventReaderAOD.cxx:133
 AliFemtoEventReaderAOD.cxx:134
 AliFemtoEventReaderAOD.cxx:135
 AliFemtoEventReaderAOD.cxx:136
 AliFemtoEventReaderAOD.cxx:137
 AliFemtoEventReaderAOD.cxx:138
 AliFemtoEventReaderAOD.cxx:139
 AliFemtoEventReaderAOD.cxx:140
 AliFemtoEventReaderAOD.cxx:141
 AliFemtoEventReaderAOD.cxx:142
 AliFemtoEventReaderAOD.cxx:143
 AliFemtoEventReaderAOD.cxx:144
 AliFemtoEventReaderAOD.cxx:145
 AliFemtoEventReaderAOD.cxx:146
 AliFemtoEventReaderAOD.cxx:147
 AliFemtoEventReaderAOD.cxx:148
 AliFemtoEventReaderAOD.cxx:149
 AliFemtoEventReaderAOD.cxx:150
 AliFemtoEventReaderAOD.cxx:151
 AliFemtoEventReaderAOD.cxx:152
 AliFemtoEventReaderAOD.cxx:153
 AliFemtoEventReaderAOD.cxx:154
 AliFemtoEventReaderAOD.cxx:155
 AliFemtoEventReaderAOD.cxx:156
 AliFemtoEventReaderAOD.cxx:157
 AliFemtoEventReaderAOD.cxx:158
 AliFemtoEventReaderAOD.cxx:159
 AliFemtoEventReaderAOD.cxx:160
 AliFemtoEventReaderAOD.cxx:161
 AliFemtoEventReaderAOD.cxx:162
 AliFemtoEventReaderAOD.cxx:163
 AliFemtoEventReaderAOD.cxx:164
 AliFemtoEventReaderAOD.cxx:165
 AliFemtoEventReaderAOD.cxx:166
 AliFemtoEventReaderAOD.cxx:167
 AliFemtoEventReaderAOD.cxx:168
 AliFemtoEventReaderAOD.cxx:169
 AliFemtoEventReaderAOD.cxx:170
 AliFemtoEventReaderAOD.cxx:171
 AliFemtoEventReaderAOD.cxx:172
 AliFemtoEventReaderAOD.cxx:173
 AliFemtoEventReaderAOD.cxx:174
 AliFemtoEventReaderAOD.cxx:175
 AliFemtoEventReaderAOD.cxx:176
 AliFemtoEventReaderAOD.cxx:177
 AliFemtoEventReaderAOD.cxx:178
 AliFemtoEventReaderAOD.cxx:179
 AliFemtoEventReaderAOD.cxx:180
 AliFemtoEventReaderAOD.cxx:181
 AliFemtoEventReaderAOD.cxx:182
 AliFemtoEventReaderAOD.cxx:183
 AliFemtoEventReaderAOD.cxx:184
 AliFemtoEventReaderAOD.cxx:185
 AliFemtoEventReaderAOD.cxx:186
 AliFemtoEventReaderAOD.cxx:187
 AliFemtoEventReaderAOD.cxx:188
 AliFemtoEventReaderAOD.cxx:189
 AliFemtoEventReaderAOD.cxx:190
 AliFemtoEventReaderAOD.cxx:191
 AliFemtoEventReaderAOD.cxx:192
 AliFemtoEventReaderAOD.cxx:193
 AliFemtoEventReaderAOD.cxx:194
 AliFemtoEventReaderAOD.cxx:195
 AliFemtoEventReaderAOD.cxx:196
 AliFemtoEventReaderAOD.cxx:197
 AliFemtoEventReaderAOD.cxx:198
 AliFemtoEventReaderAOD.cxx:199
 AliFemtoEventReaderAOD.cxx:200
 AliFemtoEventReaderAOD.cxx:201
 AliFemtoEventReaderAOD.cxx:202
 AliFemtoEventReaderAOD.cxx:203
 AliFemtoEventReaderAOD.cxx:204
 AliFemtoEventReaderAOD.cxx:205
 AliFemtoEventReaderAOD.cxx:206
 AliFemtoEventReaderAOD.cxx:207
 AliFemtoEventReaderAOD.cxx:208
 AliFemtoEventReaderAOD.cxx:209
 AliFemtoEventReaderAOD.cxx:210
 AliFemtoEventReaderAOD.cxx:211
 AliFemtoEventReaderAOD.cxx:212
 AliFemtoEventReaderAOD.cxx:213
 AliFemtoEventReaderAOD.cxx:214
 AliFemtoEventReaderAOD.cxx:215
 AliFemtoEventReaderAOD.cxx:216
 AliFemtoEventReaderAOD.cxx:217
 AliFemtoEventReaderAOD.cxx:218
 AliFemtoEventReaderAOD.cxx:219
 AliFemtoEventReaderAOD.cxx:220
 AliFemtoEventReaderAOD.cxx:221
 AliFemtoEventReaderAOD.cxx:222
 AliFemtoEventReaderAOD.cxx:223
 AliFemtoEventReaderAOD.cxx:224
 AliFemtoEventReaderAOD.cxx:225
 AliFemtoEventReaderAOD.cxx:226
 AliFemtoEventReaderAOD.cxx:227
 AliFemtoEventReaderAOD.cxx:228
 AliFemtoEventReaderAOD.cxx:229
 AliFemtoEventReaderAOD.cxx:230
 AliFemtoEventReaderAOD.cxx:231
 AliFemtoEventReaderAOD.cxx:232
 AliFemtoEventReaderAOD.cxx:233
 AliFemtoEventReaderAOD.cxx:234
 AliFemtoEventReaderAOD.cxx:235
 AliFemtoEventReaderAOD.cxx:236
 AliFemtoEventReaderAOD.cxx:237
 AliFemtoEventReaderAOD.cxx:238
 AliFemtoEventReaderAOD.cxx:239
 AliFemtoEventReaderAOD.cxx:240
 AliFemtoEventReaderAOD.cxx:241
 AliFemtoEventReaderAOD.cxx:242
 AliFemtoEventReaderAOD.cxx:243
 AliFemtoEventReaderAOD.cxx:244
 AliFemtoEventReaderAOD.cxx:245
 AliFemtoEventReaderAOD.cxx:246
 AliFemtoEventReaderAOD.cxx:247
 AliFemtoEventReaderAOD.cxx:248
 AliFemtoEventReaderAOD.cxx:249
 AliFemtoEventReaderAOD.cxx:250
 AliFemtoEventReaderAOD.cxx:251
 AliFemtoEventReaderAOD.cxx:252
 AliFemtoEventReaderAOD.cxx:253
 AliFemtoEventReaderAOD.cxx:254
 AliFemtoEventReaderAOD.cxx:255
 AliFemtoEventReaderAOD.cxx:256
 AliFemtoEventReaderAOD.cxx:257
 AliFemtoEventReaderAOD.cxx:258
 AliFemtoEventReaderAOD.cxx:259
 AliFemtoEventReaderAOD.cxx:260
 AliFemtoEventReaderAOD.cxx:261
 AliFemtoEventReaderAOD.cxx:262
 AliFemtoEventReaderAOD.cxx:263
 AliFemtoEventReaderAOD.cxx:264
 AliFemtoEventReaderAOD.cxx:265
 AliFemtoEventReaderAOD.cxx:266
 AliFemtoEventReaderAOD.cxx:267
 AliFemtoEventReaderAOD.cxx:268
 AliFemtoEventReaderAOD.cxx:269
 AliFemtoEventReaderAOD.cxx:270
 AliFemtoEventReaderAOD.cxx:271
 AliFemtoEventReaderAOD.cxx:272
 AliFemtoEventReaderAOD.cxx:273
 AliFemtoEventReaderAOD.cxx:274
 AliFemtoEventReaderAOD.cxx:275
 AliFemtoEventReaderAOD.cxx:276
 AliFemtoEventReaderAOD.cxx:277
 AliFemtoEventReaderAOD.cxx:278
 AliFemtoEventReaderAOD.cxx:279
 AliFemtoEventReaderAOD.cxx:280
 AliFemtoEventReaderAOD.cxx:281
 AliFemtoEventReaderAOD.cxx:282
 AliFemtoEventReaderAOD.cxx:283
 AliFemtoEventReaderAOD.cxx:284
 AliFemtoEventReaderAOD.cxx:285
 AliFemtoEventReaderAOD.cxx:286
 AliFemtoEventReaderAOD.cxx:287
 AliFemtoEventReaderAOD.cxx:288
 AliFemtoEventReaderAOD.cxx:289
 AliFemtoEventReaderAOD.cxx:290
 AliFemtoEventReaderAOD.cxx:291
 AliFemtoEventReaderAOD.cxx:292
 AliFemtoEventReaderAOD.cxx:293
 AliFemtoEventReaderAOD.cxx:294
 AliFemtoEventReaderAOD.cxx:295
 AliFemtoEventReaderAOD.cxx:296
 AliFemtoEventReaderAOD.cxx:297
 AliFemtoEventReaderAOD.cxx:298
 AliFemtoEventReaderAOD.cxx:299
 AliFemtoEventReaderAOD.cxx:300
 AliFemtoEventReaderAOD.cxx:301
 AliFemtoEventReaderAOD.cxx:302
 AliFemtoEventReaderAOD.cxx:303
 AliFemtoEventReaderAOD.cxx:304
 AliFemtoEventReaderAOD.cxx:305
 AliFemtoEventReaderAOD.cxx:306
 AliFemtoEventReaderAOD.cxx:307
 AliFemtoEventReaderAOD.cxx:308
 AliFemtoEventReaderAOD.cxx:309
 AliFemtoEventReaderAOD.cxx:310
 AliFemtoEventReaderAOD.cxx:311
 AliFemtoEventReaderAOD.cxx:312
 AliFemtoEventReaderAOD.cxx:313
 AliFemtoEventReaderAOD.cxx:314
 AliFemtoEventReaderAOD.cxx:315
 AliFemtoEventReaderAOD.cxx:316
 AliFemtoEventReaderAOD.cxx:317
 AliFemtoEventReaderAOD.cxx:318
 AliFemtoEventReaderAOD.cxx:319
 AliFemtoEventReaderAOD.cxx:320
 AliFemtoEventReaderAOD.cxx:321
 AliFemtoEventReaderAOD.cxx:322
 AliFemtoEventReaderAOD.cxx:323
 AliFemtoEventReaderAOD.cxx:324
 AliFemtoEventReaderAOD.cxx:325
 AliFemtoEventReaderAOD.cxx:326
 AliFemtoEventReaderAOD.cxx:327
 AliFemtoEventReaderAOD.cxx:328
 AliFemtoEventReaderAOD.cxx:329
 AliFemtoEventReaderAOD.cxx:330
 AliFemtoEventReaderAOD.cxx:331
 AliFemtoEventReaderAOD.cxx:332
 AliFemtoEventReaderAOD.cxx:333
 AliFemtoEventReaderAOD.cxx:334
 AliFemtoEventReaderAOD.cxx:335
 AliFemtoEventReaderAOD.cxx:336
 AliFemtoEventReaderAOD.cxx:337
 AliFemtoEventReaderAOD.cxx:338
 AliFemtoEventReaderAOD.cxx:339
 AliFemtoEventReaderAOD.cxx:340
 AliFemtoEventReaderAOD.cxx:341
 AliFemtoEventReaderAOD.cxx:342
 AliFemtoEventReaderAOD.cxx:343
 AliFemtoEventReaderAOD.cxx:344
 AliFemtoEventReaderAOD.cxx:345
 AliFemtoEventReaderAOD.cxx:346
 AliFemtoEventReaderAOD.cxx:347
 AliFemtoEventReaderAOD.cxx:348
 AliFemtoEventReaderAOD.cxx:349
 AliFemtoEventReaderAOD.cxx:350
 AliFemtoEventReaderAOD.cxx:351
 AliFemtoEventReaderAOD.cxx:352
 AliFemtoEventReaderAOD.cxx:353
 AliFemtoEventReaderAOD.cxx:354
 AliFemtoEventReaderAOD.cxx:355
 AliFemtoEventReaderAOD.cxx:356
 AliFemtoEventReaderAOD.cxx:357
 AliFemtoEventReaderAOD.cxx:358
 AliFemtoEventReaderAOD.cxx:359
 AliFemtoEventReaderAOD.cxx:360
 AliFemtoEventReaderAOD.cxx:361
 AliFemtoEventReaderAOD.cxx:362
 AliFemtoEventReaderAOD.cxx:363
 AliFemtoEventReaderAOD.cxx:364
 AliFemtoEventReaderAOD.cxx:365
 AliFemtoEventReaderAOD.cxx:366
 AliFemtoEventReaderAOD.cxx:367
 AliFemtoEventReaderAOD.cxx:368
 AliFemtoEventReaderAOD.cxx:369
 AliFemtoEventReaderAOD.cxx:370
 AliFemtoEventReaderAOD.cxx:371
 AliFemtoEventReaderAOD.cxx:372
 AliFemtoEventReaderAOD.cxx:373
 AliFemtoEventReaderAOD.cxx:374
 AliFemtoEventReaderAOD.cxx:375
 AliFemtoEventReaderAOD.cxx:376
 AliFemtoEventReaderAOD.cxx:377
 AliFemtoEventReaderAOD.cxx:378
 AliFemtoEventReaderAOD.cxx:379
 AliFemtoEventReaderAOD.cxx:380
 AliFemtoEventReaderAOD.cxx:381
 AliFemtoEventReaderAOD.cxx:382
 AliFemtoEventReaderAOD.cxx:383
 AliFemtoEventReaderAOD.cxx:384
 AliFemtoEventReaderAOD.cxx:385
 AliFemtoEventReaderAOD.cxx:386
 AliFemtoEventReaderAOD.cxx:387
 AliFemtoEventReaderAOD.cxx:388
 AliFemtoEventReaderAOD.cxx:389
 AliFemtoEventReaderAOD.cxx:390
 AliFemtoEventReaderAOD.cxx:391
 AliFemtoEventReaderAOD.cxx:392
 AliFemtoEventReaderAOD.cxx:393
 AliFemtoEventReaderAOD.cxx:394
 AliFemtoEventReaderAOD.cxx:395
 AliFemtoEventReaderAOD.cxx:396
 AliFemtoEventReaderAOD.cxx:397
 AliFemtoEventReaderAOD.cxx:398
 AliFemtoEventReaderAOD.cxx:399
 AliFemtoEventReaderAOD.cxx:400
 AliFemtoEventReaderAOD.cxx:401
 AliFemtoEventReaderAOD.cxx:402
 AliFemtoEventReaderAOD.cxx:403
 AliFemtoEventReaderAOD.cxx:404
 AliFemtoEventReaderAOD.cxx:405
 AliFemtoEventReaderAOD.cxx:406
 AliFemtoEventReaderAOD.cxx:407
 AliFemtoEventReaderAOD.cxx:408
 AliFemtoEventReaderAOD.cxx:409
 AliFemtoEventReaderAOD.cxx:410
 AliFemtoEventReaderAOD.cxx:411
 AliFemtoEventReaderAOD.cxx:412
 AliFemtoEventReaderAOD.cxx:413
 AliFemtoEventReaderAOD.cxx:414
 AliFemtoEventReaderAOD.cxx:415
 AliFemtoEventReaderAOD.cxx:416
 AliFemtoEventReaderAOD.cxx:417
 AliFemtoEventReaderAOD.cxx:418
 AliFemtoEventReaderAOD.cxx:419
 AliFemtoEventReaderAOD.cxx:420
 AliFemtoEventReaderAOD.cxx:421
 AliFemtoEventReaderAOD.cxx:422
 AliFemtoEventReaderAOD.cxx:423
 AliFemtoEventReaderAOD.cxx:424
 AliFemtoEventReaderAOD.cxx:425
 AliFemtoEventReaderAOD.cxx:426
 AliFemtoEventReaderAOD.cxx:427
 AliFemtoEventReaderAOD.cxx:428
 AliFemtoEventReaderAOD.cxx:429
 AliFemtoEventReaderAOD.cxx:430
 AliFemtoEventReaderAOD.cxx:431
 AliFemtoEventReaderAOD.cxx:432
 AliFemtoEventReaderAOD.cxx:433
 AliFemtoEventReaderAOD.cxx:434
 AliFemtoEventReaderAOD.cxx:435
 AliFemtoEventReaderAOD.cxx:436
 AliFemtoEventReaderAOD.cxx:437
 AliFemtoEventReaderAOD.cxx:438
 AliFemtoEventReaderAOD.cxx:439
 AliFemtoEventReaderAOD.cxx:440
 AliFemtoEventReaderAOD.cxx:441
 AliFemtoEventReaderAOD.cxx:442
 AliFemtoEventReaderAOD.cxx:443
 AliFemtoEventReaderAOD.cxx:444
 AliFemtoEventReaderAOD.cxx:445
 AliFemtoEventReaderAOD.cxx:446
 AliFemtoEventReaderAOD.cxx:447
 AliFemtoEventReaderAOD.cxx:448
 AliFemtoEventReaderAOD.cxx:449
 AliFemtoEventReaderAOD.cxx:450
 AliFemtoEventReaderAOD.cxx:451
 AliFemtoEventReaderAOD.cxx:452
 AliFemtoEventReaderAOD.cxx:453
 AliFemtoEventReaderAOD.cxx:454
 AliFemtoEventReaderAOD.cxx:455
 AliFemtoEventReaderAOD.cxx:456
 AliFemtoEventReaderAOD.cxx:457
 AliFemtoEventReaderAOD.cxx:458
 AliFemtoEventReaderAOD.cxx:459
 AliFemtoEventReaderAOD.cxx:460
 AliFemtoEventReaderAOD.cxx:461
 AliFemtoEventReaderAOD.cxx:462
 AliFemtoEventReaderAOD.cxx:463
 AliFemtoEventReaderAOD.cxx:464
 AliFemtoEventReaderAOD.cxx:465
 AliFemtoEventReaderAOD.cxx:466
 AliFemtoEventReaderAOD.cxx:467
 AliFemtoEventReaderAOD.cxx:468
 AliFemtoEventReaderAOD.cxx:469
 AliFemtoEventReaderAOD.cxx:470
 AliFemtoEventReaderAOD.cxx:471
 AliFemtoEventReaderAOD.cxx:472
 AliFemtoEventReaderAOD.cxx:473
 AliFemtoEventReaderAOD.cxx:474
 AliFemtoEventReaderAOD.cxx:475
 AliFemtoEventReaderAOD.cxx:476
 AliFemtoEventReaderAOD.cxx:477
 AliFemtoEventReaderAOD.cxx:478
 AliFemtoEventReaderAOD.cxx:479
 AliFemtoEventReaderAOD.cxx:480
 AliFemtoEventReaderAOD.cxx:481
 AliFemtoEventReaderAOD.cxx:482
 AliFemtoEventReaderAOD.cxx:483
 AliFemtoEventReaderAOD.cxx:484
 AliFemtoEventReaderAOD.cxx:485
 AliFemtoEventReaderAOD.cxx:486
 AliFemtoEventReaderAOD.cxx:487
 AliFemtoEventReaderAOD.cxx:488
 AliFemtoEventReaderAOD.cxx:489
 AliFemtoEventReaderAOD.cxx:490
 AliFemtoEventReaderAOD.cxx:491
 AliFemtoEventReaderAOD.cxx:492
 AliFemtoEventReaderAOD.cxx:493
 AliFemtoEventReaderAOD.cxx:494
 AliFemtoEventReaderAOD.cxx:495
 AliFemtoEventReaderAOD.cxx:496
 AliFemtoEventReaderAOD.cxx:497
 AliFemtoEventReaderAOD.cxx:498
 AliFemtoEventReaderAOD.cxx:499
 AliFemtoEventReaderAOD.cxx:500
 AliFemtoEventReaderAOD.cxx:501
 AliFemtoEventReaderAOD.cxx:502
 AliFemtoEventReaderAOD.cxx:503
 AliFemtoEventReaderAOD.cxx:504
 AliFemtoEventReaderAOD.cxx:505
 AliFemtoEventReaderAOD.cxx:506
 AliFemtoEventReaderAOD.cxx:507
 AliFemtoEventReaderAOD.cxx:508
 AliFemtoEventReaderAOD.cxx:509
 AliFemtoEventReaderAOD.cxx:510
 AliFemtoEventReaderAOD.cxx:511
 AliFemtoEventReaderAOD.cxx:512
 AliFemtoEventReaderAOD.cxx:513
 AliFemtoEventReaderAOD.cxx:514
 AliFemtoEventReaderAOD.cxx:515
 AliFemtoEventReaderAOD.cxx:516
 AliFemtoEventReaderAOD.cxx:517
 AliFemtoEventReaderAOD.cxx:518
 AliFemtoEventReaderAOD.cxx:519
 AliFemtoEventReaderAOD.cxx:520
 AliFemtoEventReaderAOD.cxx:521
 AliFemtoEventReaderAOD.cxx:522
 AliFemtoEventReaderAOD.cxx:523
 AliFemtoEventReaderAOD.cxx:524
 AliFemtoEventReaderAOD.cxx:525
 AliFemtoEventReaderAOD.cxx:526
 AliFemtoEventReaderAOD.cxx:527
 AliFemtoEventReaderAOD.cxx:528
 AliFemtoEventReaderAOD.cxx:529
 AliFemtoEventReaderAOD.cxx:530
 AliFemtoEventReaderAOD.cxx:531
 AliFemtoEventReaderAOD.cxx:532
 AliFemtoEventReaderAOD.cxx:533
 AliFemtoEventReaderAOD.cxx:534
 AliFemtoEventReaderAOD.cxx:535
 AliFemtoEventReaderAOD.cxx:536
 AliFemtoEventReaderAOD.cxx:537
 AliFemtoEventReaderAOD.cxx:538
 AliFemtoEventReaderAOD.cxx:539
 AliFemtoEventReaderAOD.cxx:540
 AliFemtoEventReaderAOD.cxx:541
 AliFemtoEventReaderAOD.cxx:542
 AliFemtoEventReaderAOD.cxx:543
 AliFemtoEventReaderAOD.cxx:544
 AliFemtoEventReaderAOD.cxx:545
 AliFemtoEventReaderAOD.cxx:546
 AliFemtoEventReaderAOD.cxx:547
 AliFemtoEventReaderAOD.cxx:548
 AliFemtoEventReaderAOD.cxx:549
 AliFemtoEventReaderAOD.cxx:550
 AliFemtoEventReaderAOD.cxx:551
 AliFemtoEventReaderAOD.cxx:552
 AliFemtoEventReaderAOD.cxx:553
 AliFemtoEventReaderAOD.cxx:554
 AliFemtoEventReaderAOD.cxx:555
 AliFemtoEventReaderAOD.cxx:556
 AliFemtoEventReaderAOD.cxx:557
 AliFemtoEventReaderAOD.cxx:558
 AliFemtoEventReaderAOD.cxx:559
 AliFemtoEventReaderAOD.cxx:560
 AliFemtoEventReaderAOD.cxx:561
 AliFemtoEventReaderAOD.cxx:562
 AliFemtoEventReaderAOD.cxx:563
 AliFemtoEventReaderAOD.cxx:564
 AliFemtoEventReaderAOD.cxx:565
 AliFemtoEventReaderAOD.cxx:566
 AliFemtoEventReaderAOD.cxx:567
 AliFemtoEventReaderAOD.cxx:568
 AliFemtoEventReaderAOD.cxx:569
 AliFemtoEventReaderAOD.cxx:570
 AliFemtoEventReaderAOD.cxx:571
 AliFemtoEventReaderAOD.cxx:572
 AliFemtoEventReaderAOD.cxx:573
 AliFemtoEventReaderAOD.cxx:574
 AliFemtoEventReaderAOD.cxx:575
 AliFemtoEventReaderAOD.cxx:576
 AliFemtoEventReaderAOD.cxx:577
 AliFemtoEventReaderAOD.cxx:578
 AliFemtoEventReaderAOD.cxx:579
 AliFemtoEventReaderAOD.cxx:580
 AliFemtoEventReaderAOD.cxx:581
 AliFemtoEventReaderAOD.cxx:582
 AliFemtoEventReaderAOD.cxx:583
 AliFemtoEventReaderAOD.cxx:584
 AliFemtoEventReaderAOD.cxx:585
 AliFemtoEventReaderAOD.cxx:586
 AliFemtoEventReaderAOD.cxx:587
 AliFemtoEventReaderAOD.cxx:588
 AliFemtoEventReaderAOD.cxx:589
 AliFemtoEventReaderAOD.cxx:590
 AliFemtoEventReaderAOD.cxx:591
 AliFemtoEventReaderAOD.cxx:592
 AliFemtoEventReaderAOD.cxx:593
 AliFemtoEventReaderAOD.cxx:594
 AliFemtoEventReaderAOD.cxx:595
 AliFemtoEventReaderAOD.cxx:596
 AliFemtoEventReaderAOD.cxx:597
 AliFemtoEventReaderAOD.cxx:598
 AliFemtoEventReaderAOD.cxx:599
 AliFemtoEventReaderAOD.cxx:600
 AliFemtoEventReaderAOD.cxx:601
 AliFemtoEventReaderAOD.cxx:602
 AliFemtoEventReaderAOD.cxx:603
 AliFemtoEventReaderAOD.cxx:604
 AliFemtoEventReaderAOD.cxx:605
 AliFemtoEventReaderAOD.cxx:606
 AliFemtoEventReaderAOD.cxx:607
 AliFemtoEventReaderAOD.cxx:608
 AliFemtoEventReaderAOD.cxx:609
 AliFemtoEventReaderAOD.cxx:610
 AliFemtoEventReaderAOD.cxx:611
 AliFemtoEventReaderAOD.cxx:612
 AliFemtoEventReaderAOD.cxx:613
 AliFemtoEventReaderAOD.cxx:614
 AliFemtoEventReaderAOD.cxx:615
 AliFemtoEventReaderAOD.cxx:616
 AliFemtoEventReaderAOD.cxx:617
 AliFemtoEventReaderAOD.cxx:618
 AliFemtoEventReaderAOD.cxx:619
 AliFemtoEventReaderAOD.cxx:620
 AliFemtoEventReaderAOD.cxx:621
 AliFemtoEventReaderAOD.cxx:622
 AliFemtoEventReaderAOD.cxx:623
 AliFemtoEventReaderAOD.cxx:624
 AliFemtoEventReaderAOD.cxx:625
 AliFemtoEventReaderAOD.cxx:626
 AliFemtoEventReaderAOD.cxx:627
 AliFemtoEventReaderAOD.cxx:628
 AliFemtoEventReaderAOD.cxx:629
 AliFemtoEventReaderAOD.cxx:630
 AliFemtoEventReaderAOD.cxx:631
 AliFemtoEventReaderAOD.cxx:632
 AliFemtoEventReaderAOD.cxx:633
 AliFemtoEventReaderAOD.cxx:634
 AliFemtoEventReaderAOD.cxx:635
 AliFemtoEventReaderAOD.cxx:636
 AliFemtoEventReaderAOD.cxx:637
 AliFemtoEventReaderAOD.cxx:638
 AliFemtoEventReaderAOD.cxx:639
 AliFemtoEventReaderAOD.cxx:640
 AliFemtoEventReaderAOD.cxx:641
 AliFemtoEventReaderAOD.cxx:642
 AliFemtoEventReaderAOD.cxx:643
 AliFemtoEventReaderAOD.cxx:644
 AliFemtoEventReaderAOD.cxx:645
 AliFemtoEventReaderAOD.cxx:646
 AliFemtoEventReaderAOD.cxx:647
 AliFemtoEventReaderAOD.cxx:648
 AliFemtoEventReaderAOD.cxx:649
 AliFemtoEventReaderAOD.cxx:650
 AliFemtoEventReaderAOD.cxx:651
 AliFemtoEventReaderAOD.cxx:652
 AliFemtoEventReaderAOD.cxx:653
 AliFemtoEventReaderAOD.cxx:654
 AliFemtoEventReaderAOD.cxx:655
 AliFemtoEventReaderAOD.cxx:656
 AliFemtoEventReaderAOD.cxx:657
 AliFemtoEventReaderAOD.cxx:658
 AliFemtoEventReaderAOD.cxx:659
 AliFemtoEventReaderAOD.cxx:660
 AliFemtoEventReaderAOD.cxx:661
 AliFemtoEventReaderAOD.cxx:662
 AliFemtoEventReaderAOD.cxx:663
 AliFemtoEventReaderAOD.cxx:664
 AliFemtoEventReaderAOD.cxx:665
 AliFemtoEventReaderAOD.cxx:666
 AliFemtoEventReaderAOD.cxx:667
 AliFemtoEventReaderAOD.cxx:668
 AliFemtoEventReaderAOD.cxx:669
 AliFemtoEventReaderAOD.cxx:670
 AliFemtoEventReaderAOD.cxx:671
 AliFemtoEventReaderAOD.cxx:672
 AliFemtoEventReaderAOD.cxx:673
 AliFemtoEventReaderAOD.cxx:674
 AliFemtoEventReaderAOD.cxx:675
 AliFemtoEventReaderAOD.cxx:676
 AliFemtoEventReaderAOD.cxx:677
 AliFemtoEventReaderAOD.cxx:678
 AliFemtoEventReaderAOD.cxx:679
 AliFemtoEventReaderAOD.cxx:680
 AliFemtoEventReaderAOD.cxx:681
 AliFemtoEventReaderAOD.cxx:682
 AliFemtoEventReaderAOD.cxx:683
 AliFemtoEventReaderAOD.cxx:684
 AliFemtoEventReaderAOD.cxx:685
 AliFemtoEventReaderAOD.cxx:686
 AliFemtoEventReaderAOD.cxx:687
 AliFemtoEventReaderAOD.cxx:688
 AliFemtoEventReaderAOD.cxx:689
 AliFemtoEventReaderAOD.cxx:690
 AliFemtoEventReaderAOD.cxx:691
 AliFemtoEventReaderAOD.cxx:692
 AliFemtoEventReaderAOD.cxx:693
 AliFemtoEventReaderAOD.cxx:694
 AliFemtoEventReaderAOD.cxx:695
 AliFemtoEventReaderAOD.cxx:696
 AliFemtoEventReaderAOD.cxx:697
 AliFemtoEventReaderAOD.cxx:698
 AliFemtoEventReaderAOD.cxx:699
 AliFemtoEventReaderAOD.cxx:700
 AliFemtoEventReaderAOD.cxx:701
 AliFemtoEventReaderAOD.cxx:702
 AliFemtoEventReaderAOD.cxx:703
 AliFemtoEventReaderAOD.cxx:704
 AliFemtoEventReaderAOD.cxx:705
 AliFemtoEventReaderAOD.cxx:706
 AliFemtoEventReaderAOD.cxx:707
 AliFemtoEventReaderAOD.cxx:708
 AliFemtoEventReaderAOD.cxx:709
 AliFemtoEventReaderAOD.cxx:710
 AliFemtoEventReaderAOD.cxx:711
 AliFemtoEventReaderAOD.cxx:712
 AliFemtoEventReaderAOD.cxx:713
 AliFemtoEventReaderAOD.cxx:714
 AliFemtoEventReaderAOD.cxx:715
 AliFemtoEventReaderAOD.cxx:716
 AliFemtoEventReaderAOD.cxx:717
 AliFemtoEventReaderAOD.cxx:718
 AliFemtoEventReaderAOD.cxx:719
 AliFemtoEventReaderAOD.cxx:720
 AliFemtoEventReaderAOD.cxx:721
 AliFemtoEventReaderAOD.cxx:722
 AliFemtoEventReaderAOD.cxx:723
 AliFemtoEventReaderAOD.cxx:724
 AliFemtoEventReaderAOD.cxx:725
 AliFemtoEventReaderAOD.cxx:726
 AliFemtoEventReaderAOD.cxx:727
 AliFemtoEventReaderAOD.cxx:728
 AliFemtoEventReaderAOD.cxx:729
 AliFemtoEventReaderAOD.cxx:730
 AliFemtoEventReaderAOD.cxx:731
 AliFemtoEventReaderAOD.cxx:732
 AliFemtoEventReaderAOD.cxx:733
 AliFemtoEventReaderAOD.cxx:734
 AliFemtoEventReaderAOD.cxx:735
 AliFemtoEventReaderAOD.cxx:736
 AliFemtoEventReaderAOD.cxx:737
 AliFemtoEventReaderAOD.cxx:738
 AliFemtoEventReaderAOD.cxx:739
 AliFemtoEventReaderAOD.cxx:740
 AliFemtoEventReaderAOD.cxx:741
 AliFemtoEventReaderAOD.cxx:742
 AliFemtoEventReaderAOD.cxx:743
 AliFemtoEventReaderAOD.cxx:744
 AliFemtoEventReaderAOD.cxx:745
 AliFemtoEventReaderAOD.cxx:746
 AliFemtoEventReaderAOD.cxx:747
 AliFemtoEventReaderAOD.cxx:748
 AliFemtoEventReaderAOD.cxx:749
 AliFemtoEventReaderAOD.cxx:750
 AliFemtoEventReaderAOD.cxx:751
 AliFemtoEventReaderAOD.cxx:752
 AliFemtoEventReaderAOD.cxx:753
 AliFemtoEventReaderAOD.cxx:754
 AliFemtoEventReaderAOD.cxx:755
 AliFemtoEventReaderAOD.cxx:756
 AliFemtoEventReaderAOD.cxx:757
 AliFemtoEventReaderAOD.cxx:758
 AliFemtoEventReaderAOD.cxx:759
 AliFemtoEventReaderAOD.cxx:760
 AliFemtoEventReaderAOD.cxx:761
 AliFemtoEventReaderAOD.cxx:762
 AliFemtoEventReaderAOD.cxx:763
 AliFemtoEventReaderAOD.cxx:764
 AliFemtoEventReaderAOD.cxx:765
 AliFemtoEventReaderAOD.cxx:766
 AliFemtoEventReaderAOD.cxx:767
 AliFemtoEventReaderAOD.cxx:768
 AliFemtoEventReaderAOD.cxx:769
 AliFemtoEventReaderAOD.cxx:770
 AliFemtoEventReaderAOD.cxx:771
 AliFemtoEventReaderAOD.cxx:772
 AliFemtoEventReaderAOD.cxx:773
 AliFemtoEventReaderAOD.cxx:774
 AliFemtoEventReaderAOD.cxx:775
 AliFemtoEventReaderAOD.cxx:776
 AliFemtoEventReaderAOD.cxx:777
 AliFemtoEventReaderAOD.cxx:778
 AliFemtoEventReaderAOD.cxx:779
 AliFemtoEventReaderAOD.cxx:780
 AliFemtoEventReaderAOD.cxx:781
 AliFemtoEventReaderAOD.cxx:782
 AliFemtoEventReaderAOD.cxx:783
 AliFemtoEventReaderAOD.cxx:784
 AliFemtoEventReaderAOD.cxx:785
 AliFemtoEventReaderAOD.cxx:786
 AliFemtoEventReaderAOD.cxx:787
 AliFemtoEventReaderAOD.cxx:788
 AliFemtoEventReaderAOD.cxx:789
 AliFemtoEventReaderAOD.cxx:790
 AliFemtoEventReaderAOD.cxx:791
 AliFemtoEventReaderAOD.cxx:792
 AliFemtoEventReaderAOD.cxx:793
 AliFemtoEventReaderAOD.cxx:794
 AliFemtoEventReaderAOD.cxx:795
 AliFemtoEventReaderAOD.cxx:796
 AliFemtoEventReaderAOD.cxx:797
 AliFemtoEventReaderAOD.cxx:798
 AliFemtoEventReaderAOD.cxx:799
 AliFemtoEventReaderAOD.cxx:800
 AliFemtoEventReaderAOD.cxx:801
 AliFemtoEventReaderAOD.cxx:802
 AliFemtoEventReaderAOD.cxx:803
 AliFemtoEventReaderAOD.cxx:804
 AliFemtoEventReaderAOD.cxx:805
 AliFemtoEventReaderAOD.cxx:806
 AliFemtoEventReaderAOD.cxx:807
 AliFemtoEventReaderAOD.cxx:808
 AliFemtoEventReaderAOD.cxx:809
 AliFemtoEventReaderAOD.cxx:810
 AliFemtoEventReaderAOD.cxx:811
 AliFemtoEventReaderAOD.cxx:812
 AliFemtoEventReaderAOD.cxx:813
 AliFemtoEventReaderAOD.cxx:814
 AliFemtoEventReaderAOD.cxx:815
 AliFemtoEventReaderAOD.cxx:816
 AliFemtoEventReaderAOD.cxx:817
 AliFemtoEventReaderAOD.cxx:818
 AliFemtoEventReaderAOD.cxx:819
 AliFemtoEventReaderAOD.cxx:820
 AliFemtoEventReaderAOD.cxx:821
 AliFemtoEventReaderAOD.cxx:822
 AliFemtoEventReaderAOD.cxx:823
 AliFemtoEventReaderAOD.cxx:824
 AliFemtoEventReaderAOD.cxx:825
 AliFemtoEventReaderAOD.cxx:826
 AliFemtoEventReaderAOD.cxx:827
 AliFemtoEventReaderAOD.cxx:828
 AliFemtoEventReaderAOD.cxx:829
 AliFemtoEventReaderAOD.cxx:830
 AliFemtoEventReaderAOD.cxx:831
 AliFemtoEventReaderAOD.cxx:832
 AliFemtoEventReaderAOD.cxx:833
 AliFemtoEventReaderAOD.cxx:834
 AliFemtoEventReaderAOD.cxx:835
 AliFemtoEventReaderAOD.cxx:836
 AliFemtoEventReaderAOD.cxx:837
 AliFemtoEventReaderAOD.cxx:838
 AliFemtoEventReaderAOD.cxx:839
 AliFemtoEventReaderAOD.cxx:840
 AliFemtoEventReaderAOD.cxx:841
 AliFemtoEventReaderAOD.cxx:842
 AliFemtoEventReaderAOD.cxx:843
 AliFemtoEventReaderAOD.cxx:844
 AliFemtoEventReaderAOD.cxx:845
 AliFemtoEventReaderAOD.cxx:846
 AliFemtoEventReaderAOD.cxx:847
 AliFemtoEventReaderAOD.cxx:848
 AliFemtoEventReaderAOD.cxx:849
 AliFemtoEventReaderAOD.cxx:850
 AliFemtoEventReaderAOD.cxx:851
 AliFemtoEventReaderAOD.cxx:852
 AliFemtoEventReaderAOD.cxx:853
 AliFemtoEventReaderAOD.cxx:854
 AliFemtoEventReaderAOD.cxx:855
 AliFemtoEventReaderAOD.cxx:856
 AliFemtoEventReaderAOD.cxx:857
 AliFemtoEventReaderAOD.cxx:858
 AliFemtoEventReaderAOD.cxx:859
 AliFemtoEventReaderAOD.cxx:860
 AliFemtoEventReaderAOD.cxx:861
 AliFemtoEventReaderAOD.cxx:862
 AliFemtoEventReaderAOD.cxx:863
 AliFemtoEventReaderAOD.cxx:864
 AliFemtoEventReaderAOD.cxx:865
 AliFemtoEventReaderAOD.cxx:866
 AliFemtoEventReaderAOD.cxx:867
 AliFemtoEventReaderAOD.cxx:868
 AliFemtoEventReaderAOD.cxx:869
 AliFemtoEventReaderAOD.cxx:870
 AliFemtoEventReaderAOD.cxx:871
 AliFemtoEventReaderAOD.cxx:872
 AliFemtoEventReaderAOD.cxx:873
 AliFemtoEventReaderAOD.cxx:874
 AliFemtoEventReaderAOD.cxx:875
 AliFemtoEventReaderAOD.cxx:876
 AliFemtoEventReaderAOD.cxx:877
 AliFemtoEventReaderAOD.cxx:878
 AliFemtoEventReaderAOD.cxx:879
 AliFemtoEventReaderAOD.cxx:880
 AliFemtoEventReaderAOD.cxx:881
 AliFemtoEventReaderAOD.cxx:882
 AliFemtoEventReaderAOD.cxx:883
 AliFemtoEventReaderAOD.cxx:884
 AliFemtoEventReaderAOD.cxx:885
 AliFemtoEventReaderAOD.cxx:886
 AliFemtoEventReaderAOD.cxx:887
 AliFemtoEventReaderAOD.cxx:888
 AliFemtoEventReaderAOD.cxx:889
 AliFemtoEventReaderAOD.cxx:890
 AliFemtoEventReaderAOD.cxx:891
 AliFemtoEventReaderAOD.cxx:892
 AliFemtoEventReaderAOD.cxx:893
 AliFemtoEventReaderAOD.cxx:894
 AliFemtoEventReaderAOD.cxx:895
 AliFemtoEventReaderAOD.cxx:896
 AliFemtoEventReaderAOD.cxx:897
 AliFemtoEventReaderAOD.cxx:898
 AliFemtoEventReaderAOD.cxx:899
 AliFemtoEventReaderAOD.cxx:900
 AliFemtoEventReaderAOD.cxx:901
 AliFemtoEventReaderAOD.cxx:902
 AliFemtoEventReaderAOD.cxx:903
 AliFemtoEventReaderAOD.cxx:904
 AliFemtoEventReaderAOD.cxx:905
 AliFemtoEventReaderAOD.cxx:906
 AliFemtoEventReaderAOD.cxx:907
 AliFemtoEventReaderAOD.cxx:908
 AliFemtoEventReaderAOD.cxx:909
 AliFemtoEventReaderAOD.cxx:910
 AliFemtoEventReaderAOD.cxx:911
 AliFemtoEventReaderAOD.cxx:912
 AliFemtoEventReaderAOD.cxx:913
 AliFemtoEventReaderAOD.cxx:914
 AliFemtoEventReaderAOD.cxx:915
 AliFemtoEventReaderAOD.cxx:916
 AliFemtoEventReaderAOD.cxx:917
 AliFemtoEventReaderAOD.cxx:918
 AliFemtoEventReaderAOD.cxx:919
 AliFemtoEventReaderAOD.cxx:920
 AliFemtoEventReaderAOD.cxx:921
 AliFemtoEventReaderAOD.cxx:922
 AliFemtoEventReaderAOD.cxx:923
 AliFemtoEventReaderAOD.cxx:924
 AliFemtoEventReaderAOD.cxx:925
 AliFemtoEventReaderAOD.cxx:926
 AliFemtoEventReaderAOD.cxx:927
 AliFemtoEventReaderAOD.cxx:928
 AliFemtoEventReaderAOD.cxx:929
 AliFemtoEventReaderAOD.cxx:930
 AliFemtoEventReaderAOD.cxx:931
 AliFemtoEventReaderAOD.cxx:932
 AliFemtoEventReaderAOD.cxx:933
 AliFemtoEventReaderAOD.cxx:934
 AliFemtoEventReaderAOD.cxx:935
 AliFemtoEventReaderAOD.cxx:936
 AliFemtoEventReaderAOD.cxx:937
 AliFemtoEventReaderAOD.cxx:938
 AliFemtoEventReaderAOD.cxx:939
 AliFemtoEventReaderAOD.cxx:940
 AliFemtoEventReaderAOD.cxx:941
 AliFemtoEventReaderAOD.cxx:942
 AliFemtoEventReaderAOD.cxx:943
 AliFemtoEventReaderAOD.cxx:944
 AliFemtoEventReaderAOD.cxx:945
 AliFemtoEventReaderAOD.cxx:946
 AliFemtoEventReaderAOD.cxx:947
 AliFemtoEventReaderAOD.cxx:948
 AliFemtoEventReaderAOD.cxx:949
 AliFemtoEventReaderAOD.cxx:950
 AliFemtoEventReaderAOD.cxx:951
 AliFemtoEventReaderAOD.cxx:952
 AliFemtoEventReaderAOD.cxx:953
 AliFemtoEventReaderAOD.cxx:954
 AliFemtoEventReaderAOD.cxx:955
 AliFemtoEventReaderAOD.cxx:956
 AliFemtoEventReaderAOD.cxx:957
 AliFemtoEventReaderAOD.cxx:958
 AliFemtoEventReaderAOD.cxx:959
 AliFemtoEventReaderAOD.cxx:960
 AliFemtoEventReaderAOD.cxx:961
 AliFemtoEventReaderAOD.cxx:962
 AliFemtoEventReaderAOD.cxx:963
 AliFemtoEventReaderAOD.cxx:964
 AliFemtoEventReaderAOD.cxx:965
 AliFemtoEventReaderAOD.cxx:966
 AliFemtoEventReaderAOD.cxx:967
 AliFemtoEventReaderAOD.cxx:968
 AliFemtoEventReaderAOD.cxx:969
 AliFemtoEventReaderAOD.cxx:970
 AliFemtoEventReaderAOD.cxx:971
 AliFemtoEventReaderAOD.cxx:972
 AliFemtoEventReaderAOD.cxx:973
 AliFemtoEventReaderAOD.cxx:974
 AliFemtoEventReaderAOD.cxx:975
 AliFemtoEventReaderAOD.cxx:976
 AliFemtoEventReaderAOD.cxx:977
 AliFemtoEventReaderAOD.cxx:978
 AliFemtoEventReaderAOD.cxx:979
 AliFemtoEventReaderAOD.cxx:980
 AliFemtoEventReaderAOD.cxx:981
 AliFemtoEventReaderAOD.cxx:982
 AliFemtoEventReaderAOD.cxx:983
 AliFemtoEventReaderAOD.cxx:984
 AliFemtoEventReaderAOD.cxx:985
 AliFemtoEventReaderAOD.cxx:986
 AliFemtoEventReaderAOD.cxx:987
 AliFemtoEventReaderAOD.cxx:988
 AliFemtoEventReaderAOD.cxx:989
 AliFemtoEventReaderAOD.cxx:990
 AliFemtoEventReaderAOD.cxx:991
 AliFemtoEventReaderAOD.cxx:992
 AliFemtoEventReaderAOD.cxx:993
 AliFemtoEventReaderAOD.cxx:994
 AliFemtoEventReaderAOD.cxx:995
 AliFemtoEventReaderAOD.cxx:996
 AliFemtoEventReaderAOD.cxx:997
 AliFemtoEventReaderAOD.cxx:998
 AliFemtoEventReaderAOD.cxx:999
 AliFemtoEventReaderAOD.cxx:1000
 AliFemtoEventReaderAOD.cxx:1001
 AliFemtoEventReaderAOD.cxx:1002
 AliFemtoEventReaderAOD.cxx:1003
 AliFemtoEventReaderAOD.cxx:1004
 AliFemtoEventReaderAOD.cxx:1005
 AliFemtoEventReaderAOD.cxx:1006
 AliFemtoEventReaderAOD.cxx:1007
 AliFemtoEventReaderAOD.cxx:1008
 AliFemtoEventReaderAOD.cxx:1009
 AliFemtoEventReaderAOD.cxx:1010
 AliFemtoEventReaderAOD.cxx:1011
 AliFemtoEventReaderAOD.cxx:1012
 AliFemtoEventReaderAOD.cxx:1013
 AliFemtoEventReaderAOD.cxx:1014
 AliFemtoEventReaderAOD.cxx:1015
 AliFemtoEventReaderAOD.cxx:1016
 AliFemtoEventReaderAOD.cxx:1017
 AliFemtoEventReaderAOD.cxx:1018
 AliFemtoEventReaderAOD.cxx:1019
 AliFemtoEventReaderAOD.cxx:1020
 AliFemtoEventReaderAOD.cxx:1021
 AliFemtoEventReaderAOD.cxx:1022
 AliFemtoEventReaderAOD.cxx:1023
 AliFemtoEventReaderAOD.cxx:1024
 AliFemtoEventReaderAOD.cxx:1025
 AliFemtoEventReaderAOD.cxx:1026
 AliFemtoEventReaderAOD.cxx:1027
 AliFemtoEventReaderAOD.cxx:1028
 AliFemtoEventReaderAOD.cxx:1029
 AliFemtoEventReaderAOD.cxx:1030
 AliFemtoEventReaderAOD.cxx:1031
 AliFemtoEventReaderAOD.cxx:1032
 AliFemtoEventReaderAOD.cxx:1033
 AliFemtoEventReaderAOD.cxx:1034
 AliFemtoEventReaderAOD.cxx:1035
 AliFemtoEventReaderAOD.cxx:1036
 AliFemtoEventReaderAOD.cxx:1037
 AliFemtoEventReaderAOD.cxx:1038
 AliFemtoEventReaderAOD.cxx:1039
 AliFemtoEventReaderAOD.cxx:1040
 AliFemtoEventReaderAOD.cxx:1041
 AliFemtoEventReaderAOD.cxx:1042
 AliFemtoEventReaderAOD.cxx:1043
 AliFemtoEventReaderAOD.cxx:1044
 AliFemtoEventReaderAOD.cxx:1045
 AliFemtoEventReaderAOD.cxx:1046
 AliFemtoEventReaderAOD.cxx:1047
 AliFemtoEventReaderAOD.cxx:1048
 AliFemtoEventReaderAOD.cxx:1049
 AliFemtoEventReaderAOD.cxx:1050
 AliFemtoEventReaderAOD.cxx:1051
 AliFemtoEventReaderAOD.cxx:1052
 AliFemtoEventReaderAOD.cxx:1053
 AliFemtoEventReaderAOD.cxx:1054
 AliFemtoEventReaderAOD.cxx:1055
 AliFemtoEventReaderAOD.cxx:1056
 AliFemtoEventReaderAOD.cxx:1057
 AliFemtoEventReaderAOD.cxx:1058
 AliFemtoEventReaderAOD.cxx:1059
 AliFemtoEventReaderAOD.cxx:1060
 AliFemtoEventReaderAOD.cxx:1061
 AliFemtoEventReaderAOD.cxx:1062
 AliFemtoEventReaderAOD.cxx:1063
 AliFemtoEventReaderAOD.cxx:1064
 AliFemtoEventReaderAOD.cxx:1065
 AliFemtoEventReaderAOD.cxx:1066
 AliFemtoEventReaderAOD.cxx:1067
 AliFemtoEventReaderAOD.cxx:1068
 AliFemtoEventReaderAOD.cxx:1069
 AliFemtoEventReaderAOD.cxx:1070
 AliFemtoEventReaderAOD.cxx:1071
 AliFemtoEventReaderAOD.cxx:1072
 AliFemtoEventReaderAOD.cxx:1073
 AliFemtoEventReaderAOD.cxx:1074
 AliFemtoEventReaderAOD.cxx:1075
 AliFemtoEventReaderAOD.cxx:1076
 AliFemtoEventReaderAOD.cxx:1077
 AliFemtoEventReaderAOD.cxx:1078
 AliFemtoEventReaderAOD.cxx:1079
 AliFemtoEventReaderAOD.cxx:1080
 AliFemtoEventReaderAOD.cxx:1081
 AliFemtoEventReaderAOD.cxx:1082
 AliFemtoEventReaderAOD.cxx:1083
 AliFemtoEventReaderAOD.cxx:1084
 AliFemtoEventReaderAOD.cxx:1085
 AliFemtoEventReaderAOD.cxx:1086
 AliFemtoEventReaderAOD.cxx:1087
 AliFemtoEventReaderAOD.cxx:1088
 AliFemtoEventReaderAOD.cxx:1089
 AliFemtoEventReaderAOD.cxx:1090
 AliFemtoEventReaderAOD.cxx:1091
 AliFemtoEventReaderAOD.cxx:1092
 AliFemtoEventReaderAOD.cxx:1093
 AliFemtoEventReaderAOD.cxx:1094
 AliFemtoEventReaderAOD.cxx:1095
 AliFemtoEventReaderAOD.cxx:1096
 AliFemtoEventReaderAOD.cxx:1097
 AliFemtoEventReaderAOD.cxx:1098
 AliFemtoEventReaderAOD.cxx:1099
 AliFemtoEventReaderAOD.cxx:1100
 AliFemtoEventReaderAOD.cxx:1101
 AliFemtoEventReaderAOD.cxx:1102
 AliFemtoEventReaderAOD.cxx:1103
 AliFemtoEventReaderAOD.cxx:1104
 AliFemtoEventReaderAOD.cxx:1105
 AliFemtoEventReaderAOD.cxx:1106
 AliFemtoEventReaderAOD.cxx:1107
 AliFemtoEventReaderAOD.cxx:1108
 AliFemtoEventReaderAOD.cxx:1109
 AliFemtoEventReaderAOD.cxx:1110
 AliFemtoEventReaderAOD.cxx:1111
 AliFemtoEventReaderAOD.cxx:1112
 AliFemtoEventReaderAOD.cxx:1113
 AliFemtoEventReaderAOD.cxx:1114
 AliFemtoEventReaderAOD.cxx:1115
 AliFemtoEventReaderAOD.cxx:1116
 AliFemtoEventReaderAOD.cxx:1117
 AliFemtoEventReaderAOD.cxx:1118
 AliFemtoEventReaderAOD.cxx:1119
 AliFemtoEventReaderAOD.cxx:1120
 AliFemtoEventReaderAOD.cxx:1121
 AliFemtoEventReaderAOD.cxx:1122
 AliFemtoEventReaderAOD.cxx:1123
 AliFemtoEventReaderAOD.cxx:1124
 AliFemtoEventReaderAOD.cxx:1125
 AliFemtoEventReaderAOD.cxx:1126
 AliFemtoEventReaderAOD.cxx:1127
 AliFemtoEventReaderAOD.cxx:1128
 AliFemtoEventReaderAOD.cxx:1129
 AliFemtoEventReaderAOD.cxx:1130
 AliFemtoEventReaderAOD.cxx:1131
 AliFemtoEventReaderAOD.cxx:1132
 AliFemtoEventReaderAOD.cxx:1133
 AliFemtoEventReaderAOD.cxx:1134
 AliFemtoEventReaderAOD.cxx:1135
 AliFemtoEventReaderAOD.cxx:1136
 AliFemtoEventReaderAOD.cxx:1137
 AliFemtoEventReaderAOD.cxx:1138
 AliFemtoEventReaderAOD.cxx:1139
 AliFemtoEventReaderAOD.cxx:1140
 AliFemtoEventReaderAOD.cxx:1141
 AliFemtoEventReaderAOD.cxx:1142
 AliFemtoEventReaderAOD.cxx:1143
 AliFemtoEventReaderAOD.cxx:1144
 AliFemtoEventReaderAOD.cxx:1145
 AliFemtoEventReaderAOD.cxx:1146
 AliFemtoEventReaderAOD.cxx:1147
 AliFemtoEventReaderAOD.cxx:1148
 AliFemtoEventReaderAOD.cxx:1149
 AliFemtoEventReaderAOD.cxx:1150
 AliFemtoEventReaderAOD.cxx:1151
 AliFemtoEventReaderAOD.cxx:1152
 AliFemtoEventReaderAOD.cxx:1153
 AliFemtoEventReaderAOD.cxx:1154
 AliFemtoEventReaderAOD.cxx:1155
 AliFemtoEventReaderAOD.cxx:1156
 AliFemtoEventReaderAOD.cxx:1157
 AliFemtoEventReaderAOD.cxx:1158
 AliFemtoEventReaderAOD.cxx:1159
 AliFemtoEventReaderAOD.cxx:1160
 AliFemtoEventReaderAOD.cxx:1161
 AliFemtoEventReaderAOD.cxx:1162
 AliFemtoEventReaderAOD.cxx:1163
 AliFemtoEventReaderAOD.cxx:1164
 AliFemtoEventReaderAOD.cxx:1165
 AliFemtoEventReaderAOD.cxx:1166
 AliFemtoEventReaderAOD.cxx:1167
 AliFemtoEventReaderAOD.cxx:1168
 AliFemtoEventReaderAOD.cxx:1169
 AliFemtoEventReaderAOD.cxx:1170
 AliFemtoEventReaderAOD.cxx:1171
 AliFemtoEventReaderAOD.cxx:1172
 AliFemtoEventReaderAOD.cxx:1173
 AliFemtoEventReaderAOD.cxx:1174
 AliFemtoEventReaderAOD.cxx:1175
 AliFemtoEventReaderAOD.cxx:1176
 AliFemtoEventReaderAOD.cxx:1177
 AliFemtoEventReaderAOD.cxx:1178
 AliFemtoEventReaderAOD.cxx:1179
 AliFemtoEventReaderAOD.cxx:1180
 AliFemtoEventReaderAOD.cxx:1181
 AliFemtoEventReaderAOD.cxx:1182
 AliFemtoEventReaderAOD.cxx:1183
 AliFemtoEventReaderAOD.cxx:1184
 AliFemtoEventReaderAOD.cxx:1185
 AliFemtoEventReaderAOD.cxx:1186
 AliFemtoEventReaderAOD.cxx:1187
 AliFemtoEventReaderAOD.cxx:1188
 AliFemtoEventReaderAOD.cxx:1189
 AliFemtoEventReaderAOD.cxx:1190
 AliFemtoEventReaderAOD.cxx:1191
 AliFemtoEventReaderAOD.cxx:1192
 AliFemtoEventReaderAOD.cxx:1193
 AliFemtoEventReaderAOD.cxx:1194
 AliFemtoEventReaderAOD.cxx:1195
 AliFemtoEventReaderAOD.cxx:1196
 AliFemtoEventReaderAOD.cxx:1197
 AliFemtoEventReaderAOD.cxx:1198
 AliFemtoEventReaderAOD.cxx:1199
 AliFemtoEventReaderAOD.cxx:1200
 AliFemtoEventReaderAOD.cxx:1201
 AliFemtoEventReaderAOD.cxx:1202
 AliFemtoEventReaderAOD.cxx:1203
 AliFemtoEventReaderAOD.cxx:1204
 AliFemtoEventReaderAOD.cxx:1205
 AliFemtoEventReaderAOD.cxx:1206
 AliFemtoEventReaderAOD.cxx:1207
 AliFemtoEventReaderAOD.cxx:1208
 AliFemtoEventReaderAOD.cxx:1209
 AliFemtoEventReaderAOD.cxx:1210
 AliFemtoEventReaderAOD.cxx:1211
 AliFemtoEventReaderAOD.cxx:1212
 AliFemtoEventReaderAOD.cxx:1213
 AliFemtoEventReaderAOD.cxx:1214
 AliFemtoEventReaderAOD.cxx:1215
 AliFemtoEventReaderAOD.cxx:1216
 AliFemtoEventReaderAOD.cxx:1217
 AliFemtoEventReaderAOD.cxx:1218
 AliFemtoEventReaderAOD.cxx:1219
 AliFemtoEventReaderAOD.cxx:1220
 AliFemtoEventReaderAOD.cxx:1221
 AliFemtoEventReaderAOD.cxx:1222
 AliFemtoEventReaderAOD.cxx:1223
 AliFemtoEventReaderAOD.cxx:1224
 AliFemtoEventReaderAOD.cxx:1225
 AliFemtoEventReaderAOD.cxx:1226
 AliFemtoEventReaderAOD.cxx:1227
 AliFemtoEventReaderAOD.cxx:1228
 AliFemtoEventReaderAOD.cxx:1229
 AliFemtoEventReaderAOD.cxx:1230
 AliFemtoEventReaderAOD.cxx:1231
 AliFemtoEventReaderAOD.cxx:1232
 AliFemtoEventReaderAOD.cxx:1233
 AliFemtoEventReaderAOD.cxx:1234
 AliFemtoEventReaderAOD.cxx:1235
 AliFemtoEventReaderAOD.cxx:1236
 AliFemtoEventReaderAOD.cxx:1237
 AliFemtoEventReaderAOD.cxx:1238
 AliFemtoEventReaderAOD.cxx:1239
 AliFemtoEventReaderAOD.cxx:1240
 AliFemtoEventReaderAOD.cxx:1241
 AliFemtoEventReaderAOD.cxx:1242
 AliFemtoEventReaderAOD.cxx:1243
 AliFemtoEventReaderAOD.cxx:1244
 AliFemtoEventReaderAOD.cxx:1245
 AliFemtoEventReaderAOD.cxx:1246
 AliFemtoEventReaderAOD.cxx:1247
 AliFemtoEventReaderAOD.cxx:1248
 AliFemtoEventReaderAOD.cxx:1249
 AliFemtoEventReaderAOD.cxx:1250
 AliFemtoEventReaderAOD.cxx:1251
 AliFemtoEventReaderAOD.cxx:1252
 AliFemtoEventReaderAOD.cxx:1253
 AliFemtoEventReaderAOD.cxx:1254
 AliFemtoEventReaderAOD.cxx:1255
 AliFemtoEventReaderAOD.cxx:1256
 AliFemtoEventReaderAOD.cxx:1257
 AliFemtoEventReaderAOD.cxx:1258
 AliFemtoEventReaderAOD.cxx:1259
 AliFemtoEventReaderAOD.cxx:1260
 AliFemtoEventReaderAOD.cxx:1261
 AliFemtoEventReaderAOD.cxx:1262
 AliFemtoEventReaderAOD.cxx:1263
 AliFemtoEventReaderAOD.cxx:1264
 AliFemtoEventReaderAOD.cxx:1265
 AliFemtoEventReaderAOD.cxx:1266
 AliFemtoEventReaderAOD.cxx:1267
 AliFemtoEventReaderAOD.cxx:1268
 AliFemtoEventReaderAOD.cxx:1269
 AliFemtoEventReaderAOD.cxx:1270
 AliFemtoEventReaderAOD.cxx:1271
 AliFemtoEventReaderAOD.cxx:1272
 AliFemtoEventReaderAOD.cxx:1273
 AliFemtoEventReaderAOD.cxx:1274
 AliFemtoEventReaderAOD.cxx:1275
 AliFemtoEventReaderAOD.cxx:1276
 AliFemtoEventReaderAOD.cxx:1277
 AliFemtoEventReaderAOD.cxx:1278
 AliFemtoEventReaderAOD.cxx:1279
 AliFemtoEventReaderAOD.cxx:1280
 AliFemtoEventReaderAOD.cxx:1281
 AliFemtoEventReaderAOD.cxx:1282
 AliFemtoEventReaderAOD.cxx:1283
 AliFemtoEventReaderAOD.cxx:1284
 AliFemtoEventReaderAOD.cxx:1285
 AliFemtoEventReaderAOD.cxx:1286
 AliFemtoEventReaderAOD.cxx:1287
 AliFemtoEventReaderAOD.cxx:1288
 AliFemtoEventReaderAOD.cxx:1289
 AliFemtoEventReaderAOD.cxx:1290
 AliFemtoEventReaderAOD.cxx:1291
 AliFemtoEventReaderAOD.cxx:1292
 AliFemtoEventReaderAOD.cxx:1293
 AliFemtoEventReaderAOD.cxx:1294
 AliFemtoEventReaderAOD.cxx:1295
 AliFemtoEventReaderAOD.cxx:1296
 AliFemtoEventReaderAOD.cxx:1297
 AliFemtoEventReaderAOD.cxx:1298
 AliFemtoEventReaderAOD.cxx:1299
 AliFemtoEventReaderAOD.cxx:1300
 AliFemtoEventReaderAOD.cxx:1301
 AliFemtoEventReaderAOD.cxx:1302
 AliFemtoEventReaderAOD.cxx:1303
 AliFemtoEventReaderAOD.cxx:1304
 AliFemtoEventReaderAOD.cxx:1305
 AliFemtoEventReaderAOD.cxx:1306
 AliFemtoEventReaderAOD.cxx:1307
 AliFemtoEventReaderAOD.cxx:1308
 AliFemtoEventReaderAOD.cxx:1309
 AliFemtoEventReaderAOD.cxx:1310
 AliFemtoEventReaderAOD.cxx:1311
 AliFemtoEventReaderAOD.cxx:1312
 AliFemtoEventReaderAOD.cxx:1313
 AliFemtoEventReaderAOD.cxx:1314
 AliFemtoEventReaderAOD.cxx:1315
 AliFemtoEventReaderAOD.cxx:1316
 AliFemtoEventReaderAOD.cxx:1317
 AliFemtoEventReaderAOD.cxx:1318
 AliFemtoEventReaderAOD.cxx:1319
 AliFemtoEventReaderAOD.cxx:1320
 AliFemtoEventReaderAOD.cxx:1321
 AliFemtoEventReaderAOD.cxx:1322
 AliFemtoEventReaderAOD.cxx:1323
 AliFemtoEventReaderAOD.cxx:1324
 AliFemtoEventReaderAOD.cxx:1325
 AliFemtoEventReaderAOD.cxx:1326
 AliFemtoEventReaderAOD.cxx:1327
 AliFemtoEventReaderAOD.cxx:1328
 AliFemtoEventReaderAOD.cxx:1329
 AliFemtoEventReaderAOD.cxx:1330
 AliFemtoEventReaderAOD.cxx:1331
 AliFemtoEventReaderAOD.cxx:1332
 AliFemtoEventReaderAOD.cxx:1333
 AliFemtoEventReaderAOD.cxx:1334
 AliFemtoEventReaderAOD.cxx:1335
 AliFemtoEventReaderAOD.cxx:1336
 AliFemtoEventReaderAOD.cxx:1337
 AliFemtoEventReaderAOD.cxx:1338
 AliFemtoEventReaderAOD.cxx:1339
 AliFemtoEventReaderAOD.cxx:1340
 AliFemtoEventReaderAOD.cxx:1341
 AliFemtoEventReaderAOD.cxx:1342
 AliFemtoEventReaderAOD.cxx:1343
 AliFemtoEventReaderAOD.cxx:1344
 AliFemtoEventReaderAOD.cxx:1345
 AliFemtoEventReaderAOD.cxx:1346
 AliFemtoEventReaderAOD.cxx:1347
 AliFemtoEventReaderAOD.cxx:1348
 AliFemtoEventReaderAOD.cxx:1349
 AliFemtoEventReaderAOD.cxx:1350
 AliFemtoEventReaderAOD.cxx:1351
 AliFemtoEventReaderAOD.cxx:1352
 AliFemtoEventReaderAOD.cxx:1353
 AliFemtoEventReaderAOD.cxx:1354
 AliFemtoEventReaderAOD.cxx:1355
 AliFemtoEventReaderAOD.cxx:1356
 AliFemtoEventReaderAOD.cxx:1357
 AliFemtoEventReaderAOD.cxx:1358
 AliFemtoEventReaderAOD.cxx:1359
 AliFemtoEventReaderAOD.cxx:1360
 AliFemtoEventReaderAOD.cxx:1361
 AliFemtoEventReaderAOD.cxx:1362
 AliFemtoEventReaderAOD.cxx:1363
 AliFemtoEventReaderAOD.cxx:1364
 AliFemtoEventReaderAOD.cxx:1365
 AliFemtoEventReaderAOD.cxx:1366
 AliFemtoEventReaderAOD.cxx:1367
 AliFemtoEventReaderAOD.cxx:1368
 AliFemtoEventReaderAOD.cxx:1369
 AliFemtoEventReaderAOD.cxx:1370
 AliFemtoEventReaderAOD.cxx:1371
 AliFemtoEventReaderAOD.cxx:1372
 AliFemtoEventReaderAOD.cxx:1373
 AliFemtoEventReaderAOD.cxx:1374
 AliFemtoEventReaderAOD.cxx:1375
 AliFemtoEventReaderAOD.cxx:1376
 AliFemtoEventReaderAOD.cxx:1377
 AliFemtoEventReaderAOD.cxx:1378
 AliFemtoEventReaderAOD.cxx:1379
 AliFemtoEventReaderAOD.cxx:1380
 AliFemtoEventReaderAOD.cxx:1381
 AliFemtoEventReaderAOD.cxx:1382
 AliFemtoEventReaderAOD.cxx:1383
 AliFemtoEventReaderAOD.cxx:1384
 AliFemtoEventReaderAOD.cxx:1385
 AliFemtoEventReaderAOD.cxx:1386
 AliFemtoEventReaderAOD.cxx:1387
 AliFemtoEventReaderAOD.cxx:1388
 AliFemtoEventReaderAOD.cxx:1389
 AliFemtoEventReaderAOD.cxx:1390
 AliFemtoEventReaderAOD.cxx:1391
 AliFemtoEventReaderAOD.cxx:1392
 AliFemtoEventReaderAOD.cxx:1393
 AliFemtoEventReaderAOD.cxx:1394
 AliFemtoEventReaderAOD.cxx:1395
 AliFemtoEventReaderAOD.cxx:1396
 AliFemtoEventReaderAOD.cxx:1397
 AliFemtoEventReaderAOD.cxx:1398
 AliFemtoEventReaderAOD.cxx:1399
 AliFemtoEventReaderAOD.cxx:1400
 AliFemtoEventReaderAOD.cxx:1401
 AliFemtoEventReaderAOD.cxx:1402
 AliFemtoEventReaderAOD.cxx:1403
 AliFemtoEventReaderAOD.cxx:1404
 AliFemtoEventReaderAOD.cxx:1405
 AliFemtoEventReaderAOD.cxx:1406
 AliFemtoEventReaderAOD.cxx:1407
 AliFemtoEventReaderAOD.cxx:1408
 AliFemtoEventReaderAOD.cxx:1409
 AliFemtoEventReaderAOD.cxx:1410
 AliFemtoEventReaderAOD.cxx:1411
 AliFemtoEventReaderAOD.cxx:1412
 AliFemtoEventReaderAOD.cxx:1413
 AliFemtoEventReaderAOD.cxx:1414
 AliFemtoEventReaderAOD.cxx:1415
 AliFemtoEventReaderAOD.cxx:1416
 AliFemtoEventReaderAOD.cxx:1417
 AliFemtoEventReaderAOD.cxx:1418
 AliFemtoEventReaderAOD.cxx:1419
 AliFemtoEventReaderAOD.cxx:1420
 AliFemtoEventReaderAOD.cxx:1421
 AliFemtoEventReaderAOD.cxx:1422
 AliFemtoEventReaderAOD.cxx:1423
 AliFemtoEventReaderAOD.cxx:1424
 AliFemtoEventReaderAOD.cxx:1425
 AliFemtoEventReaderAOD.cxx:1426
 AliFemtoEventReaderAOD.cxx:1427
 AliFemtoEventReaderAOD.cxx:1428
 AliFemtoEventReaderAOD.cxx:1429
 AliFemtoEventReaderAOD.cxx:1430
 AliFemtoEventReaderAOD.cxx:1431
 AliFemtoEventReaderAOD.cxx:1432
 AliFemtoEventReaderAOD.cxx:1433
 AliFemtoEventReaderAOD.cxx:1434
 AliFemtoEventReaderAOD.cxx:1435
 AliFemtoEventReaderAOD.cxx:1436
 AliFemtoEventReaderAOD.cxx:1437
 AliFemtoEventReaderAOD.cxx:1438
 AliFemtoEventReaderAOD.cxx:1439
 AliFemtoEventReaderAOD.cxx:1440
 AliFemtoEventReaderAOD.cxx:1441
 AliFemtoEventReaderAOD.cxx:1442
 AliFemtoEventReaderAOD.cxx:1443
 AliFemtoEventReaderAOD.cxx:1444
 AliFemtoEventReaderAOD.cxx:1445
 AliFemtoEventReaderAOD.cxx:1446
 AliFemtoEventReaderAOD.cxx:1447
 AliFemtoEventReaderAOD.cxx:1448
 AliFemtoEventReaderAOD.cxx:1449
 AliFemtoEventReaderAOD.cxx:1450
 AliFemtoEventReaderAOD.cxx:1451
 AliFemtoEventReaderAOD.cxx:1452
 AliFemtoEventReaderAOD.cxx:1453
 AliFemtoEventReaderAOD.cxx:1454
 AliFemtoEventReaderAOD.cxx:1455
 AliFemtoEventReaderAOD.cxx:1456
 AliFemtoEventReaderAOD.cxx:1457
 AliFemtoEventReaderAOD.cxx:1458
 AliFemtoEventReaderAOD.cxx:1459
 AliFemtoEventReaderAOD.cxx:1460
 AliFemtoEventReaderAOD.cxx:1461
 AliFemtoEventReaderAOD.cxx:1462
 AliFemtoEventReaderAOD.cxx:1463
 AliFemtoEventReaderAOD.cxx:1464
 AliFemtoEventReaderAOD.cxx:1465
 AliFemtoEventReaderAOD.cxx:1466
 AliFemtoEventReaderAOD.cxx:1467
 AliFemtoEventReaderAOD.cxx:1468
 AliFemtoEventReaderAOD.cxx:1469
 AliFemtoEventReaderAOD.cxx:1470
 AliFemtoEventReaderAOD.cxx:1471
 AliFemtoEventReaderAOD.cxx:1472
 AliFemtoEventReaderAOD.cxx:1473
 AliFemtoEventReaderAOD.cxx:1474
 AliFemtoEventReaderAOD.cxx:1475
 AliFemtoEventReaderAOD.cxx:1476
 AliFemtoEventReaderAOD.cxx:1477
 AliFemtoEventReaderAOD.cxx:1478
 AliFemtoEventReaderAOD.cxx:1479
 AliFemtoEventReaderAOD.cxx:1480
 AliFemtoEventReaderAOD.cxx:1481
 AliFemtoEventReaderAOD.cxx:1482
 AliFemtoEventReaderAOD.cxx:1483
 AliFemtoEventReaderAOD.cxx:1484
 AliFemtoEventReaderAOD.cxx:1485
 AliFemtoEventReaderAOD.cxx:1486
 AliFemtoEventReaderAOD.cxx:1487
 AliFemtoEventReaderAOD.cxx:1488
 AliFemtoEventReaderAOD.cxx:1489
 AliFemtoEventReaderAOD.cxx:1490
 AliFemtoEventReaderAOD.cxx:1491
 AliFemtoEventReaderAOD.cxx:1492
 AliFemtoEventReaderAOD.cxx:1493
 AliFemtoEventReaderAOD.cxx:1494
 AliFemtoEventReaderAOD.cxx:1495
 AliFemtoEventReaderAOD.cxx:1496
 AliFemtoEventReaderAOD.cxx:1497
 AliFemtoEventReaderAOD.cxx:1498
 AliFemtoEventReaderAOD.cxx:1499
 AliFemtoEventReaderAOD.cxx:1500
 AliFemtoEventReaderAOD.cxx:1501
 AliFemtoEventReaderAOD.cxx:1502
 AliFemtoEventReaderAOD.cxx:1503
 AliFemtoEventReaderAOD.cxx:1504
 AliFemtoEventReaderAOD.cxx:1505
 AliFemtoEventReaderAOD.cxx:1506
 AliFemtoEventReaderAOD.cxx:1507
 AliFemtoEventReaderAOD.cxx:1508
 AliFemtoEventReaderAOD.cxx:1509
 AliFemtoEventReaderAOD.cxx:1510
 AliFemtoEventReaderAOD.cxx:1511
 AliFemtoEventReaderAOD.cxx:1512
 AliFemtoEventReaderAOD.cxx:1513
 AliFemtoEventReaderAOD.cxx:1514
 AliFemtoEventReaderAOD.cxx:1515
 AliFemtoEventReaderAOD.cxx:1516
 AliFemtoEventReaderAOD.cxx:1517
 AliFemtoEventReaderAOD.cxx:1518
 AliFemtoEventReaderAOD.cxx:1519
 AliFemtoEventReaderAOD.cxx:1520
 AliFemtoEventReaderAOD.cxx:1521
 AliFemtoEventReaderAOD.cxx:1522
 AliFemtoEventReaderAOD.cxx:1523
 AliFemtoEventReaderAOD.cxx:1524
 AliFemtoEventReaderAOD.cxx:1525
 AliFemtoEventReaderAOD.cxx:1526
 AliFemtoEventReaderAOD.cxx:1527
 AliFemtoEventReaderAOD.cxx:1528
 AliFemtoEventReaderAOD.cxx:1529
 AliFemtoEventReaderAOD.cxx:1530
 AliFemtoEventReaderAOD.cxx:1531
 AliFemtoEventReaderAOD.cxx:1532
 AliFemtoEventReaderAOD.cxx:1533
 AliFemtoEventReaderAOD.cxx:1534
 AliFemtoEventReaderAOD.cxx:1535
 AliFemtoEventReaderAOD.cxx:1536
 AliFemtoEventReaderAOD.cxx:1537
 AliFemtoEventReaderAOD.cxx:1538
 AliFemtoEventReaderAOD.cxx:1539
 AliFemtoEventReaderAOD.cxx:1540
 AliFemtoEventReaderAOD.cxx:1541
 AliFemtoEventReaderAOD.cxx:1542
 AliFemtoEventReaderAOD.cxx:1543
 AliFemtoEventReaderAOD.cxx:1544
 AliFemtoEventReaderAOD.cxx:1545
 AliFemtoEventReaderAOD.cxx:1546
 AliFemtoEventReaderAOD.cxx:1547
 AliFemtoEventReaderAOD.cxx:1548
 AliFemtoEventReaderAOD.cxx:1549
 AliFemtoEventReaderAOD.cxx:1550
 AliFemtoEventReaderAOD.cxx:1551
 AliFemtoEventReaderAOD.cxx:1552
 AliFemtoEventReaderAOD.cxx:1553
 AliFemtoEventReaderAOD.cxx:1554
 AliFemtoEventReaderAOD.cxx:1555
 AliFemtoEventReaderAOD.cxx:1556
 AliFemtoEventReaderAOD.cxx:1557
 AliFemtoEventReaderAOD.cxx:1558
 AliFemtoEventReaderAOD.cxx:1559
 AliFemtoEventReaderAOD.cxx:1560
 AliFemtoEventReaderAOD.cxx:1561
 AliFemtoEventReaderAOD.cxx:1562
 AliFemtoEventReaderAOD.cxx:1563
 AliFemtoEventReaderAOD.cxx:1564
 AliFemtoEventReaderAOD.cxx:1565
 AliFemtoEventReaderAOD.cxx:1566
 AliFemtoEventReaderAOD.cxx:1567
 AliFemtoEventReaderAOD.cxx:1568
 AliFemtoEventReaderAOD.cxx:1569
 AliFemtoEventReaderAOD.cxx:1570
 AliFemtoEventReaderAOD.cxx:1571
 AliFemtoEventReaderAOD.cxx:1572
 AliFemtoEventReaderAOD.cxx:1573
 AliFemtoEventReaderAOD.cxx:1574
 AliFemtoEventReaderAOD.cxx:1575
 AliFemtoEventReaderAOD.cxx:1576
 AliFemtoEventReaderAOD.cxx:1577
 AliFemtoEventReaderAOD.cxx:1578
 AliFemtoEventReaderAOD.cxx:1579
 AliFemtoEventReaderAOD.cxx:1580
 AliFemtoEventReaderAOD.cxx:1581
 AliFemtoEventReaderAOD.cxx:1582
 AliFemtoEventReaderAOD.cxx:1583
 AliFemtoEventReaderAOD.cxx:1584
 AliFemtoEventReaderAOD.cxx:1585
 AliFemtoEventReaderAOD.cxx:1586
 AliFemtoEventReaderAOD.cxx:1587
 AliFemtoEventReaderAOD.cxx:1588
 AliFemtoEventReaderAOD.cxx:1589
 AliFemtoEventReaderAOD.cxx:1590
 AliFemtoEventReaderAOD.cxx:1591
 AliFemtoEventReaderAOD.cxx:1592
 AliFemtoEventReaderAOD.cxx:1593
 AliFemtoEventReaderAOD.cxx:1594
 AliFemtoEventReaderAOD.cxx:1595
 AliFemtoEventReaderAOD.cxx:1596
 AliFemtoEventReaderAOD.cxx:1597
 AliFemtoEventReaderAOD.cxx:1598
 AliFemtoEventReaderAOD.cxx:1599
 AliFemtoEventReaderAOD.cxx:1600
 AliFemtoEventReaderAOD.cxx:1601
 AliFemtoEventReaderAOD.cxx:1602
 AliFemtoEventReaderAOD.cxx:1603
 AliFemtoEventReaderAOD.cxx:1604
 AliFemtoEventReaderAOD.cxx:1605
 AliFemtoEventReaderAOD.cxx:1606
 AliFemtoEventReaderAOD.cxx:1607
 AliFemtoEventReaderAOD.cxx:1608
 AliFemtoEventReaderAOD.cxx:1609
 AliFemtoEventReaderAOD.cxx:1610
 AliFemtoEventReaderAOD.cxx:1611
 AliFemtoEventReaderAOD.cxx:1612
 AliFemtoEventReaderAOD.cxx:1613
 AliFemtoEventReaderAOD.cxx:1614
 AliFemtoEventReaderAOD.cxx:1615
 AliFemtoEventReaderAOD.cxx:1616
 AliFemtoEventReaderAOD.cxx:1617
 AliFemtoEventReaderAOD.cxx:1618
 AliFemtoEventReaderAOD.cxx:1619
 AliFemtoEventReaderAOD.cxx:1620
 AliFemtoEventReaderAOD.cxx:1621
 AliFemtoEventReaderAOD.cxx:1622
 AliFemtoEventReaderAOD.cxx:1623
 AliFemtoEventReaderAOD.cxx:1624
 AliFemtoEventReaderAOD.cxx:1625
 AliFemtoEventReaderAOD.cxx:1626
 AliFemtoEventReaderAOD.cxx:1627
 AliFemtoEventReaderAOD.cxx:1628
 AliFemtoEventReaderAOD.cxx:1629
 AliFemtoEventReaderAOD.cxx:1630
 AliFemtoEventReaderAOD.cxx:1631
 AliFemtoEventReaderAOD.cxx:1632
 AliFemtoEventReaderAOD.cxx:1633
 AliFemtoEventReaderAOD.cxx:1634
 AliFemtoEventReaderAOD.cxx:1635
 AliFemtoEventReaderAOD.cxx:1636
 AliFemtoEventReaderAOD.cxx:1637
 AliFemtoEventReaderAOD.cxx:1638
 AliFemtoEventReaderAOD.cxx:1639
 AliFemtoEventReaderAOD.cxx:1640
 AliFemtoEventReaderAOD.cxx:1641
 AliFemtoEventReaderAOD.cxx:1642
 AliFemtoEventReaderAOD.cxx:1643
 AliFemtoEventReaderAOD.cxx:1644
 AliFemtoEventReaderAOD.cxx:1645
 AliFemtoEventReaderAOD.cxx:1646
 AliFemtoEventReaderAOD.cxx:1647
 AliFemtoEventReaderAOD.cxx:1648
 AliFemtoEventReaderAOD.cxx:1649
 AliFemtoEventReaderAOD.cxx:1650
 AliFemtoEventReaderAOD.cxx:1651
 AliFemtoEventReaderAOD.cxx:1652
 AliFemtoEventReaderAOD.cxx:1653
 AliFemtoEventReaderAOD.cxx:1654
 AliFemtoEventReaderAOD.cxx:1655
 AliFemtoEventReaderAOD.cxx:1656