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
I3RecoPulseSeriesMapMask
s. These, however, can be handled by all subsequent reconstruction modules without changes, because they are handled correctly byI3Frame
.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.