analysis.algorithms.selections.through_going_muons module

analysis.algorithms.selections.through_going_muons.must_invert(x, invert_regions)[source]
analysis.algorithms.selections.through_going_muons.through_going_muons(data_blob, res, data_idx, analysis_cfg, cfg)[source]
  1. Anode-cathode-piercing tracks:

The idea is to select muons whose x-projected length matches with the detector size in the x-direction. Then we claim to have found an anode-cathode crossing muon.

  1. Anode- or cathode-piercing tracks:

TODO describe here how it is done (similar to MicroBooNE).

Then for any selected track, we split it into segments using a cubic 3D binning of the detector volume. For each segment we perform PCA to estimate the direction, hence dx, and we sum reco charge to get dQ.

This heuristic relies only on semantic segmentation and particle clustering predictions.

Note: we might need to use PID to weed out pion tracks. Note: we might exclude muons attached to a Michel for anode-piercing or cathode-piercing tracks.

Configuration
  • Under `processor_cfg`, you can specify the following parameters

  • spatial_size

  • selection_threshold

  • bin_size

  • mode

  • data

  • vdrift

  • drift

  • voxel_size

  • invert_regions

  • limits

  • volume_thresholds

  • Michel_threshold

  • pid_constraint

  • muon_label

  • track_label

Output
  • Two CSV files should contain respectively

  • - array of measurements of dQ/dx for each non-empty cell (`acpt_muons_cells.csv`)

  • - array of detected muons and related information (`acpt_muons.csv`)