This lesson is being piloted (Beta version)
This tutorial aims to demonstrate how to quickly get started with
Scikit-HEP, a collection of packages for particle physics analysis in Python.
The tutorial was written by
Jim Pivarski and was first taught during a Software Carpentry Workshop on December 15, 2021.
The HSF Training Curriculum
This training module is part of the
series of training modules that serves HEP newcomers the
software skills needed as they enter the field,
and in parallel, instill best practices for writing software.
Setup Questions addressed in this lesson
Introduction: Python background
How much Python do we need to know?
What is “array-oriented” or “columnar” processing?
What is a “software ecosystem”?
Basic file I/O with Uproot
How can I find my data in a ROOT file?
How can I plot it?
How can I write new data to a ROOT file?
What are TBranches and TBaskets?
How can I read multiple TBranches at once?
How can I get ROOT data into NumPy or Pandas?
Jagged, ragged, Awkward Arrays
How do I cut particles, rather than events?
How do I compute quantities on combinations of particles?
Histogram manipulations and fitting
How do I fill histograms?
How do I project/slice/rebin pre-filled histograms?
How do I fit histograms?
Lorentz vectors, particle PDG, jet-clustering, oh my!
How do I compute deltaR, mass, coordinate transformations, etc.?
How do I get masses, decay widths, and other particle properties?
What about jet-clustering and other specialized algorithms?
Tools for scaling up
How do I turn working code fragments into batch jobs?
Where can I look for more help?
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.