ROOT logo
/*
***************************************************************************
*
* $Id$
*
*
***************************************************************************
*
*
*
*
***************************************************************************
*
* $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 "AliFemtoMJTrackCut.h"
#include <cstdio>

#ifdef __ROOT__
ClassImp(AliFemtoMJTrackCut)
#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


  AliFemtoMJTrackCut::AliFemtoMJTrackCut() :
    fCharge(0),
    fLabel(0),
    fStatus(0),
    fPIDMethod(knSigma),
  fNsigmaTPCTOF(kFALSE),
  fNsigmaTPConly(kFALSE),
  fNsigma(3.),
    fminTPCclsF(0),
    fminTPCncls(0),
    fminITScls(0),
    fMaxITSchiNdof(1000.0),
    fMaxTPCchiNdof(1000.0),
    fMaxSigmaToVertex(1000.0),
    fNTracksPassed(0),
    fNTracksFailed(0),
    fRemoveKinks(kFALSE),
    fRemoveITSFake(kFALSE),
    fMostProbable(0),
    fMaxImpactXY(1000.0),
  fMinImpactXY(-1000.0),
    fMaxImpactZ(1000.0),
    fMaxImpactXYPtOff(1000.0),
    fMaxImpactXYPtNrm(1000.0),
    fMaxImpactXYPtPow(1000.0),
    fMinPforTOFpid(0.0),
    fMaxPforTOFpid(10000.0),
    fMinPforTPCpid(0.0),
    fMaxPforTPCpid(10000.0),
    fMinPforITSpid(0.0),
   fMaxPforITSpid(10000.0),
   fElectronRejection(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
  fEta[0]=-2;       fEta[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;
  for (Int_t i = 0; i < 3; i++)
    fCutClusterRequirementITS[i] = AliESDtrackCuts::kOff;
  fLabel=false;
  fStatus=0;
  fminTPCclsF=0;
  fminITScls=0;
  fPIDMethod=knSigma;
  fNsigmaTPCTOF=kFALSE;
  fNsigmaTPConly=kFALSE;
  fNsigma=3.;
}
//------------------------------
AliFemtoMJTrackCut::~AliFemtoMJTrackCut(){
  /* noop */
}
//------------------------------
bool AliFemtoMJTrackCut::Pass(const AliFemtoTrack* track)
{
  //cout<<"AliFemtoMJTrackCut::Pass"<<endl;

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

  //cout<<"AliFemtoESD  cut"<<endl;
  //cout<<fPidProbPion[0]<<" < pi ="<<track->PidProbPion()<<" <"<<fPidProbPion[1]<<endl;
  if (fStatus!=0)
    {
      //cout<<" status "<<track->Label()<<" "<<track->Flags()<<" "<<track->TPCnclsF()<<" "<<track->ITSncls()<<endl;
      if ((track->Flags()&fStatus)!=fStatus)
	{
	  //	  cout<<track->Flags()<<" "<<fStatus<<" no go through status"<<endl;
	  return false;
	}

    }
  if (fRemoveKinks) {
    if ((track->KinkIndex(0)) || (track->KinkIndex(1)) || (track->KinkIndex(2)))
      return false;
  }
  if (fRemoveITSFake) {
    if (track->ITSncls() < 0)
      return false;
  }
  if (fminTPCclsF>track->TPCnclsF())
    {
      //cout<<" No go because TPC Number of ClsF"<<fminTPCclsF<< " "<<track->TPCnclsF()<<endl;
      return false;
    }
  if (fminTPCncls>track->TPCncls())
    {
      //cout<<" No go because TPC Number of ClsF"<<fminTPCclsF<< " "<<track->TPCnclsF()<<endl;
      return false;
    }
  if (fminITScls>track->ITSncls())
    {
      //cout<<" No go because ITS Number of Cls"<<fminITScls<< " "<<track->ITSncls()<<endl;
      return false;
    }

  if (fMaxImpactXY < TMath::Abs(track->ImpactD()))
    return false;

  if (fMinImpactXY > TMath::Abs(track->ImpactD()))
    return false;

  if (fMaxImpactZ < TMath::Abs(track->ImpactZ()))
    return false;

  if (fMaxSigmaToVertex < track->SigmaToVertex()) {
    return false;
  }

  if (track->ITSncls() > 0)
    if ((track->ITSchi2()/track->ITSncls()) > fMaxITSchiNdof) {
      return false;
    }

  if (track->TPCncls() > 0)
    if ((track->TPCchi2()/track->TPCncls()) > fMaxTPCchiNdof) {
      return false;
    }
  //ITS cluster requirenments
  for (Int_t i = 0; i < 3; i++)
    if(!CheckITSClusterRequirement(fCutClusterRequirementITS[i], track->HasPointOnITSLayer(i*2), track->HasPointOnITSLayer(i*2+1)))
      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;
	}
    }




  Bool_t tTPCPidIn = (track->Flags()&AliFemtoTrack::kTPCpid)>0;
  Bool_t tITSPidIn = (track->Flags()&AliFemtoTrack::kITSpid)>0;
  Bool_t tTOFPidIn = (track->Flags()&AliFemtoTrack::kTOFpid)>0;

  if(fMinPforTOFpid > 0 && track->P().Mag() > fMinPforTOFpid &&
     track->P().Mag() < fMaxPforTOFpid && !tTOFPidIn)
    {
      fNTracksFailed++;
      return false;
    }

  if(fMinPforTPCpid > 0 && track->P().Mag() > fMinPforTPCpid &&
     track->P().Mag() < fMaxPforTPCpid && !tTPCPidIn)
    {
      fNTracksFailed++;
      return false;
    }

  if(fMinPforITSpid > 0 && track->P().Mag() > fMinPforITSpid &&
     track->P().Mag() < fMaxPforITSpid && !tITSPidIn)
    {
      fNTracksFailed++;
      return false;
    }


  float tEnergy = ::sqrt(track->P().Mag2()+fMass*fMass);
  float tRapidity = 0;
  if(tEnergy-track->P().z()!=0 && (tEnergy+track->P().z())/(tEnergy-track->P().z())>0)
    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()));
  float tEta = track->P().PseudoRapidity();

  if (fMaxImpactXYPtOff < 999.0) {
    if ((fMaxImpactXYPtOff + fMaxImpactXYPtNrm*TMath::Power(tPt, fMaxImpactXYPtPow)) < TMath::Abs(track->ImpactD())) {
      fNTracksFailed++;
      return false;
    }
  }

  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 ((tEta<fEta[0])||(tEta>fEta[1]))
    {
      fNTracksFailed++;
      //cout<<"No Go Through the cut"<<endl;
      //cout<<fEta[0]<<" < Eta ="<<tEta<<" <"<<fEta[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;
    }




  //   cout << "Track has pids: "
  //        << track->PidProbElectron() << " "
  //        << track->PidProbMuon() << " "
  //        << track->PidProbPion() << " "
  //        << track->PidProbKaon() << " "
  //        << track->PidProbProton() << " "
  //        << track->PidProbElectron()+track->PidProbMuon()+track->PidProbPion()+track->PidProbKaon()+track->PidProbProton() << endl;


  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;
    }

  //****N Sigma Method -- electron rejection****
  if(fElectronRejection) 
    if(!IsElectron(track->NSigmaTPCE(),track->NSigmaTPCPi(),track->NSigmaTPCK(), track->NSigmaTPCP())) 
      return false;


  if (fMostProbable) {

    int imost=0;
    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());
    float ipidmax = 0.0;

    //****N Sigma Method****
	if(fPIDMethod==0){
	  // Looking for pions
	  if (fMostProbable == 2) {
	    if (IsPionNSigma(track->P().Mag(), track->NSigmaTPCPi(), track->NSigmaTOFPi()))
	      imost = 2;

	  }
	  else if (fMostProbable == 3) {


	    if (IsKaonNSigma(track->P().Mag(), track->NSigmaTPCK(), track->NSigmaTOFK())){

	      imost = 3;
	    }
	  }
	  else if (fMostProbable == 4) { // proton nsigma-PID required contour adjusting (in LHC10h)
	    if ( IsProtonNSigma(track->P().Mag(), track->NSigmaTPCP(), track->NSigmaTOFP()) // && (TMath::Abs(track->NSigmaTPCP()) < TMath::Abs(track->NSigmaTPCPi())) && (TMath::Abs(track->NSigmaTPCP()) < TMath::Abs(track->NSigmaTPCK())) && (TMath::Abs(track->NSigmaTOFP()) < TMath::Abs(track->NSigmaTOFPi())) && (TMath::Abs(track->NSigmaTOFP()) < TMath::Abs(track->NSigmaTOFK()))
		 // && IsProtonTPCdEdx(track->P().Mag(), track->TPCsignal())
		 )
	      imost = 4;
	  }
	  else if (fMostProbable == 5) { // no-protons
	    if ( !IsProtonNSigma(track->P().Mag(), track->NSigmaTPCP(), track->NSigmaTOFP()) )
	      imost = 5;
	  }
	  else if (fMostProbable == 6) { //pions OR kaons OR protons
	    if (IsPionNSigma(track->P().Mag(), track->NSigmaTPCPi(), track->NSigmaTOFPi()))
	      imost = 6;
	    else if (IsKaonNSigma(track->P().Mag(), track->NSigmaTPCK(), track->NSigmaTOFK()))
	      imost = 6;
	    else if (IsProtonNSigma(track->P().Mag(), track->NSigmaTPCP(), track->NSigmaTOFP()) )
	      imost = 6;
	  }
	  else if (fMostProbable == 7) { // pions OR kaons OR protons OR electrons
	    if (IsPionNSigma(track->P().Mag(), track->NSigmaTPCPi(), track->NSigmaTOFPi()))
	      imost = 7;
	    else if (IsKaonNSigma(track->P().Mag(), track->NSigmaTPCK(), track->NSigmaTOFK()))
	      imost = 7;
	    else if (IsProtonNSigma(track->P().Mag(), track->NSigmaTPCP(), track->NSigmaTOFP()) )
	      imost = 7;
	    else if (TMath::Abs(track->NSigmaTPCE())<3)
	      imost = 7;

	  }
	  else if (fMostProbable == 8) { // TOF matching
	    if(track->NSigmaTOFPi() != -1000 || track->Pt()<0.5){
	      imost = 8;
	    }
	  }
	  else if (fMostProbable == 9) { // Other: no kaons, no pions, no protons
	    if (IsPionNSigma(track->P().Mag(), track->NSigmaTPCPi(), track->NSigmaTOFPi()))
	      imost = -1;
	    else if (IsKaonNSigma(track->P().Mag(), track->NSigmaTPCK(), track->NSigmaTOFK()))
	      imost = -1;
	    else if (IsProtonNSigma(track->P().Mag(), track->NSigmaTPCP(), track->NSigmaTOFP()) )
	      imost = -1;
	    else if(track->NSigmaTOFPi() != -1000 || track->Pt()<0.5){
	      imost = 9;
	    }
	  }
	  if (fMostProbable == 10) {//cut on Nsigma in pT not p
	    if (IsPionNSigma(track->Pt(), track->NSigmaTPCPi(), track->NSigmaTOFPi()))
	      imost = 10;
	  }
	  else if (fMostProbable == 11) {//cut on Nsigma in pT not p
	    if (IsKaonNSigma(track->Pt(), track->NSigmaTPCK(), track->NSigmaTOFK()))
	      imost = 11;
	  }
	  else if (fMostProbable == 12) { //cut on Nsigma in pT not p
	    if ( IsProtonNSigma(track->Pt(), track->NSigmaTPCP(), track->NSigmaTOFP()))
	      imost = 12;
	  }
	  else if (fMostProbable == 13) { //cut on Nsigma in pT not p, EXCLUSIVE PID, pion
	    if ((IsPionNSigma(track->Pt(),track->NSigmaTPCPi(), track->NSigmaTOFPi()) && !IsKaonNSigma(track->Pt(),track->NSigmaTPCK(), track->NSigmaTOFK()) && !IsProtonNSigma(track->Pt(),track->NSigmaTPCP(), track->NSigmaTOFP())))
	      imost = 13;
	  }
	  else if (fMostProbable == 14) { //cut on Nsigma in pT not p, EXCLUSIVE PID, kaon
	    if (!IsPionNSigma(track->Pt(),track->NSigmaTPCPi(), track->NSigmaTOFPi()) && IsKaonNSigma(track->Pt(),track->NSigmaTPCK(), track->NSigmaTOFK()) && !IsProtonNSigma(track->Pt(),track->NSigmaTPCP(), track->NSigmaTOFP()))
	      imost = 14;
	  }
	  else if (fMostProbable == 15) { //cut on Nsigma in pT not p, EXCLUSIVE PID, proton
	    if (!IsPionNSigma(track->Pt(),track->NSigmaTPCPi(), track->NSigmaTOFPi()) && !IsKaonNSigma(track->Pt(), !track->NSigmaTPCK(), track->NSigmaTOFK()) && IsProtonNSigma(track->Pt(),track->NSigmaTPCP(), track->NSigmaTOFP()))
	      imost = 15;
	  }
	  //*************** Without double counting, pions ************************
	  else if (fMostProbable == 16) { //cut on Nsigma in pT not p,  without double counting
	    double nSigmaPIDPi = 0, nSigmaPIDK = 0, nSigmaPIDP = 0;
	    if(track->Pt()<0.5){
	      nSigmaPIDPi = abs(track->NSigmaTPCPi());
	      nSigmaPIDK  = abs(track->NSigmaTPCK());
	      nSigmaPIDP  = abs(track->NSigmaTPCP());
	    }
	    else{
	      nSigmaPIDPi = TMath::Hypot(track->NSigmaTOFPi(), track->NSigmaTPCPi());
	      nSigmaPIDK= TMath::Hypot(track->NSigmaTOFK(), track->NSigmaTPCK());
	      nSigmaPIDP= TMath::Hypot(track->NSigmaTOFP(), track->NSigmaTPCP());
	    }

	    if(nSigmaPIDPi<nSigmaPIDK && nSigmaPIDPi<nSigmaPIDP){
	      bool isPionNsigma = 0;
	      isPionNsigma = (IsPionNSigma(track->Pt(),track->NSigmaTPCPi(), track->NSigmaTOFPi()));
	      if(isPionNsigma) imost=16;
	    }
	  }

	  else if (fMostProbable == 17) { //cut on Nsigma in pT not p,  without double counting
	    double nSigmaPIDPi = 0, nSigmaPIDK = 0, nSigmaPIDP = 0;
	    if(track->Pt()<0.5){
	      nSigmaPIDPi = abs(track->NSigmaTPCPi());
	      nSigmaPIDK  = abs(track->NSigmaTPCK());
	      nSigmaPIDP  = abs(track->NSigmaTPCP());
	    }
	    else{
	      nSigmaPIDPi = TMath::Hypot(track->NSigmaTOFPi(), track->NSigmaTPCPi());
	      nSigmaPIDK= TMath::Hypot(track->NSigmaTOFK(), track->NSigmaTPCK());
	      nSigmaPIDP= TMath::Hypot(track->NSigmaTOFP(), track->NSigmaTPCP());
	    }

	    if(nSigmaPIDK<nSigmaPIDPi && nSigmaPIDK<nSigmaPIDP){
	      bool isKaonNsigma = 0;
	      isKaonNsigma = (IsKaonNSigma(track->Pt(),track->NSigmaTPCK(), track->NSigmaTOFK()));
	      if(isKaonNsigma) imost=17;
	    }
	  }
	  else if (fMostProbable == 18) { //cut on Nsigma in pT not p,  without double counting
	    double nSigmaPIDPi = 0, nSigmaPIDK = 0, nSigmaPIDP = 0;
	    if(track->Pt()<0.5){
	      nSigmaPIDPi = abs(track->NSigmaTPCPi());
	      nSigmaPIDK  = abs(track->NSigmaTPCK());
	      nSigmaPIDP  = abs(track->NSigmaTPCP());
	    }
	    else{
	      nSigmaPIDPi = TMath::Hypot(track->NSigmaTOFPi(), track->NSigmaTPCPi());
	      nSigmaPIDK= TMath::Hypot(track->NSigmaTOFK(), track->NSigmaTPCK());
	      nSigmaPIDP= TMath::Hypot(track->NSigmaTOFP(), track->NSigmaTPCP());
	    }

	    if(nSigmaPIDP<nSigmaPIDPi && nSigmaPIDP<nSigmaPIDK){
	      bool isProtonNsigma  = 0;
	      isProtonNsigma = (IsProtonNSigma(track->Pt(),track->NSigmaTPCP(), track->NSigmaTOFP()));
	      if(isProtonNsigma) imost=18;
	    }
	  }
	}




    //****Contour Method****
	if(fPIDMethod==1){
	  for (int ip=0; ip<5; ip++)
	    if (tMost[ip] > ipidmax) { ipidmax = tMost[ip]; imost = ip; };

	  // Looking for pions
	  if (fMostProbable == 2) {
	    if (imost == 2) {
	      // Using the TPC to reject non-pions
	      if (!(IsPionTPCdEdx(track->P().Mag(), track->TPCsignal())))
		imost = 0;
	      if (0) {
		// Using the TOF to reject non-pions
		if (track->P().Mag() < 0.6) {
		  if (tTOFPidIn)
		    if (!IsPionTOFTime(track->P().Mag(), track->TOFpionTime()))
		      imost = 0;
		}
		else {
		  if (tTOFPidIn) {
		    if (!IsPionTOFTime(track->P().Mag(), track->TOFpionTime()))
		      imost = 0;
		  }
		  else {
		    imost = 0;
		  }
		}
	      }
	    }
	  }

	  // Looking for kaons
	  else if (fMostProbable == 3) {
	    //       if (imost == 3) {
	    // Using the TPC to reject non-kaons
	    if (track->P().Mag() < 0.6) {
	      if (!(IsKaonTPCdEdx(track->P().Mag(), track->TPCsignal())))
		imost = 0;
	      else imost = 3;
	      if (1) {
		// Using the TOF to reject non-kaons
		if (tTOFPidIn)
		  if (!IsKaonTOFTime(track->P().Mag(), track->TOFkaonTime()))
		    imost = 0;
	      }
	    }
	    else {
	      if (1) {
		if (tTOFPidIn) {
		  if (!IsKaonTOFTime(track->P().Mag(), track->TOFkaonTime()))
		    imost = 0;
		  else
		    imost = 3;
		}
		else {
		  if (!(IsKaonTPCdEdx(track->P().Mag(), track->TPCsignal())))
		    imost = 0;
		  else
		    imost = 3;
		}
	      }
	    }
	    //       }
	  }

	  // Looking for protons
	  else if (fMostProbable == 4) {
	    //       if (imost == 3) {
	    // Using the TPC to reject non-kaons
	    if (track->P().Mag() < 0.8) {
	      if (!(IsProtonTPCdEdx(track->P().Mag(), track->TPCsignal())))
		imost = 0;
	      else imost = 4;
	      if (0) {
		// Using the TOF to reject non-kaons
		if (tTOFPidIn)
		  if (!IsKaonTOFTime(track->P().Mag(), track->TOFkaonTime()))
		    imost = 0;
	      }
	    }
	    else {
	      if (0) {
		if (tTOFPidIn) {
		  if (!IsKaonTOFTime(track->P().Mag(), track->TOFkaonTime()))
		    imost = 0;
		  else
		    imost = 3;
		}
		else {
		  if (!(IsKaonTPCdEdx(track->P().Mag(), track->TPCsignal())))
		    imost = 0;
		  else
		    imost = 3;
		}
	      }
	    }
	    //       }
	  }
	}
    if (imost != fMostProbable) return false;
  }

  //fan
  //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 AliFemtoMJTrackCut::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, "Particle eta:\t%E - %E\n",fEta[0],fEta[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 *AliFemtoMJTrackCut::ListSettings()
{
  // return a list of settings in a writable form
  TList *tListSetttings = new TList();
  char buf[200];
  snprintf(buf, 200, "AliFemtoMJTrackCut.mass=%f", this->Mass());
  tListSetttings->AddLast(new TObjString(buf));

  snprintf(buf, 200, "AliFemtoMJTrackCut.charge=%i", fCharge);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.pidprobpion.minimum=%f", fPidProbPion[0]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.pidprobpion.maximum=%f", fPidProbPion[1]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.pidprobkaon.minimum=%f", fPidProbKaon[0]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.pidprobkaon.maximum=%f", fPidProbKaon[1]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.pidprobproton.minimum=%f", fPidProbProton[0]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.pidprobproton.maximum=%f", fPidProbProton[1]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.pidprobelectron.minimum=%f", fPidProbElectron[0]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.pidprobelectron.maximum=%f", fPidProbElectron[1]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.pidprobMuon.minimum=%f", fPidProbMuon[0]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.pidprobMuon.maximum=%f", fPidProbMuon[1]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.minimumtpcclusters=%i", fminTPCclsF);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.minimumitsclusters=%i", fminTPCclsF);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.pt.minimum=%f", fPt[0]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.pt.maximum=%f", fPt[1]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.rapidity.minimum=%f", fRapidity[0]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.rapidity.maximum=%f", fRapidity[1]);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.removekinks=%i", fRemoveKinks);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.maxitschindof=%f", fMaxITSchiNdof);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.maxtpcchindof=%f", fMaxTPCchiNdof);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.maxsigmatovertex=%f", fMaxSigmaToVertex);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.maximpactxy=%f", fMaxImpactXY);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoMJTrackCut.maximpactz=%f", fMaxImpactZ);
  tListSetttings->AddLast(new TObjString(buf));
  if (fMostProbable) {
    if (fMostProbable == 2)
      snprintf(buf, 200, "AliFemtoMJTrackCut.mostprobable=%s", "Pion");
    if (fMostProbable == 3)
      snprintf(buf, 200, "AliFemtoMJTrackCut.mostprobable=%s", "Kaon");
    if (fMostProbable == 4)
      snprintf(buf, 200, "AliFemtoMJTrackCut.mostprobable=%s", "Proton");
    tListSetttings->AddLast(new TObjString(buf));
  }
  return tListSetttings;
}
void AliFemtoMJTrackCut::SetRemoveKinks(const bool& flag)
{
  fRemoveKinks = flag;
}

void AliFemtoMJTrackCut::SetRemoveITSFake(const bool& flag)
{
  fRemoveITSFake = flag;
}

// 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 AliFemtoMJTrackCut::PidFractionElectron(float mom) const
{
  // Provide a parameterized fraction of electrons dependent on momentum
  if (mom<0.13)
    return (7.594129e-02
	    -5.535827e-01*0.13
	    +1.728591e+00*0.13*0.13
	    -2.827893e+00*0.13*0.13*0.13
	    +2.503553e+00*0.13*0.13*0.13*0.13
	    -1.125965e+00*0.13*0.13*0.13*0.13*0.13
	    +2.009036e-01*0.13*0.13*0.13*0.13*0.13*0.13);

  if (mom>1.8)
    return (7.594129e-02
	    -5.535827e-01*1.8
	    +1.728591e+00*1.8*1.8
	    -2.827893e+00*1.8*1.8*1.8
	    +2.503553e+00*1.8*1.8*1.8*1.8
	    -1.125965e+00*1.8*1.8*1.8*1.8*1.8
	    +2.009036e-01*1.8*1.8*1.8*1.8*1.8*1.8);
  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 AliFemtoMJTrackCut::PidFractionPion(float mom) const
{
  // Provide a parameterized fraction of pions dependent on momentum
  if (mom<0.13)
    return ( 1.063457e+00
	     -4.222208e-01*0.13
	     +1.042004e-01*0.0169);
  if (mom>2.0)
    return ( 1.063457e+00
	     -4.222208e-01*2.0
	     +1.042004e-01*4.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 AliFemtoMJTrackCut::PidFractionKaon(float mom) const
{
  // Provide a parameterized fraction of kaons dependent on momentum
  if (mom<0.18)
    return (-7.289406e-02
	    +4.415666e-01*0.18
	    -2.996790e-01*0.18*0.18
	    +6.704652e-02*0.18*0.18*0.18);
  if (mom>2.0)
    return (-7.289406e-02
	    +4.415666e-01*2.0
	    -2.996790e-01*2.0*2.0
	    +6.704652e-02*2.0*2.0*2.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 AliFemtoMJTrackCut::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 (-3.730200e-02
	    +1.163684e-01*2.0
	    +8.354116e-02*2.0*2.0
	    -4.608098e-02*2.0*2.0*2.0);
  return (-3.730200e-02
	  +1.163684e-01*mom
	  +8.354116e-02*mom*mom
	  -4.608098e-02*mom*mom*mom);
}

void AliFemtoMJTrackCut::SetMomRangeTOFpidIs(const float& minp, const float& maxp)
{
  fMinPforTOFpid = minp;
  fMaxPforTOFpid = maxp;
}

void AliFemtoMJTrackCut::SetMomRangeTPCpidIs(const float& minp, const float& maxp)
{
  fMinPforTPCpid = minp;
  fMaxPforTPCpid = maxp;
}

void AliFemtoMJTrackCut::SetMomRangeITSpidIs(const float& minp, const float& maxp)
{
  fMinPforITSpid = minp;
  fMaxPforITSpid = maxp;
}

bool AliFemtoMJTrackCut::IsPionTPCdEdx(float mom, float dEdx)
{
  //   double a1 = -95.4545, b1 = 86.5455;
  //   double a2 = 0.0,      b2 = 56.0;
  double a1 = -343.75,  b1 = 168.125;
  double a2 = 0.0,      b2 = 65.0;

  if (mom < 0.32) {
    if (dEdx < a1*mom+b1) return true;
  }
  if (dEdx < a2*mom+b2) return true;

  return false;
}

bool AliFemtoMJTrackCut::IsKaonTPCdEdx(float mom, float dEdx)
{

//   double a1 = -547.0; double b1 =  297.0;
//   double a2 = -125.0; double b2 =  145.0;
//   double a3 = -420.0; double b3 =  357.0;
//   double a4 = -110.0; double b4 =  171.0;
//   double b5 =   72.0;

//   if (mom<0.2) return false;

//   if (mom<0.36) {
//     if (dEdx < a1*mom+b1) return false;
//     if (dEdx > a3*mom+b3) return false;
//   }
//   else if (mom<0.6) {
//     if (dEdx < a2*mom+b2) return false;
//     if (dEdx > a3*mom+b3) return false;
//   }
//   else if (mom<0.9) {
//     if (dEdx > a4*mom+b4) return false;
//     if (dEdx <        b5) return false;
//   }
//   else
//     return false;
//   //   else {
//   //     if (dEdx > b5) return false;
//   //   }

//   return true;

  double a1 = -268.896; double b1 =  198.669;
  double a2 = -49.0012;  double b2 =  88.7214;

  if (mom<0.2) return false;

  if (mom>0.3 && mom<0.5) {
    if (dEdx < a1*mom+b1) return false;
  }
  else  if (mom<1.2) {
    if (dEdx < a2*mom+b2) return false;
  }

  return true;

}

bool AliFemtoMJTrackCut::IsProtonTPCdEdx(float mom, float dEdx)
{
  double a1 = -1800.0; double b1 =  940.0;
  double a2 = -500.0;  double b2 =  420.0;
  double a3 = -216.7;  double b3 =  250.0;

  if (mom<0.2) return false;

  if (mom>0.3 && mom<0.4) {
    if (dEdx < a1*mom+b1) return false;
  }
  else  if (mom<0.6) {
    if (dEdx < a2*mom+b2) return false;
  }
  else  if (mom<0.9) {
    if (dEdx < a3*mom+b3) return false;
  }

  return true;

}

bool AliFemtoMJTrackCut::IsPionTOFTime(float mom, float ttof)
{
  double a1 = -427.0; double b1 =  916.0;
  double a2 =  327.0; double b2 = -888.0;
  if (mom<0.3) return kFALSE;
  if (mom>2.0) return kFALSE;
  if (ttof > a1*mom+b1) return kFALSE;
  if (ttof < a2*mom+b2) return kFALSE;

  return kTRUE;
}

bool AliFemtoMJTrackCut::IsKaonTOFTime(float mom, float ttof)
{
  double a1 =   000.0; double b1 =  -500.0;
  double a2 =   000.0; double b2 =   500.0;
  double a3 =   850.0; double b3 = -1503.0;
  double a4 = -1637.0; double b4 =  3621.0;

  if (mom<0.3) return kFALSE;
  if (mom>2.06) return kFALSE;
  if (mom<1.2) {
    if (ttof > a2*mom+b2) return kFALSE;
    if (ttof < a1*mom+b1) return kFALSE;
  }
  if (mom<1.9) {
    if (ttof > a2*mom+b2) return kFALSE;
    if (ttof < a3*mom+b3) return kFALSE;
  }
  if (mom<2.06) {
    if (ttof > a4*mom+b4) return kFALSE;
    if (ttof < a3*mom+b3) return kFALSE;
  }
  return kTRUE;
}

bool AliFemtoMJTrackCut::IsProtonTOFTime(float mom, float ttof)
{
  double a1 =   000.0; double b1 =  -915.0;
  double a2 =   000.0; double b2 =   600.0;
  double a3 =   572.0; double b3 = -1715.0;

  if (mom<0.3) return kFALSE;
  if (mom>3.0) return kFALSE;
  if (mom<1.4) {
    if (ttof > a2*mom+b2) return kFALSE;
    if (ttof < a1*mom+b1) return kFALSE;
  }
  if (mom<3.0) {
    if (ttof > a2*mom+b2) return kFALSE;
    if (ttof < a3*mom+b3) return kFALSE;
  }
  return kTRUE;
}




bool AliFemtoMJTrackCut::IsKaonTPCdEdxNSigma(float mom, float nsigmaK)
{
//  cout<<" AliFemtoMJTrackCut::IsKaonTPCdEdxNSigma "<<mom<<" "<<nsigmaK<<endl;


  if(mom<0.35 && TMath::Abs(nsigmaK)<5.0)return true;
  if(mom>=0.35 && mom<0.5 && TMath::Abs(nsigmaK)<3.0)return true;
  if(mom>=0.5 && mom<0.7 && TMath::Abs(nsigmaK)<2.0)return true;

  return false;
}

bool AliFemtoMJTrackCut::IsKaonTOFNSigma(float mom, float nsigmaK)
{
//  cout<<" AliFemtoMJTrackCut::IsKaonTPCdEdxNSigma "<<mom<<" "<<nsigmaK<<endl;
  //fan
  //  if(mom<1.5 && TMath::Abs(nsigmaK)<3.0)return true;
  if(mom>=1.5 && TMath::Abs(nsigmaK)<2.0)return true;
  return false;
}

/*
bool AliFemtoMJTrackCut::IsKaonNSigma(float mom, float nsigmaTPCK, float nsigmaTOFK)
{


  if(mom<0.5)
    {
	  if(TMath::Abs(nsigmaTPCK)<2.0)
	   {
	   return true;
	   }
	   else
	   {
	   return false;
	   }
    }


   if(mom>=0.5)
    {
         if(TMath::Abs(nsigmaTOFK)<3.0 && TMath::Abs(nsigmaTPCK)<3.0)
         {
         return true;
         }
         else
         {
         return false;
         }
    }

//   if(mom>1.5 || mom<0.15)return false;


}

*/

//old
bool AliFemtoMJTrackCut::IsKaonNSigma(float mom, float nsigmaTPCK, float nsigmaTOFK)
{
  if (fNsigmaTPCTOF) {
    if (mom > 0.5) {
      //        if (TMath::Hypot( nsigmaTOFP, nsigmaTPCP )/TMath::Sqrt(2) < 3.0)
      if (TMath::Hypot( nsigmaTOFK, nsigmaTPCK ) < fNsigma)
	return true;
    }
    else {
      if (TMath::Abs(nsigmaTPCK) < fNsigma)
	return true;
    }
  }
  else {

    if(mom<0.4)
      {
	if(nsigmaTOFK<-999.)
	  {
	    if(TMath::Abs(nsigmaTPCK)<2.0) return true;
	  }
	else if(TMath::Abs(nsigmaTOFK)<3.0 && TMath::Abs(nsigmaTPCK)<3.0) return true;
      }
    else if(mom>=0.4 && mom<=0.6)
      {
	if(nsigmaTOFK<-999.)
	  {
	    if(TMath::Abs(nsigmaTPCK)<2.0) return true;
	  }
	else if(TMath::Abs(nsigmaTOFK)<3.0 && TMath::Abs(nsigmaTPCK)<3.0) return true;
      }
    else if(nsigmaTOFK<-999.)
      {
	return false;
      }
    else if(TMath::Abs(nsigmaTOFK)<3.0 && TMath::Abs(nsigmaTPCK)<3.0) return true;
  }
  return false;
}



bool AliFemtoMJTrackCut::IsPionNSigma(float mom, float nsigmaTPCPi, float nsigmaTOFPi)
{
  if (fNsigmaTPCTOF) {
    if (mom > 0.5) {
      //        if (TMath::Hypot( nsigmaTOFP, nsigmaTPCP )/TMath::Sqrt(2) < 3.0)
      if (TMath::Hypot( nsigmaTOFPi, nsigmaTPCPi ) < fNsigma)
	return true;
    }
    else {
      if (TMath::Abs(nsigmaTPCPi) < fNsigma)
	return true;
    }
  }
  else {
    if(mom<0.65)
      {
	if(nsigmaTOFPi<-999.)
	  {
	    if(mom<0.35 && TMath::Abs(nsigmaTPCPi)<3.0) return true;
	    else if(mom<0.5 && mom>=0.35 && TMath::Abs(nsigmaTPCPi)<3.0) return true;
	    else if(mom>=0.5 && TMath::Abs(nsigmaTPCPi)<2.0) return true;
	    else return false;
	  }
	else if(TMath::Abs(nsigmaTOFPi)<3.0 && TMath::Abs(nsigmaTPCPi)<3.0) return true;
      }
    else if(nsigmaTOFPi<-999.)
      {
	return false;
      }
    else if(mom<1.5 && TMath::Abs(nsigmaTOFPi)<3.0 && TMath::Abs(nsigmaTPCPi)<5.0) return true;
    else if(mom>=1.5 && TMath::Abs(nsigmaTOFPi)<2.0 && TMath::Abs(nsigmaTPCPi)<5.0) return true;
  }
  return false;
}


bool AliFemtoMJTrackCut::IsProtonNSigma(float mom, float nsigmaTPCP, float nsigmaTOFP)
{

  if (fNsigmaTPCTOF) {
    if (mom > 0.5) {
//        if (TMath::Hypot( nsigmaTOFP, nsigmaTPCP )/TMath::Sqrt(2) < 3.0)
        if (TMath::Hypot( nsigmaTOFP, nsigmaTPCP ) < fNsigma)
            return true;
	}
    else {
        if (TMath::Abs(nsigmaTPCP) < fNsigma)
            return true;
    }
  }
  else if (fNsigmaTPConly) {
    if (TMath::Abs(nsigmaTPCP) < fNsigma)
      return true;
  }
  else {
    if (mom > 0.8 && mom < 2.5) {
      if ( TMath::Abs(nsigmaTPCP) < 3.0 && TMath::Abs(nsigmaTOFP) < 3.0)
        return true;
    }
    else if (mom > 2.5) {
      if ( TMath::Abs(nsigmaTPCP) < 3.0 && TMath::Abs(nsigmaTOFP) < 2.0)
        return true;
    }
    else {
      if (TMath::Abs(nsigmaTPCP) < 3.0)
        return true;
    }
  }

  return false;
}


void AliFemtoMJTrackCut::SetPIDMethod(ReadPIDMethodType newMethod)
{
  fPIDMethod = newMethod;
}


void AliFemtoMJTrackCut::SetNsigmaTPCTOF(Bool_t nsigma)
{
  fNsigmaTPCTOF = nsigma;
}

void AliFemtoMJTrackCut::SetNsigmaTPConly(Bool_t nsigma)
{
  fNsigmaTPConly = nsigma;
}

void AliFemtoMJTrackCut::SetNsigma(Double_t nsigma)
{
  fNsigma = nsigma;
}


void AliFemtoMJTrackCut::SetClusterRequirementITS(AliESDtrackCuts::Detector det, AliESDtrackCuts::ITSClusterRequirement req)
{
  fCutClusterRequirementITS[det] = req;
}

Bool_t AliFemtoMJTrackCut::CheckITSClusterRequirement(AliESDtrackCuts::ITSClusterRequirement req, Bool_t clusterL1, Bool_t clusterL2)
{
  // checks if the cluster requirement is fullfilled (in this case: return kTRUE)

  switch (req)
    {
    case AliESDtrackCuts::kOff:        return kTRUE;
    case AliESDtrackCuts::kNone:       return !clusterL1 && !clusterL2;
    case AliESDtrackCuts::kAny:        return clusterL1 || clusterL2;
    case AliESDtrackCuts::kFirst:      return clusterL1;
    case AliESDtrackCuts::kOnlyFirst:  return clusterL1 && !clusterL2;
    case AliESDtrackCuts::kSecond:     return clusterL2;
    case AliESDtrackCuts::kOnlySecond: return clusterL2 && !clusterL1;
    case AliESDtrackCuts::kBoth:       return clusterL1 && clusterL2;
  }

  return kFALSE;
}

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