16 #include "AliAnalysisCuts.h"
17 #include "AliESDtrackCuts.h"
19 #include "AliAODEvent.h"
20 #include "AliVEvent.h"
35 enum ESele {
kD0toKpiCuts,
kD0toKpiPID,
kD0fromDstarCuts,
kD0fromDstarPID,
kDplusCuts,
kDplusPID,
kDsCuts,
kDsPID,
kLcCuts,
kLcPID,
kDstarCuts,
kDstarPID,
kLctoV0Cuts,
kDplustoK0sCuts,
kDstoK0sCuts};
36 enum ERejBits {
kNotSelTrigger,
kNoVertex,
kTooFewVtxContrib,
kZVtxOutFid,
kPileup,
kOutsideCentrality,
kPhysicsSelection,
kBadSPDVertex,
kZVtxSPDOutFid,
kCentralityFlattening,
kBadTrackV0Correl};
190 else AliError(
"Wrong option for cut on zVertexSPD");
348 {
if(
fWhyRejection==0) {
return kTRUE;}
else {
return kFALSE;} }
Float_t GetMaxCentrality() const
Bool_t IsEventRejectedDueToCentrality() const
void SetNPtBins(Int_t nptBins)
Int_t fIsSelectedCuts
fix the daughter track references
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)=0
Bool_t IsEventSelectedForCentrFlattening(Float_t centvalue)
void ResetMaskAndEnableCentralTrigger()
Bool_t IsEventRejectedDueToZVertexOutsideFiducialRegion() const
virtual AliESDtrackCuts * GetTrackCutsV0daughters() const
Float_t fMinDzPileup
min. n. of tracklets in pileup vertex
Double_t fMaxPtCandTrackSPDFirst
flag to select the track kFirst criteria for pt < ptlimit
void SetUseOnlyOneTrigger(Bool_t onlyOne)
Bool_t IsEventRejectedDueToNotRecoVertex() const
Int_t fWhyRejection
PID for heavy flavours manager.
Int_t GetIsSelectedPID() const
Float_t GetMinRatioSignalNOverCrossRowsTPC() const
void SetRemoveTrackletOutliers(Bool_t opt)
ULong64_t GetTriggerMask()
Int_t fCutOnzVertexSPD
flag to apply cut on tracklets vs. centrality for 2011 data
void ResetMaskAndEnableSemiCentralTrigger()
virtual AliESDtrackCuts * GetTrackCutsSoftPi() const
void SetUseAOD049(Bool_t flag=kTRUE)
void SetFixRefs(Bool_t fix=kTRUE)
void SetupPID(AliVEvent *event)
Bool_t IsSignalMC(AliAODRecoDecay *d, AliAODEvent *aod, Int_t pdg) const
void SetMinRatioSignalNOverCrossRowsTPC(Float_t ratio=0.)
Bool_t GetOptPileUp() const
virtual void SetStandardCutsPbPb2010()
Double_t fCutGeoNcrNclFractionNcr
3rd parameter of GeoNcrNcl cut
Bool_t fUseMCVertex
flag to switch on the removal of duaghters from the primary vertex computation
Bool_t fUseOnlyOneTrigger
trigger mask
Int_t GetIsSelectedCuts() const
void SetMaxVtxZ(Float_t z=1e6)
Int_t IsEventSelectedInCentrality(AliVEvent *event)
Bool_t SetMCPrimaryVtx(AliAODRecoDecayHF *d, AliAODEvent *aod) const
Bool_t fRemoveDaughtersFromPrimary
void SetHistoForCentralityFlattening(TH1F *h, Double_t minCentr, Double_t maxCentr, Double_t centrRef=0., Int_t switchTRand=0)
void SetUseMBTriggerExclusively()
void ConfigurePileupCuts(Int_t minContrib=3, Float_t minDz=0.6)
void SetUseCentrality(Int_t flag=1)
const char * GetMinCrossedRowsTPCPtDep() const
Float_t * fPtBinLimits
"number of limits", that is fnPtBins+1
void SetUseEMCALGA8TriggerPP2012()
void SetWhyRejection(Int_t why)
Int_t fMinVtxContr
0: not cut; 1: SPDZ; 2: SPD3D; 3: Tracks
void SetCutOnzVertexSPD(Int_t opt)
void SetGlobalIndex(Int_t nVars, Int_t nptBins)
Float_t fMaxVtxRedChi2
minimum vertex contributors
void SetUseEMCAL7TriggerPP2012()
void SetUseCentralTriggerExclusively()
const Float_t * GetCuts() const
Bool_t IsEventRejectedDueToVertexContributors() const
Bool_t IsSelected(TList *list)
void SetMinCrossedRowsTPCPtDep(const char *rows="")
void SetNVars(Int_t nVars)
void SetUseSPI7TriggerPP2012()
Float_t fCutRatioClsOverCrossRowsTPC
histogram with reference centrality distribution for centrality distribution flattening ...
Bool_t GetUseOnlyOneTrigger()
Int_t GetWhyRejection() const
Double_t fDeadZoneWidth
flag for enabling/disabling geometrical cut on TPC track
Int_t fMinVtxType
cuts on the event
Double_t fMaxRapidityCand
minimum pt of the candidate
void EnableSemiCentralTrigger()
Bool_t IsEventRejectedDueToTRKV0CentralityCorrel() const
Double_t fCutGeoNcrNclFractionNcl
4th parameter of GeoNcrNcl cut
TString * GetVarNames() const
AliRDHFCuts & operator=(const AliRDHFCuts &source)
Float_t GetCutValue(Int_t iVar, Int_t iPtBin) const
Int_t fUseCentrality
min deltaz between main and pileup vertices
Float_t GetMinCentrality() const
void SetMaxDifferenceTRKV0Centraltity(Double_t maxd=5.)
Double_t GetMaxVtxZ() const
void SetSelectCandTrackSPDFirst(Bool_t flag, Double_t ptmax)
Flag and pt-maximum to check if the candidate daughters fulfill the kFirst criteria.
void SetUsePhysicsSelection(Bool_t use=kTRUE)
virtual Int_t IsSelectedPID(AliAODRecoDecayHF *)
void SetPidHF(AliAODPidHF *pidObj)
see enum below
void SetUseEMCALJET7TriggerPP2012()
AliAODPidHF * GetPidHF() const
void SetKinkRejection(Bool_t flag=kTRUE)
Bool_t fRemoveTrackletOutliers
Max. difference between TRK and V0 centrality (remove TPC pileup for PbPb 2011)
void SetUseCentralityFlatteningInMC(Bool_t opt)
void SetMaxPtCandidate(Double_t ptCand=1000.)
AliRDHFCuts(const Char_t *name="RDHFCuts", const Char_t *title="")
void SetMinSPDMultiplicity(Int_t mult=0)
ULong64_t fTriggerMask
SPD multiplicity.
void SetMinVtxContr(Int_t contr=1)
Bool_t fUseCutGeoNcrNcl
pT-dep cut in TPC minimum n crossed rows
void SetUseInt8TriggerPP2012()
void SetUseEMCALTriggerExclusively()
Bool_t fUseTrackSelectionWithFilterBits
flag to reject kink daughters
Bool_t * GetIsUpperCut() const
void SetCuts(Int_t nVars, Int_t nPtBins, Float_t **cutsRD)
void ResetMaskAndEnableMBTrigger()
Double_t fCutGeoNcrNclLength
1st parameter of GeoNcrNcl cut
void SetMinCentrality(Float_t minCentrality=0.)
Bool_t CountEventForNormalization() const
TString * fVarNames
number of cut vars for candidates
Double_t fMaxPtCand
minimum pt of the candidate
Bool_t * GetVarsForOpt() const
AliESDtrackCuts * fTrackCuts
quality cuts on the daughter tracks
void SetUseInt7TriggerPP2012()
void ResetMaskAndEnableEMCALTrigger()
void SetUseSPI8TriggerPP2012()
Bool_t fFixRefs
maximum centrality for selected events
Bool_t fKeepSignalMC
max rapidity of candidate (if !=-999 overrides IsInFiducialAcceptance)
void ApplySPDDeadPbPb2011()
Int_t GetNVarsForOpt() const
Int_t fOptPileup
use Physics selection criteria
Double_t GetMaxPtCandidate() const
AliESDtrackCuts * GetTrackCuts() const
void PrintTrigger() const
Float_t fMaxVtxZ
maximum chi2/ndf
void SetUseHighMult8TriggerPP2012()
Float_t GetCentrality(AliAODEvent *aodEvent)
Int_t fIsSelectedPID
outcome of cuts selection
Bool_t IsEventRejectedDueToPileup() const
void SetMinVtxType(Int_t type=3)
virtual Int_t IsSelected(TObject *obj, Int_t selectionLevel, AliAODEvent *)
void SetUseTrackSelectionWithFilterBits(Bool_t flag=kTRUE)
void ConfigureCutGeoNcrNcl(Double_t dz, Double_t len, Double_t onept, Double_t fncr, Double_t fncl)
UInt_t GetEventRejectionBitMap() const
static Bool_t CheckMatchingAODdeltaAODevents()
Bool_t GetUseMCVertex() const
UInt_t fEvRejectionBits
used to code the step at which candidate was rejected
Double_t fMaxDiffTRKV0Centr
flag to apply cut on tracks crossing SPD misaligned modules for PP2012 data
Float_t GetCentralityOldFramework(AliAODEvent *aodEvent, AliRDHFCuts::ECentrality estimator)
Float_t GetMinRatioClsOverCrossRowsTPC() const
Int_t fnPtBinLimits
number of pt bins for cuts
Float_t * fCutsRD
fnVars*fnPtBins
Bool_t CheckPtDepCrossedRows(TString rows, Bool_t print=kFALSE) const
void SetMaxRapidityCandidate(Double_t ycand)
Bool_t IsEventRejectedDuePhysicsSelection() const
void SetMaxCentrality(Float_t maxCentrality=100.)
Bool_t fUseCentrFlatteningInMC
flag to enable/disable the check on filter bits
void SetVarsForOpt(Int_t nVars, Bool_t *forOpt)
virtual void SetStandardCutsPbPb2011()
void SetVarNames(Int_t nVars, TString *varNames, Bool_t *isUpperCut)
Bool_t GetUseTrackSelectionWithFilterBits() const
void GetVarPtIndex(Int_t iGlob, Int_t &iVar, Int_t &iPtBin) const
Bool_t * fVarsForOpt
number of cut vars to be optimized for candidates
Bool_t GetIsPrimaryWithoutDaughters() const
void SetUseInt1TriggerPP2012()
Setters (helpers) for pp 2012 data.
Bool_t CompareCuts(const AliRDHFCuts *obj) const
void SetNotUseCutOnTRKVsV0Centraltity()
Bool_t AreDaughtersSelected(AliAODRecoDecayHF *rd, const AliAODEvent *aod=0x0) const
void EnableCentralTrigger()
Bool_t fApplySPDMisalignedPP2012
flag to apply SPD dead module map of PbPb2011
Bool_t IsEventSelected(AliVEvent *event)
Int_t fMinSPDMultiplicity
maximum |z| of primary vertex
void SetUsePID(Bool_t flag=kTRUE)
void SetUseEMCALGA7TriggerPP2012()
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters, AliAODEvent *)
virtual void PrintAll() const
Bool_t fUseAOD049
enable PID usage (off by default)
Bool_t GetUseKinkRejection() const
Bool_t fApplySPDDeadPbPb2011
maximum pt of the candidate for which to check if the daughters fulfill kFirst criteria ...
void CleanOwnPrimaryVtx(AliAODRecoDecayHF *d, AliAODEvent *aod, AliAODVertex *origownvtx) const
Float_t * GetPtBinLimits() const
void SetRemoveDaughtersFromPrim(Bool_t removeDaughtersPrim)
Bool_t IsSelectCandTrackSPDFirst() const
virtual void SetStandardCutsPP2010()
Bool_t fIsCandTrackSPDFirst
IsSelected returns always kTRUE for MC signal.
TH1F * fHistCentrDistr
flag for enabling/diabling centrality flattening in MC
void SetPtBins(Int_t nPtBinLimits, Float_t *ptBinLimits)
Bool_t GetUseEventsWithOnlySPDVertex() const
Bool_t fKinkReject
cut on zSPD vertex to remove outliers in centrality vs. tracklets (0=no cut, 1= cut at 12 cm...
Bool_t IsSelected(TObject *obj)
Int_t fMinContrPileup
option for pielup selection
Bool_t GetIsUsePID() const
void SetMinRatioClsOverCrossRowsTPC(Float_t ratio=0.)
Bool_t fUsePhysicsSelection
use MC primary vertex
TFormula * f1CutMinNCrossedRowsTPCPtDep
pT-dep cut in TPC minimum n crossed rows
Double_t IsMaxCandTrackSPDFirst() const
Bool_t IsEventRejectedDueToTrigger() const
void AddTrackCuts(const AliESDtrackCuts *cuts)
void SetMinPtCandidate(Double_t ptCand=-1.)
TString fTriggerClass[2]
flag to select one trigger only
Bool_t GetUsePhysicsSelection() const
Int_t fnPtBins
cuts on the candidate
Double_t fCutGeoNcrNclGeom1Pt
2nd parameter of GeoNcrNcl cut
void SetTriggerClass(TString trclass0, TString trclass1="")
Bool_t GetUseAOD049() const
AliAODPidHF * fPidHF
enable AOD049 centrality cleanup
void SetUseEMCAL8TriggerPP2012()
Double_t GetMinPtCandidate() const
Float_t fCutRatioSignalNOverCrossRowsTPC
min. value ratio NTPCClusters/NTPCCrossedRows, cut if !=0
virtual Bool_t IsInFiducialAcceptance(Double_t, Double_t) const
Int_t GetUseCentrality() const
void SetUseEMCALJET8TriggerPP2012()
Bool_t RecalcOwnPrimaryVtx(AliAODRecoDecayHF *d, AliAODEvent *aod) const
Int_t PtBin(Double_t pt) const
void SetOptPileup(Int_t opt=0)
Int_t GetGlobalIndex(Int_t iVar, Int_t iPtBin) const
void SetMaxVtxRdChi2(Float_t chi2=1e6)
TString fCutMinCrossedRowsTPCPtDep
min. value ratio TPCPointsUsedForPID/NTPCCrossedRows, cut if !=0
Bool_t IsEventRejectedDueToCentralityFlattening() const
void SetUseSemiCentralTriggerExclusively()
TH1F * GetHistoForCentralityFlattening()
Double_t fMinPtCand
outcome of PID selection
void SetUseHighMult7TriggerPP2012()
Bool_t IsDaughterSelected(AliAODTrack *track, const AliESDVertex *primary, AliESDtrackCuts *cuts, const AliAODEvent *aod=0x0) const
void ApplySPDMisalignedCutPP2012()
Float_t fMaxCentrality
minimum centrality for selected events
void SetTriggerMask(ULong64_t mask=0)
void SetUseCutGeoNcrNcl(Bool_t opt)
void SetUseEventsWithOnlySPDVertex(Bool_t flag=kTRUE)
void EnableEMCALTrigger()
Bool_t RecomputePrimaryVertex(AliAODEvent *event) const