Project radcube

Invoke with: import icecube.radcube

C++ I3Modules

AddElectronicNoise

"AddElectronicNoise" (C++ I3Module)

<undocumented>

Param ApplyInDAQ:

Default = True, If true, noise will be added in the Q frame, otherwise it will be in the P frame

Param FlatNoiseLevel:

Default = -140.0, If set, flat noise will be added wtih this dBm Hz

Param InputName:

Default = '', The name of the I3AntennaDataMap to add noise to

Param KeepNoiseOnly:

Default = True, If true, the pure noise waveform will be added to the frame

Param OutputName:

Default = '', The name of the output I3AntennaDataMap

Param RandomServiceName:

Default = '', Name of the random number service

AddPhaseDelay

"AddPhaseDelay" (C++ I3Module)

<undocumented>

Param ApplyInDAQ:

Default = True, True = Apply in Q Frame, False = Apply in P Frame

Param DelayTime:

Default = 100.0, Time to delay the signals

Param InputName:

Default = '', The name of the frame object to delay

Param OutputName:

Default = '', The name of the output frame object

BandpassFilter

"BandpassFilter" (C++ I3Module)

<undocumented>

Param ApplyInDAQ:

Default = False, True = Apply in Q Frame, False = Apply in P Frame

Param BoxTimeDelay:

Default = 0.0, The delay to use in the box filter [ns]

Param ButterworthOrder:

Default = 6, The order of the filter (inf==>Box cut)

Param FilterLimits:

Default = [0.07, 0.35000000000000003], The low and high pass of the filter [MHz]

Param FilterType:

Default = icecube._radcube.FilterType.eNone, Choose the type of filter to apply

Param InputName:

Default = '', The name of the frame object to filter

Param OutputName:

Default = '', The name of the output filtered object

BringTheNoise

"BringTheNoise" (C++ I3Module)

<undocumented>

Param AntennaResponseName:

Default = '', Name of the antenna response service

Param InputName:

Default = '', The name of the I3AntennaDataMap to add noise to

Param InsertNoiseOnly:

Default = True, Keep a copy of the pure noise in the frame

Param NoiseMultiplier:

Default = 1.0, Multiply the noise spectrum amplitudes by this amount

Param OutputName:

Default = '', The name of the output I3AntennaDataMap

Param RandomServiceName:

Default = '', Name of the random number service

Param ThermalNoiseTemp:

Default = 30.0, Temperature of black-body radiation

Param UseCaneNoise:

Default = True, Include the noise from galaxy

Param UseThermalNoise:

Default = True, Include the noise from electronics

ChannelInjector

"ChannelInjector" (C++ I3Module)

<undocumented>

Param AntennaResponseName:

Default = '', Name of the antenna response service

Param InputName:

Default = '', The name of the I3EFieldMap to inject into antennas

Param OutputName:

Default = '', The name of the output I3AntennaDataMap

CoREASToAntennaMap

"CoREASToAntennaMap" (C++ I3Module)

<undocumented>

Param InputName:

Default = '', The name EFieldTimeSeriesMap to convert to an I3AntennaDataMap

Param OutputName:

Default = '', The name of the output I3AntennaDataMap

CoreasReader

"CoreasReader" (C++ I3Module)

<undocumented>

Param AddToExistingGCD:

Default = False, Add the radio array to an exsiting GCD file

Param DirectoryList:

Default = [], Paths to CORSIKA/CoREAS sims

Param MakeDAQFrames:

Default = False, Bool if you want to make the Q frame

Param MakeGCDFrames:

Default = False, Create an i3 file with GCD frames

Param MakeGFrameForEach:

Default = False, If true, each event will have its own G frame

Param PiggybackMode:

Default = False, Set to true if you are doing radio + other simulation

EFieldCalculator

"EFieldCalculator" (C++ I3Module)

<undocumented>

Param AntennaResponseName:

Default = '', Name of the antenna response service

Param InputName:

Default = '', The name of the I3AntennaDataMap to be converted

Param OutputName:

Default = '', The name of the output I3EFieldMap

ElectronicResponseAdder

"ElectronicResponseAdder" (C++ I3Module)

<undocumented>

Param ElectronicsResponse:

Default = '', Name of the electronics response service

Param GeometryName:

Default = 'I3AntennaGeometry', Name of the antenna geometry in the frame

Param InputName:

Default = '', The name of the I3AntennaDataMap to add the response to

Param OutputName:

Default = '', The name of the output I3AntennaDataMap

ElectronicResponseRemover

"ElectronicResponseRemover" (C++ I3Module)

<undocumented>

Param ElectronicsResponse:

Default = '', Name of the electronics response service

Param GeometryName:

Default = 'I3AntennaGeometry', Name of the antenna geometry in the frame

Param InputName:

Default = '', The name of the frame object to remove the electronic response from

Param OutputName:

Default = '', The name of the output I3AntennaDataMap

EstimateRadioShower

"EstimateRadioShower" (C++ I3Module)

<undocumented>

Param AntennaBadList:

Default = 'RadioAntennasToRemove', Name of the list of bad antenna AntennaKeys

Param HeightAboveBackground:

Default = 10.0, Multiplier above background above which antennas are used in fit.

Param InputName:

Default = '', The name of the I3AntennaDataMap to use in reconstruction

Param OutputName:

Default = '', The name of the reconstructed I3Particle

Param UseOnlyTopThree:

Default = True, Fit a plane to the three highest stations, else use all

MedianFrequencyFilter

"MedianFrequencyFilter" (C++ I3Module)

<undocumented>

Param FilterWindowWidth:

Default = 20, Width of the sliding median window

Param InputName:

Default = '', The name of the I3AntennaDataMap to filter

Param OutputName:

Default = '', The name of the output I3AntennaDataMap

PedestalRemover

"PedestalRemover" (C++ I3Module)

<undocumented>

Param ConvertToVoltage:

Default = True, Convert from ADC bins back to voltage

Param ElectronicsResponse:

Default = '', Name of the electronics response service

Param InputName:

Default = '', The name of the I3AtennaDataMap from which the pedestal will be removed

Param OutputName:

Default = '', The name of the output I3AtennaDataMap

TraceResampler

"TraceResampler" (C++ I3Module)

<undocumented>

Param InputName:

Default = '', The name of the frame object to resample

Param OutputName:

Default = '', The name of the output frame object

Param ResampledBinning:

Default = 1.0, Sampling interval (binning) of the resampled time trace

WaveformChopper

"WaveformChopper" (C++ I3Module)

<undocumented>

Param ApplyInDAQ:

Default = True, True = Apply in Q Frame, False = Apply in P Frame

Param InputName:

Default = '', The name of the I3AntennaDataMap to shorten

Param MaxBin:

Default = 1024, The final index of the desired subset of the waveform

Param MinBin:

Default = 0, The first index of the desired subset of the waveform

Param OutputName:

Default = '', The name of the output I3AntennaDataMap after cutting

WaveformDigitizer

"WaveformDigitizer" (C++ I3Module)

<undocumented>

Param ElectronicsResponse:

Default = '', Name of the electronics response service

Param InputName:

Default = '', The name of the I3AntennaDataMap to digitize

Param OutputName:

Default = '', The name of the output I3AtennaDataMap

ZeroPadder

"ZeroPadder" (C++ I3Module)

<undocumented>

Param AddToFront:

Default = True, True = Put zeros at the front, False = Put in the back

Param AddToTimeSeries:

Default = True, True = Add zeros to times series, False = Add to frequency spectrum

Param AppendN:

Default = 0, Append exactly this many bins to the front/back.

Param ApplyInDAQ:

Default = True, True = Apply in Q Frame, False = Apply in P Frame

Param FixedLength:

Default = 0, Append zeros so that there are this many (or more) entries

Param InputName:

Default = '', The name of the frame object to pad with zeros

Param OutputName:

Default = '', The name of the output frame name

Python I3Modules

ApplySpikeFilter

ApplySpikeFilter (Python I3Module)

This module is essentially a wrapper which runs the icecube.radcube.SpikeFilter class to apply an RFI filter in the frequency domain to an I3AntennaDataMap. The user is expected to provide the name of the input and output data maps as well as values which get passed along to the icecube.radcube.SpikeFilter. For more information see that class’ documentation.

Param ApplyInDAQ:

Default = True, If true, will apply filter on Q Frames, else P Frames

Param FilterFile:

Default = '', Name of the file with the filter values

Param InputName:

Default = '', Name of the I3AntennaDataMap

Param OutputName:

Default = '', Name of the output I3AntennaDataMap

Param SpikePower:

Default = 2.0, How many times to apply the filter

MLChannelSelector

MLChannelSelector (Python I3Module)

Selects antennas using a combination of the ML classifier score and denoised waveforms. Antennas which should be ignored are added to a list of antenna keys and put back into the frame.

Param ClassifierThreshold:

Default = 0.5, Score threshold of the classifier to keep the channel

Param DenoisedAmplitudeThreshold:

Default = 5, Minimium denoised amplitude (in mV) to keep the channel

Param InputName_Denoised:

Default = '', Name of the input AntennaDataMap in the frame

Param InputName_Score:

Default = '', Name of the input I3AntennaClassifierScore in the frame

Param OutputName:

Default = '', Name of the output AntennaDataMap

Param RequireAllChannels:

Default = False, If true, both/all channels must pass the cuts to keep antenna

MLClassifierScore

MLClassifierScore (Python I3Module)

This class is a wrapper to run the icecube.radcube.ml_tools.SingleChannelClassifier on the I3AntennaWaveform in the frame. It takes the waveform in the given frame, compute the Classifier Score for each waveform and put the Score in to the frame. See the documentation for that class for more information on the underlying algorithms.

Param InputName:

Default = '', Name of the input antenna data map

Param ModelFileName:

Default = '', Name of the trained network file

Param OutputName:

Default = '', Name of the output antenna data map

MeasuredNoiseAdder

MeasuredNoiseAdder (Python I3Module)

Uses background waveforms measured in the real antennas to add to simulated radio waveforms to generate realistic simulations. This module is essentially just an I3Module that runs the icecube.radcube.TAXIBackgroundReader and adds these waveforms in the time domain.

Param BinSpikeDeviance:

Default = 512, A bin spike is defined by the value of this parameter w.r.t. local average

Param ConvertToVoltage:

Default = True, If true, will keep waveforms in ADC, otherwise, voltage

Param FrequencyBand:

Default = None, If not None, the waveforms will be filtered on the given band [flow, fhigh]

Param InputName:

Default = '', Name of the input antenna data map

Param InsertNoiseOnly:

Default = False, If set, the pure noise trace will also be added

Param MatchExactNoise:

Default = False, If true, will add measured noise recorded from that exact anntenna/channel

Param MedianOverCascades:

Default = False, Apply the median baselines over non-cascaded/semi-cascaded chunks

Param NoiseAssociationName:

Default = 'TAXINoiseAssociationMap', Frame name of the map that indicates from which antenna the measured noise came from.

Param NTimeBins:

Default = 1000, Number of time bins

Param NTraces:

Default = 1001, Number of traces

Param OutputName:

Default = '', Name of the output antenna data map

Param Overuse:

Default = True, If true, will allow individual background waveforms to be used more than once

Param RemoveBinSpikes:

Default = True, Remove the single bin artifacts using an algorithm depending on the cascading mode

Param RemoveNegativeBins:

Default = True, remove the -1 bins and replace them with average of neighbors

Param RequiredWaveformLength:

Default = -1, If not equal to -1 will only keep background waveforms with the length (Cascading mode)

Param SpikeFilter:

Default = None, If set, the spike filter will be applied to the data as it is read in.

Param SpikePower:

Default = 2, How many times to apply the spike filter (if being used). Recommend >=2

Param TaxiFile:

Default = '', I3 file(s) with TAXI waveforms

RadcubePlotter

RadcubePlotter (Python I3Module)

Module which can be used to quickly makes plots of a single antenna/E-Field. The user gives a list of lists where each entry includes the following five things:

Param AntennaID:

Default = None, Id number of the antenna to plot

Param DataToPlot:

Default = [], List of [Frame Name , last bin, label, isADC, lin/dB/raw]

Param FrequencyUnit:

Default = 0.001, Units of the spectrum axis

Param FrequencyUnitName:

Default = 'MHz', Units of the spectrum axis

Param OutputDir:

Default = '', Directory where to save plots

Param PlotSingleFrame:

Default = False, If true, stop tray from running after the first P frame

Param ShowHilbert:

Default = False, If true, the Hilbert envelope will be plotted

Param StationID:

Default = None, Id number of the station to plot

Param TimeUnit:

Default = 1.0, Units of the time-series axis

Param TimeUnitName:

Default = 'ns', Units of the time-series axis

Param VoltageUnit:

Default = 1.0000000000000004e-12, Units of the time-series amplitudes

Param VoltageUnitName:

Default = 'mV', Units of the spectrum axis

Param ZoomToPulse:

Default = 300, If non-zero, will zoom in on the pulse in the waveforms using the specified width

RemoveTAXIArtifacts

RemoveTAXIArtifacts (Python I3Module)

This class is a wrapper to run the icecube.radcube.TAXIArtifactRemover on the measured digitized waveforms in the frame. See the documentation for that class for more information on the underlying algorithms

Param BaselineValue:

Default = 8192, Value to set the baselines to in ADC bins

Param BinSpikeDeviance:

Default = 1024, Parameter which defines what constitutes a bin spike

Param InputName:

Default = '', Name of the input antenna data map

Param MedianOverCascades:

Default = True, Apply the median baselines over non-cascaded/semi-cascaded chunks

Param OutputName:

Default = '', Name of the output antenna data map

Param RemoveBinSpikes:

Default = True, Remove the single bin artifacts using an algorithm depending on the cascading mode

Param RemoveNegativeBins:

Default = True, Removes the -1 bins and replace it with average

SimulateFromStar

SimulateFromStar (Python I3Module)

Simulates shower on a specified array using simulations on a star shaped pattern. This class does three things:

Param CoreRadius:

Default = 0.0, The radius from RandomCoreCenter within which the cores will be placed

Param DirectoryList:

Default = [], List of paths to CORSIKA/CoREAS sims

Param NThrows:

Default = 1, How many random cores per shower

Param PiggybackMode:

Default = False, Set to true if you are doing radio + other simulation

Param PiggybackPrimary:

Default = 'MCPrimary', The particle in the frame that will set the seed for the particle

Param RandomCoreCenter:

Default = [0.0, 0.0], The core will be randomized about this point

Param RandomCoreList:

Default = [], The list of I3Positions will be used to generate the cores of showers. Note: the shower axis will go through this point but will be raised to the CORSIKA OBSLEV

Param RNGSeed:

Default = 666, Seed for the randomization of the core location

WaveformDenoiser

WaveformDenoiser (Python I3Module)

This module loads and applies a pre-trained ML network on the specified I3AntennaDataMap. The application of the network on the data is performed by the icecube.radcube.ml_tools.TimeSeriesDenoiser. Note that to use this class, you must have Tensorflow installed.

Param InputName:

Default = '', Name of the input antenna data map

Param ModelFileName:

Default = '', Name of the trained network file

Param OutputName:

Default = '', Name of the output antenna data map

C++ ServiceFactorys

I3AntennaResponseFactory

"I3AntennaResponseFactory" (C++ ServiceFactory)

<undocumented>

Param AntennaType:

Default = icecube._dataclasses.AntennaType.SKALA2, Type of antenna being used

Param InstallServiceAs:

Default = 'I3AntennaResponse', Install the random service at the following location

Param OverrideHeadDir:

Default = '', Override of the normal location to look for antenna response files

I3ElectronicsResponseFactory

"I3ElectronicsResponseFactory" (C++ ServiceFactory)

<undocumented>

Param ADCPedestalVolage:

Default = 0.0, The voltage corresponding to the middle of the ADC bit depth

Param ADCVoltageRange:

Default = 5.000000000000001e-10, Amplitude of voltages that can be read by digitizer before saturation

Param AdditionalGain:

Default = 0, Amount of additional gain to add (flat in freq space)

Param AntennaType:

Default = icecube._dataclasses.AntennaType.SKALA2, The antenna type to be used

Param CableTemperature:

Default = 235.0, Temperature of the cables

Param CustomResponseFiles:

Default = [], List of files to load into I3ComponentResponses

Param IncludeCables:

Default = False, Include the effects of the cables

Param IncludeLNA:

Default = False, Include the effects of the LNA

Param IncludeRadioBoard:

Default = False, Include the effects of analog electronics

Param IncludeSaturation:

Default = True, Truncate voltages that go out of ADC dynamic range

Param IncludeTaxi:

Default = False, Include the effects of TAXI

Param InstallServiceAs:

Default = '', Install the random service at the following location

Param NADCBits:

Default = 14, Number of bits used in digitization

Param OverrideHeadDir:

Default = '', Override of the normal location to look for electronic response files

Param Temperature:

Default = 285.0, Temperature of the EBox electronics

I3Tray segments

RadioInjection

RadioInjection (I3Tray segment)

This is the segment to use for the standard CORSIKA/CoREAS-to-electronics-response generation. Feed in a list of corsika directories with the particle files and the CoREAS files to the InputFiles parameter. Will make a set of I3Files along with the GCD file for this event.

Param InputFiles:

Default = [],

Param ElectronicServiceName:

Default = 'NOTSET',

Param AntennaServiceName:

Default = 'NOTSET',

Param RandomServiceName:

Default = 'NOTSET',

Param MakeGCD:

Default = True,

Param AddToGCD:

Default = False,

Param ThermalNoiseTemp:

Default = 30.0,

Param OutputName:

Default = 'RadioTAXIWaveform',

Param PiggybackMode:

Default = False,

Param MakeGFrameForEach:

Default = False,

Param RNGSeed:

Default = 666,

RadioReconPrep

RadioReconPrep (I3Tray segment)

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

Param ElectronicServiceName:

Default = 'electronicResponseName',

Param InputName:

Default = 'NONE_PROVIDED',

Param OutputName:

Default = 'DeconvolvedWavforms',

Param BandwidthLimits:

Default = [0.07, 0.35000000000000003],

Param EstimateShower:

Default = True,

Param SNRThreshold:

Default = 20,