Summary and Schedule
These pre-exercises are designed to prepare you for working with ROOT files and the broader ROOT analysis library in two separate contexts: editing and running much of the pre-existing code used to access some of the older open data files and then working with more recent, user-friendly python libraries to interface with the output files that you will be creating.
In the first case, you will be editing and/or writing files using C++ and ROOT, and perhaps examining those files with a python interface to ROOT. In the second case, you’ll use some python libraries (uproot and awkward arrays) to read some ROOT files, but then analyze the data with non-ROOT-specific libraries.
This is not a full introduction to C++ or ROOT or uproot/awkward, however, we do take time to explain some key concepts that will help you feel more comfortably working with the open data codebase.
If you run into problems with any of these steps, please reach out to the organizers through the dedicated Mattermost channel.
Setup Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. Introduction |
What is C++? What is ROOT? What is the point of these exercises? |
Duration: 00h 05m | 2. Lightning overview of C++ | How do I write and execute C++ code? |
Duration: 00h 20m | 3. Using ROOT with C++ to write and read a file |
Why do I need to use ROOT? How do I use ROOT with C++? |
Duration: 00h 55m | 4. Using ROOT with C++ to fill a histogram |
Is there more than reading and writing files that can be done with
ROOT? How do I run a ROOT script? |
Duration: 01h 25m | 5. Using ROOT with python | Can I call ROOT from python? |
Duration: 01h 30m | 6. Using uproot to open ROOT files |
How do I open a ROOT file with uproot? How do I explore what is in the file? |
Duration: 01h 50m | 7. Using awkward arrays to analyze HEP data |
What are awkward arrays? How do I work with awkward arrays? |
Duration: 02h 10m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
This lesson requires a computer with an internet connection and a
bash shell (either native Linux, MacOs or Windows WSL2 Linux). You
should have Docker installed and the Docker
pre-exercises finished so that you can access the containers
my_root
and my_python
created as instructed
there.