ROOT logo
#include "AliFemtoV0TrackCut.h"
#include "AliESDtrack.h"
#include <cstdio>

#ifdef __ROOT__ 
ClassImp(AliFemtoV0TrackCut)
#endif



AliFemtoV0TrackCut::AliFemtoV0TrackCut() :
fInvMassLambdaMin(0),fInvMassLambdaMax(99),fMinDcaDaughterPosToVert(0),fMinDcaDaughterNegToVert(0),fMaxDcaV0Daughters(99),fMaxDcaV0(99), fMaxCosPointingAngle(0), fParticleType(99), fEta(0.8), fPtMin(0), fPtMax(100), fOnFlyStatus(kFALSE), fMaxEtaDaughters(100), fTPCNclsDaughters(0), fNdofDaughters(10), fStatusDaughters(0), fPtMinPosDaughter(0), fPtMaxPosDaughter(99), fPtMinNegDaughter(0), fPtMaxNegDaughter(99),fMinAvgSepDaughters(0)
{
  // Default constructor
 }
 //------------------------------
AliFemtoV0TrackCut::~AliFemtoV0TrackCut(){
  /* noop */
}
//------------------------------
bool AliFemtoV0TrackCut::Pass(const AliFemtoV0* aV0)
{
  // 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_t pt = aV0->PtV0();
     Float_t eta = aV0->EtaV0();
    
     //kinematic cuts
    if(TMath::Abs(eta) > fEta) return false;  //put in kinematic cuts by hand
    if(pt < fPtMin) return false;
    if(pt > fPtMax) return false;
    if(TMath::Abs(aV0->EtaPos()) > fMaxEtaDaughters) return false;
    if(TMath::Abs(aV0->EtaNeg()) > fMaxEtaDaughters) return false;

    if(aV0->PtPos()< fPtMinPosDaughter) return false;
    if(aV0->PtNeg()< fPtMinNegDaughter) return false;
    if(aV0->PtPos()> fPtMaxPosDaughter) return false;
    if(aV0->PtNeg()> fPtMaxNegDaughter) return false;
    
    //V0 from kinematics information
    if (fParticleType == kLambdaMC ) {
      if(!(aV0->MassLambda()>fInvMassLambdaMin && aV0->MassLambda()<fInvMassLambdaMax) || !(aV0->PosNSigmaTPCP()==0))
	return false; 
      else
	{
	  return true;  
	} 
    }
    else if (fParticleType == kAntiLambdaMC) {
      if(!(aV0->MassLambda()>fInvMassLambdaMin &&aV0->MassLambda()<fInvMassLambdaMax) || !(aV0->NegNSigmaTPCP()==0))
	return false; 
      else
	{
	  return true;   
	}
    }
    
    //quality cuts
    if(aV0->OnFlyStatusV0()!=fOnFlyStatus) return false;
    if(aV0->StatusNeg() == 999 || aV0->StatusPos() == 999) return false;
    if(aV0->TPCNclsPos()<fTPCNclsDaughters) return false;
    if(aV0->TPCNclsNeg()<fTPCNclsDaughters) return false;
    if(aV0->NdofPos()>fNdofDaughters) return false;
    if(aV0->NdofNeg()>fNdofDaughters) return false;
    if(!(aV0->StatusNeg()&fStatusDaughters)) return false;
    if(!(aV0->StatusPos()&fStatusDaughters)) return false;
    
 

  //DCA between daughter particles
    if(TMath::Abs(aV0->DcaV0Daughters())>fMaxDcaV0Daughters)
    return false;

   //DCA of daughters to primary vertex
    if(TMath::Abs(aV0->DcaPosToPrimVertex())<fMinDcaDaughterPosToVert || TMath::Abs(aV0->DcaNegToPrimVertex())<fMinDcaDaughterNegToVert)
    return false;

  //DCA V0 to prim vertex
    if(TMath::Abs(aV0->DcaV0ToPrimVertex())>fMaxDcaV0)
    return false;

  //cos pointing angle
  if(aV0->CosPointingAngle()<fMaxCosPointingAngle)
    return false;

  //decay length
  if(aV0->DecayLengthV0()>fMaxDecayLength)
    return false;


  if(fParticleType == kAll)
    return true;
    

  bool pid_check=false;
  // Looking for lambdas = proton + pim
  if (fParticleType == 0 ) {
    if (IsProtonNSigma(aV0->PtPos(), aV0->PosNSigmaTPCP(), aV0->PosNSigmaTOFP())) //proton
      if (IsPionNSigma(aV0->PtNeg(), aV0->NegNSigmaTPCPi(), aV0->NegNSigmaTOFPi())) //pion
	{
	  pid_check=true;
	  //invariant mass lambda
	  if(aV0->MassLambda()<fInvMassLambdaMin || aV0->MassLambda()>fInvMassLambdaMax)
	    return false;
	}

  }//Looking for antilambdas =  antiproton + pip
  else if (fParticleType == 1) {
    if (IsProtonNSigma(aV0->PtNeg(), aV0->NegNSigmaTPCP(), aV0->NegNSigmaTOFP())) //proton
      if (IsPionNSigma(aV0->PtPos(), aV0->PosNSigmaTPCPi(), aV0->PosNSigmaTOFPi())) //pion
	{
	  pid_check=true;
	  //invariant mass antilambda
	  if(aV0->MassAntiLambda()<fInvMassLambdaMin || aV0->MassAntiLambda()>fInvMassLambdaMax)
	    return false;
	}
  }
  if(!pid_check) return false;
  
  
  return true;
    
    
}
//------------------------------
AliFemtoString AliFemtoV0TrackCut::Report()
{
  // Prepare report from the execution
  string tStemp;
  char tCtemp[100];
  snprintf(tCtemp , 100, "Minimum of Invariant Mass assuming Lambda:\t%lf\n",fInvMassLambdaMin);
  tStemp+=tCtemp;
  snprintf(tCtemp , 100, "Maximum of Invariant Mass assuming Lambda:\t%lf\n",fInvMassLambdaMax);
  tStemp+=tCtemp;
   snprintf(tCtemp , 100, "Minimum DCA of positive daughter to primary vertex:\t%lf\n",fMinDcaDaughterPosToVert);
   tStemp+=tCtemp;
   snprintf(tCtemp , 100, "Minimum DCA of negative daughter to primary vertex:\t%lf\n",fMinDcaDaughterNegToVert);
   tStemp+=tCtemp;
  snprintf(tCtemp , 100, "Max DCA of daughters:\t%lf\n",fMaxDcaV0Daughters);
  tStemp+=tCtemp;



  AliFemtoString returnThis = tStemp;
  return returnThis;
}
TList *AliFemtoV0TrackCut::ListSettings()
{
  // return a list of settings in a writable form
  TList *tListSetttings = new TList();
  char buf[200];
  snprintf(buf, 200, "AliFemtoV0TrackCut.InvMassLambdaMin=%lf", fInvMassLambdaMin);
  tListSetttings->AddLast(new TObjString(buf));
  return tListSetttings;
}

void AliFemtoV0TrackCut::SetMinDaughtersToPrimVertex(double minPos, double minNeg)
{
  fMinDcaDaughterPosToVert=minPos;
  fMinDcaDaughterNegToVert=minNeg;
}

void AliFemtoV0TrackCut::SetMaxDcaV0Daughters(double max)
{
  fMaxDcaV0Daughters=max;
};
void AliFemtoV0TrackCut::SetMaxV0DecayLength(double max)
{
  fMaxDecayLength=max;
};

void AliFemtoV0TrackCut::SetMaxDcaV0(double max)
{
  fMaxDcaV0=max;
};

void AliFemtoV0TrackCut::SetMaxCosPointingAngle(double max)
{
  fMaxCosPointingAngle = max;
}

void AliFemtoV0TrackCut::SetParticleType(short x)
{
  fParticleType = x;
}

void AliFemtoV0TrackCut::SetEta(double x){
  fEta = x;
}

void AliFemtoV0TrackCut::SetPt(double min, double max){
  fPtMin = min;
  fPtMax = max;
}

void AliFemtoV0TrackCut::SetEtaDaughters(float x)
{
  fMaxEtaDaughters = x;
}
void AliFemtoV0TrackCut::SetTPCnclsDaughters(int x)
{
  fTPCNclsDaughters = x;
}
void AliFemtoV0TrackCut::SetNdofDaughters(int x)
{
  fNdofDaughters=x;
}
void AliFemtoV0TrackCut::SetStatusDaughters(unsigned long x)
{
  fStatusDaughters=x;
}
void AliFemtoV0TrackCut::SetPtPosDaughter(float min,float max)
{
  fPtMinPosDaughter = min;
  fPtMaxPosDaughter = max;
}

void AliFemtoV0TrackCut::SetPtNegDaughter(float min,float max)
{
  fPtMinNegDaughter = min;
  fPtMaxNegDaughter = max;
}

void AliFemtoV0TrackCut::SetOnFlyStatus(bool x)
{
  fOnFlyStatus = x;
}

void AliFemtoV0TrackCut::SetInvariantMassLambda(double min, double max)
{
  fInvMassLambdaMin = min;
  fInvMassLambdaMax = max;

}

void AliFemtoV0TrackCut::SetMinAvgSeparation(double minSep)
{
  fMinAvgSepDaughters = minSep;
}

//---------------------PID n Sigma ---------------------------------//
bool AliFemtoV0TrackCut::IsKaonTPCdEdxNSigma(float mom, float nsigmaK)
{
  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 AliFemtoV0TrackCut::IsKaonTOFNSigma(float mom, float nsigmaK)
{
  if(mom>=1.5 && TMath::Abs(nsigmaK)<2.0)return true; 
  return false;
}

bool AliFemtoV0TrackCut::IsKaonNSigma(float mom, float nsigmaTPCK, float nsigmaTOFK)
{
  if(mom<0.4)
    {
      if(nsigmaTOFK<-999.)
	{
	  if(TMath::Abs(nsigmaTPCK)<1.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 AliFemtoV0TrackCut::IsPionNSigma(float mom, float nsigmaTPCPi, float nsigmaTOFPi)
{
  if(TMath::Abs(nsigmaTPCPi)<3.0) return true;

  /*if(nsigmaTOFPi<-999.)
    {
      if(TMath::Abs(nsigmaTPCPi)<3.0) return true;
    }
  else
    {
      if(TMath::Abs(nsigmaTPCPi)<3.0 && TMath::Abs(nsigmaTOFPi)<4.0) return true;
      }*/

  /*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;
  if(TMath::Abs(nsigmaTPCPi)<3.0) return true;
      else return false;
    }
  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 AliFemtoV0TrackCut::IsProtonNSigma(float mom, float nsigmaTPCP, float nsigmaTOFP)
{
  if(mom<0.8)
    {
      if(TMath::Abs(nsigmaTPCP)<3.0) return true;
    }
  else
    {
      if(nsigmaTOFP<-999.)
	{
	  if(TMath::Abs(nsigmaTPCP)<3.0) return true;
	}
      else
	{
	  if(TMath::Abs(nsigmaTPCP)<3.0 && TMath::Abs(nsigmaTOFP)<3.0) return true;
	}
    }


  /*if(nsigmaTOFP<-999.)
    {
      if(TMath::Abs(nsigmaTPCP)<3.0) return true;
    }
  else
    {
      if(TMath::Abs(nsigmaTPCP)<3.0 && TMath::Abs(nsigmaTOFP)<3.0) return true;
      }*/


  /*if(mom<0.8)
    {
      if(nsigmaTOFP<-999.)
	{
	  if(TMath::Abs(nsigmaTPCP)<3.0) return true;
	  else return false;
	}
	else if(TMath::Abs(nsigmaTOFP)<3.0 && TMath::Abs(nsigmaTPCP)<3.0) return true;
  if(TMath::Abs(nsigmaTPCP)<3.0) return true;
      else return false;
    }
  else if(nsigmaTOFP<-999.)
    {
      return false;
    } 
    else if(TMath::Abs(nsigmaTOFP)<3.0 && TMath::Abs(nsigmaTPCP)<3.0) return true;*/

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