Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:25:37

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 def _commonCustomizeForInefficiency(process):
0004     ## for standard mixing
0005     if hasattr(process,'mix') and hasattr(process.mix,'digitizers') and hasattr(process.mix.digitizers,'pixel'): 
0006         if hasattr(process.mix.digitizers.pixel,'PSPDigitizerAlgorithm'):
0007             print("# Activating Bias Rail Inefficiency in macro-pixels")
0008             process.mix.digitizers.pixel.PSPDigitizerAlgorithm.BiasRailInefficiencyFlag = cms.int32(1)
0009 
0010         if hasattr(process.mix.digitizers.pixel,'PSSDigitizerAlgorithm'):
0011             print("# Activating bad strip simulation for s-sensors in PS modules from DB")
0012             process.mix.digitizers.pixel.PSSDigitizerAlgorithm.KillModules = cms.bool(True)
0013             process.mix.digitizers.pixel.PSSDigitizerAlgorithm.DeadModules_DB = cms.bool(True)
0014 
0015         if hasattr(process.mix.digitizers.pixel,'SSDigitizerAlgorithm'):
0016             print("# Activating bad strip simulation for SS modules from DB")
0017             process.mix.digitizers.pixel.SSDigitizerAlgorithm.KillModules = cms.bool(True)
0018             process.mix.digitizers.pixel.SSDigitizerAlgorithm.DeadModules_DB = cms.bool(True)
0019 
0020     ## for pre-mixing
0021     if hasattr(process, "mixData") and hasattr(process.mixData, "workers") and hasattr(process.mixData.workers, "pixel"):
0022         if hasattr(process.mixData.workers.pixel,'PSPDigitizerAlgorithm'):
0023             print("# Activating Bias Rail Inefficiency in macro-pixels")
0024             process.mixData.workers.pixel.PSPDigitizerAlgorithm.BiasRailInefficiencyFlag = cms.int32(1)
0025 
0026         if hasattr(process.mixData.workers.pixel,'PSSDigitizerAlgorithm'):
0027             print("# Activating bad strip simulation for s-sensors in PS modules from DB")
0028             process.mixData.workers.pixel.PSSDigitizerAlgorithm.KillModules = cms.bool(True)
0029             process.mixData.workers.pixel.PSSDigitizerAlgorithm.DeadModules_DB = cms.bool(True)
0030 
0031         if hasattr(process.mixData.workers.pixel,'SSDigitizerAlgorithm'):
0032             print("# Activating bad strip simulation for SS modules from DB")
0033             process.mixData.workers.pixel.SSDigitizerAlgorithm.KillModules = cms.bool(True)
0034             process.mixData.workers.pixel.SSDigitizerAlgorithm.DeadModules_DB = cms.bool(True)
0035 
0036     return process
0037 
0038 #
0039 # activate bias rail inefficiency and 1% random bad strips
0040 #
0041 def customizeSiPhase2OTInefficiencyOnePercent(process):
0042 
0043     _commonCustomizeForInefficiency(process)
0044 
0045     if hasattr(process,'SiPhase2OTFakeBadStripsESSource') :
0046         print("# Adding 1% of randomly generated bad strips")
0047         process.SiPhase2OTFakeBadStripsESSource.badComponentsFraction = 0.01 # 1% bad components
0048 
0049     return process
0050 
0051 #
0052 # activate bias rail inefficiency and 5% random bad strips
0053 #
0054 def customizeSiPhase2OTInefficiencyFivePercent(process):
0055 
0056     _commonCustomizeForInefficiency(process)
0057 
0058     if hasattr(process,'SiPhase2OTFakeBadStripsESSource') :
0059         print("# Adding 5% of randomly generated bad strips")
0060         process.SiPhase2OTFakeBadStripsESSource.badComponentsFraction = 0.05 # 5% bad components
0061 
0062     return process
0063 
0064 #
0065 # activate bias rail inefficiency and 10% random bad strips
0066 #
0067 def customizeSiPhase2OTInefficiencyTenPercent(process):
0068 
0069     _commonCustomizeForInefficiency(process)
0070  
0071     if hasattr(process,'SiPhase2OTFakeBadStripsESSource') :
0072         print("# Adding 10% of randomly generated bad strips")
0073         process.SiPhase2OTFakeBadStripsESSource.badComponentsFraction = 0.1 # 10% bad components
0074 
0075     return process