File indexing completed on 2023-03-17 10:46:10
0001
0002 from __future__ import print_function
0003 import time
0004
0005 import FWCore.ParameterSet.Config as cms
0006 import FWCore.ParameterSet.VarParsing as VarParsing
0007 from Configuration.AlCa.autoCond import autoCond
0008
0009 options = VarParsing.VarParsing()
0010 options.register('processId',
0011 '0',
0012 VarParsing.VarParsing.multiplicity.singleton,
0013 VarParsing.VarParsing.varType.string,
0014 "Process Id")
0015 options.register('connectionString',
0016 'frontier://FrontierPrep/CMS_CONDITIONS',
0017 VarParsing.VarParsing.multiplicity.singleton,
0018 VarParsing.VarParsing.varType.string,
0019 "CondDB Connection string")
0020 options.register('tag',
0021 'BeamSpot_test_updateByLumi_00',
0022 VarParsing.VarParsing.multiplicity.singleton,
0023 VarParsing.VarParsing.varType.string,
0024 "tag for record BeamSpotObjectsRcd")
0025 options.register('snapshotTime',
0026 '',
0027 VarParsing.VarParsing.multiplicity.singleton,
0028 VarParsing.VarParsing.varType.string,
0029 "GlobalTag snapshot time")
0030 options.register('refresh',
0031 0,
0032 VarParsing.VarParsing.multiplicity.singleton,
0033 VarParsing.VarParsing.varType.int,
0034 "Refresh type: default no refresh")
0035 options.register('runNumber',
0036 120013,
0037 VarParsing.VarParsing.multiplicity.singleton,
0038 VarParsing.VarParsing.varType.int,
0039 "Run number; default gives latest IOV")
0040 options.register('eventsPerLumi',
0041 20,
0042 VarParsing.VarParsing.multiplicity.singleton,
0043 VarParsing.VarParsing.varType.int,
0044 "number of events per lumi")
0045 options.register('numberOfLumis',
0046 20,
0047 VarParsing.VarParsing.multiplicity.singleton,
0048 VarParsing.VarParsing.varType.int,
0049 "number of lumisections per run")
0050 options.register('numberOfRuns',
0051 1,
0052 VarParsing.VarParsing.multiplicity.singleton,
0053 VarParsing.VarParsing.varType.int,
0054 "number of runs in the job")
0055 options.register('messageLevel',
0056 0,
0057 VarParsing.VarParsing.multiplicity.singleton,
0058 VarParsing.VarParsing.varType.int,
0059 "Message level; default to 0")
0060 options.register('security',
0061 '',
0062 VarParsing.VarParsing.multiplicity.singleton,
0063 VarParsing.VarParsing.varType.string,
0064 "FroNTier connection security: activate it with 'sig'")
0065
0066 options.parseArguments()
0067
0068 process = cms.Process("TEST")
0069
0070 process.MessageLogger = cms.Service("MessageLogger",
0071 cout = cms.untracked.PSet(threshold = cms.untracked.string('INFO')),
0072 destinations = cms.untracked.vstring('cout')
0073 )
0074
0075 CondDBParameters = cms.PSet( authenticationPath = cms.untracked.string( '' ),
0076 authenticationSystem = cms.untracked.int32( 0 ),
0077 messageLevel = cms.untracked.int32( 3 ),
0078 security = cms.untracked.string( options.security ),
0079 )
0080
0081 refreshAlways, refreshOpenIOVs, refreshEachRun, reconnectEachRun = False, False, False, False
0082 if options.refresh == 0:
0083 refreshAlways, refreshOpenIOVs, refreshEachRun, reconnectEachRun = False, False, False, False
0084 elif options.refresh == 1:
0085 refreshAlways = True
0086 refreshOpenIOVs, refreshEachRun, reconnectEachRun = False, False, False
0087 elif options.refresh == 2:
0088 refreshAlways = False
0089 refreshOpenIOVs = True
0090 refreshEachRun, reconnectEachRun = False, False
0091 elif options.refresh == 3:
0092 refreshAlways, refreshOpenIOVs = False, False
0093 refreshEachRun = True
0094 reconnectEachRun = False
0095 elif options.refresh == 4:
0096 refreshAlways, refreshOpenIOVs, refreshEachRun = False, False, False
0097 reconnectEachRun = True
0098
0099 process.GlobalTag = cms.ESSource( "PoolDBESSource",
0100 DBParameters = CondDBParameters,
0101 connect = cms.string( options.connectionString ),
0102 snapshotTime = cms.string( options.snapshotTime ),
0103 frontierKey = cms.untracked.string('abcdefghijklmnopqrstuvwxyz0123456789'),
0104 toGet = cms.VPSet(cms.PSet(
0105 record = cms.string('BeamSpotObjectsRcd'),
0106 tag = cms.string( options.tag ),
0107 refreshTime = cms.uint64( 2 )
0108 )),
0109 RefreshAlways = cms.untracked.bool( refreshAlways ),
0110 RefreshOpenIOVs = cms.untracked.bool( refreshOpenIOVs ),
0111 RefreshEachRun = cms.untracked.bool( refreshEachRun ),
0112 ReconnectEachRun = cms.untracked.bool( reconnectEachRun ),
0113 DumpStat = cms.untracked.bool( True ),
0114 )
0115
0116 process.source = cms.Source( "EmptySource",
0117 firstRun = cms.untracked.uint32( options.runNumber ),
0118 firstLuminosityBlock = cms.untracked.uint32( 1 ),
0119 numberEventsInRun = cms.untracked.uint32( options.eventsPerLumi * options.numberOfLumis ),
0120 numberEventsInLuminosityBlock = cms.untracked.uint32( options.eventsPerLumi )
0121 )
0122
0123 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32( options.eventsPerLumi * options.numberOfLumis * options.numberOfRuns ) )
0124
0125 process.prod = cms.EDAnalyzer("LumiTestReadAnalyzer",
0126 processId = cms.untracked.string( options.processId ),
0127 pathForLastLumiFile = cms.untracked.string("last_lumi.txt"),
0128 pathForAllLumiFile = cms.untracked.string("./all_time.txt" ),
0129 pathForErrorFile = cms.untracked.string("./lumi_read_errors")
0130 )
0131
0132 process.p = cms.Path( process.prod )
0133
0134 for name, module in process.es_sources_().items():
0135 print("ESModules> provider:%s '%s'" % ( name, module.type_() ))
0136 for name, module in process.es_producers_().items():
0137 print("ESModules> provider:%s '%s'" % ( name, module.type_() ))