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.Detector.GeometryMuon 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
83 blueprintTools += [acc.popToolsAndMerge(MuonBlueprintNodeBuilderCfg(flags))]
84
85
86 if flags.Detector.GeometryITkPixel:
87 subDetectors += ["ITkPixel"]
88 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
89 acc.merge(ITkPixelReadoutGeometryCfg(flags))
90
91 if flags.Detector.GeometryITkStrip:
92 subDetectors += ["ITkStrip"]
93 from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
94 acc.merge(ITkStripReadoutGeometryCfg(flags))
95
96
97 if flags.Detector.GeometryHGTD:
98 subDetectors += ["HGTD"]
99 if flags.HGTD.Geometry.useGeoModelXml:
100 from HGTD_GeoModelXml.HGTD_GeoModelConfig import HGTD_ReadoutGeometryCfg
101 else:
102 from HGTD_GeoModel.HGTD_GeoModelConfig import HGTD_ReadoutGeometryCfg
103 acc.merge(HGTD_ReadoutGeometryCfg(flags))
104
105 actsTrackingGeometrySvc = CompFactory.ActsTrackingGeometrySvc(name,
106 BuildSubDetectors=subDetectors,
107 BlueprintNodeBuilders=blueprintTools,
108 RefinementTools=refineTools,
109 **kwargs)
110
111 if flags.Acts.TrackingGeometry.MaterialSource == "Default":
112 if flags.Detector.GeometryITk:
113 extension = "ITk"
114 if flags.Detector.GeometryHGTD:
115 extension += "-HGTD"
116 if flags.Acts.TrackingGeometry.InsertITkPassiveMaterialLayers:
117 extension += "-passiveLayers"
118 if flags.Acts.TrackingGeometry.MaterialFileExtension:
119 extension += "-"+flags.Acts.TrackingGeometry.MaterialFileExtension
120 actsTrackingGeometrySvc.UseMaterialMap = True
121 actsTrackingGeometrySvc.MaterialMapCalibFolder = flags.Acts.TrackingGeometry.MaterialCalibrationFolder
122 actsTrackingGeometrySvc.MaterialMapInputFile = \
123 "material-maps-" + flags.GeoModel.AtlasVersion + "-" + extension + ".json"
124
125 elif flags.Acts.TrackingGeometry.MaterialSource.find(".json") != -1:
126 actsTrackingGeometrySvc.UseMaterialMap = True
127 actsTrackingGeometrySvc.MaterialMapCalibFolder = flags.Acts.TrackingGeometry.MaterialCalibrationFolder
128 actsTrackingGeometrySvc.MaterialMapInputFile = flags.Acts.TrackingGeometry.MaterialSource
129
130 if flags.Acts.TrackingGeometry.InsertITkPassiveMaterialLayers:
131 actsTrackingGeometrySvc.PassiveITkInnerPixelBarrelLayerRadii = flags.Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerRadii
132 actsTrackingGeometrySvc.PassiveITkInnerPixelBarrelLayerHalflengthZ = flags.Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerHalflengthZ
133 actsTrackingGeometrySvc.PassiveITkInnerPixelBarrelLayerThickness = flags.Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerThickness
134 actsTrackingGeometrySvc.PassiveITkOuterPixelBarrelLayerRadii = flags.Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerRadii
135 actsTrackingGeometrySvc.PassiveITkOuterPixelBarrelLayerHalflengthZ = flags.Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerHalflengthZ
136 actsTrackingGeometrySvc.PassiveITkOuterPixelBarrelLayerThickness = flags.Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerThickness
137 actsTrackingGeometrySvc.PassiveITkStripBarrelLayerRadii = flags.Acts.TrackingGeometry.PassiveITkStripBarrelLayerRadii
138 actsTrackingGeometrySvc.PassiveITkStripBarrelLayerHalflengthZ = flags.Acts.TrackingGeometry.PassiveITkStripBarrelLayerHalflengthZ
139 actsTrackingGeometrySvc.PassiveITkStripBarrelLayerThickness = flags.Acts.TrackingGeometry.PassiveITkStripBarrelLayerThickness
140
141
142
143 acc.addService(actsTrackingGeometrySvc, primary = True)
144 return acc
145
146
147