File indexing completed on 2024-11-26 02:34:08
0001 import FWCore.ParameterSet.Config as cms
0002 import FWCore.ParameterSet.VarParsing as VarParsing
0003
0004 import sys
0005 from .dqmPythonTypes import *
0006
0007 options = VarParsing.VarParsing('analysis')
0008
0009
0010 options.register('runNumber',
0011 111,
0012 VarParsing.VarParsing.multiplicity.singleton,
0013 VarParsing.VarParsing.varType.int,
0014 "Run number.")
0015
0016 options.register('datafnPosition',
0017 3,
0018 VarParsing.VarParsing.multiplicity.singleton,
0019 VarParsing.VarParsing.varType.int,
0020 "Data filename position in the positional arguments array 'data' in json file.")
0021
0022 options.register('runInputDir',
0023 '/tmp',
0024 VarParsing.VarParsing.multiplicity.singleton,
0025 VarParsing.VarParsing.varType.string,
0026 "Directory where the DQM files will appear.")
0027
0028 options.register('scanOnce',
0029 False,
0030 VarParsing.VarParsing.multiplicity.singleton,
0031 VarParsing.VarParsing.varType.bool,
0032 "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'.")
0033
0034 options.register('skipFirstLumis',
0035 False,
0036 VarParsing.VarParsing.multiplicity.singleton,
0037 VarParsing.VarParsing.varType.bool,
0038 "Skip (and ignore the minEventsPerLumi parameter) for the files which have been available at the beginning of the processing.")
0039
0040 options.register('noDB',
0041 True,
0042 VarParsing.VarParsing.multiplicity.singleton,
0043 VarParsing.VarParsing.varType.bool,
0044 "Don't upload the BeamSpot conditions to the DB")
0045
0046 options.register('BeamSplashRun',
0047 False,
0048 VarParsing.VarParsing.multiplicity.singleton,
0049 VarParsing.VarParsing.varType.bool,
0050 "Set client source settings for beam SPLASH run")
0051
0052
0053
0054 options.register('runkey',
0055 'pp_run',
0056 VarParsing.VarParsing.multiplicity.singleton,
0057 VarParsing.VarParsing.varType.string,
0058 "Run Keys of CMS")
0059
0060
0061
0062 options.register('runUniqueKey',
0063 'InValid',
0064 VarParsing.VarParsing.multiplicity.singleton,
0065 VarParsing.VarParsing.varType.string,
0066 "Unique run key from RCMS for Frontier")
0067
0068
0069
0070
0071
0072
0073
0074 options.register('outputBaseDir',
0075 '/fff/BU0/output',
0076 VarParsing.VarParsing.multiplicity.singleton,
0077 VarParsing.VarParsing.varType.string,
0078 "Directory where the visualization output files will appear.")
0079
0080
0081
0082 options.parseArguments()
0083
0084
0085
0086
0087
0088 runType = RunType()
0089 if not options.runkey.strip():
0090 options.runkey = 'pp_run'
0091
0092 runType.setRunType(options.runkey.strip())
0093
0094 if not options.inputFiles:
0095
0096 nextLumiTimeoutMillis = 240000
0097 endOfRunKills = True
0098
0099 if options.scanOnce:
0100 endOfRunKills = False
0101 nextLumiTimeoutMillis = 0
0102
0103
0104 if runType.getRunType() == runType.hi_run:
0105 streamLabel = 'streamHIDQM'
0106 else:
0107 streamLabel = 'streamDQM'
0108
0109 source = cms.Source("DQMStreamerReader",
0110 runNumber = cms.untracked.uint32(options.runNumber),
0111 runInputDir = cms.untracked.string(options.runInputDir),
0112 SelectEvents = cms.untracked.vstring('*'),
0113 streamLabel = cms.untracked.string(streamLabel),
0114 scanOnce = cms.untracked.bool(options.scanOnce),
0115 datafnPosition = cms.untracked.uint32(options.datafnPosition),
0116 minEventsPerLumi = cms.untracked.int32(1),
0117 delayMillis = cms.untracked.uint32(500),
0118 nextLumiTimeoutMillis = cms.untracked.int32(nextLumiTimeoutMillis),
0119 skipFirstLumis = cms.untracked.bool(options.skipFirstLumis),
0120 deleteDatFiles = cms.untracked.bool(False),
0121 endOfRunKills = cms.untracked.bool(endOfRunKills),
0122 inputFileTransitionsEachEvent = cms.untracked.bool(False)
0123 )
0124
0125 else:
0126 print("The list of input files is provided. Disabling discovery and running on everything.")
0127 files = ["file://" + x for x in options.inputFiles]
0128 source = cms.Source("PoolSource",
0129 fileNames = cms.untracked.vstring(files),
0130 secondaryFileNames = cms.untracked.vstring()
0131 )
0132
0133
0134
0135
0136
0137
0138
0139
0140
0141 def set_BeamSplashRun_settings( source ):
0142 source.minEventsPerLumi = 1000000
0143 source.nextLumiTimeoutMillis = 15000
0144
0145 if options.BeamSplashRun : set_BeamSplashRun_settings( source )
0146
0147 print("Initial Source settings:", source)