Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-03-26 01:51:06

0001 
0002 import sys
0003 import FWCore.ParameterSet.Config as cms
0004 
0005 ## Use RECO Muons flag
0006 useMuons = False
0007 isOfflineDQM = False
0008 
0009 unitTest = False
0010 if 'unitTest=True' in sys.argv:
0011     unitTest=True
0012 
0013 from Configuration.Eras.Era_Run3_cff import Run3
0014 process = cms.Process("RPCDQM", Run3)
0015 
0016 ############## Event Source #####################
0017 
0018 if unitTest:
0019     process.load("DQM.Integration.config.unittestinputsource_cfi")
0020     from DQM.Integration.config.unittestinputsource_cfi import options
0021 else:
0022     # for live online DQM in P5
0023     process.load("DQM.Integration.config.inputsource_cfi")
0024     from DQM.Integration.config.inputsource_cfi import options
0025 
0026 # for testing in lxplus
0027 #process.load("DQM.Integration.config.fileinputsource_cfi")
0028 #from DQM.Integration.config.fileinputsource_cfi import options
0029 
0030 ############### HLT Filter#######################
0031 # 0=random, 1=physics, 2=calibration, 3=technical
0032 process.hltTriggerTypeFilter = cms.EDFilter("HLTTriggerTypeFilter",
0033     SelectedTriggerType = cms.int32(1)
0034 )
0035 
0036 ################# Geometry  #####################
0037 #process.load("Geometry.MuonCommonData.muonIdealGeometryXML_cfi")
0038 #process.load("Geometry.RPCGeometry.rpcGeometry_cfi")
0039 #process.load("Geometry.MuonNumbering.muonNumberingInitialization_cfi")
0040 process.load("Configuration.StandardSequences.GeometryRecoDB_cff")
0041 ################ Condition ######################
0042 # Condition for P5 cluster
0043 process.load("DQM.Integration.config.FrontierCondition_GT_cfi")
0044 # Condition for lxplus: change and possibly customise the GT
0045 #process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0046 #from Configuration.AlCa.GlobalTag import GlobalTag as gtCustomise
0047 #process.GlobalTag = gtCustomise(process.GlobalTag, 'auto:run3_data', '')
0048 #process.GlobalTag.globaltag = "102X_dataRun2_Express_v4"
0049 process.GlobalTag.RefreshEachRun = True
0050 
0051 ############# DQM Cetral Modules ################
0052 #process.load("DQMServices.Core.DQM_cfg")
0053 
0054 ############## DQM Enviroment ###################
0055 process.load("DQM.Integration.config.environment_cfi")
0056 process.dqmEnv.subSystemFolder = 'RPC'
0057 process.dqmSaver.tag = 'RPC'
0058 process.dqmSaver.runNumber = options.runNumber
0059 # process.dqmSaverPB.tag = 'RPC'
0060 # process.dqmSaverPB.runNumber = options.runNumber
0061 
0062 
0063 ############### Scaler Producer #################
0064 process.load("EventFilter.ScalersRawToDigi.ScalersRawToDigi_cfi")
0065 
0066 ############## RPC Unpacker  ####################
0067 process.rpcunpacker = cms.EDProducer("RPCUnpackingModule",
0068     InputLabel = cms.InputTag("source"),
0069     doSynchro = cms.bool(False)
0070 )
0071 
0072 ### RPC RawToDigi - from TwinMux
0073 process.load("EventFilter.RPCRawToDigi.RPCTwinMuxRawToDigi_cff")
0074 
0075 ### RPC RawToDigi - from CPPF
0076 process.load("EventFilter.RPCRawToDigi.RPCCPPFRawToDigi_cff")
0077 # process.load("EventFilter.RPCRawToDigi.RPCCPPFRawToDigi_sqlite_cff") #to load CPPF link maps from the local DB
0078 
0079 ### RPC RawToDigi - from OMTF
0080 process.omtfStage2Digis = cms.EDProducer("OmtfUnpacker",
0081   inputLabel = cms.InputTag('rawDataCollector'),
0082 )
0083 
0084 process.load("EventFilter.RPCRawToDigi.RPCDigiMerger_cff")
0085 process.rpcDigiMerger.inputTagTwinMuxDigis = 'rpcTwinMuxRawToDigi'
0086 process.rpcDigiMerger.inputTagOMTFDigis = 'omtfStage2Digis'
0087 process.rpcDigiMerger.inputTagCPPFDigis = 'rpcCPPFRawToDigi'
0088 
0089 ################# RPC Rec Hits  #################
0090 process.load("RecoLocalMuon.RPCRecHit.rpcRecHits_cfi")
0091 process.rpcRecHits.rpcDigiLabel = 'rpcunpacker'
0092 #######################################################
0093 ### RPCRecHit - from Merger
0094 process.rpcMergerRecHits = process.rpcRecHits.clone(
0095   rpcDigiLabel = 'rpcDigiMerger'
0096 )
0097 
0098 ################ DQM Digi Module ################
0099 ### DQM - from legacy
0100 process.load("DQM.RPCMonitorDigi.RPCDigiMonitoring_cfi")
0101 process.rpcdigidqm.UseMuon =  useMuons
0102 process.rpcdigidqm.NoiseFolder = "AllHitsLegacy"
0103 process.rpcdigidqm.RecHitLabel = "rpcRecHits"
0104 ### DQM - from Merger
0105 process.rpcMergerdigidqm = process.rpcdigidqm.clone(
0106   NoiseFolder = "AllHits",
0107   RecHitLabel = "rpcMergerRecHits"
0108 )
0109 
0110 #######################################################
0111 
0112 ################# DQM Client Modules ############
0113 process.load("DQM.RPCMonitorClient.RPCDqmClient_cfi")
0114 process.rpcdqmclient.RPCDqmClientList = ["RPCMultiplicityTest", "RPCDeadChannelTest", "RPCClusterSizeTest", "RPCOccupancyTest","RPCNoisyStripTest"]
0115 process.rpcdqmclient.DiagnosticPrescale = 1
0116 process.rpcdqmclient.MinimumRPCEvents  = 100
0117 process.rpcdqmclient.OfflineDQM = isOfflineDQM
0118 process.rpcdqmclient.RecHitTypeFolder = "AllHitsLegacy"
0119 ### Merger
0120 process.rpcMergerdqmclient = process.rpcdqmclient.clone(
0121   RecHitTypeFolder = "AllHits"
0122 )
0123 ################# Other Clients #################
0124 #process.load("DQM.RPCMonitorClient.RPCMon_SS_Dbx_Global_cfi")
0125 
0126 ################### FED #########################
0127 process.load("DQM.RPCMonitorClient.RPCMonitorRaw_cfi")
0128 process.load("DQM.RPCMonitorClient.RPCFEDIntegrity_cfi")
0129 process.load("DQM.RPCMonitorClient.RPCMonitorLinkSynchro_cfi")
0130 
0131 ########### RPC Event Summary Module ############
0132 process.load("DQM.RPCMonitorClient.RPCEventSummary_cfi")
0133 process.rpcEventSummary.OfflineDQM = isOfflineDQM 
0134 process.rpcEventSummary.MinimumRPCEvents  = 10000
0135 process.rpcEventSummary.RecHitTypeFolder = "AllHitsLegacy"
0136 ### Merger
0137 process.rpcEventSummaryMerger = process.rpcEventSummary.clone(
0138    RecHitTypeFolder = "AllHits"
0139 )
0140 
0141 ################# Quality Tests #################
0142 from DQMServices.Core.DQMQualityTester import DQMQualityTester
0143 process.qTesterRPC = DQMQualityTester(
0144     qtList = cms.untracked.FileInPath('DQM/RPCMonitorClient/test/RPCQualityTests.xml'),
0145     prescaleFactor = cms.untracked.int32(5),
0146     qtestOnEndLumi = cms.untracked.bool(True),
0147     qtestOnEndRun = cms.untracked.bool(True)
0148 )
0149 
0150 ###############  Sequences ######################
0151 process.rpcSource = cms.Sequence( process.rpcunpacker
0152                       * (process.rpcTwinMuxRawToDigi + process.rpcCPPFRawToDigi + process.omtfStage2Digis) 
0153                       * process.rpcDigiMerger 
0154                       * (process.rpcRecHits + process.rpcMergerRecHits)
0155                       * process.scalersRawToDigi
0156                       * (process.rpcdigidqm + process.rpcMergerdigidqm)
0157                       * process.rpcMonitorRaw*process.qTesterRPC
0158                     )
0159 process.rpcClient = cms.Sequence(process.rpcdqmclient*process.rpcMergerdqmclient*process.rpcEventSummary*process.rpcEventSummaryMerger*process.dqmEnv*process.dqmSaver)#*process.dqmSaverPB)
0160 process.p = cms.Path(process.hltTriggerTypeFilter*process.rpcSource*process.rpcClient)
0161 
0162 process.rpcunpacker.InputLabel = "rawDataCollector"
0163 process.scalersRawToDigi.scalersInputTag = "rawDataCollector"
0164 process.rpcCPPFRawToDigi.inputTag = "rawDataCollector"
0165 #--------------------------------------------------
0166 # Heavy Ion Specific Fed Raw Data Collection Label
0167 #--------------------------------------------------
0168 
0169 print("Running with run type = ", process.runType.getRunType())
0170 
0171 if (process.runType.getRunType() == process.runType.hi_run):
0172     process.rpcunpacker.InputLabel = "rawDataRepacker"
0173     process.scalersRawToDigi.scalersInputTag = "rawDataRepacker"
0174     process.rpcTwinMuxRawToDigi.inputTag = "rawDataRepacker"
0175     process.rpcCPPFRawToDigi.inputTag = "rawDataRepacker"
0176     process.omtfStage2Digis.inputLabel = "rawDataRepacker"
0177     process.rpcEventSummary.MinimumRPCEvents  = 100000
0178     process.rpcEventSummaryMerger.MinimumRPCEvents  = 100000
0179 
0180 ### process customizations included here
0181 from DQM.Integration.config.online_customizations_cfi import *
0182 process = customise(process)
0183 print("Global Tag used:", process.GlobalTag.globaltag.value())
0184 print("Final Source settings:", process.source)
0185 
0186