]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/RESONANCES/AliRsnCutSetDaughterParticle.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[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,
536339fc 56 kNDaughterCuts
57 };
e1fec9d4 58
59 enum ECustomQualityCuts {
60 kDisableCustom = -1,
61 kFilterBitCustom,
62 kStdLooserDCAXY,
63 kStdLooserDCAZ,
64 kStdCrossedRows60,
65 kStdCrossedRows80,
66 kStdRowsToCls075,
67 kStdRowsToCls085,
68 kStdCls70,
69 kStdChi2TPCCls35,
70 kNcustomQualityCuts
71 };
72
9cdd5474 73 AliRsnCutSetDaughterParticle();
e6952ec7 74 AliRsnCutSetDaughterParticle(const char *name,
75 AliRsnCutSetDaughterParticle::ERsnDaughterCutSet cutSetID,
76 AliPID::EParticleType pid,
77 Float_t nsigmaFast,
78 Int_t AODfilterBit);
e1fec9d4 79 AliRsnCutSetDaughterParticle(const char *name,
80 AliRsnCutTrackQuality *rsnTrackQualityCut,
81 AliRsnCutSetDaughterParticle::ERsnDaughterCutSet cutSetID,
82 AliPID::EParticleType pid,
83 Float_t nSigmaFast);
9cdd5474 84 AliRsnCutSetDaughterParticle(const AliRsnCutSetDaughterParticle &copy);
85 AliRsnCutSetDaughterParticle &operator=(const AliRsnCutSetDaughterParticle &copy);
a6430459 86 virtual ~AliRsnCutSetDaughterParticle();
e6952ec7 87
9cdd5474 88 void Init();
e1fec9d4 89 void InitStdQualityCuts();
e6952ec7 90 void SetNsigmaForFastTPCpid(Float_t nsigma) {fNsigmaTPC=nsigma; return;};
91 void SetNsigmaForFastTOFpid(Float_t nsigma) {fNsigmaTOF=nsigma; return;};
92 void SetAODTrackCutFilterBit(Int_t ibit) {fAODTrkCutFilterBit=ibit; return;}
e1fec9d4 93 void SetUseFilterBitOnly(Bool_t useFilterBitOnly=kTRUE) {fCheckOnlyFilterBit=useFilterBitOnly; return;}
94 void EnableCustomCuts(Bool_t useCustom=kFALSE) {fUseCustomQualityCuts=useCustom; return;}
95 void SetPtRange(Double_t a, Double_t b) {fPtRange[0] = TMath::Min(a, b); fPtRange[1] = TMath::Max(a, b); return;}
96 void SetEtaRange(Double_t a, Double_t b) {fEtaRange[0] = TMath::Min(a, b); fEtaRange[1] = TMath::Max(a, b); return;}
953fadb4
FB
97 void SetUse2011StdQualityCuts(Bool_t use2011=kFALSE) {fIsUse2011stdQualityCuts=use2011; return;}
98 void SetUse2011StdQualityCutsHighPt(Bool_t use2011HighPt=kFALSE) {fIsUse2011stdQualityCutsHighPt=use2011HighPt; return;}
9cdd5474 99 //getters
e6952ec7 100 const char *GetAppliedDaughterCutSetName() { return GetName();}
b307bb43 101 Int_t GetAppliedDaughterCutSetId() { return fAppliedCutSetID;}
e6952ec7 102 const AliRsnCutTrackQuality *GetQualityCut() {return fCutQuality;};
e1fec9d4 103 void PrintTrackQualityCuts();
9cdd5474 104
536339fc 105 private:
106
9cdd5474 107 AliPID::EParticleType fPID; // PID for track
108 AliRsnCutSetDaughterParticle::ERsnDaughterCutSet fAppliedCutSetID; // ID of applied cut
109 Float_t fNsigmaTPC; // number of TPC sigmas for fast pid cut only
e6952ec7 110 Float_t fNsigmaTOF; // number of TOF sigmas for fast pid cut only
111 AliRsnCutTrackQuality *fCutQuality; //pointer to quality cut object
a6430459 112 Int_t fAODTrkCutFilterBit; //AOD filter bit for track cuts
536339fc 113 Bool_t fCheckOnlyFilterBit; //flag to use only filter bit cut
e1fec9d4 114 Bool_t fUseCustomQualityCuts; //flag to enable the usage of custom quality cuts
115 Float_t fPtRange[2]; //single track pt range (min, max)
116 Float_t fEtaRange[2]; //single track eta range (min, max)
953fadb4
FB
117 Bool_t fIsUse2011stdQualityCuts;//flag to enalble std quality cuts 2011
118 Bool_t fIsUse2011stdQualityCutsHighPt;//flag to enalble std quality cuts 2011
119
120 ClassDef(AliRsnCutSetDaughterParticle, 5) // cut definitions for K*
9cdd5474 121
122};
123
124#endif
e1fec9d4 125