ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/src/FillerBeamSpot.cc
Revision: 1.4
Committed: Mon Jun 15 15:00:25 2009 UTC (15 years, 10 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_011, Mit_010a, Mit_010, Mit_009c, Mit_009b
Changes since 1.3: +4 -4 lines
Log Message:
Added proper fwd defs plus split up complilation of MitAna/DataTree LinkDefs.

File Contents

# Content
1 // $Id: FillerBeamSpot.cc,v 1.3 2009/03/15 11:20:41 loizides Exp $
2
3 #include "MitProd/TreeFiller/interface/FillerBeamSpot.h"
4 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
5 #include "MitAna/DataTree/interface/BeamSpotCol.h"
6 #include "MitAna/DataTree/interface/Names.h"
7 #include "MitProd/ObjectService/interface/ObjectService.h"
8
9 using namespace std;
10 using namespace edm;
11 using namespace mithep;
12
13 //--------------------------------------------------------------------------------------------------
14 FillerBeamSpot::FillerBeamSpot(const ParameterSet &cfg, const char *name, bool active) :
15 BaseFiller(cfg,name,active),
16 edmName_(Conf().getUntrackedParameter<string>("edmName","offlineBeamSpot")),
17 mitName_(Conf().getUntrackedParameter<string>("mitName","BeamSpot")),
18 beamSpots_(new mithep::BeamSpotArr)
19 {
20 // Constructor.
21 }
22
23 //--------------------------------------------------------------------------------------------------
24 FillerBeamSpot::~FillerBeamSpot()
25 {
26 // Destructor.
27
28 delete beamSpots_;
29 }
30
31 //--------------------------------------------------------------------------------------------------
32 void FillerBeamSpot::BookDataBlock(TreeWriter &tws)
33 {
34 // Add Vertex branch and the VertexMap to tree.
35
36 tws.AddBranch(mitName_,&beamSpots_);
37 OS()->add<mithep::BeamSpotArr>(beamSpots_,mitName_);
38 }
39
40 //--------------------------------------------------------------------------------------------------
41 void FillerBeamSpot::FillDataBlock(const edm::Event &event,
42 const edm::EventSetup &setup)
43 {
44 // Fill the BeamSpot branch.
45
46 beamSpots_->Delete();
47
48 Handle<reco::BeamSpot> hBeamSpotProduct;
49 GetProduct(edmName_, hBeamSpotProduct, event);
50 const reco::BeamSpot *inBeamSpot = hBeamSpotProduct.product();
51
52 mithep::BeamSpot *bs = beamSpots_->AddNew();
53 bs->SetErrors(inBeamSpot->x0Error(),inBeamSpot->y0Error(),inBeamSpot->z0Error());
54 bs->SetPosition(inBeamSpot->x0(),inBeamSpot->y0(),inBeamSpot->z0());
55 }