#include <Schedule.h>
Public Types | |
typedef std::vector< edm::propagate_const< std::shared_ptr< OutputModuleCommunicator > > > | AllOutputModuleCommunicators |
typedef std::vector< Worker * > | AllWorkers |
typedef std::vector< std::string > | vstring |
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 | beginJob (ProductRegistry const &, eventsetup::ESRecordsToProxyIndices const &) |
void | beginStream (unsigned int) |
bool | changeModule (std::string const &iLabel, ParameterSet const &iPSet, const ProductRegistry &iRegistry, eventsetup::ESRecordsToProxyIndices const &) |
void | clearCounters () |
Clear all the counters in the trigger report. More... | |
void | closeOutputFiles () |
void | convertCurrentProcessAlias (std::string const &processName) |
Convert "@currentProcess" in InputTag process names to the actual current process name. More... | |
void | enableEndPaths (bool active) |
void | endJob (ExceptionCollector &collector) |
void | endPaths (std::vector< std::string > &oLabelsToFill) const |
adds to oLabelsToFill the labels for all end paths in the process More... | |
bool | endPathsEnabled () const |
void | endStream (unsigned int) |
void | fillModuleAndConsumesInfo (std::vector< ModuleDescription const * > &allModuleDescriptions, std::vector< std::pair< unsigned int, unsigned int >> &moduleIDToIndex, std::vector< std::vector< ModuleDescription const * >> &modulesWhoseProductsAreConsumedBy, ProductRegistry const &preg) const |
std::vector< ModuleDescription const * > | getAllModuleDescriptions () const |
void | getTriggerReport (TriggerReport &rep) const |
void | getTriggerTimingReport (TriggerTimingReport &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... | |
void | openOutputFiles (FileBlock &fb) |
void | processOneEventAsync (WaitingTaskHolder iTask, unsigned int iStreamID, EventTransitionInfo &, ServiceToken const &token) |
template<typename T > | |
void | processOneGlobalAsync (WaitingTaskHolder iTask, typename T::TransitionInfoType &transitionInfo, ServiceToken const &token, bool cleaningUpAfterException=false) |
template<typename T > | |
void | processOneStreamAsync (WaitingTaskHolder iTask, unsigned int iStreamID, typename T::TransitionInfoType &transitionInfo, ServiceToken const &token, bool cleaningUpAfterException=false) |
void | respondToCloseInputFile (FileBlock const &fb) |
void | respondToOpenInputFile (FileBlock const &fb) |
Schedule (ParameterSet &proc_pset, service::TriggerNamesService const &tns, ProductRegistry &pregistry, BranchIDListHelper &branchIDListHelper, ThinnedAssociationsHelper &thinnedAssociationsHelper, SubProcessParentageHelper const *subProcessParentageHelper, ExceptionToActionTable const &actions, std::shared_ptr< ActivityRegistry > areg, std::shared_ptr< ProcessConfiguration > processConfiguration, bool hasSubprocesses, PreallocationConfiguration const &config, ProcessContext const *processContext) | |
bool | shouldWeCloseOutput () const |
bool | terminate () const |
Return whether each output module has reached its maximum count. More... | |
int | totalEvents () const |
int | totalEventsFailed () const |
int | totalEventsPassed () const |
void | triggerPaths (std::vector< std::string > &oLabelsToFill) const |
void | writeLumiAsync (WaitingTaskHolder iTask, LuminosityBlockPrincipal const &lbp, ProcessContext const *, ActivityRegistry *) |
void | writeProcessBlockAsync (WaitingTaskHolder iTask, ProcessBlockPrincipal const &, ProcessContext const *, ActivityRegistry *) |
void | writeRunAsync (WaitingTaskHolder iTask, RunPrincipal const &rp, ProcessContext const *, ActivityRegistry *, MergeableRunProductMetadata const *) |
Private Member Functions | |
void | limitOutput (ParameterSet const &proc_pset, BranchIDLists const &branchIDLists, SubProcessParentageHelper const *subProcessParentageHelper) |
std::shared_ptr< ModuleRegistry > & | moduleRegistry () |
std::shared_ptr< ModuleRegistry const > | moduleRegistry () const |
std::shared_ptr< TriggerResultInserter > & | resultsInserter () |
std::shared_ptr< TriggerResultInserter const > | resultsInserter () const |
Private Attributes | |
AllOutputModuleCommunicators | all_output_communicators_ |
std::vector< std::string > const * | endPathNames_ |
volatile bool | endpathsAreActive_ |
std::vector< edm::propagate_const< std::shared_ptr< EndPathStatusInserter > > > | endPathStatusInserters_ |
edm::propagate_const< std::unique_ptr< GlobalSchedule > > | globalSchedule_ |
edm::propagate_const< std::shared_ptr< ModuleRegistry > > | moduleRegistry_ |
std::vector< std::string > const * | pathNames_ |
std::vector< edm::propagate_const< std::shared_ptr< PathStatusInserter > > > | pathStatusInserters_ |
PreallocationConfiguration | preallocConfig_ |
edm::propagate_const< std::shared_ptr< TriggerResultInserter > > | resultsInserter_ |
std::vector< edm::propagate_const< std::shared_ptr< StreamSchedule > > > | streamSchedules_ |
edm::propagate_const< std::unique_ptr< SystemTimeKeeper > > | summaryTimeKeeper_ |
bool | wantSummary_ |
Definition at line 121 of file Schedule.h.
typedef std::vector<edm::propagate_const<std::shared_ptr<OutputModuleCommunicator> > > edm::Schedule::AllOutputModuleCommunicators |
Definition at line 125 of file Schedule.h.
typedef std::vector<Worker*> edm::Schedule::AllWorkers |
Definition at line 124 of file Schedule.h.
typedef std::vector<std::string> edm::Schedule::vstring |
Definition at line 123 of file Schedule.h.
typedef std::vector<Worker*> edm::Schedule::Workers |
Definition at line 127 of file Schedule.h.
edm::Schedule::Schedule | ( | ParameterSet & | proc_pset, |
service::TriggerNamesService const & | tns, | ||
ProductRegistry & | pregistry, | ||
BranchIDListHelper & | branchIDListHelper, | ||
ThinnedAssociationsHelper & | thinnedAssociationsHelper, | ||
SubProcessParentageHelper const * | subProcessParentageHelper, | ||
ExceptionToActionTable const & | actions, | ||
std::shared_ptr< ActivityRegistry > | areg, | ||
std::shared_ptr< ProcessConfiguration > | processConfiguration, | ||
bool | hasSubprocesses, | ||
PreallocationConfiguration const & | config, | ||
ProcessContext const * | processContext | ||
) |
Definition at line 657 of file Schedule.cc.
References actions, and edm::service::TriggerNamesService::getTrigPaths().
Schedule::AllWorkers const & edm::Schedule::allWorkers | ( | ) | const |
returns the collection of pointers to workers
Definition at line 1438 of file Schedule.cc.
References globalSchedule_.
Referenced by changeModule(), convertCurrentProcessAlias(), edm::PathsAndConsumesOfModules::doConsumesInfo(), fillModuleAndConsumesInfo(), getAllModuleDescriptions(), respondToCloseInputFile(), and respondToOpenInputFile().
void edm::Schedule::availablePaths | ( | std::vector< std::string > & | oLabelsToFill | ) | const |
adds to oLabelsToFill the labels for all paths in the process
Definition at line 1446 of file Schedule.cc.
References streamSchedules_.
Referenced by edm::ScheduleInfo::availablePaths().
void edm::Schedule::beginJob | ( | ProductRegistry const & | iRegistry, |
eventsetup::ESRecordsToProxyIndices const & | iESIndices | ||
) |
Definition at line 1356 of file Schedule.cc.
References globalSchedule_.
void edm::Schedule::beginStream | ( | unsigned int | iStreamID | ) |
bool edm::Schedule::changeModule | ( | std::string const & | iLabel, |
ParameterSet const & | iPSet, | ||
const ProductRegistry & | iRegistry, | ||
eventsetup::ESRecordsToProxyIndices const & | iIndices | ||
) |
clone the type of module with label iLabel but configure with iPSet. Returns true if successful.
Definition at line 1378 of file Schedule.cc.
References allWorkers(), newFWLiteAna::found, globalSchedule_, edm::InEvent, edm::InLumi, edm::InProcess, edm::InRun, moduleRegistry_, preallocConfig_, SimL1EmulatorRepack_CalouGT_cff::processName, edm::ProductRegistry::productLookup(), alignCSCRings::s, and streamSchedules_.
void edm::Schedule::clearCounters | ( | ) |
Clear all the counters in the trigger report.
Definition at line 1558 of file Schedule.cc.
References alignCSCRings::s, and streamSchedules_.
void edm::Schedule::closeOutputFiles | ( | ) |
Definition at line 1211 of file Schedule.cc.
References all_output_communicators_, edm::OutputModuleCommunicator::closeFile(), and edm::for_all().
void edm::Schedule::convertCurrentProcessAlias | ( | std::string const & | processName | ) |
Convert "@currentProcess" in InputTag process names to the actual current process name.
Definition at line 1440 of file Schedule.cc.
References allWorkers(), and SimL1EmulatorRepack_CalouGT_cff::processName.
void edm::Schedule::enableEndPaths | ( | bool | active | ) |
Turn end_paths "off" if "active" is false; turn end_paths "on" if "active" is true.
Definition at line 1508 of file Schedule.cc.
References endpathsAreActive_, alignCSCRings::s, and streamSchedules_.
void edm::Schedule::endJob | ( | ExceptionCollector & | collector | ) |
Definition at line 928 of file Schedule.cc.
References edm::EventTimingSummary::cpuTime, edm::TriggerTimingReport::endPathSummaries, edm::TriggerReport::endPathSummaries, edm::TriggerTimingReport::eventSummary, edm::TriggerReport::eventSummary, alignBH_cfg::fixed, getTriggerReport(), getTriggerTimingReport(), globalSchedule_, edm::ExceptionCollector::hasThrown(), SiStripPI::max, mod(), edm::PreallocationConfiguration::numberOfThreads(), AlCaHLTBitMon_ParallelJobs::p, preallocConfig_, edm::EventTimingSummary::realTime, streamSchedules_, edm::EventTimingSummary::sumStreamRealTime, edm::EventTimingSummary::totalEvents, edm::EventSummary::totalEvents, totalEvents(), edm::EventSummary::totalEventsFailed, edm::EventSummary::totalEventsPassed, edm::TriggerTimingReport::trigPathSummaries, edm::TriggerReport::trigPathSummaries, wantSummary_, edm::TriggerTimingReport::workerSummaries, and edm::TriggerReport::workerSummaries.
void edm::Schedule::endPaths | ( | std::vector< std::string > & | oLabelsToFill | ) | const |
adds to oLabelsToFill the labels for all end paths in the process
Definition at line 1452 of file Schedule.cc.
References endPathNames_.
bool edm::Schedule::endPathsEnabled | ( | ) | const |
Return true if end_paths are active, and false if they are inactive.
Definition at line 1515 of file Schedule.cc.
References endpathsAreActive_.
void edm::Schedule::endStream | ( | unsigned int | iStreamID | ) |
void edm::Schedule::fillModuleAndConsumesInfo | ( | std::vector< ModuleDescription const * > & | allModuleDescriptions, |
std::vector< std::pair< unsigned int, unsigned int >> & | moduleIDToIndex, | ||
std::vector< std::vector< ModuleDescription const * >> & | modulesWhoseProductsAreConsumedBy, | ||
ProductRegistry const & | preg | ||
) | const |
Definition at line 1470 of file Schedule.cc.
References cms::Exception::addContext(), allWorkers(), mps_fire::i, AlCaHLTBitMon_ParallelJobs::p, findQualityFiles::size, and edm::sort_all().
std::vector< ModuleDescription const * > edm::Schedule::getAllModuleDescriptions | ( | ) | const |
Return a vector allowing const access to all the ModuleDescriptions for this Schedule. *** N.B. *** Ownership of the ModuleDescriptions is not *** passed to the caller. Do not call delete on these *** pointers!
Definition at line 1427 of file Schedule.cc.
References allWorkers(), AlCaHLTBitMon_ParallelJobs::p, mps_fire::result, and findQualityFiles::size.
Referenced by edm::ScheduleInfo::availableModuleLabels(), and edm::ScheduleInfo::parametersForModule().
void edm::Schedule::getTriggerReport | ( | TriggerReport & | rep | ) | const |
Return the trigger report information on paths, modules-in-path, modules-in-endpath, and modules.
Definition at line 1517 of file Schedule.cc.
References cuy::rep, alignCSCRings::s, edm::sort_all(), and streamSchedules_.
Referenced by endJob().
void edm::Schedule::getTriggerTimingReport | ( | TriggerTimingReport & | rep | ) | const |
Return the trigger timing report information on paths, modules-in-path, modules-in-endpath, and modules.
Definition at line 1527 of file Schedule.cc.
References cuy::rep, and summaryTimeKeeper_.
Referenced by endJob().
|
private |
Definition at line 872 of file Schedule.cc.
References all_output_communicators_, HltBtagPostValidation_cff::c, edm::errors::Configuration, submitPVResolutionJobs::desc, edm::ParameterSet::empty(), Exception, edm::ParameterSet::getParameterNamesForType(), edm::ParameterSet::getParameterSetNames(), edm::ParameterSet::getUntrackedParameter(), edm::ParameterSet::getUntrackedParameterSet(), HerwigMaxPtPartonFilter_cfi::moduleLabel, convertSQLitetoXML_cfg::output, edm::search_all(), and AlCaHLTBitMon_QueryRunRegistry::string.
void edm::Schedule::moduleDescriptionsInEndPath | ( | std::string const & | iEndPathLabel, |
std::vector< ModuleDescription const * > & | descriptions, | ||
unsigned int | hint | ||
) | const |
adds the ModuleDescriptions into the vector for the modules scheduled in path iEndPathLabel hint is a performance optimization if you might know the position of the module in the path
Definition at line 1464 of file Schedule.cc.
References streamSchedules_.
void edm::Schedule::moduleDescriptionsInPath | ( | std::string const & | iPathLabel, |
std::vector< ModuleDescription const * > & | descriptions, | ||
unsigned int | hint | ||
) | const |
adds the ModuleDescriptions into the vector for the modules scheduled in path iPathLabel hint is a performance optimization if you might know the position of the module in the path
Definition at line 1458 of file Schedule.cc.
References streamSchedules_.
|
inlineprivate |
Definition at line 296 of file Schedule.h.
References edm::get_underlying_safe(), and moduleRegistry_.
|
inlineprivate |
Definition at line 295 of file Schedule.h.
References edm::get_underlying_safe(), and moduleRegistry_.
void edm::Schedule::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 1454 of file Schedule.cc.
References streamSchedules_.
Referenced by edm::ScheduleInfo::modulesInPath().
void edm::Schedule::openOutputFiles | ( | FileBlock & | fb | ) |
Definition at line 1216 of file Schedule.cc.
References all_output_communicators_, benchmark_cfg::fb, edm::for_all(), and edm::OutputModuleCommunicator::openFile().
void edm::Schedule::processOneEventAsync | ( | WaitingTaskHolder | iTask, |
unsigned int | iStreamID, | ||
EventTransitionInfo & | info, | ||
ServiceToken const & | token | ||
) |
Definition at line 1370 of file Schedule.cc.
References cms::cuda::assert(), info(), eostools::move(), pathStatusInserters_, streamSchedules_, and unpackBuffers-CaloStage2::token.
void edm::Schedule::processOneGlobalAsync | ( | WaitingTaskHolder | iTask, |
typename T::TransitionInfoType & | transitionInfo, | ||
ServiceToken const & | token, | ||
bool | cleaningUpAfterException = false |
||
) |
Definition at line 330 of file Schedule.h.
References globalSchedule_, and unpackBuffers-CaloStage2::token.
Referenced by edm::beginGlobalTransitionAsync(), and edm::endGlobalTransitionAsync().
void edm::Schedule::processOneStreamAsync | ( | WaitingTaskHolder | iTask, |
unsigned int | iStreamID, | ||
typename T::TransitionInfoType & | transitionInfo, | ||
ServiceToken const & | token, | ||
bool | cleaningUpAfterException = false |
||
) |
Definition at line 319 of file Schedule.h.
References cms::cuda::assert(), eostools::move(), streamSchedules_, and unpackBuffers-CaloStage2::token.
Referenced by edm::beginStreamTransitionAsync(), and edm::endStreamTransitionAsync().
void edm::Schedule::respondToCloseInputFile | ( | FileBlock const & | fb | ) |
Definition at line 1351 of file Schedule.cc.
References allWorkers(), benchmark_cfg::fb, edm::for_all(), and edm::Worker::respondToCloseInputFile().
void edm::Schedule::respondToOpenInputFile | ( | FileBlock const & | fb | ) |
Definition at line 1346 of file Schedule.cc.
References allWorkers(), benchmark_cfg::fb, edm::for_all(), and edm::Worker::respondToOpenInputFile().
|
inlineprivate |
Definition at line 294 of file Schedule.h.
References edm::get_underlying_safe(), and resultsInserter_.
|
inlineprivate |
Definition at line 291 of file Schedule.h.
References edm::get_underlying_safe(), and resultsInserter_.
bool edm::Schedule::shouldWeCloseOutput | ( | ) | const |
Definition at line 1337 of file Schedule.cc.
References all_output_communicators_, and edm::OutputModuleCommunicator::shouldWeCloseFile().
bool edm::Schedule::terminate | ( | void | ) | const |
Return whether each output module has reached its maximum count.
Definition at line 913 of file Schedule.cc.
References all_output_communicators_, and HltBtagPostValidation_cff::c.
int edm::Schedule::totalEvents | ( | ) | const |
Return the number of events this Schedule has tried to process (inclues both successes and failures, including failures due to exceptions during processing).
Definition at line 1534 of file Schedule.cc.
References alignCSCRings::s, and streamSchedules_.
Referenced by endJob().
int edm::Schedule::totalEventsFailed | ( | ) | const |
Return the number of events that have not passed any trigger. (N.B. totalEventsFailed() + totalEventsPassed() == totalEvents()
Definition at line 1550 of file Schedule.cc.
References alignCSCRings::s, and streamSchedules_.
int edm::Schedule::totalEventsPassed | ( | ) | const |
Return the number of events which have been passed by one or more trigger paths.
Definition at line 1542 of file Schedule.cc.
References alignCSCRings::s, and streamSchedules_.
void edm::Schedule::triggerPaths | ( | std::vector< std::string > & | oLabelsToFill | ) | const |
Adds to oLabelsToFill the labels for all trigger paths in the process. This is different from availablePaths because it includes the empty paths to match the entries in TriggerResults exactly.
Definition at line 1450 of file Schedule.cc.
References pathNames_.
void edm::Schedule::writeLumiAsync | ( | WaitingTaskHolder | iTask, |
LuminosityBlockPrincipal const & | lbp, | ||
ProcessContext const * | processContext, | ||
ActivityRegistry * | activityRegistry | ||
) |
Definition at line 1299 of file Schedule.cc.
References all_output_communicators_, edm::LuminosityBlockPrincipal::beginTime(), HltBtagPostValidation_cff::c, CMS_SA_ALLOW, edm::LuminosityBlockPrincipal::id(), edm::LuminosityBlockPrincipal::index(), edm::RunPrincipal::index(), edm::ServiceRegistry::instance(), edm::GlobalContext::kWriteLuminosityBlock, edm::make_waiting_task(), edm::ActivityRegistry::postGlobalWriteLumiSignal_, edm::ActivityRegistry::preGlobalWriteLumiSignal_, edm::ServiceRegistry::presentToken(), edm::LuminosityBlockPrincipal::runPrincipal(), submitPVValidationJobs::t, TrackValidation_cff::task, and unpackBuffers-CaloStage2::token.
void edm::Schedule::writeProcessBlockAsync | ( | WaitingTaskHolder | iTask, |
ProcessBlockPrincipal const & | pbp, | ||
ProcessContext const * | processContext, | ||
ActivityRegistry * | activityRegistry | ||
) |
Definition at line 1260 of file Schedule.cc.
References all_output_communicators_, HltBtagPostValidation_cff::c, CMS_SA_ALLOW, edm::ServiceRegistry::instance(), edm::LuminosityBlockIndex::invalidLuminosityBlockIndex(), edm::RunIndex::invalidRunIndex(), edm::Timestamp::invalidTimestamp(), edm::GlobalContext::kWriteProcessBlock, edm::make_waiting_task(), edm::ActivityRegistry::postWriteProcessBlockSignal_, edm::ServiceRegistry::presentToken(), edm::ActivityRegistry::preWriteProcessBlockSignal_, submitPVValidationJobs::t, TrackValidation_cff::task, and unpackBuffers-CaloStage2::token.
void edm::Schedule::writeRunAsync | ( | WaitingTaskHolder | iTask, |
RunPrincipal const & | rp, | ||
ProcessContext const * | processContext, | ||
ActivityRegistry * | activityRegistry, | ||
MergeableRunProductMetadata const * | mergeableRunProductMetadata | ||
) |
Definition at line 1221 of file Schedule.cc.
References all_output_communicators_, HltBtagPostValidation_cff::c, CMS_SA_ALLOW, edm::RunPrincipal::endTime(), edm::RunPrincipal::index(), edm::ServiceRegistry::instance(), edm::LuminosityBlockIndex::invalidLuminosityBlockIndex(), edm::GlobalContext::kWriteRun, edm::make_waiting_task(), edm::ActivityRegistry::postGlobalWriteRunSignal_, edm::ActivityRegistry::preGlobalWriteRunSignal_, edm::ServiceRegistry::presentToken(), edm::RunPrincipal::run(), submitPVValidationJobs::t, TrackValidation_cff::task, and unpackBuffers-CaloStage2::token.
|
private |
Definition at line 306 of file Schedule.h.
Referenced by closeOutputFiles(), limitOutput(), openOutputFiles(), shouldWeCloseOutput(), terminate(), writeLumiAsync(), writeProcessBlockAsync(), and writeRunAsync().
|
private |
Definition at line 312 of file Schedule.h.
Referenced by endPaths().
|
private |
Definition at line 315 of file Schedule.h.
Referenced by enableEndPaths(), and endPathsEnabled().
|
private |
Definition at line 300 of file Schedule.h.
|
private |
Definition at line 304 of file Schedule.h.
Referenced by allWorkers(), beginJob(), changeModule(), endJob(), and processOneGlobalAsync().
|
private |
Definition at line 301 of file Schedule.h.
Referenced by changeModule(), and moduleRegistry().
|
private |
Definition at line 311 of file Schedule.h.
Referenced by triggerPaths().
|
private |
Definition at line 299 of file Schedule.h.
Referenced by processOneEventAsync().
|
private |
Definition at line 307 of file Schedule.h.
Referenced by changeModule(), and endJob().
|
private |
Definition at line 298 of file Schedule.h.
Referenced by resultsInserter().
|
private |
Definition at line 302 of file Schedule.h.
Referenced by availablePaths(), beginStream(), changeModule(), clearCounters(), enableEndPaths(), endJob(), endStream(), getTriggerReport(), moduleDescriptionsInEndPath(), moduleDescriptionsInPath(), modulesInPath(), processOneEventAsync(), processOneStreamAsync(), totalEvents(), totalEventsFailed(), and totalEventsPassed().
|
private |
Definition at line 309 of file Schedule.h.
Referenced by getTriggerTimingReport().
|
private |
Definition at line 313 of file Schedule.h.
Referenced by endJob().