Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:03:21

0001 #! /usr/bin/env cmsRun
0002 # Author: Marco Musich (Feb 2022)
0003 import FWCore.ParameterSet.Config as cms
0004 import FWCore.ParameterSet.VarParsing as VarParsing
0005 
0006 process = cms.Process("TEST")
0007 options = VarParsing.VarParsing('analysis')
0008 options.register('fromESSource',
0009                  False, # default value
0010                  VarParsing.VarParsing.multiplicity.singleton,
0011                  VarParsing.VarParsing.varType.bool,
0012                  "Populate SiPhase2OuterTrackerBadStripRcd from the ESSource")
0013 options.parseArguments()
0014 
0015 ###################################################################
0016 # Messages
0017 ###################################################################
0018 process.load('FWCore.MessageService.MessageLogger_cfi')   
0019 process.MessageLogger.cerr.enable = False
0020 process.MessageLogger.SiPhase2BadStripChannelReader=dict()  
0021 process.MessageLogger.SiStripBadStrip=dict()
0022 process.MessageLogger.SiPhase2BadStripConfigurableFakeESSource=dict()
0023 process.MessageLogger.cout = cms.untracked.PSet(
0024     enable    = cms.untracked.bool(True),
0025     enableStatistics = cms.untracked.bool(True),
0026     threshold = cms.untracked.string("INFO"),
0027     default   = cms.untracked.PSet(limit = cms.untracked.int32(0)),                       
0028     FwkReport = cms.untracked.PSet(limit = cms.untracked.int32(-1),
0029                                    reportEvery = cms.untracked.int32(1000)
0030                                    ),                                                      
0031     SiPhase2BadStripChannelReader = cms.untracked.PSet( limit = cms.untracked.int32(-1)),
0032     SiStripBadStrip = cms.untracked.PSet( limit = cms.untracked.int32(-1)),
0033     SiPhase2BadStripConfigurableFakeESSource = cms.untracked.PSet( limit = cms.untracked.int32(-1))
0034 )
0035 
0036 ###################################################################
0037 # A data source must always be defined.
0038 # We don't need it, so here's a dummy one.
0039 ###################################################################
0040 process.source = cms.Source("EmptyIOVSource",
0041     timetype = cms.string('runnumber'),
0042     firstValue = cms.uint64(1),
0043     lastValue = cms.uint64(1),
0044     interval = cms.uint64(1)
0045 )
0046 
0047 ###################################################################
0048 # Input data
0049 ###################################################################
0050 if(options.fromESSource): 
0051     process.load("Configuration.Geometry.GeometryExtended2026D88_cff")
0052     process.load('Configuration.Geometry.GeometryExtended2026D88Reco_cff')
0053     process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0054     from Configuration.AlCa.GlobalTag import GlobalTag
0055     process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T21', '')
0056     #process.load("SLHCUpgradeSimulations.Geometry.fakePhase2OuterTrackerConditions_cff") # already included
0057     #process.SiPhase2OTFakeBadStripsESSource.printDebug = cms.untracked.bool(True)    # this makes it verbose 
0058     process.SiPhase2OTFakeBadStripsESSource.badComponentsFraction = cms.double(0.05)   # bad components fraction is 5%
0059 else:
0060     tag = 'SiStripBadStripPhase2_T21'
0061     suffix = 'v0'
0062     inFile = tag+'_'+suffix+'.db'
0063     inDB = 'sqlite_file:'+inFile
0064     
0065     process.load("CondCore.CondDB.CondDB_cfi")
0066     # input database (in this case the local sqlite file)
0067     process.CondDB.connect = inDB
0068     
0069     process.PoolDBESSource = cms.ESSource("PoolDBESSource",
0070                                           process.CondDB,
0071                                           DumpStat=cms.untracked.bool(True),
0072                                           toGet = cms.VPSet(cms.PSet(#record = cms.string("SiStripBadStripRcd"),
0073                                                                      record = cms.string("SiPhase2OuterTrackerBadStripRcd"),
0074                                                                      tag = cms.string(tag))))
0075     
0076 ###################################################################
0077 # check the ES data getter
0078 ###################################################################
0079 process.get = cms.EDAnalyzer("EventSetupRecordDataGetter",
0080     toGet = cms.VPSet(cms.PSet(
0081         #record = cms.string('SiStripBadStripRcd'),
0082         record = cms.string('SiPhase2OuterTrackerBadStripRcd'),
0083         data = cms.vstring('SiStripBadStrip')
0084     )),
0085     verbose = cms.untracked.bool(True)
0086 )
0087 
0088 ###################################################################
0089 # Payload reader
0090 ###################################################################
0091 import CondTools.SiPhase2Tracker.siPhase2BadStripChannelReader_cfi as _mod
0092 process.BadStripPayloadReader = _mod.siPhase2BadStripChannelReader.clone(printDebug = 1,
0093                                                                          printVerbose = False,
0094                                                                          label = "")
0095 
0096 ###################################################################
0097 # Path
0098 ###################################################################
0099 process.p = cms.Path(process.get+process.BadStripPayloadReader)