Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Phase-2 InnerTracker conditions from DB (version 2) #27517

Merged
merged 8 commits into from Aug 12, 2019
4 changes: 4 additions & 0 deletions Configuration/AlCa/python/autoCond.py
Expand Up @@ -88,6 +88,10 @@
from Configuration.HLT.autoCondHLT import autoCondHLT
autoCond = autoCondHLT(autoCond)

# dedicate GlobalTags for phase-2 (specializing conditions for each geometry)
from Configuration.AlCa.autoCondPhase2 import autoCondPhase2
autoCond = autoCondPhase2(autoCond)
mmusich marked this conversation as resolved.
Show resolved Hide resolved

### OLD KEYS ### kept for backward compatibility
# GlobalTag for MC production with perfectly aligned and calibrated detector
autoCond['mc'] = ( autoCond['run1_design'] )
Expand Down
80 changes: 80 additions & 0 deletions Configuration/AlCa/python/autoCondPhase2.py
@@ -0,0 +1,80 @@
from Configuration.StandardSequences.CondDBESSource_cff import GlobalTag as essource
connectionString = essource.connect.value()

SiPixelLARecord = "SiPixelLorentzAngleRcd"
SiPixelSimLARecord = "SiPixelLorentzAngleSimRcd"
SiPixelGenErrorRecord = "SiPixelGenErrorDBObjectRcd"
SiPixelTemplatesRecord = "SiPixelTemplateDBObjectRcd"
SiPixel2DTemplatesRecord = "SiPixel2DTemplateDBObjectRcd"

#combines in a single dict of dict the tags defined below
allTags={}


allTags["LA"] = {
'T6' : ( ','.join( [ 'SiPixelLorentzAngle_phase2_T6_v0_mc' ,SiPixelLARecord,connectionString, "", "2019-07-15 12:00:00.000"] ), ),
'T14' : ( ','.join( [ 'SiPixelLorentzAngle_phase2_T14_v0_mc' ,SiPixelLARecord,connectionString, "", "2019-07-15 12:00:00.000"] ), ),
'T15' : ( ','.join( [ 'SiPixelLorentzAngle_phase2_T15_v0_mc' ,SiPixelLARecord,connectionString, "", "2019-07-15 12:00:00.000"] ), ),
}

allTags["LAWidth"] = {
'T6' : ( ','.join( [ 'SiPixelLorentzAngle_phase2_forWidth_T6_v0_mc' ,SiPixelLARecord,connectionString, "forWidth", "2019-07-15 12:00:00.000"] ), ),
'T14' : ( ','.join( [ 'SiPixelLorentzAngle_phase2_forWidth_T14_v0_mc' ,SiPixelLARecord,connectionString, "forWidth", "2019-07-15 12:00:00.000"] ), ),
'T15' : ( ','.join( [ 'SiPixelLorentzAngle_phase2_forWidth_T15_v0_mc' ,SiPixelLARecord,connectionString, "forWidth", "2019-07-15 12:00:00.000"] ), ),
}

allTags["SimLA"] = {
'T6' : ( ','.join( [ 'SiPixelSimLorentzAngle_phase2_T6_v0_mc' ,SiPixelSimLARecord,connectionString, "", "2019-07-15 12:00:00.000"] ), ),
'T14' : ( ','.join( [ 'SiPixelSimLorentzAngle_phase2_T14_v0_mc' ,SiPixelSimLARecord,connectionString, "", "2019-07-15 12:00:00.000"] ), ),
'T15' : ( ','.join( [ 'SiPixelSimLorentzAngle_phase2_T15_v0_mc' ,SiPixelSimLARecord,connectionString, "", "2019-07-15 12:00:00.000"] ), ),
}

##
## All of the following conditions are not yet in active use, but will be activated in GT along the way
##

allTags["GenError"] = {
'T6' : ( ','.join( [ 'SiPixelGenErrorDBOject_phase2_T6_v0_mc' ,SiPixelGenErrorRecord,connectionString, "", "2019-07-15 12:00:00.000"] ), ),
'T14' : ( ','.join( [ 'SiPixelGenErrorDBOject_phase2_T14_v0_mc' ,SiPixelGenErrorRecord,connectionString, "", "2019-07-15 12:00:00.000"] ), ),
'T15' : ( ','.join( [ 'SiPixelGenErrorDBOject_phase2_T15_v0_mc' ,SiPixelGenErrorRecord,connectionString, "", "2019-07-15 12:00:00.000"] ), ),
}

allTags["Template"] = {
'T6' : ( ','.join( [ 'SiPixelTemplateDBObject_phase2_T6_v0_mc' ,SiPixelTemplatesRecord,connectionString, "", "2019-07-15 12:00:00.000"] ), ),
'T14' : ( ','.join( [ 'SiPixelTemplateDBObject_phase2_T14_v0_mc' ,SiPixelTemplatesRecord,connectionString, "", "2019-07-15 12:00:00.000"] ), ),
'T15' : ( ','.join( [ 'SiPixelTemplateDBObject_phase2_T15_v0_mc' ,SiPixelTemplatesRecord,connectionString, "" , "2019-07-15 12:00:00.000"] ), ),
}

allTags["Template2Dnum"] = {
'T6' : ( ','.join( [ 'SiPixel2DTemplateDBObject_phase2_T6_v0_num' ,SiPixel2DTemplatesRecord,connectionString, "numerator", "2019-07-15 12:00:00.000"] ), ),
'T14' : ( ','.join( [ 'SiPixel2DTemplateDBObject_phase2_T14_v0_num' ,SiPixel2DTemplatesRecord,connectionString, "numerator", "2019-07-15 12:00:00.000"] ), ),
'T15' : ( ','.join( [ 'SiPixel2DTemplateDBObject_phase2_T15_v0_num' ,SiPixel2DTemplatesRecord,connectionString, "numerator", "2019-07-15 12:00:00.000"] ), ),
}

allTags["Template2Dden"] = {
'T6' : ( ','.join( [ 'SiPixel2DTemplateDBObject_phase2_T6_v0_den' ,SiPixel2DTemplatesRecord,connectionString, "denominator", "2019-07-15 12:00:00.000"] ), ),
'T14' : ( ','.join( [ 'SiPixel2DTemplateDBObject_phase2_T14_v0_den' ,SiPixel2DTemplatesRecord,connectionString, "denominator", "2019-07-15 12:00:00.000"] ), ),
'T15' : ( ','.join( [ 'SiPixel2DTemplateDBObject_phase2_T15_v0_den' ,SiPixel2DTemplatesRecord,connectionString, "denominator", "2019-07-15 12:00:00.000"] ), ),
}

# list of active tags to be replaced
activeKeys = ["LA","LAWidth","SimLA"]

# list of geometries supported
activeDets = ["T6","T14","T15"]
phase2GTs = {}
for det in activeDets:
appendedTags = ()
for key in activeKeys:
appendedTags += allTags[key][det]
phase2GTs["phase2_realistic_"+det] = ('phase2_realistic', appendedTags)

# method called in autoAlCa
def autoCondPhase2(autoCond):
for key,val in phase2GTs.iteritems():
if len(val)==1 :
autoCond[key] = ( autoCond[val[0]] )
else:
autoCond[key] = ( autoCond[val[0]],) + val[1]

return autoCond
Expand Up @@ -329,42 +329,42 @@
'2026D35' : {
'Geom' : 'Extended2026D35',
'HLTmenu': '@fake2',
'GT' : 'auto:phase2_realistic',
'GT' : 'auto:phase2_realistic_T6',
'Era' : 'Phase2C4_timing_layer_bar',
'ScenToRun' : ['GenSimHLBeamSpotFull','DigiFullTrigger','RecoFullGlobal', 'HARVESTFullGlobal'],
},
'2026D41' : {
'Geom' : 'Extended2026D41',
'HLTmenu': '@fake2',
'GT' : 'auto:phase2_realistic',
'GT' : 'auto:phase2_realistic_T14',
'Era' : 'Phase2C8_timing_layer_bar',
'ScenToRun' : ['GenSimHLBeamSpotFull','DigiFullTrigger','RecoFullGlobal', 'HARVESTFullGlobal'],
},
'2026D43' : {
'Geom' : 'Extended2026D43',
'HLTmenu': '@fake2',
'GT' : 'auto:phase2_realistic',
'GT' : 'auto:phase2_realistic_T14',
'Era' : 'Phase2C4_timing_layer_bar',
'ScenToRun' : ['GenSimHLBeamSpotFull','DigiFullTrigger','RecoFullGlobal', 'HARVESTFullGlobal'],
},
'2026D44' : {
'Geom' : 'Extended2026D44',
'HLTmenu': '@fake2',
'GT' : 'auto:phase2_realistic',
'GT' : 'auto:phase2_realistic_T14',
'Era' : 'Phase2C6_timing_layer_bar',
'ScenToRun' : ['GenSimHLBeamSpotFull','DigiFullTrigger','RecoFullGlobal', 'HARVESTFullGlobal'],
},
'2026D45' : {
'Geom' : 'Extended2026D45',
'HLTmenu': '@fake2',
'GT' : 'auto:phase2_realistic',
'GT' : 'auto:phase2_realistic_T15',
'Era' : 'Phase2C8_timing_layer_bar',
'ScenToRun' : ['GenSimHLBeamSpotFull','DigiFullTrigger','RecoFullGlobal', 'HARVESTFullGlobal'],
},
'2026D46' : {
'Geom' : 'Extended2026D46',
'HLTmenu': '@fake2',
'GT' : 'auto:phase2_realistic',
'GT' : 'auto:phase2_realistic_T15',
'Era' : 'Phase2C9_timing_layer_bar',
'ScenToRun' : ['GenSimHLBeamSpotFull','DigiFullTrigger','RecoFullGlobal', 'HARVESTFullGlobal'],
},
Expand Down
Expand Up @@ -68,7 +68,6 @@
# FIXME::Is the Upgrade variable actually used?
from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
phase2_tracker.toModify(PixelCPEGenericESProducer,
useLAWidthFromDB = False,
UseErrorsFromTemplates = False,
LoadTemplatesFromDB = False,
TruncatePixelCharge = False,
Expand Down
Expand Up @@ -5,9 +5,3 @@
cms.FileInPath('SLHCUpgradeSimulations/Geometry/data/PhaseII/Tilted/EmptyPixelSkimmedGeometry.txt')
)
es_prefer_fake_gain = cms.ESPrefer("SiPixelFakeGainOfflineESSource","siPixelFakeGainOfflineESSource")

siPixelFakeLorentzAngleESSource = cms.ESSource("SiPixelFakeLorentzAngleESSource",
file =
cms.FileInPath('SLHCUpgradeSimulations/Geometry/data/PhaseII/Tilted/PixelSkimmedGeometryT14.txt')
)
es_prefer_fake_lorentz = cms.ESPrefer("SiPixelFakeLorentzAngleESSource","siPixelFakeLorentzAngleESSource")
Expand Up @@ -6,8 +6,3 @@
)
es_prefer_fake_gain = cms.ESPrefer("SiPixelFakeGainOfflineESSource","siPixelFakeGainOfflineESSource")

siPixelFakeLorentzAngleESSource = cms.ESSource("SiPixelFakeLorentzAngleESSource",
file =
cms.FileInPath('SLHCUpgradeSimulations/Geometry/data/PhaseII/Tilted/PixelSkimmedGeometryT6.txt')
)
es_prefer_fake_lorentz = cms.ESPrefer("SiPixelFakeLorentzAngleESSource","siPixelFakeLorentzAngleESSource")
Expand Up @@ -46,7 +46,7 @@
SigmaZero = cms.double(0.00037), #D.B.: 3.7um spread for 300um-thick sensor, renormalized in digitizerAlgo
SigmaCoeff = cms.double(1.80), #D.B.: to be confirmed with simulations in CMSSW_6.X
ClusterWidth = cms.double(3), #D.B.: this is used as number of sigmas for charge collection (3=+-3sigmas)
LorentzAngle_DB = cms.bool(False),
LorentzAngle_DB = cms.bool(True),
TanLorentzAnglePerTesla_Endcap = cms.double(0.106),
TanLorentzAnglePerTesla_Barrel = cms.double(0.106),
KillModules = cms.bool(False),
Expand Down