#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 | deleteModule (std::string const &iLabel) |
Delete the module with label iLabel. More... | |
void | endStream () |
std::vector< ModuleDescription const * > | getAllModuleDescriptions () const |
void | getTriggerReport (TriggerReport &rep) const |
void | initializeEarlyDelete (ModuleRegistry &modReg, std::vector< std::string > const &branchesToDeleteEarly, edm::ProductRegistry const &preg) |
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, EventTransitionInfo &, ServiceToken const &token, std::vector< edm::propagate_const< std::shared_ptr< PathStatusInserter >>> &pathStatusInserters) |
template<typename T > | |
void | processOneStreamAsync (WaitingTaskHolder iTask, typename T::TransitionInfoType &transitionInfo, 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, 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, EventTransitionInfo &) |
std::exception_ptr | finishProcessOneEvent (std::exception_ptr) |
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_ |
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 152 of file StreamSchedule.h.
typedef std::vector<Worker*> edm::StreamSchedule::AllWorkers |
Definition at line 160 of file StreamSchedule.h.
typedef std::vector<Path> edm::StreamSchedule::NonTrigPaths |
Definition at line 156 of file StreamSchedule.h.
typedef std::vector<WorkerInPath> edm::StreamSchedule::PathWorkers |
Definition at line 164 of file StreamSchedule.h.
typedef std::vector<Path> edm::StreamSchedule::TrigPaths |
Definition at line 155 of file StreamSchedule.h.
typedef std::shared_ptr<HLTGlobalStatus const> edm::StreamSchedule::TrigResConstPtr |
Definition at line 158 of file StreamSchedule.h.
typedef std::shared_ptr<HLTGlobalStatus> edm::StreamSchedule::TrigResPtr |
Definition at line 157 of file StreamSchedule.h.
typedef std::vector<std::string> edm::StreamSchedule::vstring |
Definition at line 154 of file StreamSchedule.h.
typedef std::shared_ptr<Worker> edm::StreamSchedule::WorkerPtr |
Definition at line 159 of file StreamSchedule.h.
typedef std::vector<Worker*> edm::StreamSchedule::Workers |
Definition at line 162 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, | ||
StreamID | streamID, | ||
ProcessContext const * | processContext | ||
) |
Definition at line 136 of file StreamSchedule.cc.
References actReg_, addToAllWorkers(), edm::WorkerManager::addToUnscheduledWorkers(), allWorkers(), cms::cuda::assert(), end_paths_, fillEndPath(), fillTrigPath(), edm::propagate_const< T >::get(), edm::service::TriggerNamesService::getEndPaths(), edm::ParameterSet::getParameter(), edm::ParameterSet::getPSetForUpdate(), edm::service::TriggerNamesService::getTrigPaths(), label, makePathStatusInserters(), number_of_unscheduled_modules_, results(), results_inserter_, DBoxMetadataHelper::set_difference(), trig_paths_, edm::StreamID::value(), and workerManager_.
|
delete |
|
inlineprivate |
returns the action table
Definition at line 281 of file StreamSchedule.h.
References edm::WorkerManager::actionTable(), and workerManager_.
Referenced by fillEndPath(), fillTrigPath(), and finishedPaths().
|
private |
Definition at line 881 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 253 of file StreamSchedule.h.
References edm::WorkerManager::allWorkers(), and workerManager_.
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 737 of file StreamSchedule.cc.
References edm::Path::name(), HcalDetIdTransform::transform(), and trig_paths_.
void edm::StreamSchedule::beginStream | ( | ) |
Definition at line 511 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 868 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 |
void edm::StreamSchedule::deleteModule | ( | std::string const & | iLabel | ) |
Delete the module with label iLabel.
Definition at line 531 of file StreamSchedule.cc.
References edm::WorkerManager::deleteModuleIfExists(), and workerManager_.
void edm::StreamSchedule::endStream | ( | ) |
Definition at line 513 of file StreamSchedule.cc.
References edm::WorkerManager::endStream(), streamContext_, streamID_, and workerManager_.
|
private |
Definition at line 482 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 452 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 381 of file StreamSchedule.cc.
References cms::cuda::assert(), 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(), mergeVDriftHistosByStation::name, edm::WorkerInPath::Normal, or, EgammaValidation_cff::pathName, edm::search_all(), AlCaHLTBitMon_QueryRunRegistry::string, edm::WorkerInPath::Veto, and workerManager_.
Referenced by fillEndPath(), and fillTrigPath().
|
private |
Definition at line 647 of file StreamSchedule.cc.
References mps_fire::action, actionTable(), cms::Exception::addContext(), cms::cuda::assert(), cms::Exception::category(), CMS_SA_ALLOW, cms::Exception::context(), edm::WaitingTaskHolder::doneWaiting(), alignCSCRings::e, edm::exception_actions::FailPath, edm::ExceptionToActionTable::find(), edm::propagate_const< T >::get(), edm::EventPrincipal::id(), edm::exception_actions::IgnoreCompletely, info(), edm::EventTransitionInfo::principal(), edm::printCmsExceptionWarning(), results_, results_inserter_, edm::exception_actions::SkipEvent, streamContext_, streamID_, and total_passed_.
Referenced by processOneEventAsync().
|
private |
Definition at line 705 of file StreamSchedule.cc.
References actReg_, edm::addContextAndPrintException(), CMS_SA_ALLOW, 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 533 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 858 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.
void edm::StreamSchedule::initializeEarlyDelete | ( | ModuleRegistry & | modReg, |
std::vector< std::string > const & | branchesToDeleteEarly, | ||
edm::ProductRegistry const & | preg | ||
) |
Definition at line 236 of file StreamSchedule.cc.
References allWorkers(), edm::BranchDescription::branchName(), edm::maker::ModuleHolder::createOutputModuleCommunicator(), CommonMethods::delta(), submitPVResolutionJobs::desc, earlyDeleteBranchToCount_, earlyDeleteHelpers_, earlyDeleteHelperToBranchIndicies_, end_paths_, edm::ModuleRegistry::forAllModuleHolders(), newFWLiteAna::found, edm::pset::Registry::getMapped(), edm::InEvent, edm::pset::Registry::instance(), B2GTnPMonitor_cfi::item, cmsLHEtoEOSManager::l, dqmiodumpmetadata::n, AlCaHLTBitMon_ParallelJobs::p, TrackValidation_cff::pset, resetEarlyDelete(), AlCaHLTBitMon_QueryRunRegistry::string, trig_paths_, and w().
|
private |
Definition at line 897 of file StreamSchedule.cc.
References edm::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 787 of file StreamSchedule.cc.
References end_paths_, newFWLiteAna::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 758 of file StreamSchedule.cc.
References newFWLiteAna::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 745 of file StreamSchedule.cc.
References mps_fire::i, edm::Path::name(), and trig_paths_.
|
inline |
Definition at line 255 of file StreamSchedule.h.
References number_of_unscheduled_modules_.
void edm::StreamSchedule::processOneEventAsync | ( | WaitingTaskHolder | iTask, |
EventTransitionInfo & | info, | ||
ServiceToken const & | token, | ||
std::vector< edm::propagate_const< std::shared_ptr< PathStatusInserter >>> & | pathStatusInserters | ||
) |
Definition at line 544 of file StreamSchedule.cc.
References actReg_, CMS_SA_ALLOW, edm::WaitingTaskHolder::doneWaiting(), empty_end_paths_, empty_trig_paths_, end_paths_, endPathStatusInserterWorkers_, finishedPaths(), finishProcessOneEvent(), edm::WaitingTaskHolder::group(), info(), edm::ServiceWeakToken::lock(), edm::make_waiting_task(), eostools::move(), edm::hlt::Pass, pathStatusInserterWorkers_, edm::EventTransitionInfo::principal(), edm::WorkerManager::processAccumulatorsAsync(), resetAll(), results_, edm::WorkerManager::setupOnDemandSystem(), edm::WorkerManager::setupResolvers(), streamContext_, streamID_, total_events_, trig_paths_, and workerManager_.
void edm::StreamSchedule::processOneStreamAsync | ( | WaitingTaskHolder | iTask, |
typename T::TransitionInfoType & | transitionInfo, | ||
ServiceToken const & | token, | ||
bool | cleaningUpAfterException = false |
||
) |
Definition at line 371 of file StreamSchedule.h.
References actReg_, edm::addContextAndPrintException(), CMS_SA_ALLOW, cms::Exception::context(), edm::WaitingTaskHolder::doneWaiting(), end_paths_, edm::ExceptionFromThisContext, edm::WaitingTaskHolder::group(), h, gpuClustering::id, info(), edm::ServiceWeakToken::lock(), edm::make_functor_task(), edm::make_waiting_task(), AlCaHLTBitMon_ParallelJobs::p, edm::WorkerManager::processOneOccurrenceAsync(), edm::WorkerManager::resetAll(), alignCSCRings::s, streamContext_, streamID_, unpackBuffers-CaloStage2::token, trig_paths_, edm::StreamID::value(), workerManager_, 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 515 of file StreamSchedule.cc.
References allWorkers(), edm::Worker::beginStream(), newFWLiteAna::found, edm::maker::ModuleHolder::replaceModuleFor(), streamContext_, and streamID_.
|
inlineprivate |
Definition at line 365 of file StreamSchedule.h.
References edm::EventID::event(), edm::EventPrincipal::id(), and edm::EventID::run().
|
private |
Definition at line 876 of file StreamSchedule.cc.
References results_, and skippingEvent_.
Referenced by processOneEventAsync().
|
private |
Definition at line 883 of file StreamSchedule.cc.
References submitPVResolutionJobs::count, earlyDeleteBranchToCount_, earlyDeleteHelpers_, and earlyDeleteHelperToBranchIndicies_.
Referenced by finishProcessOneEvent(), and initializeEarlyDelete().
|
inlineprivate |
Definition at line 319 of file StreamSchedule.h.
References edm::get_underlying_safe(), and results_.
Referenced by StreamSchedule().
|
inlineprivate |
Definition at line 320 of file StreamSchedule.h.
References edm::get_underlying_safe(), and results_.
|
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 225 of file StreamSchedule.h.
References total_events_.
Referenced by getTriggerReport(), and totalEventsFailed().
|
inline |
Return the number of events that have not passed any trigger. (N.B. totalEventsFailed() + totalEventsPassed() == totalEvents()
Definition at line 233 of file StreamSchedule.h.
References totalEvents(), and totalEventsPassed().
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.
References total_passed_.
Referenced by getTriggerReport(), and totalEventsFailed().
|
private |
Definition at line 328 of file StreamSchedule.h.
Referenced by fillEndPath(), fillTrigPath(), finishProcessOneEvent(), makePathStatusInserters(), processOneEventAsync(), processOneStreamAsync(), and StreamSchedule().
|
private |
Definition at line 344 of file StreamSchedule.h.
Referenced by initializeEarlyDelete(), and resetEarlyDelete().
|
private |
Definition at line 354 of file StreamSchedule.h.
Referenced by initializeEarlyDelete(), and resetEarlyDelete().
|
private |
Definition at line 351 of file StreamSchedule.h.
Referenced by initializeEarlyDelete(), and resetEarlyDelete().
|
private |
Definition at line 339 of file StreamSchedule.h.
Referenced by fillEndPath(), makePathStatusInserters(), and processOneEventAsync().
|
private |
Definition at line 338 of file StreamSchedule.h.
Referenced by fillTrigPath(), makePathStatusInserters(), and processOneEventAsync().
|
private |
Definition at line 337 of file StreamSchedule.h.
Referenced by clearCounters(), fillEndPath(), getTriggerReport(), initializeEarlyDelete(), makePathStatusInserters(), moduleDescriptionsInEndPath(), processOneEventAsync(), processOneStreamAsync(), and StreamSchedule().
|
private |
Definition at line 334 of file StreamSchedule.h.
Referenced by makePathStatusInserters(), and processOneEventAsync().
|
private |
Definition at line 358 of file StreamSchedule.h.
Referenced by numberOfUnscheduledModules(), and StreamSchedule().
|
private |
Definition at line 333 of file StreamSchedule.h.
Referenced by makePathStatusInserters(), and processOneEventAsync().
|
private |
Definition at line 330 of file StreamSchedule.h.
Referenced by finishedPaths(), processOneEventAsync(), resetAll(), and results().
|
private |
Definition at line 332 of file StreamSchedule.h.
Referenced by finishedPaths(), and StreamSchedule().
|
private |
Definition at line 362 of file StreamSchedule.h.
Referenced by fillTrigPath(), and resetAll().
|
private |
Definition at line 361 of file StreamSchedule.h.
Referenced by beginStream(), context(), endStream(), fillEndPath(), fillTrigPath(), finishedPaths(), finishProcessOneEvent(), processOneEventAsync(), processOneStreamAsync(), and replaceModule().
|
private |
Definition at line 360 of file StreamSchedule.h.
Referenced by beginStream(), endStream(), finishedPaths(), processOneEventAsync(), processOneStreamAsync(), replaceModule(), and streamID().
|
private |
Definition at line 356 of file StreamSchedule.h.
Referenced by clearCounters(), processOneEventAsync(), and totalEvents().
|
private |
Definition at line 357 of file StreamSchedule.h.
Referenced by clearCounters(), finishedPaths(), and totalEventsPassed().
|
private |
Definition at line 336 of file StreamSchedule.h.
Referenced by availablePaths(), clearCounters(), fillTrigPath(), getTriggerReport(), initializeEarlyDelete(), makePathStatusInserters(), moduleDescriptionsInPath(), modulesInPath(), processOneEventAsync(), processOneStreamAsync(), and StreamSchedule().
|
private |
Definition at line 327 of file StreamSchedule.h.
Referenced by actionTable(), addToAllWorkers(), allWorkers(), beginStream(), deleteModule(), endStream(), fillWorkers(), processOneEventAsync(), processOneStreamAsync(), and StreamSchedule().