Particle
Identification
Playground
Identify particles in real particle physics data.
help_outline How To Use This Website
This website presents a series of activities that walk through the particle identification (PID) process, which aims to determine what particles interacted with the various detectors in particle physics experiments. These activities are designed for high school and early undergraduate students, and the only required knowledge is python, though high school level physics may be helpful as well.
- These activities are intended to be run in Google Colaboratory. It is not recommended to download the notebooks, since other platforms may not correctly display the formatting of the notebook.
- Make a copy of the notebooks upon opening them to ensure your work is saved in your personal drive. If you do not make a copy, you will still be able to modify the notebook and run the code, but none of your work will be saved if you close out of the tab.
These activities introduce you to foundational concepts and skills for particle identification. These activities should be completed in order.
1. Introduction to Vectors
By the end of this notebook, you should be able to:
- Explain the difference between scalar properties and vector properties
- Calculate the magnitude of a vector based on its components
- Calculate the sum of vectors
- Rescale vectors
2. Introduction to Special Relativity
By the end of this notebook, you should be able to:
- Recognize the formulas for relativistic energy and momentum
- Recognize units of energy, momentum, mass, and velocity that are commonly used in particle physics
- Explain how the units used in particle physics help simplify calculations of relativistic properties
3. Introduction to Pandas
By the end of this notebook, you should be able to:
- Add new columns to existing DataFrames
- Iterate over the rows of a DataFrame
- Select rows from a DataFrame based on column values
4. Introduction to the Standard Model
By the end of this notebook, you should be able to:
- List the four fundamental forces
- Classify particles as hadrons, leptons, mesons, baryons, and/or antibaryons
5. Introduction to ROOT
By the end of this notebook, you should be able to:
- Describe the goals of particle identification
- Create, fill, and draw 1D histograms in ROOT
- Associate mathematical and visual depictions of error and statistical fluctuations in 1D histograms
6. 2D Histograms in ROOT
By the end of this notebook, you should be able to:
- Interpret 2D histograms
- Create, fill, and draw 2D histograms in ROOT
- Associate mathematical and visual depictions of error and statistical fluctuations in 2D histograms
These activities may be completed in any order. Feel free to pick the activities corresponding to detectors in your experiment. For multi-part notebooks, be sure to complete part a before part b.
7a. Drift Chambers and Tracks
By the end of this notebook, you should be able to:
- Describe the role of drift chambers in a particle detector
- Define tracks and hits
- Identify which particles leave tracks
- Use individual hits to determine the position of a track
- Find the momentum and charge of a particle based on the curvature of a track
7b. Ionization Energy Loss
By the end of this notebook, you should be able to:
- Name the effects that cause different particles to lose different amounts of energy in drift chambers
- Demonstrate the separation power of dE/dx analysis using ROOT’s TH2D class
- Classify different charged particles based on their energy loss at fixed momentum
8. Time of Flight Detectors
By the end of this notebook, you should be able to:
- Explain how time of flight can be used with momentum to calculate invariant mass
- Demonstrate the separation power of TOF analysis using ROOT’s TH2D class
- Classify different charged particles based on their TOF at fixed momentum
9. Cherenkov Detectors
By the end of this notebook, you should be able to:
- Explain the mechanism of Cherenkov radiation
- Derive the relationship between velocity and Cherenkov angle
- Classify different charged particles based on their Cherenkov radiation at fixed momentum
10. Calorimeters and Neutral PID
By the end of this notebook, you should be able to:
- Describe the role of calorimeters and summarize how they work
- Describe the difference between electromagnetic and hadronic calorimeters
- Identify which particles can be detected in different types of calorimeters
Although these notebooks don't describe well-established PID methods, these notebooks will introduce you to several important topics in PID. These activities should be completed in order.
11. Working with Experimental Data
By the end of this notebook, you should be able to:
- Recognize common elements of the data produced by particle physics detectors
- Implement PID methods as functions that can be used on experimental data
12. Confusion Matrices
By the end of this notebook, you should be able to:
- Interpret confusion matrices
- Create confusion matrices from estimator functions
- Identify common trends in confusion matrices
13. Comparing PID Methods
By the end of this notebook, you should be able to:
- Compare PID methods based on their confusion matrices
- Identify strengths and weaknesses of common PID methods
- Describe the ways a dataset can affect a confusion matrix
14. Machine Learning Methods
By the end of this notebook, you should be able to:
- Describe the advantages and shortcomings of manual PID methods
- Explain the complementary advantages and disadvantages of machine learning
- Create and train a Scikit-learn boosted decision trees model
- Compare between the separation power of the boosted decision tree and the separation power of manual PID methods
15. Bias in Machine Learning Models
By the end of this notebook, you should be able to:
- Define bias and overfitting
- Identify signs of overfitting and bias in machine learning models
- Implement practices to minimize bias when training a machine learning model
16. GlueX Data
Unlike other notebooks on this page, this notebook exists to provide tools to convert GlueX experimental data into a dataframe, which can be used with the functions you wrote in previous activities.
Coming Soon