00001 #ifndef ATLFAST_EVENTHEADER_H
00002 #define ATLFAST_EVENTHEADER_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #include "GaudiKernel/DataObject.h"
00039
00040 #include "CLHEP/Vector/LorentzVector.h"
00041 class MsgStream;
00042
00043
00044
00045 static const CLID CLID_ATLFAST_EVENT_HEADER=2303 ;
00046
00047
00048
00049 namespace Atlfast {
00050
00058 class EventHeader;
00059
00060 MsgStream& operator<<(MsgStream&, const EventHeader&);
00061 MsgStream& operator<<(MsgStream&, const EventHeader* const );
00062
00063 class EventHeader : public DataObject {
00064
00065 public:
00066
00067
00068
00069
00071 EventHeader(
00072 const int runNumber,
00073 const int evtNumber,
00074 const int nElectrons,
00075 const int nIsolatedMuons,
00076 const int nNonIsolatedMuons,
00077 const int nPhotons,
00078 const int nJets,
00079 const int nBJets,
00080 const int nCJets,
00081 const int nTauJets,
00082 const double jetCircularity,
00083 const double eventCircularity,
00084 const double thrust,
00085 const double oblateness,
00086 const HepLorentzVector pMiss,
00087 const HepLorentzVector pEscaped) :
00088 DataObject(),
00089 m_runNumber(runNumber),
00090 m_evtNumber(evtNumber),
00091 m_nElectrons(nElectrons),
00092 m_nIsolatedMuons(nIsolatedMuons),
00093 m_nNonIsolatedMuons(nNonIsolatedMuons),
00094 m_nPhotons(nPhotons),
00095 m_nJets(nJets),
00096 m_nBJets(nBJets),
00097 m_nCJets(nCJets),
00098 m_nTauJets(nTauJets),
00099 m_jetCircularity(jetCircularity),
00100 m_eventCircularity(eventCircularity),
00101 m_thrust(thrust),
00102 m_oblateness(oblateness),
00103 m_pMiss(pMiss),
00104 m_pEscaped(pEscaped) { };
00105
00107 EventHeader() :
00108 DataObject(),
00109 m_runNumber(0),
00110 m_evtNumber(0),
00111 m_nElectrons(0),
00112 m_nIsolatedMuons(0),
00113 m_nNonIsolatedMuons(0),
00114 m_nPhotons(0),
00115 m_nJets(0),
00116 m_nBJets(0),
00117 m_nCJets(0),
00118 m_nTauJets(0),
00119 m_jetCircularity(0.0),
00120 m_eventCircularity(0.0),
00121 m_thrust(0.0),
00122 m_oblateness(0.0),
00123 m_pMiss(0.0,0.0,0.0,0.0),
00124 m_pEscaped(0.0,0.0,0.0,0.0) { };
00126 virtual ~EventHeader() { };
00127
00128
00129
00130
00131
00132
00133
00134
00135 int runNumber() const { return m_runNumber; }
00136 int evtNumber() const { return m_evtNumber; }
00137 int nElectrons() const { return m_nElectrons; }
00138 int nIsolatedMuons() const { return m_nIsolatedMuons; }
00139 int nMuons() const {return m_nIsolatedMuons+m_nNonIsolatedMuons;}
00140 int nNonIsolatedMuons() const { return m_nNonIsolatedMuons; }
00141 int nPhotons() const { return m_nPhotons; }
00142
00143
00144 int nJets() const { return m_nJets; }
00145 int nBJets() const { return m_nBJets; }
00146 int nCJets() const { return m_nCJets; }
00147 int nTauJets() const { return m_nTauJets; }
00148
00149
00150 double jetCircularity() const {return m_jetCircularity;}
00151 double eventCircularity() const { return m_eventCircularity; }
00152 double thrust() const { return m_thrust; }
00153 double oblateness() const { return m_oblateness; }
00154 HepLorentzVector pMiss() const { return m_pMiss; }
00155 HepLorentzVector pEscaped() const { return m_pEscaped; }
00156
00158 virtual StreamBuffer& serialize(StreamBuffer& s);
00159
00161 virtual StreamBuffer& serialize(StreamBuffer& s) const;
00162
00163
00164
00165
00166
00167 static const CLID& classID() { return CLID_ATLFAST_EVENT_HEADER; }
00168 virtual const CLID& clID() const { return CLID_ATLFAST_EVENT_HEADER; }
00169
00170
00171 private:
00172
00173 int m_runNumber;
00174 int m_evtNumber;
00175 int m_nElectrons;
00176 int m_nIsolatedMuons;
00177 int m_nNonIsolatedMuons;
00178 int m_nPhotons;
00179 int m_nJets;
00180 int m_nBJets;
00181 int m_nCJets;
00182 int m_nTauJets;
00183 double m_jetCircularity;
00184 double m_eventCircularity;
00185 double m_thrust;
00186 double m_oblateness;
00187 HepLorentzVector m_pMiss;
00188 HepLorentzVector m_pEscaped;
00189
00190 };
00191
00192
00193 }
00194 #endif
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206