.. .. copyright (C) 2024 .. The Icecube Collaboration .. .. @author Katherine Rawlins Tools for IceTop SLC Charge Calibration ======================================= I3IceTopSLCCalibrator_fromCframe -------------------------------- I3Module to apply a correction to SLC charges, using p0/p1 constants stored in the C-frame of a GCD, in a :cpp:class:`I3IceTopSLCCalibrationCollection` object. The correction can be applied to pulses that are *either* in units of raw PE's, *or* that have been alrerady VEM-converted. If the chip/channel of the pulse is unknown, the module makes an "educated guess" about the ATWD channel using the pulse's charge, and uses the p0/p1's for that channel from a combination of both chips. Parameters ^^^^^^^^^^ ``SLCPulses`` ID of input calibrated SLC pulse list (this gets replaced by default) ``SLCPulsesOut`` ID of output calibrated SLC pulse list. If it is not specified, it is set equal to SLCPulses. If an object with this name is present, it will be replaced. ``InputWaveforms`` Name of input I3WaveformSeriesMap (required only to know the ATWD channel) ``CframeObjectName`` Name of the :cpp:class:`I3IceTopSLCCalibrationCollection` object in the C-frame containing all the calibration constants ``PulsesAreVEMConverted`` True if the input pulses are already in VEM units, False if they are in PE units. I3IceTopSLCCalibrator --------------------- **LEGACY** I3Module to apply a correction to SLC charges, using pickle files containing p0/p1 constants. The correction can only be applied to the already VEM-calibrated pulses (the VEM calibration constants in the pickle files were derived from VEM-converted HLC's). If the chip/channel of the pulse is unknown, the calibration is not performed. Parameters ^^^^^^^^^^ ``SLCPulses`` ID of input calibrated SLC pulse list (this gets replaced by default) ``SLCPulsesOut`` ID of output calibrated SLC pulse list. If it is not specified, it is set equal to SLCPulses. If an object with this name is present, it will be replaced. ``InputWaveforms`` Name of input I3WaveformSeriesMap (required only to know the ATWD channel) ``Config`` Configuration file with the parameters for each OM/chip/ATWD CalibrateSLCs ------------- Traysegment to calibrate SLC pulses. This can be done either before or after VEM calibration. For pulses where the RawData also exist, the chip and ATWD channel used can be retrieved, through access to the waveforms generated by I3WaveformSplitter. Since these are discarded, they have to be produced again (hence this segment). This segment also includes 'merging' the SLC pulses into the tank pulses container. Parameters ^^^^^^^^^^ ``Launches`` Input: raw data ``SLCVEMPulses`` Input: name of the ``I3RecoPulseSeriesMap`` with pulses calibrated in VEM. The output calibrated pulses have the same name, with 'Calibrated' appended. ``SLCTankPulses`` Output: name of the ``I3RecoPulseSeriesMap`` with pulses calibrated in VEM. One per tank per launch. ``VEMalready`` Boolean: are the input pulses already in units of VEM? CalibrateSLCs_Legacy -------------------- **LEGACY** version of this traysegment, which calls "I3IceTopSLCCalibrator" instead of "I3IceTopSLCCalibrator_fromCframe". If some time passes and we find we don't need it anymore, it may go away. Parameters ^^^^^^^^^^ ``Launches`` Input: raw data ``SLCVEMPulses`` Input: name of the ``I3RecoPulseSeriesMap`` with pulses calibrated in VEM. The output calibrated pulses have the same name, with 'Calibrated' appended. ``SLCTankPulses`` Output: name of the ``I3RecoPulseSeriesMap`` with pulses calibrated in VEM. One per tank per launch. ``Config`` Configuration file with the parameters for each OM/chip/ATWD