go-hep / hep

hep is the mono repository holding all of go-hep.org/x/hep packages and tools
https://go-hep.org
BSD 3-Clause "New" or "Revised" License
231 stars 37 forks source link
cern cern-analysis go go-hep godoc golang hep hepmc lhc physics-analyses plot plotting root-cern statistics xrootd

hep

GitHub release go.dev reference CI codecov Go Report Card License DOI JOSS Paper Binder TODOs

hep is a set of libraries and tools to perform High Energy Physics analyses with ease and Go

See go-hep.org for more informations.

Forum

Drop an email at ~sbinet/go-hep@lists.sr.ht or visit the web interface lists.sr.ht/~sbinet/go-hep to discuss about Go-HEP or ask for help.

License

hep is released under the BSD-3 license.

Documentation

Documentation for hep is served by GoDoc.

Contributing

Guidelines for contributing to go-hep are available here: go-hep.org/contributing

Contributors

This project exists thanks to all the people who contribute.

Motivations

Writing analyses in HEP involves many steps and one needs a few tools to successfully carry out such an endeavour. But - at minima - one needs to be able to read (and possibly write) ROOT files to be able to interoperate with the rest of the HEP community or to insert one's work into an already existing analysis pipeline.

Go-HEP provides this necessary interoperability layer, in the Go programming language. This allows physicists to leverage the great concurrency primitives of Go, together with the surrounding tooling and software engineering ecosystem of Go, to implement physics analyses.

Content

Go-HEP currently sports the following packages:

Installation

Go-HEP packages are installable via the go get command:

$ go get go-hep.org/x/hep/fads

Just select the package you are interested in and go get will take care of fetching, building and installing it, as well as its dependencies, recursively.