def test_filter_online(self): runs = load_tracker_runs() values = list(runs.reco.unique()) assert ["express", "online", "prompt", "rereco"] == values filtered = filter_online(runs) assert ["online"] == list(filtered.reco.unique())
def test_is_commissioning(): tracker_runs = load_tracker_runs() add_is_commissioning(tracker_runs) assert "is_commissioning" in tracker_runs tracker_runs.set_index(["run_number", "reco"], inplace=True) assert not tracker_runs.loc[(314848, "prompt"), "is_commissioning"] assert not tracker_runs.loc[(314848, "express"), "is_commissioning"] assert not tracker_runs.loc[(314848, "online"), "is_commissioning"] assert not tracker_runs.loc[(321766, "prompt"), "is_commissioning"] assert not tracker_runs.loc[(321766, "express"), "is_commissioning"] assert not tracker_runs.loc[(321766, "online"), "is_commissioning"] assert not tracker_runs.loc[(321773, "prompt"), "is_commissioning"] assert not tracker_runs.loc[(321773, "express"), "is_commissioning"] assert not tracker_runs.loc[(321773, "online"), "is_commissioning"] assert tracker_runs.loc[(314472, "prompt"), "is_commissioning"] assert tracker_runs.loc[(314472, "express"), "is_commissioning"] assert tracker_runs.loc[(314472, "online"), "is_commissioning"] assert tracker_runs.loc[(314541, "express"), "is_commissioning"] assert tracker_runs.loc[(314541, "online"), "is_commissioning"]
def test_add_bad_reason(): runs = load_tracker_runs() tkdqm_runs = load_tkdqmdoctor_runs() runs = merge_runreg_tkdqmdoc(runs, tkdqm_runs) runs = runs.pipe(filter_collisions) print(runs.columns) runs = runs.pipe(add_bad_reason) runs = runs.loc[runs["tracking"] == "BAD", [ "run_number", "bad_reason", "pixel_comment", "strip_comment", "tracking_comment", "comment", ], ] setup_pandas_display(max_rows=200) runs = runs.loc[~runs.bad_reason.isnull(), :] pandas.set_option("display.max_colwidth", -1) print(runs)
def test_add_status_summary(): runs = load_tracker_runs() runs = runs.pipe(add_status_summary) runs.set_index(["run_number", "reco"], inplace=True) assert runs.loc[(313052, "express"), "status_summary"] == "Pixel Excluded" assert runs.loc[(313084, "prompt"), "status_summary"] == "Good"
def test_plot_angular_entropy(): runs = (load_tracker_runs().pipe(filter_collisions).pipe( filter_express).pipe(add_is_bad).pipe(add_is_special).pipe( add_is_commissioning).pipe(add_is_heavy_ion).pipe( exclude_commissioning).pipe(exclude_special).pipe( filter_run_number_range, 317400, 317500).pipe(add_angular_entropy)) plot_angular_entropy(runs, show=SHOW_PLOTS, save=SHOW_PLOTS)
def test_filter_lumisections(self): runs = load_tracker_runs() assert not runs.empty assert not runs[runs["lumisections"] < 30].empty runs = filter_lumisections_gte(runs, 30) assert not runs.empty assert runs[runs["lumisections"] < 30].empty
def test_exclude_lumisections(self): runs = load_tracker_runs() assert not runs.empty assert not runs[runs["lumisections"] >= 30].empty runs = runs.pipe(exclude_lumisections_gte, 30) assert not runs.empty assert runs[runs["lumisections"] >= 30].empty
def test_load_all_runreg_runs(self): tracker_runs = load_tracker_runs() global_runs = load_global_runs() all_runs = load_all_runreg_runs() assert len(all_runs) == len(tracker_runs) + len( global_runs ), "Increased line count" assert len(list(all_runs)) == max( len(list(tracker_runs)), len(list(global_runs)) ), "Maximum column count"
def test_plot_reference_distribution(): tracker_runs = load_tracker_runs() tkdqmdoctor_runs = load_tkdqmdoctor_runs() runs = merge_runreg_tkdqmdoc(tracker_runs, tkdqmdoctor_runs) runs = (runs.pipe(add_is_bad).pipe(exclude_online).pipe( exclude_rereco).pipe(add_is_commissioning).pipe(add_is_special).pipe( exclude_commissioning).pipe(exclude_special)) plot_reference_distribution(runs, show=SHOW_PLOTS)
def test_load_tracker_runs(self): runs = load_tracker_runs() assert "rda_cmp_pixel" not in runs assert "rda_cmp_strip" not in runs assert "rda_cmp_tracking" not in runs assert "rda_cmp_pix" not in runs assert "rda_cmp_track" not in runs assert "pixel" in runs assert "strip" in runs assert "tracking" in runs assert "csc" not in runs
def test_merge_runreg_histograms(): tracker_runs = load_tracker_runs() histograms = load_all_histogram_folders() runs = merge_runreg_histograms(tracker_runs, histograms) runs.set_index(["run_number", "reco"], inplace=True) assert runs.loc[(327564, "express"), "Seeds.detachedTriplet.mean"] == 10507.7 assert runs.loc[(327564, "express"), "pixel"] == "GOOD" assert pandas.isnull(runs.loc[(314472, "online"), "Seeds.detachedTriplet.mean"])
def test_exclude_collisions(self): runs = load_tracker_runs() values = list(runs.run_class_name.unique()) assert [ "Cosmics18", "Commissioning18", "Collisions18", "Collisions18SpecialRun", ] == values collisions = exclude_collisions(runs) assert ["Cosmics18", "Commissioning18"] == list(collisions.run_class_name.unique())
def test_merge_runreg_tkdqmdoctor_runs(): tracker_runs = load_tracker_runs() tkdqm = load_tkdqmdoctor_runs() tracker_size = len(tracker_runs) tracker_column_count = len(list(tracker_runs)) assert 36 == tracker_column_count merged = merge_runreg_tkdqmdoc(tracker_runs, tkdqm) merged_column_count = len(list(merged)) assert len(tracker_runs) == tracker_size, "No Change in Line count" assert tracker_column_count + 6 == merged_column_count, "Increased Column count"
def test_add_reference_cost(): tracker_runs = load_tracker_runs() tkdqmdoc_runs = load_tkdqmdoctor_runs() runs = merge_runreg_tkdqmdoc(tracker_runs, tkdqmdoc_runs) assert "reference_cost" not in runs add_reference_cost(runs) assert "reference_cost" in runs runs.set_index(["run_number", "reco"], inplace=True) assert math.isclose(runs.loc[(315322, "prompt"), "reference_cost"], 0.130825, abs_tol=0.01)
def test_filter_run_number_range(): runs = load_tracker_runs().pipe(filter_run_number_range, 316199, 316216) assert { 316199, 316200, 316201, 316202, 316204, 316205, 316207, 316208, 316209, 316210, 316213, 316214, 316216, } == set(runs.run_number.unique())
def test_merge_runreg_oms(): tracker_runs = load_tracker_runs() oms = load_oms_runs() tracker_size = len(tracker_runs) tracker_column_count = len(list(tracker_runs)) oms_column_count = len(list(oms)) assert 36 == tracker_column_count assert 35 == oms_column_count merged = merge_runreg_oms(tracker_runs, oms) merged_column_count = len(list(merged)) assert len(tracker_runs) == tracker_size, "No Change in Line count" assert (tracker_column_count + oms_column_count - 1 == merged_column_count), "Increased Column count"
def test_merge_runreg_runreg(): tracker_runs = load_tracker_runs() global_runs = load_global_runs() tracker_size = len(tracker_runs) global_size = len(global_runs) tracker_column_count = len(list(tracker_runs)) global_column_count = len(list(global_runs)) assert global_column_count > tracker_column_count merged = merge_runreg_runreg(tracker_runs, global_runs) assert len(merged) == tracker_size + global_size, "Line Count increased" assert len(list(merged)) == global_column_count, "Column Count is maximum" assert len(tracker_runs) == tracker_size, "Nothing changed in tracker runs" assert len(global_runs) == global_size, "Nothing changed in global runs" assert global_column_count > tracker_column_count
def test_reference_cost(): run_number = 315322 ref_run_number = 315705 expected_cost = 0.130825 tracker_runs = load_tracker_runs() tkdqmdoctor_runs = load_tkdqmdoctor_runs() runs = merge_runreg_tkdqmdoc(tracker_runs, tkdqmdoctor_runs) runs.set_index(["run_number", "reco"], inplace=True) assert runs.loc[(run_number, "prompt"), "reference_run_number"] == ref_run_number matrix = extract_tracking_map_content( load_tracking_map(run_number, "prompt")) ref_matrix = extract_tracking_map_content( load_tracking_map(ref_run_number, "prompt")) assert math.isclose(reference_cost(matrix, ref_matrix), expected_cost, abs_tol=0.01)
def test_run_numbers(): tracker_runs = load_tracker_runs() runs = tracker_runs.pipe(filter_run_number_range, 313181, 313183) assert set([313181, 313182, 313183]) == set(runs.pipe(extract_run_numbers))
def test_plot_pairs(): tracker_runs = load_tracker_runs() plot_pairs(tracker_runs, show=SHOW_PLOTS)