Skip to content

DumpGeo: migrate it to CA and add a filter to dump DetectorManagers

This MR:

  • migrates the DumpGeo configuration to CA
  • adds a machinery to dump combinations of DetectorManagers

For debugging, it is useful to only dump a part of the detector geometry.

While migrating to CA, I added a CLI option to pass a comma-separated list of DetectorManagers.

By using this:

python -m DumpGeo.DumpGeoConfig --filterDetManagers="InDetServMat"

you get an SQLite .db file containing only the InDetServMat geometry, here below opened in GMEX:

Screenshot_2024-02-22_at_19.09.22

By passing a comma-separated list of DetectorManagers, you will get a file containing all of them. For example, by using:

python -m DumpGeo.DumpGeoConfig --filterDetManagers="BeamPipe,InDetServMat"

you will get an SQLite file containing the geometry of both the InDetServMat and BeamPipe subsystems, here below opened in GMEX again:

Screenshot_2024-02-22_at_19.02.42

The new option gets the list of TreeTops from the selected DetectorManagers, picks the TreeTops belonging to the current DetectorManager, gets their Transform (the "default" one, without any alignments), and adds them to a 'world' volume.

Please notice that when dumping DetectorManagers, a GeoNameTag with the name of the DetectorManager is added in front of the relevant TreeTop volumes, so you can pick the right one when inspecting the output .db file and for GMEX to show you a convenient checkbox to switch them ON/OFF, as you can see in the above screenshot.


This MR also adds two other CLI options:

  • a --detDescr option, which is an alias of the Athena GeoModel.AtlasVersion, to set the geometry TAG to be dumped. If not set, the default geometry TAG is used; at the moment, this is the RUN3 default geometry tag set as:
from AthenaConfiguration.TestDefaults import defaultGeometryTags
flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN3
  • a --forceOverwrite (or the shortest -f) option to overwrite the output file. If not used, if an output file with the same name is found, the program prints an error message and exits

@boudreau @tsulaia @emoyse

Edited by Riccardo Maria Bianchi

Merge request reports