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