29 if(gettimeofday(&t,0)<0)
30 throw cms::Exception(
"SysCallFailed",
"Failed call to gettimeofday");
32 return (
double)t.tv_sec + (double(t.tv_usec) * 1E-6);
38 total_event_count_(0),
70 for (
unsigned int i=0;
i<trigPaths.size();
i++) {
73 std::vector<unsigned int> loc ;
75 unsigned int mIdx = 0 ;
77 for (
unsigned int j=0;
j<modules.size();
j++) {
80 HLTPerformanceInfo::Modules::const_iterator iMod =
88 bool duplicateModule =
false ;
89 for (
unsigned int k=0;
k<
j;
k++) {
90 if (modules[
k] == modules[j]) {
91 if (!duplicateModule) loc.push_back(
k) ;
92 duplicateModule =
true ;
95 if (!duplicateModule) {
96 _perfInfo->addModuleToPath(modules[j].c_str(),trigPaths[i].c_str());
97 loc.push_back(mIdx++) ;
114 std::map<std::string, double>::iterator iter=
_moduleTime.begin();
115 std::map<std::string, double>::iterator iCPU=
_moduleCPUTime.begin();
146 HLTPerformanceInfo::Modules::iterator iMod =
149 iMod->setTime(tWall) ;
150 iMod->setCPUTime(tCPU) ;
157 HLTPerformanceInfo::PathList::iterator iPath=
_perfInfo->beginPaths();
159 while ( iPath !=
_perfInfo->endPaths() ) {
160 if ( iPath->name() ==
name) {
163 _perfInfo->setStatusOfModulesFromPath(name.c_str());
std::map< int, std::string > _pathMapping
Strings const & getTrigPathModules(std::string const &name) const
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
void watchPostModule(PostModule::slot_type const &iSlot)
void watchPreProcessEvent(PreProcessEvent::slot_type const &iSlot)
std::map< std::string, double > _moduleCPUTime
std::vector< std::vector< unsigned int > > _newPathIndex
std::string const & moduleLabel() const
void watchPreModule(PreModule::slot_type const &iSlot)
void preModule(const ModuleDescription &)
static edm::CPUTimer * _CPUtimer
void watchPostProcessEvent(PostProcessEvent::slot_type const &iSlot)
void postEventProcessing(const Event &, const EventSetup &)
void postPathProcessing(const std::string &, const HLTPathStatus &)
std::map< std::string, double > _moduleTime
hlt::HLTState state() const
get state of path
void preEventProcessing(const edm::EventID &, const edm::Timestamp &)
void postModule(const ModuleDescription &)
Strings const & getTrigPaths() const
volatile std::atomic< bool > shutdown_flag false
std::auto_ptr< HLTPerformanceInfo > _perfInfo
void watchPostProcessPath(PostProcessPath::slot_type const &iSlot)
void watchPostBeginJob(PostBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
unsigned int index() const
get index of module giving the status of this path