BT == base type. More...
#include <MuIsolatorResultProducer.h>
Classes | |
struct | DepositConf |
struct | VetoCuts |
Public Member Functions | |
MuIsolatorResultProducer (const edm::ParameterSet &) | |
constructor with config More... | |
void | produce (edm::Event &, const edm::EventSetup &) override |
~MuIsolatorResultProducer () override | |
destructor More... | |
Public Member Functions inherited from edm::EDProducer | |
EDProducer () | |
ModuleDescription const & | moduleDescription () const |
~EDProducer () override | |
Public Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
ProducerBase () | |
std::vector< edm::ProductResolverIndex > const & | putTokenIndexToProductResolverIndex () const |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
void | resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel) |
virtual | ~ProducerBase () noexcept(false) |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
void | convertCurrentProcessAlias (std::string const &processName) |
Convert "@currentProcess" in InputTag process names to the actual current process name. More... | |
EDConsumerBase () | |
EDConsumerBase (EDConsumerBase const &)=delete | |
EDConsumerBase (EDConsumerBase &&)=default | |
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
virtual | ~EDConsumerBase () noexcept(false) |
Private Types | |
typedef muisorhelper::CandMap< BT > | CandMap |
typedef muisorhelper::DepositContainer | DepositContainer |
typedef muisorhelper::Isolator | Isolator |
typedef muisorhelper::Result | Result |
typedef muisorhelper::Results | Results |
typedef muisorhelper::ResultType | ResultType |
Private Member Functions | |
void | callWhatProduces () |
declare what's going to be produced More... | |
unsigned int | initAssociation (edm::Event &event, CandMap &candMapT) const |
void | initVetos (std::vector< reco::IsoDeposit::Vetos * > &vetos, CandMap &candMap) const |
void | writeOut (edm::Event &event, const CandMap &candMap, const Results &results) const |
choose which result type to write here More... | |
template<typename RT > | |
void | writeOutImpl (edm::Event &event, const CandMap &candMapT, const Results &results) const |
actually do the writing here More... | |
Private Attributes | |
reco::TrackBase::Point | theBeam |
std::string | theBeamlineOption |
beam spot More... | |
edm::InputTag | theBeamSpotLabel |
edm::ParameterSet | theConfig |
std::vector< DepositConf > | theDepositConfs |
Isolator * | theIsolator |
the isolator More... | |
bool | theRemoveOtherVetos |
choose which muon vetos should be removed from all deposits More... | |
ResultType | theResultType |
VetoCuts | theVetoCuts |
Additional Inherited Members | |
Public Types inherited from edm::EDProducer | |
typedef EDProducer | 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 |
Static Public Member Functions inherited from edm::EDProducer | |
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) |
BT == base type.
Definition at line 52 of file MuIsolatorResultProducer.h.
|
private |
Definition at line 68 of file MuIsolatorResultProducer.h.
|
private |
Definition at line 66 of file MuIsolatorResultProducer.h.
|
private |
Definition at line 62 of file MuIsolatorResultProducer.h.
|
private |
Definition at line 63 of file MuIsolatorResultProducer.h.
|
private |
Definition at line 65 of file MuIsolatorResultProducer.h.
|
private |
Definition at line 64 of file MuIsolatorResultProducer.h.
MuIsolatorResultProducer< BT >::MuIsolatorResultProducer | ( | const edm::ParameterSet & | par | ) |
constructor with config
read input config for deposit types and weights and thresholds to apply to them
will switch to a factory at some point
FIXME
FIXME: need to get the file name here
"other vetoes" is limited to the same collection now for non-trivial choice an external map with pre-made selection flags can be a better choice
Definition at line 186 of file MuIsolatorResultProducer.h.
References MuIsolatorResultProducer< BT >::callWhatProduces(), highPtTrackIsolations_cff::coneSize, edm::ParameterSet::getParameter(), LogDebug, MuIsolatorResultProducer< BT >::VetoCuts::muAbsEtaMax, MuIsolatorResultProducer< BT >::VetoCuts::muAbsZMax, MuIsolatorResultProducer< BT >::VetoCuts::muD0Max, MuIsolatorResultProducer< BT >::VetoCuts::muPtMin, muonisolation::MuIsoBaseIsolator::resultType(), MuIsolatorResultProducer< BT >::VetoCuts::selectAll, AlCaHLTBitMon_QueryRunRegistry::string, MuIsolatorResultProducer< BT >::DepositConf::tag, MuIsolatorResultProducer< BT >::theBeamlineOption, MuIsolatorResultProducer< BT >::theBeamSpotLabel, MuIsolatorResultProducer< BT >::theDepositConfs, MuIsolatorResultProducer< BT >::theIsolator, MuIsolatorResultProducer< BT >::theRemoveOtherVetos, MuIsolatorResultProducer< BT >::theResultType, MuIsolatorResultProducer< BT >::theVetoCuts, MuIsolatorResultProducer< BT >::DepositConf::threshold, and MuIsolatorResultProducer< BT >::DepositConf::weight.
|
override |
destructor
Definition at line 275 of file MuIsolatorResultProducer.h.
References LogDebug, and MuIsolatorResultProducer< BT >::theIsolator.
|
inlineprivate |
declare what's going to be produced
Definition at line 154 of file MuIsolatorResultProducer.h.
Referenced by MuIsolatorResultProducer< BT >::MuIsolatorResultProducer().
|
private |
WARNING: the input ValueMaps are better be for a single key product ID no effort is done (FIXME) for more complex cases
init {muon, {[deposit,veto]_type}} container
Definition at line 352 of file MuIsolatorResultProducer.h.
References edm::ValueMap< T >::begin(), edm::ValueMap< T >::empty(), muisorhelper::CandMap< BT >::get(), LogDebug, metname, muisorhelper::CandMap< BT >::setHandle(), edm::ValueMap< T >::size(), AlCaHLTBitMon_QueryRunRegistry::string, GlobalPosition_Frontier_DevDB_cff::tag, and MuIsolatorResultProducer< BT >::theDepositConfs.
Referenced by MuIsolatorResultProducer< BT >::produce().
|
private |
Definition at line 392 of file MuIsolatorResultProducer.h.
References allConversions_cfi::d0, muisorhelper::CandMap< BT >::get(), LogDebug, metname, RPCpg::mu, MuIsolatorResultProducer< BT >::VetoCuts::muAbsEtaMax, MuIsolatorResultProducer< BT >::VetoCuts::muAbsZMax, MuIsolatorResultProducer< BT >::VetoCuts::muD0Max, MuIsolatorResultProducer< BT >::VetoCuts::muPtMin, MuIsolatorResultProducer< BT >::VetoCuts::selectAll, AlCaHLTBitMon_QueryRunRegistry::string, MuIsolatorResultProducer< BT >::theBeam, MuIsolatorResultProducer< BT >::theRemoveOtherVetos, and MuIsolatorResultProducer< BT >::theVetoCuts.
Referenced by MuIsolatorResultProducer< BT >::produce().
|
override |
do it only if needed
"smart" container used to repackage deposits_type_candIndex into deposits_candIndex_type have to have it for veto removal (could do away without it otherwise) IMPORTANT: ALL THE REFERENCING BUSINESS IS DONE THROUGH POINTERS Access to the mapped values as reference type HAS TO BE AVAILABLE
isolator results will be here
extra vetos will be filled here
call the isolator result, passing {[deposit,vetos]_type} set and the candidate
do cleanup
Definition at line 282 of file MuIsolatorResultProducer.h.
References ecalDrivenElectronSeedsParameters_cff::beamSpot, muisorhelper::CandMap< BT >::get(), MuIsolatorResultProducer< BT >::initAssociation(), MuIsolatorResultProducer< BT >::initVetos(), edm::HandleBase::isValid(), LogDebug, LogTrace, metname, reco::BeamSpot::position(), muonisolation::MuIsoBaseIsolator::result(), mps_update::results, muonisolation::MuIsoBaseIsolator::resultType(), MuIsolatorResultProducer< BT >::VetoCuts::selectAll, AlCaHLTBitMon_QueryRunRegistry::string, MuIsolatorResultProducer< BT >::theBeam, MuIsolatorResultProducer< BT >::theBeamlineOption, MuIsolatorResultProducer< BT >::theBeamSpotLabel, MuIsolatorResultProducer< BT >::theDepositConfs, MuIsolatorResultProducer< BT >::theIsolator, MuIsolatorResultProducer< BT >::theRemoveOtherVetos, MuIsolatorResultProducer< BT >::theVetoCuts, and MuIsolatorResultProducer< BT >::writeOut().
|
inlineprivate |
choose which result type to write here
Definition at line 139 of file MuIsolatorResultProducer.h.
References event(), LogDebug, metname, mps_update::results, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by MuIsolatorResultProducer< BT >::produce().
|
inlineprivate |
actually do the writing here
make an output vec of what's to be written with a concrete type
fill/insert of non-empty values only
Definition at line 119 of file MuIsolatorResultProducer.h.
References objects.autophobj::filler, muisorhelper::CandMap< BT >::get(), muisorhelper::CandMap< BT >::handle(), mps_fire::i, and eostools::move().
|
private |
Definition at line 112 of file MuIsolatorResultProducer.h.
Referenced by MuIsolatorResultProducer< BT >::initVetos(), and MuIsolatorResultProducer< BT >::produce().
|
private |
beam spot
Definition at line 110 of file MuIsolatorResultProducer.h.
Referenced by MuIsolatorResultProducer< BT >::MuIsolatorResultProducer(), and MuIsolatorResultProducer< BT >::produce().
|
private |
Definition at line 111 of file MuIsolatorResultProducer.h.
Referenced by MuIsolatorResultProducer< BT >::MuIsolatorResultProducer(), and MuIsolatorResultProducer< BT >::produce().
|
private |
Definition at line 97 of file MuIsolatorResultProducer.h.
|
private |
Definition at line 98 of file MuIsolatorResultProducer.h.
Referenced by MuIsolatorResultProducer< BT >::initAssociation(), MuIsolatorResultProducer< BT >::MuIsolatorResultProducer(), and MuIsolatorResultProducer< BT >::produce().
|
private |
the isolator
Definition at line 105 of file MuIsolatorResultProducer.h.
Referenced by MuIsolatorResultProducer< BT >::MuIsolatorResultProducer(), MuIsolatorResultProducer< BT >::produce(), and MuIsolatorResultProducer< BT >::~MuIsolatorResultProducer().
|
private |
choose which muon vetos should be removed from all deposits
Definition at line 101 of file MuIsolatorResultProducer.h.
Referenced by MuIsolatorResultProducer< BT >::initVetos(), MuIsolatorResultProducer< BT >::MuIsolatorResultProducer(), and MuIsolatorResultProducer< BT >::produce().
|
private |
Definition at line 106 of file MuIsolatorResultProducer.h.
Referenced by MuIsolatorResultProducer< BT >::MuIsolatorResultProducer().
|
private |
Definition at line 102 of file MuIsolatorResultProducer.h.
Referenced by MuIsolatorResultProducer< BT >::initVetos(), MuIsolatorResultProducer< BT >::MuIsolatorResultProducer(), and MuIsolatorResultProducer< BT >::produce().