예제 #1
0
    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())
예제 #2
0
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"]
예제 #3
0
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)
예제 #4
0
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"
예제 #5
0
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)
예제 #6
0
    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
예제 #7
0
    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"
예제 #9
0
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
예제 #11
0
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"])
예제 #12
0
    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())
예제 #13
0
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"
예제 #14
0
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)
예제 #15
0
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())
예제 #16
0
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"
예제 #17
0
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
예제 #18
0
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)
예제 #19
0
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))
예제 #20
0
def test_plot_pairs():
    tracker_runs = load_tracker_runs()
    plot_pairs(tracker_runs, show=SHOW_PLOTS)