File indexing completed on 2025-04-17 02:42:09
0001 import FWCore.ParameterSet.Config as cms
0002
0003 import FWCore.ParameterSet.VarParsing as VarParsing
0004
0005 process = cms.Process("Reader")
0006
0007 options = VarParsing.VarParsing("analysis")
0008
0009 options.register ('moduleList',
0010 '',
0011 VarParsing.VarParsing.multiplicity.list,
0012 VarParsing.VarParsing.varType.int,
0013 "List of modules to monitor")
0014 options.register ('gainNorm',
0015 False,
0016 VarParsing.VarParsing.multiplicity.singleton,
0017 VarParsing.VarParsing.varType.bool,
0018 "has gain normalization to be applied?")
0019 options.register ('simGainNorm',
0020 False,
0021 VarParsing.VarParsing.multiplicity.singleton,
0022 VarParsing.VarParsing.varType.bool,
0023 "has SIM gain normalization to be applied?")
0024 options.register ('globalTag',
0025 "DONOTEXIST",
0026 VarParsing.VarParsing.multiplicity.singleton,
0027 VarParsing.VarParsing.varType.string,
0028 "GlobalTag")
0029 options.register ('logDestination',
0030 "",
0031 VarParsing.VarParsing.multiplicity.singleton,
0032 VarParsing.VarParsing.varType.string,
0033 "log file")
0034 options.register ('outputRootFile',
0035 "",
0036 VarParsing.VarParsing.multiplicity.singleton,
0037 VarParsing.VarParsing.varType.string,
0038 "output root file")
0039 options.register ('connectionString',
0040 "",
0041 VarParsing.VarParsing.multiplicity.singleton,
0042 VarParsing.VarParsing.varType.string,
0043 "connection string")
0044 options.register ('recordName',
0045 "",
0046 VarParsing.VarParsing.multiplicity.singleton,
0047 VarParsing.VarParsing.varType.string,
0048 "record name")
0049 options.register ('tagName',
0050 "",
0051 VarParsing.VarParsing.multiplicity.singleton,
0052 VarParsing.VarParsing.varType.string,
0053 "tag name")
0054 options.register ('runNumber',
0055 0,
0056 VarParsing.VarParsing.multiplicity.singleton,
0057 VarParsing.VarParsing.varType.int,
0058 "run number")
0059 options.register ('PedestalMon',
0060 False,
0061 VarParsing.VarParsing.multiplicity.singleton,
0062 VarParsing.VarParsing.varType.bool,
0063 "Monitor pedestals?")
0064 options.register ('NoiseMon',
0065 False,
0066 VarParsing.VarParsing.multiplicity.singleton,
0067 VarParsing.VarParsing.varType.bool,
0068 "Monitor noise?")
0069
0070 options.parseArguments()
0071
0072
0073 process.MessageLogger = cms.Service("MessageLogger",
0074 debugModules = cms.untracked.vstring(''),
0075 destinations = cms.untracked.vstring(options.logDestination,
0076 'cerr'
0077 ),
0078 categories = cms.untracked.vstring('SiStripBaseCondObjDQM',
0079 'SiStripNoisesDQM',
0080 'SiStripPedestalsDQM'
0081 ),
0082 cerr = cms.untracked.PSet(threshold = cms.untracked.string('WARNING'))
0083 )
0084 setattr(process.MessageLogger,options.logDestination,cms.untracked.PSet(
0085 threshold = cms.untracked.string('INFO'),
0086 default = cms.untracked.PSet(limit=cms.untracked.int32(0)),
0087 SiStripBaseCondObjDQM = cms.untracked.PSet(limit=cms.untracked.int32(100000)),
0088 SiStripNoisesDQM = cms.untracked.PSet(limit=cms.untracked.int32(100000)),
0089 SiStripPedestalsDQM = cms.untracked.PSet(limit=cms.untracked.int32(100000))
0090 ))
0091
0092 process.maxEvents = cms.untracked.PSet(
0093 input = cms.untracked.int32(-1)
0094 )
0095
0096 process.source = cms.Source("EmptyIOVSource",
0097 firstValue = cms.uint64(options.runNumber),
0098 lastValue = cms.uint64(options.runNumber),
0099 timetype = cms.string('runnumber'),
0100 interval = cms.uint64(1)
0101 )
0102
0103 if options.globalTag == "DONOTEXIST":
0104 process.load('Configuration.Geometry.GeometryExtended_cff')
0105 process.TrackerTopologyEP = cms.ESProducer("TrackerTopologyEP")
0106 process.load("Geometry.TrackerGeometryBuilder.trackerParameters_cfi")
0107
0108 process.poolDBESSource = cms.ESSource("PoolDBESSource",
0109 DBParameters = cms.PSet(
0110 messageLevel = cms.untracked.int32(1),
0111 authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb')
0112 ),
0113 connect = cms.string(options.connectionString),
0114 toGet = cms.VPSet(cms.PSet(
0115 record = cms.string(options.recordName),
0116 tag = cms.string(options.tagName)
0117 ))
0118 )
0119 else:
0120 process.load("Configuration.StandardSequences.GeometryDB_cff")
0121 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0122 from Configuration.AlCa.GlobalTag import GlobalTag
0123 process.GlobalTag = GlobalTag(process.GlobalTag, options.globalTag, '')
0124
0125 process.DQMStore = cms.Service("DQMStore",
0126 verbose = cms.untracked.int32(1)
0127 )
0128
0129 process.load("DQM.SiStripMonitorSummary.SiStripMonitorCondData_cfi")
0130
0131 process.CondDataMonitoring.OutputFileName = options.outputRootFile
0132 process.CondDataMonitoring.MonitorSiStripPedestal = options.PedestalMon
0133 process.CondDataMonitoring.MonitorSiStripNoise = options.NoiseMon
0134 process.CondDataMonitoring.MonitorSiStripQuality = False
0135 process.CondDataMonitoring.MonitorSiStripCabling = False
0136 process.CondDataMonitoring.MonitorSiStripApvGain = False
0137 process.CondDataMonitoring.MonitorSiStripLorentzAngle = False
0138 process.CondDataMonitoring.MonitorSiStripBackPlaneCorrection = False
0139 process.CondDataMonitoring.MonitorSiStripLowThreshold = False
0140 process.CondDataMonitoring.MonitorSiStripHighThreshold = False
0141 process.CondDataMonitoring.OutputMEsInRootFile = True
0142 process.CondDataMonitoring.FillConditions_PSet.OutputSummaryAtLayerLevelAsImage = False
0143 process.CondDataMonitoring.FillConditions_PSet.OutputSummaryProfileAtLayerLevelAsImage = False
0144 process.CondDataMonitoring.FillConditions_PSet.OutputCumulativeSummaryAtLayerLevelAsImage = False
0145 process.CondDataMonitoring.FillConditions_PSet.HistoMaps_On = False
0146 process.CondDataMonitoring.FillConditions_PSet.TkMap_On = False
0147 process.CondDataMonitoring.FillConditions_PSet.ActiveDetIds_On = True
0148 process.CondDataMonitoring.FillConditions_PSet.Mod_On = True
0149 process.CondDataMonitoring.FillConditions_PSet.restrictModules = True
0150 process.CondDataMonitoring.FillConditions_PSet.ModulesToBeIncluded = cms.vuint32(options.moduleList)
0151
0152
0153 process.CondDataMonitoring.SiStripPedestalsDQM_PSet.FillSummaryAtLayerLevel = True
0154 process.CondDataMonitoring.SiStripNoisesDQM_PSet.FillSummaryAtLayerLevel = True
0155
0156 process.CondDataMonitoring.SiStripPedestalsDQM_PSet.CondObj_fillId = 'ProfileAndCumul'
0157 process.CondDataMonitoring.SiStripNoisesDQM_PSet.CondObj_fillId = 'ProfileAndCumul'
0158
0159
0160 process.CondDataMonitoring.SiStripPedestalsDQM_PSet.TkMap_On = False
0161 process.CondDataMonitoring.SiStripPedestalsDQM_PSet.TkMapName = 'PedestalTkMap.png'
0162
0163 process.CondDataMonitoring.SiStripNoisesDQM_PSet.TkMap_On = False
0164 process.CondDataMonitoring.SiStripNoisesDQM_PSet.TkMapName = 'NoiseTkMap.png'
0165 process.CondDataMonitoring.SiStripNoisesDQM_PSet.Cumul_NchX = cms.int32(150)
0166 process.CondDataMonitoring.SiStripNoisesDQM_PSet.Cumul_LowX = cms.double(0.0)
0167 process.CondDataMonitoring.SiStripNoisesDQM_PSet.Cumul_HighX = cms.double(15.0)
0168 process.CondDataMonitoring.SiStripNoisesDQM_PSet.GainRenormalisation = cms.bool(options.gainNorm)
0169 process.CondDataMonitoring.SiStripNoisesDQM_PSet.SimGainRenormalisation = cms.bool(options.simGainNorm)
0170
0171 process.p1 = cms.Path(process.CondDataMonitoring)