Go HEP release 0.7


Release v0.7 is fresh from the oven with a few breaking API changes.


The cmd/rio2yoda, cmd/root2yoda and cmd/yoda2rio commands now support gzipped YODA files.

The cmd/yoda2rio is also more lenient when dealing with YODA objects that are not yet supported on the hbook side (Counter, S1D, …) (thanks Lukas Heinrich for the report.)


Bastian added the ability to plot the Voronoi diagram from a set of 2D-points.


hbook/yodacnv was modified to support the more lenient approach with regard to unsupported (yet!) YODA objects.


hplot has seen the most user-facing work:

  • a new default style that is more in-line with current aesthetic standards (ie: matplotlib-like)
  • hplot.New uses this new default style and thus is now able to ensure it won’t fail loading the fonts
  • hplot.New thus only returns *hplot.Plot, without an error value
  • hplot.NewH1D is also able to ensure no fonts-loading error will araise and thus only return a *hplot.H1D

So, where you were doing:

p, err := hplot.New()
if err != nil {

h, err := hplot.NewH1D(h1d)
if err != nil {

you can now just write:

p := hplot.New()
h := hplot.NewH1D(h1d)

And here are examples of the new default style:

correlations results


pawgo has been slightly updated to support plotting 2-dim histograms. pawgo was also fixed to correctly handle YODA files converted to RIO (thanks Lukas Heinrich for the report.)


rootio gained 2 new commands:

  • rootio/cmd/root-diff: a command to print the differences between 2 ROOT files, including the content of their TTrees,
  • rootio/cmd/root-print: a command to print histograms contained in ROOT files into PDF, PNG, … files.

rootio now also defines and exports the rootio.H1 and rootio.H2 interfaces that are implemented by the TH1x and TH2x (respectively) concrete types.