Currently, the snewpy.neutrino.MixingParameters class contains two sets of default oscillation parameters (for NMO and IMO), both from NuFit 5.0 (July 2020). Since then, there’s been a 5.1 update in October 2021 and NuFit 6.0 is likely to come out later this year. We should regularly update these parameters as new NuFit (or PDG?) publications come out.
A problem with updating those parameters is that different SNEWPY versions would then give different results. This prevents users from updating and may also break some automated tests. To eliminate these issues, I would suggest adding a second argument to the initialisation, so that we could create MixingParameters e.g. using MixingParameters(MassHierarchy.INVERTED, "NuFit5.0") or MixingParameters(MassHierarchy.NORMAL, "NuFit5.1").
Calling it without this second argument, i.e. just MixingParameters(MassHierarchy.NORMAL), would always refer to the latest data.
Note: How best to expose this functionality in higher level functions (e.g. snewpy.snowglobes.generate_fluence) will depend on how the FlavorTransformations are redesigned; see discussion in #189.
Currently, the
snewpy.neutrino.MixingParameters
class contains two sets of default oscillation parameters (for NMO and IMO), both from NuFit 5.0 (July 2020). Since then, there’s been a 5.1 update in October 2021 and NuFit 6.0 is likely to come out later this year. We should regularly update these parameters as new NuFit (or PDG?) publications come out.A problem with updating those parameters is that different SNEWPY versions would then give different results. This prevents users from updating and may also break some automated tests. To eliminate these issues, I would suggest adding a second argument to the initialisation, so that we could create MixingParameters e.g. using
MixingParameters(MassHierarchy.INVERTED, "NuFit5.0")
orMixingParameters(MassHierarchy.NORMAL, "NuFit5.1")
. Calling it without this second argument, i.e. justMixingParameters(MassHierarchy.NORMAL)
, would always refer to the latest data.