ParityEventCut.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /***************************************************************************
  2. *
  3. * $Id: ParityEventCut.h,v 1.4 2010/06/21 12:57:00 fine Exp $
  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 event-wise cut that selects on multiplicity and z-position
  10. * of primary vertex
  11. *
  12. ***************************************************************************
  13. **************************************************************************/
  14. #ifndef ParityEventCut_hh
  15. #define ParityEventCut_hh
  16. // do I need these lines ?
  17. //#ifndef StMaker_H
  18. //#include "StMaker.h"
  19. //#endif
  20. #include "StHbtMaker/Base/StHbtEventCut.h"
  21. class ParityEventCut : public StHbtEventCut {
  22. public:
  23. ParityEventCut(const char* title = "Parity Cut", const int& nbins =50 , const float& Lo =-100, const float& Hi =100);
  24. ~ParityEventCut();
  25. void SetEventMult(const int& lo,const int& hi);
  26. void SetVertZPos(const float& lo, const float& hi);
  27. virtual StHbtString Report();
  28. virtual bool Pass(const StHbtEvent*);
  29. // note that these data are public-- the CorrFctn will access (increment) them...
  30. double RealQuantity;
  31. long nReals;
  32. double MixedQuantity;
  33. long nMixed;
  34. StHbt1DHisto* RealHisto();
  35. StHbt1DHisto* MixedHisto();
  36. private: // here are the quantities I want to cut on...
  37. int mEventMult[2]; // range of multiplicity
  38. float mVertZPos[2]; // range of z-position of vertex
  39. long mNEventsPassed;
  40. long mNEventsFailed;
  41. StHbt1DHisto* mReals;
  42. StHbt1DHisto* mMixed;
  43. #ifdef __ROOT__
  44. ClassDef(ParityEventCut, 0)
  45. #endif
  46. };
  47. inline void ParityEventCut::SetEventMult(const int& lo, const int& hi){mEventMult[0]=lo; mEventMult[1]=hi;}
  48. inline void ParityEventCut::SetVertZPos(const float& lo, const float& hi){mVertZPos[0]=lo; mVertZPos[1]=hi;}
  49. inline StHbt1DHisto* ParityEventCut::RealHisto(){return mReals;}
  50. inline StHbt1DHisto* ParityEventCut::MixedHisto(){return mMixed;}
  51. #endif