From fabaab88fbebabcd3e39b61d69b3b6842a19c573 Mon Sep 17 00:00:00 2001 From: Marino Missiroli Date: Fri, 26 Aug 2022 12:14:07 +0200 Subject: [PATCH] explicit type for input=output collections of HLTJetsMatchedToFilteredJetsProducer --- .../HLTJetsMatchedToFilteredJetsProducer.h} | 61 +++++++++---------- HLTrigger/JetMET/plugins/SealModule.cc | 13 +++- 2 files changed, 40 insertions(+), 34 deletions(-) rename HLTrigger/JetMET/{interface/HLTPFJetsMatchedToFilteredJetsProducer.h => plugins/HLTJetsMatchedToFilteredJetsProducer.h} (55%) diff --git a/HLTrigger/JetMET/interface/HLTPFJetsMatchedToFilteredJetsProducer.h b/HLTrigger/JetMET/plugins/HLTJetsMatchedToFilteredJetsProducer.h similarity index 55% rename from HLTrigger/JetMET/interface/HLTPFJetsMatchedToFilteredJetsProducer.h rename to HLTrigger/JetMET/plugins/HLTJetsMatchedToFilteredJetsProducer.h index 47a09d1f7da43..11c4c1b794a36 100644 --- a/HLTrigger/JetMET/interface/HLTPFJetsMatchedToFilteredJetsProducer.h +++ b/HLTrigger/JetMET/plugins/HLTJetsMatchedToFilteredJetsProducer.h @@ -1,5 +1,5 @@ -#ifndef HLTrigger_JetMET_HLTPFJetsMatchedToFilteredJetsProducer_h -#define HLTrigger_JetMET_HLTPFJetsMatchedToFilteredJetsProducer_h +#ifndef HLTrigger_JetMET_HLTJetsMatchedToFilteredJetsProducer_h +#define HLTrigger_JetMET_HLTJetsMatchedToFilteredJetsProducer_h #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/global/EDProducer.h" @@ -10,25 +10,27 @@ #include "FWCore/Utilities/interface/Exception.h" #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h" #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h" -#include "DataFormats/JetReco/interface/PFJetCollection.h" #include "DataFormats/Math/interface/deltaR.h" #include #include #include -template -class HLTPFJetsMatchedToFilteredJetsProducer : public edm::global::EDProducer<> { +template +class HLTJetsMatchedToFilteredJetsProducer : public edm::global::EDProducer<> { public: - explicit HLTPFJetsMatchedToFilteredJetsProducer(edm::ParameterSet const& iConfig); + explicit HLTJetsMatchedToFilteredJetsProducer(edm::ParameterSet const& iConfig); static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); void produce(edm::StreamID streamID, edm::Event& iEvent, edm::EventSetup const& iSetup) const override; private: - // collection of reco::*Jets (using edm::View to be able to read different types of reco::*Jet collections without templating explicitly) - edm::EDGetTokenT> const recoCandsToken_; + using InputJetCollection = edm::View; + using OutputJetCollection = std::vector; + + // collection of input jets + edm::EDGetTokenT const jetsToken_; // collection of TriggerFilterObjectWithRefs containing TriggerObjects holding refs to Jets stored by an HLTFilter edm::EDGetTokenT const triggerJetsToken_; // TriggerType of Jets produced by previous HLTFilter @@ -37,58 +39,55 @@ class HLTPFJetsMatchedToFilteredJetsProducer : public edm::global::EDProducer<> double const maxDeltaR_, maxDeltaR2_; }; -template -HLTPFJetsMatchedToFilteredJetsProducer::HLTPFJetsMatchedToFilteredJetsProducer( +template +HLTJetsMatchedToFilteredJetsProducer::HLTJetsMatchedToFilteredJetsProducer( edm::ParameterSet const& iConfig) - : recoCandsToken_(consumes(iConfig.getParameter("src"))), + : jetsToken_(consumes(iConfig.getParameter("src"))), triggerJetsToken_(consumes(iConfig.getParameter("triggerJetsFilter"))), triggerJetsType_(iConfig.getParameter("triggerJetsType")), maxDeltaR_(iConfig.getParameter("maxDeltaR")), maxDeltaR2_(maxDeltaR_ * maxDeltaR_) { if (maxDeltaR_ <= 0.) { - throw cms::Exception("HLTPFJetsMatchedToFilteredJetsProducerConfiguration") + throw cms::Exception("HLTJetsMatchedToFilteredJetsProducerConfiguration") << "invalid value for parameter \"maxDeltaR\" (must be > 0): " << maxDeltaR_; } - produces(); + produces(); } -template -void HLTPFJetsMatchedToFilteredJetsProducer::fillDescriptions( +template +void HLTJetsMatchedToFilteredJetsProducer::fillDescriptions( edm::ConfigurationDescriptions& descriptions) { edm::ParameterSetDescription desc; - desc.add("src", edm::InputTag("hltPFJets")); + desc.add("src", edm::InputTag("hltJets")); desc.add("triggerJetsFilter", edm::InputTag("hltCaloJetsFiltered")); desc.add("triggerJetsType", trigger::TriggerJet); desc.add("maxDeltaR", 0.5); descriptions.addWithDefaultLabel(desc); } -template -void HLTPFJetsMatchedToFilteredJetsProducer::produce(edm::StreamID streamID, - edm::Event& iEvent, - edm::EventSetup const&) const { - auto const& recoCands = iEvent.get(recoCandsToken_); +template +void HLTJetsMatchedToFilteredJetsProducer::produce(edm::StreamID, + edm::Event& iEvent, + edm::EventSetup const&) const { + auto const& jets = iEvent.get(jetsToken_); std::vector triggerJetsRefVec; iEvent.get(triggerJetsToken_).getObjects(triggerJetsType_, triggerJetsRefVec); - math::XYZPoint const pvtxPoint(0., 0., 0.); - reco::PFJet::Specific const pfJetSpec; - - auto outPFJets = std::make_unique(); - outPFJets->reserve(recoCands.size()); + auto outJets = std::make_unique(); + outJets->reserve(jets.size()); - for (auto const& jRecoCand : recoCands) { - for (auto const& iJetRef : triggerJetsRefVec) { - if (reco::deltaR2(jRecoCand.p4(), iJetRef->p4()) < maxDeltaR2_) { - outPFJets->emplace_back(jRecoCand.p4(), pvtxPoint, pfJetSpec); + for (auto const& jet_i : jets) { + for (auto const& jetRef_j : triggerJetsRefVec) { + if (reco::deltaR2(jet_i.p4(), jetRef_j->p4()) < maxDeltaR2_) { + outJets->emplace_back(jet_i); break; } } } - iEvent.put(std::move(outPFJets)); + iEvent.put(std::move(outJets)); } #endif diff --git a/HLTrigger/JetMET/plugins/SealModule.cc b/HLTrigger/JetMET/plugins/SealModule.cc index f16ac08e6137c..bcb785ac55e41 100644 --- a/HLTrigger/JetMET/plugins/SealModule.cc +++ b/HLTrigger/JetMET/plugins/SealModule.cc @@ -98,7 +98,7 @@ #include "HLTrigger/JetMET/interface/HLTExclDiJetFilter.h" #include "HLTrigger/JetMET/src/HLTExclDiJetFilter.cc" // -#include "HLTrigger/JetMET/interface/HLTPFJetsMatchedToFilteredJetsProducer.h" +#include "HLTJetsMatchedToFilteredJetsProducer.h" using namespace reco; using namespace trigger; @@ -251,10 +251,17 @@ DEFINE_FWK_MODULE(HLTFatPFJetMassFilter); DEFINE_FWK_MODULE(HLTExclDiCaloJetFilter); DEFINE_FWK_MODULE(HLTExclDiPFJetFilter); -typedef HLTPFJetsMatchedToFilteredJetsProducer HLTPFJetsMatchedToFilteredCaloJetsProducer; +typedef HLTJetsMatchedToFilteredJetsProducer + HLTCaloJetsMatchedToFilteredCaloJetsProducer; +DEFINE_FWK_MODULE(HLTCaloJetsMatchedToFilteredCaloJetsProducer); + +typedef HLTJetsMatchedToFilteredJetsProducer HLTCaloJetsMatchedToFilteredPFJetsProducer; +DEFINE_FWK_MODULE(HLTCaloJetsMatchedToFilteredPFJetsProducer); + +typedef HLTJetsMatchedToFilteredJetsProducer HLTPFJetsMatchedToFilteredCaloJetsProducer; DEFINE_FWK_MODULE(HLTPFJetsMatchedToFilteredCaloJetsProducer); -typedef HLTPFJetsMatchedToFilteredJetsProducer HLTPFJetsMatchedToFilteredPFJetsProducer; +typedef HLTJetsMatchedToFilteredJetsProducer HLTPFJetsMatchedToFilteredPFJetsProducer; DEFINE_FWK_MODULE(HLTPFJetsMatchedToFilteredPFJetsProducer); typedef HLTJetHFCleaner HLTCaloJetHFCleaner;