20 : workerReg_(areg, typeResolverMaker),
24 lastSetupEventPrincipal_(nullptr) {}
27 std::shared_ptr<ActivityRegistry> areg,
29 : workerReg_(areg, modReg),
33 lastSetupEventPrincipal_(nullptr) {}
37 if (worker !=
nullptr) {
48 std::shared_ptr<ProcessConfiguration const> processConfiguration,
57 std::shared_ptr<ProcessConfiguration const> processConfiguration,
59 std::set<std::string>& unscheduledLabels,
60 std::vector<std::string>& shouldBeUsedLabels) {
68 unscheduledLabels.insert(
label);
73 shouldBeUsedLabels.push_back(
label);
102 auto processBlockModuleToIndicies = processBlockLookup->indiciesForModulesInProcess(
processName);
103 auto runModuleToIndicies = runLookup->indiciesForModulesInProcess(
processName);
104 auto lumiModuleToIndicies = lumiLookup->indiciesForModulesInProcess(
processName);
105 auto eventModuleToIndicies = eventLookup->indiciesForModulesInProcess(
processName);
107 worker->updateLookup(
InProcess, *processBlockLookup);
108 worker->updateLookup(
InRun, *runLookup);
109 worker->updateLookup(
InLumi, *lumiLookup);
110 worker->updateLookup(
InEvent, *eventLookup);
111 worker->updateLookup(iESIndices);
112 worker->resolvePutIndicies(
InProcess, processBlockModuleToIndicies);
113 worker->resolvePutIndicies(
InRun, runModuleToIndicies);
114 worker->resolvePutIndicies(
InLumi, lumiModuleToIndicies);
115 worker->resolvePutIndicies(
InEvent, eventModuleToIndicies);
116 worker->selectInputProcessBlocks(iRegistry, processBlockHelperBase);
125 worker->beginStream(iID, streamContext);
131 worker->endStream(iID, streamContext);
void addException(cms::Exception const &exception)
roAction_t actions[nactions]
void removeWorker(Worker const *worker)
void endStream(StreamID iID, StreamContext &streamContext)
static const std::string kFilterType("EDFilter")
void beginJob(ProductRegistry const &iRegistry, eventsetup::ESRecordsToProductResolverIndices const &, ProcessBlockHelperBase const &)
UnscheduledCallProducer unscheduled_
void setupOnDemandSystem(EventTransitionInfo const &)
void deleteModuleIfExists(std::string const &moduleLabel)
void setEventTransitionInfo(EventTransitionInfo const &info)
UnscheduledAuxiliary const & auxiliary() const
Worker const * get(std::string const &moduleLabel) const
ExceptionToActionTable const * actionTable_
Worker * getWorker(ParameterSet &pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, std::shared_ptr< ProcessConfiguration const > processConfiguration, std::string const &label)
void const * lastSetupEventPrincipal_
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
void addWorker(Worker *aWorker)
WorkerManager(std::shared_ptr< ActivityRegistry > actReg, ExceptionToActionTable const &actions, ModuleTypeResolverMaker const *typeResolverMaker)
void deleteModule(std::string const &moduleLabel)
Deletes the module of the Worker, but the Worker continues to exist.
virtual Types moduleType() const =0
void beginStream(StreamID iID, StreamContext &streamContext)
void addToUnscheduledWorkers(ParameterSet &pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, std::shared_ptr< ProcessConfiguration const > processConfiguration, std::string label, std::set< std::string > &unscheduledLabels, std::vector< std::string > &shouldBeUsedLabels)
std::shared_ptr< ProductResolverIndexHelper const > productLookup(BranchType branchType) const
static const std::string kProducerType("EDProducer")
bool search_all(ForwardSequence const &s, Datum const &d)
def remove(d, key, TELL=False)
void setupResolvers(Principal &principal)
WorkerRegistry workerReg_
dictionary config
Read in AllInOne config in JSON format.
Worker * getWorker(WorkerParams const &p, std::string const &moduleLabel)
Retrieve the particular instance of the worker.
auto wrap(F iFunc) -> decltype(iFunc())
void addToAllWorkers(Worker *w)