Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 import FWCore.ParameterSet.Config as cms
0002 import sys
0003 
0004 from Configuration.Eras.Era_Run3_cff import Run3
0005 process = cms.Process("CSCDQMLIVE", Run3)
0006 
0007 #-------------------------------------------------
0008 # DQM Module Configuration
0009 #-------------------------------------------------
0010 
0011 process.load("DQM.CSCMonitorModule.csc_dqm_sourceclient_cfi")
0012 process.dqmCSCClient.EventProcessor.BINCHECKER_MODE_DDU = False
0013 process.dqmCSCClient.EventProcessor.EFF_COLD_SIGFAIL = 2.0
0014 process.dqmCSCClient.EventProcessor.EFF_HOT_THRESHOLD = 2.0
0015 process.dqmCSCClient.EventProcessor.EFF_HOT_SIGFAIL = 10.0
0016 process.dqmCSCClient.EventProcessor.EFF_NODATA_THRESHOLD = 0.99
0017 process.dqmCSCClient.EventProcessor.PREBOOK_ALL_HISTOS = True
0018 
0019 #process.dqmCSCClient.FractUpdateEventFreq = cms.untracked.uint32(100)
0020 #process.dqmCSCClient.effParameters.threshold_hot = cms.untracked.double(10.0)
0021 #process.dqmCSCClient.effParameters.sigfail_cold = cms.untracked.double(3.0)
0022 
0023 #-------------------------------------------------
0024 # Offline DQM Module Configuration
0025 #-------------------------------------------------
0026 
0027 process.load("DQMOffline.Muon.CSCMonitor_cfi")
0028 process.load("Configuration/StandardSequences/MagneticField_cff")
0029 process.load("Configuration/StandardSequences/RawToDigi_Data_cff")
0030 process.load("Configuration.StandardSequences.Reconstruction_cff")
0031 process.csc2DRecHits.readBadChambers = False
0032 
0033 #----------------------------
0034 # Event Source
0035 #-----------------------------
0036 
0037 unitTest=False
0038 if 'unitTest=True' in sys.argv:
0039   unitTest=True
0040 
0041 if unitTest:
0042   process.load("DQM.Integration.config.unittestinputsource_cfi")
0043   from DQM.Integration.config.unittestinputsource_cfi import options
0044 else:
0045   # for live online DQM in P5
0046   process.load("DQM.Integration.config.inputsource_cfi")
0047   from DQM.Integration.config.inputsource_cfi import options
0048 
0049 # for testing in lxplus
0050 #process.load("DQM.Integration.config.fileinputsource_cfi")
0051 #from DQM.Integration.config.fileinputsource_cfi import options
0052 
0053 #----------------------------
0054 # DQM Environment
0055 #-----------------------------
0056 
0057 #----------------------------
0058 # DQM Playback Environment
0059 #-----------------------------
0060 
0061 process.load("DQM.Integration.config.environment_cfi")
0062 process.dqmEnv.subSystemFolder    = "CSC"
0063 process.dqmSaver.tag = "CSC"
0064 process.dqmSaver.runNumber = options.runNumber
0065 # process.dqmSaverPB.tag = "CSC"
0066 # process.dqmSaverPB.runNumber = options.runNumber
0067 
0068 
0069 #process.DQM.collectorHost = 'pccmsdqm02.cern.ch'
0070 #process.DQM.collectorHost = 'localhost'
0071 
0072 #-----------------------------
0073 # Magnetic Field
0074 #-----------------------------
0075 
0076 #process.load("Configuration.GlobalRuns.ForceZeroTeslaField_cff")
0077 
0078 #-------------------------------------------------
0079 # GEOMETRY
0080 #-------------------------------------------------
0081 
0082 process.load("Configuration.StandardSequences.GeometryRecoDB_cff")
0083 
0084 #-------------------------------------------------
0085 # Global Tag
0086 #-------------------------------------------------
0087 # Condition for P5 cluster
0088 process.load("DQM.Integration.config.FrontierCondition_GT_cfi")
0089 
0090 
0091 #--------------------------------------
0092 # Post-LS1 CSC configuraton parameters
0093 #--------------------------------------
0094 """Customise digi/reco geometry to use unganged ME1/a channels"""
0095 process.CSCGeometryESModule.useGangedStripsInME1a = False
0096 process.idealForDigiCSCGeometry.useGangedStripsInME1a = False
0097 
0098 """Settings for the upgrade raw vs offline condition channel translation"""
0099 process.CSCIndexerESProducer.AlgoName=cms.string("CSCIndexerPostls1")
0100 process.CSCChannelMapperESProducer.AlgoName=cms.string("CSCChannelMapperPostls1")
0101 
0102 process.csc2DRecHits.readBadChannels = False
0103 process.csc2DRecHits.CSCUseGasGainCorrections = False
0104 
0105 
0106 """ Pick up upgrade condions data directly from DB tags using ESPrefer's.
0107 Might be useful when dealing with a global tag that doesn't include
0108 'unganged' CSC conditions.
0109 """
0110 """
0111 myconds = [
0112         ('CSCDBGainsRcd', 'CSCDBGains_ungangedME11A_mc'),
0113         ('CSCDBNoiseMatrixRcd', 'CSCDBNoiseMatrix_ungangedME11A_mc'),
0114         ('CSCDBCrosstalkRcd', 'CSCDBCrosstalk_ungangedME11A_mc'),
0115         ('CSCDBPedestalsRcd', 'CSCDBPedestals_ungangedME11A_mc'),
0116         ('CSCDBGasGainCorrectionRcd', 'CSCDBGasGainCorrection_ungangedME11A_mc')
0117         ('CSCDBChipSpeedCorrectionRcd', 'CSCDBChipSpeedCorrection_ungangedME11A_mc')
0118 ]
0119 
0120 from CalibMuon.Configuration.getCSCConditions_frontier_cff import cscConditions
0121 for (classname, tag) in myconds:
0122       print classname, tag
0123       sourcename = 'unganged_' + classname
0124       process.__setattr__(sourcename, cscConditions.clone())
0125       process.__getattribute__(sourcename).toGet = cms.VPSet( cms.PSet( record = cms.string(classname), tag = cms.string(tag)) )
0126       process.__getattribute__(sourcename).connect = cms.string('frontier://FrontierProd/CMS_COND_CSC_000')
0127       process.__setattr__('esp_' + classname, cms.ESPrefer("PoolDBESSource", sourcename) )
0128 
0129 del cscConditions
0130 """
0131 #---------------------------------------
0132 
0133 
0134 # Condition for lxplus: change and possibly customise the GT
0135 #from Configuration.AlCa.GlobalTag import GlobalTag as gtCustomise
0136 #process.GlobalTag = gtCustomise(process.GlobalTag, 'auto:run3_data', '')
0137 
0138 #--------------------------
0139 # Service
0140 #--------------------------
0141 process.AdaptorConfig = cms.Service("AdaptorConfig")
0142 
0143 #--------------------------
0144 # Message Logger
0145 #--------------------------
0146 
0147 MessageLogger = cms.Service("MessageLogger",
0148 
0149 # suppressInfo = cms.untracked.vstring('source'),
0150   suppressInfo = cms.untracked.vstring('*'),
0151   cout = cms.untracked.PSet(
0152     threshold = cms.untracked.string('INFO'),
0153     WARNING = cms.untracked.PSet(
0154       limit = cms.untracked.int32(0)
0155     ),
0156     noLineBreaks = cms.untracked.bool(False)
0157   ),
0158   detailedInfo = cms.untracked.PSet(
0159     threshold = cms.untracked.string('INFO')
0160   ),
0161   critical = cms.untracked.PSet(
0162     threshold = cms.untracked.string('ERROR')
0163   ),
0164   debugModules = cms.untracked.vstring('CSCMonitormodule'),
0165 #  destinations = cms.untracked.vstring('detailedInfo',
0166 #    'critical',
0167 #    'cout')
0168 
0169 )
0170 
0171 #--------------------------
0172 # Sequences
0173 #--------------------------
0174 
0175 #process.p = cms.Path(process.dqmCSCClient+process.dqmEnv+process.dqmSaver)#+process.dqmSaverPB)
0176 process.p = cms.Path(process.dqmCSCClient * process.muonCSCDigis * process.csc2DRecHits * process.cscSegments * process.cscMonitor + process.dqmEnv + process.dqmSaver )#+ process.dqmSaverPB)
0177 
0178 
0179 process.castorDigis.InputLabel = "rawDataCollector"
0180 process.csctfDigis.producer = "rawDataCollector"
0181 process.dttfDigis.DTTF_FED_Source = "rawDataCollector"
0182 process.ecalDigisCPU.InputLabel = "rawDataCollector"
0183 process.ecalPreshowerDigis.sourceTag = "rawDataCollector"
0184 process.gctDigis.inputLabel = "rawDataCollector"
0185 process.gtDigis.DaqGtInputTag = "rawDataCollector"
0186 process.gtEvmDigis.EvmGtInputTag = "rawDataCollector"
0187 process.hcalDigis.InputLabel = "rawDataCollector"
0188 process.muonCSCDigis.InputObjects = "rawDataCollector"
0189 process.muonDTDigis.inputLabel = "rawDataCollector"
0190 process.muonRPCDigis.InputLabel = "rawDataCollector"
0191 process.scalersRawToDigi.scalersInputTag = "rawDataCollector"
0192 process.siPixelDigis.cpu.InputLabel = "rawDataCollector"
0193 process.siStripDigis.ProductLabel = "rawDataCollector"
0194 process.cscMonitor.FEDRawDataCollectionTag = "rawDataCollector"
0195 process.dqmCSCClient.InputObjects = "rawDataCollector"
0196 
0197 #--------------------------------------------------
0198 # Heavy Ion Specific Fed Raw Data Collection Label
0199 #--------------------------------------------------
0200 
0201 print("Running with run type = ", process.runType.getRunType())
0202 
0203 if (process.runType.getRunType() == process.runType.hi_run):
0204     process.castorDigis.InputLabel = "rawDataRepacker"
0205     process.csctfDigis.producer = "rawDataRepacker"
0206     process.dttfDigis.DTTF_FED_Source = "rawDataRepacker"
0207     process.ecalDigisCPU.InputLabel = "rawDataRepacker"
0208     process.ecalPreshowerDigis.sourceTag = "rawDataRepacker"
0209     process.gctDigis.inputLabel = "rawDataRepacker"
0210     process.gtDigis.DaqGtInputTag = "rawDataRepacker"
0211     process.gtEvmDigis.EvmGtInputTag = "rawDataRepacker"
0212     process.hcalDigis.InputLabel = "rawDataRepacker"
0213     process.muonCSCDigis.InputObjects = "rawDataRepacker"
0214     process.muonDTDigis.inputLabel = "rawDataRepacker"
0215     process.muonRPCDigis.InputLabel = "rawDataRepacker"
0216     process.scalersRawToDigi.scalersInputTag = "rawDataRepacker"
0217     process.siPixelDigis.cpu.InputLabel = "rawDataRepacker"
0218     process.siStripDigis.ProductLabel = "rawDataRepacker"
0219     process.cscMonitor.FEDRawDataCollectionTag = "rawDataRepacker"
0220     process.dqmCSCClient.InputObjects = "rawDataRepacker"
0221 
0222 
0223 ### process customizations included here
0224 from DQM.Integration.config.online_customizations_cfi import *
0225 print("Final Source settings:", process.source)
0226 process = customise(process)
0227