Project icetop_Level3_scripts

Invoke with: import icecube.icetop_Level3_scripts

Python I3Modules

AddReadoutTimeWindow

AddReadoutTimeWindow (Python I3Module)

<undocumented>

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param Pulses:

Default = 'CleanCoincOfflinePulses', Name of pulse series map to write time range for

AddSLCCalibrationCollection

AddSLCCalibrationCollection (Python I3Module)

Take a GCD file and modify it according to a jsonl file with p0/p1 calibration information.

Param EndRun:

Default = None, End run (inclusive) for which these constants are valid (if not possible to guess from the filename)

Param Provenance:

Default = icecube._dataclasses.ITSLCCalProvenance.Placeholder, What enum is the Provenance for these numbers (where are they from)?

Param SLCCalibFile:

Default = <Unprintable>, SLC calibration .jsonl (contains all information for combining p0 and p1 values for 2-week periods)

Param StartRun:

Default = None, Start run for which these constants are valid (if not possible to guess from the filename)

AddTanks

AddTanks (Python I3Module)

<undocumented>

Param ExcludedTanksName:

Default = 0, Name of Already ExcludedTanks in the frame

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param OutputExcludedTanksName:

Default = 0, Name of New ExcludedTanks in the frame

Param TanksToAddName:

Default = 0, Name of Tanks to add in the frame

ChangeSnowHeight

ChangeSnowHeight (Python I3Module)

<undocumented>

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param SnowTablesFile:

Default = <Unprintable>, File that contains snow tables

ChangeSnowHeight_interpolated

ChangeSnowHeight_interpolated (Python I3Module)

<undocumented>

Param day:

Default = 0, Day

Param filename:

Default = 'IT81-MasterwithSnowMeasurements.csv', In-situ measurements spreadsheet (csv)

Param month:

Default = 0, Month

Param year:

Default = 0, Year

CheckContainment

CheckContainment (Python I3Module)

I3Module to check if a list of I3Particles is contained within IceTop and the in-ice array. For IceTop two kinds of containment are defined: OnionContainment (number) and FractionContainment (number). + InFillContainment (bool). Additionally, InIceFractionContainment (number) is put in the frame.

Param Detector:

Default = None, Detector configuration (IC79 or IC86). It uses the GCD to determine it if nothing is specified.

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param Particles:

Default = ['LaputopStandard', 'LaputopSmallShower'], List of IDs of I3Particles

CheckFilter

CheckFilter (Python I3Module)

I3Module to check the filter mask.

Param Detector:

Default = None, Detector configuration (IC79 or IC86.20*).

Param Filter:

Default = False, Flag to skip events that do not pass any of the conditions

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param isMC:

Default = False, Data or MC?

CorrectMCPrimaryCoreTime

CorrectMCPrimaryCoreTime (Python I3Module)

I3Module to apply a correction to SLC charges.

Param AtmMod:

Default = '10', Number of the atmospheric model originally used in CORSIKA. Use “10” [the default] to use a manual “atmosphericHeight”

Param atmosphericHeight:

Default = '11279969.933566', Only if “AtmMod” is “10”, the atmospheric height in cm. The default is the typical IceCube values for this mdoel

Param Curved:

Default = False, Did CORSIKA have used Curved atmosphere?

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param MCPrimary:

Default = 'MCPrimary', Name of the MCPrimary object to correct

Param MCPrimaryOut:

Default = 'MCPrimary', Name of the MCPrimary object to write in the frame

CutSnowHeight

CutSnowHeight (Python I3Module)

Module to cut the snow height in case we suffered from the observation level bug

Param ObservationHeight:

Default = 2834.0, Observation height setting in CORSIKA

DOMselection_InIce

DOMselection_InIce (Python I3Module)

<undocumented>

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param ICpulses:

Default = 0, IceCube RecoPulses name

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param OutputName:

Default = 0, Name of output TimeWindowMap

Param Ratio:

Default = 0.8, DOMs with a larger fraction of total event charge are cut

Early_cleaning_InIce

Early_cleaning_InIce (Python I3Module)

Test on double coinc data (select 1 day, first_time II - first_time IT < 4us) RESULT: WORKS perfectly, but not that fast… !! defines function which selects hits in cylinder around the track and hits can’t be earlier than track

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param inputpulseName:

Default = None, Input inice pulses

Param max_radius:

Default = None, Maximum radius

Param min_time:

Default = None, Minimum time

Param outputpulseName:

Default = None, Output inice pulses

Param trackName:

Default = None, Name of the reco icetop track

FilterWaveforms

FilterWaveforms (Python I3Module)

<undocumented>

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param Pulses:

Default = 'OfflineIceTopHLCTankPulses', Pulses

FixGCDTankABOrdering

FixGCDTankABOrdering (Python I3Module)

In some GCD files, the two tanks in a station are listed in reverse order (with the first tank containing DOM’s 63 and 64, the second containing 61 and 62). The coordinates of the tank are consistent with the DOM’s listed within them, so all we need to do is swap the ordering of the two I3TankGeo’s in the list.

I3IceTopSLCTimeCorrect

I3IceTopSLCTimeCorrect (Python I3Module)

I3Module to apply a correction to SLC charges.

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param SLCPulses:

Default = 'IceTopSLCTankPulses', ID of input charge calibrated SLC pulse list (this gets replaced by default)

Param SLCPulsesOut:

Default = '', 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.

Param SLCTimeCorrectionPickle:

Default = '/Users/buildbot/actions-runner/_work/icetray/build/icetop_Level3_scripts/resources/data/SLCTimeCorrection.pickle', Pickle that contains Time Correction Parametrization

I3VEMConverter

I3VEMConverter (Python I3Module)

I3Module to calibrate waveforms. This module replicates the calibration applied in tpx/I3TopHLCPulseExtractor, which does not add the VEM-calibrated waveform to the frame.

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param VEMWaveforms:

Default = 'IceTopVEMCalibratedWaveforms', VEM-calibrated waveforms

Param Waveforms:

Default = 'IceTopCalibratedWaveforms', Waveforms before VEM calibration

InIceQualityCuts

InIceQualityCuts (Python I3Module)

<undocumented>

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param maxRlogl:

Default = 0, Remove events with log10(rlogl) of Millipede fit larger than this value

Param millipedeName:

Default = 0, Name of the reconstructed Millipede cascades

Param millipedeParamsName:

Default = 0, Name of the Millipede FitParams

Param minNonZeroCasc:

Default = 0, Remove events with less than n reconstructed nonzero energy cascades

Param minQTotRatio:

Default = 0, Remove events with log10(Predicted total charge/measured total charge) larger than this value

Param stochasticsName:

Default = 0, Name of the stochastics fit

MakeQualityCuts

MakeQualityCuts (Python I3Module)

Module which actually does the cuts: Look whether they survived the quality cuts. If not: remove OR put bools in a common frameObject which you can evaluate later.

Param CollectBools:

Default = 'IT73AnalysisIceTopQualityCuts', Name of output I3MapStringBool

Param CutOrder:

Default = [], Contains all cuts in the order that you want.

Param CutsNames:

Default = {}, Names of Cuts that we put in the bool, they should all be true for good quality.

Param CutsToEvaluate:

Default = {}, Which keys do we need to check? And how?

Param RemoveEvents:

Default = False, Remove the events or keep?

MassageMillipedeOutput

MassageMillipedeOutput (Python I3Module)

Massage the output: remove the fake peaks. TODO : use the covariance matrix/Fisher information matrix to decide better

Param fill_dust:

Default = False, Fill eloss track reco with average in dust layer

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param inputname:

Default = 'Millipede', key with Energy reconstruction along track

Param max_dust:

Default = -30, Upper boundary of dust layer

Param min_dust:

Default = -140, Lower boundary of dust layer

Param min_energy:

Default = -1.0, Minimum energy to take bin into account

Param outputname:

Default = 'Millipede_dEdX', Output I3ParticleVector to feed to I3Stochastics

Param ShowerSpacing:

Default = 20, Spacing along the track

MaxSignalCuts

MaxSignalCuts (Python I3Module)

I3Module to do simple standard cuts based on the maximum signal. The main check is that the largest signal is not on the edge of the array.

Param Detector:

Default = None, Detector configuration (IC79 or IC86). It uses the GCD to determine it if nothing is specified.

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param MinMaxSignal:

Default = 6, Minimum value for the largest signal (in VEM).

Param MinSignalNeighbourTankMax:

Default = 4, Minimum value for the signal in the neighbouring tank of the largest signal (in VEM).

Param Pulses:

Default = ['CleanedHLCTankPulses'], Pulse lists to look for the largest signal

MoveMCPrimary

MoveMCPrimary (Python I3Module)

<undocumented>

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

RecalibrateVEMPulses

RecalibrateVEMPulses (Python I3Module)

<undocumented>

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param InputPulsesP:

Default = [], L2 calibrated pulses in Physics

Param InputPulsesQ:

Default = [], L2 calibrated pulses in DAQ

ReevaluateTriggerOnIceTopSplit

ReevaluateTriggerOnIceTopSplit (Python I3Module)

<undocumented>

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param Input:

Default = 'CleanedHLCTankPulses', Name of input pulse series

Param Output:

Default = 'IceTop_TwoStationFilter_Bool', Name of filter decision bool

SanityCheckStationGeo

SanityCheckStationGeo (Python I3Module)

Cruise through the “StationGeo” object in I3Geometry, and see if the ordering of the tanks is “conventional ordering” or not.

SnowCorrectPulses

SnowCorrectPulses (Python I3Module)

<undocumented>

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param Pulses:

Default = [], Array of pulses to snowCorrect

Param SnowService:

Default = None, Which Snow service to use for the correction

Param Track:

Default = 'Laputop', Reconstructed track to use for the zenith angle

StationDensity

StationDensity (Python I3Module)

<undocumented>

Param InputCOG:

Default = 0, Which IceTop COG to use

Param InputITpulses:

Default = 0, Which IceTop Pulses to use

StripIFrames

StripIFrames (Python I3Module)

<undocumented>

Param NKeep:

Default = None, Number of I-frames at the beginning to keep

UpdateNames

UpdateNames (Python I3Module)

I3ConditionalModule to change names from older naming conventions to newer ones, to make life easier later.

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param ListOfChanges:

Default = [['DSTTriggers', 'I3TriggerHierarchy']], List of pairs of [old, new] names

Param StreamNameNew:

Default = 'IceTopSplit', What you want to change the stream name to (such as IceTopSplit)

Param StreamNameOld:

Default = 'IceTopSplit', Existing stream name (such as ice_top)

UpdateVEMCal

UpdateVEMCal (Python I3Module)

This module locates the VEMCal file for a certain date (which is the big bunch of ugly work down here), And replaces the VEMCal values in the calibration frame. It puts the (wrong) values present in the L2 GCD in separate frame objects, since we need them for the correction.

Param Day:

Default = <Unprintable>, Day for VEMcal determination

Param Month:

Default = <Unprintable>, Month for VEMcal determination

Param Runnumber:

Default = <Unprintable>, Number of the run to be processed

Param XMLDir:

Default = <Unprintable>, Manual listing of the directory containing XML file (not necessary in Madison)

Param Year:

Default = <Unprintable>, Year for VEMcal determination

cleanBadThinning

cleanBadThinning (Python I3Module)

<undocumented>

Param ExcludedPulseName:

Default = 0, Name of the resulting removed buggy IT pulses

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param InputITpulseName:

Default = 0, Which IceTop pulses to clean out

Param OutputPulseName:

Default = 0, Name of the resulting thinFix cleaned IT pulses

I3Tray segments

CleanIceTop

CleanIceTop (I3Tray segment)

I3Tray segments should have docstrings. This one doesn’t. Fix it.

Param detect_conf:

Default = 'IT73_IC79',

Param it_pulses:

Default = 'CleanedHLCTankPulses',

Param it_pulses_clean:

Default = 'IT_RT_180m_450ns',

Param excluded_tanks:

Default = 'ClusterCleaningExcludedTanks',

Param extra_excluded_tanks:

Default = 'ExtraCleanedExcludedTanks',

EnergylossReco

EnergylossReco (I3Tray segment)

I3Tray segments should have docstrings. This one doesn’t. Fix it.

Param InIcePulses:

Default = 'CleanCoincPulses',

Param dom_eff:

Default = 0.99,

Param IceTopTrack:

Default = 'Laputop',

Param splinedir:

Default = '/data/sim/sim-new/downloads/spline-tables/',

Param If:

Default = <function <lambda> at 0x158d0c9a0>,

ExtractWaveforms

ExtractWaveforms (I3Tray segment)

I3Tray segments should have docstrings. This one doesn’t. Fix it.

Param InputLaunches:

Default = 'IceTopRawData',

Param OutputWaveforms:

Default = 'IceTopVEMCalibratedWaveforms',

Param If:

Default = <function <lambda> at 0x158ce3240>,

FixIC79MCDeThinningBug

FixIC79MCDeThinningBug (I3Tray segment)

I3Tray segments should have docstrings. This one doesn’t. Fix it.

Param IT_pulses:

Default = 'CleanedHLCTankPulses',

Param ExcludedTanks:

Default = 'ClusterCleaningExcludedTanks',

IceTopQualityCuts

IceTopQualityCuts (I3Tray segment)

Segment to collect all IceTop quality cuts. Last module in this segment:

Param detector:

Default = 'IC79',

Param pulses:

Default = 'CleanedHLCTankPulses',

Param isMC:

Default = False,

Param reco_track:

Default = 'Laputop',

Param removeOrNot:

Default = False,

MakeHistograms

MakeHistograms (I3Tray segment)

I3Tray segments should have docstrings. This one doesn’t. Fix it.

Param OutputFilename:

Default = None,

Param condition:

Default = '"IT73AnalysisIceTopQualityCuts" in frame and all(frame["IT73AnalysisIceTopQualityCuts"].values()) and log10(frame["LaputopParams"].expected_signal(125.))>0.2',

Param isMC:

Default = False,

ReRunFilters

ReRunFilters (I3Tray segment)

This segment is run because of the inconsistency between the different years regarding filtermask names, etc. We will rerun the filter on the P frame.

Param Detector:

Default = None,

Param isMC:

Default = False,

Param Pulses:

Default = 'CleanedHLCTankPulses',

SelectCleanInIcePulses

SelectCleanInIcePulses (I3Tray segment)

I3Tray segments should have docstrings. This one doesn’t. Fix it.

Param CoincPulses:

Default = 'CoincPulses',

Param CleanCoincPulses:

Default = 'CleanCoincPulses',

Param IceTopTrack:

Default = 'Laputop',

Param If:

Default = <function <lambda> at 0x158d0c680>,

SimulateBackground

SimulateBackground (I3Tray segment)

I3Tray segments should have docstrings. This one doesn’t. Fix it.

Param HLCTankPulses:

Default = None,

Param SLCTankPulses:

Default = None,

Param NoiseRate:

Default = 1500,

Param AddJitter:

Default = False,

OfflineIceTopReco

OfflineIceTopReco (I3Tray segment)

Adds the following IceTop reconstructions to the frame:

Param If:

Default = <function <lambda> at 0x158d0c180>,

Param Pulses:

Default = '',

Param Excluded:

Default = 'IceTopBadTanks',

Param SnowFactor:

Default = 2.1,

Param Tag:

Default = '',

Param Detector:

Default = 'IC86.2013',

RemoveOldLevel2

RemoveOldLevel2 (I3Tray segment)

I3Tray segments should have docstrings. This one doesn’t. Fix it.

Param Tag:

Default = '',

level3_Coinc

level3_Coinc (I3Tray segment)

I3Tray segments should have docstrings. This one doesn’t. Fix it.

Param IceTopTrack:

Default = 'Laputop',

Param InIcePulses:

Default = 'InIcePulses',

Param IceTopPulses:

Default = 'CleanedHLCTankPulses',

Param do_select:

Default = False,

Param domeff:

Default = 0.99,

Param spline_dir:

Default = '/data/sim/sim-new/downloads/spline-tables/',

muonReconstructions

muonReconstructions (I3Tray segment)

I3Tray segments should have docstrings. This one doesn’t. Fix it.

Param Pulses:

Default = 'CoincPulses',

Param prefix:

Default = 'CoincMuonReco_',

Param If:

Default = <function <lambda> at 0x158d0cfe0>,