File indexing completed on 2024-04-06 12:25:31
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #include <memory>
0021 #include <vector>
0022 #include <sstream>
0023
0024
0025 #include "FWCore/PluginManager/interface/ModuleDef.h"
0026 #include "FWCore/Framework/interface/MakerMacros.h"
0027 #include "FWCore/Framework/interface/Event.h"
0028 #include "DataFormats/BTauReco/interface/CATopJetTagInfo.h"
0029 #include "DataFormats/JetReco/interface/PFJetCollection.h"
0030
0031
0032 #include "RecoJets/JetProducers/plugins/BasicToPFJet.h"
0033
0034 BasicToPFJet::BasicToPFJet(const edm::ParameterSet& PSet)
0035 : src_(PSet.getParameter<edm::InputTag>("src")), inputToken_(consumes<reco::BasicJetCollection>(src_)) {
0036 produces<reco::PFJetCollection>();
0037 }
0038
0039 void BasicToPFJet::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
0040 edm::ParameterSetDescription desc;
0041 desc.add<edm::InputTag>("src", edm::InputTag(""));
0042 descriptions.add("BasicToPFJet", desc);
0043 }
0044
0045 void BasicToPFJet::produce(edm::StreamID, edm::Event& Event, const edm::EventSetup& EventSetup) const {
0046
0047 edm::Handle<reco::BasicJetCollection> BasicJetColl;
0048 Event.getByToken(inputToken_, BasicJetColl);
0049
0050
0051 auto PFJetColl = std::make_unique<reco::PFJetCollection>();
0052
0053
0054 reco::PFJet::Specific specific;
0055
0056
0057 reco::BasicJetCollection::const_iterator i = BasicJetColl->begin();
0058
0059
0060 for (; i != BasicJetColl->end(); i++) {
0061 reco::PFJet pfjet(i->p4(), i->vertex(), specific);
0062 PFJetColl->push_back(pfjet);
0063 }
0064
0065
0066 Event.put(std::move(PFJetColl));
0067 }
0068
0069
0070 DEFINE_FWK_MODULE(BasicToPFJet);