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 ('logDestination',
0010 "",
0011 VarParsing.VarParsing.multiplicity.singleton,
0012 VarParsing.VarParsing.varType.string,
0013 "log file")
0014 options.register ('qualityLogDestination',
0015 "",
0016 VarParsing.VarParsing.multiplicity.singleton,
0017 VarParsing.VarParsing.varType.string,
0018 "quality log file")
0019 options.register ('runInfoTag',
0020 "",
0021 VarParsing.VarParsing.multiplicity.singleton,
0022 VarParsing.VarParsing.varType.string,
0023 "RunInfo tag name")
0024 options.register ('cablingTag',
0025 "",
0026 VarParsing.VarParsing.multiplicity.singleton,
0027 VarParsing.VarParsing.varType.string,
0028 "cabling tag name")
0029 options.register ('cablingConnectionString',
0030 "",
0031 VarParsing.VarParsing.multiplicity.singleton,
0032 VarParsing.VarParsing.varType.string,
0033 "Cabling connection string")
0034 options.register ('runinfoConnectionString',
0035 "",
0036 VarParsing.VarParsing.multiplicity.singleton,
0037 VarParsing.VarParsing.varType.string,
0038 "RunInfo connection string")
0039 options.register ('MonitorCumulative',
0040 False,
0041 VarParsing.VarParsing.multiplicity.singleton,
0042 VarParsing.VarParsing.varType.bool,
0043 "Cumulative Monitoring?")
0044 options.register ('outputRootFile',
0045 "",
0046 VarParsing.VarParsing.multiplicity.singleton,
0047 VarParsing.VarParsing.varType.string,
0048 "output root file")
0049 options.register ('runNumber',
0050 0,
0051 VarParsing.VarParsing.multiplicity.singleton,
0052 VarParsing.VarParsing.varType.int,
0053 "run number")
0054
0055 options.parseArguments()
0056
0057 process.MessageLogger = cms.Service("MessageLogger",
0058 debugModules = cms.untracked.vstring(''),
0059
0060
0061
0062 destinations = cms.untracked.vstring(options.logDestination,
0063 options.qualityLogDestination
0064
0065
0066 ),
0067 categories = cms.untracked.vstring('SiStripQualityStatistics'
0068
0069
0070
0071 )
0072 )
0073 setattr(process.MessageLogger,options.logDestination,cms.untracked.PSet(threshold = cms.untracked.string('INFO')))
0074 setattr(process.MessageLogger,options.qualityLogDestination,cms.untracked.PSet(
0075 threshold = cms.untracked.string('INFO'),
0076 default = cms.untracked.PSet(limit=cms.untracked.int32(0)),
0077 SiStripQualityStatistics = cms.untracked.PSet(limit=cms.untracked.int32(100000))
0078
0079 )
0080 )
0081
0082 process.maxEvents = cms.untracked.PSet(
0083 input = cms.untracked.int32(-1)
0084 )
0085
0086 process.source = cms.Source("EmptyIOVSource",
0087 firstValue = cms.uint64(options.runNumber),
0088 lastValue = cms.uint64(options.runNumber),
0089 timetype = cms.string('runnumber'),
0090 interval = cms.uint64(1)
0091 )
0092
0093
0094 process.load('Configuration.Geometry.GeometryExtended_cff')
0095 process.TrackerTopologyEP = cms.ESProducer("TrackerTopologyEP")
0096 process.load("Geometry.TrackerGeometryBuilder.trackerParameters_cfi")
0097
0098 process.poolDBESSourceRunInfo = cms.ESSource("PoolDBESSource",
0099 DBParameters = cms.PSet(
0100 messageLevel = cms.untracked.int32(1),
0101 authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb')
0102 ),
0103 connect = cms.string(options.runinfoConnectionString),
0104 toGet = cms.VPSet(cms.PSet(
0105 record = cms.string('RunInfoRcd'),
0106 tag = cms.string(options.runInfoTag)
0107 )
0108 )
0109 )
0110
0111 process.poolDBESSourceFedCabling = cms.ESSource("PoolDBESSource",
0112 DBParameters = cms.PSet(
0113 messageLevel = cms.untracked.int32(1),
0114 authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb')
0115 ),
0116 connect = cms.string(options.cablingConnectionString),
0117 toGet = cms.VPSet(cms.PSet(
0118 record = cms.string('SiStripFedCablingRcd'),
0119 tag = cms.string(options.cablingTag)
0120 )
0121 )
0122 )
0123
0124 process.DQMStore = cms.Service("DQMStore",
0125 verbose = cms.untracked.int32(1)
0126 )
0127
0128 process.load("DQM.SiStripMonitorSummary.SiStripMonitorCondData_cfi")
0129
0130 process.CondDataMonitoring.OutputFileName = options.outputRootFile
0131 process.CondDataMonitoring.MonitorSiStripPedestal = False
0132 process.CondDataMonitoring.MonitorSiStripNoise = False
0133 process.CondDataMonitoring.MonitorSiStripQuality = True
0134 process.CondDataMonitoring.MonitorSiStripCabling = False
0135 process.CondDataMonitoring.MonitorSiStripApvGain = False
0136 process.CondDataMonitoring.MonitorSiStripLorentzAngle = False
0137 process.CondDataMonitoring.MonitorSiStripBackPlaneCorrection = False
0138 process.CondDataMonitoring.MonitorSiStripLowThreshold = False
0139 process.CondDataMonitoring.MonitorSiStripHighThreshold = False
0140 process.CondDataMonitoring.OutputMEsInRootFile = True
0141 process.CondDataMonitoring.FillConditions_PSet.OutputSummaryAtLayerLevelAsImage = True
0142 process.CondDataMonitoring.FillConditions_PSet.OutputSummaryProfileAtLayerLevelAsImage = False
0143 process.CondDataMonitoring.FillConditions_PSet.OutputCumulativeSummaryAtLayerLevelAsImage = options.MonitorCumulative
0144 process.CondDataMonitoring.FillConditions_PSet.HistoMaps_On = False
0145 process.CondDataMonitoring.FillConditions_PSet.TkMap_On = True
0146 process.CondDataMonitoring.FillConditions_PSet.ActiveDetIds_On = True
0147
0148 process.CondDataMonitoring.SiStripPedestalsDQM_PSet.FillSummaryAtLayerLevel = True
0149 process.CondDataMonitoring.SiStripNoisesDQM_PSet.FillSummaryAtLayerLevel = True
0150 process.CondDataMonitoring.SiStripQualityDQM_PSet.FillSummaryAtLayerLevel = True
0151 process.CondDataMonitoring.SiStripApvGainsDQM_PSet.FillSummaryAtLayerLevel = True
0152 process.CondDataMonitoring.SiStripLowThresholdDQM_PSet.FillSummaryAtLayerLevel = True
0153 process.CondDataMonitoring.SiStripHighThresholdDQM_PSet.FillSummaryAtLayerLevel = True
0154
0155 process.CondDataMonitoring.SiStripCablingDQM_PSet.CondObj_fillId = 'ProfileAndCumul'
0156 process.CondDataMonitoring.SiStripPedestalsDQM_PSet.CondObj_fillId = 'onlyProfile'
0157 process.CondDataMonitoring.SiStripNoisesDQM_PSet.CondObj_fillId = 'onlyCumul'
0158 process.CondDataMonitoring.SiStripQualityDQM_PSet.CondObj_fillId = 'onlyProfile'
0159 process.CondDataMonitoring.SiStripApvGainsDQM_PSet.CondObj_fillId = 'ProfileAndCumul'
0160 process.CondDataMonitoring.SiStripLorentzAngleDQM_PSet.CondObj_fillId = 'ProfileAndCumul'
0161 process.CondDataMonitoring.SiStripBackPlaneCorrectionDQM_PSet.CondObj_fillId = 'ProfileAndCumul'
0162 process.CondDataMonitoring.SiStripLowThresholdDQM_PSet.CondObj_fillId = 'onlyProfile'
0163 process.CondDataMonitoring.SiStripHighThresholdDQM_PSet.CondObj_fillId = 'onlyProfile'
0164
0165
0166
0167 process.CondDataMonitoring.SiStripQualityDQM_PSet.TkMap_On = True
0168 process.CondDataMonitoring.SiStripQualityDQM_PSet.TkMapName = 'QualityTkMap.png'
0169 process.CondDataMonitoring.SiStripQualityDQM_PSet.minValue = 0.
0170 process.CondDataMonitoring.SiStripQualityDQM_PSet.maxValue = 100.
0171
0172 process.CondDataMonitoring.SiStripCablingDQM_PSet.TkMap_On = True
0173 process.CondDataMonitoring.SiStripCablingDQM_PSet.TkMapName = 'CablingTkMap.png'
0174 process.CondDataMonitoring.SiStripCablingDQM_PSet.minValue = 0.
0175 process.CondDataMonitoring.SiStripCablingDQM_PSet.maxValue = 6.
0176
0177 process.CondDataMonitoring.SiStripPedestalsDQM_PSet.TkMap_On = True
0178 process.CondDataMonitoring.SiStripPedestalsDQM_PSet.TkMapName = 'PedestalTkMap.png'
0179 process.CondDataMonitoring.SiStripPedestalsDQM_PSet.minValue = 0.
0180 process.CondDataMonitoring.SiStripPedestalsDQM_PSet.maxValue = 400.
0181
0182 process.CondDataMonitoring.SiStripNoisesDQM_PSet.TkMap_On = True
0183 process.CondDataMonitoring.SiStripNoisesDQM_PSet.TkMapName = 'NoiseTkMap.png'
0184 process.CondDataMonitoring.SiStripNoisesDQM_PSet.minValue = 3.
0185 process.CondDataMonitoring.SiStripNoisesDQM_PSet.maxValue = 9.
0186
0187 process.CondDataMonitoring.SiStripApvGainsDQM_PSet.TkMap_On = True
0188 process.CondDataMonitoring.SiStripApvGainsDQM_PSet.TkMapName = 'GainTkMap.png'
0189 process.CondDataMonitoring.SiStripApvGainsDQM_PSet.minValue = 0.
0190 process.CondDataMonitoring.SiStripApvGainsDQM_PSet.maxValue = 1.5
0191
0192 process.CondDataMonitoring.SiStripLorentzAngleDQM_PSet.TkMap_On = True
0193 process.CondDataMonitoring.SiStripLorentzAngleDQM_PSet.TkMapName = 'LorentzAngleTkMap.png'
0194 process.CondDataMonitoring.SiStripLorentzAngleDQM_PSet.minValue = 0.01
0195 process.CondDataMonitoring.SiStripLorentzAngleDQM_PSet.maxValue = 0.03
0196
0197 process.CondDataMonitoring.SiStripBackPlaneCorrectionDQM_PSet.TkMap_On = True
0198 process.CondDataMonitoring.SiStripBackPlaneCorrectionDQM_PSet.TkMapName = 'BackPlaneCorrectionTkMap.png'
0199 process.CondDataMonitoring.SiStripBackPlaneCorrectionDQM_PSet.minValue = 0.00
0200 process.CondDataMonitoring.SiStripBackPlaneCorrectionDQM_PSet.maxValue = 0.10
0201
0202 process.CondDataMonitoring.SiStripLowThresholdDQM_PSet.TkMap_On = True
0203 process.CondDataMonitoring.SiStripLowThresholdDQM_PSet.TkMapName = 'LowThresholdTkMap.png'
0204 process.CondDataMonitoring.SiStripLowThresholdDQM_PSet.minValue = 0.
0205 process.CondDataMonitoring.SiStripLowThresholdDQM_PSet.maxValue = 10.
0206
0207 process.CondDataMonitoring.SiStripHighThresholdDQM_PSet.TkMap_On = True
0208 process.CondDataMonitoring.SiStripHighThresholdDQM_PSet.TkMapName = 'HighThresholdTkMap.png'
0209 process.CondDataMonitoring.SiStripHighThresholdDQM_PSet.minValue = 0.
0210 process.CondDataMonitoring.SiStripHighThresholdDQM_PSet.maxValue = 10.
0211
0212
0213 process.p1 = cms.Path(process.CondDataMonitoring)
0214
0215 process.SiStripQualityESProducer = cms.ESProducer("SiStripQualityESProducer",
0216 ReduceGranularity = cms.bool(False),
0217 PrintDebugOutput = cms.bool(False),
0218 UseEmptyRunInfo = cms.bool(True),
0219 ListOfRecordToMerge = cms.VPSet(
0220 cms.PSet(
0221 record = cms.string('RunInfoRcd'),
0222 tag = cms.string('')
0223 ),
0224 cms.PSet(
0225 record = cms.string('SiStripDetCablingRcd'),
0226 tag = cms.string('')
0227 )
0228 )
0229 )
0230
0231 process.sistripconn = cms.ESProducer("SiStripConnectivity")
0232
0233 from CalibTracker.SiStripQuality.siStripQualityStatistics_cfi import siStripQualityStatistics
0234 process.stat = siStripQualityStatistics.clone()
0235
0236 process.e = cms.EndPath(process.stat)