AliPhysics  master (3d17d9d)
AliRDHFCutsDplustoK0spi.h
Go to the documentation of this file.
1 #ifndef ALIRDHFCUTSDPLUSTOK0SPI_H
2 #define ALIRDHFCUTSDPLUSTOK0SPI_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 
16 
17 
18 #include "AliRDHFCuts.h"
19 
20 class AliAODEvent;
21 class AliAODRecoDecayHF;
22 class AliESDtrackCuts;
23 
24 
26 {
27 public:
28 
29 
30  AliRDHFCutsDplustoK0spi(const char* name="CutsDplustoK0spi");
33  virtual ~AliRDHFCutsDplustoK0spi();
34 
35 
37  virtual void GetCutVarsForOpt(AliAODRecoDecayHF* obj, Float_t* vars, Int_t nvars, Int_t*pdgdaughters)
38  { return GetCutVarsForOpt(obj, vars, nvars, pdgdaughters, 0x0); }
39  virtual void GetCutVarsForOpt(AliAODRecoDecayHF* obj, Float_t* vars, Int_t nvars, Int_t* pdgdaughters, AliAODEvent* aod);
40 
42  virtual Int_t IsSelected(TObject* obj, Int_t selectionLevel)
43  { return IsSelected(obj, selectionLevel, 0); }
44  virtual Int_t IsSelected(TObject* obj, Int_t selectionLevel, AliAODEvent* aod);
45 
48 
50  Bool_t PreSelect(TObject* obj, AliAODv0 *v0, AliVTrack *bachelorTrack);
51 
53  virtual Bool_t IsInFiducialAcceptance(Double_t pt, Double_t y) const;
54 
55 
57  Int_t GetV0Type();
58 
59 
60  void AddTrackCutsV0daughters(AliESDtrackCuts* v0daug)
61  { delete fV0daughtersCuts; fV0daughtersCuts = new AliESDtrackCuts(*v0daug); }
62  virtual AliESDtrackCuts* GetTrackCutsV0daughters() const
63  { return fV0daughtersCuts; }
64 
65  Float_t GetMassCut(Int_t iPtBin=0) const
66  { return (GetCuts() ? fCutsRD[GetGlobalIndex(0, iPtBin)] : 1.e6);}
68  { return fExcludedCut; }
69  void SetExcludedCut(Int_t excludedCut)
70  { fExcludedCut = excludedCut; }
71  Float_t GetV0PtCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(8,iPtBin)] : 0.);}
73  Float_t minPtCut=99999.;
74  for(Int_t j=0; j<fnPtBins; j++){Float_t c=GetV0PtCut(j); if(c<minPtCut) minPtCut=c;}
75  return minPtCut;
76  }
77 
78 
79 protected:
80 
81 
84  AliESDtrackCuts* fV0daughtersCuts;
85 
86 
88  ClassDef(AliRDHFCutsDplustoK0spi, 1);
89 
91 };
92 
93 #endif
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)=0
virtual Int_t PreSelect(TObjArray)
Definition: AliRDHFCuts.h:314
double Double_t
Definition: External.C:58
Float_t GetMassCut(Int_t iPtBin=0) const
const Float_t * GetCuts() const
Definition: AliRDHFCuts.h:271
AliRDHFCutsDplustoK0spi(const char *name="CutsDplustoK0spi")
TCanvas * c
Definition: TestFitELoss.C:172
virtual AliESDtrackCuts * GetTrackCutsV0daughters() const
virtual Int_t IsSelectedPID(AliAODRecoDecayHF *)
Definition: AliRDHFCuts.h:321
void SetExcludedCut(Int_t excludedCut)
Float_t fV0Type
cut to be excluded (-1=none)
virtual Int_t IsSelected(TObject *obj, Int_t selectionLevel)
Bool_t PreSelect(TObject *obj, AliAODv0 *v0, AliVTrack *bachelorTrack)
virtual Bool_t IsInFiducialAcceptance(Double_t pt, Double_t y) const
int Int_t
Definition: External.C:63
float Float_t
Definition: External.C:68
AliRDHFCutsDplustoK0spi & operator=(const AliRDHFCutsDplustoK0spi &source)
Class for cuts on AOD reconstructed D+->K0S+pi.
Float_t * fCutsRD
fnVars*fnPtBins
Definition: AliRDHFCuts.h:474
AliESDtrackCuts * fV0daughtersCuts
V0 type – should be defined as in AliRDHFCuts.h.
Bool_t IsSelected(TObject *obj)
Definition: AliRDHFCuts.h:312
void AddTrackCutsV0daughters(AliESDtrackCuts *v0daug)
Float_t GetV0PtCut(Int_t iPtBin=0) const
bool Bool_t
Definition: External.C:53
Int_t fnPtBins
cuts on the candidate
Definition: AliRDHFCuts.h:466
virtual Bool_t IsInFiducialAcceptance(Double_t, Double_t) const
Definition: AliRDHFCuts.h:338
Int_t GetGlobalIndex(Int_t iVar, Int_t iPtBin) const
Bool_t AreDtoK0sDaughtersSelected(AliAODRecoDecayHF *rd) const
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *obj, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)
virtual Int_t IsSelectedPID(AliAODRecoDecayHF *obj)