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 #include "GaudiKernel/MsgStream.h"
00040
00041
00042 #include "CLHEP/Vector/LorentzVector.h"
00043
00044
00045
00046
00047
00048 static const CLID CLID_ATLFAST_EVENT_HEADER=2303 ;
00049
00050
00051
00052 namespace Atlfast {
00053
00062 class EventHeader : public DataObject {
00063
00064 public:
00065
00066
00067
00068
00070 EventHeader(
00071 const int runNumber,
00072 const int evtNumber,
00073 const int nElectrons,
00074 const int nIsolatedMuons,
00075 const int nNonIsolatedMuons,
00076 const int nPhotons,
00077 const int nJets,
00078 const int nBJets,
00079 const int nCJets,
00080 const int nTauJets,
00081 const double jetCircularity,
00082 const double eventCircularity,
00083 const double thrust,
00084 const double oblateness,
00085 const HepLorentzVector pMiss,
00086 const HepLorentzVector pEscaped) :
00087 DataObject(),
00088 m_runNumber(runNumber),
00089 m_evtNumber(evtNumber),
00090 m_nElectrons(nElectrons),
00091 m_nIsolatedMuons(nIsolatedMuons),
00092 m_nNonIsolatedMuons(nNonIsolatedMuons),
00093 m_nPhotons(nPhotons),
00094 m_nJets(nJets),
00095 m_nBJets(nBJets),
00096 m_nCJets(nCJets),
00097 m_nTauJets(nTauJets),
00098 m_jetCircularity(jetCircularity),
00099 m_eventCircularity(eventCircularity),
00100 m_thrust(thrust),
00101 m_oblateness(oblateness),
00102 m_pMiss(pMiss),
00103 m_pEscaped(pEscaped) { };
00104
00106 EventHeader() :
00107 DataObject(),
00108 m_runNumber(0),
00109 m_evtNumber(0),
00110 m_nElectrons(0),
00111 m_nIsolatedMuons(0),
00112 m_nNonIsolatedMuons(0),
00113 m_nPhotons(0),
00114 m_nJets(0),
00115 m_nBJets(0),
00116 m_nCJets(0),
00117 m_nTauJets(0),
00118 m_jetCircularity(0.0),
00119 m_eventCircularity(0.0),
00120 m_thrust(0.0),
00121 m_oblateness(0.0),
00122 m_pMiss(0.0,0.0,0.0,0.0),
00123 m_pEscaped(0.0,0.0,0.0,0.0) { };
00125 virtual ~EventHeader() { };
00126
00127
00128
00129
00130
00131
00132
00133
00134 int runNumber() const { return m_runNumber; }
00135 int evtNumber() const { return m_evtNumber; }
00136 int nElectrons() const { return m_nElectrons; }
00137 int nIsolatedMuons() const { return m_nIsolatedMuons; }
00138 int nMuons() const {return m_nIsolatedMuons+m_nNonIsolatedMuons;}
00139 int nNonIsolatedMuons() const { return m_nNonIsolatedMuons; }
00140 int nPhotons() const { return m_nPhotons; }
00141
00142
00143 int nJets() const { return m_nJets; }
00144 int nBJets() const { return m_nBJets; }
00145 int nCJets() const { return m_nCJets; }
00146 int nTauJets() const { return m_nTauJets; }
00147
00148
00149 double jetCircularity() const {return m_jetCircularity;}
00150 double eventCircularity() const { return m_eventCircularity; }
00151 double thrust() const { return m_thrust; }
00152 double oblateness() const { return m_oblateness; }
00153 HepLorentzVector pMiss() const { return m_pMiss; }
00154 HepLorentzVector pEscaped() const { return m_pEscaped; }
00155
00157 virtual StreamBuffer& serialize(StreamBuffer& s);
00158
00160 virtual StreamBuffer& serialize(StreamBuffer& s) const;
00161
00162
00163
00164
00165
00166 static const CLID& classID() { return CLID_ATLFAST_EVENT_HEADER; }
00167 virtual const CLID& clID() const { return CLID_ATLFAST_EVENT_HEADER; }
00168
00169
00170 private:
00171
00172 int m_runNumber;
00173 int m_evtNumber;
00174 int m_nElectrons;
00175 int m_nIsolatedMuons;
00176 int m_nNonIsolatedMuons;
00177 int m_nPhotons;
00178 int m_nJets;
00179 int m_nBJets;
00180 int m_nCJets;
00181 int m_nTauJets;
00182 double m_jetCircularity;
00183 double m_eventCircularity;
00184 double m_thrust;
00185 double m_oblateness;
00186 HepLorentzVector m_pMiss;
00187 HepLorentzVector m_pEscaped;
00188
00189 };
00190
00191
00192
00193
00194 }
00195 #endif
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207