Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
HLTrigger
Timer
interface
Timer.h
Go to the documentation of this file.
1
#ifndef HighLevelTrigger_Timer_h
2
#define HighLevelTrigger_Timer_h
3
4
// system include files
5
#include <memory>
6
7
// user include files
8
#include "
FWCore/Framework/interface/Frameworkfwd.h
"
9
#include "
FWCore/Framework/interface/EDProducer.h
"
10
11
#include "
FWCore/Framework/interface/Event.h
"
12
#include "
FWCore/Framework/interface/MakerMacros.h
"
13
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
14
15
#include "
FWCore/ServiceRegistry/interface/Service.h
"
16
17
#include "
DataFormats/HLTReco/interface/ModuleTiming.h
"
18
// use for CMSSW_1_3_x
19
//#include "DataFormats/Common/interface/ModuleDescription.h"
20
// use for CMSSW_1_4_x
21
#include "
DataFormats/Provenance/interface/ModuleDescription.h
"
22
23
24
#include "
HLTrigger/Timer/interface/TimerService.h
"
25
26
namespace
edm {
27
class
ConfigurationDescriptions
;
28
}
29
30
/*
31
Description: EDProducer that uses the EventTime structure to store in the Event
32
the names and processing times (per event) for all modules.
33
34
Implementation:
35
<Notes on implementation>
36
*/
37
//
38
// Original Author: Christos Leonidopoulos
39
// Created: Mon Jul 10 14:13:58 CEST 2006
40
//
41
//
42
//
43
// class decleration
44
//
45
46
class
Timer
:
public
edm::EDProducer
{
47
public
:
48
explicit
Timer
(
const
edm::ParameterSet
&);
49
~Timer
();
50
static
void
fillDescriptions
(
edm::ConfigurationDescriptions
& descriptions);
51
52
// fwk calls this method when new module measurement arrives;
53
void
newTimingMeasurement
(
const
edm::ModuleDescription
& iMod,
double
iTime);
54
// put output into Event
55
virtual
void
produce
(
edm::Event
&,
const
edm::EventSetup
&);
56
//
57
private
:
58
// ----------member data ---------------------------
59
edm::EventTime
timing
;
// structure with module names & processing times
60
// whether to store information about itself (ie. Timer module)
61
bool
includeSelf
;
62
63
// this should be just this class' name
64
std::string
self_module_name
;
65
66
};
67
68
69
#endif // #define HighLevelTrigger_Timer_h
ModuleTiming.h
Timer::Timer
Timer(const edm::ParameterSet &)
Definition:
Timer.cc:35
Event.h
Timer::~Timer
~Timer()
Definition:
Timer.cc:52
MakerMacros.h
TimerService.h
ModuleDescription.h
Frameworkfwd.h
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
edm::EDProducer
Definition:
EDProducer.h:30
Timer::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition:
Timer.cc:67
ParameterSet.h
Timer::self_module_name
std::string self_module_name
Definition:
Timer.h:64
edm::EventTime
Definition:
ModuleTiming.h:28
Service.h
edm::EventSetup
Definition:
EventSetup.h:44
Timer::newTimingMeasurement
void newTimingMeasurement(const edm::ModuleDescription &iMod, double iTime)
Definition:
Timer.cc:80
ConfigurationDescriptions
EDProducer.h
Timer::timing
edm::EventTime timing
Definition:
Timer.h:59
Timer::produce
virtual void produce(edm::Event &, const edm::EventSetup &)
Definition:
Timer.cc:98
edm::ParameterSet
Definition:
ParameterSet.h:35
Timer
Definition:
Timer.h:46
Timer::includeSelf
bool includeSelf
Definition:
Timer.h:61
edm::Event
Definition:
Event.h:62
edm::ModuleDescription
Definition:
ModuleDescription.h:23
edm::ConfigurationDescriptions
Definition:
ConfigurationDescriptions.h:27
Generated for CMSSW Reference Manual by
1.8.5