icecube.online_filterscripts.online_filters.gfu_filter module

Tray segment to define the “GFUFilter_23”.

To calculate this filter, this segment:

  • Calculates time residual variables for down-going BDT

  • Gathers parameters needed for BDT

  • Performs BDT precuts

  • Finds BDT score

  • Performs cut on BDT score

  • For events that pass filter, performs advanced angular error estimation

This segment will return:

  • I3Bool in InIceSplit P frames named “GFUFilter_23” with filter results per-split

  • SplineMPE reco angular error

TODO: add more detail to outputs

icecube.online_filterscripts.online_filters.gfu_filter.GFUAngErrReco(tray, name, pulses='CleanedInIcePulses', L2name='', If=<function <lambda>>)

Find angular error for events that pass GFU filter.

icecube.online_filterscripts.online_filters.gfu_filter.GFUGetBDTScore(tray, name, pulses='CleanedInIcePulses', bdt_up_file=None, bdt_down_file=None, L2name='', If=<function <lambda>>)

Generate BDT score and add it to frame for events.

Gets time residual LLH values for downgoing events performs BDT precuts, then gets BDT score

class icecube.online_filterscripts.online_filters.gfu_filter.I3HistogramLLH(context)

Bases: I3ConditionalModule

Use a precalcuated S/B-likelihood histogram to calculate the likelihood ratio.

Configure()

Make module configuration: get parameters.

Physics(frame)

Find and save S/B ratio for each P frame.

class icecube.online_filterscripts.online_filters.gfu_filter.I3TimeResidualBooker(context)

Bases: I3ConditionalModule

A module to store the time residuals of a pulsemap with respect to a given fit.

Configure()

Make module configuration: get parameters from IceTray.

Geometry(frame)

Stash a copy of G frame.

Physics(frame)

Process P frame: calculate and store TimeResiduals.

class icecube.online_filterscripts.online_filters.gfu_filter.I3Vectorize(context)

Bases: I3ConditionalModule

Extend a given frame object to match the length of another vector-like object.

Configure()

Perform configuration: get parameters from IceTray.

Physics(frame)

Create vector of frame objects to match needed length.

icecube.online_filterscripts.online_filters.gfu_filter.online_gfu_filter(tray, name, pulses='CleanedInIcePulses', l2name='l2_online', If=<function <lambda>>)

Add pieces of GFU filter to the tray.