#include <EventSetupProvider.h>
Public Types | |
typedef std::pair< DataType, DataLabel > | DataKeyInfo |
typedef std::string | DataLabel |
typedef std::string | DataType |
typedef std::map< ComponentDescription, RecordToDataMap > | PreferredProviderInfo |
typedef std::string | RecordName |
typedef std::multimap< RecordName, DataKeyInfo > | RecordToDataMap |
Public Member Functions | |
void | add (std::shared_ptr< DataProxyProvider >) |
void | add (std::shared_ptr< EventSetupRecordIntervalFinder >) |
void | addRecord (const EventSetupRecordKey &iKey) |
Intended for use only in tests. More... | |
void | checkESProducerSharing (EventSetupProvider &precedingESProvider, std::set< ParameterSetIDHolder > &sharingCheckDone, std::map< EventSetupRecordKey, std::vector< ComponentDescription const * >> &referencedESProducers, EventSetupsController &esController) |
void | clearInitializationData () |
bool | doRecordsMatch (EventSetupProvider &precedingESProvider, EventSetupRecordKey const &eventSetupRecordKey, std::map< EventSetupRecordKey, bool > &allComponentsMatch, EventSetupsController const &esController) |
bool | doWeNeedToWaitForIOVsToFinish (IOVSyncValue const &) const |
std::shared_ptr< const EventSetupImpl > | eventSetupForInstance (IOVSyncValue const &, bool &newEventSetupImpl) |
EventSetupImpl const & | eventSetupImpl () const |
EventSetupProvider (ActivityRegistry const *, tbb::task_arena *, unsigned subProcessIndex=0U, PreferredProviderInfo const *iInfo=nullptr) | |
EventSetupProvider (EventSetupProvider const &)=delete | |
void | fillKeys (std::set< EventSetupRecordKey > &keys) const |
void | fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const |
void | fillReferencedDataKeys (EventSetupRecordKey const &eventSetupRecordKey) |
void | finishConfiguration (NumberOfConcurrentIOVs const &, bool &hasNonconcurrentFinder) |
void | forceCacheClear () |
Used when testing that all code properly updates on IOV changes of all Records. More... | |
EventSetupProvider const & | operator= (EventSetupProvider const &)=delete |
std::set< ComponentDescription > | proxyProviderDescriptions () const |
ESRecordsToProxyIndices | recordsToProxyIndices () const |
void | replaceExisting (std::shared_ptr< DataProxyProvider >) |
void | resetRecordPlusDependentRecords (EventSetupRecordKey const &) |
Used when we need to force a Record to reset all its proxies. More... | |
void | resetRecordToProxyPointers () |
void | setAllValidityIntervals (const IOVSyncValue &iValue) |
Set the validity intervals in all EventSetupRecordProviders. More... | |
void | setPreferredProviderInfo (PreferredProviderInfo const &iInfo) |
unsigned | subProcessIndex () const |
EventSetupRecordProvider * | tryToGetRecordProvider (const EventSetupRecordKey &iKey) |
~EventSetupProvider () | |
Static Public Member Functions | |
static void | logInfoWhenSharing (ParameterSet const &iConfiguration) |
Private Types | |
using | RecordKeys = std::vector< EventSetupRecordKey > |
using | RecordProviders = std::vector< std::shared_ptr< EventSetupRecordProvider > > |
Private Member Functions | |
void | determinePreferred () |
void | insert (EventSetupRecordKey const &, std::unique_ptr< EventSetupRecordProvider >) |
std::shared_ptr< EventSetupRecordProvider > & | recordProvider (const EventSetupRecordKey &iKey) |
Description: Factory for a EventSetup
Usage: <usage>
Definition at line 50 of file EventSetupProvider.h.
typedef std::pair<DataType, DataLabel> edm::eventsetup::EventSetupProvider::DataKeyInfo |
Definition at line 55 of file EventSetupProvider.h.
typedef std::string edm::eventsetup::EventSetupProvider::DataLabel |
Definition at line 54 of file EventSetupProvider.h.
typedef std::string edm::eventsetup::EventSetupProvider::DataType |
Definition at line 53 of file EventSetupProvider.h.
typedef std::map<ComponentDescription, RecordToDataMap> edm::eventsetup::EventSetupProvider::PreferredProviderInfo |
Definition at line 57 of file EventSetupProvider.h.
|
private |
Definition at line 132 of file EventSetupProvider.h.
typedef std::string edm::eventsetup::EventSetupProvider::RecordName |
Definition at line 52 of file EventSetupProvider.h.
|
private |
Definition at line 135 of file EventSetupProvider.h.
typedef std::multimap<RecordName, DataKeyInfo> edm::eventsetup::EventSetupProvider::RecordToDataMap |
Definition at line 56 of file EventSetupProvider.h.
edm::eventsetup::EventSetupProvider::EventSetupProvider | ( | ActivityRegistry const * | activityRegistry, |
tbb::task_arena * | taskArena, | ||
unsigned | subProcessIndex = 0U , |
||
PreferredProviderInfo const * | iInfo = nullptr |
||
) |
Definition at line 40 of file EventSetupProvider.cc.
|
delete |
edm::eventsetup::EventSetupProvider::~EventSetupProvider | ( | ) |
void edm::eventsetup::EventSetupProvider::add | ( | std::shared_ptr< DataProxyProvider > | iProvider | ) |
Definition at line 91 of file EventSetupProvider.cc.
References cms::cuda::assert(), and dataProviders_.
Referenced by edm::eventsetup::looper::addFinderTo(), edm::eventsetup::addProviderTo(), edm::eventsetup::looper::addProviderTo(), edm::eventsetup::ModuleMakerTraits::addTo(), edm::eventsetup::SourceMakerTraits::addTo(), counter.Counter::register(), SequenceTypes.Task::remove(), and SequenceTypes.Task::replace().
void edm::eventsetup::EventSetupProvider::add | ( | std::shared_ptr< EventSetupRecordIntervalFinder > | iFinder | ) |
Definition at line 104 of file EventSetupProvider.cc.
References cms::cuda::assert(), and finders_.
Referenced by counter.Counter::register(), SequenceTypes.Task::remove(), and SequenceTypes.Task::replace().
void edm::eventsetup::EventSetupProvider::addRecord | ( | const EventSetupRecordKey & | iKey | ) |
Intended for use only in tests.
Definition at line 738 of file EventSetupProvider.cc.
References eventSetupImpl_, insert(), and recordKeys_.
void edm::eventsetup::EventSetupProvider::checkESProducerSharing | ( | EventSetupProvider & | precedingESProvider, |
std::set< ParameterSetIDHolder > & | sharingCheckDone, | ||
std::map< EventSetupRecordKey, std::vector< ComponentDescription const * >> & | referencedESProducers, | ||
EventSetupsController & | esController | ||
) |
Definition at line 394 of file EventSetupProvider.cc.
References cms::cuda::assert(), doRecordsMatch(), edm::eventsetup::ComponentFactory< T >::get(), edm::eventsetup::EventSetupsController::getESProducerPSet(), edm::eventsetup::EventSetupsController::isFirstMatch(), edm::eventsetup::EventSetupsController::isLastMatch(), crabWrapper::key, logInfoWhenSharing(), edm::eventsetup::EventSetupsController::lookForMatches(), edm::match(), muonDTDigis_cfi::pset, psetIDToRecordKey_, recordProvider(), recordProviders_, subProcessIndex(), and subProcessIndex_.
void edm::eventsetup::EventSetupProvider::clearInitializationData | ( | ) |
Definition at line 644 of file EventSetupProvider.cc.
References preferredProviderInfo_, psetIDToRecordKey_, recordsWithALooperProxy_, recordToFinders_, recordToPreferred_, and referencedDataKeys_.
|
private |
Definition at line 159 of file EventSetupProvider.cc.
References makeMuonMisalignmentScenario::components, edm::eventsetup::DataProxyProvider::KeyedProxies::contains(), Exception, edm::eventsetup::heterocontainer::HCTypeTag::findType(), edm::eventsetup::preferEverything(), preferredProviderInfo_, edm::eventsetup::EventSetupRecordProvider::proxyProvider(), edm::eventsetup::EventSetupRecordProvider::proxyProviderDescriptions(), align_cfg::recordName, recordProvider(), recordProviders_, recordToPreferred_, AlCaHLTBitMon_QueryRunRegistry::string, and edm::eventsetup::EventSetupRecordKey::type().
Referenced by finishConfiguration().
bool edm::eventsetup::EventSetupProvider::doRecordsMatch | ( | EventSetupProvider & | precedingESProvider, |
EventSetupRecordKey const & | eventSetupRecordKey, | ||
std::map< EventSetupRecordKey, bool > & | allComponentsMatch, | ||
EventSetupsController const & | esController | ||
) |
Definition at line 537 of file EventSetupProvider.cc.
References edm::eventsetup::EventSetupRecordProvider::dependentRecords(), fillReferencedDataKeys(), HLT_FULL_cff::finder, edm::eventsetup::EventSetupsController::isMatchingESProducer(), edm::eventsetup::EventSetupsController::isMatchingESSource(), edm::match(), recordsWithALooperProxy_, recordToFinders_, referencedDataKeys_, findQualityFiles::size, subProcessIndex_, and tryToGetRecordProvider().
Referenced by checkESProducerSharing().
bool edm::eventsetup::EventSetupProvider::doWeNeedToWaitForIOVsToFinish | ( | IOVSyncValue const & | iValue | ) | const |
std::shared_ptr< const EventSetupImpl > edm::eventsetup::EventSetupProvider::eventSetupForInstance | ( | IOVSyncValue const & | iValue, |
bool & | newEventSetupImpl | ||
) |
Definition at line 673 of file EventSetupProvider.cc.
References eventSetupImpl_, edm::get_underlying_safe(), Invalid, recordKeys_, recordProviders_, and taskArena_.
|
inline |
void edm::eventsetup::EventSetupProvider::fillKeys | ( | std::set< EventSetupRecordKey > & | keys | ) | const |
Definition at line 747 of file EventSetupProvider.cc.
References relativeConstraints::keys, and recordProviders_.
void edm::eventsetup::EventSetupProvider::fillRecordsNotAllowingConcurrentIOVs | ( | std::set< EventSetupRecordKey > & | recordsNotAllowingConcurrentIOVs | ) | const |
Definition at line 653 of file EventSetupProvider.cc.
References dataProviders_.
Referenced by edm::eventsetup::NumberOfConcurrentIOVs::fillRecordsNotAllowingConcurrentIOVs().
void edm::eventsetup::EventSetupProvider::fillReferencedDataKeys | ( | EventSetupRecordKey const & | eventSetupRecordKey | ) |
Definition at line 620 of file EventSetupProvider.cc.
References edm::eventsetup::EventSetupRecordProvider::fillReferencedDataKeys(), referencedDataKeys_, and tryToGetRecordProvider().
Referenced by doRecordsMatch().
void edm::eventsetup::EventSetupProvider::finishConfiguration | ( | NumberOfConcurrentIOVs const & | numberOfConcurrentIOVs, |
bool & | hasNonconcurrentFinder | ||
) |
Definition at line 231 of file EventSetupProvider.cc.
References activityRegistry_, edm::eventsetup::EventSetupRecordProvider::add(), edm::eventsetup::EventSetupRecordProvider::addFinder(), dataProviders_, determinePreferred(), HLT_FULL_cff::distance, HLT_FULL_cff::finder, finders_, bTagCombinedSVVariables_cff::indices, insert(), crabWrapper::key, pfDeepBoostedJetPreprocessParams_cfi::lower_bound, mustFinishConfiguration_, edm::eventsetup::NumberOfConcurrentIOVs::numberOfConcurrentIOVs(), psetIDToRecordKey_, recordKeys_, recordProviders_, recordsToProxyIndices(), recordsWithALooperProxy_, recordToFinders_, recordToPreferred_, AlCaHLTBitMon_QueryRunRegistry::string, and tryToGetRecordProvider().
void edm::eventsetup::EventSetupProvider::forceCacheClear | ( | ) |
Used when testing that all code properly updates on IOV changes of all Records.
Definition at line 386 of file EventSetupProvider.cc.
References recordProviders_.
Referenced by ~EventSetupProvider().
|
private |
Definition at line 79 of file EventSetupProvider.cc.
References HLT_FULL_cff::distance, pfDeepBoostedJetPreprocessParams_cfi::lower_bound, eostools::move(), recordKeys_, and recordProviders_.
Referenced by addRecord(), and finishConfiguration().
|
static |
Definition at line 768 of file EventSetupProvider.cc.
References edm::ParameterSet::getParameter(), label, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by checkESProducerSharing().
|
delete |
std::set< ComponentDescription > edm::eventsetup::EventSetupProvider::proxyProviderDescriptions | ( | ) | const |
Definition at line 721 of file EventSetupProvider.cc.
References ztail::d, dataProviders_, AlCaHLTBitMon_ParallelJobs::p, and recordProviders_.
|
private |
Definition at line 60 of file EventSetupProvider.cc.
References HLT_FULL_cff::distance, Exception, pfDeepBoostedJetPreprocessParams_cfi::lower_bound, recordKeys_, and recordProviders_.
Referenced by checkESProducerSharing(), determinePreferred(), and replaceExisting().
ESRecordsToProxyIndices edm::eventsetup::EventSetupProvider::recordsToProxyIndices | ( | ) | const |
Definition at line 753 of file EventSetupProvider.cc.
References recordKeys_, recordProviders_, and runTheMatrix::ret.
Referenced by finishConfiguration().
void edm::eventsetup::EventSetupProvider::replaceExisting | ( | std::shared_ptr< DataProxyProvider > | dataProxyProvider | ) |
Definition at line 96 of file EventSetupProvider.cc.
References crabWrapper::key, and recordProvider().
Referenced by edm::eventsetup::ModuleMakerTraits::replaceExisting().
void edm::eventsetup::EventSetupProvider::resetRecordPlusDependentRecords | ( | EventSetupRecordKey const & | iKey | ) |
Used when we need to force a Record to reset all its proxies.
Definition at line 369 of file EventSetupProvider.cc.
References ztail::d, edm::eventsetup::findDependents(), recordProviders_, edm::eventsetup::EventSetupRecordProvider::resetProxies(), tryToGetRecordProvider(), and tier0::unique().
Referenced by edm::EDLooperBase::prepareForNextLoop().
void edm::eventsetup::EventSetupProvider::resetRecordToProxyPointers | ( | ) |
Definition at line 632 of file EventSetupProvider.cc.
References recordProviders_, and recordToPreferred_.
void edm::eventsetup::EventSetupProvider::setAllValidityIntervals | ( | const IOVSyncValue & | iValue | ) |
Set the validity intervals in all EventSetupRecordProviders.
Definition at line 660 of file EventSetupProvider.cc.
References recordProviders_.
void edm::eventsetup::EventSetupProvider::setPreferredProviderInfo | ( | PreferredProviderInfo const & | iInfo | ) |
Definition at line 743 of file EventSetupProvider.cc.
References preferredProviderInfo_.
|
inline |
Definition at line 110 of file EventSetupProvider.h.
References subProcessIndex_.
Referenced by checkESProducerSharing().
EventSetupRecordProvider * edm::eventsetup::EventSetupProvider::tryToGetRecordProvider | ( | const EventSetupRecordKey & | iKey | ) |
Definition at line 70 of file EventSetupProvider.cc.
References HLT_FULL_cff::distance, pfDeepBoostedJetPreprocessParams_cfi::lower_bound, recordKeys_, and recordProviders_.
Referenced by doRecordsMatch(), fillReferencedDataKeys(), finishConfiguration(), and resetRecordPlusDependentRecords().
|
private |
Definition at line 138 of file EventSetupProvider.h.
Referenced by finishConfiguration().
|
private |
Definition at line 149 of file EventSetupProvider.h.
Referenced by add(), fillRecordsNotAllowingConcurrentIOVs(), finishConfiguration(), and proxyProviderDescriptions().
|
private |
Definition at line 143 of file EventSetupProvider.h.
Referenced by addRecord(), eventSetupForInstance(), and eventSetupImpl().
|
private |
Definition at line 148 of file EventSetupProvider.h.
Referenced by add(), and finishConfiguration().
|
private |
Definition at line 141 of file EventSetupProvider.h.
Referenced by finishConfiguration().
|
private |
Definition at line 147 of file EventSetupProvider.h.
Referenced by clearInitializationData(), determinePreferred(), and setPreferredProviderInfo().
|
private |
Definition at line 153 of file EventSetupProvider.h.
Referenced by checkESProducerSharing(), clearInitializationData(), and finishConfiguration().
|
private |
Definition at line 133 of file EventSetupProvider.h.
Referenced by addRecord(), eventSetupForInstance(), finishConfiguration(), insert(), recordProvider(), recordsToProxyIndices(), and tryToGetRecordProvider().
|
private |
Definition at line 136 of file EventSetupProvider.h.
Referenced by checkESProducerSharing(), determinePreferred(), doWeNeedToWaitForIOVsToFinish(), eventSetupForInstance(), fillKeys(), finishConfiguration(), forceCacheClear(), insert(), proxyProviderDescriptions(), recordProvider(), recordsToProxyIndices(), resetRecordPlusDependentRecords(), resetRecordToProxyPointers(), setAllValidityIntervals(), and tryToGetRecordProvider().
|
private |
Definition at line 155 of file EventSetupProvider.h.
Referenced by clearInitializationData(), doRecordsMatch(), and finishConfiguration().
|
private |
Definition at line 152 of file EventSetupProvider.h.
Referenced by clearInitializationData(), doRecordsMatch(), and finishConfiguration().
|
private |
Definition at line 154 of file EventSetupProvider.h.
Referenced by clearInitializationData(), determinePreferred(), finishConfiguration(), and resetRecordToProxyPointers().
|
private |
Definition at line 150 of file EventSetupProvider.h.
Referenced by clearInitializationData(), doRecordsMatch(), and fillReferencedDataKeys().
|
private |
Definition at line 142 of file EventSetupProvider.h.
Referenced by checkESProducerSharing(), doRecordsMatch(), and subProcessIndex().
|
private |
Definition at line 139 of file EventSetupProvider.h.
Referenced by eventSetupForInstance().