48 electronSrcToken_(consumes<edm::
View<
reco::GsfElectron> >(iConfig.getParameter<edm::
InputTag>(
"electronSource"))),
53 produces<edm::RefToBaseVector<reco::GsfElectron> >();
70 auto result = std::make_unique<RefToBaseVector<reco::GsfElectron>>();
72 std::unique_ptr< std::vector<size_t> > duplicates = duplicateRemover_.duplicatesToRemove(*
electrons);
74 std::vector<size_t>::const_iterator itdup = duplicates->begin(), enddup = duplicates->end();
76 while ((itdup != enddup) && (*itdup <
i)) { ++itdup; }
77 if ((itdup != enddup) && (*itdup ==
i))
continue;
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
Remove duplicates from the list of electrons.
std::atomic< uint64_t > try_
std::atomic< uint64_t > pass_
virtual void produce(edm::StreamID, edm::Event &iEvent, const edm::EventSetup &iSetup) const overridefinal
DuplicatedElectronCleaner(const edm::ParameterSet &iConfig)
~DuplicatedElectronCleaner()
const edm::EDGetTokenT< edm::View< reco::GsfElectron > > electronSrcToken_
const pat::DuplicatedElectronRemover duplicateRemover_