#include <WorkerManager.h>
Public Types | |
typedef std::vector< Worker * > | AllWorkers |
Public Member Functions | |
ExceptionToActionTable const & | actionTable () const |
void | addToAllWorkers (Worker *w) |
void | addToUnscheduledWorkers (ParameterSet &pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, std::shared_ptr< ProcessConfiguration > processConfiguration, std::string label, std::set< std::string > &unscheduledLabels, std::vector< std::string > &shouldBeUsedLabels) |
AllWorkers const & | allWorkers () const |
void | beginJob (ProductRegistry const &iRegistry) |
void | beginStream (StreamID iID, StreamContext &streamContext) |
void | endJob () |
void | endJob (ExceptionCollector &collector) |
void | endStream (StreamID iID, StreamContext &streamContext) |
Worker * | getWorker (ParameterSet &pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, std::shared_ptr< ProcessConfiguration const > processConfiguration, std::string const &label) |
template<typename T > | |
void | processAccumulatorsAsync (WaitingTask *task, typename T::MyPrincipal const &ep, EventSetup const &es, ServiceToken const &token, StreamID streamID, ParentContext const &parentContext, typename T::Context const *context) |
template<typename T , typename U > | |
void | processOneOccurrence (typename T::MyPrincipal &principal, EventSetup const &eventSetup, StreamID streamID, typename T::Context const *topContext, U const *context, bool cleaningUpAfterException=false) |
template<typename T , typename U > | |
void | processOneOccurrenceAsync (WaitingTask *task, typename T::MyPrincipal &principal, EventSetup const &eventSetup, ServiceToken const &token, StreamID streamID, typename T::Context const *topContext, U const *context) |
void | resetAll () |
void | setOnDemandProducts (ProductRegistry &pregistry, std::set< std::string > const &unscheduledLabels) const |
void | setupOnDemandSystem (Principal &principal, EventSetup const &es) |
WorkerManager (std::shared_ptr< ActivityRegistry > actReg, ExceptionToActionTable const &actions) | |
WorkerManager (WorkerManager &&)=default | |
WorkerManager (std::shared_ptr< ModuleRegistry > modReg, std::shared_ptr< ActivityRegistry > actReg, ExceptionToActionTable const &actions) | |
Private Attributes | |
ExceptionToActionTable const * | actionTable_ |
AllWorkers | allWorkers_ |
void const * | lastSetupEventPrincipal_ |
UnscheduledCallProducer | unscheduled_ |
WorkerRegistry | workerReg_ |
Definition at line 31 of file WorkerManager.h.
typedef std::vector<Worker*> edm::WorkerManager::AllWorkers |
Definition at line 33 of file WorkerManager.h.
edm::WorkerManager::WorkerManager | ( | std::shared_ptr< ActivityRegistry > | actReg, |
ExceptionToActionTable const & | actions | ||
) |
Definition at line 17 of file WorkerManager.cc.
|
default |
edm::WorkerManager::WorkerManager | ( | std::shared_ptr< ModuleRegistry > | modReg, |
std::shared_ptr< ActivityRegistry > | actReg, | ||
ExceptionToActionTable const & | actions | ||
) |
Definition at line 27 of file WorkerManager.cc.
|
inline |
Definition at line 90 of file WorkerManager.h.
References actionTable_, getWorker(), diffTwoXMLs::label, muonDTDigis_cfi::pset, resetAll(), and AlCaHLTBitMon_QueryRunRegistry::string.
void edm::WorkerManager::addToAllWorkers | ( | Worker * | w | ) |
Definition at line 142 of file WorkerManager.cc.
References allWorkers_, and edm::search_all().
Referenced by edm::StreamSchedule::addToAllWorkers(), addToUnscheduledWorkers(), and allWorkers().
void edm::WorkerManager::addToUnscheduledWorkers | ( | ParameterSet & | pset, |
ProductRegistry & | preg, | ||
PreallocationConfiguration const * | prealloc, | ||
std::shared_ptr< ProcessConfiguration > | processConfiguration, | ||
std::string | label, | ||
std::set< std::string > & | unscheduledLabels, | ||
std::vector< std::string > & | shouldBeUsedLabels | ||
) |
Definition at line 47 of file WorkerManager.cc.
References addToAllWorkers(), edm::UnscheduledCallProducer::addWorker(), edm::ParameterSet::getParameter(), getWorker(), edm::Worker::kFilter, kFilterType(), edm::Worker::kProducer, kProducerType(), edm::Worker::moduleType(), AlCaHLTBitMon_QueryRunRegistry::string, and unscheduled_.
Referenced by edm::SecondaryEventProvider::SecondaryEventProvider(), and edm::StreamSchedule::StreamSchedule().
|
inline |
void edm::WorkerManager::beginJob | ( | ProductRegistry const & | iRegistry | ) |
Definition at line 100 of file WorkerManager.cc.
References allWorkers_, edm::Worker::beginJob(), edm::for_all(), edm::InEvent, edm::InLumi, edm::InRun, modifiedElectrons_cfi::processName, and edm::ProductRegistry::productLookup().
Referenced by edm::SecondaryEventProvider::beginJob().
void edm::WorkerManager::beginStream | ( | StreamID | iID, |
StreamContext & | streamContext | ||
) |
Definition at line 123 of file WorkerManager.cc.
References allWorkers_.
Referenced by edm::SecondaryEventProvider::beginStream(), and edm::StreamSchedule::beginStream().
void edm::WorkerManager::endJob | ( | void | ) |
Definition at line 80 of file WorkerManager.cc.
References allWorkers_.
Referenced by edm::SecondaryEventProvider::endJob().
void edm::WorkerManager::endJob | ( | ExceptionCollector & | collector | ) |
Definition at line 86 of file WorkerManager.cc.
References edm::ExceptionCollector::addException(), allWorkers_, and edm::convertException::wrap().
void edm::WorkerManager::endStream | ( | StreamID | iID, |
StreamContext & | streamContext | ||
) |
Definition at line 130 of file WorkerManager.cc.
References allWorkers_.
Referenced by edm::SecondaryEventProvider::endStream(), and edm::StreamSchedule::endStream().
Worker * edm::WorkerManager::getWorker | ( | ParameterSet & | pset, |
ProductRegistry & | preg, | ||
PreallocationConfiguration const * | prealloc, | ||
std::shared_ptr< ProcessConfiguration const > | processConfiguration, | ||
std::string const & | label | ||
) |
Definition at line 38 of file WorkerManager.cc.
References actionTable_, edm::WorkerRegistry::getWorker(), and workerReg_.
Referenced by actionTable(), addToUnscheduledWorkers(), and edm::StreamSchedule::fillWorkers().
void edm::WorkerManager::processAccumulatorsAsync | ( | WaitingTask * | task, |
typename T::MyPrincipal const & | ep, | ||
EventSetup const & | es, | ||
ServiceToken const & | token, | ||
StreamID | streamID, | ||
ParentContext const & | parentContext, | ||
typename T::Context const * | context | ||
) |
Definition at line 154 of file WorkerManager.h.
References edm::UnscheduledCallProducer::runAccumulatorsAsync(), and unscheduled_.
Referenced by edm::StreamSchedule::processOneEventAsync().
void edm::WorkerManager::processOneOccurrence | ( | typename T::MyPrincipal & | principal, |
EventSetup const & | eventSetup, | ||
StreamID | streamID, | ||
typename T::Context const * | topContext, | ||
U const * | context, | ||
bool | cleaningUpAfterException = false |
||
) |
Definition at line 111 of file WorkerManager.h.
References edm::addContextAndPrintException(), cms::Exception::context(), edm::ServiceRegistry::instance(), edm::make_empty_waiting_task(), edm::ServiceRegistry::presentToken(), resetAll(), and edm::convertException::wrap().
Referenced by edm::SecondaryEventProvider::beginLuminosityBlock(), edm::SecondaryEventProvider::beginRun(), edm::SecondaryEventProvider::endLuminosityBlock(), and edm::SecondaryEventProvider::endRun().
void edm::WorkerManager::processOneOccurrenceAsync | ( | WaitingTask * | task, |
typename T::MyPrincipal & | principal, | ||
EventSetup const & | eventSetup, | ||
ServiceToken const & | token, | ||
StreamID | streamID, | ||
typename T::Context const * | topContext, | ||
U const * | context | ||
) |
Definition at line 141 of file WorkerManager.h.
References edm::UnscheduledCallProducer::runNowAsync(), mitigatedMETSequence_cff::U, and unscheduled_.
void edm::WorkerManager::resetAll | ( | ) |
Definition at line 137 of file WorkerManager.cc.
References allWorkers_, edm::for_all(), and edm::Worker::reset().
Referenced by actionTable(), processOneOccurrence(), and setupOnDemandSystem().
void edm::WorkerManager::setOnDemandProducts | ( | ProductRegistry & | pregistry, |
std::set< std::string > const & | unscheduledLabels | ||
) | const |
Definition at line 70 of file WorkerManager.cc.
References edm::InEvent, parseEventContent::prod, and edm::ProductRegistry::productListUpdator().
Referenced by edm::SecondaryEventProvider::SecondaryEventProvider(), and edm::StreamSchedule::StreamSchedule().
void edm::WorkerManager::setupOnDemandSystem | ( | Principal & | principal, |
EventSetup const & | es | ||
) |
Definition at line 149 of file WorkerManager.cc.
References allWorkers_, edm::UnscheduledCallProducer::auxiliary(), looper::config, lastSetupEventPrincipal_, resetAll(), edm::UnscheduledCallProducer::setEventSetup(), edm::Principal::setupUnscheduled(), and unscheduled_.
Referenced by edm::StreamSchedule::processOneEventAsync(), and edm::SecondaryEventProvider::setupPileUpEvent().
|
private |
Definition at line 103 of file WorkerManager.h.
Referenced by actionTable(), and getWorker().
|
private |
Definition at line 104 of file WorkerManager.h.
Referenced by addToAllWorkers(), allWorkers(), beginJob(), beginStream(), endJob(), endStream(), resetAll(), and setupOnDemandSystem().
|
private |
Definition at line 106 of file WorkerManager.h.
Referenced by setupOnDemandSystem().
|
private |
Definition at line 105 of file WorkerManager.h.
Referenced by addToUnscheduledWorkers(), processAccumulatorsAsync(), processOneOccurrenceAsync(), and setupOnDemandSystem().
|
private |
Definition at line 102 of file WorkerManager.h.
Referenced by getWorker().