Neutrino flux models

Effective areas

icecube.gen2_analysis.effective_areas.create_throughgoing_aeff(energy_resolution=<icecube.gen2_analysis.energy_resolution.MuonEnergyResolution object>, energy_threshold=<icecube.gen2_analysis.effective_areas.StepFunction object>, veto_coverage=<function <lambda>>, selection_efficiency=<icecube.gen2_analysis.effective_areas.MuonSelectionEfficiency object>, surface=<icecube.gen2_analysis.surfaces.Cylinder object>, psf=<icecube.gen2_analysis.angular_resolution.PointSpreadFunction object>, psi_bins=array([ 0., 0.00558953, 0.00790478, 0.00968134, 0.01117905, 0.01249856, 0.01369149, 0.0147885, 0.01580957, 0.01676858, 0.01767564, 0.01853836, 0.01936269, 0.02015333, 0.0209141, 0.02164815, 0.02235811, 0.02304621, 0.02371435, 0.02436418, 0.02499712, 0.02561443, 0.02621721, 0.02680643, 0.02738298, 0.02794764, 0.02850111, 0.02904403, 0.029577, 0.03010052, 0.0306151, 0.03112117, 0.03161914, 0.03210939, 0.03259226, 0.03306809, 0.03353716, 0.03399977, 0.03445616, 0.03490659]), cos_theta=None)[source]

Create an effective area for neutrino-induced, incoming muons

Parameters:
  • selection_efficiency – an energy- and zenith-dependent muon selection efficiency
  • surface (surfaces.UprightSurface) – the fiducial surface surrounding the detector
  • veto_coverage – a callable f(cos_theta), returning the fraction of the fiducial area that is in the shadow of a surface veto
  • energy_threshold (VetoThreshold) – the energy-dependent veto passing fraction
  • energy_resolution (energy_resolution.MuonEnergyResolution) – the muon energy resolution for events that pass the selection
  • psf (angular_resolution.PointSpreadFunction) – the muon point spread function for events that pass the selection
  • cos_theta – sky binning to use. If cos_theta is an integer, bin in a HEALpix map with this NSide, otherwise bin in cosine of zenith angle. If None, use the native binning of the muon production efficiency histogram.
  • psi_bins – edges of bins in muon/reconstruction opening angle (radians)
Type:

MuonSelectionEfficiency

Returns:

an effective_area object

Diffuse sources

class icecube.gen2_analysis.diffuse.AtmosphericNu(effective_area, flux, livetime, hard_veto_threshold=None)[source]

The diffuse atmospheric neutrino flux. point_source_background() returns the corresponding point source background.

The units of the model are scalings of the underlying flux parameterization.

classmethod conventional(effective_area, livetime, veto_threshold=1000.0, hard_veto_threshold=None)[source]

Instantiate a conventional atmospheric neutrino flux, using the Honda parameterization with corrections for the cosmic ray knee and the fraction of atmospheric neutrinos accompanied by muons.

The flux will be integrated over the effective area’s energy and zenith angle bins the first time this method is called. Depending on the number of bins this can take several minutes. Subsequent calls with the same veto threshold and an effective area of the same shape will use the cached flux and instantiate much more quickly.

Parameters:
  • effective_area – an instance of effective_areas.effective_area
  • livetime – observation time, in years
  • veto_threshold – muon energy, in GeV, above which atmospheric muons can be vetoed. This will be used to modify the effective atmospheric neutrino flux.
  • hard_veto_threshold – if not None, reduce the atmospheric flux to 1e-4 of its nominal value in the southern hemisphere to model the effect of a surface veto. This assumes that an energy threshold has been applied to the effective area.
point_source_background(zenith_index, livetime=None, with_energy=True)[source]

Convert flux to a form suitable for calculating point source backgrounds. The predictions in expectations will be differential in the opening-angle bins provided in the effective area instead of being integrated over them.

Parameters:
  • zenith_index – index of the sky bin to use. May be either an integer (for single point source searches) or a slice (for stacking searches)
  • livetime – if not None, the actual livetime to integrate over in seconds
  • with_energy – if False, integrate over reconstructed energy. Otherwise, provide a differential prediction in reconstructed energy.
classmethod prompt(effective_area, livetime, veto_threshold=1000.0, hard_veto_threshold=None)[source]

Instantiate a prompt atmospheric neutrino flux, using the Enberg parameterization with corrections for the cosmic ray knee and the fraction of atmospheric neutrinos accompanied by muons.

The parameters have the same meanings as in conventional()

class icecube.gen2_analysis.diffuse.DiffuseAstro(effective_area, livetime, flavor=None, gamma_name='gamma')[source]

A diffuse astrophysical neutrino flux. point_source_background() returns the corresponding point source background.

The unit is the differential flux per neutrino flavor at 100 TeV, in units of \(10^{-18} \,\, \rm GeV^{-1} \, cm^{-2} \, s^{-1} \, sr^{-1}\)

expectations(gamma=-2, **kwargs)[source]
Parameters:gamma – the spectral index \(\gamma\).
Returns:the observable distributions expected for a flux of

\(10^{-18} \frac{E_\nu}{\rm 100 \, TeV}^{\gamma} \,\, \rm GeV^{-1} \, cm^{-2} \, s^{-1} \, sr^{-1}\) per neutrino flavor

class icecube.gen2_analysis.diffuse.AhlersGZK(*args, **kwargs)[source]

Minimal GZK neutrino flux, assuming that post-ankle flux in Auger/TA is pure protons see: http://journals.aps.org/prd/abstract/10.1103/PhysRevD.86.083010 Fig 2. left panel, solid red line (protons with source evolution)

class icecube.gen2_analysis.diffuse.FermiGalacticEmission(effective_area, livetime=1.0)[source]

Diffuse emission from the galaxy, modeled as 0.95 times the Fermi \(\pi^0\) map, extrapolated with a spectral index of 2.71.

Point sources

class icecube.gen2_analysis.pointsource.SteadyPointSource(effective_area, livetime, zenith_bin, with_energy=True)[source]

A stead point source of neutrinos.

The unit is the differential flux per neutrino flavor at 1 TeV, in units of \(10^{-12} \,\, \rm TeV^{-1} \, cm^{-2} \, s^{-1}\)