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
105 source = cms.Source(
"DQMStreamerReader",
106 runNumber = cms.untracked.uint32(options.runNumber),
107 runInputDir = cms.untracked.string(options.runInputDir),
108 SelectEvents = cms.untracked.vstring(
'*'),
109 streamLabel = cms.untracked.string(
'streamDQM'),
110 scanOnce = cms.untracked.bool(options.scanOnce),
111 datafnPosition = cms.untracked.uint32(options.datafnPosition),
112 minEventsPerLumi = cms.untracked.int32(1),
113 delayMillis = cms.untracked.uint32(500),
114 nextLumiTimeoutMillis = cms.untracked.int32(nextLumiTimeoutMillis),
115 skipFirstLumis = cms.untracked.bool(options.skipFirstLumis),
116 deleteDatFiles = cms.untracked.bool(
False),
117 endOfRunKills = cms.untracked.bool(endOfRunKills),
118 inputFileTransitionsEachEvent = cms.untracked.bool(
False)
121 print(
"The list of input files is provided. Disabling discovery and running on everything.")
122 files = [
"file://" + x
for x
in options.inputFiles]
123 source = cms.Source(
"PoolSource",
124 fileNames = cms.untracked.vstring(files),
125 secondaryFileNames = cms.untracked.vstring()
137 source.minEventsPerLumi = 1000000
138 source.nextLumiTimeoutMillis = 15000
142 print(
"Initial Source settings:", source)
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)