File indexing completed on 2024-04-06 12:03:13
0001 from __future__ import print_function
0002
0003
0004 import FWCore.ParameterSet.Config as cms
0005
0006 process = cms.Process("L1ConfigWritePayloadDummy")
0007 process.load("FWCore.MessageLogger.MessageLogger_cfi")
0008 process.MessageLogger.cout.enable = cms.untracked.bool(True)
0009 process.MessageLogger.cout.threshold = cms.untracked.string('DEBUG')
0010 process.MessageLogger.debugModules = cms.untracked.vstring('*')
0011
0012 import FWCore.ParameterSet.VarParsing as VarParsing
0013 options = VarParsing.VarParsing()
0014 options.register('objectKey',
0015 'dummy',
0016 VarParsing.VarParsing.multiplicity.singleton,
0017 VarParsing.VarParsing.varType.string,
0018 "object key")
0019 options.register('objectType',
0020 'L1RCTParameters',
0021 VarParsing.VarParsing.multiplicity.singleton,
0022 VarParsing.VarParsing.varType.string,
0023 "object C++ type")
0024 options.register('recordName',
0025 'L1RCTParametersRcd',
0026 VarParsing.VarParsing.multiplicity.singleton,
0027 VarParsing.VarParsing.varType.string,
0028 "Name of EventSetup record")
0029 options.register('tagBase',
0030 'IDEAL',
0031 VarParsing.VarParsing.multiplicity.singleton,
0032 VarParsing.VarParsing.varType.string,
0033 "IOV tags = object_{tagBase}")
0034 options.register('useO2OTags',
0035 0,
0036 VarParsing.VarParsing.multiplicity.singleton,
0037 VarParsing.VarParsing.varType.int,
0038 "0 = use uniform tags, 1 = ignore tagBase and use O2O tags")
0039 options.register('genFromOMDS',
0040 0,
0041 VarParsing.VarParsing.multiplicity.singleton,
0042 VarParsing.VarParsing.varType.int,
0043 "0 = use dummy payloads, 1 = generate payloads from OMDS")
0044 options.register('outputDBConnect',
0045 'sqlite_file:l1config.db',
0046 VarParsing.VarParsing.multiplicity.singleton,
0047 VarParsing.VarParsing.varType.string,
0048 "Connection string for output DB")
0049 options.register('outputDBAuth',
0050 '.',
0051 VarParsing.VarParsing.multiplicity.singleton,
0052 VarParsing.VarParsing.varType.string,
0053 "Authentication path for outputDB")
0054 options.register('overwriteKey',
0055 0,
0056 VarParsing.VarParsing.multiplicity.singleton,
0057 VarParsing.VarParsing.varType.int,
0058 "Overwrite existing key")
0059 options.register('startup',
0060 0,
0061 VarParsing.VarParsing.multiplicity.singleton,
0062 VarParsing.VarParsing.varType.int,
0063 "Use L1StartupConfig_cff instead of L1DummyConfig_cff")
0064 options.register('rpcFileDir',
0065 '',
0066 VarParsing.VarParsing.multiplicity.singleton,
0067 VarParsing.VarParsing.varType.string,
0068 "Replacement value of rpcconf.filedir; no replacement by default")
0069 options.register('rpcPACsPerTower',
0070 -999,
0071 VarParsing.VarParsing.multiplicity.singleton,
0072 VarParsing.VarParsing.varType.int,
0073 "Replacement value of rpcconf.PACsPerTower; no replacement by default")
0074 options.register('rpcBxOrFirstBx',
0075 -999,
0076 VarParsing.VarParsing.multiplicity.singleton,
0077 VarParsing.VarParsing.varType.int,
0078 "Replacement value of l1RPCBxOrConfig.firstBX; no replacement by default")
0079 options.register('rpcBxOrLastBx',
0080 -999,
0081 VarParsing.VarParsing.multiplicity.singleton,
0082 VarParsing.VarParsing.varType.int,
0083 "Replacement value of l1RPCBxOrConfig.lastBX; no replacement by default")
0084 options.register('rpcHsb0Mask',
0085 [-999],
0086 VarParsing.VarParsing.multiplicity.list,
0087 VarParsing.VarParsing.varType.int,
0088 "Replacement value of l1RPCHsbConfig.hsb0Mask; no replacement by default")
0089 options.register('rpcHsb1Mask',
0090 [-999],
0091 VarParsing.VarParsing.multiplicity.list,
0092 VarParsing.VarParsing.varType.int,
0093 "Replacement value of l1RPCHsbConfig.hsb1Mask; no replacement by default")
0094 options.register('gmtVersionSortRankEtaQLUT',
0095 -999,
0096 VarParsing.VarParsing.multiplicity.singleton,
0097 VarParsing.VarParsing.varType.int,
0098 "Replacement value of L1MuGMTParameters.VersionSortRankEtaQLUT; no replacement by default")
0099 options.parseArguments()
0100
0101
0102 if options.useO2OTags == 0:
0103 from CondTools.L1Trigger.L1CondEnum_cfi import L1CondEnum
0104 from CondTools.L1Trigger.L1UniformTags_cfi import initL1UniformTags
0105 initL1UniformTags( tagBase = options.tagBase )
0106 tagBaseVec = initL1UniformTags.tagBaseVec
0107 else:
0108 from CondTools.L1Trigger.L1CondEnum_cfi import L1CondEnum
0109 from CondTools.L1Trigger.L1O2OTags_cfi import initL1O2OTags
0110 initL1O2OTags()
0111 tagBaseVec = initL1O2OTags.tagBaseVec
0112
0113
0114 process.load("CondTools.L1Trigger.L1TriggerKeyDummy_cff")
0115 process.L1TriggerKeyDummy.objectKeys = cms.VPSet(cms.PSet(
0116 record = cms.string(options.recordName),
0117 type = cms.string(options.objectType),
0118 key = cms.string(options.objectKey)
0119 ))
0120
0121
0122 process.load("CondCore.DBCommon.CondDBCommon_cfi")
0123 process.outputDB = cms.ESSource("PoolDBESSource",
0124 process.CondDBCommon,
0125 toGet = cms.VPSet(cms.PSet(
0126 record = cms.string('L1TriggerKeyListRcd'),
0127 tag = cms.string('L1TriggerKeyList_' + tagBaseVec[ L1CondEnum.L1TriggerKeyList ])
0128 ))
0129 )
0130 process.es_prefer_outputDB = cms.ESPrefer("PoolDBESSource","outputDB")
0131 process.outputDB.connect = cms.string(options.outputDBConnect)
0132 process.outputDB.DBParameters.authenticationPath = cms.untracked.string(options.outputDBAuth)
0133
0134 if options.genFromOMDS == 0:
0135
0136 if options.startup == 0:
0137 process.load("L1Trigger.Configuration.L1DummyConfig_cff")
0138 process.load("L1TriggerConfig.L1GtConfigProducers.Luminosity.lumi1031.L1Menu_MC2009_v2_L1T_Scales_20090624_Imp0_Unprescaled_cff")
0139 else:
0140 process.load("L1Trigger.Configuration.L1StartupConfig_cff")
0141 process.load("L1TriggerConfig.L1GtConfigProducers.Luminosity.startup.L1Menu_Commissioning2009_v3_L1T_Scales_20080926_startup_Imp0_Unprescaled_cff")
0142
0143 process.l1CSCTFConfig.ptLUT_path = '/afs/cern.ch/cms/MUON/csc/fast1/track_finder/luts/PtLUT.dat'
0144
0145
0146 if options.rpcFileDir != "":
0147 process.rpcconf.filedir = options.rpcFileDir
0148 print("New rpcconf.filedir =", process.rpcconf.filedir)
0149 if options.rpcPACsPerTower != -999:
0150 process.rpcconf.PACsPerTower = options.rpcPACsPerTower
0151 print("New rpcconf.PACsPerTower =", process.rpcconf.PACsPerTower)
0152 if options.rpcBxOrFirstBx != -999:
0153 process.l1RPCBxOrConfig.firstBX = options.rpcBxOrFirstBx
0154 print("New l1RPCBxOrConfig.firstBX =", process.l1RPCBxOrConfig.firstBX)
0155 if options.rpcBxOrLastBx != -999:
0156 process.l1RPCBxOrConfig.lastBX = options.rpcBxOrLastBx
0157 print("New l1RPCBxOrConfig.lastBX =", process.l1RPCBxOrConfig.lastBX)
0158 if options.rpcHsb0Mask != [[-999]]:
0159 process.l1RPCHsbConfig.hsb0Mask = options.rpcHsb0Mask
0160 print("New l1RPCHsbConfig.hsb0Mask =", process.l1RPCHsbConfig.hsb0Mask)
0161 if options.rpcHsb1Mask != [[-999]]:
0162 process.l1RPCHsbConfig.hsb1Mask = options.rpcHsb1Mask
0163 print("New l1RPCHsbConfig.hsb1Mask =", process.l1RPCHsbConfig.hsb1Mask)
0164 if options.gmtVersionSortRankEtaQLUT != -999:
0165 process.L1MuGMTParameters.VersionSortRankEtaQLUT = options.gmtVersionSortRankEtaQLUT
0166 print("New L1MuGMTParameters.VersionSortRankEtaQLUT =", options.gmtVersionSortRankEtaQLUT)
0167 else:
0168
0169 process.load("CondTools.L1Trigger.L1ConfigTSCPayloads_cff")
0170 process.load("CondTools.L1Trigger.L1ConfigRSPayloads_cff")
0171
0172
0173 from CondTools.L1Trigger.L1CondDBPayloadWriter_cff import initPayloadWriter
0174 initPayloadWriter( process,
0175 outputDBConnect = options.outputDBConnect,
0176 outputDBAuth = options.outputDBAuth,
0177 tagBaseVec = tagBaseVec )
0178 process.L1CondDBPayloadWriter.writeL1TriggerKey = False
0179
0180 if options.overwriteKey == 0:
0181 process.L1CondDBPayloadWriter.overwriteKeys = False
0182 else:
0183 process.L1CondDBPayloadWriter.overwriteKeys = True
0184 if options.genFromOMDS != 0:
0185 process.CSCTFConfigOnline.forceGeneration = True
0186 process.L1MuCSCPtLutConfigOnline.forceGeneration = True
0187 process.L1MuDTEtaPatternLutOnline.forceGeneration = True
0188 process.L1MuDTExtLutOnline.forceGeneration = True
0189 process.L1MuDTPhiLutOnline.forceGeneration = True
0190 process.L1MuDTPtaLutOnline.forceGeneration = True
0191 process.L1MuDTQualPatternLutOnline.forceGeneration = True
0192 process.L1RPCConfigOnline.forceGeneration = True
0193 process.L1RPCConeDefinitionOnline.forceGeneration = True
0194 process.L1RPCHsbConfigOnline.forceGeneration = True
0195 process.L1RPCBxOrConfigOnline.forceGeneration = True
0196 process.L1MuGMTParametersOnlineProducer.forceGeneration = True
0197 process.L1MuTriggerPtScaleOnlineProducer.forceGeneration = True
0198 process.L1MuTriggerScalesOnlineProducer.forceGeneration = True
0199 process.L1RCTParametersOnline.forceGeneration = True
0200 process.L1EmEtScaleConfigOnline.forceGeneration = True
0201 process.L1CaloEcalScaleConfigOnline.forceGeneration = True
0202 process.L1CaloHcalScaleConfigOnline.forceGeneration = True
0203 process.L1GctJetFinderParamsOnline.forceGeneration = True
0204 process.L1HtMissScaleOnline.forceGeneration = True
0205 process.L1HfRingEtScaleOnline.forceGeneration = True
0206 process.L1JetEtScaleOnline.forceGeneration = True
0207 process.l1GtParametersOnline.forceGeneration = True
0208 process.l1GtPsbSetupOnline.forceGeneration = True
0209 process.l1GtTriggerMenuOnline.forceGeneration = True
0210 process.L1MuDTTFMasksOnline.forceGeneration = True
0211 process.L1RCTChannelMaskOnline.forceGeneration = True
0212 process.L1GctChannelMaskOnline.forceGeneration = True
0213 process.L1MuGMTChannelMaskConfigOnline.forceGeneration = True
0214 process.l1GtPrescaleFactorsAlgoTrigOnline.forceGeneration = True
0215 process.l1GtPrescaleFactorsTechTrigOnline.forceGeneration = True
0216 process.l1GtTriggerMaskAlgoTrigOnline.forceGeneration = True
0217 process.l1GtTriggerMaskTechTrigOnline.forceGeneration = True
0218 process.l1GtTriggerMaskVetoTechTrigOnline.forceGeneration = True
0219
0220 process.maxEvents = cms.untracked.PSet(
0221 input = cms.untracked.int32(1)
0222 )
0223 process.source = cms.Source("EmptySource")
0224
0225 process.p = cms.Path(process.L1CondDBPayloadWriter)