7 name: str =
"ActsTrackingGeometrySvc",
8 **kwargs) -> ComponentAccumulator:
9 acc = ComponentAccumulator()
11 from ROOT.ActsTrk
import DetectorType
12 kwargs.setdefault(
"NotAlignDetectors", [DetectorType.Trt,
14 kwargs.setdefault(
"UseBlueprint", flags.Acts.TrackingGeometry.UseBlueprint)
15 kwargs.setdefault(
"ObjDebugOutput", flags.Acts.TrackingGeometry.ObjDebugOutput)
16 kwargs.setdefault(
"KeepGoingOnMaterialMergeFailure", flags.Acts.TrackingGeometry.KeepGoingOnMaterialMergeFailure)
26 from AthenaServices.ROOTMessageFilterSvcConfig
import ROOTMessageFilterSvcCfg
27 acc.merge(ROOTMessageFilterSvcCfg(flags,
28 SuppressionRules=[(
'TCling::LoadPCM',
29 '.*libGeom_rdict.pcm.*',
32 if flags.Detector.GeometryBpipe:
33 from BeamPipeGeoModel.BeamPipeGMConfig
import BeamPipeGeometryCfg
34 acc.merge(BeamPipeGeometryCfg(flags))
35 kwargs.setdefault(
"BuildBeamPipe",
True)
37 if flags.Detector.GeometryPixel:
38 subDetectors += [
"Pixel"]
39 from PixelGeoModel.PixelGeoModelConfig
import PixelReadoutGeometryCfg
40 acc.merge(PixelReadoutGeometryCfg(flags))
43 if flags.Detector.GeometrySCT:
44 subDetectors += [
"SCT"]
45 from SCT_GeoModel.SCT_GeoModelConfig
import SCT_ReadoutGeometryCfg
46 acc.merge(SCT_ReadoutGeometryCfg(flags))
48 if flags.Detector.GeometryTRT:
52 from TRT_GeoModel.TRT_GeoModelConfig
import TRT_ReadoutGeometryCfg
53 acc.merge(TRT_ReadoutGeometryCfg(flags))
55 if flags.Detector.GeometryCalo:
64 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
65 acc.merge(LArGMCfg(flags))
66 from TileGeoModel.TileGMConfig
import TileGMCfg
67 acc.merge(TileGMCfg(flags))
70 if flags.Acts.TrackingGeometry.UseBlueprint:
74 if flags.Detector.GeometryITkPixel
or flags.Detector.GeometryITkStrip:
76 if flags.Detector.GeometryHGTD:
78 if flags.Detector.GeometryCalo:
79 subDetectors += [
"Calo"]
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))]
90 if flags.Muon.trackGeometryPassiveMaterial
and \
91 len(flags.Muon.trackGeometryMaterialMap) > 0:
92 refineTools+= [acc.popToolsAndMerge(MuonMaterialDecoratorToolCfg(flags))]
95 if flags.Detector.GeometryITkPixel:
96 subDetectors += [
"ITkPixel"]
97 from PixelGeoModelXml.ITkPixelGeoModelConfig
import ITkPixelReadoutGeometryCfg
98 acc.merge(ITkPixelReadoutGeometryCfg(flags))
100 if flags.Detector.GeometryITkStrip:
101 subDetectors += [
"ITkStrip"]
102 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
103 acc.merge(ITkStripReadoutGeometryCfg(flags))
106 if flags.Detector.GeometryHGTD:
107 subDetectors += [
"HGTD"]
108 if flags.HGTD.Geometry.useGeoModelXml:
109 from HGTD_GeoModelXml.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
111 from HGTD_GeoModel.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
112 acc.merge(HGTD_ReadoutGeometryCfg(flags))
114 actsTrackingGeometrySvc = CompFactory.ActsTrk.TrackingGeometrySvc(name,
115 BuildSubDetectors=subDetectors,
116 BlueprintNodeBuilders=blueprintTools,
117 RefinementTools=refineTools,
120 if flags.Acts.TrackingGeometry.MaterialSource ==
"Default":
121 if flags.Detector.GeometryITk:
123 if flags.Detector.GeometryHGTD:
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"
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
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
152 acc.addService(actsTrackingGeometrySvc, primary =
True)