From 4815314d7e77e3147b267840f949df417b88164e Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Thu, 7 Oct 2021 13:38:29 -0700 Subject: [PATCH] set beamSpot in mkFit eventOfHits --- RecoTracker/MkFit/plugins/BuildFile.xml | 1 + .../MkFit/plugins/MkFitEventOfHitsProducer.cc | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/RecoTracker/MkFit/plugins/BuildFile.xml b/RecoTracker/MkFit/plugins/BuildFile.xml index eafb40579c061..9a554d369d74c 100644 --- a/RecoTracker/MkFit/plugins/BuildFile.xml +++ b/RecoTracker/MkFit/plugins/BuildFile.xml @@ -3,6 +3,7 @@ + diff --git a/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc b/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc index 9c657b0bda186..b3e754ca737b8 100644 --- a/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc +++ b/RecoTracker/MkFit/plugins/MkFitEventOfHitsProducer.cc @@ -10,6 +10,7 @@ #include "CalibFormats/SiStripObjects/interface/SiStripQuality.h" #include "CalibTracker/Records/interface/SiStripQualityRcd.h" +#include "DataFormats/BeamSpot/interface/BeamSpot.h" #include "DataFormats/SiStripCommon/interface/ConstantsForHardwareSystems.h" #include "DataFormats/TrackerCommon/interface/TrackerDetSide.h" #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h" @@ -42,6 +43,7 @@ class MkFitEventOfHitsProducer : public edm::global::EDProducer<> { mkfit::EventOfHits& eventOfHits, const MkFitGeometry& mkFitGeom) const; + const edm::EDGetTokenT beamSpotToken_; const edm::EDGetTokenT pixelHitsToken_; const edm::EDGetTokenT stripHitsToken_; const edm::EDGetTokenT pixelClusterIndexToHitToken_; @@ -56,7 +58,8 @@ class MkFitEventOfHitsProducer : public edm::global::EDProducer<> { }; MkFitEventOfHitsProducer::MkFitEventOfHitsProducer(edm::ParameterSet const& iConfig) - : pixelHitsToken_{consumes(iConfig.getParameter("pixelHits"))}, + : beamSpotToken_{consumes(iConfig.getParameter("beamSpot"))}, + pixelHitsToken_{consumes(iConfig.getParameter("pixelHits"))}, stripHitsToken_{consumes(iConfig.getParameter("stripHits"))}, pixelClusterIndexToHitToken_{consumes(iConfig.getParameter("pixelHits"))}, stripClusterIndexToHitToken_{consumes(iConfig.getParameter("stripHits"))}, @@ -77,6 +80,7 @@ MkFitEventOfHitsProducer::MkFitEventOfHitsProducer(edm::ParameterSet const& iCon void MkFitEventOfHitsProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { edm::ParameterSetDescription desc; + desc.add("beamSpot", edm::InputTag{"offlineBeamSpot"}); desc.add("pixelHits", edm::InputTag{"mkFitSiPixelHits"}); desc.add("stripHits", edm::InputTag{"mkFitSiStripHits"}); desc.add("usePixelQualityDB", true)->setComment("Use SiPixelQuality DB information"); @@ -181,6 +185,16 @@ void MkFitEventOfHitsProducer::produce(edm::StreamID iID, edm::Event& iEvent, co mkfit::StdSeq::Cmssw_LoadHits_End(*eventOfHits); + auto const bs = iEvent.get(beamSpotToken_); + eventOfHits->SetBeamSpot({.x = float(bs.x0()), + .y = float(bs.y0()), + .z = float(bs.z0()), + .sigmaZ = float(bs.sigmaZ()), + .beamWidthX = float(bs.BeamWidthX()), + .beamWidthY = float(bs.BeamWidthY()), + .dxdz = float(bs.dxdz()), + .dydz = float(bs.dydz())}); + iEvent.emplace(putToken_, std::move(eventOfHits)); }