Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
16 changes: 16 additions & 0 deletions .binder/postBuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/env bash

set -ex

# Install Pixi
curl -fsSL https://pixi.sh/install.sh | sh
echo 'eval "$(pixi completion --shell bash)"' >> ~/.bashrc
. ~/.bashrc
# Sourcing ~/.bashrc doesn't seem to pick up changes, so manually set PATH
export PATH="~/.pixi/bin:${PATH}"

# Export workspace to conda explicit spec
pixi workspace export conda-explicit-spec --platform linux-64 .binder/

# Install environment
mamba install --name notebook --file .binder/default_linux-64_conda_spec.txt
1 change: 1 addition & 0 deletions .binder/runtime.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
python-3.13
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# SCM syntax highlighting & preventing 3-way merges
pixi.lock merge=binary linguist-language=YAML linguist-generated=true -diff
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# pixi environments
.pixi/*
!.pixi/config.toml
12 changes: 11 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[![Github Codespace](https://img.shields.io/badge/open-GH_Codespaces-blue?logo=github)](https://codespaces.new/root-project/ROOTAdvancedCourse?quickstart=1)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/root-project/ROOTAdvancedCourse/main)

This is an extension of the [ROOT Student Course](https://github.com/root-project/student-course/tree/25.07) and the assumption is that you are familiar with the concepts explained in the student course before taking this advanced course. The goal is to make you at ease of conducting modern data analysis with tools and packages offered by the modern ROOT, including UHI, Roofit, RNTuples and RDataFrame.
This is an extension of the [ROOT Student Course](https://github.com/root-project/student-course/tree/25.07) and the assumption is that you are familiar with the concepts explained in the student course before taking this advanced course. The goal is to make you at ease of conducting modern data analysis with tools and packages offered by the modern ROOT, including UHI, Roofit, RNTuples and RDataFrame.

In the `course/notebooks/` folder you will find 5 topical lessons. There is also an example of an Open Data analysis where you can test your understanding of the various concepts covered in the course.

Expand All @@ -12,3 +12,13 @@ The in-person course based on the material in this repository was recorded on th
## Note on ROOT version to be used
Please note, in order to be able to run all cells of this course, we recommend using ROOT version 6.38 or higher. Such version is available if you set up the course using one of the badges above - SWAN is recommended if you have CERN computing account, otherwise you can use GitHub Code Spaces or Binder.

## Local use

To install an environment and get running

1. Install [Pixi](https://pixi.prefix.dev/)
1. Clone this repository and navigate to the top level directory.
1. Run
```
pixi run start
```
8,634 changes: 8,634 additions & 0 deletions pixi.lock

Large diffs are not rendered by default.

31 changes: 31 additions & 0 deletions pixi.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
[workspace]
channels = ["conda-forge"]
name = "ROOTAdvancedCourse"
platforms = ["linux-64", "osx-arm64"]
version = "0.1.0"

[tasks.notebooks]
description = "Launch Jupyter Lab"
cmd = "jupyter lab ./course/notebooks/"
default-environment = "jupyter"

[tasks.start]
depends-on = ["notebooks"]

[dependencies]
root_base = ">=6.38.4,<7"
pyspark = ">=4.1.1,<5"
dask = ">=2026.3.0,<2027"
distributed = ">=2026.3.0,<2027"
mplhep = ">=1.1.2,<2"
seaborn = ">=0.13.2,<0.14"
awkward = ">=2.9.0,<3"
# binder compatability
python = "3.13.*"

[feature.jupyter.dependencies]
notebook = ">=7.5.5,<8"
jupyterlab = ">=4.5.6,<5"

[environments]
jupyter = ["jupyter"]