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 anI3AntennaDataMap
. The user is expected to provide the name of the input and output data maps as well as values which get passed along to theicecube.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 theicecube.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
,