As opposed to the version 5 of CERN ROOT, version 6 introduced a much easier build from source procedure. The libraries that ROOT does depend on, such as FFTW are integrated into the source code. User does not have to manually download and build them. Instead, ROOT can take care of that itself.

Before we start building, please refer to the official ROOT website and install the build prerequisities.

Ubuntu prerequisities seem to be up-to-date. Unfortunately the prerequisities for the recent Fedora linux versions are missing. …


GUI ROOT application running on Windows 10 in WSL

It’s been a while since Microsoft introduced a Windows Subsystem for Linux (WSL) feature for Windows 10. It provides a compatibility environment that allows Linux tools and programs to run inside of Windows. Once you install it you get access to a terminal window, where you can run bash scripts, compilers and any linux applications.

Why WSL is a good option for ROOT-based applications?

In Bowling Green State University I developed a number of CERN ROOT based C++ applications that were compiled and linked with GNU Makefiles.

MacOS and Linux operation systems both evolved from the UNIX family. They have different compilers installed by default, namely clang on macOS…


To begin with I’ll tell you I’m not a big fan of keyboard remapping. Before you start think twice if you really want to do so. Sometimes it is easier to get along with the default keyboard layout provided by the system. Otherwise this thing can go pretty far down the road :-)

The struggle becomes real if you are taking advantage of a number of computers around with different systems installed on a daily basis. Or maybe you have a virtual guest machine with another system. …


The use of Integrated Development Environment (IDE) is a must-have item on your agenda. Most important tools that IDEs provides to developers are Code completion and graphical debugging possibilities.

Speaking of C++ development — there are three main cross-platform IDEs on the market. Code::Blocks, Eclipse and NetBeans. Everybody has his own preferences with respect to selecting the right IDE. Generally speaking they all offer same functionality with minor discrepancies. In this article I will demonstrate how to set up a CERN ROOT project with custom GNU Makefile in the most popular IDE, namely Eclipse.

There is some specificity in compilation…


Having issues with installing ROOT on your system? Check out my previous article which describes how to install ROOT from a binary distribution. To enable debugging functionality and be able to access the source refer to Compile CERN ROOT 6 from source.

It often happens that you start with a simple program ROOT tailored to perform a specific calculation or fit or whatever. It is usually a simple ROOT macro that one runs with ROOT’s interpreter.

Later on after adding more and more features the code starts stacking up and a single-file macro becomes quite messy. It is necessary to…


CERN ROOT is a powerful framework, a C++ library for processing and manipulating data.

The library setup and use might seem a little overwhelming for a beginner level computer user because:

  • In order to set up the library user has to be familiar with basic command-line tools.
  • To compile a standalone executable from a number of sources one has to know the syntax of the makefiles.
  • There is some specificity towards building standalone ROOT applications with Roofit or GUI.
  • Setting up an IDE can be tricky.

I’ve been using the ROOT libraries during my graduate school and I’m willing to…

Petr Stepanov

Gamma-spectroscopy. Positron annihilation spectroscopy. M.S. in solid-state physics. PhD in photochemical sciences. Desktop, frontend and iOS developer.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store