Apply the associated range set to the axis of a given hist.

        Note:
            The min and max values should be bins, not user ranges! For more, see the binning
            explanation in ``apply_func_to_find_bin(...)``.

        Args:
            hist: Histogram to which the axis range restriction should be applied.
        Returns:
            None. The range is set on the axis.

def apply_range_set(self, hist: Hist) -> None:
        """ Apply the associated range set to the axis of a given hist.

        Note:
            The min and max values should be bins, not user ranges! For more, see the binning
            explanation in ``apply_func_to_find_bin(...)``.

        Args:
            hist: Histogram to which the axis range restriction should be applied.
        Returns:
            None. The range is set on the axis.
        """
        # Do individual assignments to clarify which particular value is causing an error here.
        axis = self.axis(hist)
        #logger.debug(f"axis: {axis}, axis(): {axis.GetName()}")
        # Help out mypy
        assert not isinstance(self.min_val, float)
        assert not isinstance(self.max_val, float)
        # Evaluate the functions to determine the values.
        min_val = self.min_val(axis)
        max_val = self.max_val(axis)
        # NOTE: Using SetRangeUser() here was a bug, since I've been passing bin values! In general,
        #       passing bin values is more flexible, but requires the values to be passed to
        #       ``apply_func_to_find_bin()`` to be shifted by some small epsilon to get the desired bin.
        self.axis(hist).SetRange(min_val, max_val)