00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef ST_JET_EVENT_H
00010 #define ST_JET_EVENT_H
00011
00012 class TClonesArray;
00013 class TVector3;
00014 class TLorentzVector;
00015 class StJetVertex;
00016 class StJetCandidate;
00017 class StJetTrack;
00018 class StJetTower;
00019 class StJetParticle;
00020
00021 #include "TObject.h"
00022 #include "TDatime.h"
00023
00024 class StJetEvent : public TObject {
00025 public:
00026 StJetEvent();
00027 ~StJetEvent();
00028
00029 void Clear(Option_t* option = "");
00030
00031 int runId () const { return mRunId; }
00032 int eventId() const { return mEventId; }
00033 const TDatime& dateTime() const { return mDatime; }
00034 int year () const { return mDatime.GetYear (); }
00035 int month () const { return mDatime.GetMonth (); }
00036 int day () const { return mDatime.GetDay (); }
00037 int hour () const { return mDatime.GetHour (); }
00038 int minute() const { return mDatime.GetMinute(); }
00039 int second() const { return mDatime.GetSecond(); }
00040
00041 int numberOfVertices () const;
00042 int numberOfJets () const;
00043 int numberOfTracks () const;
00044 int numberOfTowers () const;
00045 int numberOfParticles() const;
00046
00047 StJetVertex* vertex(int i = 0) const;
00048 StJetCandidate* jet(int i) const;
00049 StJetTrack* track(int i) const;
00050 StJetTower* tower(int i) const;
00051 StJetParticle* particle(int i) const;
00052
00053 TClonesArray* vertices () const { return mVertices; }
00054 TClonesArray* jets () const { return mJets; }
00055 TClonesArray* tracks () const { return mTracks; }
00056 TClonesArray* towers () const { return mTowers; }
00057 TClonesArray* particles() const { return mParticles; }
00058
00059 StJetVertex* newVertex ();
00060 StJetCandidate* newJet (const TVector3& vertex, const TLorentzVector& fourMomentum);
00061 StJetTrack* newTrack ();
00062 StJetTower* newTower ();
00063 StJetParticle* newParticle();
00064
00065 private:
00066 friend class StjeJetEventTreeWriter;
00067 friend class StJetMaker2009;
00068
00069 int mRunId;
00070 int mEventId;
00071 TDatime mDatime;
00072
00073 TClonesArray* mVertices;
00074 TClonesArray* mJets;
00075 TClonesArray* mTracks;
00076 TClonesArray* mTowers;
00077 TClonesArray* mParticles;
00078
00079 ClassDef(StJetEvent,6);
00080 };
00081
00082 #endif // ST_JET_EVENT_H