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 */
8 //***********************************************************
9 // Class AliRDHFCutsXictoPLUSXiPiPifromAODtracks
10 // class for cuts on AOD reconstructed Lc-> pK0s
11 //***********************************************************
13 #include "AliRDHFCuts.h"
15 class AliRDHFCutsLctopK0sfromAODtracks : public AliRDHFCuts
24 AliRDHFCutsLctopK0sfromAODtracks(const char* name="CutsLctopK0s");
25 virtual ~AliRDHFCutsLctopK0sfromAODtracks();
26 AliRDHFCutsLctopK0sfromAODtracks(const AliRDHFCutsLctopK0sfromAODtracks& source);
27 AliRDHFCutsLctopK0sfromAODtracks& operator=(const AliRDHFCutsLctopK0sfromAODtracks& source);
29 using AliRDHFCuts::GetCutVarsForOpt;
30 virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters);
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);
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;}
44 void SetUseOnTheFlyV0(Bool_t a) { fUseOnTheFlyV0=a; }
45 Bool_t GetUseOnTheFlyV0() { return fUseOnTheFlyV0; }
47 Bool_t SingleTrkCuts(AliAODTrack *trk);
48 Bool_t SingleV0Cuts(AliAODv0 *v0, AliAODVertex *vert);
49 Bool_t SelectWithRoughCuts(AliAODv0 *v0, AliAODTrack *trk1);
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;}
62 void SetProdRoughMassTol(Double_t a){fProdRoughMassTol=a;}
63 void SetProdRoughPtMin(Double_t a){fProdRoughPtMin=a;}
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;}
76 Double_t GetProdRoughMassTol(){return fProdRoughMassTol;}
77 Double_t GetProdRoughPtMin(){return fProdRoughPtMin;}
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);
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
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
107 Int_t fnCuts; //Number of Cuts defined
108 Int_t fnTotalCutBins; // fnCuts *fnVars * fnPtBins
109 Float_t *fCutsArray; //[fnTotalCutBins]
111 ClassDef(AliRDHFCutsLctopK0sfromAODtracks,1);