ROOT logo
////////////////////////////////////////////////////////////////////////////////
///                                                                          ///
/// AliFemtoEventReaderESDChain - the reader class for the Alice ESD         ///
/// tailored for the Task framework                                 ///
/// Reads in AliESDfriend to create shared hit/quality information           ///
/// Authors: Adam Kisiel kisiel@mps.ohio-state.edu                           ///
///                                                                          ///
////////////////////////////////////////////////////////////////////////////////
#include "AliFemtoEventReaderESDChain.h"

#include "TFile.h"
#include "TTree.h"
#include "AliESDEvent.h"
#include "AliESDtrack.h"
#include "AliESDVertex.h"
#include "AliMultiplicity.h"
#include "AliCentrality.h"
#include "AliEventplane.h"
#include "AliESDVZERO.h"
#include "AliFmPhysicalHelixD.h"
#include "AliFmThreeVectorF.h"
#include "SystemOfUnits.h"
#include "AliFemtoEvent.h"
#include "AliFemtoModelHiddenInfo.h"
#include "AliPID.h"
#include "AliAnalysisUtils.h"

ClassImp(AliFemtoEventReaderESDChain)

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

using namespace std;

//____________________________
AliFemtoEventReaderESDChain::AliFemtoEventReaderESDChain():
  fFileName(" "),
  fConstrained(true),
  fReadInner(false),
  fUseTPCOnly(false),
  fNumberofEvent(0),
  fCurEvent(0),
  fCurFile(0),
  fEvent(0x0),
  fTrackType(kGlobal),
  fEstEventMult(kReferenceITSTPC), 
  fEventTrig(AliVEvent::kMB), //trigger
  fESDpid(0),
  fIsPidOwner(0),
  fReadV0(0),
  fMagFieldSign(0),
  fpA2013(kFALSE),
  fisPileUp(kFALSE),
  fMVPlp(kFALSE),
  fMinVtxContr(0),
  fMinPlpContribMV(0),
  fMinPlpContribSPD(0)
{
  //constructor with 0 parameters , look at default settings 
  //   fClusterPerPadrow = (list<Int_t> **) malloc(sizeof(list<Int_t> *) * AliESDfriendTrack::kMaxTPCcluster);
  //   for (int tPad=0; tPad<AliESDfriendTrack::kMaxTPCcluster; tPad++) {
  //     fClusterPerPadrow[tPad] = new list<Int_t>();
  //   }
  //   fSharedList = (list<Int_t> **) malloc(sizeof(list<Int_t> *) * AliESDfriendTrack::kMaxTPCcluster);
  //   for (int tPad=0; tPad<AliESDfriendTrack::kMaxTPCcluster; tPad++) {
  //     fSharedList[tPad] = new list<Int_t>();
  //   }
}

//__________________
AliFemtoEventReaderESDChain::AliFemtoEventReaderESDChain(const AliFemtoEventReaderESDChain& aReader):
  AliFemtoEventReader(aReader),
  fFileName(" "),
  fConstrained(true),
  fReadInner(false),
  fUseTPCOnly(false),
  fNumberofEvent(0),
  fCurEvent(0),
  fCurFile(0),
  fEvent(0x0),
  fTrackType(kGlobal),
  fEstEventMult(kReferenceITSTPC),
  fEventTrig(AliVEvent::kMB), //trigger
  fESDpid(0),
  fIsPidOwner(0),
  fReadV0(0),
  fMagFieldSign(0),
  fpA2013(kFALSE),
  fisPileUp(kFALSE),
  fMVPlp(kFALSE),
  fMinVtxContr(0),
  fMinPlpContribMV(0),
  fMinPlpContribSPD(0)
{
  // Copy constructor
  fConstrained = aReader.fConstrained;
  fReadInner = aReader.fReadInner;
  fUseTPCOnly = aReader.fUseTPCOnly;
  fNumberofEvent = aReader.fNumberofEvent;
  fCurEvent = aReader.fCurEvent;
  fCurFile = aReader.fCurFile;
  //  fEvent = new AliESD(*aReader.fEvent);
  fEvent = new AliESDEvent();
  fTrackType = aReader.fTrackType;
  fEstEventMult = aReader.fEstEventMult;
  fEventTrig = aReader.fEventTrig; //trigger
  fReadV0 = aReader.fReadV0;
  fMagFieldSign = aReader.fMagFieldSign;
  fpA2013 = aReader.fpA2013;
  fisPileUp = aReader.fisPileUp;
  fMVPlp = aReader.fMVPlp;
  fMinVtxContr =  aReader.fMinVtxContr;
  fMinPlpContribMV  =  aReader.fMinPlpContribMV;
  fMinPlpContribSPD  =  aReader.fMinPlpContribSPD;

  //   fEventFriend = aReader.fEventFriend;
  //   fClusterPerPadrow = (list<Int_t> **) malloc(sizeof(list<Int_t> *) * AliESDfriendTrack::kMaxTPCcluster);
  //   for (int tPad=0; tPad<AliESDfriendTrack::kMaxTPCcluster; tPad++) {
  //     fClusterPerPadrow[tPad] = new list<Int_t>();
  //     list<Int_t>::iterator iter;
  //     for (iter=aReader.fClusterPerPadrow[tPad]->begin(); iter!=aReader.fClusterPerPadrow[tPad]->end(); iter++) {
  //       fClusterPerPadrow[tPad]->push_back(*iter);
  //     }
  //   }
  //   fSharedList = (list<Int_t> **) malloc(sizeof(list<Int_t> *) * AliESDfriendTrack::kMaxTPCcluster);
  //   for (int tPad=0; tPad<AliESDfriendTrack::kMaxTPCcluster; tPad++) {
  //     fSharedList[tPad] = new list<Int_t>();
  //     list<Int_t>::iterator iter;
  //     for (iter=aReader.fSharedList[tPad]->begin(); iter!=aReader.fSharedList[tPad]->end(); iter++) {
  //       fSharedList[tPad]->push_back(*iter);
  //     }
  //   }
}
//__________________
AliFemtoEventReaderESDChain::~AliFemtoEventReaderESDChain()
{
  //Destructor
  delete fEvent;

  //   for (int tPad=0; tPad<AliESDfriendTrack::kMaxTPCcluster; tPad++) {
  //     fClusterPerPadrow[tPad]->clear();
  //     delete fClusterPerPadrow[tPad];
  //   }
  //   delete [] fClusterPerPadrow;
  //   for (int tPad=0; tPad<AliESDfriendTrack::kMaxTPCcluster; tPad++) {
  //     fSharedList[tPad]->clear();
  //     delete fSharedList[tPad];
  //   }
  //   delete [] fSharedList;

}

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

  fConstrained = aReader.fConstrained;
  fReadInner = aReader.fReadInner;
  fUseTPCOnly = aReader.fUseTPCOnly;
  fNumberofEvent = aReader.fNumberofEvent;
  fCurEvent = aReader.fCurEvent;
  fCurFile = aReader.fCurFile;
  if (fEvent) delete fEvent;
  fEvent = new AliESDEvent();
  fTrackType = aReader.fTrackType;
  fEstEventMult = aReader.fEstEventMult;

  fReadV0 = aReader.fReadV0;
  fMagFieldSign = aReader.fMagFieldSign;
  fpA2013 = aReader.fpA2013;
  fisPileUp = aReader.fisPileUp;
  fMVPlp = aReader.fMVPlp;
  //  fEventFriend = aReader.fEventFriend;
  
  //   if (fClusterPerPadrow) {
  //     for (int tPad=0; tPad<AliESDfriendTrack::kMaxTPCcluster; tPad++) {
  //       fClusterPerPadrow[tPad]->clear();
  //       delete fClusterPerPadrow[tPad];
  //     }
  //     delete [] fClusterPerPadrow;
  //   }
  
  //   if (fSharedList) {
  //     for (int tPad=0; tPad<AliESDfriendTrack::kMaxTPCcluster; tPad++) {
  //       fSharedList[tPad]->clear();
  //       delete fSharedList[tPad];
  //     }
  //     delete [] fSharedList;
  //   }

  //   fClusterPerPadrow = (list<Int_t> **) malloc(sizeof(list<Int_t> *) * AliESDfriendTrack::kMaxTPCcluster);
  //   for (int tPad=0; tPad<AliESDfriendTrack::kMaxTPCcluster; tPad++) {
  //     fClusterPerPadrow[tPad] = new list<Int_t>();
  //     list<Int_t>::iterator iter;
  //     for (iter=aReader.fClusterPerPadrow[tPad]->begin(); iter!=aReader.fClusterPerPadrow[tPad]->end(); iter++) {
  //       fClusterPerPadrow[tPad]->push_back(*iter);
  //     }
  //   }
  //   fSharedList = (list<Int_t> **) malloc(sizeof(list<Int_t> *) * AliESDfriendTrack::kMaxTPCcluster);
  //   for (int tPad=0; tPad<AliESDfriendTrack::kMaxTPCcluster; tPad++) {
  //     fSharedList[tPad] = new list<Int_t>();
  //     list<Int_t>::iterator iter;
  //     for (iter=aReader.fSharedList[tPad]->begin(); iter!=aReader.fSharedList[tPad]->end(); iter++) {
  //       fSharedList[tPad]->push_back(*iter);
  //     }
  //   }
  
  return *this;
}
//__________________
// Simple report
AliFemtoString AliFemtoEventReaderESDChain::Report()
{
  AliFemtoString temp = "\n This is the AliFemtoEventReaderESDChain\n";
  return temp;
}

//__________________
void AliFemtoEventReaderESDChain::SetConstrained(const bool constrained)
{
  // Select whether to read constrained or not constrained momentum
  fConstrained=constrained;
}
//__________________
bool AliFemtoEventReaderESDChain::GetConstrained() const
{
  // Check whether we read constrained or not constrained momentum
  return fConstrained;
}
//__________________
void AliFemtoEventReaderESDChain::SetReadTPCInner(const bool readinner)
{
  fReadInner=readinner;
}

bool AliFemtoEventReaderESDChain::GetReadTPCInner() const
{
  return fReadInner;
}

//__________________
void AliFemtoEventReaderESDChain::SetUseTPCOnly(const bool usetpconly)
{
  fUseTPCOnly=usetpconly;
}

bool AliFemtoEventReaderESDChain::GetUseTPCOnly() const
{
  return fUseTPCOnly;
}

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

AliFemtoEvent* AliFemtoEventReaderESDChain::ReturnHbtEvent()
{
  // Get the event, read all the relevant information
  // and fill the AliFemtoEvent class
  // Returns a valid AliFemtoEvent
  AliFemtoEvent *hbtEvent = 0;
 

  hbtEvent = new AliFemtoEvent;

  CopyESDtoFemtoEvent(hbtEvent);

  fCurEvent++;	


  return hbtEvent; 
}

void AliFemtoEventReaderESDChain::CopyESDtoFemtoEvent(AliFemtoEvent *hbtEvent)
{
  

 //string tFriendFileName;
  // Get the friend information
  if (Debug()>1) cout<<"starting to read event "<<fCurEvent<<endl;
  //  fEvent->SetESDfriend(fEventFriend);
  if(fEvent->GetAliESDOld())fEvent->CopyFromOldESD();
  


   //setting basic things
  //  hbtEvent->SetEventNumber(fEvent->GetEventNumber());
  hbtEvent->SetRunNumber(fEvent->GetRunNumber());
  //hbtEvent->SetNumberOfTracks(fEvent->GetNumberOfTracks());
  hbtEvent->SetMagneticField(fEvent->GetMagneticField()*kilogauss);//to check if here is ok
  hbtEvent->SetZDCN1Energy(fEvent->GetZDCN1Energy());
  hbtEvent->SetZDCP1Energy(fEvent->GetZDCP1Energy());
  hbtEvent->SetZDCN2Energy(fEvent->GetZDCN2Energy());
  hbtEvent->SetZDCP2Energy(fEvent->GetZDCP2Energy());
  hbtEvent->SetZDCEMEnergy(fEvent->GetZDCEMEnergy());
  hbtEvent->SetZDCParticipants(fEvent->GetZDCParticipants());
  hbtEvent->SetTriggerMask(fEvent->GetTriggerMask());
  //  hbtEvent->SetTriggerCluster(fEvent->GetTriggerCluster());

  if ((fEvent->IsTriggerClassFired("CINT1WU-B-NOPF-ALL")) ||
      (fEvent->IsTriggerClassFired("CINT1B-ABCE-NOPF-ALL")) ||
      (fEvent->IsTriggerClassFired("CINT1-B-NOPF-ALLNOTRD")) ||
      (fEvent->IsTriggerClassFired("CINT1-B-NOPF-FASTNOTRD")))
    hbtEvent->SetTriggerCluster(1);
  else if ((fEvent->IsTriggerClassFired("CSH1WU-B-NOPF-ALL")) ||
	   (fEvent->IsTriggerClassFired("CSH1-B-NOPF-ALLNOTRD")))
    hbtEvent->SetTriggerCluster(2);
  else 
    hbtEvent->SetTriggerCluster(0);
	
  //Vertex
  double fV1[3];
  double fVCov[6];

  //AliAnalysisUtils
  if(fisPileUp||fpA2013)
    {
      AliAnalysisUtils *anaUtil=new AliAnalysisUtils();
      if(fMinVtxContr)
	anaUtil->SetMinVtxContr(fMinVtxContr);
      if(fpA2013)
	if(anaUtil->IsVertexSelected2013pA(fEvent)==kFALSE) return; //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)) return; //Pile-up rejection.
      delete anaUtil;   
    }


  if (fUseTPCOnly) {
    const AliESDVertex* esdvertex = (AliESDVertex*) fEvent->GetPrimaryVertexTPC();
    if(!esdvertex || esdvertex->GetNContributors() < 1) return; //Bad vertex, skip event.

    esdvertex->GetXYZ(fV1);
    esdvertex->GetCovMatrix(fVCov);
    if (!esdvertex->GetStatus())
      fVCov[4] = -1001.0;
  }
  else {
    const AliESDVertex* esdvertex = (AliESDVertex*) fEvent->GetPrimaryVertex();
    if(!esdvertex || esdvertex->GetNContributors() < 1) return; //Bad vertex, skip event.
   
    esdvertex->GetXYZ(fV1);
    esdvertex->GetCovMatrix(fVCov);
    if (!esdvertex->GetStatus())
      fVCov[4] = -1001.0;
  }
    
  AliFmThreeVectorF vertex(fV1[0],fV1[1],fV1[2]);
  hbtEvent->SetPrimVertPos(vertex);
  hbtEvent->SetPrimVertCov(fVCov);
  
  Int_t spdetaonecount = 0;
  
  for (int iter=0; iter<fEvent->GetMultiplicity()->GetNumberOfTracklets(); iter++) 
    if (fabs(fEvent->GetMultiplicity()->GetEta(iter)) < 1.0)
      spdetaonecount++;

  //  hbtEvent->SetSPDMult(fEvent->GetMultiplicity()->GetNumberOfTracklets());
  hbtEvent->SetSPDMult(spdetaonecount);

  //starting to reading tracks
  int nofTracks=0;  //number of reconstructed tracks in event
  nofTracks=fEvent->GetNumberOfTracks();
  int realnofTracks=0;//number of track which we use ina analysis

  //   // Clear the shared cluster list
  //   for (int tPad=0; tPad<AliESDfriendTrack::kMaxTPCcluster; tPad++) {
  //     fClusterPerPadrow[tPad]->clear();
  //   }
  //   for (int tPad=0; tPad<AliESDfriendTrack::kMaxTPCcluster; tPad++) {
  //     fSharedList[tPad]->clear();
  //   }


  //   for (int i=0;i<nofTracks;i++) {
  //     const AliESDtrack *esdtrack=fEvent->GetTrack(i);//getting next track

  //     list<Int_t>::iterator tClustIter;

  //     Int_t tTrackIndices[AliESDfriendTrack::kMaxTPCcluster];
  //     Int_t tNClusters = esdtrack->GetTPCclusters(tTrackIndices);
  //     for (int tNcl=0; tNcl<AliESDfriendTrack::kMaxTPCcluster; tNcl++) {
  //       if (tTrackIndices[tNcl] >= 0) {
  // 	tClustIter = find(fClusterPerPadrow[tNcl]->begin(), fClusterPerPadrow[tNcl]->end(), tTrackIndices[tNcl]);
  // 	if (tClustIter == fClusterPerPadrow[tNcl]->end()) {
  // 	  fClusterPerPadrow[tNcl]->push_back(tTrackIndices[tNcl]);
  // 	}
  // 	else {
  // 	  fSharedList[tNcl]->push_back(tTrackIndices[tNcl]);
  // 	}
  //       }
  //     }
      
  //   }

  int tNormMult = 0;
  int tNormMultPos = 0;
  int tNormMultNeg = 0;

  Float_t tTotalPt = 0.0;

  Float_t b[2];
  Float_t bCov[3];

  Int_t tTracklet=0, tITSTPC=0;
  
  //W-AliESDEvent::EstimateMultiplicity: This obsolete method will be eliminated soon. Use AliESDtrackCuts::GetReferenceMultiplicity
  //fEvent->EstimateMultiplicity(tTracklet, tITSTPC, tITSPure, 1.2);
  
  hbtEvent->SetMultiplicityEstimateITSTPC(tITSTPC);
  hbtEvent->SetMultiplicityEstimateTracklets(tTracklet);
  //  hbtEvent->SetMultiplicityEstimateITSPure(tITSPure);
  hbtEvent->SetMultiplicityEstimateITSPure(fEvent->GetMultiplicity()->GetNumberOfITSClusters(1));
  
  for (int i=0;i<nofTracks;i++)
    {
      bool  tGoodMomentum=true; //flaga to chcek if we can read momentum of this track

      const AliESDtrack *esdtrack=fEvent->GetTrack(i);//getting next track
      //      const AliESDfriendTrack *tESDfriendTrack = esdtrack->GetFriendTrack();

      if ((esdtrack->GetStatus() & AliESDtrack::kTPCrefit) &&
	  (esdtrack->GetStatus() & AliESDtrack::kITSrefit)) {
	if (esdtrack->GetTPCNcls() > 70) 
	  if (esdtrack->GetTPCchi2()/esdtrack->GetTPCNcls() < 4.0) {
	    if (esdtrack->Pt() > 0.15 && esdtrack->Pt() < 20) 
	      if (TMath::Abs(esdtrack->Eta()) < 0.8) {
		esdtrack->GetImpactParameters(b,bCov);
		if ((b[0]<0.2) && (b[1] < 2.0)) {
		  tNormMult++;
		  tTotalPt += esdtrack->Pt();
		}
	      }
	  }
      }

      hbtEvent->SetZDCEMEnergy(tTotalPt);
      //       if (esdtrack->GetStatus() & AliESDtrack::kTPCrefit)
      // 	if (esdtrack->GetTPCNcls() > 80) 
      // 	  if (esdtrack->GetTPCchi2()/esdtrack->GetTPCNcls() < 6.0) 
      // 	    if (esdtrack->GetConstrainedParam())
      // 	      if (fabs(esdtrack->GetConstrainedParam()->Eta()) < 0.5)
      // 		if (esdtrack->GetConstrainedParam()->Pt() < 1.0) {
      // 		  if (esdtrack->GetSign() > 0)
      // 		    tNormMultPos++;
      // 		  else if (esdtrack->GetSign() < 0)
      // 		    tNormMultNeg--;
      // 		}

      // If reading ITS-only tracks, reject all with TPC
      if (fTrackType == kITSOnly) {
	if (esdtrack->GetStatus() & AliESDtrack::kTPCrefit) continue;
	if (!(esdtrack->GetStatus() & AliESDtrack::kITSrefit)) continue;
	if (esdtrack->GetStatus() & AliESDtrack::kTPCin) continue;
	UChar_t iclm = esdtrack->GetITSClusterMap();
	Int_t incls = 0;
	for (int iter=0; iter<6; iter++) if (iclm&(1<<iter)) incls++;
	if (incls<=3) {
	  if (Debug()>1) cout << "Rejecting track with " << incls << " clusters" << endl;
	  continue;
	}
      }

      AliFemtoTrack* trackCopy = new AliFemtoTrack();	
      trackCopy->SetCharge((short)esdtrack->GetSign());

      //in aliroot we have AliPID 
      //0-electron 1-muon 2-pion 3-kaon 4-proton 5-photon 6-pi0 7-neutron 8-kaon0 9-eleCon   
      //we use only 5 first
      double esdpid[5];
      //       esdtrack->GetESDpid(esdpid);
      esdtrack->GetTPCpid(esdpid);
      trackCopy->SetPidProbElectron(esdpid[0]);
      trackCopy->SetPidProbMuon(esdpid[1]);
      trackCopy->SetPidProbPion(esdpid[2]);
      trackCopy->SetPidProbKaon(esdpid[3]);
      trackCopy->SetPidProbProton(esdpid[4]);

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

      double tTOF = 0.0;

      if (esdtrack->GetStatus()&AliESDtrack::kTOFout&AliESDtrack::kTIME) {
	tTOF = esdtrack->GetTOFsignal();
	esdtrack->GetIntegratedTimes(esdpid);
      }

      trackCopy->SetTofExpectedTimes(tTOF-esdpid[2], tTOF-esdpid[3], tTOF-esdpid[4]);

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

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


      if ((fESDpid) && (esdtrack->IsOn(AliESDtrack::kTPCpid))){
        nsigmaTPCK = fESDpid->NumberOfSigmasTPC(esdtrack,AliPID::kKaon);
        nsigmaTPCPi = fESDpid->NumberOfSigmasTPC(esdtrack,AliPID::kPion);
        nsigmaTPCP = fESDpid->NumberOfSigmasTPC(esdtrack,AliPID::kProton);

      }
      trackCopy->SetNSigmaTPCPi(nsigmaTPCPi);
      trackCopy->SetNSigmaTPCK(nsigmaTPCK);
      trackCopy->SetNSigmaTPCP(nsigmaTPCP);

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

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

	if (// (esdtrack->GetStatus()&AliESDtrack::kTOFpid) &&
	    (esdtrack->GetStatus()&AliESDtrack::kTOFout) &&
	    (esdtrack->GetStatus()&AliESDtrack::kTIME))
	  {

	    //if ((esdtrack->GetStatus()&AliESDtrack::kTOFpid) &&
	    //(esdtrack->GetStatus()&AliESDtrack::kTOFout) &&
	    //(esdtrack->GetStatus()&AliESDtrack::kTIME)){
	    // collect info from ESDpid class

	    if ((fESDpid) && (esdtrack->IsOn(AliESDtrack::kTOFout & AliESDtrack::kTIME))) {


	      double tZero = fESDpid->GetTOFResponse().GetStartTime(esdtrack->P());

	      nsigmaTOFPi = fESDpid->NumberOfSigmasTOF(esdtrack,AliPID::kPion,tZero);
	      nsigmaTOFK = fESDpid->NumberOfSigmasTOF(esdtrack,AliPID::kKaon,tZero);
	      nsigmaTOFP = fESDpid->NumberOfSigmasTOF(esdtrack,AliPID::kProton,tZero);

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

	trackCopy->SetVTOF(vp);
	trackCopy->SetNSigmaTOFPi(nsigmaTOFPi);
	trackCopy->SetNSigmaTOFK(nsigmaTOFK);
	trackCopy->SetNSigmaTOFP(nsigmaTOFP);

	double pxyz[3];
	double rxyz[3];
	double impact[2];
	double covimpact[3];

	if (fUseTPCOnly) {
	  if (!esdtrack->GetTPCInnerParam()) {
	    delete trackCopy;
	    continue;
	  }


	  AliExternalTrackParam *param = new AliExternalTrackParam(*esdtrack->GetTPCInnerParam());
	  param->GetXYZ(rxyz);
	  param->PropagateToDCA(fEvent->GetPrimaryVertexTPC(), (fEvent->GetMagneticField()), 10000, impact, covimpact);
	  param->GetPxPyPz(pxyz);//reading noconstarined momentum

	  if (fReadInner == true) {
	    AliFemtoModelHiddenInfo *tInfo = new AliFemtoModelHiddenInfo();
	    tInfo->SetPDGPid(211);
	    tInfo->SetTrueMomentum(pxyz[0], pxyz[1], pxyz[2]);
	    tInfo->SetMass(0.13957);
	    //	  tInfo->SetEmissionPoint(rxyz[0], rxyz[1], rxyz[2], 0.0);
	    //	  tInfo->SetEmissionPoint(fV1[0], fV1[1], fV1[2], 0.0);
	    tInfo->SetEmissionPoint(rxyz[0]-fV1[0], rxyz[1]-fV1[1], rxyz[2]-fV1[2], 0.0);
	    trackCopy->SetHiddenInfo(tInfo);
	  }
	
	  AliFemtoThreeVector v(pxyz[0],pxyz[1],pxyz[2]);
	  if (v.Mag() < 0.0001) {
	    //	cout << "Found 0 momentum ???? " <<endl;
	    delete trackCopy;
	    continue;
	  }
	  trackCopy->SetP(v);//setting momentum
	  trackCopy->SetPt(sqrt(pxyz[0]*pxyz[0]+pxyz[1]*pxyz[1]));

	  const AliFmThreeVectorD kP(pxyz[0],pxyz[1],pxyz[2]);
	  const AliFmThreeVectorD kOrigin(fV1[0],fV1[1],fV1[2]);
	  //setting helix I do not if it is ok
	  AliFmPhysicalHelixD helix(kP,kOrigin,(double)(fEvent->GetMagneticField())*kilogauss,(double)(trackCopy->Charge())); 
	  trackCopy->SetHelix(helix);

	  //some stuff which could be useful 
	  trackCopy->SetImpactD(impact[0]);
	  trackCopy->SetImpactZ(impact[1]);
	  trackCopy->SetCdd(covimpact[0]);
	  trackCopy->SetCdz(covimpact[1]);
	  trackCopy->SetCzz(covimpact[2]);
	  trackCopy->SetSigmaToVertex(GetSigmaToVertex(impact, covimpact));	

	  delete param;
	}
	else {
	  if (fReadInner == true) {
	  
	    if (esdtrack->GetTPCInnerParam()) {
	      AliExternalTrackParam *param = new AliExternalTrackParam(*esdtrack->GetInnerParam());
	      //trackCopy->SetInnerMomentum(param->P());
	      trackCopy->SetInnerMomentum(esdtrack->GetTPCmomentum());
	      param->GetXYZ(rxyz);
	      //	    param->PropagateToDCA(fEvent->GetPrimaryVertex(), (fEvent->GetMagneticField()), 10000);
	      param->GetPxPyPz(pxyz);//reading noconstarined momentum
	      delete param;
	    
	      AliFemtoModelHiddenInfo *tInfo = new AliFemtoModelHiddenInfo();
	      tInfo->SetPDGPid(211);
	      tInfo->SetTrueMomentum(pxyz[0], pxyz[1], pxyz[2]);
	      tInfo->SetMass(0.13957);
	      //	    tInfo->SetEmissionPoint(rxyz[0], rxyz[1], rxyz[2], 0.0);
	      //tInfo->SetEmissionPoint(fV1[0], fV1[1], fV1[2], 0.0);
	      tInfo->SetEmissionPoint(rxyz[0]-fV1[0], rxyz[1]-fV1[1], rxyz[2]-fV1[2], 0.0);
	      trackCopy->SetHiddenInfo(tInfo);
	    }
	  }

	  if (fTrackType == kGlobal) {
	    if (fConstrained==true)		    
	      tGoodMomentum=esdtrack->GetConstrainedPxPyPz(pxyz); //reading constrained momentum
	    else
	      tGoodMomentum=esdtrack->GetPxPyPz(pxyz);//reading noconstarined momentum
	  }
	  else if (fTrackType == kTPCOnly) {
	    if (esdtrack->GetTPCInnerParam())
	      esdtrack->GetTPCInnerParam()->GetPxPyPz(pxyz);
	    else {
	      delete trackCopy;
	      continue;
	    }
	  }
	  else if (fTrackType == kITSOnly) {
	    if (fConstrained==true)		    
	      tGoodMomentum=esdtrack->GetConstrainedPxPyPz(pxyz); //reading constrained momentum
	    else
	      tGoodMomentum=esdtrack->GetPxPyPz(pxyz);//reading noconstarined momentum
	  }


	  AliFemtoThreeVector v(pxyz[0],pxyz[1],pxyz[2]);
	  if (v.Mag() < 0.0001) {
	    //	cout << "Found 0 momentum ???? " <<endl;
	    delete trackCopy;
	    continue;
	  }
	  trackCopy->SetP(v);//setting momentum
	  trackCopy->SetPt(sqrt(pxyz[0]*pxyz[0]+pxyz[1]*pxyz[1]));
	  const AliFmThreeVectorD kP(pxyz[0],pxyz[1],pxyz[2]);
	  const AliFmThreeVectorD kOrigin(fV1[0],fV1[1],fV1[2]);
	  //setting helix I do not if it is ok
	  AliFmPhysicalHelixD helix(kP,kOrigin,(double)(fEvent->GetMagneticField())*kilogauss,(double)(trackCopy->Charge())); 
	  trackCopy->SetHelix(helix);

	  //some stuff which could be useful 
	  float imp[2];
	  float cim[3];
	  // if (fTrackType == kTPCOnly) {
	  //   esdtrack->GetTPCInnerParam()->GetImpactParameters(imp,cim);
	  // }
	  // else {
	  esdtrack->GetImpactParameters(imp,cim);
	  // }

	  impact[0] = imp[0];
	  impact[1] = imp[1];
	  covimpact[0] = cim[0];
	  covimpact[1] = cim[1];
	  covimpact[2] = cim[2];

	  trackCopy->SetImpactD(impact[0]);
	  trackCopy->SetImpactZ(impact[1]);
	  trackCopy->SetCdd(covimpact[0]);
	  trackCopy->SetCdz(covimpact[1]);
	  trackCopy->SetCzz(covimpact[2]);
	  trackCopy->SetSigmaToVertex(GetSigmaToVertex(impact,covimpact));
	}

	trackCopy->SetTrackId(esdtrack->GetID());
	trackCopy->SetFlags(esdtrack->GetStatus());
	trackCopy->SetLabel(esdtrack->GetLabel());
		
	trackCopy->SetITSchi2(esdtrack->GetITSchi2());    
	if (esdtrack->GetITSFakeFlag())
	  trackCopy->SetITSncls(-esdtrack->GetNcls(0));     
	else
	  trackCopy->SetITSncls(esdtrack->GetNcls(0));     
	trackCopy->SetTPCchi2(esdtrack->GetTPCchi2());       
	trackCopy->SetTPCncls(esdtrack->GetTPCNcls());       
	trackCopy->SetTPCnclsF(esdtrack->GetTPCNclsF());      
	trackCopy->SetTPCsignal(esdtrack->GetTPCsignal());
	trackCopy->SetTPCsignalN((short)esdtrack->GetTPCsignalN()); //due to bug in aliesdtrack class   
	trackCopy->SetTPCsignalS(esdtrack->GetTPCsignalSigma()); 

	trackCopy->SetTPCClusterMap(esdtrack->GetTPCClusterMap());
	trackCopy->SetTPCSharedMap(esdtrack->GetTPCSharedMap());

	double xtpc[3];
	esdtrack->GetInnerXYZ(xtpc);
	xtpc[2] -= fV1[2];
	trackCopy->SetNominalTPCEntrancePoint(xtpc);

	esdtrack->GetOuterXYZ(xtpc);
	xtpc[2] -= fV1[2];
	trackCopy->SetNominalTPCExitPoint(xtpc);

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

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

	//decision if we want this track
	//if we using diffrent labels we want that this label was use for first time 
	//if we use hidden info we want to have match between sim data and ESD
	if (tGoodMomentum==true)
	  {
	    hbtEvent->TrackCollection()->push_back(trackCopy);//adding track to analysis
	    realnofTracks++;//real number of tracks
	    //	  delete trackCopy;
	  }
	else
	  {
	    delete  trackCopy;
	  }
		
    }

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

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

    if (Debug()>1) printf("  FemtoReader Got Event with %f %f %f %f\n", cent->GetCentralityPercentile("V0M"), 0.0, cent->GetCentralityPercentile("CL1"), 0.0);
  }

  if (fEstEventMult == kGlobalCount) 
    hbtEvent->SetNormalizedMult(tNormMult);
  else if (fEstEventMult == kReferenceITSTPC)
    hbtEvent->SetNormalizedMult(AliESDtrackCuts::GetReferenceMultiplicity(fEvent,AliESDtrackCuts::kTrackletsITSTPC,1.0));
  else if(fEstEventMult == kReferenceITSSA)
    hbtEvent->SetNormalizedMult(AliESDtrackCuts::GetReferenceMultiplicity(fEvent,AliESDtrackCuts::kTrackletsITSSA,1.0));
  else if(fEstEventMult == kReferenceTracklets)
    hbtEvent->SetNormalizedMult(AliESDtrackCuts::GetReferenceMultiplicity(fEvent,AliESDtrackCuts::kTracklets,1.0));
  else if (fEstEventMult == kSPDLayer1)
    hbtEvent->SetNormalizedMult(fEvent->GetMultiplicity()->GetNumberOfITSClusters(1));
  else if (fEstEventMult == kVZERO)
    {
      Float_t multV0 = 0;
      for (Int_t i=0; i<64; i++)
	multV0 += fEvent->GetVZEROData()->GetMultiplicity(i);
      hbtEvent->SetNormalizedMult(multV0);
    }
  else if (fEstEventMult == kCentrality) {
    // centrality between 0 (central) and 1 (very peripheral)

    if (cent) {
      if (cent->GetCentralityPercentile("V0M") < 0.00001)
	hbtEvent->SetNormalizedMult(-1);
      else
	hbtEvent->SetNormalizedMult(lrint(10.0*cent->GetCentralityPercentile("V0M")));
      if (Debug()>1) printf ("Set Centrality %i %f %li\n", hbtEvent->UncorrectedNumberOfPrimaries(), 
			     10.0*cent->GetCentralityPercentile("V0M"), lrint(10.0*cent->GetCentralityPercentile("V0M")));
    }
  }
  else if (fEstEventMult == kCentralityV0A) {
    // centrality between 0 (central) and 1 (very peripheral)

    if (cent) {
      if (cent->GetCentralityPercentile("V0A") < 0.00001)
	hbtEvent->SetNormalizedMult(-1);
      else
	hbtEvent->SetNormalizedMult(lrint(10.0*cent->GetCentralityPercentile("V0A")));
      if (Debug()>1) printf ("Set Centrality %i %f %li\n", hbtEvent->UncorrectedNumberOfPrimaries(), 
			     10.0*cent->GetCentralityPercentile("V0A"), lrint(10.0*cent->GetCentralityPercentile("V0A")));
    }
  }
  else if (fEstEventMult == kCentralityV0C) {
    // centrality between 0 (central) and 1 (very peripheral)

    if (cent) {
      if (cent->GetCentralityPercentile("V0C") < 0.00001)
	hbtEvent->SetNormalizedMult(-1);
      else
	hbtEvent->SetNormalizedMult(lrint(10.0*cent->GetCentralityPercentile("V0C")));
      if (Debug()>1) printf ("Set Centrality %i %f %li\n", hbtEvent->UncorrectedNumberOfPrimaries(), 
			     10.0*cent->GetCentralityPercentile("V0C"), lrint(10.0*cent->GetCentralityPercentile("V0C")));
    }
  }
  else if (fEstEventMult == kCentralityZNA) {
    // centrality between 0 (central) and 1 (very peripheral)

    if (cent) {
      if (cent->GetCentralityPercentile("ZNA") < 0.00001)
	hbtEvent->SetNormalizedMult(-1);
      else
	hbtEvent->SetNormalizedMult(lrint(10.0*cent->GetCentralityPercentile("ZNA")));
      if (Debug()>1) printf ("Set Centrality %i %f %li\n", hbtEvent->UncorrectedNumberOfPrimaries(), 
			     10.0*cent->GetCentralityPercentile("ZNA"), lrint(10.0*cent->GetCentralityPercentile("ZNA")));
    }
  }
  else if (fEstEventMult == kCentralityZNC) {
    // centrality between 0 (central) and 1 (very peripheral)

    if (cent) {
      if (cent->GetCentralityPercentile("ZNC") < 0.00001)
	hbtEvent->SetNormalizedMult(-1);
      else
	hbtEvent->SetNormalizedMult(lrint(10.0*cent->GetCentralityPercentile("ZNC")));
      if (Debug()>1) printf ("Set Centrality %i %f %li\n", hbtEvent->UncorrectedNumberOfPrimaries(), 
			     10.0*cent->GetCentralityPercentile("ZNC"), lrint(10.0*cent->GetCentralityPercentile("ZNC")));
    }
  }
  else if (fEstEventMult == kCentralityCL1) {
    // centrality between 0 (central) and 1 (very peripheral)

    if (cent) {
      if (cent->GetCentralityPercentile("CL1") < 0.00001)
	hbtEvent->SetNormalizedMult(-1);
      else
	hbtEvent->SetNormalizedMult(lrint(10.0*cent->GetCentralityPercentile("CL1")));
      if (Debug()>1) printf ("Set Centrality %i %f %li\n", hbtEvent->UncorrectedNumberOfPrimaries(), 
			     10.0*cent->GetCentralityPercentile("CL1"), lrint(10.0*cent->GetCentralityPercentile("CL1")));
    }
  }
  else if (fEstEventMult == kCentralityCL0) {
    // centrality between 0 (central) and 1 (very peripheral)

    if (cent) {
      if (cent->GetCentralityPercentile("CL0") < 0.00001)
	hbtEvent->SetNormalizedMult(-1);
      else
	hbtEvent->SetNormalizedMult(lrint(10.0*cent->GetCentralityPercentile("CL0")));
      if (Debug()>1) printf ("Set Centrality %i %f %li\n", hbtEvent->UncorrectedNumberOfPrimaries(), 
			     10.0*cent->GetCentralityPercentile("CL0"), lrint(10.0*cent->GetCentralityPercentile("CL0")));
    }
  }
  else if (fEstEventMult == kCentralityTRK) {
    // centrality between 0 (central) and 1 (very peripheral)

    if (cent) {
      if (cent->GetCentralityPercentile("TRK") < 0.00001)
	hbtEvent->SetNormalizedMult(-1);
      else
	hbtEvent->SetNormalizedMult(lrint(10.0*cent->GetCentralityPercentile("TRK")));
      if (Debug()>1) printf ("Set Centrality %i %f %li\n", hbtEvent->UncorrectedNumberOfPrimaries(), 
			     10.0*cent->GetCentralityPercentile("TRK"), lrint(10.0*cent->GetCentralityPercentile("TRK")));
    }
  }
  else if (fEstEventMult == kCentralityTKL) {
    // centrality between 0 (central) and 1 (very peripheral)

    if (cent) {
      if (cent->GetCentralityPercentile("TKL") < 0.00001)
	hbtEvent->SetNormalizedMult(-1);
      else
	hbtEvent->SetNormalizedMult(lrint(10.0*cent->GetCentralityPercentile("TKL")));
      if (Debug()>1) printf ("Set Centrality %i %f %li\n", hbtEvent->UncorrectedNumberOfPrimaries(), 
			     10.0*cent->GetCentralityPercentile("TKL"), lrint(10.0*cent->GetCentralityPercentile("TKL")));
    }
  }
  else if (fEstEventMult == kCentralityNPA) {
    // centrality between 0 (central) and 1 (very peripheral)

    if (cent) {
      if (cent->GetCentralityPercentile("NPA") < 0.00001)
	hbtEvent->SetNormalizedMult(-1);
      else
	hbtEvent->SetNormalizedMult(lrint(10.0*cent->GetCentralityPercentile("NPA")));
      if (Debug()>1) printf ("Set Centrality %i %f %li\n", hbtEvent->UncorrectedNumberOfPrimaries(), 
			     10.0*cent->GetCentralityPercentile("NPA"), lrint(10.0*cent->GetCentralityPercentile("NPA")));
    }
  }
  else if (fEstEventMult == kCentralityCND) {
    // centrality between 0 (central) and 1 (very peripheral)

    if (cent) {
      if (cent->GetCentralityPercentile("CND") < 0.00001)
	hbtEvent->SetNormalizedMult(-1);
      else
	hbtEvent->SetNormalizedMult(lrint(10.0*cent->GetCentralityPercentile("CND")));
      if (Debug()>1) printf ("Set Centrality %i %f %li\n", hbtEvent->UncorrectedNumberOfPrimaries(), 
			     10.0*cent->GetCentralityPercentile("CND"), lrint(10.0*cent->GetCentralityPercentile("CND")));
    }
  }
  else if (fEstEventMult == kCentralityFMD) {
    // centrality between 0 (central) and 1 (very peripheral)

    if (cent) {
      if (cent->GetCentralityPercentile("FMD") < 0.00001)
	hbtEvent->SetNormalizedMult(-1);
      else
	hbtEvent->SetNormalizedMult(lrint(10.0*cent->GetCentralityPercentile("FMD")));
      if (Debug()>1) printf ("Set Centrality %i %f %li\n", hbtEvent->UncorrectedNumberOfPrimaries(), 
			     10.0*cent->GetCentralityPercentile("FMD"), lrint(10.0*cent->GetCentralityPercentile("FMD")));
    }
  }



  if (tNormMultPos > tNormMultNeg)
    hbtEvent->SetZDCParticipants(tNormMultPos);
  else
    hbtEvent->SetZDCParticipants(tNormMultNeg);
  
  AliEventplane* ep = fEvent->GetEventplane();
  if (ep) {
    hbtEvent->SetEP(ep);
    hbtEvent->SetReactionPlaneAngle(ep->GetEventplane("Q"));
  }

  //V0
  if(fReadV0)
    {
      for (Int_t i = 0; i < fEvent->GetNumberOfV0s(); i++) {
	AliESDv0* esdv0 = fEvent->GetV0(i);
	if (!esdv0) continue;
	//if(esdv0->GetNDaughters()>2) continue;
	//if(esdv0->GetNProngs()>2) continue;
	if(esdv0->Charge()!=0) continue;
	AliESDtrack *trackPos = fEvent->GetTrack(esdv0->GetPindex());
	if(!trackPos) continue;
	AliESDtrack *trackNeg = fEvent->GetTrack(esdv0->GetNindex());
	if(!trackNeg) continue;
	if(trackPos->Charge()==trackNeg->Charge()) continue;
	AliFemtoV0* trackCopyV0 = new AliFemtoV0();
	CopyESDtoFemtoV0(esdv0, trackCopyV0, fEvent);
	hbtEvent->V0Collection()->push_back(trackCopyV0);
	//cout<<"Pushback v0 to v0collection"<<endl;
      }
    }


  if (Debug()>1) cout<<"end of reading nt "<<nofTracks<<" real number "<<realnofTracks<<endl;
}

//___________________
void AliFemtoEventReaderESDChain::SetESDSource(AliESDEvent *aESD)
{
  // The chain loads the ESD for us
  // You must provide the address where it can be found
  fEvent = aESD;
}
//___________________
// void AliFemtoEventReaderESDChain::SetESDfriendSource(AliESDfriend *aFriend)
// {
//   // We need the ESD tree to obtain
//   // information about the friend file location
//   fEventFriend = aFriend;
// }

//____________________________________________________________________
Float_t AliFemtoEventReaderESDChain::GetSigmaToVertex(double *impact, double *covar)
{
  // Calculates the number of sigma to the vertex.

  Float_t b[2];
  Float_t bRes[2];
  Float_t bCov[3];

  b[0] = impact[0];
  b[1] = impact[1];
  bCov[0] = covar[0];
  bCov[1] = covar[1];
  bCov[2] = covar[2];

  bRes[0] = TMath::Sqrt(bCov[0]);
  bRes[1] = TMath::Sqrt(bCov[2]);

  // -----------------------------------
  // How to get to a n-sigma cut?
  //
  // The accumulated statistics from 0 to d is
  //
  // ->  Erf(d/Sqrt(2)) for a 1-dim gauss (d = n_sigma)
  // ->  1 - Exp(-d**2) for a 2-dim gauss (d*d = dx*dx + dy*dy != n_sigma)
  //
  // It means that for a 2-dim gauss: n_sigma(d) = Sqrt(2)*ErfInv(1 - Exp((-x**2)/2)
  // Can this be expressed in a different way?

  if (bRes[0] == 0 || bRes[1] ==0)
    return -1;

  Float_t d = TMath::Sqrt(TMath::Power(b[0]/bRes[0],2) + TMath::Power(b[1]/bRes[1],2));

  // stupid rounding problem screws up everything:
  // if d is too big, TMath::Exp(...) gets 0, and TMath::ErfInverse(1) that should be infinite, gets 0 :(
  if (TMath::Exp(-d * d / 2) < 1e-10)
    return 1000;

  d = TMath::ErfInverse(1 - TMath::Exp(-d * d / 2)) * TMath::Sqrt(2);
  return d;
}

void AliFemtoEventReaderESDChain::CopyESDtoFemtoV0(AliESDv0 *tESDv0, AliFemtoV0 *tFemtoV0, AliESDEvent *tESDevent)
{
  double fPrimaryVtxPosition[3];
  tESDevent->GetPrimaryVertex()->GetXYZ(fPrimaryVtxPosition);
  tFemtoV0->SetdcaV0ToPrimVertex(tESDv0->GetD(fPrimaryVtxPosition[0],fPrimaryVtxPosition[1],fPrimaryVtxPosition[2]));

  //tFemtoV0->SetdecayLengthV0(tESDv0->DecayLengthV0()); //wrocic do tego
  //tFemtoV0->SetdecayVertexV0X(tESDv0->DecayVertexV0X());
  //tFemtoV0->SetdecayVertexV0Y(tESDv0->DecayVertexV0Y());
  //tFemtoV0->SetdecayVertexV0Z(tESDv0->DecayVertexV0Z()); //nie ma w AliESDv0
  //AliFemtoThreeVector decayvertex(tESDv0->DecayVertexV0X(),tESDv0->DecayVertexV0Y(),tESDv0->DecayVertexV0Z());
  //tFemtoV0->SetdecayVertexV0(decayvertex);
  tFemtoV0->SetdcaV0Daughters(tESDv0->GetDcaV0Daughters());
  tFemtoV0->SetmomV0X(tESDv0->Px());
  tFemtoV0->SetmomV0Y(tESDv0->Py());
  tFemtoV0->SetmomV0Z(tESDv0->Pz());
  AliFemtoThreeVector momv0(tESDv0->Px(),tESDv0->Py(),tESDv0->Pz());
  tFemtoV0->SetmomV0(momv0);
  tFemtoV0->SetalphaV0(tESDv0->AlphaV0());
  tFemtoV0->SetptArmV0(tESDv0->PtArmV0());
  //tFemtoV0->SeteLambda(tESDv0->ELambda());
  //tFemtoV0->SeteK0Short(tESDv0->EK0Short());
  //tFemtoV0->SetePosProton(tESDv0->EPosProton());
  //tFemtoV0->SeteNegProton(tESDv0->ENegProton());
  tFemtoV0->SetmassLambda(tESDv0->GetEffMass(4,2));
  tFemtoV0->SetmassAntiLambda(tESDv0->GetEffMass(2,4));
  tFemtoV0->SetmassK0Short(tESDv0->GetEffMass(2,2));
  //tFemtoV0->SetrapLambda(tESDv0->RapLambda());
  //tFemtoV0->SetrapK0Short(tESDv0->RapK0Short());
  tFemtoV0->SetptV0(tESDv0->Pt());
  tFemtoV0->SetptotV0(tESDv0->P());
  tFemtoV0->SetEtaV0(tESDv0->Eta());
  tFemtoV0->SetPhiV0(tESDv0->Phi());
  tFemtoV0->SetCosPointingAngle(tESDv0->GetV0CosineOfPointingAngle(fPrimaryVtxPosition[0],fPrimaryVtxPosition[1], fPrimaryVtxPosition[2]));
  tFemtoV0->SetYV0(tESDv0->Y());

  AliESDtrack *trackpos = tESDevent->GetTrack(tESDv0->GetPindex()); //AliAODTrack *trackpos = (AliAODTrack*)tESDv0->GetDaughter(0);
  AliESDtrack *trackneg = tESDevent->GetTrack(tESDv0->GetNindex()); //AliAODTrack *trackneg = (AliAODTrack*)tESDv0->GetDaughter(1);

  if(trackpos && trackneg)
    {
      tFemtoV0->SetdcaPosToPrimVertex(TMath::Abs(trackpos->GetD(fPrimaryVtxPosition[0],fPrimaryVtxPosition[1],tESDevent->GetMagneticField())));
      tFemtoV0->SetdcaNegToPrimVertex(TMath::Abs(trackneg->GetD(fPrimaryVtxPosition[0],fPrimaryVtxPosition[1],tESDevent->GetMagneticField())));
      double MomPos[3];
      trackpos->PxPyPz(MomPos);
      tFemtoV0->SetmomPosX(MomPos[0]);
      tFemtoV0->SetmomPosY(MomPos[1]);
      tFemtoV0->SetmomPosZ(MomPos[2]);
      AliFemtoThreeVector mompos(MomPos[0],MomPos[1],MomPos[2]);
      tFemtoV0->SetmomPos(mompos);

      double MomNeg[3];
      trackneg->PxPyPz(MomNeg);
      tFemtoV0->SetmomNegX(MomNeg[0]);
      tFemtoV0->SetmomNegY(MomNeg[1]);
      tFemtoV0->SetmomNegZ(MomNeg[2]);
      AliFemtoThreeVector momneg(MomNeg[0],MomNeg[1],MomNeg[2]);
      tFemtoV0->SetmomNeg(momneg);

      tFemtoV0->SetptPos(trackpos->Pt());
      tFemtoV0->SetptotPos(trackpos->P());
      tFemtoV0->SetptNeg(trackneg->Pt());
      tFemtoV0->SetptotNeg(trackneg->P());
      
      tFemtoV0->SetidNeg(trackneg->GetID());
      //cout<<"tESDv0->GetNegID(): "<<tESDv0->GetNegID()<<endl;
      //cout<<"tFemtoV0->IdNeg(): "<<tFemtoV0->IdNeg()<<endl;
      tFemtoV0->SetidPos(trackpos->GetID());
      
      tFemtoV0->SetEtaPos(trackpos->Eta());
      tFemtoV0->SetEtaNeg(trackneg->Eta());

      tFemtoV0->SetEtaPos(trackpos->Eta()); //tESDv0->PseudoRapPos()
      tFemtoV0->SetEtaNeg(trackneg->Eta()); //tESDv0->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->GetTPCchi2()/trackpos->GetTPCNcls());
      tFemtoV0->SetNdofNeg(trackneg->GetTPCchi2()/trackneg->GetTPCNcls());
      tFemtoV0->SetStatusPos(trackpos->GetStatus());
      tFemtoV0->SetStatusNeg(trackneg->GetStatus());

      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[7][0],globalPositionsAtRadiiPos[7][1],globalPositionsAtRadiiPos[7][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[7][0],globalPositionsAtRadiiNeg[7][1],globalPositionsAtRadiiNeg[7][2]};

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

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

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

      tmpVec.SetX(tpcExitNeg[0]); tmpVec.SetX(tpcExitNeg[1]); tmpVec.SetX(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->GetTPCInnerParam()->P()); //trackpos->GetTPCmomentum();
      tFemtoV0->SetTPCMomentumNeg(trackneg->GetTPCInnerParam()->P()); //trackneg->GetTPCmomentum();

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


      if (fESDpid) {
	tFemtoV0->SetPosNSigmaTPCK(fESDpid->NumberOfSigmasTPC(trackpos,AliPID::kKaon));
	tFemtoV0->SetNegNSigmaTPCK(fESDpid->NumberOfSigmasTPC(trackneg,AliPID::kKaon));
	tFemtoV0->SetPosNSigmaTPCP(fESDpid->NumberOfSigmasTPC(trackpos,AliPID::kProton));
	tFemtoV0->SetNegNSigmaTPCP(fESDpid->NumberOfSigmasTPC(trackneg,AliPID::kProton));
	tFemtoV0->SetPosNSigmaTPCPi(fESDpid->NumberOfSigmasTPC(trackpos,AliPID::kPion));
	tFemtoV0->SetNegNSigmaTPCPi(fESDpid->NumberOfSigmasTPC(trackneg,AliPID::kPion));
      }
      else {
	tFemtoV0->SetPosNSigmaTPCK(-1000);
	tFemtoV0->SetNegNSigmaTPCK(-1000);
	tFemtoV0->SetPosNSigmaTPCP(-1000);
	tFemtoV0->SetNegNSigmaTPCP(-1000);
	tFemtoV0->SetPosNSigmaTPCPi(-1000);
	tFemtoV0->SetNegNSigmaTPCPi(-1000);
      }

      if(// (tFemtoV0->StatusPos()&AliESDtrack::kTOFpid)==0 ||
         (tFemtoV0->StatusPos()&AliESDtrack::kTIME)==0 || (tFemtoV0->StatusPos()&AliESDtrack::kTOFout)==0)
	{
	  if(// (tFemtoV0->StatusNeg()&AliESDtrack::kTOFpid)==0 ||
       (tFemtoV0->StatusNeg()&AliESDtrack::kTIME)==0 || (tFemtoV0->StatusNeg()&AliESDtrack::kTOFout)==0)
	    {
	      tFemtoV0->SetPosNSigmaTOFK(-1000);
	      tFemtoV0->SetNegNSigmaTOFK(-1000);
	      tFemtoV0->SetPosNSigmaTOFP(-1000);
	      tFemtoV0->SetNegNSigmaTOFP(-1000);
	      tFemtoV0->SetPosNSigmaTOFPi(-1000);
	      tFemtoV0->SetNegNSigmaTOFPi(-1000);
	    }
	}
      else
	{
	  if (fESDpid) {
	    tFemtoV0->SetPosNSigmaTOFK(fESDpid->NumberOfSigmasTOF(trackpos,AliPID::kKaon));
	    tFemtoV0->SetNegNSigmaTOFK(fESDpid->NumberOfSigmasTOF(trackneg,AliPID::kKaon));
	    tFemtoV0->SetPosNSigmaTOFP(fESDpid->NumberOfSigmasTOF(trackpos,AliPID::kProton));
	    tFemtoV0->SetNegNSigmaTOFP(fESDpid->NumberOfSigmasTOF(trackneg,AliPID::kProton));
	    tFemtoV0->SetPosNSigmaTOFPi(fESDpid->NumberOfSigmasTOF(trackpos,AliPID::kPion));
	    tFemtoV0->SetNegNSigmaTOFPi(fESDpid->NumberOfSigmasTOF(trackneg,AliPID::kPion));
	  }
	  else {
	    tFemtoV0->SetPosNSigmaTOFK(-1000);
	    tFemtoV0->SetNegNSigmaTOFK(-1000);
	    tFemtoV0->SetPosNSigmaTOFP(-1000);
	    tFemtoV0->SetNegNSigmaTOFP(-1000);
	    tFemtoV0->SetPosNSigmaTOFPi(-1000);
	    tFemtoV0->SetNegNSigmaTOFPi(-1000);
	  }
	}
    }
  else
    {
      tFemtoV0->SetStatusPos(999);
      tFemtoV0->SetStatusNeg(999);
    }
  tFemtoV0->SetOnFlyStatusV0(tESDv0->GetOnFlyStatus());
}

void AliFemtoEventReaderESDChain::SetReadTrackType(ReadTrackType aType)
{
  fTrackType = aType;
}

//trigger
void AliFemtoEventReaderESDChain::SetEventTrigger(UInt_t eventtrig)
{
  fEventTrig = eventtrig;
}

//V0 reading
void AliFemtoEventReaderESDChain::SetReadV0(bool a)
{
  fReadV0 = a;
}

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

void AliFemtoEventReaderESDChain::GetGlobalPositionAtGlobalRadiiThroughTPC(AliESDtrack *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 AliFemtoEventReaderESDChain::SetpA2013(Bool_t pA2013)
{
  fpA2013 = pA2013;
}

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

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