AliPhysics  e6c8d43 (e6c8d43)
AliRDHFCutsB0toDStarPi.h
Go to the documentation of this file.
1 #ifndef AlIRDHFCUTSB0TODSTARPI_H
2 #define AlIRDHFCUTSB0TODSTARPI_H
3 /* Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
11 //
12 // Author Lennart van Doremalen
13 // Utrecht University - l.v.r.vandoremalen@uu.nl
14 //
15 // Several AliPhysics classes have been used as a basis for this code
16 //
18 
19 #include "AliRDHFCuts.h"
20 
21 class AliAODEvent;
23 class AliAODRecoDecayHF;
24 
26 {
27  public:
28 
31  };
32 
33  AliRDHFCutsB0toDStarPi(const char* name="B0toDStarPiCuts");
34 
35  virtual ~AliRDHFCutsB0toDStarPi();
36 
39 
41  virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters);
42 
44  virtual Int_t IsSelected(TObject* obj, Int_t selectionLevel, AliAODEvent* aod, Bool_t* bCutArray);
45  virtual Int_t IsSelected(TObject* obj, Int_t selectionLevel) {::Error("AliAnalysisTaskB0toDStarPi", "Old selection function"); return 0;}
46 
47  Int_t IsDStarFromB0Selected(Double_t pt, TObject* obj,Int_t selectionLevel, AliAODEvent* aod, Bool_t* bCutArray);
48  Int_t IsD0FromDStarSelected(Double_t pt, TObject* obj,Int_t selectionLevel, AliAODEvent* aod, Bool_t* bCutArray);
49  Int_t IsD0forD0ptbinSelected(TObject* obj,Int_t selectionLevel, AliAODEvent* aod, Bool_t* bCutArray);
50  Int_t IsD0forDStarptbinSelected(TObject* obj,Int_t selectionLevel, AliAODEvent* aod, Bool_t* bCutArray);
51  Int_t IsDStarforDStarptbinSelected(TObject* obj,Int_t selectionLevel, AliAODEvent* aod, Bool_t* bCutArray);
52 
54  virtual Int_t SelectPID(AliAODTrack *track, Int_t type);
55  virtual Bool_t IsInFiducialAcceptance(Double_t pt,Double_t y) const;
56 
57  void SetMaxPtPid(Float_t maxPt){fMaxPtPid = maxPt;}
58 
59  void SetOffHighPtPIDinTPC(Float_t TPCrem =999.){fTPCflag = TPCrem;}
60 
61  void SetGetCutInfo(Bool_t value){fGetCutInfo = value;}
62  void InitializeCuts();
63 
65  void SetCircRadius(Double_t radius) { fCircRadius = radius; }
66 
69 
70  void SetCutsD0forD0ptbin(Int_t nVars,Int_t nPtBins,Float_t **cutsRDD0forD0ptbin);
71  void SetCutsD0forD0ptbin(Int_t glIndex,Float_t *cutsRDD0forD0ptbin);
73  void SetPtBinsD0forD0ptbin(Int_t nPtBinLimits,Float_t *ptBinLimits);
74 
75  void SetCutsD0forDStarptbin(Int_t nVars,Int_t nPtBins,Float_t **cutsRDD0forDStarptbin);
76  void SetCutsD0forDStarptbin(Int_t glIndex,Float_t *cutsRDD0forDStarptbin);
78  void SetPtBinsD0forDStarptbin(Int_t nPtBinLimits,Float_t *ptBinLimits);
79 
80  void SetCutsDStarforDStarptbin(Int_t nVars,Int_t nPtBins,Float_t **cutsRDDStarforDStarptbin);
81  void SetCutsDStarforDStarptbin(Int_t glIndex,Float_t *cutsRDDStarforDStarptbin);
83  void SetPtBinsDStarforDStarptbin(Int_t nPtBinLimits,Float_t *ptBinLimits);
84 
88  Int_t GetGlobalIndexD0forD0ptbin(Int_t iVar,Int_t iPtBin) const{return iPtBin*fnVarsD0forD0ptbin+iVar;}
92 
96  Int_t GetGlobalIndexD0forDStarptbin(Int_t iVar,Int_t iPtBin) const{return iPtBin*fnVarsD0forDStarptbin+iVar;}
100 
108 
109  void SetIsUpperCut(Int_t nCutIndex, Bool_t isUpperCut){fIsUpperCut[nCutIndex] = isUpperCut; return;}
110  void SetIsUpperCutD0forD0ptbin(Int_t nCutIndex, Bool_t isUpperCut){fIsUpperCutD0forD0ptbin[nCutIndex] = isUpperCut; return;}
111  void SetIsUpperCutD0forDStarptbin(Int_t nCutIndex, Bool_t isUpperCut){fIsUpperCutD0forDStarptbin[nCutIndex] = isUpperCut; return;}
112  void SetIsUpperCutDStarforDStarptbin(Int_t nCutIndex, Bool_t isUpperCut){fIsUpperCutDStarforDStarptbin[nCutIndex] = isUpperCut; return;}
113 
114  Bool_t GetIsUpperCut(Int_t nCutIndex){return fIsUpperCut[nCutIndex];}
118 
119  void SetIsCutUsed(Int_t nCutIndex, Int_t ptbin, Bool_t isCutUsed){fIsCutUsed[GetGlobalIndex(nCutIndex,ptbin)] = isCutUsed; return;}
120  void SetIsCutUsedD0forD0ptbin(Int_t nCutIndex, Int_t ptbin, Bool_t isCutUsed){fIsCutUsedD0forD0ptbin[GetGlobalIndexD0forD0ptbin(nCutIndex,ptbin)] = isCutUsed; return;}
121  void SetIsCutUsedD0forDStarptbin(Int_t nCutIndex, Int_t ptbin, Bool_t isCutUsed){fIsCutUsedD0forDStarptbin[GetGlobalIndexD0forDStarptbin(nCutIndex,ptbin)] = isCutUsed; return;}
122  void SetIsCutUsedDStarforDStarptbin(Int_t nCutIndex, Int_t ptbin, Bool_t isCutUsed){fIsCutUsedDStarforDStarptbin[GetGlobalIndexDStarforDStarptbin(nCutIndex,ptbin)] = isCutUsed; return;}
123 
124  Bool_t GetIsCutUsed(Int_t nCutIndex, Int_t ptbin) const {return fIsCutUsed[GetGlobalIndex(nCutIndex,ptbin)];}
128 
129  Int_t ApplyCutOnVariable(Int_t nCutIndex, Int_t ptbin, Float_t cutVariableValue, Bool_t bCutArray[85]);
130  Int_t ApplyCutOnVariableD0forD0ptbin(Int_t nCutIndex, Int_t ptbin, Float_t cutVariableValue, Bool_t bCutArray[25]);
131  Int_t ApplyCutOnVariableD0forDStarptbin(Int_t nCutIndex, Int_t ptbin, Float_t cutVariableValue, Bool_t bCutArray[35]);
132  Int_t ApplyCutOnVariableDStarforDStarptbin(Int_t nCutIndex, Int_t ptbin, Float_t cutVariableValue, Bool_t bCutArray[25]);
133 
134  void SetVarNamesD0forD0ptbin(Int_t nVars,TString *varNames,Bool_t *isUpperCut);
135  void SetVarNamesD0forDStarptbin(Int_t nVars,TString *varNames,Bool_t *isUpperCut);
136  void SetVarNamesDStarforDStarptbin(Int_t nVars,TString *varNames,Bool_t *isUpperCut);
137 
138 
146 
153  void SetMinPtD0Pion(Double_t value){fMinPtD0Pion = value;}
154 
162 
169  void SetMinPtD0Kaon(Double_t value){fMinPtD0Kaon = value;}
170 
178 
186 
194 
201  void SetMinPtB0Pion(Double_t value){fMinPtB0Pion = value;}
202 
203  void SetCut(Int_t nCutIndex, Int_t ptBin, AliRDHFCutsB0toDStarPi::EUpperCut cutDirection, Float_t cutValue);
204  void SetCutD0forD0ptbin(Int_t nCutIndex, Int_t ptBin, AliRDHFCutsB0toDStarPi::EUpperCut cutDirection, Float_t cutValue);
205  void SetCutD0forDStarptbin(Int_t nCutIndex, Int_t ptBin, AliRDHFCutsB0toDStarPi::EUpperCut cutDirection, Float_t cutValue);
206  void SetCutDStarforDStarptbin(Int_t nCutIndex, Int_t ptBin, AliRDHFCutsB0toDStarPi::EUpperCut cutDirection, Float_t cutValue);
207 
208  protected:
209 
214 
215  Bool_t * fIsCutUsed; //[fGlobalIndex]
216 
220  Float_t * fCutsRDD0forD0ptbin; //[fGlobalIndexD0forD0ptbin]
222  Float_t * fPtBinLimitsD0forD0ptbin; //[fnPtBinLimitsD0forD0ptbin]
223  Bool_t * fIsUpperCutD0forD0ptbin; //[fnVarsD0forD0ptbin]
224  Bool_t * fIsCutUsedD0forD0ptbin; //[fGlobalIndexD0forD0ptbin]
225  TString * fVarNamesD0forD0ptbin; //[fnVarsD0forD0ptbin]
226 
230  Float_t * fCutsRDD0forDStarptbin; //[fGlobalIndexD0forDStarptbin]
232  Float_t * fPtBinLimitsD0forDStarptbin; //[fnPtBinLimitsD0forDStarptbin]
233  Bool_t * fIsUpperCutD0forDStarptbin; //[fnVarsD0forDStarptbin]
234  Bool_t * fIsCutUsedD0forDStarptbin; //[fGlobalIndexD0forDStarptbin]
235  TString * fVarNamesD0forDStarptbin; //[fnVarsD0forDStarptbin]
236 
240  Float_t * fCutsRDDStarforDStarptbin; //[fGlobalIndexDStarforDStarptbin]
242  Float_t * fPtBinLimitsDStarforDStarptbin; //[fnPtBinLimitsDStarforDStarptbin]
243  Bool_t * fIsUpperCutDStarforDStarptbin; //[fnVarsDStarforDStarptbin]
244  Bool_t * fIsCutUsedDStarforDStarptbin; //[fGlobalIndexDStarforDStarptbin]
245  TString * fVarNamesDStarforDStarptbin; //[fnVarsDStarforDStarptbin]
246 
254 
262 
270 
278 
280  ClassDef(AliRDHFCutsB0toDStarPi,6)
281 };
283 
284 #endif
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)=0
void SetVarNamesDStarforDStarptbin(Int_t nVars, TString *varNames, Bool_t *isUpperCut)
Int_t GetGlobalIndexDStarforDStarptbin(Int_t iVar, Int_t iPtBin) const
void SetUseFilterBitB0Pion(Bool_t option)
Bool_t GetIsUpperCutDStarforDStarptbin(Int_t nCutIndex)
virtual Int_t SelectPID(AliAODTrack *track, Int_t type)
double Double_t
Definition: External.C:58
void SetUseITSRefitB0Pion(Bool_t option)
void SetNPtBinsD0forD0ptbin(Int_t nptBins)
void SetNPtBinsD0forDStarptbin(Int_t nptBins)
void SetUseFilterBitD0Kaon(Bool_t option)
void SetCutsD0forDStarptbin(Int_t nVars, Int_t nPtBins, Float_t **cutsRDD0forDStarptbin)
virtual Int_t IsSelectedPID(AliAODRecoDecayHF *rd)
void SetCutsDStarforDStarptbin(Int_t nVars, Int_t nPtBins, Float_t **cutsRDDStarforDStarptbin)
Bool_t * fIsUpperCut
Definition: AliRDHFCuts.h:421
Bool_t GetIsCutUsedD0forD0ptbin(Int_t nCutIndex, Int_t ptbin) const
void SetIsUpperCut(Int_t nCutIndex, Bool_t isUpperCut)
Double_t DeltaInvMassDStarKpipi(AliAODRecoDecayHF2Prong *DStar) const
void SetUseTPCRefitD0Pion(Bool_t option)
Int_t GetNVarsDStarforDStarptbin() const
void SetIsCutUsedD0forDStarptbin(Int_t nCutIndex, Int_t ptbin, Bool_t isCutUsed)
Int_t IsDStarFromB0Selected(Double_t pt, TObject *obj, Int_t selectionLevel, AliAODEvent *aod, Bool_t *bCutArray)
Int_t ApplyCutOnVariableDStarforDStarptbin(Int_t nCutIndex, Int_t ptbin, Float_t cutVariableValue, Bool_t bCutArray[25])
Bool_t GetIsUpperCutD0forD0ptbin(Int_t nCutIndex)
Int_t PtBinDStarforDStarptbin(Double_t pt) const
void SetPtBinsDStarforDStarptbin(Int_t nPtBinLimits, Float_t *ptBinLimits)
void SetCutsD0forD0ptbin(Int_t nVars, Int_t nPtBins, Float_t **cutsRDD0forD0ptbin)
Int_t IsD0forD0ptbinSelected(TObject *obj, Int_t selectionLevel, AliAODEvent *aod, Bool_t *bCutArray)
void SetIsUpperCutDStarforDStarptbin(Int_t nCutIndex, Bool_t isUpperCut)
void SetMinPtB0Pion(Double_t value)
Bool_t GetIsCutUsedD0forDStarptbin(Int_t nCutIndex, Int_t ptbin) const
void SetMinTPCNclsB0Pion(Int_t value)
void SetCutD0forD0ptbin(Int_t nCutIndex, Int_t ptBin, AliRDHFCutsB0toDStarPi::EUpperCut cutDirection, Float_t cutValue)
void SetUseFilterBitDStarPion(Bool_t option)
void SetCircRadius(Double_t radius)
void SetNVarsD0forDStarptbin(Int_t nVars)
void SetNVarsD0forD0ptbin(Int_t nVars)
void SetMinTPCNclsD0Kaon(Int_t value)
Int_t PtBinD0forDStarptbin(Double_t pt) const
void SetFilterBitDStarPion(Int_t value)
void SetMaxPtPid(Float_t maxPt)
void SetPtBinsD0forD0ptbin(Int_t nPtBinLimits, Float_t *ptBinLimits)
void SetGetCutInfo(Bool_t value)
void SetFilterBitB0Pion(Int_t value)
const Int_t nPtBins
void SetMinPtD0Pion(Double_t value)
Bool_t GetIsUpperCut(Int_t nCutIndex)
int Int_t
Definition: External.C:63
void SetUseITSRefitD0Kaon(Bool_t option)
Int_t ApplyCutOnVariableD0forD0ptbin(Int_t nCutIndex, Int_t ptbin, Float_t cutVariableValue, Bool_t bCutArray[25])
void SetCut(Int_t nCutIndex, Int_t ptBin, AliRDHFCutsB0toDStarPi::EUpperCut cutDirection, Float_t cutValue)
void SetIsCutUsedDStarforDStarptbin(Int_t nCutIndex, Int_t ptbin, Bool_t isCutUsed)
Bool_t GetIsCutUsed(Int_t nCutIndex, Int_t ptbin) const
void SetMinITSNclsD0Kaon(Int_t value)
float Float_t
Definition: External.C:68
void SetFilterBitD0Pion(Int_t value)
void SetIsCutUsedD0forD0ptbin(Int_t nCutIndex, Int_t ptbin, Bool_t isCutUsed)
void SetIsCutUsed(Int_t nCutIndex, Int_t ptbin, Bool_t isCutUsed)
virtual Int_t IsSelected(TObject *obj, Int_t selectionLevel, AliAODEvent *aod, Bool_t *bCutArray)
Int_t ApplyCutOnVariable(Int_t nCutIndex, Int_t ptbin, Float_t cutVariableValue, Bool_t bCutArray[85])
void SetPtBinsD0forDStarptbin(Int_t nPtBinLimits, Float_t *ptBinLimits)
AliRDHFCutsB0toDStarPi & operator=(const AliRDHFCutsB0toDStarPi &source)
Int_t ApplyCutOnVariableD0forDStarptbin(Int_t nCutIndex, Int_t ptbin, Float_t cutVariableValue, Bool_t bCutArray[35])
Int_t IsDStarforDStarptbinSelected(TObject *obj, Int_t selectionLevel, AliAODEvent *aod, Bool_t *bCutArray)
Float_t * GetPtBinLimitsDStarforDStarptbin() const
Bool_t GetIsCutUsedDStarforDStarptbin(Int_t nCutIndex, Int_t ptbin) const
Int_t GetNPtBinsD0forD0ptbin() const
void SetNVarsDStarforDStarptbin(Int_t nVars)
void SetUseTPCRefitD0Kaon(Bool_t option)
void SetMinPtDStarPion(Double_t value)
void SetUseFilterBitD0Pion(Bool_t option)
Float_t * GetPtBinLimitsD0forD0ptbin() const
void SetMinITSNclsB0Pion(Int_t value)
void SetUseITSRefitD0Pion(Bool_t option)
void SetCutD0forDStarptbin(Int_t nCutIndex, Int_t ptBin, AliRDHFCutsB0toDStarPi::EUpperCut cutDirection, Float_t cutValue)
void SetIsUpperCutD0forDStarptbin(Int_t nCutIndex, Bool_t isUpperCut)
virtual Bool_t IsInFiducialAcceptance(Double_t pt, Double_t y) const
void SetMinITSNclsD0Pion(Int_t value)
void SetMinTPCNclsDStarPion(Int_t value)
void SetMinTPCNclsD0Pion(Int_t value)
virtual Int_t IsSelected(TObject *obj, Int_t selectionLevel)
Bool_t GetIsUpperCutD0forDStarptbin(Int_t nCutIndex)
void SetMinITSNclsDStarPion(Int_t value)
Int_t IsD0FromDStarSelected(Double_t pt, TObject *obj, Int_t selectionLevel, AliAODEvent *aod, Bool_t *bCutArray)
Int_t PtBinD0forD0ptbin(Double_t pt) const
void SetVarNamesD0forDStarptbin(Int_t nVars, TString *varNames, Bool_t *isUpperCut)
void SetVarNamesD0forD0ptbin(Int_t nVars, TString *varNames, Bool_t *isUpperCut)
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)
Int_t GetGlobalIndexD0forD0ptbin(Int_t iVar, Int_t iPtBin) const
void SetCutDStarforDStarptbin(Int_t nCutIndex, Int_t ptBin, AliRDHFCutsB0toDStarPi::EUpperCut cutDirection, Float_t cutValue)
void SetOffHighPtPIDinTPC(Float_t TPCrem=999.)
Int_t GetNPtBinsDStarforDStarptbin() const
void SetNPtBinsDStarforDStarptbin(Int_t nptBins)
Int_t GetGlobalIndexD0forDStarptbin(Int_t iVar, Int_t iPtBin) const
Bool_t IsSelected(TObject *obj)
Definition: AliRDHFCuts.h:290
void SetMinPtD0Kaon(Double_t value)
Int_t GetNVarsD0forDStarptbin() const
Int_t IsD0forDStarptbinSelected(TObject *obj, Int_t selectionLevel, AliAODEvent *aod, Bool_t *bCutArray)
void SetUseTPCRefitDStarPion(Bool_t option)
Float_t * GetPtBinLimitsD0forDStarptbin() const
Int_t GetNPtBinsD0forDStarptbin() const
void SetUseTPCRefitB0Pion(Bool_t option)
bool Bool_t
Definition: External.C:53
void SetFilterBitD0Kaon(Int_t value)
Double_t DeltaInvMassB0Kpipipi(AliAODRecoDecayHF2Prong *B0) const
Bool_t fGetCutInfo
Radius for circular PID nsigma cut.
void SetIsUpperCutD0forD0ptbin(Int_t nCutIndex, Bool_t isUpperCut)
Int_t GetGlobalIndex(Int_t iVar, Int_t iPtBin) const
AliRDHFCutsB0toDStarPi(const char *name="B0toDStarPiCuts")
void SetUseITSRefitDStarPion(Bool_t option)