Skip to content

Replacement of InDetTestBLayer with InDetTestPixelLayer

Thomas Strebler requested to merge tstreble/athena:PixelLayerTools into 22.0

The InDetTestBLayer and InDetTestPixelLayer tools are basically set up to perform similar operations related to the extrapolation to pixel layers, the InDetTestBLayer tool simply being restricted to the two innermost pixel layers, resulting in a lot of unnecessary code duplication. Also the InDetTestBLayer name doesn't appear to be really appropriate for ITk. For those reasons, this MR removes the InDetTestBLayer package and replace the relevant tool with the InDetTestPixelLayer tool where appropriate.

One noticeable difference is related to the private method InDetTestPixelLayerTool::IsInCorrectLayer here, which used an implementation related on hit counting along the track not robust against the presence of holes. This has been replaced with a check based on m_pixelId->layer_disk(id), as was used in the InDetTestBLayer tool. The IsInCorrectLayer was used only in the public method InDetTestPixelLayerTool::getFracGood and InDetTestPixelLayerTool::expectHit which were not used yet in another Athena code.

To maintain the CPU use of the extrapolation as low as possible, a new property OuterRadius is introduced to limit the extrapolation to the two innermost pixel layers when appropriate. (It is also updated for ITk configurations with appropriate values).

With those changes, the outputs of the expectHitInInnermostPixelLayer and expectHitInNextToInnermostPixelLayer have been checked to be identical in a large sample of tracks and the offline reconstruction outputs of the q445 and q447 tests have been checked to be unchanged, both for CA and RecExCommon configs.

Rebased on 22.0 branch considering the extent of the update in the configs and that Frozen Tier-0 policy is not violated.

Adding full-unit-tests for safety

FYI @nstyles @christos

Edited by Thomas Strebler

Merge request reports