#include <StreamSchedule.h>
Classes | |
class | SendTerminationSignalIfException |
Public Types | |
typedef std::vector < std::shared_ptr < OutputModuleCommunicator > > | AllOutputModuleCommunicators |
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 > | 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... | |
void | enableEndPaths (bool active) |
bool | endPathsEnabled () const |
void | endStream () |
std::vector< ModuleDescription const * > | getAllModuleDescriptions () const |
void | getTriggerReport (TriggerReport &rep) 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 |
template<typename T > | |
void | processOneEvent (typename T::MyPrincipal &principal, EventSetup const &eventSetup, bool cleaningUpAfterException=false) |
template<typename T > | |
void | processOneStream (typename T::MyPrincipal &principal, EventSetup const &eventSetup, 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::shared_ptr< ModuleRegistry >, ParameterSet &proc_pset, service::TriggerNamesService &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) |
void | fillTrigPath (ParameterSet &proc_pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, std::shared_ptr< ProcessConfiguration const > processConfiguration, int bitpos, std::string const &name, TrigResPtr, vstring *labelsOnTriggerPaths) |
void | fillWorkers (ParameterSet &proc_pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, std::shared_ptr< ProcessConfiguration const > processConfiguration, std::string const &name, bool ignoreFilters, PathWorkers &out, vstring *labelsOnPaths) |
void | initializeEarlyDelete (ModuleRegistry &modReg, edm::ParameterSet const &opts, edm::ProductRegistry const &preg, bool allowEarlyDelete) |
void | reportSkipped (EventPrincipal const &ep) const |
void | resetAll () |
void | resetEarlyDelete () |
template<typename T > | |
void | runEndPaths (typename T::MyPrincipal &, EventSetup const &, typename T::Context const *) |
template<typename T > | |
bool | runTriggerPaths (typename T::MyPrincipal &, EventSetup const &, typename T::Context const *) |
Private Attributes | |
std::shared_ptr< ActivityRegistry > | actReg_ |
std::vector< std::pair < BranchID, unsigned int > > | earlyDeleteBranchToCount_ |
std::vector< EarlyDeleteHelper > | earlyDeleteHelpers_ |
std::vector< unsigned int > | earlyDeleteHelperToBranchIndicies_ |
vstring | empty_trig_path_names_ |
std::vector< int > | empty_trig_paths_ |
vstring | end_path_name_list_ |
TrigPaths | end_paths_ |
volatile bool | endpathsAreActive_ |
unsigned int | number_of_unscheduled_modules_ |
TrigResPtr | results_ |
WorkerPtr | results_inserter_ |
StreamContext | streamContext_ |
StreamID | streamID_ |
int | total_events_ |
int | total_passed_ |
vstring | trig_name_list_ |
TrigPaths | trig_paths_ |
WorkerManager | workerManager_ |
Definition at line 138 of file StreamSchedule.h.
typedef std::vector<std::shared_ptr<OutputModuleCommunicator> > edm::StreamSchedule::AllOutputModuleCommunicators |
Definition at line 146 of file StreamSchedule.h.
typedef std::vector<Worker*> edm::StreamSchedule::AllWorkers |
Definition at line 145 of file StreamSchedule.h.
typedef std::vector<Path> edm::StreamSchedule::NonTrigPaths |
Definition at line 142 of file StreamSchedule.h.
typedef std::vector<WorkerInPath> edm::StreamSchedule::PathWorkers |
Definition at line 150 of file StreamSchedule.h.
typedef std::vector<Path> edm::StreamSchedule::TrigPaths |
Definition at line 141 of file StreamSchedule.h.
typedef std::shared_ptr<HLTGlobalStatus> edm::StreamSchedule::TrigResPtr |
Definition at line 143 of file StreamSchedule.h.
typedef std::vector<std::string> edm::StreamSchedule::vstring |
Definition at line 140 of file StreamSchedule.h.
typedef std::shared_ptr<Worker> edm::StreamSchedule::WorkerPtr |
Definition at line 144 of file StreamSchedule.h.
typedef std::vector<Worker*> edm::StreamSchedule::Workers |
Definition at line 148 of file StreamSchedule.h.
edm::StreamSchedule::StreamSchedule | ( | std::shared_ptr< TriggerResultInserter > | inserter, |
std::shared_ptr< ModuleRegistry > | modReg, | ||
ParameterSet & | proc_pset, | ||
service::TriggerNamesService & | 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 133 of file StreamSchedule.cc.
References actReg_, addToAllWorkers(), edm::WorkerManager::addToUnscheduledWorkers(), allWorkers(), end_path_name_list_, end_paths_, fillEndPath(), fillTrigPath(), edm::ParameterSet::getParameter(), edm::ParameterSet::getPSetForUpdate(), edm::ParameterSet::getUntrackedParameter(), edm::ParameterSet::getUntrackedParameterSet(), initializeEarlyDelete(), diffTwoXMLs::label, number_of_unscheduled_modules_, geometryDiff::opts, results_, results_inserter_, edm::WorkerManager::setOnDemandProducts(), trig_name_list_, trig_paths_, edm::StreamID::value(), and workerManager_.
|
delete |
|
inlineprivate |
returns the action table
Definition at line 268 of file StreamSchedule.h.
References edm::WorkerManager::actionTable(), and workerManager_.
Referenced by fillEndPath(), fillTrigPath(), and processOneEvent().
|
private |
Definition at line 656 of file StreamSchedule.cc.
References edm::WorkerManager::addToAllWorkers(), and workerManager_.
Referenced by fillEndPath(), fillTrigPath(), and StreamSchedule().
|
inline |
returns the collection of pointers to workers
Definition at line 236 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 545 of file StreamSchedule.cc.
References edm::Path::name(), create_public_lumi_plots::transform, and trig_paths_.
void edm::StreamSchedule::beginStream | ( | ) |
Definition at line 507 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 642 of file StreamSchedule.cc.
References allWorkers(), edm::Path::clearCounters(), edm::Worker::clearCounters(), end_paths_, edm::for_all(), total_events_, total_passed_, and trig_paths_.
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 571 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 576 of file StreamSchedule.cc.
References endpathsAreActive_.
void edm::StreamSchedule::endStream | ( | ) |
Definition at line 511 of file StreamSchedule.cc.
References edm::WorkerManager::endStream(), streamContext_, streamID_, and workerManager_.
|
private |
Definition at line 487 of file StreamSchedule.cc.
References actionTable(), actReg_, addToAllWorkers(), end_paths_, fillWorkers(), edm::for_all(), edm::PathContext::kEndPath, and streamContext_.
Referenced by StreamSchedule().
|
private |
Definition at line 461 of file StreamSchedule.cc.
References actionTable(), actReg_, addToAllWorkers(), empty_trig_path_names_, empty_trig_paths_, fillWorkers(), edm::for_all(), edm::PathContext::kPath, streamContext_, and trig_paths_.
Referenced by StreamSchedule().
|
private |
Definition at line 402 of file StreamSchedule.cc.
References edm::errors::Configuration, edm::Worker::description(), end_path_name_list_, edm::hlt::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, edm::search_all(), AlCaHLTBitMon_QueryRunRegistry::string, edm::WorkerInPath::Veto, and workerManager_.
Referenced by fillEndPath(), and fillTrigPath().
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, query::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 631 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 247 of file StreamSchedule.cc.
References allWorkers(), edm::maker::ModuleHolder::createOutputModuleCommunicator(), delta, earlyDeleteBranchToCount_, earlyDeleteHelpers_, earlyDeleteHelperToBranchIndicies_, end_paths_, edm::ModuleRegistry::forAllModuleHolders(), newFWLiteAna::found, edm::pset::Registry::getMapped(), cmsHarvester::index, edm::InEvent, edm::pset::Registry::instance(), prof2calltree::l, n, AlCaHLTBitMon_ParallelJobs::p, resetEarlyDelete(), AlCaHLTBitMon_QueryRunRegistry::string, trig_paths_, and w.
Referenced by StreamSchedule().
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 554 of file StreamSchedule.cc.
References i, edm::Path::name(), and trig_paths_.
|
inline |
Definition at line 240 of file StreamSchedule.h.
References number_of_unscheduled_modules_.
void edm::StreamSchedule::processOneEvent | ( | typename T::MyPrincipal & | principal, |
EventSetup const & | eventSetup, | ||
bool | cleaningUpAfterException = false |
||
) |
Definition at line 355 of file StreamSchedule.h.
References alignCSCRings::action, actionTable(), actReg_, cms::Exception::addContext(), edm::addContextAndPrintException(), cms::Exception::category(), cms::Exception::context(), alignCSCRings::e, empty_trig_paths_, endpathsAreActive_, edm::exception_actions::FailPath, edm::ExceptionToActionTable::find(), edm::exception_actions::IgnoreCompletely, edm::hlt::Pass, edm::printCmsExceptionWarning(), edm::WorkerManager::processOneOccurrence(), resetAll(), resetEarlyDelete(), results_, results_inserter_, edm::exception_actions::SkipEvent, streamContext_, streamID_, total_events_, total_passed_, workerManager_, and edm::convertException::wrap().
void edm::StreamSchedule::processOneStream | ( | typename T::MyPrincipal & | principal, |
EventSetup const & | eventSetup, | ||
bool | cleaningUpAfterException = false |
||
) |
Definition at line 422 of file StreamSchedule.h.
References actReg_, edm::addContextAndPrintException(), cms::Exception::context(), endpathsAreActive_, edm::WorkerManager::processOneOccurrence(), resetAll(), streamContext_, streamID_, 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 349 of file StreamSchedule.h.
References edm::EventID::event(), edm::EventPrincipal::id(), and edm::EventID::run().
|
private |
Definition at line 651 of file StreamSchedule.cc.
References results_.
Referenced by processOneEvent(), and processOneStream().
|
private |
Definition at line 661 of file StreamSchedule.cc.
References prof2calltree::count, earlyDeleteBranchToCount_, earlyDeleteHelpers_, earlyDeleteHelperToBranchIndicies_, and cmsHarvester::index.
Referenced by initializeEarlyDelete(), and processOneEvent().
|
private |
Definition at line 467 of file StreamSchedule.h.
References end_paths_, AlCaHLTBitMon_ParallelJobs::p, and streamID_.
|
private |
Definition at line 458 of file StreamSchedule.h.
References AlCaHLTBitMon_ParallelJobs::p, results_, streamID_, and trig_paths_.
|
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 201 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 213 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 207 of file StreamSchedule.h.
References total_passed_.
Referenced by getTriggerReport(), and totalEventsFailed().
|
private |
Definition at line 310 of file StreamSchedule.h.
Referenced by fillEndPath(), fillTrigPath(), processOneEvent(), processOneStream(), and StreamSchedule().
|
private |
Definition at line 326 of file StreamSchedule.h.
Referenced by initializeEarlyDelete(), and resetEarlyDelete().
|
private |
Definition at line 336 of file StreamSchedule.h.
Referenced by initializeEarlyDelete(), and resetEarlyDelete().
|
private |
Definition at line 333 of file StreamSchedule.h.
Referenced by initializeEarlyDelete(), and resetEarlyDelete().
|
private |
Definition at line 321 of file StreamSchedule.h.
Referenced by fillTrigPath().
|
private |
Definition at line 320 of file StreamSchedule.h.
Referenced by fillTrigPath(), and processOneEvent().
|
private |
Definition at line 313 of file StreamSchedule.h.
Referenced by fillWorkers(), and StreamSchedule().
|
private |
Definition at line 319 of file StreamSchedule.h.
Referenced by clearCounters(), fillEndPath(), getTriggerReport(), initializeEarlyDelete(), runEndPaths(), and StreamSchedule().
|
private |
Definition at line 344 of file StreamSchedule.h.
Referenced by enableEndPaths(), endPathsEnabled(), processOneEvent(), and processOneStream().
|
private |
Definition at line 340 of file StreamSchedule.h.
Referenced by numberOfUnscheduledModules(), and StreamSchedule().
|
private |
Definition at line 315 of file StreamSchedule.h.
Referenced by processOneEvent(), resetAll(), runTriggerPaths(), and StreamSchedule().
|
private |
Definition at line 317 of file StreamSchedule.h.
Referenced by processOneEvent(), and StreamSchedule().
|
private |
Definition at line 343 of file StreamSchedule.h.
Referenced by beginStream(), endStream(), fillEndPath(), fillTrigPath(), processOneEvent(), processOneStream(), and replaceModule().
|
private |
Definition at line 342 of file StreamSchedule.h.
Referenced by beginStream(), endStream(), processOneEvent(), processOneStream(), replaceModule(), runEndPaths(), runTriggerPaths(), and streamID().
|
private |
Definition at line 338 of file StreamSchedule.h.
Referenced by clearCounters(), processOneEvent(), and totalEvents().
|
private |
Definition at line 339 of file StreamSchedule.h.
Referenced by clearCounters(), processOneEvent(), and totalEventsPassed().
|
private |
Definition at line 312 of file StreamSchedule.h.
Referenced by StreamSchedule().
|
private |
Definition at line 318 of file StreamSchedule.h.
Referenced by availablePaths(), clearCounters(), fillTrigPath(), getTriggerReport(), initializeEarlyDelete(), modulesInPath(), runTriggerPaths(), and StreamSchedule().
|
private |
Definition at line 309 of file StreamSchedule.h.
Referenced by actionTable(), addToAllWorkers(), allWorkers(), beginStream(), endStream(), fillWorkers(), processOneEvent(), processOneStream(), and StreamSchedule().