]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/AliRDHFCutsLctoV0.h
Updates
[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
27de2dfb 6/* $Id$ */
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
16class AliRDHFCutsLctoV0 : public AliRDHFCuts
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);
a07ad8e0 32
992ba7d8 33 virtual ~AliRDHFCutsLctoV0();
a07ad8e0 34
35 AliRDHFCutsLctoV0(const AliRDHFCutsLctoV0& source);
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);
43
992ba7d8 44 using AliRDHFCuts::IsSelectedPID;
45 virtual Int_t IsSelectedPID(AliAODRecoDecayHF* obj);
46 Int_t IsSelected(TObject* obj, Int_t selectionLevel, Int_t cutIndex);
47
48 Int_t CombinePIDCuts (Int_t returnvalue, Int_t returnvaluePID) const;
49
a07ad8e0 50 Float_t GetMassCut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(0,iPtBin)] : 1.e6);}
51 Float_t GetDCACut(Int_t iPtBin=0) const { return (GetCuts() ? fCutsRD[GetGlobalIndex(7,iPtBin)] : 1.e6);}
52
e7af8919 53 void SetPidSelectionFlag(Int_t a) {fPidSelectionFlag=a;}
54 Int_t GetPidSelectionFlag() {return fPidSelectionFlag;}
55
56 virtual void SetStandardCutsPP2010();
57 virtual void SetStandardCutsPbPb2010();
58 virtual void SetStandardCutsPbPb2011();
59
992ba7d8 60 void SetPidV0pos(AliAODPidHF* pidV0pos) {
61 if (fPidHFV0pos) delete fPidHFV0pos;
62 fPidHFV0pos = new AliAODPidHF(*pidV0pos);
63 }
64 void SetPidV0neg(AliAODPidHF* pidV0neg) {
65 if (fPidHFV0neg) delete fPidHFV0neg;
66 fPidHFV0neg = new AliAODPidHF(*pidV0neg);
67 }
68
69 AliAODPidHF * GetPidV0pos() { return fPidHFV0pos; }
70 AliAODPidHF * GetPidV0neg() { return fPidHFV0neg; }
71
e7af8919 72 void AddTrackCutsV0daughters(AliESDtrackCuts* v0daug) {
73 fV0daughtersCuts = new AliESDtrackCuts(*v0daug);
74 }
75 virtual AliESDtrackCuts *GetTrackCutsV0daughters() const {return fV0daughtersCuts;}
76
a07ad8e0 77 protected:
78
e7af8919 79 void CheckPID(AliAODTrack *bachelor, AliAODTrack *v0Neg, AliAODTrack *v0Pos,
80 Bool_t &isBachelorID1, Bool_t &isV0NegID2, Bool_t &isV0PosID4);
81
992ba7d8 82 private:
83
e7af8919 84 Int_t fPidSelectionFlag;
992ba7d8 85 AliAODPidHF *fPidHFV0pos;
86 AliAODPidHF *fPidHFV0neg;
e7af8919 87 AliESDtrackCuts *fV0daughtersCuts; // cuts for v0 daughters (AOD converted to ESD on the flight!)
992ba7d8 88 //UShort_t fV0channel;
a07ad8e0 89
e7af8919 90 ClassDef(AliRDHFCutsLctoV0,3); // class for cuts on AOD reconstructed Lc->V0+bachelor
a07ad8e0 91};
92
93#endif