00001
00002
00003
00004
00005
00006
00007
00008
00010
00011 #ifndef StFlowPicoEvent__h
00012 #define StFlowPicoEvent__h
00013
00014 #include "TObject.h"
00015 #include "StFlowPicoTrack.h"
00016
00017 class TClonesArray;
00018
00019
00020 class StFlowPicoEvent : public TObject {
00021
00022 public:
00023
00024 StFlowPicoEvent();
00025 virtual ~StFlowPicoEvent() { Clear(); }
00026 void Clear(Option_t *option ="");
00027 void AddTrack(StFlowPicoTrack* pFlowPicoTrack);
00028 TClonesArray* Tracks() const { return fTracks; }
00029 Int_t GetNtrack() const { return mNtrack; }
00030
00031 Int_t Version() const { return mVersion; }
00032 UInt_t L0TriggerWord() const { return mL0TriggerWord; }
00033 UInt_t OrigMult() const { return mOrigMult; }
00034 UInt_t UncorrNegMult() const { return mUncorrNegMult; }
00035 UInt_t UncorrPosMult() const { return mUncorrPosMult; }
00036 UInt_t MultEta() const { return mMultEta; }
00037
00038 UInt_t Centrality() const { return mCentrality; }
00039 UInt_t CalcCentrality();
00040 Float_t VertexX() const { return mVertexX; }
00041 Float_t VertexY() const { return mVertexY; }
00042 Float_t VertexZ() const { return mVertexZ; }
00043 Int_t EventID() const { return mEventID; }
00044 Int_t RunID() const { return mRunID; }
00045 Double_t CenterOfMassEnergy() const { return mCenterOfMassEnergy; }
00046 Double_t MagneticField() const { return mMagneticField; }
00047 Short_t BeamMassNumberEast() const { return mBeamMassNumberEast; }
00048 Short_t BeamMassNumberWest() const { return mBeamMassNumberWest; }
00049 Float_t CTB() const { return mCTB; }
00050 Float_t ZDCe() const { return mZDCe; }
00051 Float_t ZDCw() const { return mZDCw; }
00052 Float_t ZDCSMD(int eastwest,int verthori,int strip) const;
00053
00054 void SetVersion(const Int_t ver) { mVersion = ver; }
00055 void SetEventID(const Int_t id) { mEventID = id; }
00056 void SetRunID(const Int_t id) { mRunID = id; }
00057 void SetCenterOfMassEnergy(const Double_t cms) { mCenterOfMassEnergy = cms; }
00058 void SetMagneticField(const Double_t mf) { mMagneticField = mf; }
00059 void SetBeamMassNumberEast(const Short_t bme) { mBeamMassNumberEast = bme; }
00060 void SetBeamMassNumberWest(const Short_t bmw) { mBeamMassNumberWest = bmw; }
00061 void SetNtrack(const Int_t ntrk) { mNtrack = ntrk; }
00062 void SetOrigMult(const UInt_t mult) { mOrigMult = mult; }
00063 void SetL0TriggerWord(const UInt_t trigger) { mL0TriggerWord = trigger; }
00064 void SetUncorrNegMult(const UInt_t mult) { mUncorrNegMult = mult; }
00065 void SetUncorrPosMult(const UInt_t mult) { mUncorrPosMult = mult; }
00066 void SetMultEta(const UInt_t goodtracks) { mMultEta = goodtracks; }
00067 void SetCentrality(const UInt_t cent) { mCentrality = cent; }
00068 void SetVertexPos(const Float_t x, const Float_t y, const Float_t z) {
00069 mVertexX=x; mVertexY=y; mVertexZ=z; }
00070 void SetCTB(const Float_t ctb) {mCTB = ctb; }
00071 void SetZDCe(const Float_t zdce) {mZDCe = zdce; }
00072 void SetZDCw(const Float_t zdcw) {mZDCw = zdcw; }
00073 void SetZDCSMD(int eastwest,int verthori,int strip,const Float_t zdcsmd);
00074
00075 private:
00076
00077 Int_t mVersion;
00078 Int_t mNtrack;
00079 Int_t mEventID;
00080 Int_t mRunID;
00081 Double_t mMagneticField;
00082 Double_t mCenterOfMassEnergy;
00083 Short_t mBeamMassNumberEast;
00084 Short_t mBeamMassNumberWest;
00085 UInt_t mOrigMult;
00086 UInt_t mL0TriggerWord;
00087 UInt_t mUncorrNegMult;
00088 UInt_t mUncorrPosMult;
00089 UInt_t mMultEta;
00090
00091 UInt_t mCentrality;
00092 Float_t mVertexX;
00093 Float_t mVertexY;
00094 Float_t mVertexZ;
00095 Float_t mCTB;
00096 Float_t mZDCe;
00097 Float_t mZDCw;
00098 Float_t mZDCSMD[2][2][8];
00099
00100 TClonesArray* fTracks;
00101 static TClonesArray* fgTracks;
00102
00103 ClassDef(StFlowPicoEvent,5)
00104 };
00105
00106 inline void StFlowPicoEvent::SetZDCSMD(int eastwest,int verthori,int strip,const Float_t zdcsmd) {mZDCSMD[eastwest][verthori][strip-1] = zdcsmd;}
00107
00108 inline Float_t StFlowPicoEvent::ZDCSMD(int eastwest,int verthori,int strip) const {return mZDCSMD[eastwest][verthori][strip-1];}
00109
00110
00111 #endif
00112
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00171
00172
00173
00174
00175
00176