#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 &) |
void | beginStream (unsigned int) |
bool | changeModule (std::string const &iLabel, ParameterSet const &iPSet, const ProductRegistry &iRegistry) |
void | clearCounters () |
Clear all the counters in the trigger report. More... | |
void | closeOutputFiles () |
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 | openNewOutputFilesIfNeeded () |
void | openOutputFiles (FileBlock &fb) |
void | postForkReacquireResources (unsigned int iChildIndex, unsigned int iNumberOfChildren) |
void | preForkReleaseResources () |
void | processOneEventAsync (WaitingTaskHolder iTask, unsigned int iStreamID, EventPrincipal &principal, EventSetup const &eventSetup) |
template<typename T > | |
void | processOneGlobal (typename T::MyPrincipal &principal, EventSetup const &eventSetup, bool cleaningUpAfterException=false) |
template<typename T > | |
void | processOneStream (unsigned int iStreamID, typename T::MyPrincipal &principal, EventSetup const &eventSetup, bool cleaningUpAfterException=false) |
void | respondToCloseInputFile (FileBlock const &fb) |
void | respondToOpenInputFile (FileBlock const &fb) |
Schedule (ParameterSet &proc_pset, service::TriggerNamesService &tns, ProductRegistry &pregistry, BranchIDListHelper &branchIDListHelper, ThinnedAssociationsHelper &thinnedAssociationsHelper, 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 | writeLumi (LuminosityBlockPrincipal const &lbp, ProcessContext const *) |
void | writeRun (RunPrincipal const &rp, ProcessContext const *) |
Private Member Functions | |
void | limitOutput (ParameterSet const &proc_pset, BranchIDLists const &branchIDLists) |
std::shared_ptr < ModuleRegistry const > | moduleRegistry () const |
std::shared_ptr< ModuleRegistry > & | moduleRegistry () |
std::shared_ptr < TriggerResultInserter const > | resultsInserter () const |
std::shared_ptr < TriggerResultInserter > & | resultsInserter () |
Private Attributes | |
AllOutputModuleCommunicators | all_output_communicators_ |
volatile bool | endpathsAreActive_ |
edm::propagate_const < std::unique_ptr < GlobalSchedule > > | globalSchedule_ |
edm::propagate_const < std::shared_ptr < ModuleRegistry > > | moduleRegistry_ |
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 114 of file Schedule.h.
typedef std::vector<edm::propagate_const<std::shared_ptr<OutputModuleCommunicator> > > edm::Schedule::AllOutputModuleCommunicators |
Definition at line 118 of file Schedule.h.
typedef std::vector<Worker*> edm::Schedule::AllWorkers |
Definition at line 117 of file Schedule.h.
typedef std::vector<std::string> edm::Schedule::vstring |
Definition at line 116 of file Schedule.h.
typedef std::vector<Worker*> edm::Schedule::Workers |
Definition at line 120 of file Schedule.h.
edm::Schedule::Schedule | ( | ParameterSet & | proc_pset, |
service::TriggerNamesService & | tns, | ||
ProductRegistry & | pregistry, | ||
BranchIDListHelper & | branchIDListHelper, | ||
ThinnedAssociationsHelper & | thinnedAssociationsHelper, | ||
ExceptionToActionTable const & | actions, | ||
std::shared_ptr< ActivityRegistry > | areg, | ||
std::shared_ptr< ProcessConfiguration > | processConfiguration, | ||
bool | hasSubprocesses, | ||
PreallocationConfiguration const & | config, | ||
ProcessContext const * | processContext | ||
) |
Definition at line 372 of file Schedule.cc.
Schedule::AllWorkers const & edm::Schedule::allWorkers | ( | ) | const |
returns the collection of pointers to workers
Definition at line 1017 of file Schedule.cc.
References globalSchedule_.
Referenced by changeModule(), edm::PathsAndConsumesOfModules::doConsumesInfo(), fillModuleAndConsumesInfo(), getAllModuleDescriptions(), postForkReacquireResources(), preForkReleaseResources(), 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 1022 of file Schedule.cc.
References streamSchedules_.
Referenced by edm::ScheduleInfo::availablePaths().
void edm::Schedule::beginJob | ( | ProductRegistry const & | iRegistry | ) |
Definition at line 938 of file Schedule.cc.
References globalSchedule_.
void edm::Schedule::beginStream | ( | unsigned int | iStreamID | ) |
Definition at line 942 of file Schedule.cc.
References assert(), and streamSchedules_.
bool edm::Schedule::changeModule | ( | std::string const & | iLabel, |
ParameterSet const & | iPSet, | ||
const ProductRegistry & | iRegistry | ||
) |
clone the type of module with label iLabel but configure with iPSet. Returns true if successful.
Definition at line 969 of file Schedule.cc.
References allWorkers(), newFWLiteAna::found, globalSchedule_, edm::InEvent, edm::InLumi, edm::InRun, moduleRegistry_, preallocConfig_, edm::ProductRegistry::productLookup(), streamSchedules_, and edm::Worker::updateLookup().
void edm::Schedule::clearCounters | ( | ) |
Clear all the counters in the trigger report.
Definition at line 1148 of file Schedule.cc.
References streamSchedules_.
void edm::Schedule::closeOutputFiles | ( | ) |
Definition at line 895 of file Schedule.cc.
References all_output_communicators_, edm::OutputModuleCommunicator::closeFile(), and edm::for_all().
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 1089 of file Schedule.cc.
References endpathsAreActive_, and streamSchedules_.
void edm::Schedule::endJob | ( | ExceptionCollector & | collector | ) |
Definition at line 607 of file Schedule.cc.
References constexpr, edm::EventTimingSummary::cpuTime, edm::TriggerTimingReport::endPathSummaries, edm::TriggerReport::endPathSummaries, edm::TriggerTimingReport::eventSummary, edm::TriggerReport::eventSummary, getTriggerReport(), getTriggerTimingReport(), globalSchedule_, edm::ExceptionCollector::hasThrown(), bookConverter::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 1032 of file Schedule.cc.
References streamSchedules_.
Referenced by edm::PathsAndConsumesOfModules::initialize().
bool edm::Schedule::endPathsEnabled | ( | ) | const |
Return true if end_paths are active, and false if they are inactive.
Definition at line 1097 of file Schedule.cc.
References endpathsAreActive_.
void edm::Schedule::endStream | ( | unsigned int | iStreamID | ) |
Definition at line 947 of file Schedule.cc.
References assert(), and streamSchedules_.
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 1057 of file Schedule.cc.
References allWorkers(), i, edm::ModuleDescription::id(), edm::ModuleDescription::moduleLabel(), edmConvertToStreamModule::modules, AlCaHLTBitMon_ParallelJobs::p, findQualityFiles::size, and edm::sort_all().
Referenced by edm::PathsAndConsumesOfModules::initialize().
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 1005 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 1102 of file Schedule.cc.
References edm::TriggerReport::eventSummary, streamSchedules_, edm::EventSummary::totalEvents, edm::EventSummary::totalEventsFailed, and edm::EventSummary::totalEventsPassed.
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 1112 of file Schedule.cc.
References edm::EventTimingSummary::cpuTime, edm::TriggerTimingReport::eventSummary, edm::EventTimingSummary::realTime, summaryTimeKeeper_, and edm::EventTimingSummary::totalEvents.
Referenced by endJob().
|
private |
Definition at line 552 of file Schedule.cc.
References all_output_communicators_, EnergyCorrector::c, edm::errors::Configuration, edm::ParameterSet::empty(), Exception, edm::ParameterSet::getParameterNamesForType(), edm::ParameterSet::getParameterSetNames(), edm::ParameterSet::getUntrackedParameter(), edm::ParameterSet::getUntrackedParameterSet(), edm::OutputModuleDescription::maxEvents_, 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 1050 of file Schedule.cc.
References streamSchedules_.
Referenced by edm::PathsAndConsumesOfModules::initialize().
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 1043 of file Schedule.cc.
References streamSchedules_.
Referenced by edm::PathsAndConsumesOfModules::initialize().
|
inlineprivate |
Definition at line 271 of file Schedule.h.
References edm::get_underlying_safe(), and moduleRegistry_.
|
inlineprivate |
Definition at line 272 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 1037 of file Schedule.cc.
References streamSchedules_.
Referenced by edm::ScheduleInfo::modulesInPath().
void edm::Schedule::openNewOutputFilesIfNeeded | ( | ) |
Definition at line 900 of file Schedule.cc.
References all_output_communicators_, edm::for_all(), and edm::OutputModuleCommunicator::openNewFileIfNeeded().
void edm::Schedule::openOutputFiles | ( | FileBlock & | fb | ) |
Definition at line 905 of file Schedule.cc.
References all_output_communicators_, edm::for_all(), and edm::OutputModuleCommunicator::openFile().
void edm::Schedule::postForkReacquireResources | ( | unsigned int | iChildIndex, |
unsigned int | iNumberOfChildren | ||
) |
Definition at line 964 of file Schedule.cc.
References allWorkers(), edm::for_all(), and edm::Worker::postForkReacquireResources().
void edm::Schedule::preForkReleaseResources | ( | ) |
Definition at line 960 of file Schedule.cc.
References allWorkers(), edm::for_all(), and edm::Worker::preForkReleaseResources().
void edm::Schedule::processOneEventAsync | ( | WaitingTaskHolder | iTask, |
unsigned int | iStreamID, | ||
EventPrincipal & | principal, | ||
EventSetup const & | eventSetup | ||
) |
Definition at line 952 of file Schedule.cc.
References assert(), eostools::move(), and streamSchedules_.
void edm::Schedule::processOneGlobal | ( | typename T::MyPrincipal & | principal, |
EventSetup const & | eventSetup, | ||
bool | cleaningUpAfterException = false |
||
) |
Definition at line 301 of file Schedule.h.
References globalSchedule_.
void edm::Schedule::processOneStream | ( | unsigned int | iStreamID, |
typename T::MyPrincipal & | principal, | ||
EventSetup const & | eventSetup, | ||
bool | cleaningUpAfterException = false |
||
) |
Definition at line 292 of file Schedule.h.
References assert(), and streamSchedules_.
void edm::Schedule::respondToCloseInputFile | ( | FileBlock const & | fb | ) |
Definition at line 933 of file Schedule.cc.
References allWorkers(), edm::for_all(), and edm::Worker::respondToCloseInputFile().
void edm::Schedule::respondToOpenInputFile | ( | FileBlock const & | fb | ) |
Definition at line 928 of file Schedule.cc.
References allWorkers(), edm::for_all(), and edm::Worker::respondToOpenInputFile().
|
inlineprivate |
Definition at line 269 of file Schedule.h.
References edm::get_underlying_safe(), and resultsInserter_.
|
inlineprivate |
Definition at line 270 of file Schedule.h.
References edm::get_underlying_safe(), and resultsInserter_.
bool edm::Schedule::shouldWeCloseOutput | ( | ) | const |
Definition at line 920 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 591 of file Schedule.cc.
References all_output_communicators_, and EnergyCorrector::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 1120 of file Schedule.cc.
References 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 1138 of file Schedule.cc.
References streamSchedules_.
int edm::Schedule::totalEventsPassed | ( | ) | const |
Return the number of events which have been passed by one or more trigger paths.
Definition at line 1129 of file Schedule.cc.
References 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 1027 of file Schedule.cc.
References streamSchedules_.
Referenced by edm::PathsAndConsumesOfModules::initialize().
void edm::Schedule::writeLumi | ( | LuminosityBlockPrincipal const & | lbp, |
ProcessContext const * | processContext | ||
) |
Definition at line 915 of file Schedule.cc.
References all_output_communicators_, edm::for_all(), and edm::OutputModuleCommunicator::writeLumi().
void edm::Schedule::writeRun | ( | RunPrincipal const & | rp, |
ProcessContext const * | processContext | ||
) |
Definition at line 910 of file Schedule.cc.
References all_output_communicators_, edm::for_all(), and edm::OutputModuleCommunicator::writeRun().
|
private |
Definition at line 280 of file Schedule.h.
Referenced by closeOutputFiles(), limitOutput(), openNewOutputFilesIfNeeded(), openOutputFiles(), shouldWeCloseOutput(), terminate(), writeLumi(), and writeRun().
|
private |
Definition at line 287 of file Schedule.h.
Referenced by enableEndPaths(), and endPathsEnabled().
|
private |
Definition at line 278 of file Schedule.h.
Referenced by allWorkers(), beginJob(), changeModule(), endJob(), and processOneGlobal().
|
private |
Definition at line 275 of file Schedule.h.
Referenced by changeModule(), and moduleRegistry().
|
private |
Definition at line 281 of file Schedule.h.
Referenced by changeModule(), and endJob().
|
private |
Definition at line 274 of file Schedule.h.
Referenced by resultsInserter().
|
private |
Definition at line 276 of file Schedule.h.
Referenced by availablePaths(), beginStream(), changeModule(), clearCounters(), enableEndPaths(), endJob(), endPaths(), endStream(), getTriggerReport(), moduleDescriptionsInEndPath(), moduleDescriptionsInPath(), modulesInPath(), processOneEventAsync(), processOneStream(), totalEvents(), totalEventsFailed(), totalEventsPassed(), and triggerPaths().
|
private |
Definition at line 283 of file Schedule.h.
Referenced by getTriggerTimingReport().
|
private |
Definition at line 285 of file Schedule.h.
Referenced by endJob().