This snap is intended to provide an easy-to-install package of the ROOT framework for home users and students. This package is ideal for users who are looking for an easy installation process that is consistent across systems without the need for integration with other frameworks, IDE's, or external packages. For these use-cases, you may want to take a look at other available builds of ROOT at https://root.cern/install/
ROOT is built using the C++17 standard, and it comes bundled along with Python 3.8/PyROOT and Jupyter Notebook / JupyROOT. NumPy, SciPy, Pandas, Matplotlib, Scikit-Learn and Tensorflow/Keras are included with the Python environments.
Snaps are container packages for easy application deployment, designed to be consistent and reliable across different host distributions. They additionally impose some strong sandboxing for security. One caveat of this sandboxing is that this package can only read/write to your $HOME directory, or via specific network protocols. It is highly advised that you place all your data files in your $HOME directory to be accessible.
Because snaps are containers and don't affect the host system, using PyROOT with import ROOT will not work in a system Python shell. Users are encouraged to use the command pyroot to access the containers' Python shell, where import ROOT would become available. Scripts can be passed to pyroot to be executed in PyROOTs context, E.G, pyroot -i $(root-config --tutdir)/pyroot/fillrandom.py, or put in the scripts shebang. E.G #!/snap/bin/pyroot
JupyROOT can be accessed by running root --notebook.
For user convenience, application entries for ROOT and PyROOT will be placed into the systems start menu by default.
The packages for RHEL 8 and RHEL 7 are in each distribution’s respective Extra Packages for Enterprise Linux (EPEL) repository. The instructions for adding this repository diverge slightly between RHEL 8 and RHEL 7, which is why they’re listed separately below.
The EPEL repository can be added to RHEL 8 with the following command: