]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/AliRDHFCutsLctoV0.h
adding checks and debugging information
[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
992ba7d8 13#include "AliAODPidHF.h"
a07ad8e0 14#include "AliRDHFCuts.h"
15
34595b3c 16class AliRDHFCutsLctoV0 : public AliRDHFCuts
a07ad8e0 17{
18 public:
19
e7af8919 20 enum ELctoV0channel {
992ba7d8 21 kLcToK0Spr=0x0001,
22 kLcToLBarpi=0x0002,
23 kLcToLpi=0x0004
24 };
25
e7af8919 26 enum ELctoV0pidStrategy {
27 kTOFandTPC=0,
28 kTOForTPCveto=1
29 };
30
992ba7d8 31 AliRDHFCutsLctoV0(const char* name="CutsLctoV0", Short_t v0channel=0);
34595b3c 32
992ba7d8 33 virtual ~AliRDHFCutsLctoV0();
a07ad8e0 34
35 AliRDHFCutsLctoV0(const AliRDHFCutsLctoV0& source);
34595b3c 36 AliRDHFCutsLctoV0& operator=(const AliRDHFCutsLctoV0& source);
37
ed2d2734 38 using AliRDHFCuts::GetCutVarsForOpt;
a07ad8e0 39 virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters);
40
41 using AliRDHFCuts::IsSelected;
42 virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel);
34595b3c 43
992ba7d8 44 using AliRDHFCuts::IsSelectedPID;
45 virtual Int_t IsSelectedPID(AliAODRecoDecayHF* obj);
0dbd1d4f 46
47 Int_t IsSelectedSingleCut(TObject* obj, Int_t selectionLevel, Int_t cutIndex);
992ba7d8 48
49 Int_t CombinePIDCuts (Int_t returnvalue, Int_t returnvaluePID) const;
50
a07ad8e0 51 Float_t GetMassCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(0,iPtBin)] : 1.e6);}
52 Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(7,iPtBin)] : 1.e6);}
53
e7af8919 54 void SetPidSelectionFlag(Int_t a) {fPidSelectionFlag=a;}
55 Int_t GetPidSelectionFlag() {return fPidSelectionFlag;}
56
34595b3c 57 Int_t GetV0Type();
58
e7af8919 59 virtual void SetStandardCutsPP2010();
60 virtual void SetStandardCutsPbPb2010();
61 virtual void SetStandardCutsPbPb2011();
62
992ba7d8 63 void SetPidV0pos(AliAODPidHF* pidV0pos) {
64 if (fPidHFV0pos) delete fPidHFV0pos;
65 fPidHFV0pos = new AliAODPidHF(*pidV0pos);
66 }
67 void SetPidV0neg(AliAODPidHF* pidV0neg) {
68 if (fPidHFV0neg) delete fPidHFV0neg;
69 fPidHFV0neg = new AliAODPidHF(*pidV0neg);
70 }
71
72 AliAODPidHF * GetPidV0pos() { return fPidHFV0pos; }
73 AliAODPidHF * GetPidV0neg() { return fPidHFV0neg; }
74
e7af8919 75 void AddTrackCutsV0daughters(AliESDtrackCuts* v0daug) {
76 fV0daughtersCuts = new AliESDtrackCuts(*v0daug);
77 }
78 virtual AliESDtrackCuts *GetTrackCutsV0daughters() const {return fV0daughtersCuts;}
79
a07ad8e0 80 protected:
81
e7af8919 82 void CheckPID(AliAODTrack *bachelor, AliAODTrack *v0Neg, AliAODTrack *v0Pos,
83 Bool_t &isBachelorID1, Bool_t &isV0NegID2, Bool_t &isV0PosID4);
84
992ba7d8 85 private:
86
e7af8919 87 Int_t fPidSelectionFlag;
992ba7d8 88 AliAODPidHF *fPidHFV0pos;
89 AliAODPidHF *fPidHFV0neg;
e7af8919 90 AliESDtrackCuts *fV0daughtersCuts; // cuts for v0 daughters (AOD converted to ESD on the flight!)
34595b3c 91 Float_t fV0Type; // V0 type -- should be defined as in AliRDHFCuts.h
92
992ba7d8 93 //UShort_t fV0channel;
a07ad8e0 94
34595b3c 95 ClassDef(AliRDHFCutsLctoV0,4); // class for cuts on AOD reconstructed Lc->V0+bachelor
a07ad8e0 96};
97
98#endif