ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/src/FillerBeamSpot.cc
Revision: 1.6
Committed: Mon Nov 30 13:43:03 2009 UTC (15 years, 5 months ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_013pre1, Mit_012i, Mit_012h, Mit_012g, Mit_012f, Mit_012e, Mit_012d, Mit_012c
Changes since 1.5: +13 -1 lines
Log Message:
Fill missing beamspot parameters

File Contents

# Content
1 // $Id: FillerBeamSpot.cc,v 1.5 2009/09/25 08:42:50 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, const edm::EventSetup &es)
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 bs->SetSigmaZ(inBeamSpot->sigmaZ());
56 bs->SetBeamWidthX(inBeamSpot->BeamWidthX());
57 bs->SetBeamWidthY(inBeamSpot->BeamWidthY());
58 bs->SetDxDz(inBeamSpot->dxdz());
59 bs->SetDyDz(inBeamSpot->dydz());
60
61 bs->SetSigmaZErr(inBeamSpot->sigmaZ0Error());
62 bs->SetBeamWidthXErr(inBeamSpot->BeamWidthXError());
63 bs->SetBeamWidthYErr(inBeamSpot->BeamWidthYError());
64 bs->SetDxDzErr(inBeamSpot->dxdzError());
65 bs->SetDyDzErr(inBeamSpot->dydzError());
66
67 }