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 nElectrons,
00073 const int nIsolatedMuons,
00074 const int nNonIsolatedMuons,
00075 const int nPhotons,
00076 const int nJets,
00077 const int nBJets,
00078 const int nCJets,
00079 const int nTauJets,
00080 const double jetCircularity,
00081 const double eventCircularity,
00082 const double thrust,
00083 const double oblateness,
00084 const HepLorentzVector pMiss,
00085 const HepLorentzVector pEscaped) :
00086 DataObject(),
00087 m_nElectrons(nElectrons),
00088 m_nIsolatedMuons(nIsolatedMuons),
00089 m_nNonIsolatedMuons(nNonIsolatedMuons),
00090 m_nPhotons(nPhotons),
00091 m_nJets(nJets),
00092 m_nBJets(nBJets),
00093 m_nCJets(nCJets),
00094 m_nTauJets(nTauJets),
00095 m_jetCircularity(jetCircularity),
00096 m_eventCircularity(eventCircularity),
00097 m_thrust(thrust),
00098 m_oblateness(oblateness),
00099 m_pMiss(pMiss),
00100 m_pEscaped(pEscaped) { };
00101
00103 EventHeader() :
00104 DataObject(),
00105 m_nElectrons(0),
00106 m_nIsolatedMuons(0),
00107 m_nNonIsolatedMuons(0),
00108 m_nPhotons(0),
00109 m_nJets(0),
00110 m_nBJets(0),
00111 m_nCJets(0),
00112 m_nTauJets(0),
00113 m_jetCircularity(0.0),
00114 m_eventCircularity(0.0),
00115 m_thrust(0.0),
00116 m_oblateness(0.0),
00117 m_pMiss(0.0,0.0,0.0,0.0),
00118 m_pEscaped(0.0,0.0,0.0,0.0) { };
00120 virtual ~EventHeader() { };
00121
00122
00123
00124
00125
00126
00127
00128
00129 int nElectrons() const { return m_nElectrons; }
00130 int nIsolatedMuons() const { return m_nIsolatedMuons; }
00131 int nMuons() const {return m_nIsolatedMuons+m_nNonIsolatedMuons;}
00132 int nNonIsolatedMuons() const { return m_nNonIsolatedMuons; }
00133 int nPhotons() const { return m_nPhotons; }
00134
00135
00136 int nJets() const { return m_nJets; }
00137 int nBJets() const { return m_nBJets; }
00138 int nCJets() const { return m_nCJets; }
00139 int nTauJets() const { return m_nTauJets; }
00140
00141
00142 double jetCircularity() const {return m_jetCircularity;}
00143 double eventCircularity() const { return m_eventCircularity; }
00144 double thrust() const { return m_thrust; }
00145 double oblateness() const { return m_oblateness; }
00146 HepLorentzVector pMiss() const { return m_pMiss; }
00147 HepLorentzVector pEscaped() const { return m_pEscaped; }
00148
00149
00150
00151
00152
00153 static const CLID& classID() { return CLID_ATLFAST_EVENT_HEADER; }
00154 virtual const CLID& clID() const { return CLID_ATLFAST_EVENT_HEADER; }
00155
00156
00157 private:
00158
00159 int m_nElectrons;
00160 int m_nIsolatedMuons;
00161 int m_nNonIsolatedMuons;
00162 int m_nPhotons;
00163 int m_nJets;
00164 int m_nBJets;
00165 int m_nCJets;
00166 int m_nTauJets;
00167 double m_jetCircularity;
00168 double m_eventCircularity;
00169 double m_thrust;
00170 double m_oblateness;
00171 HepLorentzVector m_pMiss;
00172 HepLorentzVector m_pEscaped;
00173
00174 };
00175
00176
00177 }
00178 #endif
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190