File indexing completed on 2024-04-06 12:03:13
0001 import FWCore.ParameterSet.Config as cms
0002
0003 process = cms.Process("L1ConfigWritePayloadOnline")
0004 process.load("FWCore.MessageLogger.MessageLogger_cfi")
0005 process.MessageLogger.cout.enable = cms.untracked.bool(True)
0006 process.MessageLogger.cout.threshold = cms.untracked.string('DEBUG')
0007 process.MessageLogger.debugModules = cms.untracked.vstring('*')
0008
0009 process.load("CondCore.DBCommon.CondDBCommon_cfi")
0010
0011 import FWCore.ParameterSet.VarParsing as VarParsing
0012 options = VarParsing.VarParsing()
0013 options.register('tscKey',
0014 '',
0015 VarParsing.VarParsing.multiplicity.singleton,
0016 VarParsing.VarParsing.varType.string,
0017 "TSC key")
0018 options.register('outputDBConnect',
0019 'sqlite_file:l1config.db',
0020 VarParsing.VarParsing.multiplicity.singleton,
0021 VarParsing.VarParsing.varType.string,
0022 "Connection string for output DB")
0023 options.register('outputDBAuth',
0024 '.',
0025 VarParsing.VarParsing.multiplicity.singleton,
0026 VarParsing.VarParsing.varType.string,
0027 "Authentication path for output DB")
0028 options.register('overwriteKeys',
0029 0,
0030 VarParsing.VarParsing.multiplicity.singleton,
0031 VarParsing.VarParsing.varType.int,
0032 "Overwrite existing keys")
0033 options.register('logTransactions',
0034 1,
0035 VarParsing.VarParsing.multiplicity.singleton,
0036 VarParsing.VarParsing.varType.int,
0037 "Record transactions in log DB")
0038 options.register('copyNonO2OPayloads',
0039 0,
0040 VarParsing.VarParsing.multiplicity.singleton,
0041 VarParsing.VarParsing.varType.int,
0042 "Copy DTTF TSC payloads from ORCON")
0043 options.register('copyDBConnect',
0044 'sqlite_file:l1config.db',
0045 VarParsing.VarParsing.multiplicity.singleton,
0046 VarParsing.VarParsing.varType.string,
0047 "Connection string for copy DB")
0048 options.register('copyDBAuth',
0049 '.',
0050 VarParsing.VarParsing.multiplicity.singleton,
0051 VarParsing.VarParsing.varType.string,
0052 "Authentication path for copy DB")
0053 options.parseArguments()
0054
0055
0056 process.load("CondTools.L1Trigger.L1SubsystemKeysOnline_cfi")
0057 process.L1SubsystemKeysOnline.tscKey = cms.string( options.tscKey )
0058 process.load("CondTools.L1Trigger.L1ConfigTSCKeys_cff")
0059 process.load("CondTools.L1Trigger.L1TriggerKeyOnline_cfi")
0060 process.L1TriggerKeyOnline.subsystemLabels = cms.vstring( 'CSCTF',
0061 'DTTF',
0062 'RPC',
0063 'GMT',
0064 'GMTScales',
0065 'RCT',
0066 'GCT',
0067 'GT' )
0068
0069
0070 process.load("CondTools.L1Trigger.L1ConfigTSCPayloads_cff")
0071
0072 if options.copyNonO2OPayloads == 1:
0073 process.L1MuDTEtaPatternLutOnline.copyFromCondDB = cms.bool( True )
0074 process.L1MuDTEtaPatternLutOnline.onlineDB = options.copyDBConnect
0075 process.L1MuDTEtaPatternLutOnline.onlineAuthentication = options.copyDBAuth
0076 process.L1MuDTExtLutOnline.copyFromCondDB = cms.bool( True )
0077 process.L1MuDTExtLutOnline.onlineDB = options.copyDBConnect
0078 process.L1MuDTExtLutOnline.onlineAuthentication = options.copyDBAuth
0079 process.L1MuDTPhiLutOnline.copyFromCondDB = cms.bool( True )
0080 process.L1MuDTPhiLutOnline.onlineDB = options.copyDBConnect
0081 process.L1MuDTPhiLutOnline.onlineAuthentication = options.copyDBAuth
0082 process.L1MuDTPtaLutOnline.copyFromCondDB = cms.bool( True )
0083 process.L1MuDTPtaLutOnline.onlineDB = options.copyDBConnect
0084 process.L1MuDTPtaLutOnline.onlineAuthentication = options.copyDBAuth
0085 process.L1MuDTQualPatternLutOnline.copyFromCondDB = cms.bool( True )
0086 process.L1MuDTQualPatternLutOnline.onlineDB = options.copyDBConnect
0087 process.L1MuDTQualPatternLutOnline.onlineAuthentication = options.copyDBAuth
0088 process.L1RPCConfigOnline.copyFromCondDB = cms.bool( True )
0089 process.L1RPCConfigOnline.onlineDB = options.copyDBConnect
0090 process.L1RPCConfigOnline.onlineAuthentication = options.copyDBAuth
0091 process.L1RPCConeDefinitionOnline.copyFromCondDB = cms.bool( True )
0092 process.L1RPCConeDefinitionOnline.onlineDB = options.copyDBConnect
0093 process.L1RPCConeDefinitionOnline.onlineAuthentication = options.copyDBAuth
0094 process.L1RPCHsbConfigOnline.copyFromCondDB = cms.bool( True )
0095 process.L1RPCHsbConfigOnline.onlineDB = options.copyDBConnect
0096 process.L1RPCHsbConfigOnline.onlineAuthentication = options.copyDBAuth
0097 process.L1RPCBxOrConfigOnline.copyFromCondDB = cms.bool( True )
0098 process.L1RPCBxOrConfigOnline.onlineDB = options.copyDBConnect
0099 process.L1RPCBxOrConfigOnline.onlineAuthentication = options.copyDBAuth
0100
0101
0102 from CondTools.L1Trigger.L1CondEnum_cfi import L1CondEnum
0103 from CondTools.L1Trigger.L1O2OTags_cfi import initL1O2OTags
0104 initL1O2OTags()
0105
0106
0107 from CondTools.L1Trigger.L1CondDBPayloadWriter_cff import initPayloadWriter
0108 initPayloadWriter( process,
0109 outputDBConnect = options.outputDBConnect,
0110 outputDBAuth = options.outputDBAuth,
0111 tagBaseVec = initL1O2OTags.tagBaseVec )
0112
0113 if options.logTransactions == 1:
0114
0115 initPayloadWriter.outputDB.logconnect = cms.untracked.string('sqlite_file:l1o2o-log.db')
0116 process.L1CondDBPayloadWriter.logTransactions = True
0117
0118 if options.overwriteKeys == 0:
0119 process.L1CondDBPayloadWriter.overwriteKeys = False
0120 else:
0121 process.L1CondDBPayloadWriter.overwriteKeys = True
0122
0123 process.maxEvents = cms.untracked.PSet(
0124 input = cms.untracked.int32(1)
0125 )
0126
0127
0128 process.outputDB = cms.ESSource("PoolDBESSource",
0129 process.CondDBCommon,
0130 toGet = cms.VPSet(cms.PSet(
0131 record = cms.string('L1TriggerKeyListRcd'),
0132 tag = cms.string( "L1TriggerKeyList_" + initL1O2OTags.tagBaseVec[ L1CondEnum.L1TriggerKeyList ] )
0133 ),
0134 cms.PSet(
0135 record = cms.string('L1GtStableParametersRcd'),
0136 tag = cms.string( "L1GtStableParameters_" + initL1O2OTags.tagBaseVec[ L1CondEnum.L1GtStableParameters ] )
0137 ),
0138 cms.PSet(
0139 record = cms.string('L1CaloGeometryRecord'),
0140 tag = cms.string( "L1CaloGeometry_" + initL1O2OTags.tagBaseVec[ L1CondEnum.L1CaloGeometry ] )
0141 )),
0142 RefreshEachRun=cms.untracked.bool(True)
0143 )
0144
0145 if options.copyNonO2OPayloads == 0:
0146 process.outputDB.connect = options.outputDBConnect
0147 process.outputDB.DBParameters.authenticationPath = options.outputDBAuth
0148 process.source = cms.Source("EmptySource")
0149 else:
0150 process.outputDB.connect = options.copyDBConnect
0151 process.outputDB.DBParameters.authenticationPath = options.copyDBAuth
0152 process.source = cms.Source("EmptyIOVSource",
0153 timetype = cms.string('runnumber'),
0154 firstValue = cms.uint64(4294967295),
0155 lastValue = cms.uint64(4294967295),
0156 interval = cms.uint64(1) )
0157
0158 process.p = cms.Path(process.L1CondDBPayloadWriter)