1 from __future__
import print_function
2 from __future__
import absolute_import
3 import FWCore.ParameterSet.Config
as cms
4 import FWCore.ParameterSet.VarParsing
as VarParsing
7 from .dqmPythonTypes
import *
12 options.register(
'runNumber',
14 VarParsing.VarParsing.multiplicity.singleton,
15 VarParsing.VarParsing.varType.int,
18 options.register(
'datafnPosition',
20 VarParsing.VarParsing.multiplicity.singleton,
21 VarParsing.VarParsing.varType.int,
22 "Data filename position in the positional arguments array 'data' in json file.")
24 options.register(
'runInputDir',
26 VarParsing.VarParsing.multiplicity.singleton,
27 VarParsing.VarParsing.varType.string,
28 "Directory where the DQM files will appear.")
30 options.register(
'scanOnce',
32 VarParsing.VarParsing.multiplicity.singleton,
33 VarParsing.VarParsing.varType.bool,
34 "Don't repeat file scans: use what was found during the initial scan. EOR file is ignored and the state is set to 'past end of run'.")
36 options.register(
'skipFirstLumis',
38 VarParsing.VarParsing.multiplicity.singleton,
39 VarParsing.VarParsing.varType.bool,
40 "Skip (and ignore the minEventsPerLumi parameter) for the files which have been available at the beginning of the processing.")
42 options.register(
'noDB',
44 VarParsing.VarParsing.multiplicity.singleton,
45 VarParsing.VarParsing.varType.bool,
46 "Don't upload the BeamSpot conditions to the DB")
48 options.register(
'BeamSplashRun',
50 VarParsing.VarParsing.multiplicity.singleton,
51 VarParsing.VarParsing.varType.bool,
52 "Set client source settings for beam SPLASH run")
56 options.register(
'runkey',
58 VarParsing.VarParsing.multiplicity.singleton,
59 VarParsing.VarParsing.varType.string,
64 options.register(
'runUniqueKey',
66 VarParsing.VarParsing.multiplicity.singleton,
67 VarParsing.VarParsing.varType.string,
68 "Unique run key from RCMS for Frontier")
76 options.register(
'outputBaseDir',
78 VarParsing.VarParsing.multiplicity.singleton,
79 VarParsing.VarParsing.varType.string,
80 "Directory where the visualization output files will appear.")
84 options.parseArguments()
91 if not options.runkey.strip():
92 options.runkey =
'pp_run' 94 runType.setRunType(options.runkey.strip())
96 if not options.inputFiles:
98 nextLumiTimeoutMillis = 240000
102 endOfRunKills =
False 103 nextLumiTimeoutMillis = 0
106 if runType.getRunType() == runType.hi_run:
107 streamLabel =
'streamHIDQM' 109 streamLabel =
'streamDQM' 111 source = cms.Source(
"DQMStreamerReader",
112 runNumber = cms.untracked.uint32(options.runNumber),
113 runInputDir = cms.untracked.string(options.runInputDir),
114 SelectEvents = cms.untracked.vstring(
'*'),
115 streamLabel = cms.untracked.string(streamLabel),
116 scanOnce = cms.untracked.bool(options.scanOnce),
117 datafnPosition = cms.untracked.uint32(options.datafnPosition),
118 minEventsPerLumi = cms.untracked.int32(1),
119 delayMillis = cms.untracked.uint32(500),
120 nextLumiTimeoutMillis = cms.untracked.int32(nextLumiTimeoutMillis),
121 skipFirstLumis = cms.untracked.bool(options.skipFirstLumis),
122 deleteDatFiles = cms.untracked.bool(
False),
123 endOfRunKills = cms.untracked.bool(endOfRunKills),
124 inputFileTransitionsEachEvent = cms.untracked.bool(
False)
128 print(
"The list of input files is provided. Disabling discovery and running on everything.")
129 files = [
"file://" + x
for x
in options.inputFiles]
130 source = cms.Source(
"PoolSource",
131 fileNames = cms.untracked.vstring(files),
132 secondaryFileNames = cms.untracked.vstring()
144 source.minEventsPerLumi = 1000000
145 source.nextLumiTimeoutMillis = 15000
149 print(
"Initial Source settings:", source)
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)