00001 #include "Fireworks/Core/interface/FWBeamSpot.h" 00002 #include "DataFormats/BeamSpot/interface/BeamSpot.h" 00003 #include "FWCore/Common/interface/EventBase.h" 00004 00005 void FWBeamSpot::checkBeamSpot(const edm::EventBase* event) 00006 { 00007 edm::InputTag tag("offlineBeamSpot"); 00008 edm::Handle<reco::BeamSpot> spot; 00009 00010 event->getByLabel(tag, spot); 00011 if (spot.isValid()) 00012 { 00013 m_beamspot = spot.product(); 00014 } 00015 else 00016 { 00017 m_beamspot = 0; 00018 } 00019 } 00020 00021 double FWBeamSpot::x0() const 00022 { 00023 return m_beamspot ? m_beamspot->x0() : 0.0; 00024 } 00025 00026 double FWBeamSpot::y0() const 00027 { 00028 return m_beamspot ? m_beamspot->y0() : 0.0; 00029 } 00030 00031 double FWBeamSpot::z0() const 00032 { 00033 return m_beamspot ? m_beamspot->z0() : 0.0; 00034 } 00035 00036 double FWBeamSpot::x0Error() const 00037 { 00038 return m_beamspot ? m_beamspot->x0Error() : 0.0; 00039 } 00040 00041 double FWBeamSpot::y0Error() const 00042 { 00043 return m_beamspot ? m_beamspot->y0Error() : 0.0; 00044 } 00045 00046 double FWBeamSpot::z0Error() const 00047 { 00048 return m_beamspot ? m_beamspot->z0Error() : 0.0; 00049 }