diff --git a/RecoMET/METFilters/plugins/EcalLaserCorrFilter.cc b/RecoMET/METFilters/plugins/EcalLaserCorrFilter.cc index 0082305af37af..fbfd4b75db418 100644 --- a/RecoMET/METFilters/plugins/EcalLaserCorrFilter.cc +++ b/RecoMET/METFilters/plugins/EcalLaserCorrFilter.cc @@ -3,7 +3,6 @@ #include "FWCore/Framework/interface/global/EDFilter.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" @@ -37,6 +36,7 @@ class EcalLaserCorrFilter : public edm::global::EDFilter<> { const edm::EDGetTokenT ebRHSrcToken_; const edm::EDGetTokenT eeRHSrcToken_; + const edm::ESGetToken laserToken_; // thresholds to laser corr to set kPoorCalib const double EBLaserMIN_, EELaserMIN_, EBLaserMAX_, EELaserMAX_, EBEnegyMIN_, EEEnegyMIN_; @@ -46,6 +46,7 @@ class EcalLaserCorrFilter : public edm::global::EDFilter<> { EcalLaserCorrFilter::EcalLaserCorrFilter(const edm::ParameterSet& iConfig) : ebRHSrcToken_(consumes(iConfig.getParameter("EBRecHitSource"))), eeRHSrcToken_(consumes(iConfig.getParameter("EERecHitSource"))), + laserToken_(esConsumes()), EBLaserMIN_(iConfig.getParameter("EBLaserMIN")), EELaserMIN_(iConfig.getParameter("EELaserMIN")), EBLaserMAX_(iConfig.getParameter("EBLaserMAX")), @@ -69,8 +70,7 @@ bool EcalLaserCorrFilter::filter(edm::StreamID, edm::Event& iEvent, const edm::E iEvent.getByToken(eeRHSrcToken_, eeRHs); // Laser corrections - edm::ESHandle laser; - iSetup.get().get(laser); + auto const& laser = iSetup.getData(laserToken_); bool goodCalib = true; @@ -85,7 +85,7 @@ bool EcalLaserCorrFilter::filter(edm::StreamID, edm::Event& iEvent, const edm::E int jz = EEDetId((*eerh).id()).zside(); // get laser coefficient - float lasercalib = laser->getLaserCorrection(EEDetId(eeDet), iEvent.time()); + float lasercalib = laser.getLaserCorrection(EEDetId(eeDet), iEvent.time()); if (energy > EEEnegyMIN_ && (lasercalib < EELaserMIN_ || lasercalib > EELaserMAX_)) { goodCalib = false; @@ -111,7 +111,7 @@ bool EcalLaserCorrFilter::filter(edm::StreamID, edm::Event& iEvent, const edm::E int zrec = EBDetId((*ebrh).id()).zside(); // get laser coefficient - float lasercalib = laser->getLaserCorrection(EBDetId(ebDet), iEvent.time()); + float lasercalib = laser.getLaserCorrection(EBDetId(ebDet), iEvent.time()); if (energy > EBEnegyMIN_ && (lasercalib < EBLaserMIN_ || lasercalib > EBLaserMAX_)) { goodCalib = false;