AliPhysics  58ae0ed (58ae0ed)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliRDHFCutsLctopKpi.h
Go to the documentation of this file.
1 #ifndef ALIRDHFCUTSLCTOPKPI_H
2 #define ALIRDHFCUTSLCTOPKPI_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 #include "AliAODPidHF.h"
17 
19 {
20  public:
21 
22  enum EPIDStrategy {
32  };
36  };
37 
38 
39  AliRDHFCutsLctopKpi(const char* name="CutsLctopKpi");
40 
41  virtual ~AliRDHFCutsLctopKpi();
42 
45 
47  virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters){
48  return GetCutVarsForOpt(d,vars,nvars,pdgdaughters,0x0);
49  }
50  virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters,AliAODEvent *aod);
51 
52  void SetPidpion(AliAODPidHF* pidPion) {
53  if(fPidObjpion) delete fPidObjpion;
54  fPidObjpion=new AliAODPidHF(*pidPion);
55  }
56  void SetPidprot(AliAODPidHF* pidProt) {
57  if(fPidObjprot) delete fPidObjprot;
58  fPidObjprot=new AliAODPidHF(*pidProt);
59  }
60 
61  virtual void SetStandardCutsPP2010();
62  virtual void SetStandardCutsPbPb2010();
63  virtual void SetStandardCutsPbPb2011();
64  virtual void SetStandardCutsPPb2013();
65 
66 
67  AliAODPidHF* GetPidpion() const {return fPidObjpion;}
68  AliAODPidHF* GetPidprot() const {return fPidObjprot;}
69  void SetPIDStrategy(EPIDStrategy pidStrategy) {
70  fPIDStrategy=pidStrategy;
71  }
73  return fPIDStrategy;
74  }
75  void SetCutsStrategy(ECutsStrategy cutsStrategy) {
76  fCutsStrategy=cutsStrategy;
77  }
79  return fCutsStrategy;
80  }
81  void SetPIDThreshold(AliPID::EParticleType species,Double_t threshold) {
82  fPIDThreshold[static_cast<Int_t>(species)]=threshold;
83  }
84  Double_t GetPIDThreshold(AliPID::EParticleType species) const {
85  return fPIDThreshold[static_cast<Int_t>(species)];
86  }
88  void SetUseSpecialCut(Bool_t useSpecialCut=kTRUE){fUseSpecialCut=useSpecialCut;}
89 
91  virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel)
92  {return IsSelected(obj,selectionLevel,0);}
93  virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel,AliAODEvent *aod);
103  Int_t CombinePIDCuts (Int_t returnvalue, Int_t returnvaluePID) const;
104 
105  virtual Bool_t IsInFiducialAcceptance(Double_t pt,Double_t y) const;
106 
107  Float_t GetMassCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(0,iPtBin)] : 1.e6);}
108  Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(11,iPtBin)] : 1.e6);}
109 
112  }
114  return fUseImpParProdCorrCut;
115  }
116 
117  AliKFParticle* ReconstructKF(AliAODRecoDecayHF3Prong *d,Int_t *pdgs,Double_t field,Bool_t constraint) const;
118  protected:
122 
123 private:
125  Double_t fPIDThreshold[AliPID::kSPECIES];
128 
130  ClassDef(AliRDHFCutsLctopKpi,10);
131 };
133 
134 #endif
135 
136 
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)=0
ECutsStrategy fCutsStrategy
PID threshold for each species.
double Double_t
Definition: External.C:58
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)
virtual void SetStandardCutsPbPb2011()
void SetPidpion(AliAODPidHF *pidPion)
const Float_t * GetCuts() const
Definition: AliRDHFCuts.h:244
virtual void SetStandardCutsPPb2013()
Int_t CombinePIDCuts(Int_t returnvalue, Int_t returnvaluePID) const
ECutsStrategy GetCutsStrategy() const
virtual Int_t IsSelectedPID(AliAODRecoDecayHF *)
Definition: AliRDHFCuts.h:288
Int_t IsSelectedCombinedPID(AliAODRecoDecayHF *obj)
virtual void SetStandardCutsPP2010()
void SetPidprot(AliAODPidHF *pidProt)
Bool_t GetUseImpParProdCorrCut() const
int Int_t
Definition: External.C:63
Int_t IsSelectedCombinedPIDpPb2(AliAODRecoDecayHF *obj)
AliRDHFCutsLctopKpi & operator=(const AliRDHFCutsLctopKpi &source)
void SetCutsStrategy(ECutsStrategy cutsStrategy)
float Float_t
Definition: External.C:68
virtual Bool_t IsInFiducialAcceptance(Double_t pt, Double_t y) const
AliAODPidHF * GetPidprot() const
Int_t IsSelectedCombinedPIDProb(AliAODRecoDecayHF *obj)
virtual void SetStandardCutsPbPb2010()
Int_t IsSelectedNSigmaPbPb(AliAODRecoDecayHF *obj)
Float_t * fCutsRD
fnVars*fnPtBins
Definition: AliRDHFCuts.h:408
AliAODPidHF * GetPidpion() const
Int_t IsSelectedCombinedPIDSoft(AliAODRecoDecayHF *obj)
virtual Int_t IsSelectedPID(AliAODRecoDecayHF *obj)
void SetUseImpParProdCorrCut(Bool_t use)
virtual Int_t IsSelected(TObject *obj, Int_t selectionLevel)
EPIDStrategy GetPIDStrategy() const
Bool_t IsSelected(TObject *obj)
Definition: AliRDHFCuts.h:281
EPIDStrategy fPIDStrategy
switch for cut on d0p*d0K vs. d0K*d0pi
void SetPIDStrategy(EPIDStrategy pidStrategy)
Int_t IsSelectedPIDStrong(AliAODRecoDecayHF *obj)
bool Bool_t
Definition: External.C:53
void SetPIDThreshold(AliPID::EParticleType species, Double_t threshold)
AliRDHFCutsLctopKpi(const char *name="CutsLctopKpi")
Float_t GetMassCut(Int_t iPtBin=0) const
void SetUseSpecialCut(Bool_t useSpecialCut=kTRUE)
Int_t IsSelectedCombinedPIDpPb(AliAODRecoDecayHF *obj)
Int_t GetGlobalIndex(Int_t iVar, Int_t iPtBin) const
Double_t GetPIDThreshold(AliPID::EParticleType species) const
AliKFParticle * ReconstructKF(AliAODRecoDecayHF3Prong *d, Int_t *pdgs, Double_t field, Bool_t constraint) const
Float_t GetDCACut(Int_t iPtBin=0) const
Bool_t fUseSpecialCut
cut strategy (standard or KF)
Double_t fPIDThreshold[AliPID::kSPECIES]
PIS strategy (nsigma, combined)