ROOT logo
////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// AliFemtoEventReaderStandard - the reader class for the Alice ESD, AOD      //
// the model Kinematics information tailored for the Task framework           //
// Authors: Adam Kisiel Adam.Kisiel@cern.ch                                   //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////
#include "AliFemtoEventReaderStandard.h"

#include "TFile.h"
#include "TTree.h"
#include "TList.h"
#include "TBits.h"
#include "AliESDEvent.h"
#include "AliESDtrack.h"
#include "AliESDVertex.h"

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

#include "SystemOfUnits.h"

#include "AliFemtoEvent.h"

#include "TParticle.h"
#include "AliFemtoModelHiddenInfo.h"
#include "AliFemtoModelGlobalHiddenInfo.h"
#include "AliGenHijingEventHeader.h"
#include "AliGenCocktailEventHeader.h"

#include "AliAODMCHeader.h"
#include "AliAODMCParticle.h"

#include "AliVertexerTracks.h"
#include "assert.h"

ClassImp(AliFemtoEventReaderStandard)

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

using namespace std;
//____________________________
AliFemtoEventReaderStandard::AliFemtoEventReaderStandard():
  AliFemtoEventReader(),
  fFileName(" "),
  fNumberofEvent(0),
  fCurEvent(0),
  fCurFile(0),
  fESDEvent(0x0),
  fAODEvent(0x0),
  fStack(0x0),
  fGenHeader(0x0),
  fInputType(kUnknown),
  fUsePhysicsSel(kFALSE),
  fSelect(0),
  fTrackCuts(0x0),
  fUseTPCOnly(kFALSE)
{
  //constructor with 0 parameters , look at default settings 
}

//__________________
AliFemtoEventReaderStandard::AliFemtoEventReaderStandard(const AliFemtoEventReaderStandard& aReader):
  AliFemtoEventReader(aReader),
  fFileName(" "),
  fNumberofEvent(0),
  fCurEvent(0),
  fCurFile(0),
  fESDEvent(0x0),
  fAODEvent(0x0),
  fStack(0x0),
  fGenHeader(0x0),
  fInputType(kUnknown),
  fUsePhysicsSel(kFALSE),
  fSelect(0),
  fTrackCuts(0x0),
  fUseTPCOnly(kFALSE)
{
  // Copy constructor
  fCurEvent = aReader.fCurEvent;
  fCurFile = aReader.fCurFile;
  fESDEvent = new AliESDEvent();
  fAODEvent = new AliAODEvent();
  fStack = aReader.fStack;
  fInputType = aReader.fInputType;
  fUsePhysicsSel = aReader.fUsePhysicsSel;
  if (fUsePhysicsSel) fSelect = new AliPhysicsSelection();
  fTrackCuts = new AliESDtrackCuts(*(aReader.fTrackCuts));
  fUseTPCOnly = aReader.fUseTPCOnly;
}
//__________________
AliFemtoEventReaderStandard::~AliFemtoEventReaderStandard()
{
  //Destructor
  delete fESDEvent;
  delete fAODEvent;
  if (fTrackCuts) delete fTrackCuts;
}

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

  fCurEvent = aReader.fCurEvent;
  fCurFile = aReader.fCurFile;
  if (fESDEvent) delete fESDEvent;
  fESDEvent = new AliESDEvent();
  if (fAODEvent) delete fAODEvent;
  fAODEvent = new AliAODEvent();
  fStack = aReader.fStack;
  fGenHeader = aReader.fGenHeader;
  fInputType = aReader.fInputType;
  fUsePhysicsSel = aReader.fUsePhysicsSel;
  if (fUsePhysicsSel) fSelect = new AliPhysicsSelection();
  if (fTrackCuts) delete fTrackCuts;
  fTrackCuts = new AliESDtrackCuts(*(aReader.fTrackCuts));
  fUseTPCOnly = aReader.fUseTPCOnly;

  return *this;
}
//__________________
// Simple report
AliFemtoString AliFemtoEventReaderStandard::Report()
{
  AliFemtoString temp = "\n This is the AliFemtoEventReaderStandard\n";
  return temp;
}
//__________________
AliFemtoEvent* AliFemtoEventReaderStandard::ReturnHbtEvent()
{
  // Get the event, read all the relevant information
  // and fill the AliFemtoEvent class
  // Returns a valid AliFemtoEvent
  AliFemtoEvent *hbtEvent = 0;
  string tFriendFileName;

  hbtEvent = new AliFemtoEvent;

  // Get the friend information
  cout<<"starting to read event "<<fCurEvent<<endl;
  if ((fInputType == kESD) || (fInputType == kESDKine)) {
    if(fESDEvent->GetAliESDOld())fESDEvent->CopyFromOldESD();
  
    if (fUsePhysicsSel) {
      hbtEvent->SetIsCollisionCandidate(fSelect->IsCollisionCandidate(fESDEvent));
      if (!(fSelect->IsCollisionCandidate(fESDEvent)))
	printf("Event not a collision candidate\n");
    }
    else
      hbtEvent->SetIsCollisionCandidate(kTRUE);
  }
  else {
    hbtEvent->SetIsCollisionCandidate(kTRUE);
  }

  double fV1[3];

  //setting basic things
  if ((fInputType == kESD) || (fInputType == kESDKine)) {
    hbtEvent->SetRunNumber(fESDEvent->GetRunNumber());
    hbtEvent->SetMagneticField(fESDEvent->GetMagneticField()*kilogauss);//to check if here is ok
    hbtEvent->SetZDCN1Energy(fESDEvent->GetZDCN1Energy());
    hbtEvent->SetZDCP1Energy(fESDEvent->GetZDCP1Energy());
    hbtEvent->SetZDCN2Energy(fESDEvent->GetZDCN2Energy());
    hbtEvent->SetZDCP2Energy(fESDEvent->GetZDCP2Energy());
    hbtEvent->SetZDCEMEnergy(fESDEvent->GetZDCEMEnergy());
    hbtEvent->SetZDCParticipants(fESDEvent->GetZDCParticipants());
    hbtEvent->SetTriggerMask(fESDEvent->GetTriggerMask());
    hbtEvent->SetTriggerCluster(fESDEvent->GetTriggerCluster());

    printf("Got event type %i\n", fESDEvent->GetEventType());

    //Vertex
    double fVCov[6];
    //   if (fUseTPCOnly) {
    //     fESDEvent->GetPrimaryVertexTPC()->GetXYZ(fV1);
    //     fESDEvent->GetPrimaryVertexTPC()->GetCovMatrix(fVCov);
    //     if (!fESDEvent->GetPrimaryVertexTPC()->GetStatus())
    //       fVCov[4] = -1001.0;
    //   }
    //   else {
    if (fESDEvent->GetPrimaryVertex()) {
      fESDEvent->GetPrimaryVertex()->GetXYZ(fV1);
      fESDEvent->GetPrimaryVertex()->GetCovMatrix(fVCov);
      
      if (!fESDEvent->GetPrimaryVertex()->GetStatus()) {
	// Get the vertex from SPD
	fESDEvent->GetPrimaryVertexSPD()->GetXYZ(fV1);
	fESDEvent->GetPrimaryVertexSPD()->GetCovMatrix(fVCov);
	
	
	if (!fESDEvent->GetPrimaryVertexSPD()->GetStatus())
	  fVCov[4] = -1001.0;
	else {
	  fESDEvent->GetPrimaryVertexSPD()->GetXYZ(fV1);
	  fESDEvent->GetPrimaryVertexSPD()->GetCovMatrix(fVCov);
	}
      }
    }
    else {
      if (fESDEvent->GetPrimaryVertexSPD()) {
	fESDEvent->GetPrimaryVertexSPD()->GetXYZ(fV1);
	fESDEvent->GetPrimaryVertexSPD()->GetCovMatrix(fVCov);
      }
    }
    if ((!fESDEvent->GetPrimaryVertex()) && (!fESDEvent->GetPrimaryVertexSPD()))
      {
	cout << "No vertex found !!!" << endl;
	fV1[0] = 10000.0;
	fV1[1] = 10000.0;
	fV1[2] = 10000.0;
	fVCov[4] = -1001.0;
      }
    
    AliFmThreeVectorF vertex(fV1[0],fV1[1],fV1[2]);
    
    hbtEvent->SetPrimVertPos(vertex);
    hbtEvent->SetPrimVertCov(fVCov);
  }
  
  if ((fInputType == kAOD) || (fInputType == kAODKine)) {
    hbtEvent->SetRunNumber(fAODEvent->GetRunNumber());
    hbtEvent->SetMagneticField(fAODEvent->GetMagneticField()*kilogauss);//to check if here is ok
    hbtEvent->SetZDCN1Energy(fAODEvent->GetZDCN1Energy());
    hbtEvent->SetZDCP1Energy(fAODEvent->GetZDCP1Energy());
    hbtEvent->SetZDCN2Energy(fAODEvent->GetZDCN2Energy());
    hbtEvent->SetZDCP2Energy(fAODEvent->GetZDCP2Energy());
    hbtEvent->SetZDCEMEnergy(fAODEvent->GetZDCEMEnergy(0));
    hbtEvent->SetZDCParticipants(0);
    hbtEvent->SetTriggerMask(fAODEvent->GetTriggerMask());
    hbtEvent->SetTriggerCluster(fAODEvent->GetTriggerCluster());

    // Primary Vertex position
    fAODEvent->GetPrimaryVertex()->GetPosition(fV1);
    
    AliFmThreeVectorF vertex(fV1[0],fV1[1],fV1[2]);
    hbtEvent->SetPrimVertPos(vertex);
  }

  if ((fInputType == kESDKine) || (fInputType == kAODKine)) {
    Double_t tReactionPlane = 0;

    AliGenHijingEventHeader *hdh = dynamic_cast<AliGenHijingEventHeader *> (fGenHeader);	
    if (!hdh) {
      AliGenCocktailEventHeader *cdh = dynamic_cast<AliGenCocktailEventHeader *> (fGenHeader);
      if (cdh) {
	TList *tGenHeaders = cdh->GetHeaders();
	for (int ihead = 0; ihead<tGenHeaders->GetEntries(); ihead++) {
	  hdh = dynamic_cast<AliGenHijingEventHeader *> (fGenHeader);	
	  if (hdh) break;
	}
      }
    }
    if (hdh)
      {
	tReactionPlane = hdh->ReactionPlaneAngle();
	cout << "Got reaction plane " << tReactionPlane << endl;
      }
    
    hbtEvent->SetReactionPlaneAngle(tReactionPlane);
  }

  //starting to reading tracks
  int nofTracks=0;  //number of reconstructed tracks in event
  if ((fInputType == kESD) || (fInputType == kESDKine))
    nofTracks = fESDEvent->GetNumberOfTracks();
  else if ((fInputType == kAOD) || (fInputType == kAODKine))
    nofTracks = fAODEvent->GetNumberOfTracks();

  int realnofTracks=0;//number of track which we use ina analysis

  TClonesArray *mcP = 0;
  Int_t *motherids=0;

  if (fInputType == kAODKine) {
    // Attempt to access MC header
    AliAODMCHeader *mcH;
    mcH = (AliAODMCHeader *) fAODEvent->FindListObject(AliAODMCHeader::StdBranchName());
    if (!mcH) {
      cout << "AOD MC information requested, but no header found!" << endl;
    }
    
    mcP = (TClonesArray *) fAODEvent->FindListObject(AliAODMCParticle::StdBranchName());
    if (!mcP) {
      cout << "AOD MC information requested, but no particle array found!" << endl;
    }
    AliAODHeader * header = dynamic_cast<AliAODHeader*>(fAODEvent->GetHeader());
    assert(header&&"Not a standard AOD");

    hbtEvent->SetReactionPlaneAngle(header->GetQTheta(0)/2.0);
    
    if (mcP) {
      motherids = new Int_t[((AliAODMCParticle *) mcP->At(mcP->GetEntries()-1))->GetLabel()];
      for (int ip=0; ip<mcP->GetEntries(); ip++) motherids[ip] = 0;
      
      // Read in mother ids
      AliAODMCParticle *motherpart;
      for (int ip=0; ip<mcP->GetEntries(); ip++) {
	motherpart = (AliAODMCParticle *) mcP->At(ip);
	if (motherpart->GetDaughter(0) > 0)
	  motherids[motherpart->GetDaughter(0)] = ip;
	if (motherpart->GetDaughter(1) > 0)
	  motherids[motherpart->GetDaughter(1)] = ip;
      }
    }
  }
  
  if (fInputType == kESDKine) {
    motherids = new Int_t[fStack->GetNtrack()];
    for (int ip=0; ip<fStack->GetNtrack(); ip++) motherids[ip] = 0;

    // Read in mother ids
    TParticle *motherpart;
    for (int ip=0; ip<fStack->GetNtrack(); ip++) {
      motherpart = fStack->Particle(ip);
      if (motherpart->GetDaughter(0) > 0)
	motherids[motherpart->GetDaughter(0)] = ip;
      if (motherpart->GetDaughter(1) > 0)
	motherids[motherpart->GetDaughter(1)] = ip;
    }
  }

  for (int i=0;i<nofTracks;i++)
    {
      //      cout << "Reading track " << i << endl;
      bool  tGoodMomentum=true; //flaga to chcek if we can read momentum of this track
		
      AliFemtoTrack* trackCopy = new AliFemtoTrack();	

      if ((fInputType == kESD) || (fInputType == kESDKine)) {
	
	AliESDtrack *esdtrack = 0x0;
	if (fUseTPCOnly) {
	  AliESDtrack *mcp = fESDEvent->GetTrack(i);
	  esdtrack = AliESDtrackCuts::GetTPCOnlyTrack(fESDEvent, mcp->GetID());
	  //	  printf("Got %p for track %i | ", esdtrack, mcp->GetID());
	}
	else {
	  esdtrack = fESDEvent->GetTrack(i);//getting next track
	}

	if (esdtrack && (fTrackCuts->AcceptTrack(esdtrack))) {

	  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);
	  trackCopy->SetPidProbElectron(esdpid[0]);
	  trackCopy->SetPidProbMuon(esdpid[1]);
	  trackCopy->SetPidProbPion(esdpid[2]);
	  trackCopy->SetPidProbKaon(esdpid[3]);
	  trackCopy->SetPidProbProton(esdpid[4]);
	  
	  double pxyz[3];
	  double impact[2];
	  double covimpact[3];
      
	  // 	  if (fUseTPCOnly) {
	  // 	    if (!esdtrack->GetTPCInnerParam()) {
	  // 	      cout << "No TPC inner param !" << endl;
	  // 	      delete trackCopy;
	  // 	      continue;
	  // 	    }

	  // 	    AliExternalTrackParam *param = new AliExternalTrackParam(*esdtrack->GetTPCInnerParam());
	  // 	    param->GetXYZ(rxyz);
	  // 	    param->PropagateToDCA(fESDEvent->GetPrimaryVertexTPC(), (fESDEvent->GetMagneticField()), 10000, impact, covimpact);
	  // 	    param->GetPxPyPz(pxyz);//reading noconstarined momentum
	    
	  // 	    if (fRotateToEventPlane) {
	  // 	      double tPhi = TMath::ATan2(pxyz[1], pxyz[0]);
	  // 	      double tRad = TMath::Hypot(pxyz[0], pxyz[1]);
	      
	  // 	      pxyz[0] = tRad*TMath::Cos(tPhi - tReactionPlane);
	  // 	      pxyz[1] = tRad*TMath::Sin(tPhi - tReactionPlane);
	  // 	    }
	    
	  // 	    AliFemtoThreeVector v(pxyz[0],pxyz[1],pxyz[2]);
	  // 	    if (v.mag() < 0.0001) {
	  // 	      //	  cout << "Found 0 momentum ???? " << pxyz[0] << " " << pxyz[1] << " " << pxyz[2] << 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)(fESDEvent->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 (fUseTPCOnly)
	    tGoodMomentum=esdtrack->GetPxPyPz(pxyz);
	  else
	    tGoodMomentum=esdtrack->GetConstrainedPxPyPz(pxyz); //reading constrained momentum
	  //	  printf("Got good momentum %i\n", tGoodMomentum);

	  AliFemtoThreeVector v(pxyz[0],pxyz[1],pxyz[2]);
	  if (v.Mag() < 0.0001) {
	    
	    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)(fESDEvent->GetMagneticField())*kilogauss,(double)(trackCopy->Charge())); 
	  trackCopy->SetHelix(helix);
	
	  //some stuff which could be useful 
	  float imp[2];
	  float cim[3];
	  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(AliESDtrackCuts::GetSigmaToVertex(esdtrack));
	    	
	  trackCopy->SetTrackId(esdtrack->GetID());
	  trackCopy->SetFlags(esdtrack->GetStatus());
	  trackCopy->SetLabel(esdtrack->GetLabel());
		
	  trackCopy->SetITSchi2(esdtrack->GetITSchi2());    
	  trackCopy->SetITSncls(esdtrack->GetNcls(0));     
	  trackCopy->SetTPCchi2(esdtrack->GetTPCchi2());       
	  trackCopy->SetTPCncls(esdtrack->GetTPCNcls());       
	  trackCopy->SetTPCnclsF(esdtrack->GetTPCNclsF());      
	  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);

	  // Fill the hidden information with the simulated data
	  if (fInputType == kESDKine) {
	    if (TMath::Abs(esdtrack->GetLabel()) < fStack->GetNtrack()) {
	      TParticle *tPart = fStack->Particle(TMath::Abs(esdtrack->GetLabel()));

	      // Check the mother information
	      
	      // Using the new way of storing the freeze-out information
	      // Final state particle is stored twice on the stack
	      // one copy (mother) is stored with original freeze-out information
	      //   and is not tracked
	      // the other one (daughter) is stored with primary vertex position
	      //   and is tracked
	      
	      // Freeze-out coordinates
	      double fpx=0.0, fpy=0.0, fpz=0.0, fpt=0.0;
	      fpx = tPart->Vx() - fV1[0];
	      fpy = tPart->Vy() - fV1[1];
	      fpz = tPart->Vz() - fV1[2];
	      fpt = tPart->T();
	      
	      AliFemtoModelGlobalHiddenInfo *tInfo = new AliFemtoModelGlobalHiddenInfo();
	      tInfo->SetGlobalEmissionPoint(fpx, fpy, fpz);
	      
	      fpx *= 1e13;
	      fpy *= 1e13;
	      fpz *= 1e13;
	      fpt *= 1e13;
	      
	      if (motherids[TMath::Abs(esdtrack->GetLabel())]>0) {
		TParticle *mother = fStack->Particle(motherids[TMath::Abs(esdtrack->GetLabel())]);
		// Check if this is the same particle stored twice on the stack
		if ((mother->GetPdgCode() == tPart->GetPdgCode() || (mother->Px() == tPart->Px()))) {
		  // It is the same particle
		  // Read in the original freeze-out information
		  // and convert it from to [fm]
		  
		  // EPOS style 
		  fpx = mother->Vx()*1e13*0.197327;
		  fpy = mother->Vy()*1e13*0.197327;
		  fpz = mother->Vz()*1e13*0.197327;
		  fpt = mother->T() *1e13*0.197327;
		  
		  
		  // Therminator style 
		  // 	    fpx = mother->Vx()*1e13;
		  // 	    fpy = mother->Vy()*1e13;
		  // 	    fpz = mother->Vz()*1e13;
		  // 	    fpt = mother->T() *1e13*3e10;
		  
		}
	      }
	
	      tInfo->SetPDGPid(tPart->GetPdgCode());
	
	      tInfo->SetTrueMomentum(tPart->Px(), tPart->Py(), tPart->Pz());
	      Double_t mass2 = (tPart->Energy() *tPart->Energy() -
				tPart->Px()*tPart->Px() -
				tPart->Py()*tPart->Py() -
				tPart->Pz()*tPart->Pz());
	      if (mass2>0.0)
		tInfo->SetMass(TMath::Sqrt(mass2));
	      else 
		tInfo->SetMass(0.0);
	      
	      tInfo->SetEmissionPoint(fpx, fpy, fpz, fpt);
	      trackCopy->SetHiddenInfo(tInfo);
	    }
	    else {
	      AliFemtoModelGlobalHiddenInfo *tInfo = new AliFemtoModelGlobalHiddenInfo();
	      tInfo->SetMass(0.0);
	      double fpx=0.0, fpy=0.0, fpz=0.0, fpt=0.0;
	      fpx = fV1[0]*1e13;
	      fpy = fV1[1]*1e13;
	      fpz = fV1[2]*1e13;
	      fpt = 0.0;
	      tInfo->SetEmissionPoint(fpx, fpy, fpz, fpt);
	      
	      tInfo->SetTrueMomentum(pxyz[0],pxyz[1],pxyz[2]);
	      
	      trackCopy->SetHiddenInfo(tInfo);
	    }
	  }
	  //      cout << "Got freeze-out " << fpx << " " << fpy << " " << fpz << " " << fpt << " " <<  mass2 << " " << tPart->GetPdgCode() << endl; 
	}
	else 
	  tGoodMomentum = false;
	
	if (fUseTPCOnly)
	  if (esdtrack) delete esdtrack;
      }

      if ((fInputType == kAOD) || (fInputType == kAODKine)) {
	// Read in the normal AliAODTracks 
	const AliAODTrack *aodtrack=dynamic_cast<const AliAODTrack*>(fAODEvent->GetTrack(i));
        assert(aodtrack&&"Not a standard AOD"); // getting the AODtrack directly
	
	// 	if (!aodtrack->TestFilterBit(fFilterBit))
	// 	  continue;
	
	CopyAODtoFemtoTrack(aodtrack, trackCopy);
	
	if (mcP) {
	  // Fill the hidden information with the simulated data
	  //	  Int_t pLabel = aodtrack->GetLabel();
	  AliAODMCParticle *tPart = GetParticleWithLabel(mcP, (TMath::Abs(aodtrack->GetLabel())));
	  
	  AliFemtoModelGlobalHiddenInfo *tInfo = new AliFemtoModelGlobalHiddenInfo();
	  double fpx=0.0, fpy=0.0, fpz=0.0, fpt=0.0;
	  if (!tPart) {
	    fpx = fV1[0];
	    fpy = fV1[1];
	    fpz = fV1[2];
	    tInfo->SetGlobalEmissionPoint(fpx, fpy, fpz);
	    tInfo->SetPDGPid(0);
	    tInfo->SetTrueMomentum(0.0, 0.0, 0.0);
	    tInfo->SetEmissionPoint(0.0, 0.0, 0.0, 0.0);
	    tInfo->SetMass(0);
	  }
	  else {
	    // Check the mother information
	  
	    // Using the new way of storing the freeze-out information
	    // Final state particle is stored twice on the stack
	    // one copy (mother) is stored with original freeze-out information
	    //   and is not tracked
	    // the other one (daughter) is stored with primary vertex position
	    //   and is tracked
	    
	    // Freeze-out coordinates
	    fpx = tPart->Xv() - fV1[0];
	    fpy = tPart->Yv() - fV1[1];
	    fpz = tPart->Zv() - fV1[2];
	    //	  fpt = tPart->T();
	    
	    tInfo->SetGlobalEmissionPoint(fpx, fpy, fpz);
	    
	    fpx *= 1e13;
	    fpy *= 1e13;
	    fpz *= 1e13;
	    //	  fpt *= 1e13;
	    
	    //      cout << "Looking for mother ids " << endl;
	    if (motherids[TMath::Abs(aodtrack->GetLabel())]>0) {
	      //	cout << "Got mother id" << endl;
	      AliAODMCParticle *mother = GetParticleWithLabel(mcP, motherids[TMath::Abs(aodtrack->GetLabel())]);
	      // Check if this is the same particle stored twice on the stack
	      if (mother) {
		if ((mother->GetPdgCode() == tPart->GetPdgCode() || (mother->Px() == tPart->Px()))) {
		  // It is the same particle
		  // Read in the original freeze-out information
		  // and convert it from to [fm]
		  
		  // EPOS style 
		  // 	  fpx = mother->Xv()*1e13*0.197327;
		  // 	  fpy = mother->Yv()*1e13*0.197327;
		  // 	  fpz = mother->Zv()*1e13*0.197327;
		  // 	  fpt = mother->T() *1e13*0.197327*0.5;
		  
		  
		  // Therminator style 
		  fpx = mother->Xv()*1e13;
		  fpy = mother->Yv()*1e13;
		  fpz = mother->Zv()*1e13;
		  //	      fpt = mother->T() *1e13*3e10;
		  
		}
	      }
	    }
	    
	    //       if (fRotateToEventPlane) {
	    // 	double tPhi = TMath::ATan2(fpy, fpx);
	    // 	double tRad = TMath::Hypot(fpx, fpy);
	    
	    // 	fpx = tRad*TMath::Cos(tPhi - tReactionPlane);
	    // 	fpy = tRad*TMath::Sin(tPhi - tReactionPlane);
	    //       }
	    
	    tInfo->SetPDGPid(tPart->GetPdgCode());
	    
	    // 	  if (fRotateToEventPlane) {
	    // 	    double tPhi = TMath::ATan2(tPart->Py(), tPart->Px());
	    // 	    double tRad = TMath::Hypot(tPart->Px(), tPart->Py());
	    
	    // 	    tInfo->SetTrueMomentum(tRad*TMath::Cos(tPhi - tReactionPlane),
	    // 				   tRad*TMath::Sin(tPhi - tReactionPlane),
	    // 				   tPart->Pz());
	    // 	  }
	    //       else
	    tInfo->SetTrueMomentum(tPart->Px(), tPart->Py(), tPart->Pz());
	    Double_t mass2 = (tPart->E() *tPart->E() -
			      tPart->Px()*tPart->Px() -
			      tPart->Py()*tPart->Py() -
			      tPart->Pz()*tPart->Pz());
	    if (mass2>0.0)
	      tInfo->SetMass(TMath::Sqrt(mass2));
	    else 
	      tInfo->SetMass(0.0);
	    
	    tInfo->SetEmissionPoint(fpx, fpy, fpz, fpt);
	  }
	  trackCopy->SetHiddenInfo(tInfo);
	}

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

      }
      
	
      //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;
	}
      
    }
  
  if (motherids)
    delete [] motherids;
  
  hbtEvent->SetNumberOfTracks(realnofTracks);//setting number of track which we read in event	
  fCurEvent++;	
  //  cout<<"end of reading nt "<<nofTracks<<" real number "<<realnofTracks<<endl;
  return hbtEvent; 
}
//___________________
void AliFemtoEventReaderStandard::SetESDSource(AliESDEvent *aESD)
{
  // The chain loads the ESD for us
  // You must provide the address where it can be found
  fESDEvent = aESD;
}
//___________________
void AliFemtoEventReaderStandard::SetAODSource(AliAODEvent *aAOD)
{
  // The chain loads the ESD for us
  // You must provide the address where it can be found
  fAODEvent = aAOD;
}
//___________________
void AliFemtoEventReaderStandard::SetStackSource(AliStack *aStack)
{
  // The chain loads the stack for us
  // You must provide the address where it can be found
  fStack = aStack;
}
void AliFemtoEventReaderStandard::SetInputType(AliFemtoInputType aInput)
{
  // Set the proper input type
  fInputType = aInput;
}
//___________________
void AliFemtoEventReaderStandard::SetGenEventHeader(AliGenEventHeader *aGenHeader)
{
  // The chain loads the generator event header for us
  // You must provide the address where it can be found
  fGenHeader = aGenHeader;
}

void AliFemtoEventReaderStandard::SetUsePhysicsSelection(const bool usephysics)
{
  fUsePhysicsSel = usephysics;
  if (!fSelect) fSelect = new AliPhysicsSelection();
}

void AliFemtoEventReaderStandard::SetESDTrackCuts(AliESDtrackCuts *esdcuts)
{
  // Set external ESD track cuts
  fTrackCuts = esdcuts;
}

void AliFemtoEventReaderStandard::SetUseTPCOnly(const bool usetpconly)
{
  // Set flag to use TPC only tracks
  fUseTPCOnly = usetpconly;
}

void AliFemtoEventReaderStandard::CopyAODtoFemtoTrack(const AliAODTrack *tAodTrack, 
						      AliFemtoTrack *tFemtoTrack)
{
  // Copy the track information from the AOD into the internal AliFemtoTrack
  // If it exists, use the additional information from the PWG2 AOD

  // Primary Vertex position
  double fV1[3];
  fAODEvent->GetPrimaryVertex()->GetPosition(fV1);

  tFemtoTrack->SetCharge(tAodTrack->Charge());
  
  //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

  // AOD pid has 10 components
  double aodpid[10];
  tAodTrack->GetPID(aodpid);
  tFemtoTrack->SetPidProbElectron(aodpid[0]);
  tFemtoTrack->SetPidProbMuon(aodpid[1]);
  tFemtoTrack->SetPidProbPion(aodpid[2]);
  tFemtoTrack->SetPidProbKaon(aodpid[3]);
  tFemtoTrack->SetPidProbProton(aodpid[4]);
						
  double pxyz[3];
  tAodTrack->PxPyPz(pxyz);//reading noconstrained momentum
  AliFemtoThreeVector v(pxyz[0],pxyz[1],pxyz[2]);
  tFemtoTrack->SetP(v);//setting momentum
  tFemtoTrack->SetPt(sqrt(pxyz[0]*pxyz[0]+pxyz[1]*pxyz[1]));
  const AliFmThreeVectorD kOrigin(fV1[0],fV1[1],fV1[2]);
  //setting track helix 
  const AliFmThreeVectorD ktP(pxyz[0],pxyz[1],pxyz[2]);
  AliFmPhysicalHelixD helix(ktP,kOrigin,(double)(fAODEvent->GetMagneticField())*kilogauss,(double)(tFemtoTrack->Charge())); 
  tFemtoTrack->SetHelix(helix);
	    	
  // Flags
  tFemtoTrack->SetTrackId(tAodTrack->GetID());
  tFemtoTrack->SetFlags(1);
  tFemtoTrack->SetLabel(tAodTrack->GetLabel());
		
  // Track quality information 
  float covmat[6];
  tAodTrack->GetCovMatrix(covmat);
  tFemtoTrack->SetImpactD(covmat[0]);
  tFemtoTrack->SetImpactZ(covmat[2]);
  tFemtoTrack->SetCdd(covmat[3]);
  tFemtoTrack->SetCdz(covmat[4]);
  tFemtoTrack->SetCzz(covmat[5]);
  // This information is only available in the ESD
  // We put in fake values or reasonable estimates
  tFemtoTrack->SetITSchi2(tAodTrack->Chi2perNDF());    
  tFemtoTrack->SetITSncls(1);     
  tFemtoTrack->SetTPCchi2(tAodTrack->Chi2perNDF());       
  tFemtoTrack->SetTPCncls(1);       
  tFemtoTrack->SetTPCnclsF(1);      
  tFemtoTrack->SetTPCsignalN(1); 
  tFemtoTrack->SetTPCsignalS(1); 

  TBits tAllTrue;
  TBits tAllFalse;
  tAllTrue.ResetAllBits(kTRUE);
  tAllFalse.ResetAllBits(kFALSE);
  

  // If not use dummy values
  tFemtoTrack->SetTPCClusterMap(tAllTrue);
  tFemtoTrack->SetTPCSharedMap(tAllFalse);
  
  double xtpc[3] = {0,0,0};
  tFemtoTrack->SetNominalTPCEntrancePoint(xtpc);
  tFemtoTrack->SetNominalTPCExitPoint(xtpc);

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

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

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