]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/vertexingHF/AliRDHFCutsLctopKpi.h
Coveriry
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliRDHFCutsLctopKpi.h
1 #ifndef ALIRDHFCUTSLCTOPKPI_H
2 #define ALIRDHFCUTSLCTOPKPI_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 AliRDHFCutsLctopKpi
10 // class for cuts on AOD reconstructed Lc->pKpi
11 // Author: A.Dainese, andrea.dainese@pd.infn.it
12 //***********************************************************
13
14 #include "AliRDHFCuts.h"
15 #include "AliAODPidHF.h"
16 #include "AliAODRecoDecayHF3Prong.h"
17
18 class AliRDHFCutsLctopKpi : public AliRDHFCuts 
19 {
20  public:
21
22   AliRDHFCutsLctopKpi(const char* name="CutsLctopKpi");
23   
24   virtual ~AliRDHFCutsLctopKpi();
25
26   AliRDHFCutsLctopKpi(const AliRDHFCutsLctopKpi& source);
27   AliRDHFCutsLctopKpi& operator=(const AliRDHFCutsLctopKpi& source); 
28  
29   using AliRDHFCuts::GetCutVarsForOpt;
30   virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters){
31     return GetCutVarsForOpt(d,vars,nvars,pdgdaughters,0x0);
32   }
33   virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters,AliAODEvent *aod);
34
35   void SetPidpion(AliAODPidHF* pidPion) { 
36       if(fPidObjpion) delete fPidObjpion;
37       fPidObjpion=new AliAODPidHF(*pidPion);
38       }
39   void SetPidprot(AliAODPidHF* pidProt) {
40       if(fPidObjprot) delete fPidObjprot;
41       fPidObjprot=new AliAODPidHF(*pidProt);
42   }
43
44   virtual void SetStandardCutsPP2010();
45   virtual void SetStandardCutsPbPb2010();
46
47   void SetRecoKF() {fRecoKF=kTRUE;}
48   Bool_t GetRecoKF() {return fRecoKF;}
49
50   AliAODPidHF* GetPidpion() const {return fPidObjpion;}
51   AliAODPidHF* GetPidprot() const {return fPidObjprot;}
52
53
54   using AliRDHFCuts::IsSelected;
55   virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel)
56                            {return IsSelected(obj,selectionLevel,0);}
57   virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel,AliAODEvent *aod);
58   using AliRDHFCuts::IsSelectedPID;
59   virtual Int_t IsSelectedPID(AliAODRecoDecayHF* obj);
60   Int_t IsSelectedCombinedPID(AliAODRecoDecayHF* obj);
61   Int_t CombinePIDCuts (Int_t returnvalue, Int_t returnvaluePID) const;
62   
63   Float_t GetMassCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(0,iPtBin)] : 1.e6);}
64   Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(11,iPtBin)] : 1.e6);}
65
66   void SetUseImpParProdCorrCut(Bool_t use){
67     fUseImpParProdCorrCut=use;
68   }
69   Bool_t GetUseImpParProdCorrCut() const {
70     return fUseImpParProdCorrCut;
71   }
72
73   Bool_t ReconstructKF(AliAODRecoDecayHF3Prong *d,Int_t *pdgs,Double_t field) const;
74  protected:
75   AliAODPidHF *fPidObjprot;
76   AliAODPidHF *fPidObjpion;
77   Bool_t fRecoKF;
78   Bool_t fUseImpParProdCorrCut; //switch for cut on d0p*d0K vs. d0K*d0pi 
79
80   ClassDef(AliRDHFCutsLctopKpi,4);  // class for cuts on AOD reconstructed Lc->pKpi
81 };
82
83 #endif
84