1 ////////////////////////////////////////////////////////////////////////////////
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 //
7 ////////////////////////////////////////////////////////////////////////////////
9 #ifndef ALIFEMTOBASICTRACKCUT_H
10 #define ALIFEMTOBASICTRACKCUT_H
13 //#include "StMaker.h"
16 #include "AliFemtoTrackCut.h"
18 class AliFemtoBasicTrackCut : public AliFemtoTrackCut {
22 AliFemtoBasicTrackCut();
25 virtual bool Pass(const AliFemtoTrack* tr);
27 virtual AliFemtoString Report();
28 virtual TList *ListSettings();
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);
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);
38 void SetCharge(const int& ch);
41 private: // here are the quantities I want to cut on...
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
52 long fNTracksPassed; // passed tracks counter
53 long fNTracksFailed; // falied tracks counter
56 ClassDef(AliFemtoBasicTrackCut, 1)
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;}
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;}