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