]>
Commit | Line | Data |
---|---|---|
e3d40058 | 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 | ||
27de2dfb | 6 | /* $Id$ */ |
7 | ||
e3d40058 | 8 | //*********************************************************** |
9 | // Class AliRDHFCutsLctopKpi | |
10 | // class for cuts on AOD reconstructed Lc->pKpi | |
11 | // Author: A.Dainese, andrea.dainese@pd.infn.it | |
12 | //*********************************************************** | |
13 | ||
14 | #include "AliRDHFCuts.h" | |
7ad4b782 | 15 | #include "AliAODPidHF.h" |
16 | #include "AliAODRecoDecayHF3Prong.h" | |
e3d40058 | 17 | |
18 | class AliRDHFCutsLctopKpi : public AliRDHFCuts | |
19 | { | |
20 | public: | |
21 | ||
c1234468 | 22 | enum EPIDStrategy { |
23 | kNSigma, | |
24 | kCombined | |
25 | }; | |
26 | enum ECutsStrategy { | |
27 | kStandard, | |
28 | kKF | |
29 | }; | |
30 | ||
31 | ||
a9b75906 | 32 | AliRDHFCutsLctopKpi(const char* name="CutsLctopKpi"); |
e3d40058 | 33 | |
7ad4b782 | 34 | virtual ~AliRDHFCutsLctopKpi(); |
e3d40058 | 35 | |
36 | AliRDHFCutsLctopKpi(const AliRDHFCutsLctopKpi& source); | |
37 | AliRDHFCutsLctopKpi& operator=(const AliRDHFCutsLctopKpi& source); | |
38 | ||
ed2d2734 | 39 | using AliRDHFCuts::GetCutVarsForOpt; |
e0fb900a | 40 | virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters){ |
41 | return GetCutVarsForOpt(d,vars,nvars,pdgdaughters,0x0); | |
42 | } | |
43 | virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters,AliAODEvent *aod); | |
a6003e0a | 44 | |
7ad4b782 | 45 | void SetPidpion(AliAODPidHF* pidPion) { |
46 | if(fPidObjpion) delete fPidObjpion; | |
47 | fPidObjpion=new AliAODPidHF(*pidPion); | |
48 | } | |
49 | void SetPidprot(AliAODPidHF* pidProt) { | |
50 | if(fPidObjprot) delete fPidObjprot; | |
51 | fPidObjprot=new AliAODPidHF(*pidProt); | |
52 | } | |
53 | ||
54 | virtual void SetStandardCutsPP2010(); | |
a8b8e864 | 55 | virtual void SetStandardCutsPbPb2010(); |
0c22e2ac | 56 | virtual void SetStandardCutsPbPb2011(); |
7ad4b782 | 57 | |
7ad4b782 | 58 | |
59 | AliAODPidHF* GetPidpion() const {return fPidObjpion;} | |
60 | AliAODPidHF* GetPidprot() const {return fPidObjprot;} | |
c1234468 | 61 | void SetPIDStrategy(EPIDStrategy pidStrategy) { |
62 | fPIDStrategy=pidStrategy; | |
63 | } | |
64 | EPIDStrategy GetPIDStrategy() const { | |
65 | return fPIDStrategy; | |
66 | } | |
67 | void SetCutsStrategy(ECutsStrategy cutsStrategy) { | |
68 | fCutsStrategy=cutsStrategy; | |
69 | } | |
70 | ECutsStrategy GetCutsStrategy() const { | |
71 | return fCutsStrategy; | |
72 | } | |
73 | void SetPIDThreshold(AliPID::EParticleType species,Double_t threshold) { | |
74 | fPIDThreshold[static_cast<Int_t>(species)]=threshold; | |
75 | } | |
76 | Double_t GetPIDThreshold(AliPID::EParticleType species) const { | |
77 | return fPIDThreshold[static_cast<Int_t>(species)]; | |
78 | } | |
7ad4b782 | 79 | |
e3d40058 | 80 | |
81 | using AliRDHFCuts::IsSelected; | |
7ad4b782 | 82 | virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel) |
83 | {return IsSelected(obj,selectionLevel,0);} | |
84 | virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel,AliAODEvent *aod); | |
85 | using AliRDHFCuts::IsSelectedPID; | |
86 | virtual Int_t IsSelectedPID(AliAODRecoDecayHF* obj); | |
11690a06 | 87 | Int_t IsSelectedCombinedPID(AliAODRecoDecayHF* obj); |
7ad4b782 | 88 | Int_t CombinePIDCuts (Int_t returnvalue, Int_t returnvaluePID) const; |
c1234468 | 89 | |
90 | virtual Bool_t IsInFiducialAcceptance(Double_t pt,Double_t y) const; | |
e3d40058 | 91 | |
92 | Float_t GetMassCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(0,iPtBin)] : 1.e6);} | |
93 | Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(11,iPtBin)] : 1.e6);} | |
94 | ||
43d2fecc | 95 | void SetUseImpParProdCorrCut(Bool_t use){ |
96 | fUseImpParProdCorrCut=use; | |
97 | } | |
98 | Bool_t GetUseImpParProdCorrCut() const { | |
99 | return fUseImpParProdCorrCut; | |
100 | } | |
101 | ||
c1234468 | 102 | AliKFParticle* ReconstructKF(AliAODRecoDecayHF3Prong *d,Int_t *pdgs,Double_t field,Bool_t constraint) const; |
e3d40058 | 103 | protected: |
7ad4b782 | 104 | AliAODPidHF *fPidObjprot; |
105 | AliAODPidHF *fPidObjpion; | |
43d2fecc | 106 | Bool_t fUseImpParProdCorrCut; //switch for cut on d0p*d0K vs. d0K*d0pi |
e3d40058 | 107 | |
c1234468 | 108 | private: |
cc4bd7b4 | 109 | EPIDStrategy fPIDStrategy; // PIS strategy (nsigma, combined) |
110 | Double_t fPIDThreshold[AliPID::kSPECIES]; // PID threshold for each species | |
111 | ECutsStrategy fCutsStrategy; // cut strategy (standard or KF) | |
c1234468 | 112 | |
113 | ClassDef(AliRDHFCutsLctopKpi,5); // class for cuts on AOD reconstructed Lc->pKpi | |
e3d40058 | 114 | }; |
115 | ||
116 | #endif | |
a8b8e864 | 117 |