CMS 3D CMS Logo

FastTimer.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 def addService(process, multirun=False):
4  # remove any instance of the FastTimerService
5  if 'FastTimerService' in process.__dict__:
6  del process.FastTimerService
7 
8  # instrument the menu with the FastTimerService
9  process.load("HLTrigger.Timer.FastTimerService_cfi")
10 
11  # print a text summary at the end of the job
12  process.FastTimerService.printEventSummary = False
13  process.FastTimerService.printRunSummary = False
14  process.FastTimerService.printJobSummary = True
15 
16  # enable DQM plots
17  process.FastTimerService.enableDQM = True
18 
19  # enable per-path DQM plots (starting with CMSSW 9.2.3-patch2)
20  process.FastTimerService.enableDQMbyPath = True
21 
22  # enable per-module DQM plots
23  process.FastTimerService.enableDQMbyModule = True
24 
25  # enable DQM plots vs lumisection
26  process.FastTimerService.enableDQMbyLumiSection = True
27  process.FastTimerService.dqmLumiSectionsRange = 2500 # lumisections (23.31 s)
28 
29  # set the time resolution of the DQM plots
30  process.FastTimerService.dqmTimeRange = 1000. # ms
31  process.FastTimerService.dqmTimeResolution = 5. # ms
32  process.FastTimerService.dqmPathTimeRange = 100. # ms
33  process.FastTimerService.dqmPathTimeResolution = 0.5 # ms
34  process.FastTimerService.dqmModuleTimeRange = 40. # ms
35  process.FastTimerService.dqmModuleTimeResolution = 0.2 # ms
36 
37  # set the base DQM folder for the plots
38  process.FastTimerService.dqmPath = "HLT/TimerService"
39  process.FastTimerService.enableDQMbyProcesses = False
40 
41  if multirun:
42  # disable the per-lumisection plots
43  process.FastTimerService.enableDQMbyLumiSection = False
44 
45  return process
46 
47 def addOutput(process):
48  # save the DQM plots in the DQMIO format
49  process.dqmOutput = cms.OutputModule("DQMRootOutputModule",
50  fileName = cms.untracked.string("DQM.root")
51  )
52  process.FastTimerOutput = cms.EndPath(process.dqmOutput)
53  process.schedule.append(process.FastTimerOutput)
54 
55  return process
56 
57 def addPrint(process):
58  # enable text dump
59  if not hasattr(process,'MessageLogger'):
60  process.load('FWCore.MessageService.MessageLogger_cfi')
61  process.MessageLogger.categories.append('FastReport')
62  process.MessageLogger.cerr.FastReport = cms.untracked.PSet( limit = cms.untracked.int32( 10000000 ) )
63  return process
64 
65 def addHarvest(process):
66  # DQMStore service
67  if not hasattr(process,'DQMStore'):
68  process.load('DQMServices.Core.DQMStore_cfi')
69 
70  # FastTimerService client
71  process.load('HLTrigger.Timer.fastTimerServiceClient_cfi')
72  process.fastTimerServiceClient.dqmPath = "HLT/TimerService"
73 
74  # DQM file saver
75  process.load('DQMServices.Components.DQMFileSaver_cfi')
76  process.dqmSaver.workflow = "/HLT/FastTimerService/All"
77 
78  process.DQMFileSaverOutput = cms.EndPath(process.fastTimerServiceClient + process.dqmSaver)
79  process.schedule.append(process.DQMFileSaverOutput)
80 
81  return process
82 
83 # customise functions for cmsDriver
84 
86  process = addService(process)
87  process = addOutput(process)
88  return process
89 
91  process = addService(process)
92  process = addHarvest(process)
93  return process
94 
96  process = addService(process,True)
97  process = addOutput(process)
98  return process
99 
101  process = addService(process)
102  process = addPrint(process)
103  return process
104 
FastTimer.customise_timer_service
def customise_timer_service(process)
Definition: FastTimer.py:85
FastTimer.addPrint
def addPrint(process)
Definition: FastTimer.py:57
FastTimer.customise_timer_service_singlejob
def customise_timer_service_singlejob(process)
Definition: FastTimer.py:90
FastTimer.addService
def addService(process, multirun=False)
Definition: FastTimer.py:3
FastTimer.customise_timer_service_multirun
def customise_timer_service_multirun(process)
Definition: FastTimer.py:95
FastTimer.addHarvest
def addHarvest(process)
Definition: FastTimer.py:65
FastTimer.customise_timer_service_print
def customise_timer_service_print(process)
Definition: FastTimer.py:100
FastTimer.addOutput
def addOutput(process)
Definition: FastTimer.py:47