00001 /*************************************************************************** 00002 * 00003 * $Id: mikesEventCut.h,v 1.5 2000/03/23 22:57:28 laue Exp $ 00004 * 00005 * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu 00006 *************************************************************************** 00007 * 00008 * Description: part of STAR HBT Framework: StHbtMaker package 00009 * A simple event-wise cut that selects on multiplicity and z-position 00010 * of primary vertex 00011 * 00012 *************************************************************************** 00013 * 00014 * $Log: mikesEventCut.h,v $ 00015 * Revision 1.5 2000/03/23 22:57:28 laue 00016 * Clone() function implemented 00017 * 00018 * Revision 1.4 2000/01/25 17:35:02 laue 00019 * I. In order to run the stand alone version of the StHbtMaker the following 00020 * changes have been done: 00021 * a) all ClassDefs and ClassImps have been put into #ifdef __ROOT__ statements 00022 * b) unnecessary includes of StMaker.h have been removed 00023 * c) the subdirectory StHbtMaker/doc/Make has been created including everything 00024 * needed for the stand alone version 00025 * 00026 * II. To reduce the amount of compiler warning 00027 * a) some variables have been type casted 00028 * b) some destructors have been declared as virtual 00029 * 00030 * Revision 1.3 1999/10/15 01:57:04 lisa 00031 * Important enhancement of StHbtMaker - implement Franks CutMonitors 00032 * ---------------------------------------------------------- 00033 * This means 3 new files in Infrastructure area (CutMonitor), 00034 * several specific CutMonitor classes in the Cut area 00035 * and a new base class in the Base area (StHbtCutMonitor). 00036 * This means also changing all Cut Base class header files from .hh to .h 00037 * so we have access to CutMonitor methods from Cint command line. 00038 * This last means 00039 * 1) files which include these header files are slightly modified 00040 * 2) a side benefit: the TrackCuts and V0Cuts no longer need 00041 * a SetMass() implementation in each Cut class, which was stupid. 00042 * Also: 00043 * ----- 00044 * Include Franks StHbtAssociationReader 00045 * ** None of these changes should affect any user ** 00046 * 00047 * Revision 1.2 1999/07/06 22:33:21 lisa 00048 * Adjusted all to work in pro and new - dev itself is broken 00049 * 00050 * Revision 1.1.1.1 1999/06/29 16:02:56 lisa 00051 * Installation of StHbtMaker 00052 * 00053 **************************************************************************/ 00054 00055 #ifndef mikesEventCut_hh 00056 #define mikesEventCut_hh 00057 00058 // do I need these lines ? 00059 //#ifndef StMaker_H 00060 //#include "StMaker.h" 00061 //#endif 00062 00063 #include "StHbtMaker/Base/StHbtEventCut.h" 00064 00065 class mikesEventCut : public StHbtEventCut { 00066 00067 public: 00068 00069 mikesEventCut(); 00070 mikesEventCut(mikesEventCut&); 00071 //~mikesEventCut(); 00072 00073 void SetEventMult(const int& lo,const int& hi); 00074 void SetVertZPos(const float& lo, const float& hi); 00075 int NEventsPassed(); 00076 int NEventsFailed(); 00077 00078 virtual StHbtString Report(); 00079 virtual bool Pass(const StHbtEvent*); 00080 00081 mikesEventCut* Clone(); 00082 00083 private: // here are the quantities I want to cut on... 00084 00085 int mEventMult[2]; // range of multiplicity 00086 float mVertZPos[2]; // range of z-position of vertex 00087 00088 long mNEventsPassed; 00089 long mNEventsFailed; 00090 00091 #ifdef __ROOT__ 00092 ClassDef(mikesEventCut, 1) 00093 #endif 00094 00095 }; 00096 00097 inline void mikesEventCut::SetEventMult(const int& lo, const int& hi){mEventMult[0]=lo; mEventMult[1]=hi;} 00098 inline void mikesEventCut::SetVertZPos(const float& lo, const float& hi){mVertZPos[0]=lo; mVertZPos[1]=hi;} 00099 inline int mikesEventCut::NEventsPassed() {return mNEventsPassed;} 00100 inline int mikesEventCut::NEventsFailed() {return mNEventsFailed;} 00101 inline mikesEventCut* mikesEventCut::Clone() { mikesEventCut* c = new mikesEventCut(*this); return c;} 00102 inline mikesEventCut::mikesEventCut(mikesEventCut& c) : StHbtEventCut(c) { 00103 mEventMult[0] = c.mEventMult[0]; 00104 mEventMult[1] = c.mEventMult[1]; 00105 mVertZPos[0] = c.mVertZPos[0]; 00106 mVertZPos[1] = c.mVertZPos[1]; 00107 mNEventsPassed = 0; 00108 mNEventsFailed = 0; 00109 } 00110 00111 00112 #endif
1.5.9