icecube.VHESelfVeto.layerveto module

Module containing the outer-layer veto of the MESE selection

icecube.VHESelfVeto.layerveto.I3LayerVeto(tray, name, pulses, toplayer=90.0, dustlayer=(-220.0, -100.0), mincharge=3.0, maxcharge=250.0, chargescale=24.0, timewindow=3000000.0, output='LayerVeto')

Outer-layer veto of the MESE selection

Sort the given pulses in time and slide a veto time window of given length over them until the time window contains a configurable maximum amount of charge. The maximum amount of charge in the veto time window is given by the total collected charge divided by chargescale. If the value is outside of the bounds defined by mincharge and maxcharge, the closest bound value is taken instead. So-called balloon hits, which refer to hit DOMs that have collected more than 90% of the total collected charge, are removed. Finally, select all pulses in this time window that are located on veto DOMs and have a distance to the center of gravity of all pulses in the time window of less than the speed of light times the length of the time window.

Parameters:
  • pulses (str) – Name of pulse series map to check for veto pulses

  • toplayer (float, optional) – Thickness of the top horizontal veto layer

  • dustlayer (tuple(float), optional) – Minimum and maximum depth in detector coordinates of the horizontal veto layer around the “dust layer”

  • mincharge (float, optional) – Minimum amount of charge required to end the veto region

  • maxcharge (float, optional) – Maximum amount of charge required to end the veto region

  • chargescale (float, optional) – Scale the allowed maximum amount of charge in the veto region with the total collected charge.

  • timewindow (float, optional) – Maximum length of veto time window

  • output (str, optional) – Prefix for output variables; the output variables are the amount 0 of charge in the side, top, and bottom veto layers, the amount 1 of charge in the horizontal veto layer around the “dust layer”, the total collected charge QTot without balloon hits, and the stop time VertexTime of the sliding time window. The OM keys of all veto DOMs are stored in a special “V” frame.

class icecube.VHESelfVeto.layerveto.VetoDOMs(top_layer=90.0, dust_layer=(-220.0, -100.0))

Bases: object

Outer-layer veto DOM selector

This class selects the DOMs from a given detector geometry that form the outer-layer veto of the MESE selection. This veto consists of all the DOMs on the outermost strings, all DOMs inside a horizontal veto layer of given thickness measured from the top of the deepest non-DeepCore string, the last active DOM on each inner non-DeepCore string, and all DOMs inside a horizontal veto layer around the “dust layer”.

Parameters:
  • top_layer (float, optional) – Thickness of the top horizontal veto layer

  • dust_layer (tuple(float), optional) – Minimum and maximum depth in detector coordinates of the horizontal veto layer around the “dust layer”

static select(geometry)

Select IceCube DOMs.

Select all DOMs with an OM type IceCube from the given detector geometry and sort the selected DOMs per string in ascending depth.

Parameters:

geometry (I3OMGeoMap or dict(OMKey, tuple(I3OMGeo, ...))) – Detector geometry

Returns:

Mapping of string numbers to sequences of IceCube DOMs arranged in ascending depth.

Return type:

dict(int, list(tuple(OMKey, I3OMGeo)))