Skip to content

Commit

Permalink
Silence warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
gonzaponte committed Nov 12, 2024
1 parent e1d0b45 commit bc95538
Show file tree
Hide file tree
Showing 20 changed files with 170 additions and 29 deletions.
26 changes: 20 additions & 6 deletions invisible_cities/cities/beersheba_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
from . beersheba import distribute_energy
from .. core.testing_utils import assert_dataframes_close
from .. core.testing_utils import assert_tables_equality
from .. core.testing_utils import ignore_warning
from .. types.symbols import HitEnergy
from .. types.symbols import DeconvolutionMode
from .. types.symbols import CutType
Expand Down Expand Up @@ -55,7 +56,9 @@ def test_distribute_energy(ICDATADIR):
assert np.isclose (true_dst1.E.sum(), true_dst2.E.sum())


@mark.filterwarnings("ignore:.*not of kdst type.*:UserWarning")
@ignore_warning.no_config_group
@ignore_warning.str_length
@ignore_warning.not_kdst
def test_beersheba_contains_all_tables(beersheba_config, config_tmpdir):
path_out = os.path.join(config_tmpdir, "beersheba_contains_all_tables.h5")
beersheba_config.update(dict( file_out = path_out
Expand All @@ -72,7 +75,9 @@ def test_beersheba_contains_all_tables(beersheba_config, config_tmpdir):
assert node in h5out.root


@mark.filterwarnings("ignore:.*not of kdst type.*:UserWarning")
@ignore_warning.no_config_group
@ignore_warning.str_length
@ignore_warning.not_kdst
@mark.parametrize("deco", DeconvolutionMode)
@mark.slow
def test_beersheba_exact_result( deco
Expand Down Expand Up @@ -103,7 +108,9 @@ def test_beersheba_exact_result( deco
assert_tables_equality(got, expected, rtol=1e-6)


@mark.filterwarnings("ignore:.*not of kdst type.*:UserWarning")
@ignore_warning.no_config_group
@ignore_warning.str_length
@ignore_warning.not_kdst
@mark.slow
def test_beersheba_exact_result_with_satkill( ICDATADIR
, beersheba_config
Expand Down Expand Up @@ -145,6 +152,8 @@ def test_beersheba_only_ndim_2_is_valid(beersheba_config, ndim, config_tmpdir):
beersheba(**beersheba_config)


@ignore_warning.no_config_group
@ignore_warning.str_length
def test_beersheba_copies_kdst(beersheba_config, Th228_hits, config_tmpdir):
path_out = os.path.join(config_tmpdir, "beersheba_copies_kdst.h5")
beersheba_config.update(dict( file_out = path_out
Expand All @@ -157,6 +166,8 @@ def test_beersheba_copies_kdst(beersheba_config, Th228_hits, config_tmpdir):
assert expected_events == got_events


@ignore_warning.no_config_group
@ignore_warning.str_length
def test_beersheba_thresholds_hits(beersheba_config, config_tmpdir):
path_out = os.path.join(config_tmpdir, "beersheba_thresholds_hits.h5")
threshold = 15 * units.pes
Expand All @@ -170,6 +181,8 @@ def test_beersheba_thresholds_hits(beersheba_config, config_tmpdir):
assert np.all(df.Q >= threshold)


@ignore_warning.no_config_group
@ignore_warning.str_length
def test_beersheba_filters_empty_dfs(beersheba_config, config_tmpdir):
path_out = os.path.join(config_tmpdir, "beersheba_filters_empty_dfs.h5")
q_cut = 1e8 * units.pes
Expand All @@ -188,9 +201,10 @@ def test_beersheba_filters_empty_dfs(beersheba_config, config_tmpdir):
assert df.passed.tolist() == [False]


@mark.filterwarnings("ignore:Event .* does not contain hits")
@mark.filterwarnings("ignore:dataframe contains strings longer than allowed")
@mark.filterwarnings("ignore:Input file does not contain /config group")
@ignore_warning.no_config_group
@ignore_warning.str_length
@ignore_warning.not_kdst
@ignore_warning.no_hits
def test_beersheba_does_not_crash_with_no_hits(beersheba_config, Th228_hits_missing, config_tmpdir):
path_out = os.path.join(config_tmpdir, "beersheba_does_not_crash_with_no_hits.h5")
beersheba_config.update(dict( files_in = Th228_hits_missing
Expand Down
3 changes: 3 additions & 0 deletions invisible_cities/cities/berenice_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@
from . berenice import berenice
from .. core.configure import configure
from .. core.testing_utils import assert_tables_equality
from .. core.testing_utils import ignore_warning
from .. types.symbols import all_events


@ignore_warning.no_config_group
def test_berenice_sipmdarkcurrent(config_tmpdir, ICDATADIR):
PATH_IN = os.path.join(ICDATADIR , 'sipmdarkcurrentdata.h5' )
PATH_OUT = os.path.join(config_tmpdir, 'sipmdarkcurrentdata_HIST.h5')
Expand Down Expand Up @@ -41,6 +43,7 @@ def test_berenice_sipmdarkcurrent(config_tmpdir, ICDATADIR):
assert np.all(ch_in_sipm == ch_out_sipm)


@ignore_warning.no_config_group
def test_berenice_exact_result(ICDATADIR, output_tmpdir):
file_in = os.path.join(ICDATADIR , "sipmdarkcurrentdata.h5")
file_out = os.path.join(output_tmpdir, "exact_result_berenice.h5")
Expand Down
4 changes: 4 additions & 0 deletions invisible_cities/cities/buffy_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,14 @@
from .. core import system_of_units as units
from .. core .configure import configure
from .. core .testing_utils import assert_tables_equality
from .. core .testing_utils import ignore_warning
from .. database import load_db
from .. io .mcinfo_io import load_mcsensor_response_df

from . buffy import buffy


@ignore_warning.no_config_group
def test_buffy_kr(config_tmpdir, full_sim_file):
file_in = full_sim_file
file_out = os.path.join(config_tmpdir, 'Kr_fullsim.buffers.h5')
Expand Down Expand Up @@ -156,6 +158,7 @@ def test_buffy_empty_file(config_tmpdir, ICDATADIR, fn_first, fn_second):
buffy(**conf)


@ignore_warning.no_config_group
def test_buffy_exact_result(config_tmpdir, ICDATADIR):
np.random.seed(27)

Expand All @@ -182,6 +185,7 @@ def test_buffy_exact_result(config_tmpdir, ICDATADIR):
assert_tables_equality(got, expected)


@ignore_warning.no_config_group
def test_buffy_splits_event(config_tmpdir, ICDATADIR):
file_in = os.path.join(ICDATADIR ,
'nexus_new_kr83m_full.newformat.sim.h5')
Expand Down
24 changes: 17 additions & 7 deletions invisible_cities/cities/cities_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
from pytest import mark
from pytest import raises

from .. core.configure import configure
from .. core.configure import configure
from .. core.testing_utils import ignore_warning


online_cities = "irene dorothea sophronia esmeralda beersheba isaura".split()
mc_cities = "buffy detsim diomira hypathia".split()
Expand All @@ -17,7 +19,10 @@
all_cities_with_event_range = sorted(set(all_cities).difference(set(["eutropia"])))


@mark.filterwarnings("ignore::UserWarning")
@ignore_warning.no_config_group
@ignore_warning.no_mc_tables
@ignore_warning.not_kdst
@ignore_warning.str_length
@mark.parametrize("city", online_cities)
def test_city_empty_input_file(config_tmpdir, ICDATADIR, city):
# All cities run in the online reconstruction chain must run on an
Expand All @@ -37,7 +42,9 @@ def test_city_empty_input_file(config_tmpdir, ICDATADIR, city):
city_function(**conf)


@mark.filterwarnings("ignore::UserWarning")
@ignore_warning.no_config_group
@ignore_warning.not_kdst
@ignore_warning.str_length
@mark.parametrize("city", all_cities_with_event_range)
def test_city_null_event_range(config_tmpdir, ICDATADIR, city):
# All cities must run with event_range = 0
Expand All @@ -54,8 +61,9 @@ def test_city_null_event_range(config_tmpdir, ICDATADIR, city):
city_function(**conf)



@mark.filterwarnings("ignore::UserWarning")
@ignore_warning.no_config_group
@ignore_warning.not_kdst
@ignore_warning.str_length
@mark.parametrize("city", all_cities)
def test_city_output_file_is_compressed(config_tmpdir, ICDATADIR, city):
file_out = os.path.join(config_tmpdir, f"{city}_compression.h5")
Expand Down Expand Up @@ -85,7 +93,9 @@ def test_city_output_file_is_compressed(config_tmpdir, ICDATADIR, city):
assert checked_nodes > 2


@mark.filterwarnings("ignore::UserWarning")
@ignore_warning.no_config_group
@ignore_warning.not_kdst
@ignore_warning.str_length
@mark.parametrize("city", all_cities)
def test_city_output_contains_configuration(config_tmpdir, city):
file_out = os.path.join(config_tmpdir, f"{city}_configuration.h5")
Expand All @@ -107,6 +117,7 @@ def test_city_output_contains_configuration(config_tmpdir, city):
assert len(table[:]) > 0


@ignore_warning.no_config_group
def test_cities_carry_on_configuration_from_previous_ones(ICDATADIR, config_tmpdir):
rwf_file = os.path.join( ICDATADIR, "electrons_40keV_ACTIVE_10evts_RWF.h5")
pmaps_file = os.path.join(config_tmpdir, f"test_cities_carry_on_configuration_pmaps.h5")
Expand Down Expand Up @@ -137,7 +148,6 @@ def test_cities_carry_on_configuration_from_previous_ones(ICDATADIR, config_tmpd
assert len(table[:]) > 0


@mark.filterwarnings("ignore::UserWarning")
@mark.parametrize("city", all_cities)
def test_city_missing_detector_db(city):
# use default config file
Expand Down
12 changes: 7 additions & 5 deletions invisible_cities/cities/components_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
from .. core.exceptions import SensorIDMismatch
from .. core.exceptions import NoInputFiles
from .. core.testing_utils import assert_tables_equality
from .. core.testing_utils import ignore_warning
from .. core import system_of_units as units
from .. evm.event_model import Cluster
from .. evm.event_model import Hit
Expand Down Expand Up @@ -120,7 +121,8 @@ def write_config_file(filename, **kwargs):
, ["electrons_511keV_z250_RWF.h5" , "electrons_1250keV_z250_RWF.h5", "electrons_2500keV_z250_RWF.h5"] )
)
)
@mark.filterwarnings("ignore:files_in contains repeated values")
@ignore_warning.no_config_group
@ignore_warning.repeated_files
def test_city_files_in(case_, files_in, expected, config_tmpdir, ICDATADIR):
"""
Check that all possible files_in inputs are handled properly:
Expand Down Expand Up @@ -162,6 +164,7 @@ def dummy_city( files_in : Union[str, list]
assert sorted(result) == sorted(expected)


@ignore_warning.no_config_group
@mark.parametrize("order", ((0,1), (1,0)))
def test_city_keeps_input_file_ordering(ICDATADIR, config_tmpdir, order):
files_in = [ os.path.join(ICDATADIR, "electrons_511keV_z250_RWF.h5")
Expand Down Expand Up @@ -299,7 +302,7 @@ def test_hits_and_kdst_from_files(ICDATADIR):
assert type(output['kdst']) == pd.DataFrame


@mark.filterwarnings("ignore:Event .* does not contain hits")
@ignore_warning.no_hits
def test_hits_and_kdst_from_files_missing_hits(Th228_hits_missing, config_tmpdir):
n_events_true = len(pd.read_hdf(Th228_hits_missing, "/Run/events"))

Expand Down Expand Up @@ -407,8 +410,7 @@ def test_create_timestamp_greater_with_greater_eventnumber():
assert timestamp_1(evt_no_1) < timestamp_2(evt_no_2)


@mark.filterwarnings("ignore:Zero rate" )
@mark.filterwarnings("ignore:Negative rate")
@ignore_warning.unphysical_rate
def test_create_timestamp_physical_rate():
"""
Check the rate is always physical.
Expand All @@ -427,7 +429,7 @@ def test_create_timestamp_physical_rate():



@mark.filterwarnings("ignore:`max_time` shorter than `buffer_length`")
@ignore_warning.max_time_short
def test_check_max_time_eg_buffer_length():
"""
Check if `max_time` is always equal or greater
Expand Down
13 changes: 12 additions & 1 deletion invisible_cities/cities/detsim_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@
from .. io.dst_io import load_dst
from .. types.symbols import all_events
from .. core.testing_utils import assert_tables_equality
from .. core.testing_utils import ignore_warning


@ignore_warning.no_config_group
def test_detsim_contains_all_tables(ICDATADIR, output_tmpdir):

PATH_IN = os.path.join(ICDATADIR , "nexus_new_kr83m_fast.newformat.sim.h5")
Expand Down Expand Up @@ -40,6 +41,8 @@ def test_detsim_contains_all_tables(ICDATADIR, output_tmpdir):
assert sipmrd.shape == (1, 1792, n_sipm)


@ignore_warning.no_config_group
@ignore_warning.delayed_hits
def test_detsim_filter_active_hits(ICDATADIR, output_tmpdir):
# the first event in test file labels are set to NO_ACTIVE
PATH_IN = os.path.join(ICDATADIR , "nexus_new_kr83m_fast.newformat.sim.noactive.h5")
Expand All @@ -58,6 +61,8 @@ def test_detsim_filter_active_hits(ICDATADIR, output_tmpdir):
np.testing.assert_array_equal(filters["passed"], [False, True])


@ignore_warning.no_config_group
@ignore_warning.delayed_hits
def test_detsim_filter_dark_events(ICDATADIR, output_tmpdir):
# this file contains delayed hits that are filtered out
# leaving a very low energy hit that does not produce electrons
Expand All @@ -80,6 +85,7 @@ def test_detsim_filter_dark_events(ICDATADIR, output_tmpdir):
np.testing.assert_array_equal(filters["passed"], [False])


@ignore_warning.no_config_group
def test_detsim_filter_empty_waveforms(ICDATADIR, output_tmpdir):
# the first event radius is slighty above NEW active radius of 208.0 mm
PATH_IN = os.path.join(ICDATADIR, "nexus_new_kr83m_fast.newformat.sim.emptywfs.h5")
Expand All @@ -101,6 +107,7 @@ def test_detsim_filter_empty_waveforms(ICDATADIR, output_tmpdir):
np.testing.assert_array_equal(filters["passed"], [False, True])


@ignore_warning.no_config_group
def test_detsim_empty_input_file(ICDATADIR, output_tmpdir):

PATH_IN = os.path.join(ICDATADIR , "empty_mcfile.h5")
Expand All @@ -115,6 +122,7 @@ def test_detsim_empty_input_file(ICDATADIR, output_tmpdir):
assert result.evtnum_list == []


@ignore_warning.no_config_group
def test_detsim_exact(ICDATADIR, output_tmpdir):

PATH_IN = os.path.join(ICDATADIR , "nexus_new_kr83m_fast.newformat.sim.h5")
Expand Down Expand Up @@ -149,6 +157,7 @@ def test_detsim_exact(ICDATADIR, output_tmpdir):
assert_tables_equality(got, expected)


@ignore_warning.no_config_group
def test_detsim_exact_time_translation(ICDATADIR, output_tmpdir):

PATH_IN = os.path.join(ICDATADIR , "nexus_new_kr83m_fast.newformat.sim.h5")
Expand Down Expand Up @@ -190,6 +199,7 @@ def test_detsim_exact_time_translation(ICDATADIR, output_tmpdir):
assert_tables_equality(got, expected)


@ignore_warning.no_config_group
def test_detsim_buffer_times(ICDATADIR, output_tmpdir):
"""This test checks that the signal is properly placed in the buffer.
In particular:
Expand Down Expand Up @@ -263,6 +273,7 @@ def test_detsim_buffer_times(ICDATADIR, output_tmpdir):
assert tend == np.floor(s2_tmax / buffer_params["sipm_width"]) * buffer_params["sipm_width"]


@ignore_warning.no_config_group
def test_detsim_hits_without_strings(ICDATADIR, output_tmpdir):
PATH_IN = os.path.join(ICDATADIR , "nexus_next100_nostrings.h5")
PATH_OUT = os.path.join(output_tmpdir, "detsim_nostrings.h5")
Expand Down
9 changes: 8 additions & 1 deletion invisible_cities/cities/diomira_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from .. core.configure import configure
from .. core.testing_utils import assert_dataframes_close
from .. core.testing_utils import assert_tables_equality
from .. core.testing_utils import ignore_warning
from .. database import load_db

from .. io .mcinfo_io import get_event_numbers_in_file
Expand Down Expand Up @@ -46,6 +47,7 @@ def test_diomira_identify_bug(ICDATADIR):
assert np.sum(pmtwf[i]) == 0


@ignore_warning.no_config_group
@mark.slow
def test_diomira_copy_mc_and_offset(ICDATADIR, config_tmpdir):
PATH_IN = os.path.join(ICDATADIR , 'electrons_40keV_z250_MCRD.h5')
Expand Down Expand Up @@ -82,6 +84,7 @@ def test_diomira_copy_mc_and_offset(ICDATADIR, config_tmpdir):
hits_out )


@ignore_warning.no_config_group
@mark.slow
def test_diomira_mismatch_between_input_and_database(ICDATADIR, output_tmpdir):
file_in = os.path.join(ICDATADIR , 'electrons_40keV_z250_MCRD.h5')
Expand Down Expand Up @@ -125,6 +128,8 @@ def test_diomira_trigger_on_masked_pmt_raises_ValueError(ICDATADIR, output_tmpdi
with raises(ValueError):
diomira(**conf)


@ignore_warning.no_config_group
def test_diomira_read_multiple_files(ICDATADIR, output_tmpdir):
file_in = os.path.join(ICDATADIR ,
"Kr83_nexus_v5_03_00_ACTIVE_7bar_3evts*.MCRD.h5")
Expand Down Expand Up @@ -164,6 +169,7 @@ def test_diomira_read_multiple_files(ICDATADIR, output_tmpdir):
assert_dataframes_close(all_particle_in, particles_out)


@ignore_warning.no_config_group
def test_diomira_exact_result(ICDATADIR, output_tmpdir):
file_in = os.path.join(ICDATADIR ,
"Kr83_nexus_v5_03_00_ACTIVE_7bar_3evts.MCRD.h5")
Expand Down Expand Up @@ -197,6 +203,7 @@ def test_diomira_exact_result(ICDATADIR, output_tmpdir):
assert_tables_equality(got, expected)


@ignore_warning.no_config_group
def test_diomira_can_fix_random_seed(output_tmpdir):
file_out = os.path.join(output_tmpdir, "exact_result_diomira.h5")

Expand Down Expand Up @@ -227,7 +234,7 @@ def test_diomira_reproduces_singlepe(ICDATADIR, output_tmpdir):
pmt_gain = load_db.DataPMT('new', run_no).adc_to_pes.values
with tb.open_file(file_out) as h5saved:
pmt_sum_adc = np.sum(h5saved.root.RD.pmtblr, axis=2)

bins = np.arange(-50, 50, 0.5)
bin_centres = np.repeat(shift_to_bin_centers(bins)[np.newaxis, :],
len(pmt_gain), 0)
Expand Down
Loading

0 comments on commit bc95538

Please sign in to comment.