10 #include "boost/bind.hpp"
17 boost::shared_ptr<ActivityRegistry> areg,
31 isEndPath_(isEndPath) {
45 bool should_continue =
true;
54 should_continue =
false;
65 std::ostringstream ost;
66 ost <<
"If you wish to continue processing events after a " << pNF <<
" exception,\n" <<
67 "add \"SkipEvent = cms.untracked.vstring('ProductNotFound')\" to the \"options\" PSet in the configuration.\n";
75 return should_continue;
85 std::ostringstream ost;
87 ost <<
"Calling event method";
89 else if (begin && branchType ==
InRun) {
90 ost <<
"Calling beginRun";
92 else if (begin && branchType ==
InLumi) {
93 ost <<
"Calling beginLuminosityBlock";
95 else if (!begin && branchType ==
InLumi) {
96 ost <<
"Calling endLuminosityBlock";
98 else if (!begin && branchType ==
InRun) {
99 ost <<
"Calling endRun";
103 ost <<
"Calling unknown function";
110 ost <<
"Running path '";
119 ost <<
"Processing ";
150 stopwatch_.reset(
new RunStopwatch::StopwatchPointer::element_type);
162 std::vector<EarlyDeleteHelper*>
temp;
163 temp.reserve(iWorkerToDeleter.size());
166 if(
found != iWorkerToDeleter.end()) {
167 temp.push_back(
found->second);
168 found->second->addedToPath();
171 std::vector<EarlyDeleteHelper*> tempCorrectSize(temp.begin(),temp.end());
178 helper->pathFinished(iEvent);
Path(int bitpos, std::string const &path_name, WorkersInPath const &workers, TrigResPtr trptr, ActionTable const &actions, boost::shared_ptr< ActivityRegistry > reg, bool isEndPath)
void recordStatus(int nwrwue, bool isEvent)
void handleEarlyFinish(EventPrincipal &)
roAction_t actions[nactions]
std::vector< EarlyDeleteHelper * > earlyDeleteHelpers_
std::vector< WorkerInPath > WorkersInPath
ModuleDescription const * moduleDescription() const
ActionTable const * act_table_
bool handleWorkerFailure(cms::Exception &e, int nwrwue, bool isEvent, bool begin, BranchType branchType, CurrentProcessingContext const &cpc, std::string const &id)
std::string const & moduleName() const
std::string const & category() const
std::string const & moduleLabel() const
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
boost::shared_ptr< HLTGlobalStatus > TrigResPtr
void printCmsExceptionWarning(char const *behavior, cms::Exception const &e, edm::JobReport *jobRep=0, int rc=-1)
void addAdditionalInfo(std::string const &info)
static std::string codeToString(Code)
-----------— implementation details ---------------—
void updateCounters(bool succeed, bool isEvent)
static void exceptionContext(cms::Exception &ex, bool isEvent, bool begin, BranchType branchType, CurrentProcessingContext const &cpc, std::string const &id)
void addContext(std::string const &context)
void setEarlyDeleteHelpers(std::map< const Worker *, EarlyDeleteHelper * > const &)
RunStopwatch::StopwatchPointer stopwatch_
Worker const * getWorker(size_type i) const
actions::ActionCodes find(const std::string &category) const
std::string const * pathName() const