File indexing completed on 2024-04-06 12:27:44
0001 #include "RecoTauTag/HLTProducers/interface/PFJetToCaloProducer.h"
0002 #include "DataFormats/VertexReco/interface/Vertex.h"
0003 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0004 #include "Math/GenVector/VectorUtil.h"
0005
0006
0007
0008
0009 PFJetToCaloProducer::PFJetToCaloProducer(const edm::ParameterSet& iConfig) {
0010 tauSrc_ = consumes<reco::PFJetCollection>(iConfig.getParameter<edm::InputTag>("Source"));
0011 produces<reco::CaloJetCollection>();
0012 }
0013
0014 PFJetToCaloProducer::~PFJetToCaloProducer() {}
0015
0016 void PFJetToCaloProducer::produce(edm::StreamID, edm::Event& iEvent, const edm::EventSetup& iES) const {
0017 using namespace reco;
0018 using namespace edm;
0019 using namespace std;
0020
0021 std::unique_ptr<reco::CaloJetCollection> selectedTaus(new CaloJetCollection);
0022
0023 edm::Handle<PFJetCollection> tauJets;
0024 iEvent.getByToken(tauSrc_, tauJets);
0025
0026 CaloJet::Specific specific;
0027 for (PFJetCollection::const_iterator i = tauJets->begin(); i != tauJets->end(); ++i) {
0028 CaloJet jet(i->p4(), i->vertex(), specific);
0029 jet.setPdgId(15);
0030 selectedTaus->push_back(jet);
0031 }
0032
0033 iEvent.put(std::move(selectedTaus));
0034 }
0035
0036 #include "FWCore/Framework/interface/MakerMacros.h"
0037 DEFINE_FWK_MODULE(PFJetToCaloProducer);