Skip to content

GSF create the summary from the ParticleCreator tool

This might be of interest for @goetz , @jdevivi , @amorley

Recall for that GSF we refit or we copy over Trk::Tracks (TRT-alone). The refit Trk::Tracks have no summary, the copy over have what was there.

Here, note that the ParticleCreator does

std::unique_ptr<Trk::TrackSummary> updated_summary;
0334   const Trk::TrackSummary* summary = track.trackSummary();
0335   if (m_trackSummaryTool.get() != nullptr) {
0336     if (!track.trackSummary()) {
0337       updated_summary = m_trackSummaryTool->summary(ctx, track, prd_to_track_map);
0338       summary = updated_summary.get();
0339     } else if (m_computeAdditionalInfo) {
0340       updated_summary = std::make_unique<Trk::TrackSummary>(*track.trackSummary());
0341       m_trackSummaryTool->updateAdditionalInfo(track, *updated_summary);
0342       summary = updated_summary.get();
0343     }

More or less if (track.trackSummary()) and we do not want additional (default false) the summary will not be touched ...

Anyhow, we want to run the std part +update expected hits for the refitted And that is what the MR does more or less. We move the TrackSummary tool to run during the ParticleCreatorTool not the GSF builder direct. This also means now has to be "public" in the conf.

The reason for this is that in principle in the future on might want to "hide" where things run in one place and have the "summary" more and more as part of the TrackParticle not the Trk::Track.

If we want to do "copy" over info from the original we can do during the "copyOver".

PS : My tests for offline e/gamma show no difference, I will let the CI tell me if the old style config for the Trig was done 100% correctly (it should have the same change as the new style)

Edited by Christos Anastopoulos

Merge request reports