Skip to content

Add initial support for publishing Aux tables to SQLite for GeoModelXml

An initial implementation of the necessary publishers to allow FullPhysVol (with Indentifier strings), AlignableTransforms, and tables defining other parameters needed for building the ReadoutGeometry objects to be written out to an SQLite database file by GeoModelXml.

  • The FullPhysVol lists should be correct for all sensors I believe. The list printed is smaller than that from the GeoModel tree, but I think that is because of some "higher level" FPVs like full endcaps, staves, etc. Maybe these also need to be published in order to have the alignment working eventually?
  • The AlignableTransform publishing technically works, but the list is very incomplete and issues are reported when trying to associate the FPVs to AlignableTransforms, and also when inserting some entries. Allows things to run, but is certainly not yet correct so will need some follow-up work
  • The publishing of the Aux tables for the ReadoutGeometry elements creates a table per sensor class, having a row per sensor type. This stores all data as strings (at least for now) as I didn't come up with a good solution for determining the type. In any case, the current GeoModelXml code in Athena assumes these to be stored as strings, so this will require fewer updates there if we stick with it. If not, we will have to extend the tables to somehow account for the fact that some of these strings are actually vectors of values, which can be different for each row in the tables, as they reflect the number of rows a strip endcap sensor has.

A few things are not yet covered:

  • No solution yet for the SiHitIdentifiers which should get written in (ideally) as the G4 CopyNumber. As discussed in a meeting, this currently relies on Athena code not accessible for GeoModel running stand-alone. This will limit the extent to which we can validate in Athena, since if the SiHitIdentifiers written into the HITS file are incorrect, then we can't process them further.
  • We also need to decide how to handle the Identifier dictionary file. In the current detector, the Oracle Database tables just include a path to a filename, allowing the necessary file (which is part of the Athena release) to be located at runtime. In the SQLite files, this file path is just added as an Aux table. For Run4 geometries we decided it was more flexible to actually upload this dictionary to the DB as a CLOB, since it is just Xml data like many other things there. We would therefore need to decide how to provide access to this dictionary Xml file in the new workflow where we don't have the Oracle DB any more.

NB this also addresses an issue discussed here #53 which removed functionality for adding alignable transforms in Athena, which we are currently trying to get working.

Comments and suggestions very welcome, cc @boudreau @dellacqu @mbandier @rbianchi @tsulaia

Edited by Nicholas Styles

Merge request reports