cait.limit

class cait.limit.Limit(exposure: float, component_mass: int | float = array([112.411, 183.84, 63.996]), component_nucleons: int | float = array([112, 184, 16]), confidence=0.9)[source]

Bases: object

A class for the calculation of Yellin Maximum Gap Limits.

Parameters:
  • exposure (float) – The exposure in kg days.

  • component_mass (array of floats) – The masses of all components within the detector material.

  • component_nucleons (array of ints) – The number of nucleons of all components within the detector material.

  • confidence (float) – Confidence level of limit.

calc_upper_limit(ll: int | float, ul: int | float, steps: int, plot: bool = True)[source]

Calculate the wimp cross section upper limit for a given detector.

Parameters:
  • ll – float, The lowest mass to calculate a limit for.

  • ul – float, The highest mass to calculate a limit for.

  • steps – The number of values for that we want to calculate the limit.

  • plot – bool, If True we plot the limit.

Return x:

The wimp masses.

Return y:

The exclusion cross sections.

detector_upper_limit(m_chi: int | float)[source]

Calculated the cross section upper limit for given detector observations and a given wimp mass.

Parameters:

m_chi – The WIMP mass.

import_efficiencies(paths: list)[source]

Imports the efficiencies of all components from a given list of paths.

The file has to be in an xy format, first column is the energies, second the efficiency.

Parameters:

paths – list of string, the paths to the efficiencies of all components

import_observations(path: str)[source]

Import the observed recoils of a detector.

File is in x file format with one recoil energy per line.

Parameters:

path – string, the path to the file with the observed energies

plot_observations(bins=1000, title=None)[source]

Plot the observed recoil histogram.

Parameters:
  • bins – int, the number of bins in the histogram

  • title – string, the title of the plot

plot_recoil_distribution(wimp_masses=[3.0, 5.0, 8.0])[source]

Plot the expected recoil spectra, including cut efficiencies.

Parameters:

wimp_masses – list of float, the wimp masses for that we want to do the plot

plot_wimp_distribution(wimp_masses: list = [3.0, 5.0, 8.0])[source]

Plot the expected WIMP energy distribution.

Parameters:

wimp_masses – list of float, the wimp masses for that we want to do the plot

cait.limit.expected_interaction_rate(e_recoil: int | float, m_chi: int | float, a_nucleons: int)[source]

Yields the expected differential interaction rate between Dark Matter particles and a compound-nucleus.

Parameters:
  • e_recoil – Given in keV.

  • m_chi – Considered mass of the Dark Matter particle in GeV.

  • a_nucleons – Number A of nucleons in the compound-nucleus.

Returns:

dR/dE in kg^-1 d^-1 keV^-1.

cait.limit.expected_recoil_rate(e_recoil: int | float, m_chi: int | float, component_mass: list, component_nucleons: list, component_efficiencies: list, exposure: int | float)[source]

Yields the expected differential recoil rate between Dark Matter particles and all compound-nuclei.

Parameters:
  • e_recoil – Given in keV.

  • m_chi – Considered mass of the Dark Matter particle in GeV.

  • component_mass – Mass of all atom nucleons in atomic units (u).

  • component_nucleons – Number nucleons in all atoms.

  • component_efficiencies – List of cut efficiencies of the atom nucleons. Must all have same length.

  • exposure – The exposure in kg days.

Returns:

dN/dE in keV^-1.