5 jetToken_(consumes<
edm::
View<
pat::
Jet> >( iConfig.getParameter<
edm::InputTag>(
"jetSrc") )),
6 subjetToken_(consumes<
edm::
View<
pat::
Jet> >( iConfig.getParameter<
edm::InputTag>(
"subjetSrc") ))
9 produces<std::vector<pat::Jet> > ();
10 produces<std::vector<pat::Jet> > (
"SubJets");
24 auto outputs = std::make_unique<std::vector<pat::Jet>>();
25 auto outputSubjets = std::make_unique<std::vector<pat::Jet>>();
36 ijetEnd = jetHandle->end(), ijet = ijetBegin; ijet != ijetEnd; ++ijet ) {
39 std::vector< edm::Ptr<reco::Candidate> > nextSubjets;
41 for (
unsigned int isubjet = 0; isubjet < ijet->numberOfDaughters(); ++isubjet ) {
46 if ( ifound != subjetHandle->end() ) {
48 outputSubjets->push_back( *ifound );
51 edm::Ptr< pat::Jet > subjetPtr ( h_subJetsOut.id(), subjetRef.key(), h_subJetsOut.productGetter() );
52 nextSubjets.push_back( subjetPtr );
55 outputs->back().clearDaughters();
57 nextSubjetEnd = nextSubjets.end(); nextSubjet != nextSubjetEnd; ++nextSubjet ) {
58 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