d0e92d9a |
1 | //////////////////////////////////////////////////////////////////////////////// |
2 | // // |
3 | // AliFemtoBasicTrackCut - the basic cut for tracks. // |
4 | // Cuts on particle identification, transverse momentum, rapidity, distance // |
5 | // of closest approach to primary vertex and charge // |
6 | // // |
7 | //////////////////////////////////////////////////////////////////////////////// |
67427ff7 |
8 | |
d92ed900 |
9 | #ifndef ALIFEMTOBASICTRACKCUT_H |
10 | #define ALIFEMTOBASICTRACKCUT_H |
67427ff7 |
11 | |
12 | //#ifndef StMaker_H |
13 | //#include "StMaker.h" |
14 | //#endif |
15 | |
d0e92d9a |
16 | #include "AliFemtoTrackCut.h" |
67427ff7 |
17 | |
18 | class AliFemtoBasicTrackCut : public AliFemtoTrackCut { |
19 | |
20 | public: |
21 | |
22 | AliFemtoBasicTrackCut(); |
23 | //~mikesTrackCut(); |
24 | |
d92ed900 |
25 | virtual bool Pass(const AliFemtoTrack* tr); |
67427ff7 |
26 | |
27 | virtual AliFemtoString Report(); |
3a74204a |
28 | virtual TList *ListSettings(); |
67427ff7 |
29 | |
30 | void SetNSigmaPion(const float& lo, const float& hi); |
31 | void SetNSigmaKaon(const float& lo, const float& hi); |
32 | void SetNSigmaProton(const float& lo, const float& hi); |
33 | |
34 | void SetNHits(const int& lo, const int& hi); |
35 | void SetPt(const float& lo, const float& hi); |
36 | void SetRapidity(const float& lo, const float& hi); |
37 | void SetDCA(const float& lo, const float& hi); |
d92ed900 |
38 | void SetCharge(const int& ch); |
67427ff7 |
39 | |
40 | |
41 | private: // here are the quantities I want to cut on... |
42 | |
d92ed900 |
43 | int fCharge; // charge of the track |
44 | float fNSigmaPion[2]; // bounds for nsigma dEdx from pion band |
45 | float fNSigmaKaon[2]; // bounds for nsigma dEdx from kaon band |
46 | float fNSigmaProton[2]; // bounds for nsigma dEdx from proton band |
47 | int fNHits[2]; // bounds for number of hits |
48 | float fPt[2]; // bounds for transverse momentum |
49 | float fRapidity[2]; // bounds for rapidity |
50 | float fDCA[2]; // bounds for DCA to primary vertex |
51 | |
52 | long fNTracksPassed; // passed tracks counter |
53 | long fNTracksFailed; // falied tracks counter |
67427ff7 |
54 | |
55 | #ifdef __ROOT__ |
56 | ClassDef(AliFemtoBasicTrackCut, 1) |
57 | #endif |
58 | }; |
59 | |
60 | |
61 | inline void AliFemtoBasicTrackCut::SetNSigmaPion(const float& lo, const float& hi){fNSigmaPion[0]=lo; fNSigmaPion[1]=hi;} |
62 | inline void AliFemtoBasicTrackCut::SetNSigmaKaon(const float& lo, const float& hi){fNSigmaKaon[0]=lo; fNSigmaKaon[1]=hi;} |
63 | inline void AliFemtoBasicTrackCut::SetNSigmaProton(const float& lo, const float& hi){fNSigmaProton[0]=lo; fNSigmaProton[1]=hi;} |
64 | |
65 | inline void AliFemtoBasicTrackCut::SetNHits(const int& lo, const int& hi){fNHits[0]=lo;fNHits[1]=hi;} |
66 | inline void AliFemtoBasicTrackCut::SetPt(const float& lo, const float& hi){fPt[0]=lo; fPt[1]=hi;} |
67 | inline void AliFemtoBasicTrackCut::SetRapidity(const float& lo,const float& hi){fRapidity[0]=lo; fRapidity[1]=hi;} |
68 | inline void AliFemtoBasicTrackCut::SetDCA(const float& lo,const float& hi){fDCA[0]=lo; fDCA[1]=hi;} |
69 | inline void AliFemtoBasicTrackCut::SetCharge(const int& ch){fCharge = ch;} |
70 | |
71 | #endif |