ROOT logo
/**************************************************************************
 * Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id$ */

/////////////////////////////////////////////////////////////
//
// Class for cuts on AOD reconstructed Lc->V0+X
//
// Modified by A.De Caro - decaro@sa.infn.it
//
/////////////////////////////////////////////////////////////

#include <Riostream.h>

#include <TDatabasePDG.h>
#include <TMath.h>

#include "AliAnalysisManager.h"
#include "AliInputEventHandler.h"
#include "AliPIDResponse.h"
#include "AliRDHFCutsLctoV0.h"
#include "AliAODRecoCascadeHF.h"
#include "AliAODTrack.h"
#include "AliESDtrack.h"
#include "AliESDVertex.h"
#include "AliAODVertex.h"
#include "AliAODv0.h"
#include "AliESDv0.h"

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

ClassImp(AliRDHFCutsLctoV0)

//--------------------------------------------------------------------------
AliRDHFCutsLctoV0::AliRDHFCutsLctoV0(const char* name, Short_t /*v0channel*/) :
AliRDHFCuts(name),
  fPidSelectionFlag(0),
  fV0daughtersCuts(0),
  fV0Type(0),
  fHighPtCut(2.5),
  fLowPtCut(1.0),
  fExcludedCut(-1)
{
  //
  // Default Constructor
  //

  const Int_t nvars=17;
  SetNVars(nvars);
  TString varNames[nvars]={"Lc inv. mass if K0S [GeV/c2]",                   //  0
			   "Lc inv. mass if Lambda [GeV/c2]",                //  1
			   "K0S inv. mass [GeV/c2]",                         //  2
			   "Lambda/LambdaBar inv. mass[GeV/c2]",             //  3
			   "pT min bachelor track [GeV/c]",                  //  4
			   "pT min V0-positive track [GeV/c]",               //  5
			   "pT min V0-negative track [GeV/c]",               //  6
			   "dca cascade (prong-to-prong) cut [cm]",          //  7
			   "dca V0 (prong-to-prong) cut [number of sigmas]", //  8
			   "V0 cosPA min wrt PV",                            //  9
			   "d0 max bachelor wrt PV [cm]",                    // 10
			   "d0 max V0 wrt PV [cm]",                          // 11
			   "mass K0S veto [GeV/c2]",                         // 12
			   "mass Lambda/LambdaBar veto [GeV/c2]",            // 13
			   "mass Gamma veto [GeV/c2]",                       // 14
			   "pT min V0 track [GeV/c]",                        // 15
			   "V0 type"                                         // 16
  };

  Bool_t isUpperCut[nvars]={kTRUE,  //  0
			    kTRUE,  //  1
			    kTRUE,  //  2
			    kTRUE,  //  3
			    kFALSE, //  4
			    kFALSE, //  5
			    kFALSE, //  6
			    kTRUE,  //  7
			    kTRUE,  //  8
			    kFALSE, //  9
			    kTRUE,  // 10
			    kTRUE,  // 11
			    kFALSE, // 12
			    kFALSE, // 13
			    kFALSE, // 14
			    kFALSE, // 15
			    kFALSE  // 16
  };
  SetVarNames(nvars,varNames,isUpperCut);
  Bool_t forOpt[nvars]={kFALSE, //  0
			kFALSE, //  1
			kTRUE,  //  2
			kTRUE,  //  3
			kTRUE,  //  4
			kTRUE,  //  5
			kTRUE,  //  6
			kTRUE,  //  7
			kTRUE,  //  8
			kTRUE,  //  9
			kTRUE,  // 10
			kTRUE,  // 11
			kTRUE,  // 12
			kTRUE,  // 13
			kTRUE,  // 14
			kTRUE,  // 15
			kFALSE  // 16
  };
  SetVarsForOpt(nvars,forOpt);

  Float_t limits[2]={0,999999999.};
  SetPtBins(2,limits);

  /*
    switch (v0channel) {
    case 0:
    fV0channel = 0x0001;
    break;
    case 1:
    fV0channel = 0x0002;
    break;
    case 2:
    fV0channel = 0x0004;
    break;
    }
  */

}
//--------------------------------------------------------------------------
AliRDHFCutsLctoV0::AliRDHFCutsLctoV0(const AliRDHFCutsLctoV0 &source) :
  AliRDHFCuts(source),
  fPidSelectionFlag(source.fPidSelectionFlag),
  fV0daughtersCuts(0),
  fV0Type(source.fV0Type),
  fHighPtCut(source.fHighPtCut),
  fLowPtCut(source.fLowPtCut),
  fExcludedCut(source.fExcludedCut)
  /*fV0channel(source.fV0channel)*/
{
  //
  // Copy constructor
  //

  if (source.fV0daughtersCuts) AddTrackCutsV0daughters(source.fV0daughtersCuts);
  else fV0daughtersCuts = new AliESDtrackCuts();

}
//--------------------------------------------------------------------------
AliRDHFCutsLctoV0 &AliRDHFCutsLctoV0::operator=(const AliRDHFCutsLctoV0 &source)
{
  //
  // assignment operator
  //

  if (this != &source) {

    AliRDHFCuts::operator=(source);
    fPidSelectionFlag = source.fPidSelectionFlag;

    delete fV0daughtersCuts;
    fV0daughtersCuts = new AliESDtrackCuts(*(source.fV0daughtersCuts));

    fV0Type  = source.fV0Type;

    fHighPtCut = source.fHighPtCut;
    fLowPtCut = source.fLowPtCut;

  }

  return *this;
}


//---------------------------------------------------------------------------
AliRDHFCutsLctoV0::~AliRDHFCutsLctoV0() {
  //
  //  Default Destructor
  //

  if (fV0daughtersCuts) {
    delete fV0daughtersCuts;
    fV0daughtersCuts=0;
  }

}

//---------------------------------------------------------------------------
void AliRDHFCutsLctoV0::GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters) {
  //
  // Fills in vars the values of the variables
  //

  if (pdgdaughters[0]==-9999) return; // dummy

  if (nvars!=fnVarsForOpt) {
    printf("AliRDHFCutsLctoV0::GetCutVarsForOpt: wrong number of variables\n");
    return;
  }

  Double_t mLcPDG  = TDatabasePDG::Instance()->GetParticle(4122)->Mass();
  Double_t mk0sPDG = TDatabasePDG::Instance()->GetParticle(310)->Mass();
  Double_t mLPDG   = TDatabasePDG::Instance()->GetParticle(3122)->Mass();

  AliAODRecoCascadeHF *dd = (AliAODRecoCascadeHF*)d;

  // Get the v0 and all daughter tracks
  AliAODTrack *bachelorTrack = (AliAODTrack*)dd->GetBachelor();
  AliAODv0 *v0 = (AliAODv0*)dd->Getv0();
  AliAODTrack *v0positiveTrack = (AliAODTrack*)dd->Getv0PositiveTrack();
  AliAODTrack *v0negativeTrack = (AliAODTrack*)dd->Getv0NegativeTrack();

  Int_t iter=-1;
  // cut on cascade mass, if K0S + p
  if (fVarsForOpt[0]) {
    iter++;
    vars[iter]=TMath::Abs(dd->InvMassLctoK0sP()-mLcPDG);
  }
  // cut on cascade mass, if Lambda/LambdaBar + pi
  if (fVarsForOpt[1]) {
    iter++;
    vars[iter]=TMath::Abs(dd->InvMassLctoLambdaPi()-mLcPDG);
  }

  // cut on V0 mass if K0S
  if (fVarsForOpt[2]) {
    iter++;
    vars[iter]=TMath::Abs(v0->MassK0Short()-mk0sPDG);
  }

  // cut on V0 mass if Lambda/LambdaBar
  if (fVarsForOpt[3]) {

    if (bachelorTrack->Charge()==1) {
      iter++;
      vars[iter]=TMath::Abs(v0->MassLambda()-mLPDG);
    } else if (bachelorTrack->Charge()==-1) {
      iter++;
      vars[iter]=TMath::Abs(v0->MassAntiLambda()-mLPDG);
    }

  }

  // cut bachelor min pt
  if (fVarsForOpt[4]) {
    iter++;
    vars[iter]=bachelorTrack->Pt();
  }

  // cut on V0-positive min pt
  if (fVarsForOpt[5]) {
    iter++;
    vars[iter]=v0positiveTrack->Pt();
  }

  // cut on V0-negative min pt
  if (fVarsForOpt[6]) {
    iter++;
    vars[iter]=v0negativeTrack->Pt();
  }

  // cut on cascade dca (prong-to-prong)
  if (fVarsForOpt[7]) {
    iter++;
    vars[iter]=dd->GetDCA(); // prong-to-prong cascade DCA
  }

  // cut on V0 dca (prong-to-prong)
  if (fVarsForOpt[8]) {
    iter++;
    vars[iter]=v0->GetDCA(); // prong-to-prong V0 DCA
  }

  // cut on V0 cosPA wrt PV
  if (fVarsForOpt[9]) {
    iter++;
    vars[iter]=dd->CosV0PointingAngle(); // cosine of V0 pointing angle wrt primary vertex
  }

  // cut on bachelor transverse impact parameter wrt PV
  if (fVarsForOpt[10]) {
    iter++;
    vars[iter]=dd->Getd0Prong(0); // bachelor transverse impact parameter wrt primary vertex
  }

  // cut on V0 transverse impact parameter wrt PV
  if (fVarsForOpt[11]) {
    iter++;
    vars[iter]=dd->Getd0Prong(1); // V0 transverse impact parameter wrt primary vertex
  }

  // cut on K0S invariant mass veto
  if (fVarsForOpt[12]) {
    iter++;
    vars[iter]=TMath::Abs(v0->MassK0Short()-mk0sPDG); // K0S invariant mass veto
  }

  // cut on Lambda/LambdaBar invariant mass veto
  if (fVarsForOpt[13]) {

    if (bachelorTrack->Charge()==1) {
      iter++;
      vars[iter]=TMath::Abs(v0->MassLambda()-mLPDG);
    } else if (bachelorTrack->Charge()==-1) {
      iter++;
      vars[iter]=TMath::Abs(v0->MassAntiLambda()-mLPDG);
    }

  }

  // cut on gamma invariant mass veto
  if (fVarsForOpt[14]) {
    iter++;
    vars[iter]= v0->InvMass2Prongs(0,1,11,11); // gamma invariant mass veto
  }


  // cut on V0 pT min
  if (fVarsForOpt[15]) {
    iter++;
    vars[iter]= v0->Pt(); // V0 pT min
  }


  return;
}
//---------------------------------------------------------------------------
Int_t AliRDHFCutsLctoV0::IsSelected(TObject* obj,Int_t selectionLevel) {
  //
  // Apply selection
  //

  if (!fCutsRD) {
    AliFatal("Cut matrice not inizialized. Exit...");
    return 0;
  }

  AliAODRecoCascadeHF* d = (AliAODRecoCascadeHF*)obj;
  if (!d) {
    AliDebug(2,"AliAODRecoCascadeHF null");
    return 0;
  }

  if (!d->GetSecondaryVtx()) {
    AliDebug(2,"No secondary vertex for cascade");
    return 0;
  }

  if (d->GetNDaughters()!=2) {
    AliDebug(2,Form("No 2 daughters for current cascade (nDaughters=%d)",d->GetNDaughters()));
    return 0;
  }

  AliAODv0 * v0 = dynamic_cast<AliAODv0*>(d->Getv0());

  if ( v0 && ((v0->GetOnFlyStatus() == kTRUE  && GetV0Type() == AliRDHFCuts::kOnlyOfflineV0s) ||
	      (v0->GetOnFlyStatus() == kFALSE && GetV0Type() == AliRDHFCuts::kOnlyOnTheFlyV0s)) ) return 0;

  AliAODTrack * bachelorTrack = dynamic_cast<AliAODTrack*>(d->GetBachelor());
  if (!v0 || !bachelorTrack) {
    AliDebug(2,"No V0 or no bachelor for current cascade");
    return 0;
  }

  if (bachelorTrack->GetID()<0) {
    AliDebug(2,Form("Bachelor has negative ID %d",bachelorTrack->GetID()));
    return 0;
  }

  if (!v0->GetSecondaryVtx()) {
    AliDebug(2,"No secondary vertex for V0 by cascade");
    return 0;
  }

  if (v0->GetNDaughters()!=2) {
    AliDebug(2,Form("No 2 daughters for V0 of current cascade (onTheFly=%d, nDaughters=%d)",v0->GetOnFlyStatus(),v0->GetNDaughters()));
    return 0;
  }


  // Get the V0 daughter tracks
  AliAODTrack *v0positiveTrack = dynamic_cast<AliAODTrack*>(d->Getv0PositiveTrack());
  AliAODTrack *v0negativeTrack = dynamic_cast<AliAODTrack*>(d->Getv0NegativeTrack());
  if (!v0positiveTrack || !v0negativeTrack ) {
    AliDebug(2,"No V0 daughters' objects");
    return 0;
  }

  if (v0positiveTrack->GetID()<0 || v0negativeTrack->GetID()<0) {
    AliDebug(2,Form("At least one of V0 daughters has negative ID %d %d",v0positiveTrack->GetID(),v0negativeTrack->GetID()));
    return 0;
  }

  //if(fUseTrackSelectionWithFilterBits && d->HasBadDaughters()) return 0;
  if ( fUseTrackSelectionWithFilterBits && !(bachelorTrack->TestFilterMask(BIT(4))) ) {
    AliDebug(2,"Check on the bachelor FilterBit: no BIT(4). Candidate rejected.");
    return 0;
  }

  Int_t returnvalueTrack = 7;

  // selection on daughter tracks
  if (selectionLevel==AliRDHFCuts::kAll ||
      selectionLevel==AliRDHFCuts::kTracks) {

    if (!AreLctoV0DaughtersSelected(d)) return 0;

  }

  Bool_t okLck0sp=kTRUE, okLcLpi=kTRUE, okLcLBarpi=kTRUE;

  // selection on candidate
  if (selectionLevel==AliRDHFCuts::kAll ||
      selectionLevel==AliRDHFCuts::kCandidate) {

    Double_t pt = d->Pt();
    Int_t ptbin = PtBin(pt);

    Double_t mLcPDG  = TDatabasePDG::Instance()->GetParticle(4122)->Mass();
    Double_t mk0sPDG = TDatabasePDG::Instance()->GetParticle(310)->Mass();
    Double_t mLPDG   = TDatabasePDG::Instance()->GetParticle(3122)->Mass();

    // K0S + p
    Double_t mk0s    = v0->MassK0Short();
    Double_t mLck0sp = d->InvMassLctoK0sP();

    // Lambda + pi
    Double_t mlambda  = v0->MassLambda();
    Double_t malambda = v0->MassAntiLambda();
    Double_t mLcLpi   = d->InvMassLctoLambdaPi();

    Bool_t okK0spipi=kTRUE, okLppi=kTRUE, okLBarpip=kTRUE;
    Bool_t isNotK0S = kTRUE, isNotLambda = kTRUE, isNotLambdaBar = kTRUE, isNotGamma = kTRUE;

    // cut on Lc mass with K0S+p hypothesis
    if (TMath::Abs(mLck0sp-mLcPDG) > fCutsRD[GetGlobalIndex(0,ptbin)] && fExcludedCut!=0) {
      okLck0sp = kFALSE;
      AliDebug(4,Form(" cascade mass is %2.2e and does not correspond to Lambda_c into K0S+p cut",mLck0sp));
    }

    // cuts on the V0 mass: K0S case
    if (TMath::Abs(mk0s-mk0sPDG) > fCutsRD[GetGlobalIndex(2,ptbin)] && fExcludedCut!=2) {
      okK0spipi = kFALSE;
      AliDebug(4,Form(" V0 mass is %2.2e and does not correspond to K0S cut",mk0s));
    }

    // cut on Lc mass with Lambda+pi hypothesis
    if (TMath::Abs(mLcLpi-mLcPDG) > fCutsRD[GetGlobalIndex(1,ptbin)] && fExcludedCut!=1) {
      okLcLpi = kFALSE;
      okLcLBarpi = kFALSE;
      AliDebug(4,Form(" cascade mass is %2.2e and does not correspond to Lambda_c into Lambda+pi cut",mLcLpi));
    }

    // cuts on the V0 mass: Lambda/LambdaBar case
    //if ( !(bachelorTrack->Charge()==+1 && TMath::Abs(mlambda-mLPDG) <= fCutsRD[GetGlobalIndex(3,ptbin)] ) ) {
    if ( TMath::Abs(mlambda-mLPDG) > fCutsRD[GetGlobalIndex(3,ptbin)]  && fExcludedCut!=3) {
      okLppi = kFALSE;
      AliDebug(4,Form(" V0 mass is %2.2e and does not correspond to LambdaBar cut",mlambda));
    }

    //if ( !(bachelorTrack->Charge()==-1 && TMath::Abs(malambda-mLPDG) <= fCutsRD[GetGlobalIndex(3,ptbin)] ) ) {
    if ( TMath::Abs(malambda-mLPDG) > fCutsRD[GetGlobalIndex(3,ptbin)]  && fExcludedCut!=3) {
      okLBarpip = kFALSE;
      AliDebug(4,Form(" V0 mass is %2.2e and does not correspond to LambdaBar cut",malambda));
    }

    // cut on K0S invariant mass veto
    if (TMath::Abs(v0->MassK0Short()-mk0sPDG) < fCutsRD[GetGlobalIndex(12,ptbin)] && fExcludedCut!=12) { // K0S invariant mass veto
      AliDebug(4,Form(" veto on K0S invariant mass doesn't pass the cut"));
      //return 0;
      isNotK0S=kFALSE;
    }

    // cut on Lambda/LambdaBar invariant mass veto
    if (TMath::Abs(v0->MassLambda()-mLPDG) < fCutsRD[GetGlobalIndex(13,ptbin)] && fExcludedCut!=13) { // Lambda invariant mass veto
      AliDebug(4,Form(" veto on Lambda invariant mass doesn't pass the cut"));
      isNotLambda=kFALSE;
      //return 0;
    }
    if (TMath::Abs(v0->MassAntiLambda()-mLPDG) < fCutsRD[GetGlobalIndex(13,ptbin)] && fExcludedCut!=13) { // LambdaBar invariant mass veto
      AliDebug(4,Form(" veto on LambdaBar invariant mass doesn't pass the cut"));
      isNotLambdaBar=kFALSE;
      //return 0;
    }

    // cut on gamma invariant mass veto
    if (v0->InvMass2Prongs(0,1,11,11) < fCutsRD[GetGlobalIndex(14,ptbin)] && fExcludedCut!=14) { // K0S invariant mass veto
      AliDebug(4,Form(" veto on gamma invariant mass doesn't pass the cut"));
      isNotGamma=kFALSE;
      //return 0;
    }

    okLck0sp   = okLck0sp   && okK0spipi && isNotLambda && isNotLambdaBar && isNotGamma;
    okLcLpi    = okLcLpi    && okLppi    && isNotK0S    && isNotLambdaBar && isNotGamma;
    okLcLBarpi = okLcLBarpi && okLBarpip && isNotK0S    && isNotLambda    && isNotGamma;

    if (!okLck0sp && !okLcLpi && !okLcLBarpi) return 0;

    // cuts on the minimum pt of the tracks
    if (TMath::Abs(bachelorTrack->Pt()) < fCutsRD[GetGlobalIndex(4,ptbin)] && fExcludedCut!=4) {
      AliDebug(4,Form(" bachelor track Pt=%2.2e > %2.2e",bachelorTrack->Pt(),fCutsRD[GetGlobalIndex(4,ptbin)]));
      return 0;
    }
    if (TMath::Abs(v0positiveTrack->Pt()) < fCutsRD[GetGlobalIndex(5,ptbin)] && fExcludedCut!=5) {
      AliDebug(4,Form(" V0-positive track Pt=%2.2e > %2.2e",v0positiveTrack->Pt(),fCutsRD[GetGlobalIndex(5,ptbin)]));
      return 0;
    }
    if (TMath::Abs(v0negativeTrack->Pt()) < fCutsRD[GetGlobalIndex(6,ptbin)] && fExcludedCut!=6) {
      AliDebug(4,Form(" V0-negative track Pt=%2.2e > %2.2e",v0negativeTrack->Pt(),fCutsRD[GetGlobalIndex(6,ptbin)]));
      return 0;
    }

    // cut on cascade dca (prong-to-prong)
    if ( TMath::Abs(d->GetDCA()) > fCutsRD[GetGlobalIndex(7,ptbin)] && fExcludedCut!=7) { // prong-to-prong cascade DCA
      AliDebug(4,Form(" cascade tracks DCA don't pass the cut"));
      return 0;
    }

    // cut on V0 dca (prong-to-prong)
    if ( TMath::Abs(v0->GetDCA()) > fCutsRD[GetGlobalIndex(8,ptbin)] && fExcludedCut!=8) { // prong-to-prong V0 DCA
      AliDebug(4,Form(" V0 DCA don't pass the cut"));
      return 0;
    }

    // cut on V0 cosine of pointing angle wrt PV
    if (d->CosV0PointingAngle() < fCutsRD[GetGlobalIndex(9,ptbin)] && fExcludedCut!=9) { // cosine of V0 pointing angle wrt primary vertex
      AliDebug(4,Form(" V0 cosine of pointing angle doesn't pass the cut"));
      return 0;
    }

    // cut on bachelor transverse impact parameter wrt PV
    if (TMath::Abs(d->Getd0Prong(0)) > fCutsRD[GetGlobalIndex(10,ptbin)] && fExcludedCut!=10) { // bachelor transverse impact parameter wrt PV
      AliDebug(4,Form(" bachelor transverse impact parameter doesn't pass the cut"));
      return 0;
    }

    // cut on V0 transverse impact parameter wrt PV
    if (TMath::Abs(d->Getd0Prong(1)) > fCutsRD[GetGlobalIndex(11,ptbin)] && fExcludedCut!=11) { // V0 transverse impact parameter wrt PV
      AliDebug(4,Form(" V0 transverse impact parameter doesn't pass the cut"));
      return 0;
    }

    // cut on V0 pT min
    if (v0->Pt() < fCutsRD[GetGlobalIndex(15,ptbin)] && fExcludedCut!=15) { // V0 pT min
      AliDebug(4,Form(" V0 track Pt=%2.2e > %2.2e",v0->Pt(),fCutsRD[GetGlobalIndex(15,ptbin)]));
      return 0;
    }

  }

  Int_t returnvalue = okLck0sp+2*okLcLBarpi+4*okLcLpi;
  /*
    retvalue case
    1  Lc->K0S + p
    2  Lc->LambdaBar + pi
    3  Lc->K0S + p AND Lc->LambdaBar + pi
    4  Lc->Lambda + pi
    5  Lc->K0S + p AND Lc->Lambda + pi
    6  Lc->LambdaBar + pi AND Lc->Lambda + pi
    7  Lc->K0S + p AND Lc->LambdaBar + pi AND Lc->Lambda + pi
  */

  Int_t returnvaluePID = 7;

  // selection on candidate
  if (selectionLevel==AliRDHFCuts::kAll ||
      selectionLevel==AliRDHFCuts::kCandidate ||
      selectionLevel==AliRDHFCuts::kPID )
    returnvaluePID = IsSelectedPID(d);

  //if (fUsePID && returnvaluePID==0) return 0;

  Int_t returnvalueTot = 0;
  if ( fUsePID )
    returnvalueTot = CombineCuts(returnvalueTrack,returnvalue,returnvaluePID);
  else
    returnvalueTot = CombineCuts(returnvalueTrack,returnvalue,7);

  return returnvalueTot;

}
//---------------------------------------------------------------------------
Int_t AliRDHFCutsLctoV0::IsSelectedPID(AliAODRecoDecayHF* obj) {

  // fPidHF -> PID object for bachelor

  if (!fUsePID || !obj) {
    AliDebug(2,"PID selection inactive. Candidate accepted.");
    return 7; // all hypothesis are valid
  }

  AliAODRecoCascadeHF *objD = (AliAODRecoCascadeHF*)obj;

  AliAODv0 * v0 = dynamic_cast<AliAODv0*>(objD->Getv0());
  if ( v0 && ((v0->GetOnFlyStatus() == kTRUE  && GetV0Type() == AliRDHFCuts::kOnlyOfflineV0s) ||
	      (v0->GetOnFlyStatus() == kFALSE && GetV0Type() == AliRDHFCuts::kOnlyOnTheFlyV0s)) ) return 0;

  AliAODTrack *bachelor = (AliAODTrack*)objD->GetBachelor();
  AliAODTrack *v0Pos = (AliAODTrack*)objD->Getv0PositiveTrack();
  AliAODTrack *v0Neg = (AliAODTrack*)objD->Getv0NegativeTrack();

  if (!bachelor || !v0Pos || !v0Neg) return 0;

  Bool_t okLcK0Sp = kTRUE; // K0S case
  Bool_t okLcLambdaBarPi = kTRUE; // LambdaBar case
  Bool_t okLcLambdaPi = kTRUE; // Lambda case

  CheckPID(bachelor,v0Neg,v0Pos,okLcK0Sp,okLcLambdaBarPi,okLcLambdaPi);

  Int_t returnvalue = okLcK0Sp+2*okLcLambdaBarPi+4*okLcLambdaPi;

  return returnvalue;
}
//-----------------------
void AliRDHFCutsLctoV0::CheckPID(AliAODTrack *bachelor,
				 AliAODTrack * /*v0Neg*/, AliAODTrack * /*v0Pos*/,
				 Bool_t &isBachelorID1, Bool_t &isBachelorID2, Bool_t &isBachelorID4) {
  // identification strategy

  Int_t idxIDbyTOF = -1;
  Int_t idxIDbyTPC = -1;

  Int_t tpcID = -1;
  Int_t tofID = -1;
  Double_t nTPCsigmas = -999;
  Double_t nTOFsigmas = -999;

  Bool_t trackIDByTOF = -1;
  Bool_t trackIDByTPC = -1;

  Bool_t dummy = kFALSE;

  switch (fPidSelectionFlag) {

  case 0:

    // identify bachelor
    idxIDbyTOF = fPidHF->ApplyPidTOFRaw(bachelor,4);
    idxIDbyTPC = fPidHF->ApplyPidTPCRaw(bachelor,4);
    isBachelorID1 = (idxIDbyTOF==4) && (idxIDbyTPC==4); // K0S case

    idxIDbyTOF = fPidHF->ApplyPidTOFRaw(bachelor,2);
    idxIDbyTPC = fPidHF->ApplyPidTPCRaw(bachelor,2);
    isBachelorID2 = (idxIDbyTOF==2) && (idxIDbyTPC==2); // LambdaBar case

    isBachelorID4 = isBachelorID2; // Lambda case

    break;

  case 1:

    // identify bachelor
    idxIDbyTOF = fPidHF->ApplyPidTOFRaw(bachelor,4);
    idxIDbyTPC = fPidHF->ApplyPidTPCRaw(bachelor,4);
    dummy = ( !(fPidHF->CheckTOFPIDStatus(bachelor)) && (idxIDbyTPC==4) &&
	      fPidHF->IsExcluded(bachelor,2,2.,"TPC") && fPidHF->IsExcluded(bachelor,3,2.,"TPC") ); // K0S case
    isBachelorID1 = ( (idxIDbyTOF==4) || dummy );

    idxIDbyTOF = fPidHF->ApplyPidTOFRaw(bachelor,2);
    idxIDbyTPC = fPidHF->ApplyPidTPCRaw(bachelor,2);
    dummy = ( !(fPidHF->CheckTOFPIDStatus(bachelor)) && (idxIDbyTPC==2) &&
	      fPidHF->IsExcluded(bachelor,3,2.,"TPC") && fPidHF->IsExcluded(bachelor,4,2.,"TPC") ); // LambdaBar case
    isBachelorID2 = ( (idxIDbyTOF==2) || dummy );

    isBachelorID4 = isBachelorID2; // Lambda case

    break;

  case 2:

    // identify bachelor
    nTOFsigmas = -999;
    tofID = fPidHF->GetnSigmaTOF(bachelor,4,nTOFsigmas);
    nTPCsigmas = -999;
    tpcID = fPidHF->GetnSigmaTPC(bachelor,4,nTPCsigmas);
    trackIDByTOF = ( (tofID==1) && ( (bachelor->P()>=fLowPtCut && bachelor->P()<fHighPtCut && TMath::Abs(nTOFsigmas)<3) ||
				     (bachelor->P()>=fHighPtCut && nTOFsigmas>-2 && nTOFsigmas<3) ) );
    trackIDByTPC = ( (tpcID==1) && ( (bachelor->P()<fLowPtCut && TMath::Abs(nTPCsigmas)<2) ||
				     (bachelor->P()>=fLowPtCut && TMath::Abs(nTPCsigmas)<3) ) );
    isBachelorID1 = (bachelor->P()<fLowPtCut && trackIDByTPC) || (bachelor->P()>=fLowPtCut && trackIDByTPC && trackIDByTOF); // K0S case

    nTOFsigmas = -999;
    tofID = fPidHF->GetnSigmaTOF(bachelor,2,nTOFsigmas);
    nTPCsigmas = -999;
    tpcID = fPidHF->GetnSigmaTPC(bachelor,2,nTPCsigmas);
    trackIDByTOF = ( (tofID==1) && ( (bachelor->P()>=fLowPtCut && bachelor->P()<fHighPtCut && TMath::Abs(nTOFsigmas)<3) ||
				     (bachelor->P()>=fHighPtCut && nTOFsigmas>-2 && nTOFsigmas<3) ) );
    trackIDByTPC = ( (tpcID==1) && ( (bachelor->P()<fLowPtCut && TMath::Abs(nTPCsigmas)<2) ||
				     (bachelor->P()>=fLowPtCut && TMath::Abs(nTPCsigmas)<3) ) );
    isBachelorID2 = (bachelor->P()<fLowPtCut && trackIDByTPC) || (bachelor->P()>=fLowPtCut && trackIDByTPC && trackIDByTOF); // LambdaBar case

    isBachelorID4 = isBachelorID2; // Lambda case

    break;

  case 3:

    // identify bachelor
    nTOFsigmas = -999;
    tofID = fPidHF->GetnSigmaTOF(bachelor,4,nTOFsigmas);
    nTPCsigmas = -999;
    tpcID = fPidHF->GetnSigmaTPC(bachelor,4,nTPCsigmas);
    trackIDByTOF = ( (tofID==1) && ( (bachelor->P()>=fLowPtCut && bachelor->P()<fHighPtCut && TMath::Abs(nTOFsigmas)<3) ||
				     (bachelor->P()>=fHighPtCut && nTOFsigmas>-2 && nTOFsigmas<3) ) );
    trackIDByTPC = ( (tpcID==1) && ( (bachelor->P()<fLowPtCut && TMath::Abs(nTPCsigmas)<2) ||
				     (bachelor->P()>=fLowPtCut && bachelor->P()<fHighPtCut && TMath::Abs(nTPCsigmas)<3) ||
				     (bachelor->P()>=fHighPtCut && nTPCsigmas>-3 && nTPCsigmas<2) ) );
    isBachelorID1 = (bachelor->P()<fLowPtCut && trackIDByTPC) || (bachelor->P()>=fLowPtCut && trackIDByTPC && trackIDByTOF); // K0S case

    nTOFsigmas = -999;
    tofID = fPidHF->GetnSigmaTOF(bachelor,2,nTOFsigmas);
    nTPCsigmas = -999;
    tpcID = fPidHF->GetnSigmaTPC(bachelor,2,nTPCsigmas);
    trackIDByTOF = ( (tofID==1) && ( (bachelor->P()>=fLowPtCut && bachelor->P()<fHighPtCut && TMath::Abs(nTOFsigmas)<3) ||
				     (bachelor->P()>=fHighPtCut && nTOFsigmas>-2 && nTOFsigmas<3) ) );
    trackIDByTPC = ( (tpcID==1) && ( (bachelor->P()<fLowPtCut && TMath::Abs(nTPCsigmas)<2) ||
				     (bachelor->P()>=fLowPtCut && bachelor->P()<fHighPtCut && TMath::Abs(nTPCsigmas)<3) ||
				     (bachelor->P()>=fHighPtCut && nTPCsigmas>-3 && nTPCsigmas<2) ) );
    isBachelorID2 = (bachelor->P()<fLowPtCut && trackIDByTPC) || (bachelor->P()>=fLowPtCut && trackIDByTPC && trackIDByTOF); // LambdaBar case

    isBachelorID4 = isBachelorID2; // Lambda case

    break;

  case 4:

    // identify bachelor
    nTOFsigmas = -999;
    tofID = fPidHF->GetnSigmaTOF(bachelor,4,nTOFsigmas);
    nTPCsigmas = -999;
    tpcID = fPidHF->GetnSigmaTPC(bachelor,4,nTPCsigmas);
    trackIDByTOF = ( (tofID==1) && ( (bachelor->P()>=fLowPtCut && bachelor->P()<fHighPtCut && TMath::Abs(nTOFsigmas)<3) ||
				     (bachelor->P()>=fHighPtCut && nTOFsigmas>-2 && nTOFsigmas<3) ) );
    trackIDByTPC = ( (tpcID==1) && (TMath::Abs(nTPCsigmas)<2) );
    isBachelorID1 = ( (bachelor->P()<fLowPtCut && trackIDByTPC) || (bachelor->P()>=fLowPtCut && trackIDByTOF) ); // K0S case

    nTOFsigmas = -999;
    tofID = fPidHF->GetnSigmaTOF(bachelor,2,nTOFsigmas);
    nTPCsigmas = -999;
    tpcID = fPidHF->GetnSigmaTPC(bachelor,2,nTPCsigmas);
    trackIDByTOF = ( (tofID==1) && ( (bachelor->P()>=fLowPtCut && bachelor->P()<fHighPtCut && TMath::Abs(nTOFsigmas)<3) ||
				     (bachelor->P()>=fHighPtCut && nTOFsigmas>-2 && nTOFsigmas<3) ) );
    trackIDByTPC = ( (tpcID==1) && (TMath::Abs(nTPCsigmas)<2) );
    isBachelorID2 = ( (bachelor->P()<fLowPtCut && trackIDByTPC) || (bachelor->P()>=fLowPtCut && trackIDByTOF) ); // LambdaBar case

    isBachelorID4 = isBachelorID2; // Lambda case

    break;

  case 5:

    // identify bachelor
    nTOFsigmas = -999;
    tofID = fPidHF->GetnSigmaTOF(bachelor,4,nTOFsigmas);
    nTPCsigmas = -999;
    tpcID = fPidHF->GetnSigmaTPC(bachelor,4,nTPCsigmas);
    trackIDByTOF = ( (tofID==1) && ( (bachelor->P()>=fLowPtCut && bachelor->P()<fHighPtCut && TMath::Abs(nTOFsigmas)<3) ||
				     (bachelor->P()>=fHighPtCut && nTOFsigmas>-2 && nTOFsigmas<3) ) );
    trackIDByTPC = ( (tpcID==1) && ( (bachelor->P()<fLowPtCut && TMath::Abs(nTPCsigmas)<2) || (bachelor->P()>=fHighPtCut && !trackIDByTOF && TMath::Abs(nTPCsigmas)<3) ) );
    isBachelorID1 = (bachelor->P()<fLowPtCut && trackIDByTPC) || (bachelor->P()>=fLowPtCut && bachelor->P()<fHighPtCut && trackIDByTOF) || (bachelor->P()>=fHighPtCut && (trackIDByTOF || trackIDByTPC) ); // K0S case

    nTOFsigmas = -999;
    tofID = fPidHF->GetnSigmaTOF(bachelor,2,nTOFsigmas);
    nTPCsigmas = -999;
    tpcID = fPidHF->GetnSigmaTPC(bachelor,2,nTPCsigmas);
    trackIDByTOF = ( (tofID==1) && ( (bachelor->P()>=fLowPtCut && bachelor->P()<fHighPtCut && TMath::Abs(nTOFsigmas)<3) ||
				     (bachelor->P()>=fHighPtCut && nTOFsigmas>-2 && nTOFsigmas<3) ) );
    trackIDByTPC = ( (tpcID==1) && ( (bachelor->P()<fLowPtCut && TMath::Abs(nTPCsigmas)<2) || (bachelor->P()>=fHighPtCut && !trackIDByTOF && TMath::Abs(nTPCsigmas)<3) ) );
    isBachelorID2 = (bachelor->P()<fLowPtCut && trackIDByTPC) || (bachelor->P()>=fLowPtCut && bachelor->P()<fHighPtCut && trackIDByTOF) || (bachelor->P()>=fHighPtCut && (trackIDByTOF || trackIDByTPC) ); // LambdaBar case

    isBachelorID4 = isBachelorID2; // Lambda case

    break;
  }

}
//----------------
Int_t AliRDHFCutsLctoV0::CombineCuts(Int_t returnvalueTrack, Int_t returnvalue, Int_t returnvaluePID) const {
  //
  // combine track selection, topological cuts and PID
  //

  Int_t returnvalueTot=returnvalueTrack&returnvalue;
  returnvalueTot=returnvalueTot&returnvaluePID;

  return returnvalueTot;
}

//----------------------------------
Int_t AliRDHFCutsLctoV0::IsSelectedSingleCut(TObject* obj, Int_t selectionLevel, Int_t cutIndex) {
  //
  // Apply selection on single cut
  //

  if (!fCutsRD) {
    AliDebug(2,"Cut matrice not inizialized. Exit...");
    return 0;
  }

  AliAODRecoCascadeHF* d = (AliAODRecoCascadeHF*)obj;
  if (!d) {
    AliDebug(2,"AliAODRecoCascadeHF null");
    return 0;
  }

  if (!d->GetSecondaryVtx()) {
    AliDebug(2,"No secondary vertex for cascade");
    return 0;
  }

  if (d->GetNDaughters()!=2) {
    AliDebug(2,Form("No 2 daughters for current cascade (nDaughters=%d)",d->GetNDaughters()));
    return 0;
  }

  AliAODv0 * v0 = dynamic_cast<AliAODv0*>(d->Getv0());
  if ( v0 && ((v0->GetOnFlyStatus() == kTRUE  && GetV0Type() == AliRDHFCuts::kOnlyOfflineV0s) ||
	      (v0->GetOnFlyStatus() == kFALSE && GetV0Type() == AliRDHFCuts::kOnlyOnTheFlyV0s)) ) return 0;

  AliAODTrack * bachelorTrack = dynamic_cast<AliAODTrack*>(d->GetBachelor());
  if (!v0 || !bachelorTrack) {
    AliDebug(2,"No V0 or no bachelor for current cascade");
    return 0;
  }

  if (bachelorTrack->GetID()<0) {
    AliDebug(2,Form("Bachelor has negative ID %d",bachelorTrack->GetID()));
    return 0;
  }

  if (!v0->GetSecondaryVtx()) {
    AliDebug(2,"No secondary vertex for V0 by cascade");
    return 0;
  }

  if (v0->GetNDaughters()!=2) {
    AliDebug(2,Form("No 2 daughters for V0 of current cascade (onTheFly=%d, nDaughters=%d)",v0->GetOnFlyStatus(),v0->GetNDaughters()));
    return 0;
  }


  // Get the V0 daughter tracks
  AliAODTrack *v0positiveTrack = dynamic_cast<AliAODTrack*>(d->Getv0PositiveTrack());
  AliAODTrack *v0negativeTrack = dynamic_cast<AliAODTrack*>(d->Getv0NegativeTrack());
  if (!v0positiveTrack || !v0negativeTrack ) {
    AliDebug(2,"No V0 daughters' objects");
    return 0;
  }

  if (v0positiveTrack->GetID()<0 || v0negativeTrack->GetID()<0) {
    AliDebug(2,Form("At least one of V0 daughters has negative ID %d %d",v0positiveTrack->GetID(),v0negativeTrack->GetID()));
    return 0;
  }

  //if(fUseTrackSelectionWithFilterBits && d->HasBadDaughters()) return 0;
  if ( fUseTrackSelectionWithFilterBits && !(bachelorTrack->TestFilterMask(BIT(4))) ) {
    AliDebug(2,"Check on the bachelor FilterBit: no BIT(4). Candidate rejected.");
    return 0;
  }


  // selection on daughter tracks
  if (selectionLevel==AliRDHFCuts::kAll ||
      selectionLevel==AliRDHFCuts::kTracks) {

    if (!AreLctoV0DaughtersSelected(d)) return 0;

  }

  Bool_t okLck0sp=kFALSE, okLcLpi=kFALSE, okLcLBarpi=kFALSE;

  // selection on candidate
  if (selectionLevel==AliRDHFCuts::kAll ||
      selectionLevel==AliRDHFCuts::kCandidate) {

    Double_t pt = d->Pt();
    Int_t ptbin = PtBin(pt);

    Double_t mLcPDG  = TDatabasePDG::Instance()->GetParticle(4122)->Mass();
    Double_t mk0sPDG = TDatabasePDG::Instance()->GetParticle(310)->Mass();
    Double_t mLPDG   = TDatabasePDG::Instance()->GetParticle(3122)->Mass();

    // K0S + p
    Double_t mk0s    = v0->MassK0Short();
    Double_t mLck0sp = d->InvMassLctoK0sP();

    // Lambda + pi
    Double_t mlambda  = v0->MassLambda();
    Double_t malambda = v0->MassAntiLambda();
    Double_t mLcLpi   = d->InvMassLctoLambdaPi();

    switch (cutIndex) {
    case 0:
      // cut on Lc mass with K0S+p hypothesis
      okLck0sp   = TMath::Abs(mLck0sp-mLcPDG)<=fCutsRD[GetGlobalIndex(0,ptbin)];
      okLcLpi    = kFALSE;
      okLcLBarpi = kFALSE;
      break;
    case 1:
      // cut on Lc mass with Lambda+pi hypothesis
      okLck0sp   = kFALSE;
      okLcLpi    = TMath::Abs(mLcLpi-mLcPDG)<=fCutsRD[GetGlobalIndex(1,ptbin)];
      okLcLBarpi = okLcLpi;
      break;
    case 2:
      // cuts on the V0 mass: K0S case
      okLck0sp   = TMath::Abs(mk0s-mk0sPDG)<=fCutsRD[GetGlobalIndex(2,ptbin)];
      okLcLpi    = kFALSE;
      okLcLBarpi = kFALSE;
      break;
    case 3:
      // cuts on the V0 mass: Lambda/LambdaBar case
      okLck0sp   = kFALSE;
      okLcLpi    = TMath::Abs(mlambda-mLPDG)<=fCutsRD[GetGlobalIndex(3,ptbin)];
      //okLcLpi    = okLcLpi && (bachelorTrack->Charge()==+1);
      okLcLBarpi = TMath::Abs(malambda-mLPDG)<=fCutsRD[GetGlobalIndex(3,ptbin)];
      //okLcLBarpi = okLcLBarpi && (bachelorTrack->Charge()==-1);
      break;
    case 4:
      // cuts on the minimum pt of bachelor
      okLck0sp   = TMath::Abs(bachelorTrack->Pt())>=fCutsRD[GetGlobalIndex(4,ptbin)];
      okLcLpi    = okLck0sp;
      okLcLBarpi = okLck0sp;
      break;
    case 5:
      // cuts on the minimum pt of positive V0daughter
      okLck0sp   = TMath::Abs(v0positiveTrack->Pt())>=fCutsRD[GetGlobalIndex(5,ptbin)];
      okLcLpi    = okLck0sp;
      okLcLBarpi = okLck0sp;
      break;
    case 6:
      // cuts on the minimum pt of negative V0daughter
      okLck0sp   = TMath::Abs(v0negativeTrack->Pt())>=fCutsRD[GetGlobalIndex(6,ptbin)];
      okLcLpi    = okLck0sp;
      okLcLBarpi = okLck0sp;
      break;
    case 7:
      // cut on cascade dca
      okLck0sp   = TMath::Abs(d->GetDCA())<=fCutsRD[GetGlobalIndex(7,ptbin)];
      okLcLpi    = okLck0sp;
      okLcLBarpi = okLck0sp;
      break;
    case 8:
      // cut on V0 dca
      okLck0sp   = TMath::Abs(v0->GetDCA())<=fCutsRD[GetGlobalIndex(8,ptbin)];
      okLcLpi    = okLck0sp;
      okLcLBarpi = okLck0sp;
      break;
    case 9:
      // cut on V0 cosine of pointing angle wrt PV
      okLck0sp   = d->CosV0PointingAngle()>=fCutsRD[GetGlobalIndex(9,ptbin)];
      okLcLpi    = okLck0sp;
      okLcLBarpi = okLck0sp;
      break;
    case 10:
      // cut on bachelor transverse impact parameter wrt PV
      okLck0sp   = TMath::Abs(d->Getd0Prong(0))<=fCutsRD[GetGlobalIndex(10,ptbin)];
      okLcLpi    = okLck0sp;
      okLcLBarpi = okLck0sp;
      break;
    case 11:
      // cut on V0 transverse impact parameter wrt PV
      okLck0sp   = TMath::Abs(d->Getd0Prong(1))<=fCutsRD[GetGlobalIndex(11,ptbin)];
      okLcLpi    = okLck0sp;
      okLcLBarpi = okLck0sp;
      break;
    case 12:
      // cut on K0S invariant mass veto
      okLcLpi    = TMath::Abs(mk0s-mk0sPDG)>=fCutsRD[GetGlobalIndex(12,ptbin)];
      okLcLBarpi = TMath::Abs(mk0s-mk0sPDG)>=fCutsRD[GetGlobalIndex(12,ptbin)];
      break;
    case 13:
      // cut on Lambda/LambdaBar invariant mass veto
      okLck0sp   = (TMath::Abs(mlambda-mLPDG)>=fCutsRD[GetGlobalIndex(13,ptbin)] &&
		    TMath::Abs(malambda-mLPDG)>=fCutsRD[GetGlobalIndex(13,ptbin)]);
      break;
    case 14:
      // cut on gamma invariant mass veto
      okLck0sp   = v0->InvMass2Prongs(0,1,11,11)>=fCutsRD[GetGlobalIndex(14,ptbin)];
      okLcLpi    = okLck0sp;
      okLcLBarpi = okLck0sp;
      break;
    case 15:
      // cut on V0 pT min
      okLck0sp   = v0->Pt()>=fCutsRD[GetGlobalIndex(15,ptbin)];
      okLcLpi    = okLck0sp;
      okLcLBarpi = okLck0sp;
      break;
    }
  }

  Int_t returnvalue = okLck0sp+2*okLcLBarpi+4*okLcLpi;
  /*
    retvalue case
    1  Lc->K0S + p
    2  Lc->LambdaBar + pi
    3  Lc->K0S + p AND Lc->LambdaBar + pi
    4  Lc->Lambda + pi
    5  Lc->K0S + p AND Lc->Lambda + pi
    6  Lc->LambdaBar + pi AND Lc->Lambda + pi
    7  Lc->K0S + p AND Lc->LambdaBar + pi AND Lc->Lambda + pi
  */


  /*
    Int_t returnvaluePID = 7;

    // selection on PID
    if (selectionLevel==AliRDHFCuts::kAll ||
    selectionLevel==AliRDHFCuts::kCandidate ||
    selectionLevel==AliRDHFCuts::kPID )
    returnvaluePID = IsSelectedPID(d);
  */

  Int_t returnvalueTot = 0;
  //if ( fUsePID )
  //returnvalueTot = CombineCuts(returnvalue,returnvaluePID);
  //else
  returnvalueTot = returnvalue;

  return returnvalueTot;

}
//----------------------------------
void AliRDHFCutsLctoV0::SetStandardCutsPP2010() {

  SetName("LctoV0ProductionCuts");
  SetTitle("Production cuts for Lc->V0+bachelor analysis");

  AliESDtrackCuts* esdTrackCuts=new AliESDtrackCuts();
  esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
  //default
  esdTrackCuts->SetRequireTPCRefit(kTRUE);
  esdTrackCuts->SetRequireITSRefit(kTRUE);
  esdTrackCuts->SetMinNClustersITS(0);//(4); // default is 5
  esdTrackCuts->SetMinNClustersTPC(70);
  //esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
  //				           AliESDtrackCuts::kAny);
  // default is kBoth, otherwise kAny
  esdTrackCuts->SetMinDCAToVertexXY(0.);
  esdTrackCuts->SetPtRange(0.3,1.e10);
  //esdTrackCuts->SetEtaRange(-0.8,+0.8);
  esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
  AddTrackCuts(esdTrackCuts);
  delete esdTrackCuts;
  esdTrackCuts=NULL;


  AliESDtrackCuts* esdTrackCutsV0daughters=new AliESDtrackCuts();
  esdTrackCutsV0daughters->SetRequireSigmaToVertex(kFALSE);
  //default
  esdTrackCutsV0daughters->SetRequireTPCRefit(kTRUE);
  esdTrackCutsV0daughters->SetRequireITSRefit(kFALSE);//(kTRUE);
  esdTrackCutsV0daughters->SetMinNClustersITS(0);//(4); // default is 5
  esdTrackCutsV0daughters->SetMinNClustersTPC(70);
  //esdTrackCutsV0daughters->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
  //					              AliESDtrackCuts::kAny);
  // default is kBoth, otherwise kAny
  esdTrackCutsV0daughters->SetMinDCAToVertexXY(0.);
  esdTrackCutsV0daughters->SetPtRange(0.,1.e10);
  esdTrackCutsV0daughters->SetAcceptKinkDaughters(kFALSE);
  AddTrackCutsV0daughters(esdTrackCutsV0daughters);
  delete esdTrackCutsV0daughters;
  esdTrackCutsV0daughters=NULL;

  const Int_t nptbins=1;
  Float_t* ptbins;
  ptbins=new Float_t[nptbins+1];
  ptbins[0]=0.;
  ptbins[1]=99999999.;

  SetPtBins(nptbins+1,ptbins);
  SetPtBins(nptbins+1,ptbins);

  const Int_t nvars=17;

  Float_t** prodcutsval;
  prodcutsval=new Float_t*[nvars];
  for(Int_t ic=0;ic<nvars;ic++){prodcutsval[ic]=new Float_t[nptbins];}
  for(Int_t ipt2=0;ipt2<nptbins;ipt2++){
    prodcutsval[0][ipt2]=1.;    // inv. mass if K0S [GeV/c2]
    prodcutsval[1][ipt2]=1.;    // inv. mass if Lambda [GeV/c2]
    prodcutsval[2][ipt2]=0.05;  // inv. mass V0 if K0S [GeV/c2]
    prodcutsval[3][ipt2]=0.05;  // inv. mass V0 if Lambda [GeV/c2]
    prodcutsval[4][ipt2]=0.3;   // pT min bachelor track [GeV/c] // AOD by construction
    prodcutsval[5][ipt2]=0.;    // pT min V0-positive track [GeV/c]
    prodcutsval[6][ipt2]=0.;    // pT min V0-negative track [GeV/c]
    prodcutsval[7][ipt2]=1000.; // dca cascade cut [cm]
    prodcutsval[8][ipt2]=1.5;   // dca V0 cut [nSigma] // it's 1.5 x offline V0s
    prodcutsval[9][ipt2]=-1.;   // cosPA V0 cut // it's 0.90 x offline V0s at reconstruction level, 0.99 at filtering level
    prodcutsval[10][ipt2]=3.;   // d0 max bachelor wrt PV [cm]
    prodcutsval[11][ipt2]=1000.;// d0 max V0 wrt PV [cm]
    prodcutsval[12][ipt2]=0.;   // mass K0S veto [GeV/c2]
    prodcutsval[13][ipt2]=0.;   // mass Lambda/LambdaBar veto [GeV/c2]
    prodcutsval[14][ipt2]=0.;   // mass Gamma veto [GeV/c2]
    prodcutsval[15][ipt2]=0.;   // pT min V0 track [GeV/c]
    prodcutsval[16][ipt2]=0.;   // V0 type cut
  }
  SetCuts(nvars,nptbins,prodcutsval);

  SetGlobalIndex(nvars,nptbins);
  SetPtBins(nptbins+1,ptbins);


  //pid settings
  //1. bachelor: default one
  AliAODPidHF* pidObjBachelor = new AliAODPidHF();
  Double_t sigmasBac[5]={3.,1.,1.,3.,3.}; // 0, 1(A), 2(A) -> TPC; 3 -> TOF; 4 -> ITS
  pidObjBachelor->SetSigma(sigmasBac);
  pidObjBachelor->SetAsym(kFALSE);
  pidObjBachelor->SetMatch(1);
  pidObjBachelor->SetTPC(kTRUE);
  pidObjBachelor->SetTOF(kTRUE);
  pidObjBachelor->SetTOFdecide(kFALSE);
  SetPidHF(pidObjBachelor);

  SetUsePID(kFALSE);//(kTRUE);

  //PrintAll();

  for(Int_t iiv=0;iiv<nvars;iiv++){
    delete [] prodcutsval[iiv];
  }
  delete [] prodcutsval;
  prodcutsval=NULL;
  delete [] ptbins;
  ptbins=NULL;


  delete pidObjBachelor;
  pidObjBachelor=NULL;

  return;
}
//------------------
void AliRDHFCutsLctoV0::SetStandardCutsPbPb2010() {

  SetName("LctoV0ProductionCuts");
  SetTitle("Production cuts for Lc->V0+bachelor analysis");

  SetStandardCutsPP2010();

  return;
}
//------------------
void AliRDHFCutsLctoV0::SetStandardCutsPbPb2011() {

  // Default 2010 PbPb cut object
  SetStandardCutsPbPb2010();

  //
  // Enable all 2011 PbPb run triggers
  //
  SetTriggerClass("");
  ResetMaskAndEnableMBTrigger();
  EnableCentralTrigger();
  EnableSemiCentralTrigger();

}
//-----------------------
Int_t AliRDHFCutsLctoV0::GetV0Type(){

  const Int_t nvars = this->GetNVars() ;
  //Float_t *vArray =GetCuts();
  //fV0Type = vArray[nvars-1];
  fV0Type = (this->GetCuts())[nvars-1];
  //this->GetCuts(vArray);
  TString *sVarNames=GetVarNames();

  if(sVarNames[nvars-1].Contains("V0 type")) return (Int_t)fV0Type;
  else {AliInfo("AliRDHFCutsLctoV0 Last variable is not the V0 type!!!"); return -999;}
}

//---------------------------------------------------------------------------
void AliRDHFCutsLctoV0::PrintAll() const {
  //
  // print all cuts values
  // 

  printf("Minimum vtx type %d\n",fMinVtxType);
  printf("Minimum vtx contr %d\n",fMinVtxContr);
  printf("Max vtx red chi2 %f\n",fMaxVtxRedChi2);
  printf("Min SPD mult %d\n",fMinSPDMultiplicity);
  printf("Use PID %d (PID selection flag = %d) OldPid=%d\n",(Int_t)fUsePID,(Int_t)fPidSelectionFlag,fPidHF ? fPidHF->GetOldPid() : -1);
  printf("High value for pT %f\n",fHighPtCut);
  printf("Low and high values for pT cuts: %f %f\n",fLowPtCut,fHighPtCut);
  printf("Remove daughters from vtx %d\n",(Int_t)fRemoveDaughtersFromPrimary);
  printf("Physics selection: %s\n",fUsePhysicsSelection ? "Yes" : "No");
  printf("Pileup rejection: %s\n",(fOptPileup > 0) ? "Yes" : "No");
  printf("UseTrackSelectionWithFilterBits: %s\n",fUseTrackSelectionWithFilterBits ? "Yes" : "No");
  printf("Reject kink: %s\n",fKinkReject ? "Yes" : "No");
  if(fOptPileup==1) printf(" -- Reject pileup event");
  if(fOptPileup==2) printf(" -- Reject tracks from pileup vtx");
  if(fUseCentrality>0) {
    TString estimator="";
    if(fUseCentrality==1) estimator = "V0";
    if(fUseCentrality==2) estimator = "Tracks";
    if(fUseCentrality==3) estimator = "Tracklets";
    if(fUseCentrality==4) estimator = "SPD clusters outer"; 
    printf("Centrality class considered: %.1f-%.1f, estimated with %s",fMinCentrality,fMaxCentrality,estimator.Data());
  }
  if(fIsCandTrackSPDFirst) printf("Check for candidates with pt < %2.2f, that daughters fullfill kFirst criteria\n",fMaxPtCandTrackSPDFirst);

  if(fVarNames){
    cout<<"Array of variables"<<endl;
    for(Int_t iv=0;iv<fnVars;iv++){
      cout<<fVarNames[iv]<<"\t";
    }
    cout<<endl;
  }
  if(fVarsForOpt){
    cout<<"Array of optimization"<<endl;
    for(Int_t iv=0;iv<fnVars;iv++){
      cout<<fVarsForOpt[iv]<<"\t";
    }
    cout<<endl;
  }
  if(fIsUpperCut){
    cout<<"Array of upper/lower cut"<<endl;
    for(Int_t iv=0;iv<fnVars;iv++){
      cout<<fIsUpperCut[iv]<<"\t";
    }
    cout<<endl;
  }
  if(fPtBinLimits){
    cout<<"Array of ptbin limits"<<endl;
    for(Int_t ib=0;ib<fnPtBinLimits;ib++){
      cout<<fPtBinLimits[ib]<<"\t";
    }
    cout<<endl;
  }
  if(fCutsRD){
    cout<<"Matrix of cuts"<<endl;
    for(Int_t iv=0;iv<fnVars;iv++){
      for(Int_t ib=0;ib<fnPtBins;ib++){
	cout<<"fCutsRD["<<iv<<"]["<<ib<<"] = "<<fCutsRD[GetGlobalIndex(iv,ib)]<<"\t";
      } 
      cout<<endl;
    }
    cout<<endl;
  }

  if (fTrackCuts) {
    Float_t eta1=0, eta2=0; fTrackCuts->GetEtaRange(eta1,eta2);
    cout << " etaRange for Bachelor: [" << eta1 << "," << eta2 << "]\n";
  }
  if (fV0daughtersCuts) {
    Float_t eta3=0, eta4=0; fV0daughtersCuts->GetEtaRange(eta3,eta4);
    cout << " etaRange for V0daughters: [" << eta3 << "," << eta4 << "]\n";
  }
  return;

}

//-------------------------
Bool_t AliRDHFCutsLctoV0::IsInFiducialAcceptance(Double_t pt, Double_t y) const
{
  //
  //
  // Checking if Lc is in fiducial acceptance region
  //
  //

  if(fMaxRapidityCand>-998.){
    if(TMath::Abs(y) > fMaxRapidityCand) return kFALSE;
    else return kTRUE;
  }

  if(pt > 5.) {
    // applying cut for pt > 5 GeV
    AliDebug(2,Form("pt of Lambda_c = %f (> 5), cutting at |y| < 0.8",pt));
    if (TMath::Abs(y) > 0.8) return kFALSE;

  } else {
    // appliying smooth cut for pt < 5 GeV
    Double_t maxFiducialY = -0.2/15*pt*pt+1.9/15*pt+0.5;
    Double_t minFiducialY = 0.2/15*pt*pt-1.9/15*pt-0.5;
    AliDebug(2,Form("pt of Lambda_c = %f (< 5), cutting  according to the fiducial zone [%f, %f]\n",pt,minFiducialY,maxFiducialY));
    if (y < minFiducialY || y > maxFiducialY) return kFALSE;
  }
  //
  return kTRUE;
}
//---------------------------------------------------------------------------
Bool_t AliRDHFCutsLctoV0::AreLctoV0DaughtersSelected(AliAODRecoDecayHF *dd) const{
  //
  // Daughter tracks selection
  //

  AliAODRecoCascadeHF* d = (AliAODRecoCascadeHF*)dd;
  if (!d) {
    AliDebug(2,"AliAODRecoCascadeHF null");
    return kFALSE;
  }

  if (!fTrackCuts) {
    AliFatal("Cut object is not defined for bachelor. Candidate accepted.");
    return kFALSE;
  }

  AliAODTrack * bachelorTrack = dynamic_cast<AliAODTrack*>(d->GetBachelor());
  if (!bachelorTrack) return kFALSE;

  if (fIsCandTrackSPDFirst && d->Pt()<fMaxPtCandTrackSPDFirst) {
    if(!bachelorTrack->HasPointOnITSLayer(0)) return kFALSE;
  }

  if (fKinkReject != (!(fTrackCuts->GetAcceptKinkDaughters())) ) {
    AliError(Form("Not compatible setting: fKinkReject=%1d - fTrackCuts->GetAcceptKinkDaughters()=%1d",fKinkReject, fTrackCuts->GetAcceptKinkDaughters()));
    return kFALSE;
  }

  AliAODVertex *vAOD = d->GetPrimaryVtx();
  Double_t pos[3]; vAOD->GetXYZ(pos);
  Double_t cov[6]; vAOD->GetCovarianceMatrix(cov);
  const AliESDVertex vESD(pos,cov,100.,100);

  if (!IsDaughterSelected(bachelorTrack,&vESD,fTrackCuts)) return kFALSE;

  if (!fV0daughtersCuts) {
    AliFatal("Cut object is not defined for V0daughters. Candidate accepted.");
    return kFALSE;
  }

  AliAODv0 * v0 = dynamic_cast<AliAODv0*>(d->Getv0());
  if (!v0) return kFALSE;
  AliAODTrack *v0positiveTrack = dynamic_cast<AliAODTrack*>(d->Getv0PositiveTrack());
  if (!v0positiveTrack) return kFALSE;
  AliAODTrack *v0negativeTrack = dynamic_cast<AliAODTrack*>(d->Getv0NegativeTrack());
  if (!v0negativeTrack) return kFALSE;


  Float_t etaMin=0, etaMax=0; fV0daughtersCuts->GetEtaRange(etaMin,etaMax);
  if ( (v0positiveTrack->Eta()<=etaMin || v0positiveTrack->Eta()>=etaMax) ||
       (v0negativeTrack->Eta()<=etaMin || v0negativeTrack->Eta()>=etaMax) ) return kFALSE;
  Float_t ptMin=0, ptMax=0; fV0daughtersCuts->GetPtRange(ptMin,ptMax);
  if ( (v0positiveTrack->Pt()<=ptMin || v0positiveTrack->Pt()>=ptMax) ||
       (v0negativeTrack->Pt()<=ptMin || v0negativeTrack->Pt()>=ptMax) ) return kFALSE;

  // Condition on nTPCclusters
  if (fV0daughtersCuts->GetMinNClusterTPC()>0) {
    if ( ( ( v0positiveTrack->GetTPCClusterInfo(2,1) ) < fV0daughtersCuts->GetMinNClusterTPC() ) || 
	 ( ( v0negativeTrack->GetTPCClusterInfo(2,1) ) < fV0daughtersCuts->GetMinNClusterTPC() ) ) return kFALSE;
  }

  // kTPCrefit status
  if (v0->GetOnFlyStatus()==kFALSE) { // only for offline V0s
    if (fV0daughtersCuts->GetRequireTPCRefit()) {
      if( !(v0positiveTrack->GetStatus() & AliESDtrack::kTPCrefit)) return kFALSE;
      if( !(v0negativeTrack->GetStatus() & AliESDtrack::kTPCrefit)) return kFALSE;
    }
  }
  // kink condition
  if (!fV0daughtersCuts->GetAcceptKinkDaughters()) {
    AliAODVertex *maybeKinkPos = (AliAODVertex*)v0positiveTrack->GetProdVertex();
    AliAODVertex *maybeKinkNeg = (AliAODVertex*)v0negativeTrack->GetProdVertex();
    if (maybeKinkPos->GetType()==AliAODVertex::kKink ||
	maybeKinkNeg->GetType()==AliAODVertex::kKink) return kFALSE;
  }
  // Findable clusters > 0 condition - from V0 analysis
  //if( v0positiveTrack->GetTPCNclsF()<=0 || v0negativeTrack->GetTPCNclsF()<=0 ) return kFALSE;
  /*
    Float_t lPosTrackCrossedRows = v0positiveTrack->GetTPCClusterInfo(2,1);
    Float_t lNegTrackCrossedRows = v0positiveTrack->GetTPCClusterInfo(2,1);
    fTreeVariableLeastNbrCrossedRows = (Int_t) lPosTrackCrossedRows;
    if( lNegTrackCrossedRows < fTreeVariableLeastNbrCrossedRows )
    fTreeVariableLeastNbrCrossedRows = (Int_t) lNegTrackCrossedRows;
    //Compute ratio Crossed Rows / Findable clusters
    //Note: above test avoids division by zero!
    Float_t lPosTrackCrossedRowsOverFindable = lPosTrackCrossedRows / ((double)(pTrack->GetTPCNclsF()));
    Float_t lNegTrackCrossedRowsOverFindable = lNegTrackCrossedRows / ((double)(nTrack->GetTPCNclsF()));
    fTreeVariableLeastRatioCrossedRowsOverFindable = lPosTrackCrossedRowsOverFindable;
    if( lNegTrackCrossedRowsOverFindable < fTreeVariableLeastRatioCrossedRowsOverFindable )
    fTreeVariableLeastRatioCrossedRowsOverFindable = lNegTrackCrossedRowsOverFindable;
    //Lowest Cut Level for Ratio Crossed Rows / Findable = 0.8, set here
    if ( fTreeVariableLeastRatioCrossedRowsOverFindable < 0.8 ) return kFALSE;
  */

  return kTRUE;

}

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