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 Full2015Data : Re-Emulate all of L1 and repack into RAW
0004 
0005 from Configuration.Eras.Modifier_stage2L1Trigger_cff import stage2L1Trigger
0006 
0007 (~stage2L1Trigger).toModify(None, lambda x:
0008     print("# L1T WARN:  L1REPACK:Full2015Data only supports Stage-2 eras for now.\n# L1T WARN:  Use a legacy version of L1REPACK for now."))
0009 stage2L1Trigger.toModify(None, lambda x:
0010     print("# L1T INFO:  L1REPACK:Full2015Data will unpack all L1T inputs, re-emulated (Stage-2), and pack uGT, uGMT, and Calo Stage-2 output."))
0011 
0012 # First, Unpack all inputs to L1:
0013 import EventFilter.DTTFRawToDigi.dttfunpacker_cfi
0014 unpackDttf = EventFilter.DTTFRawToDigi.dttfunpacker_cfi.dttfunpacker.clone(
0015     DTTF_FED_Source = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0016 
0017 import EventFilter.CSCTFRawToDigi.csctfunpacker_cfi
0018 unpackCsctf = EventFilter.CSCTFRawToDigi.csctfunpacker_cfi.csctfunpacker.clone(
0019     producer = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0020 
0021 import EventFilter.CSCRawToDigi.cscUnpacker_cfi
0022 unpackCSC = EventFilter.CSCRawToDigi.cscUnpacker_cfi.muonCSCDigis.clone(
0023     InputObjects = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0024 
0025 import EventFilter.DTRawToDigi.dtunpacker_cfi
0026 unpackDT = EventFilter.DTRawToDigi.dtunpacker_cfi.muonDTDigis.clone(
0027     inputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0028 
0029 import EventFilter.RPCRawToDigi.rpcUnpacker_cfi
0030 unpackRPC = EventFilter.RPCRawToDigi.rpcUnpacker_cfi.rpcunpacker.clone(
0031     InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0032 
0033 import EventFilter.EcalRawToDigi.EcalUnpackerData_cfi
0034 unpackEcal = EventFilter.EcalRawToDigi.EcalUnpackerData_cfi.ecalEBunpacker.clone(
0035     InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0036 
0037 import EventFilter.HcalRawToDigi.HcalRawToDigi_cfi
0038 unpackHcal = EventFilter.HcalRawToDigi.HcalRawToDigi_cfi.hcalDigis.clone(
0039     InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0040 
0041 # Second, Re-Emulate the entire L1T
0042 
0043 # NOTE:  2016 HCAL HF TPs require a new emulation
0044 from SimCalorimetry.HcalTrigPrimProducers.hcaltpdigi_cff import *
0045 simHcalTriggerPrimitiveDigis.inputLabel = [
0046     'unpackHcal',
0047     'unpackHcal'
0048 ]
0049 
0050 from L1Trigger.Configuration.SimL1Emulator_cff import *
0051 simDtTriggerPrimitiveDigis.digiTag = 'unpackDT'
0052 simCscTriggerPrimitiveDigis.CSCComparatorDigiProducer = 'unpackCSC:MuonCSCComparatorDigi'
0053 simCscTriggerPrimitiveDigis.CSCWireDigiProducer       = 'unpackCSC:MuonCSCWireDigi'
0054 
0055 simTwinMuxDigis.RPC_Source = 'unpackRPC'
0056 simTwinMuxDigis.DTDigi_Source = "unpackDttf"
0057 simTwinMuxDigis.DTThetaDigi_Source = "unpackDttf"
0058 
0059 # BMTF
0060 simBmtfDigis.DTDigi_Source       = "simTwinMuxDigis"
0061 simBmtfDigis.DTDigi_Theta_Source = "unpackDttf"
0062 
0063 # OMTF
0064 simOmtfDigis.srcRPC                = 'unpackRPC'
0065 simOmtfDigis.srcDTPh               = "unpackDttf"
0066 simOmtfDigis.srcDTTh               = "unpackDttf"
0067 simOmtfDigis.srcCSC                = "unpackCsctf"
0068 
0069 # EMTF
0070 simEmtfDigis.CSCInput              = "unpackCsctf"
0071 simEmtfDigis.RPCInput              = 'unpackRPC'
0072 
0073 simCaloStage2Layer1Digis.ecalToken = 'unpackEcal:EcalTriggerPrimitives'
0074 simCaloStage2Layer1Digis.hcalToken = 'simHcalTriggerPrimitiveDigis'
0075 
0076 
0077 # Finally, pack the new L1T output back into RAW
0078     
0079 from EventFilter.L1TRawToDigi.caloStage2Raw_cfi import caloStage2Raw as packCaloStage2
0080 from EventFilter.L1TRawToDigi.gmtStage2Raw_cfi import gmtStage2Raw as packGmtStage2
0081 from EventFilter.L1TRawToDigi.gtStage2Raw_cfi import gtStage2Raw as packGtStage2
0082 
0083 # combine the new L1 RAW with existing RAW for other FEDs
0084 import EventFilter.RawDataCollector.rawDataCollectorByLabel_cfi
0085 rawDataCollector = EventFilter.RawDataCollector.rawDataCollectorByLabel_cfi.rawDataCollector.clone(
0086     verbose = 0,
0087     RawCollectionList = [
0088         'packCaloStage2',
0089         'packGmtStage2',
0090         'packGtStage2',
0091         cms.InputTag('rawDataCollector', processName=cms.InputTag.skipCurrentProcess()),
0092         ]
0093     )
0094 
0095 
0096 SimL1EmulatorTask = cms.Task()
0097 stage2L1Trigger.toReplaceWith(SimL1EmulatorTask, cms.Task(unpackEcal,unpackHcal,unpackCSC,unpackDT,unpackRPC,unpackDttf,unpackCsctf
0098                                  ,simHcalTriggerPrimitiveDigis,SimL1EmulatorCoreTask,packCaloStage2
0099                                  ,packGmtStage2,packGtStage2,rawDataCollector))
0100 SimL1Emulator = cms.Sequence(SimL1EmulatorTask)