Skip to content

Initial track overlay implementation

William Axel Leight requested to merge wleight/athena:trackOverlay1 into master

This first set of changes prepares for the implementation of a track overlay in which tracks are reconstructed from pileup and overlaid onto hard-scatter tracks during reconstruction.

Everything should be driven by the new doTrackOverlay flag that is added to the set of overlay flags: nothing should change if this flag is not set to true. If this flag is true, the overlay job will run digitization on hard-scatter ID hits instead of the overlay. It will also pass through the background tracks and PRD collections, as well as the truth collections (all of which will have been previously built). Then during reconstruction, the background tracks will be merged into the corresponding track collection, and the background truth into the truth collections.

To make the truth merging possible, a maxTracks parameter is added to the DetailedTrackTruthBuilder. Any tracks beyond this number are not considered by the DetailedTrackTruthBuilder to avoid rebuilding truth that has already been constructed.

Finally, there are several fixes transient-to-persistent converters. First, the ID RIO on track converters have been modified to allow them to link to PRD collections with a different name than the hard-coded default. To make this possible, the EventCnvSuperTool has been given a trackOverlay flag that the converters can use. Additionally, the TSOS converter has been modified to remove the call to setFlags(). This is unnecessary as the flags will already be set: they are saved in the persistent version. And it leads to a bug, as setFlags() assumes that at TSOS with a measurementOnTrack object is of type measurement, whereas it could be of type outlier. This can lead to a crash as measurement TSOSs will have a set of trackParameters whereas outliers will not.

Edited by William Axel Leight

Merge request reports