#include <UniqueMerger.h>
Public Types | |
typedef std::set< typename OutputCollection::value_type > | set_type |
Public Types inherited from edm::global::EDProducerBase | |
typedef EDProducerBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
template<typename T > | |
using | BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T > |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > > |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Private Types | |
typedef std::vector< edm::EDGetTokenT< InputCollection > > | vtoken |
vector of strings More... | |
Private Member Functions | |
void | produce (edm::StreamID, edm::Event &, const edm::EventSetup &) const override |
process an event More... | |
Private Attributes | |
bool | skipNulls_ |
choose whether to skip null/invalid pointers More... | |
vtoken | srcToken_ |
labels of the collections to be merged More... | |
bool | warnOnSkip_ |
choose whether to warn when skipping pointers More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from edm::global::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Protected Member Functions inherited from edm::ProducerBase | |
template<Transition Tr = Transition::Event> | |
auto | produces (std::string instanceName) noexcept |
declare what type of product will make and with which optional label More... | |
template<Transition B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<BranchType B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces () |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces () |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces () |
template<Transition Tr = Transition::Event> | |
auto | produces () noexcept |
ProducesCollector | producesCollector () |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
template<BranchType B = InEvent> | |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<Transition Tr = Transition::Event> | |
constexpr auto | esConsumes () |
template<Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag tag) |
template<Transition Tr = Transition::Event> | |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
Used with EventSetupRecord::doGet. More... | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
void | resetItemsToGetFrom (BranchType iType) |
Merges an arbitrary number of collections into a single collection, without duplicates. Based on logic from Merger.h. This class template differs from Merger.h in that it uses a set instead of std::vector. This requires the OutputCollection type to be sortable, which allows us to search for elements downstream efficiently.
Template parameters:
Definition at line 35 of file UniqueMerger.h.
typedef std::set<typename OutputCollection::value_type> UniqueMerger< InputCollection, OutputCollection, P >::set_type |
Definition at line 37 of file UniqueMerger.h.
|
private |
vector of strings
Definition at line 47 of file UniqueMerger.h.
|
explicit |
constructor from parameter set
Definition at line 57 of file UniqueMerger.h.
References makeGlobalPositionRcd_cfg::tag.
|
override |
|
overrideprivatevirtual |
process an event
Implements edm::global::EDProducerBase.
Definition at line 69 of file UniqueMerger.h.
References HltBtagPostValidation_cff::c, clone(), filterCSVwithJSON::copy, edm::Event::get(), eostools::move(), HLTTauReferences_cfi::OutputCollection, edm::Event::put(), and alignCSCRings::s.
|
private |
choose whether to skip null/invalid pointers
Definition at line 51 of file UniqueMerger.h.
|
private |
labels of the collections to be merged
Definition at line 49 of file UniqueMerger.h.
|
private |
choose whether to warn when skipping pointers
Definition at line 53 of file UniqueMerger.h.