]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/AliRDHFCutsLctopK0sfromAODtracks.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliRDHFCutsLctopK0sfromAODtracks.h
CommitLineData
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
15class 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