hep

package module
v0.24.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 19, 2020 License: BSD-3-Clause Imports: 2 Imported by: 1

README

hep

GitHub release Build Status Build status codecov Go Report Card GoDoc License DOI JOSS Paper Binder Twitter Follow

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.

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.

Documentation

Overview

Package hep is a simple placeholder to root all go-hep documentation

Example (Version)
package main

import (
	"fmt"

	"go-hep.org/x/hep"
)

func main() {
	version, sum := hep.Version()
	fmt.Printf("Go-HEP version:  %q\n", version)
	fmt.Printf("       checksum: %q\n", sum)
}
Output:

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Version

func Version() (version, sum string)

Version returns the version of Go-HEP and its checksum. The returned values are only valid in binaries built with module support.

Types

This section is empty.

Directories

Path Synopsis
Package brio is a set of tools to handle binary (de)serialized data.
Package brio is a set of tools to handle binary (de)serialized data.
cmd/brio-gen
Command brio-gen generates (un)marshaler code for types.
Command brio-gen generates (un)marshaler code for types.
cmd
arrow2root
arrow2root converts the content of an ARROW file to a ROOT TTree.
arrow2root converts the content of an ARROW file to a ROOT TTree.
fits2root
fits2root converts the content of a FITS table to a ROOT file and tree.
fits2root converts the content of a FITS table to a ROOT file and tree.
lhef2hepmc
lhef2hepmc converts a LHEF input file into a HepMC file.
lhef2hepmc converts a LHEF input file into a HepMC file.
npy2root
Command npy2root converts the content of a NumPy data file to a ROOT file and tree.
Command npy2root converts the content of a NumPy data file to a ROOT file and tree.
podio-gen
Command podio-gen generates a complete EDM from a PODIO YAML file definition.
Command podio-gen generates a complete EDM from a PODIO YAML file definition.
rio2yoda
rio2yoda converts rio files containing hbook values (H1D, H2D, P1D, ...) into YODA files.
rio2yoda converts rio files containing hbook values (H1D, H2D, P1D, ...) into YODA files.
root2arrow
root2arrow converts the content of a ROOT TTree to an ARROW file.
root2arrow converts the content of a ROOT TTree to an ARROW file.
root2csv
root2csv converts the content of a ROOT TTree to a CSV file.
root2csv converts the content of a ROOT TTree to a CSV file.
root2fits
root2fits converts the content of a ROOT tree to a FITS (binary) table.
root2fits converts the content of a ROOT tree to a FITS (binary) table.
root2npy
root2npy converts the content of a ROOT TTree to a NumPy data file.
root2npy converts the content of a ROOT TTree to a NumPy data file.
root2yoda
root2yoda converts ROOT files containing hbook-like values (H1D, H2D, ...) into YODA files.
root2yoda converts ROOT files containing hbook-like values (H1D, H2D, ...) into YODA files.
yoda2rio
yoda2rio converts YODA files containing hbook-like values (H1D, H2D, P1D, ...) into rio files.
yoda2rio converts YODA files containing hbook-like values (H1D, H2D, P1D, ...) into rio files.
yoda2root
yoda2root converts YODA files containing hbook-like values (H1D, H2D, P1D, ...) into ROOT files.
yoda2root converts YODA files containing hbook-like values (H1D, H2D, P1D, ...) into ROOT files.
Package csvutil exposes functions and types to easily handle CSV files.
Package csvutil exposes functions and types to easily handle CSV files.
csvdriver
package csvdriver registers a database/sql/driver.Driver implementation for CSV files.
package csvdriver registers a database/sql/driver.Driver implementation for CSV files.
Package fads exposes building blocks for a fast simulation of a HEP detector.
Package fads exposes building blocks for a fast simulation of a HEP detector.
cmd/fads-app
fads-app is a command that runs a simple ATLAS-like detector simulation, modelled after the C++ Delphes ATLAS data-card.
fads-app is a command that runs a simple ATLAS-like detector simulation, modelled after the C++ Delphes ATLAS data-card.
cmd/fads-rivet-mc-generic
fads-rivet-mc-generic is a command mirroring the MC_GENERIC analysis example from Rivet.
fads-rivet-mc-generic is a command mirroring the MC_GENERIC analysis example from Rivet.
Package fastjet is a Go-based implementation of the C++ FastJet library.
Package fastjet is a Go-based implementation of the C++ FastJet library.
internal/delaunay
package delaunay contains functions to compute a Delaunay Triangulation
package delaunay contains functions to compute a Delaunay Triangulation
internal/heap
package heap implements a min-heap for pairs of jets.
package heap implements a min-heap for pairs of jets.
internal/plot
package plot contains functions to plot the Delaunay Triangulation and the Voronoi Diagram.
package plot contains functions to plot the Delaunay Triangulation and the Voronoi Diagram.
internal/predicates
package predicates handles the geometric predicates for a delaunay triangulation
package predicates handles the geometric predicates for a delaunay triangulation
Package fit provides functions to fit data.
Package fit provides functions to fit data.
Package fmom provides types and functions to operate with Lorentz 4-vectors.
Package fmom provides types and functions to operate with Lorentz 4-vectors.
fwk
Package fwk provides a set of tools to process High Energy Physics events data.
Package fwk provides a set of tools to process High Energy Physics events data.
fsm
job
rio
utils/builder
package builder builds a fwk-app binary from a list of go files.
package builder builds a fwk-app binary from a list of go files.
utils/parallel
The parallel package provides a way of running functions concurrently while limiting the maximum number running at once.
The parallel package provides a way of running functions concurrently while limiting the maximum number running at once.
utils/tarjan
package tarjan implements a graph loop detection algorithm called Tarjan's algorithm.
package tarjan implements a graph loop detection algorithm called Tarjan's algorithm.
geo
gdml
Package gdml parses and interprets GDML files.
Package gdml parses and interprets GDML files.
Package groot provides a pure-go read/write-access to ROOT files.
Package groot provides a pure-go read/write-access to ROOT files.
cmd/root-cp
root-cp selects and copies keys from a ROOT file to another ROOT file.
root-cp selects and copies keys from a ROOT file to another ROOT file.
cmd/root-diff
root-diff compares the content of 2 ROOT files, including the content of their Trees (for all entries), if any.
root-diff compares the content of 2 ROOT files, including the content of their Trees (for all entries), if any.
cmd/root-dump
root-dump dumps the content of a ROOT file, including the content of the Trees (for all entries), if any.
root-dump dumps the content of a ROOT file, including the content of the Trees (for all entries), if any.
cmd/root-gen-datareader
Command root-gen-datareader generates a Go struct to easily read the event data type stored inside a Tree.
Command root-gen-datareader generates a Go struct to easily read the event data type stored inside a Tree.
cmd/root-gen-streamer
Command root-gen-streamer generates a StreamerInfo for ROOT and user types.
Command root-gen-streamer generates a StreamerInfo for ROOT and user types.
cmd/root-gen-type
Command root-gen-type generates a Go type from the StreamerInfo contained in a ROOT file.
Command root-gen-type generates a Go type from the StreamerInfo contained in a ROOT file.
cmd/root-ls
root-ls lists the content of a ROOT file.
root-ls lists the content of a ROOT file.
cmd/root-merge
root-merge merges ROOT files' content into a merged ROOT file.
root-merge merges ROOT files' content into a merged ROOT file.
cmd/root-print
root-print prints ROOT files contents to PDF, PNG, ...
root-print prints ROOT files contents to PDF, PNG, ...
cmd/root-srv
root-srv runs a web server that can inspect and browse ROOT files.
root-srv runs a web server that can inspect and browse ROOT files.
internal/rcompress
rcompress provides types and functions to compress and decompress ROOT data payloads.
rcompress provides types and functions to compress and decompress ROOT data payloads.
rarrow
Package rarrow handles conversion between ROOT and ARROW data models.
Package rarrow handles conversion between ROOT and ARROW data models.
rbase
Package rbase contains the definitions of ROOT base classes.
Package rbase contains the definitions of ROOT base classes.
rbytes
Package rbytes contains the definitions of types useful for serializing and deserializing ROOT data buffers.
Package rbytes contains the definitions of types useful for serializing and deserializing ROOT data buffers.
rcmd
Package rcmd provides helper functions containing the logic of various root-xyz commands.
Package rcmd provides helper functions containing the logic of various root-xyz commands.
rcont
Package rcont contains the definitions of ROOT container types, such as TList, THashList and TObjArray.
Package rcont contains the definitions of ROOT container types, such as TList, THashList and TObjArray.
rdict
Package rdict contains the definition of ROOT streamers and facilities to generate new streamers meta data from user types.
Package rdict contains the definition of ROOT streamers and facilities to generate new streamers meta data from user types.
rhist
Package rhist contains the interfaces and definitions of ROOT types related to histograms and graphs.
Package rhist contains the interfaces and definitions of ROOT types related to histograms and graphs.
riofs
Package riofs contains the types and low-level functions to deal with opening and creating ROOT files, and decoding the internal structure of ROOT files.
Package riofs contains the types and low-level functions to deal with opening and creating ROOT files, and decoding the internal structure of ROOT files.
riofs/plugin/http
Package http is a plugin for riofs.Open to support opening ROOT files over http(s).
Package http is a plugin for riofs.Open to support opening ROOT files over http(s).
riofs/plugin/xrootd
Package xrootd is a plugin for riofs.Open to support opening ROOT files over xrootd.
Package xrootd is a plugin for riofs.Open to support opening ROOT files over xrootd.
rmeta
Package rmeta provides tools to interoperate with ROOT Meta.
Package rmeta provides tools to interoperate with ROOT Meta.
root
Package root defines ROOT core interfaces.
Package root defines ROOT core interfaces.
rphys
Package rphys contains definitions for physics-related ROOT classes.
Package rphys contains definitions for physics-related ROOT classes.
rsql
Package rsql provides a convenient access to ROOT files/trees as a database.
Package rsql provides a convenient access to ROOT files/trees as a database.
rsql/rsqldrv
Package rsqldrv registers a database/sql/driver.Driver implementation for ROOT files.
Package rsqldrv registers a database/sql/driver.Driver implementation for ROOT files.
rsrv
Package rsrv exposes HTTP end-points to manipulate ROOT files.
Package rsrv exposes HTTP end-points to manipulate ROOT files.
rtree
Package rtree contains the interfaces and types to decode, read, concatenate and iterate over ROOT Trees.
Package rtree contains the interfaces and types to decode, read, concatenate and iterate over ROOT Trees.
rtypes
Package rtypes contains the means to register types (ROOT ones and user defined ones) with the ROOT type factory.
Package rtypes contains the means to register types (ROOT ones and user defined ones) with the ROOT type factory.
rvers
Package rvers contains the ROOT version and the classes' versions groot is supporting and currently reading.
Package rvers contains the ROOT version and the classes' versions groot is supporting and currently reading.
ztypes
Package ztypes holds all the types registered with the rtypes factory.
Package ztypes holds all the types registered with the rtypes factory.
Package hbook is a set of data analysis tools for HEP (histograms (1D, 2D, 3D), profiles and ntuples).
Package hbook is a set of data analysis tools for HEP (histograms (1D, 2D, 3D), profiles and ntuples).
ntup
Package ntup provides a way to create, open and iterate over n-tuple data.
Package ntup provides a way to create, open and iterate over n-tuple data.
ntup/ntcsv
Package ntcsv provides a convenient access to CSV files as n-tuple data.
Package ntcsv provides a convenient access to CSV files as n-tuple data.
rootcnv
Package rootcnv provides tools to convert ROOT histograms and graphs to go-hep/hbook ones.
Package rootcnv provides tools to convert ROOT histograms and graphs to go-hep/hbook ones.
yodacnv
Package yodacnv provides tools to read/write YODA archive files.
Package yodacnv provides tools to read/write YODA archive files.
Package hepevt provides access to the HEPEVT event format record from FORTRAN-77.
Package hepevt provides access to the HEPEVT event format record from FORTRAN-77.
Package hepmc is a pure Go implementation of the C++ HepMC-2 library.
Package hepmc is a pure Go implementation of the C++ HepMC-2 library.
go-hepmc-dump
go-hepmc-dump is a simple command to dump in an almost human-friendly format the content of a hepmc file.
go-hepmc-dump is a simple command to dump in an almost human-friendly format the content of a hepmc file.
Package heppdt provides access to the HEP Particle Data Table.
Package heppdt provides access to the HEP Particle Data Table.
Package hplot is a package to plot histograms, n-tuples and functions
Package hplot is a package to plot histograms, n-tuples and functions
cmd/hplot
hplot is a simple gnuplot-like command to create plots
hplot is a simple gnuplot-like command to create plots
Package lcio provides read/write access to the LCIO data model.
Package lcio provides read/write access to the LCIO data model.
cmd/lcio-ls
lcio-ls displays the content of a LCIO file.
lcio-ls displays the content of a LCIO file.
example/lcio-ex-read-event
lcio-ex-read-event is the hep/x/lcio example equivalent to: https://github.com/iLCSoft/LCIO/blob/master/examples/cpp/rootDict/readEventTree.C example: $> lcio-ex-read-event ./DST01-06_ppr004_bbcsdu.slcio lcio-ex-read-event: read 50 events from file "./DST01-06_ppr004_bbcsdu.slcio" $> open out.png
lcio-ex-read-event is the hep/x/lcio example equivalent to: https://github.com/iLCSoft/LCIO/blob/master/examples/cpp/rootDict/readEventTree.C example: $> lcio-ex-read-event ./DST01-06_ppr004_bbcsdu.slcio lcio-ex-read-event: read 50 events from file "./DST01-06_ppr004_bbcsdu.slcio" $> open out.png
Package lhef implements the "Les Houches Event File" data format.
Package lhef implements the "Les Houches Event File" data format.
pawgo is a simple interactive shell to quickly plot hbook histograms from rio files.
pawgo is a simple interactive shell to quickly plot hbook histograms from rio files.
rio
Package rio is a record-oriented persistency mechanism.
Package rio is a record-oriented persistency mechanism.
cmd/rio-ls-records
rio-ls-records displays the list of records stored in a given rio file.
rio-ls-records displays the list of records stored in a given rio file.
sio
Package sio implements a record-oriented persistency mechanism.
Package sio implements a record-oriented persistency mechanism.
Package slha implements encoding and decoding of SUSY Les Houches Accords (SLHA) data format.
Package slha implements encoding and decoding of SUSY Les Houches Accords (SLHA) data format.
Package xrootd implements the XRootD protocol from http://xrootd.org Package xrootd provides a Client and a Server.
Package xrootd implements the XRootD protocol from http://xrootd.org Package xrootd provides a Client and a Server.
cmd/xrd-client
Command xrd-client provides access to data hosted on XRootD clusters.
Command xrd-client provides access to data hosted on XRootD clusters.
cmd/xrd-cp
Command xrd-cp copies files and directories from a remote xrootd server to local storage.
Command xrd-cp copies files and directories from a remote xrootd server to local storage.
cmd/xrd-ls
Command xrd-ls lists directory contents on a remote xrootd server.
Command xrd-ls lists directory contents on a remote xrootd server.
cmd/xrd-srv
Command xrd-srv serves data from a local filesystem over the XRootD protocol.
Command xrd-srv serves data from a local filesystem over the XRootD protocol.
internal/mux
Package mux implements the multiplexer that manages access to and writes data to the channels by corresponding StreamID from xrootd protocol specification.
Package mux implements the multiplexer that manages access to and writes data to the channels by corresponding StreamID from xrootd protocol specification.
xrdfs
Package xrdfs contains structures representing the XRootD-based filesystem.
Package xrdfs contains structures representing the XRootD-based filesystem.
xrdio
Package xrdio provides a File type that implements various interfaces from the io package.
Package xrdio provides a File type that implements various interfaces from the io package.
xrdproto
Package protocol contains the XRootD protocol specific types and methods to handle them, such as marshalling and unmarshalling requests.
Package protocol contains the XRootD protocol specific types and methods to handle them, such as marshalling and unmarshalling requests.
xrdproto/admin
Package admin contains the types related to the admin request.
Package admin contains the types related to the admin request.
xrdproto/auth
Package auth contains the structures describing auth request.
Package auth contains the structures describing auth request.
xrdproto/auth/host
Package host contains the implementation for the "host" security provider.
Package host contains the implementation for the "host" security provider.
xrdproto/auth/krb5
Package krb5 contains the implementation of krb5 (Kerberos) security provider.
Package krb5 contains the implementation of krb5 (Kerberos) security provider.
xrdproto/auth/unix
Package unix contains the implementation of unix security provider.
Package unix contains the implementation of unix security provider.
xrdproto/bind
Package bind contains the structures describing bind request and response.
Package bind contains the structures describing bind request and response.
xrdproto/chmod
Package chmod contains the structures describing chmod request.
Package chmod contains the structures describing chmod request.
xrdproto/decrypt
Package decrypt contains the types related to the decrypt request.
Package decrypt contains the types related to the decrypt request.
xrdproto/dirlist
Package dirlist contains the structures describing request and response for dirlist request used to obtain the contents of a directory.
Package dirlist contains the structures describing request and response for dirlist request used to obtain the contents of a directory.
xrdproto/endsess
Package endsess contains the types related to the endsess request.
Package endsess contains the types related to the endsess request.
xrdproto/handshake
Package handshake contains the structures describing request and response for handshake request (see XRootD specification).
Package handshake contains the structures describing request and response for handshake request (see XRootD specification).
xrdproto/locate
Package locate contains the types related to the locate request.
Package locate contains the types related to the locate request.
xrdproto/login
Package login contains the structures describing request and response for login request.
Package login contains the structures describing request and response for login request.
xrdproto/mkdir
Package mkdir contains the structures describing mkdir request.
Package mkdir contains the structures describing mkdir request.
xrdproto/mv
Package mv contains the structures describing mv request.
Package mv contains the structures describing mv request.
xrdproto/open
Package open contains the structures describing request and response for open request.
Package open contains the structures describing request and response for open request.
xrdproto/ping
Package ping contains the structures describing ping request.
Package ping contains the structures describing ping request.
xrdproto/prepare
Package prepare contains the types related to the prepare request.
Package prepare contains the types related to the prepare request.
xrdproto/protocol
Package protocol contains the structures describing request and response for protocol request (see XRootD specification).
Package protocol contains the structures describing request and response for protocol request (see XRootD specification).
xrdproto/query
Package query contains the types related to the query request.
Package query contains the types related to the query request.
xrdproto/read
Package read contains the structures describing request and response for read request.
Package read contains the structures describing request and response for read request.
xrdproto/rm
Package rm contains the structures describing rm request.
Package rm contains the structures describing rm request.
xrdproto/rmdir
Package rmdir contains the structures describing rmdir request.
Package rmdir contains the structures describing rmdir request.
xrdproto/signing
Package signing contains implementation of a way to check if request should be signed according to XRootD protocol specification v.
Package signing contains implementation of a way to check if request should be signed according to XRootD protocol specification v.
xrdproto/sigver
Package sigver contains the structures describing sigver request.
Package sigver contains the structures describing sigver request.
xrdproto/stat
Package stat contains the structures describing request and response for stat request.
Package stat contains the structures describing request and response for stat request.
xrdproto/statx
Package statx contains the structures describing request and response for statx request.
Package statx contains the structures describing request and response for statx request.
xrdproto/sync
Package sync contains the structures describing sync request.
Package sync contains the structures describing sync request.
xrdproto/truncate
Package truncate contains the structures describing truncate request.
Package truncate contains the structures describing truncate request.
xrdproto/verifyw
Package verifyw contains the structures describing verifyw request.
Package verifyw contains the structures describing verifyw request.
xrdproto/write
Package write contains the structures describing write request.
Package write contains the structures describing write request.
xrdproto/xrdclose
Package xrdclose contains the structures describing request and response for close request.
Package xrdclose contains the structures describing request and response for close request.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL