3a294bf6e327ca90a97079d2241e4594d4b7f5c6
[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);
35   Int_t IsD0FromDStarSelected(Double_t pt, TObject* obj,Int_t selectionLevel) const; 
36   virtual Int_t IsSelectedPID(AliAODRecoDecayHF *rd);
37   virtual Int_t SelectPID(AliAODTrack *track, Int_t type);
38   virtual Bool_t IsInFiducialAcceptance(Double_t pt,Double_t y) const;
39   Float_t GetMassCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(9,iPtBin)] : 1.e6);} // for the Dstar
40   Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(1,iPtBin)] : 1.e6);} // for the D0
41   virtual void SetStandardCutsPP2010();
42   virtual void SetStandardCutsPbPb2010();
43   virtual void SetStandardCutsPbPb2011();  
44
45   void AddTrackCutsSoftPi(const AliESDtrackCuts *cuts) 
46      {fTrackCutsSoftPi=new AliESDtrackCuts(*cuts); return;}
47   virtual AliESDtrackCuts *GetTrackCutsSoftPi() const {return fTrackCutsSoftPi;}
48
49  protected:
50
51   AliESDtrackCuts *fTrackCutsSoftPi; // cuts for soft pion (AOD converted to ESD on the flight!)
52
53   ClassDef(AliRDHFCutsDStartoKpipi,4);  // class for cuts on AOD reconstructed D0->Kpipi
54 };
55
56 #endif