mikesTrackCut.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /***************************************************************************
  2. *
  3. * $Id:
  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. * $Log:
  14. **************************************************************************/
  15. #ifndef mikesTrackCut_hh
  16. #define mikesTrackCut_hh
  17. //#ifndef StMaker_H
  18. //#include "StMaker.h"
  19. //#endif
  20. #include "StHbtMaker/Base/StHbtTrackCut.h"
  21. class mikesTrackCut : public StHbtTrackCut {
  22. public:
  23. mikesTrackCut();
  24. //~mikesTrackCut();
  25. virtual bool Pass(const StHbtTrack*);
  26. virtual StHbtString Report();
  27. void SetNSigmaPion(const float& lo, const float& hi);
  28. void SetNSigmaKaon(const float& lo, const float& hi);
  29. void SetNSigmaProton(const float& lo, const float& hi);
  30. void SetNHits(const int& lo, const int& hi);
  31. void SetPt(const float& lo, const float& hi);
  32. void SetRapidity(const float& lo, const float& hi);
  33. void SetDCA(const float& lo, const float& hi);
  34. void SetCharge(const int&);
  35. private: // here are the quantities I want to cut on...
  36. int mCharge;
  37. float mNSigmaPion[2];
  38. float mNSigmaKaon[2];
  39. float mNSigmaProton[2];
  40. int mNHits[2];
  41. float mPt[2];
  42. float mRapidity[2];
  43. float mDCA[2];
  44. long mNTracksPassed;
  45. long mNTracksFailed;
  46. #ifdef __ROOT__
  47. ClassDef(mikesTrackCut, 1)
  48. #endif
  49. };
  50. inline void mikesTrackCut::SetNSigmaPion(const float& lo, const float& hi){mNSigmaPion[0]=lo; mNSigmaPion[1]=hi;}
  51. inline void mikesTrackCut::SetNSigmaKaon(const float& lo, const float& hi){mNSigmaKaon[0]=lo; mNSigmaKaon[1]=hi;}
  52. inline void mikesTrackCut::SetNSigmaProton(const float& lo, const float& hi){mNSigmaProton[0]=lo; mNSigmaProton[1]=hi;}
  53. inline void mikesTrackCut::SetNHits(const int& lo, const int& hi){mNHits[0]=lo;mNHits[1]=hi;}
  54. inline void mikesTrackCut::SetPt(const float& lo, const float& hi){mPt[0]=lo; mPt[1]=hi;}
  55. inline void mikesTrackCut::SetRapidity(const float& lo,const float& hi){mRapidity[0]=lo; mRapidity[1]=hi;}
  56. inline void mikesTrackCut::SetDCA(const float& lo,const float& hi){mDCA[0]=lo; mDCA[1]=hi;}
  57. inline void mikesTrackCut::SetCharge(const int& ch){mCharge = ch;}
  58. #endif