Go HEP release 0.33.0


Release v0.33.0 is out of the oven.

This release contains no major API breakage, but all around improvements and bug fixes.


  • cmd/hepmc2root: is a new command to automatically convert HepMC2 ASCII files to flat n-tuples ROOT files.
$> hepmc2root -h
hepmc2root converts a HepMC2 ASCII file into a ROOT file and (flat) tree.

Usage: hepmc2root [OPTIONS] hepmc.ascii


$> hepmc2root ./hepmc.ascii
$> hepmc2root -o out.root -t mytree ./hepmc.ascii

  -o string
    	path to output ROOT file name (default "out.root")
  -t string
    	name of the output tree (default "tree")


hplot has been migrated to the new Gio API, and needs Gonum/plot@v0.13.0.

Slight differences are to be expected in the rendering of plots. With the new Gio version we are using, you may need development headers for Vulkan on Linux. See the installation instructions of Gio for more details: Gio Installation

  • fix a bug in hplot.TiledPlot.Plot(i, j int) where the *hplot.Plot returned by Plot(i,j) was actually the conjugate of what the documentation specified. Now, Plot(i,j) returns the plot as documented.


  • introduce a generic sliceop.Resize that can reuse []T capacity
  • introduce generic versions of sliceop.Take and sliceop.Find