]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/AliRDHFCutsDstoKKpi.h
New methods for tagging decay channels
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliRDHFCutsDstoKKpi.h
1 #ifndef ALIRDHFCUTSDSTOKKPI_H
2 #define ALIRDHFCUTSDSTOKKPI_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 //***********************************************************
9 // Class AliRDHFCutsDstoKKpi
10 // class for cuts on AOD reconstructed Ds->KKpi
11 // Author: A.Dainese, andrea.dainese@pd.infn.it
12 //***********************************************************
13
14 #include "AliRDHFCuts.h"
15
16 class AliRDHFCutsDstoKKpi : public AliRDHFCuts 
17 {
18  public:
19
20   AliRDHFCutsDstoKKpi(const char* name="CutsDstoKKpi");
21   
22   virtual ~AliRDHFCutsDstoKKpi(){}
23
24   AliRDHFCutsDstoKKpi(const AliRDHFCutsDstoKKpi& source);
25   AliRDHFCutsDstoKKpi& operator=(const AliRDHFCutsDstoKKpi& source); 
26  
27   using AliRDHFCuts::GetCutVarsForOpt;
28   virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters){
29     return GetCutVarsForOpt(d,vars,nvars,pdgdaughters,0x0);
30   }
31   virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters,AliAODEvent *aod);
32
33   using AliRDHFCuts::IsSelected;
34   virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel){
35     return IsSelected(obj,selectionLevel,0x0);
36   }
37   virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel,AliAODEvent* aod);
38
39
40   virtual Int_t IsSelectedPID(AliAODRecoDecayHF *rd);
41   virtual void SetStandardCutsPP2010();
42    
43   virtual Bool_t IsInFiducialAcceptance(Double_t pt,Double_t y) const;
44   Float_t GetMassCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(0,iPtBin)] : 1.e6);}
45   Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(11,iPtBin)] : 1.e6);}
46   UInt_t GetPIDTrackTPCTOFBitMap(AliAODTrack *track) const;
47
48   
49   enum TrackPIDBit{kTPCPionLess1,kTPCPionMore1Less2,kTPCPionMore2Less3,kTPCPionMore3,
50                    kTPCKaonLess1,kTPCKaonMore1Less2,kTPCKaonMore2Less3,kTPCKaonMore3,
51                    kTPCProtonLess1,kTPCProtonMore1Less2,kTPCProtonMore2Less3,kTPCProtonMore3,
52                    kTOFPionLess1,kTOFPionMore1Less2,kTOFPionMore2Less3,kTOFPionMore3,
53                    kTOFKaonLess1,kTOFKaonMore1Less2,kTOFKaonMore2Less3,kTOFKaonMore3,
54                    kTOFProtonLess1,kTOFProtonMore1Less2,kTOFProtonMore2Less3,kTOFProtonMore3};
55                 
56                  
57   enum EDsPid {kConservative, kStrong, kStrongPDep};
58   void SetPidOption(Int_t opt){
59     fPidOption=opt;
60   }
61   void SetMaxPtStrongPid(Float_t spid){fMaxPtStrongPid=spid;}
62   void SetMaxPStrongPidK(Float_t spid){fMaxPStrongPidK=spid;}
63   void SetMaxPStrongPidpi(Float_t spid){fMaxPStrongPidpi=spid;}
64   
65   Int_t GetPidOption() const {return fPidOption;}
66   
67  protected:
68  
69   Int_t fPidOption;         //pid option
70   Float_t fMaxPtStrongPid;//Maximum pt of candidate to apply strong Pid p dependent
71   Float_t fMaxPStrongPidK;//Maximum P of track to apply strong Pid on K
72   Float_t fMaxPStrongPidpi;//Maximum P of track to apply strong Pid on pi
73
74   ClassDef(AliRDHFCutsDstoKKpi,3);  // class for cuts on AOD reconstructed Ds->KKpi
75 };
76
77 #endif