#include <StreamSchedule.h>
Classes | |
class | SendTerminationSignalIfException |
Public Types | |
typedef std::vector< Worker * > | AllWorkers |
typedef std::vector< Path > | NonTrigPaths |
typedef std::vector< WorkerInPath > | PathWorkers |
typedef std::vector< Path > | TrigPaths |
typedef std::shared_ptr< HLTGlobalStatus const > | TrigResConstPtr |
typedef std::shared_ptr< HLTGlobalStatus > | TrigResPtr |
typedef std::vector< std::string > | vstring |
typedef std::shared_ptr< Worker > | WorkerPtr |
typedef std::vector< Worker * > | Workers |
Public Member Functions | |
AllWorkers const & | allWorkers () const |
returns the collection of pointers to workers More... | |
void | availablePaths (std::vector< std::string > &oLabelsToFill) const |
adds to oLabelsToFill the labels for all paths in the process More... | |
void | beginStream () |
void | clearCounters () |
Clear all the counters in the trigger report. More... | |
StreamContext const & | context () const |
void | enableEndPaths (bool active) |
bool | endPathsEnabled () const |
void | endStream () |
std::vector< ModuleDescription const * > | getAllModuleDescriptions () const |
void | getTriggerReport (TriggerReport &rep) const |
void | moduleDescriptionsInEndPath (std::string const &iEndPathLabel, std::vector< ModuleDescription const * > &descriptions, unsigned int hint) const |
void | moduleDescriptionsInPath (std::string const &iPathLabel, std::vector< ModuleDescription const * > &descriptions, unsigned int hint) const |
void | modulesInPath (std::string const &iPathLabel, std::vector< std::string > &oLabelsToFill) const |
adds to oLabelsToFill in execution order the labels of all modules in path iPathLabel More... | |
unsigned int | numberOfUnscheduledModules () const |
void | processOneEventAsync (WaitingTaskHolder iTask, EventPrincipal &ep, EventSetup const &es, ServiceToken const &token, std::vector< edm::propagate_const< std::shared_ptr< PathStatusInserter >>> &pathStatusInserters) |
template<typename T > | |
void | processOneStreamAsync (WaitingTaskHolder iTask, typename T::MyPrincipal &principal, EventSetup const &eventSetup, ServiceToken const &token, bool cleaningUpAfterException=false) |
void | replaceModule (maker::ModuleHolder *iMod, std::string const &iLabel) |
clone the type of module with label iLabel but configure with iPSet. More... | |
StreamID | streamID () const |
StreamSchedule (std::shared_ptr< TriggerResultInserter > inserter, std::vector< edm::propagate_const< std::shared_ptr< PathStatusInserter >>> &pathStatusInserters, std::vector< edm::propagate_const< std::shared_ptr< EndPathStatusInserter >>> &endPathStatusInserters, std::shared_ptr< ModuleRegistry >, ParameterSet &proc_pset, service::TriggerNamesService const &tns, PreallocationConfiguration const &prealloc, ProductRegistry &pregistry, BranchIDListHelper &branchIDListHelper, ExceptionToActionTable const &actions, std::shared_ptr< ActivityRegistry > areg, std::shared_ptr< ProcessConfiguration > processConfiguration, bool allowEarlyDelete, StreamID streamID, ProcessContext const *processContext) | |
StreamSchedule (StreamSchedule const &)=delete | |
int | totalEvents () const |
int | totalEventsFailed () const |
int | totalEventsPassed () const |
Private Member Functions | |
ExceptionToActionTable const & | actionTable () const |
returns the action table More... | |
void | addToAllWorkers (Worker *w) |
void | fillEndPath (ParameterSet &proc_pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, std::shared_ptr< ProcessConfiguration const > processConfiguration, int bitpos, std::string const &name, std::vector< std::string > const &endPathNames) |
void | fillTrigPath (ParameterSet &proc_pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, std::shared_ptr< ProcessConfiguration const > processConfiguration, int bitpos, std::string const &name, TrigResPtr, std::vector< std::string > const &endPathNames) |
void | fillWorkers (ParameterSet &proc_pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, std::shared_ptr< ProcessConfiguration const > processConfiguration, std::string const &name, bool ignoreFilters, PathWorkers &out, std::vector< std::string > const &endPathNames) |
void | finishedPaths (std::atomic< std::exception_ptr * > &, WaitingTaskHolder, EventPrincipal &ep, EventSetup const &es) |
std::exception_ptr | finishProcessOneEvent (std::exception_ptr) |
void | initializeEarlyDelete (ModuleRegistry &modReg, edm::ParameterSet const &opts, edm::ProductRegistry const &preg, bool allowEarlyDelete) |
void | makePathStatusInserters (std::vector< edm::propagate_const< std::shared_ptr< PathStatusInserter >>> &pathStatusInserters, std::vector< edm::propagate_const< std::shared_ptr< EndPathStatusInserter >>> &endPathStatusInserters, ExceptionToActionTable const &actions) |
void | reportSkipped (EventPrincipal const &ep) const |
void | resetAll () |
void | resetEarlyDelete () |
TrigResConstPtr | results () const |
TrigResPtr & | results () |
Private Attributes | |
std::shared_ptr< ActivityRegistry > | actReg_ |
std::vector< BranchToCount > | earlyDeleteBranchToCount_ |
std::vector< EarlyDeleteHelper > | earlyDeleteHelpers_ |
std::vector< unsigned int > | earlyDeleteHelperToBranchIndicies_ |
std::vector< int > | empty_end_paths_ |
std::vector< int > | empty_trig_paths_ |
TrigPaths | end_paths_ |
volatile bool | endpathsAreActive_ |
std::vector< edm::propagate_const< WorkerPtr > > | endPathStatusInserterWorkers_ |
unsigned int | number_of_unscheduled_modules_ |
std::vector< edm::propagate_const< WorkerPtr > > | pathStatusInserterWorkers_ |
edm::propagate_const< TrigResPtr > | results_ |
edm::propagate_const< WorkerPtr > | results_inserter_ |
std::atomic< bool > | skippingEvent_ |
StreamContext | streamContext_ |
StreamID | streamID_ |
int | total_events_ |
int | total_passed_ |
TrigPaths | trig_paths_ |
WorkerManager | workerManager_ |
Definition at line 147 of file StreamSchedule.h.
typedef std::vector<Worker*> edm::StreamSchedule::AllWorkers |
Definition at line 155 of file StreamSchedule.h.
typedef std::vector<Path> edm::StreamSchedule::NonTrigPaths |
Definition at line 151 of file StreamSchedule.h.
typedef std::vector<WorkerInPath> edm::StreamSchedule::PathWorkers |
Definition at line 159 of file StreamSchedule.h.
typedef std::vector<Path> edm::StreamSchedule::TrigPaths |
Definition at line 150 of file StreamSchedule.h.
typedef std::shared_ptr<HLTGlobalStatus const> edm::StreamSchedule::TrigResConstPtr |
Definition at line 153 of file StreamSchedule.h.
typedef std::shared_ptr<HLTGlobalStatus> edm::StreamSchedule::TrigResPtr |
Definition at line 152 of file StreamSchedule.h.
typedef std::vector<std::string> edm::StreamSchedule::vstring |
Definition at line 149 of file StreamSchedule.h.
typedef std::shared_ptr<Worker> edm::StreamSchedule::WorkerPtr |
Definition at line 154 of file StreamSchedule.h.
typedef std::vector<Worker*> edm::StreamSchedule::Workers |
Definition at line 157 of file StreamSchedule.h.
edm::StreamSchedule::StreamSchedule | ( | std::shared_ptr< TriggerResultInserter > | inserter, |
std::vector< edm::propagate_const< std::shared_ptr< PathStatusInserter >>> & | pathStatusInserters, | ||
std::vector< edm::propagate_const< std::shared_ptr< EndPathStatusInserter >>> & | endPathStatusInserters, | ||
std::shared_ptr< ModuleRegistry > | modReg, | ||
ParameterSet & | proc_pset, | ||
service::TriggerNamesService const & | tns, | ||
PreallocationConfiguration const & | prealloc, | ||
ProductRegistry & | pregistry, | ||
BranchIDListHelper & | branchIDListHelper, | ||
ExceptionToActionTable const & | actions, | ||
std::shared_ptr< ActivityRegistry > | areg, | ||
std::shared_ptr< ProcessConfiguration > | processConfiguration, | ||
bool | allowEarlyDelete, | ||
StreamID | streamID, | ||
ProcessContext const * | processContext | ||
) |
Definition at line 137 of file StreamSchedule.cc.
References actReg_, addToAllWorkers(), edm::WorkerManager::addToUnscheduledWorkers(), allWorkers(), end_paths_, fillEndPath(), fillTrigPath(), edm::propagate_const< T >::get(), edm::service::TriggerNamesService::getEndPaths(), edm::ParameterSet::getParameter(), edm::ParameterSet::getPSetForUpdate(), edm::service::TriggerNamesService::getTrigPaths(), edm::ParameterSet::getUntrackedParameterSet(), initializeEarlyDelete(), diffTwoXMLs::label, makePathStatusInserters(), number_of_unscheduled_modules_, results(), results_inserter_, edm::WorkerManager::setOnDemandProducts(), trig_paths_, edm::StreamID::value(), and workerManager_.
|
delete |
|
inlineprivate |
returns the action table
Definition at line 291 of file StreamSchedule.h.
References dataset::name, geometryDiff::opts, MillePedeFileConverter_cfg::out, AlCaHLTBitMon_QueryRunRegistry::string, and w.
Referenced by fillEndPath(), fillTrigPath(), and finishedPaths().
|
private |
Definition at line 910 of file StreamSchedule.cc.
References edm::WorkerManager::addToAllWorkers(), and workerManager_.
Referenced by fillEndPath(), fillTrigPath(), makePathStatusInserters(), and StreamSchedule().
|
inline |
returns the collection of pointers to workers
Definition at line 258 of file StreamSchedule.h.
Referenced by clearCounters(), getAllModuleDescriptions(), getTriggerReport(), initializeEarlyDelete(), replaceModule(), and StreamSchedule().
void edm::StreamSchedule::availablePaths | ( | std::vector< std::string > & | oLabelsToFill | ) | const |
adds to oLabelsToFill the labels for all paths in the process
Definition at line 740 of file StreamSchedule.cc.
References edm::Path::name(), create_public_lumi_plots::transform, and trig_paths_.
void edm::StreamSchedule::beginStream | ( | ) |
Definition at line 501 of file StreamSchedule.cc.
References edm::WorkerManager::beginStream(), streamContext_, streamID_, and workerManager_.
void edm::StreamSchedule::clearCounters | ( | ) |
Clear all the counters in the trigger report.
Definition at line 895 of file StreamSchedule.cc.
References allWorkers(), edm::Path::clearCounters(), edm::Worker::clearCounters(), end_paths_, edm::for_all(), total_events_, total_passed_, and trig_paths_.
|
inline |
Definition at line 266 of file StreamSchedule.h.
void edm::StreamSchedule::enableEndPaths | ( | bool | active | ) |
Turn end_paths "off" if "active" is false; turn end_paths "on" if "active" is true.
Definition at line 824 of file StreamSchedule.cc.
References endpathsAreActive_.
bool edm::StreamSchedule::endPathsEnabled | ( | ) | const |
Return true if end_paths are active, and false if they are inactive.
Definition at line 829 of file StreamSchedule.cc.
References endpathsAreActive_.
void edm::StreamSchedule::endStream | ( | ) |
Definition at line 505 of file StreamSchedule.cc.
References edm::WorkerManager::endStream(), streamContext_, streamID_, and workerManager_.
|
private |
Definition at line 481 of file StreamSchedule.cc.
References actionTable(), actReg_, addToAllWorkers(), empty_end_paths_, end_paths_, fillWorkers(), edm::PathContext::kEndPath, and streamContext_.
Referenced by StreamSchedule().
|
private |
Definition at line 461 of file StreamSchedule.cc.
References actionTable(), actReg_, addToAllWorkers(), empty_trig_paths_, fillWorkers(), edm::PathContext::kPath, skippingEvent_, streamContext_, and trig_paths_.
Referenced by StreamSchedule().
|
private |
Definition at line 404 of file StreamSchedule.cc.
References edm::errors::Configuration, edm::Worker::description(), Exception, edm::ParameterSet::getParameter(), edm::ParameterSet::getPSetForUpdate(), edm::ParameterSet::getUntrackedParameter(), edm::WorkerManager::getWorker(), edm::WorkerInPath::Ignore, edm::Worker::kFilter, edm::ModuleDescription::moduleName(), edm::Worker::moduleType(), dataset::name, edm::WorkerInPath::Normal, edm::search_all(), AlCaHLTBitMon_QueryRunRegistry::string, edm::WorkerInPath::Veto, and workerManager_.
Referenced by fillEndPath(), and fillTrigPath().
|
private |
Definition at line 641 of file StreamSchedule.cc.
References mps_fire::action, actionTable(), cms::Exception::addContext(), cms::Exception::category(), cms::Exception::context(), edm::WaitingTaskHolder::doneWaiting(), MillePedeFileConverter_cfg::e, edm::exception_actions::FailPath, edm::ExceptionToActionTable::find(), edm::propagate_const< T >::get(), edm::EventPrincipal::id(), edm::exception_actions::IgnoreCompletely, edm::printCmsExceptionWarning(), results_, results_inserter_, edm::exception_actions::SkipEvent, streamContext_, streamID_, and total_passed_.
Referenced by processOneEventAsync().
|
private |
Definition at line 703 of file StreamSchedule.cc.
References actReg_, edm::addContextAndPrintException(), cms::Exception::context(), edm::ExceptionFromThisContext, resetEarlyDelete(), streamContext_, and edm::convertException::wrap().
Referenced by processOneEventAsync().
std::vector< ModuleDescription const * > edm::StreamSchedule::getAllModuleDescriptions | ( | ) | const |
Return a vector allowing const access to all the ModuleDescriptions for this StreamSchedule. *** N.B. *** Ownership of the ModuleDescriptions is not *** passed to the caller. Do not call delete on these *** pointers!
Definition at line 527 of file StreamSchedule.cc.
References allWorkers(), AlCaHLTBitMon_ParallelJobs::p, mps_fire::result, and findQualityFiles::size.
void edm::StreamSchedule::getTriggerReport | ( | TriggerReport & | rep | ) | const |
Return the trigger report information on paths, modules-in-path, modules-in-endpath, and modules.
Definition at line 884 of file StreamSchedule.cc.
References allWorkers(), end_paths_, edm::TriggerReport::endPathSummaries, edm::TriggerReport::eventSummary, edm::fillPathSummary(), edm::fillWorkerSummary(), edm::EventSummary::totalEvents, totalEvents(), edm::EventSummary::totalEventsFailed, totalEventsFailed(), edm::EventSummary::totalEventsPassed, totalEventsPassed(), trig_paths_, edm::TriggerReport::trigPathSummaries, and edm::TriggerReport::workerSummaries.
|
private |
Definition at line 248 of file StreamSchedule.cc.
References allWorkers(), MicroEventContent_cff::branch, edm::BranchDescription::branchName(), edm::maker::ModuleHolder::createOutputModuleCommunicator(), delta, earlyDeleteBranchToCount_, earlyDeleteHelpers_, earlyDeleteHelperToBranchIndicies_, end_paths_, edm::ModuleRegistry::forAllModuleHolders(), runEdmFileComparison::found, edm::pset::Registry::getMapped(), edm::InEvent, edm::pset::Registry::instance(), checklumidiff::l, gen::n, AlCaHLTBitMon_ParallelJobs::p, muonDTDigis_cfi::pset, resetEarlyDelete(), AlCaHLTBitMon_QueryRunRegistry::string, trig_paths_, mitigatedMETSequence_cff::U, and w.
Referenced by StreamSchedule().
|
private |
Definition at line 930 of file StreamSchedule.cc.
References actions, actReg_, addToAllWorkers(), empty_end_paths_, empty_trig_paths_, end_paths_, endPathStatusInserterWorkers_, edm::get_underlying(), pathStatusInserterWorkers_, and trig_paths_.
Referenced by StreamSchedule().
void edm::StreamSchedule::moduleDescriptionsInEndPath | ( | std::string const & | iEndPathLabel, |
std::vector< ModuleDescription const * > & | descriptions, | ||
unsigned int | hint | ||
) | const |
Definition at line 795 of file StreamSchedule.cc.
References end_paths_, runEdmFileComparison::found, mps_fire::i, and edm::Path::name().
void edm::StreamSchedule::moduleDescriptionsInPath | ( | std::string const & | iPathLabel, |
std::vector< ModuleDescription const * > & | descriptions, | ||
unsigned int | hint | ||
) | const |
Definition at line 766 of file StreamSchedule.cc.
References runEdmFileComparison::found, mps_fire::i, edm::Path::name(), and trig_paths_.
void edm::StreamSchedule::modulesInPath | ( | std::string const & | iPathLabel, |
std::vector< std::string > & | oLabelsToFill | ||
) | const |
adds to oLabelsToFill in execution order the labels of all modules in path iPathLabel
Definition at line 749 of file StreamSchedule.cc.
References mps_fire::i, edm::Path::name(), and trig_paths_.
|
inline |
Definition at line 262 of file StreamSchedule.h.
void edm::StreamSchedule::processOneEventAsync | ( | WaitingTaskHolder | iTask, |
EventPrincipal & | ep, | ||
EventSetup const & | es, | ||
ServiceToken const & | token, | ||
std::vector< edm::propagate_const< std::shared_ptr< PathStatusInserter >>> & | pathStatusInserters | ||
) |
Definition at line 538 of file StreamSchedule.cc.
References actReg_, edm::WaitingTaskHolder::doneWaiting(), empty_end_paths_, empty_trig_paths_, end_paths_, endPathStatusInserterWorkers_, finishedPaths(), finishProcessOneEvent(), edm::make_waiting_task(), eostools::move(), cmsPerfStripChart::operate(), edm::hlt::Pass, pathStatusInserterWorkers_, edm::WorkerManager::processAccumulatorsAsync(), resetAll(), results_, edm::WorkerManager::setupOnDemandSystem(), streamContext_, streamID_, total_events_, trig_paths_, and workerManager_.
void edm::StreamSchedule::processOneStreamAsync | ( | WaitingTaskHolder | iTask, |
typename T::MyPrincipal & | principal, | ||
EventSetup const & | eventSetup, | ||
ServiceToken const & | token, | ||
bool | cleaningUpAfterException = false |
||
) |
Definition at line 386 of file StreamSchedule.h.
References edm::addContextAndPrintException(), cms::Exception::context(), edm::WaitingTaskHolder::doneWaiting(), edm::ExceptionFromThisContext, h, triggerObjects_cff::id, edm::make_functor_task(), edm::make_waiting_task(), AlCaHLTBitMon_ParallelJobs::p, and edm::convertException::wrap().
void edm::StreamSchedule::replaceModule | ( | maker::ModuleHolder * | iMod, |
std::string const & | iLabel | ||
) |
clone the type of module with label iLabel but configure with iPSet.
Definition at line 509 of file StreamSchedule.cc.
References allWorkers(), edm::Worker::beginStream(), runEdmFileComparison::found, edm::maker::ModuleHolder::replaceModuleFor(), streamContext_, and streamID_.
|
inlineprivate |
Definition at line 380 of file StreamSchedule.h.
References edm::EventID::event(), edm::EventPrincipal::id(), and edm::EventID::run().
|
private |
Definition at line 904 of file StreamSchedule.cc.
References results_, and skippingEvent_.
Referenced by processOneEventAsync().
|
private |
Definition at line 915 of file StreamSchedule.cc.
References KineDebug3::count(), earlyDeleteBranchToCount_, earlyDeleteHelpers_, and earlyDeleteHelperToBranchIndicies_.
Referenced by finishProcessOneEvent(), and initializeEarlyDelete().
|
inlineprivate |
Definition at line 331 of file StreamSchedule.h.
References edm::get_underlying_safe().
Referenced by StreamSchedule().
|
inlineprivate |
Definition at line 332 of file StreamSchedule.h.
References actions, and edm::get_underlying_safe().
|
inline |
|
inline |
Return the number of events this StreamSchedule has tried to process (inclues both successes and failures, including failures due to exceptions during processing).
Definition at line 223 of file StreamSchedule.h.
Referenced by getTriggerReport().
|
inline |
Return the number of events that have not passed any trigger. (N.B. totalEventsFailed() + totalEventsPassed() == totalEvents()
Definition at line 235 of file StreamSchedule.h.
References cuy::rep, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by getTriggerReport().
|
inline |
Return the number of events which have been passed by one or more trigger paths.
Definition at line 229 of file StreamSchedule.h.
Referenced by getTriggerReport().
|
private |
Definition at line 340 of file StreamSchedule.h.
Referenced by fillEndPath(), fillTrigPath(), finishProcessOneEvent(), makePathStatusInserters(), processOneEventAsync(), and StreamSchedule().
|
private |
Definition at line 356 of file StreamSchedule.h.
Referenced by initializeEarlyDelete(), and resetEarlyDelete().
|
private |
Definition at line 366 of file StreamSchedule.h.
Referenced by initializeEarlyDelete(), and resetEarlyDelete().
|
private |
Definition at line 363 of file StreamSchedule.h.
Referenced by initializeEarlyDelete(), and resetEarlyDelete().
|
private |
Definition at line 351 of file StreamSchedule.h.
Referenced by fillEndPath(), makePathStatusInserters(), and processOneEventAsync().
|
private |
Definition at line 350 of file StreamSchedule.h.
Referenced by fillTrigPath(), makePathStatusInserters(), and processOneEventAsync().
|
private |
Definition at line 349 of file StreamSchedule.h.
Referenced by clearCounters(), fillEndPath(), getTriggerReport(), initializeEarlyDelete(), makePathStatusInserters(), moduleDescriptionsInEndPath(), processOneEventAsync(), and StreamSchedule().
|
private |
Definition at line 374 of file StreamSchedule.h.
Referenced by enableEndPaths(), and endPathsEnabled().
|
private |
Definition at line 346 of file StreamSchedule.h.
Referenced by makePathStatusInserters(), and processOneEventAsync().
|
private |
Definition at line 370 of file StreamSchedule.h.
Referenced by StreamSchedule().
|
private |
Definition at line 345 of file StreamSchedule.h.
Referenced by makePathStatusInserters(), and processOneEventAsync().
|
private |
Definition at line 342 of file StreamSchedule.h.
Referenced by finishedPaths(), processOneEventAsync(), and resetAll().
|
private |
Definition at line 344 of file StreamSchedule.h.
Referenced by finishedPaths(), and StreamSchedule().
|
private |
Definition at line 375 of file StreamSchedule.h.
Referenced by fillTrigPath(), and resetAll().
|
private |
Definition at line 373 of file StreamSchedule.h.
Referenced by beginStream(), endStream(), fillEndPath(), fillTrigPath(), finishedPaths(), finishProcessOneEvent(), processOneEventAsync(), and replaceModule().
|
private |
Definition at line 372 of file StreamSchedule.h.
Referenced by beginStream(), endStream(), finishedPaths(), processOneEventAsync(), and replaceModule().
|
private |
Definition at line 368 of file StreamSchedule.h.
Referenced by clearCounters(), and processOneEventAsync().
|
private |
Definition at line 369 of file StreamSchedule.h.
Referenced by clearCounters(), and finishedPaths().
|
private |
Definition at line 348 of file StreamSchedule.h.
Referenced by availablePaths(), clearCounters(), fillTrigPath(), getTriggerReport(), initializeEarlyDelete(), makePathStatusInserters(), moduleDescriptionsInPath(), modulesInPath(), processOneEventAsync(), and StreamSchedule().
|
private |
Definition at line 339 of file StreamSchedule.h.
Referenced by addToAllWorkers(), beginStream(), endStream(), fillWorkers(), processOneEventAsync(), and StreamSchedule().