ROOT with C++ and python: Glossary

Key Points

Introduction
  • C++ has a reputation for being intimidating, but there are only a few things you need to learn to edit the open data code for your own uses.

  • You can use the ROOT toolkit using both C++ and python.

  • Some ROOT code is written in C++ to access the datafiles.

  • People will often use simpler C++ scripts or python scripts to analyze reduced datasets.

Lightning overview of C++
  • We must compile our C++ code before we can execute it.

Using ROOT with C++ to write and read a file
  • ROOT defines the file format in which all of the CMS Open Data is stored.

  • These files can be accessed quickly using C++ code and the relevant information can be dumped out into other formats.

Using ROOT with C++ to fill a histogram
  • You can quickly inspect your data using just ROOT

  • A simple ROOT script is often all you need for diagnostic work

Using ROOT with python
  • PyROOT is a complete interface to the ROOT libraries

Installing python and the analysis tools locally
  • It takes a finite amount of work to be able to read and and analyze ROOT files on your laptop.

  • You can do this without ever using the official ROOT libraries.

Using uproot to open ROOT files
  • You can use uproot to interface with ROOT files which is often easier than installing the full ROOT ecosystem.

Using awkward arrays to analyze HEP data
  • Awkward arrays can help speed up your code, but it requires a different way of thinking and more awareness of what functions are coded up in the awkward library.

Glossary

FIXME