# Diagonalizing a 2x2 decision matrix It's probably occurred to you that I've left you with four choices: :::{table} :align: center | 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 {ref}`cpath`, and Python with ROOT in a Jupyter notebook in {ref}`pythonpath`. For {ref}`rdataframe`, 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 {ref}`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 {ref}`cpath` and {ref}`pythonpath` present the same commands, exercises, and footnotes.[^f69] You might even be able to do both of these parts; once you've learned C++, Python is pretty easy. Tack on {ref}`rdataframe` for total ROOT mastery![^nope] [^nope]: 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. :::{figure-md} matrix_transform-fig :class: align-center xkcd matrix_transform by Randall Munroe ::: [^f69]: The xkcd cartoons in the two parts are different, to give you an incentive to skim both.