Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:55:07

0001 from __future__ import print_function
0002 # L1 Trigger DQM sequence (L1T)
0003 #
0004 #   authors previous versions - see CVS
0005 #
0006 #   V.M. Ghete 2011-05-25 revised version of L1 Trigger DQM
0007 
0008 
0009 import FWCore.ParameterSet.Config as cms
0010 
0011 from Configuration.Eras.Era_Run3_cff import Run3
0012 process = cms.Process("DQM", 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 process.load("DQM.Integration.config.environment_cfi")
0031 process.dqmEnv.subSystemFolder = 'L1TStage1'
0032 process.dqmSaver.tag = 'L1TStage1'
0033 process.dqmSaver.runNumber = options.runNumber
0034 process.dqmSaverPB.tag = 'L1TStage1'
0035 process.dqmSaverPB.runNumber = options.runNumber
0036 
0037 #
0038 # references needed
0039 
0040 # Condition for P5 cluster
0041 process.load("DQM.Integration.config.FrontierCondition_GT_cfi")
0042 process.GlobalTag.RefreshEachRun = True
0043 # Condition for lxplus:: change and possibly customise the GT
0044 #from Configuration.AlCa.GlobalTag import GlobalTag as gtCustomise
0045 #process.GlobalTag = gtCustomise(process.GlobalTag, 'auto:run3_data', '')
0046 
0047 #process.load("Configuration.StandardSequences.GeometryRecoDB_cff")
0048 process.load("Configuration.StandardSequences.GeometryRecoDB_cff")
0049 
0050 #-------------------------------------
0051 # sequences needed for L1 trigger DQM
0052 #
0053 
0054 # standard unpacking sequence 
0055 process.load("Configuration.StandardSequences.RawToDigi_Data_cff")    
0056 
0057 # L1 Trigger sequences 
0058 
0059 # l1tMonitor and l1tMonitorEndPathSeq
0060 process.load("DQM.L1TMonitor.L1TMonitor_cff")    
0061 
0062 # L1 trigger synchronization module - it uses also HltHighLevel filter
0063 process.load("DQM.L1TMonitor.L1TSync_cff")    
0064 
0065 
0066 # l1tMonitorClient and l1tMonitorClientEndPathSeq
0067 process.load("DQM.L1TMonitorClient.L1TMonitorClient_cff")    
0068 
0069 #-------------------------------------
0070 # paths & schedule for L1 Trigger DQM
0071 #
0072 
0073 # TODO define a L1 trigger L1TriggerRawToDigi in the standard sequence 
0074 # to avoid all these remove
0075 process.rawToDigiPath = cms.Path(process.RawToDigi)
0076 #
0077 process.RawToDigi.remove("siPixelDigis")
0078 process.RawToDigi.remove("siStripDigis")
0079 process.RawToDigi.remove("scalersRawToDigi")
0080 process.RawToDigi.remove("castorDigis")
0081 # for GCT, unpack all five samples
0082 process.gctDigis.numberOfGctSamplesToUnpack = 5
0083 
0084 #if (process.runType.getRunType() == process.runType.pp_run_stage1 or process.runType.getRunType() == process.runType.cosmic_run_stage1):
0085 process.gtDigis.DaqGtFedId = 813
0086 #else:
0087 #    process.gtDigis.DaqGtFedId = cms.untracked.int32(809)
0088 # 
0089 
0090 process.l1tMonitorPath = cms.Path(process.l1tMonitorStage1Online)
0091 
0092 # separate L1TSync path due to the use of the HltHighLevel filter
0093 process.l1tSyncPath = cms.Path(process.l1tSyncHltFilter+process.l1tSync)
0094 
0095 #
0096 
0097 #process.l1tMonitorPath = cms.Path(process.l1tMonitorStage1Online)
0098 process.l1tMonitorClientPath = cms.Path(process.l1tMonitorStage1Client)
0099 
0100 process.stage1UnpackPath = cms.Path(process.caloStage1Digis+process.caloStage1LegacyFormatDigis)
0101 #
0102 process.l1tMonitorEndPath = cms.EndPath(process.l1tMonitorEndPathSeq)
0103 
0104 #
0105 process.l1tMonitorClientEndPath = cms.EndPath(process.l1tMonitorClientEndPathSeq)
0106 
0107 #
0108 process.dqmEndPath = cms.EndPath(
0109                                  process.dqmEnv *
0110                                  process.dqmSaver *
0111                                  process.dqmSaverPB
0112                                  )
0113 
0114 #
0115 process.schedule = cms.Schedule(process.rawToDigiPath,
0116                                 process.stage1UnpackPath,
0117                                 process.l1tMonitorPath,
0118                                 process.l1tSyncPath,
0119                                 process.l1tMonitorClientPath,
0120                                 process.l1tMonitorEndPath,
0121                                 process.l1tMonitorClientEndPath,
0122                                 process.dqmEndPath
0123                                 )
0124 
0125 #---------------------------------------------
0126 
0127 # examples for quick fixes in case of troubles 
0128 #    please do not modify the commented lines
0129 #
0130 
0131 
0132 #
0133 # turn on verbosity in L1TEventInfoClient
0134 #
0135 # process.l1tEventInfoClient.verbose = cms.untracked.bool(True)
0136 
0137 
0138 # remove module(s) or system sequence from l1tMonitorPath
0139 #        quality test disabled also
0140 #
0141 #process.l1tMonitorStage1Online.remove(process.bxTiming)
0142 process.l1tMonitorStage1Online.remove(process.l1tBPTX)
0143 
0144 process.l1tMonitorStage1Online.remove(process.l1tRctRun1)
0145 
0146 process.l1tMonitorStage1Online.remove(process.l1tRctRun1)
0147 
0148 #process.l1tMonitorOnline.remove(process.l1tLtc)
0149 
0150 #process.l1tMonitorStage1Online.remove(process.l1tDttf)
0151 
0152 #process.l1tMonitorStage1Online.remove(process.l1tCsctf) 
0153 
0154 #process.l1tMonitorStage1Online.remove(process.l1tRpctf)
0155 
0156 #process.l1tMonitorStage1Online.remove(process.l1tGmt)
0157 
0158 #process.l1tMonitorOnline.remove(process.l1tGt)
0159 
0160 #process.l1tMonitorOnline.remove(process.l1ExtraDqmSeq)
0161 
0162 process.l1tMonitorStage1Online.remove(process.l1tRate)
0163 
0164 #process.l1tMonitorOnline.remove(process.l1tRctRun1)
0165 
0166 #process.l1tMonitorStage1Online.remove(process.l1tRctSeq)
0167 
0168 #process.l1tMonitorOnline.remove(process.l1tGctSeq)
0169 
0170 
0171 # remove module(s) or system sequence from l1tMonitorEndPath
0172 #
0173 #process.l1tMonitorEndPathSeq.remove(process.l1s)
0174 
0175 #
0176 process.schedule.remove(process.l1tSyncPath)
0177 
0178 #--------------------------------------------------
0179 # Heavy Ion Specific Fed Raw Data Collection Label
0180 #--------------------------------------------------
0181 
0182 print("Running with run type = ", process.runType.getRunType())
0183 process.castorDigis.InputLabel = "rawDataCollector"
0184 process.csctfDigis.producer = "rawDataCollector"
0185 process.dttfDigis.DTTF_FED_Source = "rawDataCollector"
0186 process.ecalDigis.cpu.InputLabel = "rawDataCollector"
0187 process.ecalPreshowerDigis.sourceTag = "rawDataCollector"
0188 process.gctDigis.inputLabel = "rawDataCollector"
0189 process.gtDigis.DaqGtInputTag = "rawDataCollector"
0190 process.gtEvmDigis.EvmGtInputTag = "rawDataCollector"
0191 process.hcalDigis.InputLabel = "rawDataCollector"
0192 process.muonCSCDigis.InputObjects = "rawDataCollector"
0193 process.muonDTDigis.inputLabel = "rawDataCollector"
0194 process.muonRPCDigis.InputLabel = "rawDataCollector"
0195 process.scalersRawToDigi.scalersInputTag = "rawDataCollector"
0196 process.siPixelDigis.cpu.InputLabel = "rawDataCollector"
0197 process.siStripDigis.ProductLabel = "rawDataCollector"
0198 process.bxTiming.FedSource = "rawDataCollector"
0199 process.l1s.fedRawData = "rawDataCollector"
0200     
0201 if (process.runType.getRunType() == process.runType.hi_run):
0202     process.castorDigis.InputLabel = "rawDataRepacker"
0203     process.csctfDigis.producer = "rawDataRepacker"
0204     process.dttfDigis.DTTF_FED_Source = "rawDataRepacker"
0205     process.ecalDigis.cpu.InputLabel = "rawDataRepacker"
0206     process.ecalPreshowerDigis.sourceTag = "rawDataRepacker"
0207     process.gctDigis.inputLabel = "rawDataRepacker"
0208     process.gtDigis.DaqGtInputTag = "rawDataRepacker"
0209     process.gtEvmDigis.EvmGtInputTag = "rawDataRepacker"
0210     process.hcalDigis.InputLabel = "rawDataRepacker"
0211     process.muonCSCDigis.InputObjects = "rawDataRepacker"
0212     process.muonDTDigis.inputLabel = "rawDataRepacker"
0213     process.muonRPCDigis.InputLabel = "rawDataRepacker"
0214     process.scalersRawToDigi.scalersInputTag = "rawDataRepacker"
0215     process.siPixelDigis.cpu.InputLabel = "rawDataRepacker"
0216     process.siStripDigis.ProductLabel = "rawDataRepacker"
0217     process.bxTiming.FedSource = "rawDataRepacker"
0218     process.l1s.fedRawData = "rawDataRepacker"
0219 
0220 ### process customizations included here
0221 from DQM.Integration.config.online_customizations_cfi import *
0222 process = customise(process)