AliPhysics  5364b50 (5364b50)
AliRDHFCutsD0toKpi.h
Go to the documentation of this file.
1 #ifndef ALIRDHFCUTSD0TOKPI_H
2 #define ALIRDHFCUTSD0TOKPI_H
3 /* Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 /* $Id$ */
7 
8 //***********************************************************
12 //***********************************************************
13 
14 #include "AliRDHFCuts.h"
15 
16 class AliAODEvent;
17 class AliAODRecoDecayHF;
19 
21 {
22  public:
23 
24 
25  AliRDHFCutsD0toKpi(const char* name="CutsD0toKpi");
26 
27  virtual ~AliRDHFCutsD0toKpi();
28 
31 
33  virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters){
34  return GetCutVarsForOpt(d,vars,nvars,pdgdaughters,0x0);
35  }
36  virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters,AliAODEvent *aod);
37 
39  virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel)
40  {return IsSelected(obj,selectionLevel,0);}
41  virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel,AliAODEvent* aod);
42 
45 
46  Float_t GetMassCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(0,iPtBin)] : 1.e6);}
47  Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(1,iPtBin)] : 1.e6);}
48  Int_t CombineSelectionLevels(Int_t selectionvalTrack,Int_t selectionvalCand,Int_t selectionvalPID)const;
49  virtual Bool_t IsInFiducialAcceptance(Double_t pt,Double_t y) const;
50  virtual void SetStandardCutsPP2010();
51  virtual void SetStandardCutsPP2010vsMult();
52  virtual void SetStandardCutsPP2011_276TeV();
53  virtual void SetStandardCutsPbPb2010();
54  virtual void SetStandardCutsPbPb2011();
59  void SetUseSpecialCuts(Bool_t useSpecialCuts) {fUseSpecialCuts=useSpecialCuts;}
62  void SetImpParDCut(UInt_t nPtBins, Float_t *cutval);
63  void SetFlatImpParDCut(Float_t value);
68  void SetLowPt(Bool_t lowpt,Double_t ptlow=2.) {fLowPt=lowpt;fPtLowPID=ptlow;}
70  void SetUseDefaultPID(Bool_t defPID){fDefaultPID=defPID;}
73  void SetUseKF(Bool_t useKF);
74  Bool_t GetIsUsedKF() const {return fUseKF;}
75  void SetWeightsPositive(Double_t* weights){
76  for (Int_t i = 0; i<AliPID::kSPECIES; i++) {
77  fWeightsPositive[i] = weights[i];
78  }
79 }
81  void SetWeightsNegative(Double_t* weights){
82  for (Int_t i = 0; i<AliPID::kSPECIES; i++) {
83  fWeightsNegative[i] = weights[i];
84  }
85  }
89 
95  };
96 
97 
102  };
103 
106  void SetCombPID(Bool_t CombPID){fCombPID=CombPID;}
107  Bool_t GetCombPID() const {return fCombPID;}
110 
111  virtual void PrintAll()const;
112 
113  protected:
114 
116 
120 
123 //new cuts
125  Float_t *fMaxImpParD; //[fnPtBins] cut values on D0 ImpParXY
127  Float_t *fMaxd0MeasMinusExp;//[fnPtBins] cut values on d0meas-d0exp;
129 
132 
135  Double_t* fWeightsPositive; //[fnSpecies] Bayesian weights for positive track
136  Double_t* fWeightsNegative; //[fnSpecies] Bayesian weights for negative track
137 
138  Double_t fProbThreshold; //Probability threshold for kaon to be accepted in Bayesian method (only applied if fBayesianCondition==kThreshold)
139 
142 
144  ClassDef(AliRDHFCutsD0toKpi,12);
145 };
147 
148 #endif
149 
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)=0
void SetCombPID(Bool_t CombPID)
Int_t fnSpecies
switch for Bayesian
void SetUseDefaultPID(Bool_t defPID)
UInt_t fUseImpParDCut
transverse momentum below which the strong PID is applied
double Double_t
Definition: External.C:58
Bool_t fUseKF
flag to switch on/off the default pid
void SetMaximumPforPID(Double_t p)
Bool_t GetCombPID() const
Bool_t fCombPID
max momentum for applying PID
Double_t GetPtForPIDtight() const
virtual void PrintAll() const
virtual Int_t IsSelectedCombPID(AliAODRecoDecayHF *d)
Double_t fmaxPtrackForPID
transverse momentum below which the special cuts are applied
const Float_t * GetCuts() const
Definition: AliRDHFCuts.h:244
virtual void SetStandardCutsPP2011_276TeV()
virtual void SetStandardCutsPP2010()
void SetWeightsPositive(Double_t *weights)
AliRDHFCutsD0toKpi(const char *name="CutsD0toKpi")
Bool_t fLowPt
flag to switch on/off special cuts
virtual Bool_t IsInFiducialAcceptance(Double_t pt, Double_t y) const
Float_t GetMassCut(Int_t iPtBin=0) const
Double_t GetMaximumPforPID()
Int_t GetBayesianStrategy() const
Bool_t fDefaultPID
flag to switch on/off different pid for low pt D0
void SetBayesProbThreshold(Double_t thresh)
Double_t GetMaximumPtSpecialCuts() const
const Int_t nPtBins
Int_t GetBayesianCondition() const
void Setd0MeasMinusExpCut(UInt_t nPtBins, Float_t *cutval)
int Int_t
Definition: External.C:63
void SetUseKF(Bool_t useKF)
void SetMaximumPtSpecialCuts(Double_t pt)
unsigned int UInt_t
Definition: External.C:33
float Float_t
Definition: External.C:68
Bool_t GetUseSpecialCuts() const
Float_t * fMaxImpParD
switch for cut on D0 ImpParXY; =0 –> not used, >0 value represents array size (it has to coincide wi...
Float_t GetDCACut(Int_t iPtBin=0) const
virtual void CalculateBayesianWeights(AliAODRecoDecayHF *d)
void SetImpParDCut(UInt_t nPtBins, Float_t *cutval)
void SetWeightsNegative(Double_t *weights)
Float_t * fCutsRD
fnVars*fnPtBins
Definition: AliRDHFCuts.h:408
Int_t IsSelectedKF(AliAODRecoDecayHF2Prong *d, AliAODEvent *aod) const
AliRDHFCutsD0toKpi & operator=(const AliRDHFCutsD0toKpi &source)
Int_t IsSelectedSpecialCuts(AliAODRecoDecayHF *d) const
Int_t CombineSelectionLevels(Int_t selectionvalTrack, Int_t selectionvalCand, Int_t selectionvalPID) const
Float_t * fMaxd0MeasMinusExp
switch for cut on d0meas-d0exp; =0 –> not used, >0 value represents array size (it has to coincide w...
void SetBayesianCondition(Int_t cond)
Double_t * GetWeightsPositive() const
Bool_t GetIsUsedKF() const
virtual Int_t IsSelectedPID(AliAODRecoDecayHF *rd)
void SetFlatd0MeasMinusExpCut(Float_t value)
Double_t GetBayesProbThreshold() const
void SetUseSpecialCuts(Bool_t useSpecialCuts)
virtual void SetStandardCutsPP2010vsMult()
void SetLowPt(Bool_t lowpt, Double_t ptlow=2.)
Bool_t IsSelected(TObject *obj)
Definition: AliRDHFCuts.h:281
void SetBayesianStrategy(Int_t strat)
void SetFlatImpParDCut(Float_t value)
Double_t * fWeightsPositive
number of species (used only for array declaration)
virtual Int_t IsSelected(TObject *obj, Int_t selectionLevel)
Int_t fBayesianCondition
Switch for which Bayesian PID strategy to use.
bool Bool_t
Definition: External.C:53
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)
virtual void SetStandardCutsPbPb2010()
Int_t GetGlobalIndex(Int_t iVar, Int_t iPtBin) const
Double_t fPtLowPID
flag to switch on/off D0 selection via KF
Int_t IsSelectedPIDdefault(AliAODRecoDecayHF *rd)
Double_t * GetWeightsNegative() const
virtual void SetStandardCutsPbPb2011()