StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ParityEventCut.h
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 
15 #ifndef ParityEventCut_hh
16 #define ParityEventCut_hh
17 
18 // do I need these lines ?
19 //#ifndef StMaker_H
20 //#include "StMaker.h"
21 //#endif
22 
23 #include "StHbtMaker/Base/StHbtEventCut.h"
24 
25 class ParityEventCut : public StHbtEventCut {
26 
27 public:
28 
29  ParityEventCut(const char* title = "Parity Cut", const int& nbins =50 , const float& Lo =-100, const float& Hi =100);
30  ~ParityEventCut();
31 
32  void SetEventMult(const int& lo,const int& hi);
33  void SetVertZPos(const float& lo, const float& hi);
34 
35  virtual StHbtString Report();
36 
37  virtual bool Pass(const StHbtEvent*);
38 
39 
40  // note that these data are public-- the CorrFctn will access (increment) them...
41  double RealQuantity;
42  long nReals;
43  double MixedQuantity;
44  long nMixed;
45 
46  StHbt1DHisto* RealHisto();
47  StHbt1DHisto* MixedHisto();
48 
49 private: // here are the quantities I want to cut on...
50 
51  int mEventMult[2]; // range of multiplicity
52  float mVertZPos[2]; // range of z-position of vertex
53 
54  long mNEventsPassed;
55  long mNEventsFailed;
56 
57  StHbt1DHisto* mReals;
58  StHbt1DHisto* mMixed;
59 
60 #ifdef __ROOT__
61  ClassDef(ParityEventCut, 0)
62 #endif
63 };
64 
65 inline void ParityEventCut::SetEventMult(const int& lo, const int& hi){mEventMult[0]=lo; mEventMult[1]=hi;}
66 inline void ParityEventCut::SetVertZPos(const float& lo, const float& hi){mVertZPos[0]=lo; mVertZPos[1]=hi;}
67 
68 inline StHbt1DHisto* ParityEventCut::RealHisto(){return mReals;}
69 inline StHbt1DHisto* ParityEventCut::MixedHisto(){return mMixed;}
70 
71 
72 #endif