Skip to content

DUNE computing training

Self-paced tutorials for new collaborators: from your first login to the DUNE machines, through running LArSoft, to submitting jobs and analysing data. DUNE Software and Computing maintains the core lessons, and the HEP Software Foundation (HSF) lessons fill in the general skills.

New to the shell, git or Python? Do these first:

Start here

Work through these three DUNE lessons in order. Each one builds on the last.

1

Computing Basics

Log in to the DUNE machines and find your way around: storage spaces, CVMFS, finding data with MetaCat and Rucio, and setting up software with UPS and Spack.

DUNEBeginnerSource

2

LArSoft Basics

Run art and LArSoft jobs, build code with mrb, and modify an existing LArSoft module.

DUNEBeginnerSource

3

Batch Computing

Submit and monitor jobs with justIN and on the grid, and debug the ones that fail.

DUNEIntermediateSource

Find a tutorial

31 more tutorials and references, from DUNE and from the wider HEP community. Use the filters to narrow them down.

DUNE tools and reference

Documentation for the DUNE services you will meet once you start running jobs and handling data.

Hardware Database (HWDB)

Record detector components through the web UI, the REST API, the iPad app and the Python upload tool.

DUNEBeginnerIn developmentSource

justIN documentation

Reference and cookbook for justIN, DUNE's workflow system for running jobs at scale.

DUNEIntermediateSource

Computing FAQ

Answers on FHiCL, git and MetaCat, plus the monthly DUNE computing newsletters.

DUNEBeginnerSource

abcDUNE glossary

Look up the acronyms and jargon you will hear in DUNE meetings.

DUNEPrerequisiteSource

DUNE Spack Project

Build and develop DUNE software with Spack and MPD, the replacement for UPS and mrb.

DUNEIntermediateSource

DUNE Phlex Project

Workflow reference and conventions for moving DUNE code from art to the Phlex framework.

DUNEAdvancedSource

Physics and analysis

Tutorials and example code for simulating DUNE detectors and analysing their output.

ND simulation tutorial

Simulate events in the ND-LAr near detector, then analyse the HDF5 output in a Jupyter notebook. Runs on the DUNE machines or in Binder.

DUNEIntermediate

DUNE plot style

The official DUNE style for matplotlib and ROOT plots, with examples of 1D, 2D, stacked and data/MC plots.

DUNEBeginner

LArSoft examples

Example LArSoft modules and gallery ROOT scripts to copy and adapt after LArSoft Basics.

DUNEIntermediate

ndlar_flow

Reconstruction for the near detector and its 2x2 prototype, written as h5flow modules. Includes an analysis guide.

DUNEAdvancedSource

h5flow

The Python framework behind ndlar_flow for parallel processing of HDF5 files.

DUNEAdvancedSource

WAFFLES

Analyse photon detector waveforms from ProtoDUNE with this Python framework and its examples.

DUNEIntermediateSource

MaCh3 DUNE

DUNE's implementation of the MaCh3 Bayesian oscillation fitter, with Docker images to get started.

DUNEAdvancedSource

duneanaobj

The StandardRecord that defines what is in a DUNE CAF file.

DUNEAdvanced

Software skills from HSF

HEP Software Foundation lessons on the tools that DUNE software is built and shipped with.

Advanced git

Practise branching, rebasing and merging in an interactive game.

HSFBeginner

Docker

Build and run your own container images.

HSFIntermediateSource

CMake

Write and understand the CMake build files used across DUNE packages.

HSFIntermediateSource

CI/CD on GitHub

Test and build your code automatically with GitHub Actions.

HSFIntermediateSource

HEP C++ course

Modern C++ from the basics to expert topics, with exercises.

HSFIntermediate

Analysis skills from HSF

General HEP analysis lessons that apply directly to DUNE data.

Matplotlib for HEP

Make publication-quality physics plots. Pairs with the DUNE plot style.

HSFBeginnerBetaSource

ROOT

The ROOT team's introductory course for students.

HSFBeginner

Scikit-HEP

Read ROOT files and analyse them in Python with uproot, awkward and hist.

HSFIntermediateSource

Getting help

Slack. Ask in #computing_training_basics on the DUNE Slack. The training team and other learners answer there.

Found a problem in a lesson? Open an issue on that lesson's repository, linked from its card, or just open an issue on this site's repository.

Inspired by the HSF Training Center. Want your tutorial listed? See Add a tutorial.