]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/AliRDHFCutsDStartoKpipi.h
New methods for tagging decay channels
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliRDHFCutsDStartoKpipi.h
1 #ifndef ALIRDHFCUTSDSTARTOKPIPI_H
2 #define ALIRDHFCUTSDSTARTOKPIPI_H
3 /* Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //***********************************************************
7 // Class AliRDHFCutsDStartoKpipi
8 // class for cuts on AOD reconstructed DStar->Kpipi
9 // Author: A.Grelli, alessandro.grelli@uu.nl
10 // PID method implemented by   Y.Wang, yifei@physi.uni-heidelberg.de
11 //***********************************************************
12
13 #include "AliRDHFCuts.h"
14
15 class AliAODEvent;
16 class AliAODRecoCascadeHF;
17 class AliAODRecoDecayHF;
18
19 class AliRDHFCutsDStartoKpipi : public AliRDHFCuts 
20 {
21  public:
22
23   AliRDHFCutsDStartoKpipi(const char* name="CutsDStartoKpipi");
24   
25   virtual ~AliRDHFCutsDStartoKpipi(){}
26
27   AliRDHFCutsDStartoKpipi(const AliRDHFCutsDStartoKpipi& source);
28   AliRDHFCutsDStartoKpipi& operator=(const AliRDHFCutsDStartoKpipi& source); 
29  
30   using AliRDHFCuts::GetCutVarsForOpt;
31   virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters);
32
33   using AliRDHFCuts::IsSelected;
34   virtual Int_t IsSelected(TObject* obj, Int_t selectionLevel, AliAODEvent* aod);
35   virtual Int_t IsSelected(TObject* obj, Int_t selectionLevel) {return IsSelected(obj,selectionLevel,0);}
36
37   Int_t IsD0FromDStarSelected(Double_t pt, TObject* obj,Int_t selectionLevel, AliAODEvent* aod) const;
38   Int_t IsD0FromDStarSelected(Double_t pt, TObject* obj,Int_t selectionLevel) {return IsD0FromDStarSelected(pt,obj,selectionLevel,0);};
39
40   virtual Int_t IsSelectedPID(AliAODRecoDecayHF *rd);
41   virtual Int_t SelectPID(AliAODTrack *track, Int_t type);
42   virtual Bool_t IsInFiducialAcceptance(Double_t pt,Double_t y) const;
43   Float_t GetMassCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(9,iPtBin)] : 1.e6);} // for the Dstar
44   Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(1,iPtBin)] : 1.e6);} // for the D0
45
46   // standard cuts
47   virtual void SetStandardCutsPP2010();
48   virtual void SetStandardCutsPbPb2010();
49   virtual void SetStandardCutsPbPb2011();
50
51   // standard cuts 
52   void SetStandardCutsPbPb2011DStar(TH1F *hfl);
53   void SetStandardCutsPP2010DStarMult(Bool_t rec = kFALSE);
54
55   
56   void SetMaxPtPid(Float_t maxPt){fMaxPtPid = maxPt;}
57
58   void SetOffHighPtPIDinTPC(Float_t TPCrem =999.){fTPCflag = TPCrem;}
59
60   void AddTrackCutsSoftPi(const AliESDtrackCuts *cuts) 
61      {fTrackCutsSoftPi=new AliESDtrackCuts(*cuts); return;}
62   virtual AliESDtrackCuts *GetTrackCutsSoftPi() const {return fTrackCutsSoftPi;}
63
64  protected:
65
66   AliESDtrackCuts *fTrackCutsSoftPi; // cuts for soft pion (AOD converted to ESD on the flight!)
67   Float_t fMaxPtPid; // maximum Dstar Pt for using PID
68   Float_t fTPCflag;   // 
69
70   ClassDef(AliRDHFCutsDStartoKpipi,6);  // class for cuts on AOD reconstructed D0->Kpipi
71 };
72
73 #endif