ATLAS Offline Software
ActsGeometryConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
3 from AthenaConfiguration.ComponentFactory import CompFactory
4 
5 
7  name: str = "ActsTrackingGeometrySvc",
8  **kwargs) -> ComponentAccumulator:
10 
11  from ROOT.ActsTrk import DetectorType
12  kwargs.setdefault("NotAlignDetectors", [DetectorType.Trt,
13  DetectorType.Hgtd])
14 
15  subDetectors = []
16  if flags.Detector.GeometryBpipe:
17  from BeamPipeGeoModel.BeamPipeGMConfig import BeamPipeGeometryCfg
18  acc.merge(BeamPipeGeometryCfg(flags))
19  kwargs.setdefault("BuildBeamPipe", True)
20 
21  if flags.Detector.GeometryPixel:
22  subDetectors += ["Pixel"]
23  from PixelGeoModel.PixelGeoModelConfig import PixelReadoutGeometryCfg
24  acc.merge(PixelReadoutGeometryCfg(flags))
25 
26  if flags.Detector.GeometrySCT:
27  subDetectors += ["SCT"]
28  from SCT_GeoModel.SCT_GeoModelConfig import SCT_ReadoutGeometryCfg
29  acc.merge(SCT_ReadoutGeometryCfg(flags))
30 
31  if flags.Detector.GeometryTRT:
32  # Commented out because TRT is not production ready yet and we don't
33  # want to turn it on even if the global flag is set
34  # subDetectors += ["TRT"]
35  from TRT_GeoModel.TRT_GeoModelConfig import TRT_ReadoutGeometryCfg
36  acc.merge(TRT_ReadoutGeometryCfg(flags))
37 
38  if flags.Detector.GeometryCalo:
39  # Commented out because Calo is not production ready yet and we don't
40  # want to turn it on even if the global flag is set
41  # subDetectors += ["Calo"]
42  # kwargs.setdefault("CaloVolumeBuilder", CompFactory.ActsCaloTrackingVolumeBuilder())
43 
44  # need to configure calo geometry, otherwise we get a crash
45  # Do this even though it's not production ready yet, so the service can
46  # be forced to build the calorimeter later on anyway
47  from LArGeoAlgsNV.LArGMConfig import LArGMCfg
48  acc.merge(LArGMCfg(flags))
49  from TileGeoModel.TileGMConfig import TileGMCfg
50  acc.merge(TileGMCfg(flags))
51 
52  if flags.Detector.GeometryITkPixel:
53  subDetectors += ["ITkPixel"]
54  from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
55  acc.merge(ITkPixelReadoutGeometryCfg(flags))
56 
57  if flags.Detector.GeometryITkStrip:
58  subDetectors += ["ITkStrip"]
59  from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
60  acc.merge(ITkStripReadoutGeometryCfg(flags))
61 
62  if flags.Detector.GeometryHGTD:
63  subDetectors += ["HGTD"]
64  if flags.HGTD.Geometry.useGeoModelXml:
65  from HGTD_GeoModelXml.HGTD_GeoModelConfig import HGTD_ReadoutGeometryCfg
66  else:
67  from HGTD_GeoModel.HGTD_GeoModelConfig import HGTD_ReadoutGeometryCfg
68  acc.merge(HGTD_ReadoutGeometryCfg(flags))
69 
70  actsTrackingGeometrySvc = CompFactory.ActsTrackingGeometrySvc(name,
71  BuildSubDetectors=subDetectors,
72  **kwargs)
73  if flags.Detector.GeometryITk:
74  if flags.Acts.TrackingGeometry.MaterialSource == "Default":
75  extension = "ITk"
76  if flags.Detector.GeometryHGTD:
77  extension += "-HGTD"
78  actsTrackingGeometrySvc.UseMaterialMap = True
79  actsTrackingGeometrySvc.MaterialMapCalibFolder = flags.Acts.TrackingGeometry.MaterialCalibrationFolder
80  actsTrackingGeometrySvc.MaterialMapInputFile = \
81  "material-maps-" + flags.GeoModel.AtlasVersion + "-" + extension + ".json"
82  elif flags.Acts.TrackingGeometry.MaterialSource.find(".json") != -1:
83  actsTrackingGeometrySvc.UseMaterialMap = True
84  actsTrackingGeometrySvc.MaterialMapCalibFolder = flags.Acts.TrackingGeometry.MaterialCalibrationFolder
85  actsTrackingGeometrySvc.MaterialMapInputFile = flags.Acts.TrackingGeometry.MaterialSource
86 
87  acc.addService(actsTrackingGeometrySvc, primary = True)
88  return acc
89 
90 
92  name: str = "ActsPropStepRootWriterSvc",
93  **kwargs) -> ComponentAccumulator:
94  acc = ComponentAccumulator()
95  acc.addService(CompFactory.ActsPropStepRootWriterSvc(name, **kwargs))
96  return acc
97 
98 
100  name: str = "ActsTrackingGeometryTool" ) -> ComponentAccumulator:
101  acc = ComponentAccumulator()
102  acc.merge(ActsTrackingGeometrySvcCfg(flags))
103  from ActsAlignmentAlgs.AlignmentAlgsConfig import ActsGeometryContextAlgCfg
104  acc.merge(ActsGeometryContextAlgCfg(flags))
105  acc.setPrivateTools(CompFactory.ActsTrackingGeometryTool(name))
106  return acc
107 
109  name: str = "ActsExtrapolationTool",
110  **kwargs) -> ComponentAccumulator:
111  acc = ComponentAccumulator()
112  from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
113  acc.merge(AtlasFieldCacheCondAlgCfg(flags))
114  kwargs.setdefault("TrackingGeometryTool", acc.popToolsAndMerge(ActsTrackingGeometryToolCfg(flags))) # PrivateToolHandle
115  acc.setPrivateTools(CompFactory.ActsExtrapolationTool(name, **kwargs))
116  return acc
117 
118 
120  name: str = "ActsMaterialTrackWriterSvc",
121  **kwargs) -> ComponentAccumulator:
122  acc = ComponentAccumulator()
123  acc.merge(ActsTrackingGeometrySvcCfg(flags))
124  acc.addService(CompFactory.ActsMaterialTrackWriterSvc(name, **kwargs), primary=True)
125  return acc
126 
127 
129  name: str = "ActsMaterialStepConverterTool",
130  **kwargs ) -> ComponentAccumulator:
131  acc = ComponentAccumulator()
132  acc.addPublicTool(CompFactory.ActsMaterialStepConverterTool(name, **kwargs), primary=True)
133  return acc
134 
135 
137  name: str = "ActsSurfaceMappingTool",
138  **kwargs ) -> ComponentAccumulator:
139  acc = ComponentAccumulator()
140  kwargs.setdefault("TrackingGeometryTool", acc.popToolsAndMerge(ActsTrackingGeometryToolCfg(flags))) # PrivateToolHandle
141  acc.addPublicTool(CompFactory.ActsSurfaceMappingTool(name, **kwargs), primary=True)
142  return acc
143 
144 
146  name: str = "ActsVolumeMappingTool",
147  **kwargs ) -> ComponentAccumulator:
148  acc = ComponentAccumulator()
149  kwargs.setdefault("TrackingGeometryTool", acc.popToolsAndMerge(ActsTrackingGeometryToolCfg(flags))) # PrivateToolHandle
150  acc.addPublicTool(CompFactory.ActsVolumeMappingTool(name, **kwargs), primary=True)
151  return acc
152 
153 
155  name: str = "ActsMaterialJsonWriterTool",
156  **kwargs) -> ComponentAccumulator:
157  acc = ComponentAccumulator()
158  acc.addPublicTool(CompFactory.ActsMaterialJsonWriterTool(name, **kwargs), primary=True)
159  return acc
160 
161 
163  name: str = "ActsObjWriterTool",
164  **kwargs) -> ComponentAccumulator:
165  acc = ComponentAccumulator()
166  acc.addPublicTool(CompFactory.ActsObjWriterTool(name, **kwargs), primary=True)
167  return acc
168 
169 
171  name: str = "ActsExtrapolationAlg",
172  **kwargs) -> ComponentAccumulator:
173  acc = ComponentAccumulator()
174 
175  if "ExtrapolationTool" not in kwargs:
176  kwargs.setdefault("ExtrapolationTool", acc.popToolsAndMerge(ActsExtrapolationToolCfg(flags))) # PrivateToolHandle
177 
178  acc.merge(ActsPropStepRootWriterSvcCfg(flags, FilePath="propsteps.root", TreeName="propsteps"))
179  acc.addEventAlgo(CompFactory.ActsExtrapolationAlg(name, **kwargs))
180  return acc
181 
183  name: str = "ActsWriteTrackingGeometry",
184  **kwargs) -> ComponentAccumulator:
185  acc = ComponentAccumulator()
186 
187  if 'TrackingGeometryTool' not in kwargs:
188  kwargs.setdefault("TrackingGeometryTool", acc.popToolsAndMerge(ActsTrackingGeometryToolCfg(flags))) # PrivateToolHandle
189 
190  if 'MaterialJsonWriterTool' not in kwargs:
191  kwargs.setdefault("MaterialJsonWriterTool", acc.getPrimaryAndMerge(ActsMaterialJsonWriterToolCfg(flags,
192  OutputFile = "geometry-maps.json",
193  processSensitives = False,
194  processNonMaterial = True) ))
195 
196  subDetectors = []
197  if flags.Detector.GeometryBpipe:
198  subDetectors = ["BeamPipe"]
199 
200  if flags.Detector.GeometryPixel:
201  subDetectors += ["Pixel"]
202  if flags.Detector.GeometryITkPixel:
203  subDetectors += ["ITkPixel"]
204 
205  if flags.Detector.GeometrySCT:
206  subDetectors += ["SCT"]
207  if flags.Detector.GeometryITkStrip:
208  subDetectors += ["ITkStrip"]
209  if flags.Detector.GeometryHGTD:
210  subDetectors += ["HGTD"]
211 
212  if 'ObjWriterTool' not in kwargs:
213  kwargs.setdefault("ObjWriterTool",
214  acc.getPrimaryAndMerge(ActsObjWriterToolCfg(flags,
215  OutputDirectory = "obj",
216  SubDetectors = subDetectors) ))
217 
218  acc.addEventAlgo(CompFactory.ActsWriteTrackingGeometry(name, **kwargs))
219  return acc
220 
222  name: str = "ActsWriteTrackingGeometryTransformsAlg",
223  **kwargs: dict) -> ComponentAccumulator:
224  acc = ComponentAccumulator()
225 
226  if 'TrackingGeometryTool' not in kwargs:
227  kwargs.setdefault("TrackingGeometryTool", acc.popToolsAndMerge(ActsTrackingGeometryToolCfg(flags))) # PrivateToolHandle
228 
229  acc.addEventAlgo(CompFactory.ActsWriteTrackingGeometryTransforms(name,**kwargs))
230  return acc
231 
233  name: str = "ActsMaterialMapping",
234  **kwargs) -> ComponentAccumulator:
235  acc = ComponentAccumulator()
236 
237  if 'MaterialStepConverterTool' not in kwargs:
238  kwargs.setdefault("MaterialStepConverterTool", acc.getPrimaryAndMerge(ActsMaterialStepConverterToolCfg(flags)))
239 
240  if 'SurfaceMappingTool' not in kwargs:
241  kwargs.setdefault("SurfaceMappingTool", acc.getPrimaryAndMerge(ActsSurfaceMappingToolCfg(flags)))
242 
243  if 'VolumeMappingTool' not in kwargs:
244  kwargs.setdefault("VolumeMappingTool", acc.getPrimaryAndMerge(ActsVolumeMappingToolCfg(flags)))
245 
246  if 'MaterialJsonWriterTool' not in kwargs:
247  kwargs.setdefault("MaterialJsonWriterTool",
248  acc.getPrimaryAndMerge( ActsMaterialJsonWriterToolCfg(flags,
249  OutputFile = "material-maps.json",
250  processSensitives = False,
251  processNonMaterial = False) ))
252 
253  acc.addEventAlgo(CompFactory.ActsMaterialMapping(name, **kwargs))
254  return acc
ActsGeometryConfig.ActsTrackingGeometrySvcCfg
ComponentAccumulator ActsTrackingGeometrySvcCfg(flags, str name="ActsTrackingGeometrySvc", **kwargs)
Definition: ActsGeometryConfig.py:6
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
BeamPipeGMConfig.BeamPipeGeometryCfg
def BeamPipeGeometryCfg(flags)
Definition: BeamPipeGMConfig.py:5
TRT_GeoModelConfig.TRT_ReadoutGeometryCfg
def TRT_ReadoutGeometryCfg(flags)
Definition: TRT_GeoModelConfig.py:55
ActsGeometryConfig.ActsPropStepRootWriterSvcCfg
ComponentAccumulator ActsPropStepRootWriterSvcCfg(flags, str name="ActsPropStepRootWriterSvc", **kwargs)
Definition: ActsGeometryConfig.py:91
ActsGeometryConfig.ActsMaterialTrackWriterSvcCfg
ComponentAccumulator ActsMaterialTrackWriterSvcCfg(flags, str name="ActsMaterialTrackWriterSvc", **kwargs)
Definition: ActsGeometryConfig.py:119
ActsGeometryConfig.ActsExtrapolationAlgCfg
ComponentAccumulator ActsExtrapolationAlgCfg(flags, str name="ActsExtrapolationAlg", **kwargs)
Definition: ActsGeometryConfig.py:170
ActsGeometryConfig.ActsObjWriterToolCfg
ComponentAccumulator ActsObjWriterToolCfg(flags, str name="ActsObjWriterTool", **kwargs)
Definition: ActsGeometryConfig.py:162
ActsGeometryConfig.ActsWriteTrackingGeometryCfg
ComponentAccumulator ActsWriteTrackingGeometryCfg(flags, str name="ActsWriteTrackingGeometry", **kwargs)
Definition: ActsGeometryConfig.py:182
ActsGeometryConfig.ActsWriteTrackingGeometryTransformsAlgCfg
ComponentAccumulator ActsWriteTrackingGeometryTransformsAlgCfg(flags, str name="ActsWriteTrackingGeometryTransformsAlg", **dict kwargs)
Definition: ActsGeometryConfig.py:221
SCT_GeoModelConfig.SCT_ReadoutGeometryCfg
def SCT_ReadoutGeometryCfg(flags)
Definition: SCT_GeoModelConfig.py:42
ActsGeometryConfig.ActsExtrapolationToolCfg
ComponentAccumulator ActsExtrapolationToolCfg(flags, str name="ActsExtrapolationTool", **kwargs)
Definition: ActsGeometryConfig.py:108
AlignmentAlgsConfig.ActsGeometryContextAlgCfg
def ActsGeometryContextAlgCfg(flags, name="GeometryContextAlg", **kwargs)
Setup the Geometry context algorithm.
Definition: AlignmentAlgsConfig.py:125
ActsGeometryConfig.ActsMaterialMappingCfg
ComponentAccumulator ActsMaterialMappingCfg(flags, str name="ActsMaterialMapping", **kwargs)
Definition: ActsGeometryConfig.py:232
HGTD_GeoModelConfig.HGTD_ReadoutGeometryCfg
def HGTD_ReadoutGeometryCfg(flags)
Definition: python/HGTD_GeoModelConfig.py:23
ActsGeometryConfig.ActsTrackingGeometryToolCfg
ComponentAccumulator ActsTrackingGeometryToolCfg(flags, str name="ActsTrackingGeometryTool")
Definition: ActsGeometryConfig.py:99
LArGMConfig.LArGMCfg
def LArGMCfg(flags)
Definition: LArGMConfig.py:8
PixelGeoModelConfig.PixelReadoutGeometryCfg
def PixelReadoutGeometryCfg(flags)
Definition: PixelGeoModelConfig.py:42
ActsGeometryConfig.ActsVolumeMappingToolCfg
ComponentAccumulator ActsVolumeMappingToolCfg(flags, str name="ActsVolumeMappingTool", **kwargs)
Definition: ActsGeometryConfig.py:145
ITkPixelGeoModelConfig.ITkPixelReadoutGeometryCfg
def ITkPixelReadoutGeometryCfg(flags, setGeometryAlignable=False, setAlignmentFolderName="/Indet/Align")
Definition: ITkPixelGeoModelConfig.py:39
ActsGeometryConfig.ActsMaterialJsonWriterToolCfg
ComponentAccumulator ActsMaterialJsonWriterToolCfg(flags, str name="ActsMaterialJsonWriterTool", **kwargs)
Definition: ActsGeometryConfig.py:154
ITkStripGeoModelConfig.ITkStripReadoutGeometryCfg
def ITkStripReadoutGeometryCfg(flags, setGeometryAlignable=False, setAlignmentFolderName="/Indet/Align")
Definition: ITkStripGeoModelConfig.py:39
ActsGeometryConfig.ActsMaterialStepConverterToolCfg
ComponentAccumulator ActsMaterialStepConverterToolCfg(flags, str name="ActsMaterialStepConverterTool", **kwargs)
Definition: ActsGeometryConfig.py:128
ActsGeometryConfig.ActsSurfaceMappingToolCfg
ComponentAccumulator ActsSurfaceMappingToolCfg(flags, str name="ActsSurfaceMappingTool", **kwargs)
Definition: ActsGeometryConfig.py:136
python.MagFieldServicesConfig.AtlasFieldCacheCondAlgCfg
def AtlasFieldCacheCondAlgCfg(flags, **kwargs)
Definition: MagFieldServicesConfig.py:8
TileGMConfig.TileGMCfg
def TileGMCfg(flags)
Definition: TileGMConfig.py:7