File indexing completed on 2024-11-06 06:06:24
0001
0002
0003 import FWCore.ParameterSet.Config as cms
0004 from Configuration.StandardSequences.Eras import eras
0005 import sys
0006
0007 process = cms.Process("SiPixelLorentzAngleLoader",eras.Phase2)
0008
0009 import FWCore.ParameterSet.VarParsing as opts
0010 opt = opts.VarParsing ('analysis')
0011
0012 opt.register('geometry', 'T25',
0013 opts.VarParsing.multiplicity.singleton,
0014 opts.VarParsing.varType.string,
0015 'Tracker Geometry Default = T15')
0016
0017 opt.register('isEmpty', False,
0018 opts.VarParsing.multiplicity.singleton,
0019 opts.VarParsing.varType.bool,
0020 'If True, produce empty payload forWidth')
0021
0022 opt.parseArguments()
0023
0024 tGeometry = opt.geometry
0025 if tGeometry == 'T5':
0026 geometry_cff = 'GeometryExtended2023D17_cff'
0027 recoGeometry_cff = 'GeometryExtended2023D17Reco_cff'
0028 has3DinL1 = False
0029 LA_value = 0.106
0030 tag = 'SiPixelLorentzAngle_Phase2_T5'
0031
0032 elif tGeometry == 'T6':
0033 geometry_cff = 'GeometryExtended2023D35_cff'
0034 recoGeometry_cff = 'GeometryExtended2023D35Reco_cff'
0035 has3DinL1 = False
0036 LA_value = 0.106
0037 tag = 'SiPixelLorentzAngle_Phase2_T6'
0038
0039 elif tGeometry == 'T11':
0040 geometry_cff = 'GeometryExtended2023D29_cff'
0041 recoGeometry_cff = 'GeometryExtended2023D29Reco_cff'
0042 has3DinL1 = False
0043 LA_value = 0.106
0044 tag = 'SiPixelLorentzAngle_Phase2_T11'
0045
0046 elif tGeometry == 'T14':
0047 geometry_cff = 'GeometryExtended2023D41_cff'
0048 recoGeometry_cff = 'GeometryExtended2023D41Reco_cff'
0049 has3DinL1 = False
0050 LA_value = 0.106
0051 tag = 'SiPixelLorentzAngle_Phase2_T14'
0052
0053 elif tGeometry == 'T15':
0054 geometry_cff = 'GeometryExtended2023D42_cff'
0055 recoGeometry_cff = 'GeometryExtended2023D42Reco_cff'
0056 has3DinL1 = False
0057 LA_value = 0.0503
0058 tag = 'SiPixelLorentzAngle_Phase2_T15'
0059
0060 elif tGeometry == 'T25':
0061 geometry_cff = 'GeometryExtendedRun4D97_cff'
0062 recoGeometry_cff = 'GeometryExtendedRun4D97Reco_cff'
0063 has3DinL1 = True
0064 LA_value = 0.0503
0065 tag = 'SiPixelLorentzAngle_Phase2_T25_v1'
0066
0067 elif tGeometry == 'T33':
0068 geometry_cff = 'GeometryExtendedRun4D102_cff'
0069 recoGeometry_cff = 'GeometryExtendedRun4D102Reco_cff'
0070 has3DinL1 = True
0071 LA_value = 0.0503
0072 tag = 'SiPixelLorentzAngle_Phase2_T33_v1'
0073 else:
0074 print("Unknown tracker geometry")
0075 print("What are you doing ?!?!?!?!")
0076 exit(1)
0077
0078 if opt.isEmpty:
0079 LA_value = 0
0080 tag += '_forWidthEmpty'
0081
0082 sqlite_file = 'sqlite_file:' + tag + '.db'
0083 geometry_cff = 'Configuration.Geometry.' + geometry_cff
0084 recoGeometry_cff = 'Configuration.Geometry.' + recoGeometry_cff
0085
0086
0087 process.load(recoGeometry_cff)
0088 process.load(geometry_cff)
0089
0090 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0091 from Configuration.AlCa.GlobalTag import GlobalTag
0092 process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_'+tGeometry, '')
0093
0094 process.load("FWCore.MessageService.MessageLogger_cfi")
0095
0096 process.source = cms.Source("EmptyIOVSource",
0097 firstValue = cms.uint64(1),
0098 lastValue = cms.uint64(1),
0099 timetype = cms.string('runnumber'),
0100 interval = cms.uint64(1)
0101 )
0102
0103 process.maxEvents = cms.untracked.PSet(
0104 input = cms.untracked.int32(1)
0105 )
0106
0107
0108 process.PoolDBOutputService = cms.Service(
0109 "PoolDBOutputService",
0110 BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'),
0111 DBParameters = cms.PSet(
0112 authenticationPath = cms.untracked.string('.'),
0113 connectionRetrialPeriod = cms.untracked.int32(10),
0114 idleConnectionCleanupPeriod = cms.untracked.int32(10),
0115 messageLevel = cms.untracked.int32(1),
0116 enablePoolAutomaticCleanUp = cms.untracked.bool(False),
0117 enableConnectionSharing = cms.untracked.bool(True),
0118 connectionRetrialTimeOut = cms.untracked.int32(60),
0119 connectionTimeOut = cms.untracked.int32(0),
0120 enableReadOnlySessionOnUpdateConnection = cms.untracked.bool(False)
0121 ),
0122 timetype = cms.untracked.string('runnumber'),
0123 connect = cms.string(sqlite_file),
0124 toPut = cms.VPSet(
0125 cms.PSet(
0126
0127 record = cms.string('SiPixelLorentzAngleRcd'),
0128 tag = cms.string(tag)
0129 ),
0130 )
0131 )
0132
0133
0134 process.SiPixelLorentzAngle = cms.EDAnalyzer(
0135 "SiPixelLorentzAngleDBLoader",
0136
0137
0138 bPixLorentzAnglePerTesla = cms.untracked.double(-9999 if has3DinL1 else LA_value),
0139 fPixLorentzAnglePerTesla = cms.untracked.double(-9999 if has3DinL1 else LA_value),
0140
0141
0142
0143 BPixParameters = cms.untracked.VPSet(
0144 cms.PSet(layer = cms.int32(1), angle = cms.double(0.00)),
0145 cms.PSet(layer = cms.int32(2), angle = cms.double(LA_value)),
0146 cms.PSet(layer = cms.int32(3), angle = cms.double(LA_value)),
0147 cms.PSet(layer = cms.int32(4), angle = cms.double(LA_value)),
0148 ),
0149 FPixParameters = cms.untracked.VPSet(
0150 cms.PSet(angle = cms.double(0.0)
0151 ),
0152 ),
0153
0154 ModuleParameters = cms.untracked.VPSet(
0155 ),
0156
0157 useFile = cms.bool(False),
0158
0159
0160 fileName = cms.string('lorentzFit.txt')
0161 )
0162
0163 process.p = cms.Path(
0164
0165 process.SiPixelLorentzAngle
0166 )
0167