Diagonalizing a 2x2 decision matrix

It’s probably occurred to you that I’ve left you with four choices:

Command-line

Notebook

ROOT C++

ROOT C++

Python with ROOT

Python with ROOT

This tutorial is already too long, and I’ve taken longer than I should have to offer you too many options. For simplicity, I’ve chosen to present ROOT C++ on the command line in The C++ Path, and Python with ROOT in a Jupyter notebook in The Python Path. For The RDataframe Path, these choices don’t matter much.

If you choose to pursue one of the “off-diagonal” choices, you won’t have much trouble no matter which path you choose. You were previously introduced to ROOT C++ in a notebook. To run Python with ROOT on the command line (including magic commands), the following will set you up on a Nevis particle-physics system:

> module load root
> ipython

The C++ Path and The Python Path present the same commands, exercises, and footnotes.1 You might even be able to do both of these parts; once you’ve learned C++, Python is pretty easy. Tack on The RDataframe Path for total ROOT mastery!2

xkcd matrix_transform

Figure 28: https://xkcd.com/184/ by Randall Munroe


1

The xkcd cartoons in the two parts are different, to give you an incentive to skim both.

2

Uh, no. Remember, it takes a lifetime to learn ROOT. While it may take more than two days to go through all three instructional paths in this tutorial, it won’t take your entire lifetime.