]>
Commit | Line | Data |
---|---|---|
74722676 | 1 | #ifndef ALIRSNCUTPION_H |
2 | #define ALIRSNCUTPION_H | |
3 | ||
4 | // | |
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. | |
8 | // | |
9 | ||
10 | #include "AliVTrack.h" | |
11 | #include "AliRsnCut.h" | |
12 | #include "AliRsnCutTrackQuality.h" | |
13 | ||
14 | class AliRsnCutPion : public AliRsnCut { | |
15 | ||
16 | public: | |
61f275d1 | 17 | enum ERsnPionCut { |
18 | kQualityStd2010, | |
19 | kTOFMatchStd2010, | |
20 | kFastTPCpidNsigma, | |
21 | kFastTPCpid1point5sigma, | |
22 | kFastTPCpid2sigma, | |
23 | kFastTPCpid3sigma, | |
24 | kFastTOFpidNsigma, | |
25 | kFastTOFpid1point5sigma, | |
26 | kFastTOFpid2sigma, | |
27 | kFastTOFpid3sigma, | |
28 | kTPCTOFpidDefaultKstarPP2010, | |
29 | kNpionCuts | |
30 | }; | |
31 | ||
32 | AliRsnCutPion(const char *name = "", AliRsnCutPion::ERsnPionCut cutID = AliRsnCutPion::kQualityStd2010, AliPID::EParticleType pid = AliPID::kPion); | |
33 | virtual ~AliRsnCutPion() { } | |
34 | ||
35 | void SetNoPID(Bool_t yn = kTRUE) {fNoPID = yn;} | |
36 | AliRsnCutTrackQuality *CutQuality() {return &fCutQuality;} | |
37 | Bool_t MatchTOF(const AliVTrack *vtrack); | |
38 | ||
39 | Bool_t IsSelected(TObject *obj); | |
40 | ||
41 | Bool_t IsSelectedByQualityStd2010(TObject *obj, Bool_t requireTPCin, Bool_t requireTPCrefit, Bool_t requireITSrefit ); | |
42 | Bool_t IsSelectedByTOFMatchStd2010(TObject *obj); | |
43 | ||
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);} | |
48 | ||
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);} | |
53 | ||
54 | Bool_t IsSelectedByTPCTOFpidDefaultKstarPP2010(TObject *obj); | |
55 | ||
56 | //setters | |
57 | void SetNsigmaCutTPC(Float_t nMaxSigmaCut=1E6) {fNsigmaCutTPC=nMaxSigmaCut; return;} | |
58 | void SetNsigmaCutTOF(Float_t nMaxSigmaCut=1E6) {fNsigmaCutTOF=nMaxSigmaCut; return;} | |
59 | ||
60 | //getters | |
61 | const char *GetAppliedPionCutName() {if (fAppliedCutID>0) { return fgkCutName[fAppliedCutID];} else {return "none";}} | |
62 | Int_t GetAppliedPionCutId() { return fAppliedCutID;} | |
63 | const char *GetPionCutName(AliRsnCutPion::ERsnPionCut cutID) { return fgkCutName[cutID];} | |
64 | ||
65 | private: | |
66 | ||
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[kNpionCuts]; //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 | |
74 | ||
75 | ClassDef(AliRsnCutPion,1) // cut definitions for K* | |
76 | ||
74722676 | 77 | }; |
78 | ||
79 | #endif |