ROOT logo
/***************************************************************************
 *
 * $Id: AliFemtoAODTrackCut.cxx 23733 2008-02-05 16:51:41Z akisiel $ 
 *
 * 
 ***************************************************************************
 *
 * 
 *              
 *
 ***************************************************************************
 *
 * $Log$
 * Revision 1.3  2007/05/22 09:01:42  akisiel
 * Add the possibiloity to save cut settings in the ROOT file
 *
 * Revision 1.2  2007/05/21 10:38:25  akisiel
 * More coding rule conformance
 *
 * Revision 1.1  2007/05/16 10:25:06  akisiel
 * Making the directory structure of AliFemtoUser flat. All files go into one common directory
 *
 * Revision 1.4  2007/05/03 09:46:10  akisiel
 * Fixing Effective C++ warnings
 *
 * Revision 1.3  2007/04/27 07:25:59  akisiel
 * Make revisions needed for compilation from the main AliRoot tree
 *
 * Revision 1.1.1.1  2007/04/25 15:38:41  panos
 * Importing the HBT code dir
 *
 * Revision 1.4  2007-04-03 16:00:08  mchojnacki
 * Changes to iprove memory managing
 *
 * Revision 1.3  2007/03/13 15:30:03  mchojnacki
 * adding reader for simulated data
 *
 * Revision 1.2  2007/03/08 14:58:03  mchojnacki
 * adding some alice stuff
 *
 * Revision 1.1.1.1  2007/03/07 10:14:49  mchojnacki
 * First version on CVS
 *
 **************************************************************************/

#include "AliFemtoAODTrackCut.h"
#include <cstdio>

#ifdef __ROOT__ 
ClassImp(AliFemtoAODTrackCut)
#endif


// electron
// 0.13 - 1.8
// 0       7.594129e-02    8.256141e-03
// 1       -5.535827e-01   8.170825e-02
// 2       1.728591e+00    3.104210e-01
// 3       -2.827893e+00   5.827802e-01
// 4       2.503553e+00    5.736207e-01
// 5       -1.125965e+00   2.821170e-01
// 6       2.009036e-01    5.438876e-02

// pion
// 0.13 - 2.0
// 0       1.063457e+00    8.872043e-03
// 1       -4.222208e-01   2.534402e-02
// 2       1.042004e-01    1.503945e-02

// kaon
// 0.18 - 2.0
// 0       -7.289406e-02   1.686074e-03
// 1       4.415666e-01    1.143939e-02
// 2       -2.996790e-01   1.840964e-02
// 3       6.704652e-02    7.783990e-03

// proton
// 0.26 - 2.0
// 0       -3.730200e-02   2.347311e-03
// 1       1.163684e-01    1.319316e-02
// 2       8.354116e-02    1.997948e-02
// 3       -4.608098e-02   8.336400e-03


AliFemtoAODTrackCut::AliFemtoAODTrackCut() :
    fCharge(0),
    fLabel(0),
    fMaxchiNdof(1000.0),
    fMaxSigmaToVertex(1000.0),
    fNTracksPassed(0),
    fNTracksFailed(0),
    fMostProbable(0)
{
  // Default constructor
  fNTracksPassed = fNTracksFailed = 0;
  fCharge = 0;  // takes both charges 0
  fPt[0]=0.0;              fPt[1] = 100.0;//100
  fRapidity[0]=-2;       fRapidity[1]=2;//-2 2
  fPidProbElectron[0]=-1;fPidProbElectron[1]=2;
  fPidProbPion[0]=-1;    fPidProbPion[1]=2;
  fPidProbKaon[0]=-1;fPidProbKaon[1]=2;
  fPidProbProton[0]=-1;fPidProbProton[1]=2;
  fPidProbMuon[0]=-1;fPidProbMuon[1]=2;
  fLabel=false;
}
//------------------------------
AliFemtoAODTrackCut::~AliFemtoAODTrackCut(){
  /* noop */
}
//------------------------------
bool AliFemtoAODTrackCut::Pass(const AliFemtoTrack* track)
{
  // test the particle and return 
  // true if it meets all the criteria
  // false if it doesn't meet at least one of the criteria
  float tMost[5];
  
  if (((track->ITSchi2() + track->TPCchi2())/(track->ITSncls() + track->TPCncls())) > fMaxchiNdof) {
    return false;
  }

  if (fMaxSigmaToVertex < track->SigmaToVertex()) {
    return false;
  }
  
  if (fLabel)
    {
      //cout<<"labels"<<endl;
      if(track->Label()<0)
	{
	  fNTracksFailed++;
	  //   cout<<"No Go Through the cut"<<endl;
	  //  cout<<fLabel<<" Label="<<track->Label()<<endl;
	  return false;
	}    
    }
  if (fCharge!=0)
    {              
      //cout<<"AliFemtoESD  cut ch "<<endl;
      //cout<<fCharge<<" Charge="<<track->Charge()<<endl;
      if (track->Charge()!= fCharge)	
	{
	  fNTracksFailed++;
	  //  cout<<"No Go Through the cut"<<endl;
	  // cout<<fCharge<<" Charge="<<track->Charge()<<endl;
	  return false;
	}
    }
  float tEnergy = ::sqrt(track->P().Mag2()+fMass*fMass);
  float tRapidity = 0.5*::log((tEnergy+track->P().z())/(tEnergy-track->P().z()));
  float tPt = ::sqrt((track->P().x())*(track->P().x())+(track->P().y())*(track->P().y()));
  if ((tRapidity<fRapidity[0])||(tRapidity>fRapidity[1]))
    {
      fNTracksFailed++;
      //cout<<"No Go Through the cut"<<endl;   
      //cout<<fRapidity[0]<<" < Rapidity ="<<tRapidity<<" <"<<fRapidity[1]<<endl;
      return false;
    }
  if ((tPt<fPt[0])||(tPt>fPt[1]))
    {
      fNTracksFailed++;
      //cout<<"No Go Through the cut"<<endl;
      //cout<<fPt[0]<<" < Pt ="<<Pt<<" <"<<fPt[1]<<endl;
      return false;
    }

    
  if ((track->PidProbElectron()<fPidProbElectron[0])||(track->PidProbElectron()>fPidProbElectron[1]))
    {
      fNTracksFailed++;
      //cout<<"No Go Through the cut"<<endl;
      //cout<<fPidProbElectron[0]<<" < e ="<<track->PidProbElectron()<<" <"<<fPidProbElectron[1]<<endl;
      return false;
    }
  if ((track->PidProbPion()<fPidProbPion[0])||(track->PidProbPion()>fPidProbPion[1]))
    {
      fNTracksFailed++;
      //cout<<"No Go Through the cut"<<endl;
      //cout<<fPidProbPion[0]<<" < pi ="<<track->PidProbPion()<<" <"<<fPidProbPion[1]<<endl;
      return false;
    }
  if ((track->PidProbKaon()<fPidProbKaon[0])||(track->PidProbKaon()>fPidProbKaon[1]))
    {
      fNTracksFailed++;
      //cout<<"No Go Through the cut"<<endl;
      //cout<<fPidProbKaon[0]<<" < k ="<<track->PidProbKaon()<<" <"<<fPidProbKaon[1]<<endl;
      return false;
    }
  if ((track->PidProbProton()<fPidProbProton[0])||(track->PidProbProton()>fPidProbProton[1]))
    {
      fNTracksFailed++;
      //cout<<"No Go Through the cut"<<endl;
      //cout<<fPidProbProton[0]<<" < p  ="<<track->PidProbProton()<<" <"<<fPidProbProton[1]<<endl;
      return false;
    }
  if ((track->PidProbMuon()<fPidProbMuon[0])||(track->PidProbMuon()>fPidProbMuon[1]))
    {
      fNTracksFailed++;
      //cout<<"No Go Through the cut"<<endl;
      //cout<<fPidProbMuon[0]<<" <  mi="<<track->PidProbMuon()<<" <"<<fPidProbMuon[1]<<endl;
      return false;
    }

  if (fMostProbable) {
    tMost[0] = track->PidProbElectron()*PidFractionElectron(track->P().Mag());
    tMost[1] = 0.0;
    tMost[2] = track->PidProbPion()*PidFractionPion(track->P().Mag());
    tMost[3] = track->PidProbKaon()*PidFractionKaon(track->P().Mag());
    tMost[4] = track->PidProbProton()*PidFractionProton(track->P().Mag());
    int imost=0;
    float ipidmax = 0.0;
    for (int ip=0; ip<5; ip++)
      if (tMost[ip] > ipidmax) { ipidmax = tMost[ip]; imost = ip; };
    if (imost != fMostProbable) return false;
  }
  
  // cout<<"Go Through the cut"<<endl;
  // cout<<fLabel<<" Label="<<track->Label()<<endl;
  // cout<<fCharge<<" Charge="<<track->Charge()<<endl;
  // cout<<fPt[0]<<" < Pt ="<<Pt<<" <"<<fPt[1]<<endl;
  //cout<<fRapidity[0]<<" < Rapidity ="<<tRapidity<<" <"<<fRapidity[1]<<endl;
  //cout<<fPidProbElectron[0]<<" <  e="<<track->PidProbElectron()<<" <"<<fPidProbElectron[1]<<endl;
  //cout<<fPidProbPion[0]<<" <  pi="<<track->PidProbPion()<<" <"<<fPidProbPion[1]<<endl;
  //cout<<fPidProbKaon[0]<<" <  k="<<track->PidProbKaon()<<" <"<<fPidProbKaon[1]<<endl;
  //cout<<fPidProbProton[0]<<" <  p="<<track->PidProbProton()<<" <"<<fPidProbProton[1]<<endl;
  //cout<<fPidProbMuon[0]<<" <  mi="<<track->PidProbMuon()<<" <"<<fPidProbMuon[1]<<endl;
  fNTracksPassed++ ;
  return true;
    
    
}
//------------------------------
AliFemtoString AliFemtoAODTrackCut::Report()
{
  // Prepare report from the execution
  string tStemp;
  char tCtemp[100];
  snprintf(tCtemp , 100, "Particle mass:\t%E\n",this->Mass());
  tStemp=tCtemp;
  snprintf(tCtemp , 100, "Particle charge:\t%d\n",fCharge);
  tStemp+=tCtemp;
  snprintf(tCtemp , 100, "Particle pT:\t%E - %E\n",fPt[0],fPt[1]);
  tStemp+=tCtemp;
  snprintf(tCtemp , 100, "Particle rapidity:\t%E - %E\n",fRapidity[0],fRapidity[1]);
  tStemp+=tCtemp;
  snprintf(tCtemp , 100, "Number of tracks which passed:\t%ld  Number which failed:\t%ld\n",fNTracksPassed,fNTracksFailed);
  tStemp += tCtemp;
  AliFemtoString returnThis = tStemp;
  return returnThis;
}
TList *AliFemtoAODTrackCut::ListSettings()
{
  // return a list of settings in a writable form
  TList *tListSetttings = new TList();
  char buf[200];
  snprintf(buf, 200, "AliFemtoAODTrackCut.mass=%f", this->Mass());
  tListSetttings->AddLast(new TObjString(buf));

  snprintf(buf, 200, "AliFemtoAODTrackCut.charge=%i", fCharge);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.pidprobpion.minimum=%f", fPidProbPion[0]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.pidprobpion.maximum=%f", fPidProbPion[1]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.pidprobkaon.minimum=%f", fPidProbKaon[0]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.pidprobkaon.maximum=%f", fPidProbKaon[1]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.pidprobproton.minimum=%f", fPidProbProton[0]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.pidprobproton.maximum=%f", fPidProbProton[1]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.pidprobelectron.minimum=%f", fPidProbElectron[0]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.pidprobelectron.maximum=%f", fPidProbElectron[1]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.pidprobMuon.minimum=%f", fPidProbMuon[0]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.pidprobMuon.maximum=%f", fPidProbMuon[1]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.pt.minimum=%f", fPt[0]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.pt.maximum=%f", fPt[1]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.rapidity.minimum=%f", fRapidity[0]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.rapidity.maximum=%f", fRapidity[1]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.maxchindof=%f", fMaxchiNdof);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoAODTrackCut.maxsigmatovertex=%f", fMaxSigmaToVertex);
  tListSetttings->AddLast(new TObjString(buf));
  if (fMostProbable) {
    if (fMostProbable == 2)
      snprintf(buf, 200, "AliFemtoAODTrackCut.mostprobable=%s", "Pion");
    if (fMostProbable == 3)
      snprintf(buf, 200, "AliFemtoAODTrackCut.mostprobable=%s", "Kaon");
    if (fMostProbable == 4)
      snprintf(buf, 200, "AliFemtoAODTrackCut.mostprobable=%s", "Proton");
    tListSetttings->AddLast(new TObjString(buf));
  }
  return tListSetttings;
}
			    // electron
// 0.13 - 1.8
// 0       7.594129e-02    8.256141e-03
// 1       -5.535827e-01   8.170825e-02
// 2       1.728591e+00    3.104210e-01
// 3       -2.827893e+00   5.827802e-01
// 4       2.503553e+00    5.736207e-01
// 5       -1.125965e+00   2.821170e-01
// 6       2.009036e-01    5.438876e-02
float AliFemtoAODTrackCut::PidFractionElectron(float mom) const
{
  // Provide a parameterized fraction of electrons dependent on momentum
  if (mom<0.13) return 0.0;
  if (mom>1.8) return 0.0;
  return (7.594129e-02 
	  -5.535827e-01*mom	   
	  +1.728591e+00*mom*mom    
	  -2.827893e+00*mom*mom*mom 
	  +2.503553e+00*mom*mom*mom*mom	   
	  -1.125965e+00*mom*mom*mom*mom*mom      
	  +2.009036e-01*mom*mom*mom*mom*mom*mom);   
}

// pion
// 0.13 - 2.0
// 0       1.063457e+00    8.872043e-03
// 1       -4.222208e-01   2.534402e-02
// 2       1.042004e-01    1.503945e-02
float AliFemtoAODTrackCut::PidFractionPion(float mom) const
{
  // Provide a parameterized fraction of pions dependent on momentum
  if (mom<0.13) return 0.0;
  if (mom>2.0) return 0.0;
  return ( 1.063457e+00
	   -4.222208e-01*mom
	   +1.042004e-01*mom*mom);
}

// kaon
// 0.18 - 2.0
// 0       -7.289406e-02   1.686074e-03
// 1       4.415666e-01    1.143939e-02
// 2       -2.996790e-01   1.840964e-02
// 3       6.704652e-02    7.783990e-03
float AliFemtoAODTrackCut::PidFractionKaon(float mom) const
{
  // Provide a parameterized fraction of kaons dependent on momentum
  if (mom<0.18) return 0.0;
  if (mom>2.0) return 0.0;
  return (-7.289406e-02
	  +4.415666e-01*mom	   
	  -2.996790e-01*mom*mom    
	  +6.704652e-02*mom*mom*mom);
}

// proton
// 0.26 - 2.0
// 0       -3.730200e-02   2.347311e-03
// 1       1.163684e-01    1.319316e-02
// 2       8.354116e-02    1.997948e-02
// 3       -4.608098e-02   8.336400e-03
float AliFemtoAODTrackCut::PidFractionProton(float mom) const
{
  // Provide a parameterized fraction of protons dependent on momentum
  if (mom<0.26) return  0.0;
  if (mom>2.0) return 0.0;
  return (-3.730200e-02  
	  +1.163684e-01*mom	      
	  +8.354116e-02*mom*mom       
	  -4.608098e-02*mom*mom*mom);  
}
 AliFemtoAODTrackCut.cxx:1
 AliFemtoAODTrackCut.cxx:2
 AliFemtoAODTrackCut.cxx:3
 AliFemtoAODTrackCut.cxx:4
 AliFemtoAODTrackCut.cxx:5
 AliFemtoAODTrackCut.cxx:6
 AliFemtoAODTrackCut.cxx:7
 AliFemtoAODTrackCut.cxx:8
 AliFemtoAODTrackCut.cxx:9
 AliFemtoAODTrackCut.cxx:10
 AliFemtoAODTrackCut.cxx:11
 AliFemtoAODTrackCut.cxx:12
 AliFemtoAODTrackCut.cxx:13
 AliFemtoAODTrackCut.cxx:14
 AliFemtoAODTrackCut.cxx:15
 AliFemtoAODTrackCut.cxx:16
 AliFemtoAODTrackCut.cxx:17
 AliFemtoAODTrackCut.cxx:18
 AliFemtoAODTrackCut.cxx:19
 AliFemtoAODTrackCut.cxx:20
 AliFemtoAODTrackCut.cxx:21
 AliFemtoAODTrackCut.cxx:22
 AliFemtoAODTrackCut.cxx:23
 AliFemtoAODTrackCut.cxx:24
 AliFemtoAODTrackCut.cxx:25
 AliFemtoAODTrackCut.cxx:26
 AliFemtoAODTrackCut.cxx:27
 AliFemtoAODTrackCut.cxx:28
 AliFemtoAODTrackCut.cxx:29
 AliFemtoAODTrackCut.cxx:30
 AliFemtoAODTrackCut.cxx:31
 AliFemtoAODTrackCut.cxx:32
 AliFemtoAODTrackCut.cxx:33
 AliFemtoAODTrackCut.cxx:34
 AliFemtoAODTrackCut.cxx:35
 AliFemtoAODTrackCut.cxx:36
 AliFemtoAODTrackCut.cxx:37
 AliFemtoAODTrackCut.cxx:38
 AliFemtoAODTrackCut.cxx:39
 AliFemtoAODTrackCut.cxx:40
 AliFemtoAODTrackCut.cxx:41
 AliFemtoAODTrackCut.cxx:42
 AliFemtoAODTrackCut.cxx:43
 AliFemtoAODTrackCut.cxx:44
 AliFemtoAODTrackCut.cxx:45
 AliFemtoAODTrackCut.cxx:46
 AliFemtoAODTrackCut.cxx:47
 AliFemtoAODTrackCut.cxx:48
 AliFemtoAODTrackCut.cxx:49
 AliFemtoAODTrackCut.cxx:50
 AliFemtoAODTrackCut.cxx:51
 AliFemtoAODTrackCut.cxx:52
 AliFemtoAODTrackCut.cxx:53
 AliFemtoAODTrackCut.cxx:54
 AliFemtoAODTrackCut.cxx:55
 AliFemtoAODTrackCut.cxx:56
 AliFemtoAODTrackCut.cxx:57
 AliFemtoAODTrackCut.cxx:58
 AliFemtoAODTrackCut.cxx:59
 AliFemtoAODTrackCut.cxx:60
 AliFemtoAODTrackCut.cxx:61
 AliFemtoAODTrackCut.cxx:62
 AliFemtoAODTrackCut.cxx:63
 AliFemtoAODTrackCut.cxx:64
 AliFemtoAODTrackCut.cxx:65
 AliFemtoAODTrackCut.cxx:66
 AliFemtoAODTrackCut.cxx:67
 AliFemtoAODTrackCut.cxx:68
 AliFemtoAODTrackCut.cxx:69
 AliFemtoAODTrackCut.cxx:70
 AliFemtoAODTrackCut.cxx:71
 AliFemtoAODTrackCut.cxx:72
 AliFemtoAODTrackCut.cxx:73
 AliFemtoAODTrackCut.cxx:74
 AliFemtoAODTrackCut.cxx:75
 AliFemtoAODTrackCut.cxx:76
 AliFemtoAODTrackCut.cxx:77
 AliFemtoAODTrackCut.cxx:78
 AliFemtoAODTrackCut.cxx:79
 AliFemtoAODTrackCut.cxx:80
 AliFemtoAODTrackCut.cxx:81
 AliFemtoAODTrackCut.cxx:82
 AliFemtoAODTrackCut.cxx:83
 AliFemtoAODTrackCut.cxx:84
 AliFemtoAODTrackCut.cxx:85
 AliFemtoAODTrackCut.cxx:86
 AliFemtoAODTrackCut.cxx:87
 AliFemtoAODTrackCut.cxx:88
 AliFemtoAODTrackCut.cxx:89
 AliFemtoAODTrackCut.cxx:90
 AliFemtoAODTrackCut.cxx:91
 AliFemtoAODTrackCut.cxx:92
 AliFemtoAODTrackCut.cxx:93
 AliFemtoAODTrackCut.cxx:94
 AliFemtoAODTrackCut.cxx:95
 AliFemtoAODTrackCut.cxx:96
 AliFemtoAODTrackCut.cxx:97
 AliFemtoAODTrackCut.cxx:98
 AliFemtoAODTrackCut.cxx:99
 AliFemtoAODTrackCut.cxx:100
 AliFemtoAODTrackCut.cxx:101
 AliFemtoAODTrackCut.cxx:102
 AliFemtoAODTrackCut.cxx:103
 AliFemtoAODTrackCut.cxx:104
 AliFemtoAODTrackCut.cxx:105
 AliFemtoAODTrackCut.cxx:106
 AliFemtoAODTrackCut.cxx:107
 AliFemtoAODTrackCut.cxx:108
 AliFemtoAODTrackCut.cxx:109
 AliFemtoAODTrackCut.cxx:110
 AliFemtoAODTrackCut.cxx:111
 AliFemtoAODTrackCut.cxx:112
 AliFemtoAODTrackCut.cxx:113
 AliFemtoAODTrackCut.cxx:114
 AliFemtoAODTrackCut.cxx:115
 AliFemtoAODTrackCut.cxx:116
 AliFemtoAODTrackCut.cxx:117
 AliFemtoAODTrackCut.cxx:118
 AliFemtoAODTrackCut.cxx:119
 AliFemtoAODTrackCut.cxx:120
 AliFemtoAODTrackCut.cxx:121
 AliFemtoAODTrackCut.cxx:122
 AliFemtoAODTrackCut.cxx:123
 AliFemtoAODTrackCut.cxx:124
 AliFemtoAODTrackCut.cxx:125
 AliFemtoAODTrackCut.cxx:126
 AliFemtoAODTrackCut.cxx:127
 AliFemtoAODTrackCut.cxx:128
 AliFemtoAODTrackCut.cxx:129
 AliFemtoAODTrackCut.cxx:130
 AliFemtoAODTrackCut.cxx:131
 AliFemtoAODTrackCut.cxx:132
 AliFemtoAODTrackCut.cxx:133
 AliFemtoAODTrackCut.cxx:134
 AliFemtoAODTrackCut.cxx:135
 AliFemtoAODTrackCut.cxx:136
 AliFemtoAODTrackCut.cxx:137
 AliFemtoAODTrackCut.cxx:138
 AliFemtoAODTrackCut.cxx:139
 AliFemtoAODTrackCut.cxx:140
 AliFemtoAODTrackCut.cxx:141
 AliFemtoAODTrackCut.cxx:142
 AliFemtoAODTrackCut.cxx:143
 AliFemtoAODTrackCut.cxx:144
 AliFemtoAODTrackCut.cxx:145
 AliFemtoAODTrackCut.cxx:146
 AliFemtoAODTrackCut.cxx:147
 AliFemtoAODTrackCut.cxx:148
 AliFemtoAODTrackCut.cxx:149
 AliFemtoAODTrackCut.cxx:150
 AliFemtoAODTrackCut.cxx:151
 AliFemtoAODTrackCut.cxx:152
 AliFemtoAODTrackCut.cxx:153
 AliFemtoAODTrackCut.cxx:154
 AliFemtoAODTrackCut.cxx:155
 AliFemtoAODTrackCut.cxx:156
 AliFemtoAODTrackCut.cxx:157
 AliFemtoAODTrackCut.cxx:158
 AliFemtoAODTrackCut.cxx:159
 AliFemtoAODTrackCut.cxx:160
 AliFemtoAODTrackCut.cxx:161
 AliFemtoAODTrackCut.cxx:162
 AliFemtoAODTrackCut.cxx:163
 AliFemtoAODTrackCut.cxx:164
 AliFemtoAODTrackCut.cxx:165
 AliFemtoAODTrackCut.cxx:166
 AliFemtoAODTrackCut.cxx:167
 AliFemtoAODTrackCut.cxx:168
 AliFemtoAODTrackCut.cxx:169
 AliFemtoAODTrackCut.cxx:170
 AliFemtoAODTrackCut.cxx:171
 AliFemtoAODTrackCut.cxx:172
 AliFemtoAODTrackCut.cxx:173
 AliFemtoAODTrackCut.cxx:174
 AliFemtoAODTrackCut.cxx:175
 AliFemtoAODTrackCut.cxx:176
 AliFemtoAODTrackCut.cxx:177
 AliFemtoAODTrackCut.cxx:178
 AliFemtoAODTrackCut.cxx:179
 AliFemtoAODTrackCut.cxx:180
 AliFemtoAODTrackCut.cxx:181
 AliFemtoAODTrackCut.cxx:182
 AliFemtoAODTrackCut.cxx:183
 AliFemtoAODTrackCut.cxx:184
 AliFemtoAODTrackCut.cxx:185
 AliFemtoAODTrackCut.cxx:186
 AliFemtoAODTrackCut.cxx:187
 AliFemtoAODTrackCut.cxx:188
 AliFemtoAODTrackCut.cxx:189
 AliFemtoAODTrackCut.cxx:190
 AliFemtoAODTrackCut.cxx:191
 AliFemtoAODTrackCut.cxx:192
 AliFemtoAODTrackCut.cxx:193
 AliFemtoAODTrackCut.cxx:194
 AliFemtoAODTrackCut.cxx:195
 AliFemtoAODTrackCut.cxx:196
 AliFemtoAODTrackCut.cxx:197
 AliFemtoAODTrackCut.cxx:198
 AliFemtoAODTrackCut.cxx:199
 AliFemtoAODTrackCut.cxx:200
 AliFemtoAODTrackCut.cxx:201
 AliFemtoAODTrackCut.cxx:202
 AliFemtoAODTrackCut.cxx:203
 AliFemtoAODTrackCut.cxx:204
 AliFemtoAODTrackCut.cxx:205
 AliFemtoAODTrackCut.cxx:206
 AliFemtoAODTrackCut.cxx:207
 AliFemtoAODTrackCut.cxx:208
 AliFemtoAODTrackCut.cxx:209
 AliFemtoAODTrackCut.cxx:210
 AliFemtoAODTrackCut.cxx:211
 AliFemtoAODTrackCut.cxx:212
 AliFemtoAODTrackCut.cxx:213
 AliFemtoAODTrackCut.cxx:214
 AliFemtoAODTrackCut.cxx:215
 AliFemtoAODTrackCut.cxx:216
 AliFemtoAODTrackCut.cxx:217
 AliFemtoAODTrackCut.cxx:218
 AliFemtoAODTrackCut.cxx:219
 AliFemtoAODTrackCut.cxx:220
 AliFemtoAODTrackCut.cxx:221
 AliFemtoAODTrackCut.cxx:222
 AliFemtoAODTrackCut.cxx:223
 AliFemtoAODTrackCut.cxx:224
 AliFemtoAODTrackCut.cxx:225
 AliFemtoAODTrackCut.cxx:226
 AliFemtoAODTrackCut.cxx:227
 AliFemtoAODTrackCut.cxx:228
 AliFemtoAODTrackCut.cxx:229
 AliFemtoAODTrackCut.cxx:230
 AliFemtoAODTrackCut.cxx:231
 AliFemtoAODTrackCut.cxx:232
 AliFemtoAODTrackCut.cxx:233
 AliFemtoAODTrackCut.cxx:234
 AliFemtoAODTrackCut.cxx:235
 AliFemtoAODTrackCut.cxx:236
 AliFemtoAODTrackCut.cxx:237
 AliFemtoAODTrackCut.cxx:238
 AliFemtoAODTrackCut.cxx:239
 AliFemtoAODTrackCut.cxx:240
 AliFemtoAODTrackCut.cxx:241
 AliFemtoAODTrackCut.cxx:242
 AliFemtoAODTrackCut.cxx:243
 AliFemtoAODTrackCut.cxx:244
 AliFemtoAODTrackCut.cxx:245
 AliFemtoAODTrackCut.cxx:246
 AliFemtoAODTrackCut.cxx:247
 AliFemtoAODTrackCut.cxx:248
 AliFemtoAODTrackCut.cxx:249
 AliFemtoAODTrackCut.cxx:250
 AliFemtoAODTrackCut.cxx:251
 AliFemtoAODTrackCut.cxx:252
 AliFemtoAODTrackCut.cxx:253
 AliFemtoAODTrackCut.cxx:254
 AliFemtoAODTrackCut.cxx:255
 AliFemtoAODTrackCut.cxx:256
 AliFemtoAODTrackCut.cxx:257
 AliFemtoAODTrackCut.cxx:258
 AliFemtoAODTrackCut.cxx:259
 AliFemtoAODTrackCut.cxx:260
 AliFemtoAODTrackCut.cxx:261
 AliFemtoAODTrackCut.cxx:262
 AliFemtoAODTrackCut.cxx:263
 AliFemtoAODTrackCut.cxx:264
 AliFemtoAODTrackCut.cxx:265
 AliFemtoAODTrackCut.cxx:266
 AliFemtoAODTrackCut.cxx:267
 AliFemtoAODTrackCut.cxx:268
 AliFemtoAODTrackCut.cxx:269
 AliFemtoAODTrackCut.cxx:270
 AliFemtoAODTrackCut.cxx:271
 AliFemtoAODTrackCut.cxx:272
 AliFemtoAODTrackCut.cxx:273
 AliFemtoAODTrackCut.cxx:274
 AliFemtoAODTrackCut.cxx:275
 AliFemtoAODTrackCut.cxx:276
 AliFemtoAODTrackCut.cxx:277
 AliFemtoAODTrackCut.cxx:278
 AliFemtoAODTrackCut.cxx:279
 AliFemtoAODTrackCut.cxx:280
 AliFemtoAODTrackCut.cxx:281
 AliFemtoAODTrackCut.cxx:282
 AliFemtoAODTrackCut.cxx:283
 AliFemtoAODTrackCut.cxx:284
 AliFemtoAODTrackCut.cxx:285
 AliFemtoAODTrackCut.cxx:286
 AliFemtoAODTrackCut.cxx:287
 AliFemtoAODTrackCut.cxx:288
 AliFemtoAODTrackCut.cxx:289
 AliFemtoAODTrackCut.cxx:290
 AliFemtoAODTrackCut.cxx:291
 AliFemtoAODTrackCut.cxx:292
 AliFemtoAODTrackCut.cxx:293
 AliFemtoAODTrackCut.cxx:294
 AliFemtoAODTrackCut.cxx:295
 AliFemtoAODTrackCut.cxx:296
 AliFemtoAODTrackCut.cxx:297
 AliFemtoAODTrackCut.cxx:298
 AliFemtoAODTrackCut.cxx:299
 AliFemtoAODTrackCut.cxx:300
 AliFemtoAODTrackCut.cxx:301
 AliFemtoAODTrackCut.cxx:302
 AliFemtoAODTrackCut.cxx:303
 AliFemtoAODTrackCut.cxx:304
 AliFemtoAODTrackCut.cxx:305
 AliFemtoAODTrackCut.cxx:306
 AliFemtoAODTrackCut.cxx:307
 AliFemtoAODTrackCut.cxx:308
 AliFemtoAODTrackCut.cxx:309
 AliFemtoAODTrackCut.cxx:310
 AliFemtoAODTrackCut.cxx:311
 AliFemtoAODTrackCut.cxx:312
 AliFemtoAODTrackCut.cxx:313
 AliFemtoAODTrackCut.cxx:314
 AliFemtoAODTrackCut.cxx:315
 AliFemtoAODTrackCut.cxx:316
 AliFemtoAODTrackCut.cxx:317
 AliFemtoAODTrackCut.cxx:318
 AliFemtoAODTrackCut.cxx:319
 AliFemtoAODTrackCut.cxx:320
 AliFemtoAODTrackCut.cxx:321
 AliFemtoAODTrackCut.cxx:322
 AliFemtoAODTrackCut.cxx:323
 AliFemtoAODTrackCut.cxx:324
 AliFemtoAODTrackCut.cxx:325
 AliFemtoAODTrackCut.cxx:326
 AliFemtoAODTrackCut.cxx:327
 AliFemtoAODTrackCut.cxx:328
 AliFemtoAODTrackCut.cxx:329
 AliFemtoAODTrackCut.cxx:330
 AliFemtoAODTrackCut.cxx:331
 AliFemtoAODTrackCut.cxx:332
 AliFemtoAODTrackCut.cxx:333
 AliFemtoAODTrackCut.cxx:334
 AliFemtoAODTrackCut.cxx:335
 AliFemtoAODTrackCut.cxx:336
 AliFemtoAODTrackCut.cxx:337
 AliFemtoAODTrackCut.cxx:338
 AliFemtoAODTrackCut.cxx:339
 AliFemtoAODTrackCut.cxx:340
 AliFemtoAODTrackCut.cxx:341
 AliFemtoAODTrackCut.cxx:342
 AliFemtoAODTrackCut.cxx:343
 AliFemtoAODTrackCut.cxx:344
 AliFemtoAODTrackCut.cxx:345
 AliFemtoAODTrackCut.cxx:346
 AliFemtoAODTrackCut.cxx:347
 AliFemtoAODTrackCut.cxx:348
 AliFemtoAODTrackCut.cxx:349
 AliFemtoAODTrackCut.cxx:350
 AliFemtoAODTrackCut.cxx:351
 AliFemtoAODTrackCut.cxx:352
 AliFemtoAODTrackCut.cxx:353
 AliFemtoAODTrackCut.cxx:354
 AliFemtoAODTrackCut.cxx:355
 AliFemtoAODTrackCut.cxx:356
 AliFemtoAODTrackCut.cxx:357
 AliFemtoAODTrackCut.cxx:358
 AliFemtoAODTrackCut.cxx:359
 AliFemtoAODTrackCut.cxx:360
 AliFemtoAODTrackCut.cxx:361
 AliFemtoAODTrackCut.cxx:362
 AliFemtoAODTrackCut.cxx:363
 AliFemtoAODTrackCut.cxx:364
 AliFemtoAODTrackCut.cxx:365
 AliFemtoAODTrackCut.cxx:366
 AliFemtoAODTrackCut.cxx:367
 AliFemtoAODTrackCut.cxx:368
 AliFemtoAODTrackCut.cxx:369
 AliFemtoAODTrackCut.cxx:370
 AliFemtoAODTrackCut.cxx:371
 AliFemtoAODTrackCut.cxx:372
 AliFemtoAODTrackCut.cxx:373
 AliFemtoAODTrackCut.cxx:374