]>
Commit | Line | Data |
---|---|---|
a07ad8e0 | 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 | ||
34595b3c | 6 | /* $Id$ */ |
27de2dfb | 7 | |
a07ad8e0 | 8 | //*********************************************************** |
9 | // Class AliRDHFCutsLctoV0 | |
10 | // class for cuts on AOD reconstructed Lc-> V0 + bachelor | |
11 | //*********************************************************** | |
12 | ||
13 | #include "AliRDHFCuts.h" | |
14 | ||
34595b3c | 15 | class AliRDHFCutsLctoV0 : public AliRDHFCuts |
a07ad8e0 | 16 | { |
17 | public: | |
18 | ||
e7af8919 | 19 | enum ELctoV0channel { |
992ba7d8 | 20 | kLcToK0Spr=0x0001, |
21 | kLcToLBarpi=0x0002, | |
22 | kLcToLpi=0x0004 | |
23 | }; | |
24 | ||
e7af8919 | 25 | enum ELctoV0pidStrategy { |
26 | kTOFandTPC=0, | |
a578b2da | 27 | kTOForTPCveto=1, |
28 | kTOFandTPCasym1=2, | |
53c91ed7 | 29 | kTOFandTPCasym2=3, |
30 | kTPClowTOFhigh=4, | |
31 | kTPClowTOFintermediateTOForTPChigh=5 | |
e7af8919 | 32 | }; |
33 | ||
992ba7d8 | 34 | AliRDHFCutsLctoV0(const char* name="CutsLctoV0", Short_t v0channel=0); |
34595b3c | 35 | |
992ba7d8 | 36 | virtual ~AliRDHFCutsLctoV0(); |
a07ad8e0 | 37 | |
38 | AliRDHFCutsLctoV0(const AliRDHFCutsLctoV0& source); | |
34595b3c | 39 | AliRDHFCutsLctoV0& operator=(const AliRDHFCutsLctoV0& source); |
40 | ||
ed2d2734 | 41 | using AliRDHFCuts::GetCutVarsForOpt; |
a07ad8e0 | 42 | virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters); |
43 | ||
44 | using AliRDHFCuts::IsSelected; | |
45 | virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel); | |
34595b3c | 46 | |
992ba7d8 | 47 | using AliRDHFCuts::IsSelectedPID; |
48 | virtual Int_t IsSelectedPID(AliAODRecoDecayHF* obj); | |
0dbd1d4f | 49 | |
50 | Int_t IsSelectedSingleCut(TObject* obj, Int_t selectionLevel, Int_t cutIndex); | |
992ba7d8 | 51 | |
60b29186 | 52 | Int_t CombineCuts (Int_t returnvalueTrack, Int_t returnvalue, Int_t returnvaluePID) const; |
992ba7d8 | 53 | |
a07ad8e0 | 54 | Float_t GetMassCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(0,iPtBin)] : 1.e6);} |
55 | Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(7,iPtBin)] : 1.e6);} | |
56 | ||
e7af8919 | 57 | void SetPidSelectionFlag(Int_t a) {fPidSelectionFlag=a;} |
58 | Int_t GetPidSelectionFlag() {return fPidSelectionFlag;} | |
59 | ||
60b29186 | 60 | Bool_t AreLctoV0DaughtersSelected(AliAODRecoDecayHF *rd) const; |
61 | ||
34595b3c | 62 | Int_t GetV0Type(); |
63 | ||
53c91ed7 | 64 | void SetHighPtCut(Float_t highPtCut) {fHighPtCut=highPtCut;}; |
65 | Float_t GetHighPtCut() const {return fHighPtCut;}; | |
66 | ||
67 | void SetLowPtCut(Float_t lowPtCut) {fLowPtCut=lowPtCut;}; | |
68 | Float_t GetLowPtCut() const {return fLowPtCut;}; | |
69 | ||
b833016c | 70 | void SetExcludedCut(Int_t excludedCut) {fExcludedCut=excludedCut;} |
71 | Int_t GetExcludedCut(){return fExcludedCut;} | |
72 | ||
e7af8919 | 73 | virtual void SetStandardCutsPP2010(); |
74 | virtual void SetStandardCutsPbPb2010(); | |
75 | virtual void SetStandardCutsPbPb2011(); | |
76 | ||
a578b2da | 77 | virtual Bool_t IsInFiducialAcceptance(Double_t pt,Double_t y) const; |
78 | ||
60b29186 | 79 | void AddTrackCutsV0daughters(AliESDtrackCuts* v0daug) |
80 | { delete fV0daughtersCuts; fV0daughtersCuts = new AliESDtrackCuts(*v0daug); } | |
e7af8919 | 81 | virtual AliESDtrackCuts *GetTrackCutsV0daughters() const {return fV0daughtersCuts;} |
82 | ||
a578b2da | 83 | virtual void PrintAll() const; |
a07ad8e0 | 84 | protected: |
85 | ||
53c91ed7 | 86 | void CheckPID(AliAODTrack *bachelor, AliAODTrack * /*v0Neg*/, AliAODTrack * /*v0Pos*/, |
87 | Bool_t &isBachelorID1, Bool_t &isBachelorID2, Bool_t &isBachelorID4); | |
e7af8919 | 88 | |
992ba7d8 | 89 | private: |
90 | ||
e7af8919 | 91 | Int_t fPidSelectionFlag; |
e7af8919 | 92 | AliESDtrackCuts *fV0daughtersCuts; // cuts for v0 daughters (AOD converted to ESD on the flight!) |
34595b3c | 93 | Float_t fV0Type; // V0 type -- should be defined as in AliRDHFCuts.h |
53c91ed7 | 94 | Float_t fHighPtCut; // high pT cut separation for proton identification |
95 | Float_t fLowPtCut; // low pT cut separation for proton identification | |
b833016c | 96 | Int_t fExcludedCut; // cut to be excluded (-1=none) |
34595b3c | 97 | |
992ba7d8 | 98 | //UShort_t fV0channel; |
a07ad8e0 | 99 | |
b833016c | 100 | ClassDef(AliRDHFCutsLctoV0,6); // class for cuts on AOD reconstructed Lc->V0+bachelor |
a07ad8e0 | 101 | }; |
102 | ||
103 | #endif |