Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-27 03:17:57

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 # LUT generator process
0004 process = cms.Process("LUTgen")
0005 
0006 # just run once
0007 process.maxEvents = cms.untracked.PSet(
0008     input = cms.untracked.int32(1)
0009     )
0010 
0011 # setup message logging to cout, without any filtering
0012 #process.MessageLogger = cms.Service("MessageLogger",
0013 #     destinations = cms.untracked.vstring('cout'),
0014 #     cout = cms.untracked.PSet(
0015 #         threshold = cms.untracked.string('DEBUG'), ## DEBUG mode 
0016 #
0017 #         DEBUG = cms.untracked.PSet( 
0018 #             limit = cms.untracked.int32(-1)          ## DEBUG mode, all messages  
0019 #             #limit = cms.untracked.int32(10)         ## DEBUG mode, max 10 messages 
0020 #         ),
0021 #         INFO = cms.untracked.PSet(
0022 #             limit = cms.untracked.int32(-1)
0023 #         )
0024 #     ),
0025 #     debugModules = cms.untracked.vstring('*'), ## DEBUG mode 
0026 #)
0027 
0028 process.load("FWCore.MessageLogger.MessageLogger_cfi")
0029 process.MessageLogger.cout.enable = cms.untracked.bool(True)
0030 process.MessageLogger.cout.threshold = cms.untracked.string('INFO')
0031 process.MessageLogger.debugModules = cms.untracked.vstring('*')
0032 
0033 ##############################
0034 # CondTools key lookup magic #
0035 ##############################
0036 
0037 # Generate dummy L1TriggerKeyList
0038 process.load("CondTools.L1Trigger.L1TriggerKeyListDummy_cff")
0039 
0040 # # from https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideL1ConfigOnlineProd
0041 
0042 # Alternative 1 :
0043 # For known object keys:
0044 
0045 # print "Specifying parameters directly"
0046 # process.load("CondTools.L1Trigger.L1TriggerKeyDummy_cff")
0047 # process.L1TriggerKeyDummy.objectKeys = cms.VPSet(
0048 #     cms.PSet(
0049 #         record = cms.string('L1MuGMTParametersRcd'),
0050 #         type = cms.string('L1MuGMTParameters'),
0051 #         key = cms.string('default1')),
0052 #     cms.PSet(
0053 #         record = cms.string('L1MuTriggerScalesRcd'),
0054 #         type = cms.string('L1MuTriggerScales'),
0055 #         key = cms.string('...')),
0056 #         cms.PSet(
0057 #         record = cms.string('L1MuTriggerPtScaleRcd'),
0058 #         type = cms.string('L1MuTriggerPtScale'),
0059 #         key = cms.string('...'))    
0060 # )
0061 
0062 
0063 
0064 # Alternative 2:
0065 # For a known subsystem key (MySubsystemKey):
0066 # [x] Works!
0067 
0068 print("Specifying GMT key")
0069 process.load("CondTools.L1Trigger.L1TriggerKeyDummy_cff")
0070 process.L1TriggerKeyDummy.objectKeys = cms.VPSet()
0071 process.L1TriggerKeyDummy.label = cms.string('SubsystemKeysOnly')
0072 
0073 # xxxKey = csctfKey, dttfKey, rpcKey, gmtKey, rctKey, gctKey, gtKey, or tsp0Key
0074 process.L1TriggerKeyDummy.gmtKey = cms.string('test20080429')
0075 
0076 # Subclass of L1ObjectKeysOnlineProdBase.
0077 process.load("L1TriggerConfig.GMTConfigProducers.L1MuGMTParametersKeysOnlineProd_cfi")
0078 process.L1MuGMTParametersKeysOnlineProd.subsystemLabel = cms.string('softwareConfig')
0079 process.load("L1TriggerConfig.L1ScalesProducers.L1MuTriggerScaleKeysOnlineProd_cfi")
0080 process.L1MuTriggerScaleKeysOnlineProd.subsystemLabel = cms.string('scales')
0081 
0082 process.load("CondTools.L1Trigger.L1TriggerKeyOnline_cfi")
0083 process.L1TriggerKeyOnline.subsystemLabels = cms.vstring('softwareConfig', 'scales')
0084 
0085 # # Alternative 3:
0086 # # For a known TSC key (MyTSCKey):
0087 # # [x] Works!
0088 
0089 # print "Specifying TSC key"
0090 # process.load("CondTools.L1Trigger.L1SubsystemKeysOnline_cfi")
0091 # process.L1SubsystemKeysOnline.tscKey = cms.string( 'TSC_CRUZET2_080613_GTmuon_GMTDTRPC5CSC5_CSCclosedwindow_DTTFtopbot_RPC_LUM_GCT_RCTH' )
0092  
0093 # # Subclass of L1ObjectKeysOnlineProdBase.
0094 # process.load("L1TriggerConfig.GMTConfigProducers.L1MuGMTParametersKeysOnlineProd_cfi")
0095 # process.L1MuGMTParametersKeysOnlineProd.subsystemLabel = cms.string('softwareConfig')
0096 # process.load("L1TriggerConfig.L1ScalesProducers.L1MuTriggerScaleKeysOnlineProd_cfi")
0097 # process.L1MuTriggerScaleKeysOnlineProd.subsystemLabel = cms.string('scales')
0098 
0099 # process.load("CondTools.L1Trigger.L1TriggerKeyOnline_cfi")
0100 # process.L1TriggerKeyOnline.subsystemLabels = cms.vstring('softwareConfig', 'scales')
0101 
0102 ######################
0103 # GMT emulator setup #
0104 ######################
0105 
0106 # load external parameter data (TODO: Get this from DB as well)
0107 process.load("L1TriggerConfig.L1GeometryProducers.l1CaloGeometry_cfi")
0108 process.load("L1TriggerConfig.L1GeometryProducers.l1CaloGeomRecordSource_cff")
0109 
0110 # load online producers for scales
0111 process.load("L1TriggerConfig.L1ScalesProducers.L1MuTriggerScalesOnlineProducer_cfi")
0112 process.load("L1TriggerConfig.L1ScalesProducers.L1MuTriggerPtScaleOnlineProducer_cfi")
0113 
0114 process.load("L1TriggerConfig.L1ScalesProducers.L1MuGMTScalesConfig_cff")
0115 
0116 # load online producer for GMT parameters
0117 process.load("L1TriggerConfig.GMTConfigProducers.L1MuGMTParametersOnlineProducer_cfi")
0118 
0119 # ignore CMSSW version mismatches!
0120 process.L1MuGMTParametersOnlineProducer.ignoreVersionMismatch = True
0121 
0122 # load the GMT simulator 
0123 print("Before load")
0124 process.load("L1Trigger.GlobalMuonTrigger.gmtDigis_cfi")
0125 print("After load")
0126 
0127 # Clear event data
0128 process.gmtDigis.DTCandidates = cms.InputTag("none", "")
0129 process.gmtDigis.CSCCandidates = cms.InputTag("none", "")
0130 process.gmtDigis.RPCbCandidates = cms.InputTag("none", "")
0131 process.gmtDigis.RPCfCandidates = cms.InputTag("none", "")
0132 
0133 # GMT emulator debugging
0134 process.gmtDigis.Debug = cms.untracked.int32(1)
0135 
0136 # Tell the emulator to generate LUTs
0137 process.gmtDigis.WriteLUTsAndRegs = cms.untracked.bool(True)
0138 
0139 # And run!
0140 process.path = cms.Path(process.gmtDigis)
0141 
0142 process.source = cms.Source("EmptyIOVSource",
0143     timetype = cms.string('runnumber'),
0144     firstValue = cms.uint64(1),
0145     lastValue = cms.uint64(1),
0146     interval = cms.uint64(1)
0147 )
0148 
0149 
0150