code: def get_bin_edges_from_axis(axis) -> np.ndarray:
      
      # Don't include over- or underflow bins
      bins = range(1, axis.GetNbins() + 1)
      # Bin edges
      bin_edges = np.empty(len(bins) + 1)
      bin_edges[:-1] = [axis.GetBinLowEdge(i) for i in bins]
      bin_edges[-1] = axis.GetBinUpEdge(axis.GetNbins())
  
      return bin_edges
docs: Get bin edges from a ROOT hist axis.
  
      Note:
          Doesn't include over- or underflow bins!
  
      Args:
          axis (ROOT.TAxis): Axis from which the bin edges should be extracted.
      Returns:
          Array containing the bin edges.