Skip to content

Latest commit

 

History

History
43 lines (37 loc) · 1.45 KB

README.md

File metadata and controls

43 lines (37 loc) · 1.45 KB

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.

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.