Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:07:47

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 #-------------------------------------------------
0004 # Stage2 Emulator Modules (TODO: Move to L1Trigger.HardwareValidation.L1Stage2HardwareValidation_cff)
0005 
0006 # Calo configuration
0007 from L1Trigger.L1TCalorimeter.simDigis_cff import *
0008 # CaloLayer1
0009 from L1Trigger.L1TCaloLayer1.simCaloStage2Layer1Digis_cfi import simCaloStage2Layer1Digis
0010 valCaloStage2Layer1Digis = simCaloStage2Layer1Digis.clone(
0011     ecalToken = "caloLayer1Digis",
0012     hcalToken = "caloLayer1Digis",
0013     unpackEcalMask = True,
0014     unpackHcalMask = True
0015 )
0016 
0017 # CaloLayer2
0018 from L1Trigger.L1TCalorimeter.simCaloStage2Digis_cfi import simCaloStage2Digis
0019 valCaloStage2Layer2Digis = simCaloStage2Digis.clone(towerToken = "caloStage2Digis:CaloTower")
0020 
0021 # BMTF-Legacy
0022 from L1Trigger.L1TMuonBarrel.simBmtfDigis_cfi import *
0023 valBmtfDigis = simBmtfDigis.clone(
0024     DTDigi_Source = "bmtfDigis",
0025     DTDigi_Theta_Source = "bmtfDigis"
0026 )
0027 
0028 # BMTF-Kalman
0029 from L1Trigger.L1TMuonBarrel.simKBmtfDigis_cfi import *
0030 from L1Trigger.L1TMuonBarrel.simKBmtfStubs_cfi import *
0031 valKBmtfStubs = simKBmtfStubs.clone(
0032     srcPhi = "bmtfDigis",
0033     srcTheta = "bmtfDigis"
0034 )
0035 valKBmtfDigis = simKBmtfDigis.clone(src = "valKBmtfStubs")
0036 
0037 # BMTF-AlgoTriggerSelector
0038 from DQM.L1TMonitor.L1TBMTFAlgoSelector_cfi import *
0039 valBmtfAlgoSel = l1tBmtfAlgoSelector.clone(
0040     bmtfKalman = "valKBmtfDigis:BMTF",
0041     bmtfLegacy = "valBmtfDigis:BMTF"
0042 )
0043 
0044 # OMTF
0045 from L1Trigger.L1TMuonOverlapPhase1.simOmtfDigis_cfi import *
0046 valOmtfDigis = simOmtfDigis.clone(
0047     srcDTPh = "omtfStage2Digis",
0048     srcDTTh = "omtfStage2Digis",
0049     srcCSC = "omtfStage2Digis",
0050     srcRPC = "omtfStage2Digis",
0051     bxMin = -3,
0052     bxMax = 4
0053 )
0054 
0055 # GEM TPG
0056 from L1Trigger.L1TGEM.simGEMDigis_cff import *
0057 valMuonGEMPadDigis = simMuonGEMPadDigis.clone(InputCollection = "muonGEMDigis")
0058 valMuonGEMPadDigiClusters = simMuonGEMPadDigiClusters.clone(InputCollection = "valMuonGEMPadDigis")
0059 
0060 # Lookup tables for the CSC TP emulator
0061 from CalibMuon.CSCCalibration.CSCL1TPLookupTableEP_cff import *
0062 # CSC TPG
0063 from L1Trigger.CSCTriggerPrimitives.cscTriggerPrimitiveDigis_cfi import *
0064 valCscStage2Digis = cscTriggerPrimitiveDigis.clone(
0065     CSCComparatorDigiProducer = "muonCSCDigis:MuonCSCComparatorDigi",
0066     CSCWireDigiProducer = "muonCSCDigis:MuonCSCWireDigi",
0067     GEMPadDigiClusterProducer = "",
0068     commonParam = dict(runME11ILT = False)
0069 )
0070 
0071 from Configuration.Eras.Modifier_run3_common_cff import run3_common
0072 run3_common.toModify( valCscStage2Digis,
0073                       keepShowers = True,
0074                       commonParam = dict(run3 = True,
0075                                          runCCLUT_OTMB = True,
0076                                          runPhase2 = True,
0077                                          runME11Up = True,
0078                                          runME21Up = True,
0079                                          runME31Up = True,
0080                                          runME41Up = True)
0081 )
0082 
0083 from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
0084 run3_GEM.toModify( valCscStage2Digis, GEMPadDigiClusterProducer = "valMuonGEMPadDigiClusters" , commonParam = dict(runME11ILT = True) )
0085 
0086 # CPPF
0087 from RecoLocalMuon.RPCRecHit.rpcRecHits_cfi import *
0088 valRpcRecHits = rpcRecHits.clone(
0089     rpcDigiLabel = 'rpcunpacker'
0090 )
0091 from L1Trigger.L1TMuonCPPF.emulatorCppfDigis_cfi import *
0092 valCppfStage2Digis = emulatorCppfDigis.clone(
0093     recHitLabel = 'valRpcRecHits'
0094 )
0095 
0096 # EMTF
0097 from L1Trigger.L1TMuonEndCap.simEmtfDigis_cfi import *
0098 valEmtfStage2Digis = simEmtfDigis.clone(
0099     CSCInput = "emtfStage2Digis",
0100     RPCInput = "muonRPCDigis",
0101     GEMInput = 'valMuonGEMPadDigiClusters'
0102 )
0103 run3_GEM.toModify( valEmtfStage2Digis, UseRun3CCLUT_OTMB = cms.bool(True), Era = cms.string('Run3_2021'))
0104 
0105 # EMTF shower
0106 from L1Trigger.L1TMuonEndCap.simEmtfShowers_cfi import *
0107 valEmtfStage2Showers = simEmtfShowers.clone(
0108     CSCShowerInput = cms.InputTag('valCscStage2Digis')
0109 )
0110 
0111 # uGMT
0112 from L1Trigger.L1TMuon.simGmtStage2Digis_cfi import *
0113 valGmtCaloSumDigis = simGmtCaloSumDigis.clone(caloStage2Layer2Label = "valCaloStage2Layer1Digis")
0114 valGmtStage2Digis = simGmtStage2Digis.clone(
0115     barrelTFInput = "gmtStage2Digis:BMTF",
0116     overlapTFInput = "gmtStage2Digis:OMTF",
0117     forwardTFInput = "gmtStage2Digis:EMTF",
0118     triggerTowerInput = "valGmtCaloSumDigis:TriggerTowerSums"
0119 )
0120 
0121 # uGMT shower
0122 valGmtShowerDigis = simGmtShowerDigis.clone(
0123     showerInput = "gmtStage2Digis:EMTF"
0124 )
0125 
0126 # uGT
0127 from L1Trigger.L1TGlobal.simGtStage2Digis_cfi import simGtStage2Digis
0128 from L1Trigger.L1TGlobal.simGtExtFakeProd_cfi import simGtExtFakeProd
0129 
0130 valGtStage2Digis = simGtStage2Digis.clone(
0131     ExtInputTag = "gtStage2Digis",
0132     MuonInputTag = "gtStage2Digis:Muon",
0133     MuonShowerInputTag = "gtStage2Digis:MuonShower",
0134     EGammaInputTag = "gtStage2Digis:EGamma",
0135     TauInputTag = "gtStage2Digis:Tau",
0136     JetInputTag = "gtStage2Digis:Jet",
0137     EtSumInputTag = "gtStage2Digis:EtSum",
0138     EtSumZdcInputTag = "gtStage2Digis:EtSumZDC",
0139     AlgorithmTriggersUnmasked = False,
0140     AlgorithmTriggersUnprescaled = False,
0141     EmulateBxInEvent = cms.int32(5),
0142     PrescaleSet = cms.uint32(7),
0143     GetPrescaleColumnFromData = True,
0144     AlgoBlkInputTag = "gtStage2Digis"
0145 )
0146 Stage2L1HardwareValidation = cms.Sequence(
0147     valCaloStage2Layer1Digis +
0148     valCscStage2Digis +
0149     valBmtfDigis +
0150     valKBmtfStubs +
0151     valKBmtfDigis +
0152     valBmtfAlgoSel +
0153     valOmtfDigis +
0154     valRpcRecHits +
0155     valCppfStage2Digis +
0156     valEmtfStage2Digis +
0157     valGmtCaloSumDigis +
0158     valGmtStage2Digis +
0159     valGtStage2Digis
0160 )
0161 
0162 from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
0163 _run3_Stage2L1HardwareValidation = Stage2L1HardwareValidation.copy()
0164 run3_GEM.toReplaceWith( Stage2L1HardwareValidation, cms.Sequence( valMuonGEMPadDigis + valMuonGEMPadDigiClusters + _run3_Stage2L1HardwareValidation) )
0165 
0166 _run3Shower_Stage2L1HardwareValidation = Stage2L1HardwareValidation.copy()
0167 run3_GEM.toReplaceWith( Stage2L1HardwareValidation, cms.Sequence(_run3Shower_Stage2L1HardwareValidation + valEmtfStage2Showers + valGmtShowerDigis) )
0168 
0169 Stage2L1HardwareValidationForValidationEvents = cms.Sequence(
0170     valCaloStage2Layer2Digis
0171 )
0172 
0173 #-------------------------------------------------
0174 # Emulator DQM Modules
0175 
0176 # CaloLayer1
0177 from DQM.L1TMonitor.L1TdeStage2CaloLayer1_cfi import *
0178 
0179 # CaloLayer2
0180 from DQM.L1TMonitor.L1TdeStage2CaloLayer2_cfi import *
0181 from DQM.L1TMonitor.L1TStage2CaloLayer2Emul_cfi import *
0182 
0183 # GEM TPG
0184 from DQM.L1TMonitor.L1TdeGEMTPG_cfi import *
0185 
0186 # CSC TPG
0187 from DQM.L1TMonitor.L1TdeCSCTPG_cfi import *
0188 from DQM.L1TMonitor.L1TdeCSCTPGShower_cfi import *
0189 
0190 # BMTF
0191 from DQM.L1TMonitor.L1TdeStage2BMTF_cfi import *
0192 from DQM.L1TMonitor.L1TdeStage2BMTFSecond_cff import *
0193 
0194 # OMTF
0195 from DQM.L1TMonitor.L1TdeStage2OMTF_cfi import *
0196 
0197 # CPPF
0198 from DQM.L1TMonitor.L1TdeStage2CPPF_cff import *
0199 
0200 # EMTF
0201 from DQM.L1TMonitor.L1TdeStage2EMTF_cff import *
0202 
0203 # uGMT
0204 from DQM.L1TMonitor.L1TdeStage2uGMT_cff import *
0205 
0206 # uGT
0207 from DQM.L1TMonitor.L1TStage2uGTEmul_cfi import *
0208 from DQM.L1TMonitor.L1TdeStage2uGT_cfi import *
0209 
0210 #-------------------------------------------------
0211 # Stage2 Emulator and Emulator DQM Sequences
0212 
0213 # sequence to run for every event
0214 l1tStage2EmulatorOnlineDQM = cms.Sequence(
0215     l1tdeStage2Bmtf +
0216     l1tdeStage2BmtfSecond +
0217     l1tdeStage2Omtf +
0218     l1tdeCSCTPG +
0219     l1tdeStage2CppfOnlineDQMSeq +
0220     l1tdeStage2EmtfOnlineDQMSeq +
0221     l1tStage2uGMTEmulatorOnlineDQMSeq +
0222     l1tdeStage2uGT +
0223     l1tStage2uGtEmul
0224 )
0225 
0226 _run3_l1tStage2EmulatorOnlineDQM = l1tStage2EmulatorOnlineDQM.copy()
0227 _run3_l1tStage2EmulatorOnlineDQM += l1tdeGEMTPG
0228 
0229 from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
0230 run3_GEM.toReplaceWith( l1tStage2EmulatorOnlineDQM, _run3_l1tStage2EmulatorOnlineDQM )
0231 
0232 _run3shower_l1tStage2EmulatorOnlineDQM = l1tStage2EmulatorOnlineDQM.copy()
0233 run3_GEM.toReplaceWith( l1tStage2EmulatorOnlineDQM, cms.Sequence(_run3shower_l1tStage2EmulatorOnlineDQM + l1tdeCSCTPGShower) )
0234 
0235 # sequence to run only for validation events
0236 l1tStage2EmulatorOnlineDQMValidationEvents = cms.Sequence(
0237     l1tdeStage2CaloLayer1 +
0238     l1tdeStage2CaloLayer2 +
0239     l1tStage2CaloLayer2Emul
0240 )