Remove duplicates from the list of electrons. More...
Public Member Functions | |
DuplicatedElectronCleaner (const edm::ParameterSet &iConfig) | |
virtual void | produce (edm::StreamID, edm::Event &iEvent, const edm::EventSetup &iSetup) const overridefinal |
~DuplicatedElectronCleaner () | |
Public Member Functions inherited from edm::global::EDProducer<> | |
EDProducer ()=default | |
Public Member Functions inherited from edm::global::EDProducerBase | |
EDProducerBase () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDProducerBase () |
Public Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
virtual | ~ProducerBase () |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
EDConsumerBase () | |
ProductHolderIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
std::vector < ProductHolderIndexAndSkipBit > const & | itemsToGetFromEvent () const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
bool | registeredToConsume (ProductHolderIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &) |
virtual | ~EDConsumerBase () |
Private Attributes | |
const pat::DuplicatedElectronRemover | duplicateRemover_ |
const edm::EDGetTokenT < edm::View< reco::GsfElectron > > | electronSrcToken_ |
std::atomic< uint64_t > | pass_ |
std::atomic< uint64_t > | try_ |
Additional Inherited Members | |
Public Types inherited from edm::global::EDProducerBase | |
typedef EDProducerBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
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 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) |
Remove duplicates from the list of electrons.
The DuplicatedElectronCleaner removes duplicates from the input collection. Two electrons are considered duplicate if they share the same gsfTrack or the same superCluster. Among the two, the one with |E/P| nearest to 1 is kept. This is performed by the DuplicatedElectronRemover in PhysicsTools/PatUtils
The output is an edm::RefVector<reco:::GsfElectron>, which can be read through edm::View<reco::GsfElectron>
Definition at line 33 of file DuplicatedElectronCleaner.cc.
|
explicit |
Definition at line 47 of file DuplicatedElectronCleaner.cc.
pat::DuplicatedElectronCleaner::~DuplicatedElectronCleaner | ( | ) |
Definition at line 57 of file DuplicatedElectronCleaner.cc.
|
finaloverridevirtual |
Implements edm::global::EDProducerBase.
Definition at line 62 of file DuplicatedElectronCleaner.cc.
References HI_PhotonSkim_cff::electrons, edm::Event::getByToken(), i, gen::n, edm::Event::put(), and mps_fire::result.
|
private |
Definition at line 42 of file DuplicatedElectronCleaner.cc.
|
private |
Definition at line 41 of file DuplicatedElectronCleaner.cc.
|
mutableprivate |
Definition at line 43 of file DuplicatedElectronCleaner.cc.
|
mutableprivate |
Definition at line 43 of file DuplicatedElectronCleaner.cc.