Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-28 23:10:45

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 ## L1REPACK FullSimTP : Re-Emulate all of L1 and repack into RAW
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:FullSimTP (intended for data) 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:FullSimTP (intended for data) will unpack all L1T inputs, re-emulate Trigger Primitives, re-emulate L1T (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output."))
0012 
0013 # First, Unpack all inputs to L1:
0014 import EventFilter.L1TRawToDigi.bmtfDigis_cfi
0015 unpackBmtf = EventFilter.L1TRawToDigi.bmtfDigis_cfi.bmtfDigis.clone(
0016     InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0017 
0018 import EventFilter.L1TRawToDigi.omtfStage2Digis_cfi
0019 unpackOmtf = EventFilter.L1TRawToDigi.omtfStage2Digis_cfi.omtfStage2Digis.clone(
0020     inputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0021         
0022 import EventFilter.L1TRawToDigi.emtfStage2Digis_cfi
0023 unpackEmtf = EventFilter.L1TRawToDigi.emtfStage2Digis_cfi.emtfStage2Digis.clone(
0024     InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0025 
0026 import EventFilter.CSCRawToDigi.cscUnpacker_cfi
0027 unpackCSC = EventFilter.CSCRawToDigi.cscUnpacker_cfi.muonCSCDigis.clone(
0028     InputObjects = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0029 
0030 import EventFilter.DTRawToDigi.dtunpacker_cfi
0031 unpackDT = EventFilter.DTRawToDigi.dtunpacker_cfi.muonDTDigis.clone(
0032     inputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0033 
0034 import EventFilter.RPCRawToDigi.rpcUnpacker_cfi
0035 unpackRPC = EventFilter.RPCRawToDigi.rpcUnpacker_cfi.rpcunpacker.clone(
0036     InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0037 
0038 import EventFilter.GEMRawToDigi.muonGEMDigis_cfi
0039 unpackGEM = EventFilter.GEMRawToDigi.muonGEMDigis_cfi.muonGEMDigis.clone(
0040     InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0041 
0042 import EventFilter.EcalRawToDigi.EcalUnpackerData_cfi
0043 unpackEcal = EventFilter.EcalRawToDigi.EcalUnpackerData_cfi.ecalEBunpacker.clone(
0044     InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0045 
0046 import EventFilter.HcalRawToDigi.HcalRawToDigi_cfi
0047 unpackHcal = EventFilter.HcalRawToDigi.HcalRawToDigi_cfi.hcalDigis.clone(
0048     InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0049 
0050 # Second, Re-Emulate the entire L1T
0051 
0052 from SimCalorimetry.EcalTrigPrimProducers.ecalTriggerPrimitiveDigis_cfi import *
0053 #from L1Trigger.Configuration.CaloTriggerPrimitives_cff import *
0054 simEcalTriggerPrimitiveDigis.InstanceEB = 'ebDigis'
0055 simEcalTriggerPrimitiveDigis.InstanceEE = 'eeDigis'
0056 simEcalTriggerPrimitiveDigis.Label = 'unpackEcal'
0057 from SimCalorimetry.HcalTrigPrimProducers.hcaltpdigi_cff import *
0058 simHcalTriggerPrimitiveDigis.inputLabel = [
0059     'unpackHcal',
0060     'unpackHcal'
0061 ]
0062 simHcalTriggerPrimitiveDigis.inputUpgradeLabel = [
0063     'unpackHcal',     # upgrade HBHE
0064     'unpackHcal'      # upgrade HF
0065 ]
0066 
0067 from L1Trigger.Configuration.SimL1Emulator_cff import *
0068     
0069 simDtTriggerPrimitiveDigis.digiTag = 'unpackDT'
0070 simCscTriggerPrimitiveDigis.CSCComparatorDigiProducer = 'unpackCSC:MuonCSCComparatorDigi'
0071 simCscTriggerPrimitiveDigis.CSCWireDigiProducer       = 'unpackCSC:MuonCSCWireDigi'
0072 
0073 # GEM-CSC
0074 simMuonGEMPadDigis.InputCollection = "unpackGEM"
0075 
0076 # TwinMux
0077 simTwinMuxDigis.RPC_Source         = 'unpackRPC'
0078 simTwinMuxDigis.DTDigi_Source      = "simDtTriggerPrimitiveDigis"  # DEFAULT
0079 simTwinMuxDigis.DTThetaDigi_Source = "simDtTriggerPrimitiveDigis"  # DEFAULT
0080 
0081 # BMTF
0082 # simBmtfDigis.DTDigi_Source       = "simTwinMuxDigis"               # DEFAULT, use re-emulated TPs
0083 # simBmtfDigis.DTDigi_Theta_Source = "simTwinMuxDigis"               # DEFAULT, use re-emulated TPs
0084 
0085 simBmtfDigis.DTDigi_Source       = "unpackBmtf"                     # use unpacked TF inputs
0086 simBmtfDigis.DTDigi_Theta_Source = "unpackBmtf"                     # use unpacked TF inputs
0087 
0088 # KBMTF
0089 # simKBmtfStubs.srcPhi             = "simTwinMuxDigis"                # DEFAULT, use re-emulated TPs
0090 # simKBmtfStubs.srcTheta           = "simDtTriggerPrimitiveDigis"     # DEFAULT, use re-emulated TPs
0091 
0092 simKBmtfStubs.srcPhi             = "unpackBmtf"                     # use unpacked TF inputs
0093 simKBmtfStubs.srcTheta           = "unpackBmtf"                     # use unpacked TF inputs
0094 
0095 simKBmtfDigis.src                = "simKBmtfStubs"                  # DEFAULT, use re-emulated Stubs
0096 
0097 # OMTF
0098 # simOmtfDigis.srcRPC              = 'unpackRPC'                     # we don't re-emulate RPCs in data
0099 # simOmtfDigis.srcDTPh             = "simDtTriggerPrimitiveDigis"    # DEFAULT, use re-emulated TPs
0100 # simOmtfDigis.srcDTTh             = "simDtTriggerPrimitiveDigis"    # DEFAULT, use re-emulated TPs
0101 # simOmtfDigis.srcCSC              = "simCscTriggerPrimitiveDigis"   # DEFAULT, use re-emulated TPs
0102 
0103 simOmtfDigis.srcRPC              = 'unpackOmtf'                 # use unpacked TF inputs
0104 simOmtfDigis.srcDTPh             = "unpackOmtf"                 # use unpacked TF inputs
0105 simOmtfDigis.srcDTTh             = "unpackOmtf"                 # use unpacked TF inputs
0106 simOmtfDigis.srcCSC              = "unpackOmtf"                 # use unpacked TF inputs
0107 
0108 # EMTF
0109 # simEmtfDigis.CSCInput            = "simCscTriggerPrimitiveDigis"     # DEFAULT, use re-emulated TPs
0110 # simEmtfDigis.GEMInput            = "simMuonGEMPadDigiClusters"       # DEFAULT, use re-emulated TPs
0111 # simEmtfDigis.RPCInput            = 'unpackRPC'                       # we don't re-emulate RPCs in data
0112 
0113 simEmtfDigis.CSCInput            = "unpackEmtf"                  # use unpacked TF inputs
0114 simEmtfDigis.RPCInput            = 'unpackEmtf'                  # use unpacked TF inputs
0115 simEmtfDigis.GEMInput            = 'unpackEmtf'                  # use unpacked TF inputs
0116 simEmtfDigis.CPPFInput           = 'unpackEmtf'                  # use unpacked TF inputs
0117 simEmtfDigis.CPPFEnable          = True                          # we use CPPF inputs in data    
0118 
0119 # Calo Layer-1
0120 simCaloStage2Layer1Digis.ecalToken = 'simEcalTriggerPrimitiveDigis'  # DEFAULT
0121 simCaloStage2Layer1Digis.hcalToken = 'simHcalTriggerPrimitiveDigis'  # DEFAULT
0122 
0123 # Finally, pack the new L1T output back into RAW
0124     
0125 from EventFilter.L1TRawToDigi.caloStage2Raw_cfi import caloStage2Raw as packCaloStage2
0126 from EventFilter.L1TRawToDigi.gmtStage2Raw_cfi import gmtStage2Raw as packGmtStage2
0127 from EventFilter.L1TRawToDigi.gtStage2Raw_cfi import gtStage2Raw as packGtStage2
0128 
0129 # combine the new L1 RAW with existing RAW for other FEDs
0130 import EventFilter.RawDataCollector.rawDataCollectorByLabel_cfi
0131 rawDataCollector = EventFilter.RawDataCollector.rawDataCollectorByLabel_cfi.rawDataCollector.clone(
0132     verbose = 0,
0133     RawCollectionList = [
0134         'packCaloStage2',
0135         'packGmtStage2',
0136         'packGtStage2',
0137         cms.InputTag('rawDataCollector', processName=cms.InputTag.skipCurrentProcess()),
0138         ]
0139     )
0140 
0141 
0142 SimL1EmulatorTask = cms.Task()
0143 stage2L1Trigger.toReplaceWith(SimL1EmulatorTask, cms.Task(unpackEcal,unpackHcal,unpackCSC,unpackDT,unpackRPC,unpackEmtf,unpackBmtf,unpackOmtf
0144                                  ,simEcalTriggerPrimitiveDigis
0145                                  ,simHcalTriggerPrimitiveDigis
0146                                  ,SimL1EmulatorCoreTask,packCaloStage2
0147                                  ,packGmtStage2,packGtStage2,rawDataCollector))
0148 
0149 _SimL1EmulatorTaskWithGEM = SimL1EmulatorTask.copy()
0150 _SimL1EmulatorTaskWithGEM.add(unpackGEM)
0151 (stage2L1Trigger & run3_GEM).toReplaceWith(SimL1EmulatorTask, _SimL1EmulatorTaskWithGEM)
0152 
0153 SimL1Emulator = cms.Sequence(SimL1EmulatorTask)