icecube.snowstorm.perturber module¶
- class icecube.snowstorm.perturber.Perturber¶
Bases:
object
- add(name, parametrization, distribution)¶
Adds a new systematic parametrization to the perturber.
- Parameters:
name – A descriptive name for the parametrization to add. This should contain enough information so that analyzers can later identify the parametrizations and know how they affect the simulation.
parametrization – An instance of Parametrization that transforms a parameter vector into frame objects.
distribution – An instance of Distribution with the same dimensionality as parametrization.
- perturb(rng, frame)¶
Apply all parametrizations that were previously added.
- Parameters:
rng – An instance of an I3RandomService to use for sampling.
frame – The frame the parametrizations will be applied to.
- to_frame(frame)¶
Store bookkeeping info in an I3Frame. This will store the serialized sampling distributions for all parametrizations along with their name in the frame.
- Parameters:
frame – The frame to hold the bookkeeping info.