8 **kwargs) -> ComponentAccumulator:
9 acc = ComponentAccumulator()
10
11 from ROOT.ActsTrk import DetectorType
12 kwargs.setdefault("NotAlignDetectors", [DetectorType.Trt,
13 DetectorType.Hgtd])
14 kwargs.setdefault("UseBlueprint", flags.Acts.TrackingGeometry.UseBlueprint)
15 kwargs.setdefault("BuildDetrayGeometry", flags.Acts.TrackingGeometry.BuildDetrayGeometry)
16 kwargs.setdefault("ObjDebugOutput", flags.Acts.TrackingGeometry.ObjDebugOutput)
17 kwargs.setdefault("KeepGoingOnMaterialMergeFailure", flags.Acts.TrackingGeometry.KeepGoingOnMaterialMergeFailure)
18
19 subDetectors = []
20 blueprintTools = []
21 refineTools = []
22
23
24
25
26 import ROOT
27 from AthenaServices.ROOTMessageFilterSvcConfig import ROOTMessageFilterSvcCfg
28 acc.merge(ROOTMessageFilterSvcCfg(flags,
29 SuppressionRules=[('TCling::LoadPCM',
30 '.*libGeom_rdict.pcm.*',
31 ROOT.kError)]))
32
33 if flags.Detector.GeometryBpipe:
34 from BeamPipeGeoModel.BeamPipeGMConfig import BeamPipeGeometryCfg
35 acc.merge(BeamPipeGeometryCfg(flags))
36 kwargs.setdefault("BuildBeamPipe", True)
37
38 if flags.Detector.GeometryPixel:
39 subDetectors += ["Pixel"]
40 from PixelGeoModel.PixelGeoModelConfig import PixelReadoutGeometryCfg
41 acc.merge(PixelReadoutGeometryCfg(flags))
42
43
44 if flags.Detector.GeometrySCT:
45 subDetectors += ["SCT"]
46 from SCT_GeoModel.SCT_GeoModelConfig import SCT_ReadoutGeometryCfg
47 acc.merge(SCT_ReadoutGeometryCfg(flags))
48
49 if flags.Detector.GeometryTRT:
50
51
52
53 from TRT_GeoModel.TRT_GeoModelConfig import TRT_ReadoutGeometryCfg
54 acc.merge(TRT_ReadoutGeometryCfg(flags))
55
56 if flags.Detector.GeometryCalo:
57
58
59
60
61
62
63
64
65 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
66 acc.merge(LArGMCfg(flags))
67 from TileGeoModel.TileGMConfig import TileGMCfg
68 acc.merge(TileGMCfg(flags))
69
70
71 if flags.Acts.TrackingGeometry.UseBlueprint:
72 blueprintTools += [acc.popToolsAndMerge(BeamPipeBlueprintNodeBuilderCfg(flags))]
73 if flags.Detector.GeometryITkPixel or flags.Detector.GeometryITkStrip:
74 if flags.Acts.TrackingGeometry.ITkHgtdMaterialSource != "None":
75 refineTools += [acc.popToolsAndMerge(ITkMaterialDecoratorToolCfg(flags))]
76 blueprintTools += [acc.popToolsAndMerge(ItkBlueprintNodeBuilderCfg(flags))]
77 if flags.Detector.GeometryHGTD:
78 blueprintTools += [acc.popToolsAndMerge(HgtdBlueprintNodeBuilderCfg(flags))]
79 if flags.Detector.GeometryCalo:
80 subDetectors += ["Calo"]
81 blueprintTools += [acc.popToolsAndMerge(caloBlueprintNodeBuilderCfg(flags))]
82
83 if flags.Muon.usePhaseIIGeoSetup and 'ACTS' not in flags.Sim.ISF.Simulator.value:
84 subDetectors += ["Muon"]
85 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
86 acc.merge(MuonGeoModelCfg(flags))
87 from ActsMuonDetector.ActsMuonDetectorCfg import MuonBlueprintNodeBuilderCfg, MuonMaterialDecoratorToolCfg
88 blueprintTools += [acc.popToolsAndMerge(MuonBlueprintNodeBuilderCfg(flags))]
89
91 if flags.Muon.trackGeometryPassiveMaterial and \
92 len(flags.Muon.trackGeometryMaterialMap) > 0:
93 refineTools+= [acc.popToolsAndMerge(MuonMaterialDecoratorToolCfg(flags))]
94
95
96 if flags.Detector.GeometryITkPixel:
97 subDetectors += ["ITkPixel"]
98 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
99 acc.merge(ITkPixelReadoutGeometryCfg(flags))
100
101 if flags.Detector.GeometryITkStrip:
102 subDetectors += ["ITkStrip"]
103 from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
104 acc.merge(ITkStripReadoutGeometryCfg(flags))
105
106
107 if flags.Detector.GeometryHGTD:
108 subDetectors += ["HGTD"]
109 if flags.HGTD.Geometry.useGeoModelXml:
110 from HGTD_GeoModelXml.HGTD_GeoModelConfig import HGTD_ReadoutGeometryCfg
111 else:
112 from HGTD_GeoModel.HGTD_GeoModelConfig import HGTD_ReadoutGeometryCfg
113 acc.merge(HGTD_ReadoutGeometryCfg(flags))
114
115 if kwargs.get("BuildDetrayGeometry", False):
116
117
118
119
120
121 kwargs.setdefault("HostMR",
122 CompFactory.AthDevice.HostMemoryResourceTool("ActsDetrayHostMR"))
123
124 actsTrackingGeometrySvc = CompFactory.ActsTrk.TrackingGeometrySvc(name,
125 BuildSubDetectors=subDetectors,
126 BlueprintNodeBuilders=blueprintTools,
127 RefinementTools=refineTools,
128 **kwargs)
129
130 if flags.Acts.TrackingGeometry.MaterialSource == "Default":
131 if flags.Detector.GeometryITk:
132 extension = "ITk"
133 if flags.Detector.GeometryHGTD:
134 extension += "-HGTD"
135 if flags.Acts.TrackingGeometry.InsertITkPassiveMaterialLayers:
136 extension += "-passiveLayers"
137 if flags.Acts.TrackingGeometry.MaterialFileExtension:
138 extension += "-"+flags.Acts.TrackingGeometry.MaterialFileExtension
139 actsTrackingGeometrySvc.UseMaterialMap = True
140 actsTrackingGeometrySvc.MaterialMapCalibFolder = flags.Acts.TrackingGeometry.MaterialCalibrationFolder
141 actsTrackingGeometrySvc.MaterialMapInputFile = \
142 "material-maps-" + flags.GeoModel.AtlasVersion + "-" + extension + ".json"
143
144 elif flags.Acts.TrackingGeometry.MaterialSource.find(".json") != -1:
145 actsTrackingGeometrySvc.UseMaterialMap = True
146 actsTrackingGeometrySvc.MaterialMapCalibFolder = flags.Acts.TrackingGeometry.MaterialCalibrationFolder
147 actsTrackingGeometrySvc.MaterialMapInputFile = flags.Acts.TrackingGeometry.MaterialSource
148
149 if flags.Acts.TrackingGeometry.InsertITkPassiveMaterialLayers:
150 actsTrackingGeometrySvc.PassiveITkInnerPixelBarrelLayerRadii = flags.Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerRadii
151 actsTrackingGeometrySvc.PassiveITkInnerPixelBarrelLayerHalflengthZ = flags.Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerHalflengthZ
152 actsTrackingGeometrySvc.PassiveITkInnerPixelBarrelLayerThickness = flags.Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerThickness
153 actsTrackingGeometrySvc.PassiveITkOuterPixelBarrelLayerRadii = flags.Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerRadii
154 actsTrackingGeometrySvc.PassiveITkOuterPixelBarrelLayerHalflengthZ = flags.Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerHalflengthZ
155 actsTrackingGeometrySvc.PassiveITkOuterPixelBarrelLayerThickness = flags.Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerThickness
156 actsTrackingGeometrySvc.PassiveITkStripBarrelLayerRadii = flags.Acts.TrackingGeometry.PassiveITkStripBarrelLayerRadii
157 actsTrackingGeometrySvc.PassiveITkStripBarrelLayerHalflengthZ = flags.Acts.TrackingGeometry.PassiveITkStripBarrelLayerHalflengthZ
158 actsTrackingGeometrySvc.PassiveITkStripBarrelLayerThickness = flags.Acts.TrackingGeometry.PassiveITkStripBarrelLayerThickness
159
160
161
162 acc.addService(actsTrackingGeometrySvc, primary = True)
163 return acc
164
165
166