From 0a4f23add5229cca26ffa63ce347d985e92d056e Mon Sep 17 00:00:00 2001
From: Felix Metzner <felixmetzner@outlook.com>
Date: Wed, 17 Apr 2024 18:20:47 +0200
Subject: [PATCH] Working on nuisance pull plots.

---
 .../fitting/dedicated_fit_approach/plotting_tools.py     | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/rdstar/offline_analysis/fitting/dedicated_fit_approach/plotting_tools.py b/rdstar/offline_analysis/fitting/dedicated_fit_approach/plotting_tools.py
index ecaca24e1..b5631b305 100644
--- a/rdstar/offline_analysis/fitting/dedicated_fit_approach/plotting_tools.py
+++ b/rdstar/offline_analysis/fitting/dedicated_fit_approach/plotting_tools.py
@@ -107,10 +107,10 @@ class NuisancePullOverviewInfos:
             _param_ids_list.append(_current_param_ids)
 
             _nn: int = sys_info.number_of_nuisances
-            _current_labels: List[str] = [sys_info.latex_str + "" if _nn == 1 else f" ({i}+1)" for i in range(_nn)]
+            _current_labels: List[str] = [sys_info.latex_str + ("" if _nn == 1 else f" ({i+1})") for i in range(_nn)]
             _nu_latex_label_str_list.extend(_current_labels)
 
-        self._param_ids: np.ndarray = np.concatenate(_param_ids_list)
+        self._param_ids: np.ndarray = np.concatenate(_param_ids_list, axis=0).astype(dtype=np.int64)
         self._param_values: np.ndarray = fit_result.param_values[self._param_ids]
         self._param_errors: np.ndarray = fit_result.errors[self._param_ids]
 
@@ -194,7 +194,7 @@ class NuisancePullPlotter:
 
         plot_file_name: str = f"{self.plot_name_prefix}_{infos.name}"
         if fig_size is None:
-            _fig_size: Tuple[float, float] = (1.0 + infos.number_of_nuisances / 4.0, 5.0)
+            _fig_size: Tuple[float, float] = (max(2.0 + infos.number_of_nuisances / 2.0, 4.0), 5.0)
         else:
             _fig_size = fig_size
 
@@ -295,7 +295,8 @@ class NuisancePullPlotter:
         plt.title(r"$\mathrm{Nuisance\;Parameter\;Pulls}$", fontsize=22)
         plt.xlabel(r"$\mathrm{Standard\;Deviations}$", fontsize=18, **xlabel_pos)
 
-        ax.set_yticklabels(infos.nuisance_pull_latex_labels)
+        ax.set_yticks(np.arange(infos.number_of_nuisances))
+        ax.set_yticklabels(infos.nuisance_pull_latex_labels, fontsize=14)
 
         export(
             fig=fig,
-- 
GitLab