1 #ifndef ALIRSNCUTKAON_H
2 #define ALIRSNCUTKAON_H
5 // Cuts for selecting good pion candidates for rsn analysis
6 // Applies track quality selection plus PID selection,
7 // with different tolerance ranges depending on the momentum.
10 #include "AliVTrack.h"
11 #include "AliRsnCut.h"
12 #include "AliRsnCutTrackQuality.h"
14 class AliRsnCutKaon : public AliRsnCut {
21 kFastTPCpid1point5sigma,
25 kFastTOFpid1point5sigma,
28 kTPCTOFpidDefaultKstarPP2010,
32 AliRsnCutKaon(const char *name = "", AliRsnCutKaon::ERsnKaonCut cutID = AliRsnCutKaon::kQualityStd2010 , AliPID::EParticleType pid = AliPID::kKaon);
33 virtual ~AliRsnCutKaon() { }
35 void SetNoPID(Bool_t yn = kTRUE) {fNoPID = yn;}
36 AliRsnCutTrackQuality *CutQuality() {return &fCutQuality;}
37 Bool_t MatchTOF(const AliVTrack *vtrack);
39 Bool_t IsSelected(TObject *obj);
41 Bool_t IsSelectedByQualityStd2010(TObject *obj, Bool_t requireTPCin, Bool_t requireTPCrefit, Bool_t requireITSrefit );
42 Bool_t IsSelectedByTOFMatchStd2010(TObject *obj);
44 Bool_t IsSelectedByFastTPCpidNsigma(TObject *obj,Float_t nSigmaCut);
45 Bool_t IsSelectedByFastTPCpid1point5sigma(TObject *obj) {return IsSelectedByFastTPCpidNsigma(obj, 1.5);}
46 Bool_t IsSelectedByFastTPCpid2sigma(TObject *obj) {return IsSelectedByFastTPCpidNsigma(obj, 2.0);}
47 Bool_t IsSelectedByFastTPCpid3sigma(TObject *obj) {return IsSelectedByFastTPCpidNsigma(obj, 3.0);}
49 Bool_t IsSelectedByFastTOFpidNsigma(TObject *obj,Float_t nSigmaCut);
50 Bool_t IsSelectedByFastTOFpid1point5sigma(TObject *obj) {return IsSelectedByFastTOFpidNsigma(obj, 1.5);}
51 Bool_t IsSelectedByFastTOFpid2sigma(TObject *obj) {return IsSelectedByFastTOFpidNsigma(obj, 2.0);}
52 Bool_t IsSelectedByFastTOFpid3sigma(TObject *obj) {return IsSelectedByFastTOFpidNsigma(obj, 3.0);}
54 Bool_t IsSelectedByTPCTOFpidDefaultKstarPP2010(TObject *obj);
57 void SetNsigmaCutTPC(Float_t nMaxSigmaCut=1E6) {fNsigmaCutTPC=nMaxSigmaCut; return;}
58 void SetNsigmaCutTOF(Float_t nMaxSigmaCut=1E6) {fNsigmaCutTOF=nMaxSigmaCut; return;}
61 const char *GetAppliedKaonCutName() { if (fAppliedCutID>0) { return fgkCutName[fAppliedCutID];} else {return "none";}}
62 Int_t GetAppliedKaonCutId() { return fAppliedCutID;}
63 const char *GetKaonCutName(const AliRsnCutKaon::ERsnKaonCut cutID) { return fgkCutName[cutID];}
67 Bool_t fNoPID; // flag to switch off PID check
68 AliPID::EParticleType fPID; // PID for track
69 AliRsnCutTrackQuality fCutQuality; // track quality cut
70 Int_t fAppliedCutID; // ID of applied cut
71 static const char *fgkCutName[kNkaonCuts]; //array with cuts names
72 Float_t fNsigmaCutTPC; // max sigma for TPC dE/dx fast cut
73 Float_t fNsigmaCutTOF; // max sigma for TOF t-t0-t_exp fast cut
75 ClassDef(AliRsnCutKaon, 1) // cut definitions for K*