StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
calculateEventPlaneEventCut.h
1 /***************************************************************************
2  *
3  * $Id: calculateEventPlaneEventCut.h,v 1.5 2004/06/25 13:18:01 magestro Exp $
4  *
5  * Author: Randall Wells, Ohio State, rcwells@mps.ohio-state.edu
6  ***************************************************************************
7  *
8  * Description: Passes HbtEvent to FlowMaker to calculate the event
9  * plane. Warning ... this will change event charateristics!
10  *
11  ***************************************************************************
12  *
13  * $Log: calculateEventPlaneEventCut.h,v $
14  * Revision 1.5 2004/06/25 13:18:01 magestro
15  * Added implementation for class methods
16  *
17  * Revision 1.4 2004/02/20 20:30:45 magestro
18  * Added Vz, multiplicity event cuts
19  *
20  * Revision 1.3 2004/02/17 17:05:37 jeromel
21  * Bug fix
22  *
23  * Revision 1.2 2003/01/28 17:16:55 magestro
24  * Removed inheritance from StMaker, caused compilation warnings
25  *
26  * Revision 1.1 2001/07/20 20:03:50 rcwells
27  * Added pT weighting and moved event angle cal. to event cut
28  *
29  *
30  **************************************************************************/
31 
32 #ifndef calculateEventPlaneEventCut_hh
33 #define calculateEventPlaneEventCut_hh
34 
35 #include "StMaker.h"
36 
37 #include "StHbtMaker/Base/StHbtEventCut.h"
38 class StFlowMaker;
39 class StFlowEvent;
41 class StFlowSelection;
42 
44 
45 public:
46 
49  //~calculateEventPlaneEventCut();
50 
51  int NEventsPassed();
52  int NEventsFailed();
53 
54  void SetEventMult(const int& lo,const int& hi);
55  void SetVertZPos(const float& lo, const float& hi);
56 
57  void SetFlowMaker(char* title);
58  void SetFlowAnalysisMaker(char* title);
59  void FillFromHBT(const int& hbt);
60 
61  virtual StHbtString Report();
62  virtual bool Pass(const StHbtEvent*);
63 
65 
66 private: //
67  StFlowMaker* mFlowMaker;
68  StFlowAnalysisMaker* mFlowAnalysisMaker;
69 
70  int mEventMult[2]; // range of multiplicity
71  float mVertZPos[2]; // range of z-position of vertex
72 
73  int mFromHBT;
74  long mNEventsPassed;
75  long mNEventsFailed;
76 
77 #ifdef __ROOT__
78  ClassDef(calculateEventPlaneEventCut, 1)
79 #endif
80 
81 };
82 
83 inline void calculateEventPlaneEventCut::SetEventMult(const int& lo, const int& hi)
84  {mEventMult[0]=lo; mEventMult[1]=hi;}
85 inline void calculateEventPlaneEventCut::SetVertZPos(const float& lo, const float& hi)
86  {mVertZPos[0]=lo; mVertZPos[1]=hi;}
87 
88 inline int calculateEventPlaneEventCut::NEventsPassed() {return mNEventsPassed;}
89 inline int calculateEventPlaneEventCut::NEventsFailed() {return mNEventsFailed;}
90 inline void calculateEventPlaneEventCut::SetFlowMaker(char* title){
91  mFlowMaker = (StFlowMaker*)StMaker::GetChain()->GetMaker(title);
92  if (!mFlowMaker) {
93  cout << "No StFlowMaker found!" << endl;
94  assert(0);
95  }
96 }
97 inline void calculateEventPlaneEventCut::SetFlowAnalysisMaker(char* title) {
98  StMaker tempMaker;
99  mFlowAnalysisMaker = (StFlowAnalysisMaker*)tempMaker.GetMaker(title);
100  if (!mFlowAnalysisMaker) {
101  cout << "No StFlowAnalysisMaker found!" << endl;
102  assert(0);
103  }
104 }
105 inline void calculateEventPlaneEventCut::FillFromHBT(const int& hbt) {
106  mFromHBT = hbt;
107 }
108 inline calculateEventPlaneEventCut* calculateEventPlaneEventCut::Clone() {
110 }
111 inline calculateEventPlaneEventCut::calculateEventPlaneEventCut(calculateEventPlaneEventCut& c) : StHbtEventCut(c) {
112  mNEventsPassed = 0;
113  mNEventsFailed = 0;
114 }
115 
116 
117 #endif