Neutrino Physics: snewpy.neutrino

This module implements basic neutrino properties that are used throughout SNEWPY.

class snewpy.neutrino.Flavor(value)[source]

Enumeration of CCSN Neutrino flavors.

property is_electron

Return True for Flavor.NU_E and Flavor.NU_E_BAR.

property is_neutrino

Return True for Flavor.NU_E and Flavor.NU_X.

to_tex()[source]

LaTeX-compatible string representations of flavor.

class snewpy.neutrino.MassHierarchy(value)[source]

Neutrino mass ordering: NORMAL or INVERTED.

classmethod derive_from_dm2(dm12_2, dm32_2, dm31_2)[source]

derive the mass hierarchy based on the given mass squared differences

class snewpy.neutrino.MixingParameters3Flavor(theta12: Unit('deg'), theta13: Unit('deg'), theta23: Unit('deg'), deltaCP: Unit('deg'), dm21_2: Unit('eV2'), dm32_2: Quantity | None = None, dm31_2: Quantity | None = None, mass_order: MassHierarchy | None = None)[source]

Mixing angles and mass differences, assuming three neutrino flavors. This class contains the default values used throughout SNEWPY, which are based on NuFIT 5.0 results from July 2020, published in JHEP 09 (2020) 178 [arXiv:2007.14792].

get_mass_squared_differences()[source]

Mass squared differences .

Returns:

tuple – dm21_2, dm31_2, dm32_2.

get_mixing_angles()[source]

Mixing angles of the PMNS matrix.

Returns:

tuple – Angles theta12, theta13, theta23.

class snewpy.neutrino.MixingParameters4Flavor(theta12: Unit("deg"), theta13: Unit("deg"), theta23: Unit("deg"), deltaCP: Unit("deg"), dm21_2: Unit("eV2"), dm32_2: ~astropy.units.quantity.Quantity | None = None, dm31_2: ~astropy.units.quantity.Quantity | None = None, mass_order: ~snewpy.neutrino.MassHierarchy | None = None, theta14: Unit("deg") = <Quantity 0. deg>, theta24: Unit("deg") = <Quantity 0. deg>, theta34: Unit("deg") = <Quantity 0. deg>, dm41_2: Unit("eV2") = <Quantity 0. eV2>, dm42_2: ~astropy.units.quantity.Quantity | None = None, dm43_2: ~astropy.units.quantity.Quantity | None = None)[source]

A class for four flavor neutrino mixing. ..Note: it is an extension of MixingParameters3Flavor, and can be constructed using it:

>>> pars_3f = MixingParameters() #standard 3flavor mixing
>>> pars_4f = MixingParameters4Flavor(**pars_3f, theta14=90<<u.deg, dm41_2=1<<u.GeV**2)