#Write on DB process.load( "CalibTracker.SiStripESProducers.DBWriter.SiStripBadModuleDummyDBWriter_cfi" ) process.siStripBadModuleDummyDBWriter.OpenIovAt = cms.untracked.string( "currentTime") process.PoolDBOutputService = cms.Service( "PoolDBOutputService", BlobStreamerName=cms.untracked.string('TBufferBlobStreamingService'), DBParameters=cms.PSet( messageLevel=cms.untracked.int32(2), authenticationPath=cms.untracked.string('/afs/cern.ch/cms/DB/conddb')), timetype=cms.untracked.string('runnumber'), connect=cms.string('sqlite_file:dbfile.db'), toPut=cms.VPSet( cms.PSet(record=cms.string('SiStripBadStrip'), tag=cms.string('SiStripBadModule_Fake_TIB')))) ###### Quality ESProducer process.load("CalibTracker.SiStripESProducers.SiStripQualityESProducer_cfi") process.siStripQualityESProducer.ListOfRecordToMerge = cms.VPSet( cms.PSet(record=cms.string("SiStripBadModuleRcd"), tag=cms.string(""))) from CalibTracker.SiStripQuality.siStripQualityStatistics_cfi import siStripQualityStatistics process.reader = siStripQualityStatistics.clone() process.siStripBadModuleDummyDBWriter.record = process.PoolDBOutputService.toPut[ 0].record process.p = cms.Path(process.reader * process.siStripBadModuleDummyDBWriter)
#process.SiStripMonitorCluster.TH1ClusterStoNVsPos.moduleswitchon = cms.bool(True) process.SiStripMonitorCluster.TH1ClusterNoise.moduleswitchon = cms.bool(False) process.SiStripMonitorCluster.TH1NrOfClusterizedStrips.moduleswitchon = cms.bool( False) process.SiStripMonitorCluster.TH1ModuleLocalOccupancy.moduleswitchon = cms.bool( False) process.SiStripMonitorCluster.TH1nClusters.moduleswitchon = cms.bool(False) process.SiStripMonitorCluster.TH1ClusterCharge.moduleswitchon = cms.bool(False) process.SiStripMonitorCluster.TH1ClusterWidth.moduleswitchon = cms.bool(False) #-------------------------- from CalibTracker.SiStripQuality.siStripQualityStatistics_cfi import siStripQualityStatistics process.stat = siStripQualityStatistics.clone( #available filetypes: .pdf .png .jpg .svg TkMapFileName=cms.untracked.string("TkMapBadComponents.png")) process.p = cms.Path(process.siStripDigis * process.siStripZeroSuppression * process.siStripClusters * process.SiStripMonitorCluster * process.dqmSaver * process.stat) #------------------------- # Input Events #------------------------- process.source = cms.Source( "PoolSource", timetype=cms.string('runnumber'), #firstRun = cms.untracked.uint32(67173), #lastRun = cms.untracked.uint32(67173),
mapMin=cms.untracked.double(3.)), cms.PSet(mapName=cms.untracked.string('NoiseOffTrack'), mapMax=cms.untracked.double(7.), RunNumber=cms.untracked.uint32(options.runNumber), mapMin=cms.untracked.double(3.)))) # Services needed for TkHistoMap / DetIdInfoFile process.load("CalibTracker.SiStripCommon.TkDetMapESProducer_cfi") process.TFileService = cms.Service('TFileService', fileName=cms.string(options.detIdInfoFile)) # Configuration of the SiStripQuality object for the map of bad channels #process.siStripQualityESProducer.appendToDataLabel = cms.string("test") process.siStripQualityESProducer.ListOfRecordToMerge = cms.VPSet( # cms.PSet( record = cms.string("SiStripDetVOffRcd"), tag = cms.string("") ), # cms.PSet( record = cms.string("SiStripDetCablingRcd"), tag = cms.string("") ), # cms.PSet( record = cms.string("RunInfoRcd"), tag = cms.string("") ), # cms.PSet( record = cms.string("SiStripBadChannelRcd"), tag = cms.string("") ), cms.PSet(record=cms.string("SiStripBadFiberRcd"), tag=cms.string("")) # cms.PSet( record = cms.string("SiStripBadModuleRcd"), tag = cms.string("") ) ) from CalibTracker.SiStripQuality.siStripQualityStatistics_cfi import siStripQualityStatistics process.ssqualitystat = siStripQualityStatistics.clone( TkMapFileName=cms.untracked.string( "PCLBadComponents.png"), #available filetypes: .pdf .png .jpg .svg SaveTkHistoMap=cms.untracked.bool(False)) process.p1 = cms.Path(process.siStripOfflineAnalyser + process.ssqualitystat)
process.SiStripQualityESProducer = cms.ESProducer( "SiStripQualityESProducer", PrintDebug=cms.untracked.bool(True), appendToDataLabel=cms.string('test'), ReduceGranularity=cms.bool(True), ThresholdForReducedGranularity=cms.double(0.3), ListOfRecordToMerge=cms.VPSet( cms.PSet(record=cms.string('SiStripBadModuleRcd'), tag=cms.string('')), cms.PSet(record=cms.string('SiStripBadChannelRcd'), tag=cms.string('')), cms.PSet(record=cms.string('SiStripDetCablingRcd'), tag=cms.string('')))) #### Add these lines to produce a tracker map #process.load("DQM.SiStripCommon.TkHistoMap_cff") ### load TrackerTopology (needed for TkDetMap and TkHistoMap) #process.load("Configuration.Geometry.GeometryExtended2017_cff") #process.load("Geometry.TrackerGeometryBuilder.trackerParameters_cfi") #process.trackerTopology = cms.ESProducer("TrackerTopologyEP") #### from CalibTracker.SiStripQuality.siStripQualityStatistics_cfi import siStripQualityStatistics process.stat = siStripQualityStatistics.clone( #TkMapFileName = cms.untracked.string('TkMaps/TkMapBadComponents_full.png'), StripQualityLabel=cms.string("test")) process.out = cms.OutputModule("AsciiOutputModule") process.p = cms.Path(process.stat) process.ep = cms.EndPath(process.out)
cms.PSet(record=cms.string('SiStripBadModuleRcd'), tag=cms.string('')), cms.PSet(record=cms.string('SiStripBadFiberRcd'), tag=cms.string('')), cms.PSet(record=cms.string('SiStripBadStripRcd'), tag=cms.string('')), cms.PSet(record=cms.string('RunInfoRcd'), tag=cms.string(''))) process.siStripQualityESProducer.ReduceGranularity = cms.bool(False) # True means all the debug output from adding the RunInfo (default is False) process.siStripQualityESProducer.PrintDebugOutput = cms.bool(True) # "True" means that the RunInfo is used even if all the feds are off (including other subdetectors). # This means that if the RunInfo was filled with a fake empty object we will still set the full tracker as bad. # With "False", instead, in that case the RunInfo information is discarded. # Default is "False". process.siStripQualityESProducer.UseEmptyRunInfo = cms.bool(False) #------------------------------------------------- # Services for the TkHistoMap #------------------------------------------------- process.load("DQM.SiStripCommon.TkHistoMap_cff") #------------------------------------------------- # be sure that the dataLabel parameter matches with the label of the SiStripQuality object you want to explore from CalibTracker.SiStripQuality.siStripQualityStatistics_cfi import siStripQualityStatistics process.stat = siStripQualityStatistics.clone( StripQualityLabel=cms.string(""), SaveTkHistoMap=cms.untracked.bool(False), TkMapFileName=cms.untracked.string( "TkMapBadComponents.pdf") #available filetypes: .pdf .png .jpg .svg ) process.p = cms.Path(process.stat)
# Clusterizer # from RecoLocalTracker.SiStripClusterizer.SiStripClusterizer_cfi import * siStripUnbiasedClusterizerConditions = SiStripClusterizerConditionsESProducer.clone( QualityLabel="unbiased", Label="unbiased") calZeroBiasClusters = siStripClusters.clone() calZeroBiasClusters.Clusterizer.ConditionsLabel = 'unbiased' # Not persistent collections needed by the filters in the AlCaReco DQM from DPGAnalysis.SiStripTools.eventwithhistoryproducerfroml1abc_cfi import * from DPGAnalysis.SiStripTools.apvcyclephaseproducerfroml1tsDB_cfi import * # SiStripQuality (only to test the different data labels)# from CalibTracker.SiStripQuality.siStripQualityStatistics_cfi import siStripQualityStatistics qualityStatistics = siStripQualityStatistics.clone( StripQualityLabel=cms.string("unbiased")) # Sequence # seqALCARECOSiStripCalZeroBias = cms.Sequence( ALCARECOSiStripCalZeroBiasHLT * DCSStatusForSiStripCalZeroBias * calZeroBiasClusters * APVPhases * consecutiveHEs) ## customizations for the pp_on_AA eras from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA (pp_on_XeXe_2017 | pp_on_AA).toModify( ALCARECOSiStripCalZeroBiasHLT, eventSetupPathsKey='SiStripCalZeroBiasHI') # Select pp-like events based on the pixel cluster multiplicity import HLTrigger.special.hltPixelActivityFilter_cfi HLTPixelActivityFilterForSiStripCalZeroBias = HLTrigger.special.hltPixelActivityFilter_cfi.hltPixelActivityFilter.clone(
BlobStreamerName=cms.untracked.string('TBufferBlobStreamingService'), DBParameters=cms.PSet( messageLevel=cms.untracked.int32(2), authenticationPath=cms.untracked.string('/afs/cern.ch/cms/DB/conddb')), timetype=cms.untracked.string('runnumber'), connect=cms.string('sqlite_file:dbfile.db'), toPut=cms.VPSet( cms.PSet(record=cms.string('SiStripBadStrip'), tag=cms.string('SiStripBadComponentsToMask')))) ###### Quality ESProducer process.load("CalibTracker.SiStripESProducers.SiStripQualityESProducer_cfi") process.siStripQualityESProducer.ListOfRecordToMerge = cms.VPSet( cms.PSet(record=cms.string("SiStripBadModuleRcd"), tag=cms.string(""))) #### Add these lines to produce a tracker map # load TrackerTopology (needed for TkDetMap and TkHistoMap) process.load("Configuration.Geometry.GeometryExtended2017_cff") process.load("Geometry.TrackerGeometryBuilder.trackerParameters_cfi") process.TrackerTopologyEP = cms.ESProducer("TrackerTopologyEP") process.load("DQM.SiStripCommon.TkHistoMap_cff") #### from CalibTracker.SiStripQuality.siStripQualityStatistics_cfi import siStripQualityStatistics process.reader = siStripQualityStatistics.clone( TkMapFileName=cms.untracked.string("TkMapBadComponents_byHand.png")) process.siStripBadModuleDummyDBWriter.record = process.PoolDBOutputService.toPut[ 0].record process.p = cms.Path(process.reader * process.siStripBadModuleDummyDBWriter)
process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_data', '') process.source = cms.Source("EmptyIOVSource", firstValue=cms.uint64(258714), lastValue=cms.uint64(258714), timetype=cms.string('runnumber'), interval=cms.uint64(1)) process.maxEvents = cms.untracked.PSet(input=cms.untracked.int32(-1)) process.load('DQMServices.Core.DQMStore_cfi') process.siStripQualityESProducer.ListOfRecordToMerge = cms.VPSet( cms.PSet(record=cms.string('SiStripBadFiberRcd'), tag=cms.string('')), cms.PSet(record=cms.string('SiStripDetCablingRcd'), tag=cms.string('')) ## BadChannel list from FED errors is added below ) process.siStripQualityESProducer.ReduceGranularity = cms.bool(False) process.siStripQualityESProducer.ThresholdForReducedGranularity = cms.double( 0.3) #### Add these lines to produce a tracker map process.load("DQM.SiStripCommon.TkHistoMap_cff") #### from CalibTracker.SiStripQuality.siStripQualityStatistics_cfi import siStripQualityStatistics process.stat = siStripQualityStatistics.clone( BadComponentsFromFedErrors=siStripQualityStatistics.clone( Add=cms.bool(True))) process.p = cms.Path(process.stat)
process.p1 = cms.Path(process.CondDataMonitoring) # Additional analyzer if a bad channel tag has to be monitored if options.QualityMon == True: process.SiStripQualityESProducer = cms.ESProducer( "SiStripQualityESProducer", ReduceGranularity=cms.bool(False), PrintDebugOutput=cms.bool(False), UseEmptyRunInfo=cms.bool(False), ListOfRecordToMerge=cms.VPSet( cms.PSet(record=cms.string(options.recordName), tag=cms.string('')))) # this module is almost useless since SiStripQualityDQM does all the job. If we want to remove it the log file has to be filled with SiStripQualityDQM from CalibTracker.SiStripQuality.siStripQualityStatistics_cfi import siStripQualityStatistics process.stat = siStripQualityStatistics.clone() process.e = cms.EndPath(process.stat) if options.CablingMon == True: process.SiStripQualityESProducer = cms.ESProducer( "SiStripQualityESProducer", ReduceGranularity=cms.bool(False), PrintDebugOutput=cms.bool(False), UseEmptyRunInfo=cms.bool(False), ListOfRecordToMerge=cms.VPSet( cms.PSet(record=cms.string(options.recordForQualityName), tag=cms.string('')))) process.sistripconn = cms.ESProducer("SiStripConnectivity")
process.siStripQualityESProducer.ThresholdForReducedGranularity = cms.double( 0.3) process.siStripQualityESProducer.PrintDebugOutput = True # common config for adding bad components from FED errors from CalibTracker.SiStripQuality.siStripQualityStatistics_cfi import siStripQualityStatistics badCompFromFedErrors = siStripQualityStatistics.BadComponentsFromFedErrors.clone( Add=cms.bool(True), LegacyDQMFile=cms.string(opts.dqmFile), FileRunNumber=cms.uint32(opts.runNumber)) # Print list of Bad modules and create Tracker Map indicating Bad modules process.load("DQM.SiStripCommon.TkHistoMap_cff") # to produce a tracker map process.stat = siStripQualityStatistics.clone( TkMapFileName=cms.untracked.string( "TkMap_Jul04_2018_319176.png" ), #available filetypes: .pdf .png .jpg .svg BadComponentsFromFedErrors=badCompFromFedErrors) # Write Information into DB process.load( "CalibTracker.SiStripQuality.siStripBadStripFromQualityDBWriter_cfi") #process.siStripBadStripFromQualityDBWriter.OpenIovAt = cms.untracked.string("currentTime") process.siStripBadStripFromQualityDBWriter.OpenIovAt = cms.untracked.string( "beginTime") process.siStripBadStripFromQualityDBWriter.BadComponentsFromFedErrors = badCompFromFedErrors process.PoolDBOutputService = cms.Service( "PoolDBOutputService", BlobStreamerName=cms.untracked.string("TBufferBlobStreamingService"), DBParameters=cms.PSet( authenticationPath=cms.untracked.string("/afs/cern.ch/cms/DB/conddb")),