From a61f130a05a26d500b5d00d2566bb063222703d1 Mon Sep 17 00:00:00 2001 From: mcitron Date: Wed, 27 Oct 2021 10:27:41 -0700 Subject: [PATCH] code checks --- .../JetMET/plugins/HLTCaloJetTimingFilter.cc | 32 ++++--- .../plugins/HLTCaloJetTimingProducer.cc | 91 +++++++++++-------- .../JetMET/test/hltCaloJetTimingFilter_cfg.py | 2 +- 3 files changed, 70 insertions(+), 55 deletions(-) diff --git a/HLTrigger/JetMET/plugins/HLTCaloJetTimingFilter.cc b/HLTrigger/JetMET/plugins/HLTCaloJetTimingFilter.cc index d909156b4e85a..3bc97453a1a5a 100644 --- a/HLTrigger/JetMET/plugins/HLTCaloJetTimingFilter.cc +++ b/HLTrigger/JetMET/plugins/HLTCaloJetTimingFilter.cc @@ -52,19 +52,19 @@ class HLTCaloJetTimingFilter : public HLTFilter { }; //Constructor -HLTCaloJetTimingFilter::HLTCaloJetTimingFilter(const edm::ParameterSet& iConfig) : - HLTFilter(iConfig), - jetInputToken_{consumes>(iConfig.getParameter("jets"))}, - jetTimesInputToken_{consumes>(iConfig.getParameter("jetTimes"))}, - jetCellsForTimingInputToken_{consumes>(iConfig.getParameter("jetCellsForTiming"))}, - jetEcalEtForTimingInputToken_{consumes>(iConfig.getParameter("jetEcalEtForTiming"))}, - minJets_{iConfig.getParameter("minJets")}, - jetTimeThresh_{iConfig.getParameter("jetTimeThresh")}, - jetEcalEtForTimingThresh_{iConfig.getParameter("jetEcalEtForTimingThresh")}, - jetCellsForTimingThresh_{iConfig.getParameter("jetCellsForTimingThresh")}, - minPt_{iConfig.getParameter("minJetPt")} -{ -} +HLTCaloJetTimingFilter::HLTCaloJetTimingFilter(const edm::ParameterSet& iConfig) + : HLTFilter(iConfig), + jetInputToken_{consumes>(iConfig.getParameter("jets"))}, + jetTimesInputToken_{consumes>(iConfig.getParameter("jetTimes"))}, + jetCellsForTimingInputToken_{ + consumes>(iConfig.getParameter("jetCellsForTiming"))}, + jetEcalEtForTimingInputToken_{ + consumes>(iConfig.getParameter("jetEcalEtForTiming"))}, + minJets_{iConfig.getParameter("minJets")}, + jetTimeThresh_{iConfig.getParameter("jetTimeThresh")}, + jetEcalEtForTimingThresh_{iConfig.getParameter("jetEcalEtForTimingThresh")}, + jetCellsForTimingThresh_{iConfig.getParameter("jetCellsForTimingThresh")}, + minPt_{iConfig.getParameter("minJetPt")} {} //Filter bool HLTCaloJetTimingFilter::hltFilter(edm::Event& iEvent, @@ -77,10 +77,12 @@ bool HLTCaloJetTimingFilter::hltFilter(edm::Event& iEvent, auto const& jetEcalEtForTiming = iEvent.get(jetEcalEtForTimingInputToken_); uint njets = 0; - for (size_t ijet=0; ijetsize(); ++ijet) { + for (size_t ijet = 0; ijet < jets->size(); ++ijet) { auto const& jet = jets->at(ijet); reco::CaloJetRef const calojetref(jets, ijet); - if (jet.pt() > minPt_ and jetTimes[calojetref] > jetTimeThresh_ and jetEcalEtForTiming[calojetref] > jetEcalEtForTimingThresh_ and jetCellsForTiming[calojetref] > jetCellsForTimingThresh_) + if (jet.pt() > minPt_ and jetTimes[calojetref] > jetTimeThresh_ and + jetEcalEtForTiming[calojetref] > jetEcalEtForTimingThresh_ and + jetCellsForTiming[calojetref] > jetCellsForTimingThresh_) ++njets; } diff --git a/HLTrigger/JetMET/plugins/HLTCaloJetTimingProducer.cc b/HLTrigger/JetMET/plugins/HLTCaloJetTimingProducer.cc index 045346601cdc8..9fe7ba960ba3b 100644 --- a/HLTrigger/JetMET/plugins/HLTCaloJetTimingProducer.cc +++ b/HLTrigger/JetMET/plugins/HLTCaloJetTimingProducer.cc @@ -3,7 +3,6 @@ * \brief This produces timing and associated ecal cell information for calo jets * \author Matthew Citron * - * */ // system include files @@ -37,7 +36,11 @@ class HLTCaloJetTimingProducer : public edm::stream::EDProducer<> { private: void produce(edm::Event&, const edm::EventSetup&) override; - void jetTimeFromEcalCells(const reco::CaloJet&, const edm::SortedCollection>&,float& ,float& ,uint& ); + void jetTimeFromEcalCells(const reco::CaloJet&, + const edm::SortedCollection>&, + float&, + float&, + uint&); // Input collections const edm::EDGetTokenT jetInputToken_; @@ -56,42 +59,51 @@ class HLTCaloJetTimingProducer : public edm::stream::EDProducer<> { }; //Constructor -HLTCaloJetTimingProducer::HLTCaloJetTimingProducer(const edm::ParameterSet& iConfig) : - jetInputToken_{consumes>(iConfig.getParameter("jets"))}, - ecalRecHitsEBToken_{consumes>>(iConfig.getParameter("ebRecHitsColl"))}, - ecalRecHitsEEToken_{consumes>>(iConfig.getParameter("eeRecHitsColl"))}, - barrelJets_{iConfig.getParameter("barrelJets")}, - endcapJets_{iConfig.getParameter("endcapJets")}, - ecalCellEnergyThresh_{iConfig.getParameter("ecalCellEnergyThresh")}, - ecalCellTimeThresh_{iConfig.getParameter("ecalCellTimeThresh")}, - ecalCellTimeErrorThresh_{iConfig.getParameter("ecalCellTimeErrorThresh")}, - matchingRadius2_{iConfig.getParameter("matchingRadius2")}{ +HLTCaloJetTimingProducer::HLTCaloJetTimingProducer(const edm::ParameterSet& iConfig) + : jetInputToken_{consumes>(iConfig.getParameter("jets"))}, + ecalRecHitsEBToken_{consumes>>( + iConfig.getParameter("ebRecHitsColl"))}, + ecalRecHitsEEToken_{consumes>>( + iConfig.getParameter("eeRecHitsColl"))}, + barrelJets_{iConfig.getParameter("barrelJets")}, + endcapJets_{iConfig.getParameter("endcapJets")}, + ecalCellEnergyThresh_{iConfig.getParameter("ecalCellEnergyThresh")}, + ecalCellTimeThresh_{iConfig.getParameter("ecalCellTimeThresh")}, + ecalCellTimeErrorThresh_{iConfig.getParameter("ecalCellTimeErrorThresh")}, + matchingRadius2_{iConfig.getParameter("matchingRadius2")} { produces>(""); produces>("jetCellsForTiming"); produces>("jetEcalEtForTiming"); } //calculateJetTime -void HLTCaloJetTimingProducer::jetTimeFromEcalCells(const reco::CaloJet& jet, const edm::SortedCollection>& ecalRecHits,float& weightedTimeCell,float& totalEmEnergyCell,uint& nCells){ - for (auto const& ecalRH : ecalRecHits) { - if (ecalRH.checkFlag(EcalRecHit::kSaturated) || ecalRH.checkFlag(EcalRecHit::kLeadingEdgeRecovered) || - ecalRH.checkFlag(EcalRecHit::kPoorReco) || ecalRH.checkFlag(EcalRecHit::kWeird) || - ecalRH.checkFlag(EcalRecHit::kDiWeird)) - continue; - if (ecalRH.energy() < ecalCellEnergyThresh_) - continue; - if (ecalRH.timeError() <= 0. || ecalRH.timeError() > ecalCellTimeErrorThresh_) - continue; - if (fabs(ecalRH.time()) > ecalCellTimeThresh_) - continue; - auto const pos = _pG->getPosition(ecalRH.detid()); - if (reco::deltaR2(jet, pos) > matchingRadius2_) - continue; - weightedTimeCell += ecalRH.time() * ecalRH.energy() * sin(pos.theta()); - totalEmEnergyCell += ecalRH.energy() * sin(pos.theta()); - nCells++; - } - if (totalEmEnergyCell > 0){weightedTimeCell /= totalEmEnergyCell;} +void HLTCaloJetTimingProducer::jetTimeFromEcalCells( + const reco::CaloJet& jet, + const edm::SortedCollection>& ecalRecHits, + float& weightedTimeCell, + float& totalEmEnergyCell, + uint& nCells) { + for (auto const& ecalRH : ecalRecHits) { + if (ecalRH.checkFlag(EcalRecHit::kSaturated) || ecalRH.checkFlag(EcalRecHit::kLeadingEdgeRecovered) || + ecalRH.checkFlag(EcalRecHit::kPoorReco) || ecalRH.checkFlag(EcalRecHit::kWeird) || + ecalRH.checkFlag(EcalRecHit::kDiWeird)) + continue; + if (ecalRH.energy() < ecalCellEnergyThresh_) + continue; + if (ecalRH.timeError() <= 0. || ecalRH.timeError() > ecalCellTimeErrorThresh_) + continue; + if (fabs(ecalRH.time()) > ecalCellTimeThresh_) + continue; + auto const pos = _pG->getPosition(ecalRH.detid()); + if (reco::deltaR2(jet, pos) > matchingRadius2_) + continue; + weightedTimeCell += ecalRH.time() * ecalRH.energy() * sin(pos.theta()); + totalEmEnergyCell += ecalRH.energy() * sin(pos.theta()); + nCells++; + } + if (totalEmEnergyCell > 0) { + weightedTimeCell /= totalEmEnergyCell; + } } //Producer @@ -114,10 +126,11 @@ void HLTCaloJetTimingProducer::produce(edm::Event& iEvent, const edm::EventSetup float weightedTimeCell = 0; float totalEmEnergyCell = 0; unsigned int nCells = 0; - if (barrelJets_) jetTimeFromEcalCells(jet,ecalRecHitsEB, weightedTimeCell, totalEmEnergyCell, nCells); + if (barrelJets_) + jetTimeFromEcalCells(jet, ecalRecHitsEB, weightedTimeCell, totalEmEnergyCell, nCells); if (endcapJets_) { - weightedTimeCell *= totalEmEnergyCell; - jetTimeFromEcalCells(jet,ecalRecHitsEE, weightedTimeCell, totalEmEnergyCell, nCells); + weightedTimeCell *= totalEmEnergyCell; + jetTimeFromEcalCells(jet, ecalRecHitsEE, weightedTimeCell, totalEmEnergyCell, nCells); } // If there is at least one ecal cell passing selection, calculate timing @@ -151,10 +164,10 @@ void HLTCaloJetTimingProducer::fillDescriptions(edm::ConfigurationDescriptions& desc.add("jets", edm::InputTag("")); desc.add("barrelJets", false); desc.add("endcapJets", false); - desc.add("ecalCellEnergyThresh",0.5); - desc.add("ecalCellTimeThresh",12.5); - desc.add("ecalCellTimeErrorThresh",100.); - desc.add("matchingRadius2",0.16); + desc.add("ecalCellEnergyThresh", 0.5); + desc.add("ecalCellTimeThresh", 12.5); + desc.add("ecalCellTimeErrorThresh", 100.); + desc.add("matchingRadius2", 0.16); desc.add("ebRecHitsColl", edm::InputTag("hltEcalRecHit", "EcalRecHitsEB")); desc.add("eeRecHitsColl", edm::InputTag("hltEcalRecHit", "EcalRecHitsEE")); descriptions.addWithDefaultLabel(desc); diff --git a/HLTrigger/JetMET/test/hltCaloJetTimingFilter_cfg.py b/HLTrigger/JetMET/test/hltCaloJetTimingFilter_cfg.py index 1d56c9c451356..6152efbfb9da6 100644 --- a/HLTrigger/JetMET/test/hltCaloJetTimingFilter_cfg.py +++ b/HLTrigger/JetMET/test/hltCaloJetTimingFilter_cfg.py @@ -30,7 +30,7 @@ ecalCellEnergyThresh =cms.double(0.5), ecalCellTimeThresh = cms.double(12.5), ecalCellTimeErrorThresh = cms.double(100.), - matchingRadius2 = cms.double(0.16), + matchingRadius = cms.double(0.4), ) process.hltTimingFilter = cms.EDFilter('HLTCaloJetTimingFilter',