I3WaveformSplitter

The I3WaveformSplitter module splits a given I3WaveformSeriesMap into multiple maps, one for each waveform source.

Parameters

Input:

Name of the I3WaveformSeriesMap to get from the frame, e.g. “CalibratedWaveforms”.

HLC_ATWD:

Name of the I3WaveformSeriesMap containing the ATWD waveforms from HLC launches to put in the frame, e.g. “CalibratedATWD”.

HLC_FADC:

Name of the I3WaveformSeriesMap containing the FADC waveforms from HLC launches to put in the frame, e.g. “CalibratedFADC_HLC”.

SLC:

Name of the I3WaveformSeriesMap containing the FADC charge stamps from SLC launches to put in the frame, e.g. “CalibratedFADC_SLC”. Note that InIce-style SLC stamps are indistinguishable from IceTop-style SLC stamps and will appear in the same map.

Force:

Place output maps in the frame even if they’re empty. This can be useful if downstream modules are lazy and assume their inputs are always present.

PickUnsaturatedATWD:

Emit only the highest-gain unsaturated ATWD channel. This emulates WaveCalibrator’s former CALIBRATE_UNSATURATED mode.

SplitATWDChannels:

Split waveforms from the three ATWD channels into separate maps numbered 0, 1, and 2.

SplitATWDChips:

Split waveforms from the two ATWD chips into separate maps, marked _Chip0 and _Chip1.

OutBoxes

One.

Example

from icecube import icetray, dataio, WaveCalibrator

tray = icetray.I3Tray()

tray.AddModule("I3Reader","reader",
    Filename="data.i3.gz"
    )

tray.AddModule("I3WaveCalibrator", "sedan",
    Launches="InIceRawData",
    Waveforms="CalibratedWaveforms",
    Errata="BorkedOMs",
    ATWDSaturationMargin=123,
    FADCSaturationMargin=0,
    )

tray.AddModule("I3WaveformSplitter", "splitter",
    Input="CalibratedWaveforms",
    ATWD_HLC="CalibratedATWD",
    FADC_HLC="CalibratedFADC_HLC",
    SLC="CalibratedFADC_SLC",
    PickUnsaturatedATWD=True,
    )


tray.Execute()