30 if(gettimeofday(&t,0)<0)
31 throw cms::Exception(
"SysCallFailed",
"Failed call to gettimeofday");
33 return (
double)t.tv_sec + (double(t.tv_usec) * 1E-6);
39 total_event_count_(0),
71 for (
unsigned int i=0;
i<trigPaths.size();
i++) {
74 std::vector<unsigned int> loc ;
76 unsigned int mIdx = 0 ;
78 for (
unsigned int j=0;
j<modules.size();
j++) {
81 HLTPerformanceInfo::Modules::const_iterator iMod =
89 bool duplicateModule =
false ;
90 for (
unsigned int k=0;
k<
j;
k++) {
91 if (modules[
k] == modules[j]) {
92 if (!duplicateModule) loc.push_back(
k) ;
93 duplicateModule =
true ;
96 if (!duplicateModule) {
97 _perfInfo->addModuleToPath(modules[j].c_str(),trigPaths[i].c_str());
98 loc.push_back(mIdx++) ;
115 std::map<std::string, double>::iterator iter=
_moduleTime.begin();
116 std::map<std::string, double>::iterator iCPU=
_moduleCPUTime.begin();
147 HLTPerformanceInfo::Modules::iterator iMod =
150 iMod->setTime(tWall) ;
151 iMod->setCPUTime(tCPU) ;
158 HLTPerformanceInfo::PathList::iterator iPath=
_perfInfo->beginPaths();
160 while ( iPath !=
_perfInfo->endPaths() ) {
161 if ( iPath->name() ==
name) {
164 _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
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