GSoC — First Blog Post
This is my first GSoC blog post, where I talk about what GSoC is, what organization I am working with, and what the software project I am working on actually does.
What is GSoC?
GSoC is short for Google Summer of Code. Here is a quote from the official webpage, which explains the entire thing pretty well:
Google Summer of Code is a global, online program focused on bringing new contributors into open source software development. GSoC Contributors work with an open source organization on a 12+ week programming project under the guidance of mentors.
For more information, check out their webpage.
My GSoC Project
My Organization
In GSoC, there are Contributors and Organizations. The Contributors are individuals like myself who will work on some project, and the Organizations are the people who maintain the project and continually improve upon it.
This year, I was selected to work with CERN-HSF, and my project falls under the purview of the ACTS Project.
What is the ACTS Project?
If we take a look at the README.md, we see that
Acts is an experiment-independent toolkit for (charged) particle track reconstruction in (high energy) physics experiments implemented in modern C++.
But What Does That Mean?
When CERN conducts experiments at the Large Hadron Collider (LHC), the 8 detectors present record certain types of data. Of the 8, there are 4 main detectors are the ATLAS detector, the CMS detector, ALICE, and LHCb. The other 4 detectors are for very specialized research.
What is Track Reconstruction?
One of things mentioned in the ACTS project’s README is track reconstruction. This consists of two parts: First, when a particle interacts with a certain detector geometry, the detector records it for further analysis. Then, the software takes all the gathered points where the particle was known to be at, and recreates the path that the particle must have taken.
Track reconstruction consists of two parts: track finding, which groups measurements which are likely to have been generated by the same particle, and then track fitting, which interpolates the path taken by the particle based on the recorded data points.
For more details about what track reconstruction is and an in-depth explanation of how it is done, one can refer to this great explanation.
How Is This Done?
One thing to keep in mind is that in the real world, we do not (and cannot) have a perfect knowledge of the exact location the particle hit a detector geometry. What we actually have is a location and an error bound, and the software has to take this error bound into account as well.
One of the ways to do this kind of track fitting, is to make use of a statistical technique known as Kalman Filtering.
How are Kalman Filters Used Here?
Wikipedia describes a Kalman Filter as follows:
Kalman filtering, also known as linear quadratic estimation (LQE), is an algorithm that uses a series of measurements observed over time, including statistical noise and other inaccuracies, and produces estimates of unknown variables that tend to be more accurate than those based on a single measurement alone, by estimating a joint probability distribution over the variables for each timeframe.
ACTS uses Kalman Filters for track finding by breaking up the task into three steps as described in the ACTS documentation:
- Prediction, where the next state vector is calculated using the prior knowledge available,
- Filtering, which refines the prediction of the previous step by using the knowledge of the new measurement, and finally
- Smoothing, which smooths the state vector by walking back the steps and using information for the subsequent step to improve the estimate at the current step.
In the next blog post, I will explain what my work is, and how all this ties into my GSoC project.
Leave a comment