ROOT logo
AliRoot » PWGHF » VERTEXINGHF » AliRDHFCuts

class AliRDHFCuts: public AliAnalysisCuts


 Base class for cuts on AOD reconstructed heavy-flavour decay

 Author: A.Dainese, andrea.dainese@pd.infn.it

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~AliRDHFCuts()
voidTObject::AbstractMethod(const char* method) const
voidAddTrackCuts(const AliESDtrackCuts* cuts)
virtual voidTObject::AppendPad(Option_t* option = "")
voidApplySPDDeadPbPb2011()
voidApplySPDMisalignedCutPP2012()
Bool_tAreDaughtersSelected(AliAODRecoDecayHF* rd) const
virtual voidTObject::Browse(TBrowser* b)
Bool_tCheckPtDepCrossedRows(TString rows, Bool_t print = kFALSE) const
static TClass*Class()
virtual const char*TObject::ClassName() const
voidCleanOwnPrimaryVtx(AliAODRecoDecayHF* d, AliAODEvent* aod, AliAODVertex* origownvtx) const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
Bool_tCompareCuts(const AliRDHFCuts* obj) const
voidConfigurePileupCuts(Int_t minContrib = 3, Float_t minDz = 0.6)
virtual voidTNamed::Copy(TObject& named) const
Bool_tCountEventForNormalization() const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
voidEnableCentralTrigger()
voidEnableEMCALTrigger()
voidEnableMBTrigger()
voidEnableSemiCentralTrigger()
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Float_tGetCentrality(AliAODEvent* aodEvent)
Float_tGetCentrality(AliAODEvent* aodEvent, AliRDHFCuts::ECentrality estimator)
const Float_t*GetCuts() const
voidGetCuts(Float_t**& cutsRD) const
Float_tGetCutValue(Int_t iVar, Int_t iPtBin) const
virtual voidGetCutVarsForOpt(AliAODRecoDecayHF* d, Float_t* vars, Int_t nvars, Int_t* pdgdaughters)
virtual voidGetCutVarsForOpt(AliAODRecoDecayHF* d, Float_t* vars, Int_t nvars, Int_t* pdgdaughters, AliAODEvent*)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
UInt_tGetEventRejectionBitMap() const
virtual UInt_tAliAnalysisCuts::GetFilterMask() const
Int_tGetGlobalIndex(Int_t iVar, Int_t iPtBin) const
TH1F*GetHistoForCentralityFlattening()
virtual const char*TObject::GetIconName() const
Bool_tGetIsPrimaryWithoutDaughters() const
Int_tGetIsSelectedCuts() const
Int_tGetIsSelectedPID() const
Bool_t*GetIsUpperCut() const
Bool_tGetIsUsePID() const
Float_tGetMaxCentrality() const
Double_tGetMaxPtCandidate() const
Double_tGetMaxVtxZ() const
Float_tGetMinCentrality() const
const char*GetMinCrossedRowsTPCPtDep() const
Double_tGetMinPtCandidate() const
Float_tGetMinRatioClsOverCrossRowsTPC() const
Float_tGetMinRatioSignalNOverCrossRowsTPC() const
virtual const char*TNamed::GetName() const
Int_tGetNPtBins() const
Int_tGetNVars() const
Int_tGetNVarsForOpt() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Bool_tGetOptPileUp() const
virtual TList*AliAnalysisCuts::GetOutput()
AliAODPidHF*GetPidHF() const
Float_t*GetPtBinLimits() const
virtual UInt_tAliVCuts::GetSelectionMask(const TObject*)
virtual TObject*AliAnalysisCuts::GetStatistics(Option_t*) const
virtual const char*TNamed::GetTitle() const
AliESDtrackCuts*GetTrackCuts() const
virtual AliESDtrackCuts*GetTrackCutsSoftPi() const
virtual AliESDtrackCuts*GetTrackCutsV0daughters() const
ULong64_tGetTriggerMask()
virtual UInt_tTObject::GetUniqueID() const
Bool_tGetUseAOD049() const
Int_tGetUseCentrality() const
Bool_tGetUseEventsWithOnlySPDVertex() const
Bool_tGetUseKinkRejection() const
Bool_tGetUseMCVertex() const
Bool_tGetUseOnlyOneTrigger()
Bool_tGetUsePhysicsSelection() const
Bool_tGetUseTrackSelectionWithFilterBits() const
TString*GetVarNames() const
voidGetVarPtIndex(Int_t iGlob, Int_t& iVar, Int_t& iPtBin) const
Bool_t*GetVarsForOpt() const
Int_tGetWhyRejection() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidAliAnalysisCuts::Init()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tIsDaughterSelected(AliAODTrack* track, const AliESDVertex* primary, AliESDtrackCuts* cuts) const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tIsEventRejectedDuePhysicsSelection() const
Bool_tIsEventRejectedDueToCentrality() const
Bool_tIsEventRejectedDueToCentralityFlattening() const
Bool_tIsEventRejectedDueToNotRecoVertex() const
Bool_tIsEventRejectedDueToPileup() const
Bool_tIsEventRejectedDueToTrigger() const
Bool_tIsEventRejectedDueToTRKV0CentralityCorrel() const
Bool_tIsEventRejectedDueToVertexContributors() const
Bool_tIsEventRejectedDueToZVertexOutsideFiducialRegion() const
Bool_tIsEventSelected(AliVEvent* event)
Bool_tIsEventSelectedForCentrFlattening(Float_t centvalue)
Int_tIsEventSelectedInCentrality(AliVEvent* event)
virtual Bool_tTObject::IsFolder() const
virtual Bool_tIsInFiducialAcceptance(Double_t, Double_t) const
Double_tIsMaxCandTrackSPDFirst() const
Bool_tTObject::IsOnHeap() const
Bool_tIsSelectCandTrackSPDFirst() const
virtual Bool_tIsSelected(TObject* obj)
virtual Bool_tIsSelected(TList* list)
virtual Int_tIsSelected(TObject* obj, Int_t selectionLevel)
virtual Int_tIsSelected(TObject* obj, Int_t selectionLevel, AliAODEvent*)
virtual Int_tIsSelectedPID(AliAODRecoDecayHF*)
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidMakeTable() const
voidTObject::MayNotUse(const char* method) const
virtual Long64_tAliAnalysisCuts::Merge(TCollection*)
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliRDHFCuts&operator=(const AliRDHFCuts& source)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidPrintAll() const
voidPrintTrigger() const
Int_tPtBin(Double_t pt) const
virtual Int_tTObject::Read(const char* name)
Bool_tRecalcOwnPrimaryVtx(AliAODRecoDecayHF* d, AliAODEvent* aod) const
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
voidResetMaskAndEnableCentralTrigger()
voidResetMaskAndEnableEMCALTrigger()
voidResetMaskAndEnableMBTrigger()
voidResetMaskAndEnableSemiCentralTrigger()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
virtual UInt_tAliAnalysisCuts::Selected() const
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCutOnzVertexSPD(Int_t opt)
voidSetCuts(Int_t glIndex, Float_t* cutsRDGlob)
voidSetCuts(Int_t nVars, Int_t nPtBins, Float_t** cutsRD)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidAliAnalysisCuts::SetFilterMask(UInt_t mask)
voidSetFixRefs(Bool_t fix = kTRUE)
voidSetGlobalIndex()
voidSetGlobalIndex(Int_t nVars, Int_t nptBins)
voidSetHistoForCentralityFlattening(TH1F* h, Double_t minCentr, Double_t maxCentr, Double_t centrRef = 0., Int_t switchTRand = 0)
voidSetKeepSignalMC()
voidSetKinkRejection(Bool_t flag = kTRUE)
voidSetMaxCentrality(Float_t maxCentrality = 100.)
voidSetMaxDifferenceTRKV0Centraltity(Double_t maxd = 5.)
voidSetMaxPtCandidate(Double_t ptCand = 1000.)
voidSetMaxRapidityCandidate(Double_t ycand)
voidSetMaxVtxRdChi2(Float_t chi2 = 1e6)
voidSetMaxVtxZ(Float_t z = 1e6)
Bool_tSetMCPrimaryVtx(AliAODRecoDecayHF* d, AliAODEvent* aod) const
voidSetMinCentrality(Float_t minCentrality = 0.)
voidSetMinCrossedRowsTPCPtDep(const char* rows = "")
voidSetMinPtCandidate(Double_t ptCand = -1.)
voidSetMinRatioClsOverCrossRowsTPC(Float_t ratio = 0.)
voidSetMinRatioSignalNOverCrossRowsTPC(Float_t ratio = 0.)
voidSetMinSPDMultiplicity(Int_t mult = 0)
voidSetMinVtxContr(Int_t contr = 1)
voidSetMinVtxType(Int_t type = 3)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNotUseCutOnTRKVsV0Centraltity()
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOptPileup(Int_t opt = 0)
voidSetPidHF(AliAODPidHF* pidObj)
voidSetPtBins(Int_t nPtBinLimits, Float_t* ptBinLimits)
voidSetRemoveDaughtersFromPrim(Bool_t removeDaughtersPrim)
voidSetRemoveTrackletOutliers(Bool_t opt)
voidSetSelectCandTrackSPDFirst(Bool_t flag, Double_t ptmax)
virtual voidAliAnalysisCuts::SetSelected(Bool_t dec)
virtual voidSetStandardCutsPbPb2010()
virtual voidSetStandardCutsPbPb2011()
virtual voidSetStandardCutsPP2010()
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetTriggerClass(TString trclass0, TString trclass1 = "")
voidSetTriggerMask(ULong64_t mask = 0)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetupPID(AliVEvent* event)
voidSetUseAnyTrigger()
voidSetUseAOD049(Bool_t flag = kTRUE)
voidSetUseCentrality(Int_t flag = 1)
voidSetUseCentralityFlatteningInMC(Bool_t opt)
voidSetUseCentralTriggerExclusively()
voidSetUseEMCAL7TriggerPP2012()
voidSetUseEMCAL8TriggerPP2012()
voidSetUseEMCALGA7TriggerPP2012()
voidSetUseEMCALGA8TriggerPP2012()
voidSetUseEMCALJET7TriggerPP2012()
voidSetUseEMCALJET8TriggerPP2012()
voidSetUseEMCALTriggerExclusively()
voidSetUseEventsWithOnlySPDVertex(Bool_t flag = kTRUE)
voidSetUseHighMult7TriggerPP2012()
voidSetUseHighMult8TriggerPP2012()
voidSetUseInt1TriggerPP2012()
voidSetUseInt7TriggerPP2012()
voidSetUseInt8TriggerPP2012()
voidSetUseMBTriggerExclusively()
voidSetUseMCVertex()
voidSetUseOnlyOneTrigger(Bool_t onlyOne)
voidSetUsePhysicsSelection(Bool_t use = kTRUE)
voidSetUsePID(Bool_t flag = kTRUE)
voidSetUseSemiCentralTriggerExclusively()
voidSetUseSPI7TriggerPP2012()
voidSetUseSPI8TriggerPP2012()
voidSetUseTrackSelectionWithFilterBits(Bool_t flag = kTRUE)
voidSetVarNames(Int_t nVars, TString* varNames, Bool_t* isUpperCut)
voidSetVarsForOpt(Int_t nVars, Bool_t* forOpt)
voidSetWhyRejection(Int_t why)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_tIsSignalMC(AliAODRecoDecay* d, AliAODEvent* aod, Int_t pdg) const
voidTObject::MakeZombie()
Bool_tRecomputePrimaryVertex(AliAODEvent* event) const
voidSetNPtBins(Int_t nptBins)
voidSetNVars(Int_t nVars)

Data Members

public:
enum ECentrality { kCentOff
kCentV0M
kCentTRK
kCentTKL
kCentCL1
kCentZNA
kCentZPA
kCentV0A
kCentInvalid
};
enum ESelLevel { kAll
kTracks
kPID
kCandidate
};
enum EPileup { kNoPileupSelection
kRejectPileupEvent
kRejectTracksFromPileupVertex
kRejectMVPileupEvent
};
enum ESele { kD0toKpiCuts
kD0toKpiPID
kD0fromDstarCuts
kD0fromDstarPID
kDplusCuts
kDplusPID
kDsCuts
kDsPID
kLcCuts
kLcPID
kDstarCuts
kDstarPID
};
enum ERejBits { kNotSelTrigger
kNoVertex
kTooFewVtxContrib
kZVtxOutFid
kPileup
kOutsideCentrality
kPhysicsSelection
kBadSPDVertex
kZVtxSPDOutFid
kCentralityFlattening
kBadTrackV0Correl
};
enum EV0sel { kAllV0s
kOnlyOfflineV0s
kOnlyOnTheFlyV0s
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TFormula*f1CutMinNCrossedRowsTPCPtDeppT-dep cut in TPC minimum n crossed rows
Bool_tfApplySPDDeadPbPb2011flag to apply SPD dead module map of PbPb2011
Bool_tfApplySPDMisalignedPP2012flag to apply cut on tracks crossing SPD misaligned modules for PP2012 data
TStringfCutMinCrossedRowsTPCPtDeppT-dep cut in TPC minimum n crossed rows
Int_tfCutOnzVertexSPDcut on zSPD vertex to remove outliers in centrality vs. tracklets (0=no cut, 1= cut at 12 cm, 2= cut on difference to z of vtx tracks
Float_tfCutRatioClsOverCrossRowsTPCmin. value ratio NTPCClusters/NTPCCrossedRows, cut if !=0
Float_tfCutRatioSignalNOverCrossRowsTPCmin. value ratio TPCPointsUsedForPID/NTPCCrossedRows, cut if !=0
Float_t*fCutsRD[fGlobalIndex] the cuts values
UInt_tfEvRejectionBitsbit map storing the full info about event rejection
Bool_tfFixRefsfix the daughter track references
Int_tfGlobalIndexfnVars*fnPtBins
TH1F*fHistCentrDistrhistogram with reference centrality distribution for centrality distribution flattening
Bool_tfIsCandTrackSPDFirstflag to select the track kFirst criteria for pt < ptlimit
Int_tfIsSelectedCutsoutcome of cuts selection
Int_tfIsSelectedPIDoutcome of PID selection
Bool_t*fIsUpperCut[fnVars] use > or < to select
Bool_tfKeepSignalMCIsSelected returns always kTRUE for MC signal
Bool_tfKinkRejectflag to reject kink daughters
Float_tfMaxCentralitymaximum centrality for selected events
Double_tfMaxDiffTRKV0CentrMax. difference between TRK and V0 centrality (remove TPC pileup for PbPb 2011)
Double_tfMaxPtCandminimum pt of the candidate
Double_tfMaxPtCandTrackSPDFirstmaximum pt of the candidate for which to check if the daughters fulfill kFirst criteria
Double_tfMaxRapidityCandmax rapidity of candidate (if !=-999 overrides IsInFiducialAcceptance)
Float_tfMaxVtxRedChi2maximum chi2/ndf
Float_tfMaxVtxZmaximum |z| of primary vertex
Float_tfMinCentralityminimum centrality for selected events
Int_tfMinContrPileupmin. n. of tracklets in pileup vertex
Float_tfMinDzPileupmin deltaz between main and pileup vertices
Double_tfMinPtCandminimum pt of the candidate
Int_tfMinSPDMultiplicitySPD multiplicity
Int_tfMinVtxContrminimum vertex contributors
Int_tfMinVtxType0: not cut; 1: SPDZ; 2: SPD3D; 3: Tracks
TStringTNamed::fNameobject identifier
Int_tfOptPileupoption for pielup selection
AliAODPidHF*fPidHFPID for heavy flavours manager
Float_t*fPtBinLimits[fnPtBinLimits] pt bins
Bool_tfRemoveDaughtersFromPrimaryflag to switch on the removal of duaghters from the primary vertex computation
Bool_tfRemoveTrackletOutliersflag to apply cut on tracklets vs. centrality for 2011 data
TStringTNamed::fTitleobject title
AliESDtrackCuts*fTrackCutstracks for daughter tracks (AOD converted to ESD on the flight!)
TStringfTriggerClass[2]trigger class
ULong64_tfTriggerMasktrigger mask
Bool_tfUseAOD049enable AOD049 centrality cleanup
Bool_tfUseCentrFlatteningInMCflag for enabling/diabling centrality flattening in MC
Int_tfUseCentralityoff =0 (default)
Bool_tfUseMCVertexuse MC primary vertex
Bool_tfUseOnlyOneTriggerflag to select one trigger only
Bool_tfUsePIDenable PID usage (off by default)
Bool_tfUsePhysicsSelectionuse Physics selection criteria
Bool_tfUseTrackSelectionWithFilterBitsflag to enable/disable the check on filter bits
TString*fVarNames[fnVars] names of the variables
Bool_t*fVarsForOpt[fnVars] kTRUE for vars to be used in optimization
Int_tfWhyRejectionused to code the step at which candidate was rejected
Int_tfnPtBinLimits"number of limits", that is fnPtBins+1
Int_tfnPtBinsnumber of pt bins for cuts
Int_tfnVarsnumber of cut vars for candidates
Int_tfnVarsForOptnumber of cut vars to be optimized for candidates

Class Charts

Inheritance Chart:
TNamed
AliVCuts
AliAnalysisCuts
AliRDHFCuts
AliRDHFCutsD0toKpi
AliRDHFCutsD0toKpipipi
AliRDHFCutsDStartoKpipi
AliRDHFCutsDplustoKpipi
AliRDHFCutsDstoKKpi
AliRDHFCutsJpsitoee
AliRDHFCutsLctoV0
AliRDHFCutsLctopKpi

Function documentation

AliRDHFCuts & operator=(const AliRDHFCuts& source)
 assignment operator

~AliRDHFCuts()
 Default Destructor

Int_t IsEventSelectedInCentrality(AliVEvent* event)
 Centrality selection

void SetHistoForCentralityFlattening(TH1F* h, Double_t minCentr, Double_t maxCentr, Double_t centrRef = 0., Int_t switchTRand = 0)
 set the histo for centrality flattening
 the centrality is flatten in the range minCentr,maxCentr
 if centrRef is zero, the minimum in h within (minCentr,maxCentr) defines the reference
                positive, the value of h(centrRef) defines the reference (-> the centrality distribution might be not flat in the whole desired range)
                negative, h(bin with max in range)*centrRef is used to define the reference (-> defines the maximum loss of events, also in this case the distribution might be not flat)
 switchTRand is used to set the unerflow bin of the histo: if it is < -1 in the analysis the random event selection will be done on using TRandom
Bool_t IsEventSelectedForCentrFlattening(Float_t centvalue)
  Random event selection, based on fHistCentrDistr, to flatten the centrality distribution
  Can be faster if it was required that fHistCentrDistr covers
  exactly the desired centrality range (e.g. part of the lines below should be done during the
 setting of the histo) and TH1::SetMinimum called

void SetupPID(AliVEvent* event)
 Set the PID response object in the AliAODPidHF
 in case of old PID sets the TPC dE/dx BB parameterization
Bool_t IsEventSelected(AliVEvent* event)
 Event selection

if(fTriggerMask && event->GetTriggerMask()!=fTriggerMask) return kFALSE;
Bool_t AreDaughtersSelected(AliAODRecoDecayHF* rd) const
 Daughter tracks selection

Bool_t CheckPtDepCrossedRows(TString rows, Bool_t print = kFALSE) const
 Check the correctness of the string syntax

void SetMinCrossedRowsTPCPtDep(const char* rows = "")
Create the TFormula from TString for TPC crossed rows pT dependent cut

Bool_t IsDaughterSelected(AliAODTrack* track, const AliESDVertex* primary, AliESDtrackCuts* cuts) const
 Convert to ESDtrack, relate to vertex and check cuts

void SetPtBins(Int_t nPtBinLimits, Float_t* ptBinLimits)
 Set the pt bins
void SetVarNames(Int_t nVars, TString* varNames, Bool_t* isUpperCut)
 Set the variable names
void SetVarsForOpt(Int_t nVars, Bool_t* forOpt)
 Set the variables to be used for cuts optimization
void SetUseCentrality(Int_t flag = 1)
 set centrality estimator

void SetCuts(Int_t nVars, Int_t nPtBins, Float_t** cutsRD)
 store the cuts

void SetCuts(Int_t glIndex, Float_t* cutsRDGlob)
 store the cuts

void PrintAll() const
 print all cuts values

void PrintTrigger() const
 print the trigger selection
void GetCuts(Float_t**& cutsRD) const
 get the cuts

Int_t GetGlobalIndex(Int_t iVar, Int_t iPtBin) const
 give the global index from variable and pt bin

void GetVarPtIndex(Int_t iGlob, Int_t& iVar, Int_t& iPtBin) const
give the index of the variable and of the pt bin from the global index

Int_t PtBin(Double_t pt) const
give the pt bin where the pt lies.

Float_t GetCutValue(Int_t iVar, Int_t iPtBin) const
 Give the value of cut set for the variable iVar and the pt bin iPtBin

Float_t GetCentrality(AliAODEvent* aodEvent, AliRDHFCuts::ECentrality estimator)
 Get centrality percentile

Bool_t CompareCuts(const AliRDHFCuts* obj) const
 Compare two cuts objects

void MakeTable() const
 print cuts values in table format

Bool_t RecalcOwnPrimaryVtx(AliAODRecoDecayHF* d, AliAODEvent* aod) const
 Recalculate primary vertex without daughters

Bool_t SetMCPrimaryVtx(AliAODRecoDecayHF* d, AliAODEvent* aod) const
 Recalculate primary vertex without daughters

void CleanOwnPrimaryVtx(AliAODRecoDecayHF* d, AliAODEvent* aod, AliAODVertex* origownvtx) const
 Clean-up own primary vertex if needed

Bool_t IsSignalMC(AliAODRecoDecay* d, AliAODEvent* aod, Int_t pdg) const
 Checks if this candidate is matched to MC signal

Bool_t RecomputePrimaryVertex(AliAODEvent* event) const
 recompute event primary vertex from AOD tracks
void SetStandardCutsPP2010()
{return;}
void SetStandardCutsPbPb2010()
{return;}
void SetStandardCutsPbPb2011()
{return;}
void SetMinCentrality(Float_t minCentrality = 0.)
{fMinCentrality=minCentrality;}
void SetMaxCentrality(Float_t maxCentrality = 100.)
{fMaxCentrality=maxCentrality;}
void SetMinVtxType(Int_t type = 3)
{fMinVtxType=type;}
void SetUseEventsWithOnlySPDVertex(Bool_t flag = kTRUE)
void SetMinVtxContr(Int_t contr = 1)
{fMinVtxContr=contr;}
void SetMaxVtxRdChi2(Float_t chi2 = 1e6)
void SetMaxVtxZ(Float_t z = 1e6)
void SetMinSPDMultiplicity(Int_t mult = 0)
void SetTriggerMask(ULong64_t mask = 0)
{fTriggerMask=mask;}
void SetUseOnlyOneTrigger(Bool_t onlyOne)
ULong64_t GetTriggerMask()
{return fTriggerMask;}
Bool_t GetUseOnlyOneTrigger()
void SetUseAnyTrigger()
void EnableMBTrigger()
void ResetMaskAndEnableMBTrigger()
void SetUseMBTriggerExclusively()
void EnableCentralTrigger()
void ResetMaskAndEnableCentralTrigger()
void SetUseCentralTriggerExclusively()
void EnableSemiCentralTrigger()
void ResetMaskAndEnableSemiCentralTrigger()
void SetUseSemiCentralTriggerExclusively()
void EnableEMCALTrigger()
void ResetMaskAndEnableEMCALTrigger()
void SetUseEMCALTriggerExclusively()
void SetUseInt1TriggerPP2012()
  Setters (helpers) for pp 2012 data
void SetUseInt7TriggerPP2012()
void SetUseInt8TriggerPP2012()
void SetUseEMCAL7TriggerPP2012()
void SetUseEMCAL8TriggerPP2012()
void SetUseEMCALJET7TriggerPP2012()
void SetUseEMCALJET8TriggerPP2012()
void SetUseEMCALGA7TriggerPP2012()
void SetUseEMCALGA8TriggerPP2012()
void SetUseSPI7TriggerPP2012()
void SetUseSPI8TriggerPP2012()
void SetUseHighMult7TriggerPP2012()
void SetUseHighMult8TriggerPP2012()
void SetMaxDifferenceTRKV0Centraltity(Double_t maxd = 5.)
void SetNotUseCutOnTRKVsV0Centraltity()
void SetRemoveTrackletOutliers(Bool_t opt)
void SetCutOnzVertexSPD(Int_t opt)
void SetTriggerClass(TString trclass0, TString trclass1 = "")
{fTriggerClass[0]=trclass0; fTriggerClass[1]=trclass1;}
void ApplySPDDeadPbPb2011()
void ApplySPDMisalignedCutPP2012()
void SetGlobalIndex()
void SetGlobalIndex(Int_t nVars, Int_t nptBins)
{fnVars=nVars; fnPtBins=nptBins; SetGlobalIndex();}
void AddTrackCuts(const AliESDtrackCuts* cuts)
{delete fTrackCuts; fTrackCuts=new AliESDtrackCuts(*cuts); return;}
void SetUsePID(Bool_t flag = kTRUE)
{fUsePID=flag; return;}
void SetUseAOD049(Bool_t flag = kTRUE)
{fUseAOD049=flag; return;}
void SetKinkRejection(Bool_t flag = kTRUE)
{fKinkReject=flag; return;}
void SetUseTrackSelectionWithFilterBits(Bool_t flag = kTRUE)
void SetPidHF(AliAODPidHF* pidObj)
void SetRemoveDaughtersFromPrim(Bool_t removeDaughtersPrim)
{fRemoveDaughtersFromPrimary=removeDaughtersPrim;}
void SetMinPtCandidate(Double_t ptCand = -1.)
{fMinPtCand=ptCand; return;}
void SetMaxPtCandidate(Double_t ptCand = 1000.)
{fMaxPtCand=ptCand; return;}
void SetMaxRapidityCandidate(Double_t ycand)
{fMaxRapidityCand=ycand; return;}
void SetOptPileup(Int_t opt = 0)
 see enum below
void ConfigurePileupCuts(Int_t minContrib = 3, Float_t minDz = 0.6)
void SetMinRatioClsOverCrossRowsTPC(Float_t ratio = 0.)
void SetMinRatioSignalNOverCrossRowsTPC(Float_t ratio = 0.)
AliAODPidHF* GetPidHF() const
{return fPidHF;}
Float_t * GetPtBinLimits() const
{return fPtBinLimits;}
Int_t GetNPtBins() const
{return fnPtBins;}
Int_t GetNVars() const
{return fnVars;}
TString * GetVarNames() const
{return fVarNames;}
Bool_t * GetVarsForOpt() const
{return fVarsForOpt;}
Int_t GetNVarsForOpt() const
{return fnVarsForOpt;}
const Float_t * GetCuts() const
{return fCutsRD;}
Double_t GetMaxVtxZ() const
{return fMaxVtxZ;}
Float_t GetCentrality(AliAODEvent* aodEvent)
{return GetCentrality(aodEvent,(AliRDHFCuts::ECentrality)fUseCentrality);}
Bool_t * GetIsUpperCut() const
{return fIsUpperCut;}
AliESDtrackCuts * GetTrackCuts() const
{return fTrackCuts;}
AliESDtrackCuts * GetTrackCutsSoftPi() const
{return 0;}
AliESDtrackCuts * GetTrackCutsV0daughters() const
{return 0;}
void GetCutVarsForOpt(AliAODRecoDecayHF* d, Float_t* vars, Int_t nvars, Int_t* pdgdaughters)
void GetCutVarsForOpt(AliAODRecoDecayHF* d, Float_t* vars, Int_t nvars, Int_t* pdgdaughters, AliAODEvent* )
{return GetCutVarsForOpt(d,vars,nvars,pdgdaughters);}
Bool_t GetIsUsePID() const
{return fUsePID;}
Bool_t GetUseAOD049() const
{return fUseAOD049;}
Bool_t GetUseKinkRejection() const
{return fKinkReject;}
Bool_t GetUseEventsWithOnlySPDVertex() const
Bool_t GetUseTrackSelectionWithFilterBits() const
Bool_t GetIsPrimaryWithoutDaughters() const
Bool_t GetOptPileUp() const
{return fOptPileup;}
Int_t GetUseCentrality() const
{return fUseCentrality;}
Float_t GetMinCentrality() const
{return fMinCentrality;}
Float_t GetMaxCentrality() const
{return fMaxCentrality;}
Double_t GetMinPtCandidate() const
{return fMinPtCand;}
Double_t GetMaxPtCandidate() const
{return fMaxPtCand;}
TH1F * GetHistoForCentralityFlattening()
{return fHistCentrDistr;}
void SetUseCentralityFlatteningInMC(Bool_t opt)
const char* GetMinCrossedRowsTPCPtDep() const
Float_t GetMinRatioClsOverCrossRowsTPC() const
Float_t GetMinRatioSignalNOverCrossRowsTPC() const
Bool_t IsSelected(TObject* obj)
{return IsSelected(obj,AliRDHFCuts::kAll);}
Bool_t IsSelected(TList* list)
{if(!list) return kTRUE; return kFALSE;}
Int_t IsSelectedPID(AliAODRecoDecayHF* )
{return 1;}
Int_t IsSelected(TObject* obj, Int_t selectionLevel)
Int_t IsSelected(TObject* obj, Int_t selectionLevel, AliAODEvent* )
{return IsSelected(obj,selectionLevel);}
Bool_t IsInFiducialAcceptance(Double_t , Double_t ) const
{return kTRUE;}
void SetWhyRejection(Int_t why)
{fWhyRejection=why; return;}
Int_t GetWhyRejection() const
{return fWhyRejection;}
UInt_t GetEventRejectionBitMap() const
Bool_t IsEventRejectedDueToTrigger() const
Bool_t IsEventRejectedDueToNotRecoVertex() const
Bool_t IsEventRejectedDueToVertexContributors() const
Bool_t IsEventRejectedDueToZVertexOutsideFiducialRegion() const
Bool_t IsEventRejectedDueToPileup() const
Bool_t IsEventRejectedDueToCentrality() const
Bool_t IsEventRejectedDueToCentralityFlattening() const
Bool_t IsEventRejectedDueToTRKV0CentralityCorrel() const
Bool_t IsEventRejectedDuePhysicsSelection() const
void SetFixRefs(Bool_t fix = kTRUE)
{fFixRefs=fix; return;}
void SetUsePhysicsSelection(Bool_t use = kTRUE)
{fUsePhysicsSelection=use; return;}
Bool_t GetUsePhysicsSelection() const
Int_t GetIsSelectedCuts() const
{return fIsSelectedCuts;}
Int_t GetIsSelectedPID() const
{return fIsSelectedPID;}
void SetUseMCVertex()
Bool_t GetUseMCVertex() const
{ return fUseMCVertex; }
Bool_t CountEventForNormalization() const
void SetKeepSignalMC()
{fKeepSignalMC=kTRUE; return;}
void SetSelectCandTrackSPDFirst(Bool_t flag, Double_t ptmax)
 Flag and pt-maximum to check if the candidate daughters fulfill the kFirst criteria
Bool_t IsSelectCandTrackSPDFirst() const
Double_t IsMaxCandTrackSPDFirst() const
void SetNPtBins(Int_t nptBins)
{fnPtBins=nptBins;}
void SetNVars(Int_t nVars)
{fnVars=nVars;}