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