icecube.simprod.weights module

icecube.simprod.weights.CalcAreaSum(cylinderRadius, cylinderLength, thetaMin, thetaMax)

Integrated area*solid_angle for a cylindrical sampling surface

icecube.simprod.weights.CalcFluxSum(energyPrimaryMin, energyPrimaryMax, primarySpectralIndex, CRMass)

Integrated total flux

icecube.simprod.weights.CalcHoerandelFluxSum(emin, dslope=0.0)

Calculation of FluxSum for Hoerandel spectrum

class icecube.simprod.weights.Corsika5CompWeightModule(context)

Bases: I3Module

Configure((I3Module)arg1) None :
C++ signature :

void Configure(PythonModule<I3Module> {lvalue})

DAQ(frame)

Process the frames

class icecube.simprod.weights.CorsikaWeightModule(context)

Bases: I3Module

Sets TimeScale and FluxSum for unweighted CORSIKA

Configure((I3Module)arg1) None :
C++ signature :

void Configure(PythonModule<I3Module> {lvalue})

DAQ(frame)

Process the frames

icecube.simprod.weights.FiveComponent(nshowers, emin, emax, normalization=[10.0, 5.0, 3.0, 2.0, 1.0], gamma=[-2.0, -2.0, -2.0, -2.0, -2.0], LowerCutOffType='EnergyPerNucleon', UpperCutOffType='EnergyPerParticle')

Mimic 5-component dCORSIKA with configurations for 5 single-primary runs.

Parameters:
  • nshowers – Total number of showers to generate

  • emin – Minimum primary energy [GeV]

  • emax – Maximum primary energy [GeV]

  • normalization – Ratios of the total number of generated showers in each component

  • gamma – Spectral index of each component

  • LowerCutOffType – If EnergyPerNucleon, make lower bound of energy range proportional to A

  • UpperCutOffType – If EnergyPerNucleon, make upper bound of energy range proportional to A

class icecube.simprod.weights.PolygonatoWeightModule(ctx)

Bases: I3Module

Configure((I3Module)arg1) None :
C++ signature :

void Configure(PythonModule<I3Module> {lvalue})

DAQ((I3Module)arg1, (I3Frame)arg2) None :
C++ signature :

void DAQ(PythonModule<I3Module> {lvalue},boost::shared_ptr<I3Frame>)

class icecube.simprod.weights.PowerLawComponent(NEvents, PrimaryType, EnergyPrimaryMin, EnergyPrimaryMax, PrimarySpectralIndex)

Bases: NamedTuple

EnergyPrimaryMax: float

Alias for field number 3

EnergyPrimaryMin: float

Alias for field number 2

NEvents: int

Alias for field number 0

PrimarySpectralIndex: float

Alias for field number 4

PrimaryType: int

Alias for field number 1

icecube.simprod.weights.findPrimary(primaries, weightdict)

Sometimes you have to reverse engineer the weights to extract the primary from the frame