Skip to content

Northeren Tracks: Removing cut on pulse counts

Created by: RasmusOrsoe

What is benchmarked The <= 900 cut on pulse count is a quick way to address the high memory requirements of applying DynEdge to high energy datasets (removes just ~2%). However, for point source searches it's likely the events with the large pulse counts that provide the most of an analysis sensitivity. Therefore, it would be ideal to find another way to lower memory usage than removing events. Therefore:

Can we get rid of the cut by adjusting the layer sizes in DynEdge?

Target variables used for evaluation 'classification_emuon_entry'

Step-by-step When we construct DynEdge

gnn = DynEdge(
            nb_inputs=detector.nb_outputs,
            global_pooling_schemes=["min", "max", "mean"],
            )

the optional parameter dynedge_layer_sizes defaults to the rather generous [(128, 256), (336, 256), (336, 256), (336, 256)]. In the past we've observed that one can decrease the layer sizes quite a bit without seeing a difference in energy resolution.

  1. Remove the pulse count cut on the selections.
  2. Construct DynEdge but where you pass dynedge_layer_sizes with a significantly smaller layer sizes (try decreasing by a factor 2, 4 or 6)
  3. Run the script for a few epochs using HVInIcePulses pulsemap; do you get memory errors?
  4. If decreasing the layer sizes by a factor 6 does not help; try to pass only one global pooling scheme, e.g. global_pooling_schemes=["max"].
  5. If 4 also fails, try to also decrease the batch size by a factor (2, 4, 6).
  6. If you at any point succeed in getting the training to run stable for a few epochs, then let the training complete and compare the results with a converged model that was trained using the pulse count cut, and send the plot to me on slack :-)