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 */
8 //***********************************************************
9 // Class AliRDHFCutsLctopKpi
10 // class for cuts on AOD reconstructed Lc->pKpi
11 // Author: A.Dainese, andrea.dainese@pd.infn.it
12 //***********************************************************
14 #include "AliRDHFCuts.h"
15 #include "AliAODPidHF.h"
16 #include "AliAODRecoDecayHF3Prong.h"
18 class AliRDHFCutsLctopKpi : public AliRDHFCuts
22 AliRDHFCutsLctopKpi(const char* name="CutsLctopKpi");
24 virtual ~AliRDHFCutsLctopKpi();
26 AliRDHFCutsLctopKpi(const AliRDHFCutsLctopKpi& source);
27 AliRDHFCutsLctopKpi& operator=(const AliRDHFCutsLctopKpi& source);
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);
33 virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters,AliAODEvent *aod);
35 void SetPidpion(AliAODPidHF* pidPion) {
36 if(fPidObjpion) delete fPidObjpion;
37 fPidObjpion=new AliAODPidHF(*pidPion);
39 void SetPidprot(AliAODPidHF* pidProt) {
40 if(fPidObjprot) delete fPidObjprot;
41 fPidObjprot=new AliAODPidHF(*pidProt);
44 virtual void SetStandardCutsPP2010();
45 virtual void SetStandardCutsPbPb2010();
47 void SetRecoKF() {fRecoKF=kTRUE;}
48 Bool_t GetRecoKF() {return fRecoKF;}
50 AliAODPidHF* GetPidpion() const {return fPidObjpion;}
51 AliAODPidHF* GetPidprot() const {return fPidObjprot;}
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;
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);}
66 void SetUseImpParProdCorrCut(Bool_t use){
67 fUseImpParProdCorrCut=use;
69 Bool_t GetUseImpParProdCorrCut() const {
70 return fUseImpParProdCorrCut;
73 Bool_t ReconstructKF(AliAODRecoDecayHF3Prong *d,Int_t *pdgs,Double_t field) const;
75 AliAODPidHF *fPidObjprot;
76 AliAODPidHF *fPidObjpion;
78 Bool_t fUseImpParProdCorrCut; //switch for cut on d0p*d0K vs. d0K*d0pi
80 ClassDef(AliRDHFCutsLctopKpi,4); // class for cuts on AOD reconstructed Lc->pKpi