diff --git a/validphys2/src/validphys/config.py b/validphys2/src/validphys/config.py index e24950f39d..6530471051 100644 --- a/validphys2/src/validphys/config.py +++ b/validphys2/src/validphys/config.py @@ -1583,7 +1583,7 @@ def produce_group_dataset_inputs_by_metadata( if processed_metadata_group == "custom_group": group_name = str(dsinput.custom_group) # special case of ALL, grouping everything together - if processed_metadata_group == "ALL": + elif processed_metadata_group == "ALL": group_name = processed_metadata_group # otherwise try and take the key from the metadata. else: diff --git a/validphys2/src/validphys/tests/baseline/test_plot_xq2_custom.png b/validphys2/src/validphys/tests/baseline/test_plot_xq2_custom.png new file mode 100644 index 0000000000..cdf94a76a4 Binary files /dev/null and b/validphys2/src/validphys/tests/baseline/test_plot_xq2_custom.png differ diff --git a/validphys2/src/validphys/tests/test_plots.py b/validphys2/src/validphys/tests/test_plots.py index 72f78b0dfb..004514c71b 100644 --- a/validphys2/src/validphys/tests/test_plots.py +++ b/validphys2/src/validphys/tests/test_plots.py @@ -56,14 +56,40 @@ def test_plot_xq2(): metadata_group = "experiment" dataset_inputs = [ {'dataset': 'NMC'}, - {'dataset': 'ATLASTTBARTOT', 'cfac':['QCD']}, - {'dataset': 'CMSZDIFF12', 'cfac':('QCD', 'NRM'), 'sys':10} - ] - + {'dataset': 'ATLASTTBARTOT', 'cfac': ['QCD']}, + {'dataset': 'CMSZDIFF12', 'cfac': ('QCD', 'NRM'), 'sys': 10}, + ] + return API.plot_xq2( - theoryid=theoryid, - use_cuts=use_cuts, - dataset_inputs=dataset_inputs, - display_cuts=display_cuts, - marker_by=marker_by, - metadata_group=metadata_group) + theoryid=theoryid, + use_cuts=use_cuts, + dataset_inputs=dataset_inputs, + display_cuts=display_cuts, + marker_by=marker_by, + metadata_group=metadata_group, + ) + +@pytest.mark.linux +@pytest.mark.mpl_image_compare +def test_plot_xq2_custom(): + theoryid = THEORYID + use_cuts = "nocuts" + display_cuts = False + + marker_by = "group" + metadata_group = "custom_group" + + dataset_inputs = [ + {'dataset': 'NMC', 'custom_group': 'one'}, + {'dataset': 'ATLASTTBARTOT', 'cfac': ['QCD'], 'custom_group': 'one'}, + {'dataset': 'CMSZDIFF12', 'cfac': ('QCD', 'NRM'), 'sys': 10, 'custom_group': 'two'}, + ] + + return API.plot_xq2( + theoryid=theoryid, + use_cuts=use_cuts, + dataset_inputs=dataset_inputs, + display_cuts=display_cuts, + marker_by=marker_by, + metadata_group=metadata_group, + )