1"""Define functions to configure PLR conditions algorithms
3Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
6from AthenaConfiguration.ComponentFactory
import CompFactory
7from IOVDbSvc.IOVDbSvcConfig
import addFoldersSplitOnline
11 """Return a ComponentAccumulator with configured PixelConfigCondAlg for PLR"""
12 kwargs.setdefault("WriteKey", "PLR_ModuleData")
13 # This one has the highest chance of premature divergence so just take the default Pixel for now
14 from PixelConditionsAlgorithms.PixelConditionsConfig import PixelConfigCondAlgCfg
15 return PixelConfigCondAlgCfg(flags, name, **kwargs)
18def PLR_AlignCondAlgCfg(flags, name="PLR_AlignCondAlg", **kwargs):
19 """Return a ComponentAccumulator with configured PixelAlignCondAlg for PL
R"""
20 acc = ComponentAccumulator()
22 if flags.GeoModel.Align.Dynamic:
23 raise RuntimeError("Dynamic alignment not supported for PLR yet")
25 acc.merge(addFoldersSplitOnline(flags, "INDET", "/Indet/Onl/Align", "/Indet/Align", className="AlignableTransformContainer"))
27 kwargs.setdefault("DetManagerName", "PLR")
28 kwargs.setdefault("UseDynamicAlignFolders", flags.GeoModel.Align.Dynamic)
29 kwargs.setdefault("ReadKeyStatic", "/Indet/Align")
30 # kwargs.setdefault("ReadKeyDynamicL1", "/Indet/AlignL1/ID")
31 # kwargs.setdefault("ReadKeyDynamicL2", "/Indet/AlignL2/PIX")
32 # kwargs.setdefault("ReadKeyDynamicL3", "/Indet/AlignL3")
33 kwargs.setdefault("ReadKeyIBLDist", "")
34 kwargs.setdefault("WriteKey", "PLR_AlignmentStore")
36 acc.addCondAlgo(CompFactory.PixelAlignCondAlg(name, **kwargs))
40def PLR_ChargeCalibCondAlgCfg(flags, name="PLR_ChargeCalibCondAlg", **kwargs):
41 """Return a ComponentAccumulator with configured PixelChargeCalibCondAlg for PL
R"""
42 acc = ComponentAccumulator()
43 acc.merge(PLR_ConfigCondAlgCfg(flags))
45 folderName = "" # disabled for now
47 from PLRGeoModelXml.PLR_GeoModelConfig import PLR_ReadoutGeometryCfg
48 acc.merge(PLR_ReadoutGeometryCfg(flags))
50 kwargs.setdefault("PixelIDName", "PLR_ID")
51 kwargs.setdefault("PixelDetEleCollKey", "PLR_DetectorElementCollection")
52 kwargs.setdefault("PixelModuleData", "PLR_ModuleData")
53 kwargs.setdefault("ReadKey", folderName)
54 kwargs.setdefault("WriteKey", "PLR_ChargeCalibCondData")
55 acc.addCondAlgo(CompFactory.PixelChargeLUTCalibCondAlg(name, **kwargs))
59def PLR_DCSCondHVAlgCfg(flags, name="PLR_DCSCondHVAlg", **kwargs):
60 """Return a ComponentAccumulator with configured PixelDCSCondHVAlg for PL
R"""
61 acc = ComponentAccumulator()
62 acc.merge(PLR_ConfigCondAlgCfg(flags))
63 kwargs.setdefault("ReadKey", "") # disabled for now
64 kwargs.setdefault("PixelModuleData", "PLR_ModuleData")
65 kwargs.setdefault("WriteKey", "PLR_DCSHVCondData")
66 acc.addCondAlgo(CompFactory.PixelDCSCondHVAlg(name, **kwargs))
70def PLR_DCSCondTempAlgCfg(flags, name="PLR_DCSCondTempAlg", **kwargs):
71 """Return a ComponentAccumulator with configured PixelDCSCondTempAlg for PL
R"""
72 acc = ComponentAccumulator()
73 acc.merge(PLR_ConfigCondAlgCfg(flags))
74 kwargs.setdefault("ReadKey", "") # disabled for now
75 kwargs.setdefault("WriteKey", "PLR_DCSTempCondData")
76 acc.addCondAlgo(CompFactory.PixelDCSCondTempAlg(name, **kwargs))
80def PLR_DetectorElementCondAlgCfg(flags, name="PLR_DetectorElementCondAlg", **kwargs):
81 """Return a ComponentAccumulator with configured PixelDetectorElementCondAlg for PL
R"""
82 acc = ComponentAccumulator()
83 acc.merge(PLR_AlignCondAlgCfg(flags))
84 kwargs.setdefault("DetManagerName", "PLR")
85 kwargs.setdefault("PixelAlignmentStore", "PLR_AlignmentStore")
86 kwargs.setdefault("WriteKey", "PLR_DetectorElementCollection")
87 acc.addCondAlgo(CompFactory.PixelDetectorElementCondAlg(name, **kwargs))
91def PLR_DistortionAlgCfg(flags, name="PLR_DistortionAlg", **kwargs):
92 """Return a ComponentAccumulator with configured PixelDistortionAlg for PL
R"""
93 acc = ComponentAccumulator()
94 acc.merge(PLR_ConfigCondAlgCfg(flags))
95 acc.merge(addFoldersSplitOnline(flags,"INDET", "/Indet/Onl/PixelDist", "/Indet/PixelDist", className="DetCondCFloat"))
96 kwargs.setdefault("ReadKey", "/Indet/PixelDist")
97 kwargs.setdefault("WriteKey", "PLR_DistortionData")
98 acc.addCondAlgo(CompFactory.PixelDistortionAlg(name, **kwargs))
PLR_ConfigCondAlgCfg(flags, name="PLR_ConfigCondAlg", **kwargs)