The Pixel detector is the innermost part of the multi-layered multi-ton onion that is CMS. The Pixel detector tracks the movements of charged particles that are produced when billions of protons collide with each other in the LHC beam pipe. Millions of radiation-hard silicon pixels make up the structure of the Pixel detector, acting like miniscule cameras to take snapshots of particles as they move through the detectors. The pixels provide a position resolution of $\sim 10 \mu m$ per particle, smaller than the width of a single strand of human hair.

image.png

From CERN, 2021

image.png

Image from CMS, CERN

A pixel is a reverse-biased silicon diode, $100\mu m \text{ x } 150\mu m \text{ x } 285\mu m$ in size. These pixels are arranged in layers around the beam pipe, where protons collide. Each charged particle that is produced with sufficient energy will move through a pixel, dislocating the electrons and holes in the depletion region of the diode, thus resulting in an electrical signal. This electrical signal can be thought of as a little camera snapshot - if one knows the position of the pixel that fired, one knows the position of the particle. Particles most often graze the sensor modules at an angle, firing several pixels as they pass through. This distribution of pixels can be analyzed to extract the particle position to a resolution 10 times smaller than the pixel size.

Existing algorithms leverage physical principles to extract hit positions to great accuracy. However, these algorithms are deployed offline after collisions data has been collected and processed. In order to achieve high accuracy in position determination online, as and when a data stream is available, algorithms need to be memory efficient to fit on FPGAs, and quick so as to finish computation before the next batch of data arrives. Convolutional Neural Networks (CNNs) can provide these advantages while matching (or even improving) the position resolution. In my Ph.D., I am building a CNN based algorithm to accurately locate particles within each silicon pixel.

Currently, position determination algorithms in CMS used detailed sensor simulations to simulate particle drift in the pixels, which are then used to create templates of charge distributions. This was used to create the dataset for training 1D and 2D CNNs to learn particle positions, using Keras and Tensorflow in Python and C++. Our result achieves a 5% improvement in accuracy over existing methods. The model is also 10% more memory efficient than the existing models, and 30 times faster at inference. This is relevant because accurate position determination will become harder in future runs of the LHC when more and more particles will be produced per collision. This algorithm is currently being integrated into the CMS Software framework for use in data-taking in 2026. This work was present at the APS April meeting 2021, and numerous internal meetings.

image.png

From Swartz et. al.

The particle track (shown in red) grazes through multiple pixels (blue rectangles), which cause charge to draft (black arrows) towards the ROC