StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mikesTrackCut.h
1 /***************************************************************************
2  *
3  *
4  *
5  * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
6  ***************************************************************************
7  *
8  * Description: part of STAR HBT Framework: StHbtMaker package
9  * a simple particle cut that selects on phasespace, #hits, DCA, and PID
10  *
11  ***************************************************************************
12  *
13  *
14  **************************************************************************/
15 
16 #ifndef mikesTrackCut_hh
17 #define mikesTrackCut_hh
18 
19 //#ifndef StMaker_H
20 //#include "StMaker.h"
21 //#endif
22 
23 #include "StHbtMaker/Base/StHbtTrackCut.h"
24 
25 class mikesTrackCut : public StHbtTrackCut {
26 
27 public:
28 
29  mikesTrackCut();
30  //~mikesTrackCut();
31 
32  virtual bool Pass(const StHbtTrack*);
33 
34  virtual StHbtString Report();
35 
36 
37  void SetNSigmaPion(const float& lo, const float& hi);
38  void SetNSigmaKaon(const float& lo, const float& hi);
39  void SetNSigmaProton(const float& lo, const float& hi);
40 
41  void SetNHits(const int& lo, const int& hi);
42  void SetPt(const float& lo, const float& hi);
43  void SetRapidity(const float& lo, const float& hi);
44  void SetDCA(const float& lo, const float& hi);
45  void SetCharge(const int&);
46 
47 
48 private: // here are the quantities I want to cut on...
49 
50  int mCharge;
51  float mNSigmaPion[2];
52  float mNSigmaKaon[2];
53  float mNSigmaProton[2];
54  int mNHits[2];
55  float mPt[2];
56  float mRapidity[2];
57  float mDCA[2];
58 
59  long mNTracksPassed;
60  long mNTracksFailed;
61 
62 #ifdef __ROOT__
63  ClassDef(mikesTrackCut, 1)
64 #endif
65 };
66 
67 
68 inline void mikesTrackCut::SetNSigmaPion(const float& lo, const float& hi){mNSigmaPion[0]=lo; mNSigmaPion[1]=hi;}
69 inline void mikesTrackCut::SetNSigmaKaon(const float& lo, const float& hi){mNSigmaKaon[0]=lo; mNSigmaKaon[1]=hi;}
70 inline void mikesTrackCut::SetNSigmaProton(const float& lo, const float& hi){mNSigmaProton[0]=lo; mNSigmaProton[1]=hi;}
71 
72 inline void mikesTrackCut::SetNHits(const int& lo, const int& hi){mNHits[0]=lo;mNHits[1]=hi;}
73 inline void mikesTrackCut::SetPt(const float& lo, const float& hi){mPt[0]=lo; mPt[1]=hi;}
74 inline void mikesTrackCut::SetRapidity(const float& lo,const float& hi){mRapidity[0]=lo; mRapidity[1]=hi;}
75 inline void mikesTrackCut::SetDCA(const float& lo,const float& hi){mDCA[0]=lo; mDCA[1]=hi;}
76 inline void mikesTrackCut::SetCharge(const int& ch){mCharge = ch;}
77 
78 #endif