AliPhysics  a6017e1 (a6017e1)
AliRDHFCutsLctoV0.h
Go to the documentation of this file.
1 #ifndef ALIRDHFCUTSLCTOV0_H
2 #define ALIRDHFCUTSLCTOV0_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 //***********************************************************
11 //***********************************************************
12 
13 #include "AliRDHFCuts.h"
14 
16 {
17  public:
18 
20  kLcToK0Spr=0x0001,
21  kLcToLBarpi=0x0002,
22  kLcToLpi=0x0004
23  };
24 
36  };
37 
38  AliRDHFCutsLctoV0(const char* name="CutsLctoV0", Short_t v0channel=0);
39 
40  virtual ~AliRDHFCutsLctoV0();
41 
42  AliRDHFCutsLctoV0(const AliRDHFCutsLctoV0& source);
44 
46  virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters);
47 
49  virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel)
50  {return IsSelected(obj,selectionLevel,0);}
51  virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel,AliAODEvent* aod);
52 
55 
56 
57  Bool_t PreSelect(TObject* obj, AliAODv0 *v0, AliVTrack *bachelorTrack);
58 
59  Int_t IsSelectedSingleCut(TObject* obj, Int_t selectionLevel, Int_t cutIndex, AliAODEvent* aod=0x0);
60 
61  Int_t CombineCuts (Int_t returnvalueTrack, Int_t returnvalue, Int_t returnvaluePID) const;
62 
63  Float_t GetMassCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(0,iPtBin)] : 1.e6);}
64  Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(7,iPtBin)] : 1.e6);}
65 
68 
70  Bool_t ApplySingleProtonCuts(AliAODTrack *trk, AliAODEvent* aod);
71  Bool_t ApplySingleK0Cuts(AliAODv0 *v0, AliAODEvent* aod);
73 
74  Int_t GetV0Type();
75 
76  void SetHighPtCut(Float_t highPtCut) {fHighPtCut=highPtCut;};
77  Float_t GetHighPtCut() const {return fHighPtCut;};
78 
79  void SetLowPtCut(Float_t lowPtCut) {fLowPtCut=lowPtCut;};
80  Float_t GetLowPtCut() const {return fLowPtCut;};
81 
82  void SetMinCombinedProbability(Int_t nPBins, Float_t *minProb);
84 
85  void SetExcludedCut(Int_t excludedCut) {fExcludedCut=excludedCut;}
87 
88  virtual void SetStandardCutsPP2010();
89  virtual void SetStandardCutsPbPb2010();
90  virtual void SetStandardCutsPbPb2011();
91 
92  virtual Bool_t IsInFiducialAcceptance(Double_t pt,Double_t y) const;
93 
94  void AddTrackCutsV0daughters(AliESDtrackCuts* v0daug)
95  { delete fV0daughtersCuts; fV0daughtersCuts = new AliESDtrackCuts(*v0daug); }
96  virtual AliESDtrackCuts *GetTrackCutsV0daughters() const {return fV0daughtersCuts;}
97 
101 
102  void SetBachelorPLimitsForPID(Int_t nPBins, Float_t *pMin);
104 
107 
108  virtual void PrintAll() const;
109 
111  void SetNBachelorPBins(Int_t nPbins) {fNBachelorPBins=nPbins;}
112 
113  protected:
114 
115  void CheckPID(AliAODTrack *bachelor, AliAODTrack * /*v0Neg*/, AliAODTrack * /*v0Pos*/,
116  Bool_t &isBachelorID1, Bool_t &isBachelorID2, Bool_t &isBachelorID4);
117 
118  Int_t GetBachelorPBin(Double_t bachelorP) const;
119 
120  private:
121 
123  AliESDtrackCuts *fV0daughtersCuts;
128  Float_t *fMinCombProbVsLcPt; //[fnPtBins] min value for combined PID probabilities (vs Lc pT)
130  Int_t fNBachelorPBins; // number of bachelor p bins
131  Float_t *fMinCombProb; //[fNBachelorPBins] min value for combined PID probabilities (vs bachelor p)
132  Float_t *fBachelorPLimitsForPID; //[fNBachelorPBins] limits for bachelor p bins
134 
135  //UShort_t fV0channel;
136 
138  ClassDef(AliRDHFCutsLctoV0,9);
139 };
141 
142 #endif
void SetMinCombinedProbability(Int_t nPBins, Float_t *minProb)
AliESDtrackCuts * fV0daughtersCuts
virtual void SetStandardCutsPbPb2010()
Int_t GetBachelorPBin(Double_t bachelorP) const
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)=0
const Float_t * GetMinCombinedProbability()
void SetBachelorPLimitsForPID(Int_t nPBins, Float_t *pMin)
const Float_t GetNTPCSigmaCutForPreselection()
double Double_t
Definition: External.C:58
AliRDHFCutsLctoV0(const char *name="CutsLctoV0", Short_t v0channel=0)
virtual void SetStandardCutsPP2010()
virtual void SetStandardCutsPbPb2011()
Bool_t AreLctoV0DaughtersSelected(AliAODRecoDecayHF *rd, AliAODEvent *aod=0x0) const
Int_t CombineCuts(Int_t returnvalueTrack, Int_t returnvalue, Int_t returnvaluePID) const
Float_t GetHighPtCut() const
const Float_t * GetCuts() const
Definition: AliRDHFCuts.h:254
Float_t fV0Type
cuts for v0 daughters (AOD converted to ESD on the flight!)
const Float_t * GetBachelorPLimitsForPID()
Float_t fNTPCSigmaCutForPreselection
AliRDHFCutsLctoV0 & operator=(const AliRDHFCutsLctoV0 &source)
virtual Int_t IsSelectedPID(AliAODRecoDecayHF *)
Definition: AliRDHFCuts.h:299
void SetNBachelorPBins(Int_t nPbins)
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)
Double_t GetReSignedd0(AliAODRecoDecayHF *d)
void SetExcludedCut(Int_t excludedCut)
const Int_t GetNBachelorPBins()
int Int_t
Definition: External.C:63
Float_t GetMassCut(Int_t iPtBin=0) const
Bool_t ApplySingleProtonCuts(AliAODTrack *trk, AliAODEvent *aod)
Int_t fNBachelorPBins
Magnetic field for propagation.
float Float_t
Definition: External.C:68
void AddTrackCutsV0daughters(AliESDtrackCuts *v0daug)
void SetGetNTPCSigmaCutForPreselection(Float_t a)
Float_t fLowPtCut
high pT cut separation for proton identification
Float_t * fMinCombProbVsLcPt
cut to be excluded (-1=none)
virtual void PrintAll() const
Float_t GetDCACut(Int_t iPtBin=0) const
Float_t * fCutsRD
fnVars*fnPtBins
Definition: AliRDHFCuts.h:432
short Short_t
Definition: External.C:23
Float_t GetLowPtCut() const
Bool_t ApplyCandidateCuts(AliAODRecoDecayHF *rd, AliAODEvent *aod, Bool_t spdfirst)
void SetLowPtCut(Float_t lowPtCut)
Double_t GetProtonEmissionAngleCMS(AliAODRecoDecayHF *d)
virtual AliESDtrackCuts * GetTrackCutsV0daughters() const
Bool_t PreSelect(TObject *obj, AliAODv0 *v0, AliVTrack *bachelorTrack)
Int_t fExcludedCut
low pT cut separation for proton identification
Bool_t ApplySingleK0Cuts(AliAODv0 *v0, AliAODEvent *aod)
Bool_t IsSelected(TObject *obj)
Definition: AliRDHFCuts.h:292
void SetMagneticField(Double_t a)
bool Bool_t
Definition: External.C:53
Float_t fHighPtCut
V0 type – should be defined as in AliRDHFCuts.h.
virtual Bool_t IsInFiducialAcceptance(Double_t pt, Double_t y) const
void CheckPID(AliAODTrack *bachelor, AliAODTrack *, AliAODTrack *, Bool_t &isBachelorID1, Bool_t &isBachelorID2, Bool_t &isBachelorID4)
Int_t GetGlobalIndex(Int_t iVar, Int_t iPtBin) const
Float_t * fBachelorPLimitsForPID
void SetPidSelectionFlag(Int_t a)
Int_t IsSelectedSingleCut(TObject *obj, Int_t selectionLevel, Int_t cutIndex, AliAODEvent *aod=0x0)
void SetHighPtCut(Float_t highPtCut)
virtual Int_t IsSelected(TObject *obj, Int_t selectionLevel)
virtual Int_t IsSelectedPID(AliAODRecoDecayHF *obj)