Back to home page

Project CMSSW displayed by LXR

 
 

    


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 options.register('runNumber',
0010                  111,
0011                  VarParsing.VarParsing.multiplicity.singleton,
0012                  VarParsing.VarParsing.varType.int,
0013                  "Run number.")
0014 
0015 options.register('datafnPosition',
0016                  3, # default value
0017                  VarParsing.VarParsing.multiplicity.singleton,
0018                  VarParsing.VarParsing.varType.int,
0019                  "Data filename position in the positional arguments array 'data' in json file.")
0020 
0021 options.register('runInputDir',
0022                  '/tmp',
0023                  VarParsing.VarParsing.multiplicity.singleton,
0024                  VarParsing.VarParsing.varType.string,
0025                  "Directory where the DQM files will appear.")
0026 
0027 options.register('scanOnce',
0028                  False, # default value
0029                  VarParsing.VarParsing.multiplicity.singleton,
0030                  VarParsing.VarParsing.varType.bool,
0031                  "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'.")
0032 
0033 options.register('skipFirstLumis',
0034                  False, # default value
0035                  VarParsing.VarParsing.multiplicity.singleton,
0036                  VarParsing.VarParsing.varType.bool,
0037                  "Skip (and ignore the minEventsPerLumi parameter) for the files which have been available at the beginning of the processing.")
0038 
0039 options.register('BeamSplashRun',
0040                  False, # default value
0041                  VarParsing.VarParsing.multiplicity.singleton,
0042                  VarParsing.VarParsing.varType.bool,
0043                  "Set client source settings for beam SPLASH run")
0044 
0045 # Parameters for runType
0046 
0047 options.register('runkey',
0048                  'pp_run',
0049                  VarParsing.VarParsing.multiplicity.singleton,
0050                  VarParsing.VarParsing.varType.string,
0051                  "Run Keys of CMS")
0052 
0053 # Parameter for frontierKey
0054 
0055 options.register('runUniqueKey',
0056                  'InValid',
0057                  VarParsing.VarParsing.multiplicity.singleton,
0058                  VarParsing.VarParsing.varType.string,
0059                  "Unique run key from RCMS for Frontier")
0060 
0061 # Parameter for output directory of the event display clients
0062 # visualization-live and visualization-live-secondInstance
0063 # this additional input argument was added in the hltd framework
0064 # only for the visualization clients 
0065 # Note, the other clients do not use this input parameter
0066 
0067 options.register('outputBaseDir',
0068                  '/fff/BU0/output',
0069                  VarParsing.VarParsing.multiplicity.singleton,
0070                  VarParsing.VarParsing.varType.string,
0071                  "Directory where the visualization output files will appear.")
0072 
0073 
0074 options.parseArguments()
0075 
0076 # Fix to allow scram to compile
0077 #if len(sys.argv) > 1:
0078 #  options.parseArguments()
0079 
0080 runType = RunType()
0081 if not options.runkey.strip():
0082   options.runkey = 'pp_run'
0083 
0084 runType.setRunType(options.runkey.strip())
0085 
0086 # Input source
0087 nextLumiTimeoutMillis = 120000
0088 endOfRunKills = True
0089 
0090 if options.scanOnce:
0091     endOfRunKills = False
0092     nextLumiTimeoutMillis = 0
0093 
0094 source = cms.Source("DQMProtobufReader",
0095     runNumber = cms.untracked.uint32(options.runNumber),
0096     runInputDir = cms.untracked.string(options.runInputDir),
0097     streamLabel = cms.untracked.string('streamDQMHistograms'),
0098     scanOnce = cms.untracked.bool(options.scanOnce),
0099     datafnPosition = cms.untracked.uint32(options.datafnPosition),
0100     delayMillis = cms.untracked.uint32(500),
0101     nextLumiTimeoutMillis = cms.untracked.int32(nextLumiTimeoutMillis),
0102     skipFirstLumis = cms.untracked.bool(options.skipFirstLumis),
0103     deleteDatFiles = cms.untracked.bool(False),
0104     loadFiles = cms.untracked.bool(True),
0105     endOfRunKills  = cms.untracked.bool(endOfRunKills),
0106 )
0107 
0108 # https://twiki.cern.ch/twiki/bin/viewauth/CMS/CMSBeamSplash2017
0109 def set_BeamSplashRun_settings( source ):
0110   # source.minEventsPerLumi      = 1000000
0111   source.nextLumiTimeoutMillis = 15000
0112 
0113 if options.BeamSplashRun : set_BeamSplashRun_settings( source )
0114 
0115 print("Initial Source settings:", source)