#include <Schedule.h>
Public Types | |
typedef std::vector < OutputWorker * > | AllOutputWorkers |
typedef std::vector< Worker * > | AllWorkers |
typedef std::vector< Path > | NonTrigPaths |
typedef std::vector< WorkerInPath > | PathWorkers |
enum | State { Ready = 0, Running, Latched } |
typedef std::vector< Path > | TrigPaths |
typedef boost::shared_ptr < HLTGlobalStatus > | TrigResPtr |
typedef std::vector< std::string > | vstring |
typedef boost::shared_ptr< Worker > | WorkerPtr |
typedef std::vector< Worker * > | Workers |
Public Member Functions | |
void | availablePaths (std::vector< std::string > &oLabelsToFill) const |
adds to oLabelsToFill the labels for all paths in the process More... | |
void | beginJob () |
bool | changeModule (std::string const &iLabel, ParameterSet const &iPSet) |
void | clearCounters () |
Clear all the counters in the trigger report. More... | |
void | closeOutputFiles () |
void | enableEndPaths (bool active) |
void | endJob () |
bool | endPathsEnabled () const |
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... | |
void | openNewOutputFilesIfNeeded () |
void | openOutputFiles (FileBlock &fb) |
void | postForkReacquireResources (unsigned int iChildIndex, unsigned int iNumberOfChildren) |
void | preForkReleaseResources () |
template<typename T > | |
void | processOneOccurrence (typename T::MyPrincipal &principal, EventSetup const &eventSetup) |
void | respondToCloseInputFile (FileBlock const &fb) |
void | respondToCloseOutputFiles (FileBlock const &fb) |
void | respondToOpenInputFile (FileBlock const &fb) |
void | respondToOpenOutputFiles (FileBlock const &fb) |
Schedule (ParameterSet &proc_pset, service::TriggerNamesService &tns, ProductRegistry &pregistry, ActionTable const &actions, boost::shared_ptr< ActivityRegistry > areg, boost::shared_ptr< ProcessConfiguration > processConfiguration) | |
bool | shouldWeCloseOutput () const |
bool const | terminate () const |
Return whether each output module has reached its maximum count. More... | |
std::pair< double, double > | timeCpuReal () const |
int | totalEvents () const |
int | totalEventsFailed () const |
int | totalEventsPassed () const |
void | writeLumi (LuminosityBlockPrincipal const &lbp) |
void | writeRun (RunPrincipal const &rp) |
Private Member Functions | |
void | addToAllWorkers (Worker *w) |
void | fillEndPath (ParameterSet &proc_pset, ProductRegistry &preg, boost::shared_ptr< ProcessConfiguration const > processConfiguration, int bitpos, std::string const &name) |
void | fillTrigPath (ParameterSet &proc_pset, ProductRegistry &preg, boost::shared_ptr< ProcessConfiguration const > processConfiguration, int bitpos, std::string const &name, TrigResPtr) |
void | fillWorkers (ParameterSet &proc_pset, ProductRegistry &preg, boost::shared_ptr< ProcessConfiguration const > processConfiguration, std::string const &name, bool ignoreFilters, PathWorkers &out) |
void | limitOutput (ParameterSet const &proc_pset) |
void | reportSkipped (EventPrincipal const &ep) const |
void | reportSkipped (LuminosityBlockPrincipal const &) const |
void | reportSkipped (RunPrincipal const &) const |
void | resetAll () |
template<typename T > | |
void | runEndPaths (typename T::MyPrincipal &, EventSetup const &) |
template<typename T > | |
bool | runTriggerPaths (typename T::MyPrincipal &, EventSetup const &) |
void | setupOnDemandSystem (EventPrincipal &principal, EventSetup const &es) |
AllWorkers::const_iterator | workersBegin () const |
AllWorkers::iterator | workersBegin () |
AllWorkers::const_iterator | workersEnd () const |
AllWorkers::iterator | workersEnd () |
Private Attributes | |
ActionTable const * | act_table_ |
boost::shared_ptr < ActivityRegistry > | actReg_ |
AllOutputWorkers | all_output_workers_ |
AllWorkers | all_workers_ |
vstring | end_path_name_list_ |
TrigPaths | end_paths_ |
TrigResPtr | endpath_results_ |
volatile bool | endpathsAreActive_ |
TrigResPtr | results_ |
WorkerPtr | results_inserter_ |
State | state_ |
RunStopwatch::StopwatchPointer | stopwatch_ |
int | total_events_ |
int | total_passed_ |
vstring | trig_name_list_ |
TrigPaths | trig_paths_ |
boost::shared_ptr < UnscheduledCallProducer > | unscheduled_ |
bool | wantSummary_ |
WorkerRegistry | worker_reg_ |
Definition at line 93 of file Schedule.h.
typedef std::vector<OutputWorker*> edm::Schedule::AllOutputWorkers |
Definition at line 101 of file Schedule.h.
typedef std::vector<Worker*> edm::Schedule::AllWorkers |
Definition at line 100 of file Schedule.h.
typedef std::vector<Path> edm::Schedule::NonTrigPaths |
Definition at line 97 of file Schedule.h.
typedef std::vector<WorkerInPath> edm::Schedule::PathWorkers |
Definition at line 105 of file Schedule.h.
typedef std::vector<Path> edm::Schedule::TrigPaths |
Definition at line 96 of file Schedule.h.
typedef boost::shared_ptr<HLTGlobalStatus> edm::Schedule::TrigResPtr |
Definition at line 98 of file Schedule.h.
typedef std::vector<std::string> edm::Schedule::vstring |
Definition at line 95 of file Schedule.h.
typedef boost::shared_ptr<Worker> edm::Schedule::WorkerPtr |
Definition at line 99 of file Schedule.h.
typedef std::vector<Worker*> edm::Schedule::Workers |
Definition at line 103 of file Schedule.h.
enum edm::Schedule::State |
Enumerator | |
---|---|
Ready | |
Running | |
Latched |
Definition at line 114 of file Schedule.h.
edm::Schedule::Schedule | ( | ParameterSet & | proc_pset, |
service::TriggerNamesService & | tns, | ||
ProductRegistry & | pregistry, | ||
ActionTable const & | actions, | ||
boost::shared_ptr< ActivityRegistry > | areg, | ||
boost::shared_ptr< ProcessConfiguration > | processConfiguration | ||
) |
Definition at line 140 of file Schedule.cc.
References act_table_, actReg_, addToAllWorkers(), all_output_workers_, all_workers_, end_path_name_list_, endpath_results_, edm::detail::ThreadSafeRegistry< KEY, T, E >::extra(), fillEndPath(), edm::fillProductRegistryTransients(), fillTrigPath(), edm::ParameterSet::getParameter(), edm::ParameterSet::getPSetForUpdate(), edm::ParameterSet::getUntrackedParameter(), edm::ParameterSet::getUntrackedParameterSet(), edm::WorkerRegistry::getWorker(), i, edm::ParameterSet::id(), edm::InEvent, edm::detail::ThreadSafeRegistry< KEY, T, E >::insertMapped(), edm::detail::ThreadSafeRegistry< KEY, T, E >::instance(), limitOutput(), geometryDiff::opts, edm::ProductRegistry::productList(), edm::ParameterSet::registerIt(), results_, results_inserter_, edm::ProductRegistry::setFrozen(), trig_name_list_, unscheduled_, edm::BranchIDListHelper::updateRegistries(), worker_reg_, workersBegin(), and workersEnd().
|
private |
Definition at line 1025 of file Schedule.cc.
References all_workers_, edm::search_all(), edm::Worker::useStopwatch(), and wantSummary_.
Referenced by fillEndPath(), fillTrigPath(), and Schedule().
void edm::Schedule::availablePaths | ( | std::vector< std::string > & | oLabelsToFill | ) | const |
adds to oLabelsToFill the labels for all paths in the process
Definition at line 916 of file Schedule.cc.
References edm::Path::name(), and trig_paths_.
Referenced by edm::ScheduleInfo::availablePaths().
void edm::Schedule::beginJob | ( | void | ) |
Definition at line 869 of file Schedule.cc.
References all_workers_, edm::Worker::beginJob(), and edm::for_all().
bool edm::Schedule::changeModule | ( | std::string const & | iLabel, |
ParameterSet const & | iPSet | ||
) |
clone the type of module with label iLabel but configure with iPSet. Returns true if successful.
Definition at line 880 of file Schedule.cc.
References all_workers_, edm::Worker::beginJob(), SurfaceDeformationFactory::create(), edm::Worker::description(), newFWLiteAna::found, reco::get(), and edm::ModuleDescription::moduleName().
Referenced by edm::ModuleChanger::changeModule().
void edm::Schedule::clearCounters | ( | ) |
Clear all the counters in the trigger report.
Definition at line 1010 of file Schedule.cc.
References all_workers_, edm::Path::clearCounters(), edm::Worker::clearCounters(), end_paths_, edm::for_all(), total_events_, total_passed_, and trig_paths_.
void edm::Schedule::closeOutputFiles | ( | ) |
Definition at line 826 of file Schedule.cc.
References all_output_workers_, edm::OutputWorker::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 942 of file Schedule.cc.
References endpathsAreActive_.
void edm::Schedule::endJob | ( | void | ) |
Definition at line 471 of file Schedule.cc.
References end_paths_, cmsCodeRules.cppFunctionSkipper::exception, cms::Exception::explainSelf(), i, max(), pi, timeCpuReal(), totalEvents(), totalEventsFailed(), totalEventsPassed(), trig_paths_, wantSummary_, cms::Exception::what(), workersBegin(), and workersEnd().
Referenced by edm::EventProcessor::endJob().
bool edm::Schedule::endPathsEnabled | ( | ) | const |
Return true if end_paths are active, and false if they are inactive.
Definition at line 947 of file Schedule.cc.
References endpathsAreActive_.
|
private |
Definition at line 449 of file Schedule.cc.
References act_table_, actReg_, addToAllWorkers(), end_paths_, endpath_results_, fillWorkers(), edm::for_all(), L1TEmulatorMonitor_cff::p, edm::Path::useStopwatch(), and wantSummary_.
Referenced by Schedule().
|
private |
Definition at line 425 of file Schedule.cc.
References act_table_, actReg_, addToAllWorkers(), fillWorkers(), edm::for_all(), L1TEmulatorMonitor_cff::p, trig_paths_, edm::Path::useStopwatch(), and wantSummary_.
Referenced by Schedule().
|
private |
Definition at line 369 of file Schedule.cc.
References act_table_, edm::errors::Configuration, edm::Worker::description(), end_path_name_list_, edm::hlt::Exception, edm::ParameterSet::getParameter(), edm::ParameterSet::getPSetForUpdate(), edm::ParameterSet::getUntrackedParameter(), edm::WorkerRegistry::getWorker(), edm::WorkerInPath::Ignore, moduleLabel(), edm::ModuleDescription::moduleName(), mergeVDriftHistosByStation::name, edm::WorkerInPath::Normal, edm::search_all(), edm::WorkerInPath::Veto, and worker_reg_.
Referenced by fillEndPath(), and fillTrigPath().
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 901 of file Schedule.cc.
References all_workers_, i, L1TEmulatorMonitor_cff::p, query::result, workersBegin(), and workersEnd().
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 999 of file Schedule.cc.
References all_workers_, 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 307 of file Schedule.cc.
References all_output_workers_, edm::errors::Configuration, edm::ParameterSet::empty(), edm::hlt::Exception, edm::ParameterSet::getParameterNamesForType(), edm::ParameterSet::getParameterSetNames(), edm::ParameterSet::getUntrackedParameter(), edm::ParameterSet::getUntrackedParameterSet(), edm::OutputModuleDescription::maxEvents_, moduleLabel(), convertSQLitetoXML_cfg::output, and edm::search_all().
Referenced by Schedule().
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 925 of file Schedule.cc.
References i, edm::Path::name(), and trig_paths_.
Referenced by edm::ScheduleInfo::modulesInPath().
void edm::Schedule::openNewOutputFilesIfNeeded | ( | ) |
Definition at line 830 of file Schedule.cc.
References all_output_workers_, edm::for_all(), and edm::OutputWorker::openNewFileIfNeeded().
void edm::Schedule::openOutputFiles | ( | FileBlock & | fb | ) |
Definition at line 834 of file Schedule.cc.
References all_output_workers_, edm::for_all(), and edm::OutputWorker::openFile().
void edm::Schedule::postForkReacquireResources | ( | unsigned int | iChildIndex, |
unsigned int | iNumberOfChildren | ||
) |
Definition at line 876 of file Schedule.cc.
References all_workers_, edm::for_all(), and edm::Worker::postForkReacquireResources().
void edm::Schedule::preForkReleaseResources | ( | ) |
Definition at line 873 of file Schedule.cc.
References all_workers_, edm::for_all(), and edm::Worker::preForkReleaseResources().
void edm::Schedule::processOneOccurrence | ( | typename T::MyPrincipal & | principal, |
EventSetup const & | eventSetup | ||
) |
Definition at line 357 of file Schedule.h.
References act_table_, alignmentValidation::action, cms::Exception::category(), endpathsAreActive_, edm::actions::FailModule, edm::actions::FailPath, edm::ActionTable::find(), edm::actions::IgnoreCompletely, Latched, Ready, resetAll(), results_inserter_, edm::actions::Rethrow, cms::Exception::rootCause(), Running, setupOnDemandSystem(), edm::actions::SkipEvent, state_, stopwatch_, total_events_, total_passed_, unscheduled_, and cms::Exception::what().
|
inlineprivate |
Definition at line 350 of file Schedule.h.
References edm::EventID::event(), edm::EventPrincipal::id(), and edm::EventID::run().
|
inlineprivate |
Definition at line 244 of file Schedule.h.
|
inlineprivate |
Definition at line 245 of file Schedule.h.
|
private |
Definition at line 1018 of file Schedule.cc.
References all_workers_, endpath_results_, edm::for_all(), edm::Worker::reset(), and results_.
Referenced by processOneOccurrence().
void edm::Schedule::respondToCloseInputFile | ( | FileBlock const & | fb | ) |
Definition at line 857 of file Schedule.cc.
References all_workers_, edm::for_all(), and edm::Worker::respondToCloseInputFile().
void edm::Schedule::respondToCloseOutputFiles | ( | FileBlock const & | fb | ) |
Definition at line 865 of file Schedule.cc.
References all_workers_, edm::for_all(), and edm::Worker::respondToCloseOutputFiles().
void edm::Schedule::respondToOpenInputFile | ( | FileBlock const & | fb | ) |
Definition at line 853 of file Schedule.cc.
References all_workers_, edm::for_all(), and edm::Worker::respondToOpenInputFile().
void edm::Schedule::respondToOpenOutputFiles | ( | FileBlock const & | fb | ) |
Definition at line 861 of file Schedule.cc.
References all_workers_, edm::for_all(), and edm::Worker::respondToOpenOutputFiles().
|
private |
Definition at line 444 of file Schedule.h.
References end_paths_, and edm::for_all().
|
private |
Definition at line 437 of file Schedule.h.
References edm::for_all(), results_, and trig_paths_.
|
private |
Definition at line 1035 of file Schedule.cc.
References edm::EventPrincipal::setUnscheduledHandler(), and unscheduled_.
Referenced by processOneOccurrence().
bool edm::Schedule::shouldWeCloseOutput | ( | ) | const |
Definition at line 846 of file Schedule.cc.
References all_output_workers_, and edm::OutputWorker::shouldWeCloseFile().
bool const edm::Schedule::terminate | ( | void | ) | const |
Return whether each output module has reached its maximum count.
Definition at line 351 of file Schedule.cc.
References all_output_workers_.
|
inline |
|
inline |
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 177 of file Schedule.h.
References total_events_.
Referenced by endJob(), getTriggerReport(), and totalEventsFailed().
|
inline |
Return the number of events that have not passed any trigger. (N.B. totalEventsFailed() + totalEventsPassed() == totalEvents()
Definition at line 189 of file Schedule.h.
References totalEvents(), and totalEventsPassed().
Referenced by endJob(), and getTriggerReport().
|
inline |
Return the number of events which have been passed by one or more trigger paths.
Definition at line 183 of file Schedule.h.
References total_passed_.
Referenced by endJob(), getTriggerReport(), and totalEventsFailed().
|
inlineprivate |
Definition at line 217 of file Schedule.h.
References all_workers_.
Referenced by endJob(), getAllModuleDescriptions(), and Schedule().
|
inlineprivate |
|
inlineprivate |
Definition at line 221 of file Schedule.h.
References all_workers_.
Referenced by endJob(), getAllModuleDescriptions(), and Schedule().
|
inlineprivate |
void edm::Schedule::writeLumi | ( | LuminosityBlockPrincipal const & | lbp | ) |
Definition at line 842 of file Schedule.cc.
References all_output_workers_, edm::for_all(), and edm::OutputWorker::writeLumi().
void edm::Schedule::writeRun | ( | RunPrincipal const & | rp | ) |
Definition at line 838 of file Schedule.cc.
References all_output_workers_, edm::for_all(), and edm::OutputWorker::writeRun().
|
private |
Definition at line 265 of file Schedule.h.
Referenced by fillEndPath(), fillTrigPath(), fillWorkers(), processOneOccurrence(), and Schedule().
|
private |
Definition at line 266 of file Schedule.h.
Referenced by fillEndPath(), fillTrigPath(), and Schedule().
|
private |
Definition at line 277 of file Schedule.h.
Referenced by closeOutputFiles(), limitOutput(), openNewOutputFilesIfNeeded(), openOutputFiles(), Schedule(), shouldWeCloseOutput(), terminate(), writeLumi(), and writeRun().
|
private |
Definition at line 276 of file Schedule.h.
Referenced by addToAllWorkers(), beginJob(), changeModule(), clearCounters(), getAllModuleDescriptions(), getTriggerReport(), postForkReacquireResources(), preForkReleaseResources(), resetAll(), respondToCloseInputFile(), respondToCloseOutputFiles(), respondToOpenInputFile(), respondToOpenOutputFiles(), Schedule(), workersBegin(), and workersEnd().
|
private |
Definition at line 270 of file Schedule.h.
Referenced by fillWorkers(), and Schedule().
|
private |
Definition at line 279 of file Schedule.h.
Referenced by clearCounters(), endJob(), fillEndPath(), getTriggerReport(), and runEndPaths().
|
private |
Definition at line 273 of file Schedule.h.
Referenced by fillEndPath(), resetAll(), and Schedule().
|
private |
Definition at line 288 of file Schedule.h.
Referenced by enableEndPaths(), endPathsEnabled(), and processOneOccurrence().
|
private |
Definition at line 272 of file Schedule.h.
Referenced by resetAll(), runTriggerPaths(), and Schedule().
|
private |
Definition at line 275 of file Schedule.h.
Referenced by processOneOccurrence(), and Schedule().
|
private |
Definition at line 268 of file Schedule.h.
Referenced by processOneOccurrence().
|
private |
Definition at line 284 of file Schedule.h.
Referenced by processOneOccurrence(), and timeCpuReal().
|
private |
Definition at line 282 of file Schedule.h.
Referenced by clearCounters(), processOneOccurrence(), and totalEvents().
|
private |
Definition at line 283 of file Schedule.h.
Referenced by clearCounters(), processOneOccurrence(), and totalEventsPassed().
|
private |
Definition at line 269 of file Schedule.h.
Referenced by Schedule().
|
private |
Definition at line 278 of file Schedule.h.
Referenced by availablePaths(), clearCounters(), endJob(), fillTrigPath(), getTriggerReport(), modulesInPath(), and runTriggerPaths().
|
private |
Definition at line 286 of file Schedule.h.
Referenced by processOneOccurrence(), Schedule(), and setupOnDemandSystem().
|
private |
Definition at line 281 of file Schedule.h.
Referenced by addToAllWorkers(), endJob(), fillEndPath(), and fillTrigPath().
|
private |
Definition at line 264 of file Schedule.h.
Referenced by fillWorkers(), and Schedule().