Beispiel #1
0
def appendDTChamberAgingAtL1Trigger(process):
# #############################################################################
# This function adds aging producers for DT TPs 
# by appending DTChamberMasker and the corresponding dtTriggerPrimitiveDigies 
# #############################################################################

    from SimMuon.DTDigitizer.dtChamberMasker_cfi import dtChamberMasker as _dtChamberMasker
    from L1Trigger.DTTrigger.dtTriggerPrimitiveDigis_cfi import dtTriggerPrimitiveDigis as _dtTriggerPrimitiveDigis

    if hasattr(process,'simDtTriggerPrimitiveDigis') and hasattr(process,'SimL1TMuonCommon') :

        sys.stderr.write("[appendDTChamberMasker] : Found simDtTriggerPrimitivesDigis, appending producer for aged DTs and corresponding TriggerPrimitives producer\n")

        process.simAgedDtTriggerDigis = _dtChamberMasker.clone()

        process.simDtTriggerPrimitiveDigis = _dtTriggerPrimitiveDigis.clone()
        process.simDtTriggerPrimitiveDigis.digiTag = "simAgedDtTriggerDigis"

        process.withAgedDtTriggerSequence = cms.Sequence(process.simAgedDtTriggerDigis + process.simDtTriggerPrimitiveDigis)
        process.SimL1TMuonCommon.replace(process.simDtTriggerPrimitiveDigis, process.withAgedDtTriggerSequence)

        if hasattr(process,"RandomNumberGeneratorService") :
            process.RandomNumberGeneratorService.simAgedDtTriggerDigis = cms.PSet(
                 initialSeed = cms.untracked.uint32(789342),
                 engineName = cms.untracked.string('TRandom3')
                 )
        else :
            process.RandomNumberGeneratorService = cms.Service(
                "RandomNumberGeneratorService",
                simAgedDtTriggerDigis = cms.PSet(initialSeed = cms.untracked.uint32(789342))
                )
            
    return process
Beispiel #2
0
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
Beispiel #3
0
process.load('L1Trigger.Configuration.SimL1Emulator_cff')
process.load("EventFilter.RPCRawToDigi.rpcUnpackingModule_cfi")
process.load("EventFilter.RPCRawToDigi.RPCTwinMuxRawToDigi_cfi")

process.RPCTwinMuxRawToDigi.bxMin = cms.int32(-5)
process.RPCTwinMuxRawToDigi.bxMax = cms.int32(5)

process.load('EventFilter.DTRawToDigi.dtunpacker_cfi')
process.unpackDT = process.muonDTDigis.clone(inputLabel=cms.InputTag(
    'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
process.load('EventFilter.RPCRawToDigi.rpcUnpacker_cfi')
process.unpackRPC = process.rpcunpacker.clone(InputLabel=cms.InputTag(
    'rawDataCollector', processName=cms.InputTag.skipCurrentProcess()))
#DT emulator
from L1Trigger.DTTrigger.dtTriggerPrimitiveDigis_cfi import dtTriggerPrimitiveDigis
process.simDtTriggerPrimitiveDigis = dtTriggerPrimitiveDigis.clone()
#process.simDtTriggerPrimitiveDigis.digiTag =  cms.InputTag('unpackDT')
process.simDtTriggerPrimitiveDigis.digiTag = cms.InputTag('unpackDT')

#RPC emulator
process.load('L1Trigger.RPCTrigger.rpcTriggerDigis_cff')
process.simRpcTriggerDigis = process.rpcTriggerDigis.clone()
process.simRpcTriggerDigis.label = 'simMuonRPCDigis'

process.load('EventFilter.L1TRawToDigi.validationEventFilter_cfi')

####BMTF Emulator
process.load('L1Trigger.L1TTwinMux.simTwinMuxDigis_cfi')
#process.simTwinMuxDigis.DTDigi_Source = cms.InputTag("simDtTriggerPrimitiveDigis")
#process.simTwinMuxDigis.DTThetaDigi_Source = cms.InputTag("simDtTriggerPrimitiveDigis")
#process.simTwinMuxDigis.RPC_Source = cms.InputTag("RPCTwinMuxRawToDigi")
Beispiel #4
0
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