Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-05-09 22:40:09

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.L1TCalorimeter.simDigis_cff import *
0034 from L1Trigger.L1TMuon.simDigis_cff import *
0035 from L1Trigger.Configuration.SimL1TechnicalTriggers_cff import *
0036 from L1Trigger.L1TZDC.L1TZDCEmulation_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     L1TZDCEmulationTask,
0045     SimL1TGlobalTask
0046 )
0047 SimL1EmulatorCore = cms.Sequence(SimL1EmulatorCoreTask)
0048 
0049 SimL1EmulatorTask = cms.Task(SimL1EmulatorCoreTask)
0050 SimL1Emulator = cms.Sequence( SimL1EmulatorTask )
0051 
0052 # 
0053 # Emulators are configured from DB (GlobalTags)
0054 #
0055 
0056 from L1Trigger.L1TGlobal.GlobalParameters_cff import *
0057 
0058 # 2017 EMTF and TwinMux emulator use payloads from DB, not yet in GT,
0059 # soon to be removed when availble in GTs
0060 from L1Trigger.L1TTwinMux.fakeTwinMuxParams_cff import *
0061 
0062 _phase2_siml1emulator = SimL1EmulatorTask.copy()
0063 
0064 # ########################################################################
0065 # ########################################################################
0066 #
0067 # Phase-2 
0068 #
0069 # ########################################################################
0070 # ########################################################################
0071 
0072 # ########################################################################
0073 # Phase-2 Trigger Primitives
0074 # ########################################################################
0075 from L1Trigger.DTTriggerPhase2.CalibratedDigis_cfi import *
0076 CalibratedDigis.dtDigiTag = "simMuonDTDigis"
0077 _phase2_siml1emulator.add(CalibratedDigis)
0078 from L1Trigger.DTTriggerPhase2.dtTriggerPhase2PrimitiveDigis_cfi import *
0079 _phase2_siml1emulator.add(dtTriggerPhase2PrimitiveDigis)
0080 from L1Trigger.DTTriggerPhase2.dtTriggerPhase2Showers_cfi import *
0081 _phase2_siml1emulator.add(dtTriggerPhase2Shower)
0082 
0083 # HGCAL TP 
0084 # ########################################################################
0085 from  L1Trigger.L1THGCal.hgcalTriggerPrimitives_cff import *
0086 _phase2_siml1emulator.add(L1THGCalTriggerPrimitivesTask)
0087  
0088 # ########################################################################
0089 # Phase 2 L1T
0090 # ########################################################################
0091 
0092 # Barrel and EndCap EGamma
0093 # ########################################################################
0094 from L1Trigger.L1CaloTrigger.l1tEGammaCrystalsEmulatorProducer_cfi import *
0095 _phase2_siml1emulator.add(l1tEGammaClusterEmuProducer)
0096 
0097 from L1Trigger.L1CaloTrigger.l1tPhase2L1CaloEGammaEmulator_cfi import *
0098 _phase2_siml1emulator.add(l1tPhase2L1CaloEGammaEmulator)
0099 
0100 # Barrel and EndCap CaloJet/HT/NNCaloTau
0101 # ########################################################################
0102 # ----    Produce the calibrated tower collection combining Barrel, HGCal, HF
0103 from L1Trigger.L1CaloTrigger.l1tTowerCalibrationProducer_cfi import *
0104 l1tTowerCalibration = l1tTowerCalibrationProducer.clone(
0105   L1HgcalTowersInputTag = ("l1tHGCalTowerProducer","HGCalTowerProcessor",""),
0106   l1CaloTowers = ("l1tEGammaClusterEmuProducer","L1CaloTowerCollection","")
0107 )
0108 # ----    Produce the simulated L1CaloJets
0109 from L1Trigger.L1CaloTrigger.l1tCaloJetProducer_cfi import *
0110 l1tCaloJet = l1tCaloJetProducer.clone (
0111     l1CaloTowers = ("l1tTowerCalibration","L1CaloTowerCalibratedCollection",""),
0112     L1CrystalClustersInputTag = ("l1tEGammaClusterEmuProducer", "","")
0113 )
0114 # ----    Produce the simulated CaloJet HTT Sums
0115 from L1Trigger.L1CaloTrigger.l1tCaloJetHTTProducer_cfi import *
0116 l1tCaloJetHTT = l1tCaloJetHTTProducer.clone(
0117     BXVCaloJetsInputTag = ("L1CaloJet", "CaloJets") 
0118 )
0119 # ----    Produce the NNCaloTau
0120 from L1Trigger.L1CaloTrigger.l1tNNCaloTauProducer_cfi import *
0121 _phase2_siml1emulator.add(l1tNNCaloTauProducer)
0122 
0123 from L1Trigger.L1CaloTrigger.l1tNNCaloTauEmulator_cfi import *
0124 _phase2_siml1emulator.add(l1tNNCaloTauEmulator)
0125 
0126 # ---- Produce the emulated CaloJets and Taus
0127 from L1Trigger.L1CaloTrigger.l1tPhase2CaloJetEmulator_cff import *
0128 
0129 _phase2_siml1emulator.add(l1tTowerCalibration)
0130 _phase2_siml1emulator.add(l1tCaloJet)
0131 _phase2_siml1emulator.add(l1tCaloJetHTT)
0132 _phase2_siml1emulator.add(l1tCaloJetsTausTask)
0133 
0134 # Overlap and EndCap Muon Track Finder
0135 # ########################################################################
0136 from L1Trigger.L1TMuonOverlapPhase2.simOmtfPhase2Digis_cfi import *
0137 _phase2_siml1emulator.add(simOmtfPhase2Digis)
0138 
0139 from L1Trigger.L1TMuonEndCapPhase2.simCscTriggerPrimitiveDigisForEMTF_cfi import *
0140 from L1Trigger.L1TMuonEndCapPhase2.rpcRecHitsForEMTF_cfi import *
0141 from L1Trigger.L1TMuonEndCapPhase2.simEmtfDigisPhase2_cfi import *
0142 
0143 _phase2_siml1emulator.add(simCscTriggerPrimitiveDigisForEMTF)
0144 _phase2_siml1emulator.add(rpcRecHitsForEMTF)
0145 _phase2_siml1emulator.add(simEmtfDigisPhase2)
0146 
0147 # ########################################################################
0148 # Phase-2 L1T - TrackTrigger dependent modules
0149 # ########################################################################
0150 
0151 from L1Trigger.L1TTrackMatch.l1tGTTInputProducer_cfi import *
0152 from L1Trigger.L1TTrackMatch.l1tTrackSelectionProducer_cfi import *
0153 from L1Trigger.L1TTrackMatch.l1tTrackVertexAssociationProducer_cfi import *
0154 from L1Trigger.VertexFinder.l1tVertexProducer_cfi import *
0155 
0156 # Track Conversion, Track Selection, Vertex Finding
0157 _phase2_siml1emulator.add(l1tGTTInputProducer)
0158 _phase2_siml1emulator.add(l1tGTTInputProducerExtended)
0159 _phase2_siml1emulator.add(l1tTrackSelectionProducer)
0160 _phase2_siml1emulator.add(l1tTrackSelectionProducerExtended)
0161 _phase2_siml1emulator.add(l1tVertexFinder)
0162 _phase2_siml1emulator.add(l1tVertexProducer)
0163 _phase2_siml1emulator.add(l1tVertexFinderEmulator)
0164 
0165 # Emulated GMT Muons (Tk + Stub, Tk + MuonTFT, StandaloneMuon)
0166 # ########################################################################
0167 from L1Trigger.Phase2L1GMT.gmt_cfi  import *
0168 l1tStubsGmt = gmtStubs.clone()
0169 l1tKMTFMuonsGmt = gmtKMTFMuons.clone(
0170   stubs      = cms.InputTag('l1tStubsGmt','kmtf'),
0171 )
0172 l1tFwdMuonsGmt = gmtFwdMuons.clone(
0173     stubs  = 'l1tStubsGmt:tps'
0174 )
0175 l1tSAMuonsGmt = gmtSAMuons.clone(
0176   barrelPrompt      = cms.InputTag('l1tKMTFMuonsGmt:prompt'),
0177   barrelDisp        = cms.InputTag('l1tKMTFMuonsGmt:displaced'),
0178   forwardPrompt     = cms.InputTag('l1tFwdMuonsGmt:prompt'),
0179   forwardDisp     = cms.InputTag('l1tFwdMuonsGmt:displaced')
0180 )
0181 l1tTkMuonsGmt = gmtTkMuons.clone(
0182     srcStubs  = 'l1tStubsGmt:tps'
0183 )
0184 _phase2_siml1emulator.add( l1tStubsGmt )
0185 _phase2_siml1emulator.add( l1tKMTFMuonsGmt )
0186 _phase2_siml1emulator.add( l1tFwdMuonsGmt )
0187 _phase2_siml1emulator.add( l1tSAMuonsGmt )
0188 _phase2_siml1emulator.add( l1tTkMuonsGmt )
0189 
0190 # Tracker Objects
0191 # ########################################################################
0192 from L1Trigger.L1TTrackMatch.l1tTrackJets_cfi import *
0193 from L1Trigger.L1TTrackMatch.l1tTrackFastJets_cfi import *
0194 from L1Trigger.L1TTrackMatch.l1tTrackerEtMiss_cfi import *
0195 from L1Trigger.L1TTrackMatch.l1tTrackerHTMiss_cfi import *
0196 
0197 #Selected and Associated tracks for Jets and Emulated Jets
0198 _phase2_siml1emulator.add(l1tTrackSelectionProducerForJets)
0199 _phase2_siml1emulator.add(l1tTrackSelectionProducerExtendedForJets)
0200 _phase2_siml1emulator.add(l1tTrackVertexAssociationProducerForJets)
0201 _phase2_siml1emulator.add(l1tTrackVertexAssociationProducerExtendedForJets)
0202 
0203 #Selected and Associated tracks for EtMiss and Emulated EtMiss
0204 _phase2_siml1emulator.add(l1tTrackSelectionProducerForEtMiss)
0205 _phase2_siml1emulator.add(l1tTrackSelectionProducerExtendedForEtMiss)
0206 _phase2_siml1emulator.add(l1tTrackVertexAssociationProducerForEtMiss)
0207 _phase2_siml1emulator.add(l1tTrackVertexAssociationProducerExtendedForEtMiss)
0208 
0209 #Track Jets, Track Only Et Miss, Track Only HT Miss
0210 _phase2_siml1emulator.add(l1tTrackJets)
0211 _phase2_siml1emulator.add(l1tTrackJetsExtended)
0212 _phase2_siml1emulator.add(l1tTrackFastJets)
0213 _phase2_siml1emulator.add(l1tTrackerEtMiss)
0214 _phase2_siml1emulator.add(l1tTrackerHTMiss)
0215 
0216 #Emulated Track Jets, Track Only Et Miss, Track Only HT Miss
0217 from L1Trigger.L1TTrackMatch.l1tTrackJetsEmulation_cfi import *
0218 _phase2_siml1emulator.add(l1tTrackJetsEmulation)
0219 _phase2_siml1emulator.add(l1tTrackJetsExtendedEmulation)
0220 
0221 from L1Trigger.L1TTrackMatch.l1tTrackerEmuEtMiss_cfi import *
0222 _phase2_siml1emulator.add(l1tTrackerEmuEtMiss)
0223 
0224 from L1Trigger.L1TTrackMatch.l1tTrackerEmuHTMiss_cfi import *
0225 _phase2_siml1emulator.add(l1tTrackerEmuHTMiss)
0226 _phase2_siml1emulator.add(l1tTrackerEmuHTMissExtended)
0227 
0228 from L1Trigger.L1TTrackMatch.l1tTrackTripletEmulation_cfi import *
0229 _phase2_siml1emulator.add(l1tTrackTripletEmulation)
0230 
0231 
0232 # PF Candidates
0233 # ########################################################################
0234 from L1Trigger.Phase2L1ParticleFlow.l1ctLayer1_cff import *
0235 from L1Trigger.Phase2L1ParticleFlow.l1ctLayer2EG_cff import *
0236 _phase2_siml1emulator.add(L1TLayer1TaskInputsTask, L1TLayer1Task, L1TLayer2EGTask)
0237 
0238 # PF Jet
0239 # ########################################################################
0240 # Describe here l1PFJets_a_la_Phase1 Task
0241 # ###############################
0242 from L1Trigger.L1CaloTrigger.Phase1L1TJets_9x9_cff import *
0243 L1TPFJetsPhase1Task_9x9 = cms.Task( l1tPhase1JetProducer9x9, l1tPhase1JetCalibrator9x9, l1tPhase1JetSumsProducer9x9)
0244 _phase2_siml1emulator.add(L1TPFJetsPhase1Task_9x9)
0245 
0246 from L1Trigger.L1CaloTrigger.Phase1L1TJets_9x9trimmed_cff import *
0247 L1TPFJetsPhase1Task_9x9trimmed = cms.Task(  l1tPhase1JetProducer9x9trimmed, l1tPhase1JetCalibrator9x9trimmed, l1tPhase1JetSumsProducer9x9trimmed)
0248 _phase2_siml1emulator.add(L1TPFJetsPhase1Task_9x9trimmed)
0249 
0250 from L1Trigger.Phase2L1ParticleFlow.l1tHPSPFTauProducer_cfi import *
0251 _phase2_siml1emulator.add(l1tHPSPFTauProducer)
0252 
0253 # PF MET
0254 # ########################################################################
0255 from L1Trigger.Phase2L1ParticleFlow.l1pfJetMet_cff import *
0256 _phase2_siml1emulator.add(L1TPFJetsTask)
0257 _phase2_siml1emulator.add(L1TPFJetsEmulationTask)
0258 
0259 from L1Trigger.Phase2L1ParticleFlow.l1tMETPFProducer_cfi import *
0260 _phase2_siml1emulator.add(l1tMETPFProducer)
0261 _phase2_siml1emulator.add(l1tMETMLProducer)
0262 
0263 
0264 # NNTaus
0265 # ########################################################################
0266 from L1Trigger.Phase2L1ParticleFlow.L1NNTauProducer_cff import *
0267 _phase2_siml1emulator.add(l1tNNTauProducerPuppi)
0268 
0269 # SC4NGJets
0270 # ########################################################################
0271 from L1Trigger.Phase2L1ParticleFlow.l1tSC4NGJetProducer_cfi import *
0272 _phase2_siml1emulator.add(l1tSC4NGJetProducer)
0273 
0274 # BJets
0275 # ########################################################################
0276 from L1Trigger.Phase2L1ParticleFlow.L1BJetProducer_cff import *
0277 _phase2_siml1emulator.add(L1TBJetsTask)
0278 
0279 # LLPJets
0280 # ########################################################################
0281 from L1Trigger.Phase2L1ParticleFlow.TOoLLiPProducer_cff import *
0282 _phase2_siml1emulator.add(L1TTOoLLiPTask)
0283 
0284 # --> add modules
0285 from Configuration.Eras.Modifier_phase2_trigger_cff import phase2_trigger
0286 phase2_trigger.toReplaceWith( SimL1EmulatorTask , _phase2_siml1emulator)