]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/AliRDHFCutsXicPlustoXiPiPifromAODtracks.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliRDHFCutsXicPlustoXiPiPifromAODtracks.h
1 #ifndef ALIRDHFCUTSXICPLUSTOXIPIPIFROMAODTRACKS_H
2 #define ALIRDHFCUTSXICPLUSTOXIPIPIFROMAODTRACKS_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 Xic-> pi Xi pi
11 //***********************************************************
12
13 #include "AliRDHFCuts.h"
14
15 class AliRDHFCutsXicPlustoXiPiPifromAODtracks : public AliRDHFCuts
16 {
17  public:
18
19   enum EPIDStrategy{
20     kNSigmaCuts,
21     kCombinedCuts
22   };
23
24   AliRDHFCutsXicPlustoXiPiPifromAODtracks(const char* name="CutsXicPlustoXiPiPi");
25   virtual ~AliRDHFCutsXicPlustoXiPiPifromAODtracks();
26   AliRDHFCutsXicPlustoXiPiPifromAODtracks(const AliRDHFCutsXicPlustoXiPiPifromAODtracks& source);
27   AliRDHFCutsXicPlustoXiPiPifromAODtracks& operator=(const AliRDHFCutsXicPlustoXiPiPifromAODtracks& 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 GetPionProbabilityTPCTOF(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
45   Bool_t SingleTrkCuts(AliAODTrack *trk);
46   Bool_t SingleCascadeCuts(AliAODcascade *casc);
47   Bool_t SelectWithRoughCuts(AliAODcascade *casc, AliAODTrack *trk1, AliAODTrack *trk2);
48
49   void SetProdTrackPtMin(Double_t a){fProdTrackPtMin=a;}
50   void SetProdTrackEtaRange(Double_t a){fProdTrackEtaRange=a;}
51   void SetProdUseAODFilterBit(Bool_t a){fProdUseAODFilterBit=a;}
52   void SetProdMassTolLambda(Double_t a){fProdMassTolLambda=a;}
53   void SetProdMassTolXi(Double_t a){fProdMassTolXi=a;}
54   void SetProdRfidMinV0(Double_t a){fProdRfidMinV0=a;}
55   void SetProdRfidMaxV0(Double_t a){fProdRfidMaxV0=a;}
56   void SetProdRfidMinXi(Double_t a){fProdRfidMinXi=a;}
57   void SetProdRfidMaxXi(Double_t a){fProdRfidMaxXi=a;}
58   void SetProdRoughMassTol(Double_t a){fProdRoughMassTol=a;}
59   void SetProdRoughPtMin(Double_t a){fProdRoughPtMin=a;}
60   void SetProdLikeSignDcaMax(Double_t a){fProdLikeSignDcaMax=a;}
61
62   Double_t GetProdTrackPtMin(){return fProdTrackPtMin;}
63   Double_t GetProdTrackEtaRange(){return fProdTrackEtaRange;}
64   Bool_t   GetProdUseAODFilterBit(){return fProdUseAODFilterBit;}
65   Double_t GetProdMassTolLambda(){return fProdMassTolLambda;}
66   Double_t GetProdMassTolXi(){return fProdMassTolXi;}
67   Double_t GetProdRfidMinV0(){return fProdRfidMinV0;}
68   Double_t GetProdRfidMaxV0(){return fProdRfidMaxV0;}
69   Double_t GetProdRfidMinXi(){return fProdRfidMinXi;}
70   Double_t GetProdRfidMaxXi(){return fProdRfidMaxXi;}
71   Double_t GetProdRoughMassTol(){return fProdRoughMassTol;}
72   Double_t GetProdRoughPtMin(){return fProdRoughPtMin;}
73   Double_t GetProdLikeSignDcaMax(){return fProdLikeSignDcaMax;}
74
75   void  SetNCuts(Int_t ncuts){fnCuts=ncuts;}
76   Int_t GetNCutsArray(){return fnCuts;}
77   void  SetCutsArray(Int_t nCuts, Int_t nVars,Int_t nPtBins,Float_t ***cutsRD);
78   void  SetCutsArray(Int_t nTotBins,Float_t *cutsRD);
79   void  SetCutsFromArray(Int_t nCuts);
80   Int_t GetCutArrayID(Int_t ic,Int_t iv,Int_t ip);
81
82  protected:
83         
84  private:
85
86   EPIDStrategy fPIDStrategy;        //PID Strategy
87   Double_t fCombinedPIDThreshold;   //PID threshold used in IsSelectedCombinedPID
88
89   Double_t fProdTrackPtMin;         //Minimum Bachelor pT 
90   Double_t fProdTrackEtaRange;      //Bachelor Eta range
91   Bool_t   fProdUseAODFilterBit;    //Use AODfilterBit or not
92   Double_t fProdMassTolLambda;      //Tolerance of Lambda mass from PDG value
93   Double_t fProdMassTolXi;          //Tolerance of Xi mass from PDG value
94   Double_t fProdRfidMinV0;          //Minimum Decay vertex of V0
95   Double_t fProdRfidMaxV0;          //Max Decay vertex of V0
96   Double_t fProdRfidMinXi;          //Minimum Decay vertex of Xi
97   Double_t fProdRfidMaxXi;          //Max Decay vertex of Xi
98   Double_t fProdLikeSignDcaMax;     //Maximum DCA of pions
99   Double_t fProdRoughMassTol;       //Tolerance of Xic mass from PDG value 
100   Double_t fProdRoughPtMin;         //Minimum pT of Xic
101
102   Int_t fnCuts;                    //Number of Cuts
103   Int_t fnTotalCutBins;            //fnCuts * fnvars * fnPtBins
104   Float_t *fCutsArray;             //[fnTotalCutBins]
105
106   ClassDef(AliRDHFCutsXicPlustoXiPiPifromAODtracks,1); 
107 };
108
109 #endif