Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:03:45

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 ## L1REPACK: redo GCT,GT, using Run-1 or Run-2 input, making Run-2 output
0004 
0005 # If the Stage 1 trigger is running, there is also some different configuration.
0006 # Note that this next file does nothing if the stage1L1Trigger era is not active, so
0007 # it is safe to import even if the Stage 1 trigger is not required. It *MUST* be
0008 # imported into this namespace, i.e. "from <module> import *".
0009 from L1Trigger.Configuration.ConditionalStage1Configuration_cff import *
0010 
0011 ##
0012 ## run the L1 unpackers
0013 ##
0014 
0015 import EventFilter.L1GlobalTriggerRawToDigi.l1GtUnpack_cfi
0016 unpackGtDigis = EventFilter.L1GlobalTriggerRawToDigi.l1GtUnpack_cfi.l1GtUnpack.clone(
0017     DaqGtInputTag = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess())
0018 )
0019 
0020 import EventFilter.CastorRawToDigi.CastorRawToDigi_cfi
0021 unpackCastorDigis = EventFilter.CastorRawToDigi.CastorRawToDigi_cfi.castorDigis.clone(
0022     InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess())
0023 )
0024 
0025 ##
0026 ## run the L1 emulator
0027 ##
0028 
0029 from Configuration.ProcessModifiers.gpu_cff import gpu
0030 from Configuration.ProcessModifiers.alpaka_cff import alpaka
0031 
0032 from L1Trigger.L1TCalorimeter.L1TCaloStage1_PPFromRaw_cff import *
0033 from EventFilter.EcalRawToDigi.ecalDigis_cff import ecalDigisCPU, ecalDigisGPU, ecalDigisPortable
0034 ecalDigisCPU.InputLabel = cms.InputTag('rawDataCollector', processName=cms.InputTag.skipCurrentProcess())
0035 gpu.toModify(ecalDigisGPU, InputLabel = cms.InputTag('rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0036 alpaka.toModify(ecalDigisPortable, InputLabel = cms.InputTag('rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
0037 hcalDigis.InputLabel = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess())
0038 simHcalTriggerPrimitiveDigis.InputTagFEDRaw = cms.InputTag( 'rawDataCollector', processName=cms.InputTag.skipCurrentProcess())
0039 
0040 import L1Trigger.GlobalTrigger.gtDigis_cfi
0041 newGtDigis = L1Trigger.GlobalTrigger.gtDigis_cfi.gtDigis.clone(
0042     AlgorithmTriggersUnprescaled= cms.bool(True),
0043     TechnicalTriggersUnprescaled= cms.bool(True),
0044     GmtInputTag                 = cms.InputTag( 'unpackGtDigis' ),
0045     GctInputTag                 = cms.InputTag( 'simCaloStage1LegacyFormatDigis' ),
0046     CastorInputTag              = cms.InputTag( 'unpackCastorDigis' ),
0047     TechnicalTriggersInputTags  = cms.VInputTag()
0048 )
0049 
0050 ##
0051 ## pack GCT FEDs
0052 ##
0053 
0054 import EventFilter.GctRawToDigi.gctDigiToRaw_cfi
0055 packGctDigis = EventFilter.GctRawToDigi.gctDigiToRaw_cfi.gctDigiToRaw.clone(
0056   gctInputLabel = cms.InputTag( 'simCaloStage1LegacyFormatDigis' )
0057 )
0058 
0059 import L1Trigger.L1TCommon.l1tDigiToRaw_cfi
0060 packL1tDigis = L1Trigger.L1TCommon.l1tDigiToRaw_cfi.l1tDigiToRaw.clone(
0061   InputLabel = cms.InputTag("simCaloStage1FinalDigis"),
0062   TauInputLabel = cms.InputTag("simCaloStage1FinalDigis", "rlxTaus"),
0063   IsoTauInputLabel = cms.InputTag("simCaloStage1FinalDigis", "isoTaus"),
0064   HFBitCountsInputLabel = cms.InputTag("simCaloStage1FinalDigis", "HFBitCounts"),
0065   HFRingSumsInputLabel = cms.InputTag("simCaloStage1FinalDigis", "HFRingSums")
0066 )
0067 
0068 ##
0069 ## repack FEDs 812 and 813
0070 ##
0071 
0072 import EventFilter.L1GlobalTriggerRawToDigi.l1GtPack_cfi
0073 packL1Gt = EventFilter.L1GlobalTriggerRawToDigi.l1GtPack_cfi.l1GtPack.clone(
0074     DaqGtInputTag    = 'newGtDigis',
0075     MuGmtInputTag    = 'unpackGtDigis'
0076 )
0077 import EventFilter.L1GlobalTriggerRawToDigi.l1GtEvmPack_cfi
0078 packL1GtEvm = EventFilter.L1GlobalTriggerRawToDigi.l1GtEvmPack_cfi.l1GtEvmPack.clone(
0079     EvmGtInputTag = 'newGtDigis'
0080 )
0081 
0082 ##
0083 ## combine the new L1 RAW with existing RAW for other FEDs
0084 ##
0085 
0086 import EventFilter.RawDataCollector.rawDataCollectorByLabel_cfi
0087 rawDataCollector = EventFilter.RawDataCollector.rawDataCollectorByLabel_cfi.rawDataCollector.clone(
0088     verbose = cms.untracked.int32(0),
0089     RawCollectionList = cms.VInputTag(
0090         cms.InputTag('packGctDigis'),
0091         cms.InputTag('packL1tDigis'),
0092         cms.InputTag('packL1Gt'),
0093         cms.InputTag('packL1GtEvm'),
0094         cms.InputTag('rawDataCollector', processName=cms.InputTag.skipCurrentProcess())
0095     )
0096 )
0097 
0098 ##
0099 ## construct SimL1Emulator sequence
0100 ##
0101 
0102 SimL1EmulatorTask = cms.Task(
0103       unpackGtDigis      ,
0104       unpackCastorDigis  ,
0105       L1TCaloStage1_PPFromRawTask ,
0106       newGtDigis         ,
0107       packGctDigis       ,
0108       packL1tDigis       ,
0109       packL1Gt           ,
0110       packL1GtEvm        ,
0111       rawDataCollector
0112 )
0113 SimL1Emulator = cms.Sequence(SimL1EmulatorTask)