icecube.offline_filterscripts.filter_segments.Elowen_offline_filter module

ELOWEN offline filter segment.

This segment defines the “ELOWEN_Filter_24”

To calculate this filter, this segment:

  • Uses the DeepCorefilter

  • Adds SRTInIcePulses

  • Uses simple cuts on HLC hits, SRT hits, charge and several NoiseEngine instances

returns:

filter results per-split

rtype:
  • I3Bool in InIceSplit P frames named “ELOWEN_Filter_24” with

icecube.offline_filterscripts.filter_segments.Elowen_offline_filter.HLCcuttwo(frame, decision_name='ELOWEN_Filter_HLCcut')

Ensure less than 10 HLC hits in DeepCore

icecube.offline_filterscripts.filter_segments.Elowen_offline_filter.HLCsel(frame, decision_name='ELOWEN_Filter_HLCsel')

Select events on HLC in and outside of DeepCore.

Counts HLC hits in Deepcore (string >78) and icecube without deepcore, filters on (HLC_IC == 0) or (HLC_IC<=6 and HLC_DC<=7) Result saved under key decision_name

icecube.offline_filterscripts.filter_segments.Elowen_offline_filter.NEcutone(frame, decision_name='ELOWEN_Filter_NE1')

Filter on NoiseEngine settings.

Either more than 2 pairs with velocity between 0.2 and 0.9 in 100ns Or more than 0 pairs with velocity between 0.2 and 0.9 in 100ns Result saved under key decision_name

icecube.offline_filterscripts.filter_segments.Elowen_offline_filter.NEcuttwo(frame, decision_name='ELOWEN_Filter_NE2')

Filter on NoiseEngine settings.

Either more than 2 pairs with velocity between 0.1 and 0.9 in 300ns Or more than 2 pairs with velocity between 0.2 and 0.4 in 300ns Or more than 2 pairs with velocity between 0.1 and 0.9 in 300ns and no more than 0 pairs with velocity between 0.0 and 0.1 in 800ns Or more than 2 pairs with velocity between 0.2 and 0.5 in 500ns

class icecube.offline_filterscripts.filter_segments.Elowen_offline_filter.Positional(context)

Bases: I3ConditionalModule

Check first hit position and time between first tWo HLC hits.

Filters on -505 > z_firsthlc > -210 and for the distance between first two hits to be less than 70 and timedelta < 50.

The filter result is stored under the key “ELOWEN_Filter_positions”.

Configure()

Configure the module.

Geometry(frame)

Process the geometry frame.

Physics(frame)

Process the physics frame.

icecube.offline_filterscripts.filter_segments.Elowen_offline_filter.Qcut(frame, decision_name='ELOWEN_Filter_Qcut')

Filter on charge fraction.

Calculates total charge in DeepCore (string >78), Counts charge in first 600ns (early charge) excluding the first hit, filters on early charge / total charge >0.26 Result saved under key decision_name

icecube.offline_filterscripts.filter_segments.Elowen_offline_filter.Qcuttot(frame, decision_name='ELOWEN_Filter_Qtot')

Ensure less than 60 PE of charge in the detector.

icecube.offline_filterscripts.filter_segments.Elowen_offline_filter.SRTsel(frame, decision_name='ELOWEN_Filter_SRT')

Ensure less than 10 SRT hits total.

icecube.offline_filterscripts.filter_segments.Elowen_offline_filter.all_elowen_filters_passed(frame)

Check if all the subfilters have been run and have passed.

Adds a key “ELOWEN_Filter_bool” to the frame with a boolean value indicating whether all subfilters passed.

icecube.offline_filterscripts.filter_segments.Elowen_offline_filter.deep_core_filter_check(frame)

Check if the DeepCore filter exists and is true.

icecube.offline_filterscripts.filter_segments.Elowen_offline_filter.elowenfilter(tray, name='ELOWEN_filter')

Run all the ELOWEN filtersteps.

icecube.offline_filterscripts.filter_segments.Elowen_offline_filter.hlc_with_atwd_fadc(flag)

Check if hit is hlc with ATWD and FADC readout.

icecube.offline_filterscripts.filter_segments.Elowen_offline_filter.on_deepcore_string(omkey, include_36=False)

Check if the hit was on strings 79-86.

icecube.offline_filterscripts.filter_segments.Elowen_offline_filter.step_passed(frame, name)

Check if a frame with a given name exists and if it has passed.