Skip to main content

Tabulated representation of a muon-calibrated muon and neutrino flux model

Project description

daemonflux: DAta-drivEn and MuOn-calibrated Neutrino flux

Daemonflux is a tabulated/splined version of the an atmospheric flux model calibrated on muon spectrometer data. For the details about how daemonflux is built and calibrated to muon data the following publication.

@article{Yanez:2023lsy,
    author = "Ya\~nez, Juan Pablo and Fedynitch, Anatoli",
    title = "{daemonflux: DAta-drivEn MuOn-calibrated Neutrino Flux}",
    eprint = "2303.00022",
    archivePrefix = "arXiv",
    primaryClass = "hep-ph",
    month = "2",
    year = "2023"
}

Requirements

  • Python > 3.7, numpy, scipy
  • matplotlib for examples

Installation

a) From PyPi:

pip install daemonflux

b) From source in editable mode, so the package gets updated after each git pull:

$ git clone https://github.com/mceq-project/daemonflux
$ cd daemonflux
$ python3 -m pip install -e .

Quickstart

To see more features and a detailed example, refer to the example notebook. In summary, the process of calculating calibrated fluxes from the provided tables is as follows:

from daemonflux import Flux
import numpy as np
import matplotlib.pyplot as plt

daemonflux = Flux(location='generic')
egrid = np.logspace(0,5) # Energy in GeV

fl = daemonflux.flux(egrid, '15', 'numuflux')
err = daemonflux.error(egrid, '15', 'numuflux')
plt.loglog(egrid, fl, color='k')
plt.fill_between(egrid, fl + err, fl - err,
    color='r', alpha=.3, label=r'1$\sigma$ error')
...

Resulting in the following figure:

Muon Neutrino Flux plot

Explanation of quantities and units

For neutrinos, the methods Flux.flux and Flux.error return values in the units of $(E/\text{GeV})^3/(\text{GeV }\text{s }\text{sr }\text{cm}^2)$, i.e. multiplied by $E^3$. For muon quantities are reported as a function of total momentum instead of energy, i.e. the units are $(p/\text{(GeV/c)})^3/(\text{(GeV/c) } \text{s }\text{sr }\text{cm}^2)$. Natural units $\hbar=c=1$ are used everywhere.

The quantities are:

  • muons: muflux, muratio, mu+, mu-,
  • muon neutrinos: numuflux, numuratio, numu, antinumu, flavorratio
  • electron neutrinos: nueflux, nueratio, nue, antinue, flavorratio

Those titled XXXflux are the sum of particle and antiparticle fluxes numuflux = numu + antinumu, the ratio is numuratio = numu/antinumu, and the is defined as flavorratio = (numu + antinumu)/(nue + antinue).

The total_ quantities, such as total_muflux, represent the total flux, which includes both conventional and prompt atmospheric fluxes. However, unlike the conventional flux, the prompt flux is not calibrated using the daemonflux method, as surface muons are not sensitive to prompt fluxes. As a result, the prompt component does not include correction parameters or errors. It is important to note, however, that the conventional part of the flux remains calibrated, so the total_ flux is simply the sum of the calibrated conventional and uncalibrated prompt fluxes.

Using parameter correlations represented by the covariance matrix

The parameters of the model are correlated. These correlations are drdetermined from the data we have used for the fit. The errors are already computed taking the covariance matrix into account when using the error method. If daemonflux is used in a fit with free floating parameters, one can include these correlations by adding the chi2 as additional penalty term. The chi2 for the current combination of parameters can be obtained by calling flux.chi2({dictionary of modified parameters}).

LICENSE

BSD 3-Clause License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

daemonflux-0.8.1.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

daemonflux-0.8.1-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file daemonflux-0.8.1.tar.gz.

File metadata

  • Download URL: daemonflux-0.8.1.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for daemonflux-0.8.1.tar.gz
Algorithm Hash digest
SHA256 a5b131285f7149cdbc683188a4e2ef292bb7362b8acc112aab846188316d6db2
MD5 2f25ec431c95f2007749b5d2c42caaf0
BLAKE2b-256 3f7a033a46428bcdd26dea60656837dae2c85d832e6eb8324e39fe4e0d31f552

See more details on using hashes here.

File details

Details for the file daemonflux-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: daemonflux-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for daemonflux-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6a49a0438dda7bbfb3a1df2b35fd72bb98caac1a20cf618cf02cc658079b2f24
MD5 bcfdb04ef25a4e89588ffc2c7aee3d9b
BLAKE2b-256 7b8c2282a0b0a1e352aef9810ade79c2f6362de21335609c288f0c99eb5847e0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page