CMS 3D CMS Logo

BeamSpotProducer Class Reference

_________________________________________________________________ class: BeamSpotProducer.h package: RecoVertex/BeamSpotProducer More...

#include <RecoVertex/BeamSpotProducer/interface/BeamSpotProducer.h>

Inheritance diagram for BeamSpotProducer:

edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Types

typedef std::vector
< edm::ParameterSet
Parameters

Public Member Functions

 BeamSpotProducer (const edm::ParameterSet &iConf)
 constructor
virtual void produce (edm::Event &iEvent, const edm::EventSetup &iSetup)
 produce a beam spot class
 ~BeamSpotProducer ()
 destructor


Detailed Description

_________________________________________________________________ class: BeamSpotProducer.h package: RecoVertex/BeamSpotProducer

author: Francisco Yumiceva, Fermilab (yumiceva@fnal.gov)

version

Id
BeamSpotProducer.h,v 1.1 2007/05/09 20:35:49 yumiceva Exp

________________________________________________________________

Definition at line 23 of file BeamSpotProducer.h.


Member Typedef Documentation

typedef std::vector<edm::ParameterSet> BeamSpotProducer::Parameters

Definition at line 26 of file BeamSpotProducer.h.


Constructor & Destructor Documentation

BeamSpotProducer::BeamSpotProducer ( const edm::ParameterSet iConf  )  [explicit]

constructor

Definition at line 19 of file BeamSpotProducer.cc.

00019                                                                {
00020         
00021         edm::LogInfo("RecoVertex/BeamSpotProducer") 
00022                 << "Initializing Beam Spot producer " << "\n";
00023   
00024         //fVerbose=conf.getUntrackedParameter<bool>("verbose", false);
00025         
00026         produces<reco::BeamSpot>();
00027 
00028 }

BeamSpotProducer::~BeamSpotProducer (  ) 

destructor

Definition at line 31 of file BeamSpotProducer.cc.

00031 {}


Member Function Documentation

void BeamSpotProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [virtual]

produce a beam spot class

Implements edm::EDProducer.

Definition at line 39 of file BeamSpotProducer.cc.

References err, exception, edm::EventSetup::get(), BeamSpotObjects::GetBeamWidth(), BeamSpotObjects::GetCovariance(), BeamSpotObjects::Getdxdz(), BeamSpotObjects::Getdydz(), BeamSpotObjects::GetSigmaZ(), BeamSpotObjects::GetX(), BeamSpotObjects::GetY(), BeamSpotObjects::GetZ(), i, edm::Event::id(), j, matrix, edm::ESHandle< T >::product(), edm::Event::put(), and HLT_VtxMuL3::result.

00039                                                                        {
00040         
00041         using namespace edm;
00042 
00043         std::auto_ptr<reco::BeamSpot> result(new reco::BeamSpot);
00044 
00045         reco::BeamSpot aSpot;
00046 
00047         
00048         //typedef math::XYZPoint Point;
00049     //enum { dimension = 7 };
00050     //typedef math::Error<dimension>::type CovarianceMatrix;
00051 
00052         
00053         try {
00054                 edm::LogInfo("RecoVertex/BeamSpotProducer") 
00055                         << "Reconstructing event number: " << iEvent.id() << "\n";
00056 
00057                 edm::ESHandle< BeamSpotObjects > beamhandle;
00058                 iSetup.get<BeamSpotObjectsRcd>().get(beamhandle);
00059                 const BeamSpotObjects *spotDB = beamhandle.product();
00060 
00061                 // translate from BeamSpotObjects to reco::BeamSpot
00062                 reco::BeamSpot::Point apoint( spotDB->GetX(), spotDB->GetY(), spotDB->GetZ() );
00063                 
00064                 reco::BeamSpot::CovarianceMatrix matrix;
00065                 for ( int i=0; i<7; ++i ) {
00066                         for ( int j=0; j<7; ++j ) {
00067                                 matrix(i,j) = spotDB->GetCovariance(i,j);
00068                         }
00069                 }
00070 
00071                 aSpot = reco::BeamSpot( apoint,
00072                                                                 spotDB->GetSigmaZ(),
00073                                                                 spotDB->Getdxdz(),
00074                                                                 spotDB->Getdydz(),
00075                                                                 spotDB->GetBeamWidth(),
00076                                                                 matrix );
00077                                 
00078         }
00079         
00080         catch (std::exception & err) {
00081                 edm::LogInfo("RecoVertex/BeamSpotProducer") 
00082                         << "Exception during event number: " << iEvent.id() 
00083                         << "\n" << err.what() << "\n";
00084         }
00085 
00086         *result = aSpot;
00087         
00088         iEvent.put(result);
00089         
00090 }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:15:01 2009 for CMSSW by  doxygen 1.5.4