]>
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 | ||
27de2dfb | 6 | /* $Id$ */ |
7 | ||
a07ad8e0 | 8 | //*********************************************************** |
9 | // Class AliRDHFCutsLctoV0 | |
10 | // class for cuts on AOD reconstructed Lc-> V0 + bachelor | |
11 | //*********************************************************** | |
12 | ||
992ba7d8 | 13 | #include "AliAODPidHF.h" |
a07ad8e0 | 14 | #include "AliRDHFCuts.h" |
15 | ||
16 | class AliRDHFCutsLctoV0 : public AliRDHFCuts | |
17 | { | |
18 | public: | |
19 | ||
e7af8919 | 20 | enum ELctoV0channel { |
992ba7d8 | 21 | kLcToK0Spr=0x0001, |
22 | kLcToLBarpi=0x0002, | |
23 | kLcToLpi=0x0004 | |
24 | }; | |
25 | ||
e7af8919 | 26 | enum ELctoV0pidStrategy { |
27 | kTOFandTPC=0, | |
28 | kTOForTPCveto=1 | |
29 | }; | |
30 | ||
992ba7d8 | 31 | AliRDHFCutsLctoV0(const char* name="CutsLctoV0", Short_t v0channel=0); |
a07ad8e0 | 32 | |
992ba7d8 | 33 | virtual ~AliRDHFCutsLctoV0(); |
a07ad8e0 | 34 | |
35 | AliRDHFCutsLctoV0(const AliRDHFCutsLctoV0& source); | |
36 | AliRDHFCutsLctoV0& operator=(const AliRDHFCutsLctoV0& source); | |
37 | ||
ed2d2734 | 38 | using AliRDHFCuts::GetCutVarsForOpt; |
a07ad8e0 | 39 | virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters); |
40 | ||
41 | using AliRDHFCuts::IsSelected; | |
42 | virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel); | |
43 | ||
992ba7d8 | 44 | using AliRDHFCuts::IsSelectedPID; |
45 | virtual Int_t IsSelectedPID(AliAODRecoDecayHF* obj); | |
46 | Int_t IsSelected(TObject* obj, Int_t selectionLevel, Int_t cutIndex); | |
47 | ||
48 | Int_t CombinePIDCuts (Int_t returnvalue, Int_t returnvaluePID) const; | |
49 | ||
a07ad8e0 | 50 | Float_t GetMassCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(0,iPtBin)] : 1.e6);} |
51 | Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(7,iPtBin)] : 1.e6);} | |
52 | ||
e7af8919 | 53 | void SetPidSelectionFlag(Int_t a) {fPidSelectionFlag=a;} |
54 | Int_t GetPidSelectionFlag() {return fPidSelectionFlag;} | |
55 | ||
56 | virtual void SetStandardCutsPP2010(); | |
57 | virtual void SetStandardCutsPbPb2010(); | |
58 | virtual void SetStandardCutsPbPb2011(); | |
59 | ||
992ba7d8 | 60 | void SetPidV0pos(AliAODPidHF* pidV0pos) { |
61 | if (fPidHFV0pos) delete fPidHFV0pos; | |
62 | fPidHFV0pos = new AliAODPidHF(*pidV0pos); | |
63 | } | |
64 | void SetPidV0neg(AliAODPidHF* pidV0neg) { | |
65 | if (fPidHFV0neg) delete fPidHFV0neg; | |
66 | fPidHFV0neg = new AliAODPidHF(*pidV0neg); | |
67 | } | |
68 | ||
69 | AliAODPidHF * GetPidV0pos() { return fPidHFV0pos; } | |
70 | AliAODPidHF * GetPidV0neg() { return fPidHFV0neg; } | |
71 | ||
e7af8919 | 72 | void AddTrackCutsV0daughters(AliESDtrackCuts* v0daug) { |
73 | fV0daughtersCuts = new AliESDtrackCuts(*v0daug); | |
74 | } | |
75 | virtual AliESDtrackCuts *GetTrackCutsV0daughters() const {return fV0daughtersCuts;} | |
76 | ||
a07ad8e0 | 77 | protected: |
78 | ||
e7af8919 | 79 | void CheckPID(AliAODTrack *bachelor, AliAODTrack *v0Neg, AliAODTrack *v0Pos, |
80 | Bool_t &isBachelorID1, Bool_t &isV0NegID2, Bool_t &isV0PosID4); | |
81 | ||
992ba7d8 | 82 | private: |
83 | ||
e7af8919 | 84 | Int_t fPidSelectionFlag; |
992ba7d8 | 85 | AliAODPidHF *fPidHFV0pos; |
86 | AliAODPidHF *fPidHFV0neg; | |
e7af8919 | 87 | AliESDtrackCuts *fV0daughtersCuts; // cuts for v0 daughters (AOD converted to ESD on the flight!) |
992ba7d8 | 88 | //UShort_t fV0channel; |
a07ad8e0 | 89 | |
e7af8919 | 90 | ClassDef(AliRDHFCutsLctoV0,3); // class for cuts on AOD reconstructed Lc->V0+bachelor |
a07ad8e0 | 91 | }; |
92 | ||
93 | #endif |