00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef ParityEventCut_hh
00016 #define ParityEventCut_hh
00017
00018
00019
00020
00021
00022
00023 #include "StHbtMaker/Base/StHbtEventCut.h"
00024
00025 class ParityEventCut : public StHbtEventCut {
00026
00027 public:
00028
00029 ParityEventCut(const char* title = "Parity Cut", const int& nbins =50 , const float& Lo =-100, const float& Hi =100);
00030 ~ParityEventCut();
00031
00032 void SetEventMult(const int& lo,const int& hi);
00033 void SetVertZPos(const float& lo, const float& hi);
00034
00035 virtual StHbtString Report();
00036
00037 virtual bool Pass(const StHbtEvent*);
00038
00039
00040
00041 double RealQuantity;
00042 long nReals;
00043 double MixedQuantity;
00044 long nMixed;
00045
00046 StHbt1DHisto* RealHisto();
00047 StHbt1DHisto* MixedHisto();
00048
00049 private:
00050
00051 int mEventMult[2];
00052 float mVertZPos[2];
00053
00054 long mNEventsPassed;
00055 long mNEventsFailed;
00056
00057 StHbt1DHisto* mReals;
00058 StHbt1DHisto* mMixed;
00059
00060 #ifdef __ROOT__
00061 ClassDef(ParityEventCut, 0)
00062 #endif
00063 };
00064
00065 inline void ParityEventCut::SetEventMult(const int& lo, const int& hi){mEventMult[0]=lo; mEventMult[1]=hi;}
00066 inline void ParityEventCut::SetVertZPos(const float& lo, const float& hi){mVertZPos[0]=lo; mVertZPos[1]=hi;}
00067
00068 inline StHbt1DHisto* ParityEventCut::RealHisto(){return mReals;}
00069 inline StHbt1DHisto* ParityEventCut::MixedHisto(){return mMixed;}
00070
00071
00072 #endif