def L1TReEmulFromRAWLegacyMuon(process): process.load('L1Trigger.Configuration.SimL1Emulator_cff') process.load('L1Trigger.Configuration.CaloTriggerPrimitives_cff') process.simEcalTriggerPrimitiveDigis.Label = 'ecalDigis' process.simHcalTriggerPrimitiveDigis.inputLabel = cms.VInputTag( cms.InputTag('hcalDigis'), cms.InputTag('hcalDigis') ) ## - Legacy to upgrade format muon converter process.load('L1Trigger.L1TCommon.muonLegacyInStage2FormatDigis_cfi') process.muonLegacyInStage2FormatDigis.muonSource = cms.InputTag('simGmtDigis') ## - DT TP emulator from L1Trigger.DTTrigger.dtTriggerPrimitiveDigis_cfi import dtTriggerPrimitiveDigis process.simDtTriggerPrimitiveDigis = dtTriggerPrimitiveDigis.clone() process.simDtTriggerPrimitiveDigis.digiTag = cms.InputTag('muonDTDigis') ## - TwinMux from L1Trigger.L1TTwinMux.simTwinMuxDigis_cfi import simTwinMuxDigis process.simTwinMuxDigisForDttf = simTwinMuxDigis.clone() process.simTwinMuxDigisForDttf.RPC_Source = cms.InputTag('muonRPCDigis') process.simTwinMuxDigisForDttf.DTDigi_Source = cms.InputTag('bmtfDigis') process.simTwinMuxDigisForDttf.DTThetaDigi_Source = cms.InputTag('bmtfDigis') # Lookup tables for the CSC TP emulator process.load("CalibMuon.CSCCalibration.CSCL1TPLookupTableEP_cff") ## - CSC TP emulator from L1Trigger.CSCTriggerPrimitives.cscTriggerPrimitiveDigis_cfi import cscTriggerPrimitiveDigis process.simCscTriggerPrimitiveDigis = cscTriggerPrimitiveDigis.clone() process.simCscTriggerPrimitiveDigis.CSCComparatorDigiProducer = cms.InputTag( 'muonCSCDigis', 'MuonCSCComparatorDigi' ) process.simCscTriggerPrimitiveDigis.CSCWireDigiProducer = cms.InputTag( 'muonCSCDigis', 'MuonCSCWireDigi' ) # # - CSC Track Finder emulator # from L1Trigger.CSCTrackFinder.csctfTrackDigis_cfi import csctfTrackDigis process.simCsctfTrackDigis = csctfTrackDigis.clone() process.simCsctfTrackDigis.SectorReceiverInput = cms.untracked.InputTag( 'csctfDigis' ) process.simCsctfTrackDigis.DTproducer = 'simDtTriggerPrimitiveDigis' from L1Trigger.CSCTrackFinder.csctfDigis_cfi import csctfDigis process.simCsctfDigis = csctfDigis.clone() process.simCsctfDigis.CSCTrackProducer = 'simCsctfTrackDigis' ## ## - DT Track Finder emulator ## from L1Trigger.DTTrackFinder.dttfDigis_cfi import dttfDigis process.simDttfDigis = dttfDigis.clone() process.simDttfDigis.DTDigi_Source = 'simTwinMuxDigisForDttf' process.simDttfDigis.CSCStub_Source = 'simCsctfTrackDigis' ## ## - RPC PAC Trigger emulator ## from L1Trigger.RPCTrigger.rpcTriggerDigis_cff import rpcTriggerDigis process.load('L1Trigger.RPCTrigger.RPCConeConfig_cff') process.simRpcTriggerDigis = rpcTriggerDigis.clone() process.simRpcTriggerDigis.label = 'muonRPCDigis' process.simRpcTriggerDigis.RPCTriggerDebug = cms.untracked.int32(1) ## ## - Legacy Global Muon Trigger emulator ## from L1Trigger.GlobalMuonTrigger.gmtDigis_cfi import gmtDigis process.simGmtDigis = gmtDigis.clone() process.simGmtDigis.DTCandidates = cms.InputTag( 'simDttfDigis', 'DT' ) process.simGmtDigis.CSCCandidates = cms.InputTag( 'simCsctfDigis', 'CSC' ) process.simGmtDigis.RPCbCandidates = cms.InputTag( 'simRpcTriggerDigis', 'RPCb' ) process.simGmtDigis.RPCfCandidates = cms.InputTag( 'simRpcTriggerDigis', 'RPCf' ) # This is for the upgrade # BMTF process.simBmtfDigis.DTDigi_Source = cms.InputTag('bmtfDigis') process.simBmtfDigis.DTDigi_Theta_Source = cms.InputTag('bmtfDigis') # TwinMux process.simTwinMuxDigis.RPC_Source = cms.InputTag('muonRPCDigis') process.simTwinMuxDigis.DTDigi_Source = cms.InputTag('bmtfDigis') process.simTwinMuxDigis.DTThetaDigi_Source = cms.InputTag('bmtfDigis') # OMTF process.simOmtfDigis.srcRPC = cms.InputTag('muonRPCDigis') process.simOmtfDigis.srcCSC = cms.InputTag('csctfDigis') process.simOmtfDigis.srcDTPh = cms.InputTag('bmtfDigis') process.simOmtfDigis.srcDTTh = cms.InputTag('bmtfDigis') # EMTF process.simEmtfDigis.CSCInput = cms.InputTag('emtfStage2Digis') process.simEmtfDigis.RPCInput = cms.InputTag('muonRPCDigis') # Calo Layer1 process.simCaloStage2Layer1Digis.ecalToken = cms.InputTag('ecalDigis:EcalTriggerPrimitives') process.simCaloStage2Layer1Digis.hcalToken = cms.InputTag('hcalDigis:') # - Sequences process.L1TMuonTriggerPrimitives = cms.Sequence(process.simCscTriggerPrimitiveDigis + process.simDtTriggerPrimitiveDigis + process.simTwinMuxDigisForDttf) process.L1TReEmul = cms.Sequence(process.L1TMuonTriggerPrimitives + process.simCsctfTrackDigis + process.simCsctfDigis + process.simDttfDigis + process.simRpcTriggerDigis + process.simGmtDigis + process.muonLegacyInStage2FormatDigis) process.load('L1Trigger.L1TMuon.simMuonQualityAdjusterDigis_cfi') process.L1TReEmul = cms.Sequence( process.L1TReEmul + process.simTwinMuxDigis + process.simBmtfDigis + process.simEmtfDigis + process.simOmtfDigis + process.simGmtCaloSumDigis + process.simMuonQualityAdjusterDigis + process.simGmtStage2Digis) process.L1TReEmul = cms.Sequence( process.L1TReEmul + process.SimL1TechnicalTriggers + process.SimL1TGlobal ) process.L1TReEmulPath = cms.Path(process.L1TReEmul) process.schedule.append(process.L1TReEmulPath) print("# L1TReEmul sequence: ") print("# {0}".format(process.L1TReEmul)) print("# {0}".format(process.schedule)) return process
def L1TReEmulFromRAWLegacyMuon(process): process.load('L1Trigger.Configuration.SimL1Emulator_cff') process.load('L1Trigger.Configuration.CaloTriggerPrimitives_cff') process.simEcalTriggerPrimitiveDigis.Label = 'ecalDigis' process.simHcalTriggerPrimitiveDigis.inputLabel = cms.VInputTag( cms.InputTag('hcalDigis'), cms.InputTag('hcalDigis') ) ## - Legacy to upgrade format muon converter process.load('L1Trigger.L1TCommon.muonLegacyInStage2FormatDigis_cfi') process.muonLegacyInStage2FormatDigis.muonSource = cms.InputTag('simGmtDigis') ## - DT TP emulator from L1Trigger.DTTrigger.dtTriggerPrimitiveDigis_cfi import dtTriggerPrimitiveDigis process.simDtTriggerPrimitiveDigis = dtTriggerPrimitiveDigis.clone() process.simDtTriggerPrimitiveDigis.digiTag = cms.InputTag('muonDTDigis') ## - TwinMux from L1Trigger.L1TTwinMux.simTwinMuxDigis_cfi import simTwinMuxDigis process.simTwinMuxDigisForDttf = simTwinMuxDigis.clone() process.simTwinMuxDigisForDttf.RPC_Source = cms.InputTag('muonRPCDigis') process.simTwinMuxDigisForDttf.DTDigi_Source = cms.InputTag('bmtfDigis') process.simTwinMuxDigisForDttf.DTThetaDigi_Source = cms.InputTag('bmtfDigis') ## - CSC TP emulator from L1Trigger.CSCTriggerPrimitives.cscTriggerPrimitiveDigis_cfi import cscTriggerPrimitiveDigis process.simCscTriggerPrimitiveDigis = cscTriggerPrimitiveDigis.clone() process.simCscTriggerPrimitiveDigis.CSCComparatorDigiProducer = cms.InputTag( 'muonCSCDigis', 'MuonCSCComparatorDigi' ) process.simCscTriggerPrimitiveDigis.CSCWireDigiProducer = cms.InputTag( 'muonCSCDigis', 'MuonCSCWireDigi' ) # # - CSC Track Finder emulator # from L1Trigger.CSCTrackFinder.csctfTrackDigis_cfi import csctfTrackDigis process.simCsctfTrackDigis = csctfTrackDigis.clone() process.simCsctfTrackDigis.SectorReceiverInput = cms.untracked.InputTag( 'csctfDigis' ) process.simCsctfTrackDigis.DTproducer = 'simDtTriggerPrimitiveDigis' from L1Trigger.CSCTrackFinder.csctfDigis_cfi import csctfDigis process.simCsctfDigis = csctfDigis.clone() process.simCsctfDigis.CSCTrackProducer = 'simCsctfTrackDigis' ## ## - DT Track Finder emulator ## from L1Trigger.DTTrackFinder.dttfDigis_cfi import dttfDigis process.simDttfDigis = dttfDigis.clone() process.simDttfDigis.DTDigi_Source = 'simTwinMuxDigisForDttf' process.simDttfDigis.CSCStub_Source = 'simCsctfTrackDigis' ## ## - RPC PAC Trigger emulator ## from L1Trigger.RPCTrigger.rpcTriggerDigis_cff import rpcTriggerDigis process.load('L1Trigger.RPCTrigger.RPCConeConfig_cff') process.simRpcTriggerDigis = rpcTriggerDigis.clone() process.simRpcTriggerDigis.label = 'muonRPCDigis' process.simRpcTriggerDigis.RPCTriggerDebug = cms.untracked.int32(1) ## ## - Legacy Global Muon Trigger emulator ## from L1Trigger.GlobalMuonTrigger.gmtDigis_cfi import gmtDigis process.simGmtDigis = gmtDigis.clone() process.simGmtDigis.DTCandidates = cms.InputTag( 'simDttfDigis', 'DT' ) process.simGmtDigis.CSCCandidates = cms.InputTag( 'simCsctfDigis', 'CSC' ) process.simGmtDigis.RPCbCandidates = cms.InputTag( 'simRpcTriggerDigis', 'RPCb' ) process.simGmtDigis.RPCfCandidates = cms.InputTag( 'simRpcTriggerDigis', 'RPCf' ) # This is for the upgrade # BMTF process.simBmtfDigis.DTDigi_Source = cms.InputTag('bmtfDigis') process.simBmtfDigis.DTDigi_Theta_Source = cms.InputTag('bmtfDigis') # TwinMux process.simTwinMuxDigis.RPC_Source = cms.InputTag('muonRPCDigis') process.simTwinMuxDigis.DTDigi_Source = cms.InputTag('bmtfDigis') process.simTwinMuxDigis.DTThetaDigi_Source = cms.InputTag('bmtfDigis') # OMTF process.simOmtfDigis.srcRPC = cms.InputTag('muonRPCDigis') process.simOmtfDigis.srcCSC = cms.InputTag('csctfDigis') process.simOmtfDigis.srcDTPh = cms.InputTag('bmtfDigis') process.simOmtfDigis.srcDTTh = cms.InputTag('bmtfDigis') # EMTF process.simEmtfDigis.CSCInput = cms.InputTag('emtfStage2Digis') process.simEmtfDigis.RPCInput = cms.InputTag('muonRPCDigis') # Calo Layer1 process.simCaloStage2Layer1Digis.ecalToken = cms.InputTag('ecalDigis:EcalTriggerPrimitives') process.simCaloStage2Layer1Digis.hcalToken = cms.InputTag('hcalDigis:') # - Sequences process.L1TMuonTriggerPrimitives = cms.Sequence(process.simCscTriggerPrimitiveDigis + process.simDtTriggerPrimitiveDigis + process.simTwinMuxDigisForDttf) process.L1TReEmul = cms.Sequence(process.L1TMuonTriggerPrimitives + process.simCsctfTrackDigis + process.simCsctfDigis + process.simDttfDigis + process.simRpcTriggerDigis + process.simGmtDigis + process.muonLegacyInStage2FormatDigis) process.load('L1Trigger.L1TMuon.simMuonQualityAdjusterDigis_cfi') process.L1TReEmul = cms.Sequence( process.L1TReEmul + process.simTwinMuxDigis + process.simBmtfDigis + process.simEmtfDigis + process.simOmtfDigis + process.simGmtCaloSumDigis + process.simMuonQualityAdjusterDigis + process.simGmtStage2Digis) process.L1TReEmul = cms.Sequence( process.L1TReEmul + process.SimL1TechnicalTriggers + process.SimL1TGlobal ) process.L1TReEmulPath = cms.Path(process.L1TReEmul) process.schedule.append(process.L1TReEmulPath) print("# L1TReEmul sequence: ") print("# {0}".format(process.L1TReEmul)) print("# {0}".format(process.schedule)) return process