Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 from __future__ import print_function
0002 # L1 Emulator DQM sequence
0003 #
0004 #   authors previous versions - see CVS
0005 #
0006 #   V.M. Ghete 2010-10-22 revised version of L1 emulator DQM
0007 
0008 
0009 import FWCore.ParameterSet.Config as cms
0010 
0011 from Configuration.Eras.Era_Run3_cff import Run3
0012 process = cms.Process("L1TEmuDQMlive", Run3)
0013 
0014 
0015 #----------------------------
0016 # Event Source
0017 #
0018 # for live online DQM in P5
0019 process.load("DQM.Integration.config.inputsource_cfi")
0020 from DQM.Integration.config.inputsource_cfi import options
0021 #
0022 # for testing in lxplus
0023 #process.load("DQM.Integration.config.fileinputsource_cfi")
0024 #from DQM.Integration.config.fileinputsource_cfi import options
0025 
0026 #----------------------------
0027 # DQM Environment
0028 #
0029  
0030 
0031 #
0032 process.load("DQM.Integration.config.environment_cfi")
0033 # for local test
0034 process.dqmEnv.subSystemFolder = 'L1TEMU'
0035 process.dqmSaver.tag = 'L1TEMU'
0036 process.dqmSaver.runNumber = options.runNumber
0037 process.dqmSaverPB.tag = 'L1TEMU'
0038 process.dqmSaverPB.runNumber = options.runNumber
0039 #
0040 # no references needed
0041 
0042 #
0043 # Condition for P5 cluster
0044 process.load("DQM.Integration.config.FrontierCondition_GT_cfi")
0045 process.GlobalTag.RefreshEachRun = True
0046 # Condition for lxplus: change and possibly customise the GT
0047 #from Configuration.AlCa.GlobalTag import GlobalTag as gtCustomise
0048 #process.GlobalTag = gtCustomise(process.GlobalTag, 'auto:run3_data', '')
0049 
0050 #process.load("Configuration.StandardSequences.GeometryRecoDB_cff")
0051 
0052 process.load("Configuration.StandardSequences.GeometryRecoDB_cff")
0053 #-------------------------------------
0054 # sequences needed for L1 emulator DQM
0055 #
0056 
0057 # standard unpacking sequence 
0058 process.load("Configuration.StandardSequences.RawToDigi_Data_cff")    
0059 
0060 # L1 data - emulator sequences 
0061 process.load("DQM.L1TMonitor.L1TEmulatorMonitor_cff")    
0062 process.load("DQM.L1TMonitorClient.L1TEMUMonitorClient_cff")    
0063 
0064 #-------------------------------------
0065 # paths & schedule for L1 emulator DQM
0066 #
0067 
0068 # TODO define a L1 trigger L1TriggerRawToDigi in the standard sequence 
0069 # to avoid all these remove
0070 process.rawToDigiPath = cms.Path(process.RawToDigi)
0071 #
0072 process.RawToDigi.remove("siPixelDigis")
0073 process.RawToDigi.remove("siStripDigis")
0074 process.RawToDigi.remove("scalersRawToDigi")
0075 process.RawToDigi.remove("castorDigis")
0076 
0077 #if ( process.runType.getRunType() == process.runType.pp_run_stage1 or process.runType.getRunType() == process.runType.cosmic_run_stage1):
0078 process.gtDigis.DaqGtFedId = 809
0079 #else:
0080 #    process.gtDigis.DaqGtFedId = cms.untracked.int32(813)
0081 
0082 # L1HvVal + emulator monitoring path
0083 process.l1HwValEmulatorMonitorPath = cms.Path(process.l1HwValEmulatorMonitor)
0084 
0085 if (process.runType.getRunType() == process.runType.pp_run_stage1 or process.runType.getRunType() == process.runType.cosmic_run_stage1):
0086     process.gtDigis.DaqGtFedId = 809
0087 else:
0088     process.gtDigis.DaqGtFedId = 813
0089 # for RCT at P5, read FED vector from OMDS
0090 #process.load("L1TriggerConfig.RCTConfigProducers.l1RCTOmdsFedVectorProducer_cfi")
0091 #process.valRctDigis.getFedsFromOmds = cms.bool(True)
0092 
0093 #
0094 process.l1EmulatorMonitorClientPath = cms.Path(process.l1EmulatorMonitorClient)
0095 
0096 #
0097 process.l1EmulatorMonitorEndPath = cms.EndPath(process.dqmEnv*process.dqmSaver*process.dqmSaverPB)
0098 
0099 #
0100 process.valCscTriggerPrimitiveDigis.gangedME1a = False
0101 
0102 process.valCsctfTrackDigis.SectorProcessor.gangedME1a = False
0103 #
0104 process.schedule = cms.Schedule(process.rawToDigiPath,
0105                                 process.l1HwValEmulatorMonitorPath,
0106                                 #process.l1EmulatorMonitorClientPath,
0107                                 process.l1EmulatorMonitorEndPath)
0108 
0109 #---------------------------------------------
0110 
0111 # examples for quick fixes in case of troubles 
0112 #    please do not modify the commented lines
0113 #
0114 # remove a module from hardware validation
0115 # cff file: L1Trigger.HardwareValidation.L1HardwareValidation_cff
0116 #
0117 process.l1HwValEmulatorMonitorPath.remove(process.l1TdeCSCTF)
0118 #
0119 process.L1HardwareValidation.remove(process.deDt)
0120 
0121 process.l1HwValEmulatorMonitorPath.remove(process.l1TdeRCTRun1)
0122 #
0123 # remove a L1 trigger system from the comparator integrated in hardware validation
0124 # cfi file: L1Trigger.HardwareValidation.L1Comparator_cfi
0125 #
0126 # process.l1compare.COMPARE_COLLS = [0, 0, 1, 1,  0, 1, 0, 0, 1, 0, 1, 0]
0127 process.l1compare.COMPARE_COLLS = [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]
0128 
0129 process.l1demon.COMPARE_COLLS = [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0]
0130 
0131 process.l1demon.HistFolder = 'L1TEMU/Legacy'
0132 
0133 process.l1TdeGCT.HistFolder = 'L1TEMU/Legacy/GCTexpert'
0134 
0135 process.l1GtHwValidation.DirName = "L1TEMU/Legacy/GTexpert"
0136 
0137 #
0138 # remove an expert module for L1 trigger system
0139 # cff file: DQM.L1TMonitor.L1TEmulatorMonitor_cff
0140 #
0141 # process.l1ExpertDataVsEmulator.remove(process.l1GtHwValidation)
0142 #
0143 
0144 #process.l1ExpertDataVsEmulator.remove(process.l1TdeCSCTF)
0145 
0146 #
0147 # remove a module / sequence from l1EmulatorMonitorClient
0148 # cff file: DQM.L1TMonitorClient.L1TEmulatorMonitorClient_cff
0149 #
0150 # process.l1EmulatorMonitorClient.remove(process.l1EmulatorErrorFlagClient)
0151 #
0152 
0153 
0154 #
0155 # fast over-mask a system in L1TEMUEventInfoClient: 
0156 #   if the name of the system is in the list, the system will be masked
0157 #   (the default mask value is given in L1Systems VPSet)             
0158 #
0159 # names are case sensitive, order is irrelevant
0160 # "ECAL", "HCAL", "RCT", "GCT", "DTTF", "DTTPG", "CSCTF", "CSCTPG", "RPC", "GMT", "GT"
0161 #
0162 # process.l1temuEventInfoClient.DisableL1Systems = cms.vstring("ECAL")
0163 #
0164 
0165 
0166 #
0167 # fast over-mask an object in L1TEMUEventInfoClient:
0168 #   if the name of the object is in the list, the object will be masked
0169 #   (the default mask value is given in L1Objects VPSet)             
0170 #
0171 # names are case sensitive, order is irrelevant
0172 # 
0173 # "Mu", "NoIsoEG", "IsoEG", "CenJet", "ForJet", "TauJet", "ETM", "ETT", "HTT", "HTM", 
0174 # "HfBitCounts", "HfRingEtSums", "TechTrig", "GtExternal
0175 #
0176 # process.l1temuEventInfoClient.DisableL1Objects =  cms.vstring("ETM")   
0177 #
0178 
0179 
0180 #
0181 # turn on verbosity in L1TEMUEventInfoClient
0182 #
0183 # process.l1EmulatorEventInfoClient.verbose = cms.untracked.bool(True)
0184 
0185 print("Running with run type = ", process.runType.getRunType())
0186 process.castorDigis.InputLabel = "rawDataCollector"
0187 process.csctfDigis.producer = "rawDataCollector"
0188 process.dttfDigis.DTTF_FED_Source = "rawDataCollector"
0189 process.ecalDigisCPU.InputLabel = "rawDataCollector"
0190 process.ecalPreshowerDigis.sourceTag = "rawDataCollector"
0191 process.gctDigis.inputLabel = "rawDataCollector"
0192 process.gtDigis.DaqGtInputTag = "rawDataCollector"
0193 process.gtEvmDigis.EvmGtInputTag = "rawDataCollector"
0194 process.hcalDigis.InputLabel = "rawDataCollector"
0195 process.l1compare.FEDsourceEmul = "rawDataCollector"
0196 process.l1compare.FEDsourceData = "rawDataCollector"
0197 process.muonCSCDigis.InputObjects = "rawDataCollector"
0198 process.muonDTDigis.inputLabel = "rawDataCollector"
0199 process.muonRPCDigis.InputLabel = "rawDataCollector"
0200 process.scalersRawToDigi.scalersInputTag = "rawDataCollector"
0201 process.siPixelDigis.cpu.InputLabel = "rawDataCollector"
0202 process.siStripDigis.ProductLabel = "rawDataCollector"
0203 
0204 #--------------------------------------------------
0205 # Heavy Ion Specific Fed Raw Data Collection Label
0206 #--------------------------------------------------
0207 if (process.runType.getRunType() == process.runType.hi_run):
0208     process.castorDigis.InputLabel = "rawDataRepacker"
0209     process.csctfDigis.producer = "rawDataRepacker"
0210     process.dttfDigis.DTTF_FED_Source = "rawDataRepacker"
0211     process.ecalDigisCPU.InputLabel = "rawDataRepacker"
0212     process.ecalPreshowerDigis.sourceTag = "rawDataRepacker"
0213     process.gctDigis.inputLabel = "rawDataRepacker"
0214     process.gtDigis.DaqGtInputTag = "rawDataRepacker"
0215     process.gtEvmDigis.EvmGtInputTag = "rawDataRepacker"
0216     process.hcalDigis.InputLabel = "rawDataRepacker"
0217     process.l1compare.FEDsourceEmul = "rawDataRepacker"
0218     process.l1compare.FEDsourceData = "rawDataRepacker"
0219     process.muonCSCDigis.InputObjects = "rawDataRepacker"
0220     process.muonDTDigis.inputLabel = "rawDataRepacker"
0221     process.muonRPCDigis.InputLabel = "rawDataRepacker"
0222     process.scalersRawToDigi.scalersInputTag = "rawDataRepacker"
0223     process.siPixelDigis.cpu.InputLabel = "rawDataRepacker"
0224     process.siStripDigis.ProductLabel = "rawDataRepacker"
0225 
0226 
0227 
0228 ### process customizations included here
0229 from DQM.Integration.config.online_customizations_cfi import *
0230 process = customise(process)