Project DOMLauncher

Invoke with: import icecube.DOMLauncher

C++ I3Modules

DOMLauncher

"DOMLauncher" (C++ I3Module)

A module that simulates the detector response.

Param BeaconLaunches:

Default = True, If beacon launches should be simulated.

Param BeaconLaunchRate:

Default = 6e-10, The rate of beacon launches.

Param DroopedPulses:

Default = True, If drooped SPE pulse templates should be used.

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 = 'I3MCPulseSeriesMap', Input is an I3MCPulseSeriesMap.

Param MergePulses:

Default = True, If pulses in the past should be merged. Speeds up considerably if the number of pulses per DOM to process is large.

Param MultiFrameEvents:

Default = False, Does not reset the DOMs on each frame

Param Output:

Default = 'I3DOMLaunchSeriesMap', The output name of the DOMLaunchSeries.

Param RandomServiceName:

Default = 'I3RandomService', Name of the random service in the context.

Param SuperNovaMode:

Default = False, Outputs discriminators in a I3MapKeyVectorDouble

Param UseTabulatedPT:

Default = True, Pulse templates used in simulation are interpolated for better speed performance with the cost of worse precision and larger memory consumption.

PMTResponseSimulator

"PMTResponseSimulator" (C++ I3Module)

A module which simulates the behaviour of a PMT.

Param AfterPulseProbability:

Default = 0.0593, The probability that a pulse in I3DOM produces an accompanying afterpulse

Param ApplySaturation:

Default = True, Whether the weights of the hits should be modified to account for saturation

Param EHEApproximation:

Default = False, Dont treat hits with more than 10PEs individually anymore.

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 = 'I3MCPESeriesMap', The name of the I3MCPESeriesMap to process.

Param LatePulseProbability:

Default = 0.035, The probability that a pulse arrives late in I3DOM

Param LowMem:

Default = False, If true, attempt to reduce peak memory use by repeatedly merging hits as they are generated. Use of this option requires that MergeHits be true. WARNING: Use of this option may slightly reduce precision and drastically increase running time. It is potentially useful for very bright events, and probably harmful for very long events. Please only use this if you know what you are doing, which probably requires benchmarking both runtime and peak memory use.

Param MergeHits:

Default = True, Whether hits very near in time should be merged in the output

Param Output:

Default = 'I3MCPulseSeriesMap', The name of the I3MCPESeriesMap to be produced

Param PrePulseProbability:

Default = 0.003, The probability that a pulse arrives early in I3DOM

Param RandomServiceName:

Default = 'I3RandomService', Name of the random service in the context.

Param UsePMTJitter:

Default = True, Whether the times of pulses should be randomly perturbed

Param UseSPEDistribution:

Default = True, Whether hit charges should be drawn from the proper charge distribution or left ideal

Python I3Modules

split_by_type

split_by_type (Python I3Module)

A module that takes an input map (MCPE, MCPulse) and splits it into separate maps depending on the module types of each hit. This will be useful for the transitionally case of separate DOM simulation code for Gen2/Upgrade from Gen1’s DOMLauncher code. Note that you can set one of the output names in the map to match the input: in that case, the input hit map will be overwritten.

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 InputMapName:

Default = 'I3MCPulseSeriesMap', Name of an I3MCPE or I3MCPulse map from the frame

Param Mapping:

Default = {icecube._dataclasses.OMType.PDOM: 'I3MCPulseSeriesMapExtensions', icecube._dataclasses.OMType.mDOM: 'I3MCPulseSeriesMapExtensions', icecube._dataclasses.OMType.DEgg: 'I3MCPulseSeriesMapExtensions', icecube._dataclasses.OMType.LOM: 'I3MCPulseSeriesMapExtensions', icecube._dataclasses.OMType.LOM16: 'I3MCPulseSeriesMapExtensions', icecube._dataclasses.OMType.LOM18: 'I3MCPulseSeriesMapExtensions', icecube._dataclasses.OMType.IceCube: 'I3MCPulseSeriesMap', icecube._dataclasses.OMType.IceTop: 'I3MCPulseSeriesMap'}, Python dictionary mapping each OMType (I3OMGeo.OMType.X) to an output name. Any unnamed types will be put into a default map.

I3Tray segments

DetectorResponse

DetectorResponse (I3Tray segment)

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

Param pmt_config:

Default = {},

Param dom_config:

Default = {},