StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StJetMuEvent.h
1 //StJetMuEvent.h
2 //A class to be put in a TTree
3 
4 #ifndef StJetMuEvent_HH
5 #define StJetMuEvent_HH
6 
7 #include "TObject.h"
8 #include "StThreeVectorF.hh"
9 #include "AnaCuts.h"
10 
11 class TClonesArray;
12 class StMuDstMaker;
13 class StMuEvent;
14 class StMuTrack;
15 
16 class StJetMuEvent : public TObject
17 {
18 public:
19  StJetMuEvent();
20  virtual ~StJetMuEvent();
21 
22  //Fill the event
23  bool fill(StMuDstMaker*);
24 
25  //Set the cut object
26  void setCuts(const AnaCuts& cuts) {mCuts=cuts;}
27 
28  //access to tracks
29  TClonesArray* tracks() {return mTracks;}
30 
31  //Basic types
32 
33  //Pair combinations that passed our cuts
34  unsigned short nPlusPlus() const {return mPlusPlus;}
35  unsigned short nMinusMinus() const {return mMinusMinus;}
36  unsigned short nPlusMinus() const {return mPlusMinus;}
37 
38  //Basic event info
39  int eventId() const {return mEventId;}
40  int eventNumber() const {return mEventNumber;}
41  int runId() const {return mRunId;}
42  int runNumber() const {return mRunNumber;}
43  int triggerWord() const {return mTriggerWord;}
44 
45  //Event characterization
46  unsigned short refMultPos() const {return mRefMultPos;}
47  unsigned short refMultNeg() const {return mRefMultNeg;}
48  unsigned short refMult() const {return mRefMult;}
49 
50  double magneticField() const {return mMagneticField;}
51  double zdcAdcAttenuatedSumWest() const {return mZdcAdcAttenuatedSumWest;}
52  double zdcAdcAttenuatedSumEast() const {return mZdcAdcAttenuatedSumEast;}
53  double ctbMultiplicity() const {return mCtbMultiplicity;}
54  StThreeVectorF primaryVertexPosition() const {return mPrimaryVertexPosition;}
55 
56  double reactionPlane(unsigned short);
57  double reactionPlanePtWgt(unsigned short);
58 
59 private:
60  bool accept(StMuDstMaker*);
61  bool acceptTrack(StMuTrack*);
62  void reset();
63  void fillBasicTypes(StMuEvent* event);
64 
65 private:
66 
67  //Basic types:
68 
70  unsigned short mPlusPlus;
71  unsigned short mMinusMinus;
72  unsigned short mPlusMinus;
73  Bool_t mL3Fired;
74 
75  int mEventId;
76  int mEventNumber;
77  int mRunId;
78  int mRunNumber;
79  int mTriggerWord;
80 
81  unsigned short mRefMultPos;
82  unsigned short mRefMultNeg;
83  unsigned short mRefMult;
84 
85  double mMagneticField;
86  double mZdcAdcAttenuatedSumWest;
87  double mZdcAdcAttenuatedSumEast;
88  double mCtbMultiplicity;
89  StThreeVectorF mPrimaryVertexPosition;
90 
91  //TClones array of tracks
92  int mTrackCounter;
93  TClonesArray* mTracks;
94 
95  //Encapsulation of various cuts
96  AnaCuts mCuts;
97 
98  ClassDef(StJetMuEvent,1)
99 };
100 
101 #endif