Clustering MIPs and track segments

Introduction

Minimum Ionising Particles (MIPs) leave a very distinctive trail in the calorimeters: a continuous sequence of single hits. (Sometimes a hit is missed because of inefficiency; sometimes there are two adjacent hits because of a delta electron.) Given the momentum, the dE/dx and therefore the energy of the hits is predicted, modulo Landau fluctuations (see, for example, the particle detectors chapter of the PDG). If the magnetic field inside the calorimeter is known, the track can be fitted or extrapolated by Kalman swimming.

For true MIPs such as muons, these conditions can be used to make a powerful but specialized clusterer. Another common case is to have an energetic charged hadron (e.g. a pi+ or K+) which acts like a MIP as it travels through the calorimeter until it undergoes a hadronic interaction and showers. We may also want to cluster hits from charged secondaries produced in hadronic interactions in the calorimeter – these can leave tracks in the calorimeter, but are typically too low in energy to be real MIPs.

For primary MIPs and MIP-like clusters, we usually also have a track in the central tracking system. It's not necessary to have a track seed to cluster an isolated MIP, though it may be useful if there is another shower nearby. For secondary tracks produced before the calorimeter (e.g. from a Ks or hyperon) there is often no track, though a few hits from the outer tracking layers may be available. For charged secondaries produced inside the calorimeter, there are of course no hits in the central tracker and we can no longer assume that the calorimeter track segment will start in the first few layers.

Worked examples

Here is an example code snippet to make track segments anywhere in the calorimeter:

TrackClusterDriver findTrackSegments = new TrackClusterDriver("input hit map", "mips", "hit map without mips");
add(findTrackSegments);

If we don't want secondaries, we can require that the track start in the first n layers. Here is an example for n=4:

TrackClusterDriver findTrackSegments = new TrackClusterDriver("input hit map", "mips", "hit map without mips");
findTrackSegments.filterOutputClusters(new ClusterFirstLayerDecision(4));
add(findTrackSegments);

Related Drivers

(add some)

  • No labels