#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)
示例#2
0
#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)
示例#5
0
    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)
示例#6
0
# 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(
示例#7
0
    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)
示例#8
0
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")),