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