File indexing completed on 2023-03-17 10:48:52
0001 from __future__ import print_function
0002 import FWCore.ParameterSet.Config as cms
0003 import FWCore.ParameterSet.VarParsing as VarParsing
0004 import copy
0005
0006 process = cms.Process("Demo")
0007
0008
0009
0010 options = VarParsing.VarParsing("analysis")
0011
0012 options.register ('globalTag',
0013 "auto:run2_data",
0014 VarParsing.VarParsing.multiplicity.singleton,
0015 VarParsing.VarParsing.varType.string,
0016 "GlobalTag")
0017
0018 options.register ('runNumber',
0019 306054,
0020 VarParsing.VarParsing.multiplicity.singleton,
0021 VarParsing.VarParsing.varType.int,
0022 "run number")
0023
0024 options.parseArguments()
0025
0026
0027
0028
0029
0030 process.load('FWCore.MessageService.MessageLogger_cfi')
0031 process.MessageLogger.cerr.enable = False
0032 process.MessageLogger.SiStripNoisesFromDBMiscalibrator=dict()
0033 process.MessageLogger.cout = cms.untracked.PSet(
0034 enable = cms.untracked.bool(True),
0035 enableStatistics = cms.untracked.bool(True),
0036 threshold = cms.untracked.string("WARNING"),
0037 default = cms.untracked.PSet(limit = cms.untracked.int32(0)),
0038 FwkReport = cms.untracked.PSet(limit = cms.untracked.int32(-1),
0039 reportEvery = cms.untracked.int32(1000)
0040 ),
0041 SiStripNoisesFromDBMiscalibrator = cms.untracked.PSet( limit = cms.untracked.int32(-1))
0042 )
0043
0044 process.load("Configuration.Geometry.GeometryRecoDB_cff")
0045 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0046 from Configuration.AlCa.GlobalTag import GlobalTag
0047 process.GlobalTag = GlobalTag(process.GlobalTag,options.globalTag, '')
0048
0049 print("Using Global Tag:", process.GlobalTag.globaltag._value)
0050
0051
0052
0053
0054 process.source = cms.Source("EmptySource",
0055 firstRun = cms.untracked.uint32(options.runNumber),
0056 numberEventsInRun = cms.untracked.uint32(1),
0057 )
0058
0059
0060 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1) )
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075 byPartition = cms.VPSet(
0076 cms.PSet(partition = cms.string("TEC"),
0077 doScale = cms.bool(True),
0078 doSmear = cms.bool(False),
0079 scaleFactor = cms.double(1.2),
0080 smearFactor = cms.double(0.04)
0081 ),
0082 cms.PSet(partition = cms.string("TOB"),
0083 doScale = cms.bool(True),
0084 doSmear = cms.bool(False),
0085 scaleFactor = cms.double(0.94),
0086 smearFactor = cms.double(0.03)
0087 ),
0088 cms.PSet(partition = cms.string("TIB"),
0089 doScale = cms.bool(True),
0090 doSmear = cms.bool(False),
0091 scaleFactor = cms.double(1.1),
0092 smearFactor = cms.double(0.02)
0093 ),
0094 cms.PSet(partition = cms.string("TID"),
0095 doScale = cms.bool(True),
0096 doSmear = cms.bool(False),
0097 scaleFactor = cms.double(0.22),
0098 smearFactor = cms.double(0.01)
0099 )
0100 )
0101
0102
0103
0104
0105
0106 wholeTracker = cms.VPSet(
0107 cms.PSet(partition = cms.string("Tracker"),
0108 doScale = cms.bool(True),
0109 doSmear = cms.bool(True),
0110 scaleFactor = cms.double(1.00),
0111 smearFactor = cms.double(0.00)
0112 )
0113 )
0114
0115
0116
0117
0118
0119 byLayerOnlyTIB = cms.VPSet(
0120
0121
0122
0123 cms.PSet(partition = cms.string("TIB_1"),
0124 doScale = cms.bool(True),
0125 doSmear = cms.bool(True),
0126 scaleFactor = cms.double(1),
0127 smearFactor = cms.double(0.1)
0128 ),
0129 cms.PSet(partition = cms.string("TIB_2"),
0130 doScale = cms.bool(True),
0131 doSmear = cms.bool(True),
0132 scaleFactor = cms.double(2),
0133 smearFactor = cms.double(0.25)
0134 ),
0135 cms.PSet(partition = cms.string("TIB_3"),
0136 doScale = cms.bool(True),
0137 doSmear = cms.bool(True),
0138 scaleFactor = cms.double(3),
0139 smearFactor = cms.double(0.2)
0140 ),
0141 cms.PSet(partition = cms.string("TIB_4"),
0142 doScale = cms.bool(True),
0143 doSmear = cms.bool(True),
0144 scaleFactor = cms.double(4),
0145 smearFactor = cms.double(0.01)
0146 )
0147 )
0148
0149
0150
0151
0152
0153 subsets = cms.VPSet(
0154 cms.PSet(partition = cms.string("Tracker"),
0155 doScale = cms.bool(True),
0156 doSmear = cms.bool(True),
0157 scaleFactor = cms.double(0.65),
0158 smearFactor = cms.double(0.05)
0159 ),
0160 cms.PSet(partition = cms.string("TEC"),
0161 doScale = cms.bool(True),
0162 doSmear = cms.bool(True),
0163 scaleFactor = cms.double(1.15),
0164 smearFactor = cms.double(0.02)
0165 ),
0166 cms.PSet(partition = cms.string("TECP"),
0167 doScale = cms.bool(True),
0168 doSmear = cms.bool(True),
0169 scaleFactor = cms.double(1.35),
0170 smearFactor = cms.double(0.02)
0171 ),
0172 cms.PSet(partition = cms.string("TECP_9"),
0173 doScale = cms.bool(True),
0174 doSmear = cms.bool(True),
0175 scaleFactor = cms.double(1.55),
0176 smearFactor = cms.double(0.02)
0177 )
0178 )
0179
0180
0181
0182
0183 autoparams=[]
0184 listOfLayers=["TIB_1","TIB_2","TIB_3","TIB_4","TOB_1","TOB_2","TOB_3","TOB_4","TOB_5","TOB_6","TIDM_1","TIDM_2","TIDM_3","TECM_1","TECM_2","TECM_3","TECM_4","TECM_5","TECM_6","TECM_7","TECM_8","TECM_9","TIDP_1","TIDP_2","TIDP_3","TECP_1","TECP_2","TECP_3","TECP_4","TECP_5","TECP_6","TECP_7","TECP_8","TECP_9"]
0185
0186 for i,ll in enumerate(listOfLayers):
0187 autoparams.append(
0188 cms.PSet(
0189 partition = cms.string(ll),
0190 doScale = cms.bool(True),
0191 doSmear = cms.bool(True),
0192 scaleFactor = cms.double(i*0.1),
0193 smearFactor = cms.double((len(listOfLayers)-i)*0.01)
0194 )
0195 )
0196
0197
0198
0199
0200
0201
0202
0203
0204
0205
0206
0207 import CondTools.SiStrip.MiscalibrationSettings_cff as Settings
0208 eachLayer = copy.deepcopy(Settings.byLayer)
0209
0210 process.load("CondTools.SiStrip.scaleAndSmearSiStripNoises_cfi")
0211
0212
0213
0214
0215
0216 process.scaleAndSmearSiStripNoises.params = autoparams
0217 process.scaleAndSmearSiStripNoises.fillDefaults = False
0218
0219
0220
0221
0222 process.PoolDBOutputService = cms.Service("PoolDBOutputService",
0223 BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'),
0224 DBParameters = cms.PSet(
0225 messageLevel = cms.untracked.int32(3),
0226 authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb')
0227 ),
0228 timetype = cms.untracked.string('runnumber'),
0229 connect = cms.string('sqlite_file:modifiedSiStripNoise_%s_IOV_%s.db' % ( process.GlobalTag.globaltag._value, str(options.runNumber))),
0230 toPut = cms.VPSet(cms.PSet(
0231 record = cms.string('SiStripNoisesRcd'),
0232 tag = cms.string('modifiedNoise')
0233 ))
0234 )
0235
0236 process.p = cms.Path(process.scaleAndSmearSiStripNoises)