#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 | |
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::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
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<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) |
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 UniqueMerger< InputCollection, OutputCollection, P >::skipNulls_, GlobalPosition_Frontier_DevDB_cff::tag, and UniqueMerger< InputCollection, OutputCollection, P >::warnOnSkip_.
|
override |
|
overrideprivate |
process an event
Definition at line 69 of file UniqueMerger.h.
References EnergyCorrector::c, clone(), coll, popcon2dropbox::copy(), edm::Event::get(), eostools::move(), edm::Event::put(), alignCSCRings::s, UniqueMerger< InputCollection, OutputCollection, P >::skipNulls_, UniqueMerger< InputCollection, OutputCollection, P >::srcToken_, and UniqueMerger< InputCollection, OutputCollection, P >::warnOnSkip_.
Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().
|
private |
choose whether to skip null/invalid pointers
Definition at line 51 of file UniqueMerger.h.
Referenced by UniqueMerger< InputCollection, OutputCollection, P >::produce(), and UniqueMerger< InputCollection, OutputCollection, P >::UniqueMerger().
|
private |
labels of the collections to be merged
Definition at line 49 of file UniqueMerger.h.
Referenced by UniqueMerger< InputCollection, OutputCollection, P >::produce().
|
private |
choose whether to warn when skipping pointers
Definition at line 53 of file UniqueMerger.h.
Referenced by UniqueMerger< InputCollection, OutputCollection, P >::produce(), and UniqueMerger< InputCollection, OutputCollection, P >::UniqueMerger().