6def TRT_GeoModelCfg(flags):
7 from AtlasGeoModel.GeometryDBConfig import InDetGeometryDBSvcCfg
8 db = InDetGeometryDBSvcCfg(flags)
9
10 from AtlasGeoModel.GeoModelConfig import GeoModelCfg
11 acc = GeoModelCfg(flags)
12 geoModelSvc = acc.getPrimary()
13
14 from AthenaConfiguration.ComponentFactory import CompFactory
15 trtDetectorTool = CompFactory.TRT_DetectorTool()
16 trtDetectorTool.GeometryDBSvc = db.getPrimary()
17 trtDetectorTool.useDynamicAlignFolders = flags.GeoModel.Align.Dynamic
18
19 from AthenaConfiguration.Enums import LHCPeriod
20 from AthenaConfiguration.Enums import Project, ProductionStep
21 if (flags.Common.Project is not Project.AthSimulation
22 and flags.Common.ProductionStep not in [ProductionStep.Simulation, ProductionStep.FastChain]) or flags.GeoModel.Run is LHCPeriod.Run1:
23 trtDetectorTool.DoXenonArgonMixture = False
24 trtDetectorTool.DoKryptonMixture = False
25 if flags.GeoModel.Run is LHCPeriod.Run3:
26
27 trtDetectorTool.StrawStatusFile = 'TRTGeometry/Run3MCStrawStatus.txt'
28 elif flags.GeoModel.Run is LHCPeriod.Run2:
29
30 trtDetectorTool.StrawStatusFile = 'TRTGeometry/Run2MC_pp_StrawStatus.txt'
31 if flags.Input.ConditionsRunNumber in [222506, 222507, 313000] or (flags.Input.ConditionsRunNumber >= 226000 and flags.Input.ConditionsRunNumber < 228000):
32
33 trtDetectorTool.StrawStatusFile = 'TRTGeometry/Run2MC_HI_StrawStatus.txt'
34 elif flags.GeoModel.Run is not LHCPeriod.Run1:
35
36 raise ValueError(f'Cannot configure the TRT geometry for LHCPeriod {flags.GeoModel.Run.value}, please check the configuration of "flags.GeoModel.Run".')
37
38
42 geoModelSvc.DetectorTools += [ trtDetectorTool ]
43 acc.merge(db)
44 return acc
45
46