ROOT in Jupyter Notebooks

Eine attraktive Alternative zur Nutzung von ROOT für interaktive Analyse sind jupyter notebooks:

Wird viel verwendet bei Python/Julia/R-basierten Daten-Analysen/Machine-Learning Projekten. Prominentes Beispiel ist die Ligo gravitational wave analysis (2017 Nobel prize): Detailiertes Demo Notebook der Datenanalyse

Beispiele zu ROOT Notebooks finden sich auf https://swan.web.cern.ch/content/basic-examples

Start:

module load root/6.20.04

Mit
root --notebook --browser=firefox
kann man allgemeine Jupyter Notebook Umgebung starten in der man sowohl C++ ROOT Notebooks als auch die üblichen Python Notebooks starten kann.

C++ ROOT Notebooks sind etwas speziell in der Handhabung – bedingt durch die statische Typ Zuordnung von Variablen in C++ gibt es manchmal Probleme bei der wiederholten Ausführung von Notebook Zellen, was die interaktive Bedienung ziemlich mühsam macht.

Wir beschränken uns deshalb auf Python Notebooks, diese kann man sowohl mit root --notebook starten als auch direkt als jupyter notebook.

Bei Root/PyRoot im Notebook gibt es noch zwei Besonderheiten für die Anzeige von Histogramm/Plot im Notebook:

Siehe Beispiel Notebook PyROOTNB.ipynb

Image PyRootNBTest