''' 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]
''' 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)
''' 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,