]>
Commit | Line | Data |
---|---|---|
b5c5bbb6 | 1 | #ifndef ALIRDHFCUTSLCTOPK0SFROMAODTRACKS_H |
2 | #define ALIRDHFCUTSLCTOPK0SFROMAODTRACKS_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 AliRDHFCutsXictoPLUSXiPiPifromAODtracks | |
10 | // class for cuts on AOD reconstructed Lc-> pK0s | |
11 | //*********************************************************** | |
12 | ||
13 | #include "AliRDHFCuts.h" | |
14 | ||
15 | class AliRDHFCutsLctopK0sfromAODtracks : public AliRDHFCuts | |
16 | { | |
17 | public: | |
18 | ||
19 | enum EPIDStrategy{ | |
20 | kNSigmaCuts, | |
21 | kCombinedCuts | |
22 | }; | |
23 | ||
24 | AliRDHFCutsLctopK0sfromAODtracks(const char* name="CutsLctopK0s"); | |
25 | virtual ~AliRDHFCutsLctopK0sfromAODtracks(); | |
26 | AliRDHFCutsLctopK0sfromAODtracks(const AliRDHFCutsLctopK0sfromAODtracks& source); | |
27 | AliRDHFCutsLctopK0sfromAODtracks& operator=(const AliRDHFCutsLctopK0sfromAODtracks& source); | |
28 | ||
29 | using AliRDHFCuts::GetCutVarsForOpt; | |
30 | virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters); | |
31 | ||
32 | using AliRDHFCuts::IsSelected; | |
33 | virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel); | |
34 | using AliRDHFCuts::IsSelectedPID; | |
35 | virtual Int_t IsSelectedPID(AliAODRecoDecayHF* obj); | |
36 | Int_t IsSelectedCombinedPID(AliAODRecoDecayHF* obj); | |
37 | Double_t GetProtonProbabilityTPCTOF(AliAODTrack *trk); | |
38 | ||
39 | void SetPIDStrategy(EPIDStrategy pidStrategy){fPIDStrategy=pidStrategy;} | |
40 | EPIDStrategy GetPIDStrategy() const {return fPIDStrategy;} | |
41 | void SetCombinedPIDThreshold(Double_t a){fCombinedPIDThreshold=a;} | |
42 | Double_t GetCombinedPIDThreshold(){return fCombinedPIDThreshold;} | |
43 | ||
44 | void SetUseOnTheFlyV0(Bool_t a) { fUseOnTheFlyV0=a; } | |
45 | Bool_t GetUseOnTheFlyV0() { return fUseOnTheFlyV0; } | |
46 | ||
47 | Bool_t SingleTrkCuts(AliAODTrack *trk); | |
48 | Bool_t SingleV0Cuts(AliAODv0 *v0, AliAODVertex *vert); | |
49 | Bool_t SelectWithRoughCuts(AliAODv0 *v0, AliAODTrack *trk1); | |
50 | ||
51 | void SetProdTrackPtMin(Double_t a){fProdTrackPtMin=a;} | |
52 | void SetProdTrackEtaRange(Double_t a){fProdTrackEtaRange=a;} | |
53 | void SetProdUseAODFilterBit(Bool_t a){fProdUseAODFilterBit=a;} | |
54 | void SetProdV0MassTolK0s(Double_t a){fProdV0MassTolK0s=a;} | |
55 | void SetProdV0PtMin(Double_t a){fProdV0PtMin=a;} | |
56 | void SetProdV0CosPointingAngleToPrimVtxMin(Double_t a){fProdV0CosPointingAngleToPrimVtxMin=a;} | |
57 | void SetProdV0DcaDaughtersMax(Double_t a){fProdV0DcaDaughtersMax=a;} | |
58 | void SetProdV0DaughterEtaRange(Double_t a){fProdV0DaughterEtaRange=a;} | |
59 | void SetProdV0DaughterPtMin(Double_t a){fProdV0DaughterPtMin=a;} | |
60 | void SetProdV0DaughterTPCClusterMin(Double_t a){fProdV0DaughterTPCClusterMin=a;} | |
61 | ||
62 | void SetProdRoughMassTol(Double_t a){fProdRoughMassTol=a;} | |
63 | void SetProdRoughPtMin(Double_t a){fProdRoughPtMin=a;} | |
64 | ||
65 | Double_t GetProdTrackPtMin(){return fProdTrackPtMin;} | |
66 | Double_t GetProdTrackEtaRange(){return fProdTrackEtaRange;} | |
67 | Bool_t GetProdUseAODFilterBit(){return fProdUseAODFilterBit;} | |
68 | Double_t GetProdV0MassTolK0s(){return fProdV0MassTolK0s;} | |
69 | Double_t GetProdV0PtMin(){return fProdV0PtMin;} | |
70 | Double_t GetProdV0CosPointingAngleToPrimVtxMin(){return fProdV0CosPointingAngleToPrimVtxMin;} | |
71 | Double_t GetProdV0DcaDaughtersMax(){return fProdV0DcaDaughtersMax;} | |
72 | Double_t GetProdV0DaughterEtaRange(){return fProdV0DaughterEtaRange;} | |
73 | Double_t GetProdV0DaughterPtMin(){return fProdV0DaughterPtMin;} | |
74 | Double_t GetProdV0DaughterTPCClusterMin(){return fProdV0DaughterTPCClusterMin;} | |
75 | ||
76 | Double_t GetProdRoughMassTol(){return fProdRoughMassTol;} | |
77 | Double_t GetProdRoughPtMin(){return fProdRoughPtMin;} | |
78 | ||
79 | void SetNCuts(Int_t ncuts){fnCuts=ncuts;} | |
80 | Int_t GetNCutsArray(){return fnCuts;} | |
81 | void SetCutsArray(Int_t nCuts, Int_t nVars,Int_t nPtBins,Float_t ***cutsRD); | |
82 | void SetCutsArray(Int_t nTotBins,Float_t *cutsRD); | |
83 | void SetCutsFromArray(Int_t nCuts); | |
84 | Int_t GetCutArrayID(Int_t ic,Int_t iv,Int_t ip); | |
85 | ||
86 | protected: | |
87 | ||
88 | private: | |
89 | ||
90 | EPIDStrategy fPIDStrategy; //PID strategy | |
91 | Double_t fCombinedPIDThreshold; //Threshold used in IsSelectedCombinedPID | |
92 | Bool_t fUseOnTheFlyV0; //Flag to check if we use on-the-fly v0 | |
93 | ||
94 | Double_t fProdTrackPtMin; //Minimum Track pT used before object creation | |
95 | Double_t fProdTrackEtaRange; //eta range used before object creation | |
96 | Bool_t fProdUseAODFilterBit; //Flag for AOD filter Bit used before object creation | |
97 | Double_t fProdV0MassTolK0s; //K0s mass selection used before object creation | |
98 | Double_t fProdV0PtMin; //Minimum K0s pT used before object creation | |
99 | Double_t fProdV0CosPointingAngleToPrimVtxMin;//V0 pointing angle used before object creation | |
100 | Double_t fProdV0DcaDaughtersMax; //Max DCA between V0 daughters used before object creation | |
101 | Double_t fProdV0DaughterEtaRange; //V0Daughter eta range used before object creation | |
102 | Double_t fProdV0DaughterPtMin; //V0 Daughter pT min used before object creation | |
103 | Double_t fProdV0DaughterTPCClusterMin;//V0 daughter Minimum TPC cluster pT used before object creation | |
104 | Double_t fProdRoughMassTol; //Mass cut for Lc used before object creation | |
105 | Double_t fProdRoughPtMin; //pT cut for Lc used before object creation | |
106 | ||
107 | Int_t fnCuts; //Number of Cuts defined | |
108 | Int_t fnTotalCutBins; // fnCuts *fnVars * fnPtBins | |
109 | Float_t *fCutsArray; //[fnTotalCutBins] | |
110 | ||
111 | ClassDef(AliRDHFCutsLctopK0sfromAODtracks,1); | |
112 | }; | |
113 | ||
114 | #endif |