File indexing completed on 2023-03-17 10:49:11
0001 from __future__ import print_function
0002 import FWCore.ParameterSet.Config as cms
0003
0004
0005
0006 from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger
0007 from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
0008
0009 (~stage2L1Trigger).toModify(None, lambda x:
0010 print("# L1T WARN: L1REPACK:FullMC (intended for MC events with RAW eventcontent) only supports Stage-2 eras for now.\n# L1T WARN: Use a legacy version of L1REPACK for now."))
0011 stage2L1Trigger.toModify(None, lambda x:
0012 print("# L1T INFO: L1REPACK:FullMC will unpack Calorimetry and Muon L1T inputs, re-emulate L1T (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output."))
0013
0014
0015
0016 import EventFilter.RPCRawToDigi.rpcUnpacker_cfi
0017 unpackRPC = EventFilter.RPCRawToDigi.rpcUnpacker_cfi.rpcunpacker.clone(
0018 InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0019
0020 import EventFilter.DTRawToDigi.dtunpacker_cfi
0021 unpackDT = EventFilter.DTRawToDigi.dtunpacker_cfi.muonDTDigis.clone(
0022 inputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0023
0024 import EventFilter.CSCRawToDigi.cscUnpacker_cfi
0025 unpackCSC = EventFilter.CSCRawToDigi.cscUnpacker_cfi.muonCSCDigis.clone(
0026 InputObjects = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0027
0028 import EventFilter.GEMRawToDigi.muonGEMDigis_cfi
0029 unpackGEM = EventFilter.GEMRawToDigi.muonGEMDigis_cfi.muonGEMDigis.clone(
0030 InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0031
0032 import EventFilter.EcalRawToDigi.EcalUnpackerData_cfi
0033 unpackEcal = EventFilter.EcalRawToDigi.EcalUnpackerData_cfi.ecalEBunpacker.clone(
0034 InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0035
0036 import EventFilter.HcalRawToDigi.HcalRawToDigi_cfi
0037 unpackHcal = EventFilter.HcalRawToDigi.HcalRawToDigi_cfi.hcalDigis.clone(
0038 InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0039
0040
0041
0042
0043
0044 from SimCalorimetry.Configuration.SimCalorimetry_cff import *
0045
0046
0047
0048
0049
0050
0051
0052 simHcalTriggerPrimitiveDigis.inputLabel = [
0053 'unpackHcal',
0054 'unpackHcal'
0055 ]
0056 simHcalTriggerPrimitiveDigis.inputUpgradeLabel = [
0057 'unpackHcal',
0058 'unpackHcal'
0059 ]
0060
0061 from L1Trigger.Configuration.SimL1Emulator_cff import *
0062
0063 simDtTriggerPrimitiveDigis.digiTag = 'unpackDT'
0064
0065 simCscTriggerPrimitiveDigis.CSCComparatorDigiProducer = 'unpackCSC:MuonCSCComparatorDigi'
0066 simCscTriggerPrimitiveDigis.CSCWireDigiProducer = 'unpackCSC:MuonCSCWireDigi'
0067
0068 (stage2L1Trigger & run3_GEM).toModify(simMuonGEMPadDigis, InputCollection = 'unpackGEM')
0069
0070
0071 simTwinMuxDigis.RPC_Source = 'unpackRPC'
0072 simTwinMuxDigis.DTDigi_Source = "simDtTriggerPrimitiveDigis"
0073 simTwinMuxDigis.DTThetaDigi_Source = "simDtTriggerPrimitiveDigis"
0074
0075
0076 simBmtfDigis.DTDigi_Source = "simTwinMuxDigis"
0077 simBmtfDigis.DTDigi_Theta_Source = "simDtTriggerPrimitiveDigis"
0078
0079
0080 simOmtfDigis.srcRPC = 'unpackRPC'
0081 simOmtfDigis.srcDTPh = "simDtTriggerPrimitiveDigis"
0082 simOmtfDigis.srcDTTh = "simDtTriggerPrimitiveDigis"
0083 simOmtfDigis.srcCSC = 'simCscTriggerPrimitiveDigis:MPCSORTED'
0084
0085
0086 simEmtfDigis.CSCInput = 'simCscTriggerPrimitiveDigis:MPCSORTED'
0087 simEmtfDigis.RPCInput = 'unpackRPC'
0088
0089
0090 simCaloStage2Layer1Digis.ecalToken = 'unpackEcal:EcalTriggerPrimitives'
0091 simCaloStage2Layer1Digis.hcalToken = 'simHcalTriggerPrimitiveDigis'
0092
0093
0094 from EventFilter.L1TRawToDigi.caloStage2Raw_cfi import caloStage2Raw as packCaloStage2
0095 from EventFilter.L1TRawToDigi.gmtStage2Raw_cfi import gmtStage2Raw as packGmtStage2
0096 from EventFilter.L1TRawToDigi.gtStage2Raw_cfi import gtStage2Raw as packGtStage2
0097
0098
0099 import EventFilter.RawDataCollector.rawDataCollectorByLabel_cfi
0100 rawDataCollector = EventFilter.RawDataCollector.rawDataCollectorByLabel_cfi.rawDataCollector.clone(
0101 verbose = 0,
0102 RawCollectionList = [
0103 'packCaloStage2',
0104 'packGmtStage2',
0105 'packGtStage2',
0106 cms.InputTag('rawDataCollector', processName=cms.InputTag.skipCurrentProcess()),
0107 ]
0108 )
0109
0110 SimL1EmulatorTask = cms.Task()
0111 stage2L1Trigger.toReplaceWith(SimL1EmulatorTask, cms.Task(unpackRPC
0112 , unpackDT
0113 , unpackCSC
0114 , unpackEcal
0115 , unpackHcal
0116
0117 , simHcalTriggerPrimitiveDigis
0118 , SimL1EmulatorCoreTask
0119 , packCaloStage2
0120 , packGmtStage2
0121 , packGtStage2
0122 , rawDataCollector))
0123
0124 _SimL1EmulatorTaskWithGEM = SimL1EmulatorTask.copy()
0125 _SimL1EmulatorTaskWithGEM.add(unpackGEM)
0126 (stage2L1Trigger & run3_GEM).toReplaceWith(SimL1EmulatorTask, _SimL1EmulatorTaskWithGEM)
0127
0128 SimL1Emulator = cms.Sequence(SimL1EmulatorTask)