StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StUeEvent.h
1 // -*- mode: c++ -*-
2 
3 //
4 // Grant Webb <gdwebb@bnl.gov>
5 // Brookhaven National Laboratory
6 // 30 July 2015
7 //
8 
9 #ifndef ST_UE_EVENT_H
10 #define ST_UE_EVENT_H
11 
12 class TClonesArray;
13 class TVector3;
14 class TLorentzVector;
15 class StJetVertex;
16 class StJetTrack;
17 class StJetTower;
18 class StJetParticle;
19 
20 #include "TObject.h"
21 
22 class StUeEvent : public TObject {
23 public:
24  StUeEvent();
25  ~StUeEvent();
26 
27  void Clear(Option_t* option ="");
28 
29  int runId () const {return mRunId; }
30  int eventId () const { return mEventId; }
31  float leadingJetpt() const { return mLeadingJetpt; }
32 
33  int numberOfVertices () const;
34  int numberOfTracks () const;
35  int numberOfTowers () const;
36  int numberOfParticles() const;
37 
38  StJetVertex* vertex(int i = 0) const;
39  StJetTrack* track(int i) const;
40  StJetTower* tower(int i) const;
41  StJetParticle* particle(int i) const;
42 
43  TClonesArray* vertices () const { return mVertices; }
44  TClonesArray* tracks () const { return mTracks; }
45  TClonesArray* towers () const { return mTowers; }
46  TClonesArray* particles() const { return mParticles; }
47 
48  StJetVertex* newVertex ();
49  StJetTrack* newTrack ();
50  StJetTower* newTower ();
51  StJetParticle* newParticle();
52 
53  float sumTrackPt() const;
54  float sumTowerPt() const;
55  float sumParticlePt() const;
56  float sumPt() const { return sumTrackPt() + sumTowerPt();}
57 private:
58  friend class StjeJetEventTreeWriter;
59  friend class StJetMaker2009;
60  friend class StUEMaker2009;
61 
62  int mRunId;
63  int mEventId;
64  float mLeadingJetpt;
65  TDatime mDatime; // Event time should really be moved to skim tree
66 
67  TClonesArray* mVertices;
68  TClonesArray* mTracks;
69  TClonesArray* mTowers;
70  TClonesArray* mParticles;
71 
72  ClassDef(StUeEvent,7);
73 };
74 
75 #endif // ST_Ue_EVENT_H
76