def appendCSCChamberAgingAtL1Trigger(process): # ############################################################################# # This function adds aging producers for CSC TPs # by appending CSCChamberMasker and the corresponding cscTriggerPrimitiveDigies # ############################################################################# from SimMuon.CSCDigitizer.cscChamberMasker_cfi import cscChamberMasker as _cscChamberMasker from L1Trigger.CSCTriggerPrimitives.cscTriggerPrimitiveDigis_cfi import cscTriggerPrimitiveDigis as _cscTriggerPrimitiveDigis if hasattr(process,'simCscTriggerPrimitiveDigis') and hasattr(process,'SimL1TMuonCommon') : sys.stderr.write("[appendCSCChamberMasker] : Found simCscTriggerPrimitivesDigis, appending producer for aged CSCs and corresponding TriggerPrimitives producer\n") process.simAgedMuonCSCDigis = _cscChamberMasker.clone() process.simAgedMuonCSCDigis.stripDigiTag = cms.InputTag("simMuonCSCDigis", "MuonCSCStripDigi") process.simAgedMuonCSCDigis.wireDigiTag = cms.InputTag("simMuonCSCDigis", "MuonCSCWireDigi") process.simAgedMuonCSCDigis.comparatorDigiTag = cms.InputTag("simMuonCSCDigis", "MuonCSCComparatorDigi") process.simAgedMuonCSCDigis.rpcDigiTag = cms.InputTag("simMuonCSCDigis", "MuonCSCRPCDigi") process.simAgedMuonCSCDigis.alctDigiTag = cms.InputTag("simCscTriggerPrimitiveDigis", "", \ processName = cms.InputTag.skipCurrentProcess()) process.simAgedMuonCSCDigis.clctDigiTag = cms.InputTag("simCscTriggerPrimitiveDigis", "", \ processName = cms.InputTag.skipCurrentProcess()) process.simCscTriggerPrimitiveDigis = _cscTriggerPrimitiveDigis.clone() process.simCscTriggerPrimitiveDigis.CSCComparatorDigiProducer = cms.InputTag( 'simMuonCSCDigis', 'MuonCSCComparatorDigi' ) process.simCscTriggerPrimitiveDigis.CSCWireDigiProducer = cms.InputTag( 'simAgedMuonCSCDigis', 'MuonCSCWireDigi' ) process.withAgedCscTriggerSequence = cms.Sequence(process.simAgedMuonCSCDigis + process.simCscTriggerPrimitiveDigis) process.SimL1TMuonCommon.replace(process.simCscTriggerPrimitiveDigis, process.withAgedCscTriggerSequence) if hasattr(process,"RandomNumberGeneratorService") : process.RandomNumberGeneratorService.simAgedMuonCSCDigis = cms.PSet( initialSeed = cms.untracked.uint32(789342), engineName = cms.untracked.string('TRandom3') ) else : process.RandomNumberGeneratorService = cms.Service( "RandomNumberGeneratorService", simAgedMuonCSCDigis = cms.PSet(initialSeed = cms.untracked.uint32(789342)) ) 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.L1TMuonBarrel.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
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