Adds a new differential detector-model based on sigmoid-edges. This aims to provide a better approximation of the resolution and efficiency of a physical detector, whilst still having sensitivity to muons outside the detector boundaries.
The smooth attribute can be used to adjust the rate of change of resolution|efficiency near the borders:
A lower value provides a sharper transition, that more closely resembles a real detector
A higher value provides a smooth transition with greater sensitivity outside the panel borders
It is assumed that a smoother panel is more useful for optimising the xy position and span of the panels, whereas the sharper panels will more closely provide the precision of physical panels, and so can be used to better optimise the z position.
To help with this, SigmoidPanelSmoothnessSchedule is a callback that can be used to adjust the smoothness during optimisation.
Closes #153; closes #55
Effect of smoothness on panels
Smooth = 1:
Smooth = 0.1:
Validation loss computed with physical panels. Initial smoothness set to 1 and annealed to 0.1. Training and validation are initially different, but at lower smooth values, the training better matches the validation.
Adds a new differential detector-model based on sigmoid-edges. This aims to provide a better approximation of the resolution and efficiency of a physical detector, whilst still having sensitivity to muons outside the detector boundaries. The
smooth
attribute can be used to adjust the rate of change of resolution|efficiency near the borders:It is assumed that a smoother panel is more useful for optimising the xy position and span of the panels, whereas the sharper panels will more closely provide the precision of physical panels, and so can be used to better optimise the z position.
To help with this,
SigmoidPanelSmoothnessSchedule
is a callback that can be used to adjust the smoothness during optimisation.Closes #153; closes #55
Effect of smoothness on panels
Smooth = 1:
Smooth = 0.1:
Validation loss computed with physical panels. Initial smoothness set to 1 and annealed to 0.1. Training and validation are initially different, but at lower smooth values, the training better matches the validation.