Project monopole-generator

Invoke with: import icecube.monopole_generator

C++ I3Modules

I3MonopoleGenerator

"I3MonopoleGenerator" (C++ I3Module)

<undocumented>

Param Azi_on_disk:

Default = nan, Set the azimuth coordinate of the starting position on the generation disk. Randomized if NaN. Example: 45. * I3Units::deg

Param AzimuthRange:

Default = [0.0, 6.283185307179586], List of lower and upper azimuth bound. Use this parameter to restrict the direction of the monopole. Example: [0.0 * I3Units::deg, 360.0 * I3Units::deg]

Param BetaRange:

Default = [nan, nan], Velocity range of the monopole particle as array of lower and upper boundary. If a fixed velocify is desired, set lower and upper boundary to the same velocity. Express the velocities as ratio of the speed of light, c. For example: [0.1, 0.4].

Param Disk_dist:

Default = 1000.0, Distance of the generation disk from the center of IceCube. (Default: 1000 * I3Units::m)

Param Disk_rad:

Default = 800.0, Radius of Generation Disk. (Default: 800 * I3Units::m)

Param InfoName:

Default = 'MPInfoDict', Name of the monopole info dictionary. The generator writes generation parameters into this dictionary.

Param Length:

Default = -1.0, Length of the monopole track. Can be NaN or any length. The default value is calculated to twice the disk distance. Set to -1 to indicate that the default value, 2 * Disk_dist, should be used.

Param Mass:

Default = nan, Mass of the monopole particle. For slow monopoles, this parameter is optional. For fast monopoles, this parameter is needed to calculate energy losses along the trajectory. Example: 1e7 * I3Units::GeV.

Param Nevents:

Default = 0, Number of events to be generated for the simulation.

Param PowerLawIndex:

Default = 0.0, If a power-law index is given, the velocities of the simulated monopole particles will follow a power-law distribution with the given index. This can be helpful ti gain statistics for low velocities. If no power-law index is given, the velocities will be uniformly distributed (default).

Param Rad_on_disk:

Default = nan, Set the radius coordinate of the starting position on the generation disk. Randomized if NaN. Example: 5. * I3Units::m

Param ShiftCenter:

Default = [0.0, 0.0, 0.0], Shifts the monopole. This is useful to explore different geometries. To shift according to the center of DeepCore (IC86-I SLOP trigger only acts on DC), configure with ShiftCenter = ([46.0 * icetray.I3Units.m, -34.5 * icetray.I3Units.m, -330.0 * icetray.I3Units.m]).

Param StartTime:

Default = 0.0, The time, measured from the beginning of the event, the monopole particle should be started. Example: 0. * I3Units::s

Param TreeName:

Default = 'I3MCTree', Name of the I3MCTree to write the generated monopole particle to.

Param ZenithRange:

Default = [0.0, 3.141592653589793], List of lower and upper zenith bound. Use this parameter to restrict the direction of the monopole. Example: [0.0 * I3Units::deg, 180.0 * I3Units::deg]

I3MonopolePropagator

"I3MonopolePropagator" (C++ I3Module)

A module to convert Monopoles into a chain of propagated particles through the ice.

Param BetaThreshold:

Default = 0.09, Threshold that determines whether the monopole propagator handles the monopole particle as slow (non-relativistic) or fast (relativistic) particle. This determines the interaction types the propagator will consider. See: README.md

Param CalculateEnergy:

Default = True, If set to true, the energy loss of the monopole particles due to ionization effects is calculated during the propagation. If set to false, the monopole- particle energy and velocity are not decreasing during propagation.

Param EnergyScaleFactor:

Default = 1.0, Scale down the cascade energy in order to test the influence of other decay channels.

Param InfoName:

Default = 'MPInfoDict', Name of the monopole info dictionary, containing all necessary information about the generation parameters.

Param InputTreeName:

Default = 'I3MCTree', Name of the I3MCTree containing the monopole generated by the monopole generator.

Param MaxDistanceFromCenter:

Default = 1300.0, How far beyond the detector to propagate the monopole. If the start of the monopole is further from the detector than this value, the propagator will IGNORE the parameter and propagate until it reaches the same distance away on far side of detector. Example: 800 * I3Units::m

Param MaxLength:

Default = 10.0, Assuming stepsize is NaN, this represents the largest segment the propagator will generate. Example: 10 * I3Units::m

Param MeanFreePath:

Default = nan, Mean free path (lambda) between catalyzed proton decays. Example: 1 * I3Units::m

Param MinLength:

Default = 0.001, Assuming StepSize is NaN, this represents the smallest segment the propagator will generate. Example: 0.001 * I3Units::m

Param OutputTreeName:

Default = 'I3MCTree', Name of the I3MCTree to write the monopole into after propagation.

Param Profiling:

Default = False, If true, adds a profile (type I3VectorDouble) of the monopole speed for each track segment to the frame.

Param ScaleEnergy:

Default = False, Whether to set the mean free path (lambda) to 1 meter and scale up the energy by 1/lambda. The overall light output stays comparable, while the number of secondary particles in the I3MCTree is reduced. This saves computing resources especially for short mean free paths.

Param SpeedMin:

Default = 0.026981321219999996, The speed at which the propagator should stop propagating. The value should not be set below around 0.1c if one is using CalculateEnergy, since the ionization formula assumes it above this range. If you use a lower speed min, please make sure you turn off CalculateEnergy and treat this as a track segmentor only. Example: 0.09 * I3Constants::c

Param StepSize:

Default = nan, Length of monopole track segments. If set this will override MinLength and MaxLength. Otherwise, MinLength and MaxLength are used to set the lower and upper bounds on the track segment lengths. Example: 1 * I3Units::m

Param UseCorrectDecay:

Default = False, Whether to simulate back-to-back positrons (460 MeV) and neutral pions (480 MeV) instead of just one positron. The overall light output is similar, but correct decay has twice as much secondary particles in the I3MCTree. This option cannot be used together with ScaleEnergy or EnergyScaleFactor, since the energies are hard coded.

I3Tray segments

DefaultMonopoleSimulationTray

DefaultMonopoleSimulationTray (I3Tray segment)

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

Param RunID:

Default = None,

Param Nevents:

Default = None,

Param GCDFile:

Default = None,

Param Mass:

Default = None,

Param betaRange:

Default = None,

Param taudnde:

Default = None,

Param Disk_dist:

Default = 1000.0,

Param Disk_rad:

Default = 800.0,

Param PowerLawIndex:

Default = nan,

Param StepSize:

Default = nan,

Param MinLength:

Default = 1.0,

Param MaxLength:

Default = 50.0,

Param MaxDistanceFromCenter:

Default = 1300.0,

Param ZenithRange:

Default = (0.0, 3.141592653589793),

Param AzimuthRange:

Default = (0.0, 6.283185307179586),

Param ShiftCenter:

Default = (0.0, 0.0, 0.0),

Param icemodel:

Default = '$I3_BUILD/ppc/resources/ice/',

Param If:

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