]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/AliRDHFCutsLctoV0.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliRDHFCutsLctoV0.h
CommitLineData
a07ad8e0 1#ifndef ALIRDHFCUTSLCTOV0_H
2#define ALIRDHFCUTSLCTOV0_H
3/* Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
34595b3c 6/* $Id$ */
27de2dfb 7
a07ad8e0 8//***********************************************************
9// Class AliRDHFCutsLctoV0
10// class for cuts on AOD reconstructed Lc-> V0 + bachelor
11//***********************************************************
12
13#include "AliRDHFCuts.h"
14
34595b3c 15class AliRDHFCutsLctoV0 : public AliRDHFCuts
a07ad8e0 16{
17 public:
18
e7af8919 19 enum ELctoV0channel {
992ba7d8 20 kLcToK0Spr=0x0001,
21 kLcToLBarpi=0x0002,
22 kLcToLpi=0x0004
23 };
24
e7af8919 25 enum ELctoV0pidStrategy {
26 kTOFandTPC=0,
a578b2da 27 kTOForTPCveto=1,
28 kTOFandTPCasym1=2,
53c91ed7 29 kTOFandTPCasym2=3,
30 kTPClowTOFhigh=4,
31 kTPClowTOFintermediateTOForTPChigh=5
e7af8919 32 };
33
992ba7d8 34 AliRDHFCutsLctoV0(const char* name="CutsLctoV0", Short_t v0channel=0);
34595b3c 35
992ba7d8 36 virtual ~AliRDHFCutsLctoV0();
a07ad8e0 37
38 AliRDHFCutsLctoV0(const AliRDHFCutsLctoV0& source);
34595b3c 39 AliRDHFCutsLctoV0& operator=(const AliRDHFCutsLctoV0& source);
40
ed2d2734 41 using AliRDHFCuts::GetCutVarsForOpt;
a07ad8e0 42 virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters);
43
44 using AliRDHFCuts::IsSelected;
45 virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel);
34595b3c 46
992ba7d8 47 using AliRDHFCuts::IsSelectedPID;
48 virtual Int_t IsSelectedPID(AliAODRecoDecayHF* obj);
0dbd1d4f 49
50 Int_t IsSelectedSingleCut(TObject* obj, Int_t selectionLevel, Int_t cutIndex);
992ba7d8 51
60b29186 52 Int_t CombineCuts (Int_t returnvalueTrack, Int_t returnvalue, Int_t returnvaluePID) const;
992ba7d8 53
a07ad8e0 54 Float_t GetMassCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(0,iPtBin)] : 1.e6);}
55 Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(7,iPtBin)] : 1.e6);}
56
e7af8919 57 void SetPidSelectionFlag(Int_t a) {fPidSelectionFlag=a;}
58 Int_t GetPidSelectionFlag() {return fPidSelectionFlag;}
59
60b29186 60 Bool_t AreLctoV0DaughtersSelected(AliAODRecoDecayHF *rd) const;
61
34595b3c 62 Int_t GetV0Type();
63
53c91ed7 64 void SetHighPtCut(Float_t highPtCut) {fHighPtCut=highPtCut;};
65 Float_t GetHighPtCut() const {return fHighPtCut;};
66
67 void SetLowPtCut(Float_t lowPtCut) {fLowPtCut=lowPtCut;};
68 Float_t GetLowPtCut() const {return fLowPtCut;};
69
b833016c 70 void SetExcludedCut(Int_t excludedCut) {fExcludedCut=excludedCut;}
71 Int_t GetExcludedCut(){return fExcludedCut;}
72
e7af8919 73 virtual void SetStandardCutsPP2010();
74 virtual void SetStandardCutsPbPb2010();
75 virtual void SetStandardCutsPbPb2011();
76
a578b2da 77 virtual Bool_t IsInFiducialAcceptance(Double_t pt,Double_t y) const;
78
60b29186 79 void AddTrackCutsV0daughters(AliESDtrackCuts* v0daug)
80 { delete fV0daughtersCuts; fV0daughtersCuts = new AliESDtrackCuts(*v0daug); }
e7af8919 81 virtual AliESDtrackCuts *GetTrackCutsV0daughters() const {return fV0daughtersCuts;}
82
a578b2da 83 virtual void PrintAll() const;
a07ad8e0 84 protected:
85
53c91ed7 86 void CheckPID(AliAODTrack *bachelor, AliAODTrack * /*v0Neg*/, AliAODTrack * /*v0Pos*/,
87 Bool_t &isBachelorID1, Bool_t &isBachelorID2, Bool_t &isBachelorID4);
e7af8919 88
992ba7d8 89 private:
90
e7af8919 91 Int_t fPidSelectionFlag;
e7af8919 92 AliESDtrackCuts *fV0daughtersCuts; // cuts for v0 daughters (AOD converted to ESD on the flight!)
34595b3c 93 Float_t fV0Type; // V0 type -- should be defined as in AliRDHFCuts.h
53c91ed7 94 Float_t fHighPtCut; // high pT cut separation for proton identification
95 Float_t fLowPtCut; // low pT cut separation for proton identification
b833016c 96 Int_t fExcludedCut; // cut to be excluded (-1=none)
34595b3c 97
992ba7d8 98 //UShort_t fV0channel;
a07ad8e0 99
b833016c 100 ClassDef(AliRDHFCutsLctoV0,6); // class for cuts on AOD reconstructed Lc->V0+bachelor
a07ad8e0 101};
102
103#endif