Geane Tracking

This project was done while as a graduate student for the Fermilab Muon g − 2 physics experiment. See extensive details in my dissertation. The code base (primarily C++) for the project can be found here.

The Fermilab Muon g − 2 experiment, for vital diagnostic and data analysis purposes, uses “tracking detectors” in order to measure where muons decay within the experiment. Muons decay to positrons, some of which then pass through these tracking detectors. The detectors themselves essentially consist of electrical devices which “light up” whenever a positron passes through them. One of the modules of the system can be seen below, where the silvery “straws” are the detectors which record discrete hits for incident positrons.

As one of the first members of the ‘Tracking Team,’ I developed a track-fitting algorithm which fits hits from many separate positrons with various trajectories to unique tracks. It was developed in C++ using the Geant4 toolkit, a particle physics simulation framework. (The name stands for Geometry and Tracking, the e in Geane stands for “error propagation.”) The algorithm was implemented into a broader track reconstruction framework, interfacing with upstream and downstream stages of the data pipeline. My algorithm has been used successfully to process and analyze many TBs of data, and is still in use today. A separate repository containing the documentation can be found which details the algorithm and it’s implementation, along with the testing and verification of it using Monte Carlo simulation. The main infrastructure and flow of the track-fitting code is shown below, along with a sample fitted track that the algorithm was successfully applied to.