CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/Fireworks/Core/src/FWBeamSpot.cc

Go to the documentation of this file.
00001 #include "Fireworks/Core/interface/FWBeamSpot.h"
00002 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
00003 #include "FWCore/Common/interface/EventBase.h"
00004 #include "Fireworks/Core/interface/fwLog.h"
00005 
00006 void FWBeamSpot::checkBeamSpot(const edm::EventBase* event)
00007 { 
00008    try
00009    {
00010       edm::InputTag tag("offlineBeamSpot");
00011       edm::Handle<reco::BeamSpot> spot;
00012 
00013       event->getByLabel(tag, spot);
00014       if (spot.isValid())
00015       {
00016          m_beamspot = spot.product();
00017       }
00018       else
00019       {
00020          m_beamspot = 0;
00021       }
00022    }
00023    catch (cms::Exception& iException)
00024    {
00025       fwLog(fwlog::kError) <<"FWBeamSpot::checkBeamSpot failed "<<iException.what() <<std::endl;
00026       m_beamspot = 0;
00027    }
00028 }
00029 
00030 double FWBeamSpot::x0() const
00031 {
00032    return m_beamspot ? m_beamspot->x0() : 0.0;
00033 }
00034 
00035 double FWBeamSpot::y0() const
00036 {
00037    return m_beamspot ? m_beamspot->y0() : 0.0;
00038 }
00039 
00040 double FWBeamSpot::z0() const
00041 {
00042    return m_beamspot ? m_beamspot->z0() : 0.0;
00043 }
00044 
00045 double FWBeamSpot::x0Error() const
00046 {
00047    return m_beamspot ? m_beamspot->x0Error() : 0.0;
00048 }
00049 
00050 double FWBeamSpot::y0Error() const
00051 {
00052    return m_beamspot ? m_beamspot->y0Error() : 0.0;
00053 }
00054 
00055 double FWBeamSpot::z0Error() const
00056 {
00057    return m_beamspot ? m_beamspot->z0Error() : 0.0;
00058 }