Пример #1
0
nmes = ["ISM", "IBM2"]
cnmes = ["blue", "red"]

########################################
### Create a confidence-limit calculator.
### We use in this case the Feldman-Cousins memoizer.
fcm = conflimits.FCMemoizer(0.9)
fcm.ReadTableAverageUpperLimits(DATA_PATH + 'FC90.dat')

exp = experiment.Experiment(name, isotope.Se82, eff, eres, bkg, mass)

i = 0
XA = [[3e+2, 1e+4, 2, 200], [3e+2, 1e+4, 2, 80]]
for nme in nmes:

    isotope.SelectNMESet(nmeset.nmedb[nme])
    MBB = []
    MT = arange(10, 10010, 10.)
    MBB = [
        exp.sensitivity(mt * units.kg * units.year, fcm) / units.meV
        for mt in MT
    ]

    color = cnmes[i]
    linestyle = 'solid'

    plt.plot(MT, MBB, color, linewidth=2.5, ls=linestyle)
    ax = plt.subplot(111)
    plt.axis(XA[i])
    plt.xlabel('Exposure (kg year)')
    plt.ylabel(r'$m_{\beta\beta}$ (meV)')
Пример #2
0
### This script generates a table with the constant A for all isotopes
### for a given NME calculation method.
### N.B. The script expects to be living within the folder 'examples' 
### of the pybbsens distribution.

import os.path
FILE_PATH = os.path.dirname(os.path.realpath(__file__))

import sys
sys.path.append(FILE_PATH + '/..')

from pybbsens import isotope
from pybbsens import nmeset
from pybbsens import units
import math

isodb = isotope.isotopes
isotope.SelectNMESet(nmeset.nmedb['ISM']) #<< Choose here your favourite method

print "Isotope\t A [meV (kg yr)^-1/2]"
print "--------------------------------"

for symbol in isodb:
    A = isodb[symbol].constant_A() / (units.meV * math.sqrt(units.kg*units.year))
    print "%s\t %.0f" % (symbol, A)
Пример #3
0
import os.path
FILE_PATH = os.path.dirname(os.path.realpath(__file__))
DATA_PATH = FILE_PATH + '/../data/'
import sys
sys.path.append(FILE_PATH + '/..')

import csv
from numpy import arange
from pybbsens import units
from pybbsens import isotope
from pybbsens import experiment
from pybbsens import conflimits
from pybbsens import nmeset

isotope.SelectNMESet(nmeset.nmedb['QRPA_Jy'])

########################################
### EXPERIMENT DATA ####################

### The following parameters are not relevant for this calculation.
### Choose dummy values.
eff = .3
res = 1. * units.keV
mass = 0.

### Background counts in ROI per unit of exposure
bkg_in_ROI = [x / (units.kg * units.year) for x in [0.1, 0.01, 0.001, 0.]]

########################################
### Create a confidence-limit calculator.
Пример #4
0
DATA_PATH = FILE_PATH + '/../data/'
import sys
sys.path.append(FILE_PATH + '/..')

from pybbsens import units
from pybbsens import isotope
from pybbsens import experiment
from pybbsens import conflimits
from pybbsens import nmeset

name = "EXO200"
isot = isotope.Xe136
eff = 0.846
eres = isot.Qbb * 0.0153 * 2.35
bkg = 5.E-3 / (units.keV * units.kg * units.year)
mass = 76. * units.kg
expo = 100. * units.kg * units.year

EXO200 = experiment.Experiment(name, isotope.Xe136, eff, eres, bkg, mass)

FCM = conflimits.FCMemoizer(0.9)
FCM.ReadTableAverageUpperLimits(DATA_PATH + 'FC90.dat')

for key in nmeset.nmedb:
    print "NME = ", key
    isotope.SelectNMESet(nmeset.nmedb[key])

    mbb = EXO200.sensitivity(expo, FCM)
    print "mbb (meV) =", mbb / units.meV
    hl = isot.half_life(mbb)
    print "Tonu (year) =", hl / units.year