Source code for dddm.detectors.examples

from .experiment import Experiment
import numpy as np


[docs]class XenonSimple(Experiment): detector_name = 'Xe_simple' target_material = 'Xe' exposure_tonne_year = 5 energy_threshold_kev = 10 cut_efficiency = 0.8 detection_efficiency = 0.5 interaction_type = 'SI' location = 'XENON' def __init__(self, n_energy_bins=10, e_min_kev=0, e_max_kev=100, ): super().__init__(n_energy_bins=n_energy_bins, e_min_kev=e_min_kev, e_max_kev=e_max_kev)
[docs] def resolution(self, energies_in_kev): """Simple square root dependency of the energy resolution""" return 0.6 * np.sqrt(energies_in_kev)
[docs] def background_function(self, energies_in_kev): """Assume background free detector""" return np.zeros(len(energies_in_kev))
[docs]class GermaniumSimple(Experiment): detector_name = 'Ge_simple' target_material = 'Ge' exposure_tonne_year = 3 energy_threshold_kev = 10 cut_efficiency = 0.8 detection_efficiency = 0.9 interaction_type = 'SI' location = 'SUF' def __init__(self, n_energy_bins=10, e_min_kev=0, e_max_kev=100, ): super().__init__(n_energy_bins=n_energy_bins, e_min_kev=e_min_kev, e_max_kev=e_max_kev)
[docs] def resolution(self, energies_in_kev): """Simple resolution model""" return np.sqrt(0.3 ** 2 + (0.06 ** 2) * energies_in_kev)
[docs] def background_function(self, energies_in_kev): """Assume background free detector""" return np.zeros(len(energies_in_kev))
[docs]class ArgonSimple(Experiment): detector_name = 'Ar_simple' target_material = 'Ar' exposure_tonne_year = 10 energy_threshold_kev = 30 cut_efficiency = 0.8 detection_efficiency = 0.8 interaction_type = 'SI' location = 'XENON' # Assume also located at LNGS def __init__(self, n_energy_bins=10, e_min_kev=0, e_max_kev=100, ): super().__init__(n_energy_bins=n_energy_bins, e_min_kev=e_min_kev, e_max_kev=e_max_kev)
[docs] def resolution(self, energies_in_kev): """Simple square root dependency of the energy resolution""" return 0.7 * np.sqrt(energies_in_kev)
[docs] def background_function(self, energies_in_kev): """Assume background free detector""" return np.zeros(len(energies_in_kev))