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

# User Rev Content
1 bendavid 1.6 // $Id: FillerBeamSpot.cc,v 1.5 2009/09/25 08:42:50 loizides Exp $
2 bendavid 1.1
3     #include "MitProd/TreeFiller/interface/FillerBeamSpot.h"
4 loizides 1.4 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
5     #include "MitAna/DataTree/interface/BeamSpotCol.h"
6 bendavid 1.1 #include "MitAna/DataTree/interface/Names.h"
7 loizides 1.4 #include "MitProd/ObjectService/interface/ObjectService.h"
8 bendavid 1.1
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 loizides 1.2 beamSpots_(new mithep::BeamSpotArr)
19 bendavid 1.1 {
20     // Constructor.
21     }
22    
23     //--------------------------------------------------------------------------------------------------
24     FillerBeamSpot::~FillerBeamSpot()
25     {
26     // Destructor.
27    
28 loizides 1.2 delete beamSpots_;
29 bendavid 1.1 }
30    
31     //--------------------------------------------------------------------------------------------------
32 loizides 1.5 void FillerBeamSpot::BookDataBlock(TreeWriter &tws, const edm::EventSetup &es)
33 bendavid 1.1 {
34     // Add Vertex branch and the VertexMap to tree.
35    
36 loizides 1.3 tws.AddBranch(mitName_,&beamSpots_);
37     OS()->add<mithep::BeamSpotArr>(beamSpots_,mitName_);
38 bendavid 1.1 }
39    
40     //--------------------------------------------------------------------------------------------------
41     void FillerBeamSpot::FillDataBlock(const edm::Event &event,
42     const edm::EventSetup &setup)
43     {
44     // Fill the BeamSpot branch.
45    
46 loizides 1.2 beamSpots_->Delete();
47    
48 bendavid 1.1 Handle<reco::BeamSpot> hBeamSpotProduct;
49     GetProduct(edmName_, hBeamSpotProduct, event);
50     const reco::BeamSpot *inBeamSpot = hBeamSpotProduct.product();
51    
52 loizides 1.2 mithep::BeamSpot *bs = beamSpots_->AddNew();
53     bs->SetErrors(inBeamSpot->x0Error(),inBeamSpot->y0Error(),inBeamSpot->z0Error());
54     bs->SetPosition(inBeamSpot->x0(),inBeamSpot->y0(),inBeamSpot->z0());
55 bendavid 1.6 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 bendavid 1.1 }