StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
helensLaPTrackCut.h
1  /***************************************************************************
2  *
3  *
4  *
5  * Author: Frank Laue, Ohio State, laue@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 
17 #ifndef helensLaPTrackCut_hh
18 #define helensLaPTrackCut_hh
19 
20 
21 //#ifndef StMaker_H
22 //#include "StMaker.h"
23 //#endif
24 
25 #include "StHbtMaker/Base/StHbtTrackCut.h"
26 
28 {
29 
30  public:
31 
35 
36  virtual bool Pass(const StHbtTrack*);
37 
38  virtual StHbtString Report();
39 
40 
41  void SetNSigmaElectron(const float& lo, const float& hi);
42  void SetNSigmaPion(const float& lo, const float& hi);
43  void SetNSigmaKaon(const float& lo, const float& hi);
44  void SetNSigmaProton(const float& lo, const float& hi);
45  void SetNSigmaAntiElectron(const float& lo, const float& hi);
46  void SetNSigmaAntiPion(const float& lo, const float& hi);
47  void SetNSigmaAntiKaon(const float& lo, const float& hi);
48  void SetNSigmaAntiProton(const float& lo, const float& hi);
49 
50 
51  void SetNHits(const int& lo, const int& hi);
52  void SetP(const float& lo, const float& hi);
53  void SetPt(const float& lo, const float& hi);
54  void SetPx(const float& lo, const float& hi);
55  void SetPy(const float& lo, const float& hi);
56  void SetPz(const float& lo, const float& hi);
57  void SetRapidity(const float& lo, const float& hi);
58  void SetDCA(const float& lo, const float& hi);
59  void SetCharge(const int&);
60 
61  helensLaPTrackCut* Clone();
62 
63 private: // here are the quantities I want to cut on...
64 
65  int mCharge;
66  float mNSigmaElectron[2];
67  float mNSigmaPion[2];
68  float mNSigmaKaon[2];
69  float mNSigmaProton[2];
70  float mNSigmaAntiElectron[2];
71  float mNSigmaAntiPion[2];
72  float mNSigmaAntiKaon[2];
73  float mNSigmaAntiProton[2];
74  int mNHits[2];
75  float mP[2];
76  float mPt[2];
77  float mPx[2];
78  float mPy[2];
79  float mPz[2];
80  float mRapidity[2];
81  float mDCA[2];
82 
83  long mNTracksPassed;
84  long mNTracksFailed;
85 
86 #ifdef __ROOT__
87  ClassDef(helensLaPTrackCut, 1)
88 #endif
89 };
90 
91 
92 inline void helensLaPTrackCut::SetNSigmaElectron(const float& lo, const float& hi){mNSigmaElectron[0]=lo; mNSigmaElectron[1]=hi;}
93 inline void helensLaPTrackCut::SetNSigmaPion(const float& lo, const float& hi){mNSigmaPion[0]=lo; mNSigmaPion[1]=hi;}
94 inline void helensLaPTrackCut::SetNSigmaKaon(const float& lo, const float& hi){mNSigmaKaon[0]=lo; mNSigmaKaon[1]=hi;}
95 inline void helensLaPTrackCut::SetNSigmaProton(const float& lo, const float& hi){mNSigmaProton[0]=lo; mNSigmaProton[1]=hi;}
96 inline void helensLaPTrackCut::SetNSigmaAntiElectron(const float& lo, const float& hi){
97  mNSigmaAntiElectron[0]=lo; mNSigmaAntiElectron[1]=hi;}
98 inline void helensLaPTrackCut::SetNSigmaAntiPion(const float& lo, const float& hi){
99  mNSigmaAntiPion[0]=lo; mNSigmaAntiPion[1]=hi;}
100 inline void helensLaPTrackCut::SetNSigmaAntiKaon(const float& lo, const float& hi){
101  mNSigmaAntiKaon[0]=lo; mNSigmaAntiKaon[1]=hi;}
102 inline void helensLaPTrackCut::SetNSigmaAntiProton(const float& lo, const float& hi){
103  mNSigmaAntiProton[0]=lo; mNSigmaAntiProton[1]=hi;}
104 
105 inline void helensLaPTrackCut::SetNHits(const int& lo, const int& hi){mNHits[0]=lo;mNHits[1]=hi;}
106 inline void helensLaPTrackCut::SetP(const float& lo, const float& hi){mP[0]=lo; mP[1]=hi;}
107 inline void helensLaPTrackCut::SetPt(const float& lo, const float& hi){mPt[0]=lo; mPt[1]=hi;}
108 inline void helensLaPTrackCut::SetPx(const float& lo, const float& hi){mPx[0]=lo; mPx[1]=hi;}
109 inline void helensLaPTrackCut::SetPy(const float& lo, const float& hi){mPy[0]=lo; mPy[1]=hi;}
110 inline void helensLaPTrackCut::SetPz(const float& lo, const float& hi){mPz[0]=lo; mPz[1]=hi;}
111 inline void helensLaPTrackCut::SetRapidity(const float& lo,const float& hi){mRapidity[0]=lo; mRapidity[1]=hi;}
112 inline void helensLaPTrackCut::SetDCA(const float& lo,const float& hi){mDCA[0]=lo; mDCA[1]=hi;}
113 inline void helensLaPTrackCut::SetCharge(const int& ch){mCharge = ch;}
114 inline helensLaPTrackCut* helensLaPTrackCut::Clone() { helensLaPTrackCut* c = new helensLaPTrackCut(*this); return c;}
115 
116 #endif