ROOT logo
#include "AliVEvent.h"
#include "AliMCEvent.h"
#include "TParticle.h"
#include "AliVParticle.h"
#include "AliESDEvent.h"
#include "AliAODEvent.h"
#include "AliVVertex.h"
#include "AliLog.h"
#include "AliGenEventHeader.h"
#include "AliInputEventHandler.h"
#include "AliAnalysisManager.h"
#include "AliAODMCHeader.h"
#include "AliAODMCParticle.h"
#include "AliMCParticle.h"
#include "AliVParticle.h"
#include "AliStack.h"
#include "AliMCEventHandler.h"
#include "AliPIDResponse.h"

#include "AliSingleTrackEffCuts.h"

using std::cout;
using std::endl;

ClassImp(AliSingleTrackEffCuts)

//_____________________________________________________
AliSingleTrackEffCuts::AliSingleTrackEffCuts():
AliAnalysisCuts(),
  fisAOD(kTRUE),
  fIsPdgCode(kFALSE),
  fPdgCode(0),
  fEtaMin(-12),
  fEtaMax(12),
  fYMin(-12),
  fYMax(12),
  fPtMin(-15),
  fPtMax(15),
  fIsCharged(kTRUE),
  fTriggerMask(AliVEvent::kAny),
  fMinVtxType(0),
  fMinVtxContr(1),
  fMaxVtxZ(10.),
  fCutOnZVertexSPD(0),
  fnClusITS(0),
  fnClusTPC(0),
  fnClusTOF(0),
  fnClusMUON(0),
  fusePid(kFALSE),
  fParticlePid(AliPID::kPion),
  fuseTPCPid(kTRUE),
  fnPTPCBins(0),
  fnPTPCBinLimits(0),
  fPTPCBinLimits(0),
  fnSigmaTPC(0),
  fPmaxTPC(9999.),
  fuseTOFPid(kTRUE),
  fnPTOFBins(0),
  fnPTOFBinLimits(0),
  fPTOFBinLimits(0),
  fnSigmaTOF(0),
  fPmaxTOF(9999.)
{
  //
  // Default constructor
  //
}

//________________________________________________________________________________
AliSingleTrackEffCuts::AliSingleTrackEffCuts(const char* name, const char* title):
AliAnalysisCuts(name,title),
  fisAOD(kTRUE),
  fIsPdgCode(kFALSE),
  fPdgCode(0),
  fEtaMin(-12),
  fEtaMax(12),
  fYMin(-12),
  fYMax(12),
  fPtMin(-15),
  fPtMax(15),
  fIsCharged(kTRUE),
  fTriggerMask(AliVEvent::kAny),
  fMinVtxType(0),
  fMinVtxContr(1),
  fMaxVtxZ(10.),
  fCutOnZVertexSPD(0),
  fnClusITS(0),
  fnClusTPC(0),
  fnClusTOF(0),
  fnClusMUON(0),
  fusePid(kFALSE),
  fParticlePid(AliPID::kPion),
  fuseTPCPid(kTRUE),
  fnPTPCBins(0),
  fnPTPCBinLimits(0),
  fPTPCBinLimits(0),
  fnSigmaTPC(0),
  fPmaxTPC(9999.),
  fuseTOFPid(kTRUE),
  fnPTOFBins(0),
  fnPTOFBinLimits(0),
  fPTOFBinLimits(0),
  fnSigmaTOF(0),
  fPmaxTOF(9999.)
{
  //
  // Default constructor
  //
}

//_________________________________________________________________________________
AliSingleTrackEffCuts::AliSingleTrackEffCuts(const AliSingleTrackEffCuts &source):
  AliAnalysisCuts(source),
  fisAOD(source.fisAOD),
  fIsPdgCode(source.fIsPdgCode),
  fPdgCode(source.fPdgCode),
  fEtaMin(source.fEtaMin),
  fEtaMax(source.fEtaMax),
  fYMin(source.fYMin),
  fYMax(source.fYMax),
  fPtMin(source.fPtMin),
  fPtMax(source.fPtMax),
  fIsCharged(source.fIsCharged),
  fTriggerMask(source.fTriggerMask),
  fMinVtxType(source.fMinVtxType),
  fMinVtxContr(source.fMinVtxContr),
  fMaxVtxZ(source.fMaxVtxZ),
  fCutOnZVertexSPD(source.fCutOnZVertexSPD),
  fnClusITS(source.fnClusITS),
  fnClusTPC(source.fnClusTPC),
  fnClusTOF(source.fnClusTOF),
  fnClusMUON(source.fnClusMUON),
  fusePid(source.fusePid),
  fParticlePid(source.fParticlePid),
  fuseTPCPid(source.fuseTPCPid),
  fnPTPCBins(source.fnPTPCBins),
  fnPTPCBinLimits(source.fnPTPCBinLimits),
  fPTPCBinLimits(source.fPTPCBinLimits),
  fnSigmaTPC(source.fnSigmaTPC),
  fPmaxTPC(source.fPmaxTPC),
  fuseTOFPid(source.fuseTOFPid),
  fnPTOFBins(source.fnPTOFBins),
  fnPTOFBinLimits(source.fnPTOFBinLimits),
  fPTOFBinLimits(source.fPTOFBinLimits),
  fnSigmaTOF(source.fnSigmaTOF),
  fPmaxTOF(source.fPmaxTOF)
{
  //
  // Copy constructor
  //
}


//_________________________________________________________________________________________
AliSingleTrackEffCuts &AliSingleTrackEffCuts::operator=(const AliSingleTrackEffCuts &source)
{
  //
  // assignment operator
  //
  if(&source == this) return *this;

  fisAOD = source.fisAOD;

  fIsPdgCode = source.fIsPdgCode;
  fPdgCode = source.fPdgCode;
  fEtaMin = source.fEtaMin;
  fEtaMax = source.fEtaMax;
  fYMin = source.fYMin;
  fYMax = source.fYMax;
  fPtMin = source.fPtMin;
  fPtMax = source.fPtMax;
  fIsCharged = source.fIsCharged;

  fTriggerMask = source.fTriggerMask;
  fMinVtxType = source.fMinVtxType;
  fMinVtxContr = source.fMinVtxContr;
  fMaxVtxZ = source.fMaxVtxZ;
  fCutOnZVertexSPD = source.fCutOnZVertexSPD;

  fnClusITS = source.fnClusITS;
  fnClusTPC = source.fnClusTPC;
  fnClusTOF = source.fnClusTOF;
  fnClusMUON = source.fnClusMUON;

  fusePid = source.fusePid;
  fParticlePid = source.fParticlePid;
  fuseTPCPid = source.fuseTPCPid;
  fnPTPCBins = source.fnPTPCBins;
  fnPTPCBinLimits = source.fnPTPCBinLimits;
  if(source.fPTPCBinLimits && source.fnSigmaTPC) 
    SetTPCSigmaPtBins(source.fnPTPCBins,source.fPTPCBinLimits,source.fnSigmaTPC);
  fPmaxTPC = source.fPmaxTPC;
  fuseTOFPid = source.fuseTOFPid;
  fnPTOFBins = source.fnPTOFBins;
  fnPTOFBinLimits = source.fnPTOFBinLimits;
  if(source.fPTOFBinLimits && source.fnSigmaTOF) 
    SetTOFSigmaPtBins(source.fnPTOFBins,source.fPTOFBinLimits,source.fnSigmaTOF);
  fPmaxTOF = source.fPmaxTOF;

  return *this;
}

//______________________________________________
AliSingleTrackEffCuts::~AliSingleTrackEffCuts()
{
  //
  // Destructor
  //

  if(fPTPCBinLimits){
    delete [] fPTPCBinLimits;
    fPTPCBinLimits=NULL;
  }
  if(fnSigmaTPC){
    delete [] fnSigmaTPC;
    fnSigmaTPC=NULL;
  }
  if(fPTOFBinLimits){
    delete [] fPTOFBinLimits;
    fPTOFBinLimits=NULL;
  }
  if(fnSigmaTOF){
    delete [] fnSigmaTOF;
    fnSigmaTOF=NULL;
  }

}

//______________________________________________
Bool_t AliSingleTrackEffCuts::IsMCEventSelected(TObject* obj)
{
  //
  // Event selection at MC level 
  //  |zvtx|<=fMaxVtxZ
  //
  if(!obj) return  kFALSE;
  Bool_t isSelected = kTRUE;
  
  AliMCEvent *event=0;
  AliGenEventHeader *genHeader=0; //ESDs
  AliAODMCHeader *mcHeader=0; // AODs
  Bool_t isAOD = obj->IsA()->InheritsFrom("AliAODEvent");

  if(!isAOD) {
    event = dynamic_cast<AliMCEvent*>(obj);
    if (!event) return  kFALSE;
    genHeader = event->GenEventHeader();
    if (!genHeader) return  kFALSE;
  } else {
    AliAODEvent *aodEvent = dynamic_cast<AliAODEvent*> (obj);
    if (!aodEvent) return  kFALSE;
    mcHeader = dynamic_cast<AliAODMCHeader*>(aodEvent->GetList()->FindObject(AliAODMCHeader::StdBranchName()));
    if (!mcHeader) {
      AliError("Could not find MC Header in AOD");
      return kFALSE;
    }

    // Check for not null trigger mask to evict pPb MC buggy-events
    Int_t runnumber = aodEvent->GetRunNumber();
    if(aodEvent->GetTriggerMask()==0 && 
       (runnumber>=195344 && runnumber<=195677)){
      AliDebug(3,"Event rejected because of null trigger mask");
      return kFALSE;
    }
  }


  // Cut on Z Vertex ( |z-vtx| <= fMaxVtxZ )
  TArrayF vtxPos(3);
  Double_t zMCVertex=-1000;
  if(!isAOD) {
    genHeader->PrimaryVertex(vtxPos);
    zMCVertex = vtxPos[2];
  } else {
    zMCVertex = mcHeader->GetVtxZ();
  }  
  if( TMath::Abs(zMCVertex)>fMaxVtxZ ) isSelected = kFALSE;


  return isSelected;
}

//__________________________________________________________
Bool_t AliSingleTrackEffCuts::IsMCParticleGenerated(TObject* obj)
{
  //
  // Check generated particles (primary, charged, pdgcode) 
  //
  
  if(!obj) return kFALSE;
  if(!obj->InheritsFrom("AliVParticle")) {
    AliError("object must derived from AliVParticle !");
    return kFALSE;
  }
  AliVParticle* particle = dynamic_cast<AliVParticle *>(obj);
  if(!particle) return kFALSE;

  Bool_t isSelected = kTRUE;

  // Check particle Pdg Code
  if(fIsPdgCode && TMath::Abs( particle->PdgCode() )!= fPdgCode) isSelected = kFALSE;

  // Charge selection
  if(fIsCharged && (particle->Charge()==0)) isSelected = kFALSE;

  // Selection of Physical Primary particles
  if(!fisAOD) { // check on ESDs
    AliMCEventHandler* mcinfo = (AliMCEventHandler*) (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());  	     
    AliMCEvent* mcevent = mcinfo->MCEvent();
    AliStack* stack = ((AliMCEvent*)mcevent)->Stack();
    AliMCParticle* mcPart = dynamic_cast<AliMCParticle *>(obj);	
    if (!mcPart) return kFALSE;
    if(!stack->IsPhysicalPrimary(mcPart->GetLabel())) {
      isSelected = kFALSE;
    }
  } else { // Check on AODs
    AliAODMCParticle* mcPart = dynamic_cast<AliAODMCParticle *>(obj);	    
    if (!mcPart) return kFALSE;
    if(!mcPart->IsPhysicalPrimary()) isSelected = kFALSE;
  }

  return isSelected;
}


//_____________________________________________________________________
Bool_t AliSingleTrackEffCuts::IsMCParticleInKineAcceptance(TObject *obj)
{
  //
  // Check generated particles (eta, y, pt)
  //

  if(!obj) return  kFALSE;
  if(!obj->InheritsFrom("AliVParticle")) AliError("object must derived from AliVParticle !");
  AliVParticle* particle = dynamic_cast<AliVParticle *>(obj);
  if(!particle) return kFALSE;

  Bool_t isSelected = kTRUE;

  // Cut on eta
  if(particle->Eta()<fEtaMin || particle->Eta()>fEtaMax) isSelected = kFALSE;

  // Cut on y
  Double_t energy = particle->E();
  Double_t pz = particle->Pz();
  Double_t particleY = (TMath::Abs(energy-pz)>1e-10) ?  0.5*TMath::Log( (energy+pz)/(energy-pz) ) : 1e6;
  if(particleY<fYMin || particleY>fYMax) isSelected = kFALSE;

  // Cut on pt
  if(particle->Pt()<fPtMin || particle->Pt()>fPtMax) isSelected = kFALSE;

  return isSelected;
}


//_______________________________________________________________________
Bool_t AliSingleTrackEffCuts::IsMCParticleInReconstructable(TObject *obj)
{
  //
  // Check if particle has left enough hits in the detectors (only at ESD level)
  //

  if(!obj) return kFALSE;
  TString className(obj->ClassName());
  if (className.CompareTo("AliMCParticle") != 0) {
    AliError("obj must point to an AliMCParticle !");
    return kTRUE; // <===================================== FIX ME !!
  }

  AliMCParticle * part = dynamic_cast<AliMCParticle*>(obj);
  if(!part) return kFALSE;

  Bool_t isSelected = kTRUE;

  Int_t nHitsITS=0, nHitsTPC=0, nHitsTRD=0, nHitsTOF=0, nHitsMUON=0;
  for(Int_t iTrackRef=0; iTrackRef<part->GetNumberOfTrackReferences(); iTrackRef++) {
    AliTrackReference * trackRef = part->GetTrackReference(iTrackRef);
    if(trackRef){
      Int_t detectorId = trackRef->DetectorId();
      switch(detectorId) {
      case AliTrackReference::kITS  : 
	nHitsITS++; 
	break;
      case AliTrackReference::kTPC  : 
	nHitsTPC++; 
	break;
      case AliTrackReference::kTRD  : 
	nHitsTRD++; 
	break;
      case AliTrackReference::kTOF  : 
	nHitsTOF++; 
	break;
      case AliTrackReference::kMUON : 
	nHitsMUON++; 
	break;
      default : break;
      }
    }
  }

  if(nHitsITS<fnClusITS) isSelected = kFALSE;
  if(nHitsTPC<fnClusTPC) isSelected = kFALSE;
  if(nHitsTOF<fnClusTOF) isSelected = kFALSE;
  if(nHitsMUON<fnClusMUON) isSelected = kFALSE;

  return isSelected;
}


//_____________________________________________________________
Bool_t AliSingleTrackEffCuts::IsRecoEventSelected(TObject* obj)
{
  //
  // Event selection at reconstructed level (trigger, zvtx)
  //
 
  AliVEvent *event = dynamic_cast<AliVEvent*>(obj);
  if(!event) return kFALSE;

  Bool_t isSelected = kTRUE;

  // Check if event is accepted by the Physics selection
  UInt_t trigFired = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
  Bool_t isEvtSelected = (trigFired & fTriggerMask);
  if(!isEvtSelected) isSelected = kFALSE;

  // Vertex selection
  Bool_t isVtxSelected = IsVertexSelected(event);
  if(!isVtxSelected) isSelected = kFALSE;

  return isSelected;
}


//______________________________________________________________________
Bool_t AliSingleTrackEffCuts::IsRecoParticleKineAcceptance(TObject *obj)
{
  //
  // Check if reconstructed particle is in the acceptance (eta, y, pt)
  //

  Bool_t isSelected = kTRUE;

  AliVParticle *track = dynamic_cast<AliVParticle*>(obj);
  if (!track) return kFALSE;
 
  // Cut on eta
  if(track->Eta()<fEtaMin || track->Eta()>fEtaMax) isSelected = kFALSE;

  // Cut on y
  if(track->Y()<fYMin || track->Y()>fYMax) isSelected = kFALSE;

  // Cut on pt
  if(track->Pt()<fPtMin || track->Pt() >fPtMax) isSelected = kFALSE;

  return isSelected;
}

//_______________________________________________________________
Bool_t AliSingleTrackEffCuts::IsVertexSelected(AliVEvent *event)
{
  //
  // Check if the reconstructed vertex is selected
  //

  Bool_t accept = kTRUE;
  Bool_t isAOD = event->IsA()->InheritsFrom("AliAODEvent");

  const AliVVertex *vertex = event->GetPrimaryVertex();
  if(!vertex){
    accept = kFALSE;
    AliInfo("no vtx");
    return accept;
  }

  // Cut on vertex type  
  TString title=vertex->GetTitle();
  if(title.Contains("Z") && fMinVtxType>1){
    accept=kFALSE;
  } else if(title.Contains("3D") && fMinVtxType>2){
    accept=kFALSE;
  }
  
  // cut on minimum number of contributors
  if(vertex->GetNContributors()<fMinVtxContr){
    AliInfo(Form("too few contributors %d",vertex->GetNContributors()));
    accept=kFALSE;
  }

  // cut on absolute |z| of the vertex
  if(TMath::Abs(vertex->GetZ())>fMaxVtxZ) {
    AliInfo("outside the Vtx range");
    accept=kFALSE;
  }

  // cut on distance of SPD and TRK vertexes
  if(fCutOnZVertexSPD==1) {
    const AliVVertex *vSPD = NULL;
    if(isAOD) {
      vSPD = ((AliAODEvent*)event)->GetPrimaryVertexSPD(); 
    }else {    
      vSPD = ((AliESDEvent*)event)->GetPrimaryVertexSPD();  
    }

    if(vSPD && vSPD->GetNContributors()>=fMinVtxContr) {      
      if(TMath::Abs(vSPD->GetZ()-vertex->GetZ())>0.5) accept = kFALSE;
    }
  }

  return accept;
}

//_________________________________________________________________________________________________
void AliSingleTrackEffCuts::SetTPCSigmaPtBins(Int_t nPtBins, Float_t *pBinLimits, Float_t *sigmaBin)
{
  //
  // Set TPC Pid number-of-Sigma in P bins
  //

  // Set the pt bins
  if(fPTPCBinLimits) {
    delete [] fPTPCBinLimits;
    fPTPCBinLimits = NULL;
    printf("Changing the TPC cut P bins\n");
  }
  if(fnSigmaTPC) {
    delete [] fnSigmaTPC;
    fnSigmaTPC = NULL;
    printf("Changing the TPC Sigma cut per p bin\n");
  }

  fnPTPCBins = nPtBins;
  fnPTPCBinLimits = nPtBins+1;
  fPTPCBinLimits = new Float_t[fnPTPCBinLimits];
  for(Int_t ib=0; ib<nPtBins+1; ib++) fPTPCBinLimits[ib]=pBinLimits[ib];
  fnSigmaTPC = new Float_t[fnPTPCBins];
  for(Int_t ib=0; ib<nPtBins; ib++) fnSigmaTPC[ib]=sigmaBin[ib];

  return;
}
//_____________________________________________________________________________________________________
void AliSingleTrackEffCuts::SetTOFSigmaPtBins(Int_t nPtBins, Float_t *pBinLimits, Float_t *sigmaBin)
{
  //
  // Set TOF Pid number-of-Sigma in P bins
  //

  // Set the pt bins
  if(fPTOFBinLimits) {
    delete [] fPTOFBinLimits;
    fPTOFBinLimits = NULL;
    printf("Changing the TOF cut P bins\n");
  }
  if(fnSigmaTOF) {
    delete [] fnSigmaTOF;
    fnSigmaTOF = NULL;
    printf("Changing the TOF Sigma cut per p bin\n");
  }

  fnPTOFBins = nPtBins;
  fnPTOFBinLimits = nPtBins+1;
  fPTOFBinLimits = new Float_t[fnPTOFBinLimits];
  for(Int_t ib=0; ib<nPtBins+1; ib++) fPTOFBinLimits[ib]=pBinLimits[ib];
  fnSigmaTOF = new Float_t[fnPTOFBins];
  for(Int_t ib=0; ib<nPtBins; ib++) fnSigmaTOF[ib]=sigmaBin[ib];

  return;
}

//___________________________________________________________________________
Bool_t AliSingleTrackEffCuts::CheckTPCPIDStatus(AliAODTrack *track) const{
  //
  // Check TPC PID status
  //

  if ((track->GetStatus() & AliESDtrack::kTPCin)==0) return kFALSE;
  UShort_t nTPCClus=track->GetTPCClusterMap().CountBits();
  if (nTPCClus<70) return kFALSE;
  return kTRUE;
}

//___________________________________________________________________________
Bool_t AliSingleTrackEffCuts::CheckTOFPIDStatus(AliAODTrack *track) const{
  //
  // Check TOC PID status
  //

  if ((track->GetStatus()&AliESDtrack::kTOFout)==0)   return kFALSE;
  if ((track->GetStatus()&AliESDtrack::kTIME)==0)     return kFALSE;
  if ((track->GetStatus()&AliESDtrack::kTOFpid)==0)   return kFALSE;
  if ((track->GetStatus()&AliESDtrack::kTOFmismatch)!=0) return kFALSE;
  return kTRUE;
}

//___________________________________________________________________________
Bool_t AliSingleTrackEffCuts::IsRecoParticlePID(TObject *obj)
{
  //
  // Check Particle PID (AOD only for now!)
  //

  Bool_t isSelected = kFALSE;
  Bool_t isAOD = obj->IsA()->InheritsFrom("AliAODTrack");

  if(!isAOD || !GetUsePid()) return isSelected;
  if(!fuseTPCPid && !fuseTOFPid) return isSelected;

  AliAODTrack *track = dynamic_cast<AliAODTrack*>(obj);
  if(!track) { cout<<"No track found"<<endl; return isSelected; }

  // AliAODPid *pid = track->GetDetPid();
  // if(!pid) { cout<<"No AliAODPid found"<<endl; return isSelected; }

  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  AliInputEventHandler *inputHandler=(AliInputEventHandler*)mgr->GetInputEventHandler();
  AliPIDResponse *pidResp=inputHandler->GetPIDResponse();
  if(!pidResp) { cout<<"No PidResponse found"<<endl; return isSelected;}

  Double_t pPart = track->P();
  
  // Check detector status
  Bool_t okTPC = CheckTPCPIDStatus(track);
  Bool_t okTOF = CheckTOFPIDStatus(track);

  //  Check Number of Sigmas
  Double_t nsigmaTPC=pidResp->NumberOfSigmasTPC((AliVParticle*)track,(AliPID::EParticleType)fParticlePid);
  Double_t nsigmaTOF=pidResp->NumberOfSigmasTOF((AliVParticle*)track,(AliPID::EParticleType)fParticlePid);
  Bool_t isTPCPid=false, isTOFPid=false;

  // If use TPC and TPC infos are ok, check whether the sigma is ok in the given p range
  if(fuseTPCPid && okTPC) {
    for(Int_t j=0; j<fnPTPCBins; j++) {
      //      cout<<" checking bin: ("<<fPTPCBinLimits[j]<<","<<fPTPCBinLimits[j+1]<<") should be nsigma < "<<fnSigmaTPC[j]<<endl;
      if ((pPart>fPTPCBinLimits[j]) && (pPart<fPTPCBinLimits[j+1]) && nsigmaTPC<fnSigmaTPC[j]) isTPCPid=true;
    }
    if(pPart>fPmaxTPC) isTPCPid=true;
  }

  // If use TPC and TPC infos are ok, check whether the sigma is ok in the given p range
  if(fuseTOFPid && okTOF) {
    for(Int_t j=0; j<fnPTOFBins; j++) {
      if ((pPart>fPTOFBinLimits[j]) && (pPart<fPTOFBinLimits[j+1]) && nsigmaTOF<fnSigmaTOF[j]) isTPCPid=true;
    }
    if(pPart>fPmaxTOF) isTOFPid=true;
  }

  isSelected = (isTPCPid || isTOFPid) ? true : false;

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