First application of the empirical likelihood function to position reconstruction in AC-LGAD detectors

During the last days I was working on the application of the maximum “empirical likelihood” estimator for the hit position of a particle in an AC-LGAD. To get an introduction to this method, please have a look at this previous post. Today I am going to write about how I am applying this method to the position reconstruction and I will show the first results.


I am using an AC-LGAD detector that has the following inscription: “RSD 1 W8-A – 2,5 3×3 100”. This is a picture of it:

An AC-LGAD wire bonded to a carrier board.

The detector is attached and wire bonded to a board to which I connect an oscilloscope and measure the signal coming out from each of the four channels. The board is mounted inside a TCT like the one in this link. The intensity of the laser was not tuned against a MIP.

The position reconstruction algorithm

The general idea of the algorithm was presented in this post some days ago. Today I want to give some specific details of the current implementation.

So, there is an AC-LGAD that basically looks like this:

and what I want to do is to use information measured at each pad \(i \in \{1,2,3,4\}\) to reconstruct the position \(x_0,y_0\). Throughout today’s post the only quantities used to reconstruct the impact position are the four collected charges \( Q_1, Q_2, Q_3 \) and \( Q_4 \). I used only the charge because it is the most sensitive quantity to the position. I did not normalized the charge and/or used the charge share fraction for each pad, which would have been better, because this requires some criterion in order to normalize the charge collected by each pad, and this is not trivial. Today I just wanted to test the algorithm applied to this problem, not to obtain the best reconstruction method.

The “likelihood function” was defined as

\[ \mathscr{L}( q_1, q_2, q_3, q_4 | x, y ) := \prod_{i=1}^4 f_{Q_i}(q_i | x,y) \]

where \( f_{Q_i} \) is the empirical distribution function for the collected charge of the \( i \)-th channel. Some remarks:

  • I refer to this distribution functions as “empirical” since I don’t have an analytical expression for them, but instead they were approximated to measured data using the Gaussian KDE approximation, as detailed in the previously referred post. To this approximation process I will refer to as “training”.
  • Note that I have also placed quotation marks in “likelihood function”. The reason for this is that, despite the function defined above resembles a likelihood function, it is not so in a strict sense because the four random variables \( Q_i \) are not independent (in fact are strongly correlated) and thus the joint distribution is not the product of the marginal distributions.
  • I have built the “likelihood function” without any pre-processing of the data, I just fed the collected charge from each channel to the training algorithm and then used it to reconstruct the position. This is not the best approach since it will probably be highly dependent on the gain for each channel and maybe some other factors too.

Today, however, I am working in a proof of concept of this idea. Improvements will come later.

After the algorithm was trained, i.e. after the empirical “likelihood function” was constructed, the position estimation is done by maximizing this function in \( x \) and \( y \) for some particular observation of \( Q_i \). This maximization comes associated with some difficulties which I will show and discuss later on. The result of the maximization is the estimated impact point \( x_\text{estimated} , y_\text{estimated} \).

Training the position reconstruction algorithm

I call “training the algorithm” to the process of feeding measured data to it with both the impact position \( x,y \) and the collected charge \( Q_i \) for each of the four channels. Using this information, the algorithm creates approximations for the distribution functions \( f_{Q_i} \) at each \( x,y \) and then performs an interpolation to get it approximated to any \( x,y \).

Training data

To produce the training data I shined the TCT’s pulsed laser into many different \( x,y \) positions of the AC-LGAD detector. In each \( x,y \) point I measured the collected charge for each of the 4 channels for 333 different laser shots. The average collected charge for each of the four channels can be seen in the plots below:

The areas with low collected charge are each of the four metallic pads which prevent the laser to reaching the silicon. The cross-shaped region with higher values of collected charge is the active area where the semiconductor is exposed to the light of the laser.

This data was fed into the training algorithm. At each \( x,y \) point the algorithm used the 333 samples to produce a set of four \( f_{Q_i} \) functions by using a Gaussian KDE approximation. Then, via the interpolation method described in the previous post, the distribution functions were extended to the whole \( x,y \) region and the “likelihood function” was constructed.

Position reconstruction

Having the algorithm trained, the reconstruction process is very simple: Just take the “likelihood function” \( \mathscr{L} \) and replace \( Q_i \) by the observed values for some particle hit, maximize this function in \( x,y \) and you obtain the position estimation.

Data for position reconstruction evaluation

To evaluate the performance of the algorithm for position reconstruction I took new data. The data acquisition process was identical to the one for training, but I took it at different \( x,y \) points. Below I expose the average collected charge at each point using the data for position reconstruction:

Maximization of the “likelihood function”

Although this position reconstruction process is quite simple, and very straightforward using any modern scientific toolkit, the “likelihood function” constructed the way I did has one major problem that complicates the task. The function becomes very peaked around its maximum value and quickly drops down to \( \equiv 0 \), making it a flat function along most of the \( x,y \) space. This makes the maximization process harder since many algorithms work by doing small variations and observing changes in the objective function, but if the function is constant then there are no changes at all and the maximization fails. Possible solutions to this are

  • Use a “brute force” maximization method which will eventually find the maximum, but it may take longer time to find it.
  • Redefine the empirical distribution functions \( f_{Q_i} \) such that they have small tails that do not contribute to the probability distribution and avoid the “likelihood function” to drop down to \( \equiv 0 \).

Here I opted for the quick’n dirty solution, i.e. for a “brute force” maximization method to approximately locate the maximum and then feed this into a more sophisticated maximization algorithm to perform a fine search.

Some position reconstruction examples

Here I present some examples of how the algorithm reconstructs the impact position of the TCT’s laser. Let’s begin with a beautiful example:

In this plot the color map is the “likelihood function” \( \mathscr{L} \), the big white cross shows where the active area is (outside this cross there are the metallic pads), the small light crosses show the points where the training data was acquired, the empty circle is the position of the TCT and the filled circle is the reconstructed position. (Please zoom in to see more details, the plot is interactive, just draw a square around the area you want to zoom in.) There is also a line joining the laser position with the reconstructed position that is the reconstruction error, in this case around 0.93 µm. As can be seen in this example, the algorithm was capable to provide a reasonable good estimation. In this case, however, the laser was shined exactly in one of the spots that was used for training.

Let’s see now another example in which the laser was not shined into one of the training points:

In this case the laser was shined in the middle of four training points. The reconstructed position is, again, quite good.

There are other examples that are not so happy, though. Consider the following two plots:

Both of these plots have relatively big reconstruction errors, 11 µm and 5.5 µm respectively. Despite both errors are big, their source is clearly different. For the case in the left we can see that the maximization failed, because the reconstructed point is far away from the maximum of \( \mathscr{L} \). So in this case the error is not a problem of the method presented here but from the maximization algorithm, and should, in principle, have some “easy solution”. For the plot in the right we see that there was no maximization problem, but the maximum of \( \mathscr{L} \) is indeed far away from the position where the laser was shined. I still don’t know why this happens.

First estimations of position resolution

Using this data I have already done some first estimations on the position resolution. In the plot below I show the distribution for the reconstruction error at a single \( xy \) point (see below the plot with the point indicated).

In this histogram we see a peaked distribution around 550 nm with a width of the order of 1 µm (please zoom in the plot), which I believe (without an in-depth analysis/thinking yet) can be considered as the spacial resolution of the system detector+reconstruction algorithm. It is also possible to see many bins at random positions > 7 µm with one, two or 3 entries. These are, probably, due to errors in the maximization algorithm of the likelihood function.

The plots below are two reconstruction examples from this data set. In the left we see a “good example” while in the right there is one in which the maximization of the “likelihood function” failed.


The “empirical likelihood function method” from my previous post was successfully applied for the first time to the reconstruction of the impact position of the TCT’s laser in an AC-LGAD. The method is working and yielding good results, at least for a first test of concept implementation. There are some points to work on in order to improve results which were already identified, such as do some pre-processing of the data before feeding it into the reconstruction algorithm, improving the maximization of the “likelihood function” and trying to implement the actual likelihood function taking into account that variables are not independent. Furthermore, more variables can be added to the likelihood function to increase its power, such as the amplitude, the arrival time and the time over threshold, which are quantities that demonstrated to have interesting dependence with the position.