Michel electrons

The goal of this tutorial is to walk you through one way of selecting Michel electrons by using the outputs of the full chain. Specifically, for this task we will only need the semantic segmentation predictions of UResNet.

First things first: imports

Running the full chain on a small sample

(To save space, I am capturing the output of initializing the config below)

You can set the batch size according to your computing resources.

We will demonstrate on one entry the process of Michel electron selection. You can pick an entry index in [0, batch_size], preferably one that has a Michel electron!

Michel candidates selection

Selecting Michel and muon voxels via semantic predictions

For each voxel, the UResNet stage of the full chain predicts a semantic class: electromagnetic shower (0), track (1), Michel (2), Delta (3) or low energy deposition (4). Let's visualize the predictions along with the truth labels:

Step 1: First we identify the coordinates of true and predicted Michel/Tracks voxels.

We can do a sanity check by looking at what we just selected:

Step 2: Compute true and predicted clusters using DBSCAN

We use throughout the notebook a hyperparameter for the selection that we call $ \eps $. It is set to the diagonal of a voxel and used to measure touching radius, etc.

As you might guess, using DBSCAN to form predicted clusters might result in several tracks being clustered together. It is sufficient for the purpose of determining Michel candidates (touching the edge of a Track).

Step 3: Loop over predicted Michels and filter the ones which are attached to the edge of a Track cluster.

Michel candidates will be predicted Michel clusters (as determined with DBSCAN just above) that also touch the edge of a predicted Track cluster. This means 2 criteria:

Step 4: Now is time to match true/predicted Michel clusters and compute some metrics !

We loop over the true Michel clusters inside the event. We match them with a Michel cluster candidate by maximizing the overlap voxel count.

Metrics with higher statistics

As you may have noted, there are not too many Michel electron in one event. There may even be none. To accumulate higher statistics metrics, we have to loop over many events.

Towards Michel electron spectrum

We use voxel count on the x-axis instead of the "reconstructed charge".