File indexing completed on 2024-04-06 12:03:14
0001
0002
0003 import FWCore.ParameterSet.Config as cms
0004
0005 process = cms.Process("L1ConfigWritePayloadDummy")
0006 process.load("FWCore.MessageLogger.MessageLogger_cfi")
0007 process.MessageLogger.cout.enable = cms.untracked.bool(True)
0008 process.MessageLogger.cout.threshold = cms.untracked.string('DEBUG')
0009 process.MessageLogger.debugModules = cms.untracked.vstring('*')
0010
0011 import FWCore.ParameterSet.VarParsing as VarParsing
0012 options = VarParsing.VarParsing()
0013 options.register('objectKey',
0014 'dummy',
0015 VarParsing.VarParsing.multiplicity.singleton,
0016 VarParsing.VarParsing.varType.string,
0017 "object key")
0018 options.register('objectType',
0019 'L1TMuonOverlapParams',
0020 VarParsing.VarParsing.multiplicity.singleton,
0021 VarParsing.VarParsing.varType.string,
0022 "object C++ type")
0023 options.register('recordName',
0024 'L1TMuonOverlapParamsO2ORcd',
0025 VarParsing.VarParsing.multiplicity.singleton,
0026 VarParsing.VarParsing.varType.string,
0027 "Name of EventSetup record")
0028 options.register('tagBase',
0029 'IDEAL',
0030 VarParsing.VarParsing.multiplicity.singleton,
0031 VarParsing.VarParsing.varType.string,
0032 "IOV tags = object_{tagBase}")
0033 options.register('useO2OTags',
0034 0,
0035 VarParsing.VarParsing.multiplicity.singleton,
0036 VarParsing.VarParsing.varType.int,
0037 "0 = use uniform tags, 1 = ignore tagBase and use O2O tags")
0038 options.register('genFromOMDS',
0039 0,
0040 VarParsing.VarParsing.multiplicity.singleton,
0041 VarParsing.VarParsing.varType.int,
0042 "0 = use dummy payloads, 1 = generate payloads from OMDS")
0043 options.register('outputDBConnect',
0044 'sqlite_file:l1config.db',
0045 VarParsing.VarParsing.multiplicity.singleton,
0046 VarParsing.VarParsing.varType.string,
0047 "Connection string for output DB")
0048 options.register('outputDBAuth',
0049 '.',
0050 VarParsing.VarParsing.multiplicity.singleton,
0051 VarParsing.VarParsing.varType.string,
0052 "Authentication path for output DB")
0053 options.register('protoDBConnect',
0054 'oracle://cms_orcon_prod/CMS_CONDITIONS',
0055 VarParsing.VarParsing.multiplicity.singleton,
0056 VarParsing.VarParsing.varType.string,
0057 "Authentication path for proto DB")
0058 options.register('protoDBAuth',
0059 '.',
0060 VarParsing.VarParsing.multiplicity.singleton,
0061 VarParsing.VarParsing.varType.string,
0062 "Authentication path for proto DB")
0063 options.register('overwriteKey',
0064 0,
0065 VarParsing.VarParsing.multiplicity.singleton,
0066 VarParsing.VarParsing.varType.int,
0067 "Overwrite existing key")
0068
0069 options.parseArguments()
0070
0071
0072 if options.useO2OTags == 0:
0073 from CondTools.L1TriggerExt.L1CondEnumExt_cfi import L1CondEnumExt
0074 from CondTools.L1TriggerExt.L1UniformTagsExt_cfi import initL1UniformTagsExt
0075 initL1UniformTagsExt( tagBase = options.tagBase )
0076 tagBaseVec = initL1UniformTagsExt.tagBaseVec
0077 else:
0078 from CondTools.L1TriggerExt.L1CondEnumExt_cfi import L1CondEnumExt
0079 from CondTools.L1TriggerExt.L1O2OTagsExt_cfi import initL1O2OTagsExt
0080 initL1O2OTagsExt()
0081 tagBaseVec = initL1O2OTagsExt.tagBaseVec
0082
0083
0084 process.load("CondTools.L1TriggerExt.L1TriggerKeyDummyExt_cff")
0085 process.L1TriggerKeyDummyExt.objectKeys = cms.VPSet(cms.PSet(
0086 record = cms.string(options.recordName),
0087 type = cms.string(options.objectType),
0088 key = cms.string(options.objectKey)
0089 ))
0090
0091
0092 process.load("CondCore.CondDB.CondDB_cfi")
0093 process.CondDB.connect = cms.string(options.outputDBConnect)
0094
0095 process.outputDB = cms.ESSource("PoolDBESSource",
0096 process.CondDB,
0097 toGet = cms.VPSet(cms.PSet(
0098 record = cms.string('L1TriggerKeyListExtRcd'),
0099 tag = cms.string('L1TriggerKeyListExt_' + tagBaseVec[ L1CondEnumExt.L1TriggerKeyListExt ])
0100 ))
0101 )
0102
0103 process.es_prefer_outputDB = cms.ESPrefer("PoolDBESSource","outputDB")
0104 process.outputDB.DBParameters.authenticationPath = cms.untracked.string(options.outputDBAuth)
0105
0106 if options.genFromOMDS == 0:
0107
0108 if options.objectType == 'L1TMuonEndCapForest' :
0109 process.load('L1TriggerConfig.L1TConfigProducers.L1TMuonEndCapForestOnlineProxy_cfi')
0110 process.l1emtfForestProtodb.DBParameters.connect = cms.untracked.string(options.protoDBConnect)
0111 process.l1emtfForestProtodb.DBParameters.authenticationPath = cms.untracked.string(options.protoDBAuth)
0112 else :
0113 process.load('L1TriggerConfig.L1TConfigProducers.L1TMuonOverlapParamsOnlineProxy_cfi')
0114 else:
0115
0116 process.load("CondTools.L1TriggerExt.L1ConfigTSCPayloadsExt_cff")
0117
0118
0119
0120 from CondTools.L1TriggerExt.L1CondDBPayloadWriterExt_cff import initPayloadWriterExt
0121 initPayloadWriterExt( process,
0122 outputDBConnect = options.outputDBConnect,
0123 outputDBAuth = options.outputDBAuth,
0124 tagBaseVec = tagBaseVec )
0125 process.L1CondDBPayloadWriterExt.writeL1TriggerKeyExt = False
0126
0127 if options.overwriteKey == 0:
0128 process.L1CondDBPayloadWriterExt.overwriteKeys = False
0129 else:
0130 process.L1CondDBPayloadWriterExt.overwriteKeys = True
0131
0132
0133 process.maxEvents = cms.untracked.PSet(
0134 input = cms.untracked.int32(1)
0135 )
0136 process.source = cms.Source("EmptySource")
0137
0138 process.p = cms.Path(process.L1CondDBPayloadWriterExt)