Skip to content

Fixing - maybe - bug in passing of seed parameters

Noemi Calace requested to merge ncalace/athena:master-fix-ntuple-values into master

I suspect there is a bug in the way d0, eta and pT parameters are passed to the seed in order to store them in the validation ntuple.

I explain the suspicious mechanism for the seed impact parameter, but the same stands for eta and pT:

The impact parameter is evaluated and stored as a property of the top space point for each seed candidate (https://acode-browser1.usatlas.bnl.gov/lxr/source/athena/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/ITkSiSpacePointsSeedMaker.cxx#2452). Now, being data.ITkSP[t] a pointer to a SiSpacePointForSeed, if this is shared between multiple seeds, d0 is re-evaluated, as it should be, but re-set on the same top SiSpacePointForSeed. Later on, an SiSpacePointsSeed is build for each accepted seed (SiSpacePointsProSeed) and the seed parameters are set via the used SiSpacePointForSeed (https://acode-browser1.usatlas.bnl.gov/lxr/source/athena/InnerDetector/InDetRecEvent/SiSPSeededTrackFinderData/src/ITkSiSpacePointsProSeed.cxx#0087). Again, here all pointers are used. Depending on the last value assumed by d0 for the top SiSpacePointForSeed, then the SiSpacePointsSeed property is set accordingly (https://acode-browser1.usatlas.bnl.gov/lxr/source/athena/InnerDetector/InDetRecEvent/SiSPSeededTrackFinderData/src/ITkSiSpacePointsProSeed.cxx#0103)... which can be just wrong for the given bottom-middle-top combination.

This MR attempts to fix this behavior, evaluating the aforementioned parameters for the accepted bottom-middle-top combination.

Tagging @tstreble and @goblirsc to confirm this is indeed a bug-fix.

FYI: @crougier, @pagessin, @lgagnon

Merge request reports