Skip to content

athompson-git/pyCEvNS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 

Repository files navigation

pyCEvNS -- an open-source CEvNS calculator with MCMC sampling of new physics parameters and experimental systematics

This package provides convenient methods for calculting neutrino experiment events and fitting new physics parameter.

Requirements

  • scipy
  • numpy
  • pandas
  • mpmath

Basic usage

import ingredient:

from pyCEvNS.flux import *
from pyCEvNS.oscillation import *
from pyCEvNS.detectors import *
from pyCEvNS.events import *

define your neutrino flux, detector, and neutrino interaction:

det = Detector('csi', efficiency=eff_coherent)
flux = NeutrinoFluxFactory().get('coherent')
interaction = NeutrinoNucleusElasticVector(NSIparameters(), HelmFormFactor(5.5))
exposure = 4466

calculate the events:

print(interaction.events(det.er_min, det.er_max, 'e', flux, det, exposure) + 
      interaction.events(det.er_min, det.er_max, 'ebar', flux, det, exposure)+
     interaction.events(det.er_min, det.er_max, 'mu', flux, det, exposure)+
     interaction.events(det.er_min, det.er_max, 'mubar', flux, det, exposure)+
     interaction.events(det.er_min, det.er_max, 'tau', flux, det, exposure)+
     interaction.events(det.er_min, det.er_max, 'taubar', flux, det, exposure))
138.46516348290166

Oscllations

The neutrino flux can go through a long distance and oscillate, this can be done via:

fs = NeutrinoFluxFactory().get('solar')
osc = OscillatorFactory().get('solar')
fs = osc.transform(fs)

Now fs is the oscillated flux at the detector.

About

python package for CEvNS

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.8%
  • C++ 0.2%