File indexing completed on 2023-10-25 09:53:08
0001 #include "HLTrigger/JetMET/interface/AnyJetToCaloJetProducer.h"
0002 #include "DataFormats/Common/interface/Handle.h"
0003
0004 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0005 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0006 #include "FWCore/Utilities/interface/InputTag.h"
0007
0008 AnyJetToCaloJetProducer::AnyJetToCaloJetProducer(const edm::ParameterSet& iConfig) {
0009 jetSrc_ = iConfig.getParameter<edm::InputTag>("Source");
0010 m_theGenericJetToken = consumes<edm::View<reco::Jet>>(jetSrc_);
0011 produces<reco::CaloJetCollection>();
0012 }
0013
0014 AnyJetToCaloJetProducer::~AnyJetToCaloJetProducer() = default;
0015
0016 void AnyJetToCaloJetProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
0017 edm::ParameterSetDescription desc;
0018 desc.add<edm::InputTag>("Source", edm::InputTag(""));
0019 descriptions.add("AnyJetToCaloJetProducer", desc);
0020 }
0021
0022 void AnyJetToCaloJetProducer::produce(edm::Event& iEvent, const edm::EventSetup& iES) {
0023 std::unique_ptr<reco::CaloJetCollection> newjets(new reco::CaloJetCollection());
0024
0025 edm::Handle<edm::View<reco::Jet>> jets;
0026 if (iEvent.getByToken(m_theGenericJetToken, jets)) {
0027 for (edm::View<reco::Jet>::const_iterator i = jets->begin(); i != jets->end(); i++) {
0028 reco::CaloJet jet(i->p4(), i->vertex(), reco::CaloJet::Specific());
0029 newjets->push_back(jet);
0030 }
0031 }
0032
0033 iEvent.put(std::move(newjets));
0034 }