In the realm of High Energy Physics, the preferred framework for handling extensive data analysis tasks has long been CERN’s ROOT frameworkhttps://root.cern/. ROOT stands as a substantial C++ library, boasting a history predating even that of the STL in certain domains. Additionally, it includes a Just-In-Time (JIT) C++ interpreter named Cling, widely regarded as one of the finest in its field. Notably, the Xeus C++ Kernel for Jupyter is constructed upon the foundation of Cling. ROOT offers a comprehensive suite of features tailored to the needs of HEP physicists: mathematical functionalities, plotting capabilities, support for histograms, tuple, and tree structures, a robust file format for input/output operations, provisions for machine learning tasks, Python bindings, and more. Furthermore, it facilitates tasks such as dictionary generation and arbitrary class serialization, paralleling similar functionalities found in other extensive frameworks like Qt.
Installing ROOT on an HPC (High-Performance Computing) facility can be a bit different from installing it on a regular computer. Instead of building from source, which can be complex and time-consuming due to ROOT's size. I opted to create a Python virtual environment in my home directory and then used conda to install ROOT. For any Linux distribution and MacOS, ROOT is available as a conda package. To create a new conda environment containing ROOT and activate it, execute:
$ module purge $ module add chpc/BIOMODULES $ module add python/0.3.11.4 $ mkdir dev; cd dev $ virtualenv root_env; cd root_env $ source root_env/bin/activate
Setting channel_priority to strict
is required to avoid conflicts on some platforms
$ conda config --set channel_priority strict $ conda install root -c conda-forge $ deactivate
I encourage you to try these steps and let me know if you encounter any issues or have any questions. For the details of the code and instructions for installation please see website