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