ROOT logo
/////////////////////////////////////////////////////////////////////////////////////
//                                                                                 //
// AliFemtoEventReaderKinematicsChain - 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 "AliFemtoEventReaderKinematicsChain.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 "TParticlePDG.h"
#include "AliFemtoModelHiddenInfo.h"
#include "AliFemtoModelGlobalHiddenInfo.h"
#include "AliGenHijingEventHeader.h"
#include "AliGenCocktailEventHeader.h"

#include "AliVertexerTracks.h"

ClassImp(AliFemtoEventReaderKinematicsChain)

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

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

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

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

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

//__________________
void AliFemtoEventReaderKinematicsChain::SetConstrained(const bool constrained)
{
  // Select whether to read constrained or not constrained momentum
  fConstrained=constrained;
}
//__________________
bool AliFemtoEventReaderKinematicsChain::GetConstrained() const
{
  // Check whether we read constrained or not constrained momentum
  return fConstrained;
}
//__________________
AliFemtoEvent* AliFemtoEventReaderKinematicsChain::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 << "AliFemtoEventReaderKinematlaicsChain::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();

      AliFemtoModelHiddenInfo *tInfo = new AliFemtoModelHiddenInfo();
      tInfo->SetPDGPid(kinetrack->GetPdgCode());
      tInfo->SetTrueMomentum(pxyz[0], pxyz[1], pxyz[2]);
      tInfo->SetMass(kinetrack->GetMass());
      tInfo->SetEmissionPoint(rxyz[0]-fV1[0], rxyz[1]-fV1[1], rxyz[2]-fV1[2], 0.0);
      trackCopy->SetHiddenInfo(tInfo);

      trackCopy->SetTrueMomentum(pxyz[0], pxyz[1], pxyz[2]);
      trackCopy->SetEmissionPoint(rxyz[0]-fV1[0], rxyz[1]-fV1[1], rxyz[2]-fV1[2], 0.0);


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

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

Float_t AliFemtoEventReaderKinematicsChain::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 AliFemtoEventReaderKinematicsChain::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);
    }

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