]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/RESONANCES/AliRsnCutSetDaughterParticle.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / AliRsnCutSetDaughterParticle.h
CommitLineData
9cdd5474 1#ifndef ALIRSNCUTSETDAUGHTERPARTICLE_H
2#define ALIRSNCUTSETDAUGHTERPARTICLE_H
3
4//
5// Cuts collection for selecting good daughter candidates for rsn analysis
6//Requires:
7// 1) choice of existing cuts among the enum list
8// 2) PID ipothesis for the daughter particle
9//
10// Author: Francesca Bellini (fbellini@cern.ch)
11//
12
13#include "AliVTrack.h"
14#include "AliRsnCut.h"
15#include "AliRsnCutSet.h"
16#include "AliRsnCutTrackQuality.h"
17#include "AliRsnCutPIDNSigma.h"
18#include "AliRsnCutTOFMatch.h"
6b5662ca 19#include "AliRsnCutPhi.h"
9cdd5474 20
21class AliRsnCutSetDaughterParticle : public AliRsnCutSet {
22
23public:
24
536339fc 25 enum ERsnDaughterCutSet {
26 kNoCuts,
27 kQualityStd2010,//quality only
953fadb4
FB
28 kQualityStd2011,
29 kQualityStd2011HighPt,
536339fc 30 kTOFMatch,
31 kFastTPCpidNsigma, //PbPb analysis
32 kFastTOFpidNsigma,
33 kTPCTOFpidKstarPP2010,
34 kTOFpidKstarPbPb2010,
35 kTOFTPCmismatchKstarPbPb2010,
36 kTOFMatchTRD2010,
37 kTOFMatchNoTRD2010,
38 kTOFpidKstarPbPbTRD2010,
39 kTOFpidKstarPbPbNoTRD2010,
40 kTOFMatchTPCpidNsigma,
41 kQualityStd2010TRD,
42 kQualityStd2010NoTRD,
43 kTOFMatchPPB2011, //pA analysis
44 kTPCpidKstarPPB2011,
45 kTOFpidKstarPPB2011,
46 kTPCTOFpidKstarPPB2011,
953fadb4 47 kTPCTOFtightPidKStarPPB2011, //TPC 2.0 (3.0) sigma pid & TOF at 3.0 (5.0) sigma
536339fc 48 kTPCpidMatchPPB2011, //Match with nsigma = fNsigmaTPC
953fadb4
FB
49 kTPCpidTOFveto4s, //TPC n sigma + 4.0 sigma TOF veto
50 kTPCpidTOFveto3s, //TPC n sigma + 3.0 sigma TOF veto
51 kCombinedPidBestPtDep,
52 kTPCPidPtDep,
53 kTOFPidPtDep,
54 kTPCRejPtDepTOFNsigma,
55 kTPCNsigmaTOFVetoPtDep,
4d7f1628 56 kTPCTOFpidLstar,//cuts for L* in pA
536339fc 57 kNDaughterCuts
58 };
e1fec9d4 59
60 enum ECustomQualityCuts {
61 kDisableCustom = -1,
62 kFilterBitCustom,
63 kStdLooserDCAXY,
64 kStdLooserDCAZ,
65 kStdCrossedRows60,
66 kStdCrossedRows80,
67 kStdRowsToCls075,
68 kStdRowsToCls085,
69 kStdCls70,
70 kStdChi2TPCCls35,
172286d5 71 kStdUseTPCNcls,
e1fec9d4 72 kNcustomQualityCuts
73 };
74
9cdd5474 75 AliRsnCutSetDaughterParticle();
e6952ec7 76 AliRsnCutSetDaughterParticle(const char *name,
77 AliRsnCutSetDaughterParticle::ERsnDaughterCutSet cutSetID,
78 AliPID::EParticleType pid,
79 Float_t nsigmaFast,
172286d5 80 Int_t AODfilterBit,
81 Bool_t useTPCCrossedRows);
e1fec9d4 82 AliRsnCutSetDaughterParticle(const char *name,
83 AliRsnCutTrackQuality *rsnTrackQualityCut,
84 AliRsnCutSetDaughterParticle::ERsnDaughterCutSet cutSetID,
85 AliPID::EParticleType pid,
86 Float_t nSigmaFast);
9cdd5474 87 AliRsnCutSetDaughterParticle(const AliRsnCutSetDaughterParticle &copy);
88 AliRsnCutSetDaughterParticle &operator=(const AliRsnCutSetDaughterParticle &copy);
a6430459 89 virtual ~AliRsnCutSetDaughterParticle();
e6952ec7 90
9cdd5474 91 void Init();
172286d5 92 void InitStdQualityCuts(Bool_t useTPCCrossedRows=kTRUE);
e6952ec7 93 void SetNsigmaForFastTPCpid(Float_t nsigma) {fNsigmaTPC=nsigma; return;};
94 void SetNsigmaForFastTOFpid(Float_t nsigma) {fNsigmaTOF=nsigma; return;};
95 void SetAODTrackCutFilterBit(Int_t ibit) {fAODTrkCutFilterBit=ibit; return;}
e1fec9d4 96 void SetUseFilterBitOnly(Bool_t useFilterBitOnly=kTRUE) {fCheckOnlyFilterBit=useFilterBitOnly; return;}
97 void EnableCustomCuts(Bool_t useCustom=kFALSE) {fUseCustomQualityCuts=useCustom; return;}
98 void SetPtRange(Double_t a, Double_t b) {fPtRange[0] = TMath::Min(a, b); fPtRange[1] = TMath::Max(a, b); return;}
99 void SetEtaRange(Double_t a, Double_t b) {fEtaRange[0] = TMath::Min(a, b); fEtaRange[1] = TMath::Max(a, b); return;}
953fadb4
FB
100 void SetUse2011StdQualityCuts(Bool_t use2011=kFALSE) {fIsUse2011stdQualityCuts=use2011; return;}
101 void SetUse2011StdQualityCutsHighPt(Bool_t use2011HighPt=kFALSE) {fIsUse2011stdQualityCutsHighPt=use2011HighPt; return;}
9cdd5474 102 //getters
e6952ec7 103 const char *GetAppliedDaughterCutSetName() { return GetName();}
b307bb43 104 Int_t GetAppliedDaughterCutSetId() { return fAppliedCutSetID;}
e6952ec7 105 const AliRsnCutTrackQuality *GetQualityCut() {return fCutQuality;};
e1fec9d4 106 void PrintTrackQualityCuts();
9cdd5474 107
536339fc 108 private:
109
9cdd5474 110 AliPID::EParticleType fPID; // PID for track
111 AliRsnCutSetDaughterParticle::ERsnDaughterCutSet fAppliedCutSetID; // ID of applied cut
112 Float_t fNsigmaTPC; // number of TPC sigmas for fast pid cut only
e6952ec7 113 Float_t fNsigmaTOF; // number of TOF sigmas for fast pid cut only
114 AliRsnCutTrackQuality *fCutQuality; //pointer to quality cut object
a6430459 115 Int_t fAODTrkCutFilterBit; //AOD filter bit for track cuts
536339fc 116 Bool_t fCheckOnlyFilterBit; //flag to use only filter bit cut
e1fec9d4 117 Bool_t fUseCustomQualityCuts; //flag to enable the usage of custom quality cuts
118 Float_t fPtRange[2]; //single track pt range (min, max)
119 Float_t fEtaRange[2]; //single track eta range (min, max)
953fadb4
FB
120 Bool_t fIsUse2011stdQualityCuts;//flag to enalble std quality cuts 2011
121 Bool_t fIsUse2011stdQualityCutsHighPt;//flag to enalble std quality cuts 2011
172286d5 122
953fadb4 123 ClassDef(AliRsnCutSetDaughterParticle, 5) // cut definitions for K*
9cdd5474 124
125};
126
127#endif
e1fec9d4 128