StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
rotateToReactionPlaneEventCut.h
1 /***************************************************************************
2  *
3  * $Id: rotateToReactionPlaneEventCut.h,v 1.1 2000/05/25 21:47:28 laue Exp $
4  *
5  * Author: Frank Laue, Ohio State, laue@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 and rotates the event around the z-axis
11  *
12  ***************************************************************************
13  *
14  * $Log: rotateToReactionPlaneEventCut.h,v $
15  * Revision 1.1 2000/05/25 21:47:28 laue
16  * new event cut which can be used to rotate an event around the z-axis
17  *
18  *
19  **************************************************************************/
20 
21 #ifndef rotateToReactionPlaneEventCut_hh
22 #define rotateToReactionPlaneEventCut_hh
23 
24 // do I need these lines ?
25 //#ifndef StMaker_H
26 //#include "StMaker.h"
27 //#endif
28 
29 #include "StHbtMaker/Base/StHbtEventCut.h"
30 class HepRandom;
31 class HepJamesRandom;
32 class RandGauss;
33 
35 public:
36 
39  //~rotateToReactionPlaneEventCut();
40 
41  void SetEventMult(const int& lo,const int& hi);
42  void SetVertZPos(const float& lo, const float& hi);
43  void SetSmear(const float& s=0);
44  void RotationOn();
45  void RotationOff();
46  long NEventsPassed();
47  long NEventsFailed();
48 
49  virtual StHbtString Report();
50  virtual bool Pass(const StHbtEvent*);
51 
53 
54 private: // here are the quantities I want to cut on...
55 
56  bool mRotation;
57  float mSmear;
58  int mEventMult[2]; // range of multiplicity
59  float mVertZPos[2]; // range of z-position of vertex
60 
61  long mNEventsPassed;
62  long mNEventsFailed;
63  HepJamesRandom* engine;
64  RandGauss* gauss;
65 
66 #ifdef __ROOT__
68 #endif
69 
70 };
71 
72 inline void rotateToReactionPlaneEventCut::SetEventMult(const int& lo, const int& hi){mEventMult[0]=lo; mEventMult[1]=hi;}
73 inline void rotateToReactionPlaneEventCut::SetVertZPos(const float& lo, const float& hi){mVertZPos[0]=lo; mVertZPos[1]=hi;}
74 inline void rotateToReactionPlaneEventCut::SetSmear(const float& s){ mSmear = s;}
75 inline void rotateToReactionPlaneEventCut::RotationOn() { mRotation = true; }
76 inline void rotateToReactionPlaneEventCut::RotationOff() { mRotation = false; }
77 inline long rotateToReactionPlaneEventCut::NEventsPassed() {return mNEventsPassed;}
78 inline long rotateToReactionPlaneEventCut::NEventsFailed() {return mNEventsFailed;}
79 inline rotateToReactionPlaneEventCut* rotateToReactionPlaneEventCut::Clone() { rotateToReactionPlaneEventCut* c = new rotateToReactionPlaneEventCut(*this); return c;}
80 inline rotateToReactionPlaneEventCut::rotateToReactionPlaneEventCut(rotateToReactionPlaneEventCut& c) : StHbtEventCut(c) {
81  mRotation = c.mRotation;
82  mSmear = c.mSmear;
83  mEventMult[0] = c.mEventMult[0];
84  mEventMult[1] = c.mEventMult[1];
85  mVertZPos[0] = c.mVertZPos[0];
86  mVertZPos[1] = c.mVertZPos[1];
87  mNEventsPassed = 0;
88  mNEventsFailed = 0;
89 }
90 
91 
92 #endif