Skip to main content

Package implements the formalism for calculating passing fraction as discussed in JCAP07(2018)047.

Project description

PyPI version Build Status Python versions

nuVeto

This package calculates the effect of a detector veto on the high-energy atmospheric neutrino flux via detection of muons that reach the detector. The result calculated is the passing-flux or passing-fraction of atmospheric neutrinos as a function of energy and zenith angle.

Fluxes

Getting started

It is recommended to work within a Python virtual environment.

python3 -m venv vdir
source vdir/bin/activate

Installing

pip install nuVeto

This will install numpy, scipy and MCEq.

As of v2.3.1 a suite of tests is also packaged. It uses pytest, which can be optionally installed and run as follows.

pip install nuVeto[testing]
pytest --pyargs nuVeto

Extras are pip install nuVeto[plotting, resources] which will install necessary packages for making plots and generating alternative detector response parameterizations (muon reaching probabilities).

Note that v2.0 and higher rely on the updated version of MCEq. For the legacy version that relies on MCEq_classic do git checkout v1.5 and see the README.

Usage

The simplest way to run is

from nuVeto.nuveto import passing
from nuVeto.utils import Units
import crflux.models as pm

enu = 1e5*Units.GeV
cos_theta = 0.5
pf = passing(enu, cos_theta, kind='conv nu_mu',
             pmodel=(pm.HillasGaisser2012, 'H3a'),
             hadr='SIBYLL2.3c', depth=1950*Units.m,
             density=('CORSIKA', ('SouthPole','December')))

where kind can be (conv|pr|_parent_) nu_(e|mu)(bar)

See examples/plots.py for more detailed examples.

Building muon detection probabilities

Pdet

To calculate the passing fraction requires knowing the muon detection probability as a function of the overburden and energy of the muon at the surface. This is constructed from a convolution of the muon reaching probability and the detector response. The scripts for generating the necessary files are not packaged but provided in the resources/ directory, which can be obtained with a clone of this repository. They also require some extra dependencies, which can be installed with pip install nuVeto[resources].

The muon reaching probability is constructed from MMC simulations and is provided for propagation in ice in resources/mu/mmc/ice_(allm97|bb).pklz for two different cross section parameterizations. The detector response probability must be defined in resources/mu/pl.py as a function of the muon energy (at detector). Then, construct the overall muon detection probability.

cd resources/mu
./mu.py -o mymudet.pkl --plight pl_step_1000 mmc/ice_allm97.pklz

To use the newly generated file, pass the stem without file extension as a string to the prpl argument.

passing(enu, cos_theta, prpl='mymudet')`.

Contributers

Carlos Arguelles, Sergio Palomares-Ruiz, Austin Schneider, Logan Wille, Tianlu Yuan

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

nuveto-2.3.2.tar.gz (12.3 MB view details)

Uploaded Source

Built Distribution

nuVeto-2.3.2-py3-none-any.whl (360.2 kB view details)

Uploaded Python 3

File details

Details for the file nuveto-2.3.2.tar.gz.

File metadata

  • Download URL: nuveto-2.3.2.tar.gz
  • Upload date:
  • Size: 12.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for nuveto-2.3.2.tar.gz
Algorithm Hash digest
SHA256 ec0bab86c67d2edda15f95a1ad5eed40cd6ccb423ddd229471093b3c5d4d1ae5
MD5 db70db3a14495a4004d3e897f5cc8a87
BLAKE2b-256 e84caf9f90bd6de108dd5c9bfe9653531d04710cc66844d0865c21ea0ccf824f

See more details on using hashes here.

File details

Details for the file nuVeto-2.3.2-py3-none-any.whl.

File metadata

  • Download URL: nuVeto-2.3.2-py3-none-any.whl
  • Upload date:
  • Size: 360.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for nuVeto-2.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4674d27553ee34c79b4f3c199cd974f9ee8943f5dea1cb899ecaa282024ff29f
MD5 961845b97c21fcfde703ad2b4ec50201
BLAKE2b-256 43ae9af000ac9f95f8f2f88dca9c9294f0828391f720e4ffeef286ec0289b395

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