Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-26 02:34:08

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