4 : jetToken_(consumes<edm::
View<pat::
Jet>>(iConfig.getParameter<edm::
InputTag>(
"jetSrc"))),
5 subjetToken_(consumes<edm::
View<pat::
Jet>>(iConfig.getParameter<edm::
InputTag>(
"subjetSrc"))) {
7 produces<std::vector<pat::Jet>>();
8 produces<std::vector<pat::Jet>>(
"SubJets");
15 auto outputs = std::make_unique<std::vector<pat::Jet>>();
16 auto outputSubjets = std::make_unique<std::vector<pat::Jet>>();
29 outputs->push_back(*ijet);
30 std::vector<edm::Ptr<reco::Candidate>> nextSubjets;
32 for (
unsigned int isubjet = 0; isubjet < ijet->numberOfDaughters(); ++isubjet) {
36 if (ifound != subjetHandle->end()) {
37 outputSubjets->push_back(*ifound);
40 edm::Ptr<pat::Jet> subjetPtr(h_subJetsOut.id(), subjetRef.key(), h_subJetsOut.productGetter());
41 nextSubjets.push_back(subjetPtr);
44 outputs->back().clearDaughters();
46 nextSubjetEnd = nextSubjets.end();
47 nextSubjet != nextSubjetEnd;
49 outputs->back().addDaughter(*nextSubjet);
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
~BoostedJetMerger() override
#define DEFINE_FWK_MODULE(type)
BoostedJetMerger(const edm::ParameterSet &)
edm::EDGetTokenT< edm::View< pat::Jet > > jetToken_
RefProd< PROD > getRefBeforePut()
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
edm::EDGetTokenT< edm::View< pat::Jet > > subjetToken_
void produce(edm::Event &, const edm::EventSetup &) override