Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-12-01 23:40:05

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