Beispiel #1
0
'''
This scripts aims at testing Tritium specific processors.
Author: M. Guigue
Date: Apr 1 2018
'''

import unittest

from morpho.utilities import morphologging, parser

logger = morphologging.getLogger(__name__)


class TritiumTests(unittest.TestCase):
    def test_KuriePlot(self):
        from mermithid.processors.TritiumSpectrum import TritiumSpectrumGenerator, KuriePlotFitter
        from morpho.processors.plots import Histogram
        from mermithid.misc.Constants import seconds_per_year, tritium_endpoint

        specGen_config = {
            "volume": 7e-6 * 1e-2,  # [m3]
            "density": 3e17,  # [1/m3]
            "duration": 1. * seconds_per_year() / 12.,  # [s]
            "neutrino_mass": 0,  # [eV]
            # [KEmin,KEmax]
            "energy_window":
            [tritium_endpoint() - 1e3,
             tritium_endpoint() + 1e3],
            # "energy_window": [0.,tritium_endpoint()+1e3], # [KEmin,KEmax]
            "background": 1e-6,  # [counts/eV/s]
            "energy_resolution": 5  # [eV]
Beispiel #2
0
'''
Plot an histogram of the variables of interest
Authors: M. Guigue
Date: 06/26/18
'''

from __future__ import absolute_import

from morpho.utilities import morphologging, reader
from morpho.processors import BaseProcessor
from .RootCanvas import RootCanvas
from .RootHistogram import RootHistogram
logger = morphologging.getLogger(__name__)

__all__ = []
__all__.append(__name__)


class Histogram(BaseProcessor):
    '''
    Processor that generates a canvas and a histogram and saves it.
    TODO:
    - Add the possibility to plot several histograms with the same binning on the same canvas
    - Generalize this processor so it understands if if should be a 1D or a 2D histogram

    Parameters:
        n_bins_x: number of bins (default=100)
        range: range of x (list)
        variables (required): name(s) of the variable in the data
        width: window width (default=600)
        height: window height (default=400)
Beispiel #3
0
'''
This scripts aims at testing Tritium specific processors.
Author: C. Claessens
Date: Apr 6 2020
'''

import unittest

from morpho.utilities import morphologging
logger = morphologging.getLogger(__name__)

import matplotlib.pyplot as plt


class FakeDataGenerationTest(unittest.TestCase):
    def test_data_generation(self):
        from mermithid.processors.TritiumSpectrum.FakeDataGenerator import FakeDataGenerator

        specGen_config = {
            "apply_efficiency": False,
            "efficiency_path":
            "./combined_energy_corrected_eff_at_quad_trap_frequencies.json",
            "simplified_lineshape_path": None,
            "detailed_or_simplified_lineshape":
            "detailed",  #"simplified" or "detailed"
            "use_lineshape":
            False,  # if False only gaussian smearing is applied
            "return_frequency": True,
            "scattering_sigma": 18.6,  # only used if use_lineshape = True
            "scattering_prob": 0.77,  # only used if use_lineshape = True
            "B_field": 0.9578186017836624,