SNEWS2 / snewpy

A Python package for working with supernova neutrinos
https://snewpy.readthedocs.io
BSD 3-Clause "New" or "Revised" License
26 stars 19 forks source link

`MixingParameters` presets #195

Closed JostMigenda closed 1 year ago

JostMigenda commented 2 years ago

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.

JostMigenda commented 2 years ago

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.