hep is the mono repository holding all of go-hep.org/x/hep packages and tools
Full Changelog: https://github.com/go-hep/hep/compare/v0.34.0...v0.34.1
Release v0.34.0
is out of the oven.
This release contains no major API breakage, but all around improvements and bug fixes.
gonum/plot
canvasesp := hplot.New()
// ...
err := hplot.Save(p, 10*vg.Centimeter, 20*vg.Centimeter, "plot.json")
hplot
is now using gonum/[email protected]
which has the necessary infrastructure to get nicer timeseries axes. See the provided examples (here) for the hplot.Ticks
type.
hplot
has gained some basic capability to display the legend (a color palette with numbers) of a 2D plot. See the provided example.
added a convenience forward function for gonum/plot/plotter.NewLinePoints
(as hplot.NewLinePoints
)
6.28/04
groot
's histogram types (rhist.H{1,2}x
)h, err := f.Get("h1d")
raw, err := rjson.Marshal(h)
See the complete example here.
groot/rtree
is now able to read trees created by Geant4 in multithreaded mode (see here for more details).TLeafG
branch.Release v0.33.0
is out of the oven.
This release contains no major API breakage, but all around improvements and bug fixes.
$> hepmc2root -h
hepmc2root converts a HepMC2 ASCII file into a ROOT file and (flat) tree.
Usage: hepmc2root [OPTIONS] hepmc.ascii
Example:
$> hepmc2root ./hepmc.ascii
$> hepmc2root -o out.root -t mytree ./hepmc.ascii
Options:
-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/[email protected].
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
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.sliceop.Resize
that can reuse []T
capacitysliceop.Take
and sliceop.Find
Full Changelog: https://github.com/go-hep/hep/compare/v0.32.1...v0.33.0
Full Changelog: https://github.com/go-hep/hep/compare/v0.32.0...v0.32.1
Release v0.32.0
is out of the oven.
This release contains no major API breakage, but all around improvements and bug fixes.
This release drops support for Go-1.17 (and earlier) and is the first release with the introduction of a few generics-based APIs.
Thanks to Olivier Mengué (@dolmen) there were a couple of house cleaning changes that have been applied (as part of the CERN+Google Hackathon). Thanks again Olivier.
There has been some work on RNTuple
front, but nothing that can be released yet.
General clean-ups by Olivier M.
General clean-ups by Olivier M.
riofs
: add generic Get[T]
to retrieve ROOT objectsriofs
: export in-memory read-only RMemFile
ROOT fileGeneral clean-ups by Olivier M.
General clean-ups by Oliver M.
Olivier also reduced the amount of memory allocations in lhef.NewDecoder
.
sliceop
and generics-based functions that mimick what sliceop/f64s
didsliceop/f64s
in terms of sliceop
Full Changelog: https://github.com/go-hep/hep/compare/v0.31.0...v0.32.0
Full Changelog: https://github.com/go-hep/hep/compare/v0.31.0...v0.31.1
Release v0.31.0
is out of the oven.
This release contains no major API breakage, but all around improvements and bug fixes.
This release drops support for Go-1.16 (and earlier).
ROOT-6.26/00
rcmd.Dump(tree)
TMultiGraph
TDatime
TGraphMultiErrors
TProfile{,2D}
TEfficiency
TConfidenceLevel
, TLimit{,DataSource}
TF1
and TFormula
std::vector<T, myalloc<T>>
groot/rnpy
, to ease ROOT/NumPy conversions (like groot/rarrow
does for Arrow)root2npy
, by materializing into memory only one column at a timeThat's all for today.
Last release we said there would probably be some work on the RNTuple
front.
We didn't lie, but this didn't happen in the form we thought it would.
A surprise is in the works... stay tuned.
Next cycle will probably see some work on the RNTuple
front, and that work appear in main
.
Release v0.30.1
is out of the oven.
This release contains no major API breakage, but all around improvements and bug fixes.
fwk-app
to use the latest gonuts/commander
version that provides auto-completion of commands, flags and sub-commands.TBranchObject
and TLeafObject
TLorentzVector
(in root-dump
and friends)TNtuple
and TNtupleD
(in root-dump
and friends)hplot.New
where the global variable from gonum/plot
was being modified without a critical section. This race appeared when one would create multiple hplot.Plot
concurrently.sliceop/f64s.Take
. Do note that sliceop/f64s
will probably be rewritten in terms of a generic implementation (and deprecated) once Go-1.18
is generally available.That's all for today.
Next cycle will probably see some work on the RNTuple
front.
Release v0.30.0
is out of the oven.
This release contains no major API breakage, but all around improvements and bug fixes.
fwk-app
to use the latest gonuts/commander
version that provides auto-completion of commands, flags and sub-commands.TBranchObject
and TLeafObject
TLorentzVector
(in root-dump
and friends)TNtuple
and TNtupleD
(in root-dump
and friends)hplot.New
where the global variable from gonum/plot
was being modified without a critical section. This race appeared when one would create multiple hplot.Plot
concurrently.sliceop/f64s.Take
. Do note that sliceop/f64s
will probably be rewritten in terms of a generic implementation (and deprecated) once Go-1.18
is generally available.That's all for today.
Next cycle will probably see some work on the RNTuple
front.
Release v0.29.1
is out of the oven.
This release contains no major API breakage, but all around improvements and bug fixes.
Most notably, this release uses the new gonum/[email protected]
release that fixes a bunch of graphics bugs and performance improvements in plots drawing (PDF, PNG and SVG.)
We are now using a "vendored" version of github.com/apache/arrow/go
without all the flight
support, to cut down on the amount of dependencies this was dragging in.
groot/{rdict,rtree}:
handle groot types mirroring TObject inheritance treegroot/rtree:
reduce memory usage in tree-writegroot/{riofs,rtree}:
handle small/big file thresholds for long-running basketsgroot/rhist
: handle nil-title in YODA histogramscmd/yoda2root:
handle YODA files with a directory structuregroot/rhist:
implement YODA (un)marshaler for TGraph{,Asymm}{,Errors}groot/rhist:
correctly write out TGraph{,Asymm}{,Errors}hbook:
introduce Rand1D. Rand1D
represents a 1D distribution created from a hbook.H1D
histogram.hplot:
add Label plotter. This plotter allows user to put labels on a plot in "normalized" or "data" coordinates.xrootd:
fix race in fileThat's all for today.
Next cycle will probably see some work on the RNTuple
front.