The last four exercises that make up Advanced Exercises and Expert Exercises are difficult. I chose those tasks because they represent the typical kind of work that I find myself doing whenever I use ROOT: pulling together documentation from different places, translating the examples into the work I’m actually doing… and pounding my head against the desk whenever there are no comments, or I get yet another segmentation fault.1

If you’d like to see how I solved those exercises, you’ll find my code in PlotGraphs.C (for exercises 12-14) and MakeNtuple.C (for exercise 15).2

Good luck!3

xkcd computer problems

Figure 51: http://xkcd.com/722 by Randall Munroe


Now you know the reason for my going bald!


Maybe you’re thinking, “Wow! It’s lucky I went to the end before I started doing any of this stuff!” Take my word for it: reading my solutions is not a substitute for working through the problem yourself.

For example, I wrote those solution in the mid-2000s. Since then there have been improvements in ROOT, C++, and Python. You can do better than I did!


Total lifetimes used up: up to ten, depending on if you chose to learn both ROOT/C++ and pyroot, which tangents you took, how much LaTeX you learn, if you read the section on statistics, and whether you choose a career in physics. I generously give any remaining lives back to you.