68def TRT_dEdxToolCfg(flags, name="TRT_dEdxTool", **kwargs):
69 acc = ComponentAccumulator()
70
71 if not flags.Input.isMC:
72 from LumiBlockComps.LumiBlockMuWriterConfig import LumiBlockMuWriterCfg
73 acc.merge(LumiBlockMuWriterCfg(flags))
74
75 if "TRT_LocalOccupancyTool" not in kwargs:
76 kwargs.setdefault("TRT_LocalOccupancyTool", acc.popToolsAndMerge(
77 TRT_LocalOccupancyCfg(flags)))
78
79 if "AssociationTool" not in kwargs:
80 from InDetConfig.InDetAssociationToolsConfig import (
81 InDetPrdAssociationToolCfg)
82 kwargs.setdefault("AssociationTool", acc.popToolsAndMerge(
83 InDetPrdAssociationToolCfg(flags)))
84
85 if "TRTStrawSummaryTool" not in kwargs:
86 from TRT_ConditionsServices.TRT_ConditionsServicesConfig import TRT_StrawStatusSummaryToolCfg
87 kwargs.setdefault("TRTStrawSummaryTool", acc.popToolsAndMerge(TRT_StrawStatusSummaryToolCfg(flags)))
88
89 from AthenaConfiguration.Enums import ProductionStep
90 if flags.Common.ProductionStep in [ProductionStep.MinbiasPreprocessing]:
91 kwargs.setdefault("averageInteractionsPerCrossingKey", f"{flags.Overlay.BkgPrefix}EventInfo.averageInteractionsPerCrossing")
92
93 acc.setPrivateTools(acc.popToolsAndMerge(
94 __TRT_dEdxToolBaseCfg(flags, name, **kwargs)))
95 return acc
96
97