Main Page
Namespaces
Classes
Package Documentation
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
()
override
;
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
void
produce(
edm::Event
&,
const
edm::EventSetup
&)
override
;
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
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
Event.h
MakerMacros.h
TimerService.h
ModuleDescription.h
Frameworkfwd.h
edm::EDProducer
Definition:
EDProducer.h:35
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
ConfigurationDescriptions
EDProducer.h
Timer::timing
edm::EventTime timing
Definition:
Timer.h:59
edm
HLT enums.
Definition:
AlignableModifier.h:17
edm::ParameterSet
Definition:
ParameterSet.h:36
Timer
Definition:
Timer.h:46
Timer::includeSelf
bool includeSelf
Definition:
Timer.h:61
edm::Event
Definition:
Event.h:69
edm::ModuleDescription
Definition:
ModuleDescription.h:22
edm::ConfigurationDescriptions
Definition:
ConfigurationDescriptions.h:28
Generated for CMSSW Reference Manual by
1.8.11