topeventcleaning

IceTray modules for IceTop event cleaning and splitting.

I3TankPulseMerger

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.

BadTankList

Name of the frame object that contains a list of bad tanks. Specify empty string to not use such a list.

ExcludedTanks

Tanks 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.

Stream

Type of stream to be processed. The default is DAQ.

I3TopHLCClusterCleaning

Splits events that are separated in time. Tank pulses 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 within the two tanks in a station (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 I3TankPulseMerger.

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.

BadTankList

List of bad tanks provided by previous modules.

ExcludedTanks

List of tanks excluded by this module. For backward compatibility. Currently, a copy of BadTankList will be written; no additional tanks will be excluded.

InterStationTimeTolerance

The ttol in the formula above. Defaults to 200ns.

IntraStationTimeTolerance

Equivalent of InterStationTimeTolerance when comparing pulses within one station. 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.