1 from __future__
import print_function
2 from __future__
import absolute_import
3 from builtins
import range
5 import FWCore.ParameterSet.Config
as cms
8 import FWCore.ParameterSet.VarParsing
as VarParsing
9 from .dqmPythonTypes
import *
12 check that the input directory exists and there are files in it 15 if not (os.path.exists(streamer_folder)
and os.path.isdir(os.path.join(streamer_folder))):
16 raise IOError(
"Input folder '%s' does not exist in CMSSW_SEARCH_PATH" % streamer_folder)
18 items = os.listdir(dqm_streamer_folder)
20 raise IOError(
"Input folder '%s' does not contain any file" % streamer_folder)
26 options.register(
'runkey',
28 VarParsing.VarParsing.multiplicity.singleton,
29 VarParsing.VarParsing.varType.string,
33 options.register(
'runUniqueKey',
35 VarParsing.VarParsing.multiplicity.singleton,
36 VarParsing.VarParsing.varType.string,
37 "Unique run key from RCMS for Frontier")
39 options.register(
'runNumber',
41 VarParsing.VarParsing.multiplicity.singleton,
42 VarParsing.VarParsing.varType.int,
43 "Run number. This run number has to be present in https://github.com/cms-data/DQM-Integration")
45 options.register(
'datafnPosition',
47 VarParsing.VarParsing.multiplicity.singleton,
48 VarParsing.VarParsing.varType.int,
49 "Data filename position in the positional arguments array 'data' in json file.")
51 options.register(
'streamLabel',
53 VarParsing.VarParsing.multiplicity.singleton,
54 VarParsing.VarParsing.varType.string,
57 options.register(
'noDB',
59 VarParsing.VarParsing.multiplicity.singleton,
60 VarParsing.VarParsing.varType.bool,
61 "Don't upload the BeamSpot conditions to the DB")
63 options.register(
'scanOnce',
65 VarParsing.VarParsing.multiplicity.singleton,
66 VarParsing.VarParsing.varType.bool,
67 "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'.")
69 options.register(
'skipFirstLumis',
71 VarParsing.VarParsing.multiplicity.singleton,
72 VarParsing.VarParsing.varType.bool,
73 "Skip (and ignore the minEventsPerLumi parameter) for the files which have been available at the beginning of the processing.")
75 options.register(
'BeamSplashRun',
77 VarParsing.VarParsing.multiplicity.singleton,
78 VarParsing.VarParsing.varType.bool,
79 "Set client source settings for beam SPLASH run")
83 options.register(
'unitTest',
85 VarParsing.VarParsing.multiplicity.singleton,
86 VarParsing.VarParsing.varType.bool,
87 "Required to avoid the error.")
89 options.parseArguments()
92 dqm_integration_data = [os.path.join(dir,
'DQM/Integration/data')
for dir
in os.getenv(
'CMSSW_SEARCH_PATH',
'').
split(
":")
if os.path.exists(os.path.join(dir,
'DQM/Integration/data'))][0]
93 dqm_streamer_folder = os.path.join(dqm_integration_data,
'run'+
str(options.runNumber))
94 print(
"Reading streamer files from:\n ",dqm_streamer_folder)
98 source = cms.Source(
"DQMStreamerReader",
99 runNumber = cms.untracked.uint32(options.runNumber),
100 runInputDir = cms.untracked.string(dqm_integration_data),
101 SelectEvents = cms.untracked.vstring(
'*'),
102 streamLabel = cms.untracked.string(options.streamLabel),
103 scanOnce = cms.untracked.bool(options.scanOnce),
104 datafnPosition = cms.untracked.uint32(options.datafnPosition),
105 minEventsPerLumi = cms.untracked.int32(1000),
106 delayMillis = cms.untracked.uint32(500),
107 nextLumiTimeoutMillis = cms.untracked.int32(0),
108 skipFirstLumis = cms.untracked.bool(options.skipFirstLumis),
109 deleteDatFiles = cms.untracked.bool(
False),
110 endOfRunKills = cms.untracked.bool(
False),
111 inputFileTransitionsEachEvent = cms.untracked.bool(
False)
114 maxEvents = cms.untracked.PSet(
115 input = cms.untracked.int32(-1)
119 if not options.runkey.strip():
120 options.runkey =
"pp_run" 122 runType.setRunType(options.runkey.strip())
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
def split(sequence, size)