Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 23:30:16

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 # Defines the L1 Emulator sequence for simulation use-case subsystem emulators
0004 # run on the results of previous (in the hardware chain) subsystem emulator:
0005 #  
0006 #     SimL1Emulator = cms.Sequence(...)
0007 #
0008 # properly configured for the current Era (e.g. Run1, 2015, or 2016).  Also
0009 # configures event setup producers appropriate to the current Era, to handle
0010 # conditions which are not yet available in the GT.
0011 #
0012 # Author List
0013 # Jim Brooke, 24 April 2008
0014 # Vasile Mihai Ghete, 2009
0015 # Jim Brooke, Michael Mulhearn, 2015
0016 # Vladimir Rekovic 2016,2017
0017 
0018 # Notes on Inputs:
0019 
0020 # ECAL TPG emulator and HCAL TPG run in the simulation sequence in order to be able 
0021 # to use unsuppressed digis produced by ECAL and HCAL simulation, respectively
0022 # in Configuration/StandardSequences/python/Digi_cff.py
0023 # SimCalorimetry.Configuration.SimCalorimetry_cff
0024 # which calls
0025 # SimCalorimetry.Configuration.ecalDigiSequence_cff
0026 # SimCalorimetry.Configuration.hcalDigiSequence_cff
0027 
0028 #
0029 # At the moment, there is no emulator available for upgrade HF Trigger Primitives,
0030 # so these missing (required!) inputs are presently ignored by downstream modules.
0031 #
0032 
0033 from L1Trigger.Configuration.SimL1TechnicalTriggers_cff import *
0034 
0035 from L1Trigger.L1TCalorimeter.simDigis_cff import *
0036 from L1Trigger.L1TMuon.simDigis_cff import *
0037 from L1Trigger.L1TGlobal.simDigis_cff import *
0038 
0039 # define a core which can be extented in customizations:
0040 SimL1EmulatorCoreTask = cms.Task(
0041     SimL1TCalorimeterTask,
0042     SimL1TMuonTask,
0043     SimL1TechnicalTriggersTask,
0044     SimL1TGlobalTask
0045 )
0046 SimL1EmulatorCore = cms.Sequence(SimL1EmulatorCoreTask)
0047 
0048 SimL1EmulatorTask = cms.Task(SimL1EmulatorCoreTask)
0049 SimL1Emulator = cms.Sequence( SimL1EmulatorTask )
0050 
0051 # 
0052 # Emulators are configured from DB (GlobalTags)
0053 #
0054 
0055 from L1Trigger.L1TGlobal.GlobalParameters_cff import *
0056 
0057 # 2017 EMTF and TwinMux emulator use payloads from DB, not yet in GT,
0058 # soon to be removed when availble in GTs
0059 from L1Trigger.L1TTwinMux.fakeTwinMuxParams_cff import *
0060 
0061 _phase2_siml1emulator = SimL1EmulatorTask.copy()
0062 
0063 # ########################################################################
0064 # ########################################################################
0065 #
0066 # Phase-2 
0067 #
0068 # ########################################################################
0069 # ########################################################################
0070 
0071 # ########################################################################
0072 # Phase-2 Trigger Primitives
0073 # ########################################################################
0074 
0075 # HGCAL TP 
0076 # ########################################################################
0077 from  L1Trigger.L1THGCal.hgcalTriggerPrimitives_cff import *
0078 _phase2_siml1emulator.add(hgcalTriggerPrimitivesTask)
0079  
0080 # ########################################################################
0081 # Phase 2 L1T
0082 # ########################################################################
0083 
0084 # Barrel and EndCap EGamma
0085 # ########################################################################
0086 
0087 from L1Trigger.L1CaloTrigger.L1EGammaCrystalsEmulatorProducer_cfi import *
0088 _phase2_siml1emulator.add(L1EGammaClusterEmuProducer)
0089 
0090 from L1Trigger.L1CaloTrigger.l1EGammaEEProducer_cfi import *
0091 _phase2_siml1emulator.add(l1EGammaEEProducer)
0092 
0093 # ########################################################################
0094 # Phase-2 L1T - TrackTrigger dependent modules
0095 # ########################################################################
0096 
0097 # Tk + StandaloneObj, including L1TkPrimaryVertex
0098 # ########################################################################
0099 
0100 from L1Trigger.L1TTrackMatch.L1TkPrimaryVertexProducer_cfi import L1TkPrimaryVertex
0101 from L1Trigger.L1TTrackMatch.L1TkElectronTrackProducer_cfi import L1TkElectronsCrystal, L1TkElectronsLooseCrystal, L1TkElectronsEllipticMatchCrystal, L1TkIsoElectronsCrystal, L1TkElectronsHGC, L1TkElectronsEllipticMatchHGC, L1TkIsoElectronsHGC
0102 from L1Trigger.L1TTrackMatch.L1TkEmParticleProducer_cfi import L1TkPhotonsCrystal, L1TkPhotonsHGC
0103 from L1Trigger.L1TTrackMatch.L1TkMuonProducer_cfi import L1TkMuons
0104 
0105 _phase2_siml1emulator.add(L1TkPrimaryVertex)
0106 
0107 _phase2_siml1emulator.add(L1TkElectronsCrystal)
0108 _phase2_siml1emulator.add(L1TkElectronsLooseCrystal)
0109 _phase2_siml1emulator.add(L1TkElectronsEllipticMatchCrystal)
0110 _phase2_siml1emulator.add(L1TkIsoElectronsCrystal)
0111 _phase2_siml1emulator.add(L1TkPhotonsCrystal)
0112 
0113 _phase2_siml1emulator.add(L1TkElectronsHGC)
0114 _phase2_siml1emulator.add(L1TkElectronsEllipticMatchHGC)
0115 _phase2_siml1emulator.add(L1TkIsoElectronsHGC)
0116 _phase2_siml1emulator.add(L1TkPhotonsHGC)
0117 
0118 _phase2_siml1emulator.add( L1TkMuons )
0119 
0120 # PF Candidates
0121 # ########################################################################
0122 from L1Trigger.Phase2L1ParticleFlow.l1ParticleFlow_cff import *
0123 _phase2_siml1emulator.add(l1ParticleFlowTask)
0124 
0125 # PF Jet
0126 # ########################################################################
0127 from L1Trigger.L1CaloTrigger.Phase1L1TJets_cff import *
0128 # Describe here l1PFJets_a_la_Phase1 Task
0129 # ###############################
0130 l1PFJetsPhase1Task = cms.Task(Phase1L1TJetProducer , Phase1L1TJetCalibrator)
0131 _phase2_siml1emulator.add(l1PFJetsPhase1Task)
0132 
0133 # PF MET
0134 # ########################################################################
0135 from L1Trigger.Phase2L1ParticleFlow.l1pfJetMet_cff import *
0136 # Describe here l1PFMets Task
0137 # ###############################
0138 l1PFMetsTask = cms.Task(l1PFMetCalo , l1PFMetPF , l1PFMetPuppi)
0139 _phase2_siml1emulator.add(l1PFMetsTask)
0140 
0141 # NNTaus
0142 # ########################################################################
0143 from L1Trigger.Phase2L1ParticleFlow.L1NNTauProducer_cff import *
0144 l1NNTauProducer = L1NNTauProducer.clone(
0145   L1PFObjects = cms.InputTag("l1pfCandidates","PF")
0146 )
0147 l1NNTauProducerPuppi = L1NNTauProducerPuppi.clone(
0148   L1PFObjects = cms.InputTag("l1pfCandidates","Puppi")
0149 )
0150 _phase2_siml1emulator.add(l1NNTauProducer)
0151 _phase2_siml1emulator.add(l1NNTauProducerPuppi)
0152 
0153 # --> add modules
0154 from Configuration.Eras.Modifier_phase2_trigger_cff import phase2_trigger
0155 phase2_trigger.toReplaceWith( SimL1EmulatorTask , _phase2_siml1emulator)