55#include " RecoLocalCalo/HcalRecAlgos/interface/SimpleHBHEPhase1Algo.h"
66#include " RecoLocalCalo/HcalRecAlgos/interface/HcalCorrectionFunctions.h"
77
8+ #include " FWCore/Framework/interface/ConsumesCollector.h"
89#include " FWCore/Framework/interface/Run.h"
910
1011#include " DataFormats/HcalRecHit/interface/HBHERecHitAuxSetter.h"
1112#include " DataFormats/METReco/interface/HcalPhase1FlagLabels.h"
1213#include " CondFormats/DataRecord/interface/HcalTimeSlewRecord.h"
1314#include " FWCore/Framework/interface/EventSetup.h"
14- #include " FWCore/Framework/interface/ESHandle.h"
1515
16- // Maximum fractional error for calculating Method 0
17- // pulse containment correction
18- constexpr float PulseContainmentFractionalError = 0 .002f ;
16+ namespace {
17+ // Maximum fractional error for calculating Method 0
18+ // pulse containment correction
19+ constexpr float PulseContainmentFractionalError = 0 .002f ;
20+ } // namespace
1921
2022SimpleHBHEPhase1Algo::SimpleHBHEPhase1Algo (const int firstSampleShift,
2123 const int samplesToAdd,
@@ -25,8 +27,10 @@ SimpleHBHEPhase1Algo::SimpleHBHEPhase1Algo(const int firstSampleShift,
2527 const bool applyLegacyHBMCorrection,
2628 std::unique_ptr<PulseShapeFitOOTPileupCorrection> m2,
2729 std::unique_ptr<HcalDeterministicFit> detFit,
28- std::unique_ptr<MahiFit> mahi)
29- : pulseCorr_(PulseContainmentFractionalError),
30+ std::unique_ptr<MahiFit> mahi,
31+ edm::ConsumesCollector iC)
32+ : delayToken_(iC.esConsumes<edm::Transition::BeginRun>(edm::ESInputTag(" " , " HBHE" ))),
33+ pulseCorr_(PulseContainmentFractionalError, iC),
3034 firstSampleShift_(firstSampleShift),
3135 samplesToAdd_(samplesToAdd),
3236 phaseNS_(phaseNS),
@@ -41,9 +45,7 @@ SimpleHBHEPhase1Algo::SimpleHBHEPhase1Algo(const int firstSampleShift,
4145}
4246
4347void SimpleHBHEPhase1Algo::beginRun (const edm::Run& r, const edm::EventSetup& es) {
44- edm::ESHandle<HcalTimeSlew> delay;
45- es.get <HcalTimeSlewRecord>().get (" HBHE" , delay);
46- hcalTimeSlew_delay_ = &*delay;
48+ hcalTimeSlew_delay_ = &es.getData (delayToken_);
4749
4850 runnum_ = r.run ();
4951 pulseCorr_.beginRun (es);
0 commit comments