#ifndef gregsFemtoDstEventCut_h #define gregsFemtoDstEventCut_h #include "StHbtMaker/Base/StHbtEventCut.h" //_________________ class gregsFemtoDstEventCut : public StHbtEventCut { public: gregsFemtoDstEventCut(); gregsFemtoDstEventCut(const gregsFemtoDstEventCut& copy); gregsFemtoDstEventCut *Clone(void); ~gregsFemtoDstEventCut(); //Setters void SetEventMult(const int& lo, const int& hi) {mRefMult[0]=lo;mRefMult[1]=hi;} void SetVertXPos(const float& lo, const float& hi) {mVtxX[0]=lo; mVtxX[1]=hi;} void SetVertYPos(const float& lo, const float& hi) {mVtxY[0]=lo; mVtxY[1]=hi;} void SetVertZPos(const float& lo, const float& hi) {mVtxZ[0]=lo; mVtxZ[1]=hi;} void SetVertXYShift(const float& xShift, const float& yShift) {mVtxXShift=xShift;mVtxYShift=yShift;} void SetVertRPos(const float& v) {mVtxR=v;} void SetCollisionType(const int& type) {mCollisionType=type;} //0-pp; 1-AuAu void SetVzVpdVzDiff(const float& lo, const float& hi) {mVzVpdVzDiff[0]=lo;mVzVpdVzDiff[1]=hi;} //The values from StRefMultCorr void SetEventCentralityBins(const int& lo, const int& hi) {mCentralityBinRange[0]=lo;mCentralityBinRange[1]=hi;} void SetCentralityDefinition(const int& nCentralityBins) {mNumberOfCentralityBins=nCentralityBins;} //Getters int NEventsPassed() {return mNEventsPassed;} int NEventsFailed() {return mNEventsFailed;} virtual string Report(); virtual bool Pass(const StHbtEvent*); private: int mRefMult[2]; float mVtxX[2]; float mVtxY[2]; float mVtxZ[2]; float mVtxR; float mVzVpdVzDiff[2]; int mCollisionType; //0-pp; 1-AuAu float mVtxXShift; float mVtxYShift; //Centrality definitions for AuAu int mNumberOfCentralityBins; //9 or 16 centrality bins int mCentralityBinRange[2]; long mNEventsPassed; long mNEventsFailed; #ifdef __ROOT__ ClassDef(gregsFemtoDstEventCut, 1) #endif }; inline gregsFemtoDstEventCut* gregsFemtoDstEventCut::Clone() { gregsFemtoDstEventCut *c = new gregsFemtoDstEventCut(*this); return c; } #endif