1 from __future__
import print_function
2 import FWCore.ParameterSet.Config
as cms
7 from Configuration.Eras.Modifier_stage2L1Trigger_cff
import stage2L1Trigger
8 from Configuration.Eras.Modifier_stage2L1Trigger_2017_cff
import stage2L1Trigger_2017
11 print(
"L1T WARN: L1REPACK:Full (intended for 2016 data) only supports Stage 2 eras for now.")
12 print(
"L1T WARN: Use a legacy version of L1REPACK for now.")
13 stage2L1Trigger.toModify(
None, _print)
14 (~stage2L1Trigger).toModify(
None,
lambda x:
print(
"L1T INFO: L1REPACK:Full (intended for 2016 & 2017 data) will unpack all L1T inputs, re-emulated (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output."))
19 unpackTcds = EventFilter.Utilities.tcdsRawToDigi_cfi.tcdsRawToDigi.clone(
20 InputLabel = cms.InputTag(
'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
22 import EventFilter.L1TRawToDigi.bmtfDigis_cfi
23 unpackBmtf = EventFilter.L1TRawToDigi.bmtfDigis_cfi.bmtfDigis.clone(
24 InputLabel = cms.InputTag(
'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
26 import EventFilter.DTTFRawToDigi.dttfunpacker_cfi
27 unpackDttf = EventFilter.DTTFRawToDigi.dttfunpacker_cfi.dttfunpacker.clone(
28 DTTF_FED_Source = cms.InputTag(
'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
30 import EventFilter.L1TRawToDigi.omtfStage2Digis_cfi
31 unpackOmtf = EventFilter.L1TRawToDigi.omtfStage2Digis_cfi.omtfStage2Digis.clone(
32 inputLabel = cms.InputTag(
'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
34 import EventFilter.L1TRawToDigi.emtfStage2Digis_cfi
35 unpackEmtf = EventFilter.L1TRawToDigi.emtfStage2Digis_cfi.emtfStage2Digis.clone(
36 InputLabel = cms.InputTag(
'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
38 import EventFilter.CSCTFRawToDigi.csctfunpacker_cfi
39 unpackCsctf = EventFilter.CSCTFRawToDigi.csctfunpacker_cfi.csctfunpacker.clone(
40 producer = cms.InputTag(
'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
43 unpackCSC = EventFilter.CSCRawToDigi.cscUnpacker_cfi.muonCSCDigis.clone(
44 InputObjects = cms.InputTag(
'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
47 unpackDT = EventFilter.DTRawToDigi.dtunpacker_cfi.muonDTDigis.clone(
48 inputLabel = cms.InputTag(
'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
51 unpackRPC = EventFilter.RPCRawToDigi.rpcUnpacker_cfi.rpcunpacker.clone(
52 InputLabel = cms.InputTag(
'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
54 import EventFilter.RPCRawToDigi.rpcTwinMuxRawToDigi_cfi
55 unpackRPCTwinMux = EventFilter.RPCRawToDigi.rpcTwinMuxRawToDigi_cfi.rpcTwinMuxRawToDigi.clone(
56 inputTag = cms.InputTag(
'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
59 unpackTwinMux = EventFilter.L1TXRawToDigi.twinMuxStage2Digis_cfi.twinMuxStage2Digis.clone(
60 DTTM7_FED_Source = cms.InputTag(
'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
62 import EventFilter.EcalRawToDigi.EcalUnpackerData_cfi
63 unpackEcal = EventFilter.EcalRawToDigi.EcalUnpackerData_cfi.ecalEBunpacker.clone(
64 InputLabel = cms.InputTag(
'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
66 import EventFilter.HcalRawToDigi.HcalRawToDigi_cfi
67 unpackHcal = EventFilter.HcalRawToDigi.HcalRawToDigi_cfi.hcalDigis.clone(
68 InputLabel = cms.InputTag(
'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
70 import EventFilter.L1TXRawToDigi.caloLayer1Stage2Digis_cfi
71 unpackLayer1 = EventFilter.L1TXRawToDigi.caloLayer1Stage2Digis_cfi.l1tCaloLayer1Digis.clone(
72 fedRawDataLabel = cms.InputTag(
'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
77 simHcalTriggerPrimitiveDigis.inputLabel = [
81 simHcalTriggerPrimitiveDigis.inputUpgradeLabel = [
88 simDtTriggerPrimitiveDigis.digiTag =
'unpackDT' 89 simCscTriggerPrimitiveDigis.CSCComparatorDigiProducer =
'unpackCSC:MuonCSCComparatorDigi' 90 simCscTriggerPrimitiveDigis.CSCWireDigiProducer =
'unpackCSC:MuonCSCWireDigi' 92 simTwinMuxDigis.RPC_Source =
'unpackRPCTwinMux' 93 simTwinMuxDigis.DTDigi_Source =
"unpackTwinMux:PhIn" 94 simTwinMuxDigis.DTThetaDigi_Source =
"unpackTwinMux:ThIn" 98 cutlist=[
'simDtTriggerPrimitiveDigis',
'simCscTriggerPrimitiveDigis']
100 SimL1EmulatorCore.remove(b)
104 simBmtfDigis.DTDigi_Source =
"simTwinMuxDigis" 105 simBmtfDigis.DTDigi_Theta_Source =
"unpackBmtf" 108 simOmtfDigis.srcRPC =
'unpackRPC' 109 simOmtfDigis.srcDTPh =
"unpackBmtf" 110 simOmtfDigis.srcDTTh =
"unpackBmtf" 111 simOmtfDigis.srcCSC =
"unpackCsctf" 112 stage2L1Trigger_2017.toModify(simOmtfDigis,
113 srcRPC =
'unpackOmtf',
114 srcCSC =
'unpackOmtf',
115 srcDTPh =
'unpackOmtf',
116 srcDTTh =
'unpackOmtf' 120 simEmtfDigis.CSCInput =
"unpackEmtf" 121 simEmtfDigis.RPCInput =
'unpackRPC' 123 simCaloStage2Layer1Digis.ecalToken =
'unpackEcal:EcalTriggerPrimitives' 124 simCaloStage2Layer1Digis.hcalToken =
'unpackLayer1' 128 stage2L1Trigger_2017.toModify(simGtExtFakeStage2Digis,
129 tcdsRecordLabel= cms.InputTag(
"unpackTcds",
"tcdsRecord")
131 stage2L1Trigger.toModify(simGtExtFakeStage2Digis,
132 tcdsRecordLabel= cms.InputTag(
"unpackTcds",
"tcdsRecord")
142 import EventFilter.RawDataCollector.rawDataCollectorByLabel_cfi
143 rawDataCollector = EventFilter.RawDataCollector.rawDataCollectorByLabel_cfi.rawDataCollector.clone(
145 RawCollectionList = [
149 cms.InputTag(
'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()),
154 SimL1EmulatorTask = cms.Task()
155 stage2L1Trigger.toReplaceWith(SimL1EmulatorTask, cms.Task(unpackEcal,unpackHcal,unpackCSC,unpackDT,unpackRPC,unpackRPCTwinMux,unpackTwinMux,unpackOmtf,unpackEmtf,unpackCsctf,unpackBmtf
158 ,SimL1EmulatorCoreTask,packCaloStage2
159 ,packGmtStage2,packGtStage2,rawDataCollector))
160 SimL1Emulator = cms.Sequence(SimL1EmulatorTask)
S & print(S &os, JobReport::InputFile const &f)