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