Table Of Contents

Previous topic

Frequently asked questions and common pitfalls

Next topic

tpx

This Page

topeventcleaning

IceTray modules for IceTop event cleaning and splitting.

I3HLCTankPulseMerger

Merges high-gain (HG) and low-gain (LG) pulses inside a tank. If the charge in a high-gain pulse surpasses the saturation value obtained from VEM calibration (HGLGCrossOver), the charge from the best matching LG pulse is used. The best-matching LG pulse is found by looking for the LG pulse that is closest in time to the HG pulse. If the best-matching LG time differs from the HG by more than a configurable threshold (MaxHGLGTimeDiff), the LG pulse is discarded and the HG charge is set to NAN (not-a-number). The time is always taken from the HG pulse.

Parameters

InputVEMPulses
An input I3RecoPulseSeriesMap calibrated to VEM. This parameter must be set to a non-empty value.
OutputTankPulses
Output I3RecoPulseSeriesMap containing the tank pulses. This parameter must be set to a non-empty value, and correspond to a frame object that does not yet exist.
MaxHGLGTimeDiff
Maximum time difference for matching HG and LG pulses. Defaults to 40ns.
BadDomList
Name of the frame object that contains a list of bad DOMs (e.g. obtained from the DB). Specify an empty string to not use such a list.
BadStationList
Name of the frame object that contains a list of bad stations. The module I3IceTopSanityChecks from tpx supplies such a list. Specify empty string to not use such a list.
ExcludedStations
Stations excluded by this module because there were LG pulses without HG partners will be written to the frame with this name. If set to an empty string this list will not be written out, but a warning is displayed.

I3TopHLCClusterCleaning

Splits events that are separated in time. First, station signals are built from corresponding pulses in tanks A and B by averaging their location and time. Then, these are ordered in time and events are split if subsequent pulses do not fulfill the following condition:

|Δt| < |Δx|/c + ttol,

where ttol is a time tolerance (InterStationTimeTolerance). A similar condition is imposed when the station pulses are built (IntraStationTimeTolerance). Split events are written to one or more new P frames.

Parameters

InputPulses
Input I3RecoPulseSeriesMap. This should consist of merged tank pulses created by I3HLCTankPulseMerger.
OutputPulses
Name of the output pulses in the P frame. The module actually creates I3RecoPulseSeriesMapMasks. These, however, can be handled by all subsequent reconstruction modules without changes, because they are handled correctly by I3Frame.
BadStationList
List of bad stations provided by previous modules.
ExcludedStations
List of stations excluded by this module. Stations are excluded, if no station pulses could be built.
InterStationTimeTolerance
The ttol in the formula above. Defaults to 200ns.
IntraStationTimeTolerance
Equivalent of InterStationTimeTolerance when building station pulses. Defaults to 200ns.

KeepOnlyLargestEvent

Module that discards all but the largest sub-event after splitting.

Note

This module is implemented in python.

This is how you use it:

from icecube.topeventcleaning.modules import KeepOnlyLargestEvent

tray.AddModule(KeepOnlyLargestEvent, 'keep_only_larges_event',
               Pulses = 'NameOfPulseMaskInFrame'
               )

Parameters

Pulses
I3RecoPulseSeriesMapMask in the P frames. Will be extracted from all sub-events of a Q frame. Only the P frame with the largest number of pulses will be kept.