ROOT logo
/////////////////////////////////////////////////////////////////////////////////////
//                                                                                 //
// AliFemtoEventReaderKinematicsChainESD - the reader class for the Alice ESD and     //
// the model Kinematics information tailored for the Task framework and the        //
// Reads in AliESDfriend to create shared hit/quality information                  //
// Authors: Malgorzata Janik, Warsaw University of Technology, majanik@cern.ch     //
//          Lukasz Graczykowski, Warsaw University of Technology, lgraczyk@cern.ch //
//  	       				                                           //
/////////////////////////////////////////////////////////////////////////////////////

#include "AliFemtoEventReaderKinematicsChainESD.h"

#include "TFile.h"
#include "TTree.h"
#include "TList.h"

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

#include "SystemOfUnits.h"

#include "AliFemtoEvent.h"

#include "TParticle.h"
#include "AliStack.h"
#include "AliESDEvent.h"
#include "AliCentrality.h"
#include "TParticlePDG.h"
#include "AliFemtoModelHiddenInfo.h"
#include "AliFemtoModelGlobalHiddenInfo.h"
#include "AliGenHijingEventHeader.h"
#include "AliGenCocktailEventHeader.h"

#include "AliVertexerTracks.h"

ClassImp(AliFemtoEventReaderKinematicsChainESD)

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

using namespace std;
//____________________________
AliFemtoEventReaderKinematicsChainESD::AliFemtoEventReaderKinematicsChainESD():
  fFileName(" "),
  fConstrained(true),
  fNumberofEvent(0),
  fCurEvent(0),
  fCurFile(0),
  fStack(0x0),
  fEvent(0x0),
  fGenHeader(0x0),
  fEstEventMult(kGlobalCount),
  fRotateToEventPlane(0)
{
  //constructor with 0 parameters , look at default settings 
}

//__________________
AliFemtoEventReaderKinematicsChainESD::AliFemtoEventReaderKinematicsChainESD(const AliFemtoEventReaderKinematicsChainESD& aReader):
  AliFemtoEventReader(aReader),
  fFileName(" "),
  fConstrained(true),
  fNumberofEvent(0),
  fCurEvent(0),
  fCurFile(0),
  fStack(0x0),
  fEvent(0x0),
  fGenHeader(0x0),
  fEstEventMult(kGlobalCount),
  fRotateToEventPlane(0)
{
  // Copy constructor
  fConstrained = aReader.fConstrained;
  fNumberofEvent = aReader.fNumberofEvent;
  fCurEvent = aReader.fCurEvent;
  fCurFile = aReader.fCurFile;
  fStack = aReader.fStack;
  fEvent = aReader.fEvent;
  fEstEventMult = aReader.fEstEventMult;
  fRotateToEventPlane = aReader.fRotateToEventPlane;
}
//__________________
AliFemtoEventReaderKinematicsChainESD::~AliFemtoEventReaderKinematicsChainESD()
{
  //Destructor
  //delete fEvent;
}

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

  fConstrained = aReader.fConstrained;
  fNumberofEvent = aReader.fNumberofEvent;
  fCurEvent = aReader.fCurEvent;
  fCurFile = aReader.fCurFile;
  fStack = aReader.fStack;
  fEvent = aReader.fEvent;
  fGenHeader = aReader.fGenHeader;
  fEstEventMult = aReader.fEstEventMult;
  fRotateToEventPlane = aReader.fRotateToEventPlane;
  return *this;
}
//__________________
// Simple report
AliFemtoString AliFemtoEventReaderKinematicsChainESD::Report()
{
  AliFemtoString temp = "\n This is the AliFemtoEventReaderKinematicsChainESD\n";
  return temp;
}

//__________________
void AliFemtoEventReaderKinematicsChainESD::SetConstrained(bool constrained)
{
  // Select whether to read constrained or not constrained momentum
  fConstrained=constrained;
}
//__________________
bool AliFemtoEventReaderKinematicsChainESD::GetConstrained() const
{
  // Check whether we read constrained or not constrained momentum
  return fConstrained;
}
//__________________
AliFemtoEvent* AliFemtoEventReaderKinematicsChainESD::ReturnHbtEvent()
{
  // Get the event, read all the relevant information from the stack
  // and fill the AliFemtoEvent class
  // Returns a valid AliFemtoEvent
  AliFemtoEvent *hbtEvent = 0;
  string tFriendFileName;

  cout << "AliFemtoEventReaderKinematicsChainESD::Starting to read event: "<<fCurEvent<<endl;
	
  hbtEvent = new AliFemtoEvent;
  //setting basic things
  //  hbtEvent->SetEventNumber(fEvent->GetEventNumber());
  hbtEvent->SetRunNumber(0); //No Run number in Kinematics!
  hbtEvent->SetMagneticField(0*kilogauss);//to check if here is ok
  hbtEvent->SetZDCN1Energy(0);
  hbtEvent->SetZDCP1Energy(0);
  hbtEvent->SetZDCN2Energy(0);
  hbtEvent->SetZDCP2Energy(0);
  hbtEvent->SetZDCEMEnergy(0);
  hbtEvent->SetZDCParticipants(0);
  hbtEvent->SetTriggerMask(0);
  hbtEvent->SetTriggerCluster(0);
	
  //Vertex
  double fV1[3] = {0.0,0.0,0.0};
  double fVCov[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};


  AliFmThreeVectorF vertex(0,0,0);
    
  
  hbtEvent->SetPrimVertPos(vertex);
  hbtEvent->SetPrimVertCov(fVCov);

  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 all tracks in MC event
  nofTracks=fStack->GetNtrack(); 
  int realnofTracks=0;//number of track which we use in analysis


  int tNormMult = 0;
  int tV0direction = 0;
  for (int i=0;i<nofTracks;i++)
    {
      //take only primaries
      if(!fStack->IsPhysicalPrimary(i)) {continue;}
	  	  
      AliFemtoTrack* trackCopy = new AliFemtoTrack();	
	
      	  //getting next track
      TParticle *kinetrack= fStack->Particle(i);

      //setting multiplicity
        realnofTracks++;//real number of tracks (only primary particles)

      //setting normalized multiplicity
      
	if(kinetrack->GetPDG()->Charge()/3!=0)
	  if (kinetrack->Pt() > 0.15 && kinetrack->Pt() < 20) 
	    if (kinetrack->Eta() < 0.8)
	      tNormMult++;
	  
	//counting particles that go into direction of VZERO detector
	if(kinetrack->Eta() > 2.8 && kinetrack->Eta() < 5.1) //VZERO-A
	  tV0direction++;
	if(kinetrack->Eta() > -3.7 && kinetrack->Eta() < -1.7)//VZERO-C
	  tV0direction++;	
 
	  //charge
      trackCopy->SetCharge((short)(fStack->Particle(i)->GetPDG()->Charge()/3));


      //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 kinepid[5];
      for(int pid_iter=0;pid_iter<5;pid_iter++)
	  kinepid[pid_iter]=0;

      int pdgcode = kinetrack->GetPdgCode();
      //proton
      if(pdgcode==2212 || pdgcode==-2212)
        kinepid[4]=1000;
      //kaon
      else if(pdgcode==321 || pdgcode==-321 )
        kinepid[3]=1000;
      //pion
      else if( pdgcode==211 || pdgcode==-211)
        kinepid[2]=1000;
      //electron
      else if(pdgcode==11 || pdgcode==-11)
        kinepid[0]=1000;
      //muon
      else if(pdgcode==13 || pdgcode==-13)
        kinepid[1]=1000;
      else
	continue;
      trackCopy->SetPidProbElectron(kinepid[0]);
      trackCopy->SetPidProbMuon(kinepid[1]);
      trackCopy->SetPidProbPion(kinepid[2]);
      trackCopy->SetPidProbKaon(kinepid[3]);
      trackCopy->SetPidProbProton(kinepid[4]);
					
					
	//Momentum
      double pxyz[3];
      // double rxyz[3];
     
	pxyz[0]=kinetrack->Px();
	pxyz[1]=kinetrack->Py();
	pxyz[2]=kinetrack->Pz();

	// rxyz[0]=kinetrack->Vx();
	// rxyz[1]=kinetrack->Vy();
	// rxyz[2]=kinetrack->Vz();

	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]);

	//label
	trackCopy->SetLabel(i);


	hbtEvent->TrackCollection()->push_back(trackCopy);//adding track to analysis
	//cout<<"Track added: "<<i<<endl;
		
    }
  
  hbtEvent->SetNumberOfTracks(realnofTracks);//setting number of track which we read in event

  if (fEstEventMult == kGlobalCount) 
    hbtEvent->SetNormalizedMult(tNormMult);
  else if(fEstEventMult == kVZERO)
    hbtEvent->SetNormalizedMult(tV0direction);
  else if (fEstEventMult == kReferenceITSTPC)
    {
      hbtEvent->SetNormalizedMult(AliESDtrackCuts::GetReferenceMultiplicity(fEvent,AliESDtrackCuts::kTrackletsITSTPC,1.2));
    }
  else if (fEstEventMult == kCentrality) {
    // centrality between 0 (central) and 1 (very peripheral)
    AliCentrality *cent = fEvent->GetCentrality();
    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")));
    }
  }

  fCurEvent++;	


  //V0 analysis code - no V0 finder for Kinematics, we can only check if it is primary and if it has at least 2 daughters.

  for (int i=0;i<nofTracks;i++)
    {
      //do not take primaries
      if(!fStack->IsPhysicalPrimary(i)) {continue;}
      //getting next track
      TParticle *kinetrack= fStack->Particle(i);
      if (!kinetrack) continue;
      
      if(kinetrack->GetPDG()->Charge()!=0) continue; //charge - neutral
      //if(kinetrack->GetPDG()->Stable()==1) continue; //particle is not stable
      if(kinetrack->GetDaughter(0)<1) continue; //has 1'st daughter
      if(kinetrack->GetDaughter(1)<1) continue;  //has 2'nd daughter
 
      //we want one positive, one negative particle. Or two neutral.
      // if((fStack->Particle(kinetrack->GetDaughter(0)))->GetPDG()->Charge()>=0)
      // 	if((fStack->Particle(kinetrack->GetDaughter(1)))->GetPDG()->Charge()>0)
      // 	  continue;
      // if((fStack->Particle(kinetrack->GetDaughter(0)))->GetPDG()->Charge()<=0)
      // 	if((fStack->Particle(kinetrack->GetDaughter(0)))->GetPDG()->Charge()<0)
      // 	  continue;
      
      if(kinetrack->Pt()<0.00001)
	continue;
      
      AliFemtoV0* trackCopyV0 = new AliFemtoV0();
      CopyAODtoFemtoV0(kinetrack, trackCopyV0);
      hbtEvent->V0Collection()->push_back(trackCopyV0);
    //cout<<"Pushback v0 to v0collection"<<endl;
    }


  cout<<"Number of tracks: "<<realnofTracks<<endl;

  return hbtEvent; 
}

//___________________
void AliFemtoEventReaderKinematicsChainESD::SetStackSource(AliStack *aStack)
{
  // The chain loads the stack for us
  // You must provide the address where it can be found
  fStack = aStack;
}
void AliFemtoEventReaderKinematicsChainESD::SetESDSource(AliESDEvent *aESD)
{
  // The chain loads the ESD for us
  // You must provide the address where it can be found
  fEvent = aESD;
}
//___________________
void AliFemtoEventReaderKinematicsChainESD::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 AliFemtoEventReaderKinematicsChainESD::SetRotateToEventPlane(short dorotate)
{
  fRotateToEventPlane=dorotate;
}

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

Float_t AliFemtoEventReaderKinematicsChainESD::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 AliFemtoEventReaderKinematicsChainESD::CopyAODtoFemtoV0(TParticle *tv0, AliFemtoV0 *tFemtoV0 )
{
  tFemtoV0->SetEtaV0(tv0->Eta());
  tFemtoV0->SetEtaV0(tv0->Phi());
  tFemtoV0->SetptV0(tv0->Pt()); 
  tFemtoV0->SetptotV0(tv0->P());

  tFemtoV0->SetmomV0X(tv0->Px());
  tFemtoV0->SetmomV0Y(tv0->Py());
  tFemtoV0->SetmomV0Z(tv0->Pz());
  AliFemtoThreeVector momv0(tv0->Px(),tv0->Py(),tv0->Pz());
  tFemtoV0->SetmomV0(momv0);


  TParticle *trackpos;
  TParticle *trackneg;

  //daughters
  if(fStack->Particle(tv0->GetDaughter(0))->GetPDG()->Charge()>=0) //first positive, second negative
    {
      trackpos = (TParticle*)(fStack->Particle(tv0->GetDaughter(0)));
      trackneg = (TParticle*)(fStack->Particle(tv0->GetDaughter(1)));
      tFemtoV0->SetidPos(tv0->GetDaughter(0));
      tFemtoV0->SetidNeg(tv0->GetDaughter(1));
    }
  else //first negative, second positive
    {
      trackpos = (TParticle*)(fStack->Particle(tv0->GetDaughter(1)));
      trackneg = (TParticle*)(fStack->Particle(tv0->GetDaughter(0)));
      tFemtoV0->SetidPos(tv0->GetDaughter(1));
      tFemtoV0->SetidNeg(tv0->GetDaughter(0));
    }

  tFemtoV0->SetEtaPos(trackpos->Eta());
  tFemtoV0->SetEtaNeg(trackneg->Eta());
  
  tFemtoV0->SetptPos(trackpos->Pt());
  tFemtoV0->SetptNeg(trackneg->Pt());
   
  tFemtoV0->SetptotPos(trackpos->P());
  tFemtoV0->SetptotNeg(trackneg->P());

  tFemtoV0->SetmomPosX(trackpos->Px());
  tFemtoV0->SetmomPosY(trackpos->Py());
  tFemtoV0->SetmomPosZ(trackpos->Pz());
  AliFemtoThreeVector mompos(trackpos->Px(),trackpos->Py(),trackpos->Pz());
  tFemtoV0->SetmomPos(mompos);

  tFemtoV0->SetmomNegX(trackneg->Px());
  tFemtoV0->SetmomNegY(trackneg->Py());
  tFemtoV0->SetmomNegZ(trackneg->Pz());
  AliFemtoThreeVector momneg(trackneg->Px(),trackneg->Py(),trackneg->Pz());
  tFemtoV0->SetmomNeg(momneg);

    
  tFemtoV0->SetmassLambda(tv0->GetMass());
  tFemtoV0->SetmassAntiLambda(tv0->GetMass());
  tFemtoV0->SetmassK0Short(tv0->GetMass());

  tFemtoV0->SetYV0(tv0->Y());

  tFemtoV0->SetdecayVertexV0X(trackpos->Vx()); //vertex of the decay is set as the vertex of creation of daughters
  tFemtoV0->SetdecayVertexV0Y(trackpos->Vy());
  tFemtoV0->SetdecayVertexV0Z(trackpos->Vz());
  AliFemtoThreeVector decayvertex(trackpos->Vx(),trackpos->Vy(),trackpos->Vz());
  tFemtoV0->SetdecayVertexV0(decayvertex);

  tFemtoV0->SetdcaV0Daughters(0);
  tFemtoV0->SetCosPointingAngle(1);


  tFemtoV0->SetStatusPos(1);
  tFemtoV0->SetStatusNeg(1);

  
  if(trackpos->GetPdgCode()==2212) //proton
    {
      tFemtoV0->SetPosNSigmaTPCK(1000);
      tFemtoV0->SetPosNSigmaTPCPi(1000);
      tFemtoV0->SetPosNSigmaTPCP(0);
    }
  if(trackneg->GetPdgCode()==-2212) //antiproton
    {
      tFemtoV0->SetNegNSigmaTPCK(1000);
      tFemtoV0->SetNegNSigmaTPCPi(1000);
      tFemtoV0->SetNegNSigmaTPCP(0);
    }
  if(trackpos->GetPdgCode()==211) //pion plus
    {
      tFemtoV0->SetPosNSigmaTPCK(1000);
      tFemtoV0->SetPosNSigmaTPCPi(0);
      tFemtoV0->SetPosNSigmaTPCP(1000);
    }
  if(trackneg->GetPdgCode()==-211) //pion minus
    {
      tFemtoV0->SetNegNSigmaTPCK(1000);
      tFemtoV0->SetNegNSigmaTPCPi(0);
      tFemtoV0->SetNegNSigmaTPCP(1000);
    }
  if(trackpos->GetPdgCode()==321) //K+
    {
      tFemtoV0->SetPosNSigmaTPCK(0);
      tFemtoV0->SetPosNSigmaTPCPi(1000);
      tFemtoV0->SetPosNSigmaTPCP(1000);
    }
  if(trackneg->GetPdgCode()==-321) //K-
    {
      tFemtoV0->SetNegNSigmaTPCK(0);
      tFemtoV0->SetNegNSigmaTPCPi(1000);
      tFemtoV0->SetNegNSigmaTPCP(1000);
    }

  
}
 AliFemtoEventReaderKinematicsChainESD.cxx:1
 AliFemtoEventReaderKinematicsChainESD.cxx:2
 AliFemtoEventReaderKinematicsChainESD.cxx:3
 AliFemtoEventReaderKinematicsChainESD.cxx:4
 AliFemtoEventReaderKinematicsChainESD.cxx:5
 AliFemtoEventReaderKinematicsChainESD.cxx:6
 AliFemtoEventReaderKinematicsChainESD.cxx:7
 AliFemtoEventReaderKinematicsChainESD.cxx:8
 AliFemtoEventReaderKinematicsChainESD.cxx:9
 AliFemtoEventReaderKinematicsChainESD.cxx:10
 AliFemtoEventReaderKinematicsChainESD.cxx:11
 AliFemtoEventReaderKinematicsChainESD.cxx:12
 AliFemtoEventReaderKinematicsChainESD.cxx:13
 AliFemtoEventReaderKinematicsChainESD.cxx:14
 AliFemtoEventReaderKinematicsChainESD.cxx:15
 AliFemtoEventReaderKinematicsChainESD.cxx:16
 AliFemtoEventReaderKinematicsChainESD.cxx:17
 AliFemtoEventReaderKinematicsChainESD.cxx:18
 AliFemtoEventReaderKinematicsChainESD.cxx:19
 AliFemtoEventReaderKinematicsChainESD.cxx:20
 AliFemtoEventReaderKinematicsChainESD.cxx:21
 AliFemtoEventReaderKinematicsChainESD.cxx:22
 AliFemtoEventReaderKinematicsChainESD.cxx:23
 AliFemtoEventReaderKinematicsChainESD.cxx:24
 AliFemtoEventReaderKinematicsChainESD.cxx:25
 AliFemtoEventReaderKinematicsChainESD.cxx:26
 AliFemtoEventReaderKinematicsChainESD.cxx:27
 AliFemtoEventReaderKinematicsChainESD.cxx:28
 AliFemtoEventReaderKinematicsChainESD.cxx:29
 AliFemtoEventReaderKinematicsChainESD.cxx:30
 AliFemtoEventReaderKinematicsChainESD.cxx:31
 AliFemtoEventReaderKinematicsChainESD.cxx:32
 AliFemtoEventReaderKinematicsChainESD.cxx:33
 AliFemtoEventReaderKinematicsChainESD.cxx:34
 AliFemtoEventReaderKinematicsChainESD.cxx:35
 AliFemtoEventReaderKinematicsChainESD.cxx:36
 AliFemtoEventReaderKinematicsChainESD.cxx:37
 AliFemtoEventReaderKinematicsChainESD.cxx:38
 AliFemtoEventReaderKinematicsChainESD.cxx:39
 AliFemtoEventReaderKinematicsChainESD.cxx:40
 AliFemtoEventReaderKinematicsChainESD.cxx:41
 AliFemtoEventReaderKinematicsChainESD.cxx:42
 AliFemtoEventReaderKinematicsChainESD.cxx:43
 AliFemtoEventReaderKinematicsChainESD.cxx:44
 AliFemtoEventReaderKinematicsChainESD.cxx:45
 AliFemtoEventReaderKinematicsChainESD.cxx:46
 AliFemtoEventReaderKinematicsChainESD.cxx:47
 AliFemtoEventReaderKinematicsChainESD.cxx:48
 AliFemtoEventReaderKinematicsChainESD.cxx:49
 AliFemtoEventReaderKinematicsChainESD.cxx:50
 AliFemtoEventReaderKinematicsChainESD.cxx:51
 AliFemtoEventReaderKinematicsChainESD.cxx:52
 AliFemtoEventReaderKinematicsChainESD.cxx:53
 AliFemtoEventReaderKinematicsChainESD.cxx:54
 AliFemtoEventReaderKinematicsChainESD.cxx:55
 AliFemtoEventReaderKinematicsChainESD.cxx:56
 AliFemtoEventReaderKinematicsChainESD.cxx:57
 AliFemtoEventReaderKinematicsChainESD.cxx:58
 AliFemtoEventReaderKinematicsChainESD.cxx:59
 AliFemtoEventReaderKinematicsChainESD.cxx:60
 AliFemtoEventReaderKinematicsChainESD.cxx:61
 AliFemtoEventReaderKinematicsChainESD.cxx:62
 AliFemtoEventReaderKinematicsChainESD.cxx:63
 AliFemtoEventReaderKinematicsChainESD.cxx:64
 AliFemtoEventReaderKinematicsChainESD.cxx:65
 AliFemtoEventReaderKinematicsChainESD.cxx:66
 AliFemtoEventReaderKinematicsChainESD.cxx:67
 AliFemtoEventReaderKinematicsChainESD.cxx:68
 AliFemtoEventReaderKinematicsChainESD.cxx:69
 AliFemtoEventReaderKinematicsChainESD.cxx:70
 AliFemtoEventReaderKinematicsChainESD.cxx:71
 AliFemtoEventReaderKinematicsChainESD.cxx:72
 AliFemtoEventReaderKinematicsChainESD.cxx:73
 AliFemtoEventReaderKinematicsChainESD.cxx:74
 AliFemtoEventReaderKinematicsChainESD.cxx:75
 AliFemtoEventReaderKinematicsChainESD.cxx:76
 AliFemtoEventReaderKinematicsChainESD.cxx:77
 AliFemtoEventReaderKinematicsChainESD.cxx:78
 AliFemtoEventReaderKinematicsChainESD.cxx:79
 AliFemtoEventReaderKinematicsChainESD.cxx:80
 AliFemtoEventReaderKinematicsChainESD.cxx:81
 AliFemtoEventReaderKinematicsChainESD.cxx:82
 AliFemtoEventReaderKinematicsChainESD.cxx:83
 AliFemtoEventReaderKinematicsChainESD.cxx:84
 AliFemtoEventReaderKinematicsChainESD.cxx:85
 AliFemtoEventReaderKinematicsChainESD.cxx:86
 AliFemtoEventReaderKinematicsChainESD.cxx:87
 AliFemtoEventReaderKinematicsChainESD.cxx:88
 AliFemtoEventReaderKinematicsChainESD.cxx:89
 AliFemtoEventReaderKinematicsChainESD.cxx:90
 AliFemtoEventReaderKinematicsChainESD.cxx:91
 AliFemtoEventReaderKinematicsChainESD.cxx:92
 AliFemtoEventReaderKinematicsChainESD.cxx:93
 AliFemtoEventReaderKinematicsChainESD.cxx:94
 AliFemtoEventReaderKinematicsChainESD.cxx:95
 AliFemtoEventReaderKinematicsChainESD.cxx:96
 AliFemtoEventReaderKinematicsChainESD.cxx:97
 AliFemtoEventReaderKinematicsChainESD.cxx:98
 AliFemtoEventReaderKinematicsChainESD.cxx:99
 AliFemtoEventReaderKinematicsChainESD.cxx:100
 AliFemtoEventReaderKinematicsChainESD.cxx:101
 AliFemtoEventReaderKinematicsChainESD.cxx:102
 AliFemtoEventReaderKinematicsChainESD.cxx:103
 AliFemtoEventReaderKinematicsChainESD.cxx:104
 AliFemtoEventReaderKinematicsChainESD.cxx:105
 AliFemtoEventReaderKinematicsChainESD.cxx:106
 AliFemtoEventReaderKinematicsChainESD.cxx:107
 AliFemtoEventReaderKinematicsChainESD.cxx:108
 AliFemtoEventReaderKinematicsChainESD.cxx:109
 AliFemtoEventReaderKinematicsChainESD.cxx:110
 AliFemtoEventReaderKinematicsChainESD.cxx:111
 AliFemtoEventReaderKinematicsChainESD.cxx:112
 AliFemtoEventReaderKinematicsChainESD.cxx:113
 AliFemtoEventReaderKinematicsChainESD.cxx:114
 AliFemtoEventReaderKinematicsChainESD.cxx:115
 AliFemtoEventReaderKinematicsChainESD.cxx:116
 AliFemtoEventReaderKinematicsChainESD.cxx:117
 AliFemtoEventReaderKinematicsChainESD.cxx:118
 AliFemtoEventReaderKinematicsChainESD.cxx:119
 AliFemtoEventReaderKinematicsChainESD.cxx:120
 AliFemtoEventReaderKinematicsChainESD.cxx:121
 AliFemtoEventReaderKinematicsChainESD.cxx:122
 AliFemtoEventReaderKinematicsChainESD.cxx:123
 AliFemtoEventReaderKinematicsChainESD.cxx:124
 AliFemtoEventReaderKinematicsChainESD.cxx:125
 AliFemtoEventReaderKinematicsChainESD.cxx:126
 AliFemtoEventReaderKinematicsChainESD.cxx:127
 AliFemtoEventReaderKinematicsChainESD.cxx:128
 AliFemtoEventReaderKinematicsChainESD.cxx:129
 AliFemtoEventReaderKinematicsChainESD.cxx:130
 AliFemtoEventReaderKinematicsChainESD.cxx:131
 AliFemtoEventReaderKinematicsChainESD.cxx:132
 AliFemtoEventReaderKinematicsChainESD.cxx:133
 AliFemtoEventReaderKinematicsChainESD.cxx:134
 AliFemtoEventReaderKinematicsChainESD.cxx:135
 AliFemtoEventReaderKinematicsChainESD.cxx:136
 AliFemtoEventReaderKinematicsChainESD.cxx:137
 AliFemtoEventReaderKinematicsChainESD.cxx:138
 AliFemtoEventReaderKinematicsChainESD.cxx:139
 AliFemtoEventReaderKinematicsChainESD.cxx:140
 AliFemtoEventReaderKinematicsChainESD.cxx:141
 AliFemtoEventReaderKinematicsChainESD.cxx:142
 AliFemtoEventReaderKinematicsChainESD.cxx:143
 AliFemtoEventReaderKinematicsChainESD.cxx:144
 AliFemtoEventReaderKinematicsChainESD.cxx:145
 AliFemtoEventReaderKinematicsChainESD.cxx:146
 AliFemtoEventReaderKinematicsChainESD.cxx:147
 AliFemtoEventReaderKinematicsChainESD.cxx:148
 AliFemtoEventReaderKinematicsChainESD.cxx:149
 AliFemtoEventReaderKinematicsChainESD.cxx:150
 AliFemtoEventReaderKinematicsChainESD.cxx:151
 AliFemtoEventReaderKinematicsChainESD.cxx:152
 AliFemtoEventReaderKinematicsChainESD.cxx:153
 AliFemtoEventReaderKinematicsChainESD.cxx:154
 AliFemtoEventReaderKinematicsChainESD.cxx:155
 AliFemtoEventReaderKinematicsChainESD.cxx:156
 AliFemtoEventReaderKinematicsChainESD.cxx:157
 AliFemtoEventReaderKinematicsChainESD.cxx:158
 AliFemtoEventReaderKinematicsChainESD.cxx:159
 AliFemtoEventReaderKinematicsChainESD.cxx:160
 AliFemtoEventReaderKinematicsChainESD.cxx:161
 AliFemtoEventReaderKinematicsChainESD.cxx:162
 AliFemtoEventReaderKinematicsChainESD.cxx:163
 AliFemtoEventReaderKinematicsChainESD.cxx:164
 AliFemtoEventReaderKinematicsChainESD.cxx:165
 AliFemtoEventReaderKinematicsChainESD.cxx:166
 AliFemtoEventReaderKinematicsChainESD.cxx:167
 AliFemtoEventReaderKinematicsChainESD.cxx:168
 AliFemtoEventReaderKinematicsChainESD.cxx:169
 AliFemtoEventReaderKinematicsChainESD.cxx:170
 AliFemtoEventReaderKinematicsChainESD.cxx:171
 AliFemtoEventReaderKinematicsChainESD.cxx:172
 AliFemtoEventReaderKinematicsChainESD.cxx:173
 AliFemtoEventReaderKinematicsChainESD.cxx:174
 AliFemtoEventReaderKinematicsChainESD.cxx:175
 AliFemtoEventReaderKinematicsChainESD.cxx:176
 AliFemtoEventReaderKinematicsChainESD.cxx:177
 AliFemtoEventReaderKinematicsChainESD.cxx:178
 AliFemtoEventReaderKinematicsChainESD.cxx:179
 AliFemtoEventReaderKinematicsChainESD.cxx:180
 AliFemtoEventReaderKinematicsChainESD.cxx:181
 AliFemtoEventReaderKinematicsChainESD.cxx:182
 AliFemtoEventReaderKinematicsChainESD.cxx:183
 AliFemtoEventReaderKinematicsChainESD.cxx:184
 AliFemtoEventReaderKinematicsChainESD.cxx:185
 AliFemtoEventReaderKinematicsChainESD.cxx:186
 AliFemtoEventReaderKinematicsChainESD.cxx:187
 AliFemtoEventReaderKinematicsChainESD.cxx:188
 AliFemtoEventReaderKinematicsChainESD.cxx:189
 AliFemtoEventReaderKinematicsChainESD.cxx:190
 AliFemtoEventReaderKinematicsChainESD.cxx:191
 AliFemtoEventReaderKinematicsChainESD.cxx:192
 AliFemtoEventReaderKinematicsChainESD.cxx:193
 AliFemtoEventReaderKinematicsChainESD.cxx:194
 AliFemtoEventReaderKinematicsChainESD.cxx:195
 AliFemtoEventReaderKinematicsChainESD.cxx:196
 AliFemtoEventReaderKinematicsChainESD.cxx:197
 AliFemtoEventReaderKinematicsChainESD.cxx:198
 AliFemtoEventReaderKinematicsChainESD.cxx:199
 AliFemtoEventReaderKinematicsChainESD.cxx:200
 AliFemtoEventReaderKinematicsChainESD.cxx:201
 AliFemtoEventReaderKinematicsChainESD.cxx:202
 AliFemtoEventReaderKinematicsChainESD.cxx:203
 AliFemtoEventReaderKinematicsChainESD.cxx:204
 AliFemtoEventReaderKinematicsChainESD.cxx:205
 AliFemtoEventReaderKinematicsChainESD.cxx:206
 AliFemtoEventReaderKinematicsChainESD.cxx:207
 AliFemtoEventReaderKinematicsChainESD.cxx:208
 AliFemtoEventReaderKinematicsChainESD.cxx:209
 AliFemtoEventReaderKinematicsChainESD.cxx:210
 AliFemtoEventReaderKinematicsChainESD.cxx:211
 AliFemtoEventReaderKinematicsChainESD.cxx:212
 AliFemtoEventReaderKinematicsChainESD.cxx:213
 AliFemtoEventReaderKinematicsChainESD.cxx:214
 AliFemtoEventReaderKinematicsChainESD.cxx:215
 AliFemtoEventReaderKinematicsChainESD.cxx:216
 AliFemtoEventReaderKinematicsChainESD.cxx:217
 AliFemtoEventReaderKinematicsChainESD.cxx:218
 AliFemtoEventReaderKinematicsChainESD.cxx:219
 AliFemtoEventReaderKinematicsChainESD.cxx:220
 AliFemtoEventReaderKinematicsChainESD.cxx:221
 AliFemtoEventReaderKinematicsChainESD.cxx:222
 AliFemtoEventReaderKinematicsChainESD.cxx:223
 AliFemtoEventReaderKinematicsChainESD.cxx:224
 AliFemtoEventReaderKinematicsChainESD.cxx:225
 AliFemtoEventReaderKinematicsChainESD.cxx:226
 AliFemtoEventReaderKinematicsChainESD.cxx:227
 AliFemtoEventReaderKinematicsChainESD.cxx:228
 AliFemtoEventReaderKinematicsChainESD.cxx:229
 AliFemtoEventReaderKinematicsChainESD.cxx:230
 AliFemtoEventReaderKinematicsChainESD.cxx:231
 AliFemtoEventReaderKinematicsChainESD.cxx:232
 AliFemtoEventReaderKinematicsChainESD.cxx:233
 AliFemtoEventReaderKinematicsChainESD.cxx:234
 AliFemtoEventReaderKinematicsChainESD.cxx:235
 AliFemtoEventReaderKinematicsChainESD.cxx:236
 AliFemtoEventReaderKinematicsChainESD.cxx:237
 AliFemtoEventReaderKinematicsChainESD.cxx:238
 AliFemtoEventReaderKinematicsChainESD.cxx:239
 AliFemtoEventReaderKinematicsChainESD.cxx:240
 AliFemtoEventReaderKinematicsChainESD.cxx:241
 AliFemtoEventReaderKinematicsChainESD.cxx:242
 AliFemtoEventReaderKinematicsChainESD.cxx:243
 AliFemtoEventReaderKinematicsChainESD.cxx:244
 AliFemtoEventReaderKinematicsChainESD.cxx:245
 AliFemtoEventReaderKinematicsChainESD.cxx:246
 AliFemtoEventReaderKinematicsChainESD.cxx:247
 AliFemtoEventReaderKinematicsChainESD.cxx:248
 AliFemtoEventReaderKinematicsChainESD.cxx:249
 AliFemtoEventReaderKinematicsChainESD.cxx:250
 AliFemtoEventReaderKinematicsChainESD.cxx:251
 AliFemtoEventReaderKinematicsChainESD.cxx:252
 AliFemtoEventReaderKinematicsChainESD.cxx:253
 AliFemtoEventReaderKinematicsChainESD.cxx:254
 AliFemtoEventReaderKinematicsChainESD.cxx:255
 AliFemtoEventReaderKinematicsChainESD.cxx:256
 AliFemtoEventReaderKinematicsChainESD.cxx:257
 AliFemtoEventReaderKinematicsChainESD.cxx:258
 AliFemtoEventReaderKinematicsChainESD.cxx:259
 AliFemtoEventReaderKinematicsChainESD.cxx:260
 AliFemtoEventReaderKinematicsChainESD.cxx:261
 AliFemtoEventReaderKinematicsChainESD.cxx:262
 AliFemtoEventReaderKinematicsChainESD.cxx:263
 AliFemtoEventReaderKinematicsChainESD.cxx:264
 AliFemtoEventReaderKinematicsChainESD.cxx:265
 AliFemtoEventReaderKinematicsChainESD.cxx:266
 AliFemtoEventReaderKinematicsChainESD.cxx:267
 AliFemtoEventReaderKinematicsChainESD.cxx:268
 AliFemtoEventReaderKinematicsChainESD.cxx:269
 AliFemtoEventReaderKinematicsChainESD.cxx:270
 AliFemtoEventReaderKinematicsChainESD.cxx:271
 AliFemtoEventReaderKinematicsChainESD.cxx:272
 AliFemtoEventReaderKinematicsChainESD.cxx:273
 AliFemtoEventReaderKinematicsChainESD.cxx:274
 AliFemtoEventReaderKinematicsChainESD.cxx:275
 AliFemtoEventReaderKinematicsChainESD.cxx:276
 AliFemtoEventReaderKinematicsChainESD.cxx:277
 AliFemtoEventReaderKinematicsChainESD.cxx:278
 AliFemtoEventReaderKinematicsChainESD.cxx:279
 AliFemtoEventReaderKinematicsChainESD.cxx:280
 AliFemtoEventReaderKinematicsChainESD.cxx:281
 AliFemtoEventReaderKinematicsChainESD.cxx:282
 AliFemtoEventReaderKinematicsChainESD.cxx:283
 AliFemtoEventReaderKinematicsChainESD.cxx:284
 AliFemtoEventReaderKinematicsChainESD.cxx:285
 AliFemtoEventReaderKinematicsChainESD.cxx:286
 AliFemtoEventReaderKinematicsChainESD.cxx:287
 AliFemtoEventReaderKinematicsChainESD.cxx:288
 AliFemtoEventReaderKinematicsChainESD.cxx:289
 AliFemtoEventReaderKinematicsChainESD.cxx:290
 AliFemtoEventReaderKinematicsChainESD.cxx:291
 AliFemtoEventReaderKinematicsChainESD.cxx:292
 AliFemtoEventReaderKinematicsChainESD.cxx:293
 AliFemtoEventReaderKinematicsChainESD.cxx:294
 AliFemtoEventReaderKinematicsChainESD.cxx:295
 AliFemtoEventReaderKinematicsChainESD.cxx:296
 AliFemtoEventReaderKinematicsChainESD.cxx:297
 AliFemtoEventReaderKinematicsChainESD.cxx:298
 AliFemtoEventReaderKinematicsChainESD.cxx:299
 AliFemtoEventReaderKinematicsChainESD.cxx:300
 AliFemtoEventReaderKinematicsChainESD.cxx:301
 AliFemtoEventReaderKinematicsChainESD.cxx:302
 AliFemtoEventReaderKinematicsChainESD.cxx:303
 AliFemtoEventReaderKinematicsChainESD.cxx:304
 AliFemtoEventReaderKinematicsChainESD.cxx:305
 AliFemtoEventReaderKinematicsChainESD.cxx:306
 AliFemtoEventReaderKinematicsChainESD.cxx:307
 AliFemtoEventReaderKinematicsChainESD.cxx:308
 AliFemtoEventReaderKinematicsChainESD.cxx:309
 AliFemtoEventReaderKinematicsChainESD.cxx:310
 AliFemtoEventReaderKinematicsChainESD.cxx:311
 AliFemtoEventReaderKinematicsChainESD.cxx:312
 AliFemtoEventReaderKinematicsChainESD.cxx:313
 AliFemtoEventReaderKinematicsChainESD.cxx:314
 AliFemtoEventReaderKinematicsChainESD.cxx:315
 AliFemtoEventReaderKinematicsChainESD.cxx:316
 AliFemtoEventReaderKinematicsChainESD.cxx:317
 AliFemtoEventReaderKinematicsChainESD.cxx:318
 AliFemtoEventReaderKinematicsChainESD.cxx:319
 AliFemtoEventReaderKinematicsChainESD.cxx:320
 AliFemtoEventReaderKinematicsChainESD.cxx:321
 AliFemtoEventReaderKinematicsChainESD.cxx:322
 AliFemtoEventReaderKinematicsChainESD.cxx:323
 AliFemtoEventReaderKinematicsChainESD.cxx:324
 AliFemtoEventReaderKinematicsChainESD.cxx:325
 AliFemtoEventReaderKinematicsChainESD.cxx:326
 AliFemtoEventReaderKinematicsChainESD.cxx:327
 AliFemtoEventReaderKinematicsChainESD.cxx:328
 AliFemtoEventReaderKinematicsChainESD.cxx:329
 AliFemtoEventReaderKinematicsChainESD.cxx:330
 AliFemtoEventReaderKinematicsChainESD.cxx:331
 AliFemtoEventReaderKinematicsChainESD.cxx:332
 AliFemtoEventReaderKinematicsChainESD.cxx:333
 AliFemtoEventReaderKinematicsChainESD.cxx:334
 AliFemtoEventReaderKinematicsChainESD.cxx:335
 AliFemtoEventReaderKinematicsChainESD.cxx:336
 AliFemtoEventReaderKinematicsChainESD.cxx:337
 AliFemtoEventReaderKinematicsChainESD.cxx:338
 AliFemtoEventReaderKinematicsChainESD.cxx:339
 AliFemtoEventReaderKinematicsChainESD.cxx:340
 AliFemtoEventReaderKinematicsChainESD.cxx:341
 AliFemtoEventReaderKinematicsChainESD.cxx:342
 AliFemtoEventReaderKinematicsChainESD.cxx:343
 AliFemtoEventReaderKinematicsChainESD.cxx:344
 AliFemtoEventReaderKinematicsChainESD.cxx:345
 AliFemtoEventReaderKinematicsChainESD.cxx:346
 AliFemtoEventReaderKinematicsChainESD.cxx:347
 AliFemtoEventReaderKinematicsChainESD.cxx:348
 AliFemtoEventReaderKinematicsChainESD.cxx:349
 AliFemtoEventReaderKinematicsChainESD.cxx:350
 AliFemtoEventReaderKinematicsChainESD.cxx:351
 AliFemtoEventReaderKinematicsChainESD.cxx:352
 AliFemtoEventReaderKinematicsChainESD.cxx:353
 AliFemtoEventReaderKinematicsChainESD.cxx:354
 AliFemtoEventReaderKinematicsChainESD.cxx:355
 AliFemtoEventReaderKinematicsChainESD.cxx:356
 AliFemtoEventReaderKinematicsChainESD.cxx:357
 AliFemtoEventReaderKinematicsChainESD.cxx:358
 AliFemtoEventReaderKinematicsChainESD.cxx:359
 AliFemtoEventReaderKinematicsChainESD.cxx:360
 AliFemtoEventReaderKinematicsChainESD.cxx:361
 AliFemtoEventReaderKinematicsChainESD.cxx:362
 AliFemtoEventReaderKinematicsChainESD.cxx:363
 AliFemtoEventReaderKinematicsChainESD.cxx:364
 AliFemtoEventReaderKinematicsChainESD.cxx:365
 AliFemtoEventReaderKinematicsChainESD.cxx:366
 AliFemtoEventReaderKinematicsChainESD.cxx:367
 AliFemtoEventReaderKinematicsChainESD.cxx:368
 AliFemtoEventReaderKinematicsChainESD.cxx:369
 AliFemtoEventReaderKinematicsChainESD.cxx:370
 AliFemtoEventReaderKinematicsChainESD.cxx:371
 AliFemtoEventReaderKinematicsChainESD.cxx:372
 AliFemtoEventReaderKinematicsChainESD.cxx:373
 AliFemtoEventReaderKinematicsChainESD.cxx:374
 AliFemtoEventReaderKinematicsChainESD.cxx:375
 AliFemtoEventReaderKinematicsChainESD.cxx:376
 AliFemtoEventReaderKinematicsChainESD.cxx:377
 AliFemtoEventReaderKinematicsChainESD.cxx:378
 AliFemtoEventReaderKinematicsChainESD.cxx:379
 AliFemtoEventReaderKinematicsChainESD.cxx:380
 AliFemtoEventReaderKinematicsChainESD.cxx:381
 AliFemtoEventReaderKinematicsChainESD.cxx:382
 AliFemtoEventReaderKinematicsChainESD.cxx:383
 AliFemtoEventReaderKinematicsChainESD.cxx:384
 AliFemtoEventReaderKinematicsChainESD.cxx:385
 AliFemtoEventReaderKinematicsChainESD.cxx:386
 AliFemtoEventReaderKinematicsChainESD.cxx:387
 AliFemtoEventReaderKinematicsChainESD.cxx:388
 AliFemtoEventReaderKinematicsChainESD.cxx:389
 AliFemtoEventReaderKinematicsChainESD.cxx:390
 AliFemtoEventReaderKinematicsChainESD.cxx:391
 AliFemtoEventReaderKinematicsChainESD.cxx:392
 AliFemtoEventReaderKinematicsChainESD.cxx:393
 AliFemtoEventReaderKinematicsChainESD.cxx:394
 AliFemtoEventReaderKinematicsChainESD.cxx:395
 AliFemtoEventReaderKinematicsChainESD.cxx:396
 AliFemtoEventReaderKinematicsChainESD.cxx:397
 AliFemtoEventReaderKinematicsChainESD.cxx:398
 AliFemtoEventReaderKinematicsChainESD.cxx:399
 AliFemtoEventReaderKinematicsChainESD.cxx:400
 AliFemtoEventReaderKinematicsChainESD.cxx:401
 AliFemtoEventReaderKinematicsChainESD.cxx:402
 AliFemtoEventReaderKinematicsChainESD.cxx:403
 AliFemtoEventReaderKinematicsChainESD.cxx:404
 AliFemtoEventReaderKinematicsChainESD.cxx:405
 AliFemtoEventReaderKinematicsChainESD.cxx:406
 AliFemtoEventReaderKinematicsChainESD.cxx:407
 AliFemtoEventReaderKinematicsChainESD.cxx:408
 AliFemtoEventReaderKinematicsChainESD.cxx:409
 AliFemtoEventReaderKinematicsChainESD.cxx:410
 AliFemtoEventReaderKinematicsChainESD.cxx:411
 AliFemtoEventReaderKinematicsChainESD.cxx:412
 AliFemtoEventReaderKinematicsChainESD.cxx:413
 AliFemtoEventReaderKinematicsChainESD.cxx:414
 AliFemtoEventReaderKinematicsChainESD.cxx:415
 AliFemtoEventReaderKinematicsChainESD.cxx:416
 AliFemtoEventReaderKinematicsChainESD.cxx:417
 AliFemtoEventReaderKinematicsChainESD.cxx:418
 AliFemtoEventReaderKinematicsChainESD.cxx:419
 AliFemtoEventReaderKinematicsChainESD.cxx:420
 AliFemtoEventReaderKinematicsChainESD.cxx:421
 AliFemtoEventReaderKinematicsChainESD.cxx:422
 AliFemtoEventReaderKinematicsChainESD.cxx:423
 AliFemtoEventReaderKinematicsChainESD.cxx:424
 AliFemtoEventReaderKinematicsChainESD.cxx:425
 AliFemtoEventReaderKinematicsChainESD.cxx:426
 AliFemtoEventReaderKinematicsChainESD.cxx:427
 AliFemtoEventReaderKinematicsChainESD.cxx:428
 AliFemtoEventReaderKinematicsChainESD.cxx:429
 AliFemtoEventReaderKinematicsChainESD.cxx:430
 AliFemtoEventReaderKinematicsChainESD.cxx:431
 AliFemtoEventReaderKinematicsChainESD.cxx:432
 AliFemtoEventReaderKinematicsChainESD.cxx:433
 AliFemtoEventReaderKinematicsChainESD.cxx:434
 AliFemtoEventReaderKinematicsChainESD.cxx:435
 AliFemtoEventReaderKinematicsChainESD.cxx:436
 AliFemtoEventReaderKinematicsChainESD.cxx:437
 AliFemtoEventReaderKinematicsChainESD.cxx:438
 AliFemtoEventReaderKinematicsChainESD.cxx:439
 AliFemtoEventReaderKinematicsChainESD.cxx:440
 AliFemtoEventReaderKinematicsChainESD.cxx:441
 AliFemtoEventReaderKinematicsChainESD.cxx:442
 AliFemtoEventReaderKinematicsChainESD.cxx:443
 AliFemtoEventReaderKinematicsChainESD.cxx:444
 AliFemtoEventReaderKinematicsChainESD.cxx:445
 AliFemtoEventReaderKinematicsChainESD.cxx:446
 AliFemtoEventReaderKinematicsChainESD.cxx:447
 AliFemtoEventReaderKinematicsChainESD.cxx:448
 AliFemtoEventReaderKinematicsChainESD.cxx:449
 AliFemtoEventReaderKinematicsChainESD.cxx:450
 AliFemtoEventReaderKinematicsChainESD.cxx:451
 AliFemtoEventReaderKinematicsChainESD.cxx:452
 AliFemtoEventReaderKinematicsChainESD.cxx:453
 AliFemtoEventReaderKinematicsChainESD.cxx:454
 AliFemtoEventReaderKinematicsChainESD.cxx:455
 AliFemtoEventReaderKinematicsChainESD.cxx:456
 AliFemtoEventReaderKinematicsChainESD.cxx:457
 AliFemtoEventReaderKinematicsChainESD.cxx:458
 AliFemtoEventReaderKinematicsChainESD.cxx:459
 AliFemtoEventReaderKinematicsChainESD.cxx:460
 AliFemtoEventReaderKinematicsChainESD.cxx:461
 AliFemtoEventReaderKinematicsChainESD.cxx:462
 AliFemtoEventReaderKinematicsChainESD.cxx:463
 AliFemtoEventReaderKinematicsChainESD.cxx:464
 AliFemtoEventReaderKinematicsChainESD.cxx:465
 AliFemtoEventReaderKinematicsChainESD.cxx:466
 AliFemtoEventReaderKinematicsChainESD.cxx:467
 AliFemtoEventReaderKinematicsChainESD.cxx:468
 AliFemtoEventReaderKinematicsChainESD.cxx:469
 AliFemtoEventReaderKinematicsChainESD.cxx:470
 AliFemtoEventReaderKinematicsChainESD.cxx:471
 AliFemtoEventReaderKinematicsChainESD.cxx:472
 AliFemtoEventReaderKinematicsChainESD.cxx:473
 AliFemtoEventReaderKinematicsChainESD.cxx:474
 AliFemtoEventReaderKinematicsChainESD.cxx:475
 AliFemtoEventReaderKinematicsChainESD.cxx:476
 AliFemtoEventReaderKinematicsChainESD.cxx:477
 AliFemtoEventReaderKinematicsChainESD.cxx:478
 AliFemtoEventReaderKinematicsChainESD.cxx:479
 AliFemtoEventReaderKinematicsChainESD.cxx:480
 AliFemtoEventReaderKinematicsChainESD.cxx:481
 AliFemtoEventReaderKinematicsChainESD.cxx:482
 AliFemtoEventReaderKinematicsChainESD.cxx:483
 AliFemtoEventReaderKinematicsChainESD.cxx:484
 AliFemtoEventReaderKinematicsChainESD.cxx:485
 AliFemtoEventReaderKinematicsChainESD.cxx:486
 AliFemtoEventReaderKinematicsChainESD.cxx:487
 AliFemtoEventReaderKinematicsChainESD.cxx:488
 AliFemtoEventReaderKinematicsChainESD.cxx:489
 AliFemtoEventReaderKinematicsChainESD.cxx:490
 AliFemtoEventReaderKinematicsChainESD.cxx:491
 AliFemtoEventReaderKinematicsChainESD.cxx:492
 AliFemtoEventReaderKinematicsChainESD.cxx:493
 AliFemtoEventReaderKinematicsChainESD.cxx:494
 AliFemtoEventReaderKinematicsChainESD.cxx:495
 AliFemtoEventReaderKinematicsChainESD.cxx:496
 AliFemtoEventReaderKinematicsChainESD.cxx:497
 AliFemtoEventReaderKinematicsChainESD.cxx:498
 AliFemtoEventReaderKinematicsChainESD.cxx:499
 AliFemtoEventReaderKinematicsChainESD.cxx:500
 AliFemtoEventReaderKinematicsChainESD.cxx:501
 AliFemtoEventReaderKinematicsChainESD.cxx:502
 AliFemtoEventReaderKinematicsChainESD.cxx:503
 AliFemtoEventReaderKinematicsChainESD.cxx:504
 AliFemtoEventReaderKinematicsChainESD.cxx:505
 AliFemtoEventReaderKinematicsChainESD.cxx:506
 AliFemtoEventReaderKinematicsChainESD.cxx:507
 AliFemtoEventReaderKinematicsChainESD.cxx:508
 AliFemtoEventReaderKinematicsChainESD.cxx:509
 AliFemtoEventReaderKinematicsChainESD.cxx:510
 AliFemtoEventReaderKinematicsChainESD.cxx:511
 AliFemtoEventReaderKinematicsChainESD.cxx:512
 AliFemtoEventReaderKinematicsChainESD.cxx:513
 AliFemtoEventReaderKinematicsChainESD.cxx:514
 AliFemtoEventReaderKinematicsChainESD.cxx:515
 AliFemtoEventReaderKinematicsChainESD.cxx:516
 AliFemtoEventReaderKinematicsChainESD.cxx:517
 AliFemtoEventReaderKinematicsChainESD.cxx:518
 AliFemtoEventReaderKinematicsChainESD.cxx:519
 AliFemtoEventReaderKinematicsChainESD.cxx:520
 AliFemtoEventReaderKinematicsChainESD.cxx:521
 AliFemtoEventReaderKinematicsChainESD.cxx:522
 AliFemtoEventReaderKinematicsChainESD.cxx:523
 AliFemtoEventReaderKinematicsChainESD.cxx:524
 AliFemtoEventReaderKinematicsChainESD.cxx:525
 AliFemtoEventReaderKinematicsChainESD.cxx:526
 AliFemtoEventReaderKinematicsChainESD.cxx:527
 AliFemtoEventReaderKinematicsChainESD.cxx:528
 AliFemtoEventReaderKinematicsChainESD.cxx:529
 AliFemtoEventReaderKinematicsChainESD.cxx:530
 AliFemtoEventReaderKinematicsChainESD.cxx:531
 AliFemtoEventReaderKinematicsChainESD.cxx:532
 AliFemtoEventReaderKinematicsChainESD.cxx:533
 AliFemtoEventReaderKinematicsChainESD.cxx:534
 AliFemtoEventReaderKinematicsChainESD.cxx:535
 AliFemtoEventReaderKinematicsChainESD.cxx:536
 AliFemtoEventReaderKinematicsChainESD.cxx:537
 AliFemtoEventReaderKinematicsChainESD.cxx:538
 AliFemtoEventReaderKinematicsChainESD.cxx:539
 AliFemtoEventReaderKinematicsChainESD.cxx:540
 AliFemtoEventReaderKinematicsChainESD.cxx:541
 AliFemtoEventReaderKinematicsChainESD.cxx:542
 AliFemtoEventReaderKinematicsChainESD.cxx:543
 AliFemtoEventReaderKinematicsChainESD.cxx:544
 AliFemtoEventReaderKinematicsChainESD.cxx:545
 AliFemtoEventReaderKinematicsChainESD.cxx:546
 AliFemtoEventReaderKinematicsChainESD.cxx:547
 AliFemtoEventReaderKinematicsChainESD.cxx:548
 AliFemtoEventReaderKinematicsChainESD.cxx:549
 AliFemtoEventReaderKinematicsChainESD.cxx:550