File indexing completed on 2024-11-26 02:34:07
0001 import FWCore.ParameterSet.Config as cms
0002 import FWCore.ParameterSet.VarParsing as VarParsing
0003
0004 import sys
0005
0006 from DQM.Integration.config.dqmPythonTypes import RunType
0007 from DQM.DTMonitorModule.test.dtDqmPythonTypes import DTDQMConfig
0008
0009 options = VarParsing.VarParsing('analysis')
0010
0011
0012 options.register('runNumber',
0013 111,
0014 VarParsing.VarParsing.multiplicity.singleton,
0015 VarParsing.VarParsing.varType.int,
0016 "Run number.")
0017
0018 options.register('runInputDir',
0019 '/tmp',
0020 VarParsing.VarParsing.multiplicity.singleton,
0021 VarParsing.VarParsing.varType.string,
0022 "Directory where the DQM files will appear.")
0023
0024 options.register('scanOnce',
0025 False,
0026 VarParsing.VarParsing.multiplicity.singleton,
0027 VarParsing.VarParsing.varType.bool,
0028 "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'.")
0029
0030 options.register('minEventsPerLumi',
0031 1,
0032 VarParsing.VarParsing.multiplicity.singleton,
0033 VarParsing.VarParsing.varType.int,
0034 "If scanOnce is tue, sets the minimal # of events per LS to be processed before switching to the next LS (and file).")
0035
0036 options.register('skipFirstLumis',
0037 False,
0038 VarParsing.VarParsing.multiplicity.singleton,
0039 VarParsing.VarParsing.varType.bool,
0040 "Skip (and ignore the minEventsPerLumi parameter) for the files which have been available at the begining of the processing. ")
0041
0042
0043
0044 options.register ('runkey',
0045 'pp_run',
0046 VarParsing.VarParsing.multiplicity.singleton,
0047 VarParsing.VarParsing.varType.string,
0048 "Run Keys of CMS")
0049
0050
0051
0052 options.register('processAB7Digis',
0053 False,
0054 VarParsing.VarParsing.multiplicity.singleton,
0055 VarParsing.VarParsing.varType.bool,
0056 "Enable processing of AB7 DT digi data (duplicate occupancy plot and other customisations to DT digi monitoring)")
0057
0058 options.register('processAB7TPs',
0059 False,
0060 VarParsing.VarParsing.multiplicity.singleton,
0061 VarParsing.VarParsing.varType.bool,
0062 "Enable processing of AB7 DT local trigger data (DOES NOTHING FOR NOW)")
0063
0064 options.register('runWithLargeTimeBox',
0065 False,
0066 VarParsing.VarParsing.multiplicity.singleton,
0067 VarParsing.VarParsing.varType.bool,
0068 "Runs DTDigiTask with a timebox plot window of 6400 TDC Counts")
0069
0070 options.register('timeBoxTDCPedestal',
0071 -200,
0072 VarParsing.VarParsing.multiplicity.singleton,
0073 VarParsing.VarParsing.varType.int,
0074 "Pedestal of the lower edge of AB7 time boxes")
0075
0076
0077 options.parseArguments()
0078
0079 runType = RunType()
0080 if not options.runkey.strip():
0081 options.runkey = 'pp_run'
0082
0083 dtDqmConfig = DTDQMConfig()
0084 dtDqmConfig.setProcessAB7Digis(options.processAB7Digis)
0085 dtDqmConfig.setProcessAB7TPs(options.processAB7TPs)
0086
0087 dtDqmConfig.setRunWithLargeTB(options.runWithLargeTimeBox)
0088 dtDqmConfig.setTBTDCPedestal(options.timeBoxTDCPedestal)
0089
0090 runType.setRunType(options.runkey.strip())
0091
0092 if not options.inputFiles:
0093
0094 minEventsPerLumi = 1
0095 nextLumiTimeoutMillis = 240000
0096 endOfRunKills = True
0097
0098 if options.scanOnce:
0099 endOfRunKills = False
0100 nextLumiTimeoutMillis = 0
0101 minEventsPerLumi = options.minEventsPerLumi
0102
0103 source = cms.Source("DQMStreamerReader",
0104 runNumber = cms.untracked.uint32(options.runNumber),
0105 runInputDir = cms.untracked.string(options.runInputDir),
0106 SelectEvents = cms.untracked.vstring('*'),
0107 streamLabel = cms.untracked.string('streamDQM'),
0108 scanOnce = cms.untracked.bool(options.scanOnce),
0109 minEventsPerLumi = cms.untracked.int32(minEventsPerLumi),
0110 delayMillis = cms.untracked.uint32(500),
0111 nextLumiTimeoutMillis = cms.untracked.int32(nextLumiTimeoutMillis),
0112 skipFirstLumis = cms.untracked.bool(options.skipFirstLumis),
0113 deleteDatFiles = cms.untracked.bool(False),
0114 endOfRunKills = cms.untracked.bool(endOfRunKills),
0115 )
0116 else:
0117 print("The list of input files is provided. Disabling discovery and running on everything.")
0118 files = map(lambda x: "file://" + x, options.inputFiles)
0119 source = cms.Source("PoolSource",
0120 fileNames = cms.untracked.vstring(files),
0121 secondaryFileNames = cms.untracked.vstring()
0122 )
0123
0124 print("Source:", source)
0125
0126 print("RunType:", runType)
0127
0128 print("DTDQMConfig:", dtDqmConfig)
0129