00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef helensLaPTrackCut_hh
00018 #define helensLaPTrackCut_hh
00019
00020
00021
00022
00023
00024
00025 #include "StHbtMaker/Base/StHbtTrackCut.h"
00026
00027 class helensLaPTrackCut : public StHbtTrackCut
00028 {
00029
00030 public:
00031
00032 helensLaPTrackCut();
00033 helensLaPTrackCut(helensLaPTrackCut& );
00034 ~helensLaPTrackCut();
00035
00036 virtual bool Pass(const StHbtTrack*);
00037
00038 virtual StHbtString Report();
00039
00040
00041 void SetNSigmaElectron(const float& lo, const float& hi);
00042 void SetNSigmaPion(const float& lo, const float& hi);
00043 void SetNSigmaKaon(const float& lo, const float& hi);
00044 void SetNSigmaProton(const float& lo, const float& hi);
00045 void SetNSigmaAntiElectron(const float& lo, const float& hi);
00046 void SetNSigmaAntiPion(const float& lo, const float& hi);
00047 void SetNSigmaAntiKaon(const float& lo, const float& hi);
00048 void SetNSigmaAntiProton(const float& lo, const float& hi);
00049
00050
00051 void SetNHits(const int& lo, const int& hi);
00052 void SetP(const float& lo, const float& hi);
00053 void SetPt(const float& lo, const float& hi);
00054 void SetPx(const float& lo, const float& hi);
00055 void SetPy(const float& lo, const float& hi);
00056 void SetPz(const float& lo, const float& hi);
00057 void SetRapidity(const float& lo, const float& hi);
00058 void SetDCA(const float& lo, const float& hi);
00059 void SetCharge(const int&);
00060
00061 helensLaPTrackCut* Clone();
00062
00063 private:
00064
00065 int mCharge;
00066 float mNSigmaElectron[2];
00067 float mNSigmaPion[2];
00068 float mNSigmaKaon[2];
00069 float mNSigmaProton[2];
00070 float mNSigmaAntiElectron[2];
00071 float mNSigmaAntiPion[2];
00072 float mNSigmaAntiKaon[2];
00073 float mNSigmaAntiProton[2];
00074 int mNHits[2];
00075 float mP[2];
00076 float mPt[2];
00077 float mPx[2];
00078 float mPy[2];
00079 float mPz[2];
00080 float mRapidity[2];
00081 float mDCA[2];
00082
00083 long mNTracksPassed;
00084 long mNTracksFailed;
00085
00086 #ifdef __ROOT__
00087 ClassDef(helensLaPTrackCut, 1)
00088 #endif
00089 };
00090
00091
00092 inline void helensLaPTrackCut::SetNSigmaElectron(const float& lo, const float& hi){mNSigmaElectron[0]=lo; mNSigmaElectron[1]=hi;}
00093 inline void helensLaPTrackCut::SetNSigmaPion(const float& lo, const float& hi){mNSigmaPion[0]=lo; mNSigmaPion[1]=hi;}
00094 inline void helensLaPTrackCut::SetNSigmaKaon(const float& lo, const float& hi){mNSigmaKaon[0]=lo; mNSigmaKaon[1]=hi;}
00095 inline void helensLaPTrackCut::SetNSigmaProton(const float& lo, const float& hi){mNSigmaProton[0]=lo; mNSigmaProton[1]=hi;}
00096 inline void helensLaPTrackCut::SetNSigmaAntiElectron(const float& lo, const float& hi){
00097 mNSigmaAntiElectron[0]=lo; mNSigmaAntiElectron[1]=hi;}
00098 inline void helensLaPTrackCut::SetNSigmaAntiPion(const float& lo, const float& hi){
00099 mNSigmaAntiPion[0]=lo; mNSigmaAntiPion[1]=hi;}
00100 inline void helensLaPTrackCut::SetNSigmaAntiKaon(const float& lo, const float& hi){
00101 mNSigmaAntiKaon[0]=lo; mNSigmaAntiKaon[1]=hi;}
00102 inline void helensLaPTrackCut::SetNSigmaAntiProton(const float& lo, const float& hi){
00103 mNSigmaAntiProton[0]=lo; mNSigmaAntiProton[1]=hi;}
00104
00105 inline void helensLaPTrackCut::SetNHits(const int& lo, const int& hi){mNHits[0]=lo;mNHits[1]=hi;}
00106 inline void helensLaPTrackCut::SetP(const float& lo, const float& hi){mP[0]=lo; mP[1]=hi;}
00107 inline void helensLaPTrackCut::SetPt(const float& lo, const float& hi){mPt[0]=lo; mPt[1]=hi;}
00108 inline void helensLaPTrackCut::SetPx(const float& lo, const float& hi){mPx[0]=lo; mPx[1]=hi;}
00109 inline void helensLaPTrackCut::SetPy(const float& lo, const float& hi){mPy[0]=lo; mPy[1]=hi;}
00110 inline void helensLaPTrackCut::SetPz(const float& lo, const float& hi){mPz[0]=lo; mPz[1]=hi;}
00111 inline void helensLaPTrackCut::SetRapidity(const float& lo,const float& hi){mRapidity[0]=lo; mRapidity[1]=hi;}
00112 inline void helensLaPTrackCut::SetDCA(const float& lo,const float& hi){mDCA[0]=lo; mDCA[1]=hi;}
00113 inline void helensLaPTrackCut::SetCharge(const int& ch){mCharge = ch;}
00114 inline helensLaPTrackCut* helensLaPTrackCut::Clone() { helensLaPTrackCut* c = new helensLaPTrackCut(*this); return c;}
00115
00116 #endif