Skip to content

Commit

Permalink
Merge pull request #30450 from JamminJones/fixRecoLocalMuonGEMRecHit
Browse files Browse the repository at this point in the history
added esConsumes to modules in RecoLocalMuon/GEMRecHit
  • Loading branch information
cmsbuild committed Jun 30, 2020
2 parents d63e62e + 7021f95 commit ed1b002
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 11 deletions.
20 changes: 11 additions & 9 deletions RecoLocalMuon/GEMRecHit/plugins/GEMRecHitProducer.cc
Expand Up @@ -5,15 +5,12 @@
#include "RecoLocalMuon/GEMRecHit/plugins/GEMRecHitProducer.h"

#include "Geometry/GEMGeometry/interface/GEMEtaPartition.h"
#include "Geometry/Records/interface/MuonGeometryRecord.h"
#include "DataFormats/MuonDetId/interface/GEMDetId.h"
#include "DataFormats/GEMRecHit/interface/GEMRecHit.h"

#include "RecoLocalMuon/GEMRecHit/interface/GEMRecHitAlgoFactory.h"
#include "DataFormats/GEMRecHit/interface/GEMRecHitCollection.h"

#include "CondFormats/DataRecord/interface/GEMMaskedStripsRcd.h"
#include "CondFormats/DataRecord/interface/GEMDeadStripsRcd.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"

#include <string>
Expand All @@ -28,7 +25,8 @@ GEMRecHitProducer::GEMRecHitProducer(const ParameterSet& config)
theAlgo{GEMRecHitAlgoFactory::get()->create(config.getParameter<string>("recAlgo"),
config.getParameter<ParameterSet>("recAlgoConfig"))},
maskSource_(MaskSource::EventSetup),
deadSource_(MaskSource::EventSetup) {
deadSource_(MaskSource::EventSetup),
gemGeomToken_(esConsumes<GEMGeometry, MuonGeometryRecord, edm::Transition::BeginRun>()) {
produces<GEMRecHitCollection>();

// Get masked- and dead-strip information from file
Expand Down Expand Up @@ -65,6 +63,12 @@ GEMRecHitProducer::GEMRecHitProducer(const ParameterSet& config)
}
inputFile.close();
}
if (maskSource_ == MaskSource::EventSetup) {
maskedStripsToken_ = esConsumes<GEMMaskedStrips, GEMMaskedStripsRcd, edm::Transition::BeginRun>();
}
if (deadSource_ == MaskSource::EventSetup) {
deadStripsToken_ = esConsumes<GEMDeadStrips, GEMDeadStripsRcd, edm::Transition::BeginRun>();
}
}
}

Expand All @@ -84,19 +88,17 @@ void GEMRecHitProducer::fillDescriptions(edm::ConfigurationDescriptions& descrip

void GEMRecHitProducer::beginRun(const edm::Run& r, const edm::EventSetup& setup) {
// Get the GEM Geometry
setup.get<MuonGeometryRecord>().get(gemGeom_);
gemGeom_ = setup.getHandle(gemGeomToken_);

if (applyMasking_) {
// Getting the masked-strip information
if (maskSource_ == MaskSource::EventSetup) {
edm::ESHandle<GEMMaskedStrips> readoutMaskedStrips;
setup.get<GEMMaskedStripsRcd>().get(readoutMaskedStrips);
edm::ESHandle<GEMMaskedStrips> readoutMaskedStrips = setup.getHandle(maskedStripsToken_);
theGEMMaskedStripsObj = std::make_unique<GEMMaskedStrips>(*readoutMaskedStrips.product());
}
// Getting the dead-strip information
if (deadSource_ == MaskSource::EventSetup) {
edm::ESHandle<GEMDeadStrips> readoutDeadStrips;
setup.get<GEMDeadStripsRcd>().get(readoutDeadStrips);
edm::ESHandle<GEMDeadStrips> readoutDeadStrips = setup.getHandle(deadStripsToken_);
theGEMDeadStripsObj = std::make_unique<GEMDeadStrips>(*readoutDeadStrips.product());
}

Expand Down
8 changes: 8 additions & 0 deletions RecoLocalMuon/GEMRecHit/plugins/GEMRecHitProducer.h
Expand Up @@ -14,10 +14,14 @@
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
#include "FWCore/Utilities/interface/InputTag.h"
#include "FWCore/Utilities/interface/ESGetToken.h"
#include "Geometry/GEMGeometry/interface/GEMGeometry.h"
#include "DataFormats/GEMDigi/interface/GEMDigiCollection.h"
#include "CondFormats/GEMObjects/interface/GEMMaskedStrips.h"
#include "CondFormats/GEMObjects/interface/GEMDeadStrips.h"
#include "CondFormats/DataRecord/interface/GEMMaskedStripsRcd.h"
#include "CondFormats/DataRecord/interface/GEMDeadStripsRcd.h"
#include "Geometry/Records/interface/MuonGeometryRecord.h"
#include "RecoLocalMuon/GEMRecHit/interface/GEMRecHitBaseAlgo.h"

class GEMRecHitProducer : public edm::stream::EDProducer<> {
Expand Down Expand Up @@ -53,6 +57,10 @@ class GEMRecHitProducer : public edm::stream::EDProducer<> {

edm::ESHandle<GEMGeometry> gemGeom_;

edm::ESGetToken<GEMGeometry, MuonGeometryRecord> gemGeomToken_;
edm::ESGetToken<GEMMaskedStrips, GEMMaskedStripsRcd> maskedStripsToken_;
edm::ESGetToken<GEMDeadStrips, GEMDeadStripsRcd> deadStripsToken_;

// map of mask and dead strips
std::map<GEMDetId, EtaPartitionMask> gemMask_;

Expand Down
4 changes: 2 additions & 2 deletions RecoLocalMuon/GEMRecHit/plugins/ME0RecHitProducer.cc
Expand Up @@ -14,14 +14,14 @@ ME0RecHitProducer::ME0RecHitProducer(const edm::ParameterSet& config)
produces<ME0RecHitCollection>();

m_token = consumes<ME0DigiPreRecoCollection>(config.getParameter<edm::InputTag>("me0DigiLabel"));
m_me0GeomToken = esConsumes<ME0Geometry, MuonGeometryRecord>();
}

ME0RecHitProducer::~ME0RecHitProducer() = default;

void ME0RecHitProducer::produce(edm::Event& event, const edm::EventSetup& setup) {
// Get the ME0 Geometry
edm::ESHandle<ME0Geometry> me0Geom;
setup.get<MuonGeometryRecord>().get(me0Geom);
edm::ESHandle<ME0Geometry> me0Geom = setup.getHandle(m_me0GeomToken);

// Get the digis from the event

Expand Down
4 changes: 4 additions & 0 deletions RecoLocalMuon/GEMRecHit/plugins/ME0RecHitProducer.h
Expand Up @@ -23,6 +23,7 @@
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/Utilities/interface/ESGetToken.h"

#include "DataFormats/GEMDigi/interface/ME0DigiPreRecoCollection.h"

Expand Down Expand Up @@ -58,6 +59,9 @@ class ME0RecHitProducer : public edm::stream::EDProducer<> {

// The reconstruction algorithm
std::unique_ptr<ME0RecHitBaseAlgo> theAlgo;

//EventSetup Token for ME0Geometry
edm::ESGetToken<ME0Geometry, MuonGeometryRecord> m_me0GeomToken;
};

#endif

0 comments on commit ed1b002

Please sign in to comment.