Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-01-09 23:33:26

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