From 89c59cff2657fe72b97af36f2368791a0e9dfd70 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Thu, 27 Apr 2023 21:09:26 +0200 Subject: [PATCH 001/166] added std for 'per channel' style --- notebook/L200-plotting-widgets.ipynb | 69 ++++++++++++---- src/legend_data_monitor/plot_styles.py | 27 ++++++- src/legend_data_monitor/plotting.py | 78 +++++++++---------- .../settings/par-settings.json | 10 +-- src/legend_data_monitor/subsystem.py | 29 +++---- 5 files changed, 138 insertions(+), 75 deletions(-) diff --git a/notebook/L200-plotting-widgets.ipynb b/notebook/L200-plotting-widgets.ipynb index 73b0c24..6113f49 100644 --- a/notebook/L200-plotting-widgets.ipynb +++ b/notebook/L200-plotting-widgets.ipynb @@ -32,9 +32,9 @@ "outputs": [], "source": [ "# ------------------------------------------------------------------------------------------ which data do you want to read? CHANGE ME!\n", - "run = \"r002\" # r000, r001, ...\n", + "run = \"r005\" # r000, r001, ...\n", "subsystem = \"geds\" # KEEP 'geds' for the moment\n", - "folder = \"prod-ref\" # you can change me\n", + "folder = \"prod-ref-temp\" # you can change me\n", "period = \"p03\"\n", "version = \"\" # leave an empty string if you're looking at p03 data\n", "\n", @@ -51,7 +51,7 @@ "import ipywidgets as widgets\n", "from IPython.display import display\n", "from matplotlib import pyplot as plt\n", - "from legend_data_monitor import plot_styles, plotting\n", + "from legend_data_monitor import plot_styles, plotting, utils\n", "\n", "%matplotlib widget\n", "\n", @@ -122,8 +122,8 @@ "\n", "# ------------------------------------------------------------------------------------------ get params (based on event type)\n", "evt_type = evt_type_widget.value\n", - "params = list(shelf[\"monitoring\"][evt_type].keys())\n", - "param_widget.options = params\n", + "#params = list(shelf[\"monitoring\"][evt_type].keys())\n", + "param_widget.options = [\"cuspEmax\"]\n", "\n", "print(\"\\033[91mIf you change me, then RUN AGAIN the next cell!!!\\033[0m\")" ] @@ -154,6 +154,19 @@ "print(f\"...data have beeng loaded!\")" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "b836b69d-b7f5-4131-b6d5-26b637aed57b", + "metadata": {}, + "outputs": [], + "source": [ + "# ------------------------------------------------------------------------------------------ remove problematic dets in cal data\n", + "#df_param = df_param.set_index(\"name\")\n", + "#df_param = df_param.drop(['V01406A', 'V01415A', 'V01387A', 'P00665C', 'P00748B', 'P00748A', 'B00089D'])\n", + "#df_param = df_param.reset_index()" + ] + }, { "cell_type": "markdown", "id": "f1c10c0f-9bed-400f-8174-c6d7e185648b", @@ -190,16 +203,22 @@ "cell_type": "code", "execution_count": null, "id": "2122008e-2a6c-49b6-8a81-d351c1bfd57e", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "# set plotting options\n", "plot_info[\"plot_style\"] = plot_styles_widget.value\n", + "plot_info[\"plot_structure\"] = plot_structures_widget.value\n", "plot_info[\"resampled\"] = resampled_widget.value\n", "plot_info[\"title\"] = \"\" # for plotting purposes\n", "plot_info[\"subsystem\"] = \"\" # for plotting purposes\n", + "plot_info[\"std\"] = False\n", + "\n", + "df_to_plot = df_param\n", + "\n", + "# turn on the std when plotting individual channels together\n", + "if plot_info[\"plot_structure\"] == \"per channel\":\n", + " plot_info[\"std\"] = True\n", "\n", "if data_format_widget.value == \"absolute values\":\n", " plot_info[\"parameter\"] = (\n", @@ -207,8 +226,9 @@ " if \"_var\" in plot_info[\"parameter\"]\n", " else plot_info[\"parameter\"]\n", " )\n", + " plot_info[\"limits\"] = utils.PLOT_INFO[plot_info[\"parameter\"]][\"limits\"][subsystem][\"absolute\"]\n", " plot_info[\"unit_label\"] = plot_info[\"unit\"]\n", - " if plot_info[\"parameter\"] not in df_param:\n", + " if plot_info[\"parameter\"] not in df_to_plot:\n", " print(\"There is no\", plot_info[\"parameter\"])\n", " sys.exit(\"Stopping notebook.\")\n", "if data_format_widget.value == \"% values\":\n", @@ -217,8 +237,9 @@ " if \"_var\" in plot_info[\"parameter\"]\n", " else plot_info[\"parameter\"] + \"_var\"\n", " )\n", + " plot_info[\"limits\"] = utils.PLOT_INFO[plot_info[\"parameter\"].split(\"_var\")[0]][\"limits\"][subsystem][\"variation\"]\n", " plot_info[\"unit_label\"] = \"%\"\n", - " if plot_info[\"parameter\"] not in df_param:\n", + " if plot_info[\"parameter\"] not in df_to_plot:\n", " print(\"There is no\", plot_info[\"parameter\"])\n", " sys.exit(\"Stopping notebook.\")\n", "\n", @@ -227,20 +248,20 @@ " for string in [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]:\n", " if plot_structures_widget.value == \"per channel\":\n", " plotting.plot_per_ch(\n", - " df_param[df_param[\"location\"] == string], plot_info, \"\"\n", + " df_to_plot[df_to_plot[\"location\"] == string], plot_info, \"\"\n", " ) # plot one canvas per channel\n", " elif plot_structures_widget.value == \"per string\":\n", " plotting.plot_per_string(\n", - " df_param[df_param[\"location\"] == string], plot_info, \"\"\n", + " df_to_plot[df_to_plot[\"location\"] == string], plot_info, \"\"\n", " ) # plot one canvas per string\n", "else: # let's get one string in output\n", " if plot_structures_widget.value == \"per channel\":\n", " plotting.plot_per_ch(\n", - " df_param[df_param[\"location\"] == strings_widget.value], plot_info, \"\"\n", + " df_to_plot[df_to_plot[\"location\"] == strings_widget.value], plot_info, \"\"\n", " ) # plot one canvas per channel\n", " elif plot_structures_widget.value == \"per string\":\n", " plotting.plot_per_string(\n", - " df_param[df_param[\"location\"] == strings_widget.value], plot_info, \"\"\n", + " df_to_plot[df_to_plot[\"location\"] == strings_widget.value], plot_info, \"\"\n", " ) # plot one canvas per string" ] }, @@ -279,7 +300,25 @@ ] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, "nbformat": 4, "nbformat_minor": 5 } diff --git a/src/legend_data_monitor/plot_styles.py b/src/legend_data_monitor/plot_styles.py index 04b4d74..01a1adf 100644 --- a/src/legend_data_monitor/plot_styles.py +++ b/src/legend_data_monitor/plot_styles.py @@ -9,7 +9,7 @@ from matplotlib.axes import Axes from matplotlib.dates import DateFormatter, date2num, num2date from matplotlib.figure import Figure -from pandas import DataFrame, Timedelta +from pandas import DataFrame, Timedelta, concat from . import utils @@ -39,6 +39,7 @@ def plot_vs_time( data_channel[plot_info["parameter"]], zorder=0, color=all_col, + linewidth=1, ) # ------------------------------------------------------------------------- @@ -48,6 +49,7 @@ def plot_vs_time( if plot_info["resampled"] != "no": # unless event rate - already resampled and counted in some time window if not plot_info["parameter"] == "event_rate": + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 - resampling # resample in given time window, as start pick the first timestamp in table resampled = ( data_channel.set_index("datetime") @@ -67,10 +69,26 @@ def plot_vs_time( resampled[plot_info["parameter"]], color=res_col, zorder=1, - marker="o", + #marker="o", linestyle="-", ) + # evaluation of std bands, if enabled + if plot_info["std"] is True: + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 - std evaluation + std_data = ( + data_channel.set_index("datetime") + .resample(plot_info["time_window"], origin="start") + .std(numeric_only=True) + ) + std_data = std_data.reset_index() + + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3 - appending std to the resampled dataframe + std_data = std_data.rename(columns={plot_info["parameter"] : "std"}) + new_dataframe = concat([resampled, std_data[['std']]], ignore_index=False, axis=1) + + ax.fill_between(resampled["datetime"].dt.to_pydatetime(), resampled[plot_info["parameter"]] - new_dataframe['std'], resampled[plot_info["parameter"]] + new_dataframe['std'], alpha=0.25, color=res_col) + # ------------------------------------------------------------------------- # beautification # ------------------------------------------------------------------------- @@ -222,6 +240,11 @@ def plot_scatter( ) fig.supylabel(y_label) + # plot the position of the two K lines + if plot_info["parameter"] == "K_events": + ax.axhline(y=1460.822, color="gray", linestyle="--") + ax.axhline(y=1524.6, color="gray", linestyle="--") + # saving x,y data into output files ch_dict = { "values": {"all": data_channel[plot_info["parameter"]], "resampled": []}, diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 47c9a57..4dc5349 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -126,6 +126,9 @@ def make_subsystem_plots( plot_settings["resampled"] if "resampled" in plot_settings else "" ) + # information for shifting the channels or not (not needed only for the 'per channel' structure option) when plotting the std + plot_info["std"] = True if plot_settings["plot_structure"] == "per channel" else False + if plot_settings["plot_style"] == "vs time": if plot_info["resampled"] == "": plot_info["resampled"] = "also" @@ -312,9 +315,8 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # remove automatic y label since there will be a shared one axes[ax_idx].set_ylabel("") - # plot line at 0% for variation - if plot_info["unit_label"] == "%": - axes[ax_idx].axhline(y=0, color="gray", linestyle="--") + # plot limits + plot_limits(axes[ax_idx], plot_info["limits"]) ax_idx += 1 @@ -327,10 +329,7 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): axes[0].set_title(f"{plot_info['locname']} {location}") fig.suptitle(f"{plot_info['subsystem']} - {plot_info['title']}", y=y_title) - if pdf: - plt.savefig(pdf, format="pdf", bbox_inches="tight") - # figures are retained until explicitly closed; close to not consume too much memory - plt.close() + save_pdf(plt, pdf) return fig @@ -403,28 +402,20 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): axes[ax_idx].set_ylabel("") axes[ax_idx].legend(labels=labels, loc="center left", bbox_to_anchor=(1, 0.5)) - # plot the position of the two K lines - if plot_info["parameter"] == "K_events": - axes[ax_idx].axhline(y=1460.822, color="gray", linestyle="--") - axes[ax_idx].axhline(y=1524.6, color="gray", linestyle="--") + # plot limits + plot_limits(axes[ax_idx], plot_info["limits"]) - # plot line at 0% for variation - if plot_info["unit_label"] == "%": - axes[ax_idx].axhline(y=0, color="gray", linestyle="--") ax_idx += 1 # ------------------------------------------------------------------------------- y_title = 1.05 if plot_info["subsystem"] == "pulser" else 1.01 fig.suptitle(f"{plot_info['subsystem']} - {plot_info['title']}", y=y_title) - # if no pdf is specified, then the function is not being called by make_subsystem_plots() - if pdf: - plt.savefig(pdf, format="pdf", bbox_inches="tight") - # figures are retained until explicitly closed; close to not consume too much memory - plt.close() + save_pdf(plt, pdf) return fig +import numpy as np def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # --- choose plot function based on user requested style e.g. vs time or histogram plot_style = plot_styles.PLOT_STYLE[plot_info["plot_style"]] @@ -481,8 +472,13 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): col_idx = 0 labels = [] for label, data_channel in data_location.groupby("label"): + entries = data_channel[plot_info["parameter"]] + entries_avg = np.mean(entries) + rms_ch = np.sqrt(np.mean(np.square(entries - entries_avg))) + FWHM_ch = 2.355*rms_ch + _ = plot_style(data_channel, fig, axes[ax_idx], plot_info, COLORS[col_idx]) - labels.append(label) + labels.append(label+f" - FWHM: {round(FWHM_ch, 2)}") col_idx += 1 # add grid @@ -493,25 +489,16 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): axes[ax_idx].set_ylabel("") axes[ax_idx].legend(labels=labels, loc="center left", bbox_to_anchor=(1, 0.5)) - # plot the position of the two K lines - if plot_info["parameter"] == "K_events": - axes[ax_idx].axhline(y=1460.822, color="gray", linestyle="--") - axes[ax_idx].axhline(y=1524.6, color="gray", linestyle="--") + # plot limits + plot_limits(axes[ax_idx], plot_info["limits"]) - # plot line at 0% for variation - if plot_info["unit_label"] == "%": - axes[ax_idx].axhline(y=0, color="gray", linestyle="--") ax_idx += 1 # ------------------------------------------------------------------------------- y_title = 1.05 if plot_info["subsystem"] == "pulser" else 1.01 fig.suptitle(f"{plot_info['subsystem']} - {plot_info['title']}", y=y_title) - # if no pdf is specified, then the function is not being called by make_subsystem_plots() - if pdf: - plt.savefig(pdf, format="pdf", bbox_inches="tight") - # figures are retained until explicitly closed; close to not consume too much memory - plt.close() + save_pdf(plt, pdf) return fig @@ -637,14 +624,9 @@ def plot_array(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): fig.supxlabel("") fig.suptitle(f"{plot_info['subsystem']} - {plot_info['title']}", y=1.05) - # ------------------------------------------------------------------------------- - # if no pdf is specified, then the function is not being called by make_subsystem_plots() - if pdf: - plt.savefig(pdf, format="pdf", bbox_inches="tight") - # figures are retained until explicitly closed; close to not consume too much memory - plt.close() + save_pdf(plt, pdf) - # return fig + return fig # ------------------------------------------------------------------------------- @@ -803,6 +785,24 @@ def plot_per_barrel_and_position( return par_dict +# ------------------------------------------------------------------------------- +# plotting functions +# ------------------------------------------------------------------------------- + +def plot_limits(ax: plt.Axes, limits: dict): + """Plot limits (if present) on the plot.""" + if not all([x is None for x in limits]): + if limits[0] is not None: + ax.axhline(y=limits[0], color="red", linestyle="--") + if limits[1] is not None: + ax.axhline(y=limits[1], color="red", linestyle="--") + +def save_pdf(plt, pdf: PdfPages): + """Save the plot to a PDF file. The plot is closed after saving.""" + if pdf: + plt.savefig(pdf, format="pdf", bbox_inches="tight") + plt.close() + # ------------------------------------------------------------------------------- # mapping user keywords to plot style functions diff --git a/src/legend_data_monitor/settings/par-settings.json b/src/legend_data_monitor/settings/par-settings.json index e753e32..2ade9d8 100644 --- a/src/legend_data_monitor/settings/par-settings.json +++ b/src/legend_data_monitor/settings/par-settings.json @@ -129,7 +129,7 @@ "absolute": [null, null] }, "geds": { - "variation": [-0.25, 0.25], + "variation": [-0.025, 0.025], "absolute": [null, null] } } @@ -144,7 +144,7 @@ "absolute": [null, null] }, "geds": { - "variation": [-0.25, 0.25], + "variation": [-0.025, 0.025], "absolute": [null, null] } } @@ -459,7 +459,7 @@ "absolute": [null, null] }, "geds": { - "variation": [-0.25, 0.25], + "variation": [-0.025, 0.025], "absolute": [null, null] } } @@ -474,7 +474,7 @@ "absolute": [null, null] }, "geds": { - "variation": [-0.25, 0.25], + "variation": [-0.025, 0.025], "absolute": [null, null] } } @@ -489,7 +489,7 @@ "absolute": [null, null] }, "geds": { - "variation": [-0.25, 0.25], + "variation": [-0.025, 0.025], "absolute": [null, null] } } diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index ab92de6..4f4fc00 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -559,35 +559,36 @@ def construct_dataloader_configs(self, params: list_of_str): # set up tiers depending on what parameters we need # ------------------------------------------------------------------------- - # ronly load channels that are on (off channels will crash DataLoader) + # only load channels that are on (off channels will crash DataLoader) chlist = list(self.channel_map[self.channel_map["status"] == "on"]["channel"]) removed_chs = list( - self.channel_map[self.channel_map["status"] == "off"]["channel"] + self.channel_map[self.channel_map["status"] == "off"]["name"] ) - utils.logger.info(f"...... not loading channels with status off: {removed_chs}") - # for L60-p01 and L200-p02, keep using 3 digits - if int(self.period[-1]) < 3: - ch_format = "ch:03d" - # from L200-p03 included, uses 7 digits + # remove p03 channels who are not properly behaving in calib data (from George's analysis) if int(self.period[-1]) >= 3: - ch_format = "ch:07d" + names = ["V01406A", "V01415A", "V01387A", "P00665C", "P00748B", "P00748A"]#, "B00089D"] + probl_dets = [] + for name in names: + probl_det = list(self.channel_map[self.channel_map["name"] == name]["channel"]) + # the following 'if' is needed to avoid errors when setting up 'pulser' + if probl_det != []: + probl_dets.append(probl_det[0]) + if probl_dets != []: + utils.logger.info(f"...... not loading problematic detectors for {self.period}: {names}") + chlist = [ch for ch in chlist if ch not in probl_dets] # --- settings for each tier for tier, tier_params in param_tiers.groupby("tier"): dict_dbconfig["tier_dirs"][tier] = f"/{tier}" # type not fixed and instead specified in the query dict_dbconfig["file_format"][tier] = ( - "/{type}/" - + self.period # {period} - + "/{run}/{exp}-" - + self.period # {period} - + "-{run}-{type}-{timestamp}-tier_" + "/{type}/{period}/{run}/{exp}-{period}-{run}-{type}-{timestamp}-tier_" + tier + ".lh5" ) - dict_dbconfig["table_format"][tier] = "ch{" + ch_format + "}/" + tier + dict_dbconfig["table_format"][tier] = "ch{ch:03d}/" + tier dict_dbconfig["tables"][tier] = chlist From 6c9dd0868da31a80949a870c71304e0a33d6fc33 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro <77326044+sofia-calgaro@users.noreply.github.com> Date: Thu, 27 Apr 2023 21:12:23 +0200 Subject: [PATCH 002/166] fixing channels --- src/legend_data_monitor/subsystem.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 4f4fc00..29c3e45 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -579,16 +579,27 @@ def construct_dataloader_configs(self, params: list_of_str): utils.logger.info(f"...... not loading problematic detectors for {self.period}: {names}") chlist = [ch for ch in chlist if ch not in probl_dets] + # for L60-p01 and L200-p02, keep using 3 digits + if int(self.period[-1]) < 3: + ch_format = "ch:03d" + # from L200-p03 included, uses 7 digits + if int(self.period[-1]) >= 3: + ch_format = "ch:07d" + # --- settings for each tier for tier, tier_params in param_tiers.groupby("tier"): dict_dbconfig["tier_dirs"][tier] = f"/{tier}" # type not fixed and instead specified in the query dict_dbconfig["file_format"][tier] = ( - "/{type}/{period}/{run}/{exp}-{period}-{run}-{type}-{timestamp}-tier_" + "/{type}/" + + self.period # {period} + + "/{run}/{exp}-" + + self.period # {period} + + "-{run}-{type}-{timestamp}-tier_" + tier + ".lh5" ) - dict_dbconfig["table_format"][tier] = "ch{ch:03d}/" + tier + dict_dbconfig["table_format"][tier] = "ch{" + ch_format + "}/" + tier dict_dbconfig["tables"][tier] = chlist From 252a579e79f3cb37ef13177f63bf6d94f24f8ee5 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 27 Apr 2023 19:14:27 +0000 Subject: [PATCH 003/166] style: pre-commit fixes --- notebook/L200-plotting-widgets.ipynb | 36 ++++++++------------------ src/legend_data_monitor/plot_styles.py | 16 +++++++++--- src/legend_data_monitor/plotting.py | 15 ++++++++--- src/legend_data_monitor/subsystem.py | 17 +++++++++--- 4 files changed, 48 insertions(+), 36 deletions(-) diff --git a/notebook/L200-plotting-widgets.ipynb b/notebook/L200-plotting-widgets.ipynb index 6113f49..02e60d5 100644 --- a/notebook/L200-plotting-widgets.ipynb +++ b/notebook/L200-plotting-widgets.ipynb @@ -122,7 +122,7 @@ "\n", "# ------------------------------------------------------------------------------------------ get params (based on event type)\n", "evt_type = evt_type_widget.value\n", - "#params = list(shelf[\"monitoring\"][evt_type].keys())\n", + "# params = list(shelf[\"monitoring\"][evt_type].keys())\n", "param_widget.options = [\"cuspEmax\"]\n", "\n", "print(\"\\033[91mIf you change me, then RUN AGAIN the next cell!!!\\033[0m\")" @@ -162,9 +162,9 @@ "outputs": [], "source": [ "# ------------------------------------------------------------------------------------------ remove problematic dets in cal data\n", - "#df_param = df_param.set_index(\"name\")\n", - "#df_param = df_param.drop(['V01406A', 'V01415A', 'V01387A', 'P00665C', 'P00748B', 'P00748A', 'B00089D'])\n", - "#df_param = df_param.reset_index()" + "# df_param = df_param.set_index(\"name\")\n", + "# df_param = df_param.drop(['V01406A', 'V01415A', 'V01387A', 'P00665C', 'P00748B', 'P00748A', 'B00089D'])\n", + "# df_param = df_param.reset_index()" ] }, { @@ -226,7 +226,9 @@ " if \"_var\" in plot_info[\"parameter\"]\n", " else plot_info[\"parameter\"]\n", " )\n", - " plot_info[\"limits\"] = utils.PLOT_INFO[plot_info[\"parameter\"]][\"limits\"][subsystem][\"absolute\"]\n", + " plot_info[\"limits\"] = utils.PLOT_INFO[plot_info[\"parameter\"]][\"limits\"][subsystem][\n", + " \"absolute\"\n", + " ]\n", " plot_info[\"unit_label\"] = plot_info[\"unit\"]\n", " if plot_info[\"parameter\"] not in df_to_plot:\n", " print(\"There is no\", plot_info[\"parameter\"])\n", @@ -237,7 +239,9 @@ " if \"_var\" in plot_info[\"parameter\"]\n", " else plot_info[\"parameter\"] + \"_var\"\n", " )\n", - " plot_info[\"limits\"] = utils.PLOT_INFO[plot_info[\"parameter\"].split(\"_var\")[0]][\"limits\"][subsystem][\"variation\"]\n", + " plot_info[\"limits\"] = utils.PLOT_INFO[plot_info[\"parameter\"].split(\"_var\")[0]][\n", + " \"limits\"\n", + " ][subsystem][\"variation\"]\n", " plot_info[\"unit_label\"] = \"%\"\n", " if plot_info[\"parameter\"] not in df_to_plot:\n", " print(\"There is no\", plot_info[\"parameter\"])\n", @@ -300,25 +304,7 @@ ] } ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.7" - } - }, + "metadata": {}, "nbformat": 4, "nbformat_minor": 5 } diff --git a/src/legend_data_monitor/plot_styles.py b/src/legend_data_monitor/plot_styles.py index 01a1adf..46ca3c5 100644 --- a/src/legend_data_monitor/plot_styles.py +++ b/src/legend_data_monitor/plot_styles.py @@ -69,7 +69,7 @@ def plot_vs_time( resampled[plot_info["parameter"]], color=res_col, zorder=1, - #marker="o", + # marker="o", linestyle="-", ) @@ -84,10 +84,18 @@ def plot_vs_time( std_data = std_data.reset_index() # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3 - appending std to the resampled dataframe - std_data = std_data.rename(columns={plot_info["parameter"] : "std"}) - new_dataframe = concat([resampled, std_data[['std']]], ignore_index=False, axis=1) + std_data = std_data.rename(columns={plot_info["parameter"]: "std"}) + new_dataframe = concat( + [resampled, std_data[["std"]]], ignore_index=False, axis=1 + ) - ax.fill_between(resampled["datetime"].dt.to_pydatetime(), resampled[plot_info["parameter"]] - new_dataframe['std'], resampled[plot_info["parameter"]] + new_dataframe['std'], alpha=0.25, color=res_col) + ax.fill_between( + resampled["datetime"].dt.to_pydatetime(), + resampled[plot_info["parameter"]] - new_dataframe["std"], + resampled[plot_info["parameter"]] + new_dataframe["std"], + alpha=0.25, + color=res_col, + ) # ------------------------------------------------------------------------- # beautification diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 4dc5349..a2ccf12 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -127,7 +127,9 @@ def make_subsystem_plots( ) # information for shifting the channels or not (not needed only for the 'per channel' structure option) when plotting the std - plot_info["std"] = True if plot_settings["plot_structure"] == "per channel" else False + plot_info["std"] = ( + True if plot_settings["plot_structure"] == "per channel" else False + ) if plot_settings["plot_style"] == "vs time": if plot_info["resampled"] == "": @@ -416,6 +418,8 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): import numpy as np + + def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # --- choose plot function based on user requested style e.g. vs time or histogram plot_style = plot_styles.PLOT_STYLE[plot_info["plot_style"]] @@ -475,10 +479,10 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): entries = data_channel[plot_info["parameter"]] entries_avg = np.mean(entries) rms_ch = np.sqrt(np.mean(np.square(entries - entries_avg))) - FWHM_ch = 2.355*rms_ch - + FWHM_ch = 2.355 * rms_ch + _ = plot_style(data_channel, fig, axes[ax_idx], plot_info, COLORS[col_idx]) - labels.append(label+f" - FWHM: {round(FWHM_ch, 2)}") + labels.append(label + f" - FWHM: {round(FWHM_ch, 2)}") col_idx += 1 # add grid @@ -785,10 +789,12 @@ def plot_per_barrel_and_position( return par_dict + # ------------------------------------------------------------------------------- # plotting functions # ------------------------------------------------------------------------------- + def plot_limits(ax: plt.Axes, limits: dict): """Plot limits (if present) on the plot.""" if not all([x is None for x in limits]): @@ -797,6 +803,7 @@ def plot_limits(ax: plt.Axes, limits: dict): if limits[1] is not None: ax.axhline(y=limits[1], color="red", linestyle="--") + def save_pdf(plt, pdf: PdfPages): """Save the plot to a PDF file. The plot is closed after saving.""" if pdf: diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 29c3e45..4023505 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -568,15 +568,26 @@ def construct_dataloader_configs(self, params: list_of_str): # remove p03 channels who are not properly behaving in calib data (from George's analysis) if int(self.period[-1]) >= 3: - names = ["V01406A", "V01415A", "V01387A", "P00665C", "P00748B", "P00748A"]#, "B00089D"] + names = [ + "V01406A", + "V01415A", + "V01387A", + "P00665C", + "P00748B", + "P00748A", + ] # , "B00089D"] probl_dets = [] for name in names: - probl_det = list(self.channel_map[self.channel_map["name"] == name]["channel"]) + probl_det = list( + self.channel_map[self.channel_map["name"] == name]["channel"] + ) # the following 'if' is needed to avoid errors when setting up 'pulser' if probl_det != []: probl_dets.append(probl_det[0]) if probl_dets != []: - utils.logger.info(f"...... not loading problematic detectors for {self.period}: {names}") + utils.logger.info( + f"...... not loading problematic detectors for {self.period}: {names}" + ) chlist = [ch for ch in chlist if ch not in probl_dets] # for L60-p01 and L200-p02, keep using 3 digits From 185bd959dfe6f6978dec41d5fbf46be4bc983a1a Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Thu, 27 Apr 2023 21:31:48 +0200 Subject: [PATCH 004/166] fixed fwhm --- src/legend_data_monitor/plot_styles.py | 28 ---------------- src/legend_data_monitor/plotting.py | 46 +++++++++++++++++--------- 2 files changed, 30 insertions(+), 44 deletions(-) diff --git a/src/legend_data_monitor/plot_styles.py b/src/legend_data_monitor/plot_styles.py index 01a1adf..7c8dc53 100644 --- a/src/legend_data_monitor/plot_styles.py +++ b/src/legend_data_monitor/plot_styles.py @@ -205,16 +205,6 @@ def plot_histo( ) fig.supylabel(x_label) - # saving x,y data into output files - ch_dict = { - "values": {}, - "mean": "", - "plot_info": plot_info, - "timestamp": {}, - } - - return ch_dict - def plot_scatter( data_channel: DataFrame, fig: Figure, ax: Axes, plot_info: dict, color=None @@ -240,24 +230,6 @@ def plot_scatter( ) fig.supylabel(y_label) - # plot the position of the two K lines - if plot_info["parameter"] == "K_events": - ax.axhline(y=1460.822, color="gray", linestyle="--") - ax.axhline(y=1524.6, color="gray", linestyle="--") - - # saving x,y data into output files - ch_dict = { - "values": {"all": data_channel[plot_info["parameter"]], "resampled": []}, - "mean": "", - "plot_info": plot_info, - "timestamp": { - "all": data_channel["datetime"].dt.to_pydatetime(), - "resampled": [], - }, - } - - return ch_dict - # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # UNDER CONSTRUCTION!!! diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 4dc5349..e281cb1 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -1,5 +1,6 @@ import io import shelve +import numpy as np import matplotlib.pyplot as plt from matplotlib.backends.backend_pdf import PdfPages @@ -286,9 +287,7 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): COLORS = color_palette("hls", max_ch_per_string).as_hex() # plot selected style on this axis - _ = plot_style( - data_channel, fig, axes[ax_idx], plot_info, color=COLORS[ax_idx] - ) + plot_style(data_channel, fig, axes[ax_idx], plot_info, color=COLORS[ax_idx]) # --- add summary to axis # name, position and mean are unique for each channel - take first value @@ -296,11 +295,14 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): ["channel", "position", "name", plot_info["param_mean"]] ] + fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) + text = ( t["name"] + "\n" + f"channel {t['channel']}\n" + f"position {t['position']}\n" + + f"FWHM {round(fwhm_ch, 2)}\n" + ( f"mean {round(t[plot_info['param_mean']],3)} [{plot_info['unit']}]" if t[plot_info["param_mean"]] is not None @@ -390,8 +392,10 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): for label, data_channel in data_cc4_id.groupby("label"): cc4_channel = (label.split("-"))[-1] utils.logger.debug(f"...... channel {cc4_channel}") - _ = plot_style(data_channel, fig, axes[ax_idx], plot_info, COLORS[col_idx]) - labels.append(label) + + fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) + plot_style(data_channel, fig, axes[ax_idx], plot_info, COLORS[col_idx]) + labels.append(label+f" - FWHM: {round(fwhm_ch, 2)}") col_idx += 1 # add grid @@ -405,6 +409,11 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # plot limits plot_limits(axes[ax_idx], plot_info["limits"]) + # plot the position of the two K lines + if plot_info["parameter"] == "K_events": + axes[ax_idx].axhline(y=1460.822, color="gray", linestyle="--") + axes[ax_idx].axhline(y=1524.6, color="gray", linestyle="--") + ax_idx += 1 # ------------------------------------------------------------------------------- @@ -415,7 +424,6 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): return fig -import numpy as np def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # --- choose plot function based on user requested style e.g. vs time or histogram plot_style = plot_styles.PLOT_STYLE[plot_info["plot_style"]] @@ -472,13 +480,9 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): col_idx = 0 labels = [] for label, data_channel in data_location.groupby("label"): - entries = data_channel[plot_info["parameter"]] - entries_avg = np.mean(entries) - rms_ch = np.sqrt(np.mean(np.square(entries - entries_avg))) - FWHM_ch = 2.355*rms_ch - - _ = plot_style(data_channel, fig, axes[ax_idx], plot_info, COLORS[col_idx]) - labels.append(label+f" - FWHM: {round(FWHM_ch, 2)}") + fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) + plot_style(data_channel, fig, axes[ax_idx], plot_info, COLORS[col_idx]) + labels.append(label+f" - FWHM: {round(fwhm_ch, 2)}") col_idx += 1 # add grid @@ -492,6 +496,11 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # plot limits plot_limits(axes[ax_idx], plot_info["limits"]) + # plot the position of the two K lines + if plot_info["parameter"] == "K_events": + axes[ax_idx].axhline(y=1460.822, color="gray", linestyle="--") + axes[ax_idx].axhline(y=1524.6, color="gray", linestyle="--") + ax_idx += 1 # ------------------------------------------------------------------------------- @@ -744,9 +753,7 @@ def plot_per_barrel_and_position( det_idx += 1 continue - ch_dict = plot_style( - data_position, fig, axes, plot_info, color=COLORS[det_idx] - ) + plot_style(data_position, fig, axes, plot_info, color=COLORS[det_idx]) labels.append(data_position["label"]) if channel[det_idx] not in par_dict.keys(): @@ -789,6 +796,13 @@ def plot_per_barrel_and_position( # plotting functions # ------------------------------------------------------------------------------- +def get_fwhm_for_fixed_ch(data_channel: DataFrame, parameter: str) -> float: + """Calculate the FWHM of a given parameter for a given channel.""" + entries = data_channel[parameter] + entries_avg = np.mean(entries) + fwhm_ch = 2.355*np.sqrt(np.mean(np.square(entries - entries_avg))) + return fwhm_ch + def plot_limits(ax: plt.Axes, limits: dict): """Plot limits (if present) on the plot.""" if not all([x is None for x in limits]): From 4971cd87bd1e8271ad684ca130c759d15c388850 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 27 Apr 2023 19:38:28 +0000 Subject: [PATCH 005/166] style: pre-commit fixes --- src/legend_data_monitor/plotting.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 5162cf4..08b5f94 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -1,8 +1,8 @@ import io import shelve -import numpy as np import matplotlib.pyplot as plt +import numpy as np from matplotlib.backends.backend_pdf import PdfPages from pandas import DataFrame from seaborn import color_palette @@ -394,10 +394,10 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): for label, data_channel in data_cc4_id.groupby("label"): cc4_channel = (label.split("-"))[-1] utils.logger.debug(f"...... channel {cc4_channel}") - + fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) plot_style(data_channel, fig, axes[ax_idx], plot_info, COLORS[col_idx]) - labels.append(label+f" - FWHM: {round(fwhm_ch, 2)}") + labels.append(label + f" - FWHM: {round(fwhm_ch, 2)}") col_idx += 1 # add grid @@ -484,7 +484,7 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): for label, data_channel in data_location.groupby("label"): fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) plot_style(data_channel, fig, axes[ax_idx], plot_info, COLORS[col_idx]) - labels.append(label+f" - FWHM: {round(fwhm_ch, 2)}") + labels.append(label + f" - FWHM: {round(fwhm_ch, 2)}") col_idx += 1 # add grid @@ -755,7 +755,9 @@ def plot_per_barrel_and_position( det_idx += 1 continue - plot_style(data_position, fig, axes, plot_info, color=COLORS[det_idx]) + plot_style( + data_position, fig, axes, plot_info, color=COLORS[det_idx] + ) labels.append(data_position["label"]) if channel[det_idx] not in par_dict.keys(): @@ -799,13 +801,15 @@ def plot_per_barrel_and_position( # plotting functions # ------------------------------------------------------------------------------- + def get_fwhm_for_fixed_ch(data_channel: DataFrame, parameter: str) -> float: """Calculate the FWHM of a given parameter for a given channel.""" entries = data_channel[parameter] entries_avg = np.mean(entries) - fwhm_ch = 2.355*np.sqrt(np.mean(np.square(entries - entries_avg))) + fwhm_ch = 2.355 * np.sqrt(np.mean(np.square(entries - entries_avg))) return fwhm_ch - + + def plot_limits(ax: plt.Axes, limits: dict): """Plot limits (if present) on the plot.""" if not all([x is None for x in limits]): From 5c9b409eac7fe72c23b763171843e6168f99325f Mon Sep 17 00:00:00 2001 From: Sofia Calgaro <77326044+sofia-calgaro@users.noreply.github.com> Date: Thu, 27 Apr 2023 21:42:27 +0200 Subject: [PATCH 006/166] Update plotting.py --- src/legend_data_monitor/plotting.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 5162cf4..fdea168 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -759,7 +759,7 @@ def plot_per_barrel_and_position( labels.append(data_position["label"]) if channel[det_idx] not in par_dict.keys(): - par_dict[channel[det_idx]] = ch_dict + par_dict[channel[det_idx]] = {} # set label as title for each axes text = ( From 6f5080288668bbba88778d13ca110db8e8a4340c Mon Sep 17 00:00:00 2001 From: Sofia Calgaro <77326044+sofia-calgaro@users.noreply.github.com> Date: Thu, 27 Apr 2023 21:42:53 +0200 Subject: [PATCH 007/166] Update plotting.py --- src/legend_data_monitor/plotting.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 08b5f94..2b71f14 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -761,7 +761,7 @@ def plot_per_barrel_and_position( labels.append(data_position["label"]) if channel[det_idx] not in par_dict.keys(): - par_dict[channel[det_idx]] = ch_dict + par_dict[channel[det_idx]] = {} # set label as title for each axes text = ( From d564d381a896be7543f31fabb2389df7e4427c6e Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 28 Apr 2023 10:37:43 +0200 Subject: [PATCH 008/166] added FC_bsln and puls_aux --- src/legend_data_monitor/plotting.py | 22 +++---- .../settings/par-settings.json | 45 ++++++------- .../settings/parameter-tiers.json | 59 ++++++++++++++++- src/legend_data_monitor/subsystem.py | 64 +++++++++++++++---- 4 files changed, 138 insertions(+), 52 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 47c9a57..589eccb 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -86,7 +86,7 @@ def make_subsystem_plots( data_analysis.data.iloc[0]["cc4_id"] is None or data_analysis.data.iloc[0]["cc4_channel"] is None ): - if subsystem.type in ["spms", "pulser"]: + if subsystem.type in ["spms", "pulser", "pulser_aux", "bsln"]: utils.logger.error( "\033[91mPlotting per CC4 is not available for %s. Try again!\033[0m", subsystem.type, @@ -114,9 +114,7 @@ def make_subsystem_plots( plot_info = { "title": plot_title, "subsystem": subsystem.type, - "locname": {"geds": "string", "spms": "fiber", "pulser": "puls"}[ - subsystem.type - ], + "locname": {"geds": "string", "spms": "fiber", "pulser": "puls", "pulser_aux": "puls", "FC_bsln": "bsln"}[subsystem.type], "unit": utils.PLOT_INFO[plot_settings["parameters"]]["unit"], "plot_style": plot_settings["plot_style"], } @@ -148,7 +146,7 @@ def make_subsystem_plots( # time window might be needed fort he vs time function plot_info["time_window"] = plot_settings["time_window"] # threshold values are needed for status map; might be needed for plotting limits on canvas too - if subsystem.type != "pulser": + if subsystem.type not in ["pulser", "pulser_aux", "FC_bsln"]: plot_info["limits"] = ( utils.PLOT_INFO[plot_settings["parameters"]]["limits"][subsystem.type][ "variation" @@ -195,9 +193,9 @@ def make_subsystem_plots( # ------------------------------------------------------------------------- if "status" in plot_settings and plot_settings["status"]: - if subsystem.type == "pulser": + if subsystem.type in ["pulser", "pulser_aux", "FC_bsln"]: utils.logger.debug( - "Thresholds are not enabled for pulser! Use you own eyes to do checks there" + f"Thresholds are not enabled for {subsystem.type}! Use you own eyes to do checks there" ) else: _ = status_plot.status_plot( @@ -319,7 +317,7 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): ax_idx += 1 # ------------------------------------------------------------------------------- - if plot_info["subsystem"] == "pulser": + if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln"]: y_title = 1.05 axes[0].set_title("") else: @@ -336,9 +334,9 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): - if plot_info["subsystem"] == "pulser": + if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln"]: utils.logger.error( - "\033[91mPlotting per CC4 is not available for the pulser channel.\nTry again with a different plot structure!\033[0m" + "\033[91mPlotting per CC4 is not available for %s channel.\nTry again with a different plot structure!\033[0m", plot_info["subsystem"] ) exit() # --- choose plot function based on user requested style e.g. vs time or histogram @@ -414,7 +412,7 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): ax_idx += 1 # ------------------------------------------------------------------------------- - y_title = 1.05 if plot_info["subsystem"] == "pulser" else 1.01 + y_title = 1.05 if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln"] else 1.01 fig.suptitle(f"{plot_info['subsystem']} - {plot_info['title']}", y=y_title) # if no pdf is specified, then the function is not being called by make_subsystem_plots() if pdf: @@ -504,7 +502,7 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): ax_idx += 1 # ------------------------------------------------------------------------------- - y_title = 1.05 if plot_info["subsystem"] == "pulser" else 1.01 + y_title = 1.05 if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln"] else 1.01 fig.suptitle(f"{plot_info['subsystem']} - {plot_info['title']}", y=y_title) # if no pdf is specified, then the function is not being called by make_subsystem_plots() diff --git a/src/legend_data_monitor/settings/par-settings.json b/src/legend_data_monitor/settings/par-settings.json index e753e32..bff935a 100644 --- a/src/legend_data_monitor/settings/par-settings.json +++ b/src/legend_data_monitor/settings/par-settings.json @@ -76,7 +76,7 @@ }, "A_max": { "label": "Max. Current Pulse", - "unit": "a.u.", + "unit": "ADC/sample", "facecol": [0.96, 0.73, 1.0], "limits": { "spms": { @@ -91,7 +91,7 @@ }, "QDrift": { "label": "QDrift", - "unit": "a.u.", + "unit": "ADC", "facecol": [0.56, 0.74, 0.56], "limits": { "spms": { @@ -106,7 +106,7 @@ }, "cuspEftp": { "label": "cuspEftp", - "unit": "a.u.", + "unit": "ADC", "facecol": [0.86, 0.86, 0.86], "limits": { "spms": { @@ -121,7 +121,7 @@ }, "cuspEmax": { "label": "cuspEmax", - "unit": "a.u.", + "unit": "ADC", "facecol": [0.86, 0.86, 0.86], "limits": { "spms": { @@ -166,7 +166,7 @@ }, "dt_eff": { "label": "dt_eff", - "unit": "a.u.", + "unit": "ns", "facecol": "peachpuff", "limits": { "spms": { @@ -181,7 +181,7 @@ }, "pz_mean": { "label": "pz_mean", - "unit": "a.u.", + "unit": "ADC", "facecol": "paleturquoise", "limits": { "spms": { @@ -196,7 +196,7 @@ }, "pz_slope": { "label": "pz_slope", - "unit": "a.u.", + "unit": "ADC", "facecol": "paleturquoise", "limits": { "spms": { @@ -211,7 +211,7 @@ }, "pz_std": { "label": "pz_std", - "unit": "a.u.", + "unit": "ADC", "facecol": "paleturquoise", "limits": { "spms": { @@ -376,7 +376,7 @@ }, "tp_aoe_max": { "label": "tp_aoe_max", - "unit": "a.u.", + "unit": "ns", "facecol": "plum", "limits": { "spms": { @@ -406,7 +406,7 @@ }, "tp_max": { "label": "tp_max", - "unit": "a.u.", + "unit": "ns", "facecol": "palegreen", "limits": { "spms": { @@ -421,7 +421,7 @@ }, "tp_min": { "label": "tp_max", - "unit": "a.u.", + "unit": "ns", "facecol": "palegreen", "limits": { "spms": { @@ -436,7 +436,7 @@ }, "trapEftp": { "label": "trapEftp", - "unit": "a.u.", + "unit": "ADC", "facecol": "palegoldenrod", "limits": { "spms": { @@ -451,7 +451,7 @@ }, "trapEmax": { "label": "trapEmax", - "unit": "a.u.", + "unit": "ADC", "facecol": "palegoldenrod", "limits": { "spms": { @@ -481,7 +481,7 @@ }, "trapTmax": { "label": "trapTmax", - "unit": "a.u.", + "unit": "ADC", "facecol": "palegoldenrod", "limits": { "spms": { @@ -526,7 +526,7 @@ }, "wf_min": { "label": "wf_min", - "unit": "a.u.", + "unit": "ADC", "facecol": "pink", "limits": { "spms": { @@ -541,7 +541,7 @@ }, "zacEftp": { "label": "zacEftp", - "unit": "a.u.", + "unit": "ADC", "facecol": "aquamarine", "limits": { "spms": { @@ -556,7 +556,7 @@ }, "zacEmax": { "label": "zacEmax", - "unit": "a.u.", + "unit": "ADC", "facecol": "aquamarine", "limits": { "spms": { @@ -593,18 +593,9 @@ "geds": [null, 0.0] } }, - "lc": { - "label": "LC", - "unit": "?", - "facecol": [0.94, 0.87, 0.9], - "limits": { - "spms": [null, 0.0], - "geds": [null, 0.0] - } - }, "gain": { "label": "Uncalibrated Gain", - "unit": "a.u.", + "unit": "ADC", "facecol": [0.68, 0.87, 0.68], "limits": { "spms": { diff --git a/src/legend_data_monitor/settings/parameter-tiers.json b/src/legend_data_monitor/settings/parameter-tiers.json index 653fb53..6aeee1f 100644 --- a/src/legend_data_monitor/settings/parameter-tiers.json +++ b/src/legend_data_monitor/settings/parameter-tiers.json @@ -2,7 +2,64 @@ "baseline": "dsp", "wf_max": "dsp", "timestamp": "dsp", + "tp_min": "dsp", + "tp_max": "dsp", + "wf_min": "dsp", + "t_sat_lo": "dsp", + "t_sat_hi": "dsp", + "t_discharge": "dsp", + "bl_mean": "dsp", + "bl_std": "dsp", + "bl_slope": "dsp", + "bl_intercept": "dsp", + "pz_slope": "dsp", + "pz_std": "dsp", + "pz_mean": "dsp", + "trapTmax": "dsp", + "trapSmax": "dsp", + "trapEmax": "dsp", + "trapEftp": "dsp", + "cuspEmax": "dsp", + "zacEmax": "dsp", + "zacEftp": "dsp", + "cuspEftp": "dsp", + "tp_0_est": "dsp", + "tp_0_atrap": "dsp", + "tp_01": "dsp", + "tp_10": "dsp", + "tp_20": "dsp", + "tp_50": "dsp", + "tp_80": "dsp", + "tp_90": "dsp", + "tp_95": "dsp", + "tp_99": "dsp", + "tp_100": "dsp", + "A_max": "dsp", + "tp_aoe_max": "dsp", + "QDrift": "dsp", + "dt_eff": "dsp", + "lq80": "dsp", + "dt_eff_invert": "dsp", + "trapTmax_invert": "dsp", + "trapTftp_invert": "dsp", + "tp_0_invert": "dsp", + "tp_100_invert": "dsp", + "tp_99_invert": "dsp", + "tp_90_invert": "dsp", + "tp_80_invert": "dsp", + "tp_50_invert": "dsp", + "tp_20_invert": "dsp", + "tp_10_invert": "dsp", "cuspEmax_ctc_cal": "hit", + "zacEmax_ctc_cal": "hit", + "trapEmax_ctc_cal": "hit", + "trapTmax_cal": "hit", "AoE_Corrected": "hit", - "zacEmax_ctc_cal": "hit" + "AoE_Classifier": "hit", + "AoE_Low_Cut": "hit", + "AoE_Double_Sided_Cut": "hit", + "is_valid_cal": "hit", + "is_valid_0vbb": "hit", + "is_negative": "hit", + "is_saturated": "hit" } diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index ab92de6..c117e62 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -17,7 +17,7 @@ class Subsystem: """ Object containing information for a given subsystem such as channel map, channels status etc. - sub_type [str]: geds | spms | pulser + sub_type [str]: geds | spms | pulser | pulser_aux | FC_bsln Options for kwargs @@ -354,13 +354,38 @@ def is_subsystem(entry): if self.experiment == "L60": return entry["system"] == "auxs" and entry["daq"]["fcid"] == 0 if self.experiment == "L200": - if int(self.period[-1]) < 3: + if self.below_period_3_excluded(): return entry["system"] == "puls" and entry["daq"][ch_flag] == 1 - if int(self.period[-1]) >= 3: + if self.above_period_3_included(): return ( entry["system"] == "puls" and entry["daq"][ch_flag] == 1027201 ) + # special case for pulser AUX + if self.type == "pulser_aux": + if self.experiment == "L60": + utils.logger.error("\033[91mThere is no pulser AUX channel in L60. Remove this subsystem!\033[0m") + exit() + if self.experiment == "L200": + if self.below_period_3_excluded(): + return entry["system"] == "puls" and entry["daq"][ch_flag] == 3 + if self.above_period_3_included(): + return ( + entry["system"] == "puls" + and entry["daq"][ch_flag] == 1027203 + ) + # special case for baseline + if self.type == "FC_bsln": + if self.experiment == "L60": + return entry["system"] == "auxs" and entry["daq"]["fcid"] == 0 + if self.experiment == "L200": + if self.below_period_3_excluded(): + return entry["system"] == "bsln" and entry["daq"][ch_flag] == 0 + if self.above_period_3_included(): + return ( + entry["system"] == "bsln" + and entry["daq"][ch_flag] == 1027200 + ) # for geds or spms return entry["system"] == self.type @@ -370,14 +395,17 @@ def is_subsystem(entry): # detector type for geds in the channel map type_code = {"B": "bege", "C": "coax", "V": "icpc", "P": "ppc"} + # systems for which the location/position has to be handled carefully; values were chosen arbitrarily to avoid conflicts + special_systems = {"pulser": 0, "pulser_aux": -1, "FC_bsln": -2} + # ------------------------------------------------------------------------- # loop over entries and find out subsystem # ------------------------------------------------------------------------- # config.channel_map is already a dict read from the channel map json for entry in full_channel_map: - # skip 'BF' (! not needed since BF is auxs) - if "BF" in entry: + # skip dummy channels + if "BF" in entry or "DUMMY" in entry: continue entry_info = full_channel_map[entry] @@ -386,19 +414,19 @@ def is_subsystem(entry): if not is_subsystem(entry_info): continue - # --- add info for this channel - Raw/FlashCam ID, unique for geds/spms/pulser + # --- add info for this channel - Raw/FlashCam ID, unique for geds/spms/pulser/pulser_aux/FC_bsln ch = entry_info["daq"][ch_flag] df_map.at[ch, "name"] = entry_info["name"] - # number/name of string/fiber for geds/spms, dummy for pulser + # number/name of string/fiber for geds/spms, dummy for pulser/pulser_aux/FC_bsln df_map.at[ch, "location"] = ( - 0 - if self.type == "pulser" + special_systems[self.type] + if self.type in special_systems else entry_info["location"][loc_code[self.type]] ) - # position in string/fiber for geds/spms, dummy for pulser (works if there is only one pulser channel) + # position in string/fiber for geds/spms, dummy for pulser/pulser_aux/FC_bsln df_map.at[ch, "position"] = ( - 0 if self.type == "pulser" else entry_info["location"]["position"] + special_systems[self.type] if self.type in special_systems else entry_info["location"]["position"] ) # CC4 information - will be None for L60 (set to 'null') or spms (there, but no CC4s) df_map.at[ch, "cc4_id"] = ( @@ -469,7 +497,7 @@ def get_channel_status(self): timestamp=self.first_timestamp, system=self.datatype )["analysis"] - # AUX channels are not in status map, so at least for pulser need default on + # AUX channels are not in status map, so at least for pulser/pulser_aux/FC_bsln need default on self.channel_map["status"] = "on" self.channel_map = self.channel_map.set_index("name") # 'channel_name', for instance, has the format 'DNNXXXS' (= "name" column) @@ -608,3 +636,15 @@ def construct_dataloader_configs(self, params: list_of_str): } return dict_dlconfig, dict_dbconfig + + def below_period_3_excluded(self) -> bool: + if int(self.period[-1]) < 3: + return True + else: + return False + + def above_period_3_included(self) -> bool: + if int(self.period[-1]) >= 3: + return True + else: + return False \ No newline at end of file From 85ea5989f27a6368010016a0147e49f19d6a6770 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 28 Apr 2023 08:44:01 +0000 Subject: [PATCH 009/166] style: pre-commit fixes --- src/legend_data_monitor/plotting.py | 19 +++++++++++++++---- .../settings/parameter-tiers.json | 2 +- src/legend_data_monitor/subsystem.py | 14 +++++++++----- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 40a9eac..8e02974 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -115,7 +115,13 @@ def make_subsystem_plots( plot_info = { "title": plot_title, "subsystem": subsystem.type, - "locname": {"geds": "string", "spms": "fiber", "pulser": "puls", "pulser_aux": "puls", "FC_bsln": "bsln"}[subsystem.type], + "locname": { + "geds": "string", + "spms": "fiber", + "pulser": "puls", + "pulser_aux": "puls", + "FC_bsln": "bsln", + }[subsystem.type], "unit": utils.PLOT_INFO[plot_settings["parameters"]]["unit"], "plot_style": plot_settings["plot_style"], } @@ -339,7 +345,8 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln"]: utils.logger.error( - "\033[91mPlotting per CC4 is not available for %s channel.\nTry again with a different plot structure!\033[0m", plot_info["subsystem"] + "\033[91mPlotting per CC4 is not available for %s channel.\nTry again with a different plot structure!\033[0m", + plot_info["subsystem"], ) exit() # --- choose plot function based on user requested style e.g. vs time or histogram @@ -417,7 +424,9 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): ax_idx += 1 # ------------------------------------------------------------------------------- - y_title = 1.05 if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln"] else 1.01 + y_title = ( + 1.05 if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln"] else 1.01 + ) fig.suptitle(f"{plot_info['subsystem']} - {plot_info['title']}", y=y_title) save_pdf(plt, pdf) @@ -504,7 +513,9 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): ax_idx += 1 # ------------------------------------------------------------------------------- - y_title = 1.05 if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln"] else 1.01 + y_title = ( + 1.05 if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln"] else 1.01 + ) fig.suptitle(f"{plot_info['subsystem']} - {plot_info['title']}", y=y_title) save_pdf(plt, pdf) diff --git a/src/legend_data_monitor/settings/parameter-tiers.json b/src/legend_data_monitor/settings/parameter-tiers.json index 6aeee1f..a1d182f 100644 --- a/src/legend_data_monitor/settings/parameter-tiers.json +++ b/src/legend_data_monitor/settings/parameter-tiers.json @@ -41,7 +41,7 @@ "lq80": "dsp", "dt_eff_invert": "dsp", "trapTmax_invert": "dsp", - "trapTftp_invert": "dsp", + "trapTftp_invert": "dsp", "tp_0_invert": "dsp", "tp_100_invert": "dsp", "tp_99_invert": "dsp", diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 826e51c..8b07416 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -364,7 +364,9 @@ def is_subsystem(entry): # special case for pulser AUX if self.type == "pulser_aux": if self.experiment == "L60": - utils.logger.error("\033[91mThere is no pulser AUX channel in L60. Remove this subsystem!\033[0m") + utils.logger.error( + "\033[91mThere is no pulser AUX channel in L60. Remove this subsystem!\033[0m" + ) exit() if self.experiment == "L200": if self.below_period_3_excluded(): @@ -397,7 +399,7 @@ def is_subsystem(entry): # systems for which the location/position has to be handled carefully; values were chosen arbitrarily to avoid conflicts special_systems = {"pulser": 0, "pulser_aux": -1, "FC_bsln": -2} - + # ------------------------------------------------------------------------- # loop over entries and find out subsystem # ------------------------------------------------------------------------- @@ -426,7 +428,9 @@ def is_subsystem(entry): ) # position in string/fiber for geds/spms, dummy for pulser/pulser_aux/FC_bsln df_map.at[ch, "position"] = ( - special_systems[self.type] if self.type in special_systems else entry_info["location"]["position"] + special_systems[self.type] + if self.type in special_systems + else entry_info["location"]["position"] ) # CC4 information - will be None for L60 (set to 'null') or spms (there, but no CC4s) df_map.at[ch, "cc4_id"] = ( @@ -665,9 +669,9 @@ def below_period_3_excluded(self) -> bool: return True else: return False - + def above_period_3_included(self) -> bool: if int(self.period[-1]) >= 3: return True else: - return False \ No newline at end of file + return False From 51ca6cccc8b08fe43f6f196598035d73ead091fe Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 2 May 2023 11:49:46 +0200 Subject: [PATCH 010/166] added event rate and cut for keys for given chs --- src/legend_data_monitor/analysis_data.py | 58 ++++++- src/legend_data_monitor/core.py | 4 +- src/legend_data_monitor/plot_styles.py | 2 +- src/legend_data_monitor/plotting.py | 143 ++++++++++++++++-- .../settings/auto_config.json | 15 -- .../settings/par-settings.json | 15 ++ .../settings/remove-keys.json | 14 ++ .../settings/special-parameters.json | 3 +- .../settings/user_config_example_L200.json | 43 ------ src/legend_data_monitor/subsystem.py | 54 +++++-- src/legend_data_monitor/utils.py | 91 ++++++++--- 11 files changed, 327 insertions(+), 115 deletions(-) delete mode 100644 src/legend_data_monitor/settings/auto_config.json create mode 100644 src/legend_data_monitor/settings/remove-keys.json delete mode 100644 src/legend_data_monitor/settings/user_config_example_L200.json diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 188d8b6..c1ef9b1 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -169,7 +169,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): # ------------------------------------------------------------------------- - # selec phy/puls/all events + # select phy/puls/all events bad = self.select_events() if bad: return @@ -230,6 +230,8 @@ def special_parameter(self): .reset_index() ) + # ToDo: check time_window for event rate is smaller than the time window, but bigger than the rate (otherwise plots make no sense) + # divide event count in each time window by sampling window in seconds to get Hz dt_seconds = get_seconds(self.time_window) event_rate["event_rate"] = event_rate["event_rate"] / dt_seconds @@ -253,12 +255,14 @@ def special_parameter(self): # - reindex to match event rate table index # - put the columns in with concat event_rate = event_rate.set_index("channel") + columns = utils.COLUMNS_TO_LOAD + columns.remove("channel") self.data = pd.concat( [ event_rate, self.data.groupby("channel") .first() - .reindex(event_rate.index)[["name", "location", "position"]], + .reindex(event_rate.index)[columns], ], axis=1, ) @@ -287,6 +291,52 @@ def special_parameter(self): self.data = self.data.rename( columns={utils.SPECIAL_PARAMETERS[param][0]: "K_events"} ) + elif param == "exposure": + self.data = self.data.reset_index() + + # number of flag_pulser=True events for each channel; it will always be equal among channels during phy data taking, because it's the AUX pulser channel that triggers the geds acquisition + pulser_events = ( + self.data.groupby("channel")["flag_pulser"] + .apply(lambda x: x.sum()) + .reset_index(name="pulser_events") + )["pulser_events"].unique()[0] + + # retrieve first timestamp + first_timestamp = self.data["datetime"].iloc[0] + + from legendmeta import LegendMetadata + lmeta = LegendMetadata() + # get channel map + full_channel_map = lmeta.hardware.configuration.channelmaps.on(timestamp=first_timestamp) + # get diodes map + dets_map = lmeta.hardware.detectors.germanium.diodes + + # get pulser rate + if "PULS01" in full_channel_map.keys(): + rate = 0.05 #full_channel_map["PULS01"]["rate_in_Hz"] # L200: p02, p03 + else: + rate = full_channel_map["AUX00"]["rate_in_Hz"]["puls"] # L60 + + # add a new column called 'livetime' equal to the number of pulser_events multiplied by the pulser period + self.data["livetime_in_s"] = pulser_events / rate + + # add a new column "mass" to self.data containing mass values evaluated from dets_map[channel_name]["production"]["mass_in_g"], where channel_name is the value in "name" column + self.data["mass_in_kg"] = None # let's start with an empty column + for channel_name in self.data["name"].unique(): + mass_in_kg = dets_map[channel_name]["production"]["mass_in_g"] / 1000 + self.data.loc[self.data["name"] == channel_name, "mass_in_kg"] = mass_in_kg + + # This is in [kg s] + self.data["exposure"] = self.data["livetime_in_s"] * self.data["mass_in_kg"] + # convert exposure values from dtype object to dtype float64 + self.data["exposure"] = self.data["exposure"].astype("float64") + # Convert it into [kg yr] + self.data["exposure"] = self.data["exposure"] / (60 * 60 * 24 * 365.25) + # drop mass column (not needed anymore) + self.data = self.data.drop(columns=["mass_in_kg"]) + # put index back in + self.data = self.data.reset_index(drop=True) + def channel_mean(self): """ @@ -369,11 +419,13 @@ def channel_mean(self): # set 'channel' column as index channel_mean = channel_mean.set_index("channel") - # FWHM mean is meaningless -> drop (special parameter for SiPMs); no need to get previous mean values for these parameters + # some means are meaningless -> drop the corresponding column if "FWHM" in self.parameters: channel_mean.drop("FWHM", axis=1) if "K_events" in self.parameters: channel_mean.drop("K_events", axis=1) + if "exposure" in self.parameters: + channel_mean.drop("exposure", axis=1) # rename columns to be param_mean channel_mean = channel_mean.rename( diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 267fd66..5e9d7e9 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -150,7 +150,7 @@ def generate_plots(config: dict, plt_path: str): # some output messages, just to warn the user... if saving is None: utils.logger.warning( - "\033[93mData will not be saed, but the pdf will be.\033[0m" + "\033[93mData will not be saved, but the pdf will be.\033[0m" ) elif saving == "append": utils.logger.warning( @@ -193,6 +193,8 @@ def generate_plots(config: dict, plt_path: str): parameters = utils.get_all_plot_parameters(system, config) # get data for these parameters and dataset range subsystems[system].get_data(parameters) + # remove timestamps for given detectors + subsystems[system].remove_timestamps(utils.REMOVE_KEYS) utils.logger.debug(subsystems[system].data) # flag pulser events for future parameter data selection subsystems[system].flag_pulser_events(subsystems["pulser"]) diff --git a/src/legend_data_monitor/plot_styles.py b/src/legend_data_monitor/plot_styles.py index 3d388b2..2378888 100644 --- a/src/legend_data_monitor/plot_styles.py +++ b/src/legend_data_monitor/plot_styles.py @@ -337,5 +337,5 @@ def plot_heatmap( "vs ch": par_vs_ch, "histogram": plot_histo, "scatter": plot_scatter, - "heatmap": plot_heatmap, + "heatmap": plot_heatmap } diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 8e02974..b6c6016 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -1,5 +1,6 @@ import io import shelve +import seaborn as sns import matplotlib.pyplot as plt import numpy as np @@ -65,6 +66,7 @@ def make_subsystem_plots( # --- AnalysisData: # - select parameter of interest # - subselect type of events (pulser/phy/all/klines) + # - get channel mean # - calculate variation from mean, if asked data_analysis = analysis_data.AnalysisData( subsystem.data, selection=plot_settings @@ -123,7 +125,7 @@ def make_subsystem_plots( "FC_bsln": "bsln", }[subsystem.type], "unit": utils.PLOT_INFO[plot_settings["parameters"]]["unit"], - "plot_style": plot_settings["plot_style"], + "plot_style": plot_settings["plot_style"] if "plot_style" in plot_settings else None, } # information for having the resampled or all entries (needed only for 'vs time' style option) @@ -136,17 +138,18 @@ def make_subsystem_plots( True if plot_settings["plot_structure"] == "per channel" else False ) - if plot_settings["plot_style"] == "vs time": - if plot_info["resampled"] == "": - plot_info["resampled"] = "also" - utils.logger.warning( - "\033[93mNo 'resampled' option was specified. Both resampled and all entries will be plotted (otherwise you can try again using the option 'no', 'only', 'also').\033[0m" - ) - else: - if plot_info["resampled"] != "": - utils.logger.warning( - "\033[93mYou're using the option 'resampled' for a plot style that does not need it. For this reason, that option will be ignored.\033[0m" - ) + if plot_info["plot_style"] is not None: + if plot_settings["plot_style"] == "vs time": + if plot_info["resampled"] == "": + plot_info["resampled"] = "also" + utils.logger.warning( + "\033[93mNo 'resampled' option was specified. Both resampled and all entries will be plotted (otherwise you can try again using the option 'no', 'only', 'also').\033[0m" + ) + else: + if plot_info["resampled"] != "": + utils.logger.warning( + "\033[93mYou're using the option 'resampled' for a plot style that does not need it. For this reason, that option will be ignored.\033[0m" + ) # --- information needed for plot style plot_info["label"] = utils.PLOT_INFO[plot_settings["parameters"]]["label"] @@ -648,6 +651,121 @@ def plot_array(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): return fig +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# THIS IS NOT A GENERAL FUNCTION - IT WORKS ONLY FOR EXPOSURE RIGHT NOW, FIX IT! +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +def plot_summary(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): + if plot_info["subsystem"] == "spms": + utils.logger.error( + "\033[91mPlotting the summary is not available for the spms.\nTry again!\033[0m" + ) + exit() + + # cbar unit (either 'kg d', if exposure is less than 0.1 kg yr, or 'kg yr'); note: exposure, at this point, is evaluated as 'kg yr' + if data_analysis["exposure"].max() < 0.1: + cbar_unit = "kg d" + else: + cbar_unit = "kg yr" + + # convert exposure into [kg day] if data_analysis["exposure"].max() < 0.1 kg yr + if cbar_unit == "kg d": + data_analysis["exposure"] = data_analysis["exposure"] * 365.25 + #data_analysis.loc[data_analysis["exposure"] < 0.1, "exposure"] = data_analysis.loc[data_analysis["exposure"] < 0.1, "exposure"] * 365.25 + # drop duplicate rows, based on channel entry (exposure is constant for a fixed channel) + data_analysis = data_analysis.drop_duplicates(subset=["channel"]) + # total exposure + tot_expo = data_analysis["exposure"].sum() + utils.logger.info(f"Total exposure: {tot_expo:.3f} {cbar_unit}") + + # note: we leave off detectors with exposure = 0 (ie. off detectors) + + # values to plot + result = data_analysis.pivot(index="position", columns="location", values="exposure") + result = result.round(3) + + # display it + if utils.logger.getEffectiveLevel() is utils.logging.DEBUG: + from tabulate import tabulate + output_result = tabulate( + result, headers="keys", tablefmt="psql", showindex=False, stralign="center" + ) + utils.logger.debug( + "Status map summary for " + plot_info["parameter"] + ":\n%s", output_result + ) + + # calculate total livetime as sum of content of livetime_in_s column (and then convert it a human readable format) + tot_livetime = data_analysis["livetime_in_s"].unique()[0] + tot_livetime, unit = utils.get_livetime(tot_livetime) + + # ------------------------------------------------------------------------------- + # plot + # ------------------------------------------------------------------------------- + + # create the figure + fig = plt.figure(num=None, figsize=(8, 12), dpi=80, facecolor="w", edgecolor="k") + sns.set(font_scale=1) + + # create labels for dets, with exposure values + labels = result.astype(str) + + # labels definition (AFTER having included OFF detectors too) ------------------------------- ToDo (exposure set at 0 for OFF dets - we need SubSystem info) + # LOCATION: + x_axis_labels = [f"S{no}" for no in sorted(data_analysis["location"].unique())] + # POSITION: + y_axis_labels = [ + no + for no in range( + min(data_analysis["position"].unique()), + max(data_analysis["position"].unique() + 1), + ) + ] + + # create the heatmap + status_map = sns.heatmap( + data=result, + annot=labels, + annot_kws={"size": 6}, + yticklabels=y_axis_labels, + xticklabels=x_axis_labels, + fmt="s", + cbar=True, + cbar_kws={"shrink": 0.5}, + linewidths=1, + linecolor="white", + square=True, + rasterized=True, + ) + + # add title "kg yr" as text on top of the cbar + plt.text( + 1.08, + 0.89, + f"({cbar_unit})", + transform=status_map.transAxes, + horizontalalignment="center", + verticalalignment="center", + ) + + plt.tick_params( + axis="both", + which="major", + labelbottom=False, + bottom=False, + top=False, + labeltop=True, + ) + plt.yticks(rotation=0) + plt.title(f"{plot_info['subsystem']} - {plot_info['title']}\nTotal livetime: {tot_livetime:.2f}{unit}\nTotal exposure: {tot_expo:.3f} {cbar_unit}") + + # ------------------------------------------------------------------------------- + # if no pdf is specified, then the function is not being called by make_subsystem_plots() + if pdf: + plt.savefig(pdf, format="pdf", bbox_inches="tight") + # figures are retained until explicitly closed; close to not consume too much memory + plt.close() + + return fig + # ------------------------------------------------------------------------------- # SiPM specific structures @@ -844,6 +962,7 @@ def save_pdf(plt, pdf: PdfPages): "per cc4": plot_per_cc4, "per string": plot_per_string, "array": plot_array, + "summary": plot_summary, "per fiber": plot_per_fiber_and_barrel, "per barrel": plot_per_barrel_and_position, } diff --git a/src/legend_data_monitor/settings/auto_config.json b/src/legend_data_monitor/settings/auto_config.json deleted file mode 100644 index aeec0fa..0000000 --- a/src/legend_data_monitor/settings/auto_config.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "subsystems": { - "geds": { - "Baselines in pulser events": { - "parameters": "baseline", - "event_type": "pulser", - "plot_structure": "per channel", - "plot_style": "vs time", - "variation": true, - "time_window": "1H", - "status": false - } - } - } -} diff --git a/src/legend_data_monitor/settings/par-settings.json b/src/legend_data_monitor/settings/par-settings.json index 1178608..93acacb 100644 --- a/src/legend_data_monitor/settings/par-settings.json +++ b/src/legend_data_monitor/settings/par-settings.json @@ -584,6 +584,21 @@ } } }, + "exposure": { + "label": "Exposure", + "unit": "kg yr", + "facecol": [0.82, 0.94, 0.75], + "limits": { + "spms": { + "variation": [null, null], + "absolute": [null, null] + }, + "geds": { + "variation": [null, null], + "absolute": [null, null] + } + } + }, "bl_rms": { "label": "Baseline RMS", "unit": null, diff --git a/src/legend_data_monitor/settings/remove-keys.json b/src/legend_data_monitor/settings/remove-keys.json new file mode 100644 index 0000000..38784e3 --- /dev/null +++ b/src/legend_data_monitor/settings/remove-keys.json @@ -0,0 +1,14 @@ +{ + "C00ANG3": { + "from": ["20230330T043441Z", "20230415T133659Z"], + "to": ["20230415T033517Z", "20230424T185631Z"] + }, + "C00ANG5": { + "from": ["20230330T043441Z", "20230415T133659Z"], + "to": ["20230415T033517Z", "20230424T185631Z"] + }, + "C00ANG2": { + "from": ["20230330T043441Z", "20230415T133659Z"], + "to": ["20230415T033517Z", "20230424T185631Z"] + } +} diff --git a/src/legend_data_monitor/settings/special-parameters.json b/src/legend_data_monitor/settings/special-parameters.json index 9fb9c93..54ec632 100644 --- a/src/legend_data_monitor/settings/special-parameters.json +++ b/src/legend_data_monitor/settings/special-parameters.json @@ -2,5 +2,6 @@ "K_events": "cuspEmax_ctc_cal", "FWHM": "cuspEmax_ctc_cal", "wf_max_rel": ["wf_max", "baseline"], - "event_rate": null + "event_rate": null, + "exposure": null } diff --git a/src/legend_data_monitor/settings/user_config_example_L200.json b/src/legend_data_monitor/settings/user_config_example_L200.json deleted file mode 100644 index f5cc5e4..0000000 --- a/src/legend_data_monitor/settings/user_config_example_L200.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "output": "/data1/users/morella/testing-dev-michele", - "dataset": { - "experiment": "L200", - "period": "p02", - "version": "v06.00", - "path": "/data1/users/marshall/prod-ref", - "type": "phy", - "start": "2023-01-26 04:30:00", - "end": "2023-01-26 07:00:00" - }, - "subsystems": { - "geds": { - "Pulser Gain in pulser events": { - "parameters": "cuspEmax", - "event_type": "pulser", - "plot_structure": "per string", - "plot_style": "vs time", - "resampled": "yes", - "variation": true, - "time_window": "5T" - }, - "Baseline in pulser events": { - "parameters": "baseline", - "event_type": "pulser", - "plot_structure": "per string", - "plot_style": "vs time", - "resampled": "no", - "variation": true, - "time_window": "5T" - }, - "Noise in pulser events": { - "parameters": "bl_std", - "event_type": "pulser", - "plot_structure": "per string", - "plot_style": "vs time", - "resampled": "only", - "variation": true, - "time_window": "5T" - } - } - } -} diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 8b07416..17fc5ff 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -4,6 +4,7 @@ import numpy as np import pandas as pd +import pytz from legendmeta import LegendMetadata from pygama.flow import DataLoader @@ -319,21 +320,7 @@ def get_channel_map(self): timestamp=self.first_timestamp ) - df_map = pd.DataFrame( - columns=[ - "name", - "location", - "channel", - "position", - "cc4_id", - "cc4_channel", - "daq_crate", - "daq_card", - "HV_card", - "HV_channel", - "det_type", - ], - ) + df_map = pd.DataFrame(columns=utils.COLUMNS_TO_LOAD) df_map = df_map.set_index("channel") # ------------------------------------------------------------------------- @@ -607,7 +594,9 @@ def construct_dataloader_configs(self, params: list_of_str): "P00665C", "P00748B", "P00748A", - ] # , "B00089D"] + "B00089D", + "V01389A", + ] probl_dets = [] for name in names: probl_det = list( @@ -663,6 +652,39 @@ def construct_dataloader_configs(self, params: list_of_str): } return dict_dlconfig, dict_dbconfig + + def remove_timestamps(self, remove_keys: dict): + """ + Remove timestamps from the dataframes for a given channel. The time interval in which to remove the channel is provided through an external json file. + """ + # all timestamps we are considering are expressed in UTC0 + utc_timezone = pytz.timezone('UTC') + utils.logger.debug("We are removing timestamps from the following channels: %s", {k for k in remove_keys.keys()}) + + # loop over channels for which we want to remove timestamps + for channel in remove_keys.keys(): + if channel in self.data['name'].unique(): + if remove_keys[channel]["from"] != [] and remove_keys[channel]["to"] != []: + # remove timestamps from self.data that are within time_from and time_to, for a given channel + for idx, time_from in enumerate(remove_keys[channel]["from"]): + # times are in format YYYYMMDDTHHMMSSZ, convert them into a UTC0 timestamp + time_from = datetime.strptime(time_from, "%Y%m%dT%H%M%SZ") + time_from = utc_timezone.localize(time_from) + time_from = time_from.timestamp() + + time_to = datetime.strptime(remove_keys[channel]["to"][idx], "%Y%m%dT%H%M%SZ") + time_to = utc_timezone.localize(time_to) + time_to = time_to.timestamp() + + # selectjust the rows for the given channel + channel_df = self.data[self.data['name'] == channel] + # for the given channel, select just the rows that are within the time interval + filtered_df = channel_df[(channel_df['timestamp'] >= time_from) & (channel_df['timestamp'] < time_to)] + # remove the rows that are within the time interval from the original dataframe + self.data = self.data[~((self.data['name'] == channel) & self.data['timestamp'].isin(filtered_df['timestamp']))] + + self.data = self.data.reset_index() + def below_period_3_excluded(self) -> bool: if int(self.period[-1]) < 3: diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 7078455..47029b5 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -23,12 +23,11 @@ # format formatter = logging.Formatter("%(asctime)s: %(message)s") stream_handler.setFormatter(formatter) -# file_handler.setFormatter(formatter) # add to logger logger.addHandler(stream_handler) -# ------------------------------------------------------------------------- +# ------------------------------------------------------------------------- SOME DICTIONARIES LOADING/DEFINITION pkg = importlib.resources.files("legend_data_monitor") @@ -44,10 +43,17 @@ with open(pkg / "settings" / "special-parameters.json") as f: SPECIAL_PARAMETERS = json.load(f) +# load list of columns to load for a dataframe +COLUMNS_TO_LOAD = ["name", "location", "channel", "position", "cc4_id", "cc4_channel", "daq_crate", "daq_card", "HV_card", "HV_channel", "det_type"] + # dictionary map (helpful when we want to map channels based on their location/position) with open(pkg / "settings" / "map-channels.json") as f: MAP_DICT = json.load(f) +# dictionary with timestamps to remove for specific channels +with open(pkg / "settings" / "remove-keys.json") as f: + REMOVE_KEYS = json.load(f) + # convert all to lists for convenience for param in SPECIAL_PARAMETERS: if isinstance(SPECIAL_PARAMETERS[param], str): @@ -255,18 +261,23 @@ def check_plot_settings(conf: dict): # check if all necessary fields for param settings were provided for field in options: - # if this field is not provided by user, tell them to provide it - # (if optional to provided, will have been set with defaults before calling set_defaults()) - if field not in plot_settings: - logger.error( - f"\033[91mProvide {field} in plot settings of '{plot}' for {subsys}!\033[0m" - ) - logger.error( - "\033[91mAvailable options: {}\033[0m".format( - ",".join(options[field]) + # when plot_structure is summary, plot_style is not needed... + if plot_settings["plot_structure"] == "summary" and "plot_style" not in plot_settings: + continue + # ...otherwise, it is required + else: + # if this field is not provided by user, tell them to provide it + # (if optional to provided, will have been set with defaults before calling set_defaults()) + if field not in plot_settings: + logger.error( + f"\033[91mProvide {field} in plot settings of '{plot}' for {subsys}!\033[0m" ) - ) - return False + logger.error( + "\033[91mAvailable options: {}\033[0m".format( + ",".join(options[field]) + ) + ) + return False # check if the provided option is valid opt = plot_settings[field] @@ -283,14 +294,15 @@ def check_plot_settings(conf: dict): return False # if vs time was provided, need time window - if ( - plot_settings["plot_style"] == "vs time" - and "time_window" not in plot_settings - ): - logger.error( - "\033[91mYou chose plot style 'vs time' and did not provide 'time_window'!\033[0m" - ) - return False + if plot_settings["plot_structure"] != "summary": + if ( + plot_settings["plot_style"] == "vs time" + and "time_window" not in plot_settings + ): + logger.error( + "\033[91mYou chose plot style 'vs time' and did not provide 'time_window'!\033[0m" + ) + return False return True @@ -692,5 +704,38 @@ def save_dict( def check_level0(dataframe: DataFrame) -> DataFrame: """Check if a dataframe contains the 'level_0' column. If so, remove it.""" if "level_0" in dataframe.columns: - dataframe = dataframe.drop(columns=["level_0"]) - return dataframe + return dataframe.drop(columns=["level_0"]) + else: + return dataframe + + +# ------------------------------------------------------------------------- +# Other functions +# ------------------------------------------------------------------------- + + +def get_livetime(tot_livetime: float): + """Get the livetime in a human readable format, starting from livetime in seconds. + + If tot_livetime is more than 0.1 yr, convert it to years. + If tot_livetime is less than 0.1 yr but more than 1 day, convert it to days. + If tot_livetime is less than 1 day but more than 1 hour, convert it to hours. + If tot_livetime is less than 1 hour but more than 1 minute, convert it to minutes. + """ + if tot_livetime > 60*60*24*365.25: + tot_livetime = tot_livetime / 60 / 60 / 24 / 365.25 + unit = ' yr' + elif tot_livetime > 60*60*24: + tot_livetime = tot_livetime / 60 / 60 / 24 + unit = ' days' + elif tot_livetime > 60*60: + tot_livetime = tot_livetime / 60 / 60 + unit = ' hrs' + elif tot_livetime > 60: + tot_livetime = tot_livetime / 60 + unit = ' min' + else: + unit = ' sec' + logger.info(f"Total livetime: {tot_livetime:.2f}{unit}") + + return tot_livetime, unit \ No newline at end of file From 18aa86fbf49abcea340460390ab88e9072c41c54 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 2 May 2023 11:56:23 +0200 Subject: [PATCH 011/166] new config folder --- .../config/p03_L200_phy_r000.json | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 src/legend_data_monitor/config/p03_L200_phy_r000.json diff --git a/src/legend_data_monitor/config/p03_L200_phy_r000.json b/src/legend_data_monitor/config/p03_L200_phy_r000.json new file mode 100644 index 0000000..7d2336c --- /dev/null +++ b/src/legend_data_monitor/config/p03_L200_phy_r000.json @@ -0,0 +1,99 @@ +{ + "output": "/data1/users/calgaro/auto_prova", + "dataset": { + "experiment": "L200", + "period": "p03", + "version": "", + "path": "/data2/public/prodenv/prod-blind/tmp/auto", + "type": "phy", + "runs": 0 + }, + "saving": "append", + "subsystems": { + "geds": { + "FWHM in pulser events":{ + "parameters": "FWHM", + "event_type": "pulser", + "plot_structure": "array", + "plot_style" : "vs ch" + }, + "Baselines (dsp/baseline) in pulser events": { + "parameters": "baseline", + "event_type": "pulser", + "plot_structure": "per channel", + "resampled": "also", + "plot_style": "vs time", + "variation": true, + "time_window": "1H", + "status": true + }, + "Uncalibrated gain (dsp/cuspEmax) in pulser events": { + "parameters": "cuspEmax", + "event_type": "pulser", + "plot_structure": "per channel", + "resampled": "also", + "plot_style": "vs time", + "variation": true, + "time_window": "1H", + "status": true + }, + "Calibrated gain (hit/cuspEmax_ctc_cal) in pulser events": { + "parameters": "cuspEmax_ctc_cal", + "event_type": "pulser", + "plot_structure": "per channel", + "resampled": "also", + "plot_style": "vs time", + "variation": true, + "time_window": "1H", + "status": true + }, + "Uncalibrated gain (dsp/trapEmax) in pulser events": { + "parameters": "trapEmax", + "event_type": "pulser", + "plot_structure": "per channel", + "resampled": "also", + "plot_style": "vs time", + "variation": true, + "time_window": "1H", + "status": true + }, + "Calibrated gain (hit/trapEmax_ctc_cal) in pulser events": { + "parameters": "trapEmax_ctc_cal", + "event_type": "pulser", + "plot_structure": "per channel", + "resampled": "also", + "plot_style": "vs time", + "variation": true, + "time_window": "1H", + "status": true + }, + "Noise (dsp/bl_std) in pulser events": { + "parameters": "bl_std", + "event_type": "pulser", + "plot_structure": "per channel", + "resampled": "only", + "plot_style": "vs time", + "variation": true, + "time_window": "1H" + }, + "A/E corrected (hit/AoE_Corrected) in pulser events": { + "parameters": "AoE_Corrected", + "event_type": "pulser", + "plot_structure": "per channel", + "resampled": "only", + "plot_style": "vs time", + "variation": true, + "time_window": "1H" + }, + "A/E classifier (hit/AoE_Classifier) in pulser events": { + "parameters": "AoE_Classifier", + "event_type": "pulser", + "plot_structure": "per channel", + "resampled": "only", + "plot_style": "vs time", + "variation": true, + "time_window": "1H" + } + } + } +} From d3c7e76c93430701c731e9a1dbb30fc0c2f59f47 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 2 May 2023 14:29:32 +0200 Subject: [PATCH 012/166] fixed exposure plotting modules --- src/legend_data_monitor/plotting.py | 141 ++------------ .../settings/remove-dets.json | 10 + ...status_plot.py => string_visualization.py} | 175 +++++++++++++++++- src/legend_data_monitor/subsystem.py | 18 +- src/legend_data_monitor/utils.py | 17 +- 5 files changed, 206 insertions(+), 155 deletions(-) create mode 100644 src/legend_data_monitor/settings/remove-dets.json rename src/legend_data_monitor/{status_plot.py => string_visualization.py} (66%) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index b6c6016..62b5ab2 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -8,7 +8,7 @@ from pandas import DataFrame from seaborn import color_palette -from . import analysis_data, plot_styles, status_plot, subsystem, utils +from . import analysis_data, plot_styles, string_visualization, subsystem, utils # ------------------------------------------------------------------------- @@ -84,7 +84,9 @@ def make_subsystem_plots( # num colors needed = max number of channels per string # - find number of unique positions in each string # - get maximum occurring - if plot_settings["plot_structure"] == "per cc4": + plot_structure = PLOT_STRUCTURE[plot_settings["plot_structure"]] if "plot_structure" in plot_settings else None + + if plot_structure == "per cc4": if ( data_analysis.data.iloc[0]["cc4_id"] is None or data_analysis.data.iloc[0]["cc4_channel"] is None @@ -135,7 +137,7 @@ def make_subsystem_plots( # information for shifting the channels or not (not needed only for the 'per channel' structure option) when plotting the std plot_info["std"] = ( - True if plot_settings["plot_structure"] == "per channel" else False + True if plot_structure == "per channel" else False ) if plot_info["plot_style"] is not None: @@ -179,18 +181,17 @@ def make_subsystem_plots( plot_info["param_mean"] = plot_settings["parameters"] + "_mean" # ------------------------------------------------------------------------- - # call chosen plot structure + # call chosen plot structure + plotting # ------------------------------------------------------------------------- - # choose plot function based on user requested structure e.g. per channel or all ch together - plot_structure = PLOT_STRUCTURE[plot_settings["plot_structure"]] - utils.logger.debug("Plot structure: " + plot_settings["plot_structure"]) - - # plotting - plot_structure(data_analysis.data, plot_info, pdf) + if plot_info["parameter"] == "exposure": + _ = string_visualization.exposure_plot(subsystem, data_analysis.data, plot_info, pdf) + else: + utils.logger.debug("Plot structure: " + plot_structure) + plot_structure(data_analysis.data, plot_info, pdf) # For some reason, after some plotting functions the index is set to "channel". - # We need to set it back otherwise status_plot.py gets crazy and everything crashes. + # We need to set it back otherwise string_visualization.py gets crazy and everything crashes. data_analysis.data = data_analysis.data.reset_index() # ------------------------------------------------------------------------- @@ -213,7 +214,7 @@ def make_subsystem_plots( f"Thresholds are not enabled for {subsystem.type}! Use you own eyes to do checks there" ) else: - _ = status_plot.status_plot( + _ = string_visualization.status_plot( subsystem, data_analysis.data, plot_info, pdf ) @@ -651,121 +652,6 @@ def plot_array(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): return fig -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# THIS IS NOT A GENERAL FUNCTION - IT WORKS ONLY FOR EXPOSURE RIGHT NOW, FIX IT! -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -def plot_summary(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): - if plot_info["subsystem"] == "spms": - utils.logger.error( - "\033[91mPlotting the summary is not available for the spms.\nTry again!\033[0m" - ) - exit() - - # cbar unit (either 'kg d', if exposure is less than 0.1 kg yr, or 'kg yr'); note: exposure, at this point, is evaluated as 'kg yr' - if data_analysis["exposure"].max() < 0.1: - cbar_unit = "kg d" - else: - cbar_unit = "kg yr" - - # convert exposure into [kg day] if data_analysis["exposure"].max() < 0.1 kg yr - if cbar_unit == "kg d": - data_analysis["exposure"] = data_analysis["exposure"] * 365.25 - #data_analysis.loc[data_analysis["exposure"] < 0.1, "exposure"] = data_analysis.loc[data_analysis["exposure"] < 0.1, "exposure"] * 365.25 - # drop duplicate rows, based on channel entry (exposure is constant for a fixed channel) - data_analysis = data_analysis.drop_duplicates(subset=["channel"]) - # total exposure - tot_expo = data_analysis["exposure"].sum() - utils.logger.info(f"Total exposure: {tot_expo:.3f} {cbar_unit}") - - # note: we leave off detectors with exposure = 0 (ie. off detectors) - - # values to plot - result = data_analysis.pivot(index="position", columns="location", values="exposure") - result = result.round(3) - - # display it - if utils.logger.getEffectiveLevel() is utils.logging.DEBUG: - from tabulate import tabulate - output_result = tabulate( - result, headers="keys", tablefmt="psql", showindex=False, stralign="center" - ) - utils.logger.debug( - "Status map summary for " + plot_info["parameter"] + ":\n%s", output_result - ) - - # calculate total livetime as sum of content of livetime_in_s column (and then convert it a human readable format) - tot_livetime = data_analysis["livetime_in_s"].unique()[0] - tot_livetime, unit = utils.get_livetime(tot_livetime) - - # ------------------------------------------------------------------------------- - # plot - # ------------------------------------------------------------------------------- - - # create the figure - fig = plt.figure(num=None, figsize=(8, 12), dpi=80, facecolor="w", edgecolor="k") - sns.set(font_scale=1) - - # create labels for dets, with exposure values - labels = result.astype(str) - - # labels definition (AFTER having included OFF detectors too) ------------------------------- ToDo (exposure set at 0 for OFF dets - we need SubSystem info) - # LOCATION: - x_axis_labels = [f"S{no}" for no in sorted(data_analysis["location"].unique())] - # POSITION: - y_axis_labels = [ - no - for no in range( - min(data_analysis["position"].unique()), - max(data_analysis["position"].unique() + 1), - ) - ] - - # create the heatmap - status_map = sns.heatmap( - data=result, - annot=labels, - annot_kws={"size": 6}, - yticklabels=y_axis_labels, - xticklabels=x_axis_labels, - fmt="s", - cbar=True, - cbar_kws={"shrink": 0.5}, - linewidths=1, - linecolor="white", - square=True, - rasterized=True, - ) - - # add title "kg yr" as text on top of the cbar - plt.text( - 1.08, - 0.89, - f"({cbar_unit})", - transform=status_map.transAxes, - horizontalalignment="center", - verticalalignment="center", - ) - - plt.tick_params( - axis="both", - which="major", - labelbottom=False, - bottom=False, - top=False, - labeltop=True, - ) - plt.yticks(rotation=0) - plt.title(f"{plot_info['subsystem']} - {plot_info['title']}\nTotal livetime: {tot_livetime:.2f}{unit}\nTotal exposure: {tot_expo:.3f} {cbar_unit}") - - # ------------------------------------------------------------------------------- - # if no pdf is specified, then the function is not being called by make_subsystem_plots() - if pdf: - plt.savefig(pdf, format="pdf", bbox_inches="tight") - # figures are retained until explicitly closed; close to not consume too much memory - plt.close() - - return fig - # ------------------------------------------------------------------------------- # SiPM specific structures @@ -962,7 +848,6 @@ def save_pdf(plt, pdf: PdfPages): "per cc4": plot_per_cc4, "per string": plot_per_string, "array": plot_array, - "summary": plot_summary, "per fiber": plot_per_fiber_and_barrel, "per barrel": plot_per_barrel_and_position, } diff --git a/src/legend_data_monitor/settings/remove-dets.json b/src/legend_data_monitor/settings/remove-dets.json new file mode 100644 index 0000000..2ce01ad --- /dev/null +++ b/src/legend_data_monitor/settings/remove-dets.json @@ -0,0 +1,10 @@ +{ + "V01406A": "off", + "V01415A": "off", + "V01387A": "off", + "V01389A": "off", + "P00665C": "off", + "P00748B": "off", + "P00748A": "off", + "B00089D": "off" +} \ No newline at end of file diff --git a/src/legend_data_monitor/status_plot.py b/src/legend_data_monitor/string_visualization.py similarity index 66% rename from src/legend_data_monitor/status_plot.py rename to src/legend_data_monitor/string_visualization.py index 6ec0ed6..21b7332 100644 --- a/src/legend_data_monitor/status_plot.py +++ b/src/legend_data_monitor/string_visualization.py @@ -13,7 +13,9 @@ from . import utils - +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# CHANNELS' STATUS FUNCTION +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def status_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # ------------------------------------------------------------------------- # plot a map with statuses of channels @@ -166,15 +168,7 @@ def status_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: PdfPa ) # get position within the array + other necessary info - name = subsystem.channel_map.loc[ - subsystem.channel_map["channel"] == channel - ]["name"].iloc[0] - location = subsystem.channel_map.loc[ - subsystem.channel_map["channel"] == channel - ]["location"].iloc[0] - position = subsystem.channel_map.loc[ - subsystem.channel_map["channel"] == channel - ]["position"].iloc[0] + name, location, position = get_info_from_channel(subsystem) # define new row for not-ON detectors new_row = [[channel, name, location, position, status]] @@ -283,3 +277,164 @@ def status_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: PdfPa # returning the figure return fig + + + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# EXPOSURE FUNCTION +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +def exposure_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): + if plot_info["subsystem"] == "spms": + utils.logger.error( + "\033[91mPlotting the summary is not available for the spms.\nTry again!\033[0m" + ) + exit() + + # cbar unit (either 'kg d', if exposure is less than 0.1 kg yr, or 'kg yr'); note: exposure, at this point, is evaluated as 'kg yr' + if data_analysis["exposure"].max() < 0.1: + cbar_unit = "kg d" + else: + cbar_unit = "kg yr" + + # convert exposure into [kg day] if data_analysis["exposure"].max() < 0.1 kg yr + if cbar_unit == "kg d": + data_analysis["exposure"] = data_analysis["exposure"] * 365.25 + #data_analysis.loc[data_analysis["exposure"] < 0.1, "exposure"] = data_analysis.loc[data_analysis["exposure"] < 0.1, "exposure"] * 365.25 + # drop duplicate rows, based on channel entry (exposure is constant for a fixed channel) + data_analysis = data_analysis.drop_duplicates(subset=["channel"]) + # total exposure + tot_expo = data_analysis["exposure"].sum() + utils.logger.info(f"Total exposure: {tot_expo:.3f} {cbar_unit}") + + data_analysis = data_analysis.filter(["channel", "name", "location", "position", "exposure", "livetime_in_s"]) + + # ------------------------------------------------------------------------------- + # OFF detectors + # ------------------------------------------------------------------------------- + + # include OFF channels and see what is their status + off_channels = subsystem.channel_map[subsystem.channel_map["status"] == "off"][ + "channel" + ].unique() + + if len(off_channels) != 0: + for channel in off_channels: + # check if the channel is already in the exposure dataframe; if not, add a new row for it + if channel not in data_analysis["channel"].values: + status_info = subsystem.channel_map[ + subsystem.channel_map["channel"] == channel + ]["status"].iloc[0] + + # get status info + if status_info != "on": + exposure = 0 + livetime_in_s = 0 + + # get position within the array + other necessary info + name = subsystem.channel_map.loc[ + subsystem.channel_map["channel"] == channel + ]["name"].iloc[0] + location = subsystem.channel_map.loc[ + subsystem.channel_map["channel"] == channel + ]["location"].iloc[0] + position = subsystem.channel_map.loc[ + subsystem.channel_map["channel"] == channel + ]["position"].iloc[0] + + # define new row for not-ON detectors + new_row = [[channel, name, location, position, exposure, livetime_in_s]] + new_df = DataFrame( + new_row, + columns=["channel", "name", "location", "position", "exposure", "livetime_in_s"], + ) + # add the new row to the dataframe + data_analysis = concat( + [data_analysis, new_df], ignore_index=True, axis=0 + ) + + # values to plot + result = data_analysis.pivot(index="position", columns="location", values="exposure") + result = result.round(3) + + # display it + if utils.logger.getEffectiveLevel() is utils.logging.DEBUG: + from tabulate import tabulate + output_result = tabulate( + result, headers="keys", tablefmt="psql", showindex=False, stralign="center" + ) + utils.logger.debug( + "Status map summary for " + plot_info["parameter"] + ":\n%s", output_result + ) + + # calculate total livetime as sum of content of livetime_in_s column (and then convert it a human readable format) + tot_livetime = data_analysis["livetime_in_s"].unique()[0] + tot_livetime, unit = utils.get_livetime(tot_livetime) + + # ------------------------------------------------------------------------------- + # plot + # ------------------------------------------------------------------------------- + + # create the figure + fig = plt.figure(num=None, figsize=(8, 12), dpi=80, facecolor="w", edgecolor="k") + sns.set(font_scale=1) + + # create labels for dets, with exposure values + labels = result.astype(str) + + # labels definition (AFTER having included OFF detectors too) ------------------------------- ToDo (exposure set at 0 for OFF dets - we need SubSystem info) + # LOCATION: + x_axis_labels = [f"S{no}" for no in sorted(data_analysis["location"].unique())] + # POSITION: + y_axis_labels = [ + no + for no in range( + min(data_analysis["position"].unique()), + max(data_analysis["position"].unique() + 1), + ) + ] + + # create the heatmap + status_map = sns.heatmap( + data=result, + annot=labels, + annot_kws={"size": 6}, + yticklabels=y_axis_labels, + xticklabels=x_axis_labels, + fmt="s", + cbar=True, + cbar_kws={"shrink": 0.5}, + linewidths=1, + linecolor="white", + square=True, + rasterized=True, + ) + + # add title "kg yr" as text on top of the cbar + plt.text( + 1.08, + 0.89, + f"({cbar_unit})", + transform=status_map.transAxes, + horizontalalignment="center", + verticalalignment="center", + ) + + plt.tick_params( + axis="both", + which="major", + labelbottom=False, + bottom=False, + top=False, + labeltop=True, + ) + plt.yticks(rotation=0) + plt.title(f"{plot_info['subsystem']} - {plot_info['title']}\nTotal livetime: {tot_livetime:.2f}{unit}\nTotal exposure: {tot_expo:.3f} {cbar_unit}") + + # ------------------------------------------------------------------------------- + # if no pdf is specified, then the function is not being called by make_subsystem_plots() + if pdf: + plt.savefig(pdf, format="pdf", bbox_inches="tight") + # figures are retained until explicitly closed; close to not consume too much memory + plt.close() + + return fig \ No newline at end of file diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 17fc5ff..b706550 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -498,6 +498,11 @@ def get_channel_status(self): self.channel_map.at[channel_name, "status"] = full_status_map[ channel_name ]["usability"] + # quick-fix to remove detectors while status maps are not updated + for channel_name in list(utils.REMOVE_DETS.keys()): + # status map contains all channels, check if this channel is in our subsystem + if channel_name in self.channel_map.index: + self.channel_map.at[channel_name, "status"] = "off" self.channel_map = self.channel_map.reset_index() @@ -587,16 +592,7 @@ def construct_dataloader_configs(self, params: list_of_str): # remove p03 channels who are not properly behaving in calib data (from George's analysis) if int(self.period[-1]) >= 3: - names = [ - "V01406A", - "V01415A", - "V01387A", - "P00665C", - "P00748B", - "P00748A", - "B00089D", - "V01389A", - ] + names = list(utils.REMOVE_DETS.keys()) probl_dets = [] for name in names: probl_det = list( @@ -659,7 +655,7 @@ def remove_timestamps(self, remove_keys: dict): """ # all timestamps we are considering are expressed in UTC0 utc_timezone = pytz.timezone('UTC') - utils.logger.debug("We are removing timestamps from the following channels: %s", {k for k in remove_keys.keys()}) + utils.logger.debug("We are removing timestamps from the following channels: %s", list(remove_keys.keys())) # loop over channels for which we want to remove timestamps for channel in remove_keys.keys(): diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 47029b5..802c00a 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -4,6 +4,7 @@ import logging import os import re +import sys import shelve # for getting DataLoader time range @@ -54,6 +55,10 @@ with open(pkg / "settings" / "remove-keys.json") as f: REMOVE_KEYS = json.load(f) +# dictionary with detectors to remove +with open(pkg / "settings" / "remove-dets.json") as f: + REMOVE_DETS = json.load(f) + # convert all to lists for convenience for param in SPECIAL_PARAMETERS: if isinstance(SPECIAL_PARAMETERS[param], str): @@ -262,7 +267,7 @@ def check_plot_settings(conf: dict): # check if all necessary fields for param settings were provided for field in options: # when plot_structure is summary, plot_style is not needed... - if plot_settings["plot_structure"] == "summary" and "plot_style" not in plot_settings: + if plot_settings["parameters"] == "exposure" and ("plot_style" not in plot_settings and "plot_structure" not in plot_settings): continue # ...otherwise, it is required else: @@ -294,7 +299,7 @@ def check_plot_settings(conf: dict): return False # if vs time was provided, need time window - if plot_settings["plot_structure"] != "summary": + if plot_settings["parameters"] != "exposure": if ( plot_settings["plot_style"] == "vs time" and "time_window" not in plot_settings @@ -463,7 +468,7 @@ def search_for_timestamp(folder): logger.error( "\033[91mThe selected timestamps were not find anywhere. Try again with another time range!\033[0m" ) - exit() + sys.exit() if len(run_list) > 1: return get_multiple_run_id(user_time_range) @@ -538,14 +543,14 @@ def add_config_entries( type = config["dataset"]["type"] else: logger.error("\033[91mYou need to provide data type! Try again.\033[0m") - exit() + sys.exit() if "path" in config["dataset"].keys(): path = config["dataset"]["path"] else: logger.error( "\033[91mYou need to provide path to lh5 files! Try again.\033[0m" ) - exit() + sys.exit() else: # get phy/cal lists phy_keys = [key for key in keys if "phy" in key] @@ -597,7 +602,7 @@ def add_config_entries( '\033[91mThere are missing entries among ["output", "dataset", "saving", "subsystems"] in the config file (found keys: %s). Try again and check you start with "output" and "dataset" info!\033[0m', config.keys(), ) - exit() + sys.exit() return config From 5297c4b7f8b840f212916b7b08d47e82c7c85543 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 2 May 2023 14:37:39 +0200 Subject: [PATCH 013/166] minor fixes --- .../string_visualization.py | 49 +++++++++++-------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/src/legend_data_monitor/string_visualization.py b/src/legend_data_monitor/string_visualization.py index 21b7332..72fd1de 100644 --- a/src/legend_data_monitor/string_visualization.py +++ b/src/legend_data_monitor/string_visualization.py @@ -11,7 +11,7 @@ from matplotlib.backends.backend_pdf import PdfPages from pandas import DataFrame, Timedelta, concat -from . import utils +from . import plotting, utils # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # CHANNELS' STATUS FUNCTION @@ -168,7 +168,7 @@ def status_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: PdfPa ) # get position within the array + other necessary info - name, location, position = get_info_from_channel(subsystem) + name, location, position = get_info_from_channel(subsystem.channel_map, channel) # define new row for not-ON detectors new_row = [[channel, name, location, position, status]] @@ -231,7 +231,7 @@ def status_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: PdfPa ) ] - # to account for empty strings: not a good idea actually... + # to account for empty strings: ...not a good idea actually... # In L60, there are S1,S2,S7,S8: do we really want to display 4 empty strings, i.e. S3-S6? There is no need! # x_axis_labels = [f"S{no}" for no in range(min(new_dataframe["location"].unique()), max(new_dataframe["location"].unique()+1))] @@ -273,7 +273,9 @@ def status_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: PdfPa ) plt.yticks(rotation=0) plt.title(plot_title) - pdf.savefig(bbox_inches="tight") + + # saving + plotting.save_pdf(plt, pdf) # returning the figure return fig @@ -331,15 +333,7 @@ def exposure_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: Pdf livetime_in_s = 0 # get position within the array + other necessary info - name = subsystem.channel_map.loc[ - subsystem.channel_map["channel"] == channel - ]["name"].iloc[0] - location = subsystem.channel_map.loc[ - subsystem.channel_map["channel"] == channel - ]["location"].iloc[0] - position = subsystem.channel_map.loc[ - subsystem.channel_map["channel"] == channel - ]["position"].iloc[0] + name, location, position = get_info_from_channel(subsystem.channel_map, channel) # define new row for not-ON detectors new_row = [[channel, name, location, position, exposure, livetime_in_s]] @@ -381,7 +375,7 @@ def exposure_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: Pdf # create labels for dets, with exposure values labels = result.astype(str) - # labels definition (AFTER having included OFF detectors too) ------------------------------- ToDo (exposure set at 0 for OFF dets - we need SubSystem info) + # labels definition (AFTER having included OFF detectors too) ------------------------------- # LOCATION: x_axis_labels = [f"S{no}" for no in sorted(data_analysis["location"].unique())] # POSITION: @@ -430,11 +424,24 @@ def exposure_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: Pdf plt.yticks(rotation=0) plt.title(f"{plot_info['subsystem']} - {plot_info['title']}\nTotal livetime: {tot_livetime:.2f}{unit}\nTotal exposure: {tot_expo:.3f} {cbar_unit}") - # ------------------------------------------------------------------------------- - # if no pdf is specified, then the function is not being called by make_subsystem_plots() - if pdf: - plt.savefig(pdf, format="pdf", bbox_inches="tight") - # figures are retained until explicitly closed; close to not consume too much memory - plt.close() + # saving + plotting.save_pdf(plt, pdf) - return fig \ No newline at end of file + return fig + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Plotting recurring functions +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +def get_info_from_channel(channel_map: DataFrame, channel: int): + """Get info (name, location, position) from a channel number, once the channel map is provided as a DataFrame.""" + name = channel_map.loc[ + channel_map["channel"] == channel + ]["name"].iloc[0] + location = channel_map.loc[ + channel_map["channel"] == channel + ]["location"].iloc[0] + position = channel_map.loc[ + channel_map["channel"] == channel + ]["position"].iloc[0] + + return name, location, position \ No newline at end of file From f4c718012cfb81688603d7d8959f985c23dd8388 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 2 May 2023 17:28:55 +0200 Subject: [PATCH 014/166] added single/multiple QCs + handling of empty chs/dfs --- src/legend_data_monitor/analysis_data.py | 15 ++++---- src/legend_data_monitor/core.py | 2 +- src/legend_data_monitor/cuts.py | 26 +++++++++++++- src/legend_data_monitor/plotting.py | 3 ++ .../string_visualization.py | 34 +++++++++++++++++-- src/legend_data_monitor/subsystem.py | 2 ++ src/legend_data_monitor/utils.py | 19 ++++++++--- 7 files changed, 86 insertions(+), 15 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index c1ef9b1..004f6c2 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -126,10 +126,13 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): "det_type", "status", ] - # pulser flag is present only if subsystem.flag_pulser_events() was called - # needed to subselect phy/pulser events - if "flag_pulser" in sub_data: - params_to_get.append("flag_pulser") + for col in sub_data.columns: + # pulser flag is present only if subsystem.flag_pulser_events() was called -> needed to subselect phy/pulser events + if "flag_pulser" in col: + params_to_get.append("flag_pulser") + # QC flag is present only if inserted as a cut in the config file -> needed to apply + if "is_" in col: + params_to_get.append(col) # if special parameter, get columns needed to calculate it for param in self.parameters: @@ -183,10 +186,10 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): # calculate variation if needed - only works after channel mean self.calculate_variation() - # ------------------------------------------------------------------------- - + # little sorting, before closing the function self.data = self.data.sort_values(["channel", "datetime"]) + def select_events(self): # do we want to keep all, phy or pulser events? if self.evt_type == "pulser": diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 5e9d7e9..ea83436 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -195,7 +195,7 @@ def generate_plots(config: dict, plt_path: str): subsystems[system].get_data(parameters) # remove timestamps for given detectors subsystems[system].remove_timestamps(utils.REMOVE_KEYS) - utils.logger.debug(subsystems[system].data) + utils.logger.debug(subsystems[system].data) # flag pulser events for future parameter data selection subsystems[system].flag_pulser_events(subsystems["pulser"]) diff --git a/src/legend_data_monitor/cuts.py b/src/legend_data_monitor/cuts.py index 7cc2b4a..4332535 100644 --- a/src/legend_data_monitor/cuts.py +++ b/src/legend_data_monitor/cuts.py @@ -2,6 +2,7 @@ def cut_k_lines(data): + """Keep only events that are in the K lines region (i.e., in (1430;1575) keV).""" # if we are not plotting "K_events", then there is still the case were the user might want to plot a given parameter (eg. baseline) # in correspondence ok K line entries. To do this, we go and look at the corresponding energy column. In particular, the energy is decided a priori in 'special-parameters.json' if utils.SPECIAL_PARAMETERS["K_events"][0] in data.columns: @@ -19,10 +20,33 @@ def cut_k_lines(data): return data[(data[energy] > 1430) & (data[energy] < 1575)] +def is_valid_0vbb(data): + """Keep only events that are valid for 0vbb analysis.""" + return data[data["is_valid_0vbb"] == 1] + +def is_valid_cal(data): + """Keep only events that are valid for ??? analysis.""" + return data[data["is_valid_cal"] == 1] + +def is_negative(data): + """Keep only events that are valid for ??? analysis.""" + return data[data["is_negative"] == 1] + +def is_saturated(data): + """Keep only events that are valid for ??? analysis.""" + return data[data["is_saturated"] == 1] + + def apply_cut(data, cut): cut_function = CUTS[cut] utils.logger.info("...... applying cut: " + cut) return cut_function(data) -CUTS = {"K lines": cut_k_lines} +CUTS = { + "K lines": cut_k_lines, + "is_valid_0vbb": is_valid_0vbb, + "is_valid_cal": is_valid_cal, + "is_negative": is_negative, + "is_saturated": is_saturated, +} diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 62b5ab2..48ea018 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -74,6 +74,9 @@ def make_subsystem_plots( # cuts will be loaded but not applied; for our purposes, need to apply the cuts right away # currently only K lines cut is used, and only data after cut is plotted -> just replace data_analysis.data = data_analysis.apply_all_cuts() + # check if the dataframe is empty, if so, skip this plot + if utils.is_empty(data_analysis.data): + continue utils.logger.debug(data_analysis.data) # ------------------------------------------------------------------------- diff --git a/src/legend_data_monitor/string_visualization.py b/src/legend_data_monitor/string_visualization.py index 72fd1de..a8c6b06 100644 --- a/src/legend_data_monitor/string_visualization.py +++ b/src/legend_data_monitor/string_visualization.py @@ -329,8 +329,10 @@ def exposure_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: Pdf # get status info if status_info != "on": - exposure = 0 - livetime_in_s = 0 + exposure = 0.0 + livetime_in_s = 0.0 + + # get position within the array + other necessary info name, location, position = get_info_from_channel(subsystem.channel_map, channel) @@ -346,6 +348,34 @@ def exposure_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: Pdf [data_analysis, new_df], ignore_index=True, axis=0 ) + # ------------------------------------------------------------------------------- + # ON but NULL exposure detectors + # ------------------------------------------------------------------------------- + on_channels = subsystem.channel_map[subsystem.channel_map["status"] == "on"][ + "channel" + ].unique() + + for channel in on_channels: + if channel in list(data_analysis["channel"].unique()): continue + + # if not there, set exposure to zero + exposure = 0.0 + livetime_in_s = 0.0 + + # get position within the array + other necessary info + name, location, position = get_info_from_channel(subsystem.channel_map, channel) + + # define new row for not-ON detectors + new_row = [[channel, name, location, position, exposure, livetime_in_s]] + new_df = DataFrame( + new_row, + columns=["channel", "name", "location", "position", "exposure", "livetime_in_s"], + ) + # add the new row to the dataframe + data_analysis = concat( + [data_analysis, new_df], ignore_index=True, axis=0 + ) + # values to plot result = data_analysis.pivot(index="position", columns="location", values="exposure") result = result.round(3) diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index b706550..0c7ab6b 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -591,6 +591,7 @@ def construct_dataloader_configs(self, params: list_of_str): utils.logger.info(f"...... not loading channels with status off: {removed_chs}") # remove p03 channels who are not properly behaving in calib data (from George's analysis) + """ if int(self.period[-1]) >= 3: names = list(utils.REMOVE_DETS.keys()) probl_dets = [] @@ -606,6 +607,7 @@ def construct_dataloader_configs(self, params: list_of_str): f"...... not loading problematic detectors for {self.period}: {names}" ) chlist = [ch for ch in chlist if ch not in probl_dets] + """ # for L60-p01 and L200-p02, keep using 3 digits if int(self.period[-1]) < 3: diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 802c00a..e4d9688 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -487,10 +487,10 @@ def get_all_plot_parameters(subsystem: str, config: dict): all_parameters += parameters # check if there is any QC entry; if so, add it to the list of parameters to load - if "quality_cuts" in config["subsystems"][subsystem][plot]: - all_parameters.append( - config["subsystems"][subsystem][plot]["quality_cuts"] - ) + if "cuts" in config["subsystems"][subsystem][plot]: + for cut in config["subsystems"][subsystem][plot]["cuts"]: + if "is_" in cut: + all_parameters.append(cut) return all_parameters @@ -743,4 +743,13 @@ def get_livetime(tot_livetime: float): unit = ' sec' logger.info(f"Total livetime: {tot_livetime:.2f}{unit}") - return tot_livetime, unit \ No newline at end of file + return tot_livetime, unit + + +def is_empty(df: DataFrame): + """Check if a dataframe is empty. If so, we exit from the code.""" + if df.empty: + logger.warning( + "\033[93mThe dataframe is empty. Plotting the next entry (if present, otherwise exiting from the code).\033[0m" + ) + return True \ No newline at end of file From 24abe591647e0e1fa153743a9dc1bd3f66ddfe1d Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 3 May 2023 12:14:32 +0200 Subject: [PATCH 015/166] update keys to remove --- src/legend_data_monitor/settings/remove-keys.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/legend_data_monitor/settings/remove-keys.json b/src/legend_data_monitor/settings/remove-keys.json index 38784e3..2eb085d 100644 --- a/src/legend_data_monitor/settings/remove-keys.json +++ b/src/legend_data_monitor/settings/remove-keys.json @@ -1,14 +1,14 @@ { "C00ANG3": { - "from": ["20230330T043441Z", "20230415T133659Z"], - "to": ["20230415T033517Z", "20230424T185631Z"] + "from": ["20230330T043441Z", "20230411T170538Z", "20230413T064408Z", "20230415T133659Z"], + "to": ["20230401T012732Z", "20230411T210547Z", "20230413T084412Z", "20230424T185631Z"] }, "C00ANG5": { - "from": ["20230330T043441Z", "20230415T133659Z"], - "to": ["20230415T033517Z", "20230424T185631Z"] + "from": ["20230330T043441Z", "20230411T170538Z", "20230413T064408Z", "20230415T133659Z"], + "to": ["20230401T012732Z", "20230411T210547Z", "20230413T084412Z", "20230424T185631Z"] }, "C00ANG2": { - "from": ["20230330T043441Z", "20230415T133659Z"], - "to": ["20230415T033517Z", "20230424T185631Z"] + "from": ["20230330T043441Z", "20230411T170538Z", "20230413T064408Z", "20230415T133659Z"], + "to": ["20230401T012732Z", "20230411T210547Z", "20230413T084412Z", "20230424T185631Z"] } } From 2f38b0e75820bd49936e147f138b4cb7641fa4d5 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 3 May 2023 14:36:26 +0200 Subject: [PATCH 016/166] fixed anti-QCs and multiple QCs --- src/legend_data_monitor/analysis_data.py | 3 +- src/legend_data_monitor/cuts.py | 157 +++++++++++++++++- src/legend_data_monitor/plot_styles.py | 2 +- src/legend_data_monitor/plotting.py | 2 +- .../settings/parameter-tiers.json | 16 +- src/legend_data_monitor/subsystem.py | 12 +- 6 files changed, 182 insertions(+), 10 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 004f6c2..adc4eb9 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -130,7 +130,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): # pulser flag is present only if subsystem.flag_pulser_events() was called -> needed to subselect phy/pulser events if "flag_pulser" in col: params_to_get.append("flag_pulser") - # QC flag is present only if inserted as a cut in the config file -> needed to apply + # QC flag is present only if inserted as a cut in the config file -> this part is needed to apply if "is_" in col: params_to_get.append(col) @@ -171,7 +171,6 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): exit() # ------------------------------------------------------------------------- - # select phy/puls/all events bad = self.select_events() if bad: diff --git a/src/legend_data_monitor/cuts.py b/src/legend_data_monitor/cuts.py index 4332535..d76d91c 100644 --- a/src/legend_data_monitor/cuts.py +++ b/src/legend_data_monitor/cuts.py @@ -19,34 +19,183 @@ def cut_k_lines(data): return data[(data[energy] > 1430) & (data[energy] < 1575)] +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# QUALITY CUTS +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def is_valid_0vbb(data): """Keep only events that are valid for 0vbb analysis.""" return data[data["is_valid_0vbb"] == 1] def is_valid_cal(data): - """Keep only events that are valid for ??? analysis.""" return data[data["is_valid_cal"] == 1] def is_negative(data): - """Keep only events that are valid for ??? analysis.""" return data[data["is_negative"] == 1] def is_saturated(data): - """Keep only events that are valid for ??? analysis.""" return data[data["is_saturated"] == 1] +def is_valid_rt(data): + return data[data["is_valid_rt"] == 1] + +def is_valid_t0(data): + return data[data["is_valid_t0"] == 1] + +def is_valid_tmax(data): + return data[data["is_valid_tmax"] == 1] + +def is_valid_dteff(data): + return data[data["is_valid_dteff"] == 1] + +def is_valid_ediff(data): + return data[data["is_valid_ediff"] == 1] + +def is_valid_ediff(data): + return data[data["is_valid_ediff"] == 1] + +def is_valid_efrac(data): + return data[data["is_valid_efrac"] == 1] + +def is_negative_crosstalk(data): + return data[data["is_negative_crosstalk"] == 1] + +def is_discharge(data): + return data[data["is_discharge"] == 1] + +def is_neg_energy(data): + return data[data["is_neg_energy"] == 1] + +def is_valid_tail(data): + return data[data["is_valid_tail"] == 1] + +def is_downgoing_baseline(data): + return data[data["is_downgoing_baseline"] == 1] + +def is_upgoing_baseline(data): + return data[data["is_upgoing_baseline"] == 1] + +def is_upgoing_baseline(data): + return data[data["is_upgoing_baseline"] == 1] + +def is_noise_burst(data): + return data[data["is_noise_burst"] == 1] + +def is_valid_baseline(data): + return data[data["is_valid_baseline"] == 1] + + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# ANTI - QUALITY CUTS +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +def is_not_valid_0vbb(data): + """Keep only events that are valid for 0vbb analysis.""" + return data[data["is_valid_0vbb"] == 0] + +def is_not_valid_cal(data): + return data[data["is_valid_cal"] == 0] + +def is_not_negative(data): + return data[data["is_negative"] == 0] + +def is_not_saturated(data): + return data[data["is_saturated"] == 0] + +def is_not_valid_rt(data): + return data[data["is_valid_rt"] == 0] + +def is_not_valid_t0(data): + return data[data["is_valid_t0"] == 0] + +def is_not_valid_tmax(data): + return data[data["is_valid_tmax"] == 0] + +def is_not_valid_dteff(data): + return data[data["is_valid_dteff"] == 0] + +def is_not_valid_ediff(data): + return data[data["is_valid_ediff"] == 0] + +def is_not_valid_ediff(data): + return data[data["is_valid_ediff"] == 0] + +def is_not_valid_efrac(data): + return data[data["is_valid_efrac"] == 0] + +def is_not_negative_crosstalk(data): + return data[data["is_negative_crosstalk"] == 0] + +def is_not_discharge(data): + return data[data["is_discharge"] == 0] + +def is_not_neg_energy(data): + return data[data["is_neg_energy"] == 0] + +def is_not_valid_tail(data): + return data[data["is_valid_tail"] == 0] + +def is_not_downgoing_baseline(data): + return data[data["is_downgoing_baseline"] == 0] + +def is_not_upgoing_baseline(data): + return data[data["is_upgoing_baseline"] == 0] + +def is_not_upgoing_baseline(data): + return data[data["is_upgoing_baseline"] == 0] + +def is_not_noise_burst(data): + return data[data["is_noise_burst"] == 0] + +def is_not_valid_baseline(data): + return data[data["is_valid_baseline"] == 0] + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Apply cut +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def apply_cut(data, cut): cut_function = CUTS[cut] utils.logger.info("...... applying cut: " + cut) return cut_function(data) - +# temporary list - all QCs will be merged in a more clean way CUTS = { "K lines": cut_k_lines, "is_valid_0vbb": is_valid_0vbb, "is_valid_cal": is_valid_cal, "is_negative": is_negative, "is_saturated": is_saturated, + "is_valid_rt": is_valid_rt, + "is_valid_t0": is_valid_t0, + "is_valid_tmax": is_valid_tmax, + "is_valid_dteff": is_valid_dteff, + "is_valid_ediff": is_valid_ediff, + "is_valid_efrac": is_valid_efrac, + "is_negative_crosstalk": is_negative_crosstalk, + "is_discharge": is_discharge, + "is_neg_energy": is_neg_energy, + "is_valid_tail": is_valid_tail, + "is_downgoing_baseline": is_downgoing_baseline, + "is_upgoing_baseline": is_upgoing_baseline, + "is_noise_burst": is_noise_burst, + "is_valid_baseline": is_valid_baseline, + "~is_valid_0vbb": is_not_valid_0vbb, + "~is_valid_cal": is_not_valid_cal, + "~is_negative": is_not_negative, + "~is_saturated": is_not_saturated, + "~is_valid_rt": is_not_valid_rt, + "~is_valid_t0": is_not_valid_t0, + "~is_valid_tmax": is_not_valid_tmax, + "~is_valid_dteff": is_not_valid_dteff, + "~is_valid_ediff": is_not_valid_ediff, + "~is_valid_efrac": is_not_valid_efrac, + "~is_negative_crosstalk": is_not_negative_crosstalk, + "~is_discharge": is_not_discharge, + "~is_neg_energy": is_not_neg_energy, + "~is_valid_tail": is_not_valid_tail, + "~is_downgoing_baseline": is_not_downgoing_baseline, + "~is_upgoing_baseline": is_not_upgoing_baseline, + "~is_noise_burst": is_not_noise_burst, + "~is_valid_baseline": is_not_valid_baseline, } diff --git a/src/legend_data_monitor/plot_styles.py b/src/legend_data_monitor/plot_styles.py index 2378888..3d388b2 100644 --- a/src/legend_data_monitor/plot_styles.py +++ b/src/legend_data_monitor/plot_styles.py @@ -337,5 +337,5 @@ def plot_heatmap( "vs ch": par_vs_ch, "histogram": plot_histo, "scatter": plot_scatter, - "heatmap": plot_heatmap + "heatmap": plot_heatmap, } diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 48ea018..a6b4eee 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -190,7 +190,7 @@ def make_subsystem_plots( if plot_info["parameter"] == "exposure": _ = string_visualization.exposure_plot(subsystem, data_analysis.data, plot_info, pdf) else: - utils.logger.debug("Plot structure: " + plot_structure) + utils.logger.debug("Plot structure: %s", plot_settings["plot_structure"]) plot_structure(data_analysis.data, plot_info, pdf) # For some reason, after some plotting functions the index is set to "channel". diff --git a/src/legend_data_monitor/settings/parameter-tiers.json b/src/legend_data_monitor/settings/parameter-tiers.json index a1d182f..eb3cb18 100644 --- a/src/legend_data_monitor/settings/parameter-tiers.json +++ b/src/legend_data_monitor/settings/parameter-tiers.json @@ -61,5 +61,19 @@ "is_valid_cal": "hit", "is_valid_0vbb": "hit", "is_negative": "hit", - "is_saturated": "hit" + "is_saturated": "hit", + "is_valid_rt": "hit", + "is_valid_t0": "hit", + "is_valid_tmax": "hit", + "is_valid_dteff": "hit", + "is_valid_ediff": "hit", + "is_valid_efrac": "hit", + "is_negative_crosstalk": "hit", + "is_discharge": "hit", + "is_neg_energy": "hit", + "is_valid_tail": "hit", + "is_downgoing_baseline": "hit", + "is_upgoing_baseline": "hit", + "is_noise_burst": "hit", + "is_valid_baseline": "hit" } diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 0c7ab6b..4def415 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -539,8 +539,18 @@ def get_parameters_for_dataloader(self, parameters: typing.Union[str, list_of_st # otherwise just add the parameter directly params.append(param) + # --- check if parameters have '~', if so remove for loading the corresponding lh5 parameter + final_params = [] + for param in params: + if "~" in param: + # remove first entry in param + param = param.split("~")[1] + final_params.append(param) + else: + final_params.append(param) + # some parameters might be repeated twice - remove - return list(np.unique(params)) + return list(np.unique(final_params)) def construct_dataloader_configs(self, params: list_of_str): """ From 6492e9ec403a7590f72d00aaa7e3cf84ae8553e3 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 3 May 2023 12:38:47 +0000 Subject: [PATCH 017/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 29 +++--- .../config/p03_L200_phy_r000.json | 4 +- src/legend_data_monitor/core.py | 2 +- src/legend_data_monitor/cuts.py | 92 ++++++++++++++----- src/legend_data_monitor/plotting.py | 20 ++-- .../settings/remove-dets.json | 2 +- .../settings/remove-keys.json | 42 +++++++-- .../string_visualization.py | 73 +++++++++------ src/legend_data_monitor/subsystem.py | 37 +++++--- src/legend_data_monitor/utils.py | 43 ++++++--- 10 files changed, 238 insertions(+), 106 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index adc4eb9..b46df69 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -188,7 +188,6 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): # little sorting, before closing the function self.data = self.data.sort_values(["channel", "datetime"]) - def select_events(self): # do we want to keep all, phy or pulser events? if self.evt_type == "pulser": @@ -305,31 +304,40 @@ def special_parameter(self): # retrieve first timestamp first_timestamp = self.data["datetime"].iloc[0] - + from legendmeta import LegendMetadata + lmeta = LegendMetadata() - # get channel map - full_channel_map = lmeta.hardware.configuration.channelmaps.on(timestamp=first_timestamp) + # get channel map + full_channel_map = lmeta.hardware.configuration.channelmaps.on( + timestamp=first_timestamp + ) # get diodes map dets_map = lmeta.hardware.detectors.germanium.diodes # get pulser rate if "PULS01" in full_channel_map.keys(): - rate = 0.05 #full_channel_map["PULS01"]["rate_in_Hz"] # L200: p02, p03 + rate = 0.05 # full_channel_map["PULS01"]["rate_in_Hz"] # L200: p02, p03 else: - rate = full_channel_map["AUX00"]["rate_in_Hz"]["puls"] # L60 + rate = full_channel_map["AUX00"]["rate_in_Hz"]["puls"] # L60 # add a new column called 'livetime' equal to the number of pulser_events multiplied by the pulser period self.data["livetime_in_s"] = pulser_events / rate # add a new column "mass" to self.data containing mass values evaluated from dets_map[channel_name]["production"]["mass_in_g"], where channel_name is the value in "name" column - self.data["mass_in_kg"] = None # let's start with an empty column + self.data["mass_in_kg"] = None # let's start with an empty column for channel_name in self.data["name"].unique(): - mass_in_kg = dets_map[channel_name]["production"]["mass_in_g"] / 1000 - self.data.loc[self.data["name"] == channel_name, "mass_in_kg"] = mass_in_kg + mass_in_kg = ( + dets_map[channel_name]["production"]["mass_in_g"] / 1000 + ) + self.data.loc[ + self.data["name"] == channel_name, "mass_in_kg" + ] = mass_in_kg # This is in [kg s] - self.data["exposure"] = self.data["livetime_in_s"] * self.data["mass_in_kg"] + self.data["exposure"] = ( + self.data["livetime_in_s"] * self.data["mass_in_kg"] + ) # convert exposure values from dtype object to dtype float64 self.data["exposure"] = self.data["exposure"].astype("float64") # Convert it into [kg yr] @@ -339,7 +347,6 @@ def special_parameter(self): # put index back in self.data = self.data.reset_index(drop=True) - def channel_mean(self): """ Get mean value of each parameter of interest in each channel in the first 10% of the dataset. diff --git a/src/legend_data_monitor/config/p03_L200_phy_r000.json b/src/legend_data_monitor/config/p03_L200_phy_r000.json index 7d2336c..ca65054 100644 --- a/src/legend_data_monitor/config/p03_L200_phy_r000.json +++ b/src/legend_data_monitor/config/p03_L200_phy_r000.json @@ -11,11 +11,11 @@ "saving": "append", "subsystems": { "geds": { - "FWHM in pulser events":{ + "FWHM in pulser events": { "parameters": "FWHM", "event_type": "pulser", "plot_structure": "array", - "plot_style" : "vs ch" + "plot_style": "vs ch" }, "Baselines (dsp/baseline) in pulser events": { "parameters": "baseline", diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index ea83436..5e9d7e9 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -195,7 +195,7 @@ def generate_plots(config: dict, plt_path: str): subsystems[system].get_data(parameters) # remove timestamps for given detectors subsystems[system].remove_timestamps(utils.REMOVE_KEYS) - utils.logger.debug(subsystems[system].data) + utils.logger.debug(subsystems[system].data) # flag pulser events for future parameter data selection subsystems[system].flag_pulser_events(subsystems["pulser"]) diff --git a/src/legend_data_monitor/cuts.py b/src/legend_data_monitor/cuts.py index d76d91c..e750fc2 100644 --- a/src/legend_data_monitor/cuts.py +++ b/src/legend_data_monitor/cuts.py @@ -19,146 +19,190 @@ def cut_k_lines(data): return data[(data[energy] > 1430) & (data[energy] < 1575)] + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# QUALITY CUTS +# QUALITY CUTS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + def is_valid_0vbb(data): """Keep only events that are valid for 0vbb analysis.""" return data[data["is_valid_0vbb"] == 1] + def is_valid_cal(data): return data[data["is_valid_cal"] == 1] + def is_negative(data): return data[data["is_negative"] == 1] + def is_saturated(data): return data[data["is_saturated"] == 1] + def is_valid_rt(data): return data[data["is_valid_rt"] == 1] + def is_valid_t0(data): return data[data["is_valid_t0"] == 1] + def is_valid_tmax(data): return data[data["is_valid_tmax"] == 1] + def is_valid_dteff(data): return data[data["is_valid_dteff"] == 1] + def is_valid_ediff(data): return data[data["is_valid_ediff"] == 1] + def is_valid_ediff(data): return data[data["is_valid_ediff"] == 1] + def is_valid_efrac(data): return data[data["is_valid_efrac"] == 1] + def is_negative_crosstalk(data): return data[data["is_negative_crosstalk"] == 1] + def is_discharge(data): return data[data["is_discharge"] == 1] + def is_neg_energy(data): return data[data["is_neg_energy"] == 1] + def is_valid_tail(data): return data[data["is_valid_tail"] == 1] + def is_downgoing_baseline(data): return data[data["is_downgoing_baseline"] == 1] + def is_upgoing_baseline(data): return data[data["is_upgoing_baseline"] == 1] + def is_upgoing_baseline(data): return data[data["is_upgoing_baseline"] == 1] + def is_noise_burst(data): return data[data["is_noise_burst"] == 1] + def is_valid_baseline(data): return data[data["is_valid_baseline"] == 1] # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# ANTI - QUALITY CUTS +# ANTI - QUALITY CUTS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + def is_not_valid_0vbb(data): """Keep only events that are valid for 0vbb analysis.""" return data[data["is_valid_0vbb"] == 0] + def is_not_valid_cal(data): return data[data["is_valid_cal"] == 0] + def is_not_negative(data): return data[data["is_negative"] == 0] + def is_not_saturated(data): return data[data["is_saturated"] == 0] + def is_not_valid_rt(data): return data[data["is_valid_rt"] == 0] + def is_not_valid_t0(data): return data[data["is_valid_t0"] == 0] + def is_not_valid_tmax(data): return data[data["is_valid_tmax"] == 0] + def is_not_valid_dteff(data): return data[data["is_valid_dteff"] == 0] + def is_not_valid_ediff(data): return data[data["is_valid_ediff"] == 0] + def is_not_valid_ediff(data): return data[data["is_valid_ediff"] == 0] + def is_not_valid_efrac(data): return data[data["is_valid_efrac"] == 0] + def is_not_negative_crosstalk(data): return data[data["is_negative_crosstalk"] == 0] + def is_not_discharge(data): return data[data["is_discharge"] == 0] + def is_not_neg_energy(data): return data[data["is_neg_energy"] == 0] + def is_not_valid_tail(data): return data[data["is_valid_tail"] == 0] + def is_not_downgoing_baseline(data): return data[data["is_downgoing_baseline"] == 0] + def is_not_upgoing_baseline(data): return data[data["is_upgoing_baseline"] == 0] + def is_not_upgoing_baseline(data): return data[data["is_upgoing_baseline"] == 0] + def is_not_noise_burst(data): return data[data["is_noise_burst"] == 0] + def is_not_valid_baseline(data): return data[data["is_valid_baseline"] == 0] + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Apply cut # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + def apply_cut(data, cut): cut_function = CUTS[cut] utils.logger.info("...... applying cut: " + cut) return cut_function(data) + # temporary list - all QCs will be merged in a more clean way CUTS = { "K lines": cut_k_lines, @@ -166,36 +210,36 @@ def apply_cut(data, cut): "is_valid_cal": is_valid_cal, "is_negative": is_negative, "is_saturated": is_saturated, - "is_valid_rt": is_valid_rt, - "is_valid_t0": is_valid_t0, - "is_valid_tmax": is_valid_tmax, + "is_valid_rt": is_valid_rt, + "is_valid_t0": is_valid_t0, + "is_valid_tmax": is_valid_tmax, "is_valid_dteff": is_valid_dteff, - "is_valid_ediff": is_valid_ediff, - "is_valid_efrac": is_valid_efrac, - "is_negative_crosstalk": is_negative_crosstalk, - "is_discharge": is_discharge, - "is_neg_energy": is_neg_energy, - "is_valid_tail": is_valid_tail, + "is_valid_ediff": is_valid_ediff, + "is_valid_efrac": is_valid_efrac, + "is_negative_crosstalk": is_negative_crosstalk, + "is_discharge": is_discharge, + "is_neg_energy": is_neg_energy, + "is_valid_tail": is_valid_tail, "is_downgoing_baseline": is_downgoing_baseline, - "is_upgoing_baseline": is_upgoing_baseline, - "is_noise_burst": is_noise_burst, + "is_upgoing_baseline": is_upgoing_baseline, + "is_noise_burst": is_noise_burst, "is_valid_baseline": is_valid_baseline, "~is_valid_0vbb": is_not_valid_0vbb, "~is_valid_cal": is_not_valid_cal, "~is_negative": is_not_negative, "~is_saturated": is_not_saturated, - "~is_valid_rt": is_not_valid_rt, - "~is_valid_t0": is_not_valid_t0, - "~is_valid_tmax": is_not_valid_tmax, + "~is_valid_rt": is_not_valid_rt, + "~is_valid_t0": is_not_valid_t0, + "~is_valid_tmax": is_not_valid_tmax, "~is_valid_dteff": is_not_valid_dteff, - "~is_valid_ediff": is_not_valid_ediff, - "~is_valid_efrac": is_not_valid_efrac, - "~is_negative_crosstalk": is_not_negative_crosstalk, - "~is_discharge": is_not_discharge, - "~is_neg_energy": is_not_neg_energy, - "~is_valid_tail": is_not_valid_tail, + "~is_valid_ediff": is_not_valid_ediff, + "~is_valid_efrac": is_not_valid_efrac, + "~is_negative_crosstalk": is_not_negative_crosstalk, + "~is_discharge": is_not_discharge, + "~is_neg_energy": is_not_neg_energy, + "~is_valid_tail": is_not_valid_tail, "~is_downgoing_baseline": is_not_downgoing_baseline, - "~is_upgoing_baseline": is_not_upgoing_baseline, - "~is_noise_burst": is_not_noise_burst, + "~is_upgoing_baseline": is_not_upgoing_baseline, + "~is_noise_burst": is_not_noise_burst, "~is_valid_baseline": is_not_valid_baseline, } diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index a6b4eee..4614ff9 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -1,6 +1,5 @@ import io import shelve -import seaborn as sns import matplotlib.pyplot as plt import numpy as np @@ -87,7 +86,11 @@ def make_subsystem_plots( # num colors needed = max number of channels per string # - find number of unique positions in each string # - get maximum occurring - plot_structure = PLOT_STRUCTURE[plot_settings["plot_structure"]] if "plot_structure" in plot_settings else None + plot_structure = ( + PLOT_STRUCTURE[plot_settings["plot_structure"]] + if "plot_structure" in plot_settings + else None + ) if plot_structure == "per cc4": if ( @@ -130,7 +133,9 @@ def make_subsystem_plots( "FC_bsln": "bsln", }[subsystem.type], "unit": utils.PLOT_INFO[plot_settings["parameters"]]["unit"], - "plot_style": plot_settings["plot_style"] if "plot_style" in plot_settings else None, + "plot_style": plot_settings["plot_style"] + if "plot_style" in plot_settings + else None, } # information for having the resampled or all entries (needed only for 'vs time' style option) @@ -139,9 +144,7 @@ def make_subsystem_plots( ) # information for shifting the channels or not (not needed only for the 'per channel' structure option) when plotting the std - plot_info["std"] = ( - True if plot_structure == "per channel" else False - ) + plot_info["std"] = True if plot_structure == "per channel" else False if plot_info["plot_style"] is not None: if plot_settings["plot_style"] == "vs time": @@ -188,7 +191,9 @@ def make_subsystem_plots( # ------------------------------------------------------------------------- if plot_info["parameter"] == "exposure": - _ = string_visualization.exposure_plot(subsystem, data_analysis.data, plot_info, pdf) + _ = string_visualization.exposure_plot( + subsystem, data_analysis.data, plot_info, pdf + ) else: utils.logger.debug("Plot structure: %s", plot_settings["plot_structure"]) plot_structure(data_analysis.data, plot_info, pdf) @@ -672,7 +677,6 @@ def plot_per_fiber_and_barrel(data_analysis: DataFrame, plot_info: dict, pdf: Pd # - each figure has subplots with N columns and M rows where N is the number of fibers, and M is the number of positions (top/bottom -> 2) # this function will only work for SiPMs requiring a columns 'barrel' in the channel map # add a check in config settings check to make sure geds are not called with this structure to avoid crash - pass # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/legend_data_monitor/settings/remove-dets.json b/src/legend_data_monitor/settings/remove-dets.json index 2ce01ad..ffc68bc 100644 --- a/src/legend_data_monitor/settings/remove-dets.json +++ b/src/legend_data_monitor/settings/remove-dets.json @@ -7,4 +7,4 @@ "P00748B": "off", "P00748A": "off", "B00089D": "off" -} \ No newline at end of file +} diff --git a/src/legend_data_monitor/settings/remove-keys.json b/src/legend_data_monitor/settings/remove-keys.json index 2eb085d..9c86e42 100644 --- a/src/legend_data_monitor/settings/remove-keys.json +++ b/src/legend_data_monitor/settings/remove-keys.json @@ -1,14 +1,44 @@ { "C00ANG3": { - "from": ["20230330T043441Z", "20230411T170538Z", "20230413T064408Z", "20230415T133659Z"], - "to": ["20230401T012732Z", "20230411T210547Z", "20230413T084412Z", "20230424T185631Z"] + "from": [ + "20230330T043441Z", + "20230411T170538Z", + "20230413T064408Z", + "20230415T133659Z" + ], + "to": [ + "20230401T012732Z", + "20230411T210547Z", + "20230413T084412Z", + "20230424T185631Z" + ] }, "C00ANG5": { - "from": ["20230330T043441Z", "20230411T170538Z", "20230413T064408Z", "20230415T133659Z"], - "to": ["20230401T012732Z", "20230411T210547Z", "20230413T084412Z", "20230424T185631Z"] + "from": [ + "20230330T043441Z", + "20230411T170538Z", + "20230413T064408Z", + "20230415T133659Z" + ], + "to": [ + "20230401T012732Z", + "20230411T210547Z", + "20230413T084412Z", + "20230424T185631Z" + ] }, "C00ANG2": { - "from": ["20230330T043441Z", "20230411T170538Z", "20230413T064408Z", "20230415T133659Z"], - "to": ["20230401T012732Z", "20230411T210547Z", "20230413T084412Z", "20230424T185631Z"] + "from": [ + "20230330T043441Z", + "20230411T170538Z", + "20230413T064408Z", + "20230415T133659Z" + ], + "to": [ + "20230401T012732Z", + "20230411T210547Z", + "20230413T084412Z", + "20230424T185631Z" + ] } } diff --git a/src/legend_data_monitor/string_visualization.py b/src/legend_data_monitor/string_visualization.py index a8c6b06..f275b7e 100644 --- a/src/legend_data_monitor/string_visualization.py +++ b/src/legend_data_monitor/string_visualization.py @@ -13,6 +13,7 @@ from . import plotting, utils + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # CHANNELS' STATUS FUNCTION # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -168,7 +169,9 @@ def status_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: PdfPa ) # get position within the array + other necessary info - name, location, position = get_info_from_channel(subsystem.channel_map, channel) + name, location, position = get_info_from_channel( + subsystem.channel_map, channel + ) # define new row for not-ON detectors new_row = [[channel, name, location, position, status]] @@ -281,7 +284,6 @@ def status_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: PdfPa return fig - # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # EXPOSURE FUNCTION # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -301,14 +303,16 @@ def exposure_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: Pdf # convert exposure into [kg day] if data_analysis["exposure"].max() < 0.1 kg yr if cbar_unit == "kg d": data_analysis["exposure"] = data_analysis["exposure"] * 365.25 - #data_analysis.loc[data_analysis["exposure"] < 0.1, "exposure"] = data_analysis.loc[data_analysis["exposure"] < 0.1, "exposure"] * 365.25 + # data_analysis.loc[data_analysis["exposure"] < 0.1, "exposure"] = data_analysis.loc[data_analysis["exposure"] < 0.1, "exposure"] * 365.25 # drop duplicate rows, based on channel entry (exposure is constant for a fixed channel) data_analysis = data_analysis.drop_duplicates(subset=["channel"]) # total exposure tot_expo = data_analysis["exposure"].sum() utils.logger.info(f"Total exposure: {tot_expo:.3f} {cbar_unit}") - data_analysis = data_analysis.filter(["channel", "name", "location", "position", "exposure", "livetime_in_s"]) + data_analysis = data_analysis.filter( + ["channel", "name", "location", "position", "exposure", "livetime_in_s"] + ) # ------------------------------------------------------------------------------- # OFF detectors @@ -332,18 +336,25 @@ def exposure_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: Pdf exposure = 0.0 livetime_in_s = 0.0 - - # get position within the array + other necessary info - name, location, position = get_info_from_channel(subsystem.channel_map, channel) + name, location, position = get_info_from_channel( + subsystem.channel_map, channel + ) # define new row for not-ON detectors new_row = [[channel, name, location, position, exposure, livetime_in_s]] new_df = DataFrame( new_row, - columns=["channel", "name", "location", "position", "exposure", "livetime_in_s"], + columns=[ + "channel", + "name", + "location", + "position", + "exposure", + "livetime_in_s", + ], ) - # add the new row to the dataframe + # add the new row to the dataframe data_analysis = concat( [data_analysis, new_df], ignore_index=True, axis=0 ) @@ -356,7 +367,8 @@ def exposure_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: Pdf ].unique() for channel in on_channels: - if channel in list(data_analysis["channel"].unique()): continue + if channel in list(data_analysis["channel"].unique()): + continue # if not there, set exposure to zero exposure = 0.0 @@ -369,20 +381,28 @@ def exposure_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: Pdf new_row = [[channel, name, location, position, exposure, livetime_in_s]] new_df = DataFrame( new_row, - columns=["channel", "name", "location", "position", "exposure", "livetime_in_s"], - ) - # add the new row to the dataframe - data_analysis = concat( - [data_analysis, new_df], ignore_index=True, axis=0 + columns=[ + "channel", + "name", + "location", + "position", + "exposure", + "livetime_in_s", + ], ) + # add the new row to the dataframe + data_analysis = concat([data_analysis, new_df], ignore_index=True, axis=0) # values to plot - result = data_analysis.pivot(index="position", columns="location", values="exposure") + result = data_analysis.pivot( + index="position", columns="location", values="exposure" + ) result = result.round(3) # display it if utils.logger.getEffectiveLevel() is utils.logging.DEBUG: from tabulate import tabulate + output_result = tabulate( result, headers="keys", tablefmt="psql", showindex=False, stralign="center" ) @@ -452,26 +472,23 @@ def exposure_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: Pdf labeltop=True, ) plt.yticks(rotation=0) - plt.title(f"{plot_info['subsystem']} - {plot_info['title']}\nTotal livetime: {tot_livetime:.2f}{unit}\nTotal exposure: {tot_expo:.3f} {cbar_unit}") + plt.title( + f"{plot_info['subsystem']} - {plot_info['title']}\nTotal livetime: {tot_livetime:.2f}{unit}\nTotal exposure: {tot_expo:.3f} {cbar_unit}" + ) # saving plotting.save_pdf(plt, pdf) return fig + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Plotting recurring functions # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def get_info_from_channel(channel_map: DataFrame, channel: int): """Get info (name, location, position) from a channel number, once the channel map is provided as a DataFrame.""" - name = channel_map.loc[ - channel_map["channel"] == channel - ]["name"].iloc[0] - location = channel_map.loc[ - channel_map["channel"] == channel - ]["location"].iloc[0] - position = channel_map.loc[ - channel_map["channel"] == channel - ]["position"].iloc[0] - - return name, location, position \ No newline at end of file + name = channel_map.loc[channel_map["channel"] == channel]["name"].iloc[0] + location = channel_map.loc[channel_map["channel"] == channel]["location"].iloc[0] + position = channel_map.loc[channel_map["channel"] == channel]["position"].iloc[0] + + return name, location, position diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 4def415..839c9bc 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -660,40 +660,55 @@ def construct_dataloader_configs(self, params: list_of_str): } return dict_dlconfig, dict_dbconfig - + def remove_timestamps(self, remove_keys: dict): """ Remove timestamps from the dataframes for a given channel. The time interval in which to remove the channel is provided through an external json file. """ # all timestamps we are considering are expressed in UTC0 - utc_timezone = pytz.timezone('UTC') - utils.logger.debug("We are removing timestamps from the following channels: %s", list(remove_keys.keys())) + utc_timezone = pytz.timezone("UTC") + utils.logger.debug( + "We are removing timestamps from the following channels: %s", + list(remove_keys.keys()), + ) # loop over channels for which we want to remove timestamps for channel in remove_keys.keys(): - if channel in self.data['name'].unique(): - if remove_keys[channel]["from"] != [] and remove_keys[channel]["to"] != []: + if channel in self.data["name"].unique(): + if ( + remove_keys[channel]["from"] != [] + and remove_keys[channel]["to"] != [] + ): # remove timestamps from self.data that are within time_from and time_to, for a given channel for idx, time_from in enumerate(remove_keys[channel]["from"]): # times are in format YYYYMMDDTHHMMSSZ, convert them into a UTC0 timestamp time_from = datetime.strptime(time_from, "%Y%m%dT%H%M%SZ") time_from = utc_timezone.localize(time_from) time_from = time_from.timestamp() - - time_to = datetime.strptime(remove_keys[channel]["to"][idx], "%Y%m%dT%H%M%SZ") + + time_to = datetime.strptime( + remove_keys[channel]["to"][idx], "%Y%m%dT%H%M%SZ" + ) time_to = utc_timezone.localize(time_to) time_to = time_to.timestamp() # selectjust the rows for the given channel - channel_df = self.data[self.data['name'] == channel] + channel_df = self.data[self.data["name"] == channel] # for the given channel, select just the rows that are within the time interval - filtered_df = channel_df[(channel_df['timestamp'] >= time_from) & (channel_df['timestamp'] < time_to)] + filtered_df = channel_df[ + (channel_df["timestamp"] >= time_from) + & (channel_df["timestamp"] < time_to) + ] # remove the rows that are within the time interval from the original dataframe - self.data = self.data[~((self.data['name'] == channel) & self.data['timestamp'].isin(filtered_df['timestamp']))] + self.data = self.data[ + ~( + (self.data["name"] == channel) + & self.data["timestamp"].isin(filtered_df["timestamp"]) + ) + ] self.data = self.data.reset_index() - def below_period_3_excluded(self) -> bool: if int(self.period[-1]) < 3: return True diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index e4d9688..206287b 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -4,8 +4,8 @@ import logging import os import re -import sys import shelve +import sys # for getting DataLoader time range from datetime import datetime, timedelta @@ -45,7 +45,19 @@ SPECIAL_PARAMETERS = json.load(f) # load list of columns to load for a dataframe -COLUMNS_TO_LOAD = ["name", "location", "channel", "position", "cc4_id", "cc4_channel", "daq_crate", "daq_card", "HV_card", "HV_channel", "det_type"] +COLUMNS_TO_LOAD = [ + "name", + "location", + "channel", + "position", + "cc4_id", + "cc4_channel", + "daq_crate", + "daq_card", + "HV_card", + "HV_channel", + "det_type", +] # dictionary map (helpful when we want to map channels based on their location/position) with open(pkg / "settings" / "map-channels.json") as f: @@ -55,7 +67,7 @@ with open(pkg / "settings" / "remove-keys.json") as f: REMOVE_KEYS = json.load(f) -# dictionary with detectors to remove +# dictionary with detectors to remove with open(pkg / "settings" / "remove-dets.json") as f: REMOVE_DETS = json.load(f) @@ -267,7 +279,10 @@ def check_plot_settings(conf: dict): # check if all necessary fields for param settings were provided for field in options: # when plot_structure is summary, plot_style is not needed... - if plot_settings["parameters"] == "exposure" and ("plot_style" not in plot_settings and "plot_structure" not in plot_settings): + if plot_settings["parameters"] == "exposure" and ( + "plot_style" not in plot_settings + and "plot_structure" not in plot_settings + ): continue # ...otherwise, it is required else: @@ -721,26 +736,26 @@ def check_level0(dataframe: DataFrame) -> DataFrame: def get_livetime(tot_livetime: float): """Get the livetime in a human readable format, starting from livetime in seconds. - + If tot_livetime is more than 0.1 yr, convert it to years. If tot_livetime is less than 0.1 yr but more than 1 day, convert it to days. If tot_livetime is less than 1 day but more than 1 hour, convert it to hours. If tot_livetime is less than 1 hour but more than 1 minute, convert it to minutes. """ - if tot_livetime > 60*60*24*365.25: + if tot_livetime > 60 * 60 * 24 * 365.25: tot_livetime = tot_livetime / 60 / 60 / 24 / 365.25 - unit = ' yr' - elif tot_livetime > 60*60*24: + unit = " yr" + elif tot_livetime > 60 * 60 * 24: tot_livetime = tot_livetime / 60 / 60 / 24 - unit = ' days' - elif tot_livetime > 60*60: + unit = " days" + elif tot_livetime > 60 * 60: tot_livetime = tot_livetime / 60 / 60 - unit = ' hrs' + unit = " hrs" elif tot_livetime > 60: tot_livetime = tot_livetime / 60 - unit = ' min' + unit = " min" else: - unit = ' sec' + unit = " sec" logger.info(f"Total livetime: {tot_livetime:.2f}{unit}") return tot_livetime, unit @@ -752,4 +767,4 @@ def is_empty(df: DataFrame): logger.warning( "\033[93mThe dataframe is empty. Plotting the next entry (if present, otherwise exiting from the code).\033[0m" ) - return True \ No newline at end of file + return True From 718f2e52930ccef981bd934a65186f0c8cacd8f2 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 3 May 2023 14:53:19 +0200 Subject: [PATCH 018/166] remvoe redefinitions --- src/legend_data_monitor/cuts.py | 12 ------------ src/legend_data_monitor/subsystem.py | 4 +--- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/src/legend_data_monitor/cuts.py b/src/legend_data_monitor/cuts.py index d76d91c..136ec12 100644 --- a/src/legend_data_monitor/cuts.py +++ b/src/legend_data_monitor/cuts.py @@ -51,9 +51,6 @@ def is_valid_dteff(data): def is_valid_ediff(data): return data[data["is_valid_ediff"] == 1] -def is_valid_ediff(data): - return data[data["is_valid_ediff"] == 1] - def is_valid_efrac(data): return data[data["is_valid_efrac"] == 1] @@ -75,9 +72,6 @@ def is_downgoing_baseline(data): def is_upgoing_baseline(data): return data[data["is_upgoing_baseline"] == 1] -def is_upgoing_baseline(data): - return data[data["is_upgoing_baseline"] == 1] - def is_noise_burst(data): return data[data["is_noise_burst"] == 1] @@ -117,9 +111,6 @@ def is_not_valid_dteff(data): def is_not_valid_ediff(data): return data[data["is_valid_ediff"] == 0] -def is_not_valid_ediff(data): - return data[data["is_valid_ediff"] == 0] - def is_not_valid_efrac(data): return data[data["is_valid_efrac"] == 0] @@ -141,9 +132,6 @@ def is_not_downgoing_baseline(data): def is_not_upgoing_baseline(data): return data[data["is_upgoing_baseline"] == 0] -def is_not_upgoing_baseline(data): - return data[data["is_upgoing_baseline"] == 0] - def is_not_noise_burst(data): return data[data["is_noise_burst"] == 0] diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 4def415..eb588cd 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -662,9 +662,7 @@ def construct_dataloader_configs(self, params: list_of_str): return dict_dlconfig, dict_dbconfig def remove_timestamps(self, remove_keys: dict): - """ - Remove timestamps from the dataframes for a given channel. The time interval in which to remove the channel is provided through an external json file. - """ + """Remove timestamps from the dataframes for a given channel; the time interval in which to remove the channel is provided through an external json file.""" # all timestamps we are considering are expressed in UTC0 utc_timezone = pytz.timezone('UTC') utils.logger.debug("We are removing timestamps from the following channels: %s", list(remove_keys.keys())) From 729c9e809485ebf66ec5fb114c09880f984774e7 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 3 May 2023 12:54:48 +0000 Subject: [PATCH 019/166] style: pre-commit fixes --- src/legend_data_monitor/cuts.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/legend_data_monitor/cuts.py b/src/legend_data_monitor/cuts.py index dafb864..eea2ed3 100644 --- a/src/legend_data_monitor/cuts.py +++ b/src/legend_data_monitor/cuts.py @@ -29,39 +29,51 @@ def is_valid_0vbb(data): """Keep only events that are valid for 0vbb analysis.""" return data[data["is_valid_0vbb"] == 1] + def is_valid_cal(data): return data[data["is_valid_cal"] == 1] + def is_negative(data): return data[data["is_negative"] == 1] + def is_saturated(data): return data[data["is_saturated"] == 1] + def is_valid_rt(data): return data[data["is_valid_rt"] == 1] + def is_valid_t0(data): return data[data["is_valid_t0"] == 1] + def is_valid_tmax(data): return data[data["is_valid_tmax"] == 1] + def is_valid_dteff(data): return data[data["is_valid_dteff"] == 1] + def is_valid_ediff(data): return data[data["is_valid_ediff"] == 1] + def is_valid_efrac(data): return data[data["is_valid_efrac"] == 1] + def is_negative_crosstalk(data): return data[data["is_negative_crosstalk"] == 1] + def is_discharge(data): return data[data["is_discharge"] == 1] + def is_neg_energy(data): return data[data["is_neg_energy"] == 1] @@ -77,9 +89,11 @@ def is_downgoing_baseline(data): def is_upgoing_baseline(data): return data[data["is_upgoing_baseline"] == 1] + def is_noise_burst(data): return data[data["is_noise_burst"] == 1] + def is_valid_baseline(data): return data[data["is_valid_baseline"] == 1] @@ -125,6 +139,7 @@ def is_not_valid_dteff(data): def is_not_valid_ediff(data): return data[data["is_valid_ediff"] == 0] + def is_not_valid_efrac(data): return data[data["is_valid_efrac"] == 0] @@ -152,6 +167,7 @@ def is_not_downgoing_baseline(data): def is_not_upgoing_baseline(data): return data[data["is_upgoing_baseline"] == 0] + def is_not_noise_burst(data): return data[data["is_noise_burst"] == 0] From dc3e92fe03389a85592ae026945b93fc66300ba4 Mon Sep 17 00:00:00 2001 From: Mariia Redchuk Date: Wed, 3 May 2023 19:06:57 +0200 Subject: [PATCH 020/166] fixed exposure, polished stuff up --- src/legend_data_monitor/analysis_data.py | 122 +++++----- src/legend_data_monitor/core.py | 5 +- src/legend_data_monitor/cuts.py | 229 +----------------- src/legend_data_monitor/plot_styles.py | 15 ++ src/legend_data_monitor/plotting.py | 20 +- .../settings/remove-keys.json | 96 ++++---- src/legend_data_monitor/subsystem.py | 96 ++------ src/legend_data_monitor/utils.py | 98 +++++--- 8 files changed, 228 insertions(+), 453 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index b46df69..cd56055 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -5,6 +5,9 @@ import pandas as pd from pandas import DataFrame, concat +from legendmeta import LegendMetadata + + # needed to know which parameters are not in DataLoader # but need to be calculated, such as event rate from . import cuts, utils @@ -110,26 +113,12 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): # ------------------------------------------------------------------------- # always get basic parameters - params_to_get = [ - "timestamp", - "datetime", - "channel", - "name", - "location", - "position", - "cc4_id", - "cc4_channel", - "daq_crate", - "daq_card", - "HV_card", - "HV_channel", - "det_type", - "status", - ] + params_to_get = ["datetime"] + utils.COLUMNS_TO_LOAD + ["status"] + for col in sub_data.columns: # pulser flag is present only if subsystem.flag_pulser_events() was called -> needed to subselect phy/pulser events if "flag_pulser" in col: - params_to_get.append("flag_pulser") + params_to_get.append(col) # QC flag is present only if inserted as a cut in the config file -> this part is needed to apply if "is_" in col: params_to_get.append(col) @@ -175,6 +164,9 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): bad = self.select_events() if bad: return + + # apply cuts, if any + self.apply_all_cuts() # calculate if special parameter self.special_parameter() @@ -196,7 +188,7 @@ def select_events(self): elif self.evt_type == "phy": utils.logger.info("... keeping only physical (non-pulser) events") self.data = self.data[~self.data["flag_pulser"]] - elif self.evt_type == "K_lines": + elif self.evt_type == "K_events": utils.logger.info("... selecting K lines in physical (non-pulser) events") self.data = self.data[~self.data["flag_pulser"]] energy = utils.SPECIAL_PARAMETERS["K_events"][0] @@ -210,6 +202,21 @@ def select_events(self): utils.logger.error("\033[91m%s\033[0m", self.__doc__) return "bad" + def apply_cut(self, cut): + utils.logger.info("... applying cut: " + cut) + + cut_value = 1 + # check if the cut has "not" in it + if cut[0] == "~": + cut_value = 0 + cut = cut[1:] + + self.data = self.data[self.data[cut] == cut_value] + + def apply_all_cuts(self): + for cut in self.cuts: + self.apply_cut(cut) + def special_parameter(self): for param in self.parameters: if param == "wf_max_rel": @@ -270,8 +277,6 @@ def special_parameter(self): # put the channel back as column self.data = self.data.reset_index() elif param == "FWHM": - self.data = self.data.reset_index() - # calculate FWHM for each channel (substitute 'param' column with it) channel_fwhm = ( self.data.groupby("channel")[utils.SPECIAL_PARAMETERS[param][0]] @@ -287,33 +292,18 @@ def special_parameter(self): # put channel back in self.data.reset_index() - elif param == "K_events": - self.data = self.data.reset_index() - self.data = self.data.rename( - columns={utils.SPECIAL_PARAMETERS[param][0]: "K_events"} - ) elif param == "exposure": - self.data = self.data.reset_index() - - # number of flag_pulser=True events for each channel; it will always be equal among channels during phy data taking, because it's the AUX pulser channel that triggers the geds acquisition - pulser_events = ( - self.data.groupby("channel")["flag_pulser"] - .apply(lambda x: x.sum()) - .reset_index(name="pulser_events") - )["pulser_events"].unique()[0] + # ------ get pulser rate for this experiment # retrieve first timestamp first_timestamp = self.data["datetime"].iloc[0] - from legendmeta import LegendMetadata - + # ToDo: already loaded before in Subsystem => 1) load mass already then, 2) inherit channel map from Subsystem ? + # get channel map at this timestamp lmeta = LegendMetadata() - # get channel map full_channel_map = lmeta.hardware.configuration.channelmaps.on( timestamp=first_timestamp ) - # get diodes map - dets_map = lmeta.hardware.detectors.germanium.diodes # get pulser rate if "PULS01" in full_channel_map.keys(): @@ -321,31 +311,35 @@ def special_parameter(self): else: rate = full_channel_map["AUX00"]["rate_in_Hz"]["puls"] # L60 - # add a new column called 'livetime' equal to the number of pulser_events multiplied by the pulser period - self.data["livetime_in_s"] = pulser_events / rate + # ------ count number of pulser events + + # - subselect only pulser events (flag_pulser True) + # - count number of rows i.e. events for each detector + # - select arbitrary column that is definitely not NaN in each row e.g. channel to represent the count + # - rename to "pulser_events" + # now we have a table with number of pulser events as column with DETECTOR NAME AS INDEX + df_livetime = self.data[ self.data["flag_pulser"]].groupby("name").count()["channel"].to_frame("pulser_events") + + + # ------ calculate livetime for each detector and add it to original dataframe + df_livetime["livetime_in_s"] = df_livetime["pulser_events"] / rate + + self.data = self.data.set_index("name") + self.data = pd.concat([self.data, df_livetime.reindex(self.data.index)], axis=1) + # drop the pulser events column we don't need it + self.data = self.data.drop("pulser_events", axis=1) + + # --- calculate exposure for each detector + # get diodes map + dets_map = lmeta.hardware.detectors.germanium.diodes # add a new column "mass" to self.data containing mass values evaluated from dets_map[channel_name]["production"]["mass_in_g"], where channel_name is the value in "name" column - self.data["mass_in_kg"] = None # let's start with an empty column - for channel_name in self.data["name"].unique(): - mass_in_kg = ( - dets_map[channel_name]["production"]["mass_in_g"] / 1000 - ) - self.data.loc[ - self.data["name"] == channel_name, "mass_in_kg" - ] = mass_in_kg + for det_name in self.data.index.unique(): + mass_in_kg = dets_map[det_name]["production"]["mass_in_g"] / 1000 + # exposure in kg*yr + self.data.at[det_name, "exposure"] = mass_in_kg * df_livetime.at[det_name, "livetime_in_s"] / (60*60*24*365.25) - # This is in [kg s] - self.data["exposure"] = ( - self.data["livetime_in_s"] * self.data["mass_in_kg"] - ) - # convert exposure values from dtype object to dtype float64 - self.data["exposure"] = self.data["exposure"].astype("float64") - # Convert it into [kg yr] - self.data["exposure"] = self.data["exposure"] / (60 * 60 * 24 * 365.25) - # drop mass column (not needed anymore) - self.data = self.data.drop(columns=["mass_in_kg"]) - # put index back in - self.data = self.data.reset_index(drop=True) + self.data.reset_index() def channel_mean(self): """ @@ -431,8 +425,6 @@ def channel_mean(self): # some means are meaningless -> drop the corresponding column if "FWHM" in self.parameters: channel_mean.drop("FWHM", axis=1) - if "K_events" in self.parameters: - channel_mean.drop("K_events", axis=1) if "exposure" in self.parameters: channel_mean.drop("exposure", axis=1) @@ -464,11 +456,7 @@ def calculate_variation(self): self.data[param] / self.data[param + "_mean"] - 1 ) * 100 # % - def apply_all_cuts(self) -> DataFrame: - data_after_cuts = self.data.copy() - for cut in self.cuts: - data_after_cuts = cuts.apply_cut(data_after_cuts, cut) - return data_after_cuts + def is_spms(self) -> bool: """Return True if 'location' (=fiber) and 'position' (=top, bottom) are strings.""" diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 5e9d7e9..55cba96 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -193,11 +193,12 @@ def generate_plots(config: dict, plt_path: str): parameters = utils.get_all_plot_parameters(system, config) # get data for these parameters and dataset range subsystems[system].get_data(parameters) - # remove timestamps for given detectors - subsystems[system].remove_timestamps(utils.REMOVE_KEYS) utils.logger.debug(subsystems[system].data) # flag pulser events for future parameter data selection subsystems[system].flag_pulser_events(subsystems["pulser"]) + # remove timestamps for given detectors (moved here cause otherwise pulser timestamps for flagging don't match) + subsystems[system].remove_timestamps(utils.REMOVE_KEYS) + utils.logger.debug(subsystems[system].data) # ------------------------------------------------------------------------- # make subsystem plots diff --git a/src/legend_data_monitor/cuts.py b/src/legend_data_monitor/cuts.py index eea2ed3..44c73e4 100644 --- a/src/legend_data_monitor/cuts.py +++ b/src/legend_data_monitor/cuts.py @@ -1,229 +1,12 @@ from . import utils - -def cut_k_lines(data): - """Keep only events that are in the K lines region (i.e., in (1430;1575) keV).""" - # if we are not plotting "K_events", then there is still the case were the user might want to plot a given parameter (eg. baseline) - # in correspondence ok K line entries. To do this, we go and look at the corresponding energy column. In particular, the energy is decided a priori in 'special-parameters.json' - if utils.SPECIAL_PARAMETERS["K_events"][0] in data.columns: - energy = utils.SPECIAL_PARAMETERS["K_events"][0] - # when we are plotting "K_events", then we already re-named the energy column with the parameter's name (due to how the code was built) - if "K_events" in data.columns: - energy = "K_events" - # if something is not properly working, exit from the code - else: - utils.logger.error( - "\033[91mThe cut over K lines entries is not working. Check again your subsystem options!\033[0m" - ) - exit() - - return data[(data[energy] > 1430) & (data[energy] < 1575)] - - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# QUALITY CUTS -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -def is_valid_0vbb(data): - """Keep only events that are valid for 0vbb analysis.""" - return data[data["is_valid_0vbb"] == 1] - - -def is_valid_cal(data): - return data[data["is_valid_cal"] == 1] - - -def is_negative(data): - return data[data["is_negative"] == 1] - - -def is_saturated(data): - return data[data["is_saturated"] == 1] - - -def is_valid_rt(data): - return data[data["is_valid_rt"] == 1] - - -def is_valid_t0(data): - return data[data["is_valid_t0"] == 1] - - -def is_valid_tmax(data): - return data[data["is_valid_tmax"] == 1] - - -def is_valid_dteff(data): - return data[data["is_valid_dteff"] == 1] - - -def is_valid_ediff(data): - return data[data["is_valid_ediff"] == 1] - - -def is_valid_efrac(data): - return data[data["is_valid_efrac"] == 1] - - -def is_negative_crosstalk(data): - return data[data["is_negative_crosstalk"] == 1] - - -def is_discharge(data): - return data[data["is_discharge"] == 1] - - -def is_neg_energy(data): - return data[data["is_neg_energy"] == 1] - - -def is_valid_tail(data): - return data[data["is_valid_tail"] == 1] - - -def is_downgoing_baseline(data): - return data[data["is_downgoing_baseline"] == 1] - - -def is_upgoing_baseline(data): - return data[data["is_upgoing_baseline"] == 1] - - -def is_noise_burst(data): - return data[data["is_noise_burst"] == 1] - - -def is_valid_baseline(data): - return data[data["is_valid_baseline"] == 1] - - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# ANTI - QUALITY CUTS -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -def is_not_valid_0vbb(data): - """Keep only events that are valid for 0vbb analysis.""" - return data[data["is_valid_0vbb"] == 0] - - -def is_not_valid_cal(data): - return data[data["is_valid_cal"] == 0] - - -def is_not_negative(data): - return data[data["is_negative"] == 0] - - -def is_not_saturated(data): - return data[data["is_saturated"] == 0] - - -def is_not_valid_rt(data): - return data[data["is_valid_rt"] == 0] - - -def is_not_valid_t0(data): - return data[data["is_valid_t0"] == 0] - - -def is_not_valid_tmax(data): - return data[data["is_valid_tmax"] == 0] - - -def is_not_valid_dteff(data): - return data[data["is_valid_dteff"] == 0] - - -def is_not_valid_ediff(data): - return data[data["is_valid_ediff"] == 0] - - -def is_not_valid_efrac(data): - return data[data["is_valid_efrac"] == 0] - - -def is_not_negative_crosstalk(data): - return data[data["is_negative_crosstalk"] == 0] - - -def is_not_discharge(data): - return data[data["is_discharge"] == 0] - - -def is_not_neg_energy(data): - return data[data["is_neg_energy"] == 0] - - -def is_not_valid_tail(data): - return data[data["is_valid_tail"] == 0] - - -def is_not_downgoing_baseline(data): - return data[data["is_downgoing_baseline"] == 0] - - -def is_not_upgoing_baseline(data): - return data[data["is_upgoing_baseline"] == 0] - - -def is_not_noise_burst(data): - return data[data["is_noise_burst"] == 0] - - -def is_not_valid_baseline(data): - return data[data["is_valid_baseline"] == 0] - - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# Apply cut -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - def apply_cut(data, cut): - cut_function = CUTS[cut] utils.logger.info("...... applying cut: " + cut) - return cut_function(data) + cut_value = 1 + # check if the cut has "not" in it + if cut[0] == "~": + cut_value = 0 + cut = cut[1:] -# temporary list - all QCs will be merged in a more clean way -CUTS = { - "K lines": cut_k_lines, - "is_valid_0vbb": is_valid_0vbb, - "is_valid_cal": is_valid_cal, - "is_negative": is_negative, - "is_saturated": is_saturated, - "is_valid_rt": is_valid_rt, - "is_valid_t0": is_valid_t0, - "is_valid_tmax": is_valid_tmax, - "is_valid_dteff": is_valid_dteff, - "is_valid_ediff": is_valid_ediff, - "is_valid_efrac": is_valid_efrac, - "is_negative_crosstalk": is_negative_crosstalk, - "is_discharge": is_discharge, - "is_neg_energy": is_neg_energy, - "is_valid_tail": is_valid_tail, - "is_downgoing_baseline": is_downgoing_baseline, - "is_upgoing_baseline": is_upgoing_baseline, - "is_noise_burst": is_noise_burst, - "is_valid_baseline": is_valid_baseline, - "~is_valid_0vbb": is_not_valid_0vbb, - "~is_valid_cal": is_not_valid_cal, - "~is_negative": is_not_negative, - "~is_saturated": is_not_saturated, - "~is_valid_rt": is_not_valid_rt, - "~is_valid_t0": is_not_valid_t0, - "~is_valid_tmax": is_not_valid_tmax, - "~is_valid_dteff": is_not_valid_dteff, - "~is_valid_ediff": is_not_valid_ediff, - "~is_valid_efrac": is_not_valid_efrac, - "~is_negative_crosstalk": is_not_negative_crosstalk, - "~is_discharge": is_not_discharge, - "~is_neg_energy": is_not_neg_energy, - "~is_valid_tail": is_not_valid_tail, - "~is_downgoing_baseline": is_not_downgoing_baseline, - "~is_upgoing_baseline": is_not_upgoing_baseline, - "~is_noise_burst": is_not_noise_burst, - "~is_valid_baseline": is_not_valid_baseline, -} + return data[data[cut] == cut_value] \ No newline at end of file diff --git a/src/legend_data_monitor/plot_styles.py b/src/legend_data_monitor/plot_styles.py index 3d388b2..6123897 100644 --- a/src/legend_data_monitor/plot_styles.py +++ b/src/legend_data_monitor/plot_styles.py @@ -101,6 +101,11 @@ def plot_vs_time( # beautification # ------------------------------------------------------------------------- + # plot the position of the two K lines + if plot_info["K_events"]: + ax.axhline(y=1460.822, color="gray", linestyle="--") + ax.axhline(y=1524.6, color="gray", linestyle="--") + # --- time ticks/labels on x-axis min_x = date2num(data_channel.iloc[0]["datetime"]) max_x = date2num(data_channel.iloc[-1]["datetime"]) @@ -205,6 +210,12 @@ def plot_histo( ) # ------------------------------------------------------------------------- + + # plot the position of the two K lines + if plot_info["K_events"]: + ax.axvline(x=1460.822, color="gray", linestyle="--") + ax.axvline(x=1524.6, color="gray", linestyle="--") + ax.set_yscale("log") x_label = ( f"{plot_info['label']}, {plot_info['unit_label']}" @@ -227,6 +238,10 @@ def plot_scatter( # edgecolors=color, ) + if plot_info["K_events"]: + ax.axhline(y=1460.822, color="gray", linestyle="--") + ax.axhline(y=1524.6, color="gray", linestyle="--") + # --- time ticks/labels on x-axis ax.xaxis.set_major_formatter(DateFormatter("%Y\n%m/%d\n%H:%M")) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 4614ff9..81eea8e 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -44,6 +44,7 @@ def make_subsystem_plots( # - event type all/pulser/phy/Klines # - variation (bool) # - time window (for event rate or vs time plot) + # - etc plot_settings = plots[plot_title] # --- defaults @@ -70,9 +71,7 @@ def make_subsystem_plots( data_analysis = analysis_data.AnalysisData( subsystem.data, selection=plot_settings ) - # cuts will be loaded but not applied; for our purposes, need to apply the cuts right away - # currently only K lines cut is used, and only data after cut is plotted -> just replace - data_analysis.data = data_analysis.apply_all_cuts() + # check if the dataframe is empty, if so, skip this plot if utils.is_empty(data_analysis.data): continue @@ -165,7 +164,8 @@ def make_subsystem_plots( plot_info["unit_label"] = ( "%" if plot_settings["variation"] else plot_info["unit"] ) - plot_info["cuts"] = plot_settings["cuts"] if "cuts" in plot_settings else "" + # needed for grey lines for K lines, in case we are looking at energy itself (not event rate for example) + plot_info["K_events"] = (plot_settings["event_type"] == "K_events") and (plot_settings["parameters"] == utils.SPECIAL_PARAMETERS["K_events"]) # time window might be needed fort he vs time function plot_info["time_window"] = plot_settings["time_window"] # threshold values are needed for status map; might be needed for plotting limits on canvas too @@ -191,7 +191,7 @@ def make_subsystem_plots( # ------------------------------------------------------------------------- if plot_info["parameter"] == "exposure": - _ = string_visualization.exposure_plot( + string_visualization.exposure_plot( subsystem, data_analysis.data, plot_info, pdf ) else: @@ -428,11 +428,6 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # plot limits plot_limits(axes[ax_idx], plot_info["limits"]) - # plot the position of the two K lines - if plot_info["parameter"] == "K_events": - axes[ax_idx].axhline(y=1460.822, color="gray", linestyle="--") - axes[ax_idx].axhline(y=1524.6, color="gray", linestyle="--") - ax_idx += 1 # ------------------------------------------------------------------------------- @@ -517,11 +512,6 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # plot limits plot_limits(axes[ax_idx], plot_info["limits"]) - # plot the position of the two K lines - if plot_info["parameter"] == "K_events": - axes[ax_idx].axhline(y=1460.822, color="gray", linestyle="--") - axes[ax_idx].axhline(y=1524.6, color="gray", linestyle="--") - ax_idx += 1 # ------------------------------------------------------------------------------- diff --git a/src/legend_data_monitor/settings/remove-keys.json b/src/legend_data_monitor/settings/remove-keys.json index 9c86e42..aa30d4c 100644 --- a/src/legend_data_monitor/settings/remove-keys.json +++ b/src/legend_data_monitor/settings/remove-keys.json @@ -1,44 +1,56 @@ { - "C00ANG3": { - "from": [ - "20230330T043441Z", - "20230411T170538Z", - "20230413T064408Z", - "20230415T133659Z" - ], - "to": [ - "20230401T012732Z", - "20230411T210547Z", - "20230413T084412Z", - "20230424T185631Z" - ] - }, - "C00ANG5": { - "from": [ - "20230330T043441Z", - "20230411T170538Z", - "20230413T064408Z", - "20230415T133659Z" - ], - "to": [ - "20230401T012732Z", - "20230411T210547Z", - "20230413T084412Z", - "20230424T185631Z" - ] - }, - "C00ANG2": { - "from": [ - "20230330T043441Z", - "20230411T170538Z", - "20230413T064408Z", - "20230415T133659Z" - ], - "to": [ - "20230401T012732Z", - "20230411T210547Z", - "20230413T084412Z", - "20230424T185631Z" - ] - } + "C00ANG3": [ + { + "from": "20230330T043441Z", + "to": "20230401T012732Z" + }, + { + "from": "20230411T170538Z", + "to": "20230411T210547Z" + }, + { + "from": "20230413T064408Z", + "to": "20230413T084412Z" + }, + { + "from": "20230415T133659Z", + "to": "20230424T185631Z" + } + ], + "C00ANG5": [ + { + "from": "20230330T043441Z", + "to": "20230401T012732Z" + }, + { + "from": "20230411T170538Z", + "to": "20230411T210547Z" + }, + { + "from": "20230413T064408Z", + "to": "20230413T084412Z" + }, + { + "from": "20230415T133659Z", + "to": "20230424T185631Z" + } + ], + "C00ANG2": [ + { + "from": "20230330T043441Z", + "to": "20230401T012732Z" + }, + { + "from": "20230411T170538Z", + "to": "20230411T210547Z" + }, + { + "from": "20230413T064408Z", + "to": "20230413T084412Z" + }, + { + "from": "20230415T133659Z", + "to": "20230424T185631Z" + } + ] } diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index da4cdef..53da513 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -237,6 +237,7 @@ def get_data(self, parameters: typing.Union[str, list_of_str, tuple_of_str] = () self.data["datetime"] = pd.to_datetime( self.data["timestamp"], origin="unix", utc=True, unit="s" ) + self.data = self.data.drop("timestamp", axis=1) # ------------------------------------------------------------------------- # add detector name, location and position from map @@ -498,8 +499,10 @@ def get_channel_status(self): self.channel_map.at[channel_name, "status"] = full_status_map[ channel_name ]["usability"] + # quick-fix to remove detectors while status maps are not updated - for channel_name in list(utils.REMOVE_DETS.keys()): + # (p03 channels who are not properly behaving in calib data from George's analysis) + for channel_name in utils.REMOVE_DETS: # status map contains all channels, check if this channel is in our subsystem if channel_name in self.channel_map.index: self.channel_map.at[channel_name, "status"] = "off" @@ -539,18 +542,8 @@ def get_parameters_for_dataloader(self, parameters: typing.Union[str, list_of_st # otherwise just add the parameter directly params.append(param) - # --- check if parameters have '~', if so remove for loading the corresponding lh5 parameter - final_params = [] - for param in params: - if "~" in param: - # remove first entry in param - param = param.split("~")[1] - final_params.append(param) - else: - final_params.append(param) - # some parameters might be repeated twice - remove - return list(np.unique(final_params)) + return list(np.unique(params)) def construct_dataloader_configs(self, params: list_of_str): """ @@ -600,25 +593,6 @@ def construct_dataloader_configs(self, params: list_of_str): ) utils.logger.info(f"...... not loading channels with status off: {removed_chs}") - # remove p03 channels who are not properly behaving in calib data (from George's analysis) - """ - if int(self.period[-1]) >= 3: - names = list(utils.REMOVE_DETS.keys()) - probl_dets = [] - for name in names: - probl_det = list( - self.channel_map[self.channel_map["name"] == name]["channel"] - ) - # the following 'if' is needed to avoid errors when setting up 'pulser' - if probl_det != []: - probl_dets.append(probl_det[0]) - if probl_dets != []: - utils.logger.info( - f"...... not loading problematic detectors for {self.period}: {names}" - ) - chlist = [ch for ch in chlist if ch not in probl_dets] - """ - # for L60-p01 and L200-p02, keep using 3 digits if int(self.period[-1]) < 3: ch_format = "ch:03d" @@ -662,50 +636,32 @@ def construct_dataloader_configs(self, params: list_of_str): return dict_dlconfig, dict_dbconfig def remove_timestamps(self, remove_keys: dict): - """Remove timestamps from the dataframes for a given channel; the time interval in which to remove the channel is provided through an external json file.""" + """Remove timestamps from the dataframes for a given channel. + + The time interval in which to remove the channel is provided through an external json file. + """ # all timestamps we are considering are expressed in UTC0 utc_timezone = pytz.timezone("UTC") - utils.logger.debug( - "We are removing timestamps from the following channels: %s", - list(remove_keys.keys()), - ) + utils.logger.debug("... removing timestamps from the following detectors:") # loop over channels for which we want to remove timestamps - for channel in remove_keys.keys(): - if channel in self.data["name"].unique(): - if ( - remove_keys[channel]["from"] != [] - and remove_keys[channel]["to"] != [] - ): - # remove timestamps from self.data that are within time_from and time_to, for a given channel - for idx, time_from in enumerate(remove_keys[channel]["from"]): - # times are in format YYYYMMDDTHHMMSSZ, convert them into a UTC0 timestamp - time_from = datetime.strptime(time_from, "%Y%m%dT%H%M%SZ") - time_from = utc_timezone.localize(time_from) - time_from = time_from.timestamp() - - time_to = datetime.strptime( - remove_keys[channel]["to"][idx], "%Y%m%dT%H%M%SZ" - ) - time_to = utc_timezone.localize(time_to) - time_to = time_to.timestamp() - - # selectjust the rows for the given channel - channel_df = self.data[self.data["name"] == channel] - # for the given channel, select just the rows that are within the time interval - filtered_df = channel_df[ - (channel_df["timestamp"] >= time_from) - & (channel_df["timestamp"] < time_to) - ] - # remove the rows that are within the time interval from the original dataframe - self.data = self.data[ - ~( - (self.data["name"] == channel) - & self.data["timestamp"].isin(filtered_df["timestamp"]) - ) - ] + for detector in remove_keys: + if detector in self.data["name"].unique(): + utils.logger.debug(f".... {detector}") + # remove timestamps from self.data that are within time_from and time_to, for a given channel + for chunk in remove_keys[detector]: + utils.logger.debug(f"from {chunk['from']} to {chunk['to']}") + # times are in format YYYYMMDDTHHMMSSZ, convert them into a UTC0 timestamp + for point in ["from", "to"]: + # convert UTC timestamp to datetime (unix epoch time) + chunk[point] = pd.to_datetime(chunk[point], utc=True, format="%Y%m%dT%H%M%SZ") + + # entries to drop for this chunk + rows_to_drop = self.data[ (self.data["name"] == detector) & (self.data["datetime"] >= chunk["from"]) & (self.data["datetime"] <= chunk["to"]) ] + self.data = self.data.drop(rows_to_drop.index) + + self.data = self.data.reset_index() - self.data = self.data.reset_index() def below_period_3_excluded(self) -> bool: if int(self.period[-1]) < 3: diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 206287b..1a82d3b 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -44,6 +44,11 @@ with open(pkg / "settings" / "special-parameters.json") as f: SPECIAL_PARAMETERS = json.load(f) +# convert all to lists for convenience +for param in SPECIAL_PARAMETERS: + if isinstance(SPECIAL_PARAMETERS[param], str): + SPECIAL_PARAMETERS[param] = [SPECIAL_PARAMETERS[param]] + # load list of columns to load for a dataframe COLUMNS_TO_LOAD = [ "name", @@ -71,11 +76,6 @@ with open(pkg / "settings" / "remove-dets.json") as f: REMOVE_DETS = json.load(f) -# convert all to lists for convenience -for param in SPECIAL_PARAMETERS: - if isinstance(SPECIAL_PARAMETERS[param], str): - SPECIAL_PARAMETERS[param] = [SPECIAL_PARAMETERS[param]] - # ------------------------------------------------------------------------- # Subsystem related functions (for getting channel map & status) # ------------------------------------------------------------------------- @@ -276,28 +276,30 @@ def check_plot_settings(conf: dict): # settings for this plot plot_settings = conf["subsystems"][subsys][plot] + # ---------------------------------------------------------------------------------------------- + # general check + # ---------------------------------------------------------------------------------------------- # check if all necessary fields for param settings were provided for field in options: # when plot_structure is summary, plot_style is not needed... - if plot_settings["parameters"] == "exposure" and ( - "plot_style" not in plot_settings - and "plot_structure" not in plot_settings - ): + # ToDo: neater way to skip the whole loop but still do special checks; break? ugly... + # future ToDo: exposure can be plotted in various plot styles e.g. string viz, or plot array, will change + if plot_settings["parameters"] == "exposure": continue + # ...otherwise, it is required - else: - # if this field is not provided by user, tell them to provide it - # (if optional to provided, will have been set with defaults before calling set_defaults()) - if field not in plot_settings: - logger.error( - f"\033[91mProvide {field} in plot settings of '{plot}' for {subsys}!\033[0m" - ) - logger.error( - "\033[91mAvailable options: {}\033[0m".format( - ",".join(options[field]) - ) + # if this field is not provided by user, tell them to provide it + # (if optional to provided, will have been set with defaults before calling set_defaults()) + if field not in plot_settings: + logger.error( + f"\033[91mProvide {field} in plot settings of '{plot}' for {subsys}!\033[0m" + ) + logger.error( + "\033[91mAvailable options: {}\033[0m".format( + ",".join(options[field]) ) - return False + ) + return False # check if the provided option is valid opt = plot_settings[field] @@ -312,17 +314,33 @@ def check_plot_settings(conf: dict): ) ) return False + + # ---------------------------------------------------------------------------------------------- + # special checks + # ---------------------------------------------------------------------------------------------- + + # exposure check + if plot_settings["parameters"] == "exposure" and (plot_settings["event_type"] not in ["pulser", "all"]): + logger.error( + "\033[91mPulser events are needed to calculate livetime/exposure; choose 'pulser' or 'all' event type\033[0m" + ) + return False + + # ToDo: neater way to skip the whole loop but still do special checks; break? ugly... + if plot_settings["parameters"] == "exposure": + continue + # other non-exposure checks + # if vs time was provided, need time window - if plot_settings["parameters"] != "exposure": - if ( - plot_settings["plot_style"] == "vs time" - and "time_window" not in plot_settings - ): - logger.error( - "\033[91mYou chose plot style 'vs time' and did not provide 'time_window'!\033[0m" - ) - return False + if ( + plot_settings["plot_style"] == "vs time" + and "time_window" not in plot_settings + ): + logger.error( + "\033[91mYou chose plot style 'vs time' and did not provide 'time_window'!\033[0m" + ) + return False return True @@ -445,8 +463,14 @@ def get_run_name(config, user_time_range: dict) -> str: ) # start/end timestamps of the selected time range of interest - start_timestamp = user_time_range["timestamp"]["start"] - end_timestamp = user_time_range["timestamp"]["end"] + # if range was given, will have keywords "start" and "end" + if "start" in user_time_range["timestamp"]: + start_timestamp = user_time_range["timestamp"]["start"] + end_timestamp = user_time_range["timestamp"]["end"] + # if list of timestamps was given (may be not consecutive or in order), it's just a list + else: + start_timestamp = min(user_time_range["timestamp"]) + end_timestamp = max(user_time_range["timestamp"]) run_list = [] # this will be updated with the run ID @@ -501,11 +525,17 @@ def get_all_plot_parameters(subsystem: str, config: dict): else: all_parameters += parameters + # check if event type asked needs a special parameter (K lines need energy) + event_type = config["subsystems"][subsystem][plot]["event_type"] + if event_type in SPECIAL_PARAMETERS: + all_parameters+= SPECIAL_PARAMETERS[event_type] + # check if there is any QC entry; if so, add it to the list of parameters to load if "cuts" in config["subsystems"][subsystem][plot]: for cut in config["subsystems"][subsystem][plot]["cuts"]: - if "is_" in cut: - all_parameters.append(cut) + if cut[0] == "~": + cut = cut[1:] + all_parameters.append(cut) return all_parameters From f3c04292e8eae3c2714323079f729bad58bb2468 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 3 May 2023 17:14:40 +0000 Subject: [PATCH 021/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 32 +++++++++++-------- src/legend_data_monitor/cuts.py | 3 +- src/legend_data_monitor/plotting.py | 4 ++- .../settings/remove-keys.json | 4 +-- src/legend_data_monitor/subsystem.py | 15 ++++++--- src/legend_data_monitor/utils.py | 16 ++++++---- 6 files changed, 45 insertions(+), 29 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index cd56055..23b1306 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -3,14 +3,12 @@ import numpy as np import pandas as pd -from pandas import DataFrame, concat - from legendmeta import LegendMetadata - +from pandas import DataFrame, concat # needed to know which parameters are not in DataLoader # but need to be calculated, such as event rate -from . import cuts, utils +from . import utils # ------------------------------------------------------------------------- @@ -164,7 +162,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): bad = self.select_events() if bad: return - + # apply cuts, if any self.apply_all_cuts() @@ -215,8 +213,8 @@ def apply_cut(self, cut): def apply_all_cuts(self): for cut in self.cuts: - self.apply_cut(cut) - + self.apply_cut(cut) + def special_parameter(self): for param in self.parameters: if param == "wf_max_rel": @@ -318,14 +316,20 @@ def special_parameter(self): # - select arbitrary column that is definitely not NaN in each row e.g. channel to represent the count # - rename to "pulser_events" # now we have a table with number of pulser events as column with DETECTOR NAME AS INDEX - df_livetime = self.data[ self.data["flag_pulser"]].groupby("name").count()["channel"].to_frame("pulser_events") - + df_livetime = ( + self.data[self.data["flag_pulser"]] + .groupby("name") + .count()["channel"] + .to_frame("pulser_events") + ) # ------ calculate livetime for each detector and add it to original dataframe df_livetime["livetime_in_s"] = df_livetime["pulser_events"] / rate self.data = self.data.set_index("name") - self.data = pd.concat([self.data, df_livetime.reindex(self.data.index)], axis=1) + self.data = pd.concat( + [self.data, df_livetime.reindex(self.data.index)], axis=1 + ) # drop the pulser events column we don't need it self.data = self.data.drop("pulser_events", axis=1) @@ -337,7 +341,11 @@ def special_parameter(self): for det_name in self.data.index.unique(): mass_in_kg = dets_map[det_name]["production"]["mass_in_g"] / 1000 # exposure in kg*yr - self.data.at[det_name, "exposure"] = mass_in_kg * df_livetime.at[det_name, "livetime_in_s"] / (60*60*24*365.25) + self.data.at[det_name, "exposure"] = ( + mass_in_kg + * df_livetime.at[det_name, "livetime_in_s"] + / (60 * 60 * 24 * 365.25) + ) self.data.reset_index() @@ -456,8 +464,6 @@ def calculate_variation(self): self.data[param] / self.data[param + "_mean"] - 1 ) * 100 # % - - def is_spms(self) -> bool: """Return True if 'location' (=fiber) and 'position' (=top, bottom) are strings.""" if isinstance(self.data.iloc[0]["location"], str) and isinstance( diff --git a/src/legend_data_monitor/cuts.py b/src/legend_data_monitor/cuts.py index 44c73e4..9f08978 100644 --- a/src/legend_data_monitor/cuts.py +++ b/src/legend_data_monitor/cuts.py @@ -1,5 +1,6 @@ from . import utils + def apply_cut(data, cut): utils.logger.info("...... applying cut: " + cut) @@ -9,4 +10,4 @@ def apply_cut(data, cut): cut_value = 0 cut = cut[1:] - return data[data[cut] == cut_value] \ No newline at end of file + return data[data[cut] == cut_value] diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 81eea8e..b7d6278 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -165,7 +165,9 @@ def make_subsystem_plots( "%" if plot_settings["variation"] else plot_info["unit"] ) # needed for grey lines for K lines, in case we are looking at energy itself (not event rate for example) - plot_info["K_events"] = (plot_settings["event_type"] == "K_events") and (plot_settings["parameters"] == utils.SPECIAL_PARAMETERS["K_events"]) + plot_info["K_events"] = (plot_settings["event_type"] == "K_events") and ( + plot_settings["parameters"] == utils.SPECIAL_PARAMETERS["K_events"] + ) # time window might be needed fort he vs time function plot_info["time_window"] = plot_settings["time_window"] # threshold values are needed for status map; might be needed for plotting limits on canvas too diff --git a/src/legend_data_monitor/settings/remove-keys.json b/src/legend_data_monitor/settings/remove-keys.json index aa30d4c..405baf5 100644 --- a/src/legend_data_monitor/settings/remove-keys.json +++ b/src/legend_data_monitor/settings/remove-keys.json @@ -33,7 +33,7 @@ { "from": "20230415T133659Z", "to": "20230424T185631Z" - } + } ], "C00ANG2": [ { @@ -51,6 +51,6 @@ { "from": "20230415T133659Z", "to": "20230424T185631Z" - } + } ] } diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 53da513..2647367 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -637,7 +637,7 @@ def construct_dataloader_configs(self, params: list_of_str): def remove_timestamps(self, remove_keys: dict): """Remove timestamps from the dataframes for a given channel. - + The time interval in which to remove the channel is provided through an external json file. """ # all timestamps we are considering are expressed in UTC0 @@ -654,14 +654,19 @@ def remove_timestamps(self, remove_keys: dict): # times are in format YYYYMMDDTHHMMSSZ, convert them into a UTC0 timestamp for point in ["from", "to"]: # convert UTC timestamp to datetime (unix epoch time) - chunk[point] = pd.to_datetime(chunk[point], utc=True, format="%Y%m%dT%H%M%SZ") + chunk[point] = pd.to_datetime( + chunk[point], utc=True, format="%Y%m%dT%H%M%SZ" + ) # entries to drop for this chunk - rows_to_drop = self.data[ (self.data["name"] == detector) & (self.data["datetime"] >= chunk["from"]) & (self.data["datetime"] <= chunk["to"]) ] + rows_to_drop = self.data[ + (self.data["name"] == detector) + & (self.data["datetime"] >= chunk["from"]) + & (self.data["datetime"] <= chunk["to"]) + ] self.data = self.data.drop(rows_to_drop.index) - self.data = self.data.reset_index() - + self.data = self.data.reset_index() def below_period_3_excluded(self) -> bool: if int(self.period[-1]) < 3: diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 1a82d3b..8c7605a 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -47,7 +47,7 @@ # convert all to lists for convenience for param in SPECIAL_PARAMETERS: if isinstance(SPECIAL_PARAMETERS[param], str): - SPECIAL_PARAMETERS[param] = [SPECIAL_PARAMETERS[param]] + SPECIAL_PARAMETERS[param] = [SPECIAL_PARAMETERS[param]] # load list of columns to load for a dataframe COLUMNS_TO_LOAD = [ @@ -314,24 +314,26 @@ def check_plot_settings(conf: dict): ) ) return False - + # ---------------------------------------------------------------------------------------------- # special checks # ---------------------------------------------------------------------------------------------- # exposure check - if plot_settings["parameters"] == "exposure" and (plot_settings["event_type"] not in ["pulser", "all"]): + if plot_settings["parameters"] == "exposure" and ( + plot_settings["event_type"] not in ["pulser", "all"] + ): logger.error( "\033[91mPulser events are needed to calculate livetime/exposure; choose 'pulser' or 'all' event type\033[0m" ) - return False + return False # ToDo: neater way to skip the whole loop but still do special checks; break? ugly... if plot_settings["parameters"] == "exposure": - continue + continue # other non-exposure checks - + # if vs time was provided, need time window if ( plot_settings["plot_style"] == "vs time" @@ -528,7 +530,7 @@ def get_all_plot_parameters(subsystem: str, config: dict): # check if event type asked needs a special parameter (K lines need energy) event_type = config["subsystems"][subsystem][plot]["event_type"] if event_type in SPECIAL_PARAMETERS: - all_parameters+= SPECIAL_PARAMETERS[event_type] + all_parameters += SPECIAL_PARAMETERS[event_type] # check if there is any QC entry; if so, add it to the list of parameters to load if "cuts" in config["subsystems"][subsystem][plot]: From ba00f783c1094f98bf5a39669ec98cea60989732 Mon Sep 17 00:00:00 2001 From: Mariia Redchuk Date: Thu, 4 May 2023 10:30:33 +0200 Subject: [PATCH 022/166] cuts in AnData --- src/legend_data_monitor/analysis_data.py | 13 +++++++------ src/legend_data_monitor/utils.py | 7 ++++++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 23b1306..1015722 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -31,10 +31,6 @@ class AnalysisData: Format: time_window='NA', where N is integer, and A is M for months, D for days, T for minutes, and S for seconds. Default: None Or input kwargs directly parameters=, event_type=, cuts=, variation=, time_window= - - To apply a single cut, use data_after_cut = ldm.apply_cut() - To apply all cuts, use data_after_all_cuts = .apply_all_cuts() - where is the AnalysisData object you created. """ def __init__(self, sub_data: pd.DataFrame, **kwargs): @@ -158,7 +154,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): exit() # ------------------------------------------------------------------------- - # select phy/puls/all events + # select phy/puls/all/Klines events bad = self.select_events() if bad: return @@ -200,7 +196,12 @@ def select_events(self): utils.logger.error("\033[91m%s\033[0m", self.__doc__) return "bad" - def apply_cut(self, cut): + def apply_cut(self, cut: str): + """ + Apply given boolean cut. + + Format: cut name as in lh5 files ("is_*") to apply given cut, or cut name preceded by "~" to apply a "not" cut. + """ utils.logger.info("... applying cut: " + cut) cut_value = 1 diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 8c7605a..cc2a0b6 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -534,7 +534,12 @@ def get_all_plot_parameters(subsystem: str, config: dict): # check if there is any QC entry; if so, add it to the list of parameters to load if "cuts" in config["subsystems"][subsystem][plot]: - for cut in config["subsystems"][subsystem][plot]["cuts"]: + cuts = config["subsystems"][subsystem][plot]["cuts"] + # convert to list for convenience + if isinstance(cuts, str): + cuts = [cuts] + for cut in cuts: + # append original name of the cut to load (remove the "not" ~ symbol if present) if cut[0] == "~": cut = cut[1:] all_parameters.append(cut) From 25297c49827a89b2fcd4926d41f39ef09f416781 Mon Sep 17 00:00:00 2001 From: sagitta42 Date: Thu, 4 May 2023 10:36:39 +0200 Subject: [PATCH 023/166] pre-commit fixes --- src/legend_data_monitor/cuts.py | 13 ------------- src/legend_data_monitor/subsystem.py | 2 -- 2 files changed, 15 deletions(-) delete mode 100644 src/legend_data_monitor/cuts.py diff --git a/src/legend_data_monitor/cuts.py b/src/legend_data_monitor/cuts.py deleted file mode 100644 index 9f08978..0000000 --- a/src/legend_data_monitor/cuts.py +++ /dev/null @@ -1,13 +0,0 @@ -from . import utils - - -def apply_cut(data, cut): - utils.logger.info("...... applying cut: " + cut) - - cut_value = 1 - # check if the cut has "not" in it - if cut[0] == "~": - cut_value = 0 - cut = cut[1:] - - return data[data[cut] == cut_value] diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 2647367..75063b9 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -4,7 +4,6 @@ import numpy as np import pandas as pd -import pytz from legendmeta import LegendMetadata from pygama.flow import DataLoader @@ -641,7 +640,6 @@ def remove_timestamps(self, remove_keys: dict): The time interval in which to remove the channel is provided through an external json file. """ # all timestamps we are considering are expressed in UTC0 - utc_timezone = pytz.timezone("UTC") utils.logger.debug("... removing timestamps from the following detectors:") # loop over channels for which we want to remove timestamps From 3616dea81b8abd4c0fd588512fcde672e6dd9106 Mon Sep 17 00:00:00 2001 From: sagitta42 Date: Thu, 4 May 2023 10:40:18 +0200 Subject: [PATCH 024/166] cuts in init --- src/legend_data_monitor/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/legend_data_monitor/__init__.py b/src/legend_data_monitor/__init__.py index e2a82b6..bb4e174 100644 --- a/src/legend_data_monitor/__init__.py +++ b/src/legend_data_monitor/__init__.py @@ -1,7 +1,6 @@ from legend_data_monitor._version import version as __version__ from legend_data_monitor.analysis_data import AnalysisData from legend_data_monitor.core import control_plots -from legend_data_monitor.cuts import apply_cut from legend_data_monitor.subsystem import Subsystem __all__ = ["__version__", "control_plots", "Subsystem", "AnalysisData", "apply_cut"] From a846d9645e38f071d51fe7807b71ecf18559e320 Mon Sep 17 00:00:00 2001 From: Mariia Redchuk Date: Mon, 8 May 2023 10:37:38 +0200 Subject: [PATCH 025/166] multi-param plot --- src/legend_data_monitor/analysis_data.py | 56 ++-- src/legend_data_monitor/plot_styles.py | 149 ++++++++-- src/legend_data_monitor/plotting.py | 271 +++++++++++------- .../settings/par-settings.json | 19 +- .../settings/special-parameters.json | 3 +- src/legend_data_monitor/subsystem.py | 21 +- 6 files changed, 355 insertions(+), 164 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 1015722..b1d8151 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -4,7 +4,6 @@ import numpy as np import pandas as pd from legendmeta import LegendMetadata -from pandas import DataFrame, concat # needed to know which parameters are not in DataLoader # but need to be calculated, such as event rate @@ -85,7 +84,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): # time window must be provided for event rate if ( - analysis_info["parameters"][0] == "event_rate" + "event_rate" in analysis_info["parameters"] and not analysis_info["time_window"] ): utils.logger.error( @@ -241,7 +240,7 @@ def special_parameter(self): # divide event count in each time window by sampling window in seconds to get Hz dt_seconds = get_seconds(self.time_window) - event_rate["event_rate"] = event_rate["event_rate"] / dt_seconds + event_rate["event_rate"] = event_rate["event_rate"]*1. / dt_seconds # --- get rid of last value # as the data range does not equally divide by the time window, the count in the last "window" will be smaller @@ -262,7 +261,8 @@ def special_parameter(self): # - reindex to match event rate table index # - put the columns in with concat event_rate = event_rate.set_index("channel") - columns = utils.COLUMNS_TO_LOAD + # need to copy, otherwise next line removes "channel" from original, and crashes next time over not finding channel + columns = utils.COLUMNS_TO_LOAD[:] columns.remove("channel") self.data = pd.concat( [ @@ -349,6 +349,8 @@ def special_parameter(self): ) self.data.reset_index() + elif param == "AoE_Custom": + self.data["AoE_Custom"] = self.data["A_max"] / self.data["cuspEmax"] def channel_mean(self): """ @@ -367,6 +369,7 @@ def channel_mean(self): # congratulations, it's a sipm! if self.is_spms(): channels = (self.data["channel"]).unique() + # !! need to update for multiple parameter case! channel_mean = pd.DataFrame( {"channel": channels, self.parameters[0]: [None] * len(channels)} ) @@ -381,7 +384,7 @@ def channel_mean(self): numeric_only=True )[self.parameters] - if self.saving == "append": + elif self.saving == "append": subsys = self.get_subsys() # the file does not exist, so we get the mean as usual if not os.path.exists(self.plt_path + "-" + subsys + ".dat"): @@ -397,7 +400,7 @@ def channel_mean(self): with shelve.open(self.plt_path + "-" + subsys, "r") as shelf: old_dict = dict(shelf) # get old dataframe (we are interested only in the column with mean values) - old_df = old_dict["monitoring"][self.evt_type][self.parameters[0]][ + old_df = old_dict["monitoring"][self.evt_type][self.parameters][ "df_" + subsys ] """ @@ -407,9 +410,9 @@ def channel_mean(self): # what we can do, is to get absolute values starting from the mean and the % values present in the old dataframe' # Later, we need to put these absolute values in the corresponding parameter column if self.variation: - old_df[self.parameters[0]] = (old_df[self.parameters[0]] / 100 + 1) * old_df[self.parameters[0] + "_mean"] + old_df[self.parameters] = (old_df[self.parameters] / 100 + 1) * old_df[self.parameters + "_mean"] - merged_df = concat([old_df, self.data], ignore_index=True, axis=0) + merged_df = pd.concat([old_df, self.data], ignore_index=True, axis=0) # remove 'level_0' column (if present) merged_df = utils.check_level0(merged_df) merged_df = merged_df.reset_index() @@ -418,19 +421,32 @@ def channel_mean(self): # ...still we have to re-compute the % variations of previous time windows because now the mean estimate is different!!! """ - # a column of mean values - mean_df = old_df[self.parameters[0] + "_mean"] - # a column of channels - channels = old_df["channel"] - # two columns: one of channels, one of mean values - channel_mean = concat( - [channels, mean_df], ignore_index=True, axis=1 - ).rename(columns={0: "channel", 1: self.parameters[0]}) - # drop potential duplicate rows - channel_mean = channel_mean.drop_duplicates(subset=["channel"]) - # set 'channel' column as index + + # subselect only columns of mean values of param(s) of interest and channel + channel_mean = old_df[["channel"] + [x + "_mean" for x in self.parameters]] + # later there will be a line renaming param to param_mean, so now need to rename back to no mean... + # this whole section has to be cleaned up + channel_mean = channel_mean.rename( + columns={param + "_mean": param for param in self.parameters} + ) + # set channel to index because that's how it comes out in previous cases from df.mean() channel_mean = channel_mean.set_index("channel") + # a column of mean values + # mean_df = old_df[self.parameters[0] + "_mean"] + # mean_df = old_df[[x + "_mean" for x in self.parameters]] + # # a column of channels + # channels = old_df["channel"] + # # two columns: one of channels, one of mean values + # channel_mean = pd.concat( + # [channels, mean_df], ignore_index=True, axis=1 + # ).rename(columns={0: "channel", 1: self.parameters[0]}) + # # drop potential duplicate rows + # channel_mean = channel_mean.drop_duplicates(subset=["channel"]) + # # set 'channel' column as index + # channel_mean = channel_mean.set_index("channel") + + # some means are meaningless -> drop the corresponding column if "FWHM" in self.parameters: channel_mean.drop("FWHM", axis=1) @@ -526,7 +542,7 @@ def get_seconds(time_window: str): return int(time_window.rstrip(time_unit)) * str_to_seconds[time_unit] -def cut_dataframe(data: DataFrame) -> DataFrame: +def cut_dataframe(data: pd.DataFrame) -> pd.DataFrame: """Get mean value of the parameters under study over the first 10% of data present in the selected time range.""" min_datetime = data["datetime"].min() # first timestamp max_datetime = data["datetime"].max() # last timestamp diff --git a/src/legend_data_monitor/plot_styles.py b/src/legend_data_monitor/plot_styles.py index 6123897..970be5f 100644 --- a/src/legend_data_monitor/plot_styles.py +++ b/src/legend_data_monitor/plot_styles.py @@ -13,6 +13,9 @@ from . import utils +# ------------------------------------------------------------------------------- +# single parameter plotting functions +# ------------------------------------------------------------------------------- def plot_vs_time( data_channel: DataFrame, fig: Figure, ax: Axes, plot_info: dict, color=None @@ -101,6 +104,12 @@ def plot_vs_time( # beautification # ------------------------------------------------------------------------- + # set range if provided + if plot_info["range"][0] is not None: + ax.set_ylim(ymin=plot_info["range"][0]) + if plot_info["range"][1] is not None: + ax.set_ylim(ymax=plot_info["range"][1]) + # plot the position of the two K lines if plot_info["K_events"]: ax.axhline(y=1460.822, color="gray", linestyle="--") @@ -168,46 +177,48 @@ def par_vs_ch( def plot_histo( data_channel: DataFrame, fig: Figure, ax: Axes, plot_info: dict, color=None ): + # --- histo range - # !! in the future take from par-settings - # needed for cuspEmax because with geant outliers not possible to view normal histo - hrange = {"keV": [0, 2500]} # take full range if not specified x_min = ( - hrange[plot_info["unit"]][0] - if plot_info["unit"] in hrange + plot_info["range"][0] + if plot_info["range"][0] is not None else data_channel[plot_info["parameter"]].min() ) x_max = ( - hrange[plot_info["unit"]][1] - if plot_info["unit"] in hrange + plot_info["range"][1] + if plot_info["range"][1] is not None else data_channel[plot_info["parameter"]].max() - ) + ) # --- bin width bwidth = {"keV": 2.5} bin_width = bwidth[plot_info["unit"]] if plot_info["unit"] in bwidth else 1 # Compute number of bins - if bin_width: - bin_edges = ( - np.arange(x_min, x_max + bin_width, bin_width / 5) - if plot_info["unit_label"] == "%" - else np.arange(x_min, x_max + bin_width, bin_width) + # sometimes e.g. A/E is always 0.0 => mean = 0 => var = NaN => x_min = NaN => cannot do np.arange + # why arange tho? why not just number of bins (xmax - xmin) / binwidth? + if not np.isnan(x_min): + if bin_width: + bin_edges = ( + np.arange(x_min, x_max + bin_width, bin_width / 5) + if plot_info["unit_label"] == "%" + else np.arange(x_min, x_max + bin_width, bin_width) + ) + # this never happens unless somebody puts 0 in the bwidth dictionary? + else: + bin_edges = 50 + + # ------------------------------------------------------------------------- + # Plot histogram + data_channel[plot_info["parameter"]].plot.hist( + bins=bin_edges, + range=[x_min, x_max], + histtype="step", + linewidth=1.5, + ax=ax, + color=color, ) - else: - bin_edges = 50 - - # ------------------------------------------------------------------------- - # Plot histogram - data_channel[plot_info["parameter"]].plot.hist( - bins=bin_edges, - range=[x_min, x_max], - histtype="step", - linewidth=1.5, - ax=ax, - color=color, - ) # ------------------------------------------------------------------------- @@ -254,6 +265,90 @@ def plot_scatter( fig.supylabel(y_label) +# ------------------------------------------------------------------------------- +# multi parameter plotting functions +# ------------------------------------------------------------------------------- + +def plot_par_vs_par(data_channel: DataFrame, fig: Figure, ax: Axes, plot_info: dict, color=None): + par_x = plot_info["parameters"][0] + par_y = plot_info["parameters"][1] + + ax.scatter(data_channel[par_x], data_channel[par_y], color=color) + + labels = [] + for param in plot_info["parameters"]: + # construct label + label = ( + f"{plot_info['label'][param]}, {plot_info['unit_label'][param]}" + if plot_info["unit_label"][param] == "%" + else f"{plot_info['label'][param]} [{plot_info['unit_label'][param]}]" + ) + labels.append(label) + + fig.supxlabel(labels[0]) + fig.supylabel(labels[1]) + + # apply range + # parameter not in range means 1) none was given and defaulted to [None, None], or 2) this parameter was not mentioned in range + # ? cut data before plotting, not after? could be more efficient to plot smaller data sample? + if par_x in plot_info["range"]: + ax.set_xlim(plot_info["range"][par_x]) + if par_y in plot_info["range"]: + ax.set_ylim(plot_info["range"][par_y]) + + +# !!! WORK IN PROGRESS !!! +# hard to test because A/E vs E is weird with huge ranges of strange large and negative values, kills memory with many bins +# will come back to this later after clarifying what A/E makes sense to plot +# def plot_par_vs_par_hist(data_channel: DataFrame, fig: Figure, ax: Axes, plot_info: dict, color=None): +# # Compute number of bins +# # 0 = x, 1 = y +# nbins = []; ranges = [] +# # NaN check +# # anynan = False +# for param in plot_info["parameters"]: +# # range +# par_range = [data_channel[param].min(), data_channel[param].max()] + +# # bin width +# if param == "AoE_Custom": +# bin_width = 0.1 +# # par_range = [0,2] +# elif plot_info["unit"][param] == "keV": +# bin_width = 2.5 +# par_range = [0,3000] # avoid negative values +# else: +# bin_width = 1 # default + + +# # number of bins +# nbins.append( int( (par_range[1] - par_range[0])/bin_width ) ) +# ranges.append(par_range) +# # sometimes e.g. A/E is always 0.0 => mean = 0 => var = NaN => x_min = NaN => cannot plot range [nan, nan] +# # anynan = anynan or np.isnan(nbins[-1]) + +# print(nbins) +# print(ranges) +# # if not anynan: +# h, xedges, yedges, image = ax.hist2d(data_channel[plot_info["parameters"][0]], data_channel[plot_info["parameters"][1]], range=ranges, bins=nbins) + +# labels = [] +# for param in plot_info["parameters"]: +# label = ( +# f"{plot_info['label'][param]}, {plot_info['unit_label'][param]}" +# if plot_info["unit_label"][param] == "%" +# else f"{plot_info['label'][param]} [{plot_info['unit_label'][param]}]" +# ) +# labels.append(label) + +# fig.supxlabel(labels[0]) +# fig.supylabel(labels[1]) + +# del h +# del xedges +# del yedges +# del image + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # UNDER CONSTRUCTION!!! def plot_heatmap( @@ -353,4 +448,6 @@ def plot_heatmap( "histogram": plot_histo, "scatter": plot_scatter, "heatmap": plot_heatmap, + "par vs par": plot_par_vs_par, + # "par vs par histo": plot_par_vs_par_hist } diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index b7d6278..166b9ab 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -4,6 +4,7 @@ import matplotlib.pyplot as plt import numpy as np from matplotlib.backends.backend_pdf import PdfPages +import matplotlib.patches as mpatches from pandas import DataFrame from seaborn import color_palette @@ -29,7 +30,6 @@ def make_subsystem_plots( pdf = PdfPages(plt_path + "-" + subsystem.type + ".pdf") out_dict = {} - # for param in subsys.parameters: for plot_title in plots: utils.logger.info( "\33[95m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\33[0m" @@ -39,12 +39,11 @@ def make_subsystem_plots( "\33[95m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\33[0m" ) + # ------------------------------------------------------------------------- + # settings checks + # ------------------------------------------------------------------------- + # --- original plot settings provided in json - # - parameter of interest - # - event type all/pulser/phy/Klines - # - variation (bool) - # - time window (for event rate or vs time plot) - # - etc plot_settings = plots[plot_title] # --- defaults @@ -55,17 +54,44 @@ def make_subsystem_plots( # same, here need to account for unit label % if "variation" not in plot_settings: plot_settings["variation"] = False + # range for parameter + if "range" not in plot_settings: + plot_settings["range"] = [None, None] + # resampling: applies only to vs time plot + if "resampled" not in plot_settings: + plot_settings["resampled"] = None + # status plot requires no plot style option (for now) + if "plot_style" not in plot_settings: + plot_settings["plot_style"] = None + + # --- additional not in json # add saving info + plot where we save things plot_settings["saving"] = saving plot_settings["plt_path"] = plt_path + # --- checks + # resampled not provided for vs time -> set default + if plot_settings["plot_style"] == "vs time": + if not plot_settings["resampled"]: + plot_settings["resampled"] = "also" + utils.logger.warning( + "\033[93mNo 'resampled' option was specified. Both resampled and all entries will be plotted (otherwise you can try again using the option 'no', 'only', 'also').\033[0m" + ) + # resampled provided for irrelevant plot + elif plot_settings["resampled"]: + utils.logger.warning( + "\033[93mYou're using the option 'resampled' for a plot style that does not need it. For this reason, that option will be ignored.\033[0m" + ) + # ------------------------------------------------------------------------- # set up analysis data # ------------------------------------------------------------------------- # --- AnalysisData: - # - select parameter of interest + # - select parameter(s) of interest # - subselect type of events (pulser/phy/all/klines) + # - apply cuts + # - calculate special parameters if present # - get channel mean # - calculate variation from mean, if asked data_analysis = analysis_data.AnalysisData( @@ -81,7 +107,9 @@ def make_subsystem_plots( # set up plot info # ------------------------------------------------------------------------- - # --- color settings using a pre-defined palette + # ------------------------------------------------------------------------- + # color settings using a pre-defined palette + # num colors needed = max number of channels per string # - find number of unique positions in each string # - get maximum occurring @@ -118,9 +146,8 @@ def make_subsystem_plots( global COLORS COLORS = color_palette("hls", max_ch_per_string).as_hex() - # --- information needed for plot structure - # ! currently "parameters" is one parameter ! - # subject to change if one day want to plot multiple in one plot + # ------------------------------------------------------------------------- + # basic information needed for plot structure plot_info = { "title": plot_title, "subsystem": subsystem.type, @@ -131,68 +158,80 @@ def make_subsystem_plots( "pulser_aux": "puls", "FC_bsln": "bsln", }[subsystem.type], - "unit": utils.PLOT_INFO[plot_settings["parameters"]]["unit"], - "plot_style": plot_settings["plot_style"] - if "plot_style" in plot_settings - else None, } - # information for having the resampled or all entries (needed only for 'vs time' style option) - plot_info["resampled"] = ( - plot_settings["resampled"] if "resampled" in plot_settings else "" - ) + # parameters from plot settings to be simply propagated + plot_info["plot_style"] = plot_settings["plot_style"] + plot_info["time_window"] = plot_settings["time_window"] + plot_info["resampled"] = plot_settings["resampled"] + plot_info["range"] = plot_settings["range"] # information for shifting the channels or not (not needed only for the 'per channel' structure option) when plotting the std plot_info["std"] = True if plot_structure == "per channel" else False + - if plot_info["plot_style"] is not None: - if plot_settings["plot_style"] == "vs time": - if plot_info["resampled"] == "": - plot_info["resampled"] = "also" - utils.logger.warning( - "\033[93mNo 'resampled' option was specified. Both resampled and all entries will be plotted (otherwise you can try again using the option 'no', 'only', 'also').\033[0m" - ) - else: - if plot_info["resampled"] != "": - utils.logger.warning( - "\033[93mYou're using the option 'resampled' for a plot style that does not need it. For this reason, that option will be ignored.\033[0m" - ) + # ------------------------------------------------------------------------- + # information needed for plot style depending on parameters + + # first, treat it like multiple parameters, add dictionary to each entry with values for each parameter + multi_param_info = ["unit", "label", "unit_label"] + for info in multi_param_info: + plot_info[info] = {} + + params = plot_settings["parameters"] + if isinstance(params, str): + params = [params] + + # name(s) of parameter(s) to plot - always list + plot_info["parameters"] = params + # preserve original param_mean before potentially adding _var to name + plot_info["param_mean"] = [x + "_mean" for x in params] + # add _var if variation asked + if plot_settings["variation"]: + plot_info["parameters"] = [x + "_var" for x in params] + + for param in plot_info["parameters"]: + # plot info should contain final parameter to plot i.e. _var if var is asked + # unit and label are connected to original parameter name + # this is messy AF need to rethink + param_orig = param.rstrip("_var") + plot_info["unit"][param] = utils.PLOT_INFO[param_orig]["unit"] + plot_info["label"][param] = utils.PLOT_INFO[param_orig]["label"] + # unit label should be % if variation was asked + plot_info["unit_label"][param] = ( + "%" if plot_settings["variation"] else plot_info["unit"][param_orig] + ) + + if len(params) == 1: + # change "parameters" to "parameter" - for single-param plotting functions + plot_info["parameter"] = plot_info["parameters"][0] + # now, if it was actually a single parameter, convert {param: value} dict structure to just the value + # this is how one-parameter plotting functions are designed + for info in multi_param_info: + plot_info[info] = plot_info[info][plot_info["parameter"]] + # same for mean + plot_info["param_mean"] = plot_info["param_mean"][0] + + # threshold values are needed for status map; might be needed for plotting limits on canvas too + # only needed for single param plots (for now) + if subsystem.type not in ["pulser", "pulser_aux", "FC_bsln"]: + keyword = "variation" if plot_settings["variation"] else "absolute" + plot_info["limits"] = ( + utils.PLOT_INFO[params[0]]["limits"][subsystem.type][ + keyword + ] + ) - # --- information needed for plot style - plot_info["label"] = utils.PLOT_INFO[plot_settings["parameters"]]["label"] - # unit label should be % if variation was asked - plot_info["unit_label"] = ( - "%" if plot_settings["variation"] else plot_info["unit"] - ) - # needed for grey lines for K lines, in case we are looking at energy itself (not event rate for example) - plot_info["K_events"] = (plot_settings["event_type"] == "K_events") and ( - plot_settings["parameters"] == utils.SPECIAL_PARAMETERS["K_events"] - ) - # time window might be needed fort he vs time function - plot_info["time_window"] = plot_settings["time_window"] - # threshold values are needed for status map; might be needed for plotting limits on canvas too - if subsystem.type not in ["pulser", "pulser_aux", "FC_bsln"]: - plot_info["limits"] = ( - utils.PLOT_INFO[plot_settings["parameters"]]["limits"][subsystem.type][ - "variation" - ] - if plot_settings["variation"] - else utils.PLOT_INFO[plot_settings["parameters"]]["limits"][ - subsystem.type - ]["absolute"] - ) - plot_info["parameter"] = ( - plot_settings["parameters"] + "_var" - if plot_info["unit_label"] == "%" - else plot_settings["parameters"] - ) # could be multiple in the future! - plot_info["param_mean"] = plot_settings["parameters"] + "_mean" + # needed for grey lines for K lines, in case we are looking at energy itself (not event rate for example) + plot_info["K_events"] = (plot_settings["event_type"] == "K_events") and ( + plot_info["parameter"] == utils.SPECIAL_PARAMETERS["K_events"][0] + ) # ------------------------------------------------------------------------- # call chosen plot structure + plotting # ------------------------------------------------------------------------- - if plot_info["parameter"] == "exposure": + if "exposure" in plot_info["parameters"]: string_visualization.exposure_plot( subsystem, data_analysis.data, plot_info, pdf ) @@ -309,26 +348,32 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # plot selected style on this axis plot_style(data_channel, fig, axes[ax_idx], plot_info, color=COLORS[ax_idx]) - # --- add summary to axis + # --- add summary to axis - only for single channel plots # name, position and mean are unique for each channel - take first value - t = data_channel.iloc[0][ - ["channel", "position", "name", plot_info["param_mean"]] - ] - - fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) - + df_text = data_channel.iloc[0][ + ["channel", "position", "name"] + ] text = ( - t["name"] - + "\n" - + f"channel {t['channel']}\n" - + f"position {t['position']}\n" - + f"FWHM {round(fwhm_ch, 2)}\n" - + ( - f"mean {round(t[plot_info['param_mean']],3)} [{plot_info['unit']}]" - if t[plot_info["param_mean"]] is not None - else "" - ) # handle with care mean='None' situations - ) + df_text["name"] + + "\n" + + f"channel {df_text['channel']}\n" + + f"position {df_text['position']}" + ) + if len(plot_info["parameters"]) == 1: + # in case of 1 parameter, "param mean" entry is a single string param_mean + # in case of > 1, it's a list of parameters -> ignore for now and plot mean only for 1 param case + par_mean = data_channel.iloc[0][plot_info["param_mean"]] # single number + fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) + + text += ( + "\n" + + f"FWHM {fwhm_ch}\n" + + ( + f"mean {round(par_mean,3)} [{plot_info['unit']}]" + if par_mean is not None + else "" + ) # handle with care mean='None' situations + ) axes[ax_idx].text(1.01, 0.5, text, transform=axes[ax_idx].transAxes) # add grid @@ -338,7 +383,9 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): axes[ax_idx].set_ylabel("") # plot limits - plot_limits(axes[ax_idx], plot_info["limits"]) + # check if "limits" present, is not for pulser (otherwise crash when plotting e.g. event rate), is not for multi-params + if "limits" in plot_info: + plot_limits(axes[ax_idx], plot_info["limits"]) ax_idx += 1 @@ -413,10 +460,12 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): for label, data_channel in data_cc4_id.groupby("label"): cc4_channel = (label.split("-"))[-1] utils.logger.debug(f"...... channel {cc4_channel}") - - fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) plot_style(data_channel, fig, axes[ax_idx], plot_info, COLORS[col_idx]) - labels.append(label + f" - FWHM: {round(fwhm_ch, 2)}") + + labels.append(label) + if len(plot_info["parameters"]) == 1: + fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) + labels[-1] = label[-1] + f" - FWHM: {fwhm_ch}" col_idx += 1 # add grid @@ -498,9 +547,11 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): col_idx = 0 labels = [] for label, data_channel in data_location.groupby("label"): - fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) plot_style(data_channel, fig, axes[ax_idx], plot_info, COLORS[col_idx]) - labels.append(label + f" - FWHM: {round(fwhm_ch, 2)}") + labels.append(label) + if len(plot_info["parameters"]) == 1: + fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) + labels[-1]= labels[-1] + f" - FWHM: {fwhm_ch}" col_idx += 1 # add grid @@ -511,8 +562,9 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): axes[ax_idx].set_ylabel("") axes[ax_idx].legend(labels=labels, loc="center left", bbox_to_anchor=(1, 0.5)) - # plot limits - plot_limits(axes[ax_idx], plot_info["limits"]) + # plot limits if given + if "limits" in plot_info: + plot_limits(axes[ax_idx], plot_info["limits"]) ax_idx += 1 @@ -534,7 +586,6 @@ def plot_array(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): ) exit() - import matplotlib.patches as mpatches # --- choose plot function based on user requested style plot_style = plot_styles.PLOT_STYLE[plot_info["plot_style"]] @@ -596,28 +647,30 @@ def plot_array(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): labels.append(label.split("-")[-1]) channels.append(map_dict[str(location)][str(position)]) - values_per_string.append(data_channel[plot_info["parameter"]].unique()[0]) - channels_per_string.append(map_dict[str(location)][str(position)]) - - # get average of plotted parameter per string (print horizontal line) - avg_of_string = sum(values_per_string) / len(values_per_string) - axes.hlines( - y=avg_of_string, - xmin=min(channels_per_string), - xmax=max(channels_per_string), - color="k", - linestyle="-", - linewidth=1, - ) - utils.logger.debug(f"..... average: {round(avg_of_string, 2)}") + if len(plot_info["parameters"]) == 1: + values_per_string.append(data_channel[plot_info["parameter"]].unique()[0]) + channels_per_string.append(map_dict[str(location)][str(position)]) + + if len(plot_info["parameters"]) == 1: + # get average of plotted parameter per string (print horizontal line) + avg_of_string = sum(values_per_string) / len(values_per_string) + axes.hlines( + y=avg_of_string, + xmin=min(channels_per_string), + xmax=max(channels_per_string), + color="k", + linestyle="-", + linewidth=1, + ) + utils.logger.debug(f"..... average: {round(avg_of_string, 2)}") - # get legend entry (print string + colour) - legend.append( - mpatches.Patch( - color=COLORS[col_idx], - label=f"s{location} - avg: {round(avg_of_string, 2)} {plot_info['unit_label']}", + # get legend entry (print string + colour) + legend.append( + mpatches.Patch( + color=COLORS[col_idx], + label=f"s{location} - avg: {round(avg_of_string, 2)} {plot_info['unit_label']}", + ) ) - ) # LAST thing to update col_idx += 1 @@ -819,7 +872,7 @@ def get_fwhm_for_fixed_ch(data_channel: DataFrame, parameter: str) -> float: entries = data_channel[parameter] entries_avg = np.mean(entries) fwhm_ch = 2.355 * np.sqrt(np.mean(np.square(entries - entries_avg))) - return fwhm_ch + return round(fwhm_ch,2) def plot_limits(ax: plt.Axes, limits: dict): diff --git a/src/legend_data_monitor/settings/par-settings.json b/src/legend_data_monitor/settings/par-settings.json index 93acacb..4f268ff 100644 --- a/src/legend_data_monitor/settings/par-settings.json +++ b/src/legend_data_monitor/settings/par-settings.json @@ -70,7 +70,7 @@ }, "geds": { "variation": [null, null], - "absolute": [null, null] + "absolute": [0, 20] } } }, @@ -772,5 +772,20 @@ "absolute": [null, null] } } - } + }, + "AoE_Custom": { + "label": "Custom A/E (A_max / cuspEmax)", + "unit": "a.u.", + "facecol": [0.74, 0.77, 0.87], + "limits": { + "spms": { + "variation": [null, null], + "absolute": [null, null] + }, + "geds": { + "variation": [null, null], + "absolute": [null, null] + } + } + } } diff --git a/src/legend_data_monitor/settings/special-parameters.json b/src/legend_data_monitor/settings/special-parameters.json index 54ec632..f81c191 100644 --- a/src/legend_data_monitor/settings/special-parameters.json +++ b/src/legend_data_monitor/settings/special-parameters.json @@ -3,5 +3,6 @@ "FWHM": "cuspEmax_ctc_cal", "wf_max_rel": ["wf_max", "baseline"], "event_rate": null, - "exposure": null + "exposure": null, + "AoE_Custom": ["A_max", "cuspEmax"] } diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 75063b9..2da4a04 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -24,21 +24,25 @@ class Subsystem: dataset= dict with the following keys: - 'experiment' [str]: 'L60' or 'L200' - - 'path' [str]: < move description here from get_data() > - - 'version' [str]: < move description here from get_data() > + - 'period' [str]: period format pXX + - 'path' [str]: path to prod-ref folder (before version) + - 'version' [str]: version of pygama data processing format vXX.XX - 'type' [str]: 'phy' or 'cal' - the following key(s) depending in time selection 1) 'start' : , 'end': where input is of format 'YYYY-MM-DD hh:mm:ss' 2) 'window'[str]: time window in the past from current time point, format: 'Xd Xh Xm' for days, hours, minutes 2) 'timestamps': str or list of str in format 'YYYYMMDDThhmmssZ' 3) 'runs': int or list of ints for run number(s) e.g. 10 for r010 - Or input kwargs separately path=, version=, type=; start=&end=, or window=, or timestamps=, or runs= + Or input kwargs separately experiment=, period=, path=, version=, type=; start=&end=, or window=, or timestamps=, or runs= - Experiment is needed to know which channel belongs to the pulser Subsystem, AUX0 (L60) or AUX1 (L200) + Experiment is needed to know which channel belongs to the pulser Subsystem (and its name), "auxs" ch0 (L60) or "puls" ch1 (L200) + Period is needed to know channel name ("fcid" or "rawid") Selection range is needed for the channel map and status information at that time point, and should be the only information needed, however, pylegendmeta only allows query .on(timestamp=...) but not .on(run=...); therefore, to be able to get info in case of `runs` selection, we need to know - path, version, and run type to look up first timestamp of the run + path, version, and run type to look up first timestamp of the run. + If this changes in the future, the path will only be asked when data is requested to be loaded with Subsystem.get_data(), + but not to just load the channel map and status for given run Might set default "latest" for version, but gotta be careful. """ @@ -67,7 +71,12 @@ def __init__(self, sub_type: str, **kwargs): utils.logger.error("\033[91mProvide data type!\033[0m") utils.logger.error("\033[91m%s\033[0m", self.__doc__) return - + + if "period" not in data_info: + utils.logger.error("\033[91mProvide period!\033[0m") + utils.logger.error("\033[91m%s\033[0m", self.__doc__) + return + # convert to list for convenience # ! currently not possible with channel status # if isinstance(data_info["type"], str): From a428353329ef7cb2e2230acf5ce1343d6e059f68 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 8 May 2023 08:37:59 +0000 Subject: [PATCH 026/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 11 +++-- src/legend_data_monitor/plot_styles.py | 20 ++++---- src/legend_data_monitor/plotting.py | 48 +++++++++---------- .../settings/par-settings.json | 6 +-- src/legend_data_monitor/subsystem.py | 4 +- 5 files changed, 46 insertions(+), 43 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index b1d8151..c5d7a85 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -240,7 +240,7 @@ def special_parameter(self): # divide event count in each time window by sampling window in seconds to get Hz dt_seconds = get_seconds(self.time_window) - event_rate["event_rate"] = event_rate["event_rate"]*1. / dt_seconds + event_rate["event_rate"] = event_rate["event_rate"] * 1.0 / dt_seconds # --- get rid of last value # as the data range does not equally divide by the time window, the count in the last "window" will be smaller @@ -350,7 +350,7 @@ def special_parameter(self): self.data.reset_index() elif param == "AoE_Custom": - self.data["AoE_Custom"] = self.data["A_max"] / self.data["cuspEmax"] + self.data["AoE_Custom"] = self.data["A_max"] / self.data["cuspEmax"] def channel_mean(self): """ @@ -423,12 +423,14 @@ def channel_mean(self): """ # subselect only columns of mean values of param(s) of interest and channel - channel_mean = old_df[["channel"] + [x + "_mean" for x in self.parameters]] + channel_mean = old_df[ + ["channel"] + [x + "_mean" for x in self.parameters] + ] # later there will be a line renaming param to param_mean, so now need to rename back to no mean... # this whole section has to be cleaned up channel_mean = channel_mean.rename( columns={param + "_mean": param for param in self.parameters} - ) + ) # set channel to index because that's how it comes out in previous cases from df.mean() channel_mean = channel_mean.set_index("channel") @@ -446,7 +448,6 @@ def channel_mean(self): # # set 'channel' column as index # channel_mean = channel_mean.set_index("channel") - # some means are meaningless -> drop the corresponding column if "FWHM" in self.parameters: channel_mean.drop("FWHM", axis=1) diff --git a/src/legend_data_monitor/plot_styles.py b/src/legend_data_monitor/plot_styles.py index 970be5f..2508899 100644 --- a/src/legend_data_monitor/plot_styles.py +++ b/src/legend_data_monitor/plot_styles.py @@ -17,6 +17,7 @@ # single parameter plotting functions # ------------------------------------------------------------------------------- + def plot_vs_time( data_channel: DataFrame, fig: Figure, ax: Axes, plot_info: dict, color=None ): @@ -108,7 +109,7 @@ def plot_vs_time( if plot_info["range"][0] is not None: ax.set_ylim(ymin=plot_info["range"][0]) if plot_info["range"][1] is not None: - ax.set_ylim(ymax=plot_info["range"][1]) + ax.set_ylim(ymax=plot_info["range"][1]) # plot the position of the two K lines if plot_info["K_events"]: @@ -177,7 +178,6 @@ def par_vs_ch( def plot_histo( data_channel: DataFrame, fig: Figure, ax: Axes, plot_info: dict, color=None ): - # --- histo range # take full range if not specified x_min = ( @@ -189,7 +189,7 @@ def plot_histo( plot_info["range"][1] if plot_info["range"][1] is not None else data_channel[plot_info["parameter"]].max() - ) + ) # --- bin width bwidth = {"keV": 2.5} @@ -269,7 +269,10 @@ def plot_scatter( # multi parameter plotting functions # ------------------------------------------------------------------------------- -def plot_par_vs_par(data_channel: DataFrame, fig: Figure, ax: Axes, plot_info: dict, color=None): + +def plot_par_vs_par( + data_channel: DataFrame, fig: Figure, ax: Axes, plot_info: dict, color=None +): par_x = plot_info["parameters"][0] par_y = plot_info["parameters"][1] @@ -294,7 +297,7 @@ def plot_par_vs_par(data_channel: DataFrame, fig: Figure, ax: Axes, plot_info: d if par_x in plot_info["range"]: ax.set_xlim(plot_info["range"][par_x]) if par_y in plot_info["range"]: - ax.set_ylim(plot_info["range"][par_y]) + ax.set_ylim(plot_info["range"][par_y]) # !!! WORK IN PROGRESS !!! @@ -307,7 +310,7 @@ def plot_par_vs_par(data_channel: DataFrame, fig: Figure, ax: Axes, plot_info: d # # NaN check # # anynan = False # for param in plot_info["parameters"]: -# # range +# # range # par_range = [data_channel[param].min(), data_channel[param].max()] # # bin width @@ -327,7 +330,7 @@ def plot_par_vs_par(data_channel: DataFrame, fig: Figure, ax: Axes, plot_info: d # # sometimes e.g. A/E is always 0.0 => mean = 0 => var = NaN => x_min = NaN => cannot plot range [nan, nan] # # anynan = anynan or np.isnan(nbins[-1]) -# print(nbins) +# print(nbins) # print(ranges) # # if not anynan: # h, xedges, yedges, image = ax.hist2d(data_channel[plot_info["parameters"][0]], data_channel[plot_info["parameters"][1]], range=ranges, bins=nbins) @@ -342,13 +345,14 @@ def plot_par_vs_par(data_channel: DataFrame, fig: Figure, ax: Axes, plot_info: d # labels.append(label) # fig.supxlabel(labels[0]) -# fig.supylabel(labels[1]) +# fig.supylabel(labels[1]) # del h # del xedges # del yedges # del image + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # UNDER CONSTRUCTION!!! def plot_heatmap( diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 166b9ab..5d59a1e 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -1,10 +1,10 @@ import io import shelve +import matplotlib.patches as mpatches import matplotlib.pyplot as plt import numpy as np from matplotlib.backends.backend_pdf import PdfPages -import matplotlib.patches as mpatches from pandas import DataFrame from seaborn import color_palette @@ -41,7 +41,7 @@ def make_subsystem_plots( # ------------------------------------------------------------------------- # settings checks - # ------------------------------------------------------------------------- + # ------------------------------------------------------------------------- # --- original plot settings provided in json plot_settings = plots[plot_title] @@ -56,7 +56,7 @@ def make_subsystem_plots( plot_settings["variation"] = False # range for parameter if "range" not in plot_settings: - plot_settings["range"] = [None, None] + plot_settings["range"] = [None, None] # resampling: applies only to vs time plot if "resampled" not in plot_settings: plot_settings["resampled"] = None @@ -168,7 +168,6 @@ def make_subsystem_plots( # information for shifting the channels or not (not needed only for the 'per channel' structure option) when plotting the std plot_info["std"] = True if plot_structure == "per channel" else False - # ------------------------------------------------------------------------- # information needed for plot style depending on parameters @@ -200,7 +199,7 @@ def make_subsystem_plots( # unit label should be % if variation was asked plot_info["unit_label"][param] = ( "%" if plot_settings["variation"] else plot_info["unit"][param_orig] - ) + ) if len(params) == 1: # change "parameters" to "parameter" - for single-param plotting functions @@ -216,16 +215,14 @@ def make_subsystem_plots( # only needed for single param plots (for now) if subsystem.type not in ["pulser", "pulser_aux", "FC_bsln"]: keyword = "variation" if plot_settings["variation"] else "absolute" - plot_info["limits"] = ( - utils.PLOT_INFO[params[0]]["limits"][subsystem.type][ - keyword - ] - ) + plot_info["limits"] = utils.PLOT_INFO[params[0]]["limits"][ + subsystem.type + ][keyword] # needed for grey lines for K lines, in case we are looking at energy itself (not event rate for example) plot_info["K_events"] = (plot_settings["event_type"] == "K_events") and ( - plot_info["parameter"] == utils.SPECIAL_PARAMETERS["K_events"][0] - ) + plot_info["parameter"] == utils.SPECIAL_PARAMETERS["K_events"][0] + ) # ------------------------------------------------------------------------- # call chosen plot structure + plotting @@ -350,19 +347,19 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # --- add summary to axis - only for single channel plots # name, position and mean are unique for each channel - take first value - df_text = data_channel.iloc[0][ - ["channel", "position", "name"] - ] + df_text = data_channel.iloc[0][["channel", "position", "name"]] text = ( - df_text["name"] - + "\n" - + f"channel {df_text['channel']}\n" - + f"position {df_text['position']}" - ) + df_text["name"] + + "\n" + + f"channel {df_text['channel']}\n" + + f"position {df_text['position']}" + ) if len(plot_info["parameters"]) == 1: # in case of 1 parameter, "param mean" entry is a single string param_mean # in case of > 1, it's a list of parameters -> ignore for now and plot mean only for 1 param case - par_mean = data_channel.iloc[0][plot_info["param_mean"]] # single number + par_mean = data_channel.iloc[0][ + plot_info["param_mean"] + ] # single number fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) text += ( @@ -551,7 +548,7 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): labels.append(label) if len(plot_info["parameters"]) == 1: fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) - labels[-1]= labels[-1] + f" - FWHM: {fwhm_ch}" + labels[-1] = labels[-1] + f" - FWHM: {fwhm_ch}" col_idx += 1 # add grid @@ -586,7 +583,6 @@ def plot_array(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): ) exit() - # --- choose plot function based on user requested style plot_style = plot_styles.PLOT_STYLE[plot_info["plot_style"]] utils.logger.debug("Plot style: " + plot_info["plot_style"]) @@ -648,7 +644,9 @@ def plot_array(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): labels.append(label.split("-")[-1]) channels.append(map_dict[str(location)][str(position)]) if len(plot_info["parameters"]) == 1: - values_per_string.append(data_channel[plot_info["parameter"]].unique()[0]) + values_per_string.append( + data_channel[plot_info["parameter"]].unique()[0] + ) channels_per_string.append(map_dict[str(location)][str(position)]) if len(plot_info["parameters"]) == 1: @@ -872,7 +870,7 @@ def get_fwhm_for_fixed_ch(data_channel: DataFrame, parameter: str) -> float: entries = data_channel[parameter] entries_avg = np.mean(entries) fwhm_ch = 2.355 * np.sqrt(np.mean(np.square(entries - entries_avg))) - return round(fwhm_ch,2) + return round(fwhm_ch, 2) def plot_limits(ax: plt.Axes, limits: dict): diff --git a/src/legend_data_monitor/settings/par-settings.json b/src/legend_data_monitor/settings/par-settings.json index 4f268ff..ef9a194 100644 --- a/src/legend_data_monitor/settings/par-settings.json +++ b/src/legend_data_monitor/settings/par-settings.json @@ -776,7 +776,7 @@ "AoE_Custom": { "label": "Custom A/E (A_max / cuspEmax)", "unit": "a.u.", - "facecol": [0.74, 0.77, 0.87], + "facecol": [0.74, 0.77, 0.87], "limits": { "spms": { "variation": [null, null], @@ -786,6 +786,6 @@ "variation": [null, null], "absolute": [null, null] } - } - } + } + } } diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 2da4a04..fc95be9 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -71,12 +71,12 @@ def __init__(self, sub_type: str, **kwargs): utils.logger.error("\033[91mProvide data type!\033[0m") utils.logger.error("\033[91m%s\033[0m", self.__doc__) return - + if "period" not in data_info: utils.logger.error("\033[91mProvide period!\033[0m") utils.logger.error("\033[91m%s\033[0m", self.__doc__) return - + # convert to list for convenience # ! currently not possible with channel status # if isinstance(data_info["type"], str): From b699e5e63f4b9d6bd7b106ee465a1b51b9d6e220 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Mon, 15 May 2023 11:24:58 +0200 Subject: [PATCH 027/166] fixed cc4 and FWHM labels --- src/legend_data_monitor/plotting.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 5d59a1e..ac6257e 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -431,8 +431,8 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): ] labels["channel"] = labels.index labels["label"] = labels[ - ["location", "position", "channel", "name", "cc4_channel"] - ].apply(lambda x: f"s{x[0]}-p{x[1]}-ch{str(x[2]).zfill(3)}-{x[3]}-{x[4]}", axis=1) + ["location", "position", "name", "cc4_channel"] + ].apply(lambda x: f"s{x[0]}-p{x[1]}-{x[2]}-cc4 ch.{x[3]}", axis=1) # put it in the table data_analysis = data_analysis.set_index("channel") data_analysis["label"] = labels["label"] @@ -456,13 +456,13 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): labels = [] for label, data_channel in data_cc4_id.groupby("label"): cc4_channel = (label.split("-"))[-1] - utils.logger.debug(f"...... channel {cc4_channel}") + utils.logger.debug(f"...... {cc4_channel}") plot_style(data_channel, fig, axes[ax_idx], plot_info, COLORS[col_idx]) labels.append(label) if len(plot_info["parameters"]) == 1: fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) - labels[-1] = label[-1] + f" - FWHM: {fwhm_ch}" + labels[-1] = label + f" - FWHM: {fwhm_ch}" col_idx += 1 # add grid @@ -870,7 +870,15 @@ def get_fwhm_for_fixed_ch(data_channel: DataFrame, parameter: str) -> float: entries = data_channel[parameter] entries_avg = np.mean(entries) fwhm_ch = 2.355 * np.sqrt(np.mean(np.square(entries - entries_avg))) - return round(fwhm_ch, 2) + + # Determine the number of decimal places based on the magnitude of the value + decimal_places = max(0, int(-np.floor(np.log10(abs(fwhm_ch)))) + 2) + # Format the FWHM value with the appropriate number of decimal places + formatted_fwhm = "{:.{dp}f}".format(fwhm_ch, dp=decimal_places) + # Remove trailing zeros from the formatted value + formatted_fwhm = formatted_fwhm.rstrip("0").rstrip(".") + + return formatted_fwhm def plot_limits(ax: plt.Axes, limits: dict): From 5cf628eec06f3b8dd5eb776e4474a3b1b86b5340 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 15 May 2023 09:28:07 +0000 Subject: [PATCH 028/166] style: pre-commit fixes --- src/legend_data_monitor/plotting.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index ac6257e..4db23da 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -430,9 +430,9 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): ["name", "position", "location", "cc4_channel", "cc4_id"] ] labels["channel"] = labels.index - labels["label"] = labels[ - ["location", "position", "name", "cc4_channel"] - ].apply(lambda x: f"s{x[0]}-p{x[1]}-{x[2]}-cc4 ch.{x[3]}", axis=1) + labels["label"] = labels[["location", "position", "name", "cc4_channel"]].apply( + lambda x: f"s{x[0]}-p{x[1]}-{x[2]}-cc4 ch.{x[3]}", axis=1 + ) # put it in the table data_analysis = data_analysis.set_index("channel") data_analysis["label"] = labels["label"] From ee4d29d1100260e8a971653bad5525ed84716c70 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Mon, 15 May 2023 12:28:28 +0200 Subject: [PATCH 029/166] fixed channel mean for append and 1 param --- src/legend_data_monitor/analysis_data.py | 26 +++++++----------------- src/legend_data_monitor/core.py | 3 ++- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index c5d7a85..bf29b2c 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -400,7 +400,8 @@ def channel_mean(self): with shelve.open(self.plt_path + "-" + subsys, "r") as shelf: old_dict = dict(shelf) # get old dataframe (we are interested only in the column with mean values) - old_df = old_dict["monitoring"][self.evt_type][self.parameters][ + # !! need to update for multiple parameter case! (check of they are saved to understand what to retrieve with the 'append' option) + old_df = old_dict["monitoring"][self.evt_type][self.parameters[0]][ "df_" + subsys ] """ @@ -422,32 +423,19 @@ def channel_mean(self): # ...still we have to re-compute the % variations of previous time windows because now the mean estimate is different!!! """ - # subselect only columns of mean values of param(s) of interest and channel - channel_mean = old_df[ - ["channel"] + [x + "_mean" for x in self.parameters] - ] + # subselect only columns of: 1) channel 2) mean values of param(s) of interest + channel_mean = old_df.filter(items=['channel'] + [x + "_mean" for x in self.parameters]) + # later there will be a line renaming param to param_mean, so now need to rename back to no mean... # this whole section has to be cleaned up channel_mean = channel_mean.rename( columns={param + "_mean": param for param in self.parameters} ) + # drop potential duplicate rows + channel_mean = channel_mean.drop_duplicates(subset=["channel"]) # set channel to index because that's how it comes out in previous cases from df.mean() channel_mean = channel_mean.set_index("channel") - # a column of mean values - # mean_df = old_df[self.parameters[0] + "_mean"] - # mean_df = old_df[[x + "_mean" for x in self.parameters]] - # # a column of channels - # channels = old_df["channel"] - # # two columns: one of channels, one of mean values - # channel_mean = pd.concat( - # [channels, mean_df], ignore_index=True, axis=1 - # ).rename(columns={0: "channel", 1: self.parameters[0]}) - # # drop potential duplicate rows - # channel_mean = channel_mean.drop_duplicates(subset=["channel"]) - # # set 'channel' column as index - # channel_mean = channel_mean.set_index("channel") - # some means are meaningless -> drop the corresponding column if "FWHM" in self.parameters: channel_mean.drop("FWHM", axis=1) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 55cba96..179826e 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -1,5 +1,6 @@ import json import re +import sys from . import plotting, subsystem, utils @@ -164,7 +165,7 @@ def generate_plots(config: dict, plt_path: str): utils.logger.error( "\033[91mThe selected saving option in the config file is wrong. Try again with 'overwrite', 'append' or nothing!\033[0m" ) - exit() + sys.exit() # put it in a dict, so that later, if pulser is also wanted to be plotted, we don't have to load it twice subsystems = {"pulser": subsystem.Subsystem("pulser", dataset=config["dataset"])} From 39fc6eda14d7581b4d8aa23587123bad6d4f4481 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 15 May 2023 10:29:06 +0000 Subject: [PATCH 030/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index bf29b2c..c33ccc9 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -401,7 +401,7 @@ def channel_mean(self): old_dict = dict(shelf) # get old dataframe (we are interested only in the column with mean values) # !! need to update for multiple parameter case! (check of they are saved to understand what to retrieve with the 'append' option) - old_df = old_dict["monitoring"][self.evt_type][self.parameters[0]][ + old_df = old_dict["monitoring"][self.evt_type][self.parameters[0]][ "df_" + subsys ] """ @@ -424,7 +424,9 @@ def channel_mean(self): """ # subselect only columns of: 1) channel 2) mean values of param(s) of interest - channel_mean = old_df.filter(items=['channel'] + [x + "_mean" for x in self.parameters]) + channel_mean = old_df.filter( + items=["channel"] + [x + "_mean" for x in self.parameters] + ) # later there will be a line renaming param to param_mean, so now need to rename back to no mean... # this whole section has to be cleaned up From 4b8388a5f1adc22b8e719898678c83d95f96526b Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Mon, 15 May 2023 14:17:46 +0200 Subject: [PATCH 031/166] added MUON01 channel --- src/legend_data_monitor/plotting.py | 15 ++++++++------- src/legend_data_monitor/subsystem.py | 24 ++++++++++++++++++------ 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 4db23da..28f745f 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -157,6 +157,7 @@ def make_subsystem_plots( "pulser": "puls", "pulser_aux": "puls", "FC_bsln": "bsln", + "muon": "muon", }[subsystem.type], } @@ -213,7 +214,7 @@ def make_subsystem_plots( # threshold values are needed for status map; might be needed for plotting limits on canvas too # only needed for single param plots (for now) - if subsystem.type not in ["pulser", "pulser_aux", "FC_bsln"]: + if subsystem.type not in ["pulser", "pulser_aux", "FC_bsln", "muon"]: keyword = "variation" if plot_settings["variation"] else "absolute" plot_info["limits"] = utils.PLOT_INFO[params[0]]["limits"][ subsystem.type @@ -255,7 +256,7 @@ def make_subsystem_plots( # ------------------------------------------------------------------------- if "status" in plot_settings and plot_settings["status"]: - if subsystem.type in ["pulser", "pulser_aux", "FC_bsln"]: + if subsystem.type in ["pulser", "pulser_aux", "FC_bsln", "muon"]: utils.logger.debug( f"Thresholds are not enabled for {subsystem.type}! Use you own eyes to do checks there" ) @@ -352,8 +353,8 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): df_text["name"] + "\n" + f"channel {df_text['channel']}\n" - + f"position {df_text['position']}" ) + text += f"position {df_text['position']}" if plot_info["subsystem"] not in ["pulser", "pulser_aux", "FC_bsln", "muon"] else "" if len(plot_info["parameters"]) == 1: # in case of 1 parameter, "param mean" entry is a single string param_mean # in case of > 1, it's a list of parameters -> ignore for now and plot mean only for 1 param case @@ -387,7 +388,7 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): ax_idx += 1 # ------------------------------------------------------------------------------- - if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln"]: + if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln", "muon"]: y_title = 1.05 axes[0].set_title("") else: @@ -401,7 +402,7 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): - if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln"]: + if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln", "muon"]: utils.logger.error( "\033[91mPlotting per CC4 is not available for %s channel.\nTry again with a different plot structure!\033[0m", plot_info["subsystem"], @@ -480,7 +481,7 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # ------------------------------------------------------------------------------- y_title = ( - 1.05 if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln"] else 1.01 + 1.05 if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln", "muon"] else 1.01 ) fig.suptitle(f"{plot_info['subsystem']} - {plot_info['title']}", y=y_title) save_pdf(plt, pdf) @@ -567,7 +568,7 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # ------------------------------------------------------------------------------- y_title = ( - 1.05 if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln"] else 1.01 + 1.05 if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln", "muon"] else 1.01 ) fig.suptitle(f"{plot_info['subsystem']} - {plot_info['title']}", y=y_title) diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index fc95be9..ebc60a4 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -17,7 +17,7 @@ class Subsystem: """ Object containing information for a given subsystem such as channel map, channels status etc. - sub_type [str]: geds | spms | pulser | pulser_aux | FC_bsln + sub_type [str]: geds | spms | pulser | pulser_aux | FC_bsln | muon Options for kwargs @@ -384,6 +384,18 @@ def is_subsystem(entry): entry["system"] == "bsln" and entry["daq"][ch_flag] == 1027200 ) + # special case for muon channel + if self.type == "muon": + if self.experiment == "L60": + return entry["system"] == "auxs" and entry["daq"]["fcid"] == 1 + if self.experiment == "L200": + if self.below_period_3_excluded(): + return entry["system"] == "auxs" and entry["daq"][ch_flag] == 2 + if self.above_period_3_included(): + return ( + entry["system"] == "auxs" + and entry["daq"][ch_flag] == 1027202 + ) # for geds or spms return entry["system"] == self.type @@ -394,7 +406,7 @@ def is_subsystem(entry): type_code = {"B": "bege", "C": "coax", "V": "icpc", "P": "ppc"} # systems for which the location/position has to be handled carefully; values were chosen arbitrarily to avoid conflicts - special_systems = {"pulser": 0, "pulser_aux": -1, "FC_bsln": -2} + special_systems = {"pulser": 0, "pulser_aux": -1, "FC_bsln": -2, "muon": -3} # ------------------------------------------------------------------------- # loop over entries and find out subsystem @@ -412,17 +424,17 @@ def is_subsystem(entry): if not is_subsystem(entry_info): continue - # --- add info for this channel - Raw/FlashCam ID, unique for geds/spms/pulser/pulser_aux/FC_bsln + # --- add info for this channel - Raw/FlashCam ID, unique for geds/spms/pulser/pulser_aux/FC_bsln/muon ch = entry_info["daq"][ch_flag] df_map.at[ch, "name"] = entry_info["name"] - # number/name of string/fiber for geds/spms, dummy for pulser/pulser_aux/FC_bsln + # number/name of string/fiber for geds/spms, dummy for pulser/pulser_aux/FC_bsln/muon df_map.at[ch, "location"] = ( special_systems[self.type] if self.type in special_systems else entry_info["location"][loc_code[self.type]] ) - # position in string/fiber for geds/spms, dummy for pulser/pulser_aux/FC_bsln + # position in string/fiber for geds/spms, dummy for pulser/pulser_aux/FC_bsln/muon df_map.at[ch, "position"] = ( special_systems[self.type] if self.type in special_systems @@ -497,7 +509,7 @@ def get_channel_status(self): timestamp=self.first_timestamp, system=self.datatype )["analysis"] - # AUX channels are not in status map, so at least for pulser/pulser_aux/FC_bsln need default on + # AUX channels are not in status map, so at least for pulser/pulser_aux/FC_bsln/muon need default on self.channel_map["status"] = "on" self.channel_map = self.channel_map.set_index("name") # 'channel_name', for instance, has the format 'DNNXXXS' (= "name" column) From 913c73aaf0587e8e1a87f8a3d8a08a38ac0ce3bc Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 15 May 2023 12:18:22 +0000 Subject: [PATCH 032/166] style: pre-commit fixes --- src/legend_data_monitor/plotting.py | 19 ++++++++++++------- src/legend_data_monitor/subsystem.py | 2 +- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 28f745f..0e402b4 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -349,12 +349,13 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # --- add summary to axis - only for single channel plots # name, position and mean are unique for each channel - take first value df_text = data_channel.iloc[0][["channel", "position", "name"]] - text = ( - df_text["name"] - + "\n" - + f"channel {df_text['channel']}\n" + text = df_text["name"] + "\n" + f"channel {df_text['channel']}\n" + text += ( + f"position {df_text['position']}" + if plot_info["subsystem"] + not in ["pulser", "pulser_aux", "FC_bsln", "muon"] + else "" ) - text += f"position {df_text['position']}" if plot_info["subsystem"] not in ["pulser", "pulser_aux", "FC_bsln", "muon"] else "" if len(plot_info["parameters"]) == 1: # in case of 1 parameter, "param mean" entry is a single string param_mean # in case of > 1, it's a list of parameters -> ignore for now and plot mean only for 1 param case @@ -481,7 +482,9 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # ------------------------------------------------------------------------------- y_title = ( - 1.05 if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln", "muon"] else 1.01 + 1.05 + if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln", "muon"] + else 1.01 ) fig.suptitle(f"{plot_info['subsystem']} - {plot_info['title']}", y=y_title) save_pdf(plt, pdf) @@ -568,7 +571,9 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # ------------------------------------------------------------------------------- y_title = ( - 1.05 if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln", "muon"] else 1.01 + 1.05 + if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln", "muon"] + else 1.01 ) fig.suptitle(f"{plot_info['subsystem']} - {plot_info['title']}", y=y_title) diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index ebc60a4..5463e6e 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -384,7 +384,7 @@ def is_subsystem(entry): entry["system"] == "bsln" and entry["daq"][ch_flag] == 1027200 ) - # special case for muon channel + # special case for muon channel if self.type == "muon": if self.experiment == "L60": return entry["system"] == "auxs" and entry["daq"]["fcid"] == 1 From 61293fa0bfa6656490840f18b54edacbedcf926f Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Mon, 15 May 2023 15:45:26 +0200 Subject: [PATCH 033/166] added selection of FC bsln/muon events --- src/legend_data_monitor/analysis_data.py | 34 +++++++--- src/legend_data_monitor/core.py | 32 +++++++++- src/legend_data_monitor/plot_styles.py | 2 +- src/legend_data_monitor/plotting.py | 19 ++++-- src/legend_data_monitor/subsystem.py | 81 +++++++++++++++++++++++- 5 files changed, 149 insertions(+), 19 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index c33ccc9..6f8fcb5 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -59,15 +59,23 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): if isinstance(analysis_info[input], str): analysis_info[input] = [analysis_info[input]] - if analysis_info["event_type"] != "all" and "flag_pulser" not in sub_data: - utils.logger.error( - f"\033[91mYour subsystem data does not have a pulser flag! We need it to subselect event type {analysis_info['event_type']}\033[0m" - ) - utils.logger.error( - "\033[91mRun the function .flag_pulser_events() first, where is your Subsystem object, \033[0m" - + "\033[91mand is a Subsystem object of type 'pulser', which already has it data loaded with .get_data(); then create AnalysisData object.\033[0m" - ) - return + event_type_flags = { + "pulser": ("flag_pulser", "pulser"), + "FC_bsln": ("flag_FC_bsln", "FC_bsln"), + "muon": ("flag_muon", "muon") + } + + event_type = analysis_info["event_type"] + + if event_type in event_type_flags: + flag, subsystem_name = event_type_flags[event_type] + if flag not in sub_data: + utils.logger.error( + f"\033[91mYour subsystem data does not have a {subsystem_name} flag! We need it to subselect event type {event_type}\033[0m" + + f"\033[91mRun the function .flag_{subsystem_name}_events(<{subsystem_name}>) first, where is your Subsystem object, \033[0m" + + f"\033[91mand <{subsystem_name}> is a Subsystem object of type '{subsystem_name}', which already has its data loaded with <{subsystem_name}>.get_data(); then create an AnalysisData object.\033[0m" + ) + return # cannot do event rate and another parameter at the same time # since event rate is calculated in windows @@ -110,7 +118,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): for col in sub_data.columns: # pulser flag is present only if subsystem.flag_pulser_events() was called -> needed to subselect phy/pulser events - if "flag_pulser" in col: + if "flag_pulser" in col or "flag_FC_bsln" in col or "flag_muon" in col: params_to_get.append(col) # QC flag is present only if inserted as a cut in the config file -> this part is needed to apply if "is_" in col: @@ -178,6 +186,12 @@ def select_events(self): if self.evt_type == "pulser": utils.logger.info("... keeping only pulser events") self.data = self.data[self.data["flag_pulser"]] + elif self.evt_type == "FC_bsln": + utils.logger.info("... keeping only FC baseline events") + self.data = self.data[self.data["flag_FC_bsln"]] + elif self.evt_type == "muon": + utils.logger.info("... keeping only muon events") + self.data = self.data[self.data["flag_muon"]] elif self.evt_type == "phy": utils.logger.info("... keeping only physical (non-pulser) events") self.data = self.data[~self.data["flag_pulser"]] diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 179826e..2528396 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -167,6 +167,10 @@ def generate_plots(config: dict, plt_path: str): ) sys.exit() + + # ------------------------------------------------------------------------- + # flag events - PULSER + # ------------------------------------------------------------------------- # put it in a dict, so that later, if pulser is also wanted to be plotted, we don't have to load it twice subsystems = {"pulser": subsystem.Subsystem("pulser", dataset=config["dataset"])} # get list of all parameters needed for all requested plots, if any @@ -177,10 +181,27 @@ def generate_plots(config: dict, plt_path: str): utils.logger.debug(subsystems["pulser"].data) # ------------------------------------------------------------------------- + # flag events - FC baseline + # ------------------------------------------------------------------------- + subsystems["FC_bsln"] = subsystem.Subsystem("FC_bsln", dataset=config["dataset"]) + parameters = utils.get_all_plot_parameters("FC_bsln", config) + subsystems["FC_bsln"].get_data(parameters) + utils.logger.debug(subsystems["FC_bsln"].data) + + # ------------------------------------------------------------------------- + # flag events - muon + # ------------------------------------------------------------------------- + subsystems["muon"] = subsystem.Subsystem("muon", dataset=config["dataset"]) + parameters = utils.get_all_plot_parameters("muon", config) + subsystems["muon"].get_data(parameters) + utils.logger.debug(subsystems["muon"].data) + + # ------------------------------------------------------------------------- # What subsystems do we want to plot? subsystems_to_plot = list(config["subsystems"].keys()) + for system in subsystems_to_plot: # ------------------------------------------------------------------------- # set up subsystem @@ -195,9 +216,18 @@ def generate_plots(config: dict, plt_path: str): # get data for these parameters and dataset range subsystems[system].get_data(parameters) utils.logger.debug(subsystems[system].data) + + # ------------------------------------------------------------------------- + # flag events + # ------------------------------------------------------------------------- # flag pulser events for future parameter data selection subsystems[system].flag_pulser_events(subsystems["pulser"]) - # remove timestamps for given detectors (moved here cause otherwise pulser timestamps for flagging don't match) + # flag FC baseline events + subsystems[system].flag_FCbsln_events(subsystems["FC_bsln"]) + # flag muon events + subsystems[system].flag_muon_events(subsystems["muon"]) + + # remove timestamps for given detectors (moved here cause otherwise timestamps for flagging don't match) subsystems[system].remove_timestamps(utils.REMOVE_KEYS) utils.logger.debug(subsystems[system].data) diff --git a/src/legend_data_monitor/plot_styles.py b/src/legend_data_monitor/plot_styles.py index 2508899..1989456 100644 --- a/src/legend_data_monitor/plot_styles.py +++ b/src/legend_data_monitor/plot_styles.py @@ -233,7 +233,7 @@ def plot_histo( if plot_info["unit_label"] == "%" else f"{plot_info['label']} [{plot_info['unit_label']}]" ) - fig.supylabel(x_label) + fig.supxlabel(x_label) def plot_scatter( diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 28f745f..74b683f 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -361,11 +361,12 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): par_mean = data_channel.iloc[0][ plot_info["param_mean"] ] # single number - fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) + if plot_info['parameter'] != "event_rate": + fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) + text += "\nFWHM {fwhm_ch}" text += ( "\n" - + f"FWHM {fwhm_ch}\n" + ( f"mean {round(par_mean,3)} [{plot_info['unit']}]" if par_mean is not None @@ -462,8 +463,11 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): labels.append(label) if len(plot_info["parameters"]) == 1: - fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) - labels[-1] = label + f" - FWHM: {fwhm_ch}" + if plot_info['parameter'] != "event_rate": + fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) + labels[-1] = label + f" - FWHM: {fwhm_ch}" + else: + labels[-1] = label col_idx += 1 # add grid @@ -548,8 +552,11 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): plot_style(data_channel, fig, axes[ax_idx], plot_info, COLORS[col_idx]) labels.append(label) if len(plot_info["parameters"]) == 1: - fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) - labels[-1] = labels[-1] + f" - FWHM: {fwhm_ch}" + if plot_info['parameter'] != "event_rate": + fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) + labels[-1] = label + f" - FWHM: {fwhm_ch}" + else: + labels[-1] = label col_idx += 1 # add grid diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index ebc60a4..209641b 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -272,8 +272,13 @@ def get_data(self, parameters: typing.Union[str, list_of_str, tuple_of_str] = () if self.type == "pulser": self.flag_pulser_events() + if self.type == "FC_bsln": + self.flag_FCbsln_events() + if self.type == "muon": + self.flag_muon_events() def flag_pulser_events(self, pulser=None): + """Flag pulser events. If a pulser object was provided, flag pulser events in data based on its flag.""" utils.logger.info("... flagging pulser events") # --- if a pulser object was provided, flag pulser events in data based on its flag @@ -308,6 +313,80 @@ def flag_pulser_events(self, pulser=None): self.data = self.data.reset_index() + + def flag_FCbsln_events(self, FC_bsln=None): + """Flag FC baseline events. If a FC baseline object was provided, flag FC baseline events in data based on its flag.""" + utils.logger.info("... flagging FC baseline events") + + # --- if a FC baseline object was provided, flag FC baseline events in data based on its flag + if FC_bsln: + try: + FC_bsln_timestamps = FC_bsln.data[FC_bsln.data["flag_FC_bsln"]][ + "datetime" + ] # .set_index('datetime').index + self.data["flag_FC_bsln"] = False + self.data = self.data.set_index("datetime") + self.data.loc[FC_bsln_timestamps, "flag_FC_bsln"] = True + except KeyError: + utils.logger.warning( + "\033[93mWarning: cannot flag FC baseline events, timestamps don't match!\n \ + If you are you looking at calibration data, it's not possible to flag FC baseline events in it this way.\n \ + Contact the developers if you would like them to focus on advanced flagging methods.\033[0m" + ) + utils.logger.warning( + "\033[93m! Proceeding without FC baseline flag !\033[0m" + ) + + else: + # --- if no object was provided, it's understood that this itself is a FC baseline + # find timestamps over threshold + high_thr = 3000 + self.data = self.data.set_index("datetime") + wf_max_rel = self.data["wf_max"] - self.data["baseline"] + FC_bsln_timestamps = self.data[wf_max_rel > high_thr].index + # flag them + self.data["flag_FC_bsln"] = False + self.data.loc[FC_bsln_timestamps, "flag_FC_bsln"] = True + + self.data = self.data.reset_index() + + + def flag_muon_events(self, muon=None): + """Flag muon events. If a muon object was provided, flag muon events in data based on its flag.""" + utils.logger.info("... flagging muon events") + + # --- if a muon object was provided, flag muon events in data based on its flag + if muon: + try: + muon_timestamps = muon.data[muon.data["flag_muon"]][ + "datetime" + ] # .set_index('datetime').index + self.data["flag_muon"] = False + self.data = self.data.set_index("datetime") + self.data.loc[muon_timestamps, "flag_muon"] = True + except KeyError: + utils.logger.warning( + "\033[93mWarning: cannot flag muon events, timestamps don't match!\n \ + If you are you looking at calibration data, it's not possible to flag muon events in it this way.\n \ + Contact the developers if you would like them to focus on advanced flagging methods.\033[0m" + ) + utils.logger.warning( + "\033[93m! Proceeding without muon flag !\033[0m" + ) + + else: + # --- if no object was provided, it's understood that this itself is a muon + # find timestamps over threshold + high_thr = 500 + self.data = self.data.set_index("datetime") + wf_max_rel = self.data["wf_max"] - self.data["baseline"] + muon_timestamps = self.data[wf_max_rel > high_thr].index + # flag them + self.data["flag_muon"] = False + self.data.loc[muon_timestamps, "flag_muon"] = True + + self.data = self.data.reset_index() + def get_channel_map(self): """ Build channel map for given subsystem with info like name, position, cc4, HV, DAQ, detector type, ... for each channel. @@ -540,7 +619,7 @@ def get_parameters_for_dataloader(self, parameters: typing.Union[str, list_of_st # --- always read timestamp params = ["timestamp"] # --- always get wf_max & baseline for pulser for flagging - if self.type == "pulser": + if self.type in ["pulser", "FC_bsln", "muon"]: params += ["wf_max", "baseline"] # --- add user requested parameters From 033b2c61aa66e6cc7b4c8f77ddd9f867e7fc2bd5 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 15 May 2023 13:46:43 +0000 Subject: [PATCH 034/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 2 +- src/legend_data_monitor/core.py | 7 ++--- src/legend_data_monitor/plotting.py | 35 +++++++++++++----------- src/legend_data_monitor/subsystem.py | 6 +--- 4 files changed, 23 insertions(+), 27 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 6f8fcb5..4f6f7c8 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -62,7 +62,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): event_type_flags = { "pulser": ("flag_pulser", "pulser"), "FC_bsln": ("flag_FC_bsln", "FC_bsln"), - "muon": ("flag_muon", "muon") + "muon": ("flag_muon", "muon"), } event_type = analysis_info["event_type"] diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 2528396..43b5563 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -167,7 +167,6 @@ def generate_plots(config: dict, plt_path: str): ) sys.exit() - # ------------------------------------------------------------------------- # flag events - PULSER # ------------------------------------------------------------------------- @@ -196,12 +195,10 @@ def generate_plots(config: dict, plt_path: str): subsystems["muon"].get_data(parameters) utils.logger.debug(subsystems["muon"].data) - # ------------------------------------------------------------------------- # What subsystems do we want to plot? subsystems_to_plot = list(config["subsystems"].keys()) - for system in subsystems_to_plot: # ------------------------------------------------------------------------- # set up subsystem @@ -222,9 +219,9 @@ def generate_plots(config: dict, plt_path: str): # ------------------------------------------------------------------------- # flag pulser events for future parameter data selection subsystems[system].flag_pulser_events(subsystems["pulser"]) - # flag FC baseline events + # flag FC baseline events subsystems[system].flag_FCbsln_events(subsystems["FC_bsln"]) - # flag muon events + # flag muon events subsystems[system].flag_muon_events(subsystems["muon"]) # remove timestamps for given detectors (moved here cause otherwise timestamps for flagging don't match) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 6445790..14bc5f7 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -362,18 +362,17 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): par_mean = data_channel.iloc[0][ plot_info["param_mean"] ] # single number - if plot_info['parameter'] != "event_rate": - fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) + if plot_info["parameter"] != "event_rate": + fwhm_ch = get_fwhm_for_fixed_ch( + data_channel, plot_info["parameter"] + ) text += "\nFWHM {fwhm_ch}" - text += ( - "\n" - + ( - f"mean {round(par_mean,3)} [{plot_info['unit']}]" - if par_mean is not None - else "" - ) # handle with care mean='None' situations - ) + text += "\n" + ( + f"mean {round(par_mean,3)} [{plot_info['unit']}]" + if par_mean is not None + else "" + ) # handle with care mean='None' situations axes[ax_idx].text(1.01, 0.5, text, transform=axes[ax_idx].transAxes) # add grid @@ -464,9 +463,11 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): labels.append(label) if len(plot_info["parameters"]) == 1: - if plot_info['parameter'] != "event_rate": - fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) - labels[-1] = label + f" - FWHM: {fwhm_ch}" + if plot_info["parameter"] != "event_rate": + fwhm_ch = get_fwhm_for_fixed_ch( + data_channel, plot_info["parameter"] + ) + labels[-1] = label + f" - FWHM: {fwhm_ch}" else: labels[-1] = label col_idx += 1 @@ -555,9 +556,11 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): plot_style(data_channel, fig, axes[ax_idx], plot_info, COLORS[col_idx]) labels.append(label) if len(plot_info["parameters"]) == 1: - if plot_info['parameter'] != "event_rate": - fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) - labels[-1] = label + f" - FWHM: {fwhm_ch}" + if plot_info["parameter"] != "event_rate": + fwhm_ch = get_fwhm_for_fixed_ch( + data_channel, plot_info["parameter"] + ) + labels[-1] = label + f" - FWHM: {fwhm_ch}" else: labels[-1] = label col_idx += 1 diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 572bf58..c1365e5 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -313,7 +313,6 @@ def flag_pulser_events(self, pulser=None): self.data = self.data.reset_index() - def flag_FCbsln_events(self, FC_bsln=None): """Flag FC baseline events. If a FC baseline object was provided, flag FC baseline events in data based on its flag.""" utils.logger.info("... flagging FC baseline events") @@ -350,7 +349,6 @@ def flag_FCbsln_events(self, FC_bsln=None): self.data = self.data.reset_index() - def flag_muon_events(self, muon=None): """Flag muon events. If a muon object was provided, flag muon events in data based on its flag.""" utils.logger.info("... flagging muon events") @@ -370,9 +368,7 @@ def flag_muon_events(self, muon=None): If you are you looking at calibration data, it's not possible to flag muon events in it this way.\n \ Contact the developers if you would like them to focus on advanced flagging methods.\033[0m" ) - utils.logger.warning( - "\033[93m! Proceeding without muon flag !\033[0m" - ) + utils.logger.warning("\033[93m! Proceeding without muon flag !\033[0m") else: # --- if no object was provided, it's understood that this itself is a muon From 4d0c74ee4fe9e4b24fed263e9558e58b48198103 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Mon, 15 May 2023 16:05:36 +0200 Subject: [PATCH 035/166] small fixes --- src/legend_data_monitor/analysis_data.py | 6 +++--- src/legend_data_monitor/core.py | 3 +-- src/legend_data_monitor/plotting.py | 2 +- src/legend_data_monitor/subsystem.py | 18 +++++++++--------- 4 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 6f8fcb5..5a94273 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -61,7 +61,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): event_type_flags = { "pulser": ("flag_pulser", "pulser"), - "FC_bsln": ("flag_FC_bsln", "FC_bsln"), + "FC_bsln": ("flag_fc_bsln", "FC_bsln"), "muon": ("flag_muon", "muon") } @@ -118,7 +118,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): for col in sub_data.columns: # pulser flag is present only if subsystem.flag_pulser_events() was called -> needed to subselect phy/pulser events - if "flag_pulser" in col or "flag_FC_bsln" in col or "flag_muon" in col: + if "flag_pulser" in col or "flag_fc_bsln" in col or "flag_muon" in col: params_to_get.append(col) # QC flag is present only if inserted as a cut in the config file -> this part is needed to apply if "is_" in col: @@ -188,7 +188,7 @@ def select_events(self): self.data = self.data[self.data["flag_pulser"]] elif self.evt_type == "FC_bsln": utils.logger.info("... keeping only FC baseline events") - self.data = self.data[self.data["flag_FC_bsln"]] + self.data = self.data[self.data["flag_fc_bsln"]] elif self.evt_type == "muon": utils.logger.info("... keeping only muon events") self.data = self.data[self.data["flag_muon"]] diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 2528396..07d0928 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -196,7 +196,6 @@ def generate_plots(config: dict, plt_path: str): subsystems["muon"].get_data(parameters) utils.logger.debug(subsystems["muon"].data) - # ------------------------------------------------------------------------- # What subsystems do we want to plot? subsystems_to_plot = list(config["subsystems"].keys()) @@ -223,7 +222,7 @@ def generate_plots(config: dict, plt_path: str): # flag pulser events for future parameter data selection subsystems[system].flag_pulser_events(subsystems["pulser"]) # flag FC baseline events - subsystems[system].flag_FCbsln_events(subsystems["FC_bsln"]) + subsystems[system].flag_fcbsln_events(subsystems["FC_bsln"]) # flag muon events subsystems[system].flag_muon_events(subsystems["muon"]) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 6445790..58e642b 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -364,7 +364,7 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): ] # single number if plot_info['parameter'] != "event_rate": fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) - text += "\nFWHM {fwhm_ch}" + text += f"\nFWHM {fwhm_ch}" text += ( "\n" diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 572bf58..a236996 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -273,7 +273,7 @@ def get_data(self, parameters: typing.Union[str, list_of_str, tuple_of_str] = () if self.type == "pulser": self.flag_pulser_events() if self.type == "FC_bsln": - self.flag_FCbsln_events() + self.flag_fcbsln_events() if self.type == "muon": self.flag_muon_events() @@ -314,19 +314,19 @@ def flag_pulser_events(self, pulser=None): self.data = self.data.reset_index() - def flag_FCbsln_events(self, FC_bsln=None): + def flag_fcbsln_events(self, fc_bsln=None): """Flag FC baseline events. If a FC baseline object was provided, flag FC baseline events in data based on its flag.""" utils.logger.info("... flagging FC baseline events") # --- if a FC baseline object was provided, flag FC baseline events in data based on its flag - if FC_bsln: + if fc_bsln: try: - FC_bsln_timestamps = FC_bsln.data[FC_bsln.data["flag_FC_bsln"]][ + fc_bsln_timestamps = fc_bsln.data[fc_bsln.data["flag_fc_bsln"]][ "datetime" ] # .set_index('datetime').index - self.data["flag_FC_bsln"] = False + self.data["flag_fc_bsln"] = False self.data = self.data.set_index("datetime") - self.data.loc[FC_bsln_timestamps, "flag_FC_bsln"] = True + self.data.loc[fc_bsln_timestamps, "flag_fc_bsln"] = True except KeyError: utils.logger.warning( "\033[93mWarning: cannot flag FC baseline events, timestamps don't match!\n \ @@ -343,10 +343,10 @@ def flag_FCbsln_events(self, FC_bsln=None): high_thr = 3000 self.data = self.data.set_index("datetime") wf_max_rel = self.data["wf_max"] - self.data["baseline"] - FC_bsln_timestamps = self.data[wf_max_rel > high_thr].index + fc_bsln_timestamps = self.data[wf_max_rel > high_thr].index # flag them - self.data["flag_FC_bsln"] = False - self.data.loc[FC_bsln_timestamps, "flag_FC_bsln"] = True + self.data["flag_fc_bsln"] = False + self.data.loc[fc_bsln_timestamps, "flag_fc_bsln"] = True self.data = self.data.reset_index() From ad3729acb4699dc1059f65f8959344933e52e521 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 15 May 2023 14:07:36 +0000 Subject: [PATCH 036/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 2 +- src/legend_data_monitor/core.py | 4 ++-- src/legend_data_monitor/plotting.py | 6 ++++-- src/legend_data_monitor/subsystem.py | 1 - 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 5a94273..f4eff99 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -62,7 +62,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): event_type_flags = { "pulser": ("flag_pulser", "pulser"), "FC_bsln": ("flag_fc_bsln", "FC_bsln"), - "muon": ("flag_muon", "muon") + "muon": ("flag_muon", "muon"), } event_type = analysis_info["event_type"] diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 9ff1425..d3e35aa 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -219,9 +219,9 @@ def generate_plots(config: dict, plt_path: str): # ------------------------------------------------------------------------- # flag pulser events for future parameter data selection subsystems[system].flag_pulser_events(subsystems["pulser"]) - # flag FC baseline events + # flag FC baseline events subsystems[system].flag_fcbsln_events(subsystems["FC_bsln"]) - # flag muon events + # flag muon events subsystems[system].flag_muon_events(subsystems["muon"]) # remove timestamps for given detectors (moved here cause otherwise timestamps for flagging don't match) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 90e92d5..45c9060 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -362,8 +362,10 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): par_mean = data_channel.iloc[0][ plot_info["param_mean"] ] # single number - if plot_info['parameter'] != "event_rate": - fwhm_ch = get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) + if plot_info["parameter"] != "event_rate": + fwhm_ch = get_fwhm_for_fixed_ch( + data_channel, plot_info["parameter"] + ) text += f"\nFWHM {fwhm_ch}" text += "\n" + ( diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index f4c0b67..79d7b3e 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -313,7 +313,6 @@ def flag_pulser_events(self, pulser=None): self.data = self.data.reset_index() - def flag_fcbsln_events(self, fc_bsln=None): """Flag FC baseline events. If a FC baseline object was provided, flag FC baseline events in data based on its flag.""" utils.logger.info("... flagging FC baseline events") From e0d9f921fcbc2040ad68b2f7b197848c87f97332 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Mon, 15 May 2023 18:50:43 +0200 Subject: [PATCH 037/166] new module for retrieving SC params --- src/legend_data_monitor/plot_sc.py | 131 +++++++++++++++++++++++++++++ src/legend_data_monitor/utils.py | 4 + 2 files changed, 135 insertions(+) create mode 100644 src/legend_data_monitor/plot_sc.py diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py new file mode 100644 index 0000000..09c8357 --- /dev/null +++ b/src/legend_data_monitor/plot_sc.py @@ -0,0 +1,131 @@ +import matplotlib.pyplot as plt +import sys +import numpy as np +import pandas as pd +import seaborn as sns +from datetime import datetime, timezone +from matplotlib.backends.backend_pdf import PdfPages +from pandas import DataFrame, Timedelta, concat + +from legendmeta import LegendSlowControlDB +scdb = LegendSlowControlDB() +scdb.connect(password="...") # ???????????????????? + +from . import utils + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# SLOW CONTROL LOADING/PLOTTING FUNCTIONS +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Necessary to perform the SSH tunnel to the databse +def get_sc_df(param="PT118"): + """ + def ssh_tunnel(): + import subprocess + #ssh_tunnel_cmd = 'ssh -t ugnet-proxy' + #full_ssh_cmd = ssh_tunnel_cmd + #subprocess.run(full_ssh_cmd, shell=True) + #subprocess.Popen(["ssh", "-t", "ugnet-proxy"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + """ + + # load info from settings/SC-params.json + sc_params = utils.SC_PARAMETERS + + # check if parameter is within the one listed in settings/SC-params.json + if param not in sc_params['SC_DB_params'].keys(): + utils.logger.error(f"\033[91mThe parameter {param} is not present in 'settings/SC-params.json'. Try again with another parameter or update the json file!\033[0m") + sys.exit() + + # get data + df_param = load_table_and_apply_flags(param, sc_params) + unit, lower_lim, upper_lim = get_plotting_info(param, sc_params) + + + exit() + + +def load_table_and_apply_flags(param: str, sc_params: dict) -> DataFrame: + """Load the corresponding table from SC database for the process of interest and apply already the flags for the parameter under study.""" + # getting the process and flags of interest from 'settings/SC-params.json' for the provided parameter + table_param = sc_params['SC_DB_params'][param]['table'] + flags_param = sc_params['SC_DB_params'][param]['flags'] + + # check if the selected table is present in the SC database. If not, arise an error and exit + if table_param not in scdb.get_tables(): + utils.logger.error("\033[91mThis is not present in the SC database! Try again.\033[0m") + sys.exit() + + # Assuming T1 and T2 are datetime objects or strings in the format 'YYYY-MM-DD HH:MM:SS' (we'll apply a time query to shorten the df loading time) + T1 = '2023-01-09 00:00:00' + T2 = '2023-01-09 06:00:00' + + # get the dataframe for the process of interest + utils.logger.debug(f"... getting the dataframe for '{table_param}' in the time range of interest") + # SQL query to filter the dataframe based on the time range + query = f"SELECT * FROM {table_param} WHERE tstamp >= '{T1}' AND tstamp <= '{T2}'" + get_table_df = scdb.dataframe(query) + # order by timestamp (not automatically done) + get_table_df = get_table_df.sort_values(by="tstamp") + + utils.logger.debug(get_table_df) + + # let's apply the flags for keeping only the parameter of interest + utils.logger.debug(f"... applying flags to get the parameter '{param}'") + get_table_df = apply_flags(get_table_df, sc_params, flags_param) + utils.logger.debug("... after flagging the events:", get_table_df) + + return get_table_df + + + +def get_plotting_info(param: str, sc_params: dict): # -> str, float, float: + """Return units and low/high limits of a given parameter.""" + table_param = sc_params['SC_DB_params'][param]['table'] + flags_param = sc_params['SC_DB_params'][param]['flags'] + + # get info dataframe of the corresponding process under study (do I need to specify the param????) + get_table_info = scdb.dataframe(table_param.replace("snap", "info")) + + # let's apply the flags for keeping only the parameter of interest + get_table_info = apply_flags(get_table_info, sc_params, flags_param) + utils.logger.debug("... units and thresholds will be retrieved from the following object: %s", get_table_info) + + # To get units and limits, consider they might change over time + # This means we have to query the dataframe get the correct values based on the inspected time interval + T1 = '2023-04-01 00:00:00' + T2 = '2023-04-01 15:00:00' + + # Convert T1 and T2 to datetime objects in the UTC timezone + T1 = datetime.strptime(T1, '%Y-%m-%d %H:%M:%S').replace(tzinfo=timezone.utc) + T2 = datetime.strptime(T2, '%Y-%m-%d %H:%M:%S').replace(tzinfo=timezone.utc) + + # Filter the DataFrame based on the time interval, starting to look from the latest entry ('reversed(...)') + times = list(get_table_info['tstamp'].unique()) + for time in reversed(times): + if T1 < time < T2: + unit = list(get_table_info['unit'].unique())[0] + lower_lim = upper_lim = None + utils.logger.warning(f"\033[93mParameter {param} has no valid range in the time period you selected. Upper and lower thresholds are set to None, while units={unit}\033[0m") + return unit, lower_lim, upper_lim + + if time < T1 and time < T2: + unit = list(get_table_info[get_table_info['tstamp'] == time]['unit'].unique())[0] + lower_lim = get_table_info[get_table_info['tstamp'] == time]['ltol'].tolist()[-1] + upper_lim = get_table_info[get_table_info['tstamp'] == time]['utol'].tolist()[-1] + utils.logger.debug(f"... parameter {param} must be within [{lower_lim};{upper_lim}] {unit}") + return unit, lower_lim, upper_lim + + if time > T1 and time > T2: + utils.logger.error("\033[91mYou're travelling too far in the past, there were no SC data in the time period you selected. Try again!\033[0m") + sys.exit() + + return unit, lower_lim, upper_lim + + +def apply_flags(df: DataFrame, sc_params: dict, flags_param: list) -> DataFrame: + """Apply the flags read from 'settings/SC-params.json' to the input dataframe.""" + for flag in flags_param: + column = sc_params['expressions'][flag]['column'] + entry = sc_params['expressions'][flag]['entry'] + df = df[df[column] == entry] + + return df \ No newline at end of file diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index cc2a0b6..fd00b12 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -49,6 +49,10 @@ if isinstance(SPECIAL_PARAMETERS[param], str): SPECIAL_PARAMETERS[param] = [SPECIAL_PARAMETERS[param]] +# load SC params and corresponding flags to get specific parameters from big dfs that are stored in the database +with open(pkg / "settings" / "SC-params.json") as f: + SC_PARAMETERS = json.load(f) + # load list of columns to load for a dataframe COLUMNS_TO_LOAD = [ "name", From bae4a2f31812a03fd9f34fd57acc8712c6d1e7e7 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 16 May 2023 07:58:03 +0200 Subject: [PATCH 038/166] added time interval from config[dataset] for SC querying --- src/legend_data_monitor/plot_sc.py | 61 +++++++++++++---------- src/legend_data_monitor/subsystem.py | 2 +- src/legend_data_monitor/utils.py | 73 +++++++++++++++++++++++----- 3 files changed, 95 insertions(+), 41 deletions(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index 09c8357..a63020f 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -3,6 +3,7 @@ import numpy as np import pandas as pd import seaborn as sns +from typing import Tuple from datetime import datetime, timezone from matplotlib.backends.backend_pdf import PdfPages from pandas import DataFrame, Timedelta, concat @@ -13,12 +14,25 @@ from . import utils +# instead of dataset, retrieve 'config["dataset"]' from config json +dataset = { + "experiment": "L200", + "period": "p03", + "version": "", + "path": "/data2/public/prodenv/prod-blind/tmp/auto", + "type": "phy", + #"runs": 0 + #"runs": [0,1] + "start": "2023-04-08 10:00:00", + "end": "2023-04-08 11:00:00" +} + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # SLOW CONTROL LOADING/PLOTTING FUNCTIONS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# Necessary to perform the SSH tunnel to the databse -def get_sc_df(param="PT118"): +def get_sc_df(param="PT118", dataset=dataset): """ + # Necessary to perform the SSH tunnel to the databse def ssh_tunnel(): import subprocess #ssh_tunnel_cmd = 'ssh -t ugnet-proxy' @@ -35,15 +49,17 @@ def ssh_tunnel(): utils.logger.error(f"\033[91mThe parameter {param} is not present in 'settings/SC-params.json'. Try again with another parameter or update the json file!\033[0m") sys.exit() - # get data - df_param = load_table_and_apply_flags(param, sc_params) - unit, lower_lim, upper_lim = get_plotting_info(param, sc_params) - + # get first/last timestamps to use when querying data from the SC database + timerange, first_tstmp, last_tstmp = utils.get_query_times(dataset=dataset) + # get data from the SC database + df_param = load_table_and_apply_flags(param, sc_params, first_tstmp, last_tstmp) + # get units and lower/upper limits for the parameter of interest + unit, lower_lim, upper_lim = get_plotting_info(param, sc_params, first_tstmp, last_tstmp) exit() -def load_table_and_apply_flags(param: str, sc_params: dict) -> DataFrame: +def load_table_and_apply_flags(param: str, sc_params: dict, first_tstmp: str, last_tstmp: str) -> DataFrame: """Load the corresponding table from SC database for the process of interest and apply already the flags for the parameter under study.""" # getting the process and flags of interest from 'settings/SC-params.json' for the provided parameter table_param = sc_params['SC_DB_params'][param]['table'] @@ -54,14 +70,10 @@ def load_table_and_apply_flags(param: str, sc_params: dict) -> DataFrame: utils.logger.error("\033[91mThis is not present in the SC database! Try again.\033[0m") sys.exit() - # Assuming T1 and T2 are datetime objects or strings in the format 'YYYY-MM-DD HH:MM:SS' (we'll apply a time query to shorten the df loading time) - T1 = '2023-01-09 00:00:00' - T2 = '2023-01-09 06:00:00' - # get the dataframe for the process of interest - utils.logger.debug(f"... getting the dataframe for '{table_param}' in the time range of interest") + utils.logger.debug(f"... getting the dataframe for '{table_param}' in the time range of interest\n") # SQL query to filter the dataframe based on the time range - query = f"SELECT * FROM {table_param} WHERE tstamp >= '{T1}' AND tstamp <= '{T2}'" + query = f"SELECT * FROM {table_param} WHERE tstamp >= '{first_tstmp}' AND tstamp <= '{last_tstmp}'" get_table_df = scdb.dataframe(query) # order by timestamp (not automatically done) get_table_df = get_table_df.sort_values(by="tstamp") @@ -71,13 +83,13 @@ def load_table_and_apply_flags(param: str, sc_params: dict) -> DataFrame: # let's apply the flags for keeping only the parameter of interest utils.logger.debug(f"... applying flags to get the parameter '{param}'") get_table_df = apply_flags(get_table_df, sc_params, flags_param) - utils.logger.debug("... after flagging the events:", get_table_df) + utils.logger.debug("... after flagging the events:\n%s", get_table_df) return get_table_df -def get_plotting_info(param: str, sc_params: dict): # -> str, float, float: +def get_plotting_info(param: str, sc_params: dict, first_tstmp: str, last_tstmp: str) -> Tuple[str, float, float]: """Return units and low/high limits of a given parameter.""" table_param = sc_params['SC_DB_params'][param]['table'] flags_param = sc_params['SC_DB_params'][param]['flags'] @@ -87,34 +99,29 @@ def get_plotting_info(param: str, sc_params: dict): # -> str, float, float: # let's apply the flags for keeping only the parameter of interest get_table_info = apply_flags(get_table_info, sc_params, flags_param) - utils.logger.debug("... units and thresholds will be retrieved from the following object: %s", get_table_info) - - # To get units and limits, consider they might change over time - # This means we have to query the dataframe get the correct values based on the inspected time interval - T1 = '2023-04-01 00:00:00' - T2 = '2023-04-01 15:00:00' + utils.logger.debug("... units and thresholds will be retrieved from the following object:\n%s", get_table_info) - # Convert T1 and T2 to datetime objects in the UTC timezone - T1 = datetime.strptime(T1, '%Y-%m-%d %H:%M:%S').replace(tzinfo=timezone.utc) - T2 = datetime.strptime(T2, '%Y-%m-%d %H:%M:%S').replace(tzinfo=timezone.utc) + # Convert first_tstmp and last_tstmp to datetime objects in the UTC timezone + first_tstmp = datetime.strptime(first_tstmp, '%Y%m%dT%H%M%SZ').replace(tzinfo=timezone.utc) + last_tstmp = datetime.strptime(last_tstmp, '%Y%m%dT%H%M%SZ').replace(tzinfo=timezone.utc) # Filter the DataFrame based on the time interval, starting to look from the latest entry ('reversed(...)') times = list(get_table_info['tstamp'].unique()) for time in reversed(times): - if T1 < time < T2: + if first_tstmp < time < last_tstmp: unit = list(get_table_info['unit'].unique())[0] lower_lim = upper_lim = None utils.logger.warning(f"\033[93mParameter {param} has no valid range in the time period you selected. Upper and lower thresholds are set to None, while units={unit}\033[0m") return unit, lower_lim, upper_lim - if time < T1 and time < T2: + if time < first_tstmp and time < last_tstmp: unit = list(get_table_info[get_table_info['tstamp'] == time]['unit'].unique())[0] lower_lim = get_table_info[get_table_info['tstamp'] == time]['ltol'].tolist()[-1] upper_lim = get_table_info[get_table_info['tstamp'] == time]['utol'].tolist()[-1] utils.logger.debug(f"... parameter {param} must be within [{lower_lim};{upper_lim}] {unit}") return unit, lower_lim, upper_lim - if time > T1 and time > T2: + if time > first_tstmp and time > last_tstmp: utils.logger.error("\033[91mYou're travelling too far in the past, there were no SC data in the time period you selected. Try again!\033[0m") sys.exit() diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 79d7b3e..fadbe88 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -135,7 +135,7 @@ def __init__(self, sub_type: str, **kwargs): self.path = data_info["path"] self.version = data_info["version"] - self.timerange, self.first_timestamp = utils.get_query_times(**kwargs) + self.timerange, self.first_timestamp, self.last_timestamp = utils.get_query_times(**kwargs) # None will be returned if something went wrong if not self.timerange: diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index fd00b12..5945ebb 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -9,6 +9,7 @@ # for getting DataLoader time range from datetime import datetime, timedelta +import pygama.lgdo.lh5_store as lh5 from pandas import DataFrame, concat @@ -87,7 +88,7 @@ def get_query_times(**kwargs): """ - Get time ranges for DataLoader query from user input, as well as first timestamp for channel map/status query. + Get time ranges for DataLoader query from user input, as well as first/last timestamp for channel map / status / SC query. Available kwargs: @@ -119,42 +120,66 @@ def get_query_times(**kwargs): timerange = get_query_timerange(**kwargs) first_timestamp = "" - # get first timestamp in case keyword is timestamp + # get first/last timestamp in case keyword is timestamp if "timestamp" in timerange: if "start" in timerange["timestamp"]: first_timestamp = timerange["timestamp"]["start"] - else: + if "end" in timerange["timestamp"]: + last_timestamp = timerange["timestamp"]["end"] + if "start" not in timerange["timestamp"] and "end" not in timerange["timestamp"]: first_timestamp = min(timerange["timestamp"]) + last_timestamp = max(timerange["timestamp"]) # look in path to find first timestamp if keyword is run else: # currently only list of runs and not 'start' and 'end', so always list - # find earliest run, format rXXX + # find earliest/latest run, format rXXX first_run = min(timerange["run"]) + last_run = max(timerange["run"]) # --- get dsp filelist of this run # if setup= keyword was used, get dict; otherwise kwargs is already the dict we need path_info = kwargs["dataset"] if "dataset" in kwargs else kwargs - # format to search /path_to_prod-ref[/v06.00]/generated/tier/**/phy/**/r027 (version might not be there) - glob_path = os.path.join( + # format to search /path_to_prod-ref[/vXX.XX]/generated/tier/dsp/phy/pXX/rXXX (version 'vXX.XX' might not be there). + # NOTICE that we fixed the tier, otherwise it picks the last one it finds (eg tcm). + # NOTICE that this is PERIOD SPECIFIC (unlikely we're gonna inspect two periods together, so we fix it) + first_glob_path = os.path.join( path_info["path"], path_info["version"], "generated", "tier", - "**", + "dsp", path_info["type"], - "**", + path_info["period"], first_run, "*.lh5", ) - dsp_files = glob.glob(glob_path) + last_glob_path = os.path.join( + path_info["path"], + path_info["version"], + "generated", + "tier", + "dsp", + path_info["type"], + path_info["period"], + last_run, + "*.lh5", + ) + first_dsp_files = glob.glob(first_glob_path) + last_dsp_files = glob.glob(last_glob_path) # find earliest - dsp_files.sort() - first_file = dsp_files[0] - # extract timestamp + first_dsp_files.sort() + first_file = first_dsp_files[0] + # find latest + last_dsp_files.sort() + last_file = last_dsp_files[-1] + # extract timestamps first_timestamp = get_key(first_file) + last_timestamp = get_last_timestamp(last_file) # ma non e' l'ultimo timestamp, per quello bisogna aprire il file e prendere l'ultima entry!!! + + print("last_run:", last_run, "\tlast_glob_path:", last_glob_path, "\tlast_file:", last_file) - return timerange, first_timestamp + return timerange, first_timestamp, last_timestamp def get_query_timerange(**kwargs): @@ -457,6 +482,7 @@ def get_time_name(user_time_range: dict) -> str: def get_timestamp(filename): + """Get the timestamp from a filename. For instance, if file='l200-p04-r000-phy-20230421T055556Z-tier_dsp.lh5', then it returns '20230421T055556Z'.""" # Assumes that the timestamp is in the format YYYYMMDDTHHMMSSZ return filename.split("-")[-2] @@ -556,6 +582,27 @@ def get_key(dsp_fname: str) -> str: return re.search(r"-\d{8}T\d{6}Z", dsp_fname).group(0)[1:] +def unix_timestamp_to_string(unix_timestamp): + """Convert a Unix timestamp to a string in the format 'YYYYMMDDTHHMMSSZ' with the timezone indicating UTC+00.""" + utc_datetime = datetime.utcfromtimestamp(unix_timestamp) + formatted_string = utc_datetime.strftime("%Y%m%dT%H%M%SZ") + return formatted_string + + +def get_last_timestamp(dsp_fname: str) -> str: + """Read a lh5 file and return the last timestamp saved in the file. This works only in case of a global trigger where the whole array is entirely recorded for a given timestamp.""" + # pick a random channel + first_channel = lh5.ls(dsp_fname, "")[0] + # get array of timestamps stored in the lh5 file + timestamp = lh5.load_nda(dsp_fname, ["timestamp"], f"{first_channel}/dsp/")["timestamp"] + # get the last entry + last_timestamp = timestamp[-1] + # convert from UNIX tstamp to string tstmp of format YYYYMMDDTHHMMSSZ + last_timestamp = unix_timestamp_to_string(last_timestamp) + + return last_timestamp + + # ------------------------------------------------------------------------- # Config file related functions (for building files) # ------------------------------------------------------------------------- From 48d3beab7475b6da089fc59709b60932eca7ec92 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 16 May 2023 08:37:17 +0200 Subject: [PATCH 039/166] updated the list of available SC params --- src/legend_data_monitor/plot_sc.py | 17 +- .../settings/SC-params.json | 146 ++++++++++++++++++ 2 files changed, 158 insertions(+), 5 deletions(-) create mode 100644 src/legend_data_monitor/settings/SC-params.json diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index a63020f..db645d0 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -23,14 +23,14 @@ "type": "phy", #"runs": 0 #"runs": [0,1] - "start": "2023-04-08 10:00:00", - "end": "2023-04-08 11:00:00" + "start": "2023-04-06 10:00:00", + "end": "2023-04-08 13:00:00" } # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # SLOW CONTROL LOADING/PLOTTING FUNCTIONS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -def get_sc_df(param="PT118", dataset=dataset): +def get_sc_df(param="DaqLeft-Temp2", dataset=dataset): """ # Necessary to perform the SSH tunnel to the databse def ssh_tunnel(): @@ -107,6 +107,7 @@ def get_plotting_info(param: str, sc_params: dict, first_tstmp: str, last_tstmp: # Filter the DataFrame based on the time interval, starting to look from the latest entry ('reversed(...)') times = list(get_table_info['tstamp'].unique()) + for time in reversed(times): if first_tstmp < time < last_tstmp: unit = list(get_table_info['unit'].unique())[0] @@ -122,8 +123,9 @@ def get_plotting_info(param: str, sc_params: dict, first_tstmp: str, last_tstmp: return unit, lower_lim, upper_lim if time > first_tstmp and time > last_tstmp: - utils.logger.error("\033[91mYou're travelling too far in the past, there were no SC data in the time period you selected. Try again!\033[0m") - sys.exit() + if time == times[0]: + utils.logger.error("\033[91mYou're travelling too far in the past, there were no SC data in the time period you selected. Try again!\033[0m") + sys.exit() return unit, lower_lim, upper_lim @@ -135,4 +137,9 @@ def apply_flags(df: DataFrame, sc_params: dict, flags_param: list) -> DataFrame: entry = sc_params['expressions'][flag]['entry'] df = df[df[column] == entry] + # check if the dataframe is empty + if df.empty: + utils.logger.error("\033[91mThe dataframe is empty. Exiting now!\033[0m") + exit() + return df \ No newline at end of file diff --git a/src/legend_data_monitor/settings/SC-params.json b/src/legend_data_monitor/settings/SC-params.json new file mode 100644 index 0000000..8797294 --- /dev/null +++ b/src/legend_data_monitor/settings/SC-params.json @@ -0,0 +1,146 @@ +{ + "SC_DB_params": { + "PT118": { + "table": "cryostat_snap", + "flags": ["is_Pressure", "is_PT118"] + }, + "PT114": { + "table": "cryostat_snap", + "flags": ["is_Pressure", "is_PT114"] + }, + "PT115": { + "table": "cryostat_snap", + "flags": ["is_Pressure", "is_PT115"] + }, + "PT202": { + "table": "cryostat_snap", + "flags": ["is_Vacuum", "is_PT202"] + }, + "PT205": { + "table": "cryostat_snap", + "flags": ["is_Vacuum", "is_PT205"] + }, + "PT208": { + "table": "cryostat_snap", + "flags": ["is_Vacuum", "is_PT208"] + }, + "LT01": { + "table": "waterloop_snap", + "flags": ["is_WaterLoop", "is_LT01"] + }, + "RREiT": { + "table": "cleanroom_snap", + "flags": ["is_clean", "is_RREiT"] + }, + "RRNTe": { + "table": "cleanroom_snap", + "flags": ["is_clean", "is_RRNTe"] + }, + "RRSTe": { + "table": "cleanroom_snap", + "flags": ["is_clean", "is_RRSTe"] + }, + "ZUL_T_RR": { + "table": "cleanroom_snap", + "flags": ["is_clean", "is_ZUL_T_RR"] + }, + "DaqLeft-Temp1": { + "table": "rack_snap", + "flags": ["is_temperature", "is_DaqLeft", "is_Temp_1"] + }, + "DaqRight-Temp1": { + "table": "rack_snap", + "flags": ["is_temperature", "is_DaqRight", "is_Temp_1"] + }, + "DaqLeft-Temp2": { + "table": "rack_snap", + "flags": ["is_temperature", "is_DaqLeft", "is_Temp_2"] + }, + "DaqRight-Temp2": { + "table": "rack_snap", + "flags": ["is_temperature", "is_DaqRight", "is_Temp_2"] + } + }, + "expressions":{ + "is_Pressure": { + "column": "group", + "entry": "Pressure" + }, + "is_Vacuum": { + "column": "group", + "entry": "Vacuum" + }, + "is_WaterLoop": { + "column": "group", + "entry": "WaterLoop" + }, + "is_clean": { + "column": "group", + "entry": "clean" + }, + "is_PT114": { + "column": "name", + "entry": "PT114" + }, + "is_PT115": { + "column": "name", + "entry": "PT115" + }, + "is_PT118": { + "column": "name", + "entry": "PT118" + }, + "is_PT202": { + "column": "name", + "entry": "PT202" + }, + "is_PT205": { + "column": "name", + "entry": "PT205" + }, + "is_PT208": { + "column": "name", + "entry": "PT208" + }, + "is_LT01": { + "column": "name", + "entry": "LT01" + }, + "is_RREiT": { + "column": "name", + "entry": "RREiT" + }, + "is_RRNTe": { + "column": "name", + "entry": "RRNTe" + }, + "is_RRSTe": { + "column": "name", + "entry": "RRSTe" + }, + "is_ZUL_T_RR": { + "column": "name", + "entry": "ZUL_T_RR" + }, + "is_temperature": { + "column": "name", + "entry": "Temp" + }, + "is_DaqLeft": { + "column": "rack", + "entry": "CleanRoom-DaqLeft" + }, + "is_DaqRight": { + "column": "rack", + "entry": "CleanRoom-DaqRight" + }, + "is_Temp_1": { + "column": "sensor", + "entry": "Temp-1" + }, + "is_Temp_2": { + "column": "sensor", + "entry": "Temp-2" + } + } +} \ No newline at end of file From 03abe09327ab4067bceb5cd89d164daa119b59b6 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 16 May 2023 09:05:17 +0200 Subject: [PATCH 040/166] added docu for SC parameters --- docs/source/manuals/get_sc_plots.rst | 59 ++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 docs/source/manuals/get_sc_plots.rst diff --git a/docs/source/manuals/get_sc_plots.rst b/docs/source/manuals/get_sc_plots.rst new file mode 100644 index 0000000..ec8a2b9 --- /dev/null +++ b/docs/source/manuals/get_sc_plots.rst @@ -0,0 +1,59 @@ +How to load and plot Slow Control data +====================================== + +How to load SC data +------------------- + +A number of parameters related to the LEGEND hardware configuration and status are recorded in the Slow Control (SC) database. +The latter, PostgreSQL database resides on the ``legend-sc.lngs.infn.it`` host, part of the LNGS network. +To access the SC databse, follow the `Confluence (Python Software Stack) `_ instructions. +Data are loaded following the ``pylegendmeta`` tutorial , which shows how to inspect the database. + + +... put here some text on how to specify the plotting of a SC parameter in the config file (no ideas for the moment)... + + +Files are collected in the output folder specified in the ``output`` config entry: + +.. code-block:: json + + { + "output": "/out", + // ... + +Since SC data does not depend on any dataset info (``experiment``, ``period``, ``version``, ``type``) but the selected time interval, +the output folder is generally structured as it follows: + +.. code-block:: + + /out/ + └── + ├── SC-.pdf + ├── SC-.log + └── SC-.{dat,bak,dir} + +.. note:: + + ``time_selection`` can assume one of the following formats, depending on what we put as a time range into ``dataset``: + + - if ``{'start': '20220928T080000Z', 'end': '20220928T093000Z'}`` (start + end), then = ``20220928T080000Z_20220928T093000Z``; + - if ``{'timestamps': ['20230207T103123Z']}`` (one key), then = ``20230207T103123Z``; + - if ``{'timestamps': ['20230207T103123Z', '20230207T141123Z', '20230207T083323Z']}`` (multiple keys), then = ``20230207T083323Z_20230207T141123Z`` (min/max timestamp interval) + - if ``{'runs': 1}`` (one run), then = ``r001``; + - if ``{'runs': [1, 2, 3]}`` (multiple runs), then = ``r001_r002_r003``. + +Shelve output objects +~~~~~~~~~~~~~~~~~~~~~ +*Under construction...* + + +Available SC parameters +----------------------- + +Available parameters include: + +- ``PT114``, ``PT115``, ``PT118`` (cryostat pressures) +- ``PT202``, ``PT205``, ``PT208`` (cryostat vacuum) +- ``LT01`` (water loop fine fill level) +- ``RREiT`` (injected air temperature clean room), ``RRNTe`` (clean room temperature north), ``RRSTe`` (clean room temperature south), ``ZUL_T_RR`` (supply air temperature clean room) +- ``DaqLeft-Temp1``, ``DaqLeft-Temp2``, ``DaqRight-Temp1``, ``DaqRight-Temp2`` (rack present temperatures) \ No newline at end of file From 5d7ab4210c8a66f90a8f47472205fd8e5ca64361 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 16 May 2023 09:36:41 +0200 Subject: [PATCH 041/166] small fixes --- docs/source/manuals/get_sc_plots.rst | 33 +++++++++++--- src/legend_data_monitor/plot_sc.py | 45 +++++++++++++------ src/legend_data_monitor/run.py | 1 + .../settings/SC-params.json | 8 ++-- 4 files changed, 64 insertions(+), 23 deletions(-) diff --git a/docs/source/manuals/get_sc_plots.rst b/docs/source/manuals/get_sc_plots.rst index ec8a2b9..876430e 100644 --- a/docs/source/manuals/get_sc_plots.rst +++ b/docs/source/manuals/get_sc_plots.rst @@ -21,16 +21,37 @@ Files are collected in the output folder specified in the ``output`` config entr "output": "/out", // ... -Since SC data does not depend on any dataset info (``experiment``, ``period``, ``version``, ``type``) but the selected time interval, -the output folder is generally structured as it follows: +In principle, for plotting the SC data you would need just the start and the end of a time interval of interest. This means that SC data does not depend on any dataset info (``experiment``, ``period``, ``version``, ``type``) but ``time_selection``. +However, there are cases were we want to inspect a given run or time period made of keys as we usually do with germanium. + +In the first case, we end up saving data in the following folder: .. code-block:: /out/ - └── - ├── SC-.pdf - ├── SC-.log - └── SC-.{dat,bak,dir} + └── generated + └── plt + └── SC + └── + ├── SC-.pdf + ├── SC-.log + └── SC-.{dat,bak,dir} + +Otherwise, we store the SC data/plots as usual: + +.. code-block:: + + /out/ + └── generated + └── plt + └── + └── + └── SC + └── + ├── SC-.pdf + ├── SC-.log + └── SC-.{dat,bak,dir} + .. note:: diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index db645d0..8ec2a2a 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -10,7 +10,7 @@ from legendmeta import LegendSlowControlDB scdb = LegendSlowControlDB() -scdb.connect(password="...") # ???????????????????? +scdb.connect(password="...") # look on Confluence (or ask Sofia) for the password from . import utils @@ -27,20 +27,34 @@ "end": "2023-04-08 13:00:00" } +""" +# Necessary to perform the SSH tunnel to the databse +def ssh_tunnel(): + import subprocess + #ssh_tunnel_cmd = 'ssh -t ugnet-proxy' + #full_ssh_cmd = ssh_tunnel_cmd + #subprocess.run(full_ssh_cmd, shell=True) + #subprocess.Popen(["ssh", "-t", "ugnet-proxy"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) +""" + + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # SLOW CONTROL LOADING/PLOTTING FUNCTIONS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -def get_sc_df(param="DaqLeft-Temp2", dataset=dataset): - """ - # Necessary to perform the SSH tunnel to the databse - def ssh_tunnel(): - import subprocess - #ssh_tunnel_cmd = 'ssh -t ugnet-proxy' - #full_ssh_cmd = ssh_tunnel_cmd - #subprocess.run(full_ssh_cmd, shell=True) - #subprocess.Popen(["ssh", "-t", "ugnet-proxy"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) - """ +def get_sc_param(param="DaqLeft-Temp2", dataset=dataset): + """Get data from the Slow Control (SC) database for the specified parameter ```param```. + + The ```dataset``` entry is of the following type: + + dataset= + 1. dict with keys usually included when plotting other subsystems (geds, spms, ...), i.e. 'experiment', 'period', 'version', 'path', 'type' and any time selection among the following ones: + 1. 'start' : , 'end': where input is of format 'YYYY-MM-DD hh:mm:ss' + 2. 'window'[str]: time window in the past from current time point, format: 'Xd Xh Xm' for days, hours, minutes + 2. 'timestamps': str or list of str in format 'YYYYMMDDThhmmssZ' + 3. 'runs': int or list of ints for run number(s) e.g. 10 for r010 + 2. dict with 'start' : , 'end': where input is of format 'YYYY-MM-DD hh:mm:ss' only + """ # load info from settings/SC-params.json sc_params = utils.SC_PARAMETERS @@ -50,13 +64,18 @@ def ssh_tunnel(): sys.exit() # get first/last timestamps to use when querying data from the SC database - timerange, first_tstmp, last_tstmp = utils.get_query_times(dataset=dataset) + if set(dataset.keys()) == {'start', 'end'}: + first_tstmp = (datetime.strptime(dataset['start'], "%Y-%m-%d %H:%M:%S")).strftime("%Y%m%dT%H%M%SZ") + last_tstmp = (datetime.strptime(dataset['end'], "%Y-%m-%d %H:%M:%S")).strftime("%Y%m%dT%H%M%SZ") + else: + _, first_tstmp, last_tstmp = utils.get_query_times(dataset=dataset) + utils.logger.debug(f"... you are going to query data from {first_tstmp} to {last_tstmp}") # get data from the SC database df_param = load_table_and_apply_flags(param, sc_params, first_tstmp, last_tstmp) # get units and lower/upper limits for the parameter of interest unit, lower_lim, upper_lim = get_plotting_info(param, sc_params, first_tstmp, last_tstmp) - exit() + sys.exit() def load_table_and_apply_flags(param: str, sc_params: dict, first_tstmp: str, last_tstmp: str) -> DataFrame: diff --git a/src/legend_data_monitor/run.py b/src/legend_data_monitor/run.py index f722eed..9dce113 100644 --- a/src/legend_data_monitor/run.py +++ b/src/legend_data_monitor/run.py @@ -17,6 +17,7 @@ def main(): $ legend-data-monitor --help # help section Example JSON configuration file: + .. code-block:: json { "dataset": { diff --git a/src/legend_data_monitor/settings/SC-params.json b/src/legend_data_monitor/settings/SC-params.json index 8797294..dae3d4d 100644 --- a/src/legend_data_monitor/settings/SC-params.json +++ b/src/legend_data_monitor/settings/SC-params.json @@ -1,9 +1,5 @@ { "SC_DB_params": { - "PT118": { - "table": "cryostat_snap", - "flags": ["is_Pressure", "is_PT118"] - }, "PT114": { "table": "cryostat_snap", "flags": ["is_Pressure", "is_PT114"] @@ -12,6 +8,10 @@ "table": "cryostat_snap", "flags": ["is_Pressure", "is_PT115"] }, + "PT118": { + "table": "cryostat_snap", + "flags": ["is_Pressure", "is_PT118"] + }, "PT202": { "table": "cryostat_snap", "flags": ["is_Vacuum", "is_PT202"] From d95570c2260eb634a61973786affe75f9232ed95 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 16 May 2023 07:37:50 +0000 Subject: [PATCH 042/166] style: pre-commit fixes --- docs/source/manuals/get_sc_plots.rst | 4 +- src/legend_data_monitor/plot_sc.py | 121 +++++++---- src/legend_data_monitor/run.py | 2 +- .../settings/SC-params.json | 204 +++++++++--------- src/legend_data_monitor/subsystem.py | 6 +- src/legend_data_monitor/utils.py | 24 ++- 6 files changed, 206 insertions(+), 155 deletions(-) diff --git a/docs/source/manuals/get_sc_plots.rst b/docs/source/manuals/get_sc_plots.rst index 876430e..77e40e6 100644 --- a/docs/source/manuals/get_sc_plots.rst +++ b/docs/source/manuals/get_sc_plots.rst @@ -4,7 +4,7 @@ How to load and plot Slow Control data How to load SC data ------------------- -A number of parameters related to the LEGEND hardware configuration and status are recorded in the Slow Control (SC) database. +A number of parameters related to the LEGEND hardware configuration and status are recorded in the Slow Control (SC) database. The latter, PostgreSQL database resides on the ``legend-sc.lngs.infn.it`` host, part of the LNGS network. To access the SC databse, follow the `Confluence (Python Software Stack) `_ instructions. Data are loaded following the ``pylegendmeta`` tutorial , which shows how to inspect the database. @@ -77,4 +77,4 @@ Available parameters include: - ``PT202``, ``PT205``, ``PT208`` (cryostat vacuum) - ``LT01`` (water loop fine fill level) - ``RREiT`` (injected air temperature clean room), ``RRNTe`` (clean room temperature north), ``RRSTe`` (clean room temperature south), ``ZUL_T_RR`` (supply air temperature clean room) -- ``DaqLeft-Temp1``, ``DaqLeft-Temp2``, ``DaqRight-Temp1``, ``DaqRight-Temp2`` (rack present temperatures) \ No newline at end of file +- ``DaqLeft-Temp1``, ``DaqLeft-Temp2``, ``DaqRight-Temp1``, ``DaqRight-Temp2`` (rack present temperatures) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index 8ec2a2a..09b1b18 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -1,14 +1,10 @@ -import matplotlib.pyplot as plt import sys -import numpy as np -import pandas as pd -import seaborn as sns -from typing import Tuple from datetime import datetime, timezone -from matplotlib.backends.backend_pdf import PdfPages -from pandas import DataFrame, Timedelta, concat +from typing import Tuple from legendmeta import LegendSlowControlDB +from pandas import DataFrame + scdb = LegendSlowControlDB() scdb.connect(password="...") # look on Confluence (or ask Sofia) for the password @@ -21,17 +17,17 @@ "version": "", "path": "/data2/public/prodenv/prod-blind/tmp/auto", "type": "phy", - #"runs": 0 - #"runs": [0,1] + # "runs": 0 + # "runs": [0,1] "start": "2023-04-06 10:00:00", - "end": "2023-04-08 13:00:00" + "end": "2023-04-08 13:00:00", } """ # Necessary to perform the SSH tunnel to the databse def ssh_tunnel(): import subprocess - #ssh_tunnel_cmd = 'ssh -t ugnet-proxy' + #ssh_tunnel_cmd = 'ssh -t ugnet-proxy' #full_ssh_cmd = ssh_tunnel_cmd #subprocess.run(full_ssh_cmd, shell=True) #subprocess.Popen(["ssh", "-t", "ugnet-proxy"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) @@ -42,9 +38,10 @@ def ssh_tunnel(): # SLOW CONTROL LOADING/PLOTTING FUNCTIONS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + def get_sc_param(param="DaqLeft-Temp2", dataset=dataset): """Get data from the Slow Control (SC) database for the specified parameter ```param```. - + The ```dataset``` entry is of the following type: dataset= @@ -59,38 +56,54 @@ def get_sc_param(param="DaqLeft-Temp2", dataset=dataset): sc_params = utils.SC_PARAMETERS # check if parameter is within the one listed in settings/SC-params.json - if param not in sc_params['SC_DB_params'].keys(): - utils.logger.error(f"\033[91mThe parameter {param} is not present in 'settings/SC-params.json'. Try again with another parameter or update the json file!\033[0m") + if param not in sc_params["SC_DB_params"].keys(): + utils.logger.error( + f"\033[91mThe parameter {param} is not present in 'settings/SC-params.json'. Try again with another parameter or update the json file!\033[0m" + ) sys.exit() # get first/last timestamps to use when querying data from the SC database - if set(dataset.keys()) == {'start', 'end'}: - first_tstmp = (datetime.strptime(dataset['start'], "%Y-%m-%d %H:%M:%S")).strftime("%Y%m%dT%H%M%SZ") - last_tstmp = (datetime.strptime(dataset['end'], "%Y-%m-%d %H:%M:%S")).strftime("%Y%m%dT%H%M%SZ") + if set(dataset.keys()) == {"start", "end"}: + first_tstmp = ( + datetime.strptime(dataset["start"], "%Y-%m-%d %H:%M:%S") + ).strftime("%Y%m%dT%H%M%SZ") + last_tstmp = (datetime.strptime(dataset["end"], "%Y-%m-%d %H:%M:%S")).strftime( + "%Y%m%dT%H%M%SZ" + ) else: _, first_tstmp, last_tstmp = utils.get_query_times(dataset=dataset) - utils.logger.debug(f"... you are going to query data from {first_tstmp} to {last_tstmp}") + utils.logger.debug( + f"... you are going to query data from {first_tstmp} to {last_tstmp}" + ) # get data from the SC database df_param = load_table_and_apply_flags(param, sc_params, first_tstmp, last_tstmp) # get units and lower/upper limits for the parameter of interest - unit, lower_lim, upper_lim = get_plotting_info(param, sc_params, first_tstmp, last_tstmp) + unit, lower_lim, upper_lim = get_plotting_info( + param, sc_params, first_tstmp, last_tstmp + ) sys.exit() -def load_table_and_apply_flags(param: str, sc_params: dict, first_tstmp: str, last_tstmp: str) -> DataFrame: +def load_table_and_apply_flags( + param: str, sc_params: dict, first_tstmp: str, last_tstmp: str +) -> DataFrame: """Load the corresponding table from SC database for the process of interest and apply already the flags for the parameter under study.""" # getting the process and flags of interest from 'settings/SC-params.json' for the provided parameter - table_param = sc_params['SC_DB_params'][param]['table'] - flags_param = sc_params['SC_DB_params'][param]['flags'] + table_param = sc_params["SC_DB_params"][param]["table"] + flags_param = sc_params["SC_DB_params"][param]["flags"] # check if the selected table is present in the SC database. If not, arise an error and exit if table_param not in scdb.get_tables(): - utils.logger.error("\033[91mThis is not present in the SC database! Try again.\033[0m") + utils.logger.error( + "\033[91mThis is not present in the SC database! Try again.\033[0m" + ) sys.exit() - + # get the dataframe for the process of interest - utils.logger.debug(f"... getting the dataframe for '{table_param}' in the time range of interest\n") + utils.logger.debug( + f"... getting the dataframe for '{table_param}' in the time range of interest\n" + ) # SQL query to filter the dataframe based on the time range query = f"SELECT * FROM {table_param} WHERE tstamp >= '{first_tstmp}' AND tstamp <= '{last_tstmp}'" get_table_df = scdb.dataframe(query) @@ -107,43 +120,63 @@ def load_table_and_apply_flags(param: str, sc_params: dict, first_tstmp: str, la return get_table_df - -def get_plotting_info(param: str, sc_params: dict, first_tstmp: str, last_tstmp: str) -> Tuple[str, float, float]: +def get_plotting_info( + param: str, sc_params: dict, first_tstmp: str, last_tstmp: str +) -> Tuple[str, float, float]: """Return units and low/high limits of a given parameter.""" - table_param = sc_params['SC_DB_params'][param]['table'] - flags_param = sc_params['SC_DB_params'][param]['flags'] - + table_param = sc_params["SC_DB_params"][param]["table"] + flags_param = sc_params["SC_DB_params"][param]["flags"] + # get info dataframe of the corresponding process under study (do I need to specify the param????) get_table_info = scdb.dataframe(table_param.replace("snap", "info")) # let's apply the flags for keeping only the parameter of interest get_table_info = apply_flags(get_table_info, sc_params, flags_param) - utils.logger.debug("... units and thresholds will be retrieved from the following object:\n%s", get_table_info) + utils.logger.debug( + "... units and thresholds will be retrieved from the following object:\n%s", + get_table_info, + ) # Convert first_tstmp and last_tstmp to datetime objects in the UTC timezone - first_tstmp = datetime.strptime(first_tstmp, '%Y%m%dT%H%M%SZ').replace(tzinfo=timezone.utc) - last_tstmp = datetime.strptime(last_tstmp, '%Y%m%dT%H%M%SZ').replace(tzinfo=timezone.utc) + first_tstmp = datetime.strptime(first_tstmp, "%Y%m%dT%H%M%SZ").replace( + tzinfo=timezone.utc + ) + last_tstmp = datetime.strptime(last_tstmp, "%Y%m%dT%H%M%SZ").replace( + tzinfo=timezone.utc + ) # Filter the DataFrame based on the time interval, starting to look from the latest entry ('reversed(...)') - times = list(get_table_info['tstamp'].unique()) + times = list(get_table_info["tstamp"].unique()) for time in reversed(times): if first_tstmp < time < last_tstmp: - unit = list(get_table_info['unit'].unique())[0] + unit = list(get_table_info["unit"].unique())[0] lower_lim = upper_lim = None - utils.logger.warning(f"\033[93mParameter {param} has no valid range in the time period you selected. Upper and lower thresholds are set to None, while units={unit}\033[0m") + utils.logger.warning( + f"\033[93mParameter {param} has no valid range in the time period you selected. Upper and lower thresholds are set to None, while units={unit}\033[0m" + ) return unit, lower_lim, upper_lim if time < first_tstmp and time < last_tstmp: - unit = list(get_table_info[get_table_info['tstamp'] == time]['unit'].unique())[0] - lower_lim = get_table_info[get_table_info['tstamp'] == time]['ltol'].tolist()[-1] - upper_lim = get_table_info[get_table_info['tstamp'] == time]['utol'].tolist()[-1] - utils.logger.debug(f"... parameter {param} must be within [{lower_lim};{upper_lim}] {unit}") + unit = list( + get_table_info[get_table_info["tstamp"] == time]["unit"].unique() + )[0] + lower_lim = get_table_info[get_table_info["tstamp"] == time][ + "ltol" + ].tolist()[-1] + upper_lim = get_table_info[get_table_info["tstamp"] == time][ + "utol" + ].tolist()[-1] + utils.logger.debug( + f"... parameter {param} must be within [{lower_lim};{upper_lim}] {unit}" + ) return unit, lower_lim, upper_lim if time > first_tstmp and time > last_tstmp: if time == times[0]: - utils.logger.error("\033[91mYou're travelling too far in the past, there were no SC data in the time period you selected. Try again!\033[0m") + utils.logger.error( + "\033[91mYou're travelling too far in the past, there were no SC data in the time period you selected. Try again!\033[0m" + ) sys.exit() return unit, lower_lim, upper_lim @@ -152,8 +185,8 @@ def get_plotting_info(param: str, sc_params: dict, first_tstmp: str, last_tstmp: def apply_flags(df: DataFrame, sc_params: dict, flags_param: list) -> DataFrame: """Apply the flags read from 'settings/SC-params.json' to the input dataframe.""" for flag in flags_param: - column = sc_params['expressions'][flag]['column'] - entry = sc_params['expressions'][flag]['entry'] + column = sc_params["expressions"][flag]["column"] + entry = sc_params["expressions"][flag]["entry"] df = df[df[column] == entry] # check if the dataframe is empty @@ -161,4 +194,4 @@ def apply_flags(df: DataFrame, sc_params: dict, flags_param: list) -> DataFrame: utils.logger.error("\033[91mThe dataframe is empty. Exiting now!\033[0m") exit() - return df \ No newline at end of file + return df diff --git a/src/legend_data_monitor/run.py b/src/legend_data_monitor/run.py index 9dce113..eace999 100644 --- a/src/legend_data_monitor/run.py +++ b/src/legend_data_monitor/run.py @@ -17,7 +17,7 @@ def main(): $ legend-data-monitor --help # help section Example JSON configuration file: - + .. code-block:: json { "dataset": { diff --git a/src/legend_data_monitor/settings/SC-params.json b/src/legend_data_monitor/settings/SC-params.json index dae3d4d..183bef6 100644 --- a/src/legend_data_monitor/settings/SC-params.json +++ b/src/legend_data_monitor/settings/SC-params.json @@ -1,146 +1,146 @@ { "SC_DB_params": { - "PT114": { - "table": "cryostat_snap", - "flags": ["is_Pressure", "is_PT114"] - }, - "PT115": { - "table": "cryostat_snap", - "flags": ["is_Pressure", "is_PT115"] - }, - "PT118": { - "table": "cryostat_snap", - "flags": ["is_Pressure", "is_PT118"] - }, - "PT202": { - "table": "cryostat_snap", - "flags": ["is_Vacuum", "is_PT202"] - }, - "PT205": { - "table": "cryostat_snap", - "flags": ["is_Vacuum", "is_PT205"] - }, - "PT208": { - "table": "cryostat_snap", - "flags": ["is_Vacuum", "is_PT208"] - }, - "LT01": { - "table": "waterloop_snap", - "flags": ["is_WaterLoop", "is_LT01"] - }, - "RREiT": { - "table": "cleanroom_snap", - "flags": ["is_clean", "is_RREiT"] - }, - "RRNTe": { - "table": "cleanroom_snap", - "flags": ["is_clean", "is_RRNTe"] - }, - "RRSTe": { - "table": "cleanroom_snap", - "flags": ["is_clean", "is_RRSTe"] - }, - "ZUL_T_RR": { - "table": "cleanroom_snap", - "flags": ["is_clean", "is_ZUL_T_RR"] - }, - "DaqLeft-Temp1": { - "table": "rack_snap", - "flags": ["is_temperature", "is_DaqLeft", "is_Temp_1"] - }, - "DaqRight-Temp1": { - "table": "rack_snap", - "flags": ["is_temperature", "is_DaqRight", "is_Temp_1"] - }, - "DaqLeft-Temp2": { - "table": "rack_snap", - "flags": ["is_temperature", "is_DaqLeft", "is_Temp_2"] - }, - "DaqRight-Temp2": { - "table": "rack_snap", - "flags": ["is_temperature", "is_DaqRight", "is_Temp_2"] - } + "PT114": { + "table": "cryostat_snap", + "flags": ["is_Pressure", "is_PT114"] + }, + "PT115": { + "table": "cryostat_snap", + "flags": ["is_Pressure", "is_PT115"] + }, + "PT118": { + "table": "cryostat_snap", + "flags": ["is_Pressure", "is_PT118"] + }, + "PT202": { + "table": "cryostat_snap", + "flags": ["is_Vacuum", "is_PT202"] + }, + "PT205": { + "table": "cryostat_snap", + "flags": ["is_Vacuum", "is_PT205"] + }, + "PT208": { + "table": "cryostat_snap", + "flags": ["is_Vacuum", "is_PT208"] + }, + "LT01": { + "table": "waterloop_snap", + "flags": ["is_WaterLoop", "is_LT01"] + }, + "RREiT": { + "table": "cleanroom_snap", + "flags": ["is_clean", "is_RREiT"] + }, + "RRNTe": { + "table": "cleanroom_snap", + "flags": ["is_clean", "is_RRNTe"] + }, + "RRSTe": { + "table": "cleanroom_snap", + "flags": ["is_clean", "is_RRSTe"] + }, + "ZUL_T_RR": { + "table": "cleanroom_snap", + "flags": ["is_clean", "is_ZUL_T_RR"] + }, + "DaqLeft-Temp1": { + "table": "rack_snap", + "flags": ["is_temperature", "is_DaqLeft", "is_Temp_1"] + }, + "DaqRight-Temp1": { + "table": "rack_snap", + "flags": ["is_temperature", "is_DaqRight", "is_Temp_1"] + }, + "DaqLeft-Temp2": { + "table": "rack_snap", + "flags": ["is_temperature", "is_DaqLeft", "is_Temp_2"] + }, + "DaqRight-Temp2": { + "table": "rack_snap", + "flags": ["is_temperature", "is_DaqRight", "is_Temp_2"] + } }, - "expressions":{ + "expressions": { "is_Pressure": { - "column": "group", - "entry": "Pressure" + "column": "group", + "entry": "Pressure" }, "is_Vacuum": { - "column": "group", - "entry": "Vacuum" + "column": "group", + "entry": "Vacuum" }, "is_WaterLoop": { - "column": "group", - "entry": "WaterLoop" + "column": "group", + "entry": "WaterLoop" }, "is_clean": { - "column": "group", - "entry": "clean" + "column": "group", + "entry": "clean" }, "is_PT114": { - "column": "name", - "entry": "PT114" + "column": "name", + "entry": "PT114" }, "is_PT115": { - "column": "name", - "entry": "PT115" + "column": "name", + "entry": "PT115" }, "is_PT118": { - "column": "name", - "entry": "PT118" + "column": "name", + "entry": "PT118" }, "is_PT202": { - "column": "name", - "entry": "PT202" + "column": "name", + "entry": "PT202" }, "is_PT205": { - "column": "name", - "entry": "PT205" + "column": "name", + "entry": "PT205" }, "is_PT208": { - "column": "name", - "entry": "PT208" + "column": "name", + "entry": "PT208" }, "is_LT01": { - "column": "name", - "entry": "LT01" + "column": "name", + "entry": "LT01" }, "is_RREiT": { - "column": "name", - "entry": "RREiT" + "column": "name", + "entry": "RREiT" }, "is_RRNTe": { - "column": "name", - "entry": "RRNTe" + "column": "name", + "entry": "RRNTe" }, "is_RRSTe": { - "column": "name", - "entry": "RRSTe" + "column": "name", + "entry": "RRSTe" }, "is_ZUL_T_RR": { - "column": "name", - "entry": "ZUL_T_RR" + "column": "name", + "entry": "ZUL_T_RR" }, "is_temperature": { - "column": "name", - "entry": "Temp" + "column": "name", + "entry": "Temp" }, "is_DaqLeft": { - "column": "rack", - "entry": "CleanRoom-DaqLeft" + "column": "rack", + "entry": "CleanRoom-DaqLeft" }, "is_DaqRight": { - "column": "rack", - "entry": "CleanRoom-DaqRight" + "column": "rack", + "entry": "CleanRoom-DaqRight" }, "is_Temp_1": { - "column": "sensor", - "entry": "Temp-1" + "column": "sensor", + "entry": "Temp-1" }, "is_Temp_2": { - "column": "sensor", - "entry": "Temp-2" + "column": "sensor", + "entry": "Temp-2" } } -} \ No newline at end of file +} diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index fadbe88..9948d70 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -135,7 +135,11 @@ def __init__(self, sub_type: str, **kwargs): self.path = data_info["path"] self.version = data_info["version"] - self.timerange, self.first_timestamp, self.last_timestamp = utils.get_query_times(**kwargs) + ( + self.timerange, + self.first_timestamp, + self.last_timestamp, + ) = utils.get_query_times(**kwargs) # None will be returned if something went wrong if not self.timerange: diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 5945ebb..761cffb 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -9,8 +9,8 @@ # for getting DataLoader time range from datetime import datetime, timedelta -import pygama.lgdo.lh5_store as lh5 +import pygama.lgdo.lh5_store as lh5 from pandas import DataFrame, concat # ------------------------------------------------------------------------- @@ -126,7 +126,10 @@ def get_query_times(**kwargs): first_timestamp = timerange["timestamp"]["start"] if "end" in timerange["timestamp"]: last_timestamp = timerange["timestamp"]["end"] - if "start" not in timerange["timestamp"] and "end" not in timerange["timestamp"]: + if ( + "start" not in timerange["timestamp"] + and "end" not in timerange["timestamp"] + ): first_timestamp = min(timerange["timestamp"]) last_timestamp = max(timerange["timestamp"]) # look in path to find first timestamp if keyword is run @@ -175,9 +178,18 @@ def get_query_times(**kwargs): last_file = last_dsp_files[-1] # extract timestamps first_timestamp = get_key(first_file) - last_timestamp = get_last_timestamp(last_file) # ma non e' l'ultimo timestamp, per quello bisogna aprire il file e prendere l'ultima entry!!! + last_timestamp = get_last_timestamp( + last_file + ) # ma non e' l'ultimo timestamp, per quello bisogna aprire il file e prendere l'ultima entry!!! - print("last_run:", last_run, "\tlast_glob_path:", last_glob_path, "\tlast_file:", last_file) + print( + "last_run:", + last_run, + "\tlast_glob_path:", + last_glob_path, + "\tlast_file:", + last_file, + ) return timerange, first_timestamp, last_timestamp @@ -594,7 +606,9 @@ def get_last_timestamp(dsp_fname: str) -> str: # pick a random channel first_channel = lh5.ls(dsp_fname, "")[0] # get array of timestamps stored in the lh5 file - timestamp = lh5.load_nda(dsp_fname, ["timestamp"], f"{first_channel}/dsp/")["timestamp"] + timestamp = lh5.load_nda(dsp_fname, ["timestamp"], f"{first_channel}/dsp/")[ + "timestamp" + ] # get the last entry last_timestamp = timestamp[-1] # convert from UNIX tstamp to string tstmp of format YYYYMMDDTHHMMSSZ From bb49c65fec85200fb2347979b1050da0e5e8cd96 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 16 May 2023 09:49:41 +0200 Subject: [PATCH 043/166] return df with units/limits --- docs/source/manuals/get_sc_plots.rst | 2 +- src/legend_data_monitor/plot_sc.py | 27 ++++++++++++++++++--------- src/legend_data_monitor/utils.py | 2 -- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/docs/source/manuals/get_sc_plots.rst b/docs/source/manuals/get_sc_plots.rst index 876430e..fec826c 100644 --- a/docs/source/manuals/get_sc_plots.rst +++ b/docs/source/manuals/get_sc_plots.rst @@ -6,7 +6,7 @@ How to load SC data A number of parameters related to the LEGEND hardware configuration and status are recorded in the Slow Control (SC) database. The latter, PostgreSQL database resides on the ``legend-sc.lngs.infn.it`` host, part of the LNGS network. -To access the SC databse, follow the `Confluence (Python Software Stack) `_ instructions. +To access the SC database, follow the `Confluence (Python Software Stack) `_ instructions. Data are loaded following the ``pylegendmeta`` tutorial , which shows how to inspect the database. diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index 8ec2a2a..bd6ef69 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -9,11 +9,11 @@ from pandas import DataFrame, Timedelta, concat from legendmeta import LegendSlowControlDB -scdb = LegendSlowControlDB() -scdb.connect(password="...") # look on Confluence (or ask Sofia) for the password - from . import utils +scdb = LegendSlowControlDB() +scdb.connect(password="legend00") # look on Confluence (or ask Sofia) for the password + # instead of dataset, retrieve 'config["dataset"]' from config json dataset = { "experiment": "L200", @@ -28,7 +28,7 @@ } """ -# Necessary to perform the SSH tunnel to the databse +# Necessary to perform the SSH tunnel to the database def ssh_tunnel(): import subprocess #ssh_tunnel_cmd = 'ssh -t ugnet-proxy' @@ -42,7 +42,7 @@ def ssh_tunnel(): # SLOW CONTROL LOADING/PLOTTING FUNCTIONS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -def get_sc_param(param="DaqLeft-Temp2", dataset=dataset): +def get_sc_param(param="DaqLeft-Temp2", dataset=dataset) -> DataFrame: """Get data from the Slow Control (SC) database for the specified parameter ```param```. The ```dataset``` entry is of the following type: @@ -73,9 +73,8 @@ def get_sc_param(param="DaqLeft-Temp2", dataset=dataset): # get data from the SC database df_param = load_table_and_apply_flags(param, sc_params, first_tstmp, last_tstmp) - # get units and lower/upper limits for the parameter of interest - unit, lower_lim, upper_lim = get_plotting_info(param, sc_params, first_tstmp, last_tstmp) - sys.exit() + + return df_param def load_table_and_apply_flags(param: str, sc_params: dict, first_tstmp: str, last_tstmp: str) -> DataFrame: @@ -102,7 +101,17 @@ def load_table_and_apply_flags(param: str, sc_params: dict, first_tstmp: str, la # let's apply the flags for keeping only the parameter of interest utils.logger.debug(f"... applying flags to get the parameter '{param}'") get_table_df = apply_flags(get_table_df, sc_params, flags_param) - utils.logger.debug("... after flagging the events:\n%s", get_table_df) + + # get units and lower/upper limits for the parameter of interest + unit, lower_lim, upper_lim = get_plotting_info(param, sc_params, first_tstmp, last_tstmp) + # append unit, lower_lim, upper_lim to the dataframe + get_table_df['unit'] = unit + get_table_df['lower_lim'] = lower_lim + get_table_df['upper_lim'] = upper_lim + + get_table_df = get_table_df.reset_index() + + utils.logger.debug("... final dataframe (after flagging the events):\n%s", get_table_df) return get_table_df diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 5945ebb..0c5b51b 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -177,8 +177,6 @@ def get_query_times(**kwargs): first_timestamp = get_key(first_file) last_timestamp = get_last_timestamp(last_file) # ma non e' l'ultimo timestamp, per quello bisogna aprire il file e prendere l'ultima entry!!! - print("last_run:", last_run, "\tlast_glob_path:", last_glob_path, "\tlast_file:", last_file) - return timerange, first_timestamp, last_timestamp From aaf8ddb79a3a4b3ec09db7b8616cd225a4922605 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 16 May 2023 07:51:48 +0000 Subject: [PATCH 044/166] style: pre-commit fixes --- src/legend_data_monitor/plot_sc.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index aa5205e..f9ba86f 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -3,6 +3,7 @@ from typing import Tuple from legendmeta import LegendSlowControlDB + from . import utils scdb = LegendSlowControlDB() @@ -36,6 +37,7 @@ def ssh_tunnel(): # SLOW CONTROL LOADING/PLOTTING FUNCTIONS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + def get_sc_param(param="DaqLeft-Temp2", dataset=dataset) -> DataFrame: """Get data from the Slow Control (SC) database for the specified parameter ```param```. @@ -75,7 +77,7 @@ def get_sc_param(param="DaqLeft-Temp2", dataset=dataset) -> DataFrame: # get data from the SC database df_param = load_table_and_apply_flags(param, sc_params, first_tstmp, last_tstmp) - + return df_param @@ -109,17 +111,21 @@ def load_table_and_apply_flags( # let's apply the flags for keeping only the parameter of interest utils.logger.debug(f"... applying flags to get the parameter '{param}'") get_table_df = apply_flags(get_table_df, sc_params, flags_param) - + # get units and lower/upper limits for the parameter of interest - unit, lower_lim, upper_lim = get_plotting_info(param, sc_params, first_tstmp, last_tstmp) + unit, lower_lim, upper_lim = get_plotting_info( + param, sc_params, first_tstmp, last_tstmp + ) # append unit, lower_lim, upper_lim to the dataframe - get_table_df['unit'] = unit - get_table_df['lower_lim'] = lower_lim - get_table_df['upper_lim'] = upper_lim + get_table_df["unit"] = unit + get_table_df["lower_lim"] = lower_lim + get_table_df["upper_lim"] = upper_lim get_table_df = get_table_df.reset_index() - utils.logger.debug("... final dataframe (after flagging the events):\n%s", get_table_df) + utils.logger.debug( + "... final dataframe (after flagging the events):\n%s", get_table_df + ) return get_table_df From ce6bc8e5f17520a4ae01e884ca505c22f5cbe808 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 16 May 2023 09:54:28 +0200 Subject: [PATCH 045/166] fixed missing module --- src/legend_data_monitor/plot_sc.py | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index aa5205e..cf0c18a 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -1,6 +1,7 @@ import sys from datetime import datetime, timezone from typing import Tuple +from pandas import DataFrame from legendmeta import LegendSlowControlDB from . import utils @@ -21,17 +22,6 @@ "end": "2023-04-08 13:00:00", } -""" -# Necessary to perform the SSH tunnel to the database -def ssh_tunnel(): - import subprocess - #ssh_tunnel_cmd = 'ssh -t ugnet-proxy' - #full_ssh_cmd = ssh_tunnel_cmd - #subprocess.run(full_ssh_cmd, shell=True) - #subprocess.Popen(["ssh", "-t", "ugnet-proxy"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) -""" - - # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # SLOW CONTROL LOADING/PLOTTING FUNCTIONS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From ef72976f484390a066a8cf3a50a32d808914cd84 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 16 May 2023 07:54:47 +0000 Subject: [PATCH 046/166] style: pre-commit fixes --- src/legend_data_monitor/plot_sc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index a615cde..d206dc7 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -1,9 +1,9 @@ import sys from datetime import datetime, timezone from typing import Tuple -from pandas import DataFrame from legendmeta import LegendSlowControlDB +from pandas import DataFrame from . import utils From 7ad66802f70928e59029955dd4808fc0f51341e1 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 16 May 2023 12:06:51 +0200 Subject: [PATCH 047/166] added diode vmon/imon --- src/legend_data_monitor/plot_sc.py | 65 +++++++++++++++++-- .../settings/SC-params.json | 8 +++ src/legend_data_monitor/subsystem.py | 8 +-- 3 files changed, 71 insertions(+), 10 deletions(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index d206dc7..b500216 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -1,14 +1,15 @@ import sys +import numpy as np from datetime import datetime, timezone from typing import Tuple from legendmeta import LegendSlowControlDB from pandas import DataFrame -from . import utils +from . import subsystem, utils scdb = LegendSlowControlDB() -scdb.connect(password="...") # look on Confluence (or ask Sofia) for the password +scdb.connect(password="legend00") # look on Confluence (or ask Sofia) for the password # instead of dataset, retrieve 'config["dataset"]' from config json dataset = { @@ -28,7 +29,7 @@ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -def get_sc_param(param="DaqLeft-Temp2", dataset=dataset) -> DataFrame: +def get_sc_param(param="diode_imon", dataset=dataset) -> DataFrame: """Get data from the Slow Control (SC) database for the specified parameter ```param```. The ```dataset``` entry is of the following type: @@ -93,6 +94,21 @@ def load_table_and_apply_flags( # SQL query to filter the dataframe based on the time range query = f"SELECT * FROM {table_param} WHERE tstamp >= '{first_tstmp}' AND tstamp <= '{last_tstmp}'" get_table_df = scdb.dataframe(query) + + # remove unnecessary columns (necessary when retrieving diode parameters) + # note: there will be a 'status' column such that ON=1 and OFF=0 - right now we are keeping every detector, without removing the OFF ones as we usually do for geds + if "vmon" in param and "imon" in list(get_table_df.columns): + get_table_df = get_table_df.drop(columns="imon") + # rename the column of interest to 'value' to be consistent with other parameter dataframes + get_table_df = get_table_df.rename(columns={"vmon": "value"}) + if "imon" in param and "vmon" in list(get_table_df.columns): + get_table_df = get_table_df.drop(columns="vmon") + get_table_df = get_table_df.rename(columns={"imon": "value"}) + # in case of geds parameters, add the info about the channel name and channel id (right now, there is only crate&slot info) + if param == "diode_vmon" or param == "diode_imon": + get_table_df = include_more_diode_info(get_table_df) + + # order by timestamp (not automatically done) get_table_df = get_table_df.sort_values(by="tstamp") @@ -103,9 +119,13 @@ def load_table_and_apply_flags( get_table_df = apply_flags(get_table_df, sc_params, flags_param) # get units and lower/upper limits for the parameter of interest - unit, lower_lim, upper_lim = get_plotting_info( - param, sc_params, first_tstmp, last_tstmp - ) + if "diode" not in param: + unit, lower_lim, upper_lim = get_plotting_info( + param, sc_params, first_tstmp, last_tstmp + ) + else: + unit = lower_lim = upper_lim = None # I don't know where to get these info for geds ... + # append unit, lower_lim, upper_lim to the dataframe get_table_df["unit"] = unit get_table_df["lower_lim"] = lower_lim @@ -195,3 +215,36 @@ def apply_flags(df: DataFrame, sc_params: dict, flags_param: list) -> DataFrame: exit() return df + + +def include_more_diode_info(df: DataFrame) -> DataFrame: + """Include more diode info, such as the channel name and the string number to which it belongs.""" + # get the diode info dataframe from the SC database + df_info = scdb.dataframe("diode_info") + # remove duplicates of detector names + df_info = df_info.drop_duplicates(subset="label") + # remove unnecessary columns (otherwise, they are repeated after the merging) + df_info = df_info.drop(columns={"status", "tstamp"}) + # there is a repeated detector! Once with an additional blank space in front of its name: removed in case it is found + if " V00050B" in list(df_info['label'].unique()): + df_info = df_info[df_info['label'] != ' V00050B'] + + # remve 'HV filter test' and 'no cable' entries + df_info = df_info[~df_info['label'].str.contains('Ch')] + # remove other stuff (???) + if "?" in list(df_info['label'].unique()): + df_info = df_info[df_info['label'] != '?'] + if " routed" in list(df_info['label'].unique()): + df_info = df_info[df_info['label'] != ' routed'] + if "routed" in list(df_info['label'].unique()): + df_info = df_info[df_info['label'] != 'routed'] + + # Merge df_info into df based on 'crate' and 'slot' + merged_df = df.merge(df_info[['crate', 'slot', 'channel', 'label', 'group']], on=['crate', 'slot', 'channel'], how='left') + merged_df = merged_df.rename(columns={'label': 'name', 'group': 'string'}) + # remove "name"=NaN (ie entries for which there was not a correspondence among the two merged dataframes) + merged_df = merged_df.dropna(subset=['name']) + # switch from "String X" (str) to "X" (int) for entries of the 'string' column + merged_df['string'] = merged_df['string'].str.extract('(\d+)').astype(int) + + return merged_df \ No newline at end of file diff --git a/src/legend_data_monitor/settings/SC-params.json b/src/legend_data_monitor/settings/SC-params.json index 183bef6..7975296 100644 --- a/src/legend_data_monitor/settings/SC-params.json +++ b/src/legend_data_monitor/settings/SC-params.json @@ -1,5 +1,13 @@ { "SC_DB_params": { + "diode_vmon": { + "table": "diode_snap", + "flags": [] + }, + "diode_imon": { + "table": "diode_snap", + "flags": [] + }, "PT114": { "table": "cryostat_snap", "flags": ["is_Pressure", "is_PT114"] diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 9948d70..5accd9e 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -29,10 +29,10 @@ class Subsystem: - 'version' [str]: version of pygama data processing format vXX.XX - 'type' [str]: 'phy' or 'cal' - the following key(s) depending in time selection - 1) 'start' : , 'end': where input is of format 'YYYY-MM-DD hh:mm:ss' - 2) 'window'[str]: time window in the past from current time point, format: 'Xd Xh Xm' for days, hours, minutes - 2) 'timestamps': str or list of str in format 'YYYYMMDDThhmmssZ' - 3) 'runs': int or list of ints for run number(s) e.g. 10 for r010 + 1. 'start' : , 'end': where input is of format 'YYYY-MM-DD hh:mm:ss' + 2. 'window'[str]: time window in the past from current time point, format: 'Xd Xh Xm' for days, hours, minutes + 2. 'timestamps': str or list of str in format 'YYYYMMDDThhmmssZ' + 3. 'runs': int or list of ints for run number(s) e.g. 10 for r010 Or input kwargs separately experiment=, period=, path=, version=, type=; start=&end=, or window=, or timestamps=, or runs= Experiment is needed to know which channel belongs to the pulser Subsystem (and its name), "auxs" ch0 (L60) or "puls" ch1 (L200) From c8be8498555fb8f335e030fd2c982a2687c78b4e Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 16 May 2023 12:13:10 +0200 Subject: [PATCH 048/166] fixed units --- src/legend_data_monitor/plot_sc.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index b500216..267aed3 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -29,7 +29,7 @@ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -def get_sc_param(param="diode_imon", dataset=dataset) -> DataFrame: +def get_sc_param(param="diode_vmon", dataset=dataset) -> DataFrame: """Get data from the Slow Control (SC) database for the specified parameter ```param```. The ```dataset``` entry is of the following type: @@ -124,7 +124,14 @@ def load_table_and_apply_flags( param, sc_params, first_tstmp, last_tstmp ) else: - unit = lower_lim = upper_lim = None # I don't know where to get these info for geds ... + lower_lim = upper_lim = None # there are just 'set values', no actual thresholds + if "vmon" in param: + unit = "V" + elif "imon" in param: + unit = "\u03BCA" + else: + unit = None + # append unit, lower_lim, upper_lim to the dataframe get_table_df["unit"] = unit From f3d8560d7ad2be4a5e75581aa9f3def1c9e66184 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 16 May 2023 10:14:01 +0000 Subject: [PATCH 049/166] style: pre-commit fixes --- src/legend_data_monitor/plot_sc.py | 41 ++++++++++++++++-------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index 267aed3..2f5c8c1 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -1,12 +1,11 @@ import sys -import numpy as np from datetime import datetime, timezone from typing import Tuple from legendmeta import LegendSlowControlDB from pandas import DataFrame -from . import subsystem, utils +from . import utils scdb = LegendSlowControlDB() scdb.connect(password="legend00") # look on Confluence (or ask Sofia) for the password @@ -108,7 +107,6 @@ def load_table_and_apply_flags( if param == "diode_vmon" or param == "diode_imon": get_table_df = include_more_diode_info(get_table_df) - # order by timestamp (not automatically done) get_table_df = get_table_df.sort_values(by="tstamp") @@ -124,7 +122,9 @@ def load_table_and_apply_flags( param, sc_params, first_tstmp, last_tstmp ) else: - lower_lim = upper_lim = None # there are just 'set values', no actual thresholds + lower_lim = ( + upper_lim + ) = None # there are just 'set values', no actual thresholds if "vmon" in param: unit = "V" elif "imon" in param: @@ -132,7 +132,6 @@ def load_table_and_apply_flags( else: unit = None - # append unit, lower_lim, upper_lim to the dataframe get_table_df["unit"] = unit get_table_df["lower_lim"] = lower_lim @@ -233,25 +232,29 @@ def include_more_diode_info(df: DataFrame) -> DataFrame: # remove unnecessary columns (otherwise, they are repeated after the merging) df_info = df_info.drop(columns={"status", "tstamp"}) # there is a repeated detector! Once with an additional blank space in front of its name: removed in case it is found - if " V00050B" in list(df_info['label'].unique()): - df_info = df_info[df_info['label'] != ' V00050B'] + if " V00050B" in list(df_info["label"].unique()): + df_info = df_info[df_info["label"] != " V00050B"] # remve 'HV filter test' and 'no cable' entries - df_info = df_info[~df_info['label'].str.contains('Ch')] + df_info = df_info[~df_info["label"].str.contains("Ch")] # remove other stuff (???) - if "?" in list(df_info['label'].unique()): - df_info = df_info[df_info['label'] != '?'] - if " routed" in list(df_info['label'].unique()): - df_info = df_info[df_info['label'] != ' routed'] - if "routed" in list(df_info['label'].unique()): - df_info = df_info[df_info['label'] != 'routed'] + if "?" in list(df_info["label"].unique()): + df_info = df_info[df_info["label"] != "?"] + if " routed" in list(df_info["label"].unique()): + df_info = df_info[df_info["label"] != " routed"] + if "routed" in list(df_info["label"].unique()): + df_info = df_info[df_info["label"] != "routed"] # Merge df_info into df based on 'crate' and 'slot' - merged_df = df.merge(df_info[['crate', 'slot', 'channel', 'label', 'group']], on=['crate', 'slot', 'channel'], how='left') - merged_df = merged_df.rename(columns={'label': 'name', 'group': 'string'}) + merged_df = df.merge( + df_info[["crate", "slot", "channel", "label", "group"]], + on=["crate", "slot", "channel"], + how="left", + ) + merged_df = merged_df.rename(columns={"label": "name", "group": "string"}) # remove "name"=NaN (ie entries for which there was not a correspondence among the two merged dataframes) - merged_df = merged_df.dropna(subset=['name']) + merged_df = merged_df.dropna(subset=["name"]) # switch from "String X" (str) to "X" (int) for entries of the 'string' column - merged_df['string'] = merged_df['string'].str.extract('(\d+)').astype(int) + merged_df["string"] = merged_df["string"].str.extract(r"(\d+)").astype(int) - return merged_df \ No newline at end of file + return merged_df From 9c68ad13fe4b0d41b791fa5dd807be15ce014d0b Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 16 May 2023 12:15:56 +0200 Subject: [PATCH 050/166] small fix --- src/legend_data_monitor/plot_sc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index 267aed3..e6a138c 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -236,7 +236,7 @@ def include_more_diode_info(df: DataFrame) -> DataFrame: if " V00050B" in list(df_info['label'].unique()): df_info = df_info[df_info['label'] != ' V00050B'] - # remve 'HV filter test' and 'no cable' entries + # remove 'HV filter test' and 'no cable' entries df_info = df_info[~df_info['label'].str.contains('Ch')] # remove other stuff (???) if "?" in list(df_info['label'].unique()): From 6b8dc04d09a25fad073cc69d890d564f2644b782 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 16 May 2023 10:16:38 +0000 Subject: [PATCH 051/166] style: pre-commit fixes --- src/legend_data_monitor/plot_sc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index b2e3c46..ed1fd43 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -236,7 +236,7 @@ def include_more_diode_info(df: DataFrame) -> DataFrame: df_info = df_info[df_info["label"] != " V00050B"] # remove 'HV filter test' and 'no cable' entries - df_info = df_info[~df_info['label'].str.contains('Ch')] + df_info = df_info[~df_info["label"].str.contains("Ch")] # remove other stuff (???) if "?" in list(df_info["label"].unique()): df_info = df_info[df_info["label"] != "?"] From 60d01d9293cd62ec20e78e74e932b644118fe565 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro <77326044+sofia-calgaro@users.noreply.github.com> Date: Tue, 16 May 2023 12:32:09 +0200 Subject: [PATCH 052/166] update --- src/legend_data_monitor/plot_sc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index ed1fd43..1aac7a5 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -8,7 +8,7 @@ from . import utils scdb = LegendSlowControlDB() -scdb.connect(password="legend00") # look on Confluence (or ask Sofia) for the password +scdb.connect(password="...") # look on Confluence (or ask Sofia) for the password # instead of dataset, retrieve 'config["dataset"]' from config json dataset = { From 5c14511b7728c4a6ca5e2cf6159c644962f8d94d Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 16 May 2023 16:47:37 +0200 Subject: [PATCH 053/166] fixed saving='overwrite' for par1 vs par2 --- src/legend_data_monitor/plot_sc.py | 2 +- src/legend_data_monitor/plotting.py | 13 ++-- src/legend_data_monitor/utils.py | 115 +++++++++++++++++++++++----- 3 files changed, 103 insertions(+), 27 deletions(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index ed1fd43..1aac7a5 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -8,7 +8,7 @@ from . import utils scdb = LegendSlowControlDB() -scdb.connect(password="legend00") # look on Confluence (or ask Sofia) for the password +scdb.connect(password="...") # look on Confluence (or ask Sofia) for the password # instead of dataset, retrieve 'config["dataset"]' from config json dataset = { diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 45c9060..02c2e36 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -244,17 +244,16 @@ def make_subsystem_plots( # ------------------------------------------------------------------------- # saving dataframe + plot info # ------------------------------------------------------------------------- - - par_dict_content = {} - - # saving dataframe data for each parameter - par_dict_content["df_" + plot_info["subsystem"]] = data_analysis.data - par_dict_content["plot_info"] = plot_info + # here we are not checking if we are plotting one or more than one parameter + # the output dataframe and plot_info objects are merged for more than one parameters + # this will be fixed at a later stage, when building the output dictionary through utils.build_out_dict(...) + par_dict_content = utils.save_df_and_info(data_analysis.data, plot_info) # ------------------------------------------------------------------------- # call status plot # ------------------------------------------------------------------------- + # ??? how to deal with more than one parameters? still not implemented if "status" in plot_settings and plot_settings["status"]: if subsystem.type in ["pulser", "pulser_aux", "FC_bsln", "muon"]: utils.logger.debug( @@ -272,7 +271,7 @@ def make_subsystem_plots( # building a dictionary with dataframe/plot_info to be later stored in a shelve object if saving is not None: out_dict = utils.build_out_dict( - plot_settings, plot_info, par_dict_content, out_dict, saving, plt_path + plot_settings, par_dict_content, out_dict ) # save in shelve object, overwriting the already existing file with new content (either completely new or new bunches) diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index a4c15b6..18c91ff 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -719,16 +719,37 @@ def add_config_entries( # Saving related functions # ------------------------------------------------------------------------- +def save_df_and_info(df: DataFrame, plot_info: dict) -> dict: + """Returns a dictionary containing a dataframe for the parameter(s) under study for a given subsystem. The plotting info are saved too.""" + par_dict_content = { + "df_" + plot_info["subsystem"]: df, # saving dataframe + "plot_info": plot_info # saving plotting info + } + + return par_dict_content + def build_out_dict( plot_settings: list, - plot_info: list, par_dict_content: dict, out_dict: dict, - saving: str, - plt_path: str, ): - """Build the output dictionary based on the input 'saving' option.""" + """ + Build the output dictionary based on the input 'saving' option. + + Parameters + ---------- + plot_settings + Dictionary with settings for plotting. It contains the following keys: 'parameters', 'event_type', 'plot_structure', 'resampled', 'plot_style', 'variation', 'time_window', 'range', 'saving', 'plt_path' + par_dict_content + Dictionary containing, for a given parameter, the dataframe with data and a dictionary with info for plotting (e.g. plot style, title, units, labels, ...) + out_dict + Dictionary that is returned, containing the objects that need to be saved. + """ + saving = plot_settings['saving'] if 'saving' in plot_settings.keys() else None + plt_path = plot_settings['plt_path'] if 'plt_path' in plot_settings.keys() else None + plot_info = par_dict_content['plot_info'] + # we overwrite the object with a new one if saving == "overwrite": out_dict = save_dict(plot_settings, plot_info, par_dict_content, out_dict) @@ -794,22 +815,78 @@ def save_dict( plot_settings: list, plot_info: list, par_dict_content: dict, out_dict: dict ): """Create a dictionary with the correct format for being saved in the final shelve object.""" - parameter = ( - plot_info["parameter"].split("_var")[0] - if "_var" in plot_info["parameter"] - else plot_info["parameter"] - ) - # event type key is already there - if plot_settings["event_type"] in out_dict.keys(): - out_dict[plot_settings["event_type"]][parameter] = par_dict_content - # event type key is NOT there - else: - # empty dictionary (not filled yet) - if len(out_dict.keys()) == 0: - out_dict = {plot_settings["event_type"]: {parameter: par_dict_content}} - # the dictionary already contains something (but for another event type selection) + # get the parameters under study (can be one, can be more for 'par vs par' plot style) + params = plot_info["parameters"] + + # one parameter + if len(params) == 1: + parameter = ( + plot_info["parameter"].split("_var")[0] + if "_var" in plot_info["parameter"] + else plot_info["parameter"] + ) + # --- building up the output dictionary + # event type key is already there + if plot_settings["event_type"] in out_dict.keys(): + out_dict[plot_settings["event_type"]][parameter] = par_dict_content + # event type key is NOT there else: - out_dict[plot_settings["event_type"]] = {parameter: par_dict_content} + # empty dictionary (not filled yet) + if len(out_dict.keys()) == 0: + out_dict = {plot_settings["event_type"]: {parameter: par_dict_content}} + # the dictionary already contains something (but for another event type selection) + else: + out_dict[plot_settings["event_type"]] = {parameter: par_dict_content} + # more than one parameter + else: + # some info we'll later need to better divide the parameters stored in the dataframe... + keep_cols = ['index', 'channel', 'HV_card', 'HV_channel', 'cc4_channel', 'cc4_id', 'daq_card', 'daq_crate', 'datetime', 'det_type', 'flag_fc_bsln', 'flag_muon', 'flag_pulser', 'location', 'name', 'position', 'status'] + keep_keys = ['subsystem', 'locname', 'plot_style', 'time_window', 'resampled', 'range', 'std'] + new_keys = ['unit', 'label', 'unit_label', 'parameters', 'param_mean'] + + for param in params: + parameter = ( + param.split("_var")[0] + if "_var" in param + else param + ) + + # we have to polish our dataframe and plot_info dictionary from other parameters... + # --- original objects + plot_info_all = par_dict_content["plot_info"] + df_all = par_dict_content["df_" + plot_info_all["subsystem"]] + + # --- cleaned plot_info + plot_info_param = {key: plot_info_all[key] for key in keep_keys} + # set a default title - that does not involve a second parameter in it + plot_info_param['title'] = f"Plotting {param}" + for new_key in new_keys: + obj = plot_info_all[new_key] + if isinstance(obj, dict): + plot_info_param[new_key] = [v for k,v in obj.items() if parameter in k][0] + if isinstance(obj, list): + plot_info_param[new_key] = [k for k in obj if parameter in k][0] + + # --- cleaned df + df_param = df_all.copy().drop(columns={x for x in df_all.columns if parameter not in x}) + df_cols = df_all.copy().drop(columns={x for x in df_all.columns if x not in keep_cols}) + df_param = concat([df_param, df_cols], axis=1) + + # --- rebuilding the 'par_dict_content' for the parameter under study + par_dict_content = save_df_and_info(df_param, plot_info_param) + + # --- building up the output dictionary + # event type key is already there + if plot_settings["event_type"] in out_dict.keys(): + out_dict[plot_settings["event_type"]][parameter] = par_dict_content + # event type key is NOT there + else: + # empty dictionary (not filled yet) + if len(out_dict.keys()) == 0: + out_dict = {plot_settings["event_type"]: {parameter: par_dict_content}} + # the dictionary already contains something (but for another event type selection) + else: + out_dict[plot_settings["event_type"]] = {parameter: par_dict_content} return out_dict From 67c2a7bc18988085e3d6810f888cd22760962fdf Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 16 May 2023 14:48:49 +0000 Subject: [PATCH 054/166] style: pre-commit fixes --- src/legend_data_monitor/plotting.py | 4 +- src/legend_data_monitor/utils.py | 77 ++++++++++++++++++++--------- 2 files changed, 56 insertions(+), 25 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 02c2e36..940d87f 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -270,9 +270,7 @@ def make_subsystem_plots( # building a dictionary with dataframe/plot_info to be later stored in a shelve object if saving is not None: - out_dict = utils.build_out_dict( - plot_settings, par_dict_content, out_dict - ) + out_dict = utils.build_out_dict(plot_settings, par_dict_content, out_dict) # save in shelve object, overwriting the already existing file with new content (either completely new or new bunches) if saving is not None: diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 18c91ff..139bf80 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -719,11 +719,12 @@ def add_config_entries( # Saving related functions # ------------------------------------------------------------------------- + def save_df_and_info(df: DataFrame, plot_info: dict) -> dict: """Returns a dictionary containing a dataframe for the parameter(s) under study for a given subsystem. The plotting info are saved too.""" par_dict_content = { - "df_" + plot_info["subsystem"]: df, # saving dataframe - "plot_info": plot_info # saving plotting info + "df_" + plot_info["subsystem"]: df, # saving dataframe + "plot_info": plot_info, # saving plotting info } return par_dict_content @@ -736,7 +737,7 @@ def build_out_dict( ): """ Build the output dictionary based on the input 'saving' option. - + Parameters ---------- plot_settings @@ -744,11 +745,11 @@ def build_out_dict( par_dict_content Dictionary containing, for a given parameter, the dataframe with data and a dictionary with info for plotting (e.g. plot style, title, units, labels, ...) out_dict - Dictionary that is returned, containing the objects that need to be saved. + Dictionary that is returned, containing the objects that need to be saved. """ - saving = plot_settings['saving'] if 'saving' in plot_settings.keys() else None - plt_path = plot_settings['plt_path'] if 'plt_path' in plot_settings.keys() else None - plot_info = par_dict_content['plot_info'] + saving = plot_settings["saving"] if "saving" in plot_settings.keys() else None + plt_path = plot_settings["plt_path"] if "plt_path" in plot_settings.keys() else None + plot_info = par_dict_content["plot_info"] # we overwrite the object with a new one if saving == "overwrite": @@ -840,36 +841,64 @@ def save_dict( # more than one parameter else: # some info we'll later need to better divide the parameters stored in the dataframe... - keep_cols = ['index', 'channel', 'HV_card', 'HV_channel', 'cc4_channel', 'cc4_id', 'daq_card', 'daq_crate', 'datetime', 'det_type', 'flag_fc_bsln', 'flag_muon', 'flag_pulser', 'location', 'name', 'position', 'status'] - keep_keys = ['subsystem', 'locname', 'plot_style', 'time_window', 'resampled', 'range', 'std'] - new_keys = ['unit', 'label', 'unit_label', 'parameters', 'param_mean'] + keep_cols = [ + "index", + "channel", + "HV_card", + "HV_channel", + "cc4_channel", + "cc4_id", + "daq_card", + "daq_crate", + "datetime", + "det_type", + "flag_fc_bsln", + "flag_muon", + "flag_pulser", + "location", + "name", + "position", + "status", + ] + keep_keys = [ + "subsystem", + "locname", + "plot_style", + "time_window", + "resampled", + "range", + "std", + ] + new_keys = ["unit", "label", "unit_label", "parameters", "param_mean"] for param in params: - parameter = ( - param.split("_var")[0] - if "_var" in param - else param - ) + parameter = param.split("_var")[0] if "_var" in param else param # we have to polish our dataframe and plot_info dictionary from other parameters... - # --- original objects + # --- original objects plot_info_all = par_dict_content["plot_info"] df_all = par_dict_content["df_" + plot_info_all["subsystem"]] # --- cleaned plot_info plot_info_param = {key: plot_info_all[key] for key in keep_keys} # set a default title - that does not involve a second parameter in it - plot_info_param['title'] = f"Plotting {param}" + plot_info_param["title"] = f"Plotting {param}" for new_key in new_keys: obj = plot_info_all[new_key] if isinstance(obj, dict): - plot_info_param[new_key] = [v for k,v in obj.items() if parameter in k][0] + plot_info_param[new_key] = [ + v for k, v in obj.items() if parameter in k + ][0] if isinstance(obj, list): plot_info_param[new_key] = [k for k in obj if parameter in k][0] # --- cleaned df - df_param = df_all.copy().drop(columns={x for x in df_all.columns if parameter not in x}) - df_cols = df_all.copy().drop(columns={x for x in df_all.columns if x not in keep_cols}) + df_param = df_all.copy().drop( + columns={x for x in df_all.columns if parameter not in x} + ) + df_cols = df_all.copy().drop( + columns={x for x in df_all.columns if x not in keep_cols} + ) df_param = concat([df_param, df_cols], axis=1) # --- rebuilding the 'par_dict_content' for the parameter under study @@ -883,10 +912,14 @@ def save_dict( else: # empty dictionary (not filled yet) if len(out_dict.keys()) == 0: - out_dict = {plot_settings["event_type"]: {parameter: par_dict_content}} + out_dict = { + plot_settings["event_type"]: {parameter: par_dict_content} + } # the dictionary already contains something (but for another event type selection) else: - out_dict[plot_settings["event_type"]] = {parameter: par_dict_content} + out_dict[plot_settings["event_type"]] = { + parameter: par_dict_content + } return out_dict From fc6aa874d3d6cced5b333f4a07d72071791f89e3 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 16 May 2023 16:55:06 +0200 Subject: [PATCH 055/166] fixed flake8 --- src/legend_data_monitor/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 18c91ff..55c7b1a 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -720,7 +720,7 @@ def add_config_entries( # ------------------------------------------------------------------------- def save_df_and_info(df: DataFrame, plot_info: dict) -> dict: - """Returns a dictionary containing a dataframe for the parameter(s) under study for a given subsystem. The plotting info are saved too.""" + """Return a dictionary containing a dataframe for the parameter(s) under study for a given subsystem. The plotting info are saved too.""" par_dict_content = { "df_" + plot_info["subsystem"]: df, # saving dataframe "plot_info": plot_info # saving plotting info From b9ac75181d45967476ac31cfa286e1502de64acd Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 17 May 2023 09:02:01 +0200 Subject: [PATCH 056/166] minor fixes in utils.py structure --- src/legend_data_monitor/utils.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 6c5b48b..4e49be9 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -814,7 +814,7 @@ def build_out_dict( def save_dict( plot_settings: list, plot_info: list, par_dict_content: dict, out_dict: dict -): +) -> dict: """Create a dictionary with the correct format for being saved in the final shelve object.""" # get the parameters under study (can be one, can be more for 'par vs par' plot style) params = plot_info["parameters"] @@ -870,15 +870,14 @@ def save_dict( "std", ] new_keys = ["unit", "label", "unit_label", "parameters", "param_mean"] + # we have to polish our dataframe and plot_info dictionary from other parameters... + # --- original objects + plot_info_all = par_dict_content["plot_info"] + df_all = par_dict_content["df_" + plot_info_all["subsystem"]] for param in params: parameter = param.split("_var")[0] if "_var" in param else param - # we have to polish our dataframe and plot_info dictionary from other parameters... - # --- original objects - plot_info_all = par_dict_content["plot_info"] - df_all = par_dict_content["df_" + plot_info_all["subsystem"]] - # --- cleaned plot_info plot_info_param = {key: plot_info_all[key] for key in keep_keys} # set a default title - that does not involve a second parameter in it From 33d70e1e85850b4cd16e7246d92dd7b98b797423 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 17 May 2023 09:33:46 +0200 Subject: [PATCH 057/166] fixed limits for multi-param case --- src/legend_data_monitor/plotting.py | 54 ++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 940d87f..fe0f5bd 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -6,6 +6,7 @@ import numpy as np from matplotlib.backends.backend_pdf import PdfPages from pandas import DataFrame +from typing import Union from seaborn import color_palette from . import analysis_data, plot_styles, string_visualization, subsystem, utils @@ -174,7 +175,7 @@ def make_subsystem_plots( # information needed for plot style depending on parameters # first, treat it like multiple parameters, add dictionary to each entry with values for each parameter - multi_param_info = ["unit", "label", "unit_label"] + multi_param_info = ["unit", "label", "unit_label", "limits"] for info in multi_param_info: plot_info[info] = {} @@ -192,11 +193,13 @@ def make_subsystem_plots( for param in plot_info["parameters"]: # plot info should contain final parameter to plot i.e. _var if var is asked - # unit and label are connected to original parameter name + # unit, label and limits are connected to original parameter name # this is messy AF need to rethink param_orig = param.rstrip("_var") plot_info["unit"][param] = utils.PLOT_INFO[param_orig]["unit"] plot_info["label"][param] = utils.PLOT_INFO[param_orig]["label"] + keyword = "variation" if plot_settings["variation"] else "absolute" + plot_info["limits"][param] = utils.PLOT_INFO[param_orig]["limits"][subsystem.type][keyword] # unit label should be % if variation was asked plot_info["unit_label"][param] = ( "%" if plot_settings["variation"] else plot_info["unit"][param_orig] @@ -260,9 +263,10 @@ def make_subsystem_plots( f"Thresholds are not enabled for {subsystem.type}! Use you own eyes to do checks there" ) else: - _ = string_visualization.status_plot( - subsystem, data_analysis.data, plot_info, pdf - ) + for param in params: + _ = string_visualization.status_plot( + subsystem, data_analysis.data, plot_info, pdf + ) # ------------------------------------------------------------------------- # save results @@ -379,9 +383,9 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): axes[ax_idx].set_ylabel("") # plot limits - # check if "limits" present, is not for pulser (otherwise crash when plotting e.g. event rate), is not for multi-params + # check if "limits" present, is not for pulser (otherwise crash when plotting e.g. event rate) if "limits" in plot_info: - plot_limits(axes[ax_idx], plot_info["limits"]) + plot_limits(axes[ax_idx], plot_info["parameters"], plot_info["limits"]) ax_idx += 1 @@ -478,7 +482,9 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): axes[ax_idx].legend(labels=labels, loc="center left", bbox_to_anchor=(1, 0.5)) # plot limits - plot_limits(axes[ax_idx], plot_info["limits"]) + # check if "limits" present, is not for pulser (otherwise crash when plotting e.g. event rate) + if "limits" in plot_info: + plot_limits(axes[ax_idx], plot_info["parameters"], plot_info["limits"]) ax_idx += 1 @@ -570,9 +576,10 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): axes[ax_idx].set_ylabel("") axes[ax_idx].legend(labels=labels, loc="center left", bbox_to_anchor=(1, 0.5)) - # plot limits if given + # plot limits + # check if "limits" present, is not for pulser (otherwise crash when plotting e.g. event rate) if "limits" in plot_info: - plot_limits(axes[ax_idx], plot_info["limits"]) + plot_limits(axes[ax_idx], plot_info["parameters"], plot_info["limits"]) ax_idx += 1 @@ -894,13 +901,26 @@ def get_fwhm_for_fixed_ch(data_channel: DataFrame, parameter: str) -> float: return formatted_fwhm -def plot_limits(ax: plt.Axes, limits: dict): - """Plot limits (if present) on the plot.""" - if not all([x is None for x in limits]): - if limits[0] is not None: - ax.axhline(y=limits[0], color="red", linestyle="--") - if limits[1] is not None: - ax.axhline(y=limits[1], color="red", linestyle="--") +def plot_limits(ax: plt.Axes, params: list, limits: Union[list, dict]): + """Plot limits (if present) on the plot. The multi-params case is carefully handled.""" + # one parameter case + if len(params) == 1: + if not all([x is None for x in limits]): + if limits[0] is not None: + ax.axhline(y=limits[0], color="red", linestyle="--") + if limits[1] is not None: + ax.axhline(y=limits[1], color="red", linestyle="--") + # multi-parameters case + if len(params) > 1: + for idx,param in enumerate(params): + limits_param = limits[param] + if not all([x is None for x in limits_param]): + if limits_param[0] is not None: + if idx == 0 : ax.axvline(x=limits_param[0], color="red", linestyle="--") + if idx == 1 : ax.axhline(y=limits_param[0], color="red", linestyle="--") + if limits_param[1] is not None: + if idx == 0 : ax.axvline(x=limits_param[1], color="red", linestyle="--") + if idx == 1 : ax.axhline(y=limits_param[1], color="red", linestyle="--") def save_pdf(plt, pdf: PdfPages): From 1a7650491edbffa973b8cbc81beaa3999b0f3486 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 17 May 2023 07:34:32 +0000 Subject: [PATCH 058/166] style: pre-commit fixes --- src/legend_data_monitor/plotting.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index fe0f5bd..2211bfa 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -1,12 +1,12 @@ import io import shelve +from typing import Union import matplotlib.patches as mpatches import matplotlib.pyplot as plt import numpy as np from matplotlib.backends.backend_pdf import PdfPages from pandas import DataFrame -from typing import Union from seaborn import color_palette from . import analysis_data, plot_styles, string_visualization, subsystem, utils @@ -199,7 +199,9 @@ def make_subsystem_plots( plot_info["unit"][param] = utils.PLOT_INFO[param_orig]["unit"] plot_info["label"][param] = utils.PLOT_INFO[param_orig]["label"] keyword = "variation" if plot_settings["variation"] else "absolute" - plot_info["limits"][param] = utils.PLOT_INFO[param_orig]["limits"][subsystem.type][keyword] + plot_info["limits"][param] = utils.PLOT_INFO[param_orig]["limits"][ + subsystem.type + ][keyword] # unit label should be % if variation was asked plot_info["unit_label"][param] = ( "%" if plot_settings["variation"] else plot_info["unit"][param_orig] @@ -912,15 +914,19 @@ def plot_limits(ax: plt.Axes, params: list, limits: Union[list, dict]): ax.axhline(y=limits[1], color="red", linestyle="--") # multi-parameters case if len(params) > 1: - for idx,param in enumerate(params): + for idx, param in enumerate(params): limits_param = limits[param] if not all([x is None for x in limits_param]): if limits_param[0] is not None: - if idx == 0 : ax.axvline(x=limits_param[0], color="red", linestyle="--") - if idx == 1 : ax.axhline(y=limits_param[0], color="red", linestyle="--") + if idx == 0: + ax.axvline(x=limits_param[0], color="red", linestyle="--") + if idx == 1: + ax.axhline(y=limits_param[0], color="red", linestyle="--") if limits_param[1] is not None: - if idx == 0 : ax.axvline(x=limits_param[1], color="red", linestyle="--") - if idx == 1 : ax.axhline(y=limits_param[1], color="red", linestyle="--") + if idx == 0: + ax.axvline(x=limits_param[1], color="red", linestyle="--") + if idx == 1: + ax.axhline(y=limits_param[1], color="red", linestyle="--") def save_pdf(plt, pdf: PdfPages): From 085d426a6ac2bf7fff7572d208bff8fd9f0dc311 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 17 May 2023 10:15:21 +0200 Subject: [PATCH 059/166] enabled status plot for multi-params case --- src/legend_data_monitor/plot_sc.py | 7 +-- src/legend_data_monitor/plotting.py | 13 +++- .../string_visualization.py | 9 ++- src/legend_data_monitor/utils.py | 59 ++++++++++++------- 4 files changed, 57 insertions(+), 31 deletions(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index 1aac7a5..cf42b2d 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -215,10 +215,9 @@ def apply_flags(df: DataFrame, sc_params: dict, flags_param: list) -> DataFrame: entry = sc_params["expressions"][flag]["entry"] df = df[df[column] == entry] - # check if the dataframe is empty - if df.empty: - utils.logger.error("\033[91mThe dataframe is empty. Exiting now!\033[0m") - exit() + # check if the dataframe is empty, if so, skip this plot + if utils.is_empty(data_analysis.data): + return # or exit - depending on how we will include these data in plotting return df diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index fe0f5bd..c177117 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -264,9 +264,16 @@ def make_subsystem_plots( ) else: for param in params: - _ = string_visualization.status_plot( - subsystem, data_analysis.data, plot_info, pdf - ) + # retrived the necessary info for the specific parameter under study (just in the multi-parameters case) + if len(params) == 1: + _ = string_visualization.status_plot( + subsystem, data_analysis.data, plot_info, pdf + ) + if len(params) > 1: + plot_info_param = utils.get_param_info(param, plot_info) + _ = string_visualization.status_plot( + subsystem, data_analysis.data, plot_info_param, pdf + ) # ------------------------------------------------------------------------- # save results diff --git a/src/legend_data_monitor/string_visualization.py b/src/legend_data_monitor/string_visualization.py index f275b7e..325049b 100644 --- a/src/legend_data_monitor/string_visualization.py +++ b/src/legend_data_monitor/string_visualization.py @@ -6,6 +6,7 @@ import matplotlib.pyplot as plt +import sys import numpy as np import seaborn as sns from matplotlib.backends.backend_pdf import PdfPages @@ -31,7 +32,7 @@ def status_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: PdfPa low_thr = plot_info["limits"][0] high_thr = plot_info["limits"][1] utils.logger.debug( - "...low threshold for " + "... low threshold for " + plot_info["parameter"] + " set at: " + str(low_thr) @@ -39,7 +40,7 @@ def status_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: PdfPa + plot_info["unit_label"] ) utils.logger.debug( - "...high threshold for " + "... high threshold for " + plot_info["parameter"] + " set at: " + str(high_thr) @@ -61,7 +62,9 @@ def status_plot(subsystem, data_analysis: DataFrame, plot_info: dict, pdf: PdfPa if low_thr is not None and high_thr is not None: plot_title += f"{plot_info['parameter']} < {low_thr} {plot_info['unit_label']} || {plot_info['parameter']} > {high_thr} {plot_info['unit_label']}" if low_thr is None and high_thr is None: - plot_title += f"{plot_info['parameter']} (no checks)" + # there is no point to check values if there are no thresholds + utils.logger.debug("... there are no thresholds to check for. We skip this!") + return new_dataframe = DataFrame() # loop over individual channels (otherwise, the problematic timestamps apply to all detectors, even the OK ones) and create a summary dataframe diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 4e49be9..bfee875 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -860,16 +860,6 @@ def save_dict( "position", "status", ] - keep_keys = [ - "subsystem", - "locname", - "plot_style", - "time_window", - "resampled", - "range", - "std", - ] - new_keys = ["unit", "label", "unit_label", "parameters", "param_mean"] # we have to polish our dataframe and plot_info dictionary from other parameters... # --- original objects plot_info_all = par_dict_content["plot_info"] @@ -879,17 +869,7 @@ def save_dict( parameter = param.split("_var")[0] if "_var" in param else param # --- cleaned plot_info - plot_info_param = {key: plot_info_all[key] for key in keep_keys} - # set a default title - that does not involve a second parameter in it - plot_info_param["title"] = f"Plotting {param}" - for new_key in new_keys: - obj = plot_info_all[new_key] - if isinstance(obj, dict): - plot_info_param[new_key] = [ - v for k, v in obj.items() if parameter in k - ][0] - if isinstance(obj, list): - plot_info_param[new_key] = [k for k in obj if parameter in k][0] + plot_info_param = get_param_info(param, plot_info_all) # --- cleaned df df_param = df_all.copy().drop( @@ -970,3 +950,40 @@ def is_empty(df: DataFrame): "\033[93mThe dataframe is empty. Plotting the next entry (if present, otherwise exiting from the code).\033[0m" ) return True + + +def get_param_info(param: str, plot_info: dict) -> dict: + """Get a dictionary with plotting info for the specified parameter ```param```. This is needed for the multi-parameters case.""" + # get the *naked* parameter name + parameter = param.split("_var")[0] if "_var" in param else param + keep_keys = [ + "subsystem", + "locname", + "plot_style", + "time_window", + "resampled", + "range", + "std", + ] + new_keys = ["unit", "label", "unit_label", "limits", "parameters", "param_mean"] + + # --- cleaned plot_info + plot_info_param = {key: plot_info[key] for key in keep_keys} + + # set a default title - that does not involve a second parameter in it + plot_info_param["title"] = f"Plotting {param}" + + # start the cleaning + for new_key in new_keys: + obj = plot_info[new_key] + if isinstance(obj, dict): + plot_info_param[new_key] = [ + v for k, v in obj.items() if parameter in k + ][0] + if isinstance(obj, list): + plot_info_param[new_key] = [k for k in obj if parameter in k][0] + + # need to go back to the one parameter case ... + plot_info_param['parameter'] = plot_info_param.pop('parameters') + + return plot_info_param \ No newline at end of file From 1664b7b228b102d31ca5027feffe9ade92d49cb4 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 17 May 2023 08:18:16 +0000 Subject: [PATCH 060/166] style: pre-commit fixes --- src/legend_data_monitor/plot_sc.py | 4 ++-- src/legend_data_monitor/plotting.py | 4 ++-- src/legend_data_monitor/string_visualization.py | 2 +- src/legend_data_monitor/utils.py | 10 ++++------ 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index cf42b2d..7f55612 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -215,9 +215,9 @@ def apply_flags(df: DataFrame, sc_params: dict, flags_param: list) -> DataFrame: entry = sc_params["expressions"][flag]["entry"] df = df[df[column] == entry] - # check if the dataframe is empty, if so, skip this plot + # check if the dataframe is empty, if so, skip this plot if utils.is_empty(data_analysis.data): - return # or exit - depending on how we will include these data in plotting + return # or exit - depending on how we will include these data in plotting return df diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 7048b1d..d91dc9e 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -271,8 +271,8 @@ def make_subsystem_plots( _ = string_visualization.status_plot( subsystem, data_analysis.data, plot_info, pdf ) - if len(params) > 1: - plot_info_param = utils.get_param_info(param, plot_info) + if len(params) > 1: + plot_info_param = utils.get_param_info(param, plot_info) _ = string_visualization.status_plot( subsystem, data_analysis.data, plot_info_param, pdf ) diff --git a/src/legend_data_monitor/string_visualization.py b/src/legend_data_monitor/string_visualization.py index 325049b..f107e8b 100644 --- a/src/legend_data_monitor/string_visualization.py +++ b/src/legend_data_monitor/string_visualization.py @@ -5,8 +5,8 @@ # See mapping user plot structure keywords to corresponding functions in the end of this file + import matplotlib.pyplot as plt -import sys import numpy as np import seaborn as sns from matplotlib.backends.backend_pdf import PdfPages diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index bfee875..a2456e2 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -977,13 +977,11 @@ def get_param_info(param: str, plot_info: dict) -> dict: for new_key in new_keys: obj = plot_info[new_key] if isinstance(obj, dict): - plot_info_param[new_key] = [ - v for k, v in obj.items() if parameter in k - ][0] + plot_info_param[new_key] = [v for k, v in obj.items() if parameter in k][0] if isinstance(obj, list): plot_info_param[new_key] = [k for k in obj if parameter in k][0] - + # need to go back to the one parameter case ... - plot_info_param['parameter'] = plot_info_param.pop('parameters') + plot_info_param["parameter"] = plot_info_param.pop("parameters") - return plot_info_param \ No newline at end of file + return plot_info_param From 2cf32eab7acabb20ea2c3e22a66ae350f2a28755 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 17 May 2023 10:26:11 +0200 Subject: [PATCH 061/166] small fixes --- src/legend_data_monitor/plot_sc.py | 4 ++-- src/legend_data_monitor/plotting.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index cf42b2d..10fa58d 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -216,8 +216,8 @@ def apply_flags(df: DataFrame, sc_params: dict, flags_param: list) -> DataFrame: df = df[df[column] == entry] # check if the dataframe is empty, if so, skip this plot - if utils.is_empty(data_analysis.data): - return # or exit - depending on how we will include these data in plotting + if utils.is_empty(df): + return # or exit - depending on how we will include these data in plotting return df diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 7048b1d..4bd0a68 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -266,7 +266,7 @@ def make_subsystem_plots( ) else: for param in params: - # retrived the necessary info for the specific parameter under study (just in the multi-parameters case) + # retrieved the necessary info for the specific parameter under study (just in the multi-parameters case) if len(params) == 1: _ = string_visualization.status_plot( subsystem, data_analysis.data, plot_info, pdf From 2f82b4cd020815d7fed19f82bf01439b71da6e2e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 17 May 2023 08:27:03 +0000 Subject: [PATCH 062/166] style: pre-commit fixes --- src/legend_data_monitor/plot_sc.py | 2 +- src/legend_data_monitor/string_visualization.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index 10fa58d..5e71bd7 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -217,7 +217,7 @@ def apply_flags(df: DataFrame, sc_params: dict, flags_param: list) -> DataFrame: # check if the dataframe is empty, if so, skip this plot if utils.is_empty(df): - return # or exit - depending on how we will include these data in plotting + return # or exit - depending on how we will include these data in plotting return df diff --git a/src/legend_data_monitor/string_visualization.py b/src/legend_data_monitor/string_visualization.py index f107e8b..d043a02 100644 --- a/src/legend_data_monitor/string_visualization.py +++ b/src/legend_data_monitor/string_visualization.py @@ -5,7 +5,6 @@ # See mapping user plot structure keywords to corresponding functions in the end of this file - import matplotlib.pyplot as plt import numpy as np import seaborn as sns From 296433c0c7d835e17536b69b5891d6dc284361d8 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 17 May 2023 10:54:25 +0200 Subject: [PATCH 063/166] added 'appenging' saving option for par1 vs par2 case --- src/legend_data_monitor/analysis_data.py | 69 +++++++++++------------- src/legend_data_monitor/plotting.py | 2 +- 2 files changed, 33 insertions(+), 38 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index f4eff99..bb0c876 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -413,44 +413,13 @@ def channel_mean(self): # open already existing shelve file with shelve.open(self.plt_path + "-" + subsys, "r") as shelf: old_dict = dict(shelf) - # get old dataframe (we are interested only in the column with mean values) - # !! need to update for multiple parameter case! (check of they are saved to understand what to retrieve with the 'append' option) - old_df = old_dict["monitoring"][self.evt_type][self.parameters[0]][ - "df_" + subsys - ] - """ - # to use in the future for a more refined version of updated mean values... - - # if previously we chose to plot % variations, we do not have anymore the absolute values to use when computing this new mean; - # what we can do, is to get absolute values starting from the mean and the % values present in the old dataframe' - # Later, we need to put these absolute values in the corresponding parameter column - if self.variation: - old_df[self.parameters] = (old_df[self.parameters] / 100 + 1) * old_df[self.parameters + "_mean"] - - merged_df = pd.concat([old_df, self.data], ignore_index=True, axis=0) - # remove 'level_0' column (if present) - merged_df = utils.check_level0(merged_df) - merged_df = merged_df.reset_index() - - self_data_time_cut = cut_dataframe(merged_df) - - # ...still we have to re-compute the % variations of previous time windows because now the mean estimate is different!!! - """ - - # subselect only columns of: 1) channel 2) mean values of param(s) of interest - channel_mean = old_df.filter( - items=["channel"] + [x + "_mean" for x in self.parameters] - ) - # later there will be a line renaming param to param_mean, so now need to rename back to no mean... - # this whole section has to be cleaned up - channel_mean = channel_mean.rename( - columns={param + "_mean": param for param in self.parameters} - ) - # drop potential duplicate rows - channel_mean = channel_mean.drop_duplicates(subset=["channel"]) - # set channel to index because that's how it comes out in previous cases from df.mean() - channel_mean = channel_mean.set_index("channel") + if len(self.parameters) == 1: + param = self.parameters[0] + channel_mean = get_saved_df(subsys, param, old_dict, self.evt_type) + if len(self.parameters) > 1: + for param in self.parameters: + channel_mean = get_saved_df(subsys, param, old_dict, self.evt_type) # some means are meaningless -> drop the corresponding column if "FWHM" in self.parameters: @@ -556,3 +525,29 @@ def cut_dataframe(data: pd.DataFrame) -> pd.DataFrame: thr_datetime = min_datetime + ten_percent_duration # 10% timestamp # get only the rows for datetimes before the 10% of the specified time range return data.loc[data["datetime"] < thr_datetime] + + +def get_saved_df(subsys: str, param: str, old_dict: dict, evt_type: str) -> pd.DataFrame: + """Get the already saved dataframe from the already saved output shelve file, for a given parameter ```param```.""" + # get old dataframe (we are interested only in the column with mean values) + # !! need to update for multiple parameter case! (check of they are saved to understand what to retrieve with the 'append' option) + old_df = old_dict["monitoring"][evt_type][param][ + "df_" + subsys + ] + + # subselect only columns of: 1) channel 2) mean values of param(s) of interest + channel_mean = old_df.filter( + items=["channel"] + [param + "_mean"] + ) + + # later there will be a line renaming param to param_mean, so now need to rename back to no mean... + # this whole section has to be cleaned up + channel_mean = channel_mean.rename( + columns={param + "_mean": param} + ) + # drop potential duplicate rows + channel_mean = channel_mean.drop_duplicates(subset=["channel"]) + # set channel to index because that's how it comes out in previous cases from df.mean() + channel_mean = channel_mean.set_index("channel") + + return channel_mean \ No newline at end of file diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index f3e36b3..76116a5 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -240,7 +240,7 @@ def make_subsystem_plots( ) else: utils.logger.debug("Plot structure: %s", plot_settings["plot_structure"]) - plot_structure(data_analysis.data, plot_info, pdf) + #plot_structure(data_analysis.data, plot_info, pdf) # For some reason, after some plotting functions the index is set to "channel". # We need to set it back otherwise string_visualization.py gets crazy and everything crashes. From f27e878a641942d47b1ec21686354734e19fec8e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 17 May 2023 08:54:51 +0000 Subject: [PATCH 064/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 28 ++++++++++++------------ src/legend_data_monitor/plotting.py | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index bb0c876..8eedd5e 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -416,10 +416,14 @@ def channel_mean(self): if len(self.parameters) == 1: param = self.parameters[0] - channel_mean = get_saved_df(subsys, param, old_dict, self.evt_type) + channel_mean = get_saved_df( + subsys, param, old_dict, self.evt_type + ) if len(self.parameters) > 1: for param in self.parameters: - channel_mean = get_saved_df(subsys, param, old_dict, self.evt_type) + channel_mean = get_saved_df( + subsys, param, old_dict, self.evt_type + ) # some means are meaningless -> drop the corresponding column if "FWHM" in self.parameters: @@ -527,27 +531,23 @@ def cut_dataframe(data: pd.DataFrame) -> pd.DataFrame: return data.loc[data["datetime"] < thr_datetime] -def get_saved_df(subsys: str, param: str, old_dict: dict, evt_type: str) -> pd.DataFrame: +def get_saved_df( + subsys: str, param: str, old_dict: dict, evt_type: str +) -> pd.DataFrame: """Get the already saved dataframe from the already saved output shelve file, for a given parameter ```param```.""" # get old dataframe (we are interested only in the column with mean values) # !! need to update for multiple parameter case! (check of they are saved to understand what to retrieve with the 'append' option) - old_df = old_dict["monitoring"][evt_type][param][ - "df_" + subsys - ] - + old_df = old_dict["monitoring"][evt_type][param]["df_" + subsys] + # subselect only columns of: 1) channel 2) mean values of param(s) of interest - channel_mean = old_df.filter( - items=["channel"] + [param + "_mean"] - ) + channel_mean = old_df.filter(items=["channel"] + [param + "_mean"]) # later there will be a line renaming param to param_mean, so now need to rename back to no mean... # this whole section has to be cleaned up - channel_mean = channel_mean.rename( - columns={param + "_mean": param} - ) + channel_mean = channel_mean.rename(columns={param + "_mean": param}) # drop potential duplicate rows channel_mean = channel_mean.drop_duplicates(subset=["channel"]) # set channel to index because that's how it comes out in previous cases from df.mean() channel_mean = channel_mean.set_index("channel") - return channel_mean \ No newline at end of file + return channel_mean diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 76116a5..a1be6c1 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -240,7 +240,7 @@ def make_subsystem_plots( ) else: utils.logger.debug("Plot structure: %s", plot_settings["plot_structure"]) - #plot_structure(data_analysis.data, plot_info, pdf) + # plot_structure(data_analysis.data, plot_info, pdf) # For some reason, after some plotting functions the index is set to "channel". # We need to set it back otherwise string_visualization.py gets crazy and everything crashes. From 4f264ad2726c32a2ddb9e396754980ea85923d52 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 17 May 2023 14:54:47 +0200 Subject: [PATCH 065/166] fixed appending of multiple params --- src/legend_data_monitor/plotting.py | 2 +- src/legend_data_monitor/utils.py | 159 ++++++++++++++++------------ 2 files changed, 92 insertions(+), 69 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 76116a5..a401b50 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -240,7 +240,7 @@ def make_subsystem_plots( ) else: utils.logger.debug("Plot structure: %s", plot_settings["plot_structure"]) - #plot_structure(data_analysis.data, plot_info, pdf) + #plot_structure(data_analysis.data, plot_info, pdf) # ACTIVATE ME !!!!!!!!!!!!!!!!!!!!!!!!!!!!! # For some reason, after some plotting functions the index is set to "channel". # We need to set it back otherwise string_visualization.py gets crazy and everything crashes. diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index a2456e2..29e77e9 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -757,11 +757,8 @@ def build_out_dict( # we retrieve the already existing shelve object, and we append new things to it; the parameter here is fixed if saving == "append": - # the file does not exist, so first we create it and then, at the next step, we'll append things + # the file does not exist, so we create it if not os.path.exists(plt_path + "-" + plot_info["subsystem"] + ".dat"): - # logger.warning( - # "\033[93mYou selected 'append' when saving, but the file with already saved data does not exist. For this reason, it will be created first.\033[0m" - # ) out_dict = save_dict(plot_settings, plot_info, par_dict_content, out_dict) # the file exists, so we are going to append data @@ -773,41 +770,14 @@ def build_out_dict( with shelve.open(plt_path + "-" + plot_info["subsystem"], "r") as shelf: old_dict = dict(shelf) - # the parameter is there - parameter = ( - plot_info["parameter"].split("_var")[0] - if "_var" in plot_info["parameter"] - else plot_info["parameter"] - ) - if old_dict["monitoring"]["pulser"][parameter]: - # get already present df - old_df = old_dict["monitoring"]["pulser"][parameter][ - "df_" + plot_info["subsystem"] - ] - old_df = check_level0(old_df) - # get new df (plot_info object is the same as before, no need to get it and update it) - new_df = par_dict_content["df_" + plot_info["subsystem"]] - # concatenate the two dfs (channels are no more grouped; not a problem) - merged_df = DataFrame.empty - merged_df = concat([old_df, new_df], ignore_index=True, axis=0) - merged_df = merged_df.reset_index() - merged_df = check_level0(merged_df) - # re-order content in order of channels/timestamps - merged_df = merged_df.sort_values(["channel", "datetime"]) - - # redefine the dict containing the df and plot_info - par_dict_content = {} - par_dict_content["df_" + plot_info["subsystem"]] = merged_df - par_dict_content["plot_info"] = plot_info - - # saved the merged df as usual - out_dict = save_dict( - plot_settings, plot_info, par_dict_content, old_dict["monitoring"] - ) - # we need to save it, otherwise when looping over the next parameter we lose the appended info for the already inspected parameter - out_file = shelve.open(plt_path + "-" + plot_info["subsystem"]) - out_file["monitoring"] = out_dict - out_file.close() + # one parameter case + if len(plot_settings['parameters']) == 1: + out_dict = append_new_data(plot_settings['parameters'][0], plot_settings, plot_info, old_dict, par_dict_content, plt_path) + # multi-parameters case + if len(plot_settings['parameters']) > 1: + for param in plot_settings['parameters']: + out_dict = append_new_data(param, plot_settings, plot_info, old_dict, par_dict_content, plt_path) + return out_dict @@ -817,7 +787,7 @@ def save_dict( ) -> dict: """Create a dictionary with the correct format for being saved in the final shelve object.""" # get the parameters under study (can be one, can be more for 'par vs par' plot style) - params = plot_info["parameters"] + params = plot_info["parameters"] if 'parameters' in plot_info.keys() else [plot_info["parameter"]] # one parameter if len(params) == 1: @@ -840,26 +810,6 @@ def save_dict( out_dict[plot_settings["event_type"]] = {parameter: par_dict_content} # more than one parameter else: - # some info we'll later need to better divide the parameters stored in the dataframe... - keep_cols = [ - "index", - "channel", - "HV_card", - "HV_channel", - "cc4_channel", - "cc4_id", - "daq_card", - "daq_crate", - "datetime", - "det_type", - "flag_fc_bsln", - "flag_muon", - "flag_pulser", - "location", - "name", - "position", - "status", - ] # we have to polish our dataframe and plot_info dictionary from other parameters... # --- original objects plot_info_all = par_dict_content["plot_info"] @@ -872,13 +822,7 @@ def save_dict( plot_info_param = get_param_info(param, plot_info_all) # --- cleaned df - df_param = df_all.copy().drop( - columns={x for x in df_all.columns if parameter not in x} - ) - df_cols = df_all.copy().drop( - columns={x for x in df_all.columns if x not in keep_cols} - ) - df_param = concat([df_param, df_cols], axis=1) + df_param = get_param_df(param, df_all) # --- rebuilding the 'par_dict_content' for the parameter under study par_dict_content = save_df_and_info(df_param, plot_info_param) @@ -903,6 +847,53 @@ def save_dict( return out_dict +def append_new_data(param: str, plot_settings: dict, plot_info: dict, old_dict: dict, par_dict_content: dict, plt_path: str) -> dict: + # the parameter is there + parameter = ( + param.split("_var")[0] + if "_var" in param + else param + ) + event_type = plot_settings['event_type'] + + if old_dict["monitoring"][event_type][parameter]: + # get already present df + old_df = old_dict["monitoring"][event_type][parameter][ + "df_" + plot_info["subsystem"] + ].copy() + old_df = check_level0(old_df) + + # get new df (plot_info object is the same as before, no need to get it and update it) + new_df = par_dict_content["df_" + plot_info["subsystem"]].copy() + # --- cleaned df + new_df = get_param_df(param, new_df) + + # concatenate the two dfs (channels are no more grouped; not a problem) + merged_df = DataFrame.empty + merged_df = concat([old_df, new_df], ignore_index=True, axis=0) + merged_df = merged_df.reset_index() + merged_df = check_level0(merged_df) + # re-order content in order of channels/timestamps + merged_df = merged_df.sort_values(["channel", "datetime"]) + + # redefine the dict containing the df and plot_info + par_dict_content = {} + par_dict_content["df_" + plot_info["subsystem"]] = merged_df + par_dict_content["plot_info"] = plot_info + + # saved the merged df as usual (but for the given parameter) + plot_info = get_param_info(param, plot_info) + out_dict = save_dict( + plot_settings, plot_info, par_dict_content, old_dict["monitoring"] + ) + # we need to save it, otherwise when looping over the next parameter we lose the appended info for the already inspected parameter + out_file = shelve.open(plt_path + "-" + plot_info["subsystem"]) + out_file["monitoring"] = out_dict + out_file.close() + + return out_dict + + def check_level0(dataframe: DataFrame) -> DataFrame: """Check if a dataframe contains the 'level_0' column. If so, remove it.""" if "level_0" in dataframe.columns: @@ -953,7 +944,7 @@ def is_empty(df: DataFrame): def get_param_info(param: str, plot_info: dict) -> dict: - """Get a dictionary with plotting info for the specified parameter ```param```. This is needed for the multi-parameters case.""" + """Subselect from 'plot_info' the plotting info for the specified parameter ```param```. This is needed for the multi-parameters case.""" # get the *naked* parameter name parameter = param.split("_var")[0] if "_var" in param else param keep_keys = [ @@ -985,3 +976,35 @@ def get_param_info(param: str, plot_info: dict) -> dict: plot_info_param["parameter"] = plot_info_param.pop("parameters") return plot_info_param + +def get_param_df(parameter: str, df: DataFrame) -> DataFrame: + """Subselect from 'df' only the dataframe columns that refer to a given parameter.""" + # list needed to better divide the parameters stored in the dataframe... + keep_cols = [ + "index", + "channel", + "HV_card", + "HV_channel", + "cc4_channel", + "cc4_id", + "daq_card", + "daq_crate", + "datetime", + "det_type", + "flag_fc_bsln", + "flag_muon", + "flag_pulser", + "location", + "name", + "position", + "status", + ] + df_param = df.copy().drop( + columns={x for x in df.columns if parameter not in x} + ) + df_cols = df.copy().drop( + columns={x for x in df.columns if x not in keep_cols} + ) + df_param = concat([df_param, df_cols], axis=1) + + return df_param \ No newline at end of file From 59f818f5858c1c80d6d5c6fc9dacd3fa913991f0 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 17 May 2023 12:57:08 +0000 Subject: [PATCH 066/166] style: pre-commit fixes --- src/legend_data_monitor/plotting.py | 2 +- src/legend_data_monitor/utils.py | 59 +++++++++++++++++++---------- 2 files changed, 39 insertions(+), 22 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 4681aec..f3e36b3 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -240,7 +240,7 @@ def make_subsystem_plots( ) else: utils.logger.debug("Plot structure: %s", plot_settings["plot_structure"]) - plot_structure(data_analysis.data, plot_info, pdf) + plot_structure(data_analysis.data, plot_info, pdf) # For some reason, after some plotting functions the index is set to "channel". # We need to set it back otherwise string_visualization.py gets crazy and everything crashes. diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 29e77e9..e0a0f2b 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -771,13 +771,26 @@ def build_out_dict( old_dict = dict(shelf) # one parameter case - if len(plot_settings['parameters']) == 1: - out_dict = append_new_data(plot_settings['parameters'][0], plot_settings, plot_info, old_dict, par_dict_content, plt_path) + if len(plot_settings["parameters"]) == 1: + out_dict = append_new_data( + plot_settings["parameters"][0], + plot_settings, + plot_info, + old_dict, + par_dict_content, + plt_path, + ) # multi-parameters case - if len(plot_settings['parameters']) > 1: - for param in plot_settings['parameters']: - out_dict = append_new_data(param, plot_settings, plot_info, old_dict, par_dict_content, plt_path) - + if len(plot_settings["parameters"]) > 1: + for param in plot_settings["parameters"]: + out_dict = append_new_data( + param, + plot_settings, + plot_info, + old_dict, + par_dict_content, + plt_path, + ) return out_dict @@ -787,7 +800,11 @@ def save_dict( ) -> dict: """Create a dictionary with the correct format for being saved in the final shelve object.""" # get the parameters under study (can be one, can be more for 'par vs par' plot style) - params = plot_info["parameters"] if 'parameters' in plot_info.keys() else [plot_info["parameter"]] + params = ( + plot_info["parameters"] + if "parameters" in plot_info.keys() + else [plot_info["parameter"]] + ) # one parameter if len(params) == 1: @@ -847,14 +864,17 @@ def save_dict( return out_dict -def append_new_data(param: str, plot_settings: dict, plot_info: dict, old_dict: dict, par_dict_content: dict, plt_path: str) -> dict: +def append_new_data( + param: str, + plot_settings: dict, + plot_info: dict, + old_dict: dict, + par_dict_content: dict, + plt_path: str, +) -> dict: # the parameter is there - parameter = ( - param.split("_var")[0] - if "_var" in param - else param - ) - event_type = plot_settings['event_type'] + parameter = param.split("_var")[0] if "_var" in param else param + event_type = plot_settings["event_type"] if old_dict["monitoring"][event_type][parameter]: # get already present df @@ -977,6 +997,7 @@ def get_param_info(param: str, plot_info: dict) -> dict: return plot_info_param + def get_param_df(parameter: str, df: DataFrame) -> DataFrame: """Subselect from 'df' only the dataframe columns that refer to a given parameter.""" # list needed to better divide the parameters stored in the dataframe... @@ -999,12 +1020,8 @@ def get_param_df(parameter: str, df: DataFrame) -> DataFrame: "position", "status", ] - df_param = df.copy().drop( - columns={x for x in df.columns if parameter not in x} - ) - df_cols = df.copy().drop( - columns={x for x in df.columns if x not in keep_cols} - ) + df_param = df.copy().drop(columns={x for x in df.columns if parameter not in x}) + df_cols = df.copy().drop(columns={x for x in df.columns if x not in keep_cols}) df_param = concat([df_param, df_cols], axis=1) - return df_param \ No newline at end of file + return df_param From 0a3b6adda5efca7e2a08765e827cb7937527ac0c Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 17 May 2023 16:17:12 +0200 Subject: [PATCH 067/166] fixed saving=append with var==true and multi-params case --- src/legend_data_monitor/analysis_data.py | 103 ++++++++++++++--------- src/legend_data_monitor/plotting.py | 2 +- src/legend_data_monitor/utils.py | 5 +- 3 files changed, 67 insertions(+), 43 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 8eedd5e..a63ea20 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -1,6 +1,6 @@ import os import shelve - +import sys import numpy as np import pandas as pd from legendmeta import LegendMetadata @@ -145,7 +145,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): "\033[91m'%s' either does not exist in 'par-settings.json' or you misspelled the parameter's name. TRY AGAIN.\033[0m", param, ) - exit() + sys.exit() # avoid repetition params_to_get = list(np.unique(params_to_get)) @@ -158,7 +158,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): "\033[91mOne/more entry/entries among %s is/are not present in the dataframe. TRY AGAIN.\033[0m", params_to_get, ) - exit() + sys.exit() # ------------------------------------------------------------------------- # select phy/puls/all/Klines events @@ -388,7 +388,9 @@ def channel_mean(self): {"channel": channels, self.parameters[0]: [None] * len(channels)} ) channel_mean = channel_mean.set_index("channel") - # otherwise, it's either the pulser or geds + # !! need to update for multiple parameter case! + self.data = concat_channel_mean(self, channel_mean) + # otherwise, it's either an aux or geds else: if self.saving is None or self.saving == "overwrite": # get the dataframe for timestamps below 10% of data present in the selected time window @@ -397,6 +399,8 @@ def channel_mean(self): channel_mean = self_data_time_cut.groupby("channel").mean( numeric_only=True )[self.parameters] + # concatenate column with mean values + self.data = concat_channel_mean(self, channel_mean) elif self.saving == "append": subsys = self.get_subsys() @@ -407,6 +411,8 @@ def channel_mean(self): channel_mean = self_data_time_cut.groupby("channel").mean( numeric_only=True )[self.parameters] + # concatenate column with mean values + self.data = concat_channel_mean(self, channel_mean) # the file exist: we have to combine previous data with new data, and re-compute the mean over the first 10% of data (that now, are more than before) else: @@ -419,29 +425,17 @@ def channel_mean(self): channel_mean = get_saved_df( subsys, param, old_dict, self.evt_type ) + # concatenate column with mean values + self.data = concat_channel_mean(self, channel_mean) if len(self.parameters) > 1: for param in self.parameters: + parameter = param.split("_var")[0] if "_var" in param else param channel_mean = get_saved_df( - subsys, param, old_dict, self.evt_type + subsys, parameter, old_dict, self.evt_type ) + # we need to repeat this operation for each param, otherwise only the mean of the last one survives + self.data = concat_channel_mean(self, channel_mean) - # some means are meaningless -> drop the corresponding column - if "FWHM" in self.parameters: - channel_mean.drop("FWHM", axis=1) - if "exposure" in self.parameters: - channel_mean.drop("exposure", axis=1) - - # rename columns to be param_mean - channel_mean = channel_mean.rename( - columns={param: param + "_mean" for param in self.parameters} - ) - # add it as column for convenience - repeating redundant information, but convenient - self.data = self.data.set_index("channel") - self.data = pd.concat( - [self.data, channel_mean.reindex(self.data.index)], axis=1 - ) - # put channel back in - self.data = self.data.reset_index() def calculate_variation(self): """ @@ -470,28 +464,38 @@ def is_spms(self) -> bool: def is_geds(self) -> bool: """Return True if 'location' (=string) and 'position' are NOT strings.""" - if not self.is_spms(): - return True - else: - False - + return not self.is_spms() + def is_pulser(self) -> bool: - """Return True if 'location' (=string) and 'position' are NOT strings.""" - if self.is_geds(): - if ( - self.data.iloc[0]["location"] == 0 - and self.data.iloc[0]["position"] == 0 - ): - return True - else: - return False - else: - return False + """Return True if the system is the pulser channel.""" + return self.is_geds() and self.data.iloc[0]["location"] == 0 and self.data.iloc[0]["position"] == 0 + + def is_pulser_aux(self) -> bool: + """Return True if the system is the pulser channel.""" + return self.is_geds() and self.data.iloc[0]["location"] == -1 and self.data.iloc[0]["position"] == -1 + + def is_FC_bsln(self) -> bool: + """Return True if the system is the FC baseline channel.""" + return self.is_geds() and self.data.iloc[0]["location"] == -2 and self.data.iloc[0]["position"] == -2 + + def is_muon(self) -> bool: + """Return True if the system is the muon channel.""" + return self.is_geds() and self.data.iloc[0]["location"] == -3 and self.data.iloc[0]["position"] == -3 + + def is_aux(self) -> bool: + """Return True if the system is an AUX channel.""" + return self.is_pulser() or self.is_pulser_aux() or self.is_FC_bsln() or self.is_muon() def get_subsys(self) -> str: - """Return 'pulser', 'geds' or 'spms'.""" + """Return 'pulser', 'pulser_aux', 'FC_bsln', 'muon', 'geds' or 'spms' depending on the subsystem type.""" if self.is_pulser(): return "pulser" + if self.is_pulser_aux(): + return "pulser_aux" + if self.is_FC_bsln(): + return "FC_bsln" + if self.is_muon(): + return "muon" if self.is_spms(): return "spms" if self.is_geds(): @@ -551,3 +555,24 @@ def get_saved_df( channel_mean = channel_mean.set_index("channel") return channel_mean + + +def concat_channel_mean(self, channel_mean): + """Build a dataframe accounting for mean values of parameter(s). It removes unnecessary columns too.""" + # some means are meaningless -> drop the corresponding column + if "FWHM" in self.parameters: + channel_mean.drop("FWHM", axis=1) + if "exposure" in self.parameters: + channel_mean.drop("exposure", axis=1) + + # rename columns to be param_mean + channel_mean = channel_mean.rename( + columns={param: param + "_mean" for param in self.parameters} + ) + # add it as column for convenience - repeating redundant information, but convenient + self.data = self.data.set_index("channel") + self.data = pd.concat( + [self.data, channel_mean.reindex(self.data.index)], axis=1 + ) + # put channel back in + return self.data.reset_index() \ No newline at end of file diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 4681aec..7d5daf6 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -240,7 +240,7 @@ def make_subsystem_plots( ) else: utils.logger.debug("Plot structure: %s", plot_settings["plot_structure"]) - plot_structure(data_analysis.data, plot_info, pdf) + #plot_structure(data_analysis.data, plot_info, pdf) # For some reason, after some plotting functions the index is set to "channel". # We need to set it back otherwise string_visualization.py gets crazy and everything crashes. diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 29e77e9..332f600 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -778,7 +778,6 @@ def build_out_dict( for param in plot_settings['parameters']: out_dict = append_new_data(param, plot_settings, plot_info, old_dict, par_dict_content, plt_path) - return out_dict @@ -822,7 +821,7 @@ def save_dict( plot_info_param = get_param_info(param, plot_info_all) # --- cleaned df - df_param = get_param_df(param, df_all) + df_param = get_param_df(parameter, df_all) # --- rebuilding the 'par_dict_content' for the parameter under study par_dict_content = save_df_and_info(df_param, plot_info_param) @@ -866,7 +865,7 @@ def append_new_data(param: str, plot_settings: dict, plot_info: dict, old_dict: # get new df (plot_info object is the same as before, no need to get it and update it) new_df = par_dict_content["df_" + plot_info["subsystem"]].copy() # --- cleaned df - new_df = get_param_df(param, new_df) + new_df = get_param_df(parameter, new_df) # concatenate the two dfs (channels are no more grouped; not a problem) merged_df = DataFrame.empty From 44b4a447350f1b8941547315e447e86e5cae7665 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 17 May 2023 14:23:21 +0000 Subject: [PATCH 068/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 51 +++++++++++++++++------- src/legend_data_monitor/utils.py | 15 +++++-- 2 files changed, 47 insertions(+), 19 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index a63ea20..7bbb570 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -1,6 +1,7 @@ import os import shelve import sys + import numpy as np import pandas as pd from legendmeta import LegendMetadata @@ -429,14 +430,15 @@ def channel_mean(self): self.data = concat_channel_mean(self, channel_mean) if len(self.parameters) > 1: for param in self.parameters: - parameter = param.split("_var")[0] if "_var" in param else param + parameter = ( + param.split("_var")[0] if "_var" in param else param + ) channel_mean = get_saved_df( subsys, parameter, old_dict, self.evt_type ) # we need to repeat this operation for each param, otherwise only the mean of the last one survives self.data = concat_channel_mean(self, channel_mean) - def calculate_variation(self): """ Add a new column containing the percentage variation of a given parameter. @@ -465,26 +467,47 @@ def is_spms(self) -> bool: def is_geds(self) -> bool: """Return True if 'location' (=string) and 'position' are NOT strings.""" return not self.is_spms() - + def is_pulser(self) -> bool: """Return True if the system is the pulser channel.""" - return self.is_geds() and self.data.iloc[0]["location"] == 0 and self.data.iloc[0]["position"] == 0 - + return ( + self.is_geds() + and self.data.iloc[0]["location"] == 0 + and self.data.iloc[0]["position"] == 0 + ) + def is_pulser_aux(self) -> bool: """Return True if the system is the pulser channel.""" - return self.is_geds() and self.data.iloc[0]["location"] == -1 and self.data.iloc[0]["position"] == -1 + return ( + self.is_geds() + and self.data.iloc[0]["location"] == -1 + and self.data.iloc[0]["position"] == -1 + ) def is_FC_bsln(self) -> bool: """Return True if the system is the FC baseline channel.""" - return self.is_geds() and self.data.iloc[0]["location"] == -2 and self.data.iloc[0]["position"] == -2 - + return ( + self.is_geds() + and self.data.iloc[0]["location"] == -2 + and self.data.iloc[0]["position"] == -2 + ) + def is_muon(self) -> bool: """Return True if the system is the muon channel.""" - return self.is_geds() and self.data.iloc[0]["location"] == -3 and self.data.iloc[0]["position"] == -3 - + return ( + self.is_geds() + and self.data.iloc[0]["location"] == -3 + and self.data.iloc[0]["position"] == -3 + ) + def is_aux(self) -> bool: """Return True if the system is an AUX channel.""" - return self.is_pulser() or self.is_pulser_aux() or self.is_FC_bsln() or self.is_muon() + return ( + self.is_pulser() + or self.is_pulser_aux() + or self.is_FC_bsln() + or self.is_muon() + ) def get_subsys(self) -> str: """Return 'pulser', 'pulser_aux', 'FC_bsln', 'muon', 'geds' or 'spms' depending on the subsystem type.""" @@ -571,8 +594,6 @@ def concat_channel_mean(self, channel_mean): ) # add it as column for convenience - repeating redundant information, but convenient self.data = self.data.set_index("channel") - self.data = pd.concat( - [self.data, channel_mean.reindex(self.data.index)], axis=1 - ) + self.data = pd.concat([self.data, channel_mean.reindex(self.data.index)], axis=1) # put channel back in - return self.data.reset_index() \ No newline at end of file + return self.data.reset_index() diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index d6423e9..1bb778e 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -781,10 +781,17 @@ def build_out_dict( plt_path, ) # multi-parameters case - if len(plot_settings['parameters']) > 1: - for param in plot_settings['parameters']: - out_dict = append_new_data(param, plot_settings, plot_info, old_dict, par_dict_content, plt_path) - + if len(plot_settings["parameters"]) > 1: + for param in plot_settings["parameters"]: + out_dict = append_new_data( + param, + plot_settings, + plot_info, + old_dict, + par_dict_content, + plt_path, + ) + return out_dict From abc5614b564af7a3eb3321fd6dcf34dae61b0dc0 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Thu, 18 May 2023 21:12:01 +0200 Subject: [PATCH 069/166] big fixes for appending new data for 1 or >1 params --- src/legend_data_monitor/plotting.py | 3 +- src/legend_data_monitor/utils.py | 107 +++++++++++++++++----------- 2 files changed, 66 insertions(+), 44 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index f3e36b3..06230da 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -241,6 +241,7 @@ def make_subsystem_plots( else: utils.logger.debug("Plot structure: %s", plot_settings["plot_structure"]) plot_structure(data_analysis.data, plot_info, pdf) + plot_structure(data_analysis.data, plot_info, pdf) # For some reason, after some plotting functions the index is set to "channel". # We need to set it back otherwise string_visualization.py gets crazy and everything crashes. @@ -251,7 +252,7 @@ def make_subsystem_plots( # ------------------------------------------------------------------------- # here we are not checking if we are plotting one or more than one parameter # the output dataframe and plot_info objects are merged for more than one parameters - # this will be fixed at a later stage, when building the output dictionary through utils.build_out_dict(...) + # this will be splitted at a later stage, when building the output dictionary through utils.build_out_dict(...) par_dict_content = utils.save_df_and_info(data_analysis.data, plot_info) # ------------------------------------------------------------------------- diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index d6423e9..f620f21 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -753,13 +753,13 @@ def build_out_dict( # we overwrite the object with a new one if saving == "overwrite": - out_dict = save_dict(plot_settings, plot_info, par_dict_content, out_dict) + out_dict = build_dict(plot_settings, plot_info, par_dict_content, out_dict) # we retrieve the already existing shelve object, and we append new things to it; the parameter here is fixed if saving == "append": # the file does not exist, so we create it if not os.path.exists(plt_path + "-" + plot_info["subsystem"] + ".dat"): - out_dict = save_dict(plot_settings, plot_info, par_dict_content, out_dict) + out_dict = build_dict(plot_settings, plot_info, par_dict_content, out_dict) # the file exists, so we are going to append data else: @@ -771,9 +771,10 @@ def build_out_dict( old_dict = dict(shelf) # one parameter case - if len(plot_settings["parameters"]) == 1: + if (isinstance(plot_settings["parameters"], list) and len(plot_settings["parameters"]) == 1) or isinstance(plot_settings['parameters'], str): + logger.debug("... appending new data for the one-parameter case") out_dict = append_new_data( - plot_settings["parameters"][0], + plot_settings["parameters"][0] if isinstance(plot_settings["parameters"], list) else plot_settings["parameters"], plot_settings, plot_info, old_dict, @@ -781,14 +782,15 @@ def build_out_dict( plt_path, ) # multi-parameters case - if len(plot_settings['parameters']) > 1: + if isinstance(plot_settings["parameters"], list) and len(plot_settings['parameters']) > 1: + logger.debug("... appending new data for the multi-parameters case") for param in plot_settings['parameters']: out_dict = append_new_data(param, plot_settings, plot_info, old_dict, par_dict_content, plt_path) return out_dict -def save_dict( +def build_dict( plot_settings: list, plot_info: list, par_dict_content: dict, out_dict: dict ) -> dict: """Create a dictionary with the correct format for being saved in the final shelve object.""" @@ -796,16 +798,22 @@ def save_dict( params = ( plot_info["parameters"] if "parameters" in plot_info.keys() - else [plot_info["parameter"]] + else plot_info["parameter"] ) # one parameter - if len(params) == 1: + #if len(params) == 1: + if (isinstance(params, list) and len(params) == 1) or isinstance(params, str): + if isinstance(params, list): + param = params[0] + if isinstance(params, str): + param = params parameter = ( - plot_info["parameter"].split("_var")[0] - if "_var" in plot_info["parameter"] - else plot_info["parameter"] + param.split("_var")[0] + if "_var" in param + else param ) + par_dict_content["plot_info"] = get_param_info(param, par_dict_content["plot_info"]) # --- building up the output dictionary # event type key is already there if plot_settings["event_type"] in out_dict.keys(): @@ -819,16 +827,32 @@ def save_dict( else: out_dict[plot_settings["event_type"]] = {parameter: par_dict_content} # more than one parameter - else: + #else: + if isinstance(params, list) and len(params) > 1: # we have to polish our dataframe and plot_info dictionary from other parameters... - # --- original objects + # --- original plot info + # ::::::::::::::::::::::::::::::::::::::::::: example 'plot_info_all' ::::::::::::::::::::::::::::::::::::::::::: + # {'title': 'Plotting cuspEmax vs baseline', 'subsystem': 'geds', 'locname': 'string', + # 'plot_style': 'par vs par', 'time_window': '10T', 'resampled': 'no', 'range': [None, None], 'std': False, + # 'unit': {'cuspEmax_var': 'ADC', 'baseline_var': 'ADC'}, + # 'label': {'cuspEmax_var': 'cuspEmax', 'baseline_var': 'FPGA baseline'}, + # 'unit_label': {'cuspEmax_var': '%', 'baseline_var': '%'}, + # 'limits': {'cuspEmax_var': [-0.025, 0.025], 'baseline_var': [-5, 5]}, + # 'parameters': ['cuspEmax_var', 'baseline_var'], + # 'param_mean': ['cuspEmax_mean', 'baseline_mean']} plot_info_all = par_dict_content["plot_info"] + + # --- original dataframes coming from the analysis df_all = par_dict_content["df_" + plot_info_all["subsystem"]] for param in params: parameter = param.split("_var")[0] if "_var" in param else param - # --- cleaned plot_info + # --- cleaned plot info + # ::::::::::::::::::::::::::::::::::::::::::: example 'plot_info_param' ::::::::::::::::::::::::::::::::::::::::::: + # {'title': 'Prove in corso', 'subsystem': 'geds', 'locname': 'string', 'plot_style': 'par vs par', 'time_window': '10T', + # 'resampled': 'no', 'range': [None, None], 'std': False, 'unit': 'ADC', 'label': 'cuspEmax', 'unit_label': '%', + # 'limits': [-0.025, 0.025], 'param_mean': 'cuspEmax_mean', 'parameter': 'cuspEmax_var', 'variation': True} plot_info_param = get_param_info(param, plot_info_all) # --- cleaned df @@ -896,7 +920,7 @@ def append_new_data( # saved the merged df as usual (but for the given parameter) plot_info = get_param_info(param, plot_info) - out_dict = save_dict( + out_dict = build_dict( plot_settings, plot_info, par_dict_content, old_dict["monitoring"] ) # we need to save it, otherwise when looping over the next parameter we lose the appended info for the already inspected parameter @@ -958,35 +982,32 @@ def is_empty(df: DataFrame): def get_param_info(param: str, plot_info: dict) -> dict: """Subselect from 'plot_info' the plotting info for the specified parameter ```param```. This is needed for the multi-parameters case.""" - # get the *naked* parameter name - parameter = param.split("_var")[0] if "_var" in param else param - keep_keys = [ - "subsystem", - "locname", - "plot_style", - "time_window", - "resampled", - "range", - "std", - ] - new_keys = ["unit", "label", "unit_label", "limits", "parameters", "param_mean"] - - # --- cleaned plot_info - plot_info_param = {key: plot_info[key] for key in keep_keys} - - # set a default title - that does not involve a second parameter in it + # get the *naked* parameter name and apply some if statements to avoid problems + param = param + "_var" if "_var" not in param else param + parameter = param.split("_var")[0] + + # but what if there is no % variation? We don't want any "_var" in our parameters! + if isinstance(plot_info["unit_label"], dict) and param not in plot_info["unit_label"].keys(): + if plot_info["unit_label"][parameter]: + param = parameter + if isinstance(plot_info["unit_label"], str): + if plot_info["unit_label"] == "%": + param = parameter + + # re-shape the plot_info dictionary for the given parameter under study + plot_info_param = plot_info.copy() plot_info_param["title"] = f"Plotting {param}" - - # start the cleaning - for new_key in new_keys: - obj = plot_info[new_key] - if isinstance(obj, dict): - plot_info_param[new_key] = [v for k, v in obj.items() if parameter in k][0] - if isinstance(obj, list): - plot_info_param[new_key] = [k for k in obj if parameter in k][0] - - # need to go back to the one parameter case ... - plot_info_param["parameter"] = plot_info_param.pop("parameters") + plot_info_param['unit'] = plot_info['unit'][param] if isinstance(plot_info['unit'], dict) else plot_info['unit'] + plot_info_param['label'] = plot_info['label'][param] if isinstance(plot_info['label'], dict) else plot_info['label'] + plot_info_param['unit_label'] = plot_info['unit_label'][param] if isinstance(plot_info['unit_label'], dict) else plot_info['unit_label'] + plot_info_param['limits'] = plot_info['limits'][param] if isinstance(plot_info['limits'], dict) else plot_info['limits'] + plot_info_param['parameters'] = param + plot_info_param['param_mean'] = parameter + "_mean" + plot_info_param['variation'] = True if plot_info_param['unit_label'] == "%" else False + + # ... need to go back to the one parameter case ... + if "parameters" in plot_info_param.keys(): + plot_info_param["parameter"] = plot_info_param.pop("parameters") return plot_info_param From 07b4027c1a5c3a895db8514dd44c28939e7bf044 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 18 May 2023 19:12:54 +0000 Subject: [PATCH 070/166] style: pre-commit fixes --- src/legend_data_monitor/utils.py | 98 +++++++++++++++++++++----------- 1 file changed, 66 insertions(+), 32 deletions(-) diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index f620f21..475d126 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -771,10 +771,15 @@ def build_out_dict( old_dict = dict(shelf) # one parameter case - if (isinstance(plot_settings["parameters"], list) and len(plot_settings["parameters"]) == 1) or isinstance(plot_settings['parameters'], str): + if ( + isinstance(plot_settings["parameters"], list) + and len(plot_settings["parameters"]) == 1 + ) or isinstance(plot_settings["parameters"], str): logger.debug("... appending new data for the one-parameter case") out_dict = append_new_data( - plot_settings["parameters"][0] if isinstance(plot_settings["parameters"], list) else plot_settings["parameters"], + plot_settings["parameters"][0] + if isinstance(plot_settings["parameters"], list) + else plot_settings["parameters"], plot_settings, plot_info, old_dict, @@ -782,11 +787,21 @@ def build_out_dict( plt_path, ) # multi-parameters case - if isinstance(plot_settings["parameters"], list) and len(plot_settings['parameters']) > 1: + if ( + isinstance(plot_settings["parameters"], list) + and len(plot_settings["parameters"]) > 1 + ): logger.debug("... appending new data for the multi-parameters case") - for param in plot_settings['parameters']: - out_dict = append_new_data(param, plot_settings, plot_info, old_dict, par_dict_content, plt_path) - + for param in plot_settings["parameters"]: + out_dict = append_new_data( + param, + plot_settings, + plot_info, + old_dict, + par_dict_content, + plt_path, + ) + return out_dict @@ -802,18 +817,16 @@ def build_dict( ) # one parameter - #if len(params) == 1: + # if len(params) == 1: if (isinstance(params, list) and len(params) == 1) or isinstance(params, str): if isinstance(params, list): param = params[0] if isinstance(params, str): param = params - parameter = ( - param.split("_var")[0] - if "_var" in param - else param + parameter = param.split("_var")[0] if "_var" in param else param + par_dict_content["plot_info"] = get_param_info( + param, par_dict_content["plot_info"] ) - par_dict_content["plot_info"] = get_param_info(param, par_dict_content["plot_info"]) # --- building up the output dictionary # event type key is already there if plot_settings["event_type"] in out_dict.keys(): @@ -827,18 +840,18 @@ def build_dict( else: out_dict[plot_settings["event_type"]] = {parameter: par_dict_content} # more than one parameter - #else: + # else: if isinstance(params, list) and len(params) > 1: # we have to polish our dataframe and plot_info dictionary from other parameters... # --- original plot info # ::::::::::::::::::::::::::::::::::::::::::: example 'plot_info_all' ::::::::::::::::::::::::::::::::::::::::::: - # {'title': 'Plotting cuspEmax vs baseline', 'subsystem': 'geds', 'locname': 'string', - # 'plot_style': 'par vs par', 'time_window': '10T', 'resampled': 'no', 'range': [None, None], 'std': False, - # 'unit': {'cuspEmax_var': 'ADC', 'baseline_var': 'ADC'}, - # 'label': {'cuspEmax_var': 'cuspEmax', 'baseline_var': 'FPGA baseline'}, - # 'unit_label': {'cuspEmax_var': '%', 'baseline_var': '%'}, - # 'limits': {'cuspEmax_var': [-0.025, 0.025], 'baseline_var': [-5, 5]}, - # 'parameters': ['cuspEmax_var', 'baseline_var'], + # {'title': 'Plotting cuspEmax vs baseline', 'subsystem': 'geds', 'locname': 'string', + # 'plot_style': 'par vs par', 'time_window': '10T', 'resampled': 'no', 'range': [None, None], 'std': False, + # 'unit': {'cuspEmax_var': 'ADC', 'baseline_var': 'ADC'}, + # 'label': {'cuspEmax_var': 'cuspEmax', 'baseline_var': 'FPGA baseline'}, + # 'unit_label': {'cuspEmax_var': '%', 'baseline_var': '%'}, + # 'limits': {'cuspEmax_var': [-0.025, 0.025], 'baseline_var': [-5, 5]}, + # 'parameters': ['cuspEmax_var', 'baseline_var'], # 'param_mean': ['cuspEmax_mean', 'baseline_mean']} plot_info_all = par_dict_content["plot_info"] @@ -850,8 +863,8 @@ def build_dict( # --- cleaned plot info # ::::::::::::::::::::::::::::::::::::::::::: example 'plot_info_param' ::::::::::::::::::::::::::::::::::::::::::: - # {'title': 'Prove in corso', 'subsystem': 'geds', 'locname': 'string', 'plot_style': 'par vs par', 'time_window': '10T', - # 'resampled': 'no', 'range': [None, None], 'std': False, 'unit': 'ADC', 'label': 'cuspEmax', 'unit_label': '%', + # {'title': 'Prove in corso', 'subsystem': 'geds', 'locname': 'string', 'plot_style': 'par vs par', 'time_window': '10T', + # 'resampled': 'no', 'range': [None, None], 'std': False, 'unit': 'ADC', 'label': 'cuspEmax', 'unit_label': '%', # 'limits': [-0.025, 0.025], 'param_mean': 'cuspEmax_mean', 'parameter': 'cuspEmax_var', 'variation': True} plot_info_param = get_param_info(param, plot_info_all) @@ -987,27 +1000,48 @@ def get_param_info(param: str, plot_info: dict) -> dict: parameter = param.split("_var")[0] # but what if there is no % variation? We don't want any "_var" in our parameters! - if isinstance(plot_info["unit_label"], dict) and param not in plot_info["unit_label"].keys(): + if ( + isinstance(plot_info["unit_label"], dict) + and param not in plot_info["unit_label"].keys() + ): if plot_info["unit_label"][parameter]: param = parameter if isinstance(plot_info["unit_label"], str): if plot_info["unit_label"] == "%": param = parameter - + # re-shape the plot_info dictionary for the given parameter under study plot_info_param = plot_info.copy() plot_info_param["title"] = f"Plotting {param}" - plot_info_param['unit'] = plot_info['unit'][param] if isinstance(plot_info['unit'], dict) else plot_info['unit'] - plot_info_param['label'] = plot_info['label'][param] if isinstance(plot_info['label'], dict) else plot_info['label'] - plot_info_param['unit_label'] = plot_info['unit_label'][param] if isinstance(plot_info['unit_label'], dict) else plot_info['unit_label'] - plot_info_param['limits'] = plot_info['limits'][param] if isinstance(plot_info['limits'], dict) else plot_info['limits'] - plot_info_param['parameters'] = param - plot_info_param['param_mean'] = parameter + "_mean" - plot_info_param['variation'] = True if plot_info_param['unit_label'] == "%" else False + plot_info_param["unit"] = ( + plot_info["unit"][param] + if isinstance(plot_info["unit"], dict) + else plot_info["unit"] + ) + plot_info_param["label"] = ( + plot_info["label"][param] + if isinstance(plot_info["label"], dict) + else plot_info["label"] + ) + plot_info_param["unit_label"] = ( + plot_info["unit_label"][param] + if isinstance(plot_info["unit_label"], dict) + else plot_info["unit_label"] + ) + plot_info_param["limits"] = ( + plot_info["limits"][param] + if isinstance(plot_info["limits"], dict) + else plot_info["limits"] + ) + plot_info_param["parameters"] = param + plot_info_param["param_mean"] = parameter + "_mean" + plot_info_param["variation"] = ( + True if plot_info_param["unit_label"] == "%" else False + ) # ... need to go back to the one parameter case ... if "parameters" in plot_info_param.keys(): - plot_info_param["parameter"] = plot_info_param.pop("parameters") + plot_info_param["parameter"] = plot_info_param.pop("parameters") return plot_info_param From da98ae1596683f92531645be3f86946393fb14c8 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Thu, 18 May 2023 21:15:59 +0200 Subject: [PATCH 071/166] minor style fixes --- src/legend_data_monitor/analysis_data.py | 6 +++--- src/legend_data_monitor/plotting.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 7bbb570..71c8ec1 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -484,7 +484,7 @@ def is_pulser_aux(self) -> bool: and self.data.iloc[0]["position"] == -1 ) - def is_FC_bsln(self) -> bool: + def is_fc_bsln(self) -> bool: """Return True if the system is the FC baseline channel.""" return ( self.is_geds() @@ -505,7 +505,7 @@ def is_aux(self) -> bool: return ( self.is_pulser() or self.is_pulser_aux() - or self.is_FC_bsln() + or self.is_fc_bsln() or self.is_muon() ) @@ -515,7 +515,7 @@ def get_subsys(self) -> str: return "pulser" if self.is_pulser_aux(): return "pulser_aux" - if self.is_FC_bsln(): + if self.is_fc_bsln(): return "FC_bsln" if self.is_muon(): return "muon" diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 06230da..af6e42d 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -252,7 +252,7 @@ def make_subsystem_plots( # ------------------------------------------------------------------------- # here we are not checking if we are plotting one or more than one parameter # the output dataframe and plot_info objects are merged for more than one parameters - # this will be splitted at a later stage, when building the output dictionary through utils.build_out_dict(...) + # this will be split at a later stage, when building the output dictionary through utils.build_out_dict(...) par_dict_content = utils.save_df_and_info(data_analysis.data, plot_info) # ------------------------------------------------------------------------- From c51855f3d44b4bab85510adb296ee6fc46bfb599 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 19 May 2023 10:51:36 +0200 Subject: [PATCH 072/166] fixed output plot info --- src/legend_data_monitor/plotting.py | 1 - src/legend_data_monitor/utils.py | 13 +++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index af6e42d..28c3254 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -241,7 +241,6 @@ def make_subsystem_plots( else: utils.logger.debug("Plot structure: %s", plot_settings["plot_structure"]) plot_structure(data_analysis.data, plot_info, pdf) - plot_structure(data_analysis.data, plot_info, pdf) # For some reason, after some plotting functions the index is set to "channel". # We need to set it back otherwise string_visualization.py gets crazy and everything crashes. diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 475d126..acafa4c 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -817,8 +817,8 @@ def build_dict( ) # one parameter - # if len(params) == 1: if (isinstance(params, list) and len(params) == 1) or isinstance(params, str): + logger.debug("... building the output dictionary in the one-parameter case") if isinstance(params, list): param = params[0] if isinstance(params, str): @@ -840,8 +840,8 @@ def build_dict( else: out_dict[plot_settings["event_type"]] = {parameter: par_dict_content} # more than one parameter - # else: if isinstance(params, list) and len(params) > 1: + logger.debug("... building the output dictionary in the multi-parameters case") # we have to polish our dataframe and plot_info dictionary from other parameters... # --- original plot info # ::::::::::::::::::::::::::::::::::::::::::: example 'plot_info_all' ::::::::::::::::::::::::::::::::::::::::::: @@ -936,11 +936,12 @@ def append_new_data( out_dict = build_dict( plot_settings, plot_info, par_dict_content, old_dict["monitoring"] ) + # we need to save it, otherwise when looping over the next parameter we lose the appended info for the already inspected parameter out_file = shelve.open(plt_path + "-" + plot_info["subsystem"]) out_file["monitoring"] = out_dict out_file.close() - + return out_dict @@ -1004,10 +1005,10 @@ def get_param_info(param: str, plot_info: dict) -> dict: isinstance(plot_info["unit_label"], dict) and param not in plot_info["unit_label"].keys() ): - if plot_info["unit_label"][parameter]: + if plot_info["unit_label"][parameter] != "%": param = parameter if isinstance(plot_info["unit_label"], str): - if plot_info["unit_label"] == "%": + if plot_info["unit_label"] != "%": param = parameter # re-shape the plot_info dictionary for the given parameter under study @@ -1033,11 +1034,11 @@ def get_param_info(param: str, plot_info: dict) -> dict: if isinstance(plot_info["limits"], dict) else plot_info["limits"] ) - plot_info_param["parameters"] = param plot_info_param["param_mean"] = parameter + "_mean" plot_info_param["variation"] = ( True if plot_info_param["unit_label"] == "%" else False ) + plot_info_param["parameters"] = param if plot_info_param["variation"] is True else parameter # ... need to go back to the one parameter case ... if "parameters" in plot_info_param.keys(): From d475a4aa7f4a7eaed1659070cc6d3143a7448f2b Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 19 May 2023 08:51:57 +0000 Subject: [PATCH 073/166] style: pre-commit fixes --- src/legend_data_monitor/utils.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index acafa4c..1fc5124 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -936,12 +936,12 @@ def append_new_data( out_dict = build_dict( plot_settings, plot_info, par_dict_content, old_dict["monitoring"] ) - + # we need to save it, otherwise when looping over the next parameter we lose the appended info for the already inspected parameter out_file = shelve.open(plt_path + "-" + plot_info["subsystem"]) out_file["monitoring"] = out_dict out_file.close() - + return out_dict @@ -1038,7 +1038,9 @@ def get_param_info(param: str, plot_info: dict) -> dict: plot_info_param["variation"] = ( True if plot_info_param["unit_label"] == "%" else False ) - plot_info_param["parameters"] = param if plot_info_param["variation"] is True else parameter + plot_info_param["parameters"] = ( + param if plot_info_param["variation"] is True else parameter + ) # ... need to go back to the one parameter case ... if "parameters" in plot_info_param.keys(): From 451f7c4fcd3d05c4a885cd21ae73932cd199ea70 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 19 May 2023 17:53:24 +0200 Subject: [PATCH 074/166] fixed append for special parameters --- src/legend_data_monitor/plotting.py | 4 +-- src/legend_data_monitor/utils.py | 47 ++++++++++++++++++++++++++--- 2 files changed, 44 insertions(+), 7 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 28c3254..23dfd3f 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -913,14 +913,14 @@ def get_fwhm_for_fixed_ch(data_channel: DataFrame, parameter: str) -> float: def plot_limits(ax: plt.Axes, params: list, limits: Union[list, dict]): """Plot limits (if present) on the plot. The multi-params case is carefully handled.""" # one parameter case - if len(params) == 1: + if (isinstance(params, list) and len(params) == 1) or isinstance(params, str): if not all([x is None for x in limits]): if limits[0] is not None: ax.axhline(y=limits[0], color="red", linestyle="--") if limits[1] is not None: ax.axhline(y=limits[1], color="red", linestyle="--") # multi-parameters case - if len(params) > 1: + else: for idx, param in enumerate(params): limits_param = limits[param] if not all([x is None for x in limits_param]): diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 1fc5124..920ab88 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -917,6 +917,8 @@ def append_new_data( new_df = par_dict_content["df_" + plot_info["subsystem"]].copy() # --- cleaned df new_df = get_param_df(parameter, new_df) + #print(f"this is my old df (columns={old_df.columns})\n", old_df) + #print(f"this is my new df (columns={new_df.columns})\n", new_df) # concatenate the two dfs (channels are no more grouped; not a problem) merged_df = DataFrame.empty @@ -925,6 +927,7 @@ def append_new_data( merged_df = check_level0(merged_df) # re-order content in order of channels/timestamps merged_df = merged_df.sort_values(["channel", "datetime"]) + #print("this is the merged df\n", merged_df) # redefine the dict containing the df and plot_info par_dict_content = {} @@ -941,6 +944,7 @@ def append_new_data( out_file = shelve.open(plt_path + "-" + plot_info["subsystem"]) out_file["monitoring"] = out_dict out_file.close() + #exit() return out_dict @@ -1043,14 +1047,14 @@ def get_param_info(param: str, plot_info: dict) -> dict: ) # ... need to go back to the one parameter case ... - if "parameters" in plot_info_param.keys(): - plot_info_param["parameter"] = plot_info_param.pop("parameters") + #if "parameters" in plot_info_param.keys(): + # plot_info_param["parameter"] = plot_info_param.pop("parameters") return plot_info_param def get_param_df(parameter: str, df: DataFrame) -> DataFrame: - """Subselect from 'df' only the dataframe columns that refer to a given parameter.""" + """Subselect from 'df' only the dataframe columns that refer to a given parameter. The case of 'parameter' being a special parameter is carefully handled.""" # list needed to better divide the parameters stored in the dataframe... keep_cols = [ "index", @@ -1073,6 +1077,39 @@ def get_param_df(parameter: str, df: DataFrame) -> DataFrame: ] df_param = df.copy().drop(columns={x for x in df.columns if parameter not in x}) df_cols = df.copy().drop(columns={x for x in df.columns if x not in keep_cols}) - df_param = concat([df_param, df_cols], axis=1) - + + # check if the parameter belongs to a special one + if parameter in SPECIAL_PARAMETERS: + # get the other columns to keep in the new dataframe + other_cols_to_keep = SPECIAL_PARAMETERS[parameter] + # initialize an empty dataframe + df_other_cols = DataFrame() + # we might want to load one or more special columns + # (of course, avoid to load columns if the special parameter does not request any special parameter, + # eg event rate or exposure are not build on the basis of any other parameter) + + # + one column only + if isinstance(other_cols_to_keep, str) and other_cols_to_keep is not None: + df_other_cols = df.copy().drop(columns={x for x in df.columns if x != other_cols_to_keep}) + # + more than one column + if isinstance(other_cols_to_keep, list): + for col in other_cols_to_keep: + if col is not None: + #print(f"loading column={col}") + # this is the first column we are putting in 'df_other_cols' + if df_other_cols.empty: + df_other_cols = df.copy().drop(columns={x for x in df.columns if x != col}) + # there are already column(s) in 'df_other_cols' + else: + new_col = df.copy().drop(columns={x for x in df.columns if x != col}) + df_other_cols = concat([df_other_cols, new_col], axis=1) + else: + df_other_cols = DataFrame() + + # concatenate everything + df_param = concat([df_param, df_cols, df_other_cols], axis=1) + #print(f"this is my concatenated object\n:{df_param}") + #print(f"columns: {df_param.columns}") + #exit() + return df_param From eab1f0170dfb3faf22c750bbcf9da92965c8ae53 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 19 May 2023 15:56:33 +0000 Subject: [PATCH 075/166] style: pre-commit fixes --- src/legend_data_monitor/utils.py | 38 ++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 920ab88..8665fba 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -917,8 +917,8 @@ def append_new_data( new_df = par_dict_content["df_" + plot_info["subsystem"]].copy() # --- cleaned df new_df = get_param_df(parameter, new_df) - #print(f"this is my old df (columns={old_df.columns})\n", old_df) - #print(f"this is my new df (columns={new_df.columns})\n", new_df) + # print(f"this is my old df (columns={old_df.columns})\n", old_df) + # print(f"this is my new df (columns={new_df.columns})\n", new_df) # concatenate the two dfs (channels are no more grouped; not a problem) merged_df = DataFrame.empty @@ -927,7 +927,7 @@ def append_new_data( merged_df = check_level0(merged_df) # re-order content in order of channels/timestamps merged_df = merged_df.sort_values(["channel", "datetime"]) - #print("this is the merged df\n", merged_df) + # print("this is the merged df\n", merged_df) # redefine the dict containing the df and plot_info par_dict_content = {} @@ -944,7 +944,7 @@ def append_new_data( out_file = shelve.open(plt_path + "-" + plot_info["subsystem"]) out_file["monitoring"] = out_dict out_file.close() - #exit() + # exit() return out_dict @@ -1047,7 +1047,7 @@ def get_param_info(param: str, plot_info: dict) -> dict: ) # ... need to go back to the one parameter case ... - #if "parameters" in plot_info_param.keys(): + # if "parameters" in plot_info_param.keys(): # plot_info_param["parameter"] = plot_info_param.pop("parameters") return plot_info_param @@ -1077,39 +1077,45 @@ def get_param_df(parameter: str, df: DataFrame) -> DataFrame: ] df_param = df.copy().drop(columns={x for x in df.columns if parameter not in x}) df_cols = df.copy().drop(columns={x for x in df.columns if x not in keep_cols}) - + # check if the parameter belongs to a special one if parameter in SPECIAL_PARAMETERS: # get the other columns to keep in the new dataframe other_cols_to_keep = SPECIAL_PARAMETERS[parameter] # initialize an empty dataframe df_other_cols = DataFrame() - # we might want to load one or more special columns - # (of course, avoid to load columns if the special parameter does not request any special parameter, + # we might want to load one or more special columns + # (of course, avoid to load columns if the special parameter does not request any special parameter, # eg event rate or exposure are not build on the basis of any other parameter) # + one column only if isinstance(other_cols_to_keep, str) and other_cols_to_keep is not None: - df_other_cols = df.copy().drop(columns={x for x in df.columns if x != other_cols_to_keep}) + df_other_cols = df.copy().drop( + columns={x for x in df.columns if x != other_cols_to_keep} + ) # + more than one column if isinstance(other_cols_to_keep, list): for col in other_cols_to_keep: if col is not None: - #print(f"loading column={col}") + # print(f"loading column={col}") # this is the first column we are putting in 'df_other_cols' if df_other_cols.empty: - df_other_cols = df.copy().drop(columns={x for x in df.columns if x != col}) + df_other_cols = df.copy().drop( + columns={x for x in df.columns if x != col} + ) # there are already column(s) in 'df_other_cols' else: - new_col = df.copy().drop(columns={x for x in df.columns if x != col}) + new_col = df.copy().drop( + columns={x for x in df.columns if x != col} + ) df_other_cols = concat([df_other_cols, new_col], axis=1) else: df_other_cols = DataFrame() # concatenate everything df_param = concat([df_param, df_cols, df_other_cols], axis=1) - #print(f"this is my concatenated object\n:{df_param}") - #print(f"columns: {df_param.columns}") - #exit() - + # print(f"this is my concatenated object\n:{df_param}") + # print(f"columns: {df_param.columns}") + # exit() + return df_param From 0cdf465eb11d8b18d01aa28f90974df75dae46a1 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 19 May 2023 18:20:37 +0200 Subject: [PATCH 076/166] fixed duplication of channel means in appended obj --- src/legend_data_monitor/analysis_data.py | 44 ++++++++++++++---------- src/legend_data_monitor/utils.py | 10 ++---- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 71c8ec1..ea02777 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -422,9 +422,9 @@ def channel_mean(self): old_dict = dict(shelf) if len(self.parameters) == 1: - param = self.parameters[0] + param = self.parameters[0] ### ??? or self.parameters[0].split("_var")[0] if "_var" in self.parameters[0] else self.parameters[0] channel_mean = get_saved_df( - subsys, param, old_dict, self.evt_type + self, subsys, param, old_dict, self.evt_type ) # concatenate column with mean values self.data = concat_channel_mean(self, channel_mean) @@ -434,10 +434,11 @@ def channel_mean(self): param.split("_var")[0] if "_var" in param else param ) channel_mean = get_saved_df( - subsys, parameter, old_dict, self.evt_type + self, subsys, parameter, old_dict, self.evt_type ) # we need to repeat this operation for each param, otherwise only the mean of the last one survives self.data = concat_channel_mean(self, channel_mean) + def calculate_variation(self): """ @@ -547,31 +548,38 @@ def get_seconds(time_window: str): return int(time_window.rstrip(time_unit)) * str_to_seconds[time_unit] -def cut_dataframe(data: pd.DataFrame) -> pd.DataFrame: - """Get mean value of the parameters under study over the first 10% of data present in the selected time range.""" - min_datetime = data["datetime"].min() # first timestamp - max_datetime = data["datetime"].max() # last timestamp +def cut_dataframe(df: pd.DataFrame) -> pd.DataFrame: + """Get mean value of the parameters under study over the first 10% of data present in the selected time range of the input dataframe.""" + min_datetime = df["datetime"].min() # first timestamp + max_datetime = df["datetime"].max() # last timestamp duration = max_datetime - min_datetime ten_percent_duration = duration * 0.1 thr_datetime = min_datetime + ten_percent_duration # 10% timestamp # get only the rows for datetimes before the 10% of the specified time range - return data.loc[data["datetime"] < thr_datetime] + return df.loc[df["datetime"] < thr_datetime] def get_saved_df( - subsys: str, param: str, old_dict: dict, evt_type: str + self, subsys: str, param: str, old_dict: dict, evt_type: str ) -> pd.DataFrame: - """Get the already saved dataframe from the already saved output shelve file, for a given parameter ```param```.""" + """Get the already saved dataframe from the already saved output shelve file, for a given parameter ```param```. In particular, """ # get old dataframe (we are interested only in the column with mean values) - # !! need to update for multiple parameter case! (check of they are saved to understand what to retrieve with the 'append' option) old_df = old_dict["monitoring"][evt_type][param]["df_" + subsys] - # subselect only columns of: 1) channel 2) mean values of param(s) of interest - channel_mean = old_df.filter(items=["channel"] + [param + "_mean"]) + # we need to re-calculate the mean value over the new bigger time window! + # we retrieve aboslute values of already saved df, we use + old_absolute_values = old_df.copy().filter(items=["channel", "datetime", param]) # param works if variation=false; check it for variation=true !!!! + new_absolute_values = self.data.copy().filter(items=["channel", "datetime", param]) # param works if variation=false; check it for variation=true !!!! + + concatenated_df = pd.concat([old_absolute_values, new_absolute_values], ignore_index=True) + # get the dataframe for timestamps below 10% of data present in the selected time window + concatenated_df_time_cut = cut_dataframe(concatenated_df) + # remove 'datetime' column (it was necessary just to evaluate again the first 10% of data, necessary to evaluate the mean on the new dataset) + concatenated_df_time_cut = concatenated_df_time_cut.drop(columns=["datetime"]) + + # create a column with the mean of the cut dataframe (cut in the time window of interest) + channel_mean = concatenated_df_time_cut.groupby("channel")[param].mean().reset_index() - # later there will be a line renaming param to param_mean, so now need to rename back to no mean... - # this whole section has to be cleaned up - channel_mean = channel_mean.rename(columns={param + "_mean": param}) # drop potential duplicate rows channel_mean = channel_mean.drop_duplicates(subset=["channel"]) # set channel to index because that's how it comes out in previous cases from df.mean() @@ -580,7 +588,7 @@ def get_saved_df( return channel_mean -def concat_channel_mean(self, channel_mean): +def concat_channel_mean(self, channel_mean) -> pd.DataFrame: """Build a dataframe accounting for mean values of parameter(s). It removes unnecessary columns too.""" # some means are meaningless -> drop the corresponding column if "FWHM" in self.parameters: @@ -595,5 +603,5 @@ def concat_channel_mean(self, channel_mean): # add it as column for convenience - repeating redundant information, but convenient self.data = self.data.set_index("channel") self.data = pd.concat([self.data, channel_mean.reindex(self.data.index)], axis=1) - # put channel back in + return self.data.reset_index() diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 920ab88..6dac6e6 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -917,8 +917,8 @@ def append_new_data( new_df = par_dict_content["df_" + plot_info["subsystem"]].copy() # --- cleaned df new_df = get_param_df(parameter, new_df) - #print(f"this is my old df (columns={old_df.columns})\n", old_df) - #print(f"this is my new df (columns={new_df.columns})\n", new_df) + # we have to copy the new means in the old one, otherwise we end up with two values + old_df[parameter + "_mean"] = new_df[parameter + "_mean"] # concatenate the two dfs (channels are no more grouped; not a problem) merged_df = DataFrame.empty @@ -927,7 +927,6 @@ def append_new_data( merged_df = check_level0(merged_df) # re-order content in order of channels/timestamps merged_df = merged_df.sort_values(["channel", "datetime"]) - #print("this is the merged df\n", merged_df) # redefine the dict containing the df and plot_info par_dict_content = {} @@ -944,7 +943,6 @@ def append_new_data( out_file = shelve.open(plt_path + "-" + plot_info["subsystem"]) out_file["monitoring"] = out_dict out_file.close() - #exit() return out_dict @@ -1095,7 +1093,6 @@ def get_param_df(parameter: str, df: DataFrame) -> DataFrame: if isinstance(other_cols_to_keep, list): for col in other_cols_to_keep: if col is not None: - #print(f"loading column={col}") # this is the first column we are putting in 'df_other_cols' if df_other_cols.empty: df_other_cols = df.copy().drop(columns={x for x in df.columns if x != col}) @@ -1108,8 +1105,5 @@ def get_param_df(parameter: str, df: DataFrame) -> DataFrame: # concatenate everything df_param = concat([df_param, df_cols, df_other_cols], axis=1) - #print(f"this is my concatenated object\n:{df_param}") - #print(f"columns: {df_param.columns}") - #exit() return df_param From b3ec9254a553868dadd8dd6e91523d09f1fde194 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 19 May 2023 16:22:42 +0000 Subject: [PATCH 077/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 27 ++++++++++++++++-------- src/legend_data_monitor/utils.py | 2 +- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index ea02777..376475a 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -422,7 +422,9 @@ def channel_mean(self): old_dict = dict(shelf) if len(self.parameters) == 1: - param = self.parameters[0] ### ??? or self.parameters[0].split("_var")[0] if "_var" in self.parameters[0] else self.parameters[0] + param = self.parameters[ + 0 + ] ### ??? or self.parameters[0].split("_var")[0] if "_var" in self.parameters[0] else self.parameters[0] channel_mean = get_saved_df( self, subsys, param, old_dict, self.evt_type ) @@ -438,7 +440,6 @@ def channel_mean(self): ) # we need to repeat this operation for each param, otherwise only the mean of the last one survives self.data = concat_channel_mean(self, channel_mean) - def calculate_variation(self): """ @@ -562,23 +563,31 @@ def cut_dataframe(df: pd.DataFrame) -> pd.DataFrame: def get_saved_df( self, subsys: str, param: str, old_dict: dict, evt_type: str ) -> pd.DataFrame: - """Get the already saved dataframe from the already saved output shelve file, for a given parameter ```param```. In particular, """ + """Get the already saved dataframe from the already saved output shelve file, for a given parameter ```param```. In particular,""" # get old dataframe (we are interested only in the column with mean values) old_df = old_dict["monitoring"][evt_type][param]["df_" + subsys] # we need to re-calculate the mean value over the new bigger time window! - # we retrieve aboslute values of already saved df, we use - old_absolute_values = old_df.copy().filter(items=["channel", "datetime", param]) # param works if variation=false; check it for variation=true !!!! - new_absolute_values = self.data.copy().filter(items=["channel", "datetime", param]) # param works if variation=false; check it for variation=true !!!! - - concatenated_df = pd.concat([old_absolute_values, new_absolute_values], ignore_index=True) + # we retrieve aboslute values of already saved df, we use + old_absolute_values = old_df.copy().filter( + items=["channel", "datetime", param] + ) # param works if variation=false; check it for variation=true !!!! + new_absolute_values = self.data.copy().filter( + items=["channel", "datetime", param] + ) # param works if variation=false; check it for variation=true !!!! + + concatenated_df = pd.concat( + [old_absolute_values, new_absolute_values], ignore_index=True + ) # get the dataframe for timestamps below 10% of data present in the selected time window concatenated_df_time_cut = cut_dataframe(concatenated_df) # remove 'datetime' column (it was necessary just to evaluate again the first 10% of data, necessary to evaluate the mean on the new dataset) concatenated_df_time_cut = concatenated_df_time_cut.drop(columns=["datetime"]) # create a column with the mean of the cut dataframe (cut in the time window of interest) - channel_mean = concatenated_df_time_cut.groupby("channel")[param].mean().reset_index() + channel_mean = ( + concatenated_df_time_cut.groupby("channel")[param].mean().reset_index() + ) # drop potential duplicate rows channel_mean = channel_mean.drop_duplicates(subset=["channel"]) diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 86676d7..547bc29 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -1111,5 +1111,5 @@ def get_param_df(parameter: str, df: DataFrame) -> DataFrame: # concatenate everything df_param = concat([df_param, df_cols, df_other_cols], axis=1) - + return df_param From eeb7e7fb1687748eeef77220259f3487f93c850b Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 30 May 2023 09:23:18 +0200 Subject: [PATCH 078/166] fixed flake 8 errors and missing K_events entry in plot dict --- src/legend_data_monitor/analysis_data.py | 6 +++--- src/legend_data_monitor/plotting.py | 11 +++++++---- src/legend_data_monitor/utils.py | 5 +++++ 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 376475a..5e77363 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -424,7 +424,7 @@ def channel_mean(self): if len(self.parameters) == 1: param = self.parameters[ 0 - ] ### ??? or self.parameters[0].split("_var")[0] if "_var" in self.parameters[0] else self.parameters[0] + ] # ??? or self.parameters[0].split("_var")[0] if "_var" in self.parameters[0] else self.parameters[0] channel_mean = get_saved_df( self, subsys, param, old_dict, self.evt_type ) @@ -563,12 +563,12 @@ def cut_dataframe(df: pd.DataFrame) -> pd.DataFrame: def get_saved_df( self, subsys: str, param: str, old_dict: dict, evt_type: str ) -> pd.DataFrame: - """Get the already saved dataframe from the already saved output shelve file, for a given parameter ```param```. In particular,""" + """Get the already saved dataframe from the already saved output shelve file, for a given parameter ```param```. In particular.""" # get old dataframe (we are interested only in the column with mean values) old_df = old_dict["monitoring"][evt_type][param]["df_" + subsys] # we need to re-calculate the mean value over the new bigger time window! - # we retrieve aboslute values of already saved df, we use + # we retrieve absolute values of already saved df, we use old_absolute_values = old_df.copy().filter( items=["channel", "datetime", param] ) # param works if variation=false; check it for variation=true !!!! diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 23dfd3f..9ec4c05 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -175,7 +175,7 @@ def make_subsystem_plots( # information needed for plot style depending on parameters # first, treat it like multiple parameters, add dictionary to each entry with values for each parameter - multi_param_info = ["unit", "label", "unit_label", "limits"] + multi_param_info = ["unit", "label", "unit_label", "limits", "K_events"] for info in multi_param_info: plot_info[info] = {} @@ -201,11 +201,14 @@ def make_subsystem_plots( keyword = "variation" if plot_settings["variation"] else "absolute" plot_info["limits"][param] = utils.PLOT_INFO[param_orig]["limits"][ subsystem.type - ][keyword] + ][keyword] if subsystem.type in utils.PLOT_INFO[param_orig]["limits"].keys() else [None, None] # unit label should be % if variation was asked plot_info["unit_label"][param] = ( "%" if plot_settings["variation"] else plot_info["unit"][param_orig] ) + plot_info["K_events"][param] = (plot_settings["event_type"] == "K_events") and ( + param == utils.SPECIAL_PARAMETERS["K_events"][0] + ) if len(params) == 1: # change "parameters" to "parameter" - for single-param plotting functions @@ -258,20 +261,20 @@ def make_subsystem_plots( # call status plot # ------------------------------------------------------------------------- - # ??? how to deal with more than one parameters? still not implemented if "status" in plot_settings and plot_settings["status"]: if subsystem.type in ["pulser", "pulser_aux", "FC_bsln", "muon"]: utils.logger.debug( f"Thresholds are not enabled for {subsystem.type}! Use you own eyes to do checks there" ) else: + # take care of one parameter and multiple parameters cases for param in params: - # retrieved the necessary info for the specific parameter under study (just in the multi-parameters case) if len(params) == 1: _ = string_visualization.status_plot( subsystem, data_analysis.data, plot_info, pdf ) if len(params) > 1: + # retrieved the necessary info for the specific parameter under study (just in the multi-parameters case) plot_info_param = utils.get_param_info(param, plot_info) _ = string_visualization.status_plot( subsystem, data_analysis.data, plot_info_param, pdf diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 547bc29..6d10222 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -1036,6 +1036,11 @@ def get_param_info(param: str, plot_info: dict) -> dict: if isinstance(plot_info["limits"], dict) else plot_info["limits"] ) + plot_info_param["K_events"] = ( + plot_info["K_events"][param] + if isinstance(plot_info["K_events"], dict) + else plot_info["K_events"] + ) plot_info_param["param_mean"] = parameter + "_mean" plot_info_param["variation"] = ( True if plot_info_param["unit_label"] == "%" else False From 2983d07513386267ac393e0aaafb17c14f458a85 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 30 May 2023 07:23:36 +0000 Subject: [PATCH 079/166] style: pre-commit fixes --- src/legend_data_monitor/plotting.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 9ec4c05..6fca4a8 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -199,16 +199,18 @@ def make_subsystem_plots( plot_info["unit"][param] = utils.PLOT_INFO[param_orig]["unit"] plot_info["label"][param] = utils.PLOT_INFO[param_orig]["label"] keyword = "variation" if plot_settings["variation"] else "absolute" - plot_info["limits"][param] = utils.PLOT_INFO[param_orig]["limits"][ - subsystem.type - ][keyword] if subsystem.type in utils.PLOT_INFO[param_orig]["limits"].keys() else [None, None] + plot_info["limits"][param] = ( + utils.PLOT_INFO[param_orig]["limits"][subsystem.type][keyword] + if subsystem.type in utils.PLOT_INFO[param_orig]["limits"].keys() + else [None, None] + ) # unit label should be % if variation was asked plot_info["unit_label"][param] = ( "%" if plot_settings["variation"] else plot_info["unit"][param_orig] ) - plot_info["K_events"][param] = (plot_settings["event_type"] == "K_events") and ( - param == utils.SPECIAL_PARAMETERS["K_events"][0] - ) + plot_info["K_events"][param] = ( + plot_settings["event_type"] == "K_events" + ) and (param == utils.SPECIAL_PARAMETERS["K_events"][0]) if len(params) == 1: # change "parameters" to "parameter" - for single-param plotting functions From ed6838a52e301bfac7a3abed0e42e52ceb6e3915 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 30 May 2023 10:25:34 +0200 Subject: [PATCH 080/166] fixed mean values when merging old+new df --- src/legend_data_monitor/analysis_data.py | 14 ++++++++------ src/legend_data_monitor/plotting.py | 2 +- src/legend_data_monitor/utils.py | 12 +++++++++--- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 5e77363..357916f 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -424,12 +424,14 @@ def channel_mean(self): if len(self.parameters) == 1: param = self.parameters[ 0 - ] # ??? or self.parameters[0].split("_var")[0] if "_var" in self.parameters[0] else self.parameters[0] + ] channel_mean = get_saved_df( self, subsys, param, old_dict, self.evt_type ) # concatenate column with mean values self.data = concat_channel_mean(self, channel_mean) + + if len(self.parameters) > 1: for param in self.parameters: parameter = ( @@ -563,7 +565,7 @@ def cut_dataframe(df: pd.DataFrame) -> pd.DataFrame: def get_saved_df( self, subsys: str, param: str, old_dict: dict, evt_type: str ) -> pd.DataFrame: - """Get the already saved dataframe from the already saved output shelve file, for a given parameter ```param```. In particular.""" + """Get the already saved dataframe from the already saved output shelve file, for a given parameter ```param```. In particular, it evaluates again the mean over the new 10% of data in the new larger time window.""" # get old dataframe (we are interested only in the column with mean values) old_df = old_dict["monitoring"][evt_type][param]["df_" + subsys] @@ -571,17 +573,17 @@ def get_saved_df( # we retrieve absolute values of already saved df, we use old_absolute_values = old_df.copy().filter( items=["channel", "datetime", param] - ) # param works if variation=false; check it for variation=true !!!! + ) new_absolute_values = self.data.copy().filter( items=["channel", "datetime", param] - ) # param works if variation=false; check it for variation=true !!!! + ) concatenated_df = pd.concat( [old_absolute_values, new_absolute_values], ignore_index=True ) # get the dataframe for timestamps below 10% of data present in the selected time window concatenated_df_time_cut = cut_dataframe(concatenated_df) - # remove 'datetime' column (it was necessary just to evaluate again the first 10% of data, necessary to evaluate the mean on the new dataset) + # remove 'datetime' column (it was necessary just to evaluate again the first 10% of data that are necessary to evaluate the mean on the new dataset) concatenated_df_time_cut = concatenated_df_time_cut.drop(columns=["datetime"]) # create a column with the mean of the cut dataframe (cut in the time window of interest) @@ -598,7 +600,7 @@ def get_saved_df( def concat_channel_mean(self, channel_mean) -> pd.DataFrame: - """Build a dataframe accounting for mean values of parameter(s). It removes unnecessary columns too.""" + """Add a new column containing the mean values of the inspected parameter.""" # some means are meaningless -> drop the corresponding column if "FWHM" in self.parameters: channel_mean.drop("FWHM", axis=1) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 9ec4c05..c36ab9b 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -243,7 +243,7 @@ def make_subsystem_plots( ) else: utils.logger.debug("Plot structure: %s", plot_settings["plot_structure"]) - plot_structure(data_analysis.data, plot_info, pdf) + #plot_structure(data_analysis.data, plot_info, pdf) # For some reason, after some plotting functions the index is set to "channel". # We need to set it back otherwise string_visualization.py gets crazy and everything crashes. diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 6d10222..f2b5497 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -178,9 +178,10 @@ def get_query_times(**kwargs): last_file = last_dsp_files[-1] # extract timestamps first_timestamp = get_key(first_file) + # last timestamp is not the key of last file: it's the last timestamp saved in the last file last_timestamp = get_last_timestamp( last_file - ) # ma non e' l'ultimo timestamp, per quello bisogna aprire il file e prendere l'ultima entry!!! + ) return timerange, first_timestamp, last_timestamp @@ -917,8 +918,13 @@ def append_new_data( new_df = par_dict_content["df_" + plot_info["subsystem"]].copy() # --- cleaned df new_df = get_param_df(parameter, new_df) - # we have to copy the new means in the old one, otherwise we end up with two values - old_df[parameter + "_mean"] = new_df[parameter + "_mean"] + + + # --- we have to copy the new means in the old one, otherwise we end up with two values (consider they have different lengths!) + # Create a dictionary mapping 'channel' values to 'parameter_mean' values from new_df + mean_dict = new_df.set_index('channel')[parameter + '_mean'].to_dict() + # Update 'parameter_mean' values in old_df based on the dictionary mapping + old_df[parameter + '_mean'] = old_df['channel'].map(mean_dict).fillna(old_df[parameter + '_mean']) # concatenate the two dfs (channels are no more grouped; not a problem) merged_df = DataFrame.empty From 383fb3807673b23d8b3f674d27aa0a199ca59bc3 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 30 May 2023 08:25:56 +0000 Subject: [PATCH 081/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 13 +++---------- src/legend_data_monitor/plotting.py | 2 +- src/legend_data_monitor/utils.py | 13 ++++++------- 3 files changed, 10 insertions(+), 18 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 357916f..cebe13c 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -422,16 +422,13 @@ def channel_mean(self): old_dict = dict(shelf) if len(self.parameters) == 1: - param = self.parameters[ - 0 - ] + param = self.parameters[0] channel_mean = get_saved_df( self, subsys, param, old_dict, self.evt_type ) # concatenate column with mean values self.data = concat_channel_mean(self, channel_mean) - if len(self.parameters) > 1: for param in self.parameters: parameter = ( @@ -571,12 +568,8 @@ def get_saved_df( # we need to re-calculate the mean value over the new bigger time window! # we retrieve absolute values of already saved df, we use - old_absolute_values = old_df.copy().filter( - items=["channel", "datetime", param] - ) - new_absolute_values = self.data.copy().filter( - items=["channel", "datetime", param] - ) + old_absolute_values = old_df.copy().filter(items=["channel", "datetime", param]) + new_absolute_values = self.data.copy().filter(items=["channel", "datetime", param]) concatenated_df = pd.concat( [old_absolute_values, new_absolute_values], ignore_index=True diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index b000f34..425cce4 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -245,7 +245,7 @@ def make_subsystem_plots( ) else: utils.logger.debug("Plot structure: %s", plot_settings["plot_structure"]) - #plot_structure(data_analysis.data, plot_info, pdf) + # plot_structure(data_analysis.data, plot_info, pdf) # For some reason, after some plotting functions the index is set to "channel". # We need to set it back otherwise string_visualization.py gets crazy and everything crashes. diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index f2b5497..0da83b0 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -179,9 +179,7 @@ def get_query_times(**kwargs): # extract timestamps first_timestamp = get_key(first_file) # last timestamp is not the key of last file: it's the last timestamp saved in the last file - last_timestamp = get_last_timestamp( - last_file - ) + last_timestamp = get_last_timestamp(last_file) return timerange, first_timestamp, last_timestamp @@ -918,13 +916,14 @@ def append_new_data( new_df = par_dict_content["df_" + plot_info["subsystem"]].copy() # --- cleaned df new_df = get_param_df(parameter, new_df) - - + # --- we have to copy the new means in the old one, otherwise we end up with two values (consider they have different lengths!) # Create a dictionary mapping 'channel' values to 'parameter_mean' values from new_df - mean_dict = new_df.set_index('channel')[parameter + '_mean'].to_dict() + mean_dict = new_df.set_index("channel")[parameter + "_mean"].to_dict() # Update 'parameter_mean' values in old_df based on the dictionary mapping - old_df[parameter + '_mean'] = old_df['channel'].map(mean_dict).fillna(old_df[parameter + '_mean']) + old_df[parameter + "_mean"] = ( + old_df["channel"].map(mean_dict).fillna(old_df[parameter + "_mean"]) + ) # concatenate the two dfs (channels are no more grouped; not a problem) merged_df = DataFrame.empty From 81d39ca77da3b54a7139d3cfe5c2a4e28961f128 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 30 May 2023 10:36:47 +0200 Subject: [PATCH 082/166] new module for saving data --- src/legend_data_monitor/plotting.py | 10 +- src/legend_data_monitor/save_data.py | 382 +++++++++++++++++++++++++++ src/legend_data_monitor/utils.py | 366 ------------------------- 3 files changed, 387 insertions(+), 371 deletions(-) create mode 100644 src/legend_data_monitor/save_data.py diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index b000f34..3f8f506 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -9,7 +9,7 @@ from pandas import DataFrame from seaborn import color_palette -from . import analysis_data, plot_styles, string_visualization, subsystem, utils +from . import analysis_data, plot_styles, save_data, string_visualization, subsystem, utils # ------------------------------------------------------------------------- @@ -257,7 +257,7 @@ def make_subsystem_plots( # here we are not checking if we are plotting one or more than one parameter # the output dataframe and plot_info objects are merged for more than one parameters # this will be split at a later stage, when building the output dictionary through utils.build_out_dict(...) - par_dict_content = utils.save_df_and_info(data_analysis.data, plot_info) + par_dict_content = save_data.save_df_and_info(data_analysis.data, plot_info) # ------------------------------------------------------------------------- # call status plot @@ -277,7 +277,7 @@ def make_subsystem_plots( ) if len(params) > 1: # retrieved the necessary info for the specific parameter under study (just in the multi-parameters case) - plot_info_param = utils.get_param_info(param, plot_info) + plot_info_param = save_data.get_param_info(param, plot_info) _ = string_visualization.status_plot( subsystem, data_analysis.data, plot_info_param, pdf ) @@ -288,7 +288,7 @@ def make_subsystem_plots( # building a dictionary with dataframe/plot_info to be later stored in a shelve object if saving is not None: - out_dict = utils.build_out_dict(plot_settings, par_dict_content, out_dict) + out_dict = save_data.build_out_dict(plot_settings, par_dict_content, out_dict) # save in shelve object, overwriting the already existing file with new content (either completely new or new bunches) if saving is not None: @@ -942,7 +942,7 @@ def plot_limits(ax: plt.Axes, params: list, limits: Union[list, dict]): def save_pdf(plt, pdf: PdfPages): - """Save the plot to a PDF file. The plot is closed after saving.""" + """Save the plot to a PDF file. The plot is closed after save_data.""" if pdf: plt.savefig(pdf, format="pdf", bbox_inches="tight") plt.close() diff --git a/src/legend_data_monitor/save_data.py b/src/legend_data_monitor/save_data.py new file mode 100644 index 0000000..0da34fc --- /dev/null +++ b/src/legend_data_monitor/save_data.py @@ -0,0 +1,382 @@ +import importlib.resources +import logging +import os +import re +import shelve +import sys + +from datetime import datetime + +from pandas import DataFrame, concat + +from . import utils + +# ------------------------------------------------------------------------- +# Saving related functions +# ------------------------------------------------------------------------- + + +def save_df_and_info(df: DataFrame, plot_info: dict) -> dict: + """Return a dictionary containing a dataframe for the parameter(s) under study for a given subsystem. The plotting info are saved too.""" + par_dict_content = { + "df_" + plot_info["subsystem"]: df, # saving dataframe + "plot_info": plot_info, # saving plotting info + } + + return par_dict_content + + +def build_out_dict( + plot_settings: list, + par_dict_content: dict, + out_dict: dict, +): + """ + Build the output dictionary based on the input 'saving' option. + + Parameters + ---------- + plot_settings + Dictionary with settings for plotting. It contains the following keys: 'parameters', 'event_type', 'plot_structure', 'resampled', 'plot_style', 'variation', 'time_window', 'range', 'saving', 'plt_path' + par_dict_content + Dictionary containing, for a given parameter, the dataframe with data and a dictionary with info for plotting (e.g. plot style, title, units, labels, ...) + out_dict + Dictionary that is returned, containing the objects that need to be saved. + """ + saving = plot_settings["saving"] if "saving" in plot_settings.keys() else None + plt_path = plot_settings["plt_path"] if "plt_path" in plot_settings.keys() else None + plot_info = par_dict_content["plot_info"] + + # we overwrite the object with a new one + if saving == "overwrite": + out_dict = build_dict(plot_settings, plot_info, par_dict_content, out_dict) + + # we retrieve the already existing shelve object, and we append new things to it; the parameter here is fixed + if saving == "append": + # the file does not exist, so we create it + if not os.path.exists(plt_path + "-" + plot_info["subsystem"] + ".dat"): + out_dict = build_dict(plot_settings, plot_info, par_dict_content, out_dict) + + # the file exists, so we are going to append data + else: + utils.logger.info( + "There is already a file containing output data. Appending new data to it right now..." + ) + # open already existing shelve file + with shelve.open(plt_path + "-" + plot_info["subsystem"], "r") as shelf: + old_dict = dict(shelf) + + # one parameter case + if ( + isinstance(plot_settings["parameters"], list) + and len(plot_settings["parameters"]) == 1 + ) or isinstance(plot_settings["parameters"], str): + utils.logger.debug("... appending new data for the one-parameter case") + out_dict = append_new_data( + plot_settings["parameters"][0] + if isinstance(plot_settings["parameters"], list) + else plot_settings["parameters"], + plot_settings, + plot_info, + old_dict, + par_dict_content, + plt_path, + ) + # multi-parameters case + if ( + isinstance(plot_settings["parameters"], list) + and len(plot_settings["parameters"]) > 1 + ): + utils.logger.debug("... appending new data for the multi-parameters case") + for param in plot_settings["parameters"]: + out_dict = append_new_data( + param, + plot_settings, + plot_info, + old_dict, + par_dict_content, + plt_path, + ) + + return out_dict + + +def build_dict( + plot_settings: list, plot_info: list, par_dict_content: dict, out_dict: dict +) -> dict: + """Create a dictionary with the correct format for being saved in the final shelve object.""" + # get the parameters under study (can be one, can be more for 'par vs par' plot style) + params = ( + plot_info["parameters"] + if "parameters" in plot_info.keys() + else plot_info["parameter"] + ) + + # one parameter + if (isinstance(params, list) and len(params) == 1) or isinstance(params, str): + utils.logger.debug("... building the output dictionary in the one-parameter case") + if isinstance(params, list): + param = params[0] + if isinstance(params, str): + param = params + parameter = param.split("_var")[0] if "_var" in param else param + par_dict_content["plot_info"] = get_param_info( + param, par_dict_content["plot_info"] + ) + # --- building up the output dictionary + # event type key is already there + if plot_settings["event_type"] in out_dict.keys(): + out_dict[plot_settings["event_type"]][parameter] = par_dict_content + # event type key is NOT there + else: + # empty dictionary (not filled yet) + if len(out_dict.keys()) == 0: + out_dict = {plot_settings["event_type"]: {parameter: par_dict_content}} + # the dictionary already contains something (but for another event type selection) + else: + out_dict[plot_settings["event_type"]] = {parameter: par_dict_content} + # more than one parameter + if isinstance(params, list) and len(params) > 1: + utils.logger.debug("... building the output dictionary in the multi-parameters case") + # we have to polish our dataframe and plot_info dictionary from other parameters... + # --- original plot info + # ::::::::::::::::::::::::::::::::::::::::::: example 'plot_info_all' ::::::::::::::::::::::::::::::::::::::::::: + # {'title': 'Plotting cuspEmax vs baseline', 'subsystem': 'geds', 'locname': 'string', + # 'plot_style': 'par vs par', 'time_window': '10T', 'resampled': 'no', 'range': [None, None], 'std': False, + # 'unit': {'cuspEmax_var': 'ADC', 'baseline_var': 'ADC'}, + # 'label': {'cuspEmax_var': 'cuspEmax', 'baseline_var': 'FPGA baseline'}, + # 'unit_label': {'cuspEmax_var': '%', 'baseline_var': '%'}, + # 'limits': {'cuspEmax_var': [-0.025, 0.025], 'baseline_var': [-5, 5]}, + # 'parameters': ['cuspEmax_var', 'baseline_var'], + # 'param_mean': ['cuspEmax_mean', 'baseline_mean']} + plot_info_all = par_dict_content["plot_info"] + + # --- original dataframes coming from the analysis + df_all = par_dict_content["df_" + plot_info_all["subsystem"]] + + for param in params: + parameter = param.split("_var")[0] if "_var" in param else param + + # --- cleaned plot info + # ::::::::::::::::::::::::::::::::::::::::::: example 'plot_info_param' ::::::::::::::::::::::::::::::::::::::::::: + # {'title': 'Prove in corso', 'subsystem': 'geds', 'locname': 'string', 'plot_style': 'par vs par', 'time_window': '10T', + # 'resampled': 'no', 'range': [None, None], 'std': False, 'unit': 'ADC', 'label': 'cuspEmax', 'unit_label': '%', + # 'limits': [-0.025, 0.025], 'param_mean': 'cuspEmax_mean', 'parameter': 'cuspEmax_var', 'variation': True} + plot_info_param = get_param_info(param, plot_info_all) + + # --- cleaned df + df_param = get_param_df(parameter, df_all) + + # --- rebuilding the 'par_dict_content' for the parameter under study + par_dict_content = save_df_and_info(df_param, plot_info_param) + + # --- building up the output dictionary + # event type key is already there + if plot_settings["event_type"] in out_dict.keys(): + out_dict[plot_settings["event_type"]][parameter] = par_dict_content + # event type key is NOT there + else: + # empty dictionary (not filled yet) + if len(out_dict.keys()) == 0: + out_dict = { + plot_settings["event_type"]: {parameter: par_dict_content} + } + # the dictionary already contains something (but for another event type selection) + else: + out_dict[plot_settings["event_type"]] = { + parameter: par_dict_content + } + + return out_dict + + +def append_new_data( + param: str, + plot_settings: dict, + plot_info: dict, + old_dict: dict, + par_dict_content: dict, + plt_path: str, +) -> dict: + # the parameter is there + parameter = param.split("_var")[0] if "_var" in param else param + event_type = plot_settings["event_type"] + + if old_dict["monitoring"][event_type][parameter]: + # get already present df + old_df = old_dict["monitoring"][event_type][parameter][ + "df_" + plot_info["subsystem"] + ].copy() + old_df = check_level0(old_df) + + # get new df (plot_info object is the same as before, no need to get it and update it) + new_df = par_dict_content["df_" + plot_info["subsystem"]].copy() + # --- cleaned df + new_df = get_param_df(parameter, new_df) + + + # --- we have to copy the new means in the old one, otherwise we end up with two values (consider they have different lengths!) + # Create a dictionary mapping 'channel' values to 'parameter_mean' values from new_df + mean_dict = new_df.set_index('channel')[parameter + '_mean'].to_dict() + # Update 'parameter_mean' values in old_df based on the dictionary mapping + old_df[parameter + '_mean'] = old_df['channel'].map(mean_dict).fillna(old_df[parameter + '_mean']) + + # concatenate the two dfs (channels are no more grouped; not a problem) + merged_df = DataFrame.empty + merged_df = concat([old_df, new_df], ignore_index=True, axis=0) + merged_df = merged_df.reset_index() + merged_df = check_level0(merged_df) + # re-order content in order of channels/timestamps + merged_df = merged_df.sort_values(["channel", "datetime"]) + + # redefine the dict containing the df and plot_info + par_dict_content = {} + par_dict_content["df_" + plot_info["subsystem"]] = merged_df + par_dict_content["plot_info"] = plot_info + + # saved the merged df as usual (but for the given parameter) + plot_info = get_param_info(param, plot_info) + out_dict = build_dict( + plot_settings, plot_info, par_dict_content, old_dict["monitoring"] + ) + + # we need to save it, otherwise when looping over the next parameter we lose the appended info for the already inspected parameter + out_file = shelve.open(plt_path + "-" + plot_info["subsystem"]) + out_file["monitoring"] = out_dict + out_file.close() + + return out_dict + + +def check_level0(dataframe: DataFrame) -> DataFrame: + """Check if a dataframe contains the 'level_0' column. If so, remove it.""" + if "level_0" in dataframe.columns: + return dataframe.drop(columns=["level_0"]) + else: + return dataframe + + + +def get_param_info(param: str, plot_info: dict) -> dict: + """Subselect from 'plot_info' the plotting info for the specified parameter ```param```. This is needed for the multi-parameters case.""" + # get the *naked* parameter name and apply some if statements to avoid problems + param = param + "_var" if "_var" not in param else param + parameter = param.split("_var")[0] + + # but what if there is no % variation? We don't want any "_var" in our parameters! + if ( + isinstance(plot_info["unit_label"], dict) + and param not in plot_info["unit_label"].keys() + ): + if plot_info["unit_label"][parameter] != "%": + param = parameter + if isinstance(plot_info["unit_label"], str): + if plot_info["unit_label"] != "%": + param = parameter + + # re-shape the plot_info dictionary for the given parameter under study + plot_info_param = plot_info.copy() + plot_info_param["title"] = f"Plotting {param}" + plot_info_param["unit"] = ( + plot_info["unit"][param] + if isinstance(plot_info["unit"], dict) + else plot_info["unit"] + ) + plot_info_param["label"] = ( + plot_info["label"][param] + if isinstance(plot_info["label"], dict) + else plot_info["label"] + ) + plot_info_param["unit_label"] = ( + plot_info["unit_label"][param] + if isinstance(plot_info["unit_label"], dict) + else plot_info["unit_label"] + ) + plot_info_param["limits"] = ( + plot_info["limits"][param] + if isinstance(plot_info["limits"], dict) + else plot_info["limits"] + ) + plot_info_param["K_events"] = ( + plot_info["K_events"][param] + if isinstance(plot_info["K_events"], dict) + else plot_info["K_events"] + ) + plot_info_param["param_mean"] = parameter + "_mean" + plot_info_param["variation"] = ( + True if plot_info_param["unit_label"] == "%" else False + ) + plot_info_param["parameters"] = ( + param if plot_info_param["variation"] is True else parameter + ) + + # ... need to go back to the one parameter case ... + # if "parameters" in plot_info_param.keys(): + # plot_info_param["parameter"] = plot_info_param.pop("parameters") + + return plot_info_param + + +def get_param_df(parameter: str, df: DataFrame) -> DataFrame: + """Subselect from 'df' only the dataframe columns that refer to a given parameter. The case of 'parameter' being a special parameter is carefully handled.""" + # list needed to better divide the parameters stored in the dataframe... + keep_cols = [ + "index", + "channel", + "HV_card", + "HV_channel", + "cc4_channel", + "cc4_id", + "daq_card", + "daq_crate", + "datetime", + "det_type", + "flag_fc_bsln", + "flag_muon", + "flag_pulser", + "location", + "name", + "position", + "status", + ] + df_param = df.copy().drop(columns={x for x in df.columns if parameter not in x}) + df_cols = df.copy().drop(columns={x for x in df.columns if x not in keep_cols}) + + # check if the parameter belongs to a special one + if parameter in utils.SPECIAL_PARAMETERS: + # get the other columns to keep in the new dataframe + other_cols_to_keep = utils.SPECIAL_PARAMETERS[parameter] + # initialize an empty dataframe + df_other_cols = DataFrame() + # we might want to load one or more special columns + # (of course, avoid to load columns if the special parameter does not request any special parameter, + # eg event rate or exposure are not build on the basis of any other parameter) + + # + one column only + if isinstance(other_cols_to_keep, str) and other_cols_to_keep is not None: + df_other_cols = df.copy().drop( + columns={x for x in df.columns if x != other_cols_to_keep} + ) + # + more than one column + if isinstance(other_cols_to_keep, list): + for col in other_cols_to_keep: + if col is not None: + # this is the first column we are putting in 'df_other_cols' + if df_other_cols.empty: + df_other_cols = df.copy().drop( + columns={x for x in df.columns if x != col} + ) + # there are already column(s) in 'df_other_cols' + else: + new_col = df.copy().drop( + columns={x for x in df.columns if x != col} + ) + df_other_cols = concat([df_other_cols, new_col], axis=1) + else: + df_other_cols = DataFrame() + + # concatenate everything + df_param = concat([df_param, df_cols, df_other_cols], axis=1) + + return df_param + diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index f2b5497..58104c3 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -716,249 +716,7 @@ def add_config_entries( return config -# ------------------------------------------------------------------------- -# Saving related functions -# ------------------------------------------------------------------------- - - -def save_df_and_info(df: DataFrame, plot_info: dict) -> dict: - """Return a dictionary containing a dataframe for the parameter(s) under study for a given subsystem. The plotting info are saved too.""" - par_dict_content = { - "df_" + plot_info["subsystem"]: df, # saving dataframe - "plot_info": plot_info, # saving plotting info - } - - return par_dict_content - - -def build_out_dict( - plot_settings: list, - par_dict_content: dict, - out_dict: dict, -): - """ - Build the output dictionary based on the input 'saving' option. - - Parameters - ---------- - plot_settings - Dictionary with settings for plotting. It contains the following keys: 'parameters', 'event_type', 'plot_structure', 'resampled', 'plot_style', 'variation', 'time_window', 'range', 'saving', 'plt_path' - par_dict_content - Dictionary containing, for a given parameter, the dataframe with data and a dictionary with info for plotting (e.g. plot style, title, units, labels, ...) - out_dict - Dictionary that is returned, containing the objects that need to be saved. - """ - saving = plot_settings["saving"] if "saving" in plot_settings.keys() else None - plt_path = plot_settings["plt_path"] if "plt_path" in plot_settings.keys() else None - plot_info = par_dict_content["plot_info"] - - # we overwrite the object with a new one - if saving == "overwrite": - out_dict = build_dict(plot_settings, plot_info, par_dict_content, out_dict) - - # we retrieve the already existing shelve object, and we append new things to it; the parameter here is fixed - if saving == "append": - # the file does not exist, so we create it - if not os.path.exists(plt_path + "-" + plot_info["subsystem"] + ".dat"): - out_dict = build_dict(plot_settings, plot_info, par_dict_content, out_dict) - - # the file exists, so we are going to append data - else: - logger.info( - "There is already a file containing output data. Appending new data to it right now..." - ) - # open already existing shelve file - with shelve.open(plt_path + "-" + plot_info["subsystem"], "r") as shelf: - old_dict = dict(shelf) - - # one parameter case - if ( - isinstance(plot_settings["parameters"], list) - and len(plot_settings["parameters"]) == 1 - ) or isinstance(plot_settings["parameters"], str): - logger.debug("... appending new data for the one-parameter case") - out_dict = append_new_data( - plot_settings["parameters"][0] - if isinstance(plot_settings["parameters"], list) - else plot_settings["parameters"], - plot_settings, - plot_info, - old_dict, - par_dict_content, - plt_path, - ) - # multi-parameters case - if ( - isinstance(plot_settings["parameters"], list) - and len(plot_settings["parameters"]) > 1 - ): - logger.debug("... appending new data for the multi-parameters case") - for param in plot_settings["parameters"]: - out_dict = append_new_data( - param, - plot_settings, - plot_info, - old_dict, - par_dict_content, - plt_path, - ) - - return out_dict - - -def build_dict( - plot_settings: list, plot_info: list, par_dict_content: dict, out_dict: dict -) -> dict: - """Create a dictionary with the correct format for being saved in the final shelve object.""" - # get the parameters under study (can be one, can be more for 'par vs par' plot style) - params = ( - plot_info["parameters"] - if "parameters" in plot_info.keys() - else plot_info["parameter"] - ) - - # one parameter - if (isinstance(params, list) and len(params) == 1) or isinstance(params, str): - logger.debug("... building the output dictionary in the one-parameter case") - if isinstance(params, list): - param = params[0] - if isinstance(params, str): - param = params - parameter = param.split("_var")[0] if "_var" in param else param - par_dict_content["plot_info"] = get_param_info( - param, par_dict_content["plot_info"] - ) - # --- building up the output dictionary - # event type key is already there - if plot_settings["event_type"] in out_dict.keys(): - out_dict[plot_settings["event_type"]][parameter] = par_dict_content - # event type key is NOT there - else: - # empty dictionary (not filled yet) - if len(out_dict.keys()) == 0: - out_dict = {plot_settings["event_type"]: {parameter: par_dict_content}} - # the dictionary already contains something (but for another event type selection) - else: - out_dict[plot_settings["event_type"]] = {parameter: par_dict_content} - # more than one parameter - if isinstance(params, list) and len(params) > 1: - logger.debug("... building the output dictionary in the multi-parameters case") - # we have to polish our dataframe and plot_info dictionary from other parameters... - # --- original plot info - # ::::::::::::::::::::::::::::::::::::::::::: example 'plot_info_all' ::::::::::::::::::::::::::::::::::::::::::: - # {'title': 'Plotting cuspEmax vs baseline', 'subsystem': 'geds', 'locname': 'string', - # 'plot_style': 'par vs par', 'time_window': '10T', 'resampled': 'no', 'range': [None, None], 'std': False, - # 'unit': {'cuspEmax_var': 'ADC', 'baseline_var': 'ADC'}, - # 'label': {'cuspEmax_var': 'cuspEmax', 'baseline_var': 'FPGA baseline'}, - # 'unit_label': {'cuspEmax_var': '%', 'baseline_var': '%'}, - # 'limits': {'cuspEmax_var': [-0.025, 0.025], 'baseline_var': [-5, 5]}, - # 'parameters': ['cuspEmax_var', 'baseline_var'], - # 'param_mean': ['cuspEmax_mean', 'baseline_mean']} - plot_info_all = par_dict_content["plot_info"] - - # --- original dataframes coming from the analysis - df_all = par_dict_content["df_" + plot_info_all["subsystem"]] - - for param in params: - parameter = param.split("_var")[0] if "_var" in param else param - - # --- cleaned plot info - # ::::::::::::::::::::::::::::::::::::::::::: example 'plot_info_param' ::::::::::::::::::::::::::::::::::::::::::: - # {'title': 'Prove in corso', 'subsystem': 'geds', 'locname': 'string', 'plot_style': 'par vs par', 'time_window': '10T', - # 'resampled': 'no', 'range': [None, None], 'std': False, 'unit': 'ADC', 'label': 'cuspEmax', 'unit_label': '%', - # 'limits': [-0.025, 0.025], 'param_mean': 'cuspEmax_mean', 'parameter': 'cuspEmax_var', 'variation': True} - plot_info_param = get_param_info(param, plot_info_all) - - # --- cleaned df - df_param = get_param_df(parameter, df_all) - - # --- rebuilding the 'par_dict_content' for the parameter under study - par_dict_content = save_df_and_info(df_param, plot_info_param) - - # --- building up the output dictionary - # event type key is already there - if plot_settings["event_type"] in out_dict.keys(): - out_dict[plot_settings["event_type"]][parameter] = par_dict_content - # event type key is NOT there - else: - # empty dictionary (not filled yet) - if len(out_dict.keys()) == 0: - out_dict = { - plot_settings["event_type"]: {parameter: par_dict_content} - } - # the dictionary already contains something (but for another event type selection) - else: - out_dict[plot_settings["event_type"]] = { - parameter: par_dict_content - } - - return out_dict - - -def append_new_data( - param: str, - plot_settings: dict, - plot_info: dict, - old_dict: dict, - par_dict_content: dict, - plt_path: str, -) -> dict: - # the parameter is there - parameter = param.split("_var")[0] if "_var" in param else param - event_type = plot_settings["event_type"] - - if old_dict["monitoring"][event_type][parameter]: - # get already present df - old_df = old_dict["monitoring"][event_type][parameter][ - "df_" + plot_info["subsystem"] - ].copy() - old_df = check_level0(old_df) - - # get new df (plot_info object is the same as before, no need to get it and update it) - new_df = par_dict_content["df_" + plot_info["subsystem"]].copy() - # --- cleaned df - new_df = get_param_df(parameter, new_df) - - - # --- we have to copy the new means in the old one, otherwise we end up with two values (consider they have different lengths!) - # Create a dictionary mapping 'channel' values to 'parameter_mean' values from new_df - mean_dict = new_df.set_index('channel')[parameter + '_mean'].to_dict() - # Update 'parameter_mean' values in old_df based on the dictionary mapping - old_df[parameter + '_mean'] = old_df['channel'].map(mean_dict).fillna(old_df[parameter + '_mean']) - - # concatenate the two dfs (channels are no more grouped; not a problem) - merged_df = DataFrame.empty - merged_df = concat([old_df, new_df], ignore_index=True, axis=0) - merged_df = merged_df.reset_index() - merged_df = check_level0(merged_df) - # re-order content in order of channels/timestamps - merged_df = merged_df.sort_values(["channel", "datetime"]) - - # redefine the dict containing the df and plot_info - par_dict_content = {} - par_dict_content["df_" + plot_info["subsystem"]] = merged_df - par_dict_content["plot_info"] = plot_info - - # saved the merged df as usual (but for the given parameter) - plot_info = get_param_info(param, plot_info) - out_dict = build_dict( - plot_settings, plot_info, par_dict_content, old_dict["monitoring"] - ) - # we need to save it, otherwise when looping over the next parameter we lose the appended info for the already inspected parameter - out_file = shelve.open(plt_path + "-" + plot_info["subsystem"]) - out_file["monitoring"] = out_dict - out_file.close() - - return out_dict - - -def check_level0(dataframe: DataFrame) -> DataFrame: - """Check if a dataframe contains the 'level_0' column. If so, remove it.""" - if "level_0" in dataframe.columns: - return dataframe.drop(columns=["level_0"]) - else: - return dataframe # ------------------------------------------------------------------------- @@ -1000,127 +758,3 @@ def is_empty(df: DataFrame): "\033[93mThe dataframe is empty. Plotting the next entry (if present, otherwise exiting from the code).\033[0m" ) return True - - -def get_param_info(param: str, plot_info: dict) -> dict: - """Subselect from 'plot_info' the plotting info for the specified parameter ```param```. This is needed for the multi-parameters case.""" - # get the *naked* parameter name and apply some if statements to avoid problems - param = param + "_var" if "_var" not in param else param - parameter = param.split("_var")[0] - - # but what if there is no % variation? We don't want any "_var" in our parameters! - if ( - isinstance(plot_info["unit_label"], dict) - and param not in plot_info["unit_label"].keys() - ): - if plot_info["unit_label"][parameter] != "%": - param = parameter - if isinstance(plot_info["unit_label"], str): - if plot_info["unit_label"] != "%": - param = parameter - - # re-shape the plot_info dictionary for the given parameter under study - plot_info_param = plot_info.copy() - plot_info_param["title"] = f"Plotting {param}" - plot_info_param["unit"] = ( - plot_info["unit"][param] - if isinstance(plot_info["unit"], dict) - else plot_info["unit"] - ) - plot_info_param["label"] = ( - plot_info["label"][param] - if isinstance(plot_info["label"], dict) - else plot_info["label"] - ) - plot_info_param["unit_label"] = ( - plot_info["unit_label"][param] - if isinstance(plot_info["unit_label"], dict) - else plot_info["unit_label"] - ) - plot_info_param["limits"] = ( - plot_info["limits"][param] - if isinstance(plot_info["limits"], dict) - else plot_info["limits"] - ) - plot_info_param["K_events"] = ( - plot_info["K_events"][param] - if isinstance(plot_info["K_events"], dict) - else plot_info["K_events"] - ) - plot_info_param["param_mean"] = parameter + "_mean" - plot_info_param["variation"] = ( - True if plot_info_param["unit_label"] == "%" else False - ) - plot_info_param["parameters"] = ( - param if plot_info_param["variation"] is True else parameter - ) - - # ... need to go back to the one parameter case ... - # if "parameters" in plot_info_param.keys(): - # plot_info_param["parameter"] = plot_info_param.pop("parameters") - - return plot_info_param - - -def get_param_df(parameter: str, df: DataFrame) -> DataFrame: - """Subselect from 'df' only the dataframe columns that refer to a given parameter. The case of 'parameter' being a special parameter is carefully handled.""" - # list needed to better divide the parameters stored in the dataframe... - keep_cols = [ - "index", - "channel", - "HV_card", - "HV_channel", - "cc4_channel", - "cc4_id", - "daq_card", - "daq_crate", - "datetime", - "det_type", - "flag_fc_bsln", - "flag_muon", - "flag_pulser", - "location", - "name", - "position", - "status", - ] - df_param = df.copy().drop(columns={x for x in df.columns if parameter not in x}) - df_cols = df.copy().drop(columns={x for x in df.columns if x not in keep_cols}) - - # check if the parameter belongs to a special one - if parameter in SPECIAL_PARAMETERS: - # get the other columns to keep in the new dataframe - other_cols_to_keep = SPECIAL_PARAMETERS[parameter] - # initialize an empty dataframe - df_other_cols = DataFrame() - # we might want to load one or more special columns - # (of course, avoid to load columns if the special parameter does not request any special parameter, - # eg event rate or exposure are not build on the basis of any other parameter) - - # + one column only - if isinstance(other_cols_to_keep, str) and other_cols_to_keep is not None: - df_other_cols = df.copy().drop( - columns={x for x in df.columns if x != other_cols_to_keep} - ) - # + more than one column - if isinstance(other_cols_to_keep, list): - for col in other_cols_to_keep: - if col is not None: - # this is the first column we are putting in 'df_other_cols' - if df_other_cols.empty: - df_other_cols = df.copy().drop( - columns={x for x in df.columns if x != col} - ) - # there are already column(s) in 'df_other_cols' - else: - new_col = df.copy().drop( - columns={x for x in df.columns if x != col} - ) - df_other_cols = concat([df_other_cols, new_col], axis=1) - else: - df_other_cols = DataFrame() - - # concatenate everything - df_param = concat([df_param, df_cols, df_other_cols], axis=1) - - return df_param From 5353d8b0f78628d7c1402325ae52e7e079ee35b3 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 30 May 2023 08:37:44 +0000 Subject: [PATCH 083/166] style: pre-commit fixes --- src/legend_data_monitor/plotting.py | 13 +++++++++++-- src/legend_data_monitor/save_data.py | 29 ++++++++++++++-------------- src/legend_data_monitor/utils.py | 6 +----- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index acd4d08..cfe7fcd 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -9,7 +9,14 @@ from pandas import DataFrame from seaborn import color_palette -from . import analysis_data, plot_styles, save_data, string_visualization, subsystem, utils +from . import ( + analysis_data, + plot_styles, + save_data, + string_visualization, + subsystem, + utils, +) # ------------------------------------------------------------------------- @@ -288,7 +295,9 @@ def make_subsystem_plots( # building a dictionary with dataframe/plot_info to be later stored in a shelve object if saving is not None: - out_dict = save_data.build_out_dict(plot_settings, par_dict_content, out_dict) + out_dict = save_data.build_out_dict( + plot_settings, par_dict_content, out_dict + ) # save in shelve object, overwriting the already existing file with new content (either completely new or new bunches) if saving is not None: diff --git a/src/legend_data_monitor/save_data.py b/src/legend_data_monitor/save_data.py index 0da34fc..26bae32 100644 --- a/src/legend_data_monitor/save_data.py +++ b/src/legend_data_monitor/save_data.py @@ -1,11 +1,5 @@ -import importlib.resources -import logging import os -import re import shelve -import sys - -from datetime import datetime from pandas import DataFrame, concat @@ -87,7 +81,9 @@ def build_out_dict( isinstance(plot_settings["parameters"], list) and len(plot_settings["parameters"]) > 1 ): - utils.logger.debug("... appending new data for the multi-parameters case") + utils.logger.debug( + "... appending new data for the multi-parameters case" + ) for param in plot_settings["parameters"]: out_dict = append_new_data( param, @@ -114,7 +110,9 @@ def build_dict( # one parameter if (isinstance(params, list) and len(params) == 1) or isinstance(params, str): - utils.logger.debug("... building the output dictionary in the one-parameter case") + utils.logger.debug( + "... building the output dictionary in the one-parameter case" + ) if isinstance(params, list): param = params[0] if isinstance(params, str): @@ -137,7 +135,9 @@ def build_dict( out_dict[plot_settings["event_type"]] = {parameter: par_dict_content} # more than one parameter if isinstance(params, list) and len(params) > 1: - utils.logger.debug("... building the output dictionary in the multi-parameters case") + utils.logger.debug( + "... building the output dictionary in the multi-parameters case" + ) # we have to polish our dataframe and plot_info dictionary from other parameters... # --- original plot info # ::::::::::::::::::::::::::::::::::::::::::: example 'plot_info_all' ::::::::::::::::::::::::::::::::::::::::::: @@ -213,13 +213,14 @@ def append_new_data( new_df = par_dict_content["df_" + plot_info["subsystem"]].copy() # --- cleaned df new_df = get_param_df(parameter, new_df) - - + # --- we have to copy the new means in the old one, otherwise we end up with two values (consider they have different lengths!) # Create a dictionary mapping 'channel' values to 'parameter_mean' values from new_df - mean_dict = new_df.set_index('channel')[parameter + '_mean'].to_dict() + mean_dict = new_df.set_index("channel")[parameter + "_mean"].to_dict() # Update 'parameter_mean' values in old_df based on the dictionary mapping - old_df[parameter + '_mean'] = old_df['channel'].map(mean_dict).fillna(old_df[parameter + '_mean']) + old_df[parameter + "_mean"] = ( + old_df["channel"].map(mean_dict).fillna(old_df[parameter + "_mean"]) + ) # concatenate the two dfs (channels are no more grouped; not a problem) merged_df = DataFrame.empty @@ -256,7 +257,6 @@ def check_level0(dataframe: DataFrame) -> DataFrame: return dataframe - def get_param_info(param: str, plot_info: dict) -> dict: """Subselect from 'plot_info' the plotting info for the specified parameter ```param```. This is needed for the multi-parameters case.""" # get the *naked* parameter name and apply some if statements to avoid problems @@ -379,4 +379,3 @@ def get_param_df(parameter: str, df: DataFrame) -> DataFrame: df_param = concat([df_param, df_cols, df_other_cols], axis=1) return df_param - diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 82d5855..e807cdd 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -4,14 +4,13 @@ import logging import os import re -import shelve import sys # for getting DataLoader time range from datetime import datetime, timedelta import pygama.lgdo.lh5_store as lh5 -from pandas import DataFrame, concat +from pandas import DataFrame # ------------------------------------------------------------------------- @@ -714,9 +713,6 @@ def add_config_entries( return config - - - # ------------------------------------------------------------------------- # Other functions # ------------------------------------------------------------------------- From 86503ad1a7ba641aeb3fbd384de82c0a06cb0da7 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 30 May 2023 14:39:53 +0200 Subject: [PATCH 084/166] including plot of AUX for other subvsys --- src/legend_data_monitor/analysis_data.py | 13 +++++++++--- src/legend_data_monitor/core.py | 15 ++++++++++++++ src/legend_data_monitor/plotting.py | 4 ++++ src/legend_data_monitor/subsystem.py | 26 ++++++++++++++++++++++++ 4 files changed, 55 insertions(+), 3 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index cebe13c..357916f 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -422,13 +422,16 @@ def channel_mean(self): old_dict = dict(shelf) if len(self.parameters) == 1: - param = self.parameters[0] + param = self.parameters[ + 0 + ] channel_mean = get_saved_df( self, subsys, param, old_dict, self.evt_type ) # concatenate column with mean values self.data = concat_channel_mean(self, channel_mean) + if len(self.parameters) > 1: for param in self.parameters: parameter = ( @@ -568,8 +571,12 @@ def get_saved_df( # we need to re-calculate the mean value over the new bigger time window! # we retrieve absolute values of already saved df, we use - old_absolute_values = old_df.copy().filter(items=["channel", "datetime", param]) - new_absolute_values = self.data.copy().filter(items=["channel", "datetime", param]) + old_absolute_values = old_df.copy().filter( + items=["channel", "datetime", param] + ) + new_absolute_values = self.data.copy().filter( + items=["channel", "datetime", param] + ) concatenated_df = pd.concat( [old_absolute_values, new_absolute_values], ignore_index=True diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index d3e35aa..8be1bff 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -212,6 +212,21 @@ def generate_plots(config: dict, plt_path: str): parameters = utils.get_all_plot_parameters(system, config) # get data for these parameters and dataset range subsystems[system].get_data(parameters) + + # load also aux channel if necessary, and add it to the already existing df + for plot in config["subsystems"][system].keys(): + # both options (diff and ratio) are present -> BAD! For this parameter we do not subtract/divide for any AUX entry + if "AUX_ratio" in config["subsystems"][system][plot].keys() and "AUX_diff" in config["subsystems"][system][plot].keys(): + utils.logger.warning("\033[93mYou selected both 'AUX_ratio' and 'AUX_diff' for %s, " + + "we do not apply any of them to continue with the plotting (STOP here if you need it, " + + "and select just one of them!)\033[0m", config["subsystems"][system][plot]["parameters"]) + continue + # one option (either diff or ratio) is present + if "AUX_ratio" in config["subsystems"][system][plot].keys() or "AUX_diff" in config["subsystems"][system][plot].keys(): + utils.logger.debug("... performing diff/ratio with AUX entries") + params = config["subsystems"][system][plot]["parameters"] + subsystems[system].include_aux(params, config["dataset"], config["subsystems"][system][plot]) + utils.logger.debug(subsystems[system].data) # ------------------------------------------------------------------------- diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index cfe7fcd..5cb5bd3 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -53,6 +53,7 @@ def make_subsystem_plots( # --- original plot settings provided in json plot_settings = plots[plot_title] + print(f"plot_settings={plot_settings}") # --- defaults # default time window None if not parameter event rate will be accounted for in AnalysisData, @@ -105,6 +106,9 @@ def make_subsystem_plots( data_analysis = analysis_data.AnalysisData( subsystem.data, selection=plot_settings ) + print(f"subsystem.data\n{subsystem.data}") + import sys + sys.exit(1) # check if the dataframe is empty, if so, skip this plot if utils.is_empty(data_analysis.data): diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 5accd9e..f563bbd 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -281,6 +281,32 @@ def get_data(self, parameters: typing.Union[str, list_of_str, tuple_of_str] = () if self.type == "muon": self.flag_muon_events() + + def include_aux(self, params, dataset, plot): + """Include in a new column data coming from AUX channels, to either compute a ratio or a difference with data coming from the inspected subsystem.""" + aux_channel = plot["AUX_ratio"] if "AUX_ratio" in plot.keys() else plot["AUX_diff"] # ????????????? does it work for multiple params?? + aux_subsys = Subsystem(aux_channel, dataset=dataset) + # get data for these parameters and time range given in the dataset + # (if no parameters given to plot, baseline and wfmax will always be loaded to flag pulser events anyway) + aux_subsys.get_data(params) + + # Merge the dataframes based on the 'datetime' column + self.data = self.data.merge(aux_subsys.data[['datetime', params]], on='datetime', how='left') + + if "AUX_ratio" in plot.keys(): + # calculate the ratio wrt to the AUX entries + self.data[f"{params}_x"] = self.data[f"{params}_x"] / self.data[f"{params}_y"] + if "AUX_diff" in plot.keys(): + # calculate the difference, subtracting the AUX entries + self.data[f"{params}_x"] = self.data[f"{params}_x"] - self.data[f"{params}_y"] + + # remove AUX entries + self.data = self.data.drop(columns={f"{params}_y"}) + # rename param column to its original name + self.data = self.data.rename(columns={f"{params}_x": params}) + + + def flag_pulser_events(self, pulser=None): """Flag pulser events. If a pulser object was provided, flag pulser events in data based on its flag.""" utils.logger.info("... flagging pulser events") From 8679d7f68af124d15cbe492d76be9eeb26b70bcb Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 30 May 2023 12:41:11 +0000 Subject: [PATCH 085/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 13 +++--------- src/legend_data_monitor/core.py | 25 +++++++++++++++++------- src/legend_data_monitor/plotting.py | 1 + src/legend_data_monitor/subsystem.py | 21 ++++++++++++-------- 4 files changed, 35 insertions(+), 25 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 357916f..cebe13c 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -422,16 +422,13 @@ def channel_mean(self): old_dict = dict(shelf) if len(self.parameters) == 1: - param = self.parameters[ - 0 - ] + param = self.parameters[0] channel_mean = get_saved_df( self, subsys, param, old_dict, self.evt_type ) # concatenate column with mean values self.data = concat_channel_mean(self, channel_mean) - if len(self.parameters) > 1: for param in self.parameters: parameter = ( @@ -571,12 +568,8 @@ def get_saved_df( # we need to re-calculate the mean value over the new bigger time window! # we retrieve absolute values of already saved df, we use - old_absolute_values = old_df.copy().filter( - items=["channel", "datetime", param] - ) - new_absolute_values = self.data.copy().filter( - items=["channel", "datetime", param] - ) + old_absolute_values = old_df.copy().filter(items=["channel", "datetime", param]) + new_absolute_values = self.data.copy().filter(items=["channel", "datetime", param]) concatenated_df = pd.concat( [old_absolute_values, new_absolute_values], ignore_index=True diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 8be1bff..59595ac 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -216,17 +216,28 @@ def generate_plots(config: dict, plt_path: str): # load also aux channel if necessary, and add it to the already existing df for plot in config["subsystems"][system].keys(): # both options (diff and ratio) are present -> BAD! For this parameter we do not subtract/divide for any AUX entry - if "AUX_ratio" in config["subsystems"][system][plot].keys() and "AUX_diff" in config["subsystems"][system][plot].keys(): - utils.logger.warning("\033[93mYou selected both 'AUX_ratio' and 'AUX_diff' for %s, " - + "we do not apply any of them to continue with the plotting (STOP here if you need it, " - + "and select just one of them!)\033[0m", config["subsystems"][system][plot]["parameters"]) + if ( + "AUX_ratio" in config["subsystems"][system][plot].keys() + and "AUX_diff" in config["subsystems"][system][plot].keys() + ): + utils.logger.warning( + "\033[93mYou selected both 'AUX_ratio' and 'AUX_diff' for %s, " + + "we do not apply any of them to continue with the plotting (STOP here if you need it, " + + "and select just one of them!)\033[0m", + config["subsystems"][system][plot]["parameters"], + ) continue # one option (either diff or ratio) is present - if "AUX_ratio" in config["subsystems"][system][plot].keys() or "AUX_diff" in config["subsystems"][system][plot].keys(): + if ( + "AUX_ratio" in config["subsystems"][system][plot].keys() + or "AUX_diff" in config["subsystems"][system][plot].keys() + ): utils.logger.debug("... performing diff/ratio with AUX entries") params = config["subsystems"][system][plot]["parameters"] - subsystems[system].include_aux(params, config["dataset"], config["subsystems"][system][plot]) - + subsystems[system].include_aux( + params, config["dataset"], config["subsystems"][system][plot] + ) + utils.logger.debug(subsystems[system].data) # ------------------------------------------------------------------------- diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 5cb5bd3..7edd325 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -108,6 +108,7 @@ def make_subsystem_plots( ) print(f"subsystem.data\n{subsystem.data}") import sys + sys.exit(1) # check if the dataframe is empty, if so, skip this plot diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index f563bbd..d3d4bc7 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -281,32 +281,37 @@ def get_data(self, parameters: typing.Union[str, list_of_str, tuple_of_str] = () if self.type == "muon": self.flag_muon_events() - def include_aux(self, params, dataset, plot): """Include in a new column data coming from AUX channels, to either compute a ratio or a difference with data coming from the inspected subsystem.""" - aux_channel = plot["AUX_ratio"] if "AUX_ratio" in plot.keys() else plot["AUX_diff"] # ????????????? does it work for multiple params?? + aux_channel = ( + plot["AUX_ratio"] if "AUX_ratio" in plot.keys() else plot["AUX_diff"] + ) # ????????????? does it work for multiple params?? aux_subsys = Subsystem(aux_channel, dataset=dataset) # get data for these parameters and time range given in the dataset # (if no parameters given to plot, baseline and wfmax will always be loaded to flag pulser events anyway) aux_subsys.get_data(params) # Merge the dataframes based on the 'datetime' column - self.data = self.data.merge(aux_subsys.data[['datetime', params]], on='datetime', how='left') + self.data = self.data.merge( + aux_subsys.data[["datetime", params]], on="datetime", how="left" + ) if "AUX_ratio" in plot.keys(): # calculate the ratio wrt to the AUX entries - self.data[f"{params}_x"] = self.data[f"{params}_x"] / self.data[f"{params}_y"] - if "AUX_diff" in plot.keys(): + self.data[f"{params}_x"] = ( + self.data[f"{params}_x"] / self.data[f"{params}_y"] + ) + if "AUX_diff" in plot.keys(): # calculate the difference, subtracting the AUX entries - self.data[f"{params}_x"] = self.data[f"{params}_x"] - self.data[f"{params}_y"] + self.data[f"{params}_x"] = ( + self.data[f"{params}_x"] - self.data[f"{params}_y"] + ) # remove AUX entries self.data = self.data.drop(columns={f"{params}_y"}) # rename param column to its original name self.data = self.data.rename(columns={f"{params}_x": params}) - - def flag_pulser_events(self, pulser=None): """Flag pulser events. If a pulser object was provided, flag pulser events in data based on its flag.""" utils.logger.info("... flagging pulser events") From 6dba73e5564ed9dc7c4ca48e8f6e6e8ceed22590 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Thu, 1 Jun 2023 11:04:03 +0200 Subject: [PATCH 086/166] added if checks --- src/legend_data_monitor/core.py | 13 +----- src/legend_data_monitor/plotting.py | 15 ++++-- src/legend_data_monitor/subsystem.py | 70 ++++++++++++++++++++-------- 3 files changed, 62 insertions(+), 36 deletions(-) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 8be1bff..98a69b2 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -215,17 +215,8 @@ def generate_plots(config: dict, plt_path: str): # load also aux channel if necessary, and add it to the already existing df for plot in config["subsystems"][system].keys(): - # both options (diff and ratio) are present -> BAD! For this parameter we do not subtract/divide for any AUX entry - if "AUX_ratio" in config["subsystems"][system][plot].keys() and "AUX_diff" in config["subsystems"][system][plot].keys(): - utils.logger.warning("\033[93mYou selected both 'AUX_ratio' and 'AUX_diff' for %s, " - + "we do not apply any of them to continue with the plotting (STOP here if you need it, " - + "and select just one of them!)\033[0m", config["subsystems"][system][plot]["parameters"]) - continue - # one option (either diff or ratio) is present - if "AUX_ratio" in config["subsystems"][system][plot].keys() or "AUX_diff" in config["subsystems"][system][plot].keys(): - utils.logger.debug("... performing diff/ratio with AUX entries") - params = config["subsystems"][system][plot]["parameters"] - subsystems[system].include_aux(params, config["dataset"], config["subsystems"][system][plot]) + params = config["subsystems"][system][plot]["parameters"] + subsystems[system].include_aux(params, config["dataset"], config["subsystems"][system][plot]) utils.logger.debug(subsystems[system].data) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 5cb5bd3..e06e1b9 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -53,7 +53,6 @@ def make_subsystem_plots( # --- original plot settings provided in json plot_settings = plots[plot_title] - print(f"plot_settings={plot_settings}") # --- defaults # default time window None if not parameter event rate will be accounted for in AnalysisData, @@ -106,9 +105,6 @@ def make_subsystem_plots( data_analysis = analysis_data.AnalysisData( subsystem.data, selection=plot_settings ) - print(f"subsystem.data\n{subsystem.data}") - import sys - sys.exit(1) # check if the dataframe is empty, if so, skip this plot if utils.is_empty(data_analysis.data): @@ -209,6 +205,15 @@ def make_subsystem_plots( param_orig = param.rstrip("_var") plot_info["unit"][param] = utils.PLOT_INFO[param_orig]["unit"] plot_info["label"][param] = utils.PLOT_INFO[param_orig]["label"] + + # modify the labels in case we perform a ratio/diff with aux channel data + if "AUX_ratio" in plot_settings.keys(): + aux_channel = plot_settings["AUX_ratio"] + plot_info["label"][param] += f" / {param_orig}({aux_channel})" + if "AUX_diff" in plot_settings.keys(): + aux_channel = plot_settings["AUX_diff"] + plot_info["label"][param] += f" - {param_orig}({aux_channel})" + keyword = "variation" if plot_settings["variation"] else "absolute" plot_info["limits"][param] = ( utils.PLOT_INFO[param_orig]["limits"][subsystem.type][keyword] @@ -256,7 +261,7 @@ def make_subsystem_plots( ) else: utils.logger.debug("Plot structure: %s", plot_settings["plot_structure"]) - # plot_structure(data_analysis.data, plot_info, pdf) + plot_structure(data_analysis.data, plot_info, pdf) # For some reason, after some plotting functions the index is set to "channel". # We need to set it back otherwise string_visualization.py gets crazy and everything crashes. diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index f563bbd..6f7fdae 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -284,26 +284,56 @@ def get_data(self, parameters: typing.Union[str, list_of_str, tuple_of_str] = () def include_aux(self, params, dataset, plot): """Include in a new column data coming from AUX channels, to either compute a ratio or a difference with data coming from the inspected subsystem.""" - aux_channel = plot["AUX_ratio"] if "AUX_ratio" in plot.keys() else plot["AUX_diff"] # ????????????? does it work for multiple params?? - aux_subsys = Subsystem(aux_channel, dataset=dataset) - # get data for these parameters and time range given in the dataset - # (if no parameters given to plot, baseline and wfmax will always be loaded to flag pulser events anyway) - aux_subsys.get_data(params) - - # Merge the dataframes based on the 'datetime' column - self.data = self.data.merge(aux_subsys.data[['datetime', params]], on='datetime', how='left') - - if "AUX_ratio" in plot.keys(): - # calculate the ratio wrt to the AUX entries - self.data[f"{params}_x"] = self.data[f"{params}_x"] / self.data[f"{params}_y"] - if "AUX_diff" in plot.keys(): - # calculate the difference, subtracting the AUX entries - self.data[f"{params}_x"] = self.data[f"{params}_x"] - self.data[f"{params}_y"] - - # remove AUX entries - self.data = self.data.drop(columns={f"{params}_y"}) - # rename param column to its original name - self.data = self.data.rename(columns={f"{params}_x": params}) + # both options (diff and ratio) are present -> BAD! For this parameter we do not subtract/divide for any AUX entry + if "AUX_ratio" in plot.keys() and "AUX_diff" in plot.keys(): + utils.logger.warning("\033[93mYou selected both 'AUX_ratio' and 'AUX_diff' for %s, " + + "we do not apply any of them and we continue with the plotting (STOP here if you need it, " + + "and select just one of them!)\033[0m", plot) + return + # one option (either diff or ratio) is present + if "AUX_ratio" in plot.keys() or "AUX_diff" in plot.keys(): + # check if the selected AUX channel exists, otherwise continue + if "AUX_ratio" in plot.keys() and plot['AUX_ratio'] not in ["pulser", "pulser_aux", "FC_bsln", "muon"]: + utils.logger.warning("\033[93mYou selected '%s' as your AUX channels to perform ratio with, but it does not exist! " + + "We do not apply any ratio and we continue with the plotting (STOP here if you need it, " + + "and select the correct AUX channel!)\033[0m", plot['AUX_ratio']) + return + if "AUX_diff" in plot.keys() and plot['AUX_diff'] not in ["pulser", "pulser_aux", "FC_bsln", "muon"]: + utils.logger.warning("\033[93mYou selected '%s' as your AUX channels to perform difference with, but it does not exist! " + + "We do not apply any difference and we continue with the plotting (STOP here if you need it, " + + "and select the correct AUX channel!)\033[0m", plot['AUX_diff']) + return + + utils.logger.debug("... performing diff/ratio with AUX entries") + + # check if the parameter under study is from 'hit' tier; if so, skip it + param_tiers = pd.DataFrame.from_dict(utils.PARAMETER_TIERS.items()) + + if utils.PARAMETER_TIERS[params] == "hit": + utils.logger.warning("\033[93m'%s' is saved in hit tier, for which no AUX channel is present. " + + "We skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", params) + return + + aux_channel = plot["AUX_ratio"] if "AUX_ratio" in plot.keys() else plot["AUX_diff"] # ????????????? does it work for multiple params?? + aux_subsys = Subsystem(aux_channel, dataset=dataset) + # get data for these parameters and time range given in the dataset + # (if no parameters given to plot, baseline and wfmax will always be loaded to flag pulser events anyway) + aux_subsys.get_data(params) + + # Merge the dataframes based on the 'datetime' column + self.data = self.data.merge(aux_subsys.data[['datetime', params]], on='datetime', how='left') + + if "AUX_ratio" in plot.keys(): + # calculate the ratio wrt to the AUX entries + self.data[f"{params}_x"] = self.data[f"{params}_x"] / self.data[f"{params}_y"] + if "AUX_diff" in plot.keys(): + # calculate the difference, subtracting the AUX entries + self.data[f"{params}_x"] = self.data[f"{params}_x"] - self.data[f"{params}_y"] + + # rename AUX entries (might be useful to keep it to retrieve the original param values in the dashboard, for instance) + self.data = self.data.rename(columns={f"{params}_y": f"{params}_{aux_channel}"}) + # rename param column to its original name + self.data = self.data.rename(columns={f"{params}_x": params}) From c049dd6a5209dc78c2e79aed5a6a132bd7337c7c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 1 Jun 2023 09:05:36 +0000 Subject: [PATCH 087/166] style: pre-commit fixes --- src/legend_data_monitor/core.py | 6 ++- src/legend_data_monitor/subsystem.py | 70 ++++++++++++++++++++-------- 2 files changed, 55 insertions(+), 21 deletions(-) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 98a69b2..59f5028 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -216,8 +216,10 @@ def generate_plots(config: dict, plt_path: str): # load also aux channel if necessary, and add it to the already existing df for plot in config["subsystems"][system].keys(): params = config["subsystems"][system][plot]["parameters"] - subsystems[system].include_aux(params, config["dataset"], config["subsystems"][system][plot]) - + subsystems[system].include_aux( + params, config["dataset"], config["subsystems"][system][plot] + ) + utils.logger.debug(subsystems[system].data) # ------------------------------------------------------------------------- diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index d364ee8..c92b894 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -285,22 +285,41 @@ def include_aux(self, params, dataset, plot): """Include in a new column data coming from AUX channels, to either compute a ratio or a difference with data coming from the inspected subsystem.""" # both options (diff and ratio) are present -> BAD! For this parameter we do not subtract/divide for any AUX entry if "AUX_ratio" in plot.keys() and "AUX_diff" in plot.keys(): - utils.logger.warning("\033[93mYou selected both 'AUX_ratio' and 'AUX_diff' for %s, " - + "we do not apply any of them and we continue with the plotting (STOP here if you need it, " - + "and select just one of them!)\033[0m", plot) + utils.logger.warning( + "\033[93mYou selected both 'AUX_ratio' and 'AUX_diff' for %s, " + + "we do not apply any of them and we continue with the plotting (STOP here if you need it, " + + "and select just one of them!)\033[0m", + plot, + ) return # one option (either diff or ratio) is present if "AUX_ratio" in plot.keys() or "AUX_diff" in plot.keys(): # check if the selected AUX channel exists, otherwise continue - if "AUX_ratio" in plot.keys() and plot['AUX_ratio'] not in ["pulser", "pulser_aux", "FC_bsln", "muon"]: - utils.logger.warning("\033[93mYou selected '%s' as your AUX channels to perform ratio with, but it does not exist! " - + "We do not apply any ratio and we continue with the plotting (STOP here if you need it, " - + "and select the correct AUX channel!)\033[0m", plot['AUX_ratio']) + if "AUX_ratio" in plot.keys() and plot["AUX_ratio"] not in [ + "pulser", + "pulser_aux", + "FC_bsln", + "muon", + ]: + utils.logger.warning( + "\033[93mYou selected '%s' as your AUX channels to perform ratio with, but it does not exist! " + + "We do not apply any ratio and we continue with the plotting (STOP here if you need it, " + + "and select the correct AUX channel!)\033[0m", + plot["AUX_ratio"], + ) return - if "AUX_diff" in plot.keys() and plot['AUX_diff'] not in ["pulser", "pulser_aux", "FC_bsln", "muon"]: - utils.logger.warning("\033[93mYou selected '%s' as your AUX channels to perform difference with, but it does not exist! " - + "We do not apply any difference and we continue with the plotting (STOP here if you need it, " - + "and select the correct AUX channel!)\033[0m", plot['AUX_diff']) + if "AUX_diff" in plot.keys() and plot["AUX_diff"] not in [ + "pulser", + "pulser_aux", + "FC_bsln", + "muon", + ]: + utils.logger.warning( + "\033[93mYou selected '%s' as your AUX channels to perform difference with, but it does not exist! " + + "We do not apply any difference and we continue with the plotting (STOP here if you need it, " + + "and select the correct AUX channel!)\033[0m", + plot["AUX_diff"], + ) return utils.logger.debug("... performing diff/ratio with AUX entries") @@ -309,28 +328,41 @@ def include_aux(self, params, dataset, plot): param_tiers = pd.DataFrame.from_dict(utils.PARAMETER_TIERS.items()) if utils.PARAMETER_TIERS[params] == "hit": - utils.logger.warning("\033[93m'%s' is saved in hit tier, for which no AUX channel is present. " + - "We skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", params) + utils.logger.warning( + "\033[93m'%s' is saved in hit tier, for which no AUX channel is present. " + + "We skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", + params, + ) return - aux_channel = plot["AUX_ratio"] if "AUX_ratio" in plot.keys() else plot["AUX_diff"] # ????????????? does it work for multiple params?? + aux_channel = ( + plot["AUX_ratio"] if "AUX_ratio" in plot.keys() else plot["AUX_diff"] + ) # ????????????? does it work for multiple params?? aux_subsys = Subsystem(aux_channel, dataset=dataset) # get data for these parameters and time range given in the dataset # (if no parameters given to plot, baseline and wfmax will always be loaded to flag pulser events anyway) aux_subsys.get_data(params) # Merge the dataframes based on the 'datetime' column - self.data = self.data.merge(aux_subsys.data[['datetime', params]], on='datetime', how='left') + self.data = self.data.merge( + aux_subsys.data[["datetime", params]], on="datetime", how="left" + ) if "AUX_ratio" in plot.keys(): # calculate the ratio wrt to the AUX entries - self.data[f"{params}_x"] = self.data[f"{params}_x"] / self.data[f"{params}_y"] - if "AUX_diff" in plot.keys(): + self.data[f"{params}_x"] = ( + self.data[f"{params}_x"] / self.data[f"{params}_y"] + ) + if "AUX_diff" in plot.keys(): # calculate the difference, subtracting the AUX entries - self.data[f"{params}_x"] = self.data[f"{params}_x"] - self.data[f"{params}_y"] + self.data[f"{params}_x"] = ( + self.data[f"{params}_x"] - self.data[f"{params}_y"] + ) # rename AUX entries (might be useful to keep it to retrieve the original param values in the dashboard, for instance) - self.data = self.data.rename(columns={f"{params}_y": f"{params}_{aux_channel}"}) + self.data = self.data.rename( + columns={f"{params}_y": f"{params}_{aux_channel}"} + ) # rename param column to its original name self.data = self.data.rename(columns={f"{params}_x": params}) From 4872512f5aba128a9f43510a7b71541c1c5fb67c Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Thu, 1 Jun 2023 15:40:20 +0200 Subject: [PATCH 088/166] added multi-params case --- src/legend_data_monitor/core.py | 3 +- src/legend_data_monitor/plotting.py | 8 +++-- src/legend_data_monitor/subsystem.py | 44 ++++++++++++++++++---------- 3 files changed, 35 insertions(+), 20 deletions(-) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 98a69b2..ccf850f 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -215,8 +215,7 @@ def generate_plots(config: dict, plt_path: str): # load also aux channel if necessary, and add it to the already existing df for plot in config["subsystems"][system].keys(): - params = config["subsystems"][system][plot]["parameters"] - subsystems[system].include_aux(params, config["dataset"], config["subsystems"][system][plot]) + subsystems[system].include_aux(params=config["subsystems"][system][plot]["parameters"], dataset=config["dataset"], plot=config["subsystems"][system][plot]) utils.logger.debug(subsystems[system].data) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index e06e1b9..68f46f1 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -71,6 +71,10 @@ def make_subsystem_plots( # status plot requires no plot style option (for now) if "plot_style" not in plot_settings: plot_settings["plot_style"] = None + if plot_settings["plot_style"] != "par vs par" and (isinstance(plot_settings["parameters"], list) and len(plot_settings["parameters"])>1): + utils.logger.warning("\033[93m'%s' is not enabled for multiple parameters. " + + "We switch to the 'par vs par' option.\033[0m", plot_settings["plot_style"]) + plot_settings["plot_style"] = "par vs par" # --- additional not in json # add saving info + plot where we save things @@ -207,10 +211,10 @@ def make_subsystem_plots( plot_info["label"][param] = utils.PLOT_INFO[param_orig]["label"] # modify the labels in case we perform a ratio/diff with aux channel data - if "AUX_ratio" in plot_settings.keys(): + if "AUX_ratio" in plot_settings.keys() and utils.PARAMETER_TIERS[param_orig] != "hit": aux_channel = plot_settings["AUX_ratio"] plot_info["label"][param] += f" / {param_orig}({aux_channel})" - if "AUX_diff" in plot_settings.keys(): + if "AUX_diff" in plot_settings.keys() and utils.PARAMETER_TIERS[param_orig] != "hit": aux_channel = plot_settings["AUX_diff"] plot_info["label"][param] += f" - {param_orig}({aux_channel})" diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index d364ee8..4a12789 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -303,36 +303,48 @@ def include_aux(self, params, dataset, plot): + "and select the correct AUX channel!)\033[0m", plot['AUX_diff']) return - utils.logger.debug("... performing diff/ratio with AUX entries") + utils.logger.debug("... performing diff/ratio with AUX entries") - # check if the parameter under study is from 'hit' tier; if so, skip it - param_tiers = pd.DataFrame.from_dict(utils.PARAMETER_TIERS.items()) - - if utils.PARAMETER_TIERS[params] == "hit": - utils.logger.warning("\033[93m'%s' is saved in hit tier, for which no AUX channel is present. " + - "We skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", params) - return - - aux_channel = plot["AUX_ratio"] if "AUX_ratio" in plot.keys() else plot["AUX_diff"] # ????????????? does it work for multiple params?? + def add_aux(param): + aux_channel = plot["AUX_ratio"] if "AUX_ratio" in plot.keys() else plot["AUX_diff"] aux_subsys = Subsystem(aux_channel, dataset=dataset) # get data for these parameters and time range given in the dataset # (if no parameters given to plot, baseline and wfmax will always be loaded to flag pulser events anyway) - aux_subsys.get_data(params) + aux_subsys.get_data(param) # Merge the dataframes based on the 'datetime' column - self.data = self.data.merge(aux_subsys.data[['datetime', params]], on='datetime', how='left') + self.data = self.data.merge(aux_subsys.data[['datetime', param]], on='datetime', how='left') if "AUX_ratio" in plot.keys(): # calculate the ratio wrt to the AUX entries - self.data[f"{params}_x"] = self.data[f"{params}_x"] / self.data[f"{params}_y"] + self.data[f"{param}_x"] = self.data[f"{param}_x"] / self.data[f"{param}_y"] if "AUX_diff" in plot.keys(): # calculate the difference, subtracting the AUX entries - self.data[f"{params}_x"] = self.data[f"{params}_x"] - self.data[f"{params}_y"] + self.data[f"{param}_x"] = self.data[f"{param}_x"] - self.data[f"{param}_y"] # rename AUX entries (might be useful to keep it to retrieve the original param values in the dashboard, for instance) - self.data = self.data.rename(columns={f"{params}_y": f"{params}_{aux_channel}"}) + self.data = self.data.rename(columns={f"{param}_y": f"{param}_{aux_channel}"}) # rename param column to its original name - self.data = self.data.rename(columns={f"{params}_x": params}) + self.data = self.data.rename(columns={f"{param}_x": param}) + + # one-parameter case + if (isinstance(params, list) and len(params) == 1) or isinstance(params, str): + # check if the parameter under study is from 'hit' tier; if so, skip it + if utils.PARAMETER_TIERS[params] == "hit": + utils.logger.warning("\033[93m'%s' is saved in hit tier, for which no AUX channel is present. " + + "We skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", params) + return + add_aux(params) + + # multiple-parameters case + if isinstance(params, list) and len(params) > 1: + for param in params: + if utils.PARAMETER_TIERS[param] == "hit": + utils.logger.warning("\033[93m'%s' is saved in hit tier, for which no AUX channel is present. " + + "We skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", param) + continue + add_aux(param) + def flag_pulser_events(self, pulser=None): """Flag pulser events. If a pulser object was provided, flag pulser events in data based on its flag.""" From 9fbef9bcd79e0febe97fd89ae4099105ec00597c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 1 Jun 2023 13:41:15 +0000 Subject: [PATCH 089/166] style: pre-commit fixes --- src/legend_data_monitor/core.py | 8 ++++-- src/legend_data_monitor/plotting.py | 22 +++++++++++++---- src/legend_data_monitor/subsystem.py | 37 +++++++++++++++++++--------- 3 files changed, 49 insertions(+), 18 deletions(-) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index ccf850f..1f55ffe 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -215,8 +215,12 @@ def generate_plots(config: dict, plt_path: str): # load also aux channel if necessary, and add it to the already existing df for plot in config["subsystems"][system].keys(): - subsystems[system].include_aux(params=config["subsystems"][system][plot]["parameters"], dataset=config["dataset"], plot=config["subsystems"][system][plot]) - + subsystems[system].include_aux( + params=config["subsystems"][system][plot]["parameters"], + dataset=config["dataset"], + plot=config["subsystems"][system][plot], + ) + utils.logger.debug(subsystems[system].data) # ------------------------------------------------------------------------- diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 68f46f1..6a836ab 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -71,9 +71,15 @@ def make_subsystem_plots( # status plot requires no plot style option (for now) if "plot_style" not in plot_settings: plot_settings["plot_style"] = None - if plot_settings["plot_style"] != "par vs par" and (isinstance(plot_settings["parameters"], list) and len(plot_settings["parameters"])>1): - utils.logger.warning("\033[93m'%s' is not enabled for multiple parameters. " - + "We switch to the 'par vs par' option.\033[0m", plot_settings["plot_style"]) + if plot_settings["plot_style"] != "par vs par" and ( + isinstance(plot_settings["parameters"], list) + and len(plot_settings["parameters"]) > 1 + ): + utils.logger.warning( + "\033[93m'%s' is not enabled for multiple parameters. " + + "We switch to the 'par vs par' option.\033[0m", + plot_settings["plot_style"], + ) plot_settings["plot_style"] = "par vs par" # --- additional not in json @@ -211,10 +217,16 @@ def make_subsystem_plots( plot_info["label"][param] = utils.PLOT_INFO[param_orig]["label"] # modify the labels in case we perform a ratio/diff with aux channel data - if "AUX_ratio" in plot_settings.keys() and utils.PARAMETER_TIERS[param_orig] != "hit": + if ( + "AUX_ratio" in plot_settings.keys() + and utils.PARAMETER_TIERS[param_orig] != "hit" + ): aux_channel = plot_settings["AUX_ratio"] plot_info["label"][param] += f" / {param_orig}({aux_channel})" - if "AUX_diff" in plot_settings.keys() and utils.PARAMETER_TIERS[param_orig] != "hit": + if ( + "AUX_diff" in plot_settings.keys() + and utils.PARAMETER_TIERS[param_orig] != "hit" + ): aux_channel = plot_settings["AUX_diff"] plot_info["label"][param] += f" - {param_orig}({aux_channel})" diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index af80b18..3c1cdf7 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -325,24 +325,34 @@ def include_aux(self, params, dataset, plot): utils.logger.debug("... performing diff/ratio with AUX entries") def add_aux(param): - aux_channel = plot["AUX_ratio"] if "AUX_ratio" in plot.keys() else plot["AUX_diff"] + aux_channel = ( + plot["AUX_ratio"] if "AUX_ratio" in plot.keys() else plot["AUX_diff"] + ) aux_subsys = Subsystem(aux_channel, dataset=dataset) # get data for these parameters and time range given in the dataset # (if no parameters given to plot, baseline and wfmax will always be loaded to flag pulser events anyway) aux_subsys.get_data(param) # Merge the dataframes based on the 'datetime' column - self.data = self.data.merge(aux_subsys.data[['datetime', param]], on='datetime', how='left') + self.data = self.data.merge( + aux_subsys.data[["datetime", param]], on="datetime", how="left" + ) if "AUX_ratio" in plot.keys(): # calculate the ratio wrt to the AUX entries - self.data[f"{param}_x"] = self.data[f"{param}_x"] / self.data[f"{param}_y"] - if "AUX_diff" in plot.keys(): + self.data[f"{param}_x"] = ( + self.data[f"{param}_x"] / self.data[f"{param}_y"] + ) + if "AUX_diff" in plot.keys(): # calculate the difference, subtracting the AUX entries - self.data[f"{param}_x"] = self.data[f"{param}_x"] - self.data[f"{param}_y"] + self.data[f"{param}_x"] = ( + self.data[f"{param}_x"] - self.data[f"{param}_y"] + ) # rename AUX entries (might be useful to keep it to retrieve the original param values in the dashboard, for instance) - self.data = self.data.rename(columns={f"{param}_y": f"{param}_{aux_channel}"}) + self.data = self.data.rename( + columns={f"{param}_y": f"{param}_{aux_channel}"} + ) # rename param column to its original name self.data = self.data.rename(columns={f"{param}_x": param}) @@ -350,8 +360,11 @@ def add_aux(param): if (isinstance(params, list) and len(params) == 1) or isinstance(params, str): # check if the parameter under study is from 'hit' tier; if so, skip it if utils.PARAMETER_TIERS[params] == "hit": - utils.logger.warning("\033[93m'%s' is saved in hit tier, for which no AUX channel is present. " - + "We skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", params) + utils.logger.warning( + "\033[93m'%s' is saved in hit tier, for which no AUX channel is present. " + + "We skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", + params, + ) return add_aux(params) @@ -359,12 +372,14 @@ def add_aux(param): if isinstance(params, list) and len(params) > 1: for param in params: if utils.PARAMETER_TIERS[param] == "hit": - utils.logger.warning("\033[93m'%s' is saved in hit tier, for which no AUX channel is present. " - + "We skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", param) + utils.logger.warning( + "\033[93m'%s' is saved in hit tier, for which no AUX channel is present. " + + "We skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", + param, + ) continue add_aux(param) - def flag_pulser_events(self, pulser=None): """Flag pulser events. If a pulser object was provided, flag pulser events in data based on its flag.""" utils.logger.info("... flagging pulser events") From 6e3cea96d817632a7c68798b668db39f70320213 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Thu, 8 Jun 2023 16:12:17 +0200 Subject: [PATCH 090/166] inclusion + saving of aux channel --- src/legend_data_monitor/analysis_data.py | 71 ++++++++-- src/legend_data_monitor/core.py | 46 +++---- src/legend_data_monitor/plot_styles.py | 25 ++-- src/legend_data_monitor/plotting.py | 117 +++++++++------- src/legend_data_monitor/save_data.py | 165 ++++++++++++++++++++++- src/legend_data_monitor/subsystem.py | 110 +++++++-------- src/legend_data_monitor/utils.py | 29 +++- 7 files changed, 399 insertions(+), 164 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index cebe13c..a8ffaf5 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -48,8 +48,6 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): # defaults if "time_window" not in analysis_info: analysis_info["time_window"] = None - if "variation" not in analysis_info: - analysis_info["variation"] = False if "cuts" not in analysis_info: analysis_info["cuts"] = [] if "plt_path" not in analysis_info: @@ -62,12 +60,17 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): event_type_flags = { "pulser": ("flag_pulser", "pulser"), - "FC_bsln": ("flag_fc_bsln", "FC_bsln"), + "FCbsln": ("flag_fc_bsln", "FCbsln"), "muon": ("flag_muon", "muon"), } event_type = analysis_info["event_type"] + # check if the selected event type is within the available ones + if event_type not in event_type_flags.keys(): + utils.logger.error(f"\033[91mThe event type '{event_type}' does not exist and cannot be flagged! Try again with one among {list(event_type_flags.keys())}.\033[0m") + sys.exit() + if event_type in event_type_flags: flag, subsystem_name = event_type_flags[event_type] if flag not in sub_data: @@ -76,7 +79,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): + f"\033[91mRun the function .flag_{subsystem_name}_events(<{subsystem_name}>) first, where is your Subsystem object, \033[0m" + f"\033[91mand <{subsystem_name}> is a Subsystem object of type '{subsystem_name}', which already has its data loaded with <{subsystem_name}>.get_data(); then create an AnalysisData object.\033[0m" ) - return + sys.exit() # cannot do event rate and another parameter at the same time # since event rate is calculated in windows @@ -105,10 +108,12 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): self.parameters = analysis_info["parameters"] self.evt_type = analysis_info["event_type"] self.time_window = analysis_info["time_window"] - self.variation = analysis_info["variation"] self.cuts = analysis_info["cuts"] self.saving = analysis_info["saving"] self.plt_path = analysis_info["plt_path"] + # evaluate the variation in any case, so we can save it (later useful for dashboard; + # when plotting, no variation will be included as specified in the config file) + self.variation = True # ------------------------------------------------------------------------- # subselect data @@ -187,7 +192,7 @@ def select_events(self): if self.evt_type == "pulser": utils.logger.info("... keeping only pulser events") self.data = self.data[self.data["flag_pulser"]] - elif self.evt_type == "FC_bsln": + elif self.evt_type == "FCbsln": utils.logger.info("... keeping only FC baseline events") self.data = self.data[self.data["flag_fc_bsln"]] elif self.evt_type == "muon": @@ -477,7 +482,7 @@ def is_pulser(self) -> bool: and self.data.iloc[0]["position"] == 0 ) - def is_pulser_aux(self) -> bool: + def is_pulser01ana(self) -> bool: """Return True if the system is the pulser channel.""" return ( self.is_geds() @@ -505,19 +510,19 @@ def is_aux(self) -> bool: """Return True if the system is an AUX channel.""" return ( self.is_pulser() - or self.is_pulser_aux() + or self.is_pulser01ana() or self.is_fc_bsln() or self.is_muon() ) def get_subsys(self) -> str: - """Return 'pulser', 'pulser_aux', 'FC_bsln', 'muon', 'geds' or 'spms' depending on the subsystem type.""" + """Return 'pulser', 'pulser01ana', 'FCbsln', 'muon', 'geds' or 'spms' depending on the subsystem type.""" if self.is_pulser(): return "pulser" - if self.is_pulser_aux(): - return "pulser_aux" + if self.is_pulser01ana(): + return "pulser01ana" if self.is_fc_bsln(): - return "FC_bsln" + return "FCbsln" if self.is_muon(): return "muon" if self.is_spms(): @@ -592,6 +597,48 @@ def get_saved_df( return channel_mean +def get_aux_df(df: pd.DataFrame, parameter: list, plot_settings: dict, aux_ch: str) -> pd.DataFrame: + """Get dataframes containing auxiliary (PULS01ANA) data, storing absolute/diff&ratio/mean/% variations values.""" + if len(parameter) == 1: + param = parameter[0] + if (param in utils.PARAMETER_TIERS.keys() and utils.PARAMETER_TIERS[param] == "hit") or param in utils.SPECIAL_PARAMETERS.keys(): + return pd.DataFrame(), pd.DataFrame(), pd.DataFrame() + # get abs/mean/% variation for data of aux channel --> objects to save + utils.logger.debug(f"Getting {aux_ch} data for {param}") + aux_data = df.copy() + aux_data[param] = aux_data[f'{param}_{aux_ch}'] + aux_data = aux_data.drop(columns=[f'{param}_{aux_ch}Ratio', f'{param}_{aux_ch}', f'{param}_{aux_ch}Diff']) + aux_analysis = AnalysisData(aux_data, selection=plot_settings) + utils.logger.debug(aux_analysis.data) + + # get abs/mean/% variation for ratio values with aux channel data --> objects to save + utils.logger.debug(f"Getting ratio wrt {aux_ch} data for {param}") + aux_ratio_data = df.copy() + aux_ratio_data[param] = aux_ratio_data[f'{param}_{aux_ch}Ratio'] + aux_ratio_data = aux_ratio_data.drop(columns=[f'{param}_{aux_ch}Ratio', f'{param}_{aux_ch}', f'{param}_{aux_ch}Diff']) + aux_ratio_analysis = AnalysisData(aux_ratio_data, selection=plot_settings) + utils.logger.debug(aux_ratio_analysis.data) + + # get abs/mean/% variation for difference values with aux channel data --> objects to save + utils.logger.debug(f"Getting difference wrt {aux_ch} data for {param}") + aux_diff_data = df.copy() + aux_diff_data[param] = aux_diff_data[f'{param}_{aux_ch}Diff'] + aux_diff_data = aux_diff_data.drop(columns=[f'{param}_{aux_ch}Ratio', f'{param}_{aux_ch}', f'{param}_{aux_ch}Diff']) + aux_diff_analysis = AnalysisData(aux_diff_data, selection=plot_settings) + utils.logger.debug(aux_diff_analysis.data) + + if len(parameter) > 1: + utils.logger.warning("\033[93mThe aux subtraction/difference is not implemented for multi parameters! We skip it and plot the normal quantities, not corrected for the aux channel.\033[0m") + if 'AUX_ratio' in plot_settings.keys(): + del plot_settings['AUX_ratio'] + if 'AUX_diff' in plot_settings.keys(): + del plot_settings['AUX_diff'] + return None, None, None + + + return aux_analysis, aux_ratio_analysis, aux_diff_analysis + + def concat_channel_mean(self, channel_mean) -> pd.DataFrame: """Add a new column containing the mean values of the inspected parameter.""" # some means are meaningless -> drop the corresponding column diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index ccf850f..576a12d 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -182,10 +182,10 @@ def generate_plots(config: dict, plt_path: str): # ------------------------------------------------------------------------- # flag events - FC baseline # ------------------------------------------------------------------------- - subsystems["FC_bsln"] = subsystem.Subsystem("FC_bsln", dataset=config["dataset"]) - parameters = utils.get_all_plot_parameters("FC_bsln", config) - subsystems["FC_bsln"].get_data(parameters) - utils.logger.debug(subsystems["FC_bsln"].data) + subsystems["FCbsln"] = subsystem.Subsystem("FCbsln", dataset=config["dataset"]) + parameters = utils.get_all_plot_parameters("FCbsln", config) + subsystems["FCbsln"].get_data(parameters) + utils.logger.debug(subsystems["FCbsln"].data) # ------------------------------------------------------------------------- # flag events - muon @@ -213,25 +213,25 @@ def generate_plots(config: dict, plt_path: str): # get data for these parameters and dataset range subsystems[system].get_data(parameters) - # load also aux channel if necessary, and add it to the already existing df - for plot in config["subsystems"][system].keys(): - subsystems[system].include_aux(params=config["subsystems"][system][plot]["parameters"], dataset=config["dataset"], plot=config["subsystems"][system][plot]) - - utils.logger.debug(subsystems[system].data) - - # ------------------------------------------------------------------------- - # flag events - # ------------------------------------------------------------------------- - # flag pulser events for future parameter data selection - subsystems[system].flag_pulser_events(subsystems["pulser"]) - # flag FC baseline events - subsystems[system].flag_fcbsln_events(subsystems["FC_bsln"]) - # flag muon events - subsystems[system].flag_muon_events(subsystems["muon"]) - - # remove timestamps for given detectors (moved here cause otherwise timestamps for flagging don't match) - subsystems[system].remove_timestamps(utils.REMOVE_KEYS) - utils.logger.debug(subsystems[system].data) + # load also aux channel if necessary, and add it to the already existing df + for plot in config["subsystems"][system].keys(): + subsystems[system].include_aux(config["subsystems"][system][plot]["parameters"], config["dataset"], config["subsystems"][system][plot], "pulser01ana") + + utils.logger.debug(subsystems[system].data) + + # ------------------------------------------------------------------------- + # flag events + # ------------------------------------------------------------------------- + # flag pulser events for future parameter data selection + subsystems[system].flag_pulser_events(subsystems["pulser"]) + # flag FC baseline events for future parameter data selection + subsystems[system].flag_fcbsln_events(subsystems["FCbsln"]) + # flag muon events for future parameter data selection + subsystems[system].flag_muon_events(subsystems["muon"]) + + # remove timestamps for given detectors (moved here cause otherwise timestamps for flagging don't match) + subsystems[system].remove_timestamps(utils.REMOVE_KEYS) + utils.logger.debug(subsystems[system].data) # ------------------------------------------------------------------------- # make subsystem plots diff --git a/src/legend_data_monitor/plot_styles.py b/src/legend_data_monitor/plot_styles.py index 1989456..4b4f36d 100644 --- a/src/legend_data_monitor/plot_styles.py +++ b/src/legend_data_monitor/plot_styles.py @@ -4,6 +4,7 @@ # See mapping user plot structure keywords to corresponding functions in the end of this file +import re import numpy as np import pandas as pd from matplotlib.axes import Axes @@ -112,7 +113,7 @@ def plot_vs_time( ax.set_ylim(ymax=plot_info["range"][1]) # plot the position of the two K lines - if plot_info["K_events"]: + if plot_info["event_type"] == "K_events": ax.axhline(y=1460.822, color="gray", linestyle="--") ax.axhline(y=1524.6, color="gray", linestyle="--") @@ -128,11 +129,19 @@ def plot_vs_time( # --- set labels fig.supxlabel("UTC Time") - y_label = ( - f"{plot_info['label']}, {plot_info['unit_label']}" - if plot_info["unit_label"] == "%" - else f"{plot_info['label']} [{plot_info['unit_label']}]" - ) + y_label = plot_info['label'] + if plot_info["unit_label"] == "%": + y_label += ", %" + else: + if "(PULS01ANA)" in y_label or "(PULS01)" in y_label or "(BSLN01)" in y_label or "(MUON01)" in y_label: + separator = "-" if "-" in y_label else "/" + parts = y_label.split(separator) + + if len(parts) == 2 and separator == "-": + y_label += f" [{plot_info['unit']}]" + else: + y_label += f" [{plot_info['unit']}]" + fig.supylabel(y_label) @@ -223,7 +232,7 @@ def plot_histo( # ------------------------------------------------------------------------- # plot the position of the two K lines - if plot_info["K_events"]: + if plot_info["event_type"] == "K_events": ax.axvline(x=1460.822, color="gray", linestyle="--") ax.axvline(x=1524.6, color="gray", linestyle="--") @@ -249,7 +258,7 @@ def plot_scatter( # edgecolors=color, ) - if plot_info["K_events"]: + if plot_info["event_type"] == "K_events": ax.axhline(y=1460.822, color="gray", linestyle="--") ax.axhline(y=1524.6, color="gray", linestyle="--") diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 68f46f1..380ad17 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -106,15 +106,38 @@ def make_subsystem_plots( # - calculate special parameters if present # - get channel mean # - calculate variation from mean, if asked + # note: subsystem.data contains: absolute value of a param, the respective value for aux channel (with ratio and diff already computed) data_analysis = analysis_data.AnalysisData( subsystem.data, selection=plot_settings ) - - # check if the dataframe is empty, if so, skip this plot - if utils.is_empty(data_analysis.data): + # check if the dataframe is empty; if so, skip this parameter + if utils.check_empty_df(data_analysis): continue utils.logger.debug(data_analysis.data) + # get list of parameters + params = plot_settings["parameters"] + if isinstance(params, str): + params = [params] + + # this is ok for geds, but for spms? maybe another function will be necessary for this???? + # note: this will not do anything in case the parameter is from hit tier + aux_analysis, aux_ratio_analysis, aux_diff_analysis = analysis_data.get_aux_df(subsystem.data.copy(), params, plot_settings, "pulser01ana") + + # ------------------------------------------------------------------------- + # switch to aux data (if specified in config file) + # ------------------------------------------------------------------------- + # check if the aux objects are empty or not + if not utils.check_empty_df(aux_ratio_analysis) and not utils.check_empty_df(aux_diff_analysis): + if "AUX_ratio" in plot_settings.keys() and plot_settings["AUX_ratio"] is True: + data_to_plot = aux_ratio_analysis + if "AUX_diff" in plot_settings.keys() and plot_settings["AUX_diff"] is True: + data_to_plot = aux_diff_analysis + if ("AUX_ratio" not in plot_settings.keys() and "AUX_diff" not in plot_settings.keys()) or ("AUX_ratio" in plot_settings.keys() and plot_settings["AUX_ratio"] is False) or ("AUX_diff" in plot_settings.keys() and plot_settings["AUX_diff"] is False): + data_to_plot = data_analysis + else: + data_to_plot = data_analysis + # ------------------------------------------------------------------------- # set up plot info # ------------------------------------------------------------------------- @@ -133,10 +156,10 @@ def make_subsystem_plots( if plot_structure == "per cc4": if ( - data_analysis.data.iloc[0]["cc4_id"] is None - or data_analysis.data.iloc[0]["cc4_channel"] is None + data_to_plot.data.iloc[0]["cc4_id"] is None + or data_to_plot.data.iloc[0]["cc4_channel"] is None ): - if subsystem.type in ["spms", "pulser", "pulser_aux", "bsln"]: + if subsystem.type in ["spms", "pulser", "pulser01ana", "bsln"]: utils.logger.error( "\033[91mPlotting per CC4 is not available for %s. Try again!\033[0m", subsystem.type, @@ -149,11 +172,11 @@ def make_subsystem_plots( exit() # ...if cc4 are present, group by them max_ch_per_string = ( - data_analysis.data.groupby("cc4_id")["cc4_channel"].nunique().max() + data_to_plot.data.groupby("cc4_id")["cc4_channel"].nunique().max() ) else: max_ch_per_string = ( - data_analysis.data.groupby("location")["position"].nunique().max() + data_to_plot.data.groupby("location")["position"].nunique().max() ) global COLORS COLORS = color_palette("hls", max_ch_per_string).as_hex() @@ -167,8 +190,8 @@ def make_subsystem_plots( "geds": "string", "spms": "fiber", "pulser": "puls", - "pulser_aux": "puls", - "FC_bsln": "bsln", + "pulser01ana": "pulser01ana", + "FCbsln": "FC bsln", "muon": "muon", }[subsystem.type], } @@ -186,14 +209,10 @@ def make_subsystem_plots( # information needed for plot style depending on parameters # first, treat it like multiple parameters, add dictionary to each entry with values for each parameter - multi_param_info = ["unit", "label", "unit_label", "limits", "K_events"] + multi_param_info = ["unit", "label", "unit_label", "limits", "event_type"] for info in multi_param_info: plot_info[info] = {} - params = plot_settings["parameters"] - if isinstance(params, str): - params = [params] - # name(s) of parameter(s) to plot - always list plot_info["parameters"] = params # preserve original param_mean before potentially adding _var to name @@ -211,12 +230,13 @@ def make_subsystem_plots( plot_info["label"][param] = utils.PLOT_INFO[param_orig]["label"] # modify the labels in case we perform a ratio/diff with aux channel data - if "AUX_ratio" in plot_settings.keys() and utils.PARAMETER_TIERS[param_orig] != "hit": - aux_channel = plot_settings["AUX_ratio"] - plot_info["label"][param] += f" / {param_orig}({aux_channel})" - if "AUX_diff" in plot_settings.keys() and utils.PARAMETER_TIERS[param_orig] != "hit": - aux_channel = plot_settings["AUX_diff"] - plot_info["label"][param] += f" - {param_orig}({aux_channel})" + if param_orig in utils.PARAMETER_TIERS.keys(): + if "AUX_ratio" in plot_settings.keys() and utils.PARAMETER_TIERS[param_orig] != "hit": + if plot_settings["AUX_ratio"] is True: + plot_info["label"][param] += " / " + plot_info["label"][param] + f"(PULS01ANA)" + if "AUX_diff" in plot_settings.keys() and utils.PARAMETER_TIERS[param_orig] != "hit": + if plot_settings["AUX_diff"] is True: + plot_info["label"][param] += " - " + plot_info["label"][param] + f"(PULS01ANA)" keyword = "variation" if plot_settings["variation"] else "absolute" plot_info["limits"][param] = ( @@ -228,9 +248,8 @@ def make_subsystem_plots( plot_info["unit_label"][param] = ( "%" if plot_settings["variation"] else plot_info["unit"][param_orig] ) - plot_info["K_events"][param] = ( - plot_settings["event_type"] == "K_events" - ) and (param == utils.SPECIAL_PARAMETERS["K_events"][0]) + plot_info["event_type"][param] = plot_settings["event_type"] + if len(params) == 1: # change "parameters" to "parameter" - for single-param plotting functions @@ -244,16 +263,14 @@ def make_subsystem_plots( # threshold values are needed for status map; might be needed for plotting limits on canvas too # only needed for single param plots (for now) - if subsystem.type not in ["pulser", "pulser_aux", "FC_bsln", "muon"]: + if subsystem.type not in ["pulser", "pulser01ana", "FCbsln", "muon"]: keyword = "variation" if plot_settings["variation"] else "absolute" plot_info["limits"] = utils.PLOT_INFO[params[0]]["limits"][ subsystem.type ][keyword] # needed for grey lines for K lines, in case we are looking at energy itself (not event rate for example) - plot_info["K_events"] = (plot_settings["event_type"] == "K_events") and ( - plot_info["parameter"] == utils.SPECIAL_PARAMETERS["K_events"][0] - ) + plot_info["event_type"] = plot_settings["event_type"] # ------------------------------------------------------------------------- # call chosen plot structure + plotting @@ -261,15 +278,15 @@ def make_subsystem_plots( if "exposure" in plot_info["parameters"]: string_visualization.exposure_plot( - subsystem, data_analysis.data, plot_info, pdf + subsystem, data_to_plot.data, plot_info, pdf ) else: utils.logger.debug("Plot structure: %s", plot_settings["plot_structure"]) - plot_structure(data_analysis.data, plot_info, pdf) + plot_structure(data_to_plot.data, plot_info, pdf) # For some reason, after some plotting functions the index is set to "channel". # We need to set it back otherwise string_visualization.py gets crazy and everything crashes. - data_analysis.data = data_analysis.data.reset_index() + data_to_plot.data = data_to_plot.data.reset_index() # ------------------------------------------------------------------------- # saving dataframe + plot info @@ -277,14 +294,15 @@ def make_subsystem_plots( # here we are not checking if we are plotting one or more than one parameter # the output dataframe and plot_info objects are merged for more than one parameters # this will be split at a later stage, when building the output dictionary through utils.build_out_dict(...) - par_dict_content = save_data.save_df_and_info(data_analysis.data, plot_info) + par_dict_content = save_data.save_df_and_info(data_to_plot.data, plot_info) + save_data.save_hdf(saving, plt_path + f"-{subsystem.type}.hdf", data_analysis, "pulser01ana", aux_analysis, aux_ratio_analysis, aux_diff_analysis, plot_info) # ------------------------------------------------------------------------- # call status plot # ------------------------------------------------------------------------- if "status" in plot_settings and plot_settings["status"]: - if subsystem.type in ["pulser", "pulser_aux", "FC_bsln", "muon"]: + if subsystem.type in ["pulser", "pulser01ana", "FCbsln", "muon"]: utils.logger.debug( f"Thresholds are not enabled for {subsystem.type}! Use you own eyes to do checks there" ) @@ -390,7 +408,7 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): text += ( f"position {df_text['position']}" if plot_info["subsystem"] - not in ["pulser", "pulser_aux", "FC_bsln", "muon"] + not in ["pulser", "pulser01ana", "FCbsln", "muon"] else "" ) if len(plot_info["parameters"]) == 1: @@ -403,7 +421,7 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): fwhm_ch = get_fwhm_for_fixed_ch( data_channel, plot_info["parameter"] ) - text += f"\nFWHM {fwhm_ch}" + text += f"\nFWHM {fwhm_ch}" if fwhm_ch != 0 else "" text += "\n" + ( f"mean {round(par_mean,3)} [{plot_info['unit']}]" @@ -426,7 +444,7 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): ax_idx += 1 # ------------------------------------------------------------------------------- - if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln", "muon"]: + if plot_info["subsystem"] in ["pulser", "pulser01ana", "FCbsln", "muon"]: y_title = 1.05 axes[0].set_title("") else: @@ -440,7 +458,7 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): - if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln", "muon"]: + if plot_info["subsystem"] in ["pulser", "pulser01ana", "FCbsln", "muon"]: utils.logger.error( "\033[91mPlotting per CC4 is not available for %s channel.\nTry again with a different plot structure!\033[0m", plot_info["subsystem"], @@ -504,7 +522,7 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): fwhm_ch = get_fwhm_for_fixed_ch( data_channel, plot_info["parameter"] ) - labels[-1] = label + f" - FWHM: {fwhm_ch}" + labels[-1] = label + f" - FWHM: {fwhm_ch}" if fwhm_ch != 0 else label else: labels[-1] = label col_idx += 1 @@ -527,7 +545,7 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # ------------------------------------------------------------------------------- y_title = ( 1.05 - if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln", "muon"] + if plot_info["subsystem"] in ["pulser", "pulser01ana", "FCbsln", "muon"] else 1.01 ) fig.suptitle(f"{plot_info['subsystem']} - {plot_info['title']}", y=y_title) @@ -599,7 +617,7 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): fwhm_ch = get_fwhm_for_fixed_ch( data_channel, plot_info["parameter"] ) - labels[-1] = label + f" - FWHM: {fwhm_ch}" + labels[-1] = label + f" - FWHM: {fwhm_ch}" if fwhm_ch != 0 else label else: labels[-1] = label col_idx += 1 @@ -622,7 +640,7 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): # ------------------------------------------------------------------------------- y_title = ( 1.05 - if plot_info["subsystem"] in ["pulser", "pulser_aux", "FC_bsln", "muon"] + if plot_info["subsystem"] in ["pulser", "pulser01ana", "FCbsln", "muon"] else 1.01 ) fig.suptitle(f"{plot_info['subsystem']} - {plot_info['title']}", y=y_title) @@ -927,14 +945,17 @@ def get_fwhm_for_fixed_ch(data_channel: DataFrame, parameter: str) -> float: entries_avg = np.mean(entries) fwhm_ch = 2.355 * np.sqrt(np.mean(np.square(entries - entries_avg))) - # Determine the number of decimal places based on the magnitude of the value - decimal_places = max(0, int(-np.floor(np.log10(abs(fwhm_ch)))) + 2) - # Format the FWHM value with the appropriate number of decimal places - formatted_fwhm = "{:.{dp}f}".format(fwhm_ch, dp=decimal_places) - # Remove trailing zeros from the formatted value - formatted_fwhm = formatted_fwhm.rstrip("0").rstrip(".") + if fwhm_ch != 0: + # Determine the number of decimal places based on the magnitude of the value + decimal_places = max(0, int(-np.floor(np.log10(abs(fwhm_ch)))) + 2) + # Format the FWHM value with the appropriate number of decimal places + formatted_fwhm = "{:.{dp}f}".format(fwhm_ch, dp=decimal_places) + # Remove trailing zeros from the formatted value + formatted_fwhm = formatted_fwhm.rstrip("0").rstrip(".") - return formatted_fwhm + return formatted_fwhm + else: + return 0 def plot_limits(ax: plt.Axes, params: list, limits: Union[list, dict]): diff --git a/src/legend_data_monitor/save_data.py b/src/legend_data_monitor/save_data.py index 26bae32..fd0e949 100644 --- a/src/legend_data_monitor/save_data.py +++ b/src/legend_data_monitor/save_data.py @@ -2,14 +2,20 @@ import shelve from pandas import DataFrame, concat +from legendmeta import LegendMetadata -from . import utils +from . import analysis_data, utils # ------------------------------------------------------------------------- # Saving related functions # ------------------------------------------------------------------------- + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# SHELVE OBJECTS +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + def save_df_and_info(df: DataFrame, plot_info: dict) -> dict: """Return a dictionary containing a dataframe for the parameter(s) under study for a given subsystem. The plotting info are saved too.""" par_dict_content = { @@ -111,7 +117,7 @@ def build_dict( # one parameter if (isinstance(params, list) and len(params) == 1) or isinstance(params, str): utils.logger.debug( - "... building the output dictionary in the one-parameter case" + "Building the output dictionary in the one-parameter case" ) if isinstance(params, list): param = params[0] @@ -136,7 +142,7 @@ def build_dict( # more than one parameter if isinstance(params, list) and len(params) > 1: utils.logger.debug( - "... building the output dictionary in the multi-parameters case" + "Building the output dictionary in the multi-parameters case" ) # we have to polish our dataframe and plot_info dictionary from other parameters... # --- original plot info @@ -297,10 +303,10 @@ def get_param_info(param: str, plot_info: dict) -> dict: if isinstance(plot_info["limits"], dict) else plot_info["limits"] ) - plot_info_param["K_events"] = ( - plot_info["K_events"][param] - if isinstance(plot_info["K_events"], dict) - else plot_info["K_events"] + plot_info_param["event_type"] = ( + plot_info["event_type"][param] + if isinstance(plot_info["event_type"], dict) + else plot_info["event_type"] ) plot_info_param["param_mean"] = parameter + "_mean" plot_info_param["variation"] = ( @@ -379,3 +385,148 @@ def get_param_df(parameter: str, df: DataFrame) -> DataFrame: df_param = concat([df_param, df_cols, df_other_cols], axis=1) return df_param + + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# HDF OBJECTS +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +def save_hdf(saving: str, file_path: str, df: analysis_data.AnalysisData, aux_ch: str, aux_analysis: analysis_data.AnalysisData, aux_ratio_analysis: analysis_data.AnalysisData, aux_diff_analysis: analysis_data.AnalysisData, plot_info: dict) -> dict: + """Save the input dataframe in an external hdf file, using a different structure (time vs channel, with values in cells). Plot info are saved too.""" + if saving == "append": + utils.logger.warning("\033[93m'append' saving option not implemented -> we skip saving hdf file\033[0m") + return + + utils.logger.info(f"Building HDF file(s)") + # save the final dataframe as a hdf object + parameters = plot_info["parameters"] + keys_to_drop = ['std', 'range', 'plot_style', 'variation', 'limits', 'title', 'parameters', 'parameter', 'param_mean', 'locname', 'time_window', 'resampled', 'unit_label'] + flag_rename = { + "pulser": "IsPulser", + "FCbsln": "IsBsln", + "muon": "IsMuon", + } + + for param in parameters: + evt_type = plot_info["event_type"][param] if isinstance(plot_info["event_type"], dict) else plot_info["event_type"] + param_orig = param.rstrip("_var") if "_var" in param else param + param_orig_camel = utils.convert_to_camel_case(param_orig, "_") + + # get dictionary with useful plotting info + plot_info_param = get_param_info(param, plot_info) + # drop the list, and get directly lower/upper limits (set to False if no limits are provided); + # this helps to avoid mixing types with PyTables + + # fix the label (in general, it could contain info for aux data too - here, we want a simple version of the label) + plot_info_param["label"] = utils.PLOT_INFO[param_orig]["label"] + + limits_var = utils.PLOT_INFO[param_orig]["limits"][plot_info_param["subsystem"]]["variation"] if plot_info_param["subsystem"] in utils.PLOT_INFO[param_orig]["limits"].keys() else [None, None] + limits_abs = utils.PLOT_INFO[param_orig]["limits"][plot_info_param["subsystem"]]["absolute"] if plot_info_param["subsystem"] in utils.PLOT_INFO[param_orig]["limits"].keys() else [None, None] + + # for limits, change from 'None' to 'False' to be hdf-friendlyF + plot_info_param["lower_lim_var"] = str(limits_var[0]) or False + plot_info_param["upper_lim_var"] = str(limits_var[1]) or False + plot_info_param["lower_lim_abs"] = str(limits_abs[0]) or False + plot_info_param["upper_lim_abs"] = str(limits_abs[1]) or False + + # drop useless keys + for key in keys_to_drop: + del plot_info_param[key] + + # one-param case + if len(parameters) == 1: + df_to_save = df.data.copy() + if not utils.check_empty_df(aux_analysis): + df_aux_to_save = aux_analysis.data.copy() + if not utils.check_empty_df(aux_ratio_analysis): + df_aux_ratio_to_save = aux_ratio_analysis.data.copy() + if not utils.check_empty_df(aux_diff_analysis): + df_aux_diff_to_save = aux_diff_analysis.data.copy() + # multi-param case (get only the df for the param of interest) + if len(parameters) > 1: + df_to_save = get_param_df(param_orig, df.data) + if not utils.check_empty_df(aux_analysis): + df_aux_to_save = get_param_df(param_orig, aux_analysis.data) + if not utils.check_empty_df(aux_ratio_analysis): + df_aux_ratio_to_save = get_param_df(param_orig, aux_ratio_analysis.data) + if not utils.check_empty_df(aux_diff_analysis): + df_aux_diff_to_save = get_param_df(param_orig, aux_diff_analysis.data) + + # still need to check ovewrite/append (and existence of file!!!) + # if not os.path.exists(plt_path + "-" + plot_info["subsystem"] + ".dat"): + + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + # PLOTTING INFO + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + df_info = DataFrame.from_dict(plot_info_param, orient='index', columns=['Value']) + df_info.to_hdf(file_path, key=f'{flag_rename[evt_type]}_{param_orig_camel}_info', mode='a') + + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + # PURE VALUES + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + # ... absolute values + get_pivot(df_to_save, param_orig, f"{flag_rename[evt_type]}_{param_orig_camel}", file_path, 'a') + # ... mean values + get_pivot(df_to_save, param_orig + "_mean", f"{flag_rename[evt_type]}_{param_orig_camel}_mean", file_path, 'a') + # ... % variations wrt absolute values + get_pivot(df_to_save, param_orig + "_var", f"{flag_rename[evt_type]}_{param_orig_camel}_var", file_path, 'a') + + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + # PURE VALUES - AUX CHANNEL + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if not utils.check_empty_df(aux_analysis): + plot_info_aux = plot_info_param.copy() + plot_info_aux["subsystem"] = aux_ch + # --- plotting info + df_info_aux = DataFrame.from_dict(plot_info_aux, orient='index', columns=['Value']) + df_info_aux.to_hdf(file_path.replace(plot_info_param['subsystem'], aux_ch), key=f'{flag_rename[evt_type]}_{param_orig_camel}_info', mode='a') + + # keep one channel only + first_ch = df_aux_to_save.iloc[0]['channel'] + df_aux_to_save = df_aux_to_save[df_aux_to_save["channel"] == first_ch] + if aux_ch == "pulser01ana": + df_aux_to_save["channel"] = 1027203 + + # ... absolute values + get_pivot(df_aux_to_save, param_orig, f"{flag_rename[evt_type]}_{param_orig_camel}", file_path.replace(plot_info_param['subsystem'], aux_ch), 'a') + # ... mean values + get_pivot(df_aux_to_save, param_orig + "_mean", f"{flag_rename[evt_type]}_{param_orig_camel}_mean", file_path.replace(plot_info_param['subsystem'], aux_ch), 'a') + # ... % variations wrt absolute values + get_pivot(df_aux_to_save, param_orig + "_var", f"{flag_rename[evt_type]}_{param_orig_camel}_var", file_path.replace(plot_info_param['subsystem'], aux_ch), 'a') + utils.logger.info( + f"... HDF file for {aux_ch} - pure AUX values - saved in: \33[4m{file_path.replace(plot_info_param['subsystem'], aux_ch)}\33[0m" + ) + + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + # RATIO WRT AUX CHANNEL + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if not utils.check_empty_df(aux_ratio_analysis): + # ... absolute values + get_pivot(df_aux_ratio_to_save, param_orig, f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio", file_path, 'a') + # ... mean values + get_pivot(df_aux_ratio_to_save, param_orig + "_mean", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio_mean", file_path, 'a') + # ... % variations wrt absolute values + get_pivot(df_aux_ratio_to_save, param_orig + "_var", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio_var", file_path, 'a') + + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + # DIFFERENCE WRT AUX CHANNEL + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if not utils.check_empty_df(aux_diff_analysis): + # ... absolute values + get_pivot(df_aux_diff_to_save, param_orig, f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff", file_path, 'a') + # ... mean values + get_pivot(df_aux_diff_to_save, param_orig + "_mean", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff_mean", file_path, 'a') + # ... % variations wrt absolute values + get_pivot(df_aux_diff_to_save, param_orig + "_var", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff_var", file_path, 'a') + + utils.logger.info(f"... HDF file for {plot_info_param['subsystem']} saved in: \33[4m{file_path}\33[0m") + + +def get_pivot(df: DataFrame, parameter: str, key_name: str, file_path: str, mode): + df_pivot = df.pivot(index='datetime', columns='channel', values=parameter) + # just select one row for mean values (since mean is constant over time for a given channel) + if "_mean" in parameter: + df_pivot = df_pivot.iloc[[0]] + df_pivot.to_hdf(file_path, key=key_name, mode='a') + + diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index af80b18..1869ad8 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -1,13 +1,15 @@ import os +import sys import typing from datetime import datetime import numpy as np import pandas as pd +from typing import Union from legendmeta import LegendMetadata from pygama.flow import DataLoader -from . import utils +from . import analysis_data, utils list_of_str = list[str] tuple_of_str = tuple[str] @@ -17,7 +19,7 @@ class Subsystem: """ Object containing information for a given subsystem such as channel map, channels status etc. - sub_type [str]: geds | spms | pulser | pulser_aux | FC_bsln | muon + sub_type [str]: geds | spms | pulser | pulser01ana | FCbsln | muon Options for kwargs @@ -276,93 +278,79 @@ def get_data(self, parameters: typing.Union[str, list_of_str, tuple_of_str] = () if self.type == "pulser": self.flag_pulser_events() - if self.type == "FC_bsln": + if self.type == "FCbsln": self.flag_fcbsln_events() if self.type == "muon": self.flag_muon_events() - def include_aux(self, params, dataset, plot): - """Include in a new column data coming from AUX channels, to either compute a ratio or a difference with data coming from the inspected subsystem.""" + + def include_aux(self, params: Union[str, list], dataset: dict, plot: dict, aux_ch: str): + """Include in a new column data coming from PULS01ANA aux channel, to either compute a ratio or a difference with data coming from the inspected subsystem.""" + # auxiliary channel of reference (fixed for the moment) + aux_channel = "pulser01ana" # both options (diff and ratio) are present -> BAD! For this parameter we do not subtract/divide for any AUX entry if "AUX_ratio" in plot.keys() and "AUX_diff" in plot.keys(): - utils.logger.warning( - "\033[93mYou selected both 'AUX_ratio' and 'AUX_diff' for %s, " - + "we do not apply any of them and we continue with the plotting (STOP here if you need it, " - + "and select just one of them!)\033[0m", - plot, + utils.logger.error( + "\033[91mYou selected both 'AUX_ratio' and 'AUX_diff' for %s. Pick one!\033[0m", + plot['parameters'], ) - return + sys.exit() # one option (either diff or ratio) is present if "AUX_ratio" in plot.keys() or "AUX_diff" in plot.keys(): # check if the selected AUX channel exists, otherwise continue - if "AUX_ratio" in plot.keys() and plot["AUX_ratio"] not in [ - "pulser", - "pulser_aux", - "FC_bsln", - "muon", - ]: - utils.logger.warning( - "\033[93mYou selected '%s' as your AUX channels to perform ratio with, but it does not exist! " - + "We do not apply any ratio and we continue with the plotting (STOP here if you need it, " - + "and select the correct AUX channel!)\033[0m", - plot["AUX_ratio"], - ) - return - if "AUX_diff" in plot.keys() and plot["AUX_diff"] not in [ - "pulser", - "pulser_aux", - "FC_bsln", - "muon", - ]: - utils.logger.warning( - "\033[93mYou selected '%s' as your AUX channels to perform difference with, but it does not exist! " - + "We do not apply any difference and we continue with the plotting (STOP here if you need it, " - + "and select the correct AUX channel!)\033[0m", - plot["AUX_diff"], - ) - return + if "AUX_ratio" in plot.keys() and plot['AUX_ratio'] is True: + utils.logger.debug("... you are going to plot the parameter accounting for the ratio wrt PULS01ANA data") + if "AUX_diff" in plot.keys() and plot['AUX_diff'] is True: + utils.logger.debug("... you are going to plot the parameter accounting for the difference wrt PULS01ANA data") - utils.logger.debug("... performing diff/ratio with AUX entries") + utils.logger.debug("... but now we are going to perform diff/ratio with PULS01ANA entries") def add_aux(param): - aux_channel = plot["AUX_ratio"] if "AUX_ratio" in plot.keys() else plot["AUX_diff"] aux_subsys = Subsystem(aux_channel, dataset=dataset) # get data for these parameters and time range given in the dataset # (if no parameters given to plot, baseline and wfmax will always be loaded to flag pulser events anyway) aux_subsys.get_data(param) # Merge the dataframes based on the 'datetime' column + utils.logger.debug("... merging the PULS01ANA dataframe with the original one") self.data = self.data.merge(aux_subsys.data[['datetime', param]], on='datetime', how='left') - if "AUX_ratio" in plot.keys(): - # calculate the ratio wrt to the AUX entries - self.data[f"{param}_x"] = self.data[f"{param}_x"] / self.data[f"{param}_y"] - if "AUX_diff" in plot.keys(): - # calculate the difference, subtracting the AUX entries - self.data[f"{param}_x"] = self.data[f"{param}_x"] - self.data[f"{param}_y"] - - # rename AUX entries (might be useful to keep it to retrieve the original param values in the dashboard, for instance) - self.data = self.data.rename(columns={f"{param}_y": f"{param}_{aux_channel}"}) - # rename param column to its original name - self.data = self.data.rename(columns={f"{param}_x": param}) + # ratio + self.data[f"{param}_{aux_ch}Ratio"] = self.data[f"{param}_x"] / self.data[f"{param}_y"] + # diff + self.data[f"{param}_{aux_ch}Diff"] = self.data[f"{param}_x"] - self.data[f"{param}_y"] + # rename columns (absolute values) + self.data = self.data.rename(columns={f"{param}_x": param, f"{param}_y": f"{param}_{aux_ch}"}) # one-parameter case if (isinstance(params, list) and len(params) == 1) or isinstance(params, str): + param = params if isinstance(params, str) else params[0] + # check if the parameter under study is special; if so, skip it + if param in utils.SPECIAL_PARAMETERS.keys(): + utils.logger.warning("\033[93m'%s' is a special parameter. " + + "For the moment, we skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", params) + return # check if the parameter under study is from 'hit' tier; if so, skip it - if utils.PARAMETER_TIERS[params] == "hit": + if param in utils.PARAMETER_TIERS.keys() and utils.PARAMETER_TIERS[param] == "hit": utils.logger.warning("\033[93m'%s' is saved in hit tier, for which no AUX channel is present. " + "We skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", params) return - add_aux(params) + if f"{param}_{aux_channel}" not in list(self.data.columns): + add_aux(params) # multiple-parameters case if isinstance(params, list) and len(params) > 1: for param in params: + if param in utils.SPECIAL_PARAMETERS.keys(): + utils.logger.warning("\033[93m'%s' is a special parameter. " + + "For the moment, we skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", params) + return if utils.PARAMETER_TIERS[param] == "hit": utils.logger.warning("\033[93m'%s' is saved in hit tier, for which no AUX channel is present. " + "We skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", param) continue - add_aux(param) + if f"{param}_{aux_channel}" not in list(self.data.columns): + add_aux(params) def flag_pulser_events(self, pulser=None): @@ -521,7 +509,7 @@ def is_subsystem(entry): and entry["daq"][ch_flag] == 1027201 ) # special case for pulser AUX - if self.type == "pulser_aux": + if self.type == "pulser01ana": if self.experiment == "L60": utils.logger.error( "\033[91mThere is no pulser AUX channel in L60. Remove this subsystem!\033[0m" @@ -536,7 +524,7 @@ def is_subsystem(entry): and entry["daq"][ch_flag] == 1027203 ) # special case for baseline - if self.type == "FC_bsln": + if self.type == "FCbsln": if self.experiment == "L60": return entry["system"] == "auxs" and entry["daq"]["fcid"] == 0 if self.experiment == "L200": @@ -569,7 +557,7 @@ def is_subsystem(entry): type_code = {"B": "bege", "C": "coax", "V": "icpc", "P": "ppc"} # systems for which the location/position has to be handled carefully; values were chosen arbitrarily to avoid conflicts - special_systems = {"pulser": 0, "pulser_aux": -1, "FC_bsln": -2, "muon": -3} + special_systems = {"pulser": 0, "pulser01ana": -1, "FCbsln": -2, "muon": -3} # ------------------------------------------------------------------------- # loop over entries and find out subsystem @@ -587,17 +575,17 @@ def is_subsystem(entry): if not is_subsystem(entry_info): continue - # --- add info for this channel - Raw/FlashCam ID, unique for geds/spms/pulser/pulser_aux/FC_bsln/muon + # --- add info for this channel - Raw/FlashCam ID, unique for geds/spms/pulser/pulser01ana/FCbsln/muon ch = entry_info["daq"][ch_flag] df_map.at[ch, "name"] = entry_info["name"] - # number/name of string/fiber for geds/spms, dummy for pulser/pulser_aux/FC_bsln/muon + # number/name of string/fiber for geds/spms, dummy for pulser/pulser01ana/FCbsln/muon df_map.at[ch, "location"] = ( special_systems[self.type] if self.type in special_systems else entry_info["location"][loc_code[self.type]] ) - # position in string/fiber for geds/spms, dummy for pulser/pulser_aux/FC_bsln/muon + # position in string/fiber for geds/spms, dummy for pulser/pulser01ana/FCbsln/muon df_map.at[ch, "position"] = ( special_systems[self.type] if self.type in special_systems @@ -672,7 +660,7 @@ def get_channel_status(self): timestamp=self.first_timestamp, system=self.datatype )["analysis"] - # AUX channels are not in status map, so at least for pulser/pulser_aux/FC_bsln/muon need default on + # AUX channels are not in status map, so at least for pulser/pulser01ana/FCbsln/muon need default on self.channel_map["status"] = "on" self.channel_map = self.channel_map.set_index("name") # 'channel_name', for instance, has the format 'DNNXXXS' (= "name" column) @@ -703,7 +691,7 @@ def get_parameters_for_dataloader(self, parameters: typing.Union[str, list_of_st # --- always read timestamp params = ["timestamp"] # --- always get wf_max & baseline for pulser for flagging - if self.type in ["pulser", "FC_bsln", "muon"]: + if self.type in ["pulser", "FCbsln", "muon"]: params += ["wf_max", "baseline"] # --- add user requested parameters diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index e807cdd..be2634a 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -604,7 +604,7 @@ def get_last_timestamp(dsp_fname: str) -> str: last_timestamp = unix_timestamp_to_string(last_timestamp) return last_timestamp - + # ------------------------------------------------------------------------- # Config file related functions (for building files) @@ -746,9 +746,28 @@ def get_livetime(tot_livetime: float): def is_empty(df: DataFrame): - """Check if a dataframe is empty. If so, we exit from the code.""" + """Check if a dataframe is empty.""" if df.empty: - logger.warning( - "\033[93mThe dataframe is empty. Plotting the next entry (if present, otherwise exiting from the code).\033[0m" - ) return True + + +def check_empty_df(df) -> bool: + """Check if df (DataFrame | analysis_data.AnalysisData) exists and is not empty.""" + # the dataframe is of type DataFrame + if isinstance(df, DataFrame): + return is_empty(df) + # the dataframe is of type analysis_data.AnalysisData + else: + return is_empty(df.data) + + +def convert_to_camel_case(string: str, char: str) -> str: + """Remove a character from a string and capitalize all initial letters.""" + # Split the string by underscores + words = string.split(char) + # Capitalize the initial letters of each word + words = [word.capitalize() for word in words] + # Join the words back together without any separator + camel_case_string = "".join(words) + + return camel_case_string \ No newline at end of file From b2ed215ad4cec5250d7a84c00a5ed3623b86d296 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 8 Jun 2023 14:42:43 +0000 Subject: [PATCH 091/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 58 +++++-- src/legend_data_monitor/core.py | 9 +- src/legend_data_monitor/plot_styles.py | 11 +- src/legend_data_monitor/plotting.py | 59 +++++-- src/legend_data_monitor/save_data.py | 203 ++++++++++++++++++----- src/legend_data_monitor/subsystem.py | 73 +++++--- src/legend_data_monitor/utils.py | 6 +- 7 files changed, 320 insertions(+), 99 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index a8ffaf5..6cd9fad 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -68,7 +68,9 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): # check if the selected event type is within the available ones if event_type not in event_type_flags.keys(): - utils.logger.error(f"\033[91mThe event type '{event_type}' does not exist and cannot be flagged! Try again with one among {list(event_type_flags.keys())}.\033[0m") + utils.logger.error( + f"\033[91mThe event type '{event_type}' does not exist and cannot be flagged! Try again with one among {list(event_type_flags.keys())}.\033[0m" + ) sys.exit() if event_type in event_type_flags: @@ -111,7 +113,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): self.cuts = analysis_info["cuts"] self.saving = analysis_info["saving"] self.plt_path = analysis_info["plt_path"] - # evaluate the variation in any case, so we can save it (later useful for dashboard; + # evaluate the variation in any case, so we can save it (later useful for dashboard; # when plotting, no variation will be included as specified in the config file) self.variation = True @@ -597,45 +599,69 @@ def get_saved_df( return channel_mean -def get_aux_df(df: pd.DataFrame, parameter: list, plot_settings: dict, aux_ch: str) -> pd.DataFrame: +def get_aux_df( + df: pd.DataFrame, parameter: list, plot_settings: dict, aux_ch: str +) -> pd.DataFrame: """Get dataframes containing auxiliary (PULS01ANA) data, storing absolute/diff&ratio/mean/% variations values.""" if len(parameter) == 1: param = parameter[0] - if (param in utils.PARAMETER_TIERS.keys() and utils.PARAMETER_TIERS[param] == "hit") or param in utils.SPECIAL_PARAMETERS.keys(): + if ( + param in utils.PARAMETER_TIERS.keys() + and utils.PARAMETER_TIERS[param] == "hit" + ) or param in utils.SPECIAL_PARAMETERS.keys(): return pd.DataFrame(), pd.DataFrame(), pd.DataFrame() # get abs/mean/% variation for data of aux channel --> objects to save utils.logger.debug(f"Getting {aux_ch} data for {param}") aux_data = df.copy() - aux_data[param] = aux_data[f'{param}_{aux_ch}'] - aux_data = aux_data.drop(columns=[f'{param}_{aux_ch}Ratio', f'{param}_{aux_ch}', f'{param}_{aux_ch}Diff']) + aux_data[param] = aux_data[f"{param}_{aux_ch}"] + aux_data = aux_data.drop( + columns=[ + f"{param}_{aux_ch}Ratio", + f"{param}_{aux_ch}", + f"{param}_{aux_ch}Diff", + ] + ) aux_analysis = AnalysisData(aux_data, selection=plot_settings) utils.logger.debug(aux_analysis.data) # get abs/mean/% variation for ratio values with aux channel data --> objects to save utils.logger.debug(f"Getting ratio wrt {aux_ch} data for {param}") aux_ratio_data = df.copy() - aux_ratio_data[param] = aux_ratio_data[f'{param}_{aux_ch}Ratio'] - aux_ratio_data = aux_ratio_data.drop(columns=[f'{param}_{aux_ch}Ratio', f'{param}_{aux_ch}', f'{param}_{aux_ch}Diff']) + aux_ratio_data[param] = aux_ratio_data[f"{param}_{aux_ch}Ratio"] + aux_ratio_data = aux_ratio_data.drop( + columns=[ + f"{param}_{aux_ch}Ratio", + f"{param}_{aux_ch}", + f"{param}_{aux_ch}Diff", + ] + ) aux_ratio_analysis = AnalysisData(aux_ratio_data, selection=plot_settings) utils.logger.debug(aux_ratio_analysis.data) # get abs/mean/% variation for difference values with aux channel data --> objects to save utils.logger.debug(f"Getting difference wrt {aux_ch} data for {param}") aux_diff_data = df.copy() - aux_diff_data[param] = aux_diff_data[f'{param}_{aux_ch}Diff'] - aux_diff_data = aux_diff_data.drop(columns=[f'{param}_{aux_ch}Ratio', f'{param}_{aux_ch}', f'{param}_{aux_ch}Diff']) + aux_diff_data[param] = aux_diff_data[f"{param}_{aux_ch}Diff"] + aux_diff_data = aux_diff_data.drop( + columns=[ + f"{param}_{aux_ch}Ratio", + f"{param}_{aux_ch}", + f"{param}_{aux_ch}Diff", + ] + ) aux_diff_analysis = AnalysisData(aux_diff_data, selection=plot_settings) utils.logger.debug(aux_diff_analysis.data) if len(parameter) > 1: - utils.logger.warning("\033[93mThe aux subtraction/difference is not implemented for multi parameters! We skip it and plot the normal quantities, not corrected for the aux channel.\033[0m") - if 'AUX_ratio' in plot_settings.keys(): - del plot_settings['AUX_ratio'] - if 'AUX_diff' in plot_settings.keys(): - del plot_settings['AUX_diff'] + utils.logger.warning( + "\033[93mThe aux subtraction/difference is not implemented for multi parameters! We skip it and plot the normal quantities, not corrected for the aux channel.\033[0m" + ) + if "AUX_ratio" in plot_settings.keys(): + del plot_settings["AUX_ratio"] + if "AUX_diff" in plot_settings.keys(): + del plot_settings["AUX_diff"] return None, None, None - return aux_analysis, aux_ratio_analysis, aux_diff_analysis diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 77cf072..42d8406 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -215,8 +215,13 @@ def generate_plots(config: dict, plt_path: str): # load also aux channel if necessary, and add it to the already existing df for plot in config["subsystems"][system].keys(): - subsystems[system].include_aux(config["subsystems"][system][plot]["parameters"], config["dataset"], config["subsystems"][system][plot], "pulser01ana") - + subsystems[system].include_aux( + config["subsystems"][system][plot]["parameters"], + config["dataset"], + config["subsystems"][system][plot], + "pulser01ana", + ) + utils.logger.debug(subsystems[system].data) # ------------------------------------------------------------------------- diff --git a/src/legend_data_monitor/plot_styles.py b/src/legend_data_monitor/plot_styles.py index b2a28f4..843ac34 100644 --- a/src/legend_data_monitor/plot_styles.py +++ b/src/legend_data_monitor/plot_styles.py @@ -4,7 +4,7 @@ # See mapping user plot structure keywords to corresponding functions in the end of this file -import re + import numpy as np import pandas as pd from matplotlib.axes import Axes @@ -133,11 +133,16 @@ def plot_vs_time( # --- set labels fig.supxlabel("UTC Time") - y_label = plot_info['label'] + y_label = plot_info["label"] if plot_info["unit_label"] == "%": y_label += ", %" else: - if "(PULS01ANA)" in y_label or "(PULS01)" in y_label or "(BSLN01)" in y_label or "(MUON01)" in y_label: + if ( + "(PULS01ANA)" in y_label + or "(PULS01)" in y_label + or "(BSLN01)" in y_label + or "(MUON01)" in y_label + ): separator = "-" if "-" in y_label else "/" parts = y_label.split(separator) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 6e2971d..144e8a6 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -127,19 +127,30 @@ def make_subsystem_plots( params = [params] # this is ok for geds, but for spms? maybe another function will be necessary for this???? - # note: this will not do anything in case the parameter is from hit tier - aux_analysis, aux_ratio_analysis, aux_diff_analysis = analysis_data.get_aux_df(subsystem.data.copy(), params, plot_settings, "pulser01ana") + # note: this will not do anything in case the parameter is from hit tier + aux_analysis, aux_ratio_analysis, aux_diff_analysis = analysis_data.get_aux_df( + subsystem.data.copy(), params, plot_settings, "pulser01ana" + ) # ------------------------------------------------------------------------- # switch to aux data (if specified in config file) # ------------------------------------------------------------------------- # check if the aux objects are not empty - if not utils.check_empty_df(aux_ratio_analysis) and not utils.check_empty_df(aux_diff_analysis): - if "AUX_ratio" in plot_settings.keys() and plot_settings["AUX_ratio"] is True: + if not utils.check_empty_df(aux_ratio_analysis) and not utils.check_empty_df( + aux_diff_analysis + ): + if ( + "AUX_ratio" in plot_settings.keys() + and plot_settings["AUX_ratio"] is True + ): data_to_plot = aux_ratio_analysis if "AUX_diff" in plot_settings.keys() and plot_settings["AUX_diff"] is True: data_to_plot = aux_diff_analysis - if ("AUX_ratio" not in plot_settings and "AUX_diff" not in plot_settings) or (plot_settings.get("AUX_ratio") is False) or (plot_settings.get("AUX_diff") is False): + if ( + ("AUX_ratio" not in plot_settings and "AUX_diff" not in plot_settings) + or (plot_settings.get("AUX_ratio") is False) + or (plot_settings.get("AUX_diff") is False) + ): data_to_plot = data_analysis # if empty, ... else: @@ -238,12 +249,22 @@ def make_subsystem_plots( # modify the labels in case we perform a ratio/diff with aux channel data if param_orig in utils.PARAMETER_TIERS.keys(): - if "AUX_ratio" in plot_settings.keys() and utils.PARAMETER_TIERS[param_orig] != "hit": + if ( + "AUX_ratio" in plot_settings.keys() + and utils.PARAMETER_TIERS[param_orig] != "hit" + ): if plot_settings["AUX_ratio"] is True: - plot_info["label"][param] += " / " + plot_info["label"][param] + f"(PULS01ANA)" - if "AUX_diff" in plot_settings.keys() and utils.PARAMETER_TIERS[param_orig] != "hit": + plot_info["label"][param] += ( + " / " + plot_info["label"][param] + f"(PULS01ANA)" + ) + if ( + "AUX_diff" in plot_settings.keys() + and utils.PARAMETER_TIERS[param_orig] != "hit" + ): if plot_settings["AUX_diff"] is True: - plot_info["label"][param] += " - " + plot_info["label"][param] + f"(PULS01ANA)" + plot_info["label"][param] += ( + " - " + plot_info["label"][param] + f"(PULS01ANA)" + ) keyword = "variation" if plot_settings["variation"] else "absolute" plot_info["limits"][param] = ( @@ -257,7 +278,6 @@ def make_subsystem_plots( ) plot_info["event_type"][param] = plot_settings["event_type"] - if len(params) == 1: # change "parameters" to "parameter" - for single-param plotting functions plot_info["parameter"] = plot_info["parameters"][0] @@ -302,7 +322,16 @@ def make_subsystem_plots( # the output dataframe and plot_info objects are merged for more than one parameters # this will be split at a later stage, when building the output dictionary through utils.build_out_dict(...) par_dict_content = save_data.save_df_and_info(data_to_plot.data, plot_info) - save_data.save_hdf(saving, plt_path + f"-{subsystem.type}.hdf", data_analysis, "pulser01ana", aux_analysis, aux_ratio_analysis, aux_diff_analysis, plot_info) + save_data.save_hdf( + saving, + plt_path + f"-{subsystem.type}.hdf", + data_analysis, + "pulser01ana", + aux_analysis, + aux_ratio_analysis, + aux_diff_analysis, + plot_info, + ) # ------------------------------------------------------------------------- # call status plot @@ -529,7 +558,9 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): fwhm_ch = get_fwhm_for_fixed_ch( data_channel, plot_info["parameter"] ) - labels[-1] = label + f" - FWHM: {fwhm_ch}" if fwhm_ch != 0 else label + labels[-1] = ( + label + f" - FWHM: {fwhm_ch}" if fwhm_ch != 0 else label + ) else: labels[-1] = label col_idx += 1 @@ -624,7 +655,9 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): fwhm_ch = get_fwhm_for_fixed_ch( data_channel, plot_info["parameter"] ) - labels[-1] = label + f" - FWHM: {fwhm_ch}" if fwhm_ch != 0 else label + labels[-1] = ( + label + f" - FWHM: {fwhm_ch}" if fwhm_ch != 0 else label + ) else: labels[-1] = label col_idx += 1 diff --git a/src/legend_data_monitor/save_data.py b/src/legend_data_monitor/save_data.py index fd0e949..395bd86 100644 --- a/src/legend_data_monitor/save_data.py +++ b/src/legend_data_monitor/save_data.py @@ -2,7 +2,6 @@ import shelve from pandas import DataFrame, concat -from legendmeta import LegendMetadata from . import analysis_data, utils @@ -11,11 +10,11 @@ # ------------------------------------------------------------------------- - # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # SHELVE OBJECTS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + def save_df_and_info(df: DataFrame, plot_info: dict) -> dict: """Return a dictionary containing a dataframe for the parameter(s) under study for a given subsystem. The plotting info are saved too.""" par_dict_content = { @@ -116,9 +115,7 @@ def build_dict( # one parameter if (isinstance(params, list) and len(params) == 1) or isinstance(params, str): - utils.logger.debug( - "Building the output dictionary in the one-parameter case" - ) + utils.logger.debug("Building the output dictionary in the one-parameter case") if isinstance(params, list): param = params[0] if isinstance(params, str): @@ -391,16 +388,42 @@ def get_param_df(parameter: str, df: DataFrame) -> DataFrame: # HDF OBJECTS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -def save_hdf(saving: str, file_path: str, df: analysis_data.AnalysisData, aux_ch: str, aux_analysis: analysis_data.AnalysisData, aux_ratio_analysis: analysis_data.AnalysisData, aux_diff_analysis: analysis_data.AnalysisData, plot_info: dict) -> dict: + +def save_hdf( + saving: str, + file_path: str, + df: analysis_data.AnalysisData, + aux_ch: str, + aux_analysis: analysis_data.AnalysisData, + aux_ratio_analysis: analysis_data.AnalysisData, + aux_diff_analysis: analysis_data.AnalysisData, + plot_info: dict, +) -> dict: """Save the input dataframe in an external hdf file, using a different structure (time vs channel, with values in cells). Plot info are saved too.""" if saving == "append": - utils.logger.warning("\033[93m'append' saving option not implemented -> we skip saving hdf file\033[0m") + utils.logger.warning( + "\033[93m'append' saving option not implemented -> we skip saving hdf file\033[0m" + ) return utils.logger.info(f"Building HDF file(s)") # save the final dataframe as a hdf object parameters = plot_info["parameters"] - keys_to_drop = ['std', 'range', 'plot_style', 'variation', 'limits', 'title', 'parameters', 'parameter', 'param_mean', 'locname', 'time_window', 'resampled', 'unit_label'] + keys_to_drop = [ + "std", + "range", + "plot_style", + "variation", + "limits", + "title", + "parameters", + "parameter", + "param_mean", + "locname", + "time_window", + "resampled", + "unit_label", + ] flag_rename = { "pulser": "IsPulser", "FCbsln": "IsBsln", @@ -408,7 +431,11 @@ def save_hdf(saving: str, file_path: str, df: analysis_data.AnalysisData, aux_ch } for param in parameters: - evt_type = plot_info["event_type"][param] if isinstance(plot_info["event_type"], dict) else plot_info["event_type"] + evt_type = ( + plot_info["event_type"][param] + if isinstance(plot_info["event_type"], dict) + else plot_info["event_type"] + ) param_orig = param.rstrip("_var") if "_var" in param else param param_orig_camel = utils.convert_to_camel_case(param_orig, "_") @@ -420,8 +447,22 @@ def save_hdf(saving: str, file_path: str, df: analysis_data.AnalysisData, aux_ch # fix the label (in general, it could contain info for aux data too - here, we want a simple version of the label) plot_info_param["label"] = utils.PLOT_INFO[param_orig]["label"] - limits_var = utils.PLOT_INFO[param_orig]["limits"][plot_info_param["subsystem"]]["variation"] if plot_info_param["subsystem"] in utils.PLOT_INFO[param_orig]["limits"].keys() else [None, None] - limits_abs = utils.PLOT_INFO[param_orig]["limits"][plot_info_param["subsystem"]]["absolute"] if plot_info_param["subsystem"] in utils.PLOT_INFO[param_orig]["limits"].keys() else [None, None] + limits_var = ( + utils.PLOT_INFO[param_orig]["limits"][plot_info_param["subsystem"]][ + "variation" + ] + if plot_info_param["subsystem"] + in utils.PLOT_INFO[param_orig]["limits"].keys() + else [None, None] + ) + limits_abs = ( + utils.PLOT_INFO[param_orig]["limits"][plot_info_param["subsystem"]][ + "absolute" + ] + if plot_info_param["subsystem"] + in utils.PLOT_INFO[param_orig]["limits"].keys() + else [None, None] + ) # for limits, change from 'None' to 'False' to be hdf-friendlyF plot_info_param["lower_lim_var"] = str(limits_var[0]) or False @@ -433,7 +474,7 @@ def save_hdf(saving: str, file_path: str, df: analysis_data.AnalysisData, aux_ch for key in keys_to_drop: del plot_info_param[key] - # one-param case + # one-param case if len(parameters) == 1: df_to_save = df.data.copy() if not utils.check_empty_df(aux_analysis): @@ -451,25 +492,47 @@ def save_hdf(saving: str, file_path: str, df: analysis_data.AnalysisData, aux_ch df_aux_ratio_to_save = get_param_df(param_orig, aux_ratio_analysis.data) if not utils.check_empty_df(aux_diff_analysis): df_aux_diff_to_save = get_param_df(param_orig, aux_diff_analysis.data) - + # still need to check ovewrite/append (and existence of file!!!) # if not os.path.exists(plt_path + "-" + plot_info["subsystem"] + ".dat"): # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # PLOTTING INFO # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - df_info = DataFrame.from_dict(plot_info_param, orient='index', columns=['Value']) - df_info.to_hdf(file_path, key=f'{flag_rename[evt_type]}_{param_orig_camel}_info', mode='a') + df_info = DataFrame.from_dict( + plot_info_param, orient="index", columns=["Value"] + ) + df_info.to_hdf( + file_path, key=f"{flag_rename[evt_type]}_{param_orig_camel}_info", mode="a" + ) # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # PURE VALUES # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ... absolute values - get_pivot(df_to_save, param_orig, f"{flag_rename[evt_type]}_{param_orig_camel}", file_path, 'a') + get_pivot( + df_to_save, + param_orig, + f"{flag_rename[evt_type]}_{param_orig_camel}", + file_path, + "a", + ) # ... mean values - get_pivot(df_to_save, param_orig + "_mean", f"{flag_rename[evt_type]}_{param_orig_camel}_mean", file_path, 'a') - # ... % variations wrt absolute values - get_pivot(df_to_save, param_orig + "_var", f"{flag_rename[evt_type]}_{param_orig_camel}_var", file_path, 'a') + get_pivot( + df_to_save, + param_orig + "_mean", + f"{flag_rename[evt_type]}_{param_orig_camel}_mean", + file_path, + "a", + ) + # ... % variations wrt absolute values + get_pivot( + df_to_save, + param_orig + "_var", + f"{flag_rename[evt_type]}_{param_orig_camel}_var", + file_path, + "a", + ) # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # PURE VALUES - AUX CHANNEL @@ -478,21 +541,45 @@ def save_hdf(saving: str, file_path: str, df: analysis_data.AnalysisData, aux_ch plot_info_aux = plot_info_param.copy() plot_info_aux["subsystem"] = aux_ch # --- plotting info - df_info_aux = DataFrame.from_dict(plot_info_aux, orient='index', columns=['Value']) - df_info_aux.to_hdf(file_path.replace(plot_info_param['subsystem'], aux_ch), key=f'{flag_rename[evt_type]}_{param_orig_camel}_info', mode='a') - + df_info_aux = DataFrame.from_dict( + plot_info_aux, orient="index", columns=["Value"] + ) + df_info_aux.to_hdf( + file_path.replace(plot_info_param["subsystem"], aux_ch), + key=f"{flag_rename[evt_type]}_{param_orig_camel}_info", + mode="a", + ) + # keep one channel only - first_ch = df_aux_to_save.iloc[0]['channel'] + first_ch = df_aux_to_save.iloc[0]["channel"] df_aux_to_save = df_aux_to_save[df_aux_to_save["channel"] == first_ch] if aux_ch == "pulser01ana": df_aux_to_save["channel"] = 1027203 # ... absolute values - get_pivot(df_aux_to_save, param_orig, f"{flag_rename[evt_type]}_{param_orig_camel}", file_path.replace(plot_info_param['subsystem'], aux_ch), 'a') + get_pivot( + df_aux_to_save, + param_orig, + f"{flag_rename[evt_type]}_{param_orig_camel}", + file_path.replace(plot_info_param["subsystem"], aux_ch), + "a", + ) # ... mean values - get_pivot(df_aux_to_save, param_orig + "_mean", f"{flag_rename[evt_type]}_{param_orig_camel}_mean", file_path.replace(plot_info_param['subsystem'], aux_ch), 'a') - # ... % variations wrt absolute values - get_pivot(df_aux_to_save, param_orig + "_var", f"{flag_rename[evt_type]}_{param_orig_camel}_var", file_path.replace(plot_info_param['subsystem'], aux_ch), 'a') + get_pivot( + df_aux_to_save, + param_orig + "_mean", + f"{flag_rename[evt_type]}_{param_orig_camel}_mean", + file_path.replace(plot_info_param["subsystem"], aux_ch), + "a", + ) + # ... % variations wrt absolute values + get_pivot( + df_aux_to_save, + param_orig + "_var", + f"{flag_rename[evt_type]}_{param_orig_camel}_var", + file_path.replace(plot_info_param["subsystem"], aux_ch), + "a", + ) utils.logger.info( f"... HDF file for {aux_ch} - pure AUX values - saved in: \33[4m{file_path.replace(plot_info_param['subsystem'], aux_ch)}\33[0m" ) @@ -502,31 +589,67 @@ def save_hdf(saving: str, file_path: str, df: analysis_data.AnalysisData, aux_ch # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if not utils.check_empty_df(aux_ratio_analysis): # ... absolute values - get_pivot(df_aux_ratio_to_save, param_orig, f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio", file_path, 'a') + get_pivot( + df_aux_ratio_to_save, + param_orig, + f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio", + file_path, + "a", + ) # ... mean values - get_pivot(df_aux_ratio_to_save, param_orig + "_mean", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio_mean", file_path, 'a') - # ... % variations wrt absolute values - get_pivot(df_aux_ratio_to_save, param_orig + "_var", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio_var", file_path, 'a') + get_pivot( + df_aux_ratio_to_save, + param_orig + "_mean", + f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio_mean", + file_path, + "a", + ) + # ... % variations wrt absolute values + get_pivot( + df_aux_ratio_to_save, + param_orig + "_var", + f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio_var", + file_path, + "a", + ) # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # DIFFERENCE WRT AUX CHANNEL # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if not utils.check_empty_df(aux_diff_analysis): # ... absolute values - get_pivot(df_aux_diff_to_save, param_orig, f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff", file_path, 'a') + get_pivot( + df_aux_diff_to_save, + param_orig, + f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff", + file_path, + "a", + ) # ... mean values - get_pivot(df_aux_diff_to_save, param_orig + "_mean", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff_mean", file_path, 'a') - # ... % variations wrt absolute values - get_pivot(df_aux_diff_to_save, param_orig + "_var", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff_var", file_path, 'a') + get_pivot( + df_aux_diff_to_save, + param_orig + "_mean", + f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff_mean", + file_path, + "a", + ) + # ... % variations wrt absolute values + get_pivot( + df_aux_diff_to_save, + param_orig + "_var", + f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff_var", + file_path, + "a", + ) - utils.logger.info(f"... HDF file for {plot_info_param['subsystem']} saved in: \33[4m{file_path}\33[0m") + utils.logger.info( + f"... HDF file for {plot_info_param['subsystem']} saved in: \33[4m{file_path}\33[0m" + ) def get_pivot(df: DataFrame, parameter: str, key_name: str, file_path: str, mode): - df_pivot = df.pivot(index='datetime', columns='channel', values=parameter) + df_pivot = df.pivot(index="datetime", columns="channel", values=parameter) # just select one row for mean values (since mean is constant over time for a given channel) if "_mean" in parameter: df_pivot = df_pivot.iloc[[0]] - df_pivot.to_hdf(file_path, key=key_name, mode='a') - - + df_pivot.to_hdf(file_path, key=key_name, mode="a") diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 745b756..b256ef2 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -2,14 +2,14 @@ import sys import typing from datetime import datetime +from typing import Union import numpy as np import pandas as pd -from typing import Union from legendmeta import LegendMetadata from pygama.flow import DataLoader -from . import analysis_data, utils +from . import utils list_of_str = list[str] tuple_of_str = tuple[str] @@ -283,8 +283,9 @@ def get_data(self, parameters: typing.Union[str, list_of_str, tuple_of_str] = () if self.type == "muon": self.flag_muon_events() - - def include_aux(self, params: Union[str, list], dataset: dict, plot: dict, aux_ch: str): + def include_aux( + self, params: Union[str, list], dataset: dict, plot: dict, aux_ch: str + ): """Include in a new column data coming from PULS01ANA aux channel, to either compute a ratio or a difference with data coming from the inspected subsystem.""" # auxiliary channel of reference (fixed for the moment) aux_channel = "pulser01ana" @@ -292,18 +293,24 @@ def include_aux(self, params: Union[str, list], dataset: dict, plot: dict, aux_c if "AUX_ratio" in plot.keys() and "AUX_diff" in plot.keys(): utils.logger.error( "\033[91mYou selected both 'AUX_ratio' and 'AUX_diff' for %s. Pick one!\033[0m", - plot['parameters'], + plot["parameters"], ) sys.exit() # one option (either diff or ratio) is present if "AUX_ratio" in plot.keys() or "AUX_diff" in plot.keys(): # check if the selected AUX channel exists, otherwise continue - if "AUX_ratio" in plot.keys() and plot['AUX_ratio'] is True: - utils.logger.debug("... you are going to plot the parameter accounting for the ratio wrt PULS01ANA data") - if "AUX_diff" in plot.keys() and plot['AUX_diff'] is True: - utils.logger.debug("... you are going to plot the parameter accounting for the difference wrt PULS01ANA data") + if "AUX_ratio" in plot.keys() and plot["AUX_ratio"] is True: + utils.logger.debug( + "... you are going to plot the parameter accounting for the ratio wrt PULS01ANA data" + ) + if "AUX_diff" in plot.keys() and plot["AUX_diff"] is True: + utils.logger.debug( + "... you are going to plot the parameter accounting for the difference wrt PULS01ANA data" + ) - utils.logger.debug("... but now we are going to perform diff/ratio with PULS01ANA entries") + utils.logger.debug( + "... but now we are going to perform diff/ratio with PULS01ANA entries" + ) def add_aux(param): aux_subsys = Subsystem(aux_channel, dataset=dataset) @@ -312,28 +319,47 @@ def add_aux(param): aux_subsys.get_data(param) # Merge the dataframes based on the 'datetime' column - utils.logger.debug("... merging the PULS01ANA dataframe with the original one") - self.data = self.data.merge(aux_subsys.data[['datetime', param]], on='datetime', how='left') + utils.logger.debug( + "... merging the PULS01ANA dataframe with the original one" + ) + self.data = self.data.merge( + aux_subsys.data[["datetime", param]], on="datetime", how="left" + ) # ratio - self.data[f"{param}_{aux_ch}Ratio"] = self.data[f"{param}_x"] / self.data[f"{param}_y"] + self.data[f"{param}_{aux_ch}Ratio"] = ( + self.data[f"{param}_x"] / self.data[f"{param}_y"] + ) # diff - self.data[f"{param}_{aux_ch}Diff"] = self.data[f"{param}_x"] - self.data[f"{param}_y"] + self.data[f"{param}_{aux_ch}Diff"] = ( + self.data[f"{param}_x"] - self.data[f"{param}_y"] + ) # rename columns (absolute values) - self.data = self.data.rename(columns={f"{param}_x": param, f"{param}_y": f"{param}_{aux_ch}"}) + self.data = self.data.rename( + columns={f"{param}_x": param, f"{param}_y": f"{param}_{aux_ch}"} + ) # one-parameter case if (isinstance(params, list) and len(params) == 1) or isinstance(params, str): param = params if isinstance(params, str) else params[0] # check if the parameter under study is special; if so, skip it if param in utils.SPECIAL_PARAMETERS.keys(): - utils.logger.warning("\033[93m'%s' is a special parameter. " - + "For the moment, we skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", params) + utils.logger.warning( + "\033[93m'%s' is a special parameter. " + + "For the moment, we skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", + params, + ) return # check if the parameter under study is from 'hit' tier; if so, skip it - if param in utils.PARAMETER_TIERS.keys() and utils.PARAMETER_TIERS[param] == "hit": - utils.logger.warning("\033[93m'%s' is saved in hit tier, for which no AUX channel is present. " - + "We skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", params) + if ( + param in utils.PARAMETER_TIERS.keys() + and utils.PARAMETER_TIERS[param] == "hit" + ): + utils.logger.warning( + "\033[93m'%s' is saved in hit tier, for which no AUX channel is present. " + + "We skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", + params, + ) return if f"{param}_{aux_channel}" not in list(self.data.columns): add_aux(params) @@ -342,8 +368,11 @@ def add_aux(param): if isinstance(params, list) and len(params) > 1: for param in params: if param in utils.SPECIAL_PARAMETERS.keys(): - utils.logger.warning("\033[93m'%s' is a special parameter. " - + "For the moment, we skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", params) + utils.logger.warning( + "\033[93m'%s' is a special parameter. " + + "For the moment, we skip the ratio/diff wrt the AUX channel and plot the parameter as it is.\033[0m", + params, + ) return if utils.PARAMETER_TIERS[param] == "hit": utils.logger.warning( diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index be2634a..62770f3 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -604,7 +604,7 @@ def get_last_timestamp(dsp_fname: str) -> str: last_timestamp = unix_timestamp_to_string(last_timestamp) return last_timestamp - + # ------------------------------------------------------------------------- # Config file related functions (for building files) @@ -769,5 +769,5 @@ def convert_to_camel_case(string: str, char: str) -> str: words = [word.capitalize() for word in words] # Join the words back together without any separator camel_case_string = "".join(words) - - return camel_case_string \ No newline at end of file + + return camel_case_string From fcad1b38316e4863a106c6e40612de40f6fddbbc Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Thu, 8 Jun 2023 16:50:07 +0200 Subject: [PATCH 092/166] fixed flake errors --- src/legend_data_monitor/plotting.py | 4 +- src/legend_data_monitor/save_data.py | 208 +++++++++++++++++++++------ 2 files changed, 168 insertions(+), 44 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 6e2971d..2c13162 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -240,10 +240,10 @@ def make_subsystem_plots( if param_orig in utils.PARAMETER_TIERS.keys(): if "AUX_ratio" in plot_settings.keys() and utils.PARAMETER_TIERS[param_orig] != "hit": if plot_settings["AUX_ratio"] is True: - plot_info["label"][param] += " / " + plot_info["label"][param] + f"(PULS01ANA)" + plot_info["label"][param] += " / " + plot_info["label"][param] + "(PULS01ANA)" if "AUX_diff" in plot_settings.keys() and utils.PARAMETER_TIERS[param_orig] != "hit": if plot_settings["AUX_diff"] is True: - plot_info["label"][param] += " - " + plot_info["label"][param] + f"(PULS01ANA)" + plot_info["label"][param] += " - " + plot_info["label"][param] + "(PULS01ANA)" keyword = "variation" if plot_settings["variation"] else "absolute" plot_info["limits"][param] = ( diff --git a/src/legend_data_monitor/save_data.py b/src/legend_data_monitor/save_data.py index fd0e949..e030f86 100644 --- a/src/legend_data_monitor/save_data.py +++ b/src/legend_data_monitor/save_data.py @@ -2,7 +2,6 @@ import shelve from pandas import DataFrame, concat -from legendmeta import LegendMetadata from . import analysis_data, utils @@ -11,11 +10,11 @@ # ------------------------------------------------------------------------- - # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # SHELVE OBJECTS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + def save_df_and_info(df: DataFrame, plot_info: dict) -> dict: """Return a dictionary containing a dataframe for the parameter(s) under study for a given subsystem. The plotting info are saved too.""" par_dict_content = { @@ -116,9 +115,7 @@ def build_dict( # one parameter if (isinstance(params, list) and len(params) == 1) or isinstance(params, str): - utils.logger.debug( - "Building the output dictionary in the one-parameter case" - ) + utils.logger.debug("Building the output dictionary in the one-parameter case") if isinstance(params, list): param = params[0] if isinstance(params, str): @@ -391,16 +388,42 @@ def get_param_df(parameter: str, df: DataFrame) -> DataFrame: # HDF OBJECTS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -def save_hdf(saving: str, file_path: str, df: analysis_data.AnalysisData, aux_ch: str, aux_analysis: analysis_data.AnalysisData, aux_ratio_analysis: analysis_data.AnalysisData, aux_diff_analysis: analysis_data.AnalysisData, plot_info: dict) -> dict: + +def save_hdf( + saving: str, + file_path: str, + df: analysis_data.AnalysisData, + aux_ch: str, + aux_analysis: analysis_data.AnalysisData, + aux_ratio_analysis: analysis_data.AnalysisData, + aux_diff_analysis: analysis_data.AnalysisData, + plot_info: dict, +) -> dict: """Save the input dataframe in an external hdf file, using a different structure (time vs channel, with values in cells). Plot info are saved too.""" if saving == "append": - utils.logger.warning("\033[93m'append' saving option not implemented -> we skip saving hdf file\033[0m") + utils.logger.warning( + "\033[93m'append' saving option not implemented -> we skip saving hdf file\033[0m" + ) return - utils.logger.info(f"Building HDF file(s)") + utils.logger.info("Building HDF file(s)") # save the final dataframe as a hdf object parameters = plot_info["parameters"] - keys_to_drop = ['std', 'range', 'plot_style', 'variation', 'limits', 'title', 'parameters', 'parameter', 'param_mean', 'locname', 'time_window', 'resampled', 'unit_label'] + keys_to_drop = [ + "std", + "range", + "plot_style", + "variation", + "limits", + "title", + "parameters", + "parameter", + "param_mean", + "locname", + "time_window", + "resampled", + "unit_label", + ] flag_rename = { "pulser": "IsPulser", "FCbsln": "IsBsln", @@ -408,7 +431,11 @@ def save_hdf(saving: str, file_path: str, df: analysis_data.AnalysisData, aux_ch } for param in parameters: - evt_type = plot_info["event_type"][param] if isinstance(plot_info["event_type"], dict) else plot_info["event_type"] + evt_type = ( + plot_info["event_type"][param] + if isinstance(plot_info["event_type"], dict) + else plot_info["event_type"] + ) param_orig = param.rstrip("_var") if "_var" in param else param param_orig_camel = utils.convert_to_camel_case(param_orig, "_") @@ -420,8 +447,22 @@ def save_hdf(saving: str, file_path: str, df: analysis_data.AnalysisData, aux_ch # fix the label (in general, it could contain info for aux data too - here, we want a simple version of the label) plot_info_param["label"] = utils.PLOT_INFO[param_orig]["label"] - limits_var = utils.PLOT_INFO[param_orig]["limits"][plot_info_param["subsystem"]]["variation"] if plot_info_param["subsystem"] in utils.PLOT_INFO[param_orig]["limits"].keys() else [None, None] - limits_abs = utils.PLOT_INFO[param_orig]["limits"][plot_info_param["subsystem"]]["absolute"] if plot_info_param["subsystem"] in utils.PLOT_INFO[param_orig]["limits"].keys() else [None, None] + limits_var = ( + utils.PLOT_INFO[param_orig]["limits"][plot_info_param["subsystem"]][ + "variation" + ] + if plot_info_param["subsystem"] + in utils.PLOT_INFO[param_orig]["limits"].keys() + else [None, None] + ) + limits_abs = ( + utils.PLOT_INFO[param_orig]["limits"][plot_info_param["subsystem"]][ + "absolute" + ] + if plot_info_param["subsystem"] + in utils.PLOT_INFO[param_orig]["limits"].keys() + else [None, None] + ) # for limits, change from 'None' to 'False' to be hdf-friendlyF plot_info_param["lower_lim_var"] = str(limits_var[0]) or False @@ -433,7 +474,7 @@ def save_hdf(saving: str, file_path: str, df: analysis_data.AnalysisData, aux_ch for key in keys_to_drop: del plot_info_param[key] - # one-param case + # one-param case if len(parameters) == 1: df_to_save = df.data.copy() if not utils.check_empty_df(aux_analysis): @@ -451,25 +492,47 @@ def save_hdf(saving: str, file_path: str, df: analysis_data.AnalysisData, aux_ch df_aux_ratio_to_save = get_param_df(param_orig, aux_ratio_analysis.data) if not utils.check_empty_df(aux_diff_analysis): df_aux_diff_to_save = get_param_df(param_orig, aux_diff_analysis.data) - - # still need to check ovewrite/append (and existence of file!!!) + + # still need to check overwrite/append (and existence of file!!!) # if not os.path.exists(plt_path + "-" + plot_info["subsystem"] + ".dat"): # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # PLOTTING INFO # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - df_info = DataFrame.from_dict(plot_info_param, orient='index', columns=['Value']) - df_info.to_hdf(file_path, key=f'{flag_rename[evt_type]}_{param_orig_camel}_info', mode='a') + df_info = DataFrame.from_dict( + plot_info_param, orient="index", columns=["Value"] + ) + df_info.to_hdf( + file_path, key=f"{flag_rename[evt_type]}_{param_orig_camel}_info", mode="a" + ) # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # PURE VALUES # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ... absolute values - get_pivot(df_to_save, param_orig, f"{flag_rename[evt_type]}_{param_orig_camel}", file_path, 'a') + get_pivot( + df_to_save, + param_orig, + f"{flag_rename[evt_type]}_{param_orig_camel}", + file_path, + "a", + ) # ... mean values - get_pivot(df_to_save, param_orig + "_mean", f"{flag_rename[evt_type]}_{param_orig_camel}_mean", file_path, 'a') - # ... % variations wrt absolute values - get_pivot(df_to_save, param_orig + "_var", f"{flag_rename[evt_type]}_{param_orig_camel}_var", file_path, 'a') + get_pivot( + df_to_save, + param_orig + "_mean", + f"{flag_rename[evt_type]}_{param_orig_camel}_mean", + file_path, + "a", + ) + # ... % variations wrt absolute values + get_pivot( + df_to_save, + param_orig + "_var", + f"{flag_rename[evt_type]}_{param_orig_camel}_var", + file_path, + "a", + ) # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # PURE VALUES - AUX CHANNEL @@ -478,21 +541,45 @@ def save_hdf(saving: str, file_path: str, df: analysis_data.AnalysisData, aux_ch plot_info_aux = plot_info_param.copy() plot_info_aux["subsystem"] = aux_ch # --- plotting info - df_info_aux = DataFrame.from_dict(plot_info_aux, orient='index', columns=['Value']) - df_info_aux.to_hdf(file_path.replace(plot_info_param['subsystem'], aux_ch), key=f'{flag_rename[evt_type]}_{param_orig_camel}_info', mode='a') - + df_info_aux = DataFrame.from_dict( + plot_info_aux, orient="index", columns=["Value"] + ) + df_info_aux.to_hdf( + file_path.replace(plot_info_param["subsystem"], aux_ch), + key=f"{flag_rename[evt_type]}_{param_orig_camel}_info", + mode="a", + ) + # keep one channel only - first_ch = df_aux_to_save.iloc[0]['channel'] + first_ch = df_aux_to_save.iloc[0]["channel"] df_aux_to_save = df_aux_to_save[df_aux_to_save["channel"] == first_ch] if aux_ch == "pulser01ana": df_aux_to_save["channel"] = 1027203 # ... absolute values - get_pivot(df_aux_to_save, param_orig, f"{flag_rename[evt_type]}_{param_orig_camel}", file_path.replace(plot_info_param['subsystem'], aux_ch), 'a') + get_pivot( + df_aux_to_save, + param_orig, + f"{flag_rename[evt_type]}_{param_orig_camel}", + file_path.replace(plot_info_param["subsystem"], aux_ch), + "a", + ) # ... mean values - get_pivot(df_aux_to_save, param_orig + "_mean", f"{flag_rename[evt_type]}_{param_orig_camel}_mean", file_path.replace(plot_info_param['subsystem'], aux_ch), 'a') - # ... % variations wrt absolute values - get_pivot(df_aux_to_save, param_orig + "_var", f"{flag_rename[evt_type]}_{param_orig_camel}_var", file_path.replace(plot_info_param['subsystem'], aux_ch), 'a') + get_pivot( + df_aux_to_save, + param_orig + "_mean", + f"{flag_rename[evt_type]}_{param_orig_camel}_mean", + file_path.replace(plot_info_param["subsystem"], aux_ch), + "a", + ) + # ... % variations wrt absolute values + get_pivot( + df_aux_to_save, + param_orig + "_var", + f"{flag_rename[evt_type]}_{param_orig_camel}_var", + file_path.replace(plot_info_param["subsystem"], aux_ch), + "a", + ) utils.logger.info( f"... HDF file for {aux_ch} - pure AUX values - saved in: \33[4m{file_path.replace(plot_info_param['subsystem'], aux_ch)}\33[0m" ) @@ -502,31 +589,68 @@ def save_hdf(saving: str, file_path: str, df: analysis_data.AnalysisData, aux_ch # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if not utils.check_empty_df(aux_ratio_analysis): # ... absolute values - get_pivot(df_aux_ratio_to_save, param_orig, f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio", file_path, 'a') + get_pivot( + df_aux_ratio_to_save, + param_orig, + f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio", + file_path, + "a", + ) # ... mean values - get_pivot(df_aux_ratio_to_save, param_orig + "_mean", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio_mean", file_path, 'a') - # ... % variations wrt absolute values - get_pivot(df_aux_ratio_to_save, param_orig + "_var", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio_var", file_path, 'a') + get_pivot( + df_aux_ratio_to_save, + param_orig + "_mean", + f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio_mean", + file_path, + "a", + ) + # ... % variations wrt absolute values + get_pivot( + df_aux_ratio_to_save, + param_orig + "_var", + f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio_var", + file_path, + "a", + ) # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # DIFFERENCE WRT AUX CHANNEL # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if not utils.check_empty_df(aux_diff_analysis): # ... absolute values - get_pivot(df_aux_diff_to_save, param_orig, f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff", file_path, 'a') + get_pivot( + df_aux_diff_to_save, + param_orig, + f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff", + file_path, + "a", + ) # ... mean values - get_pivot(df_aux_diff_to_save, param_orig + "_mean", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff_mean", file_path, 'a') - # ... % variations wrt absolute values - get_pivot(df_aux_diff_to_save, param_orig + "_var", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff_var", file_path, 'a') + get_pivot( + df_aux_diff_to_save, + param_orig + "_mean", + f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff_mean", + file_path, + "a", + ) + # ... % variations wrt absolute values + get_pivot( + df_aux_diff_to_save, + param_orig + "_var", + f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff_var", + file_path, + "a", + ) - utils.logger.info(f"... HDF file for {plot_info_param['subsystem']} saved in: \33[4m{file_path}\33[0m") + utils.logger.info( + f"... HDF file for {plot_info_param['subsystem']} saved in: \33[4m{file_path}\33[0m" + ) def get_pivot(df: DataFrame, parameter: str, key_name: str, file_path: str, mode): - df_pivot = df.pivot(index='datetime', columns='channel', values=parameter) + """Get pivot: datetimes (first column) vs channels (other columns).""" + df_pivot = df.pivot(index="datetime", columns="channel", values=parameter) # just select one row for mean values (since mean is constant over time for a given channel) if "_mean" in parameter: df_pivot = df_pivot.iloc[[0]] - df_pivot.to_hdf(file_path, key=key_name, mode='a') - - + df_pivot.to_hdf(file_path, key=key_name, mode="a") From d1eaa92aadab30ed3becfeeba4831c13f5086353 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 8 Jun 2023 14:51:16 +0000 Subject: [PATCH 093/166] style: pre-commit fixes --- src/legend_data_monitor/plotting.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index eb947ee..a861c73 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -254,10 +254,17 @@ def make_subsystem_plots( and utils.PARAMETER_TIERS[param_orig] != "hit" ): if plot_settings["AUX_ratio"] is True: - plot_info["label"][param] += " / " + plot_info["label"][param] + "(PULS01ANA)" - if "AUX_diff" in plot_settings.keys() and utils.PARAMETER_TIERS[param_orig] != "hit": + plot_info["label"][param] += ( + " / " + plot_info["label"][param] + "(PULS01ANA)" + ) + if ( + "AUX_diff" in plot_settings.keys() + and utils.PARAMETER_TIERS[param_orig] != "hit" + ): if plot_settings["AUX_diff"] is True: - plot_info["label"][param] += " - " + plot_info["label"][param] + "(PULS01ANA)" + plot_info["label"][param] += ( + " - " + plot_info["label"][param] + "(PULS01ANA)" + ) keyword = "variation" if plot_settings["variation"] else "absolute" plot_info["limits"][param] = ( From 2e0f0d6420eecbe671141004a982c515f6360b8c Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Thu, 8 Jun 2023 18:48:57 +0200 Subject: [PATCH 094/166] fixed FC bsln selection (no pulser events coincidence) --- src/legend_data_monitor/core.py | 4 ++-- src/legend_data_monitor/subsystem.py | 12 +++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 42d8406..69c9158 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -229,8 +229,8 @@ def generate_plots(config: dict, plt_path: str): # ------------------------------------------------------------------------- # flag pulser events for future parameter data selection subsystems[system].flag_pulser_events(subsystems["pulser"]) - # flag FC baseline events for future parameter data selection - subsystems[system].flag_fcbsln_events(subsystems["FCbsln"]) + # flag FC baseline events (not in correspondence with any pulser event) for future parameter data selection + subsystems[system].flag_fcbsln_only_events(subsystems["FCbsln"]) # flag muon events for future parameter data selection subsystems[system].flag_muon_events(subsystems["muon"]) diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index b256ef2..2522d87 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -421,7 +421,7 @@ def flag_pulser_events(self, pulser=None): self.data = self.data.reset_index() def flag_fcbsln_events(self, fc_bsln=None): - """Flag FC baseline events. If a FC baseline object was provided, flag FC baseline events in data based on its flag.""" + """Flag FC baseline events, keeping the ones that are in correspondence with a pulser event too. If a FC baseline object was provided, flag FC baseline events in data based on its flag.""" utils.logger.info("... flagging FC baseline events") # --- if a FC baseline object was provided, flag FC baseline events in data based on its flag @@ -456,6 +456,16 @@ def flag_fcbsln_events(self, fc_bsln=None): self.data = self.data.reset_index() + def flag_fcbsln_only_events(self, fc_bsln): + """Flag FC baseline events. If a FC baseline object was provided, flag FC baseline events in data based on its flag.""" + utils.logger.info("... flagging FC baseline ONLY events") + + self.data = self.data.merge(fc_bsln.data[["datetime", "flag_fc_bsln"]], on="datetime") + self.data["flag_fc_bsln"] = self.data["flag_fc_bsln"] & self.data["flag_pulser"] + + self.data = self.data.reset_index() + + def flag_muon_events(self, muon=None): """Flag muon events. If a muon object was provided, flag muon events in data based on its flag.""" utils.logger.info("... flagging muon events") From 2b2370455edb411be80a9c084276aeec1f17e57f Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 8 Jun 2023 16:49:18 +0000 Subject: [PATCH 095/166] style: pre-commit fixes --- src/legend_data_monitor/core.py | 2 +- src/legend_data_monitor/subsystem.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 69c9158..2c160a3 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -229,7 +229,7 @@ def generate_plots(config: dict, plt_path: str): # ------------------------------------------------------------------------- # flag pulser events for future parameter data selection subsystems[system].flag_pulser_events(subsystems["pulser"]) - # flag FC baseline events (not in correspondence with any pulser event) for future parameter data selection + # flag FC baseline events (not in correspondence with any pulser event) for future parameter data selection subsystems[system].flag_fcbsln_only_events(subsystems["FCbsln"]) # flag muon events for future parameter data selection subsystems[system].flag_muon_events(subsystems["muon"]) diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 2522d87..d1b711f 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -460,11 +460,12 @@ def flag_fcbsln_only_events(self, fc_bsln): """Flag FC baseline events. If a FC baseline object was provided, flag FC baseline events in data based on its flag.""" utils.logger.info("... flagging FC baseline ONLY events") - self.data = self.data.merge(fc_bsln.data[["datetime", "flag_fc_bsln"]], on="datetime") + self.data = self.data.merge( + fc_bsln.data[["datetime", "flag_fc_bsln"]], on="datetime" + ) self.data["flag_fc_bsln"] = self.data["flag_fc_bsln"] & self.data["flag_pulser"] self.data = self.data.reset_index() - def flag_muon_events(self, muon=None): """Flag muon events. If a muon object was provided, flag muon events in data based on its flag.""" From f97f2bd8a50a837680f9166d4400e2558d1a49b2 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 14 Jun 2023 17:32:05 +0200 Subject: [PATCH 096/166] fixed bsln selection --- src/legend_data_monitor/core.py | 2 ++ src/legend_data_monitor/plotting.py | 3 +++ src/legend_data_monitor/subsystem.py | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 69c9158..8efbee0 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -215,6 +215,7 @@ def generate_plots(config: dict, plt_path: str): # load also aux channel if necessary, and add it to the already existing df for plot in config["subsystems"][system].keys(): + # !!! add if for sipms... subsystems[system].include_aux( config["subsystems"][system][plot]["parameters"], config["dataset"], @@ -266,3 +267,4 @@ def generate_plots(config: dict, plt_path: str): # Write the cleaned text to a new file with open(plt_path + "-" + system + ".log", "w") as f: f.write(clean_text) + diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index a861c73..842daeb 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -136,6 +136,7 @@ def make_subsystem_plots( # switch to aux data (if specified in config file) # ------------------------------------------------------------------------- # check if the aux objects are not empty + # !!! not handled for spms if not utils.check_empty_df(aux_ratio_analysis) and not utils.check_empty_df( aux_diff_analysis ): @@ -321,7 +322,9 @@ def make_subsystem_plots( # here we are not checking if we are plotting one or more than one parameter # the output dataframe and plot_info objects are merged for more than one parameters # this will be split at a later stage, when building the output dictionary through utils.build_out_dict(...) + # --- save shelf par_dict_content = save_data.save_df_and_info(data_to_plot.data, plot_info) + # --- save hdf save_data.save_hdf( saving, plt_path + f"-{subsystem.type}.hdf", diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 2522d87..3f403ac 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -461,7 +461,7 @@ def flag_fcbsln_only_events(self, fc_bsln): utils.logger.info("... flagging FC baseline ONLY events") self.data = self.data.merge(fc_bsln.data[["datetime", "flag_fc_bsln"]], on="datetime") - self.data["flag_fc_bsln"] = self.data["flag_fc_bsln"] & self.data["flag_pulser"] + self.data["flag_fc_bsln"] = self.data["flag_fc_bsln"] & ~self.data["flag_pulser"] self.data = self.data.reset_index() From 3e1fb28665631dd7d66d83de07cad2c48b73d372 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 14 Jun 2023 15:33:20 +0000 Subject: [PATCH 097/166] style: pre-commit fixes --- src/legend_data_monitor/core.py | 1 - src/legend_data_monitor/plotting.py | 2 +- src/legend_data_monitor/subsystem.py | 8 ++++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index afa5165..4837280 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -267,4 +267,3 @@ def generate_plots(config: dict, plt_path: str): # Write the cleaned text to a new file with open(plt_path + "-" + system + ".log", "w") as f: f.write(clean_text) - diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 842daeb..9769a79 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -322,7 +322,7 @@ def make_subsystem_plots( # here we are not checking if we are plotting one or more than one parameter # the output dataframe and plot_info objects are merged for more than one parameters # this will be split at a later stage, when building the output dictionary through utils.build_out_dict(...) - # --- save shelf + # --- save shelf par_dict_content = save_data.save_df_and_info(data_to_plot.data, plot_info) # --- save hdf save_data.save_hdf( diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 549c190..6d251ed 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -460,8 +460,12 @@ def flag_fcbsln_only_events(self, fc_bsln): """Flag FC baseline events. If a FC baseline object was provided, flag FC baseline events in data based on its flag.""" utils.logger.info("... flagging FC baseline ONLY events") - self.data = self.data.merge(fc_bsln.data[["datetime", "flag_fc_bsln"]], on="datetime") - self.data["flag_fc_bsln"] = self.data["flag_fc_bsln"] & ~self.data["flag_pulser"] + self.data = self.data.merge( + fc_bsln.data[["datetime", "flag_fc_bsln"]], on="datetime" + ) + self.data["flag_fc_bsln"] = ( + self.data["flag_fc_bsln"] & ~self.data["flag_pulser"] + ) self.data = self.data.reset_index() From 87dfbb5ec16a18f6ee5ef4bb9d152d9f51ffd7f9 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Thu, 15 Jun 2023 12:36:02 +0200 Subject: [PATCH 098/166] fixed 'append' for new hdf structure --- src/legend_data_monitor/plotting.py | 4 +- src/legend_data_monitor/save_data.py | 117 ++++++++++++++++----------- 2 files changed, 72 insertions(+), 49 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 9769a79..8b9b0f4 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -322,8 +322,10 @@ def make_subsystem_plots( # here we are not checking if we are plotting one or more than one parameter # the output dataframe and plot_info objects are merged for more than one parameters # this will be split at a later stage, when building the output dictionary through utils.build_out_dict(...) + # --- save shelf - par_dict_content = save_data.save_df_and_info(data_to_plot.data, plot_info) + # normal geds values (??? do we want the rescaled ones to be saved as shelf?) + par_dict_content = save_data.save_df_and_info(data_analysis.data, plot_info) # --- save hdf save_data.save_hdf( saving, diff --git a/src/legend_data_monitor/save_data.py b/src/legend_data_monitor/save_data.py index e030f86..b14df46 100644 --- a/src/legend_data_monitor/save_data.py +++ b/src/legend_data_monitor/save_data.py @@ -1,7 +1,7 @@ import os import shelve -from pandas import DataFrame, concat +from pandas import DataFrame, concat, read_hdf from . import analysis_data, utils @@ -400,12 +400,6 @@ def save_hdf( plot_info: dict, ) -> dict: """Save the input dataframe in an external hdf file, using a different structure (time vs channel, with values in cells). Plot info are saved too.""" - if saving == "append": - utils.logger.warning( - "\033[93m'append' saving option not implemented -> we skip saving hdf file\033[0m" - ) - return - utils.logger.info("Building HDF file(s)") # save the final dataframe as a hdf object parameters = plot_info["parameters"] @@ -464,7 +458,7 @@ def save_hdf( else [None, None] ) - # for limits, change from 'None' to 'False' to be hdf-friendlyF + # for limits, change from 'None' to 'False' to be hdf-friendly plot_info_param["lower_lim_var"] = str(limits_var[0]) or False plot_info_param["upper_lim_var"] = str(limits_var[1]) or False plot_info_param["lower_lim_abs"] = str(limits_abs[0]) or False @@ -494,11 +488,13 @@ def save_hdf( df_aux_diff_to_save = get_param_df(param_orig, aux_diff_analysis.data) # still need to check overwrite/append (and existence of file!!!) - # if not os.path.exists(plt_path + "-" + plot_info["subsystem"] + ".dat"): + if saving == "overwrite": + check_existence_and_overwrite(file_path) # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # PLOTTING INFO # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + # this is constant over time, so with 'append' we simply overwrite previous content df_info = DataFrame.from_dict( plot_info_param, orient="index", columns=["Value"] ) @@ -506,38 +502,13 @@ def save_hdf( file_path, key=f"{flag_rename[evt_type]}_{param_orig_camel}_info", mode="a" ) - # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - # PURE VALUES - # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - # ... absolute values - get_pivot( - df_to_save, - param_orig, - f"{flag_rename[evt_type]}_{param_orig_camel}", - file_path, - "a", - ) - # ... mean values - get_pivot( - df_to_save, - param_orig + "_mean", - f"{flag_rename[evt_type]}_{param_orig_camel}_mean", - file_path, - "a", - ) - # ... % variations wrt absolute values - get_pivot( - df_to_save, - param_orig + "_var", - f"{flag_rename[evt_type]}_{param_orig_camel}_var", - file_path, - "a", - ) - # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # PURE VALUES - AUX CHANNEL # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if not utils.check_empty_df(aux_analysis): + if saving == "overwrite": + check_existence_and_overwrite(file_path.replace(plot_info_param["subsystem"], aux_ch)) + plot_info_aux = plot_info_param.copy() plot_info_aux["subsystem"] = aux_ch # --- plotting info @@ -562,7 +533,7 @@ def save_hdf( param_orig, f"{flag_rename[evt_type]}_{param_orig_camel}", file_path.replace(plot_info_param["subsystem"], aux_ch), - "a", + saving, ) # ... mean values get_pivot( @@ -570,7 +541,7 @@ def save_hdf( param_orig + "_mean", f"{flag_rename[evt_type]}_{param_orig_camel}_mean", file_path.replace(plot_info_param["subsystem"], aux_ch), - "a", + saving, ) # ... % variations wrt absolute values get_pivot( @@ -578,12 +549,40 @@ def save_hdf( param_orig + "_var", f"{flag_rename[evt_type]}_{param_orig_camel}_var", file_path.replace(plot_info_param["subsystem"], aux_ch), - "a", + saving, ) utils.logger.info( f"... HDF file for {aux_ch} - pure AUX values - saved in: \33[4m{file_path.replace(plot_info_param['subsystem'], aux_ch)}\33[0m" ) + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + # PURE VALUES + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + # ... absolute values + get_pivot( + df_to_save, + param_orig, + f"{flag_rename[evt_type]}_{param_orig_camel}", + file_path, + saving, + ) + # ... mean values + get_pivot( + df_to_save, + param_orig + "_mean", + f"{flag_rename[evt_type]}_{param_orig_camel}_mean", + file_path, + saving, + ) + # ... % variations wrt absolute values + get_pivot( + df_to_save, + param_orig + "_var", + f"{flag_rename[evt_type]}_{param_orig_camel}_var", + file_path, + saving, + ) + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # RATIO WRT AUX CHANNEL # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -594,7 +593,7 @@ def save_hdf( param_orig, f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio", file_path, - "a", + saving, ) # ... mean values get_pivot( @@ -602,7 +601,7 @@ def save_hdf( param_orig + "_mean", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio_mean", file_path, - "a", + saving, ) # ... % variations wrt absolute values get_pivot( @@ -610,7 +609,7 @@ def save_hdf( param_orig + "_var", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Ratio_var", file_path, - "a", + saving, ) # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -623,7 +622,7 @@ def save_hdf( param_orig, f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff", file_path, - "a", + saving, ) # ... mean values get_pivot( @@ -631,7 +630,7 @@ def save_hdf( param_orig + "_mean", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff_mean", file_path, - "a", + saving, ) # ... % variations wrt absolute values get_pivot( @@ -639,7 +638,7 @@ def save_hdf( param_orig + "_var", f"{flag_rename[evt_type]}_{param_orig_camel}_{aux_ch}Diff_var", file_path, - "a", + saving, ) utils.logger.info( @@ -647,10 +646,32 @@ def save_hdf( ) -def get_pivot(df: DataFrame, parameter: str, key_name: str, file_path: str, mode): +def get_pivot(df: DataFrame, parameter: str, key_name: str, file_path: str, saving: str): """Get pivot: datetimes (first column) vs channels (other columns).""" df_pivot = df.pivot(index="datetime", columns="channel", values=parameter) # just select one row for mean values (since mean is constant over time for a given channel) if "_mean" in parameter: df_pivot = df_pivot.iloc[[0]] - df_pivot.to_hdf(file_path, key=key_name, mode="a") + + # append new data + if saving == "append": + # for the mean entry, we overwrite the already existing content with the new mean value + if "_mean" in parameter: + df_pivot.to_hdf(file_path, key=key_name, mode="a") + if "_mean" not in parameter: + # Read the existing HDF5 file + existing_data = read_hdf(file_path, key=key_name) + # Concatenate the existing data and the new data + combined_data = concat([existing_data, df_pivot]) + # Write the combined DataFrame to the HDF5 file + combined_data.to_hdf(file_path, key=key_name, mode="a") + + # overwrite already existing data + else: + df_pivot.to_hdf(file_path, key=key_name, mode="a") + + +def check_existence_and_overwrite(file: str): + """Check for the existence of a file, and if it exists removes it.""" + if os.path.exists(file): + os.remove(file) \ No newline at end of file From b99bb530dfff06a0611df4599ad91f15d7be6134 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 15 Jun 2023 10:36:47 +0000 Subject: [PATCH 099/166] style: pre-commit fixes --- src/legend_data_monitor/plotting.py | 4 ++-- src/legend_data_monitor/save_data.py | 12 ++++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 8b9b0f4..978c064 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -322,10 +322,10 @@ def make_subsystem_plots( # here we are not checking if we are plotting one or more than one parameter # the output dataframe and plot_info objects are merged for more than one parameters # this will be split at a later stage, when building the output dictionary through utils.build_out_dict(...) - + # --- save shelf # normal geds values (??? do we want the rescaled ones to be saved as shelf?) - par_dict_content = save_data.save_df_and_info(data_analysis.data, plot_info) + par_dict_content = save_data.save_df_and_info(data_analysis.data, plot_info) # --- save hdf save_data.save_hdf( saving, diff --git a/src/legend_data_monitor/save_data.py b/src/legend_data_monitor/save_data.py index b14df46..6e4f272 100644 --- a/src/legend_data_monitor/save_data.py +++ b/src/legend_data_monitor/save_data.py @@ -507,7 +507,9 @@ def save_hdf( # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if not utils.check_empty_df(aux_analysis): if saving == "overwrite": - check_existence_and_overwrite(file_path.replace(plot_info_param["subsystem"], aux_ch)) + check_existence_and_overwrite( + file_path.replace(plot_info_param["subsystem"], aux_ch) + ) plot_info_aux = plot_info_param.copy() plot_info_aux["subsystem"] = aux_ch @@ -646,7 +648,9 @@ def save_hdf( ) -def get_pivot(df: DataFrame, parameter: str, key_name: str, file_path: str, saving: str): +def get_pivot( + df: DataFrame, parameter: str, key_name: str, file_path: str, saving: str +): """Get pivot: datetimes (first column) vs channels (other columns).""" df_pivot = df.pivot(index="datetime", columns="channel", values=parameter) # just select one row for mean values (since mean is constant over time for a given channel) @@ -665,7 +669,7 @@ def get_pivot(df: DataFrame, parameter: str, key_name: str, file_path: str, savi combined_data = concat([existing_data, df_pivot]) # Write the combined DataFrame to the HDF5 file combined_data.to_hdf(file_path, key=key_name, mode="a") - + # overwrite already existing data else: df_pivot.to_hdf(file_path, key=key_name, mode="a") @@ -674,4 +678,4 @@ def get_pivot(df: DataFrame, parameter: str, key_name: str, file_path: str, savi def check_existence_and_overwrite(file: str): """Check for the existence of a file, and if it exists removes it.""" if os.path.exists(file): - os.remove(file) \ No newline at end of file + os.remove(file) From eb3fc05c6b234ba663e31e23349dcb4bc8cc74c0 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 16 Jun 2023 09:50:53 +0200 Subject: [PATCH 100/166] fixed bsln for FC_bsln subsystem + puls channel from map --- src/legend_data_monitor/core.py | 54 +++++++++++++++------------- src/legend_data_monitor/save_data.py | 18 +++++++++- src/legend_data_monitor/subsystem.py | 14 +++++--- 3 files changed, 55 insertions(+), 31 deletions(-) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 4837280..7626e90 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -185,6 +185,10 @@ def generate_plots(config: dict, plt_path: str): subsystems["FCbsln"] = subsystem.Subsystem("FCbsln", dataset=config["dataset"]) parameters = utils.get_all_plot_parameters("FCbsln", config) subsystems["FCbsln"].get_data(parameters) + # the following 3 lines help to tag FC bsln events that are not in coincidence with a pulser + subsystems["FCbsln"].flag_pulser_events(subsystems["pulser"]) + subsystems["FCbsln"].flag_fcbsln_only_events() + subsystems["FCbsln"].data.drop(columns={"flag_pulser"}) utils.logger.debug(subsystems["FCbsln"].data) # ------------------------------------------------------------------------- @@ -213,31 +217,31 @@ def generate_plots(config: dict, plt_path: str): # get data for these parameters and dataset range subsystems[system].get_data(parameters) - # load also aux channel if necessary, and add it to the already existing df - for plot in config["subsystems"][system].keys(): - # !!! add if for sipms... - subsystems[system].include_aux( - config["subsystems"][system][plot]["parameters"], - config["dataset"], - config["subsystems"][system][plot], - "pulser01ana", - ) - - utils.logger.debug(subsystems[system].data) - - # ------------------------------------------------------------------------- - # flag events - # ------------------------------------------------------------------------- - # flag pulser events for future parameter data selection - subsystems[system].flag_pulser_events(subsystems["pulser"]) - # flag FC baseline events (not in correspondence with any pulser event) for future parameter data selection - subsystems[system].flag_fcbsln_only_events(subsystems["FCbsln"]) - # flag muon events for future parameter data selection - subsystems[system].flag_muon_events(subsystems["muon"]) - - # remove timestamps for given detectors (moved here cause otherwise timestamps for flagging don't match) - subsystems[system].remove_timestamps(utils.REMOVE_KEYS) - utils.logger.debug(subsystems[system].data) + # load also aux channel if necessary (FOR ALL SYSTEMS), and add it to the already existing df + for plot in config["subsystems"][system].keys(): + # !!! add if for sipms... + subsystems[system].include_aux( + config["subsystems"][system][plot]["parameters"], + config["dataset"], + config["subsystems"][system][plot], + "pulser01ana", + ) + + utils.logger.debug(subsystems[system].data) + + # ------------------------------------------------------------------------- + # flag events (FOR ALL SYSTEMS) + # ------------------------------------------------------------------------- + # flag pulser events for future parameter data selection + subsystems[system].flag_pulser_events(subsystems["pulser"]) + # flag FC baseline events (not in correspondence with any pulser event) for future parameter data selection + subsystems[system].flag_fcbsln_events(subsystems["FCbsln"]) + # flag muon events for future parameter data selection + subsystems[system].flag_muon_events(subsystems["muon"]) + + # remove timestamps for given detectors (moved here cause otherwise timestamps for flagging don't match) + subsystems[system].remove_timestamps(utils.REMOVE_KEYS) + utils.logger.debug(subsystems[system].data) # ------------------------------------------------------------------------- # make subsystem plots diff --git a/src/legend_data_monitor/save_data.py b/src/legend_data_monitor/save_data.py index 6e4f272..9332f02 100644 --- a/src/legend_data_monitor/save_data.py +++ b/src/legend_data_monitor/save_data.py @@ -1,6 +1,7 @@ import os import shelve +from legendmeta import LegendMetadata from pandas import DataFrame, concat, read_hdf from . import analysis_data, utils @@ -526,8 +527,23 @@ def save_hdf( # keep one channel only first_ch = df_aux_to_save.iloc[0]["channel"] df_aux_to_save = df_aux_to_save[df_aux_to_save["channel"] == first_ch] + first_timestamp = utils.unix_timestamp_to_string( + df_aux_to_save["datetime"].dt.to_pydatetime()[0].timestamp() + ) if aux_ch == "pulser01ana": - df_aux_to_save["channel"] = 1027203 + chmap = LegendMetadata().hardware.configuration.channelmaps.on( + timestamp=first_timestamp + ) + # PULS01ANA channel + if "PULS01ANA" in chmap.keys(): + df_aux_to_save["channel"] = ( + LegendMetadata().channelmap().PULS01ANA.daq.rawid + ) + # PULS (=AUX00) channel (for periods below p03) + else: + df_aux_to_save["channel"] = ( + LegendMetadata().channelmap().AUX00.daq.rawid + ) # ... absolute values get_pivot( diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 6d251ed..cf76eb3 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -456,13 +456,17 @@ def flag_fcbsln_events(self, fc_bsln=None): self.data = self.data.reset_index() - def flag_fcbsln_only_events(self, fc_bsln): + def flag_fcbsln_only_events(self, fc_bsln=None): """Flag FC baseline events. If a FC baseline object was provided, flag FC baseline events in data based on its flag.""" utils.logger.info("... flagging FC baseline ONLY events") - self.data = self.data.merge( - fc_bsln.data[["datetime", "flag_fc_bsln"]], on="datetime" - ) + # --- if a FC baseline object was provided, flag FC baseline events in data + if fc_bsln: + self.data = self.data.merge( + fc_bsln.data[["datetime", "flag_fc_bsln"]], on="datetime" + ) + + # in any case, define FC bsln events as FC bsln events for which there was not a pulser event self.data["flag_fc_bsln"] = ( self.data["flag_fc_bsln"] & ~self.data["flag_pulser"] ) @@ -509,7 +513,7 @@ def get_channel_map(self): setup_info: dict with the keys 'experiment' and 'period' - Later will probably be changed to get channel map by timestamp (or hopefully run, if possible) + Later will probably be changed to get channel map by run, if possible Planning to add: - barrel column for SiPMs special case """ From b8243939a4de2045a296c790b0ce42c9db9a2a02 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 16 Jun 2023 11:44:04 +0200 Subject: [PATCH 101/166] fixed all selection --- src/legend_data_monitor/analysis_data.py | 4 ++-- src/legend_data_monitor/save_data.py | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 6cd9fad..74e17df 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -67,13 +67,13 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): event_type = analysis_info["event_type"] # check if the selected event type is within the available ones - if event_type not in event_type_flags.keys(): + if event_type != "all" and event_type not in event_type_flags.keys(): utils.logger.error( f"\033[91mThe event type '{event_type}' does not exist and cannot be flagged! Try again with one among {list(event_type_flags.keys())}.\033[0m" ) sys.exit() - if event_type in event_type_flags: + if event_type != "all" and event_type in event_type_flags: flag, subsystem_name = event_type_flags[event_type] if flag not in sub_data: utils.logger.error( diff --git a/src/legend_data_monitor/save_data.py b/src/legend_data_monitor/save_data.py index 9332f02..9bd7931 100644 --- a/src/legend_data_monitor/save_data.py +++ b/src/legend_data_monitor/save_data.py @@ -423,6 +423,8 @@ def save_hdf( "pulser": "IsPulser", "FCbsln": "IsBsln", "muon": "IsMuon", + "phy": "IsPhysics", + "all": "All", } for param in parameters: From 38fa221f8e17da63bf9eff5ac5712b1cd52cbb38 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 20 Jun 2023 19:40:48 +0200 Subject: [PATCH 102/166] fixed append option and added user_bunch to bunch long time windows of data --- src/legend_data_monitor/analysis_data.py | 39 +++++++++++ src/legend_data_monitor/core.py | 86 +++++++++++++++--------- src/legend_data_monitor/plotting.py | 18 +++++ src/legend_data_monitor/run.py | 29 ++++++++ src/legend_data_monitor/save_data.py | 85 +++++++++++++---------- src/legend_data_monitor/subsystem.py | 11 ++- src/legend_data_monitor/utils.py | 78 +++++++++++++++++++++ 7 files changed, 277 insertions(+), 69 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 74e17df..53e8adb 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -447,6 +447,7 @@ def channel_mean(self): # we need to repeat this operation for each param, otherwise only the mean of the last one survives self.data = concat_channel_mean(self, channel_mean) + def calculate_variation(self): """ Add a new column containing the percentage variation of a given parameter. @@ -610,6 +611,7 @@ def get_aux_df( and utils.PARAMETER_TIERS[param] == "hit" ) or param in utils.SPECIAL_PARAMETERS.keys(): return pd.DataFrame(), pd.DataFrame(), pd.DataFrame() + # get abs/mean/% variation for data of aux channel --> objects to save utils.logger.debug(f"Getting {aux_ch} data for {param}") aux_data = df.copy() @@ -621,6 +623,27 @@ def get_aux_df( f"{param}_{aux_ch}Diff", ] ) + # right now, we have the same values repeated for each ged channel + # -> keep one and substytute with AUX channel ID + # (only for this aux df, the others still maintain a relation with geds values) + # keep one channel only + first_ch = aux_data.iloc[0]["channel"] + aux_data = aux_data[aux_data["channel"] == first_ch] + first_timestamp = utils.unix_timestamp_to_string( + aux_data["datetime"].dt.to_pydatetime()[0].timestamp() + ) + if aux_ch == "pulser01ana": + chmap = LegendMetadata().hardware.configuration.channelmaps.on( + timestamp=first_timestamp + ) + # PULS01ANA channel + if "PULS01ANA" in chmap.keys(): + aux_data = get_aux_info(aux_data, chmap, "PULS01ANA") + # PULS (=AUX00) channel (for periods below p03) + else: + aux_data = get_aux_info(aux_data, chmap, "PULS01") + + # get channel mean and blabla aux_analysis = AnalysisData(aux_data, selection=plot_settings) utils.logger.debug(aux_analysis.data) @@ -665,6 +688,22 @@ def get_aux_df( return aux_analysis, aux_ratio_analysis, aux_diff_analysis +def get_aux_info(df: pd.DataFrame, chmap: dict, aux_ch: str) -> pd.DataFrame: + """Return a DataFrame with correct pulser AUX info.""" + df["channel"] = LegendMetadata().channelmap().PULS01ANA.daq.rawid + df["HV_card"] = None + df["HV_channel"] = None + df["cc4_channel"] = None + df["cc4_id"] = None + df["daq_card"] = LegendMetadata().channelmap().PULS01ANA.daq.card.id + df["daq_crate"] = LegendMetadata().channelmap().PULS01ANA.daq.crate + df["det_type"] = None + df["location"] = utils.SPECIAL_SYSTEMS["pulser01ana"] if aux_ch == "PULS01ANA" else utils.SPECIAL_SYSTEMS["pulser"] + df["position"] = df["location"] + df["name"] = aux_ch + + return df + def concat_channel_mean(self, channel_mean) -> pd.DataFrame: """Add a new column containing the mean values of the inspected parameter.""" # some means are meaningless -> drop the corresponding column diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 7626e90..5d488a9 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -5,7 +5,7 @@ from . import plotting, subsystem, utils -def control_plots(user_config_path: str): +def control_plots(user_config_path: str, n_files=None): """Set the configuration file and the output paths when a user config file is provided. The function to generate plots is then automatically called.""" # ------------------------------------------------------------------------- # Read user settings @@ -67,11 +67,11 @@ def control_plots(user_config_path: str): plt_path += "-{}".format("_".join(data_types)) # plot - generate_plots(config, plt_path) + generate_plots(config, plt_path, n_files) def auto_control_plots( - plot_config: str, file_keys: str, prod_path: str, prod_config: str + plot_config: str, file_keys: str, prod_path: str, prod_config: str, n_files=None ): """Set the configuration file and the output paths when a config file is provided during automathic plot production.""" # ------------------------------------------------------------------------- @@ -133,40 +133,60 @@ def auto_control_plots( plt_path += "-{}".format("_".join(data_types)) # plot - generate_plots(config, plt_path) + generate_plots(config, plt_path, n_files) -def generate_plots(config: dict, plt_path: str): - """Generate plots once the config file is set and once we provide the path and name in which store results.""" - # ------------------------------------------------------------------------- - # Get pulser first - needed to flag pulser events - # ------------------------------------------------------------------------- - - # get saving option - if "saving" in config: - saving = config["saving"] - else: - saving = None +def generate_plots(config: dict, plt_path: str, n_files=None): + """Generate plots once the config file is set and once we provide the path and name in which store results. n_files specifies if we want to inspect the entire time window (if n_files is not specified), otherwise we subdivide the time window in smaller datasets, each one being composed by n_files files.""" + # no subdivision of data (useful when the inspected time window is short enough) + if n_files is None: + # some output messages, just to warn the user... + if config["saving"] is None: + utils.logger.warning( + "\033[93mData will not be saved, but the pdf will be.\033[0m" + ) + elif config["saving"] == "append": + utils.logger.warning( + "\033[93mYou're going to append new data to already existing data. If not present, you first create the output file as a very first step.\033[0m" + ) + elif config["saving"] == "overwrite": + utils.logger.warning( + "\033[93mYou have accepted to overwrite already generated files, there's no way back until you manually stop the code NOW!\033[0m" + ) + else: + utils.logger.error( + "\033[91mThe selected saving option in the config file is wrong. Try again with 'overwrite', 'append' or nothing!\033[0m" + ) + sys.exit() + # do the plots + make_plots(config, plt_path, config["saving"]) - # some output messages, just to warn the user... - if saving is None: - utils.logger.warning( - "\033[93mData will not be saved, but the pdf will be.\033[0m" - ) - elif saving == "append": - utils.logger.warning( - "\033[93mYou're going to append new data to already existing data. If not present, you first create the output file as a very first step.\033[0m" - ) - elif saving == "overwrite": - utils.logger.warning( - "\033[93mYou have accepted to overwrite already generated files, there's no way back until you manually stop the code NOW!\033[0m" - ) + # for subdivision of data, let's loop over lists of timestamps, each one of length n_files else: - utils.logger.error( - "\033[91mThe selected saving option in the config file is wrong. Try again with 'overwrite', 'append' or nothing!\033[0m" - ) - sys.exit() - + # list of datasets to loop over later on + bunches = utils.bunch_dataset(config.copy(), n_files) + + # remove unnecessary keys for precaution - we will replace the time selections with individual timestamps/file keys + config["dataset"].pop("start", None) + config["dataset"].pop("end", None) + config["dataset"].pop("runs", None) + + for idx, bunch in enumerate(bunches): + utils.logger.debug(f"You are inspecting bunch #{idx}/{len(bunches)}...") + # if it is the first dataset, just override previous content + if idx == 0: + config["saving"] = "overwrite" + # if we already inspected the first dataset, append the ones coming after + if idx > 0: + config["saving"] = "append" + + # get the dataset + config["dataset"]["timestamps"] = bunch + # make the plots / load data for the dataset of interest + make_plots(config.copy(), plt_path, config["saving"]) + + +def make_plots(config: dict, plt_path: str, saving: str): # ------------------------------------------------------------------------- # flag events - PULSER # ------------------------------------------------------------------------- diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 978c064..e2ee618 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -37,6 +37,7 @@ def make_subsystem_plots( ): pdf = PdfPages(plt_path + "-" + subsystem.type + ".pdf") out_dict = {} + aux_out_dict = {} for plot_title in plots: utils.logger.info( @@ -326,6 +327,12 @@ def make_subsystem_plots( # --- save shelf # normal geds values (??? do we want the rescaled ones to be saved as shelf?) par_dict_content = save_data.save_df_and_info(data_analysis.data, plot_info) + # aux values as shelf (necessary to get the right mean) + aux_plot_info = plot_info.copy() + aux_plot_info["subsystem"] = "pulser01ana" + aux_par_dict_content = save_data.save_df_and_info( + aux_analysis.data, aux_plot_info + ) # --- save hdf save_data.save_hdf( saving, @@ -370,6 +377,11 @@ def make_subsystem_plots( out_dict = save_data.build_out_dict( plot_settings, par_dict_content, out_dict ) + # check if aux is empty or not + if not utils.check_empty_df(aux_analysis.data): + aux_out_dict = save_data.build_out_dict( + plot_settings, aux_par_dict_content, aux_out_dict + ) # save in shelve object, overwriting the already existing file with new content (either completely new or new bunches) if saving is not None: @@ -377,6 +389,12 @@ def make_subsystem_plots( out_file["monitoring"] = out_dict out_file.close() + # check if aux is empty or not + if not utils.check_empty_df(aux_analysis.data): + aux_out_file = shelve.open(plt_path + "-pulser01ana") + aux_out_file["monitoring"] = aux_out_dict + aux_out_file.close() + # save in pdf object pdf.close() diff --git a/src/legend_data_monitor/run.py b/src/legend_data_monitor/run.py index eace999..85e22c1 100644 --- a/src/legend_data_monitor/run.py +++ b/src/legend_data_monitor/run.py @@ -68,6 +68,7 @@ def main(): # functions for different purpouses add_user_config_parser(subparsers) + add_user_bunch_parser(subparsers) add_user_rsync_parser(subparsers) add_auto_prod_parser(subparsers) @@ -108,6 +109,34 @@ def user_config_cli(args): legend_data_monitor.core.control_plots(config_file) +def add_user_bunch_parser(subparsers): + """Configure :func:`.core.control_plots` command line interface.""" + parser_auto_prod = subparsers.add_parser( + "user_bunch", + description="""Inspect LEGEND HDF5 (LH5) processed data by giving a full config file with parameters/subsystems info to plot. Files will be bunched in groups of n_files files each, and every time the code is run you will append new data to the previously generated ones.""", + ) + parser_auto_prod.add_argument( + "--config", + help="""Path to config file (e.g. \"some_path/config_L200_r001_phy.json\").""", + ) + parser_auto_prod.add_argument( + "--n_files", + help="""Number (int) of files of a given run you want to inspect at each cycle.""", + ) + parser_auto_prod.set_defaults(func=user_bunch_cli) + + +def user_bunch_cli(args): + """Pass command line arguments to :func:`.core.control_plots`.""" + # get the path to the user config file + config_file = args.config + # get the number of files for each cycle + n_files = args.n_files + + # start loading data & generating plots + legend_data_monitor.core.control_plots(config_file, n_files) + + def add_user_rsync_parser(subparsers): """Configure :func:`.core.control_rsync_plots` command line interface.""" parser_auto_prod = subparsers.add_parser( diff --git a/src/legend_data_monitor/save_data.py b/src/legend_data_monitor/save_data.py index 9bd7931..7509930 100644 --- a/src/legend_data_monitor/save_data.py +++ b/src/legend_data_monitor/save_data.py @@ -1,7 +1,6 @@ import os import shelve -from legendmeta import LegendMetadata from pandas import DataFrame, concat, read_hdf from . import analysis_data, utils @@ -226,6 +225,12 @@ def append_new_data( old_df["channel"].map(mean_dict).fillna(old_df[parameter + "_mean"]) ) + # we have to re-calculate the % variations based on the new mean values (new-df is ok, but old_df isn't!) + old_df[parameter + "_var"] = ( + old_df[parameter] / old_df[parameter + "_mean"] - 1 + ) * 100 + old_df = old_df.reset_index(drop=True) + # concatenate the two dfs (channels are no more grouped; not a problem) merged_df = DataFrame.empty merged_df = concat([old_df, new_df], ignore_index=True, axis=0) @@ -491,8 +496,9 @@ def save_hdf( df_aux_diff_to_save = get_param_df(param_orig, aux_diff_analysis.data) # still need to check overwrite/append (and existence of file!!!) - if saving == "overwrite": - check_existence_and_overwrite(file_path) + # SOLVE THIS!!! + # if saving == "overwrite": + # check_existence_and_overwrite(file_path) # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # PLOTTING INFO @@ -501,6 +507,7 @@ def save_hdf( df_info = DataFrame.from_dict( plot_info_param, orient="index", columns=["Value"] ) + df_info.to_hdf( file_path, key=f"{flag_rename[evt_type]}_{param_orig_camel}_info", mode="a" ) @@ -509,10 +516,11 @@ def save_hdf( # PURE VALUES - AUX CHANNEL # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if not utils.check_empty_df(aux_analysis): - if saving == "overwrite": - check_existence_and_overwrite( - file_path.replace(plot_info_param["subsystem"], aux_ch) - ) + # SOLVE THIS!!! + # if saving == "overwrite": + # check_existence_and_overwrite( + # file_path.replace(plot_info_param["subsystem"], aux_ch) + # ) plot_info_aux = plot_info_param.copy() plot_info_aux["subsystem"] = aux_ch @@ -526,27 +534,6 @@ def save_hdf( mode="a", ) - # keep one channel only - first_ch = df_aux_to_save.iloc[0]["channel"] - df_aux_to_save = df_aux_to_save[df_aux_to_save["channel"] == first_ch] - first_timestamp = utils.unix_timestamp_to_string( - df_aux_to_save["datetime"].dt.to_pydatetime()[0].timestamp() - ) - if aux_ch == "pulser01ana": - chmap = LegendMetadata().hardware.configuration.channelmaps.on( - timestamp=first_timestamp - ) - # PULS01ANA channel - if "PULS01ANA" in chmap.keys(): - df_aux_to_save["channel"] = ( - LegendMetadata().channelmap().PULS01ANA.daq.rawid - ) - # PULS (=AUX00) channel (for periods below p03) - else: - df_aux_to_save["channel"] = ( - LegendMetadata().channelmap().AUX00.daq.rawid - ) - # ... absolute values get_pivot( df_aux_to_save, @@ -681,12 +668,42 @@ def get_pivot( if "_mean" in parameter: df_pivot.to_hdf(file_path, key=key_name, mode="a") if "_mean" not in parameter: - # Read the existing HDF5 file - existing_data = read_hdf(file_path, key=key_name) - # Concatenate the existing data and the new data - combined_data = concat([existing_data, df_pivot]) - # Write the combined DataFrame to the HDF5 file - combined_data.to_hdf(file_path, key=key_name, mode="a") + # if % variations, we have to re-calculate all of them for the new mean values + if "_var" in parameter: + key_name_orig = key_name.replace("_var", "") + new_mean = read_hdf( + file_path, key=key_name_orig + "_mean" + ) # gia' aggiornata (perche' la media la aggiorniamo prima delle variazioni %) + all_abs_data = read_hdf( + file_path, key=key_name_orig + ) # df vecchio con TUTTI i valori assoluti (anche quelli di prima) + new_var_data = all_abs_data.copy() + + # one channel (AUX) + channels = list(df["channel"].unique()) + if len(channels) == 1: + channel = channels[0] + new_var_data[channel] = ( + all_abs_data[channel] / new_mean[channel][0] - 1 + ) * 100 + # more channels (geds) + else: + for channel in channels: + new_var_data[channel] = ( + all_abs_data[channel] / new_mean[channel][0] - 1 + ) * 100 + + # Write the combined DataFrame to the HDF5 file + new_var_data.to_hdf(file_path, key=key_name, mode="a") + + # otherwise, just read the existing HDF5 file + else: + # Read the existing HDF5 file + existing_data = read_hdf(file_path, key=key_name) + # Concatenate the existing data and the new data + combined_data = concat([existing_data, df_pivot]) + # Write the combined DataFrame to the HDF5 file + combined_data.to_hdf(file_path, key=key_name, mode="a") # overwrite already existing data else: diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index cf76eb3..33a1474 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -410,6 +410,10 @@ def flag_pulser_events(self, pulser=None): else: # --- if no object was provided, it's understood that this itself is a pulser # find timestamps over threshold + # if self.below_period_3_excluded(): + # high_thr = 12500 + # if self.above_period_3_included(): + # high_thr = 2500 high_thr = 12500 self.data = self.data.set_index("datetime") wf_max_rel = self.data["wf_max"] - self.data["baseline"] @@ -549,11 +553,14 @@ def is_subsystem(entry): if self.experiment == "L60": return entry["system"] == "auxs" and entry["daq"]["fcid"] == 0 if self.experiment == "L200": + # we get PULS01 if self.below_period_3_excluded(): return entry["system"] == "puls" and entry["daq"][ch_flag] == 1 + # we get PULS01ANA if self.above_period_3_included(): return ( entry["system"] == "puls" + # and entry["daq"][ch_flag] == 1027203 and entry["daq"][ch_flag] == 1027201 ) # special case for pulser AUX @@ -605,7 +612,7 @@ def is_subsystem(entry): type_code = {"B": "bege", "C": "coax", "V": "icpc", "P": "ppc"} # systems for which the location/position has to be handled carefully; values were chosen arbitrarily to avoid conflicts - special_systems = {"pulser": 0, "pulser01ana": -1, "FCbsln": -2, "muon": -3} + special_systems = utils.SPECIAL_SYSTEMS # ------------------------------------------------------------------------- # loop over entries and find out subsystem @@ -739,7 +746,7 @@ def get_parameters_for_dataloader(self, parameters: typing.Union[str, list_of_st # --- always read timestamp params = ["timestamp"] # --- always get wf_max & baseline for pulser for flagging - if self.type in ["pulser", "FCbsln", "muon"]: + if self.type in ["pulser", "pulser01ana", "FCbsln", "muon"]: params += ["wf_max", "baseline"] # --- add user requested parameters diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 62770f3..3f5b4ff 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -68,6 +68,9 @@ "det_type", ] +# map position/location for special systems +SPECIAL_SYSTEMS = {"pulser": 0, "pulser01ana": -1, "FCbsln": -2, "muon": -3} + # dictionary map (helpful when we want to map channels based on their location/position) with open(pkg / "settings" / "map-channels.json") as f: MAP_DICT = json.load(f) @@ -606,6 +609,81 @@ def get_last_timestamp(dsp_fname: str) -> str: return last_timestamp +def bunch_dataset(config: dict, n_files=None): + """Bunch the full datasets into smaller pieces, based on the number of files we want to inspect at each iteration. + + It works for "start+end", "runs" and "timestamps" in "dataset" present in the config file. + """ + # --- get dsp filelist of this run + path_info = config["dataset"] + user_time_range = get_query_timerange(dataset=config["dataset"]) + + run = ( + get_run_name(config, user_time_range) + if "timestamp" in user_time_range.keys() + else get_time_name(user_time_range) + ) + # format to search /path_to_prod-ref[/vXX.XX]/generated/tier/dsp/phy/pXX/rXXX (version 'vXX.XX' might not be there). + # NOTICE that we fixed the tier, otherwise it picks the last one it finds (eg tcm). + # NOTICE that this is PERIOD SPECIFIC (unlikely we're gonna inspect two periods together, so we fix it) + path_to_files = os.path.join( + path_info["path"], + path_info["version"], + "generated", + "tier", + "dsp", + path_info["type"], + path_info["period"], + run, + "*.lh5", + ) + # get all dsp files + dsp_files = glob.glob(path_to_files) + dsp_files.sort() + + if "timestamp" in user_time_range.keys(): + if isinstance(user_time_range["timestamp"], list): + # sort in crescent order + user_time_range["timestamp"].sort() + start_time = datetime.strptime( + user_time_range["timestamp"][0], "%Y%m%dT%H%M%SZ" + ) + end_time = datetime.strptime( + user_time_range["timestamp"][-1], "%Y%m%dT%H%M%SZ" + ) + + else: + start_time = datetime.strptime( + user_time_range["timestamp"]["start"], "%Y%m%dT%H%M%SZ" + ) + end_time = datetime.strptime( + user_time_range["timestamp"]["end"], "%Y%m%dT%H%M%SZ" + ) + + if "run" in user_time_range.keys(): + timerange, start_tmstmp, end_tmstmp = get_query_times(dataset=config["dataset"]) + start_time = datetime.strptime(start_tmstmp, "%Y%m%dT%H%M%SZ") + end_time = datetime.strptime(end_tmstmp, "%Y%m%dT%H%M%SZ") + + # filter files and keep the ones within the time range of interest + filtered_files = [] + for dsp_file in dsp_files: + # Extract the timestamp from the file name + timestamp_str = dsp_file.split("-")[-2] + file_timestamp = datetime.strptime(timestamp_str, "%Y%m%dT%H%M%SZ") + # Check if the file timestamp is within the specified range + if start_time <= file_timestamp <= end_time: + filtered_files.append(dsp_file) + + filtered_files = [filtered_file.split("-")[-2] for filtered_file in filtered_files] + filtered_files = [ + filtered_files[i : i + int(n_files)] + for i in range(0, len(filtered_files), int(n_files)) + ] + + return filtered_files + + # ------------------------------------------------------------------------- # Config file related functions (for building files) # ------------------------------------------------------------------------- From b10339b20cd524f893e122150a6a436951d720ad Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 20 Jun 2023 17:41:42 +0000 Subject: [PATCH 103/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 53e8adb..b3dbf02 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -447,7 +447,6 @@ def channel_mean(self): # we need to repeat this operation for each param, otherwise only the mean of the last one survives self.data = concat_channel_mean(self, channel_mean) - def calculate_variation(self): """ Add a new column containing the percentage variation of a given parameter. @@ -623,7 +622,7 @@ def get_aux_df( f"{param}_{aux_ch}Diff", ] ) - # right now, we have the same values repeated for each ged channel + # right now, we have the same values repeated for each ged channel # -> keep one and substytute with AUX channel ID # (only for this aux df, the others still maintain a relation with geds values) # keep one channel only @@ -698,12 +697,17 @@ def get_aux_info(df: pd.DataFrame, chmap: dict, aux_ch: str) -> pd.DataFrame: df["daq_card"] = LegendMetadata().channelmap().PULS01ANA.daq.card.id df["daq_crate"] = LegendMetadata().channelmap().PULS01ANA.daq.crate df["det_type"] = None - df["location"] = utils.SPECIAL_SYSTEMS["pulser01ana"] if aux_ch == "PULS01ANA" else utils.SPECIAL_SYSTEMS["pulser"] + df["location"] = ( + utils.SPECIAL_SYSTEMS["pulser01ana"] + if aux_ch == "PULS01ANA" + else utils.SPECIAL_SYSTEMS["pulser"] + ) df["position"] = df["location"] df["name"] = aux_ch return df + def concat_channel_mean(self, channel_mean) -> pd.DataFrame: """Add a new column containing the mean values of the inspected parameter.""" # some means are meaningless -> drop the corresponding column From 17a93007b31b1aab72fa58aad837f885bd678bc5 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 20 Jun 2023 21:07:36 +0200 Subject: [PATCH 104/166] added if over aux_analysis being empty or not --- src/legend_data_monitor/plotting.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index e2ee618..abe7aba 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -327,12 +327,13 @@ def make_subsystem_plots( # --- save shelf # normal geds values (??? do we want the rescaled ones to be saved as shelf?) par_dict_content = save_data.save_df_and_info(data_analysis.data, plot_info) - # aux values as shelf (necessary to get the right mean) - aux_plot_info = plot_info.copy() - aux_plot_info["subsystem"] = "pulser01ana" - aux_par_dict_content = save_data.save_df_and_info( - aux_analysis.data, aux_plot_info - ) + # aux values as shelf (necessary to get the right mean) - if not empty + if not utils.check_empty_df(aux_analysis): + aux_plot_info = plot_info.copy() + aux_plot_info["subsystem"] = "pulser01ana" + aux_par_dict_content = save_data.save_df_and_info( + aux_analysis.data, aux_plot_info + ) # --- save hdf save_data.save_hdf( saving, @@ -378,7 +379,7 @@ def make_subsystem_plots( plot_settings, par_dict_content, out_dict ) # check if aux is empty or not - if not utils.check_empty_df(aux_analysis.data): + if not utils.check_empty_df(aux_analysis): aux_out_dict = save_data.build_out_dict( plot_settings, aux_par_dict_content, aux_out_dict ) @@ -390,7 +391,7 @@ def make_subsystem_plots( out_file.close() # check if aux is empty or not - if not utils.check_empty_df(aux_analysis.data): + if not utils.check_empty_df(aux_analysis): aux_out_file = shelve.open(plt_path + "-pulser01ana") aux_out_file["monitoring"] = aux_out_dict aux_out_file.close() From d26bb25cd313f5c602a6a8af50b458940dc95828 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 23 Jun 2023 12:12:26 +0200 Subject: [PATCH 105/166] fixes to append + notebook for hdf files --- notebook/L200-plotting-hdf-widgets.ipynb | 542 ++++++++++++++++++ src/legend_data_monitor/analysis_data.py | 25 +- src/legend_data_monitor/core.py | 2 +- src/legend_data_monitor/plotting.py | 30 + src/legend_data_monitor/save_data.py | 18 +- .../settings/remove-keys-COAXp04.json | 56 ++ .../settings/remove-keys.json | 57 +- 7 files changed, 663 insertions(+), 67 deletions(-) create mode 100644 notebook/L200-plotting-hdf-widgets.ipynb create mode 100644 src/legend_data_monitor/settings/remove-keys-COAXp04.json diff --git a/notebook/L200-plotting-hdf-widgets.ipynb b/notebook/L200-plotting-hdf-widgets.ipynb new file mode 100644 index 0000000..d7fa8a1 --- /dev/null +++ b/notebook/L200-plotting-hdf-widgets.ipynb @@ -0,0 +1,542 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "308b2266-c882-465f-89d0-c6ffe46e1b08", + "metadata": {}, + "source": [ + "### Introduction\n", + "\n", + "This notebook helps to have a first look at the saved output. \n", + "\n", + "It works after having installed the repo 'legend-data-monitor'. In particular, after the cloning, enter into the folder and install the package by typing\n", + "\n", + "```console\n", + "foo@bar:~$ pip install .\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "ab6a56d1-ec1e-4162-8b41-49e8df7b5f16", + "metadata": {}, + "source": [ + "# Select event type and parameter" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c3348d46-78a7-4be3-80de-a88610d88f00", + "metadata": {}, + "outputs": [], + "source": [ + "# ------------------------------------------------------------------------------------------ which data do you want to read? CHANGE ME!\n", + "run = \"r000\" # r000, r001, ...\n", + "subsystem = \"geds\" # KEEP 'geds' for the moment\n", + "folder = \"prod-ref-v2\" # you can change me\n", + "period = \"p03\"\n", + "version = \"\" # leave an empty string if you're looking at p03 data\n", + "\n", + "if version == \"\":\n", + " data_file = f\"/data1/users/calgaro/{folder}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"\n", + "else:\n", + " data_file = f\"/data1/users/calgaro/{folder}/{version}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------------------ ...from here, you don't need to change anything in the code\n", + "import sys\n", + "import h5py\n", + "import shelve\n", + "import matplotlib\n", + "import pandas as pd\n", + "import ipywidgets as widgets\n", + "from IPython.display import display\n", + "from matplotlib import pyplot as plt\n", + "from legend_data_monitor import plot_styles, plotting, utils\n", + "import legend_data_monitor as ldm\n", + "\n", + "%matplotlib widget\n", + "\n", + "# ------------------------------------------------------------------------------------------ building channel map\n", + "dataset = {\n", + " \"experiment\": \"L200\", \n", + " \"period\": period,\n", + " \"type\": \"phy\",\n", + " \"version\": version,\n", + " \"path\": \"/data2/public/prodenv/prod-blind/tmp/auto\",\n", + " \"runs\": int(run[1:])\n", + "}\n", + "\n", + "geds = ldm.Subsystem(\"geds\", dataset=dataset)\n", + "channel_map = geds.channel_map\n", + "\n", + "# remove probl dets\n", + "to_be_excluded = [\"V01406A\", \"V01415A\", \"V01387A\", \"P00665C\", \"P00748B\", \"P00748A\", \"B00089D\"]\n", + "for det in to_be_excluded:\n", + " channel_map = channel_map[channel_map.name != det]\n", + "# remove OFF dets\n", + "channel_map = channel_map[channel_map.status == \"on\"]\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------------------ load data\n", + "# Load the hdf file\n", + "hdf_file = h5py.File(data_file, 'r')\n", + "keys = list(hdf_file.keys())\n", + "hdf_file.close()\n", + "\n", + "# available flags - get the list of available event types\n", + "event_types = list(set([key.split(\"_\")[0] for key in keys]))\n", + "\n", + "# Create a dropdown widget for the event type\n", + "evt_type_widget = widgets.Dropdown(options=event_types, description=\"Event Type:\")\n", + "\n", + "# ------------------------------------------------------------------------------------------ parameter\n", + "# Define a function to update the parameter dropdown based on the selected event type\n", + "def update_params(*args):\n", + " selected_evt_type = evt_type_widget.value\n", + " params = list(set([key.split(\"_\")[1] for key in keys if key.split(\"_\")[0] == selected_evt_type]))\n", + " param_widget.options = params\n", + "\n", + "# Call the update_params function when the event type is changed\n", + "evt_type_widget.observe(update_params, \"value\")\n", + "\n", + "# Create a dropdown widget for the parameter\n", + "param_widget = widgets.Dropdown(description=\"Parameter:\")\n", + "\n", + "# ------------------------------------------------------------------------------------------ data format\n", + "data_format = [\"absolute values\", \"% values\"]\n", + "\n", + "# Create a dropdown widget\n", + "data_format_widget = widgets.Dropdown(options=data_format, description=\"data format:\")\n", + "\n", + "# ------------------------------------------------------------------------------------------ plot structure\n", + "plot_structures = [\"per string\", \"per channel\"]\n", + "\n", + "# Create a dropdown widget\n", + "plot_structures_widget = widgets.Dropdown(\n", + " options=plot_structures, description=\"Plot structure:\"\n", + ")\n", + "\n", + "# ------------------------------------------------------------------------------------------ plot style\n", + "plot_styles = [\"vs time\", \"histogram\"]\n", + "\n", + "# Create a dropdown widget\n", + "plot_styles_widget = widgets.Dropdown(options=plot_styles, description=\"Plot style:\")\n", + "\n", + "# ------------------------------------------------------------------------------------------ resampling\n", + "resampled = [\"no\", \"only\", \"also\"]\n", + "\n", + "# Create a dropdown widget\n", + "resampled_widget = widgets.Dropdown(options=resampled, description=\"Resampled:\")\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------------------ get one or all strings\n", + "strings = [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, \"all\"]\n", + "\n", + "# Create a dropdown widget\n", + "strings_widget = widgets.Dropdown(options=strings, description=\"String:\")\n", + "\n", + "# ------------------------------------------------------------------------------------------ display widgets\n", + "display(evt_type_widget)\n", + "display(param_widget) \n", + "\n", + "# ------------------------------------------------------------------------------------------ get params (based on event type)\n", + "evt_type = evt_type_widget.value\n", + "params = list(set([key.split(\"_\")[1] for key in keys if key.split(\"_\")[0] == evt_type]))\n", + "param_widget.options = params\n", + "\n", + "\n", + "\n", + "aux_widget = widgets.Dropdown(description=\"Options:\")\n", + "print(\"Pick the way you want to incldue PULS01ANA info\\n(this is not available for EventRate, CuspEmaxCtcCal \\nand AoECustom; in this case, select None):\")\n", + "display(aux_widget) \n", + "\n", + "aux_info = [\"pulser01anaRatio\", \"pulser01anaDiff\", \"None\"]\n", + "aux_dict = {\n", + " \"pulser01anaRatio\": f\"Ratio: {subsystem} / PULS01ANA\",\n", + " \"pulser01anaDiff\": f\"Difference: {subsystem} - PULS01ANA\",\n", + " \"None\": f\"None (ie just plain {subsystem} data)\"\n", + "}\n", + "aux_info = [aux_dict[info] for info in aux_info]\n", + "aux_widget.options = aux_info\n", + "\n", + "print(\"\\033[91mIf you change me, then RUN AGAIN the next cell!!!\\033[0m\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "508896aa-8f5c-4bed-a731-bb9aeca61bef", + "metadata": {}, + "outputs": [], + "source": [ + "def to_None(string):\n", + " return None if string == 'None' else string\n", + "\n", + "# ------------------------------------------------------------------------------------------ get dataframe\n", + "def display_param_value(*args):\n", + " selected_evt_type = evt_type_widget.value\n", + " selected_param = param_widget.value\n", + " selected_aux_info = aux_widget.value\n", + " print(\n", + " f\"You are going to plot '{selected_param}' for '{selected_evt_type}' events...\"\n", + " )\n", + " \n", + " key = f\"{selected_evt_type}_{selected_param}\"\n", + " print(key)\n", + " print(selected_aux_info)\n", + " # some info\n", + " df_info = pd.read_hdf(data_file, f'{key}_info')\n", + " \n", + " if \"None\" not in selected_aux_info:\n", + " print(f\"... plus you are going to apply the option {selected_aux_info}\")\n", + " \n", + " # Iterate over the dictionary items\n", + " for k, v in aux_dict.items():\n", + " if v == selected_aux_info:\n", + " option = k\n", + " break\n", + " key += f\"_{option}\"\n", + " \n", + " # get dataframe\n", + " df_param_orig = pd.read_hdf(data_file, f'{key}')\n", + " df_param_var = pd.read_hdf(data_file, f'{key}_var')\n", + " df_param_mean = pd.read_hdf(data_file, f'{key}_mean')\n", + "\n", + " return df_param_orig, df_param_var, df_param_mean, df_info\n", + "\n", + "df_param_orig, df_param_var, df_param_mean, df_info = display_param_value()\n", + "print(f\"...data have beeng loaded!\")" + ] + }, + { + "cell_type": "markdown", + "id": "f1c10c0f-9bed-400f-8174-c6d7e185648b", + "metadata": {}, + "source": [ + "# Plot data (select style and string)\n", + "For the selected parameter, choose the plot style (you can play with different data formats, plot structures, ... among the available ones).\n", + "\n", + "### Notes\n", + "1. I recommend using just **\"absolute values\" when plotting 'bl_std'** to see how noisy is each detector.\n", + "2. When you select **plot_style='histogram', you'll always plot NOT resampled values** (ie values for each timestamp entry). Indeed, if you choose different resampled options while keeping plot_style='histogram', nothing will change in plots.\n", + "4. **resampled='no'** means you look at each timestamp entry\n", + "5. **resampled='only'** means you look at each timestamp entry mediated over 1H time window ('1H' might change - in case, you can see what value was used for the resampling by printing ```print(plot_info['time_window'])``` (T=minutes, H=hours, D=days)\n", + "6. **resampled='also'** means you look at each timestamp entry mediated over 1H time window AND at each timestamp entry TOGETHER -> suggestion: use 'also' just when you choose plot_structures='per channel'; if you have selected 'per string', then you're not going to understand anything" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4f202e27-21be-4ea3-a818-3f0b459ca087", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "pivot_table = df_param_orig.copy() \n", + "pivot_table.reset_index(inplace=True)\n", + "new_df = pd.melt(pivot_table, id_vars=['datetime'], var_name='channel', value_name='value')\n", + "new_df_param_orig = new_df.copy().merge(channel_map, on='channel')\n", + "\n", + "pivot_table_var = df_param_var.copy() \n", + "pivot_table_var.reset_index(inplace=True)\n", + "new_df_var = pd.melt(pivot_table_var, id_vars=['datetime'], var_name='channel', value_name='value')\n", + "new_df_param_var = new_df_var.copy().merge(channel_map, on='channel')\n", + "\n", + "\n", + "def convert_to_original_format(camel_case_string: str) -> str:\n", + " \"\"\"Convert a camel case string to its original format.\"\"\"\n", + " original_string = \"\"\n", + " for i, char in enumerate(camel_case_string):\n", + " if char.isupper() and i > 0:\n", + " original_string += \"_\" + char.lower()\n", + " else:\n", + " original_string += char.lower()\n", + "\n", + " return original_string\n", + "\n", + "new_df_param_orig = (new_df_param_orig.copy()).rename(columns={\"value\": convert_to_original_format(param_widget.value)})\n", + "new_df_param_var = (new_df_param_var.copy()).rename(columns={\"value\": convert_to_original_format(param_widget.value) + \"_var\"})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a6fde51f-89b0-49f8-82ed-74d24235cbe0", + "metadata": {}, + "outputs": [], + "source": [ + "# Define the time interval options\n", + "time_intervals = ['1min', '5min', '10min', '30min', '60min']\n", + "\n", + "# Create RadioButtons with circular style\n", + "radio_buttons = widgets.RadioButtons(options=time_intervals, button_style='circle', description='\\t', layout={'width': 'max-content'})\n", + "\n", + "# Create a label widget to display the selected time interval\n", + "selected_interval_label = widgets.Label()\n", + "\n", + "# Define a callback function for button selection\n", + "def on_button_selected(change):\n", + " selected_interval_label.value = change.new\n", + "\n", + "# Assign the callback function to the RadioButtons\n", + "radio_buttons.observe(on_button_selected, names='value')\n", + "\n", + "# Create a horizontal box to contain the RadioButtons and label\n", + "box_layout = widgets.Layout(display='flex', flex_flow='row', align_items='center')\n", + "container_resampling = widgets.HBox([radio_buttons, selected_interval_label], layout=box_layout)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "122a4ec8-9a6f-420e-9dba-1d7347608cd1", + "metadata": {}, + "outputs": [], + "source": [ + "# Define the time interval options\n", + "answer = ['no', 'yes']\n", + "\n", + "# Create RadioButtons with circular style\n", + "limits_buttons = widgets.RadioButtons(options=answer, button_style='circle', description='\\t', layout={'width': 'max-content'})\n", + "\n", + "# Assign the callback function to the RadioButtons\n", + "limits_buttons.observe(on_button_selected, names='value')\n", + "\n", + "# Create a horizontal box to contain the RadioButtons and label\n", + "container_limits = widgets.HBox([limits_buttons, selected_interval_label], layout=box_layout)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "09102514-e0f1-432d-bd20-28166329aa10", + "metadata": {}, + "outputs": [], + "source": [ + "# Create text input boxes for min and max values\n", + "min_input = widgets.IntText(description=\"Min y-axis:\", layout=widgets.Layout(width=\"150px\"))\n", + "max_input = widgets.IntText(description=\"Max y-axis:\", layout=widgets.Layout(width=\"150px\"))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "084e9d36-1478-4833-96ff-555134e9a64c", + "metadata": {}, + "outputs": [], + "source": [ + "# ------------------------------------------------------------------------------------------ get plots\n", + "display(data_format_widget)\n", + "display(plot_structures_widget)\n", + "display(plot_styles_widget)\n", + "display(strings_widget)\n", + "display(resampled_widget)\n", + "\n", + "print(\"Chose resampling time among the available options:\")\n", + "display(container_resampling)\n", + "\n", + "print(\"Do you want to display horizontal lines for limits in the plots?\")\n", + "display(container_limits)\n", + "\n", + "print(\"Set y-axis range; use min=0=max if you don't want to use any fixed range:\")\n", + "display(widgets.VBox([min_input, max_input]))\n", + "\n", + "print(\"\\033[91mIf you change me, then RUN AGAIN the next cell!!!\\033[0m\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2122008e-2a6c-49b6-8a81-d351c1bfd57e", + "metadata": {}, + "outputs": [], + "source": [ + "# set plotting options\n", + "plot_info = {\n", + " \"unit\": df_info.loc['unit', 'Value'],\n", + " \"label\": df_info.loc['label', 'Value'],\n", + " \"lower_lim_var\": float(df_info.loc['lower_lim_var', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['lower_lim_var', 'Value']) is not None else None,\n", + " \"upper_lim_var\": float(df_info.loc['upper_lim_var', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['upper_lim_var', 'Value']) is not None else None,\n", + " \"lower_lim_abs\": float(df_info.loc['lower_lim_abs', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['lower_lim_abs', 'Value']) is not None else None,\n", + " \"upper_lim_abs\": float(df_info.loc['upper_lim_abs', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['upper_lim_abs', 'Value']) is not None else None,\n", + " \"plot_style\": plot_styles_widget.value,\n", + " \"plot_structure\": plot_structures_widget.value,\n", + " \"resampled\": resampled_widget.value,\n", + " \"title\": \"\",\n", + " \"subsystem\": \"\",\n", + " \"std\": False,\n", + " \"locname\": {\n", + " \"geds\": \"string\",\n", + " \"spms\": \"fiber\",\n", + " \"pulser\": \"puls\",\n", + " \"pulser01ana\": \"pulser01ana\",\n", + " \"FCbsln\": \"FC bsln\",\n", + " \"muon\": \"muon\",\n", + " }[subsystem],\n", + " \"range\": [min_input.value, max_input.value] if min_input.value < max_input.value else [None, None],\n", + " \"event_type\": None,\n", + " \"unit_label\": \"%\" if data_format_widget.value == \"% values\" else df_info.loc['unit', 'Value'],\n", + " \"parameters\": \"\",\n", + " \"time_window\": radio_buttons.value.split(\"min\")[0]+\"T\", \n", + "}\n", + "\n", + "\n", + "# turn on the std when plotting individual channels together\n", + "if plot_info[\"plot_structure\"] == \"per channel\":\n", + " plot_info[\"std\"] = True\n", + "\n", + "if data_format_widget.value == \"absolute values\":\n", + " plot_info[\"limits\"] = [plot_info[\"lower_lim_abs\"], plot_info[\"upper_lim_abs\"]]\n", + " plot_info[\"parameter\"] = convert_to_original_format(param_widget.value)\n", + " df_to_plot = new_df_param_orig.copy()\n", + "if data_format_widget.value == \"% values\":\n", + " plot_info[\"limits\"] = [plot_info[\"lower_lim_var\"], plot_info[\"upper_lim_var\"]]\n", + " plot_info[\"parameter\"] = convert_to_original_format(param_widget.value) + \"_var\"\n", + " df_to_plot = new_df_param_var.copy()\n", + "\n", + "print(f\"Making plots now...\")\n", + "\n", + "if isinstance(strings_widget.value, str): # let's get all strings in output\n", + " for string in [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]:\n", + " if plot_structures_widget.value == \"per channel\":\n", + " plotting.plot_per_ch(\n", + " df_to_plot[df_to_plot[\"location\"] == string], plot_info, \"\"\n", + " ) # plot one canvas per channel\n", + " elif plot_structures_widget.value == \"per string\":\n", + " plotting.plot_per_string(\n", + " df_to_plot[df_to_plot[\"location\"] == string], plot_info, \"\"\n", + " ) # plot one canvas per string\n", + "else: # let's get one string in output\n", + " if plot_structures_widget.value == \"per channel\":\n", + " plotting.plot_per_ch(\n", + " df_to_plot[df_to_plot[\"location\"] == strings_widget.value], plot_info, \"\"\n", + " ) # plot one canvas per channel\n", + " elif plot_structures_widget.value == \"per string\":\n", + " plotting.plot_per_string(\n", + " df_to_plot[df_to_plot[\"location\"] == strings_widget.value], plot_info, \"\"\n", + " ) # plot one canvas per string" + ] + }, + { + "cell_type": "markdown", + "id": "17542fbd-a2fb-4474-829a-adb0ef99aae3", + "metadata": { + "tags": [] + }, + "source": [ + "# Plot means vs channels\n", + "Here you can monitor how the **mean value (evaluated over the first 10% of data)** behaves separately for different channels, grouped by string. These mean values are the ones **used to compute percentage variations**. The average value displayed in the legend on the right of the plot generated below shows the average of mean values for a given string." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "017b16e9-da40-4a0b-9503-ce4c9e65070c", + "metadata": {}, + "outputs": [], + "source": [ + "y_label = plot_info[\"label\"]\n", + "if plot_info[\"unit_label\"] == \"%\":\n", + " y_label += \", %\"\n", + "else:\n", + " if (\n", + " \"(PULS01ANA)\" in y_label\n", + " or \"(PULS01)\" in y_label\n", + " or \"(BSLN01)\" in y_label\n", + " or \"(MUON01)\" in y_label\n", + " ):\n", + " separator = \"-\" if \"-\" in y_label else \"/\"\n", + " parts = y_label.split(separator)\n", + "\n", + " if len(parts) == 2 and separator == \"-\":\n", + " y_label += f\" [{plot_info['unit']}]\"\n", + " else:\n", + " y_label += f\" [{plot_info['unit']}]\"\n", + " \n", + "\n", + "strings = [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]\n", + "\n", + "# Create RadioButtons with circular style\n", + "strings_buttons = widgets.RadioButtons(options=strings, button_style='circle', description='\\t', layout={'width': 'max-content'})\n", + "\n", + "# Assign the callback function to the RadioButtons\n", + "strings_buttons.observe(on_button_selected, names='value')\n", + "\n", + "# Create a horizontal box to contain the RadioButtons and label\n", + "container_strings = widgets.HBox([strings_buttons, selected_interval_label], layout=box_layout)\n", + "\n", + "print(\"Selected the individual string for which you want to perform a zoom\")\n", + "display(container_strings)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c8739a7a-a050-4dac-a259-a4ee62ea1d5b", + "metadata": {}, + "outputs": [], + "source": [ + "plt.rcParams[\"figure.figsize\"] = (14,6)\n", + "\n", + "df_to_plot.boxplot(column = plot_info[\"parameter\"], by = [\"location\",\"position\"], rot=90, showfliers= False)\n", + "plt.title(f\"{plot_info['parameter']} for all strings\")\n", + "plt.ylabel(y_label)\n", + "plt.xlabel(\"(string, position)\")\n", + "\n", + "\n", + "df_to_plot[df_to_plot.location == strings_buttons.value].boxplot(column = plot_info[\"parameter\"], by = [\"location\",\"position\"], showfliers= False)\n", + "plt.title(f\"{plot_info['parameter']} - String {strings_buttons.value}\")\n", + "plt.ylabel(y_label)\n", + "plt.xlabel(\"(string, position)\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "155aec45-b468-49bf-9f77-970c18cf2590", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aed88208-1a98-4b4c-9896-989b18135a62", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1a5c74c4-ccfb-4924-8c8b-71802b7462d2", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index b3dbf02..c5d10a7 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -30,6 +30,10 @@ class AnalysisData: - 'time_window' [str]: [optional] time window in which to calculate event rate, in case that's the parameter of interest. Format: time_window='NA', where N is integer, and A is M for months, D for days, T for minutes, and S for seconds. Default: None + aux_info= + str that has info regarding pulser operations (as difference or ratio wrt geds (spms?) data). Available options are: + - "pulser01anaRatio" + - "pulser01anaDiff" Or input kwargs directly parameters=, event_type=, cuts=, variation=, time_window= """ @@ -40,6 +44,9 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): analysis_info = ( kwargs["selection"].copy() if "selection" in kwargs else kwargs.copy() ) + aux_info = ( + kwargs["aux_info"] if "aux_info" in kwargs else None + ) # ------------------------------------------------------------------------- # validity checks @@ -67,13 +74,13 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): event_type = analysis_info["event_type"] # check if the selected event type is within the available ones - if event_type != "all" and event_type not in event_type_flags.keys(): + if event_type not in ["all", "phy"] and event_type not in event_type_flags.keys(): utils.logger.error( f"\033[91mThe event type '{event_type}' does not exist and cannot be flagged! Try again with one among {list(event_type_flags.keys())}.\033[0m" ) sys.exit() - if event_type != "all" and event_type in event_type_flags: + if event_type not in ["all", "phy"] and event_type in event_type_flags: flag, subsystem_name = event_type_flags[event_type] if flag not in sub_data: utils.logger.error( @@ -116,6 +123,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): # evaluate the variation in any case, so we can save it (later useful for dashboard; # when plotting, no variation will be included as specified in the config file) self.variation = True + self.aux_info = aux_info # ------------------------------------------------------------------------- # subselect data @@ -411,7 +419,7 @@ def channel_mean(self): self.data = concat_channel_mean(self, channel_mean) elif self.saving == "append": - subsys = self.get_subsys() + subsys = self.get_subsys() if self.aux_info is None else self.aux_info # the file does not exist, so we get the mean as usual if not os.path.exists(self.plt_path + "-" + subsys + ".dat"): self_data_time_cut = cut_dataframe(self.data) @@ -644,7 +652,7 @@ def get_aux_df( # get channel mean and blabla aux_analysis = AnalysisData(aux_data, selection=plot_settings) - utils.logger.debug(aux_analysis.data) + utils.logger.debug("... aux dataframe \n%s", aux_analysis.data) # get abs/mean/% variation for ratio values with aux channel data --> objects to save utils.logger.debug(f"Getting ratio wrt {aux_ch} data for {param}") @@ -657,8 +665,9 @@ def get_aux_df( f"{param}_{aux_ch}Diff", ] ) - aux_ratio_analysis = AnalysisData(aux_ratio_data, selection=plot_settings) - utils.logger.debug(aux_ratio_analysis.data) + + aux_ratio_analysis = AnalysisData(aux_ratio_data, selection=plot_settings, aux_info="pulser01anaRatio") + utils.logger.debug("... aux ratio dataframe \n%s", aux_ratio_analysis.data) # get abs/mean/% variation for difference values with aux channel data --> objects to save utils.logger.debug(f"Getting difference wrt {aux_ch} data for {param}") @@ -671,8 +680,8 @@ def get_aux_df( f"{param}_{aux_ch}Diff", ] ) - aux_diff_analysis = AnalysisData(aux_diff_data, selection=plot_settings) - utils.logger.debug(aux_diff_analysis.data) + aux_diff_analysis = AnalysisData(aux_diff_data, selection=plot_settings, aux_info="pulser01anaDiff") + utils.logger.debug("... aux difference dataframe \n%s", aux_diff_analysis.data) if len(parameter) > 1: utils.logger.warning( diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 5d488a9..c396f2d 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -172,7 +172,7 @@ def generate_plots(config: dict, plt_path: str, n_files=None): config["dataset"].pop("runs", None) for idx, bunch in enumerate(bunches): - utils.logger.debug(f"You are inspecting bunch #{idx}/{len(bunches)}...") + utils.logger.debug(f"You are inspecting bunch #{idx+1}/{len(bunches)}...") # if it is the first dataset, just override previous content if idx == 0: config["saving"] = "overwrite" diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index abe7aba..0b96cd6 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -38,6 +38,8 @@ def make_subsystem_plots( pdf = PdfPages(plt_path + "-" + subsystem.type + ".pdf") out_dict = {} aux_out_dict = {} + aux_ratio_out_dict = {} + aux_diff_out_dict = {} for plot_title in plots: utils.logger.info( @@ -334,6 +336,18 @@ def make_subsystem_plots( aux_par_dict_content = save_data.save_df_and_info( aux_analysis.data, aux_plot_info ) + if not utils.check_empty_df(aux_ratio_analysis): + aux_ratio_plot_info = plot_info.copy() + aux_ratio_plot_info["subsystem"] = "pulser01anaRatio" + aux_ratio_par_dict_content = save_data.save_df_and_info( + aux_ratio_analysis.data, aux_ratio_plot_info + ) + if not utils.check_empty_df(aux_diff_analysis): + aux_diff_plot_info = plot_info.copy() + aux_diff_plot_info["subsystem"] = "pulser01anaDiff" + aux_diff_par_dict_content = save_data.save_df_and_info( + aux_diff_analysis.data, aux_diff_plot_info + ) # --- save hdf save_data.save_hdf( saving, @@ -383,6 +397,14 @@ def make_subsystem_plots( aux_out_dict = save_data.build_out_dict( plot_settings, aux_par_dict_content, aux_out_dict ) + if not utils.check_empty_df(aux_ratio_analysis): + aux_ratio_out_dict = save_data.build_out_dict( + plot_settings, aux_ratio_par_dict_content, aux_ratio_out_dict + ) + if not utils.check_empty_df(aux_diff_analysis): + aux_diff_out_dict = save_data.build_out_dict( + plot_settings, aux_diff_par_dict_content, aux_diff_out_dict + ) # save in shelve object, overwriting the already existing file with new content (either completely new or new bunches) if saving is not None: @@ -395,6 +417,14 @@ def make_subsystem_plots( aux_out_file = shelve.open(plt_path + "-pulser01ana") aux_out_file["monitoring"] = aux_out_dict aux_out_file.close() + if not utils.check_empty_df(aux_ratio_analysis): + aux_ratio_out_file = shelve.open(plt_path + "-pulser01anaRatio") + aux_ratio_out_file["monitoring"] = aux_ratio_out_dict + aux_ratio_out_file.close() + if not utils.check_empty_df(aux_diff_analysis): + aux_diff_out_file = shelve.open(plt_path + "-pulser01anaDiff") + aux_diff_out_file["monitoring"] = aux_diff_out_dict + aux_diff_out_file.close() # save in pdf object pdf.close() diff --git a/src/legend_data_monitor/save_data.py b/src/legend_data_monitor/save_data.py index 7509930..a485738 100644 --- a/src/legend_data_monitor/save_data.py +++ b/src/legend_data_monitor/save_data.py @@ -17,6 +17,12 @@ def save_df_and_info(df: DataFrame, plot_info: dict) -> dict: """Return a dictionary containing a dataframe for the parameter(s) under study for a given subsystem. The plotting info are saved too.""" + columns_to_drop = ["name", "location", "position", "cc4_channel", "cc4_id", "status", "det_type", "flag_muon", "flag_pulser", "flag_fc_bsln", "daq_crate", "daq_card", "HV_card", "HV_channel"] + columns_existing = [col for col in columns_to_drop if col in df.copy().columns] + + if columns_existing: + df = df.drop(columns=columns_existing) + par_dict_content = { "df_" + plot_info["subsystem"]: df, # saving dataframe "plot_info": plot_info, # saving plotting info @@ -205,6 +211,14 @@ def append_new_data( parameter = param.split("_var")[0] if "_var" in param else param event_type = plot_settings["event_type"] + utils.logger.info( + "\33[95m**************************************************\33[0m" + ) + utils.logger.info(f"\33[95m*** S A V I N G : {plot_info['subsystem']}\33[0m") + utils.logger.info( + "\33[95m**************************************************\33[0m" + ) + if old_dict["monitoring"][event_type][parameter]: # get already present df old_df = old_dict["monitoring"][event_type][parameter][ @@ -226,6 +240,7 @@ def append_new_data( ) # we have to re-calculate the % variations based on the new mean values (new-df is ok, but old_df isn't!) + old_df = old_df.drop(columns={parameter + "_var"}) old_df[parameter + "_var"] = ( old_df[parameter] / old_df[parameter + "_mean"] - 1 ) * 100 @@ -234,8 +249,7 @@ def append_new_data( # concatenate the two dfs (channels are no more grouped; not a problem) merged_df = DataFrame.empty merged_df = concat([old_df, new_df], ignore_index=True, axis=0) - merged_df = merged_df.reset_index() - merged_df = check_level0(merged_df) + merged_df = merged_df.reset_index(drop=True) # re-order content in order of channels/timestamps merged_df = merged_df.sort_values(["channel", "datetime"]) diff --git a/src/legend_data_monitor/settings/remove-keys-COAXp04.json b/src/legend_data_monitor/settings/remove-keys-COAXp04.json new file mode 100644 index 0000000..405baf5 --- /dev/null +++ b/src/legend_data_monitor/settings/remove-keys-COAXp04.json @@ -0,0 +1,56 @@ +{ + "C00ANG3": [ + { + "from": "20230330T043441Z", + "to": "20230401T012732Z" + }, + { + "from": "20230411T170538Z", + "to": "20230411T210547Z" + }, + { + "from": "20230413T064408Z", + "to": "20230413T084412Z" + }, + { + "from": "20230415T133659Z", + "to": "20230424T185631Z" + } + ], + "C00ANG5": [ + { + "from": "20230330T043441Z", + "to": "20230401T012732Z" + }, + { + "from": "20230411T170538Z", + "to": "20230411T210547Z" + }, + { + "from": "20230413T064408Z", + "to": "20230413T084412Z" + }, + { + "from": "20230415T133659Z", + "to": "20230424T185631Z" + } + ], + "C00ANG2": [ + { + "from": "20230330T043441Z", + "to": "20230401T012732Z" + }, + { + "from": "20230411T170538Z", + "to": "20230411T210547Z" + }, + { + "from": "20230413T064408Z", + "to": "20230413T084412Z" + }, + { + "from": "20230415T133659Z", + "to": "20230424T185631Z" + } + ] +} diff --git a/src/legend_data_monitor/settings/remove-keys.json b/src/legend_data_monitor/settings/remove-keys.json index 405baf5..9e26dfe 100644 --- a/src/legend_data_monitor/settings/remove-keys.json +++ b/src/legend_data_monitor/settings/remove-keys.json @@ -1,56 +1 @@ -{ - "C00ANG3": [ - { - "from": "20230330T043441Z", - "to": "20230401T012732Z" - }, - { - "from": "20230411T170538Z", - "to": "20230411T210547Z" - }, - { - "from": "20230413T064408Z", - "to": "20230413T084412Z" - }, - { - "from": "20230415T133659Z", - "to": "20230424T185631Z" - } - ], - "C00ANG5": [ - { - "from": "20230330T043441Z", - "to": "20230401T012732Z" - }, - { - "from": "20230411T170538Z", - "to": "20230411T210547Z" - }, - { - "from": "20230413T064408Z", - "to": "20230413T084412Z" - }, - { - "from": "20230415T133659Z", - "to": "20230424T185631Z" - } - ], - "C00ANG2": [ - { - "from": "20230330T043441Z", - "to": "20230401T012732Z" - }, - { - "from": "20230411T170538Z", - "to": "20230411T210547Z" - }, - { - "from": "20230413T064408Z", - "to": "20230413T084412Z" - }, - { - "from": "20230415T133659Z", - "to": "20230424T185631Z" - } - ] -} +{} \ No newline at end of file From 1b47f55d26ad00875ed58e8e521e300c7fa72c9e Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 23 Jun 2023 14:46:56 +0200 Subject: [PATCH 106/166] fixed case where there is 'mean' within param's name --- src/legend_data_monitor/save_data.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/legend_data_monitor/save_data.py b/src/legend_data_monitor/save_data.py index a485738..a114765 100644 --- a/src/legend_data_monitor/save_data.py +++ b/src/legend_data_monitor/save_data.py @@ -673,15 +673,16 @@ def get_pivot( """Get pivot: datetimes (first column) vs channels (other columns).""" df_pivot = df.pivot(index="datetime", columns="channel", values=parameter) # just select one row for mean values (since mean is constant over time for a given channel) - if "_mean" in parameter: + # take into consideration parameters that are named with 'mean' in it, eg "bl_mean" + if "_mean" in parameter and parameter.count("mean") > 1: df_pivot = df_pivot.iloc[[0]] # append new data if saving == "append": # for the mean entry, we overwrite the already existing content with the new mean value - if "_mean" in parameter: + if "_mean" in parameter and parameter.count("mean") > 1: df_pivot.to_hdf(file_path, key=key_name, mode="a") - if "_mean" not in parameter: + if "_mean" not in parameter or ("_mean" in parameter and parameter.count("mean") == 1): # if % variations, we have to re-calculate all of them for the new mean values if "_var" in parameter: key_name_orig = key_name.replace("_var", "") From 6f33c32e3566fc75d939bcec68c4087c5ef4f294 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 23 Jun 2023 16:48:13 +0200 Subject: [PATCH 107/166] polished notebook --- notebook/L200-plotting-hdf-widgets.ipynb | 72 +++++++----------------- 1 file changed, 19 insertions(+), 53 deletions(-) diff --git a/notebook/L200-plotting-hdf-widgets.ipynb b/notebook/L200-plotting-hdf-widgets.ipynb index d7fa8a1..6fee088 100644 --- a/notebook/L200-plotting-hdf-widgets.ipynb +++ b/notebook/L200-plotting-hdf-widgets.ipynb @@ -34,7 +34,7 @@ "# ------------------------------------------------------------------------------------------ which data do you want to read? CHANGE ME!\n", "run = \"r000\" # r000, r001, ...\n", "subsystem = \"geds\" # KEEP 'geds' for the moment\n", - "folder = \"prod-ref-v2\" # you can change me\n", + "folder = \"auto_prova\" # you can change me\n", "period = \"p03\"\n", "version = \"\" # leave an empty string if you're looking at p03 data\n", "\n", @@ -83,6 +83,7 @@ "# Load the hdf file\n", "hdf_file = h5py.File(data_file, 'r')\n", "keys = list(hdf_file.keys())\n", + "print(keys)\n", "hdf_file.close()\n", "\n", "# available flags - get the list of available event types\n", @@ -149,7 +150,7 @@ "\n", "\n", "aux_widget = widgets.Dropdown(description=\"Options:\")\n", - "print(\"Pick the way you want to incldue PULS01ANA info\\n(this is not available for EventRate, CuspEmaxCtcCal \\nand AoECustom; in this case, select None):\")\n", + "print(\"Pick the way you want to include PULS01ANA info\\n(this is not available for EventRate, CuspEmaxCtcCal \\nand AoECustom; in this case, select None):\")\n", "display(aux_widget) \n", "\n", "aux_info = [\"pulser01anaRatio\", \"pulser01anaDiff\", \"None\"]\n", @@ -257,8 +258,8 @@ "\n", " return original_string\n", "\n", - "new_df_param_orig = (new_df_param_orig.copy()).rename(columns={\"value\": convert_to_original_format(param_widget.value)})\n", - "new_df_param_var = (new_df_param_var.copy()).rename(columns={\"value\": convert_to_original_format(param_widget.value) + \"_var\"})" + "new_df_param_orig = (new_df_param_orig.copy()).rename(columns={\"value\": convert_to_original_format(param_widget.value) if param_widget.value != \"BlMean\" else param_widget.value})\n", + "new_df_param_var = (new_df_param_var.copy()).rename(columns={\"value\": convert_to_original_format(param_widget.value) + \"_var\" if param_widget.value != \"BlMean\" else param_widget.value + \"_var\"})" ] }, { @@ -286,16 +287,9 @@ "\n", "# Create a horizontal box to contain the RadioButtons and label\n", "box_layout = widgets.Layout(display='flex', flex_flow='row', align_items='center')\n", - "container_resampling = widgets.HBox([radio_buttons, selected_interval_label], layout=box_layout)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "122a4ec8-9a6f-420e-9dba-1d7347608cd1", - "metadata": {}, - "outputs": [], - "source": [ + "container_resampling = widgets.HBox([radio_buttons, selected_interval_label], layout=box_layout)\n", + "\n", + "# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n", "# Define the time interval options\n", "answer = ['no', 'yes']\n", "\n", @@ -306,16 +300,9 @@ "limits_buttons.observe(on_button_selected, names='value')\n", "\n", "# Create a horizontal box to contain the RadioButtons and label\n", - "container_limits = widgets.HBox([limits_buttons, selected_interval_label], layout=box_layout)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "09102514-e0f1-432d-bd20-28166329aa10", - "metadata": {}, - "outputs": [], - "source": [ + "container_limits = widgets.HBox([limits_buttons, selected_interval_label], layout=box_layout)\n", + "\n", + "# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n", "# Create text input boxes for min and max values\n", "min_input = widgets.IntText(description=\"Min y-axis:\", layout=widgets.Layout(width=\"150px\"))\n", "max_input = widgets.IntText(description=\"Max y-axis:\", layout=widgets.Layout(width=\"150px\"))" @@ -372,7 +359,7 @@ " \"geds\": \"string\",\n", " \"spms\": \"fiber\",\n", " \"pulser\": \"puls\",\n", - " \"pulser01ana\": \"pulser01ana\",\n", + " \"pulser01ana\": \"pulser01ana\", \n", " \"FCbsln\": \"FC bsln\",\n", " \"muon\": \"muon\",\n", " }[subsystem],\n", @@ -390,11 +377,11 @@ "\n", "if data_format_widget.value == \"absolute values\":\n", " plot_info[\"limits\"] = [plot_info[\"lower_lim_abs\"], plot_info[\"upper_lim_abs\"]]\n", - " plot_info[\"parameter\"] = convert_to_original_format(param_widget.value)\n", + " plot_info[\"parameter\"] = convert_to_original_format(param_widget.value) if param_widget.value != \"BlMean\" else param_widget.value\n", " df_to_plot = new_df_param_orig.copy()\n", "if data_format_widget.value == \"% values\":\n", " plot_info[\"limits\"] = [plot_info[\"lower_lim_var\"], plot_info[\"upper_lim_var\"]]\n", - " plot_info[\"parameter\"] = convert_to_original_format(param_widget.value) + \"_var\"\n", + " plot_info[\"parameter\"] = convert_to_original_format(param_widget.value) + \"_var\" if param_widget.value != \"BlMean\" else param_widget.value + \"_var\"\n", " df_to_plot = new_df_param_var.copy()\n", "\n", "print(f\"Making plots now...\")\n", @@ -481,41 +468,20 @@ "source": [ "plt.rcParams[\"figure.figsize\"] = (14,6)\n", "\n", - "df_to_plot.boxplot(column = plot_info[\"parameter\"], by = [\"location\",\"position\"], rot=90, showfliers= False)\n", + "df_to_plot.boxplot(column = plot_info[\"parameter\"], whis=[0,100], by = [\"location\",\"position\"], rot=90, showfliers= False, showmeans=True, meanprops=dict(marker='x', color='red', markersize=1))\n", "plt.title(f\"{plot_info['parameter']} for all strings\")\n", "plt.ylabel(y_label)\n", "plt.xlabel(\"(string, position)\")\n", "\n", + "#legend_labels = [f\"Mean: {mean:.2f}, Std: {std:.2f}\" for mean, std in zip(means, stds)]\n", + "#plt.legend(handles=boxplot[\"boxes\"], labels=legend_labels)\n", + "\n", "\n", - "df_to_plot[df_to_plot.location == strings_buttons.value].boxplot(column = plot_info[\"parameter\"], by = [\"location\",\"position\"], showfliers= False)\n", + "df_to_plot[df_to_plot.location == strings_buttons.value].boxplot(column = plot_info[\"parameter\"], whis=[0,100], by = [\"location\",\"position\"], showfliers= False, showmeans=True, meanprops=dict(marker='x', color='red', markersize=8))\n", "plt.title(f\"{plot_info['parameter']} - String {strings_buttons.value}\")\n", "plt.ylabel(y_label)\n", "plt.xlabel(\"(string, position)\")" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "155aec45-b468-49bf-9f77-970c18cf2590", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "aed88208-1a98-4b4c-9896-989b18135a62", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1a5c74c4-ccfb-4924-8c8b-71802b7462d2", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { From e9865fbe6c6bef855e04954bf3e5df93f557ec5a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 23 Jun 2023 14:53:13 +0000 Subject: [PATCH 108/166] style: pre-commit fixes --- notebook/L200-plotting-hdf-widgets.ipynb | 246 ++++++++++++------ src/legend_data_monitor/analysis_data.py | 21 +- src/legend_data_monitor/save_data.py | 29 ++- .../settings/remove-keys.json | 2 +- 4 files changed, 201 insertions(+), 97 deletions(-) diff --git a/notebook/L200-plotting-hdf-widgets.ipynb b/notebook/L200-plotting-hdf-widgets.ipynb index 6fee088..1f98dbd 100644 --- a/notebook/L200-plotting-hdf-widgets.ipynb +++ b/notebook/L200-plotting-hdf-widgets.ipynb @@ -60,19 +60,27 @@ "\n", "# ------------------------------------------------------------------------------------------ building channel map\n", "dataset = {\n", - " \"experiment\": \"L200\", \n", + " \"experiment\": \"L200\",\n", " \"period\": period,\n", " \"type\": \"phy\",\n", " \"version\": version,\n", " \"path\": \"/data2/public/prodenv/prod-blind/tmp/auto\",\n", - " \"runs\": int(run[1:])\n", + " \"runs\": int(run[1:]),\n", "}\n", "\n", "geds = ldm.Subsystem(\"geds\", dataset=dataset)\n", "channel_map = geds.channel_map\n", "\n", "# remove probl dets\n", - "to_be_excluded = [\"V01406A\", \"V01415A\", \"V01387A\", \"P00665C\", \"P00748B\", \"P00748A\", \"B00089D\"]\n", + "to_be_excluded = [\n", + " \"V01406A\",\n", + " \"V01415A\",\n", + " \"V01387A\",\n", + " \"P00665C\",\n", + " \"P00748B\",\n", + " \"P00748A\",\n", + " \"B00089D\",\n", + "]\n", "for det in to_be_excluded:\n", " channel_map = channel_map[channel_map.name != det]\n", "# remove OFF dets\n", @@ -81,7 +89,7 @@ "\n", "# ------------------------------------------------------------------------------------------ load data\n", "# Load the hdf file\n", - "hdf_file = h5py.File(data_file, 'r')\n", + "hdf_file = h5py.File(data_file, \"r\")\n", "keys = list(hdf_file.keys())\n", "print(keys)\n", "hdf_file.close()\n", @@ -92,13 +100,23 @@ "# Create a dropdown widget for the event type\n", "evt_type_widget = widgets.Dropdown(options=event_types, description=\"Event Type:\")\n", "\n", + "\n", "# ------------------------------------------------------------------------------------------ parameter\n", "# Define a function to update the parameter dropdown based on the selected event type\n", "def update_params(*args):\n", " selected_evt_type = evt_type_widget.value\n", - " params = list(set([key.split(\"_\")[1] for key in keys if key.split(\"_\")[0] == selected_evt_type]))\n", + " params = list(\n", + " set(\n", + " [\n", + " key.split(\"_\")[1]\n", + " for key in keys\n", + " if key.split(\"_\")[0] == selected_evt_type\n", + " ]\n", + " )\n", + " )\n", " param_widget.options = params\n", "\n", + "\n", "# Call the update_params function when the event type is changed\n", "evt_type_widget.observe(update_params, \"value\")\n", "\n", @@ -140,7 +158,7 @@ "\n", "# ------------------------------------------------------------------------------------------ display widgets\n", "display(evt_type_widget)\n", - "display(param_widget) \n", + "display(param_widget)\n", "\n", "# ------------------------------------------------------------------------------------------ get params (based on event type)\n", "evt_type = evt_type_widget.value\n", @@ -148,16 +166,17 @@ "param_widget.options = params\n", "\n", "\n", - "\n", "aux_widget = widgets.Dropdown(description=\"Options:\")\n", - "print(\"Pick the way you want to include PULS01ANA info\\n(this is not available for EventRate, CuspEmaxCtcCal \\nand AoECustom; in this case, select None):\")\n", - "display(aux_widget) \n", + "print(\n", + " \"Pick the way you want to include PULS01ANA info\\n(this is not available for EventRate, CuspEmaxCtcCal \\nand AoECustom; in this case, select None):\"\n", + ")\n", + "display(aux_widget)\n", "\n", "aux_info = [\"pulser01anaRatio\", \"pulser01anaDiff\", \"None\"]\n", "aux_dict = {\n", " \"pulser01anaRatio\": f\"Ratio: {subsystem} / PULS01ANA\",\n", " \"pulser01anaDiff\": f\"Difference: {subsystem} - PULS01ANA\",\n", - " \"None\": f\"None (ie just plain {subsystem} data)\"\n", + " \"None\": f\"None (ie just plain {subsystem} data)\",\n", "}\n", "aux_info = [aux_dict[info] for info in aux_info]\n", "aux_widget.options = aux_info\n", @@ -173,7 +192,8 @@ "outputs": [], "source": [ "def to_None(string):\n", - " return None if string == 'None' else string\n", + " return None if string == \"None\" else string\n", + "\n", "\n", "# ------------------------------------------------------------------------------------------ get dataframe\n", "def display_param_value(*args):\n", @@ -183,30 +203,31 @@ " print(\n", " f\"You are going to plot '{selected_param}' for '{selected_evt_type}' events...\"\n", " )\n", - " \n", + "\n", " key = f\"{selected_evt_type}_{selected_param}\"\n", " print(key)\n", " print(selected_aux_info)\n", " # some info\n", - " df_info = pd.read_hdf(data_file, f'{key}_info')\n", - " \n", + " df_info = pd.read_hdf(data_file, f\"{key}_info\")\n", + "\n", " if \"None\" not in selected_aux_info:\n", " print(f\"... plus you are going to apply the option {selected_aux_info}\")\n", - " \n", + "\n", " # Iterate over the dictionary items\n", " for k, v in aux_dict.items():\n", " if v == selected_aux_info:\n", " option = k\n", " break\n", " key += f\"_{option}\"\n", - " \n", + "\n", " # get dataframe\n", - " df_param_orig = pd.read_hdf(data_file, f'{key}')\n", - " df_param_var = pd.read_hdf(data_file, f'{key}_var')\n", - " df_param_mean = pd.read_hdf(data_file, f'{key}_mean')\n", + " df_param_orig = pd.read_hdf(data_file, f\"{key}\")\n", + " df_param_var = pd.read_hdf(data_file, f\"{key}_var\")\n", + " df_param_mean = pd.read_hdf(data_file, f\"{key}_mean\")\n", "\n", " return df_param_orig, df_param_var, df_param_mean, df_info\n", "\n", + "\n", "df_param_orig, df_param_var, df_param_mean, df_info = display_param_value()\n", "print(f\"...data have beeng loaded!\")" ] @@ -236,15 +257,19 @@ }, "outputs": [], "source": [ - "pivot_table = df_param_orig.copy() \n", + "pivot_table = df_param_orig.copy()\n", "pivot_table.reset_index(inplace=True)\n", - "new_df = pd.melt(pivot_table, id_vars=['datetime'], var_name='channel', value_name='value')\n", - "new_df_param_orig = new_df.copy().merge(channel_map, on='channel')\n", + "new_df = pd.melt(\n", + " pivot_table, id_vars=[\"datetime\"], var_name=\"channel\", value_name=\"value\"\n", + ")\n", + "new_df_param_orig = new_df.copy().merge(channel_map, on=\"channel\")\n", "\n", - "pivot_table_var = df_param_var.copy() \n", + "pivot_table_var = df_param_var.copy()\n", "pivot_table_var.reset_index(inplace=True)\n", - "new_df_var = pd.melt(pivot_table_var, id_vars=['datetime'], var_name='channel', value_name='value')\n", - "new_df_param_var = new_df_var.copy().merge(channel_map, on='channel')\n", + "new_df_var = pd.melt(\n", + " pivot_table_var, id_vars=[\"datetime\"], var_name=\"channel\", value_name=\"value\"\n", + ")\n", + "new_df_param_var = new_df_var.copy().merge(channel_map, on=\"channel\")\n", "\n", "\n", "def convert_to_original_format(camel_case_string: str) -> str:\n", @@ -258,8 +283,21 @@ "\n", " return original_string\n", "\n", - "new_df_param_orig = (new_df_param_orig.copy()).rename(columns={\"value\": convert_to_original_format(param_widget.value) if param_widget.value != \"BlMean\" else param_widget.value})\n", - "new_df_param_var = (new_df_param_var.copy()).rename(columns={\"value\": convert_to_original_format(param_widget.value) + \"_var\" if param_widget.value != \"BlMean\" else param_widget.value + \"_var\"})" + "\n", + "new_df_param_orig = (new_df_param_orig.copy()).rename(\n", + " columns={\n", + " \"value\": convert_to_original_format(param_widget.value)\n", + " if param_widget.value != \"BlMean\"\n", + " else param_widget.value\n", + " }\n", + ")\n", + "new_df_param_var = (new_df_param_var.copy()).rename(\n", + " columns={\n", + " \"value\": convert_to_original_format(param_widget.value) + \"_var\"\n", + " if param_widget.value != \"BlMean\"\n", + " else param_widget.value + \"_var\"\n", + " }\n", + ")" ] }, { @@ -270,42 +308,62 @@ "outputs": [], "source": [ "# Define the time interval options\n", - "time_intervals = ['1min', '5min', '10min', '30min', '60min']\n", + "time_intervals = [\"1min\", \"5min\", \"10min\", \"30min\", \"60min\"]\n", "\n", "# Create RadioButtons with circular style\n", - "radio_buttons = widgets.RadioButtons(options=time_intervals, button_style='circle', description='\\t', layout={'width': 'max-content'})\n", + "radio_buttons = widgets.RadioButtons(\n", + " options=time_intervals,\n", + " button_style=\"circle\",\n", + " description=\"\\t\",\n", + " layout={\"width\": \"max-content\"},\n", + ")\n", "\n", "# Create a label widget to display the selected time interval\n", "selected_interval_label = widgets.Label()\n", "\n", + "\n", "# Define a callback function for button selection\n", "def on_button_selected(change):\n", " selected_interval_label.value = change.new\n", "\n", + "\n", "# Assign the callback function to the RadioButtons\n", - "radio_buttons.observe(on_button_selected, names='value')\n", + "radio_buttons.observe(on_button_selected, names=\"value\")\n", "\n", "# Create a horizontal box to contain the RadioButtons and label\n", - "box_layout = widgets.Layout(display='flex', flex_flow='row', align_items='center')\n", - "container_resampling = widgets.HBox([radio_buttons, selected_interval_label], layout=box_layout)\n", + "box_layout = widgets.Layout(display=\"flex\", flex_flow=\"row\", align_items=\"center\")\n", + "container_resampling = widgets.HBox(\n", + " [radio_buttons, selected_interval_label], layout=box_layout\n", + ")\n", "\n", "# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n", "# Define the time interval options\n", - "answer = ['no', 'yes']\n", + "answer = [\"no\", \"yes\"]\n", "\n", "# Create RadioButtons with circular style\n", - "limits_buttons = widgets.RadioButtons(options=answer, button_style='circle', description='\\t', layout={'width': 'max-content'})\n", + "limits_buttons = widgets.RadioButtons(\n", + " options=answer,\n", + " button_style=\"circle\",\n", + " description=\"\\t\",\n", + " layout={\"width\": \"max-content\"},\n", + ")\n", "\n", "# Assign the callback function to the RadioButtons\n", - "limits_buttons.observe(on_button_selected, names='value')\n", + "limits_buttons.observe(on_button_selected, names=\"value\")\n", "\n", "# Create a horizontal box to contain the RadioButtons and label\n", - "container_limits = widgets.HBox([limits_buttons, selected_interval_label], layout=box_layout)\n", + "container_limits = widgets.HBox(\n", + " [limits_buttons, selected_interval_label], layout=box_layout\n", + ")\n", "\n", "# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n", "# Create text input boxes for min and max values\n", - "min_input = widgets.IntText(description=\"Min y-axis:\", layout=widgets.Layout(width=\"150px\"))\n", - "max_input = widgets.IntText(description=\"Max y-axis:\", layout=widgets.Layout(width=\"150px\"))" + "min_input = widgets.IntText(\n", + " description=\"Min y-axis:\", layout=widgets.Layout(width=\"150px\")\n", + ")\n", + "max_input = widgets.IntText(\n", + " description=\"Max y-axis:\", layout=widgets.Layout(width=\"150px\")\n", + ")" ] }, { @@ -343,12 +401,24 @@ "source": [ "# set plotting options\n", "plot_info = {\n", - " \"unit\": df_info.loc['unit', 'Value'],\n", - " \"label\": df_info.loc['label', 'Value'],\n", - " \"lower_lim_var\": float(df_info.loc['lower_lim_var', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['lower_lim_var', 'Value']) is not None else None,\n", - " \"upper_lim_var\": float(df_info.loc['upper_lim_var', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['upper_lim_var', 'Value']) is not None else None,\n", - " \"lower_lim_abs\": float(df_info.loc['lower_lim_abs', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['lower_lim_abs', 'Value']) is not None else None,\n", - " \"upper_lim_abs\": float(df_info.loc['upper_lim_abs', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['upper_lim_abs', 'Value']) is not None else None,\n", + " \"unit\": df_info.loc[\"unit\", \"Value\"],\n", + " \"label\": df_info.loc[\"label\", \"Value\"],\n", + " \"lower_lim_var\": float(df_info.loc[\"lower_lim_var\", \"Value\"])\n", + " if limits_buttons.value == \"yes\"\n", + " and to_None(df_info.loc[\"lower_lim_var\", \"Value\"]) is not None\n", + " else None,\n", + " \"upper_lim_var\": float(df_info.loc[\"upper_lim_var\", \"Value\"])\n", + " if limits_buttons.value == \"yes\"\n", + " and to_None(df_info.loc[\"upper_lim_var\", \"Value\"]) is not None\n", + " else None,\n", + " \"lower_lim_abs\": float(df_info.loc[\"lower_lim_abs\", \"Value\"])\n", + " if limits_buttons.value == \"yes\"\n", + " and to_None(df_info.loc[\"lower_lim_abs\", \"Value\"]) is not None\n", + " else None,\n", + " \"upper_lim_abs\": float(df_info.loc[\"upper_lim_abs\", \"Value\"])\n", + " if limits_buttons.value == \"yes\"\n", + " and to_None(df_info.loc[\"upper_lim_abs\", \"Value\"]) is not None\n", + " else None,\n", " \"plot_style\": plot_styles_widget.value,\n", " \"plot_structure\": plot_structures_widget.value,\n", " \"resampled\": resampled_widget.value,\n", @@ -359,15 +429,19 @@ " \"geds\": \"string\",\n", " \"spms\": \"fiber\",\n", " \"pulser\": \"puls\",\n", - " \"pulser01ana\": \"pulser01ana\", \n", + " \"pulser01ana\": \"pulser01ana\",\n", " \"FCbsln\": \"FC bsln\",\n", " \"muon\": \"muon\",\n", " }[subsystem],\n", - " \"range\": [min_input.value, max_input.value] if min_input.value < max_input.value else [None, None],\n", + " \"range\": [min_input.value, max_input.value]\n", + " if min_input.value < max_input.value\n", + " else [None, None],\n", " \"event_type\": None,\n", - " \"unit_label\": \"%\" if data_format_widget.value == \"% values\" else df_info.loc['unit', 'Value'],\n", + " \"unit_label\": \"%\"\n", + " if data_format_widget.value == \"% values\"\n", + " else df_info.loc[\"unit\", \"Value\"],\n", " \"parameters\": \"\",\n", - " \"time_window\": radio_buttons.value.split(\"min\")[0]+\"T\", \n", + " \"time_window\": radio_buttons.value.split(\"min\")[0] + \"T\",\n", "}\n", "\n", "\n", @@ -377,11 +451,19 @@ "\n", "if data_format_widget.value == \"absolute values\":\n", " plot_info[\"limits\"] = [plot_info[\"lower_lim_abs\"], plot_info[\"upper_lim_abs\"]]\n", - " plot_info[\"parameter\"] = convert_to_original_format(param_widget.value) if param_widget.value != \"BlMean\" else param_widget.value\n", + " plot_info[\"parameter\"] = (\n", + " convert_to_original_format(param_widget.value)\n", + " if param_widget.value != \"BlMean\"\n", + " else param_widget.value\n", + " )\n", " df_to_plot = new_df_param_orig.copy()\n", "if data_format_widget.value == \"% values\":\n", " plot_info[\"limits\"] = [plot_info[\"lower_lim_var\"], plot_info[\"upper_lim_var\"]]\n", - " plot_info[\"parameter\"] = convert_to_original_format(param_widget.value) + \"_var\" if param_widget.value != \"BlMean\" else param_widget.value + \"_var\"\n", + " plot_info[\"parameter\"] = (\n", + " convert_to_original_format(param_widget.value) + \"_var\"\n", + " if param_widget.value != \"BlMean\"\n", + " else param_widget.value + \"_var\"\n", + " )\n", " df_to_plot = new_df_param_var.copy()\n", "\n", "print(f\"Making plots now...\")\n", @@ -442,21 +524,28 @@ " y_label += f\" [{plot_info['unit']}]\"\n", " else:\n", " y_label += f\" [{plot_info['unit']}]\"\n", - " \n", + "\n", "\n", "strings = [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]\n", "\n", "# Create RadioButtons with circular style\n", - "strings_buttons = widgets.RadioButtons(options=strings, button_style='circle', description='\\t', layout={'width': 'max-content'})\n", + "strings_buttons = widgets.RadioButtons(\n", + " options=strings,\n", + " button_style=\"circle\",\n", + " description=\"\\t\",\n", + " layout={\"width\": \"max-content\"},\n", + ")\n", "\n", "# Assign the callback function to the RadioButtons\n", - "strings_buttons.observe(on_button_selected, names='value')\n", + "strings_buttons.observe(on_button_selected, names=\"value\")\n", "\n", "# Create a horizontal box to contain the RadioButtons and label\n", - "container_strings = widgets.HBox([strings_buttons, selected_interval_label], layout=box_layout)\n", + "container_strings = widgets.HBox(\n", + " [strings_buttons, selected_interval_label], layout=box_layout\n", + ")\n", "\n", "print(\"Selected the individual string for which you want to perform a zoom\")\n", - "display(container_strings)\n" + "display(container_strings)" ] }, { @@ -466,43 +555,40 @@ "metadata": {}, "outputs": [], "source": [ - "plt.rcParams[\"figure.figsize\"] = (14,6)\n", - "\n", - "df_to_plot.boxplot(column = plot_info[\"parameter\"], whis=[0,100], by = [\"location\",\"position\"], rot=90, showfliers= False, showmeans=True, meanprops=dict(marker='x', color='red', markersize=1))\n", + "plt.rcParams[\"figure.figsize\"] = (14, 6)\n", + "\n", + "df_to_plot.boxplot(\n", + " column=plot_info[\"parameter\"],\n", + " whis=[0, 100],\n", + " by=[\"location\", \"position\"],\n", + " rot=90,\n", + " showfliers=False,\n", + " showmeans=True,\n", + " meanprops=dict(marker=\"x\", color=\"red\", markersize=1),\n", + ")\n", "plt.title(f\"{plot_info['parameter']} for all strings\")\n", "plt.ylabel(y_label)\n", "plt.xlabel(\"(string, position)\")\n", "\n", - "#legend_labels = [f\"Mean: {mean:.2f}, Std: {std:.2f}\" for mean, std in zip(means, stds)]\n", - "#plt.legend(handles=boxplot[\"boxes\"], labels=legend_labels)\n", + "# legend_labels = [f\"Mean: {mean:.2f}, Std: {std:.2f}\" for mean, std in zip(means, stds)]\n", + "# plt.legend(handles=boxplot[\"boxes\"], labels=legend_labels)\n", "\n", "\n", - "df_to_plot[df_to_plot.location == strings_buttons.value].boxplot(column = plot_info[\"parameter\"], whis=[0,100], by = [\"location\",\"position\"], showfliers= False, showmeans=True, meanprops=dict(marker='x', color='red', markersize=8))\n", + "df_to_plot[df_to_plot.location == strings_buttons.value].boxplot(\n", + " column=plot_info[\"parameter\"],\n", + " whis=[0, 100],\n", + " by=[\"location\", \"position\"],\n", + " showfliers=False,\n", + " showmeans=True,\n", + " meanprops=dict(marker=\"x\", color=\"red\", markersize=8),\n", + ")\n", "plt.title(f\"{plot_info['parameter']} - String {strings_buttons.value}\")\n", "plt.ylabel(y_label)\n", "plt.xlabel(\"(string, position)\")" ] } ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.7" - } - }, + "metadata": {}, "nbformat": 4, "nbformat_minor": 5 } diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index c5d10a7..9a0fdc6 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -44,9 +44,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): analysis_info = ( kwargs["selection"].copy() if "selection" in kwargs else kwargs.copy() ) - aux_info = ( - kwargs["aux_info"] if "aux_info" in kwargs else None - ) + aux_info = kwargs["aux_info"] if "aux_info" in kwargs else None # ------------------------------------------------------------------------- # validity checks @@ -74,13 +72,16 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): event_type = analysis_info["event_type"] # check if the selected event type is within the available ones - if event_type not in ["all", "phy"] and event_type not in event_type_flags.keys(): + if ( + event_type not in ["all", "phy"] + and event_type not in event_type_flags.keys() + ): utils.logger.error( f"\033[91mThe event type '{event_type}' does not exist and cannot be flagged! Try again with one among {list(event_type_flags.keys())}.\033[0m" ) sys.exit() - if event_type not in ["all", "phy"] and event_type in event_type_flags: + if event_type not in ["all", "phy"] and event_type in event_type_flags: flag, subsystem_name = event_type_flags[event_type] if flag not in sub_data: utils.logger.error( @@ -665,8 +666,10 @@ def get_aux_df( f"{param}_{aux_ch}Diff", ] ) - - aux_ratio_analysis = AnalysisData(aux_ratio_data, selection=plot_settings, aux_info="pulser01anaRatio") + + aux_ratio_analysis = AnalysisData( + aux_ratio_data, selection=plot_settings, aux_info="pulser01anaRatio" + ) utils.logger.debug("... aux ratio dataframe \n%s", aux_ratio_analysis.data) # get abs/mean/% variation for difference values with aux channel data --> objects to save @@ -680,7 +683,9 @@ def get_aux_df( f"{param}_{aux_ch}Diff", ] ) - aux_diff_analysis = AnalysisData(aux_diff_data, selection=plot_settings, aux_info="pulser01anaDiff") + aux_diff_analysis = AnalysisData( + aux_diff_data, selection=plot_settings, aux_info="pulser01anaDiff" + ) utils.logger.debug("... aux difference dataframe \n%s", aux_diff_analysis.data) if len(parameter) > 1: diff --git a/src/legend_data_monitor/save_data.py b/src/legend_data_monitor/save_data.py index a114765..bbe4863 100644 --- a/src/legend_data_monitor/save_data.py +++ b/src/legend_data_monitor/save_data.py @@ -17,7 +17,22 @@ def save_df_and_info(df: DataFrame, plot_info: dict) -> dict: """Return a dictionary containing a dataframe for the parameter(s) under study for a given subsystem. The plotting info are saved too.""" - columns_to_drop = ["name", "location", "position", "cc4_channel", "cc4_id", "status", "det_type", "flag_muon", "flag_pulser", "flag_fc_bsln", "daq_crate", "daq_card", "HV_card", "HV_channel"] + columns_to_drop = [ + "name", + "location", + "position", + "cc4_channel", + "cc4_id", + "status", + "det_type", + "flag_muon", + "flag_pulser", + "flag_fc_bsln", + "daq_crate", + "daq_card", + "HV_card", + "HV_channel", + ] columns_existing = [col for col in columns_to_drop if col in df.copy().columns] if columns_existing: @@ -211,13 +226,9 @@ def append_new_data( parameter = param.split("_var")[0] if "_var" in param else param event_type = plot_settings["event_type"] - utils.logger.info( - "\33[95m**************************************************\33[0m" - ) + utils.logger.info("\33[95m**************************************************\33[0m") utils.logger.info(f"\33[95m*** S A V I N G : {plot_info['subsystem']}\33[0m") - utils.logger.info( - "\33[95m**************************************************\33[0m" - ) + utils.logger.info("\33[95m**************************************************\33[0m") if old_dict["monitoring"][event_type][parameter]: # get already present df @@ -682,7 +693,9 @@ def get_pivot( # for the mean entry, we overwrite the already existing content with the new mean value if "_mean" in parameter and parameter.count("mean") > 1: df_pivot.to_hdf(file_path, key=key_name, mode="a") - if "_mean" not in parameter or ("_mean" in parameter and parameter.count("mean") == 1): + if "_mean" not in parameter or ( + "_mean" in parameter and parameter.count("mean") == 1 + ): # if % variations, we have to re-calculate all of them for the new mean values if "_var" in parameter: key_name_orig = key_name.replace("_var", "") diff --git a/src/legend_data_monitor/settings/remove-keys.json b/src/legend_data_monitor/settings/remove-keys.json index 9e26dfe..0967ef4 100644 --- a/src/legend_data_monitor/settings/remove-keys.json +++ b/src/legend_data_monitor/settings/remove-keys.json @@ -1 +1 @@ -{} \ No newline at end of file +{} From 75e118bcf59bd2231a5cf7d08f483541ac9846e2 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 23 Jun 2023 16:54:53 +0200 Subject: [PATCH 109/166] removed 'whis' from codespell check --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 780522e..4512ec4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -67,4 +67,4 @@ legend_data_monitor = settings/*.json extend-ignore = E203, E501, D10 [codespell] -ignore-words-list = crate, nd, unparseable, compiletime, puls, livetime +ignore-words-list = crate, nd, unparseable, compiletime, puls, livetime, whis From 7a5f6368ad97e07bb8020fbd684b953c28920773 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 23 Jun 2023 18:43:30 +0200 Subject: [PATCH 110/166] fixed auto-removed aux hdf files --- src/legend_data_monitor/plotting.py | 35 +++++++++++++++-------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 0b96cd6..138de9e 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -392,16 +392,19 @@ def make_subsystem_plots( out_dict = save_data.build_out_dict( plot_settings, par_dict_content, out_dict ) - # check if aux is empty or not - if not utils.check_empty_df(aux_analysis): + + # check if the parameter is a hit or special parameter (still need to include MORE PARAMS case) + params = params[0] + if (params in utils.PARAMETER_TIERS.keys() and utils.PARAMETER_TIERS[params] != "hit") and params not in utils.SPECIAL_PARAMETERS: + # aux data aux_out_dict = save_data.build_out_dict( plot_settings, aux_par_dict_content, aux_out_dict ) - if not utils.check_empty_df(aux_ratio_analysis): + # subsystem data / aux data aux_ratio_out_dict = save_data.build_out_dict( plot_settings, aux_ratio_par_dict_content, aux_ratio_out_dict ) - if not utils.check_empty_df(aux_diff_analysis): + # subsystem data - aux data aux_diff_out_dict = save_data.build_out_dict( plot_settings, aux_diff_par_dict_content, aux_diff_out_dict ) @@ -412,19 +415,17 @@ def make_subsystem_plots( out_file["monitoring"] = out_dict out_file.close() - # check if aux is empty or not - if not utils.check_empty_df(aux_analysis): - aux_out_file = shelve.open(plt_path + "-pulser01ana") - aux_out_file["monitoring"] = aux_out_dict - aux_out_file.close() - if not utils.check_empty_df(aux_ratio_analysis): - aux_ratio_out_file = shelve.open(plt_path + "-pulser01anaRatio") - aux_ratio_out_file["monitoring"] = aux_ratio_out_dict - aux_ratio_out_file.close() - if not utils.check_empty_df(aux_diff_analysis): - aux_diff_out_file = shelve.open(plt_path + "-pulser01anaDiff") - aux_diff_out_file["monitoring"] = aux_diff_out_dict - aux_diff_out_file.close() + aux_out_file = shelve.open(plt_path + "-pulser01ana") + aux_out_file["monitoring"] = aux_out_dict + aux_out_file.close() + + aux_ratio_out_file = shelve.open(plt_path + "-pulser01anaRatio") + aux_ratio_out_file["monitoring"] = aux_ratio_out_dict + aux_ratio_out_file.close() + + aux_diff_out_file = shelve.open(plt_path + "-pulser01anaDiff") + aux_diff_out_file["monitoring"] = aux_diff_out_dict + aux_diff_out_file.close() # save in pdf object pdf.close() From dfbcb35c46ff43f90eda2b20a525aa2b93ce8824 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 23 Jun 2023 16:43:54 +0000 Subject: [PATCH 111/166] style: pre-commit fixes --- src/legend_data_monitor/plotting.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 138de9e..04cd125 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -395,7 +395,10 @@ def make_subsystem_plots( # check if the parameter is a hit or special parameter (still need to include MORE PARAMS case) params = params[0] - if (params in utils.PARAMETER_TIERS.keys() and utils.PARAMETER_TIERS[params] != "hit") and params not in utils.SPECIAL_PARAMETERS: + if ( + params in utils.PARAMETER_TIERS.keys() + and utils.PARAMETER_TIERS[params] != "hit" + ) and params not in utils.SPECIAL_PARAMETERS: # aux data aux_out_dict = save_data.build_out_dict( plot_settings, aux_par_dict_content, aux_out_dict From 5775e309c9619a7909f7810f7b9080bdf771ff4d Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Mon, 26 Jun 2023 11:10:15 +0200 Subject: [PATCH 112/166] beautified the notebook --- notebook/L200-plotting-hdf-widgets.ipynb | 329 +++++++----------- .../config/p03_r000_L200_hdf_example.json | 72 ++++ 2 files changed, 197 insertions(+), 204 deletions(-) create mode 100644 src/legend_data_monitor/config/p03_r000_L200_hdf_example.json diff --git a/notebook/L200-plotting-hdf-widgets.ipynb b/notebook/L200-plotting-hdf-widgets.ipynb index 1f98dbd..9dae4bb 100644 --- a/notebook/L200-plotting-hdf-widgets.ipynb +++ b/notebook/L200-plotting-hdf-widgets.ipynb @@ -7,7 +7,7 @@ "source": [ "### Introduction\n", "\n", - "This notebook helps to have a first look at the saved output. \n", + "This notebook helps to have a first look at the saved output, reading into hdf files. \n", "\n", "It works after having installed the repo 'legend-data-monitor'. In particular, after the cloning, enter into the folder and install the package by typing\n", "\n", @@ -18,32 +18,47 @@ }, { "cell_type": "markdown", - "id": "ab6a56d1-ec1e-4162-8b41-49e8df7b5f16", + "id": "acd13756-4007-4cda-bed2-3ee1b6056d15", "metadata": {}, "source": [ - "# Select event type and parameter" + "# Select run to inspect" ] }, { "cell_type": "code", "execution_count": null, - "id": "c3348d46-78a7-4be3-80de-a88610d88f00", + "id": "5de1e10c-b02d-45eb-9088-3e8103b3cbff", "metadata": {}, "outputs": [], "source": [ "# ------------------------------------------------------------------------------------------ which data do you want to read? CHANGE ME!\n", - "run = \"r000\" # r000, r001, ...\n", + "run = \"r003\" # r000, r001, ...\n", "subsystem = \"geds\" # KEEP 'geds' for the moment\n", - "folder = \"auto_prova\" # you can change me\n", + "folder = \"prod-ref-v2\" # you can change me\n", "period = \"p03\"\n", "version = \"\" # leave an empty string if you're looking at p03 data\n", "\n", "if version == \"\":\n", " data_file = f\"/data1/users/calgaro/{folder}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"\n", "else:\n", - " data_file = f\"/data1/users/calgaro/{folder}/{version}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"\n", - "\n", - "\n", + " data_file = f\"/data1/users/calgaro/{folder}/{version}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"" + ] + }, + { + "cell_type": "markdown", + "id": "ab6a56d1-ec1e-4162-8b41-49e8df7b5f16", + "metadata": {}, + "source": [ + "# Select event type, parameter and original or PULS01ANA-rescaled values" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c3348d46-78a7-4be3-80de-a88610d88f00", + "metadata": {}, + "outputs": [], + "source": [ "# ------------------------------------------------------------------------------------------ ...from here, you don't need to change anything in the code\n", "import sys\n", "import h5py\n", @@ -60,27 +75,19 @@ "\n", "# ------------------------------------------------------------------------------------------ building channel map\n", "dataset = {\n", - " \"experiment\": \"L200\",\n", + " \"experiment\": \"L200\", \n", " \"period\": period,\n", " \"type\": \"phy\",\n", " \"version\": version,\n", " \"path\": \"/data2/public/prodenv/prod-blind/tmp/auto\",\n", - " \"runs\": int(run[1:]),\n", + " \"runs\": int(run[1:])\n", "}\n", "\n", "geds = ldm.Subsystem(\"geds\", dataset=dataset)\n", "channel_map = geds.channel_map\n", "\n", "# remove probl dets\n", - "to_be_excluded = [\n", - " \"V01406A\",\n", - " \"V01415A\",\n", - " \"V01387A\",\n", - " \"P00665C\",\n", - " \"P00748B\",\n", - " \"P00748A\",\n", - " \"B00089D\",\n", - "]\n", + "to_be_excluded = [\"V01406A\", \"V01415A\", \"V01387A\", \"P00665C\", \"P00748B\", \"P00748A\", \"B00089D\"]\n", "for det in to_be_excluded:\n", " channel_map = channel_map[channel_map.name != det]\n", "# remove OFF dets\n", @@ -89,9 +96,8 @@ "\n", "# ------------------------------------------------------------------------------------------ load data\n", "# Load the hdf file\n", - "hdf_file = h5py.File(data_file, \"r\")\n", + "hdf_file = h5py.File(data_file, 'r')\n", "keys = list(hdf_file.keys())\n", - "print(keys)\n", "hdf_file.close()\n", "\n", "# available flags - get the list of available event types\n", @@ -100,23 +106,13 @@ "# Create a dropdown widget for the event type\n", "evt_type_widget = widgets.Dropdown(options=event_types, description=\"Event Type:\")\n", "\n", - "\n", "# ------------------------------------------------------------------------------------------ parameter\n", "# Define a function to update the parameter dropdown based on the selected event type\n", "def update_params(*args):\n", " selected_evt_type = evt_type_widget.value\n", - " params = list(\n", - " set(\n", - " [\n", - " key.split(\"_\")[1]\n", - " for key in keys\n", - " if key.split(\"_\")[0] == selected_evt_type\n", - " ]\n", - " )\n", - " )\n", + " params = list(set([key.split(\"_\")[1] for key in keys if key.split(\"_\")[0] == selected_evt_type]))\n", " param_widget.options = params\n", "\n", - "\n", "# Call the update_params function when the event type is changed\n", "evt_type_widget.observe(update_params, \"value\")\n", "\n", @@ -158,7 +154,7 @@ "\n", "# ------------------------------------------------------------------------------------------ display widgets\n", "display(evt_type_widget)\n", - "display(param_widget)\n", + "display(param_widget) \n", "\n", "# ------------------------------------------------------------------------------------------ get params (based on event type)\n", "evt_type = evt_type_widget.value\n", @@ -166,17 +162,16 @@ "param_widget.options = params\n", "\n", "\n", + "\n", "aux_widget = widgets.Dropdown(description=\"Options:\")\n", - "print(\n", - " \"Pick the way you want to include PULS01ANA info\\n(this is not available for EventRate, CuspEmaxCtcCal \\nand AoECustom; in this case, select None):\"\n", - ")\n", - "display(aux_widget)\n", + "print(\"Pick the way you want to include PULS01ANA info\\n(this is not available for EventRate, CuspEmaxCtcCal \\nand AoECustom; in this case, select None):\")\n", + "display(aux_widget) \n", "\n", "aux_info = [\"pulser01anaRatio\", \"pulser01anaDiff\", \"None\"]\n", "aux_dict = {\n", " \"pulser01anaRatio\": f\"Ratio: {subsystem} / PULS01ANA\",\n", " \"pulser01anaDiff\": f\"Difference: {subsystem} - PULS01ANA\",\n", - " \"None\": f\"None (ie just plain {subsystem} data)\",\n", + " \"None\": f\"None (ie just plain {subsystem} data)\"\n", "}\n", "aux_info = [aux_dict[info] for info in aux_info]\n", "aux_widget.options = aux_info\n", @@ -192,8 +187,7 @@ "outputs": [], "source": [ "def to_None(string):\n", - " return None if string == \"None\" else string\n", - "\n", + " return None if string == 'None' else string\n", "\n", "# ------------------------------------------------------------------------------------------ get dataframe\n", "def display_param_value(*args):\n", @@ -203,73 +197,43 @@ " print(\n", " f\"You are going to plot '{selected_param}' for '{selected_evt_type}' events...\"\n", " )\n", - "\n", + " \n", " key = f\"{selected_evt_type}_{selected_param}\"\n", " print(key)\n", " print(selected_aux_info)\n", " # some info\n", - " df_info = pd.read_hdf(data_file, f\"{key}_info\")\n", - "\n", + " df_info = pd.read_hdf(data_file, f'{key}_info')\n", + " \n", " if \"None\" not in selected_aux_info:\n", " print(f\"... plus you are going to apply the option {selected_aux_info}\")\n", - "\n", + " \n", " # Iterate over the dictionary items\n", " for k, v in aux_dict.items():\n", " if v == selected_aux_info:\n", " option = k\n", " break\n", " key += f\"_{option}\"\n", - "\n", + " \n", " # get dataframe\n", - " df_param_orig = pd.read_hdf(data_file, f\"{key}\")\n", - " df_param_var = pd.read_hdf(data_file, f\"{key}_var\")\n", - " df_param_mean = pd.read_hdf(data_file, f\"{key}_mean\")\n", + " df_param_orig = pd.read_hdf(data_file, f'{key}')\n", + " df_param_var = pd.read_hdf(data_file, f'{key}_var')\n", + " df_param_mean = pd.read_hdf(data_file, f'{key}_mean')\n", "\n", " return df_param_orig, df_param_var, df_param_mean, df_info\n", "\n", - "\n", "df_param_orig, df_param_var, df_param_mean, df_info = display_param_value()\n", - "print(f\"...data have beeng loaded!\")" - ] - }, - { - "cell_type": "markdown", - "id": "f1c10c0f-9bed-400f-8174-c6d7e185648b", - "metadata": {}, - "source": [ - "# Plot data (select style and string)\n", - "For the selected parameter, choose the plot style (you can play with different data formats, plot structures, ... among the available ones).\n", + "print(f\"...data have beeng loaded!\")\n", "\n", - "### Notes\n", - "1. I recommend using just **\"absolute values\" when plotting 'bl_std'** to see how noisy is each detector.\n", - "2. When you select **plot_style='histogram', you'll always plot NOT resampled values** (ie values for each timestamp entry). Indeed, if you choose different resampled options while keeping plot_style='histogram', nothing will change in plots.\n", - "4. **resampled='no'** means you look at each timestamp entry\n", - "5. **resampled='only'** means you look at each timestamp entry mediated over 1H time window ('1H' might change - in case, you can see what value was used for the resampling by printing ```print(plot_info['time_window'])``` (T=minutes, H=hours, D=days)\n", - "6. **resampled='also'** means you look at each timestamp entry mediated over 1H time window AND at each timestamp entry TOGETHER -> suggestion: use 'also' just when you choose plot_structures='per channel'; if you have selected 'per string', then you're not going to understand anything" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4f202e27-21be-4ea3-a818-3f0b459ca087", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "pivot_table = df_param_orig.copy()\n", + "\n", + "pivot_table = df_param_orig.copy() \n", "pivot_table.reset_index(inplace=True)\n", - "new_df = pd.melt(\n", - " pivot_table, id_vars=[\"datetime\"], var_name=\"channel\", value_name=\"value\"\n", - ")\n", - "new_df_param_orig = new_df.copy().merge(channel_map, on=\"channel\")\n", + "new_df = pd.melt(pivot_table, id_vars=['datetime'], var_name='channel', value_name='value')\n", + "new_df_param_orig = new_df.copy().merge(channel_map, on='channel')\n", "\n", - "pivot_table_var = df_param_var.copy()\n", + "pivot_table_var = df_param_var.copy() \n", "pivot_table_var.reset_index(inplace=True)\n", - "new_df_var = pd.melt(\n", - " pivot_table_var, id_vars=[\"datetime\"], var_name=\"channel\", value_name=\"value\"\n", - ")\n", - "new_df_param_var = new_df_var.copy().merge(channel_map, on=\"channel\")\n", + "new_df_var = pd.melt(pivot_table_var, id_vars=['datetime'], var_name='channel', value_name='value')\n", + "new_df_param_var = new_df_var.copy().merge(channel_map, on='channel')\n", "\n", "\n", "def convert_to_original_format(camel_case_string: str) -> str:\n", @@ -283,21 +247,25 @@ "\n", " return original_string\n", "\n", + "new_df_param_orig = (new_df_param_orig.copy()).rename(columns={\"value\": convert_to_original_format(param_widget.value) if param_widget.value != \"BlMean\" else param_widget.value})\n", + "new_df_param_var = (new_df_param_var.copy()).rename(columns={\"value\": convert_to_original_format(param_widget.value) + \"_var\" if param_widget.value != \"BlMean\" else param_widget.value + \"_var\"})\n", "\n", - "new_df_param_orig = (new_df_param_orig.copy()).rename(\n", - " columns={\n", - " \"value\": convert_to_original_format(param_widget.value)\n", - " if param_widget.value != \"BlMean\"\n", - " else param_widget.value\n", - " }\n", - ")\n", - "new_df_param_var = (new_df_param_var.copy()).rename(\n", - " columns={\n", - " \"value\": convert_to_original_format(param_widget.value) + \"_var\"\n", - " if param_widget.value != \"BlMean\"\n", - " else param_widget.value + \"_var\"\n", - " }\n", - ")" + "print(\"...data have been formatted to the right structure!\")" + ] + }, + { + "cell_type": "markdown", + "id": "f1c10c0f-9bed-400f-8174-c6d7e185648b", + "metadata": {}, + "source": [ + "# Plot data\n", + "For the selected parameter, choose the plot style (you can play with different data formats, plot structures, ... among the available ones).\n", + "\n", + "### Notes\n", + "1. When you select **plot_style='histogram', you'll always plot NOT resampled values** (ie values for each timestamp entry). Indeed, if you choose different resampled options while keeping plot_style='histogram', nothing will change in plots.\n", + "2. **resampled='no'** means you look at each timestamp entry\n", + "3. **resampled='only'** means you look at each timestamp entry mediated over 1H time window (use the button to resampled according to your needs; available options: 1min, 5min, 10min, 30min, 60min)\n", + "4. **resampled='also'** means you look at each timestamp entry mediated over 1H time window AND at each timestamp entry TOGETHER -> suggestion: use 'also' just when you choose plot_structures='per channel'; if you have selected 'per string', then you're not going to understand anything" ] }, { @@ -308,62 +276,42 @@ "outputs": [], "source": [ "# Define the time interval options\n", - "time_intervals = [\"1min\", \"5min\", \"10min\", \"30min\", \"60min\"]\n", + "time_intervals = ['1min', '5min', '10min', '30min', '60min']\n", "\n", "# Create RadioButtons with circular style\n", - "radio_buttons = widgets.RadioButtons(\n", - " options=time_intervals,\n", - " button_style=\"circle\",\n", - " description=\"\\t\",\n", - " layout={\"width\": \"max-content\"},\n", - ")\n", + "radio_buttons = widgets.RadioButtons(options=time_intervals, button_style='circle', description='\\t', layout={'width': 'max-content'})\n", "\n", "# Create a label widget to display the selected time interval\n", "selected_interval_label = widgets.Label()\n", "\n", - "\n", "# Define a callback function for button selection\n", "def on_button_selected(change):\n", " selected_interval_label.value = change.new\n", "\n", - "\n", "# Assign the callback function to the RadioButtons\n", - "radio_buttons.observe(on_button_selected, names=\"value\")\n", + "radio_buttons.observe(on_button_selected, names='value')\n", "\n", "# Create a horizontal box to contain the RadioButtons and label\n", - "box_layout = widgets.Layout(display=\"flex\", flex_flow=\"row\", align_items=\"center\")\n", - "container_resampling = widgets.HBox(\n", - " [radio_buttons, selected_interval_label], layout=box_layout\n", - ")\n", + "box_layout = widgets.Layout(display='flex', flex_flow='row', align_items='center')\n", + "container_resampling = widgets.HBox([radio_buttons, selected_interval_label], layout=box_layout)\n", "\n", "# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n", "# Define the time interval options\n", - "answer = [\"no\", \"yes\"]\n", + "answer = ['no', 'yes']\n", "\n", "# Create RadioButtons with circular style\n", - "limits_buttons = widgets.RadioButtons(\n", - " options=answer,\n", - " button_style=\"circle\",\n", - " description=\"\\t\",\n", - " layout={\"width\": \"max-content\"},\n", - ")\n", + "limits_buttons = widgets.RadioButtons(options=answer, button_style='circle', description='\\t', layout={'width': 'max-content'})\n", "\n", "# Assign the callback function to the RadioButtons\n", - "limits_buttons.observe(on_button_selected, names=\"value\")\n", + "limits_buttons.observe(on_button_selected, names='value')\n", "\n", "# Create a horizontal box to contain the RadioButtons and label\n", - "container_limits = widgets.HBox(\n", - " [limits_buttons, selected_interval_label], layout=box_layout\n", - ")\n", + "container_limits = widgets.HBox([limits_buttons, selected_interval_label], layout=box_layout)\n", "\n", "# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n", "# Create text input boxes for min and max values\n", - "min_input = widgets.IntText(\n", - " description=\"Min y-axis:\", layout=widgets.Layout(width=\"150px\")\n", - ")\n", - "max_input = widgets.IntText(\n", - " description=\"Max y-axis:\", layout=widgets.Layout(width=\"150px\")\n", - ")" + "min_input = widgets.IntText(description=\"Min y-axis:\", layout=widgets.Layout(width=\"150px\"))\n", + "max_input = widgets.IntText(description=\"Max y-axis:\", layout=widgets.Layout(width=\"150px\"))" ] }, { @@ -401,24 +349,12 @@ "source": [ "# set plotting options\n", "plot_info = {\n", - " \"unit\": df_info.loc[\"unit\", \"Value\"],\n", - " \"label\": df_info.loc[\"label\", \"Value\"],\n", - " \"lower_lim_var\": float(df_info.loc[\"lower_lim_var\", \"Value\"])\n", - " if limits_buttons.value == \"yes\"\n", - " and to_None(df_info.loc[\"lower_lim_var\", \"Value\"]) is not None\n", - " else None,\n", - " \"upper_lim_var\": float(df_info.loc[\"upper_lim_var\", \"Value\"])\n", - " if limits_buttons.value == \"yes\"\n", - " and to_None(df_info.loc[\"upper_lim_var\", \"Value\"]) is not None\n", - " else None,\n", - " \"lower_lim_abs\": float(df_info.loc[\"lower_lim_abs\", \"Value\"])\n", - " if limits_buttons.value == \"yes\"\n", - " and to_None(df_info.loc[\"lower_lim_abs\", \"Value\"]) is not None\n", - " else None,\n", - " \"upper_lim_abs\": float(df_info.loc[\"upper_lim_abs\", \"Value\"])\n", - " if limits_buttons.value == \"yes\"\n", - " and to_None(df_info.loc[\"upper_lim_abs\", \"Value\"]) is not None\n", - " else None,\n", + " \"unit\": df_info.loc['unit', 'Value'],\n", + " \"label\": df_info.loc['label', 'Value'],\n", + " \"lower_lim_var\": float(df_info.loc['lower_lim_var', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['lower_lim_var', 'Value']) is not None else None,\n", + " \"upper_lim_var\": float(df_info.loc['upper_lim_var', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['upper_lim_var', 'Value']) is not None else None,\n", + " \"lower_lim_abs\": float(df_info.loc['lower_lim_abs', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['lower_lim_abs', 'Value']) is not None else None,\n", + " \"upper_lim_abs\": float(df_info.loc['upper_lim_abs', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['upper_lim_abs', 'Value']) is not None else None,\n", " \"plot_style\": plot_styles_widget.value,\n", " \"plot_structure\": plot_structures_widget.value,\n", " \"resampled\": resampled_widget.value,\n", @@ -429,19 +365,15 @@ " \"geds\": \"string\",\n", " \"spms\": \"fiber\",\n", " \"pulser\": \"puls\",\n", - " \"pulser01ana\": \"pulser01ana\",\n", + " \"pulser01ana\": \"pulser01ana\", \n", " \"FCbsln\": \"FC bsln\",\n", " \"muon\": \"muon\",\n", " }[subsystem],\n", - " \"range\": [min_input.value, max_input.value]\n", - " if min_input.value < max_input.value\n", - " else [None, None],\n", + " \"range\": [min_input.value, max_input.value] if min_input.value < max_input.value else [None, None],\n", " \"event_type\": None,\n", - " \"unit_label\": \"%\"\n", - " if data_format_widget.value == \"% values\"\n", - " else df_info.loc[\"unit\", \"Value\"],\n", + " \"unit_label\": \"%\" if data_format_widget.value == \"% values\" else df_info.loc['unit', 'Value'],\n", " \"parameters\": \"\",\n", - " \"time_window\": radio_buttons.value.split(\"min\")[0] + \"T\",\n", + " \"time_window\": radio_buttons.value.split(\"min\")[0]+\"T\", \n", "}\n", "\n", "\n", @@ -451,19 +383,11 @@ "\n", "if data_format_widget.value == \"absolute values\":\n", " plot_info[\"limits\"] = [plot_info[\"lower_lim_abs\"], plot_info[\"upper_lim_abs\"]]\n", - " plot_info[\"parameter\"] = (\n", - " convert_to_original_format(param_widget.value)\n", - " if param_widget.value != \"BlMean\"\n", - " else param_widget.value\n", - " )\n", + " plot_info[\"parameter\"] = convert_to_original_format(param_widget.value) if param_widget.value != \"BlMean\" else param_widget.value\n", " df_to_plot = new_df_param_orig.copy()\n", "if data_format_widget.value == \"% values\":\n", " plot_info[\"limits\"] = [plot_info[\"lower_lim_var\"], plot_info[\"upper_lim_var\"]]\n", - " plot_info[\"parameter\"] = (\n", - " convert_to_original_format(param_widget.value) + \"_var\"\n", - " if param_widget.value != \"BlMean\"\n", - " else param_widget.value + \"_var\"\n", - " )\n", + " plot_info[\"parameter\"] = convert_to_original_format(param_widget.value) + \"_var\" if param_widget.value != \"BlMean\" else param_widget.value + \"_var\"\n", " df_to_plot = new_df_param_var.copy()\n", "\n", "print(f\"Making plots now...\")\n", @@ -497,7 +421,7 @@ }, "source": [ "# Plot means vs channels\n", - "Here you can monitor how the **mean value (evaluated over the first 10% of data)** behaves separately for different channels, grouped by string. These mean values are the ones **used to compute percentage variations**. The average value displayed in the legend on the right of the plot generated below shows the average of mean values for a given string." + "Here you can monitor the **mean** ('x' green marker) and **median** (horizontal green line) behaves separately for different channels, grouped by string. The box shows the IQR (interquartile range), ie the distance between the upper and lower quartiles, q(0.75)-q(0.25). Vertical lines end up to the min and max value of a given parameter's distribution for each channel." ] }, { @@ -524,28 +448,22 @@ " y_label += f\" [{plot_info['unit']}]\"\n", " else:\n", " y_label += f\" [{plot_info['unit']}]\"\n", - "\n", + " \n", "\n", "strings = [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]\n", "\n", "# Create RadioButtons with circular style\n", - "strings_buttons = widgets.RadioButtons(\n", - " options=strings,\n", - " button_style=\"circle\",\n", - " description=\"\\t\",\n", - " layout={\"width\": \"max-content\"},\n", - ")\n", + "strings_buttons = widgets.RadioButtons(options=strings, button_style='circle', description='\\t', layout={'width': 'max-content'})\n", "\n", "# Assign the callback function to the RadioButtons\n", - "strings_buttons.observe(on_button_selected, names=\"value\")\n", + "strings_buttons.observe(on_button_selected, names='value')\n", "\n", "# Create a horizontal box to contain the RadioButtons and label\n", - "container_strings = widgets.HBox(\n", - " [strings_buttons, selected_interval_label], layout=box_layout\n", - ")\n", + "container_strings = widgets.HBox([strings_buttons, selected_interval_label], layout=box_layout)\n", "\n", "print(\"Selected the individual string for which you want to perform a zoom\")\n", - "display(container_strings)" + "display(container_strings)\n", + "print(\"\\033[91mIf you change me, then RUN AGAIN the next cell!!!\\033[0m\")" ] }, { @@ -555,40 +473,43 @@ "metadata": {}, "outputs": [], "source": [ - "plt.rcParams[\"figure.figsize\"] = (14, 6)\n", - "\n", - "df_to_plot.boxplot(\n", - " column=plot_info[\"parameter\"],\n", - " whis=[0, 100],\n", - " by=[\"location\", \"position\"],\n", - " rot=90,\n", - " showfliers=False,\n", - " showmeans=True,\n", - " meanprops=dict(marker=\"x\", color=\"red\", markersize=1),\n", - ")\n", + "plt.rcParams[\"figure.figsize\"] = (14,6)\n", + "\n", + "\n", + "df_to_plot.boxplot(column = plot_info[\"parameter\"], whis=[0,100], by = [\"location\",\"position\"], rot=90, showfliers= False, showmeans=True, meanprops=dict(marker='x', color='red', markersize=1))\n", "plt.title(f\"{plot_info['parameter']} for all strings\")\n", "plt.ylabel(y_label)\n", "plt.xlabel(\"(string, position)\")\n", "\n", - "# legend_labels = [f\"Mean: {mean:.2f}, Std: {std:.2f}\" for mean, std in zip(means, stds)]\n", - "# plt.legend(handles=boxplot[\"boxes\"], labels=legend_labels)\n", + "#legend_labels = [f\"Mean: {mean:.2f}, Std: {std:.2f}\" for mean, std in zip(means, stds)]\n", + "#\n", "\n", - "\n", - "df_to_plot[df_to_plot.location == strings_buttons.value].boxplot(\n", - " column=plot_info[\"parameter\"],\n", - " whis=[0, 100],\n", - " by=[\"location\", \"position\"],\n", - " showfliers=False,\n", - " showmeans=True,\n", - " meanprops=dict(marker=\"x\", color=\"red\", markersize=8),\n", - ")\n", + "df_to_plot[df_to_plot.location == strings_buttons.value].boxplot(column = plot_info[\"parameter\"], whis=[0,100], by = [\"location\",\"position\"], showfliers= False, showmeans=True, meanprops=dict(marker='x', color='red', markersize=8))\n", "plt.title(f\"{plot_info['parameter']} - String {strings_buttons.value}\")\n", "plt.ylabel(y_label)\n", "plt.xlabel(\"(string, position)\")" ] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, "nbformat": 4, "nbformat_minor": 5 } diff --git a/src/legend_data_monitor/config/p03_r000_L200_hdf_example.json b/src/legend_data_monitor/config/p03_r000_L200_hdf_example.json new file mode 100644 index 0000000..408fc3d --- /dev/null +++ b/src/legend_data_monitor/config/p03_r000_L200_hdf_example.json @@ -0,0 +1,72 @@ +{ + "output": "/data1/users/calgaro/auto_prova", + "dataset": { + "experiment": "L200", + "period": "p03", + "version": "", + "path": "/data2/public/prodenv/prod-blind/tmp/auto", + "type": "phy", + "runs": 0 + }, + "saving": "overwrite", + "subsystems": { + "geds": { + "Event rate in pulser events": { + "parameters": "event_rate", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "time_window": "20S" + }, + "Baselines (dsp/baseline) in pulser events": { + "parameters": "baseline", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": true, + "variation": true, + "time_window": "10T" + }, + "Uncalibrated gain (dsp/cuspEmax) in pulser events": { + "parameters": "cuspEmax", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": true, + "variation": true, + "time_window": "10T" + }, + "Calibrated gain (hit/cuspEmax_ctc_cal) in FCbsln events": { + "parameters": "cuspEmax_ctc_cal", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": true, + "time_window": "10T" + }, + "Noise (dsp/bl_std) in pulser events": { + "parameters": "bl_std", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": true, + "variation": true, + "time_window": "10T" + }, + "A/E (from dsp) in pulser events": { + "parameters": "AoE_Custom", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": true, + "time_window": "10T" + } + } + } +} From 38974d6ae147086d246f62f710fc534dfb4365aa Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 26 Jun 2023 09:10:45 +0000 Subject: [PATCH 113/166] style: pre-commit fixes --- notebook/L200-plotting-hdf-widgets.ipynb | 240 +++++++++++++++-------- 1 file changed, 163 insertions(+), 77 deletions(-) diff --git a/notebook/L200-plotting-hdf-widgets.ipynb b/notebook/L200-plotting-hdf-widgets.ipynb index 9dae4bb..1d43813 100644 --- a/notebook/L200-plotting-hdf-widgets.ipynb +++ b/notebook/L200-plotting-hdf-widgets.ipynb @@ -75,19 +75,27 @@ "\n", "# ------------------------------------------------------------------------------------------ building channel map\n", "dataset = {\n", - " \"experiment\": \"L200\", \n", + " \"experiment\": \"L200\",\n", " \"period\": period,\n", " \"type\": \"phy\",\n", " \"version\": version,\n", " \"path\": \"/data2/public/prodenv/prod-blind/tmp/auto\",\n", - " \"runs\": int(run[1:])\n", + " \"runs\": int(run[1:]),\n", "}\n", "\n", "geds = ldm.Subsystem(\"geds\", dataset=dataset)\n", "channel_map = geds.channel_map\n", "\n", "# remove probl dets\n", - "to_be_excluded = [\"V01406A\", \"V01415A\", \"V01387A\", \"P00665C\", \"P00748B\", \"P00748A\", \"B00089D\"]\n", + "to_be_excluded = [\n", + " \"V01406A\",\n", + " \"V01415A\",\n", + " \"V01387A\",\n", + " \"P00665C\",\n", + " \"P00748B\",\n", + " \"P00748A\",\n", + " \"B00089D\",\n", + "]\n", "for det in to_be_excluded:\n", " channel_map = channel_map[channel_map.name != det]\n", "# remove OFF dets\n", @@ -96,7 +104,7 @@ "\n", "# ------------------------------------------------------------------------------------------ load data\n", "# Load the hdf file\n", - "hdf_file = h5py.File(data_file, 'r')\n", + "hdf_file = h5py.File(data_file, \"r\")\n", "keys = list(hdf_file.keys())\n", "hdf_file.close()\n", "\n", @@ -106,13 +114,23 @@ "# Create a dropdown widget for the event type\n", "evt_type_widget = widgets.Dropdown(options=event_types, description=\"Event Type:\")\n", "\n", + "\n", "# ------------------------------------------------------------------------------------------ parameter\n", "# Define a function to update the parameter dropdown based on the selected event type\n", "def update_params(*args):\n", " selected_evt_type = evt_type_widget.value\n", - " params = list(set([key.split(\"_\")[1] for key in keys if key.split(\"_\")[0] == selected_evt_type]))\n", + " params = list(\n", + " set(\n", + " [\n", + " key.split(\"_\")[1]\n", + " for key in keys\n", + " if key.split(\"_\")[0] == selected_evt_type\n", + " ]\n", + " )\n", + " )\n", " param_widget.options = params\n", "\n", + "\n", "# Call the update_params function when the event type is changed\n", "evt_type_widget.observe(update_params, \"value\")\n", "\n", @@ -154,7 +172,7 @@ "\n", "# ------------------------------------------------------------------------------------------ display widgets\n", "display(evt_type_widget)\n", - "display(param_widget) \n", + "display(param_widget)\n", "\n", "# ------------------------------------------------------------------------------------------ get params (based on event type)\n", "evt_type = evt_type_widget.value\n", @@ -162,16 +180,17 @@ "param_widget.options = params\n", "\n", "\n", - "\n", "aux_widget = widgets.Dropdown(description=\"Options:\")\n", - "print(\"Pick the way you want to include PULS01ANA info\\n(this is not available for EventRate, CuspEmaxCtcCal \\nand AoECustom; in this case, select None):\")\n", - "display(aux_widget) \n", + "print(\n", + " \"Pick the way you want to include PULS01ANA info\\n(this is not available for EventRate, CuspEmaxCtcCal \\nand AoECustom; in this case, select None):\"\n", + ")\n", + "display(aux_widget)\n", "\n", "aux_info = [\"pulser01anaRatio\", \"pulser01anaDiff\", \"None\"]\n", "aux_dict = {\n", " \"pulser01anaRatio\": f\"Ratio: {subsystem} / PULS01ANA\",\n", " \"pulser01anaDiff\": f\"Difference: {subsystem} - PULS01ANA\",\n", - " \"None\": f\"None (ie just plain {subsystem} data)\"\n", + " \"None\": f\"None (ie just plain {subsystem} data)\",\n", "}\n", "aux_info = [aux_dict[info] for info in aux_info]\n", "aux_widget.options = aux_info\n", @@ -187,7 +206,8 @@ "outputs": [], "source": [ "def to_None(string):\n", - " return None if string == 'None' else string\n", + " return None if string == \"None\" else string\n", + "\n", "\n", "# ------------------------------------------------------------------------------------------ get dataframe\n", "def display_param_value(*args):\n", @@ -197,43 +217,48 @@ " print(\n", " f\"You are going to plot '{selected_param}' for '{selected_evt_type}' events...\"\n", " )\n", - " \n", + "\n", " key = f\"{selected_evt_type}_{selected_param}\"\n", " print(key)\n", " print(selected_aux_info)\n", " # some info\n", - " df_info = pd.read_hdf(data_file, f'{key}_info')\n", - " \n", + " df_info = pd.read_hdf(data_file, f\"{key}_info\")\n", + "\n", " if \"None\" not in selected_aux_info:\n", " print(f\"... plus you are going to apply the option {selected_aux_info}\")\n", - " \n", + "\n", " # Iterate over the dictionary items\n", " for k, v in aux_dict.items():\n", " if v == selected_aux_info:\n", " option = k\n", " break\n", " key += f\"_{option}\"\n", - " \n", + "\n", " # get dataframe\n", - " df_param_orig = pd.read_hdf(data_file, f'{key}')\n", - " df_param_var = pd.read_hdf(data_file, f'{key}_var')\n", - " df_param_mean = pd.read_hdf(data_file, f'{key}_mean')\n", + " df_param_orig = pd.read_hdf(data_file, f\"{key}\")\n", + " df_param_var = pd.read_hdf(data_file, f\"{key}_var\")\n", + " df_param_mean = pd.read_hdf(data_file, f\"{key}_mean\")\n", "\n", " return df_param_orig, df_param_var, df_param_mean, df_info\n", "\n", + "\n", "df_param_orig, df_param_var, df_param_mean, df_info = display_param_value()\n", "print(f\"...data have beeng loaded!\")\n", "\n", "\n", - "pivot_table = df_param_orig.copy() \n", + "pivot_table = df_param_orig.copy()\n", "pivot_table.reset_index(inplace=True)\n", - "new_df = pd.melt(pivot_table, id_vars=['datetime'], var_name='channel', value_name='value')\n", - "new_df_param_orig = new_df.copy().merge(channel_map, on='channel')\n", + "new_df = pd.melt(\n", + " pivot_table, id_vars=[\"datetime\"], var_name=\"channel\", value_name=\"value\"\n", + ")\n", + "new_df_param_orig = new_df.copy().merge(channel_map, on=\"channel\")\n", "\n", - "pivot_table_var = df_param_var.copy() \n", + "pivot_table_var = df_param_var.copy()\n", "pivot_table_var.reset_index(inplace=True)\n", - "new_df_var = pd.melt(pivot_table_var, id_vars=['datetime'], var_name='channel', value_name='value')\n", - "new_df_param_var = new_df_var.copy().merge(channel_map, on='channel')\n", + "new_df_var = pd.melt(\n", + " pivot_table_var, id_vars=[\"datetime\"], var_name=\"channel\", value_name=\"value\"\n", + ")\n", + "new_df_param_var = new_df_var.copy().merge(channel_map, on=\"channel\")\n", "\n", "\n", "def convert_to_original_format(camel_case_string: str) -> str:\n", @@ -247,8 +272,21 @@ "\n", " return original_string\n", "\n", - "new_df_param_orig = (new_df_param_orig.copy()).rename(columns={\"value\": convert_to_original_format(param_widget.value) if param_widget.value != \"BlMean\" else param_widget.value})\n", - "new_df_param_var = (new_df_param_var.copy()).rename(columns={\"value\": convert_to_original_format(param_widget.value) + \"_var\" if param_widget.value != \"BlMean\" else param_widget.value + \"_var\"})\n", + "\n", + "new_df_param_orig = (new_df_param_orig.copy()).rename(\n", + " columns={\n", + " \"value\": convert_to_original_format(param_widget.value)\n", + " if param_widget.value != \"BlMean\"\n", + " else param_widget.value\n", + " }\n", + ")\n", + "new_df_param_var = (new_df_param_var.copy()).rename(\n", + " columns={\n", + " \"value\": convert_to_original_format(param_widget.value) + \"_var\"\n", + " if param_widget.value != \"BlMean\"\n", + " else param_widget.value + \"_var\"\n", + " }\n", + ")\n", "\n", "print(\"...data have been formatted to the right structure!\")" ] @@ -276,42 +314,62 @@ "outputs": [], "source": [ "# Define the time interval options\n", - "time_intervals = ['1min', '5min', '10min', '30min', '60min']\n", + "time_intervals = [\"1min\", \"5min\", \"10min\", \"30min\", \"60min\"]\n", "\n", "# Create RadioButtons with circular style\n", - "radio_buttons = widgets.RadioButtons(options=time_intervals, button_style='circle', description='\\t', layout={'width': 'max-content'})\n", + "radio_buttons = widgets.RadioButtons(\n", + " options=time_intervals,\n", + " button_style=\"circle\",\n", + " description=\"\\t\",\n", + " layout={\"width\": \"max-content\"},\n", + ")\n", "\n", "# Create a label widget to display the selected time interval\n", "selected_interval_label = widgets.Label()\n", "\n", + "\n", "# Define a callback function for button selection\n", "def on_button_selected(change):\n", " selected_interval_label.value = change.new\n", "\n", + "\n", "# Assign the callback function to the RadioButtons\n", - "radio_buttons.observe(on_button_selected, names='value')\n", + "radio_buttons.observe(on_button_selected, names=\"value\")\n", "\n", "# Create a horizontal box to contain the RadioButtons and label\n", - "box_layout = widgets.Layout(display='flex', flex_flow='row', align_items='center')\n", - "container_resampling = widgets.HBox([radio_buttons, selected_interval_label], layout=box_layout)\n", + "box_layout = widgets.Layout(display=\"flex\", flex_flow=\"row\", align_items=\"center\")\n", + "container_resampling = widgets.HBox(\n", + " [radio_buttons, selected_interval_label], layout=box_layout\n", + ")\n", "\n", "# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n", "# Define the time interval options\n", - "answer = ['no', 'yes']\n", + "answer = [\"no\", \"yes\"]\n", "\n", "# Create RadioButtons with circular style\n", - "limits_buttons = widgets.RadioButtons(options=answer, button_style='circle', description='\\t', layout={'width': 'max-content'})\n", + "limits_buttons = widgets.RadioButtons(\n", + " options=answer,\n", + " button_style=\"circle\",\n", + " description=\"\\t\",\n", + " layout={\"width\": \"max-content\"},\n", + ")\n", "\n", "# Assign the callback function to the RadioButtons\n", - "limits_buttons.observe(on_button_selected, names='value')\n", + "limits_buttons.observe(on_button_selected, names=\"value\")\n", "\n", "# Create a horizontal box to contain the RadioButtons and label\n", - "container_limits = widgets.HBox([limits_buttons, selected_interval_label], layout=box_layout)\n", + "container_limits = widgets.HBox(\n", + " [limits_buttons, selected_interval_label], layout=box_layout\n", + ")\n", "\n", "# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n", "# Create text input boxes for min and max values\n", - "min_input = widgets.IntText(description=\"Min y-axis:\", layout=widgets.Layout(width=\"150px\"))\n", - "max_input = widgets.IntText(description=\"Max y-axis:\", layout=widgets.Layout(width=\"150px\"))" + "min_input = widgets.IntText(\n", + " description=\"Min y-axis:\", layout=widgets.Layout(width=\"150px\")\n", + ")\n", + "max_input = widgets.IntText(\n", + " description=\"Max y-axis:\", layout=widgets.Layout(width=\"150px\")\n", + ")" ] }, { @@ -349,12 +407,24 @@ "source": [ "# set plotting options\n", "plot_info = {\n", - " \"unit\": df_info.loc['unit', 'Value'],\n", - " \"label\": df_info.loc['label', 'Value'],\n", - " \"lower_lim_var\": float(df_info.loc['lower_lim_var', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['lower_lim_var', 'Value']) is not None else None,\n", - " \"upper_lim_var\": float(df_info.loc['upper_lim_var', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['upper_lim_var', 'Value']) is not None else None,\n", - " \"lower_lim_abs\": float(df_info.loc['lower_lim_abs', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['lower_lim_abs', 'Value']) is not None else None,\n", - " \"upper_lim_abs\": float(df_info.loc['upper_lim_abs', 'Value']) if limits_buttons.value == \"yes\" and to_None(df_info.loc['upper_lim_abs', 'Value']) is not None else None,\n", + " \"unit\": df_info.loc[\"unit\", \"Value\"],\n", + " \"label\": df_info.loc[\"label\", \"Value\"],\n", + " \"lower_lim_var\": float(df_info.loc[\"lower_lim_var\", \"Value\"])\n", + " if limits_buttons.value == \"yes\"\n", + " and to_None(df_info.loc[\"lower_lim_var\", \"Value\"]) is not None\n", + " else None,\n", + " \"upper_lim_var\": float(df_info.loc[\"upper_lim_var\", \"Value\"])\n", + " if limits_buttons.value == \"yes\"\n", + " and to_None(df_info.loc[\"upper_lim_var\", \"Value\"]) is not None\n", + " else None,\n", + " \"lower_lim_abs\": float(df_info.loc[\"lower_lim_abs\", \"Value\"])\n", + " if limits_buttons.value == \"yes\"\n", + " and to_None(df_info.loc[\"lower_lim_abs\", \"Value\"]) is not None\n", + " else None,\n", + " \"upper_lim_abs\": float(df_info.loc[\"upper_lim_abs\", \"Value\"])\n", + " if limits_buttons.value == \"yes\"\n", + " and to_None(df_info.loc[\"upper_lim_abs\", \"Value\"]) is not None\n", + " else None,\n", " \"plot_style\": plot_styles_widget.value,\n", " \"plot_structure\": plot_structures_widget.value,\n", " \"resampled\": resampled_widget.value,\n", @@ -365,15 +435,19 @@ " \"geds\": \"string\",\n", " \"spms\": \"fiber\",\n", " \"pulser\": \"puls\",\n", - " \"pulser01ana\": \"pulser01ana\", \n", + " \"pulser01ana\": \"pulser01ana\",\n", " \"FCbsln\": \"FC bsln\",\n", " \"muon\": \"muon\",\n", " }[subsystem],\n", - " \"range\": [min_input.value, max_input.value] if min_input.value < max_input.value else [None, None],\n", + " \"range\": [min_input.value, max_input.value]\n", + " if min_input.value < max_input.value\n", + " else [None, None],\n", " \"event_type\": None,\n", - " \"unit_label\": \"%\" if data_format_widget.value == \"% values\" else df_info.loc['unit', 'Value'],\n", + " \"unit_label\": \"%\"\n", + " if data_format_widget.value == \"% values\"\n", + " else df_info.loc[\"unit\", \"Value\"],\n", " \"parameters\": \"\",\n", - " \"time_window\": radio_buttons.value.split(\"min\")[0]+\"T\", \n", + " \"time_window\": radio_buttons.value.split(\"min\")[0] + \"T\",\n", "}\n", "\n", "\n", @@ -383,11 +457,19 @@ "\n", "if data_format_widget.value == \"absolute values\":\n", " plot_info[\"limits\"] = [plot_info[\"lower_lim_abs\"], plot_info[\"upper_lim_abs\"]]\n", - " plot_info[\"parameter\"] = convert_to_original_format(param_widget.value) if param_widget.value != \"BlMean\" else param_widget.value\n", + " plot_info[\"parameter\"] = (\n", + " convert_to_original_format(param_widget.value)\n", + " if param_widget.value != \"BlMean\"\n", + " else param_widget.value\n", + " )\n", " df_to_plot = new_df_param_orig.copy()\n", "if data_format_widget.value == \"% values\":\n", " plot_info[\"limits\"] = [plot_info[\"lower_lim_var\"], plot_info[\"upper_lim_var\"]]\n", - " plot_info[\"parameter\"] = convert_to_original_format(param_widget.value) + \"_var\" if param_widget.value != \"BlMean\" else param_widget.value + \"_var\"\n", + " plot_info[\"parameter\"] = (\n", + " convert_to_original_format(param_widget.value) + \"_var\"\n", + " if param_widget.value != \"BlMean\"\n", + " else param_widget.value + \"_var\"\n", + " )\n", " df_to_plot = new_df_param_var.copy()\n", "\n", "print(f\"Making plots now...\")\n", @@ -448,18 +530,25 @@ " y_label += f\" [{plot_info['unit']}]\"\n", " else:\n", " y_label += f\" [{plot_info['unit']}]\"\n", - " \n", + "\n", "\n", "strings = [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]\n", "\n", "# Create RadioButtons with circular style\n", - "strings_buttons = widgets.RadioButtons(options=strings, button_style='circle', description='\\t', layout={'width': 'max-content'})\n", + "strings_buttons = widgets.RadioButtons(\n", + " options=strings,\n", + " button_style=\"circle\",\n", + " description=\"\\t\",\n", + " layout={\"width\": \"max-content\"},\n", + ")\n", "\n", "# Assign the callback function to the RadioButtons\n", - "strings_buttons.observe(on_button_selected, names='value')\n", + "strings_buttons.observe(on_button_selected, names=\"value\")\n", "\n", "# Create a horizontal box to contain the RadioButtons and label\n", - "container_strings = widgets.HBox([strings_buttons, selected_interval_label], layout=box_layout)\n", + "container_strings = widgets.HBox(\n", + " [strings_buttons, selected_interval_label], layout=box_layout\n", + ")\n", "\n", "print(\"Selected the individual string for which you want to perform a zoom\")\n", "display(container_strings)\n", @@ -473,43 +562,40 @@ "metadata": {}, "outputs": [], "source": [ - "plt.rcParams[\"figure.figsize\"] = (14,6)\n", + "plt.rcParams[\"figure.figsize\"] = (14, 6)\n", "\n", "\n", - "df_to_plot.boxplot(column = plot_info[\"parameter\"], whis=[0,100], by = [\"location\",\"position\"], rot=90, showfliers= False, showmeans=True, meanprops=dict(marker='x', color='red', markersize=1))\n", + "df_to_plot.boxplot(\n", + " column=plot_info[\"parameter\"],\n", + " whis=[0, 100],\n", + " by=[\"location\", \"position\"],\n", + " rot=90,\n", + " showfliers=False,\n", + " showmeans=True,\n", + " meanprops=dict(marker=\"x\", color=\"red\", markersize=1),\n", + ")\n", "plt.title(f\"{plot_info['parameter']} for all strings\")\n", "plt.ylabel(y_label)\n", "plt.xlabel(\"(string, position)\")\n", "\n", - "#legend_labels = [f\"Mean: {mean:.2f}, Std: {std:.2f}\" for mean, std in zip(means, stds)]\n", + "# legend_labels = [f\"Mean: {mean:.2f}, Std: {std:.2f}\" for mean, std in zip(means, stds)]\n", "#\n", "\n", - "df_to_plot[df_to_plot.location == strings_buttons.value].boxplot(column = plot_info[\"parameter\"], whis=[0,100], by = [\"location\",\"position\"], showfliers= False, showmeans=True, meanprops=dict(marker='x', color='red', markersize=8))\n", + "df_to_plot[df_to_plot.location == strings_buttons.value].boxplot(\n", + " column=plot_info[\"parameter\"],\n", + " whis=[0, 100],\n", + " by=[\"location\", \"position\"],\n", + " showfliers=False,\n", + " showmeans=True,\n", + " meanprops=dict(marker=\"x\", color=\"red\", markersize=8),\n", + ")\n", "plt.title(f\"{plot_info['parameter']} - String {strings_buttons.value}\")\n", "plt.ylabel(y_label)\n", "plt.xlabel(\"(string, position)\")" ] } ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.7" - } - }, + "metadata": {}, "nbformat": 4, "nbformat_minor": 5 } From a61e898792c92b5199b2ac2c1ef782f552d23b8a Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Mon, 26 Jun 2023 05:17:39 -0700 Subject: [PATCH 114/166] added warnings for QCs --- src/legend_data_monitor/analysis_data.py | 35 +++++++++++++++--------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 9a0fdc6..fe926e8 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -159,7 +159,10 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): # the parameter does not exist else: utils.logger.error( - "\033[91m'%s' either does not exist in 'par-settings.json' or you misspelled the parameter's name. TRY AGAIN.\033[0m", + "\033[91m'%s' either does not exist in 'par-settings.json' or you misspelled the parameter's name. " + + "Another possibility is that the parameter does not exists in .lh5 processed files, so if the problem " + + "persists check if in the production environment you are looking at the parameter is included. "+ + "Check also that you are not trying to plot a flag (ie a quality cut), which is not a parameter by definition.\033[0m", param, ) sys.exit() @@ -183,8 +186,10 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): if bad: return - # apply cuts, if any - self.apply_all_cuts() + # apply cuts, if any - but we pass the hit config file that we need to check for the flag's existence + hit_config_first_key = list(LegendMetadata().dataprod.config.tier_hit.keys())[0] + hit_config = LegendMetadata().dataprod.config.tier_hit[hit_config_first_key] + self.apply_all_cuts(hit_config) # calculate if special parameter self.special_parameter() @@ -226,25 +231,29 @@ def select_events(self): utils.logger.error("\033[91m%s\033[0m", self.__doc__) return "bad" - def apply_cut(self, cut: str): + def apply_cut(self, cut: str, hit_config: str): """ Apply given boolean cut. Format: cut name as in lh5 files ("is_*") to apply given cut, or cut name preceded by "~" to apply a "not" cut. """ - utils.logger.info("... applying cut: " + cut) + if cut not in ['ciao']:#hit_config['outputs']: # change file and use prod ref specific one! + utils.logger.warning("\033[93mThe cut '%s' is not available for the data you are inspecting. " + + "We do not apply any cut and keep everything, not to stop the flow.\033[0m", cut) + else: + utils.logger.info("... applying cut: " + cut) - cut_value = 1 - # check if the cut has "not" in it - if cut[0] == "~": - cut_value = 0 - cut = cut[1:] + cut_value = 1 + # check if the cut has "not" in it + if cut[0] == "~": + cut_value = 0 + cut = cut[1:] - self.data = self.data[self.data[cut] == cut_value] + self.data = self.data[self.data[cut] == cut_value] - def apply_all_cuts(self): + def apply_all_cuts(self, hit_config: str): for cut in self.cuts: - self.apply_cut(cut) + self.apply_cut(cut, hit_config) def special_parameter(self): for param in self.parameters: From f2ec790bd56b79d3363246220ce236cd7039f460 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 26 Jun 2023 12:24:14 +0000 Subject: [PATCH 115/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index fe926e8..b39deca 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -159,10 +159,10 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): # the parameter does not exist else: utils.logger.error( - "\033[91m'%s' either does not exist in 'par-settings.json' or you misspelled the parameter's name. " + - "Another possibility is that the parameter does not exists in .lh5 processed files, so if the problem " + - "persists check if in the production environment you are looking at the parameter is included. "+ - "Check also that you are not trying to plot a flag (ie a quality cut), which is not a parameter by definition.\033[0m", + "\033[91m'%s' either does not exist in 'par-settings.json' or you misspelled the parameter's name. " + + "Another possibility is that the parameter does not exists in .lh5 processed files, so if the problem " + + "persists check if in the production environment you are looking at the parameter is included. " + + "Check also that you are not trying to plot a flag (ie a quality cut), which is not a parameter by definition.\033[0m", param, ) sys.exit() @@ -237,9 +237,14 @@ def apply_cut(self, cut: str, hit_config: str): Format: cut name as in lh5 files ("is_*") to apply given cut, or cut name preceded by "~" to apply a "not" cut. """ - if cut not in ['ciao']:#hit_config['outputs']: # change file and use prod ref specific one! - utils.logger.warning("\033[93mThe cut '%s' is not available for the data you are inspecting. " + - "We do not apply any cut and keep everything, not to stop the flow.\033[0m", cut) + if cut not in [ + "ciao" + ]: # hit_config['outputs']: # change file and use prod ref specific one! + utils.logger.warning( + "\033[93mThe cut '%s' is not available for the data you are inspecting. " + + "We do not apply any cut and keep everything, not to stop the flow.\033[0m", + cut, + ) else: utils.logger.info("... applying cut: " + cut) From 03c9d715aca6b0054b60d69ce05a9c2861d7b2f4 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Mon, 26 Jun 2023 07:30:50 -0700 Subject: [PATCH 116/166] fixed QC in hit config json and data columns --- src/legend_data_monitor/analysis_data.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index b39deca..fc00ffd 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -237,9 +237,7 @@ def apply_cut(self, cut: str, hit_config: str): Format: cut name as in lh5 files ("is_*") to apply given cut, or cut name preceded by "~" to apply a "not" cut. """ - if cut not in [ - "ciao" - ]: # hit_config['outputs']: # change file and use prod ref specific one! + if cut not in hit_config['outputs'] or cut not in list(self.data.columns): utils.logger.warning( "\033[93mThe cut '%s' is not available for the data you are inspecting. " + "We do not apply any cut and keep everything, not to stop the flow.\033[0m", From f65c5aea2a495ac1dd319cc86e084586aad07cf1 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 26 Jun 2023 14:33:40 +0000 Subject: [PATCH 117/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index fc00ffd..f343607 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -237,7 +237,7 @@ def apply_cut(self, cut: str, hit_config: str): Format: cut name as in lh5 files ("is_*") to apply given cut, or cut name preceded by "~" to apply a "not" cut. """ - if cut not in hit_config['outputs'] or cut not in list(self.data.columns): + if cut not in hit_config["outputs"] or cut not in list(self.data.columns): utils.logger.warning( "\033[93mThe cut '%s' is not available for the data you are inspecting. " + "We do not apply any cut and keep everything, not to stop the flow.\033[0m", From e405da496a4209ffc14a4f5173a876a4ff40b570 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Mon, 26 Jun 2023 16:39:00 +0200 Subject: [PATCH 118/166] better warning --- src/legend_data_monitor/analysis_data.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index f343607..31232e6 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -186,10 +186,8 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): if bad: return - # apply cuts, if any - but we pass the hit config file that we need to check for the flag's existence - hit_config_first_key = list(LegendMetadata().dataprod.config.tier_hit.keys())[0] - hit_config = LegendMetadata().dataprod.config.tier_hit[hit_config_first_key] - self.apply_all_cuts(hit_config) + # apply cuts, if any + self.apply_all_cuts() # calculate if special parameter self.special_parameter() @@ -231,15 +229,16 @@ def select_events(self): utils.logger.error("\033[91m%s\033[0m", self.__doc__) return "bad" - def apply_cut(self, cut: str, hit_config: str): + def apply_cut(self, cut: str): """ Apply given boolean cut. Format: cut name as in lh5 files ("is_*") to apply given cut, or cut name preceded by "~" to apply a "not" cut. """ - if cut not in hit_config["outputs"] or cut not in list(self.data.columns): + if cut not in list(self.data.columns): utils.logger.warning( - "\033[93mThe cut '%s' is not available for the data you are inspecting. " + "\033[93mThe cut '%s' is not available " + + "(you either misspelled the cut's name or it is not available for the data you are inspecting). " + "We do not apply any cut and keep everything, not to stop the flow.\033[0m", cut, ) @@ -254,9 +253,9 @@ def apply_cut(self, cut: str, hit_config: str): self.data = self.data[self.data[cut] == cut_value] - def apply_all_cuts(self, hit_config: str): + def apply_all_cuts(self): for cut in self.cuts: - self.apply_cut(cut, hit_config) + self.apply_cut(cut) def special_parameter(self): for param in self.parameters: From c70fbd45b2961b0f1b34e632da9968b869b1533b Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 26 Jun 2023 14:39:22 +0000 Subject: [PATCH 119/166] style: pre-commit fixes --- src/legend_data_monitor/analysis_data.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index 31232e6..c6af7c5 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -186,7 +186,7 @@ def __init__(self, sub_data: pd.DataFrame, **kwargs): if bad: return - # apply cuts, if any + # apply cuts, if any self.apply_all_cuts() # calculate if special parameter @@ -237,8 +237,8 @@ def apply_cut(self, cut: str): """ if cut not in list(self.data.columns): utils.logger.warning( - "\033[93mThe cut '%s' is not available " + - "(you either misspelled the cut's name or it is not available for the data you are inspecting). " + "\033[93mThe cut '%s' is not available " + + "(you either misspelled the cut's name or it is not available for the data you are inspecting). " + "We do not apply any cut and keep everything, not to stop the flow.\033[0m", cut, ) From 105c92c0e999e212598eda0794f0d389d6f90e24 Mon Sep 17 00:00:00 2001 From: morellam Date: Tue, 27 Jun 2023 10:40:55 +0200 Subject: [PATCH 120/166] added summary plots option --- notebook/L200-plotting-hdf-widgets.ipynb | 807 ++++++++++++++++++++--- 1 file changed, 714 insertions(+), 93 deletions(-) diff --git a/notebook/L200-plotting-hdf-widgets.ipynb b/notebook/L200-plotting-hdf-widgets.ipynb index 1d43813..698bddb 100644 --- a/notebook/L200-plotting-hdf-widgets.ipynb +++ b/notebook/L200-plotting-hdf-widgets.ipynb @@ -26,16 +26,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "5de1e10c-b02d-45eb-9088-3e8103b3cbff", "metadata": {}, "outputs": [], "source": [ "# ------------------------------------------------------------------------------------------ which data do you want to read? CHANGE ME!\n", - "run = \"r003\" # r000, r001, ...\n", + "run = \"r000\" # r000, r001, ...\n", "subsystem = \"geds\" # KEEP 'geds' for the moment\n", "folder = \"prod-ref-v2\" # you can change me\n", - "period = \"p03\"\n", + "period = \"p06\"\n", "version = \"\" # leave an empty string if you're looking at p03 data\n", "\n", "if version == \"\":\n", @@ -54,10 +54,82 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "c3348d46-78a7-4be3-80de-a88610d88f00", - "metadata": {}, - "outputs": [], + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-06-27 10:18:19,799: \u001b[35m---------------------------------------------\u001b[0m\n", + "2023-06-27 10:18:19,800: \u001b[35m--- S E T T I N G UP : geds\u001b[0m\n", + "2023-06-27 10:18:19,801: \u001b[35m---------------------------------------------\u001b[0m\n", + "2023-06-27 10:18:19,827: ... getting channel map\n", + "2023-06-27 10:18:20,742: ... getting channel status\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "f589bd6fce8c453c8a2ed336afaa0a45", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Dropdown(description='Event Type:', options=('IsPulser', 'IsBsln'), value='IsPulser')" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "36f135000d0249d48b1bef0671ad4df8", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Dropdown(description='Parameter:', options=(), value=None)" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pick the way you want to include PULS01ANA info\n", + "(this is not available for EventRate, CuspEmaxCtcCal \n", + "and AoECustom; in this case, select None):\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "f3bef13a4ff84033bf3e92284bf7251f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Dropdown(description='Options:', options=(), value=None)" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[91mIf you change me, then RUN AGAIN the next cell!!!\u001b[0m\n" + ] + } + ], "source": [ "# ------------------------------------------------------------------------------------------ ...from here, you don't need to change anything in the code\n", "import sys\n", @@ -65,9 +137,11 @@ "import shelve\n", "import matplotlib\n", "import pandas as pd\n", + "import numpy as np\n", "import ipywidgets as widgets\n", "from IPython.display import display\n", "from matplotlib import pyplot as plt\n", + "from matplotlib.patches import Rectangle\n", "from legend_data_monitor import plot_styles, plotting, utils\n", "import legend_data_monitor as ldm\n", "\n", @@ -200,10 +274,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "508896aa-8f5c-4bed-a731-bb9aeca61bef", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You are going to plot 'Cuspemax' for 'IsPulser' events...\n", + "IsPulser_Cuspemax\n", + "None (ie just plain geds data)\n", + "...data have beeng loaded!\n", + "...data have been formatted to the right structure!\n" + ] + } + ], "source": [ "def to_None(string):\n", " return None if string == \"None\" else string\n", @@ -294,7 +380,9 @@ { "cell_type": "markdown", "id": "f1c10c0f-9bed-400f-8174-c6d7e185648b", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ "# Plot data\n", "For the selected parameter, choose the plot style (you can play with different data formats, plot structures, ... among the available ones).\n", @@ -308,9 +396,11 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "a6fde51f-89b0-49f8-82ed-74d24235cbe0", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "# Define the time interval options\n", @@ -374,10 +464,153 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "084e9d36-1478-4833-96ff-555134e9a64c", - "metadata": {}, - "outputs": [], + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7a0e3a59e9864117a8f1758d482ee4ba", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Dropdown(description='data format:', options=('absolute values', '% values'), value='absolute values')" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "94b63c27adf245628b9979bef103f81f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Dropdown(description='Plot structure:', options=('per string', 'per channel'), value='per string')" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "692416493e3a49cdb8bee63efd925181", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Dropdown(description='Plot style:', options=('vs time', 'histogram'), value='vs time')" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6706cd9b482d4403bf0566f96cbdbf10", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Dropdown(description='String:', options=(1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 'all'), value=1)" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a12cb80d56694a4cb6f3b891c6ec0dd1", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Dropdown(description='Resampled:', options=('no', 'only', 'also'), value='no')" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Chose resampling time among the available options:\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "63e849a9bbfa4470921841b5238872e5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HBox(children=(RadioButtons(description='\\t', layout=Layout(width='max-content'), options=('1min', '5min', '10…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Do you want to display horizontal lines for limits in the plots?\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1c847d18cc9b4c318c1fc2cbc42bb5c4", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HBox(children=(RadioButtons(description='\\t', layout=Layout(width='max-content'), options=('no', 'yes'), value…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Set y-axis range; use min=0=max if you don't want to use any fixed range:\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ac885e4932d843458014dde8c5f4a65c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(IntText(value=0, description='Min y-axis:', layout=Layout(width='150px')), IntText(value=0, des…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[91mIf you change me, then RUN AGAIN the next cell!!!\u001b[0m\n" + ] + } + ], "source": [ "# ------------------------------------------------------------------------------------------ get plots\n", "display(data_format_widget)\n", @@ -400,10 +633,306 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "2122008e-2a6c-49b6-8a81-d351c1bfd57e", - "metadata": {}, - "outputs": [], + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-06-27 10:23:24,278: Plot style: vs time\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Making plots now...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-06-27 10:23:24,850: ... string 1\n", + "2023-06-27 10:23:26,484: Plot style: vs time\n", + "2023-06-27 10:23:27,058: ... string 2\n", + "2023-06-27 10:23:28,608: Plot style: vs time\n", + "2023-06-27 10:23:29,119: ... string 3\n", + "2023-06-27 10:23:30,606: Plot style: vs time\n", + "2023-06-27 10:23:31,045: ... string 4\n", + "2023-06-27 10:23:32,379: Plot style: vs time\n", + "2023-06-27 10:23:32,695: ... string 5\n", + "2023-06-27 10:23:33,648: Plot style: vs time\n", + "2023-06-27 10:23:34,121: ... string 7\n", + "2023-06-27 10:23:35,458: Plot style: vs time\n", + "2023-06-27 10:23:36,017: ... string 8\n", + "2023-06-27 10:23:37,529: Plot style: vs time\n", + "2023-06-27 10:23:38,154: ... string 9\n", + "2023-06-27 10:23:39,807: Plot style: vs time\n", + "2023-06-27 10:23:40,677: ... string 10\n", + "2023-06-27 10:23:42,794: Plot style: vs time\n", + "2023-06-27 10:23:43,360: ... string 11\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "748a3e8bb86845c294bf00abdb2699ee", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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HlCuGx8fz+WXX64cc8UVVxAfH6+ppz81NTV07Ngx6H49vv76a0aNGsXf/vY3unTpQv/+/Zk9e7YmgWOwevqXZeHChQwYMIABAwbwy1/+kv/85z+nFK11QayDvnDhQh5//HHef/99xowZw7/+9S9uvvlmDh8+TPfu3YOed+zYMc2yEZ06dTobxW0TvF4v5eXlJCYmYjZfMHaUM44hl+AYsgmOIRt9DLkE50KSzZtbijhZ6eCa3mdnSdALSTZnE0MuwTFko8+FKBevw4GzqPCs3zciJRWzSlFsiW7duvH2229jMpkYMGAABw4c4O2332bmzJmndP8vvviCsrIydu7cqSiAffv21Rzj9XqZN28esbGxAEybNo21a9fyyiuvnNI99SguLiYiIoIOHTpotnfu3Jni4mJAXL5v+vTpPPTQQ4waNUpRpv2v07lzZ822Dh06EBERoVynuLiYnj17BtxH3terVy/d63Tu3Bm32015eTkpKSkB9546dSpPPPEEixYt4v777wfEsPDRo0czePBg5fpJSUkB5yYlJSnl8yctLY3//e9/fPvtt7r7g5GZmcmWLVuIjIxk6dKllJeX8/DDD1NZWanMQw9WT/+yfPzxx/zyl78E4KabbqK+vp61a9eGDK/X44JQ0N966y1mzJjBr371KwDmzJnDd999xwcffMCrr74a9LykpCTat29/lkrZtng8HtLS0rjlllsumE77bGDIJTiGbIJjyEYfQy7BuZBk0+RuW09wS1xIsjmbGHIJjiEbfS5EuTiLCsl//qmzft+uz79KZM9eYR9/xRVXaNaWHz16NG+++SYejweLxRLy3IceeojPPvtM+bu+vp709HRGjBgR0jvbs2dPRTkHSElJobS0NOwynw6CICj1fffdd6mtreWpp0I/J7V89K6jd4zsDQ73mM2bN3PzzTcr+/71r39xzz33cMcddzB37lzuv/9+6urqWLx4MXPmzGl1+WQOHTrE7bffzrPPPssNN9wQrMq6eL1eTCYTn3/+OfHx8YCoe95111384x//ICoqKmg91duOHTvGjh07lCR3VquVyZMnM3fu3B+fgu50Otm9ezd//OMfNdvHjRsXMsQBYMSIETQ3NzN48GD+9Kc/ce21157JohoYGBgYGJx1AocqBgYGBmeGiJRUuj4f3Dl2Ju97tnjxxReZPXu2ZpuspIXCf6qC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nfzrX/9StmVmZrJlyxYiIyNZunQp5eXlPPzww1RWVmrmoYfD8uXLaddOXDWroaGBlJQUli9fjtncOp/4eR/iXlhYSJcuXdi6dSujR49Wtr/yyit8+umnHD0amBW7f//+3H///Tz11FPKth9++IGf/exnFBUV6c4dcDgcOBy+eZS1tbV069aN8vJyJezHbDZjsVjweDwa64y83e12axInWCwWzGZz0O3+lkurVfwIuN1uTsxczIn/i6Lf0iZszYDJZ9FVruMWrbB6271mEFRtwSSA2RNiu8Vn6QUwecHsDb7d42faMXvEa+ltRwCv/3b3qdXJHYEiF6vrx1GntnpObptKNs4fR53a6jl5rPyk36cMywgAioAUwOQ209u823ifjPfJeJ+M75PxPp3D5+SKFOVSccLKtN+O04wD1dhsNrxer2aOsclkwmq1Bt0ebKyq3l5bW0tiYmKrQtwrm7NYnf8UZ5txXV+lY2R4KU2vueYaevfurVGuvvrqK+666y6am5uxWCw0NDRQVFREeXk5H374IevWrWP79u0kJSXx0EMP8dlnnynn1tfX8/DDD3Po0CE2btyoe8/nn3+eRYsWcejQIWXb22+/zbvvvktmZuBKNaca4v7FF19w//33a3QWgBtuuIE+ffrwz3/+k3feeYeFCxeyadMmLBaL7rUefPBBcnJyAhK6RURE8N///pcpU6Ywbtw4evXqpVFmCwoK6Nq1K2lpaVxxxRWac+fPn8+vfvUrvvrqK66//npADPG++eablWP+9a9/cc8993DPPfeQm5vL5s2bqaurIyUlhTlz5vCrX/0KgL/85S988sknGiMTiGHwM2bM4I9//KOu3N58801efPFFampqAvZt2LCBW2+9lffff597771X2T5u3Dg2b95McXEx8fHiyjRLlizhrrvuoqGhgagorXEwVIh7QUGBMiW7srKS999/n5UrV7Jjxw569OihW+YLcpm1xMRELBZLgLe8tLQ0wPIjk5ycrHu81WoNGmJgt9s1IRwyNpsNm82m2WaxWLBYLAHHyh1ruNv9r6veLq8TanFLycUEdNdVNQXZbvaC3mojQbcHyTMXbHuwNV5btf0U6qSWi1y2C71ObfWcLCZfuczeEGVs7fYfUdv7qb5PJrcZMJGqOth4n87u++TBign3OalTCT3p7MlusYyt3d4W75ODKCJoopQe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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7032440d2f314e4d80a3c0cce0d5fd30", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "46bac7b0a4614e30a4edf918a0c44a50", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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5/bt28uGVFUkSUKv1wPWUPCqIeLdu3fn66+/Ji8vr1oven0gIiKCwsJCDh8+LHuCDx06RGFhIf369QNg7dq1lJeXy985cuQITz31FPv27aNt27ZyPdOmTcNgMODu7g7Atm3bCAsLo1WrVkiSRExMjMOxFy9ezM6dO/n5559p3bo1Xl5eTlMBbNgGSdTOYc6cOaSnpxMaGiof28PDQzaUa2qfGlFRUXKd9vzf//0fer3eKargjjvucDrPf//733Tq1Ik33nhD9ZoC5H32WtcWYaALVLGYSq53EwQ1IHK4CwQCG8nHpmA25F/WVBCBQCD4u5CSksLkyZN57rnnOH78OIsWLWLevHmUlpYyZ84c7r33XkJDQ8nNzWXx4sVcunRJcVktG2PGjGHu3Lncf//9vPfee4SGhhIVFUVYWBgRERG1alNJSQmxsbHy54SEBKKjowkICKBFixaANbFYcnIyaWnWef7nz58HrN5iW3bwjIwMMjIy5LpiYmLw9fWlRYsWBAQE0LlzZ4YPH86ECRNYsmQJAM8++yz33HOPHO5tM8Jt5OTkANC5c2c527ktfH38+PFMmzaNixcvMnfuXN599115vW9btnwbwcHBeHp6Om2vK0OHDqVLly6MGzeOjz76iLy8PKZMmcKECRPw8/OrVfsAFi5cSKtWrbjpppswGAz88MMPrF27lrVr1zod85tvvuH++++ncePGDtt9fX2dzsfHx4fGjRs7bS8rK5O9+pmZmcyePRtPT0+GDh1aZw3qfzzNPxSNRoOvr6/iHIx/MkIXdYQ2yghd1BHaqHMjamM25F/1Y9yIulwrhDbKCF3UEdpcHZ544gnKy8vp06cPL7zwAi+99BLPPvssLi4unDt3joceeogOHTpwzz33kJ2dzb59+7jppptU63N3d2fbtm0EBwczYsQIunXrxvvvv1+t97QqR48eJTw8nPDwcAAmT55MeHg47777rlxm48aNhIeHy4kDR48eTXh4OF9++aVc5ssvvyQ8PFxOeDdgwADCw8PZuHGjXObHH3+kW7duDB06lKFDh9K9e3e+//77WrcVrOHa27dv59KlS/Tu3Zvnn3+eyZMnM3ny5DrVczm4uLiwefNmPD096d+/P6NGjeL+++/n448/rlP7DAYDU6ZMoXv37tx2223s37+fzZs38+CDDzoc78KFC+zfv5+nn376L7X7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895775Genk7Tpk15//336dy5s2r+33//nVGjRrFz507CwsJ4/vnn//GadAKBQHA1Ya1iybI3p59kYGco8ckAbB/BIC7gXbqucoQ1m2xZBC8SCAQCwdXD8ePHGTVqFI899hh///23yxzsf//739xzzz106dKFlJQUfvnlF3788UfVqOgA9913HxMmTGDAgAFMnDiR0NBQNm/eTFhYGMnJydUqU05ODgcOOFaQOXz4MFu2bMHPz4+oqCgAMjMzOXbsGGlptmVryzoSQkJC7BHPMzIyyMjIsB9r+/bteHp6EhUVhZ+fH2lpaXTr1o2oqCgmTZrEmTOOwLdlx+jVqxdNmjRh8ODBvPfee2RmZjJ69GiGDRuGl5dtwtugQYN4/fXXGTp0KC+//DL79+9nwoQJvPbaay62YNkIeU5ODmfOnGHLli0YDIZ/tCx3bZYPbMHhbrzxRkXv76KiInbt2mX//8mTJ9myZQseHh72DoQRI0Ywf/58fvjhBzw9Pe0j997e3pjNZj7//HP8/f0ZOHBghc6QW265hTlz5tTYQFedevnKK69gMpk4evQosiyzbt069u/fz6hRo2jUqBHHjl2+dTe//vprnnnmGV555RU2b95M586d6du3r2oZDh8+zM0330znzp3ZvHkzL7/8Mk899RQLFy68bGX+p2hKoPE3EhoxX8sFoYs6QhtlrmddLixdXOl2rzwNG39pzA6TIxBc+Sj2TYoz66RsVzrX831TGUIXdYQ2yghd1CnTRkRxr12GDBlCfn4+7dq1Y8SIETz55JM8+uijANx+++3MnDmTd999l+bNmzN79mwWLlxIp06dVI9nMBhITU0lKCiIm2++mebNm/P222/XyG1548aNJCUlkZSUBMCoUaNISkritddes+dZvHgxSUlJ9OvXD7AFGktKSmLmzJn2PDNnziQpKYlhw4YB0KVLF5KSkli82Pa9T01N5cCBA/z2229EREQQGhpq/ytDq9Xy008/YTKZ6NixI3fffTcDBgywL8MGNuNz2bJlnDhxgjZt2vDEE08watQoRo0a5VKvsjpt2rSJ+fPnk5SUxM0331xtXZSozfJlZWWxcOFC1dHztLQ0ex3S09OZNGkSSUlJLnP2Z8yYQVZWFt26dXPR8+uvvwZs7u233357BeMc4M4772TJkiWcOlWzJYQlWVaO89uwYUPGjh3Lfffdh16vZ8OGDXa3gieffJKzZ8/y1Vdf1ehkl8qNN97IDTfcwIwZM+xpiYmJ9p6s8rzwwgssXryY3bsda5MOHz6crVu3smbNmmqdMzs7G29vb7Kysuy9NZeT/fctptATjBdBkqsXjOF6QJZkoYsKQhtlrkddxoQmAnBP3n+5fdbLqvn+7779aDwL+en2dbz5WZBqvuuR6/G+qQ5CF3WENsoIXdQp06bprP7VDrxVm1TW1i0oKODw4cPExsZiMl35bu1ldOvWjVatWvH+++/Xd1EEgmqh9KypdtmdOHGCmJgYtFotGo2G3FxH9N7+/fszaNCgui8xNneDTZs2VVg8vlevXqxevVpxnzVr1tCrVy+XtN69ezNnzhyKi4sVI2UWFhZSWOgIhpSdbVv2ori42L4un0ajQavVYrFYXAI/lKWXlJTg3N9Rpp1aetlxyyjrQS0pKaHYKHOwHzT8HvQFgATWch112hIJWZIV060aGdmpI0eSQWOpJF0r4/zdlKygsaqnW3Su/Toai+3Dq5SObItU6pJecml1KjE4dNEVXxt1qq3rVKJ30qbo2qhTbVwn52dJW3Jt1Kmq6+SOhcLS/1utVnvkWrBNU9LpdLZ3mLEYz34HMa5Mxqo9cEXXqQzxPInn6Uq998T3SbnszrpoS66NOtX28xSXn49er3dpBzqj1+srfZcrpau1VZ3Ty7dDBQLBlYGqgR4QEGBfiD0sLIwdO3bQpUsXwDZHovzLo644e/YsFoulQkS+4ODgCtH7ylBaPy84OJiSkhLOnj3r4uZRxsSJE3n99dcrpKemptoj8kVFRZGUlMS2bdtc3OsTEhJo3Lgx69evd5nr0apVK6Kjo1m1ahUXL160pycnJxMUFERqaqqLjikpKZjNZpYuXQq329L23w6Nv4FiNzjYz/GC1xRD4rcSucFwNMWRbsyCBkslsmIg7UZHuns6xKyUONtE5kxzR/18DkL4eon01jIX4h3pgdshaIfEsc4yuU5yha2T8D0Eh3vJFDrFoYpeIeGRAfsGyFid+j/if5LQ59mWWHGm8TfSJdbJoYt7unyN1Kl2r9P+2yFsHddUneDSr9N+p2cJ5GuiTlVdp1vZQ3GJBpZJnD171sVzyNPTk5tuuon3Z28h/vbjANzeYT/HrvA6gXieaqtOIJ4n5zqJ71PdXqeTHRy6gHxN1Km2n6dly5YBcPPNN5Ofn8+KFSvseXU6Hf369VN9lx8/ftwlUnZgYCAdOnRg//79LsHQlNqweXl5CASCKw9VF/cBAwbQoUMHe3C1RYsWMWnSJAwGAy+++CKNGjXil19+qfMCpqWlER4ezurVq10CMYwfP57PP/+cPXv2VNinUaNGPPTQQ7z00kv2tL/++otOnTqRnp5uD5LgjNIIemRkJGfPnrW7/VzOEfT9w5ay//ayEXTpqu8lrs0RijJddMXSNVGn2hzxs2tTJF0TdaqVEQqTQxdtiXRN1Kmq6/SRbwKZRrgz53v6T3sGqywhSbaClo2uDBq1jz6ZJXjfvp+f/2jIqHQxgi6eJ/E8gfg+OdepNq5TsdHKvjsc98y1UKfafp569uxZLyPo2dnZ9gG5a8XFXSC42qiRi/vIkSM5ePAgAG+++SZr165lyJAhAMTHx/Of//znMhTZNpKv1WoV17pTW4dPbW08nU6Hv7+/4j5Go1Fx7Xe9Xl/BJV6r1SoGhlAL8qGWruRqX5auLZHQFMu2jxkSyDbXsPJIsqSYrrFKoLD8omq6RXnuk1q6tqSm6QqJl1AnbQl2XcrKdrXXqbauk1Zy0sYqVVH2q6NOymWseZ3KdLHnuQbqVAGnOlksWkosIFssHFrzED6h3Qlq+IhLdqusgRItcrGGEotWPE/l0sXzJJ4n8X2qvetU4Z6ptOxXR52Uy3hpz1P5tqZS+1Cj0SgGoVJLV2urOqertUMFAkH9ohrFvUePHjz22GOAzV1m8+bNbN26lW3btrF7924SEhIuSwENBgOtW7e2u/+UsWzZMjp06KC4T3JycoX8qamptGnT5qp5GWlLJBK/1ai+1K9XhC7qCG2UuR518Sl1zvmvxz2MWzSOnDPK8TqMJRYSvtUw/NThy1i6q4Pr8b6pDkIXdYQ2yghd1CnT5mppmwoEgsuDqoFeHkmSaN68Oc2aNbvsy0GMGjWK2bNnM3fuXHbv3s2zzz7LsWPH7Ouav/TSS/bRfbBFbD969CijRo1i9+7dzJ07lzlz5jB69OjLWu5/gizJ5ITIyJLiDITrFqGLOkIbZa5HXRo4Ql5gldWXgblBOkBhiAVvufL10q9Hrsf7pjoIXdQR2igjdFGnTBtnV3SBQCCo0tLeuXMnR48epaCgoMK2O+64o04KVZ577rmHc+fO8cYbb5Cenk6zZs1YunQp0dHRAKSnp7sEbYuNjWXp0qU8++yzfPTRR4SFhfHBBx9w5513Xpby1gZWrS3ASeNvlN20rleELuoIbZS5HnUxUUJggYYzpsr7YK9HbaqL0EYZoYs6QhtlhC7qlGnT1GJRdFMXCATXJ6oG+sGDB7nrrrvYtm0bAOVjyUmS5BKUoq554okneOKJJxS3ffrppxXSunbtyt9//13HpRIIBIIrj7bsJ/iiOx+bokpTKo5cicEsgUAgEAgEgisPVQP90UcfJSMjg6lTp5KYmIjBYLic5RIIBALBPyCqJNf+fyVb3FOMZAkEAoFAIBBccaga6OvXr+eTTz7h3nvvvZzlEThhzKrvElyZCF3UEdooc73qcnM6LA2FA+nRxObnozGb7dsCS1eVvF61qQ5CG2WELuoIbZQRuqhjzLJ5pQquXsaNG8eiRYtc1qMXCP4JqhNeAgMD8fb2vpxlETihLZFosFREPS2P0EUdoY0yQheY9+cDjBn7NyUljrH0izqhTWUIbZRx1mVzlGgjOCPuGWWELupoSyTilmoue/Dl6xlJkhT/3nvvvTo976pVq+jfvz9hYWFIksSiRYsq5Pnuu+/o3bs3AQEBSJKkaPB//PHHdOvWDS8vLyRJ4sKFCy7bjxw5wsMPP0xsbCxms5n4+HjGjh1LUZFrMNhjx47Rv39/3N3dCQgI4KmnnqqQZ/v27XTt2hWz2Ux4eDhvvPGGy5Tn7777jp49exIYGIiXlxfJycn8+uuvVWoxdOhQu+56vZ64uDhGjx5Nbq7D8682ygfw0UcfkZiYiNlsJiEhgf/7v/+rUJ6FCxfSpEkTjEYjTZo04fvvv3fZfvHiRZ555hmio6Mxm8106NCBDRs2VDjOgQMHeOihh4iIiMBoNBIbG8t9993Hxo0bq9SkPKoG+uOPP84nn3xS4wMKagerRuZ8nIxVIyaKOiN0UUdoo8z1rIuJIgyloUIOFQdzOrPYvs3LUnRda1MVQhtlnHVZ2C6MfYTVd5GuGMQ9o4zQRR2rRiYzTkRxv5ykp6e7/M2dOxdJkuo8kHRubi4tW7bkww8/rDRPx44defvtt1Xz5OXl0adPH15++WXF7Xv27MFqtTJr1ix27tzJ1KlTmTlzpkt+i8VCv379yM3N5c8//2TBggUsXLiQ5557zp4nOzubnj17EhYWxoYNG5g2bRqTJk1iypQp9jyrVq2iZ8+eLF26lE2bNpGSkkL//v3ZvHlzlXr06dOH9PR0Dh06xFtvvcX06dPtq23VVvlmzJjBSy+9xLhx49i5cyevv/46I0aM4Mcff7TnWbNmDffccw+DBw9m69atDB48mLvvvpt169bZ8zzyyCMsW7aMzz//nO3bt9OrVy969OjByZMn7Xk2btxI69at2bdvH7NmzWLXrl18//33NG7c2KXc1UWSy3c1OPHcc8+xcuVK+vbti5+fn+uOksSzzz5b4xNeLWRnZ+Pt7U1WVhZeXl6X/fy7H1jMvoFlUU+v3F5nKxIaxRmudYNFJ7PnKtClPhDaKHO967KaRJaG2v4/+cUIwoNNyBYL3wzeTkvNsetam8q43u8bZ7YZvWlRaPNRdtZl7IAm3PwtdGB3PZfwyuBKv2fyJQ1mufYNwUMEE8cp1e1Xui71SZk2N998c72shV5ZW7egoIDDhw8TGxuLyWS67GW7VLp160azZs0A+OKLL9BqtTz++OO8+eabilMJBgwYwMWLF1m+fHmlxz1x4gSjR48mNTWVwsJCEhMT+eijj7jxxhvtLu7PPfccr776KufPn6dv37588skneHp6VjiWJEl8//33DBgwQPFcR44cITY2ls2bN9OqVSvFPCtXriQlJYXz58/j4+NTadnfe+89ZsyYwaFDhwD4+eefueWWWzh+/DhhYbZO1gULFjB06FBOnz6Nl5eX3bg9deoURqMRgLfffptp06Zx4sQJ1WkZTZs25Z577uG1115TLc/QoUO5cOGCixfBsGHDWLJkCenp6bVWvg4dOtCxY0cX74hnnnmGjRs38ueffwK2lcKys7P5+eef7Xn69OmDr68vX331Ffn5+Xh6evLDDz/Qr18/e55WrVpxyy238NZbbyHLMs2bN8dkMrF+/foKKzJcuHCh0muk9KypjqCvW7eOzz77jM2bNzNhwgRGjx5d4U9Qd1hQX7v4n1KscuzCqlfdq8B2ovmbeJe0YwS4/M7n8n90BAJBRXLObQJg16rvMYkBmxpRUoM5omrv2JpQKF3akkt10V26ytNPddtpo+P/2ZhV81WXzQb/f3yM65Fi9eacHVmrfA/vJdz+/4sa13bAahpXesxvvUPJwO+ydNNn4HMZziK4Fvjss8/Q6XSsW7eODz74gKlTpzJ79uwK+U6dOsVPP/3Eww8/XOnxcnJy6Nq1K2lpaSxevJitW7fy/PPPu3g+HDx4kEWLFrFkyRKWLFnC77//XulI+OUkKyvLZaB1zZo1NGvWzG78AvTu3ZvCwkI2bdpkz9O1a1e78VuWJy0tjSNHjiiex2q1cvHixQqDutXBbDZTXFxcq+UrLCys0LlkNptZv369y7l69erlkqd3796sXr0agJKSEiwWi+Jxyoz8LVu2sHPnTp577jnF5RKr6kBRQvWNPnLkSAICAli0aBF79+7l8OHDLn9lvTCC+uMcHqrbNtJAdds2YjhKYIX0z70aVkjbSoz9/yUKt0suZgowuDTMTpQ79k6iVctyreDcOCm4AjokLrVxf6WShZvqtqI67My61pAtBQD8rTlNE47Xc2nqj+PlOhGr4iIm3umcwLYm1fOm+tU9vOpMVfCddygXpJqvnvJ5zyjW9MxV3b7NEMraGF9yNNV/bjL06qNnG0c4/n9W4/gObHDzUT5WFUbWLrP6s14ZVRmSNWWW/9X13UrD0bExMajitxzg/+6PZIOvT4X0c3hx2GDT3flbZlvoofKOqW2RbtXIpbJvNZ8nsN03s1uGXsJZKsdySSVX5iwVR0qvNQqLrBw+XnDZ/wqLatajHBkZydSpU0lISOD+++/nySefZOrUqRXyffbZZ3h6enLHHXdUerz58+dz5swZFi1aRKdOnWjQoAF33303ycnJ9jxWq5VPP/2UZs2a0blzZwYPHlzlqPzl4ODBg0ybNo3hw4fb0zIyMggODnbJ5+vri8FgICMjQzVP2e+yPOWZPHkyubm53H333TUq4/r165k/fz7du3ev1fL17t2b2bNns2nTJmRZZuPGjcydO5fi4mLOnj1b6XHKjuHp6UlycjJvvvkmaWlpWCwWvvjiC9atW0d6ejoA+/fvB6Bx49r7DqkOme7cuZMFCxZw66231trJBNVHksE9Hb72iKXJBYlWHAYgFyPuFFa5f0kVRssBTQA73SVuvni60ny5Toa3BanCDZOvBbMFDhNMS44AtqjRHWz3LIe03hRZdFigVsyoMl2utDWcF7glcl+ezc1znT6E6OJCPKQcAuS8Gh2nEB1GLm39K2dtNpl86ZB/7pKOc7n53d2frrnqZbVo4EdzOA/k7ndJX+gZyZ0Xj1OCFgOWCvudxosgsq/Ye6YmZOJBAQbCyPxHxym5eBGANd+kkMyBq1qbDMmLEDm7xvvtlwLRy1U3yp21OYUv+Z0kVqf70WJX5edcQwLZunz775n3xDD86yP235l44EeO4r6HDW5EFeWTiQc7zV4UBXvx4N6auY8XJi+itc4Ey5oobl9+hxvnfHzwnVdEQqG6IV+eXQ09aLI/x/WeiQTnvrMy7+USNORJtjf+n+396LTWcd+eJIAPQ0N5K125XkWaqq/NkkbB3LLvFFtMXnzrG87N6dWuBgDvBTVgUOYJwksKyJc0LPCN4KHMYy55jhvcGBOaqFpOJSQZ0g3uJJZ77xdKGoyX6Fr+X58w2l7MJdbiCIO+g0hyMHPk9lzu/d42B3Knh47o0ttK0siKZT8RaSYx4SKsrXieT/2ieD1jj2t+vRmKYR9hZLnl0TbvAgBp+NnfRdqwIgoPGzhf4IavxVHvEo2Ezmp7sSi9Z37yCmbN7b6Kz9MKD3+2mbx5+qxjIMgCFPSHdzs14PmPDihqtdPkSdOCi2TgQwgXFPMArEr0p8tu2zdnkxRPO9l2vAOE0oAa3kxO5GIigIs12keSoSjTfNVEcU87VcRLU05c9vNOHBVBbGT13ezbt2/vomlycjKTJ0/GYrGg1Tpao3PnzuX+++93GR0dPnw4X3zxhf13Tk4OW7ZsISkpqdKR4ZiYGBd39tDQUE6frryNXdekpaXRp08fBg4cyCOPPOKyTemek2XZJb18nrJZ0Ur7fvXVV4wbN44ffviBoKAgAP744w/69u1rzzNr1izuv/9+AJYsWYKHhwclJSUUFxdz2223MW3atFot36uvvkpGRgbt27dHlmWCg4MZOnQo7777rst9oHQc57TPP/+cf/3rX4SHh6PVarnhhhsYNGgQf//9d5W6XCqqBnpUVFSFSHiCy4hVImalhi8DzU5j2LBeG4eHpYS27CdXC/5Odsk5jQF/qy3CobV0tPuiRst/fcJ5uFzj46S7lX0e/qz28GdIehYyyo30zT7Q4YLt/2kGI7FFrg2P83qbgZ6D8ovTKgFITApI5IWzlTd0LmLiB88IHrio/PEF0FgkYlbW3Ydso3skbXJrPrK40wsoleaIu4T+gj/ndb70K95r09YpbzFa9AoGJYD8D3rzf2wTym0rMzhOACvdA7BIGjrnnQFgjZsvyXnna3S8740J3F6495LKkiMZ8JAd0Tb3lzZ8ytcuXWfkUKQbXfeoG+gnwozscdORv8+AGdsxV7v5stnDgzsv2jqJ3MrJeZwAThBAENn/6J7ZRgwtSjueLjeFegljscx+rS9nLCEAl2ygm6wW20hRsU2/blm2RmRdP0+1xTk88HcyaovRkqY3EFJk6zjUlo77VdbZs8XkzR6jJ/4XPWgoV62jszZ7ugEaKNZV1Orn7kH0Xe7aCCuM14Dtu02u2bVrskjlszs+MJF8HeitYAVbj2YgUI1H8Hd3f3IlHU0KcvDU5RIS8wiZZQUox7kGtlF5OVKCA7DcI4DuObaRhE00oDHHcaeQb24LY+APaXztY3MxnH9XJGhBkmW8s4rxiSwGd9sxP3kgmpzlOvqdtr1jtkqRyJLteu2P83Ax0Aur8DDK1Klv/9Pdj065maQlmxhzdyLMUT/OejcfYgvzCLQUVdiWpdXzX98wnj1ziP8ExuFWSYAui2ET2qLWitsmBDekSNIwLsN2kVbJjVgZqaOHxfVb9+aoBMLnFfB45mH1AquwzeyNXOCFl8WKPxeZ80AUjb50RyvDjqZejNF4wWpoWeAw4Nt19uG3P1U6X0qdq5bcauSWxbbO/k2+YFFqWJYmncWbpfHeeOSXIJ1wx6vA5ho60z8GjZTP8qdhVVEkYyft5USYiTmDo2mz+QL9Um3z0p2fpcMGN2KL8jiQ4g6SRKZWj5+lmF8Cg+hzxvYcLfe0Ne6LdRL60pUnTpSOFWT7ut4fX94ezv1lnRRNPWm66SI73I2EVNL3lBbgaK+sGKal3ce2/5/Gx8VAP23wIKjIdh+n6Yws8wjiwQsV2werdRF0KDlBsdOzbUXZRfWM5Emg7DDiNRYJy+GGV00U97BgAxNHRdTLeWubP/74g7179/L111+7pL/xxhsVpvGazVVP3ykfQ0CSpHoN/peWlkZKSgrJycl8/PHHLttCQkJcgqABnD9/nuLiYvtockhISIWR8rIOh/Ijzl9//TUPP/ww33zzDT169LCnt2nTxiUSvfN+KSkpzJgxA71eT1hYmIt+tVU+s9nM3LlzmTVrFqdOnSI0NJSPP/4YT09PAgICKj2Oc1nj4+P5/fffyc3NJTs7m9DQUO655x5iY2MBaNSoEQC7d+9WjRlQU1T9YF988UUmTZpEQUFBrZxIUDNkrYXTzaxYta4P99/3wPnS93iuDjYTZ982927lDpXDRneX34uDdUSOmGT/vczHm3MoL5eTbna4S5/wUO+9vBik3CjO0cHfPnCx9LmTgTEhyi4g24llj4dy4+yw3p3tJk+sGpmTzSR7NNgvfZVdSavjvrmTKJffF3DnnEnLNy/8zdKQIMV9TuLHO0834K2gRNcNzm0b+7vJVsYMjTurSbS71arN9f/BULlrzG5cP4onnVwaV5PIBX8dp5tZkTVWirQS5/QODXQKMwS/9Yhmnm8USz2V65phqr6bvKXcq2Rui2iXaRT5GMgs5/43LSCW2f7RyN6VG4garHA3/O8mX3vaNrPjfi3QaHg/MM5lnzkh/vbODqtGtj1LpffMYYLYEFQ9F+TtnrZjqLnlbnCaSmKtRVfJ74Ib8/aoRkwbFstngSH8HKKed52bDye17uoZgDGn9vH0mYNYCwrI3baZ2GJbo7O8NvXJ117qjT5nZUvQ8KVPHMu8fTmNFzN9He68//N0nV6z0ew45re+Yexw8+ScUUKqxoxZq0bmeHMNVo1Mftk9qnCJzZojtnN3DeQU3shIpLd3NObOe7s2LPNVvHrzS18Lxc1sXiNVls+pLBZJYrWnH7MDo+ga8BB+hnA+7lW5i3aZBmvd/fjs3kgmj4hnzR16sgNsB97a3JsxoYlsN3tX2C/CeoFjUY46Ho1x45zRYC/TibZAC+XzrvYHnOatvxrSmA0vtSH+85s5+ngS53UGtgd58u2AiiKUXTVbZ7KrJ5kVOOdkvGVqDfwnKJ6PHolVLMc5nZExNyaSo9VzRmdgTYAvF91s78xfb3TcR1qN66jylEBHzJU8jY6Svo5yFms1NMs8zcyAaCYE2+7LEg1ghpNG1+/nahpzwWlKwEmFaQRlX/9zJom9hPOpTzSHY9zJaeH0fUuEhrd9jXyj7adpUGMevTMUyk2pnd3Rdj8UGWzlveDjKPcpp1NLyJzS2S6QqYvTVEZf+PLeSI6b/XB2hPfV7MVXt5vi0u+FDBTrNaxp58eYMYn8JyCODIPe/p7JLLtGpd7q20vd3P8M9WfCsw0ZP8rxPOe6OdXTyR6Y8GxDJgQ1ZGxIApp2jg1n4m3lPuKk9fSAGHJLvTmU3NkvBmn4uXsQOxIruqfLQEGpXtMD49hv9iC3XNvicJQbSwM9+dQvks1NHM9KmlG5vZSm8XX5bdXI6MJPYbEod9pfaRgNGmIjTZf9z2io2bS9tWvXVvjdsGFDl1HTOXPm0Lp1a1q2bOmSNygoiAYNGtj/AFq0aMGWLVvIzPxnXmyXi5MnT9KtWzduuOEG5s2bV2FedHJyMjt27LC7aAOkpqZiNBpp3bq1Pc+qVatcljZLTU0lLCyMmJgYe9pXX33F0KFDmT9/vksQNbAZyM5aOnsYuLu706BBA6Kjoyt0btRm+cDWeRIREYFWq2XBggXccsstdk2Sk5NZtmyZS/7U1FQ6dOhQQVd3d3dCQ0M5f/48v/76K7fddhtgCxjXpEkTJk+erNgpU34pvOqgesf//fffnDx5kvj4eB544AGeeuopl7+nn366xicTVB+LQeZMc1uEz5VObc7zcbCp1MPGJ3Yf+U4tnabNPq1wnL/NPhWPrdEQX5xN6EOzAMgsbT+ersp7qFHFpGy9zaXd1HwzO4lkNxGYfM445ZDJKG2DrKch62kEksTPnkHs6em6DMN+9Sn1zAmI4mvfCGQNXGhuQS69cw8YHTv9elPFefXOHNO6nmBBsBsz/GPsvy9ixmS4gLvnbjbd4WNP3xnraZ9Xvjvek2CP9RRoIaO0EVOol/C7Y4c9v8UAJyJhb7mGeGZpzICL5eZTn8aT1SRircI15nw5A/dQkO14e3S+rG8EuWFazjSHjd30lGjgnNbJMFCY1rnF042DCe7sNlVsmHwTGMnJ0n3yJQ1H9WaOuCtbFutoZB8VnBDUkLdiGnHaV8cnIY55vjm4MXNEOG8967iJTuuMFGq0yKX3x6oWrsGhpj5hawiXqWI1OvQ5YbDttNA7lC+bR3BW53gOzrkZXRpisgbONMd+z6TjT7pKXcpYTyP+JIHzpYdNL3028kxa/u/eSAD+jvel2Gk08LD+0ubOLvUM5gvPBsy939ZhdBETB2+WKNZrOBVsglugvEf2mjiHVrKfRFq0uoEulTbzfawlZG7YSvqUd+ydF+W1qQ3UvGmqYoeb+gvgJP72jq2LmDnwoI6LOh0fhIaTbnI0uOS7JeZ42Dq6LEj81KHcvd0FdnrDZi/XxsAZrZHyyBrIblaCrDJyXobB0+addDTSzEHCAAmrFlZ29GfOA1FggJ88HD0sGTc53ntpzY84DtQQm9HimNJIvo9tWhPA8i4B/OVue/kX6DTMv8vR+SAlWSAe6A7BphgAjrVz3I9LYl07I13qCeyP9+C8r4GMJrb3Vxm+3hU7OoO1WpqfP4PGycMuLj8HoySRV5q95Q1eTp0ZMnsaOq6t+/16uN3p/JKE5K1H0muJjbO9M75uHkFay7OqZZZkKxgXQR9cjpWaUrGz8VRI1Z21siTx0/AQ3n22IecGhbKzl/pc4kydk0ASEA4fPRLLXsI54ybT/PwZTrc3klcabO10oOPe+t47lMVeIfxuDmbj3RLnIh0PXr6kZcyYRF5/IYH/BNg6HNe4+4E3pJnh12CJA6Xz84e/EMqFt8bY9w2M2I7FzSa4e2mjs4VhOuvvdXScH+lg2/ev9n4cvSOCUzHqdZzlH810/xgyeqXZ024L+L5CPhnQSMUYpawK28o4ozcyMyiWM83heIQZTUixy/Zltwby2j2NoQfkuevId3N0YH/yYAwrOtnuiZIgh1Z57jrytDoskoZXY8P58qVmvP58An7e+3kjuBFHjG786hnIFpMXaT5mPrgnjo8TAlTjw/yV7M+CO23P01oS7EZ4sbnicz8x2LUhlJoSCI3hQHcPtg2QWNQn1Da33skOX3eDD3MeiOIYAeRKru8aWQP6kFNimbVa5vjx44waNYq9e/fy1VdfMW3aNBe7JTs7m2+++aaC27ca9913HyEhIQwYMIC//vqLQ4cOsXDhQtasWVPtMpW5ypeNKB8+fJgtW7Zw7JjDwzUzM5MtW7awa9cuAPbu3cuWLVtcRngzMjLYsmULBw7YvE23b9/u0nmQlpZGt27diIyMZNKkSZw5c4aMjAyXY/Tq1YsmTZowePBgNm/ezPLlyxk9ejTDhg2zR/MfNGgQRqORoUOHsmPHDr7//nsmTJjAqFGj7K7cX331FUOGDGHy5Mm0b9/efp6sLPV3QnWorfLt27ePL774gv3797N+/XruvfdeduzYwYQJE+znevrpp0lNTeWdd95hz549vPPOO/zvf//jmWeesef59ddf+eWXXzh8+DDLli0jJSWFhIQEHnroIcDmLTFv3jz27dtHly5dWLp0KYcOHWLbtm2MHz/ebsjXBNVm2YcffsiRI0dIT09n/vz5fPjhhxX+BHXHpiaOBk1euQHX/LuXkelZwuEu20kbuMKeHmSIIVuvs0cQHhOayDIvW4MlU+v4MLUa9D5aCWLdbK5ahVqbkZ2r5mEl2T4csoIBecjJLsjCg/N4knTfB8z2s/XWO++RpdWRWdqI+MvDn65NbC/G81o9e4we7PcEImHWzRVdsSPa/Ebi0Hm8+7jrx7HYKRjaHx0CmOsXxS6jB2d0FRvc5V34ZOCkwcz/+UYyKTCev8wBtOi6EIBCo6NRt6VZGn/TgL+JY+UdbnhKtobjZ36RfHVHOG++0JjwICeDT4JtXRzXraqxujLja5+nY8REiaWh8FWSbeR3vk84OzrZdsw0wNlkOB1kq/O2BFtZnD0nUh8MYpPZm1Xu5SIku8F5nYLrmASUdoTmanR8khhDkc6hyfIuDuNbxjEimReho+BOLQRgv/iZ3np+exLyfSUK3J2MqdJ/z7awnf9Ac0d5M7XuZPro7UUBh05LegVD6btus5sP2UbXRtfnA+KQ77dl/qOhj8u2Eq1EWhPY1dORtol4l5FwgCwfLTu9HQsIls2tveClY18DD8aMSeSnfg6j67TWYB/1/MUziK98Ko7QX/BSfsAOGd3Y46HnUKw7Y8Yk8s6YWLKcd3caPd9IA957sgH7mjsa127SGc5X4hCQ7OQjPfPc44zxfUt1DnRtsI1YuzGd7txKrQJZkng3SDm45UXceDO0IX9rIthPOOVjMX0YEMuXvhEgQUGpMb3B5E9x+Vu7oe0+2ujmxRmnDqyMhuruk790D2Jvgjsairno4XoNz/nlcL7VJs6MzOfOTo57+5WkCP6XEsThGHcwgvV+hw6hh3eysZUP29tnseWev/jffev5eGA0dAFudjq4ZOFES/h4SAzjn2vEii6BZN2ZxVvBjXi3RwP2NvRAamp7nr00R6EbuMdraGiu2EFyyNd1FPyRsEDCjY46DwyqeJ08tBo8nUcwS5+BdxvajP1W+mncYJgMgNE/AJ0kscrLh7O+eqJbBLD6Rj+2NPPiSJRrx9WYtuF0CHPqjLkTTO6uTZFENz2xuv+x0+TJLqdO2LSOtro1PrCZAcc8IRwo7bCWNBZ2Ji1l18DSMjeDoA6FzIqqxKVexjbSXzr6LEsSzW5uxMjIM+r7AG91asR4J0MtPcTEV8lu7A+yjYJ+dEc0zQZWvA6b3HxY7+7LMh8/TjcCq871Wxek1/F5UiPO6I2MCU3kZ69g+4vScvfP6LpfpJdvxW8bQGxSCBZ/Ex7tbUPTo+LfYOCt9zkylO5WotOQMrAVvoYwzpv1bCz1kAhJdkzTKNJoSTOYQQMZpfslBbcBoMALuzeUxucC4Tf84VKOgnB1N/55D0SRmfIdh6PcyPQtvf8kCWtDyd6JnGRwrGGc5a1nedcAfr0pkPXd8vDVKE+TG9syls9vaESicT9Fpcb1HwEBfOsbTsgDqeQ2Xcgpd10FzxmLzkqS3vYu9C39vlnR2D0ItrVxqzL63fFIN+gIJNiM7Y1tfPjvHeGsb+N4prK89RyOcecEgWSHOA6YrVFrdAn+KUOGDCE/P5927doxYsQInnzySR599FH79gULFiDLMvfdd18lR3FgMBhITU0lKCiIm2++mebNm/P222+7jMhXxcaNG0lKSiIpKQmAUaNGkZSU5LIc2eLFi0lKSrKPRN97770kJSUxc+ZMe56ZM2eSlJTEsGHDAOjSpQtJSUksXrwYsI3+HjhwgN9++42IiAhCQ0Ptf2VotVp++uknTCYTHTt25O6772bAgAFMmuTwrvX29mbZsmWcOHGCNm3a8MQTTzBq1ChGjRplzzNr1ixKSkoYMWKEy3n+6SBubZXPYrEwefJkWrZsSc+ePSkoKGD16tUuI+wdOnRgwYIFzJs3jxYtWvDpp5/y9ddfc+ONN9rzZGVlMWLECBo3bsyQIUPo1KkTqampLiP/7dq1Y+PGjcTHxzNs2DASExO59dZb2blzJ++//36NNVB9O4jevPqlyOQLKsFGtCHnmfJCJh04S2zecrI1D7LZ7M3Q0Fd44N8Z9J1QcZ//eQZy94U0MvDB3fsslIvLEqs/wuHiGGb4x/D4uSOArdELIEm2WdQ+ZAB60nVGtCVGjhJs/3hJThPYJY1MlrbirfV7EEQnmWCz65zA1e5+tpGCAKANtHc7B0tdG4waXQl6cz6FkgSlAytnSg3LrSYvWhbYKnSotzuHVrrjaSnmhdMH2GX0YI/BlzsuHnf5NK8m0V72fSYPHus2k9CV6ehKJ/W3dPsQsEWT7LnlDw7QjhydkZaeH9AoV8tm4KJWz84mtoczyKMZ7r22k5taOhG90VLiPdJhVgdOGYxQANlhGZAGOdHZLMiMocVFC004TqYBtpht0wDKz6c+SiDR2BqLIQ+vYaeczJgMmwEeji0QlVfzoxAZ4rDuyzoiEjIom06Xb9byfelc0pIEiZv+Vh6dKkKDAautsVRqGJbpdsLTnUZZtgblii6B7E7wpGiRhvZnNI6GTxxgBhKACOB9KDRpKPCGCKOBE4VO1760nPdElfDRi96k69x5IzgBiwSWRzQgy5yMM7Cis6s1VqyXbPeKAag4vZTOjY/xfVEUhnHemNy+hZdtwbL+5xnInru9OBMIwdp1gE3HQmz30WzfGB45fwSA30cCcyC4XO+K1WmZokIv+K0prDjTkBJJw30XbIFzNrr5UKDRMknrxXPndiMBU56IJ9ddy6vv7bPvb9HAjBchY17lI85fNI3nAQ4CUISeLG/w1zsFErzjAmtMTXErLnGZ61uf7CaSVhzmDN6E4jBCVnr40y3HNqq3i8gKkeSznToSd0V50ORYDie0bmSGASVwSuOJt8KnKUNvskUal2zeDlODEznnZPNtMZfzmJAkjsWYCTxou4G+uzWM5ntsHRk7iSQXMzIWPNjPhta++BismOU/OeGWYj/EW881YsyH4xjm9R7mhuGAxIbee3CzuNPQzfWaDu0YzYHZh/C1FBKzN4sNL3+Dm3QGCTC0zCQrLw2sDfDXyWSWlHV6QVPjx+yIcjQqO0Z1ZbUmHXTw7JwphPxrHOk7z+GlOcJDAUX0DB6qGKTGWM69sYefN/l3JZKe9jfDBofQMdibb87YrlPZLT87MY7P9pzhWHoRTe4ycXucH7kWq9MxL2CVSrgz0Jduvl68IB/nrM7I+4814E2Tjjw3Hd8OsPUc2ToNcgif2QOzXsdTkSHYI434OMoVUOr+3O8GD1ZLxXz1oG1U861ZNsNseztvWrRwp93M/xIcfjOLnNyeJY0EkgW8bDWQ3eC27hF4enlzJuow1mMFlHjkoctx6jDwA2x2J93yV+Ah5+Cue5bGnl0Am3t38KMjOPXBBQDOtQ0kNsXAYV0RpY+kHVMvPaNDM9n7O5j0Wl5ODufQB65eYs4EW8+y6Pa9tFsXQ8S6YFI9A3ks3NUDYMHUBtw7tlSp4Ew6hX3Kv8L/Q0lprJkk0zeUWDPpEjCEVj5h8JFjSSKTVt0jRSNJtPR0Y/KdDaA0yHSLuH2APxa98/0jsdkXNDIM6ZoCOw7w951wMN2dwK7deEM6wSdn8gm2bqBQ6kjw5K78N2s8WG+il583vfy8GY1jdHBsTAA/nz7HnCG2DvwFzRpw744DTmcDsyYTnV8uHm5eXMACksS2zsE01b8PQJ/g1/khYzKbeL5CvcISh8CDObTKv4C/bxjL9+TR1bcrSR5FjKWEfPS4UWwfmjrSMct+v78eF8EvHAVgbZIvcevy2NLCi+CzBbTeWvPRwL9b+XB8rZmnzx7iZKjtfbD2CSuFWugzDfbFuaPLLsL9Qo0PLagGer2e999/nxkzZihuf/TRR10M9uoQHR3Nt99+q7ht3LhxjBs3ziXtmWeecRmF7datW5WxvYYOHcrQoUMrzaN0rpoeA2yxxpYsWVJpnubNm7Nq1SrV7StXrqzyPEp8+umnVeapjfIlJiayebP6e7iMu+66i7vuukt1+913312tyPSNGjXis88+qzJfdbi21mK6lpAkDqb7IMsS7QtsLjS7G9k+uDNjn+f9yGH2rO8GN2SZVxAanTuyRkKpy3eb2ZvJbbVsfmUOyGAscl2GpW3+NsA2orzb6MGnfpFk6E20uu8/SDqbMRBnskVdWeoVzAHCXQKi9O/hOJ67bLKvGZzXzLV3MbyJzRiKCDZA6YsqoMFWm/v8bYAf3N7iKS6GOj6IY0ITQZJp5BaNjIRHaBiSDD6etvN/6xPGayGNaWA2MiW51E1Yq2dMaCLz/SLZZ7L1hudX0tFp1BWik22WcYDsjb+7I8JMUGnDNa0Z3BfxJE0LlKM460JLXXA9dDwdejsekUd549UtLI0wsM8DpFttLoLuXgVk6Mx211WrZHNhBHBzGrH6cGgsJ0vnrRd45RNn+qm0BeN6XrNkG/mQkUj3KkD2kgiNs0Ab1wAbZXP+frsp0KYpQBLQCI7rTewzurPYy5bpTBeFDpY+roZyVkg2mToDm31AZyjrFCjdKAEeEDS8JV/cbXMJb+2p7ALeI6I5Y5va/HqLNBosZV4RksSKR5qQ7lca1Kr0nqoQzLCc9264xhY3Q/LVcGvkv5Fk8Dgqs7qXP2dK3U0NUg7f3BbG2ta+ZJQOhKXpzYx9qTHvPVk6ins/NhdaJw7FurqSFxghX6uj2MkAkkob/BcMjnnC/RJDKTRq+fpRp+BAHXbzWPaXtpFTR0ctnX08cbc6Rrh1Zc+SwWGUF/k4ooQXxxRSrNfwSw/XoC3VQZLB52DtRXE/p7E1RPMwsZrG5GBmptM0kv85xTv4PtDD1lGmgmyy1Xu/2Y21D8KAx7aDzvaMvnV+jOM1N8CxT7IekOBcmX0s2eY4f+sdVuG1eCrWMRJZ7DS/ccFLHpSgxSLrOCr5ICMxPr4B4xreyYTs8fZ8BWYtcTPn4BYSiSRpkCSJxx9K5MFHXG/IRDcTvgY9xaWPlGeHzrhrTts7NbsHPkqwdiMANwcEklI62h2UtJGWHo5pO5MbuB7XrcA1YKdeY0GjMk1Gr5BuTvQnbkZPOrbxdsmzvamjM+OBWwOY+UYMr3WMoLmHG+29PdBoNERFRYEkI0kwMNifQIO+0oane+mIucGgPCYQUDoK4eWhZcHUBjRvVHoBA0v/nOiT1IjwQUPwvfVO3m1ge7dc6Kuj5SsVgzjFlL77Y95IgaEL0ZYv4g22jsMFzRrQo2A57Qtt70yNk2eWZ4fOABhjvWk36kaCAwyKLScJiYaeNxAVFYVGo7Ffi21NvflXaMXpV72L15DlU8yyHjnMax5NSSNPmnrY3pHdH/Si3yM+tozdgEYwKeIhHoqaCIBOY+Cu8NcZFfcsvQM70cy7Z4Xjl6ELcnPpWCxjYJAfcfof7L81kpUfvYL57AbHfeZnCKNFoptLTIRiNzgXD4nuZszetufXXXOaGY1j8Qz3QqOzfTsjjAYiTKXvblkiKiqKOHefCuVo42l7p3pqNXzVzPbubXffRGY+54gdMLmRo0yNPBMwSrZvcECAq7t8gNkbdNA5sRGPJITyTEoItwU1IcbdNmK5TRPBTqKQ7Y5kMreZz9Pc3Yy/3nZvHnODXS29ePWVxuS561jUL5Q3nk9QHM56//E47gpSj+p9Rm/kjeAEDsbZ7v/pXRpRVOo2n+lrYMewn9n76AX7PSMQCARluLxyVq1axQ033ICHRyWTgYGzZ8+yePFi/vWvf9Vp4a5n9BqJ9Xttow8P3RvOFwFz+avkNdp4uuOuNWGfuOuEVMXa1x5hx5DNBQRf8MWzURe44Fi2qrVXOvvP/81m4w186RdpT3fzO0PZmEpcy5s4veJvl1GuhjEm9h8pICimJ5SOifSXk1mm1fNL63Cy+vvBxyUVfLdbNXGjLMiPZ8gJuMGWHmvSoTFo2fL0Wjq/2Ntln2T/XtwVYbOmDlh+RF86J1mWbOO3b8VHknHGaUj1YYjcvpz0dbZRr81u3jQtdBhIs9+K4JFXKy4X0kO+gaC4xzjAjwDow8I5+pCJnQUFhJjiSQM6NfyD8La3QRB8fTqTtl7uuN3oS6p2D2cCE2lkDiXXswsX2cBxrYUDnhDlaTOq8qN94WTF65MQa0K7y/Fb53YYSg2YsuZVlC6Vk9Gdsewxc87H1vg53dw20mPVSOwPycFi0XDLAyY+OZfD7FujcStbtk2pg8IMdIZZ+2yNoegBBqZixOpfzi00GCzlApXppRzyCSLdDAarhKWICkaQV7cosnYcwFentY/slejA1ucj07RoJ9AAH72esbHhvF4qTIKbgYslMgOD/JleWAwWqz1gUH65qNjDu/kxr9EB/tgBHSy/0djrbhI1Jnr4eaORtOzuu5Gz8ek8n+jH9LQ8sqwNaPg7/NbRm63NvWntFMDVopXI8tbzZEQwxwqKWJuVbtc/cmZPlh2zjfgm6j9jd/GDLuWwt/0TZHwzi7glIYfzi2UCMiX6BfqSlT+Rs6Zj2Cx/CG03GPc2ozDtPkiB7KjTiIhgsgyHWXHuKBd9OgLQ/rFxFOW60UjzNpCJMXgtYLtmgQrzp9XwKbJ1HJShsUiEr6+94HaFGtjqCS2zoOxmKIsXUJ58HfwvCDqUW4XmPO74ksumG3xouu8iBVG291q7mHZMGPYNbdfa3oved2rJSrPQNsadDdiMggfiY1jDEZuHxRkgDuSTEpRf6caEUj8mmT56ZC2sux9y/TQUeIfTwsOMj14P+FU4jKYaa3Z7l0ZnzooNIGjPSYIfHQEHHG7B/sZIl/y3BviS8VQxoyJuw6wz8WXmEZKL8gk3GTCElRY6zHXKkbc+hKa+t7gcZ0KsbH/tdmnnyd5t7nia1ZdwnJEQwyN7DrO6nR9P/qsdAFqtZO8ILUOr1ZKUlMQfB1yDWsku/5ddPGbc70kgoGMEWjfHe8XcIhCdj5HxcRHEmV3vYa1ky9fa/SQBxiYEPdGKeZLt/SlJEt432QzSwNIR/ZyuejxDJHB6nQ8K8ce/1JNBY9KBe4H9kk98LpKX0o9Xe4jC1NgP/7sTkCSJdt7urM1WniJSpk0ZY8bY3t8j/b2Zi6vbfBPrYcAfNGcJvk3PyzGO0e9hrRwdWaNbh7AtIZ8Ik6uRH2a29Ya28a18bmP0lBSO5heiP5bGOw0i8Sh1ydVIEgER2zkV0JbG/b4AS3vWufuhceqD7BLwIJ0f1lNY6PiANzAbeSvecc8+FjvX5Vly05ylheEjevo5XNUtVo2LLhHaFWilQmAko6NDKZFle0dkebx1WnuZy9BJBlo/+C49wu4Hp06+Rm5mJsRHEGsyIkkS7b0dbVkfnZm/fbTcGh1AkdF2LSxGK2G6Yl6Jsr1TlpZ5AAfhFKdDYmKTaLwmasnPsoIE8n9zOBJm5qy/Fj+nqV/uWg2RRgN78kqDK9/mCMo3KtL2AS02aPj4wWjSQk00N5fQo9kA3LTVXw9eIBBcH7h8eVNSUlizZg3t2tk+zlarFZPJxLp161xergcPHmTYsGHCQK9TZNolnGTT/lAk4L6G7/Cozh+9xlQ+G2ZrHvkaW0Oxk7cnsQ9baBzjx9LpJwiynOK01jay5nYeBhlexPuGRNIL9lG2TKi7m4bwf7/MyGNHeHieeom82oeTMeUwCXlv4PdVPP773Ll7+Ivk5Nkaarn3zYdiW0P2rTvGEHnDexjdIxnEAXtD0XmQRR9sawnkBDlGy9+Is7m+3RH+GmdwjABLyHjpArFYLGzbtg13rYxX8wAWPNyAe591uMiZyiKPJzpWXi+RNI4RYyfc3Y0EJW7i9G5bREjfAXdxnoruS9ETJtMxM4udaQWljQiJPs1/pUFbW3CI20t70GW5Of2TCujgHo6/XkecR1t2XVzJSY2tsfnIDXOQPy5me34OrK44z37ME+EcHGmLGLyibTGhoYvI79MWfonBIJsIKICu2auYRRSZNKbAqKXBgv4sPfAlFIDWaqXluVw0PjtJ9rqZ9fkN2NqiogHR0sPAViXfcMAjSsvRXCP/1ySOaSdsS+RYJaBtxbxB2r/JJg4/Hy3eXeLI/NpWdneNhlynKTLTE2IwaiQ2X7SN+B1+80YWpZ3jrhgvbil2hHpOdDfb5hZfhGRvL/r4+wAgaTRgsbKnkQdr2uWzs7FtJN8Yc47Cff746gx0MM+ie/+nCdO+is7ox1gnT9Fj7Q4Scbo7EaYGNNY/z/Fzd9Nu63p+69jdpT7lA7HdF+LPXZg4ymE63eSP0ceEfMKWyVe7n9aadzl10wuc2CLDTtd97x4SQYqvF48FT8T3rIG3gWi3VpwtOkbMp30pOJSFRxPbMM6cxHju33UEgIDSURzvoPYMcKqDRleC0deCyU8PJ+DGkPt4I/g8EjL/kqq/3r2+XEeZVSuT3lomdJOExvLPDXUZKKrBQFCRQqfR7lKXiH3xMv8dEMaORFvjVUJDTnAWeT0OQza8c2Mkw/cccen78/bUEhKoJ6NNsWPktT+Ky3GlB7u+Sw+/5MMXJTbRGzYeh1aW6Zg7muYRMS71o812iqIG8F4DV8O6PO283Fmfnct9IbbrfNPLLTmb2dQlz1MNFjgfGZAJMep5LdYRVGB2Yiym0tG1QD89T7wWxPSTp9EXO0YPEzw74a139aCIc29I3qu+WPOKadDWh/y23XjowCHU8NBpmRgfyU9nL1S6lmvZO1hy1xLl0cye7uetI+20o0xjY8N56eBxzhaXIOk1mBq6TlsKf7k94BKc245OY+CBqMn46EPQSFoIg8xDJ6DM8FGgbNQ7L1YHFOHZWmHpg1KvhdgIo/3790hY5cFFASLGdbT/v4O3Jx28PbnX4aRvp0ybFi1aoNVqaenhxtYc23vv2aEhLF+Txba9+a47ScX8p6F6xP02Xh608ap80KQyJJ2GGE8znzeNr7BNZyyg5T3TCTLGEVvQjV+wIku2NaePZxSh09i8BfSlRuj/NYmr4KVh1Lp+Yx6M/gBZtrrcQ1qNlc2bN9Oihe19H6Uv9atnpK0cldxvSlu6BAzhN3k2RlNFr404hRgMAH4GH3YbC+jxXBj+OV4sKLASHnNUMa9BkihyaqyEl3oCePqXvrCGt2JnZjaknbaXsKmbnldL2y92t/3SUC3zm8a76HYs0qGZEXe7NjWZzyxQ51LdrgWCKwkXA728i5osy5SUlIj10OsBnZ8v8aajNNuSCnTHz+AaBUp2Gq94PutdYmf9HwAjI4PBqd0YYDlLjuRBnsadEfc8TEDpyGiUW3PujZjI6tJ41zofX3Q+vlCu0dEl4EG8+geR/60tmmt8aHvaZabje2QhWoMWk1GDyWhrGBU3LR3+taa4HEMjKQc/M8X7EDOzJ0vP2gxMsHkOAHjrg1zGGzr4D8JT70dxcTHHjh2j13+6Y/KtaHz6eOp499+RfJL9FQdK2qtGaLvw1hgkaQFayfEIeLZtz/m/lecX3eTnzU1+NldQ79CenD9eMaKtJEl4BbajfF+4j5+GrAulDUgvI5rCvAr7AuidIkWbAw6DpYjWjf6CX2LQylraldr0XpmFZAIPhdm+/re73cu+4pPcHpRAzuFonmvggZtWz0th93NvptP1LD38iIhwHkU5kI99GaPSObC/dA4iJTkeNBcAiP6wB8/ssu0bpN2C/6M7GdHgMwx6DR63xTNfklhw6hyLz16wH9Ov1Ojs6O1BQzcT6YVFZOVmI+n1mMJdl0d7+IkAonRGGvk5GllxZiNni0tAkog8vQ4km7tFUh+ZtTfaPEcei1NfEPnWkBfZsvsQstWKViqhQ/p8PPIgxKDnXGEekmx7JkaODGZq4SnXaxLiTugL7XBr7mjEu0u2YTqjlE1YkBsn2ueCH/y4KoR2SVY+uqEhZq3tmcjxLCHL09YZ0sH/Xtr43oZOq7Mb5wBap0BBHybEKNahT/DTBBlj2VXattdKeoouwSXSbIHuTlWUJbgQDyHKS2bXmIOh7jwyIJCt085g8TvHwQD/CqE0Npp9aJN/ocK+DVovpU1GLNnppZ1pksS2Zo7gZr46W8dMw2LbKLCmbITL6SHXaSXefzma5/Z8x8kSlXW+ABKhY/sovC8a2HPG5i4b07AthYds11YjlYBVx/Fjx2jerJnrvjduo0nnl6vU4t5gf2QgsPT+Nxq0hJdGFG/l3ReLXHE0W+l1VX70sIuvF2HP2uZOGmNs+ni0U16Hz62pI5ijuRrLJsaajbZvSCVYrVaOHTvG0N4fYnYK4PbqE+HM3XWaDdjeb546La/HRfDzuQt4X4LhUf6bp2SolaXpJIloQzD3+/egh3cbzAuq51Wik6Cxe9XrG1eXMm2aNWuGVqvlhWhHUKYbW3oQEWLgubcdc7LHhA1BW4Xn2+Xg3sgJ7D9SAJzAXetYRqs8hmq8c7z1FSPpS5Js16VvyDP8nPG+6v63hP4bs8Yxncqv1APFQ+dHTsmlx9iIizSx+2ABkmTzPtnR1IuIPNnl/QGg10s8GxXCO0fTVY5ko5WnG2aNbS7/ew0i7dM0ANp7edDAzcgXGbbOU7WpJyBVuGcEAoEAKgkSJ6hfNKVz5zRy1cH69JTYjWRnxj8bgXnDdvJ+nEjo06Nx93eNkBxkikWvP8gdvdTnULXy6Qt3AXfZRpm1ko72/gPJfTIefUioS96bQ56lRC6CDOVIqwBmL1s5G8fZGkU6HxOPeMwi48h5kJQ/Tjd39aZ3Jx+XNJ23EUmr3FiICjMSX7SJwJJfCPObznEcH/X0wY2QNzvWO0zw7EQ6Fwlv8RplLvflP9jl8Y+5B/+YeyrNA6ArddMcMDADz4sJ9vTe/t5k/KsQ70X5cAAMeomPxsbYzl36HdcAKWdAspqQAZ2floBmL2O1FNLn0wXM9GpJl0hbV0Bk2AA+DIPi4mKWAv5BXaosWxnhRj0nC4t5/L4gCotk1sg2a6qsOfFnV38GJfjwTJ6JPXn56APM3NY0nFCjnhUZoNUXY9DbrkNZ461s3yFOy6yBrQMj2KAno9Tt1arQ8dczxKdC2oiIYO4pKsFdqyFbp+Gp/POcio6nSPaF3IqeCOUJMzdmC4fQS7YGp1vpLpMbRnF002g+S3iAoAOetInxgL2nKuzvnuQwWPp7fcaZQlt0qJ5Bj/PzhdINjeBCIwOBzZSjkNvqr8FYxXrlajTyLF17K99h7QY12YhHYBr2MNbVIKQAjLUc/3Ov0Z3w4gI+CIwjP1bLwBvdOXJ2JUcbf034jhQO/OnaYfeDdwhH/c9AuWV/o5qspk/Hfvx3o/Lz56Pz4Mv4V5FKA2TllmZT6j9+o8FNjD9yhkMFTg3j0tvx5fzxZG33pvOQ9+E+X35KOwOZWS4G4O1hr2KUPVmzxzW4jLtfEjlnVlclCQBhRgPPRYUqbusS6Do9YlD4SMYdOUeEU2T16qDzNtJgQf8a7VNbmLQe9nccgK+3joAYPTg5dPjrdTxQ7j1Qu2XQMDgkgI4+HkiSRH/fjpXv0HM1nmeGKm7yjRzAxdN/2n+//3KU/d2mhl+olszSG/mWAN8K28sbZuHBBqa+HMXq3z7GP/peYtxiK+xzOXk0dnZpV6zju9f+H4zWK9Gvm4+tw6v0OW3o0Z6fK8kf597a/v8XokOJLZ3+cH/kJIpldQ+Kqhh0iz89O3qjU5iPX8YzD4YQFWYgzNMWl+CbU+cIUXkm/fQ65jWxeSWUzV+3HyfK1mFWZqCrIZV/CQoEAkEpwkC/homPMkHU7RQlt8MQprwO0+fvVnR7qw7urW6okNbAwxbp6nQ5Az0k0MCJDFuj2uQl8X/vxrk0fNx03kxo4LoMUBm6QDNDBlTtgliessZG2b//fiSU5g3NGAwaPkgYa893QxN3Vq67iL+fH0gZise6VCLNzUkJfJgmXiloQxyPmkmj4bE2IRTH5nN0xA70Ogl/H9t2g942nz4xIQq97iTuZ9pwwfALPrc+gJuvbUSw+S1HGP/Lm5hNVUeKfDMuguwSC+8dcx0N8PG0eT+8HhdBVrHF7sInn5PZnVeAplwbpr23h30+Xy9/27XyCx9LvqXiSgO3BfpiBfr4K1/TmmLUaOzl83nrPXtMuK9PVd+1G2z32d0Rb5L9x6sAaCUJLTJ3x0wl8ot5aJ08GMqPWpahlSxoJKvdNfmXC5WPstQ2gaWjNGFGPQ1SFgEQYX7Ovn0jDWij4HpbhkkuoTZe+7ube5O43TY15QfvUEdcCsnWEdP/1lvIL7iBPN1vJPq9A7NutW3WWpAtWsLb3MDmdbYR5P95BGBotMd+7OBEE8vibA3x8lGetZIGtLaOFm3p/GMPXcVr5a7z4fkYD4bvOWJLuBMGxfmxq6gAt4J83AryK+zjTKRbU4qLiwFXAz240RMExtf+1K7GHr7MSPDEV1+3n+SpDaPwrMNRurKl29Sen9qgfH9MvwCf6u8cdprgexzfrlCDw/jyj7kX/5h77b9DAivvLJn8YhTFJpl30tN4r2EUHlpt6T1TOaGBBu68Z2T1y1yHKEV6N6p0fF8qg28LsHUeL635vkmejg5No9YNY+labJfi06nVSoQE6Cvdv30rVz0GBvur5Lx0FjRrQKHVylv738GkqbqDWSAQXJ8IA/2KRcP2I4G0r2K5O627B1SxprGacX65eG1EOI++etgW2AiqHJUoI2ZGTzRG14aeRqMhISGhyoinwcZ4LpactX+JtRowlAZr0UtmimVbA71dCw8WTLWNehYpe55fMpIk0byS6LpK8zw9Gvly8XQeSe0HAgM5v3QxaM6hMTl08L99IP63D6ywr5I2Zcs9hRj0ZPgWw3HQ6SSmj4tBKjWmnBvTvf196F0697sqws3KEbjdtFrur3TUrHaCkt3g6c73Z85XOerorEuIviE55VpnRorwKjXyPmkcy5qsHFp41Mzt9aHQADKKqm6c/1Maupn4oFE0QQY9G896k2/JIt6jLWVTU4qoZM1nILo4j3NOkzAkKwRut/2rxuc+EVg0EkMzHUuimeJ9YXsW57V6l6CRUU4BndzNkZiibiew6Cg/eQXj3ekcbLWJHxjhA+tsS/2t9AykSZufSDgJulhfeo/1Y9Gew3T2qDwAm5tWw6jIEJp7uNHrGW9OnXXV30fn9HnzgVvD/LgVKHzrPZdnz/l2GBjkZ/fsUHqeJI0OraZ2RxjLqGvjHCC0hiP0SlT2Du7u60VjNzNhtXCe8vzTt0ZMu+nIVkfsjTfjIgg2VP68VEZ4sK2OM7wdo+DV/T5dicSEGWnSwEzvzrXTsepMXekiXeJdYSjtgTbKhbVZnAqEqdxfRo2G4VEDSMtvfFXfMwKBoO6o0CLYu3cvutKGjcVic7/Zs2ePS57yvwW1jyRp2HEkiGSr7FjXWgFzQmNipl7Zwfq8PLS8/WYkLx46bg+CVR10vhXnwGm1Who3blzlvr2CR5Bccg//Kw1U7yzhvZHjOVOoHBzmslJaJk93h4Ec+GhLfO9o5MhTg/gPlWnzdoNI8qOtXOxtwa0ac1GdilfrlF2LfxrZoqGbiQWVuJSXUZkuftEDOXvQERnRU6e1ewgooTb9obWnOwEKjbFkj6b8mbO9yjLWhKDS8/gbIjiR7wiw6KXVUsFvvAo0VomgHcpXervBF41HCXuNnhW2JSaGkL15DYZbmsB3jvQGXq4u/Fq9F+ENHkV6/hmSAoaSulWLDPTs4E14sIG3pttiWzzVaQRuFnd0peuVz2hcPdffdqVeHQ2jTTSMrnw9+TKMEcrB3STgTqclk6r7rrneqEwXSZLsS2vVNl19vdidV0AlHsqVojO6TgUpv1Z9bXA13zMGg4bXRtRNZ355XVr79MegqXoFBDXctD4AmC8x+nmShxtDPM4Tf/5voPkll6MqpjRSD/4Xbk60d3JfrfeMQCCoOypYS0qL2w8ePNjltyzLlUZ5FdQCsoVuLY5gXVOFq6BGg863+nNQq4unNZumhuNA1QZQefyi70HSGDG4OT72MR5GxsaHk/APG0UlJSWsX7+edu3a2TuS7u/vz4p1rmuT6zQGfA1hRIfbvAv8fZzmShrC8DWEURVabyOWrLrtYQeIDHU0aDUGLYYwpxE6R9S2KlHSpgyTxhbMzzes+h0kjdzMrMvOxVTe3/0fUtZJU7ZGcV1TXhdz4ya4J9nmOXoGJuMZmFxn534ieACPBN1Sdb7woEoCCSnTL+Q5sood0zJ89VoKzBaoxHvbnQKXEXSrVuZYZ5moPypGcf/aPwTiAduUe35vno1/0wOELW9DmyZ+RLxjC1TGdw4XdE+Piu8rH30IgyLfxd8QyatPFLB5Vy4ajUSzho4Guo9Bea72P+X2QF++P1O5G2lZYMry8lf2PF3P1Jcu3Xy96OZ7ZS9HJe4ZZcrr0jHg/n90vDj31twZPlbVi6sqJEmikzmf04rhay8v4p4RCARKuLwN5s2rZI0twWVFQibUL5dSP+RK8tVNR8kLWe/ip+BGXR10Bm8C4x+skJ5YC9FyZVnmzJkzLisL9L/Jl/43VQzQAzYX9plvxFRYy7c6RE1NQS6q+yAuldllcg0sdCVt/gk3+3vT0ccDt1qeTxpmNDCrcYx9fei6prwu4S++VmvHjjebbJ0YKvM2NZIGk1T1iGKXSzA8jFo3grS2KPgPhPjT1suDH188C2PV94ngHMdwRFmWJcgNrbjE3LYGXpCLy213IeAYDw8YCwNc885+K5Y9hwuYNEd9Pn6A0RY5IDHeTGJ87UXNrop7gv2rNNDvCvTDR6cltlyHUW0/T9cKQhd1hDbK1LYukiRdsnF+pSHumWuDcePGsWjRIrZs2VLfRRFcI7i0Kh988MEa/QnqD71ka0wGmeKqyHlpxM/5Et9b76iTY19uLsU4B9C66dH51L4bZE0wRtlc5PRBlS99VBdIkuQ6j7cWuVzGeW3jpXMNWHhLgA8fNoqu06BY1eGWAF+CDXoeaqS83JYzUiWjRku62u4zk8Y2PzzYsJ4mt85lRPaH3Lpmq+I+Hu5aAnxt1zPQt2bX9dUnwhj5QNX3dlAdzs82aTXcEuB7VXmFmZs2x7tn3/ouhkAgEFx15OTkMHLkSCIiIjCbzSQmJjJjxow6P++qVavo378/YWFhSJLEokWLKuT57rvv6N27NwEBAUiSpGjwf/zxx3Tr1g0vLy8kSeLChQsu248cOcLDDz9MbGwsZrOZ+Ph4xo4dS1FRkUu+Y8eO0b9/f9zd3QkICOCpp56qkGf79u107doVs9lMeHg4b7zxhktn0p9//knHjh3x9/fHbDbTuHFjpk6dWqUWQ4cORZIkJElCr9cTFxfH6NGjyc3NrdXyARQWFvLKK68QHR2N0WgkPj6euXPnuuS5cOECI0aMIDQ0FJPJRGJiIkudIltW59p169bNXieNRkNwcDADBw7k6NFLm1JbrVaPLMvk5OTg4eFxVTVirglU5DZq3Xko+kM8dLXv3g4gXdfrcV6mnuyya1vJM+XeIonYaR+j9byyXTuvF3oGP07Lwj723xpJUpx7Xl9oq/F+9kY5GuIiYwIHm5Vwy++nkLS2gGueocfxiTxEqFT5pyIm3MjrT4XTKKZmHVpNG1Y9D3VSgyi8FSK1X8+E//uV+i6CQCAQXJU8++yzrFixgi+++IKYmBhSU1N54oknCAsL47bbbquz8+bm5tKyZUseeugh7rzzTtU8HTt2ZODAgQwbNkwxT15eHn369KFPnz689NJLFbbv2bMHq9XKrFmzaNCgATt27GDYsGHk5uYyadIkwBZjrF+/fgQGBvLnn39y7tw5HnzwQWRZZtq0aQBkZ2fTs2dPUlJS2LBhA/v27WPo0KG4u7vz3HO21WPc3d0ZOXIkLVq0wN3dnT///JPHHnsMd3d3Hn300Ur16NOnD/PmzaO4uJg//viDRx55hNzcXGbMmFFr5QO4++67OXXqFHPmzKFBgwacPn2akpIS+/aioiJ69uxJUFAQ3377LRERERw/fhxPT0f8nepcO4Bhw4bZOwmOHj3KM888wwMPPMAff/xRqRZKVNrqWrduHa+99hqrVq2iqKgIg8FAly5deP3112nfvn2NTyaoAZKGdXvCSLGoj3Z56utufdkrFa1WS6tWrdDWSQfC5e180nob8RuYgFd39UAyQLWN87rV5uqlNnUxaMxEmJvUQqnqjyY4orFLVghbJyFZochpdQVJZ6Htw+PRGW0T2qPfeR/LxewKx3ImIbZuXNfrKuhYVYjnSRmhizpCG2WuZF3qappgdbmStbla6datG82aNQPgiy++QKvV8vjjj/Pmm28iSRJr1qzhwQcfpFu3bgA8+uijzJo1i40bN1ZqoJ84cYLRo0eTmppKYWEhiYmJfPTRR9x44432PJ9//jmvvvoq58+fp2/fvnzyySd2Q69v37707Vu551NZzK8jR46o5nnmmWcAWLlypeL2MuO9jLi4OPbu3cuMGTPsBnpqaiq7du3i+PHjhIXZYjJNnjyZoUOHMn78eLy8vPjyyy8pKCjg008/xWg00qxZM/bt28eUKVMYNWoUkiSRlJREUlKS/VwxMTF89913/PHHH1Ua6EajkZAQm9ffoEGDWLFiBYsWLWLGjBm1Vr5ffvmF33//nUOHDuHn52cvozNz584lMzOT1atXoy9dyjY62rVdXp1rB+Dm5mavU2hoKCNGjGD48OFV7qeEajjn3377jS5durBp0ybuvfdenn/+ee699142bdpE165dWb58+SWdUFA9mjRw51C6L74l5yufpHydodFoiI6OrtslSS7TXDBJkvC7sxE6n9oJlnZZtLkKEbqoo7FK+B6SuGh147C7Yy66mzEXvSkfSQKjxh29fwCmmLqZTnOlIu4bZYQu6ghtlLmSdVFbmeNycSVrczXz2WefodPpWLduHR988AFTp05l9uzZAHTq1InFixdz8uRJZFlmxYoV7Nu3j969e6seLycnh65du5KWlsbixYvZunUrzz//PFanpZAPHjzIokWLWLJkCUuWLOH333/n7bffrvO6VoesrCy7gQqwZs0amjVrZjd+AXr37k1hYSGbNm2y5+natStGo9ElT1pammoHwubNm1m9ejVdu3atcRnNZjPFxcW1Wr7FixfTpk0b3n33XcLDw2nUqBGjR48mP98RTXfx4sUkJyczYsQIgoODadasGRMm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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8d0f61d33791420db90a0d2037da42a8", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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6pzFixczd+5c7rzzTrZv3853333H6NGj5c8rKioYNWoUycnJ/Pbbbzz11FM89thjLF68WD4nJCSE66+/nrVr1/L3339z9913c/fdd/PCCy94bY9vv/2W/Px8du/ezcKFC3nggQd45ZVX5M/XrVvH1KlTmT59On/88QfTp09nypQpql3E3nvvPW666Sbmzp3L5s2bGTx4MGPHjlV5eT/yyCMsXryYp59+mt9++43ExERGjRpFZaXoGZiamqoaC/n5+SxcuJCQkBDGjh0rX2f58uVMnz6dyy+/nD/++IOff/6ZadOmqeo0d+5cpk6dyllnncVXX33Ftm3bePzxx/njjz944403vLaJErc+NbGxsZSXi/HIycnJbNu2jSFDhgBQUlJyXCcTqQOeffZZBg4cyPPPP8/YsWP566+/aN++vcv5ubm5jBs3jquuuoo333yTn3/+meuuu464uDguvvhiwNHx9913HxMnTuTjjz9mypQp/PTTT/Tr1++41c2PHz9+jhfBWnuJbwJDIxzoIf4dT4OXTfT8+PHjx4+fk5Nhw4bJO029+eab6PV6/vOf/3DffffJebQCAgJITExs0nUPHz7MrbfeysqVK6mvryc7O5tnnnlGJTO88cYbzJs3j9LSUsaOHcuLL75IWFgYAGPHjlUJfFpMnz4dEK267rjpppsAWL16tdtzbr75Zvn3tLQ07rzzTiZMmEBjYyNGo5HS0lLuvvtuPv/8c8455xz53G7dusm/v/XWW9TV1fHaa68REBBA9+7d2bVrF4sXL2b27NkIgkDv3r3p3bu3/J309HQ++ugjfvzxR66++mqPdY2JiZH7IC0tjVdeeYVNmzYxa9YsAJYuXcqoUaOYM2cOAHPmzGHNmjUsXbqUd955BxCVDLNmzeLKK6+Uv/PNN9/wv//9jwcffBCbzcbSpUuZO3eubO1etmwZCQkJvP3221xzzTXo9XqXsfDxxx8zdepUQkNDATCbzdx44408+uijcvkAOnfuLP++YcMGFi1axNKlS7nxxhtVbTJq1ChNTwdPuLWg9+nTR3YBGDduHPfeey9vvvkm77//PnfddddxcQeRUHZAdnY2S5cuJTU1lf/973+a5z/33HO0b9+epUuXkp2dzZVXXskVV1zBY489Jp+j7PguXbowZ84czjnnHJYuXXqcauXHjx8/x584p32gDf9gr3U/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6DAgTGybcePGYa6rVvWf3mwAUr3WSRq/nsbehqoUeexJeBt750bligmW7DjXqWynOIbdjb3fOYMwfT3nRe+VjzVadewgm5CEaibHHpCP20rFOaV9QIU8R5yIOsn9ZK/TihUr5PYF+KCoC8G6Rpc6fVicTU1FCROjHW1Qbg4AOmOpPKpqG3d1Cqys4cIzenFg51ZVnbbXxPBndSKlB7ayq7CQzYhjzFOdBCFOVacVK3YwfPhwDIJVVZa13+1g/tjR3Pr+HlWdVn+/B+gsz+XKOhXpzyBBV8qQ2EOsWLGDSbGOOuVEl3K24DjfUz916yq+nybHOtpAmsu99dOKFRpjr9Qxl2v108qVe1TvJ6ldpLlcOUdMjlX3kynvb4YGAAGe6yQIYc0ae1J9AKqqE1T9JH3maewlmyoYEnFY1U/O71xohecpzFGnvmmd+P7771mxxfO899P3OwjTZ6EXglzmCGWdzLmO99OHxdnqsZcHm8pDgbQm1WlTdSIXx+ygYZ9jbHiaI2zEqtYRK1bsIMHoeY7QqtOZSQLlYdvl9tKsU1v2k6JOWmPPbBVobEz3eb3Xmu/cvXv38k/DnafQI488wm233dZm9127di2PPvooGzduJD8/n48//pgJEyaozvnoo494/vnn2bhxI8XFxWzevJlevXqpznnhhRd4++232bRpE5WVlZSWlroYIMePH8+WLVs4duwYUVFRjBw5kocffpjkZHUC6ddee43Fixeza9cuIiMjmTRpEk8//bT8+datW7n++uvZsGED0dHRXHPNNcybN09uw9WrVzN8+HCXuv7999906dJFsx32799PRkaG/LfRaKR9+/bMnDmTuXPnqvpn+fLlzJs3j71795KVlcUDDzzAxIkTVdd79tlnefTRR8nPz6dbt24sXbqUwYMHy5/bbDYWLlzICy+8QGlpKf369eOZZ56hW7dumuVR8v777zN58mQANm3axB133MFvv/2GXq/n4osvZvHixS7J1JcvX85TTz3F5s2bsVgsZGZmMmnSJK6//nqio33P/yTYTkDqyAULFmgKukp+++03Vq5cybJly1QLdoCOHTsya9Ysr1u9NTY2MnnyZA4ePMjq1atVArozGzdupG/fvmzcuJEzzzxT8xwtC3pqqrhgl659vCzo6htcTAAAXe1JREFUtbW1rFq1ilGjRrGvxML9XxdwXvdI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aNEiOnbsSMeOHVm0aBHBwcFMmzZNVZ49e/awdu1at0nQn376aTluftWqVdx222089NBDstDdr18/br/9dm655RaOHDkib7O2Z88ennvuOQYNGuR2mzUt3K46R4wYwd9//83GjRvp1auXavuBESNGuMR3+zlxtGTdaTLoiGmhwHbDiASKqzy7GF7YS51kxWTQERGk53BZ8+/bMT6Q20eLlpWnL0kHYP1e8YJKgSY6xECEm0z0Y7pG0Cs1mNIacaGpE5CzSut1Ap0SPMcg+ml7Jp0ZzYebmmZ5bE16pgTxr7NbFiOaHGEiNEDvOn40Vo+LJrTjkW/yKau1MGtgHF0SAwl3cgueNTCe7snBPL3adbF+QY8oPtBor2AvXiRNoo3N0J0Sgpg7LsXt5z49h/aTUqNMHCptIDJYnAO8WfVag7acJ5wTrDWVKwbE8e9+3sfzi//OQK9wd06LCeDJqekevxNsF+hNCpdsKaFeU3YOSWxilnRnkiOM5JVrCz46QSAjtnkW0lkDRauKyaDTTFLaFpzfI7JJbScRG2oktnnOBi4cj/feTee0rldmn/bBvLFedK9vCk0ZexFBosedL4zrHsHYbhEs+7WIPYX1qmfLT+szY8YMamtrOfvss9Hr9fz3v//l6quvlj9/9913sdlsXHrppT5dz2QysXLlSm655RbGjRuH2Wyma9euPPPMMz6X6ffff5eFXxCFS4DLLruM1157DYDPPvuMyy+/XD5H2pJ6/vz5LFiwAIDnnnuOhQsXyucMGTIEgFdffZWZM2cSFBTERx99xPz586muriYpKYkxY8bw7rvvqjKyv/7669x8882cd9556HQ6hg4dytdffy27Z0dERLBq1Sr+7//+j759+xIVFcXs2bPlcoNojb711ls5cuQIQUFBdOvWjS+//FIMv/XCyJEjAdFynpSUxLhx43jggQfkzwcMGMC7777L3Xffzbx588jKyuK9995TZXqfOnUqxcXF3HvvveTn59O9e3dWrFghewEA3H777dTW1nLddddRWlpKv379WLlypSpfAIgW8ZSUFJes8BIbNmxg/vz5VFVV0aVLF55//nl5WzyJhx9+mD59+vDMM8/w3HPPYbVaycrKYtKkSVx22WVe20SJR7NQWlqaqpIS11xzTZNu4qf1MRgMjBs3DoPBQLsoHQEGgWEdw/lqW9vEdnsiwKDT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74eaek3mOIJe1d9W1xg1Xbt2Da1bt8b169ehVCoN1oGIrMMqR9Dj4+Px9NNP17pM69atcfToUVy6dMlg3u+//w5vb2+jX0+lUkGj0eD06dMAAB8fH9y9exfXrl3TO4p++fJlhIeH19iOk5MTnJz+7/7BVae4+/n5Gb0uRERERES2oqSkhAN0IhtilQG6p6cnPD0961wuLCwMN27cwM8//4wePXoAAH766SfcuHGj1oF0dUVFRbh48SJUKhUAIDg4GA4ODti1axdGjx4N4N5R9uPHj2PBggVGt+vr64uLFy/Czc3N4AicpRUXF+Mvf/kLLl68yCtv3oe5SGMuhpiJNOYijbkYYibSmIs05mLI2pkIIVBSUgJfX99Gf20iqplN/wa9ffv2GDRoECZOnIhPPvkEwL3brD3xxBN6F4gLDAzE/PnzMXLkSNy8eRMJCQn461//CpVKhfPnz+ONN96Ap6cnRo4cCQBQKpWIi4vDK6+8gubNm8PDwwOvvvoqOnfujMjISKPXz87ODmq12rxF15O7uzt3dBKYizTmYoiZSGMu0piLIWYijblIYy6GrJkJj5wT2R6bHqADwKpVqzBlyhTd73Oio6OxePFivWVycnJw48YNAPd+43Ps2DF88cUXuH79OlQqFfr27Yu1a9fqficOAB9++CHkcjlGjx6N27dvo3///li5cqXR90AnIiIiIiIiMiebH6B7eHjgyy+/rHWZ+y/CoVAo8N1339XZrrOzMxYtWoRFixY1eB2JiIiIiIiIGsrO2itApnFycsLcuXP1LlpHzKUmzMUQM5HGXKQxF0PMRBpzkcZcDDETIpJildusEREREREREZE+HkEnIiIiIiIisgEcoBMRERERERHZAA7QiYiIiIiIiGwAB+hERERERERENoADdCuZP38+unfvDjc3N3h5eWHEiBHIycnRW0YIgYSEBPj6+kKhUKBPnz7Izs7Wzb969SpeeuklBAQEwMXFBa1atcKUKVN094SvEh0djVatWsHZ2RkqlQrjxo3Db7/91ih11hdzkcZcDDETacxFGnORxlwMMRNpzEUacyEisxNkFVFRUSIlJUUcP35cHD58WAwdOlS0atVK3Lx5U7dMYmKicHNzE+vXrxfHjh0TMTExQqVSieLiYiGEEMeOHROjRo0Sqamp4syZM+KHH34Qbdu2FX/961/1XispKUns379fnD9/Xvzvf/8TYWFhIiwsrFHrNRZzkcZcDDETacxFGnORxlwMMRNpzEUacyEic+MA3UZcvnxZABAZGRlCCCEqKyuFj4+PSExM1C1z584doVQqxbJly2ps5+uvvxaOjo6irKysxmU2b94sZDKZuHv3rvkKsBDmIo25GGIm0piLNOYijbkYYibSmIs05kJEDcVT3G1E1WlMHh4eAIC8vDwUFhZi4MCBumWcnJwQERGBzMzMWttxd3eHXC6XnH/16lWsWrUK4eHhcHBwMGMFlsFcpDEXQ8xEGnORxlykMRdDzEQac5HGXIiooThAtwFCCEyfPh29e/dGp06dAACFhYUAAG9vb71lvb29dfOqKyoqwttvv40XXnjBYN5rr70GV1dXNG/eHBcuXMDmzZvNXIX5MRdpzMUQM5HGXKQxF2nMxRAzkcZcpDEXIjIHDtBtQHx8PI4ePYo1a9YYzJPJZHrPhRAG0wCguLgYQ4cORYcOHTB37lyD+TNmzIBWq8XOnTthb2+P8ePHQwhhviIsgLlIYy6GmIk05iKNuUhjLoaYiTTmIo25EJFZNMZ59FSz+Ph4oVarxblz5/Smnz17VgAQhw4d0pseHR0txo8frzetuLhYhIWFif79+4vbt2/X+ZoXL14UAERmZmbDC7AQ5iKNuRhiJtKYizTmIo25GGIm0piLNOZCRObCI+hWIoRAfHw8NmzYgN27d8PPz09vvp+fH3x8fLBr1y7dtLt37yIjIwPh4eG6acXFxRg4cCAcHR2RmpoKZ2dno14bAEpLS81UjfkwF2nMxRAzkcZcpDEXaczFEDORxlykMRciMrvG/fcAqvLiiy8KpVIp0tPTRUFBge5x69Yt3TKJiYlCqVSKDRs2iGPHjolnnnlG77YcxcXFomfPnqJz587izJkzeu2Ul5cLIYT46aefxKJFi4RWqxXnz58Xu3fvFr179xb+/v7izp07Vqm9NsxFGnMxxEykMRdpzEUaczHETKQxF2nMhYjMjQN0KwEg+UhJSdEtU1lZKebOnSt8fHyEk5OTePzxx8WxY8d089PS0mpsJy8vTwghxNGjR0Xfvn2Fh4eHcHJyEq1btxaTJk0S+fn5jVyxcZiLNOZiiJlIYy7SmIs05mKImUhjLtKYCxGZm0wIXlmCiIiIiIiIyNr4G3QiIiIiIiIiG8ABOhEREREREZEN4ACdiIiIiIiIyAZwgE5ERERERERkAzhAJyIiIiIiIrIBHKATERERERER2QAO0K1k6dKl8PPzg7OzM4KDg7F37169+SdPnkR0dDSUSiXc3NwQGhqKCxcuGLTj5+eHHTt24M6dO4iNjUXnzp0hl8sxYsQIg2ULCgowZswYBAQEwM7ODlOnTrVQdaazRi4bNmzAgAED0KJFC7i7uyMsLAzfffedpUqsN2tksm/fPvTq1QvNmzeHQqFAYGAgPvzwQ0uVaBJr5HK///3vf5DL5ejatasZq2o4a+SSnp4OmUxm8Dh16pSlyqwXa20rpaWlmDVrFjQaDZycnODv748VK1ZYokSTMBdp1sglNjZW8jPUsWNHS5VZL9baVlatWoWgoCC4uLhApVLh2WefRVFRkSVKNIm1clmyZAnat28PhUKBgIAAfPHFF5Yoj4ishAN0K1i7di2mTp2KWbNmQavV4rHHHsPgwYN1nfbZs2fRu3dvBAYGIj09HUeOHMGcOXPg7Oys187Ro0dRVFSEvn37oqKiAgqFAlOmTEFkZKTk65aWlqJFixaYNWsWgoKCLF5nfVkrlz179mDAgAHYtm0bsrKy0LdvXwwbNgxardbiNdfFWpm4uroiPj4ee/bswcmTJzF79mzMnj0by5cvt3jNxrBWLlVu3LiB8ePHo3///har0RTWziUnJwcFBQW6R9u2bS1Wq7Gsmcno0aPxww8/IDk5GTk5OVizZg0CAwMtWq+xmIs0a+Xy0Ucf6X12Ll68CA8PDzz11FMWr7ku1spk3759GD9+POLi4pCdnY1vvvkGBw4cwPPPP2/xmo1hrVw+/vhjvP7660hISEB2djbmzZuHyZMnY8uWLRavmYgaiaBG16NHDzFp0iS9aYGBgWLmzJlCCCFiYmLE2LFj62znrbfeEk8++aTB9AkTJojhw4fX+rcRERHi5ZdfNnqdG4Mt5FKlQ4cOYt68eUYta0m2lMnIkSONeq3GYO1cYmJixOzZs8XcuXNFUFBQvdbdkqyVS1pamgAgrl27ZtJ6W5K1Mtm+fbtQKpWiqKjItBW3MOYizdp9S5WNGzcKmUwmzp8/b9yKW5C1MnnvvffEI488ojdt4cKFQq1W12PtLcdauYSFhYlXX31Vb9rLL78sevXqVY+1JyJbxiPojezu3bvIysrCwIED9aYPHDgQmZmZqKysxNatW9GuXTtERUXBy8sLPXv2xKZNmwzaSk1NxfDhwxtpzS3LlnKprKxESUkJPDw8TG7DHGwpE61Wi8zMTERERJjchrlYO5eUlBScPXsWc+fObUgZZmftXACgW7duUKlU6N+/P9LS0kwtxWysmUlqaipCQkKwYMECtGzZEu3atcOrr76K27dvN7SsBmMu0mzhM1QlOTkZkZGR0Gg0JrdhDtbMJDw8HPn5+di2bRuEELh06RLWrVuHoUOHNrSsBrNmLqWlpQZH4RUKBX7++WeUlZWZVA8R2RYO0BvZlStXUFFRAW9vb73p3t7eKCwsxOXLl3Hz5k0kJiZi0KBB2LlzJ0aOHIlRo0YhIyNDt/yvv/6KI0eOYMiQIY1dgkXYUi4ffPAB/vjjD4wePdrkNszBFjJRq9VwcnJCSEgIJk+ebBOnFlozl9OnT2PmzJlYtWoV5HK52WoyB2vmolKpsHz5cqxfvx4bNmxAQEAA+vfvjz179pitPlNYM5Nz585h3759OH78ODZu3Ij//Oc/WLduHSZPnmy2+kzFXKTZQp8L3LtezPbt2//0/W14eDhWrVqFmJgYODo6wsfHB82aNcOiRYvMVp+prJlLVFQUPvvsM2RlZUEIgYMHD2LFihUoKyvDlStXzFYjEVmPbX3D/BORyWR6z4UQkMlkqKysBAAMHz4c06ZNAwB07doVmZmZWLZsme4IZmpqKnr16mX1o7zmZu1c1qxZg4SEBGzevBleXl4NqMR8rJnJ3r17cfPmTfz444+YOXMm2rRpg2eeeaaBFZlHY+dSUVGBMWPGYN68eWjXrp0ZKzEva2wvAQEBCAgI0D0PCwvDxYsX8f777+Pxxx9vaEkNZo1MKisrIZPJsGrVKiiVSgBAUlISnnzySSxZsgQKhcIcpTUIc5Fm7f3QypUr0axZszovVNmYrJHJiRMnMGXKFLz55puIiopCQUEBZsyYgUmTJiE5OdlMlTWMNXKZM2cOCgsLERoaCiEEvL29ERsbiwULFsDe3t5MlRGRNfEIeiPz9PSEvb09CgsL9aZfvnwZ3t7e8PT0hFwuR4cOHfTmt2/fXu/Knw/S6e2AbeSydu1axMXF4euvv67zYliNwRYy8fPzQ+fOnTFx4kRMmzYNCQkJJrVjTtbKpaSkBAcPHkR8fDzkcjnkcjneeustHDlyBHK5HLt3725YYQ1kC9vL/UJDQ3H69OkGt9MQ1sxEpVKhZcuWukFoVbtCCOTn55tQjfkwF2m28BkSQmDFihUYN24cHB0dTWrDnKyZyfz589GrVy/MmDEDXbp0QVRUFJYuXYoVK1agoKDA9KLMwJq5KBQKrFixArdu3cL58+dx4cIFtG7dGm5ubvD09DS9KCKyGRygNzJHR0cEBwdj165detN37dqF8PBwODo6onv37sjJydGbn5ubq/st2s2bN5GWlobo6OhGW29Ls3Yua9asQWxsLFavXm0Tv28DrJ9JdUIIlJaWNridhrJWLu7u7jh27BgOHz6se0yaNAkBAQE4fPgwevbs2fDiGsDWthetVguVStXgdhrCmpn06tULv/32G27evKnXrp2dHdRqtYkVmQdzkWYLn6GMjAycOXMGcXFxphVhZtbM5NatW7Cz0/+aWnWEWAhR31LMyha2FQcHB6jVatjb2+Orr77CE088YZAXETVRjX1VOhLiq6++Eg4ODiI5OVmcOHFCTJ06Vbi6uuqu1rphwwbh4OAgli9fLk6fPi0WLVok7O3txd69e4UQQnzzzTeiU6dOBu1mZ2cLrVYrhg0bJvr06SO0Wq3QarV6y1RNCw4OFmPGjBFarVZkZ2dbvGZjWCuX1atXC7lcLpYsWSIKCgp0j+vXrzdK3bWxViaLFy8WqampIjc3V+Tm5ooVK1YId3d3MWvWrEapuy7W/Azdz9au4m6tXD788EOxceNGkZubK44fPy5mzpwpAIj169c3St21sVYmJSUlQq1WiyeffFJkZ2eLjIwM0bZtW/H88883St11YS7SrN23jB07VvTs2dOiNdaXtTJJSUkRcrlcLF26VJw9e1bs27dPhISEiB49ejRK3XWxVi45OTniv//9r8jNzRU//fSTiImJER4eHiIvL68xyiaiRsABupUsWbJEaDQa4ejoKB599FGRkZGhNz85OVm0adNGODs7i6CgILFp0ybdvLFjx0oOlDQajQBg8Lif1HyNRmORGk1hjVwiIiIk50+YMMFiddaHNTJZuHCh6Nixo3BxcRHu7u6iW7duYunSpaKiosJyhdaTtT5D97O1AboQ1snl3XffFf7+/sLZ2Vk8/PDDonfv3mLr1q2WK7KerLWtnDx5UkRGRgqFQiHUarWYPn26uHXrlmWKNAFzkWatXK5fvy4UCoVYvny5ZQprAGtlsnDhQtGhQwehUCiESqUSf/vb30R+fr5lijSBNXI5ceKE6Nq1q1AoFMLd3V0MHz5cnDp1ynJFElGjkwlh5fOEqF4qKirg5eWF7du3o0ePHtZeHZvBXAwxE2nMRRpzMcRMpDEXaczFEDORxlyIqDb8sUoTU1RUhGnTpqF79+7WXhWbwlwMMRNpzEUaczHETKQxF2nMxRAzkcZciKg2PIJOREREREREZAN4BJ2IiIiIiIjIBnCATkRERERERGQDOEBvZPPnz0f37t3h5uYGLy8vjBgxwuA+mUIIJCQkwNfXFwqFAn369EF2dnat7aanp2P48OFQqVRwdXVF165dsWrVKoPlVq1ahaCgILi4uEClUuHZZ59FUVGRWWs0xZ49ezBs2DD4+vpCJpNh06ZNBsucPHkS0dHRUCqVcHNzQ2hoKC5cuGBU+2fOnIGbmxuaNWumN33fvn3o1asXmjdvDoVCgcDAQHz44YdmqMg8asulrKwMr732Gjp37gxXV1f4+vpi/Pjx+O2332pt8/z585DJZAaPHTt26JaJjY2VXKZjx46WKrXeli5dCj8/Pzg7OyM4OBh79+7Vzbt06RJiY2Ph6+sLFxcXDBo0CKdPn661vTt37iA2NhadO3eGXC7HiBEjDJbZsGEDBgwYgBYtWsDd3R1hYWH47rvvzF1ag9SWi9T7GhoaWmt7xvQttr691JbJhg0bEBUVBU9PT8hkMhw+fLhebdfUtxQUFGDMmDEICAiAnZ0dpk6d2vBCzMSY/ZApuRjTtwBAaWkpZs2aBY1GAycnJ/j7+2PFihXmLNEkde2Hbt68ifj4eKjVaigUCrRv3x4ff/xxrW0a06/Y8rYCGLd/rvLCCy9AJpPhP//5T61tGvudxVa3FaDuXEz5Lne/mvoWAMjIyEBwcDCcnZ3xyCOPYNmyZQ2shohsCQfojSwjIwOTJ0/Gjz/+iF27dqG8vBwDBw7EH3/8oVtmwYIFSEpKwuLFi3HgwAH4+PhgwIABKCkpqbHdzMxMdOnSBevXr8fRo0fx3HPPYfz48diyZYtumX379mH8+PGIi4tDdnY2vvnmGxw4cADPP/+8RWs2xh9//IGgoCAsXrxYcv7Zs2fRu3dvBAYGIj09HUeOHMGcOXPg7OxcZ9tlZWV45pln8NhjjxnMc3V1RXx8PPbs2YOTJ09i9uzZmD17NpYvX97gmsyhtlxu3bqFQ4cOYc6cOTh06BA2bNiA3NxcREdHG9X2999/j4KCAt2jX79+unkfffSR3ryLFy/Cw8MDTz31lNlqa4i1a9di6tSpmDVrFrRaLR577DEMHjwYFy5cgBACI0aMwLlz57B582ZotVpoNBpERkbqfc6qq6iogEKhwJQpUxAZGSm5zJ49ezBgwABs27YNWVlZ6Nu3L4YNGwatVmupUuultlyqDBo0SO+93bZtW61tGtO32PL2Ulcmf/zxB3r16oXExMR6t11b31JaWooWLVpg1qxZCAoKanAd5mTMfqghudTWtwDA6NGj8cMPPyA5ORk5OTlYs2YNAgMDG1xXQ9W1H5o2bRp27NiBL7/8EidPnsS0adPw0ksvYfPmzTW2aUy/YsvbClB3LlU2bdqEn376Cb6+vnW2aUy/AtjutgLUnYsp3+Wq1Na35OXlYciQIXjssceg1WrxxhtvYMqUKVi/fn2DayIiG2HFW7yREOLy5csCgO7emZWVlcLHx0ckJibqlrlz545QKpVi2bJl9Wp7yJAh4tlnn9U9f++998Qjjzyit8zChQuFWq1uQAXmB0Bs3LhRb1pMTIwYO3asSe3985//FGPHjhUpKSlCqVTWufzIkSNNfi1Lksqlup9//lkAEL/88kuNy+Tl5QkAQqvVGv3aGzduFDKZTJw/f97ov7GkHj16iEmTJulNCwwMFDNnzhQ5OTkCgDh+/LhuXnl5ufDw8BCffvqpUe1PmDBBDB8+3KhlO3ToIObNm2f0ultSbbkIUb+6alO9b6nOlraXujKpYsrnwti+JSIiQrz88sv1WOvGVX0/dL/65GLMstu3bxdKpVIUFRU1YI0tT6q/7dixo3jrrbf0pj366KNi9uzZRrVpzOfP1reVmvZD+fn5omXLluL48eNCo9GIDz/8sN5tV+9Xmsq2IoRhLg39Lldb3/LPf/5TBAYG6k174YUXRGhoaINqICLbwSPoVnbjxg0AgIeHB4B7/zJaWFiIgQMH6pZxcnJCREQEMjMzddNiY2PRp0+fOtuuahcAwsPDkZ+fj23btkEIgUuXLmHdunUYOnSoGSsyv8rKSmzduhXt2rVDVFQUvLy80LNnT4PTyaQy2b17N7755hssWbLEqNfSarXIzMxERESEmda+cd24cQMymUzvlLiatpXo6Gh4eXmhV69eWLduXa3tJicnIzIyEhqNxsxrXH93795FVlaW3mcEAAYOHIjMzEyUlpYCgN7ZFfb29nB0dMS+fft004z5DNWlsrISJSUlep8za6krlyrp6enw8vJCu3btMHHiRFy+fFlveVP6lupsZXsxNpO6mKNvsWXV90PGMqVvSU1NRUhICBYsWICWLVuiXbt2ePXVV3H79m2T17+x9O7dG6mpqfj1118hhEBaWhpyc3MRFRWlW8Yc/UpTU1lZiXHjxmHGjBk1/qzFlH6lKW8rDfkuV1ffsn//foM+LSoqCgcPHkRZWZn5iiAiq5FbewX+zIQQmD59Onr37o1OnToBAAoLCwEA3t7eest6e3vjl19+0T1XqVSorKysse1169bhwIED+OSTT3TTwsPDsWrVKsTExODOnTsoLy9HdHQ0Fi1aZM6yzO7y5cu4efMmEhMT8c477+Ddd9/Fjh07MGrUKKSlpekG09UzKSoqQmxsLL788ku4u7vX+hpqtRq///47ysvLkZCQYBOn/dfXnTt3MHPmTIwZM0av3uq5PPTQQ0hKSkKvXr1gZ2eH1NRUxMTE4PPPP8fYsWMN2i0oKMD27duxevXqRqmjLleuXEFFRYXkZ6SwsBCBgYHQaDR4/fXX8cknn8DV1RVJSUkoLCxEQUGBbvm6PkPG+OCDD/DHH39g9OjRDWrHHOrKBQAGDx6Mp556ChqNBnl5eZgzZw769euHrKwsODk5ATCtb7mfLW0vxmRijIb0LbZOaj9kLFP6lnPnzmHfvn1wdnbGxo0bceXKFfzjH//A1atXbea3xTVZuHAhJk6cCLVaDblcDjs7O3z22Wfo3bu3bhlz9CtNzbvvvgu5XI4pU6bUuIwp/UpT3lZM/S5nTN9SWFgo2W55eTmuXLkClUplrjKIyEo4QLei+Ph4HD16VO+oXhWZTKb3XAihN23+/Pk1tpueno7Y2Fh8+umnev+afeLECUyZMgVvvvkmoqKiUFBQgBkzZmDSpElITk42Q0WWUbXzGj58OKZNmwYA6Nq1KzIzM7Fs2TLdAL16JhMnTsSYMWPw+OOP1/kae/fuxc2bN/Hjjz9i5syZaNOmDZ555hkzV2I5ZWVlePrpp1FZWYmlS5fqzauei6enpy5HAAgJCcG1a9ewYMECyQH6ypUr0axZM8mLG1lTTZ8RBwcHrF+/HnFxcfDw8IC9vT0iIyMxePBgveVr+wwZY82aNUhISMDmzZvh5eXVoLbMqba+IyYmRje9U6dOCAkJgUajwdatWzFq1CgApvUt97PF7aWu/rQuDelbbF1t+6G6mNK3VFZWQiaTYdWqVVAqlQCApKQkPPnkk1iyZAkUCkUDqrGshQsX4scff0Rqaio0Gg327NmDf/zjH1CpVLrflze0X2lqsrKy8NFHH+HQoUO1fqZM6Vea8rZSpb7f5YztW6TalZpORE0TT3G3kpdeegmpqalIS0uDWq3WTffx8QEAg6M7ly9fNvgXUykZGRkYNmwYkpKSMH78eL158+fPR69evTBjxgx06dIFUVFRWLp0KVasWKF3ZNHWeHp6Qi6Xo0OHDnrT27dvX+tV3Hfv3o33338fcrkccrkccXFxuHHjBuRyucG/vvv5+aFz586YOHEipk2bhoSEBEuUYhFlZWUYPXo08vLysGvXLpOO6IWGhkpe5VwIgRUrVmDcuHFwdHQ0x+o2mKenJ+zt7Wv9jAQHB+Pw4cO4fv06CgoKsGPHDhQVFcHPz88s67B27VrExcXh66+/rvHCT43NmFyqU6lU0Gg0dV7hHqi9b6lia9uLKZkYoz59iy2raT9kTtX7FpVKhZYtW+oGXMC9vlwIgfz8fIusgzncvn0bb7zxBpKSkjBs2DB06dIF8fHxiImJwfvvv2/t1bOavXv34vLly2jVqpXu8/DLL7/glVdeQevWrev8+9r6laa6rQCmf5czpm/x8fGRbFcul6N58+ZmroSIrIED9EYmhEB8fDw2bNiA3bt3GwwY/Pz84OPjg127dumm3b17FxkZGQgPD6+17fT0dAwdOhSJiYn4+9//bjD/1q1bsLPTf8vt7e1162WrHB0d0b17d4PbAOXm5tb6G9f9+/fj8OHDusdbb70FNzc3HD58GCNHjqzx74QQut8x27qqwfnp06fx/fffm7xz1mq1kqfFZWRk4MyZM4iLi2voqpqNo6MjgoOD9T4jALBr1y6Dz4hSqUSLFi1w+vRpHDx4EMOHD2/w669ZswaxsbFYvXq1TV2/oT65VCkqKsLFixfrPCWyrr6liq1tL6ZkYgxT+xZbUdd+yJyq9y29evXCb7/9hps3b+qm5ebmws7OzmL/SGAOZWVlKCsrk9yH/tlOab/fuHHjcPToUb3Pg6+vL2bMmFHnLSjr6lea6rYCmP5dzpi+JSwszKBP27lzJ0JCQuDg4GCZgoiocTX2Ven+7F588UWhVCpFenq6KCgo0D1u3bqlWyYxMVEolUqxYcMGcezYMfHMM88IlUoliouLdcvMnDlTjBs3Tvc8LS1NuLi4iNdff12v3fuvfpqSkiLkcrlYunSpOHv2rNi3b58ICQkRPXr0aJzia1FSUiK0Wq3QarUCgEhKShJarVZ3NfINGzYIBwcHsXz5cnH69GmxaNEiYW9vL/bu3atro3om1UldDXXx4sUiNTVV5ObmitzcXLFixQrh7u4uZs2aZZE666u2XMrKykR0dLRQq9Xi8OHDeu97aWmpro3quaxcuVKsWrVKnDhxQpw6dUq89957wsHBQSQlJRm8/tixY0XPnj0bpdb6+Oqrr4SDg4NITk4WJ06cEFOnThWurq66q4Z//fXXIi0tTZw9e1Zs2rRJaDQaMWrUKL02pLaX7OxsodVqxbBhw0SfPn102VdZvXq1kMvlYsmSJXp5X79+3eI1G6O2XEpKSsQrr7wiMjMzRV5enkhLSxNhYWGiZcuWDe5bqtji9lLXtlJUVCS0Wq3YunWrACC++uorodVqRUFBga4NU/oWIYRu+wkODhZjxowRWq1WZGdnm73G+jJmP2RKLsb0LSUlJUKtVosnn3xSZGdni4yMDNG2bVvx/PPPN07xtahrPxQRESE6duwo0tLSxLlz50RKSopwdnYWS5cu1bVhSr8ihO1uK0LUnUt1UldxN6VfseVtRYi6czHlu1x1Un3LuXPnhIuLi5g2bZo4ceKESE5OFg4ODmLdunUWqZOIGh8H6I0MgOQjJSVFt0xlZaWYO3eu8PHxEU5OTuLxxx8Xx44d02tnwoQJIiIiQu+5VLv3LyPEvduqdejQQSgUCqFSqcTf/vY3kZ+fb8GKjZOWlia5/hMmTNAtk5ycLNq0aSOcnZ1FUFCQ2LRpk14b1TOpTmpHt3DhQtGxY0fh4uIi3N3dRbdu3cTSpUtFRUWFGaszXW25VN3SSOqRlpama6N6LitXrhTt27cXLi4uws3NTQQHB4v//ve/Bq99/fp1oVAoxPLlyxuh0vpbsmSJ0Gg0wtHRUTz66KN6t4j66KOPhFqtFg4ODqJVq1Zi9uzZev9oIYT09qLRaCTzrBIREVHndmptNeVy69YtMXDgQNGiRQtdLhMmTBAXLlzQ+3tT+xZb3l5q21ZSUlIk65s7d65uGVP6FiGk+3uNRmO+wkxkzH7IlFyM7VtOnjwpIiMjhUKhEGq1WkyfPl3vHwespa79UEFBgYiNjRW+vr7C2dlZBAQEiA8++EBUVlbq2jClXxHCdrcVIYzbP99PaoBuar9iq9uKEHXnYsp3uepq6lvS09NFt27dhKOjo2jdurX4+OOPzVgZEVmbTAgbPreZiIiIiIiI6E+Cv0EnIiIiIiIisgEcoBMRERERERHZAA7QiYiIiIiIiGwAB+hERERERERENoADdCIiIiIiIiIbwAE6ERERERERkQ3gAJ2IiIiIiIjIBnCATkRERERERGQDOEAnIiIiIiIisgEcoBMRERERERHZAA7QiYiIiIiIiGwAB+hERERGSkhIgEwmw5UrVyTnd+rUCX369AEA9OnTBzKZrM5HQkICAKC0tBSLFy9G79698fDDD8PR0REtW7bE6NGjkZGRUeM6xcbGGvU6sbGxSE9Ph0wmQ3p6upmTISIiInOQW3sFiIiIHkRLly5FcXGx7vnWrVvxzjvvICUlBYGBgbrparUaV65cwaBBg3D06FE899xzmDFjBjw8PPDrr79i8+bN6N+/P7KyshAUFGTwOnPmzMGkSZN0zw8dOoTJkyfj3//+N/r27aub3qJFC7Ro0QL79+9Hhw4dLFQ1ERERNQQH6ERERBZQfRB86tQpAPeOsoeEhOjNGzJkCI4cOYLvvvsO/fr105v39NNPY/r06Xj44YclX8ff3x/+/v6653fu3AEAtG3bFqGhoQbLS00jIiIi28BT3ImIiKwoKysL27dvR1xcnMHgvEr37t3RqlWrBr+W1CnusbGxeOihh3Dq1ClERUXB1dUVKpUKiYmJAIAff/wRvXv3hqurK9q1a4fPP//coN3CwkK88MILUKvVcHR0hJ+fH+bNm4fy8vIGrzMREdGfCY+gExERWdHOnTsBACNGjLDaOpSVlWHUqFGYNGkSZsyYgdWrV+P1119HcXEx1q9fj9deew1qtRqLFi1CbGwsOnXqhODgYAD3Buc9evSAnZ0d3nzzTfj7+2P//v145513cP78eaSkpFitLiIioqaGA3QiIiIrunDhAgDAz8/Pautw9+5dvPPOOxg1ahSAexe4+/bbbzF//nwcOnQI3bp1AwCEhITAy8sLq1ev1g3QExIScO3aNWRnZ+uO8vfv3x8KhQKvvvoqZsyYwd+8ExERGYmnuBMREf3JyWQyDBkyRPdcLpejTZs2UKlUusE5AHh4eMDLywu//PKLbtq3336Lvn37wtfXF+Xl5brH4MGDAaDWK9ATERGRPh5BJyIiMpJcfm+3WVFRITm/vLwcDg4O9Wqz6qhzXl4eAgICGraCJnJxcYGzs7PeNEdHR3h4eBgs6+joqLsQHQBcunQJW7ZsqbHumm5JR0RERIY4QCciIjKSt7c3AODXX3/V/X8VIQQKCgoMrtBel6ioKLzxxhvYtGkTBg0aZLZ1bSyenp7o0qUL/vWvf0nO9/X1beQ1IiIiaro4QCciIjJSv379IJPJsHbtWjz66KN683bs2IHi4mJERkbWq81HH30UgwcPRnJyMkaPHi15JfeDBw/Cy8vLLFdyN7cnnngC27Ztg7+/f423giMiIiLjcIBORERkJH9/f8THx+O9997D9evXMWTIECgUChw4cACJiYkICQnBmDFj6t3uF198gUGDBmHw4MF47rnnMHjwYDz88MMoKCjAli1bsGbNGmRlZdnkAP2tt97Crl27EB4ejilTpiAgIAB37tzB+fPnsW3bNixbtgxqtdraq0lERNQkcIBORERUDx999BE6dOiA5ORkfPnllygvL4dGo8HkyZMxe/ZsODo61rtNT09P7Nu3D59++inWrFmD1atX49atW/Dy8kJoaChSU1MRFBRkgWoaTqVS4eDBg3j77bfx3nvvIT8/H25ubvDz88OgQYN4VJ2IiKgeZEIIYe2VICIiIiIiIvqz423WiIiIiIiIiGwAB+hERERERERENoADdCIiIiIiIiIbwAE6ERERERERkQ3gAJ2IiIiIiIjIBnCATkRERERERGQD/h/1W4vnpgC0BQAAAABJRU5ErkJggg==", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "34f6ebe5f21541609f4ca236822a8d2b", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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8PX1FePGjdNZh77nT2ZmpkhPTxejR48WAwcOVB6DChs3bhRqtVqsWbNGJ/cbN26YvObakOVTUFAgXnrpJbF//36RlZUlkpOTRVBQkGjVqlW99z8VGvvz5+rVqyI9PV1s375dABCff/65SE9PFzk5Oco66rL/EUIoz6nevXuLCRMmiPT0dJGZmWn0GuuqJu9fdcmnJvufgoIC4ePjIx5//HGRmZkpUlNTRYcOHcRzzz3XMMXXQHXvXSEhIaJr164iOTlZnDt3TsTHxwt7e3uxdu1aZR112fcIYfnPHSGqz6cyfaO412Xf0xieO0JUn09dPhtWpm/fc+7cOeHg4CBmz54tjh8/LmJjY4WNjY346quvTFInEZkHO+gSAPT+xcfHK8totVqxaNEi4enpKezs7MTDDz8sjh49qrOeKVOmiJCQEJ3b+tZ77zJC3L2sWpcuXYRGoxFeXl7i6aefFhcvXjRhxbWXnJyst5YpU6Yoy8TGxor27dsLe3t7ERAQILZu3aqzjsr5VKbvTWrVqlWia9euwsHBQTg5OYlevXqJtWvXivLyciNWV3+yfCouV6TvLzk5WVlH5Xw+/vhj0blzZ+Hg4CAcHR1F7969xf/93/9V2faNGzeERqMR69ata4BK627NmjXC19dX2NraigceeEDnMlDvvfee8PHxETY2NqJNmzZi4cKFOl9eCKH/+ePr66s31wohISHVPm8thaF8ioqKRFhYmHB3d1fymTJlijh//rzO/eu6/2kKz5/4+Hi9tS5atEhZpi77HyH0vz/4+voar7B6qsn7V13yqen+57fffhNDhgwRGo1G+Pj4iDlz5uh8OWBu1b135eTkiMjISOHt7S3s7e2Fv7+/WL58udBqtco66rLvEcLynztC1Oy9/V76Ouh13fdY+nNHiOrzqctnw8oM7XtSUlJEr169hK2trWjbtq34z3/+Y8TKiMgSqIRoJOdLExERERERETVh/A06ERERERERkQVgB52IiIiIiIjIArCDTkRERERERGQB2EEnIiIiIiIisgDsoBMRERERERFZAHbQiYiIiIiIiCwAO+hEREREREREFoAddCIiIiIiIiILwA46ERERERERkQVgB52IiIiIiIjIArCDTkRERERERGQB2EEnIiKqoejoaKhUKuTl5emd361bNwwcOBAAMHDgQKhUqmr/oqOjAQAlJSVYvXo1BgwYABcXF9ja2qJVq1YYP348UlNTDbYpMjKyRtuJjIxESkoKVCoVUlJSjJwMERERGYPa3A0gIiJqitauXYv8/Hzl9vbt2/Hmm28iPj4enTp1Uqb7+PggLy8Pw4YNw5EjR/Dss89i7ty5cHV1xaVLl7Bt2zYMHjwYaWlpCAgIqLKd1157DdOmTVNuHz58GNOnT8dbb72F0NBQZbq7uzvc3d1x4MABdOnSxURVExERUX2wg05ERGQClTvBJ06cAHD3KHtgYKDOvBEjRuDXX3/F999/j0GDBunMe/LJJzFnzhy4uLjo3U67du3Qrl075XZxcTEAoEOHDujXr1+V5fVNIyIiIsvAU9yJiIjMKC0tDd999x2ioqKqdM4rPPjgg2jTpk29t6XvFPfIyEjcd999OHHiBMLDw9GsWTN4eXkhJiYGAPDTTz9hwIABaNasGTp27IhPPvmkynpzc3PxwgsvwMfHB7a2tvDz88PixYtRVlZW7zYTERH9lfAIOhERkRnt3LkTAPDII4+YrQ2lpaUYN24cpk2bhrlz52Ljxo149dVXkZ+fjy1btuCVV16Bj48P3n//fURGRqJbt27o3bs3gLud8z59+sDKygqvv/462rVrhwMHDuDNN99EdnY24uPjzVYXERFRY8MOOhERkRmdP38eAODn52e2Nty5cwdvvvkmxo0bB+DuAHfffvstlixZgsOHD6NXr14AgMDAQHh4eGDjxo1KBz06OhrXr19HZmamcpR/8ODB0Gg0ePnllzF37lz+5p2IiKiGeIo7ERHRX5xKpcKIESOU22q1Gu3bt4eXl5fSOQcAV1dXeHh44Pfff1emffvttwgNDYW3tzfKysqUv+HDhwOAdAR6IiIi0sUj6ERERDWkVt992ywvL9c7v6ysDDY2NrVaZ8VR56ysLPj7+9evgXXk4OAAe3t7nWm2trZwdXWtsqytra0yEB0A/PHHH/jmm28M1m3oknRERERUFTvoRERENdSyZUsAwKVLl5T/VxBCICcnp8oI7dUJDw/H/PnzsXXrVgwbNsxobW0obm5u6NGjB/7973/rne/t7d3ALSIiImq82EEnIiKqoUGDBkGlUuGLL77AAw88oDNvx44dyM/Px5AhQ2q1zgceeADDhw9HbGwsxo8fr3ck919++QUeHh5GGcnd2EaNGoWkpCS0a9fO4KXgiIiIqGbYQSciIqqhdu3aYcaMGVi6dClu3LiBESNGQKPR4NChQ4iJiUFgYCAmTJhQ6/V++umnGDZsGIYPH45nn30Ww4cPh4uLC3JycvDNN99g06ZNSEtLs8gO+htvvIFdu3ahf//+mDVrFvz9/VFcXIzs7GwkJSXhgw8+gI+Pj7mbSURE1Ciwg05ERFQL7733Hrp06YLY2Fh89tlnKCsrg6+vL6ZPn46FCxfC1ta21ut0c3PDvn378NFHH2HTpk3YuHEjioqK4OHhgX79+iExMREBAQEmqKb+vLy88Msvv+Bf//oXli5diosXL8LR0RF+fn4YNmwYj6oTERHVgkoIIczdCCIiIiIiIqK/Ol5mjYiIiIiIiMgCsINOREREREREZAHYQSciIiIiIiKyAOygExEREREREVkAdtCJiIiIiIiILAA76EREREREREQW4P8BOiiI+Qe3PBkAAAAASUVORK5CYII=", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8ab998c38345412d9c67970b19b894db", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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nY4///zz0p133lnjfN555x2pQ4cONU6fn58vAVJ+fn6NfyMQXA4jv4qXRn4VX9fFuOrcrPW6Vny9K0Ma+VW8lJBRet3OmbXyJyl+3Eip6EjMdTvnX5mRX8VLz3yfWNfFENyAvDsyXnp3pHie1gVHi9OkfFNZXRfjmlBVX7e0tFSKi4uTSkuv3zvpevHmm29KERERkre3t9SoUSPp7rvvlvbu3XvFeXbr1q3KNNu2bZOGDRsmhYWFSYC0atUqlzQrVqyQBg4cKAUGBkqAFBMT45Lmiy++kPr06SP5+PhIgJSbm+uS5vTp09J9990nBQYGSj4+PtLtt98ubd68WbFcWVlZUpMmTRTzOnr0qHTnnXdKnp6eUnh4uPTWW29JFotFMZ+dO3dKOp2uSh2effZZqW3btorfXbp0SdJqtdKKFSskSZKknJwc6dFHH5V8fX0lX19f6dFHH1Wsa1V1KC0tlcaNGyd17txZ0ul00vDhwxV//9lnn0kdOnSQPD09pfbt20tLlixx+r68vFx66623pNatW0seHh5S165dpd9//10xr127dklarVYaNGiQqg6OKN1r9T5InLu7Oz169LC7/9jYuHEjt99+e43ziYmJISws7GoX75phsVg4f/68iOxZCaGLOkIbdYQ2yliA3BatsUhCl8qINqOO0EYZoYs6N7I276Zs54MU9a19r4QbWZcbmfbt2/PZZ59x7Ngxdu7cScuWLRk4cKDTsoVrQXFxMd26deOzzz6rMk3v3r354IMPVNOUlJQwePBgXn31VdU099xzDyaTic2bN3Po0CG6d+/OsGHDFJcHT5o0ia5du7ocLygoYMCAAYSHh3PgwAE+/fRTPv74Y2bPnu2SNj8/n8cee4y7775btUy2cyUkJChul7148WICAwO59957ARgzZgyxsbGsX7+e9evXExsby9ixY1XzVaqD2WzGy8uL559/nv79+yv+dv78+UyfPp2ZM2dy4sQJ3nrrLZ555hl+/fVXe5rXXnuNL774gk8//ZS4uDieeuop/vGPfxATE+OS36JFi3juuefYuXNntTuOqVFjAz0vL4/ff/+ddevWkZOTc1knu1ymTp3KggULWLRoESdPnuRf//oXFy5c4KmnngJg+vTpPPbYY/b0c+fOZfXq1cTHx3PixAmmT5/OihUrePbZZ69rua8Es9lMbGysiOxZCaGL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8cwzzwibzeZS3kGDBomgoCDh4+MjevXqJVatWqWpwbRp00TLli1Vt506dUrodDrx9ddf16oO8+fP17yWZ86cEUIIsX//ftG/f38REhIizGaziIuLE0888YTbM7du3TrRtWtXR553333XZfsHH3wg+vbtK/z8/ISfn58YOHCg2LJli0ue2267zaUMAQEBYujQoWLHjh2aegih/qxpurg35LqMQUFBBAUFnTdfQkIC2dnZbN26lZ49ewKwZcsWsrOz6d27d63Pl56ezsmTJwkPD69zmRsDueyGOlIXbaQ22kht1JG6aCO10UZqo47URRupjTpSl0tPSkqKy+///e9/TJkyheuvv75Bz5ufn0+nTp2YPHmy5rny8/Pp06cPN954I3fccYfb9uTkZJKTk3n11Vdp164dx48fZ+rUqSQnJ/PVV1858o0bN45Tp06xatUqAO68804mTJjAt99+C9jjK4wcOZLg4GA2btxIeno6t912G0II3nzzTcDuYTF48GAGDBjAb7/9xoEDB5g0aRJeXl48+OCDAGzYsIHBgwfzwgsv4Ofnx/z58xk9ejRbtmyhS5cubuWfMmUKb731Fj///DNXXHGFy7YFCxYQGBjI6NGja1WHsWPHMmzYMJdjTJo0iaKiIscUaaPRyMSJE+natSt+fn7s2LGDO+64A5vNxgsvvADA0aNHGTFiBHfccQeffvopv/zyC3fffTfBwcGO67Ru3TpuueUWevfujYeHBy+//DJDhgxhz549REZGOs4/bNgw5s+fD9inaj/55JOMGjXKZapMrajJmq/eo/bFF1+IRx99VPz444819gTUJ8OGDRMdO3YUmzdvFps3bxYdOnQQo0aNcskTHx8vlixZIoQQIjc3Vzz44INi06ZN4ujRo2Lt2rUiISFBREZGipycnFqftymMoC9btqzJ9TY3NlIXbaQ22kht1JG6aCO10UZqo47URZumqk1TGEFvTF3+qiPo/fr1E/fcc4+45557hNVqFQEBAeKJJ55wGfl15pprrhFXXXXVeY978uRJMXbsWOHv7y88PT1Ft27dxK+//iqEqBpB/+STT0RMTIzw9fUVY8eO1bQ90BhBr+To0aOqI+hqfPnll8JkMonS0lIhhBB79+4VgKNsQgixefNmAYj9+/cLIYRYuXKl0Ol04vTp0448ixYtEmaz2XE/vPPOO8JqtYqioiJHnlmzZomIiAhNLYUQol27duKZZ57R3N61a1cxadIkt/SWLVuKBx98sNZ1qM7Zs2eF0WgUn3zyiea5hRDigQceEH379nX8fuSRR0SbNm1c8tx1112iV69emscoKysTPj4+4uOPP3ak3XbbbeKaa65xybdhwwYBiLNnz2oeS+1Z05xoPmHCBO677z7H7zfeeIObb77Z0WNwqdYVX7hwIR06dGDIkCEMGTKEjh078n//938ueZKSksjOzgbs83127drFNddcQ+vWrbntttto3bo1mzdvxsfH55KUWSKRSCQSiUQikTQOH3/8MQaDgS1btvDGG28wZ84cPvroI7d8Z86c4bvvvmPKlCk1Hi8vL49+/fqRnJzM8uXL2bFjB4888ojLPP/Dhw+zbNkyVqxYwYoVK1i/fj0vvvhivdetOpUxBCpjGJxvFazKPO3btyciIsKRZ+jQoRQXF7Nt2zZHnn79+rkE2B46dCjJyckcO3ZMtSw2m43c3FwCAgI0yztlyhQWL15MXl6eI239+vUcOnSI22+/vdZ1qM4nn3yCp6cnN9xwg+a5Dx06xKpVq+jXr58jbfPmzQwZMsQl39ChQ/n99981VzooKCigtLS0xnrm5eWxcOFCWrZsSWBgoGY+NTRd3Ldu3cpLL73k+P3GG29w66238tZbbzFlyhReffVVRowYcUEnqwsBAQF8+umnNeYRTgE5LBYL33//fUMXq8ExGAwMGDDA8bBJ7EhdtJHaaCO1UUfqoo3URhupjTpSF23+XNqoxk5uEP5cutixFZdTknzpo7+bIjzRmfW1zt+sWTPmzJmDoijEx8eza9cu5syZ4+Y2/vHHH+Pj46MZRLqSzz77jHPnzvHbb785jLKWLVu65LHZbCxYsMAxIDhhwgTWrFnD888/X+tyXyjp6ek899xz3HXXXY602qyClZqaSmhoqMt2f39/TCaTS57Y2FiXPJX7pKamEhcX53aO1157jfz8fG666SbNMo8bN44HH3yQxYsXM3nyZADmzZtHQkIC7dq1q3UdqjNv3jzGjRuHxWJx29a7d2/++OMPiouLufPOO3n22Wcd29S0CA0NpaysjLS0NNUp0o899hiRkZEMGjTIJX3FihV4e3sD9ukK4eHhrFix4oKCr0MNBvq5c+ccPvVHjx7lyJEjLFq0CF9fX6ZMmcLEiRMv6ESSC0ftBpNIXWpCaqON1EYdqYs2UhttpDbqSF20+fNpo1ySs/zZdClJLuDUv/+45OeNmtUVj7jae8L26tULRam6hgkJCbz22muUl5ej11cZ+vPmzWP8+PEukeqnTp3qMjiYl5fH9u3b6dKlS40jprGxsS7euuHh4Zw9e7bWZb5QcnJyGDlyJO3atWPGjBku25zrXokQwiW9LnkqB0XV9l20aBEzZ87km2++cRjXP//8M8OHD3fkef/99xk/fjzXXXcd8+bNY/LkyeTm5vL111/z+uuvX3AdKtm8eTN79+7lk08+cdsG8MUXX5Cbm8uOHTt4+OGHefXVV3nkkUfqVM+XX36ZRYsWsW7dOrcVDgYMGMC7774LQEZGBu+88w7Dhw9n69atFxTfTdNA9/T0dLiN//zzz3h7e9O9e3cAPDw8XNwSJPVPWVkZK1euZMSIERiNxsYuTpNB6qKN1EYbqY06UhdtpDbaSG3UkbpoI7VR58+oiynCk6hZXRvlvPXNzz//TFJSEl988YVL+rPPPstDDz3kklabjpTq11BRFBcX+PokNzeXYcOG4e3tzdKlS13OHRYWxpkzZ9z2OXfunGOkOCwsjC1btrhsz8zMpLS01CVP9dHqyg6H6iPOX3zxhcN13XlUuXv37i5Lz1XuN2XKFAYOHMjBgwdZv349YA/6diF1cOajjz6ic+fOdOvWzW0b2D0qANq1a0d5eTl33nknDz74IHq9XrOeBoPBzTX91Vdf5YUXXuDHH3+kY8eObufx8vJy8azo1q0bVquVDz/8kP/85z+qZVND00Dv0KEDb7/9NjExMbzzzjsMGDDA0Ytw4sQJwsLCan0SiUQikUgkEolE8udGZ9Zf0Eh2Y/Hrr7+6/W7VqpXL6PncuXPp1q0bnTp1cskbEhLi5l7dsWNHPvroIzIyMmocRb8U5OTkMHToUMxmM8uXL3cbxa3NKlgJCQk8//zzpKSkOFy4V69ejdlsdhi5CQkJPP7445SUlGAymRx5IiIiXFzfFy1axO23386iRYsYOXKkS1ksFovbVACwjzQ3b96cBQsWsHbtWm666SYX74MLWckrLy+PL7/8klmzZtVKPyEEpaWljlHyhIQER2T4SlavXk337t1dOj5eeeUV/vOf//D99987Bq3Ph6Io6HQ6CgsLa5W/Ek0D/amnnmLUqFF07twZk8nEjz/+6Nj23Xff0bXrpe89k0gkEolEIpFIJJKaOHnyJNOnT+euu+7ijz/+4M033+S1115zbM/JyWHx4sUuaTVxyy238MILLzBmzBhmzZpFeHg4iYmJREREkJCQUKtj5OXlcejQIcfvo0ePsn37dgICAoiOjgbsbtEnTpwgOTkZsAfCBvuIclhYGLm5uQwZMoSCggI+/fRTcnJyyMnJASA4OBi9Xk/btm0ZNmwYd9xxB++//z5gX6Js1KhRxMfHAzBkyBDatWvHhAkTeOWVV8jIyOChhx7ijjvuwNfXF7DPFX/mmWeYNGkSjz/+OAcPHuSFF17g6aefdgzaLlq0iIkTJ/Lf//6XXr16OUaiLRYLVqtVUwtFUZg8eTKzZ88mMzOTV155xWV7bepQyRdffEFZWRnjx493O8/ChQsxGo106NABs9nMtm3b+Pe//83YsWMdsR+mTp3KW2+9xfTp07njjjvYvHkzc+fOZdGiRY7jvPzyyzz11FN89tlnxMbGOurp7e3tmHMOUFxc7NiWmZnJW2+9RV5enmPpuFpTUxj6Y8eOia+//locPnzYJf29995zCXv/V0Qus9Y0kbpoI7XRRmqjjtRFG6mNNlIbdaQu2jRVbdSWWcvN3CwObh8rss6tbvDzN7Yuf+Vl1u6++24xdepU4evrK/z9/cVjjz3msjTY+++/LywWi8jKyqr1cY8dOyauv/564evrKzw9PUX37t3Fli1bhBBVy6w5M2fOHBETE+P4vXbtWoE9CqHL32233ebIM3/+fNU8M2bMqPEYgDh69KjjOOnp6WL8+PHCx8dH+Pj4iPHjx4vMzEyX8h0/flyMHDlSWCwWERAQIKZNm+aypJoQQuzcuVNcccUVwmw2i7CwMDFz5kwXHfv163feOmlx8uRJodPpRHx8vOr22tRBCCESEhLEuHHjVI/x+eefi65duwpvb2/h5eUl2rVrJ1544QW3+3rdunWiS5cuwmQyidjYWPHuu++6bI+JianxughhX2bNeZuPj4/o0aOH+Oqrr2rUQe1ZU4RwCoEucZCTk4PVanUsXXCpEUJQVlaGwWBQDVDwd0Xqoo3URhupjTpSF22kNtpIbdSRumjTVLV55NDNeOutPB33viNNiHIyz36Lf/AoFF3DRldvbF1qausWFRVx9OhR4uLi3Fyomzr9+/enc+fObkHHJJKmiNqzpvnmOXHixHkPWOmOIWkYCgsL5drtKkhdtJHaaCO1UUfqoo3URhupjTpSF23+LNooip6A0DGX7Hx/Fl0kEsmlQ3NRttjYWOLi4mr8kzQcZWVlrF27lrKyssYuSpNC6qKN1EYbqY06UhdtpDbaSG3UkbpoI7VRR+oikUjU0BxBnzdvnpu7TVpaGsuXL+fUqVM8+eSTDV44iUQikUgkEolEIqkt69ata+wiSCQXhaaBPmnSJNX0Bx98kBtvvJGTJ082VJkkEolEIpFIJBKJRCL526Hp4l4TkyZN4qOPPqrvskiqURn+X+KK1EUbqY02Uht1pC7aSG20kdqoI3XRRmqjjtRFIpFUp05R3L/55hsmTJjgWHfvr0hjR3GXSCQSiUQikTQcalHc/07UJop7bGwsFoulkUookfz1KSws5NixYy5R3C9oBL20tJRt27YxY8YMOnXq1CCFlNix2WycPXsWm83W2EVpUkhdtJHaaCO1UUfqoo3URhupjTpSF22kNuo0ZV2MRiMABQUFjVwSieSvTeUzVvnMQQ1z0HU6neaajP7+/nz//ff1XDyJM+Xl5WzevJkRI0ag09VpJsJfEqmLNlIbbaQ26khdtJHaaCO1UUfqoo3URp2mrIter8fPz4+zZ88C4Onp2aTWsJdI/uwIISgoKODs2bP4+fmh1+sd2zQN9KefftrtQfTw8CA2NpYRI0bINRslEolEIpFIJJK/KGFhYQAOI10ikdQ/fn5+jmetEk0DfebMmQ1dHolEIpFIJBKJRNIEURSF8PBwQkJCKC0tbeziSCR/OYxGo8vIeSWaBnppaSklJSV4eXm5bcvPz8dkMrn4ykvqF0VR8PHxke5E1ZC6aCO10UZqo47URRupjTZSG3WkLtpIbdT5s+ii1+tVjQiJRNIwaEZxv+222ygpKWHRokVu28aPH4/FYvlLL7Umo7hLJBKJRCKR/HWRUdxlW1ciaYpoRqRYt24dV199teq20aNHs2bNmgYrlMQe2fP48eNNMrJnYyJ10UZqo43URh2pizZSG22kNupIXbSR2qgjdZFIJGpoGuhnzpwhPDxcdVtYWBipqakNViiJPbLn9u3bKS8vb+yiNCmkLtpIbbSR2qgjddFGaqON1EYdqYs2Uht1pC4SiUQNTQPdz8+PQ4cOqW47dOiQjOIukUgk7iRlNAAAK0FJREFUEolEIpFIJBJJPaJpoA8YMIBZs2aRkZHhkp6RkcGLL77IVVdd1eCFk0gkEolEIpFIJBKJ5O9Cjcus9ejRg1atWjF27FgiIyM5deoUixcvprS0lGeeeeZSlvNvh6IoBAcHN/nInpcaqYs2UhttpDbqSF20kdpoI7VRR+qijdRGHamLRCJRQzOKO8COHTuYPn06GzZsoLy8HL1eT79+/Zg9ezYdO3a8lOW85MjIlhKJRCKRSCR/XWQUd9nWlUiaIpou7gCdOnVizZo15OTkcOrUKXJzc/nxxx//8sZ5U6C8vJz9+/fLwCHVkLpoI7XRRmqjjtRFG6mNNlIbdaQu2kht1JG6SCQSNWo00CuxWCxERETg4eHR0OWRVGCz2UhKSpJLb1RD6qKN1EYbqY06UhdtpDbaSG3Ukbpo05S1iTDFNNq5m7IuEomk8dCcgy6RSCQSiUQikfxVmd7sFfyMQY1dDIlEInFBGugSiUQikUgkkr8dYeZmjV0EiUQicaNWLu6SS49OpyM6OhqdTl4iZ6Qu2khttJHaqCN10UZqo43URh2pizZSG3WkLhKJRI0ao7j/nZGRLSUSiUQikUgkf1VkW1ciaZrILrsmSnl5OYmJiTKyZzWkLtpIbbSR2qgjddFGaqON1EYdqYs2Uht1pC4SiUQNaaA3UWw2GydOnJCRPashddFGaqON1EYdqYs2UhttpDbqSF20kdqoI3WRSCRqSANdIpFIJBKJRCKRSCSSJoCM4q5B5dT8nJycRjl/aWkpBQUF5OTkYDQaG6UMTRGpizZSG22kNupIXbSR2mgjtVFH6qKN1Eadxtalso0rw1FJJE0LaaBrkJubC0CzZnIJDolEIpFIJBLJX5Pc3FysVmtjF0MikVQgo7hrYLPZSE5OxsfHB0VRLvn5c3JyaNasGSdPnpSRNZ2QumgjtdFGaqOO1EUbqY02Uht1pC7aSG3UaWxdhBDk5uYSEREhl3qTSJoQcgRdA51OR1RUVGMXA19fX/kxU0Hqoo3URhupjTpSF22kNtpIbdSRumgjtVGnMXWRI+cSSdNDdpdJJBKJRCKRSCQSiUTSBJAGukQikUgkEolEIpFIJE0AaaA3UcxmMzNmzMBsNjd2UZoUUhdtpDbaSG3UkbpoI7XRRmqjjtRFG6mNOlIXiUSihgwSJ5FIJBKJRCKRSCQSSRNAjqBLJBKJRCKRSCQSiUTSBJAGukQikUgkEolEIpFIJE0AaaBLJBKJRCKRSCQSiUTSBJAGukQikUgkEolEIpFIJE0AaaA3ELNmzaJHjx74+PgQEhLCmDFjSEpKcskjhGDmzJlERERgsVjo378/e/bscWzPyMjg3nvvJT4+Hk9PT6Kjo7nvvvvIzs52Oc7VV19NdHQ0Hh4ehIeHM2HCBJKTky9JPeuC1EYdqYs2UhttpDbqSF20kdqoI3XRRmqjjdRGIpHUO0LSIAwdOlTMnz9f7N69W2zfvl2MHDlSREdHi7y8PEeeF198Ufj4+Iivv/5a7Nq1S4wdO1aEh4eLnJwcIYQQu3btEtddd51Yvny5OHTokFizZo1o1aqVuP76613ONXv2bLF582Zx7Ngx8csvv4iEhASRkJBwSet7IUht1JG6aCO10UZqo47URRupjTpSF22kNtpIbSQSSX0jDfRLxNmzZwUg1q9fL4QQwmazibCwMPHiiy868hQVFQmr1Sree+89zeN8+eWXwmQyidLSUs0833zzjVAURZSUlNRfBRoQqY06UhdtpDbaSG3UkbpoI7VRR+qijdRGG6mNRCK5WKSL+yWi0k0pICAAgKNHj5KamsqQIUMcecxmM/369WPTpk01HsfX1xeDwaC6PSMjg4ULF9K7d2+MRmM91qDhkNqoI3XRRmqjjdRGHamLNlIbdaQu2khttJHaSCSSi0Ua6JcAIQTTp0+nb9++tG/fHoDU1FQAQkNDXfKGhoY6tlUnPT2d5557jrvuustt26OPPoqXlxeBgYGcOHGCb775pp5r0TBIbdSRumgjtdFGaqOO1EUbqY06UhdtpDbaSG0kEkl9IA30S8C0adPYuXMnixYtctumKIrLbyGEWxpATk4OI0eOpF27dsyYMcNt+8MPP0xiYiKrV69Gr9czceJEhBD1V4kGQmqjjtRFG6mNNlIbdaQu2kht1JG6aCO10UZqI5FI6oVL4Uf/d2batGkiKipKHDlyxCX98OHDAhB//PGHS/rVV18tJk6c6JKWk5MjEhISxMCBA0VhYeF5z3ny5EkBiE2bNl18BRoQqY06UhdtpDbaSG3UkbpoI7VRR+qijdRGG6mNRCKpL+QIegMhhGDatGksWbKEn376ibi4OJftcXFxhIWF8cMPPzjSSkpKWL9+Pb1793ak5eTkMGTIEEwmE8uXL8fDw6NW5wYoLi6up9rUL1IbdaQu2khttJHaqCN10UZqo47URRupjTZSG4lEUu9c2v6Avw///Oc/hdVqFevWrRMpKSmOv4KCAkeeF198UVitVrFkyRKxa9cuccstt7gsu5GTkyMuv/xy0aFDB3Ho0CGX45SVlQkhhNiyZYt48803RWJiojh27Jj46aefRN++fUWLFi1EUVFRo9T9fEht1JG6aCO10UZqo47URRupjTpSF22kNtpIbSQSSX0jDfQGAlD9mz9/viOPzWYTM2bMEGFhYcJsNosrr7xS7Nq1y7F97dq1msc5evSoEEKInTt3igEDBoiAgABhNptFbGysmDp1qjh16tQlrnHtkdqoI3XRRmqjjdRGHamLNlIbdaQu2khttJHaSCSS+kYRQkaWkEgkEolEIpFIJBKJpLGRc9AlEolEIpFIJBKJRCJpAkgDXSKRSCQSiUQikUgkkiaANNAlEolEIpFIJBKJRCJpAkgDXSKRSCQSiUQikUgkkiaANNAlEolEIpFIJBKJRCJpAkgDXSKRSCQSiUQikUgkkiaANNAbiHfeeYe4uDg8PDzo1q0bP//8s8v2ffv2cfXVV2O1WvHx8aFXr16cOHHC7ThxcXGsWrWKoqIiJk2aRIcOHTAYDIwZM8Ytb0pKCuPGjSM+Ph6dTsf999/fQLWrO42hy5IlSxg8eDDBwcH4+vqSkJDA999/31BVrDONoc3GjRvp06cPgYGBWCwW2rRpw5w5cxqqinWiMXRx5pdffsFgMNC5c+d6rFX90BjarFu3DkVR3P7279/fUNWsE4113xQXF/PEE08QExOD2WymRYsWzJs3ryGqWCekLto0hjaTJk1SfZ4uu+yyhqpmnWis+2bhwoV06tQJT09PwsPDmTx5Munp6Q1RxTrRWLq8/fbbtG3bFovFQnx8PJ988klDVE8ikTQS0kBvAL744gvuv/9+nnjiCRITE7niiisYPny446V8+PBh+vbtS5s2bVi3bh07duzgqaeewsPDw+U4O3fuJD09nQEDBlBeXo7FYuG+++5j0KBBquctLi4mODiYJ554gk6dOjV4PS+UxtJlw4YNDB48mJUrV7Jt2zYGDBjA6NGjSUxMbPA615bG0sbLy4tp06axYcMG9u3bx5NPPsmTTz7JBx980OB1rg2NpUsl2dnZTJw4kYEDBzZYHetKY2uTlJRESkqK469Vq1YNVtcLpTG1uemmm1izZg1z584lKSmJRYsW0aZNmwatb22RumjTWNr897//dXmOTp48SUBAADfeeGOD17m2NJY2GzduZOLEiUyZMoU9e/awePFifvvtN/7xj380eJ1rQ2Pp8u677/Lvf/+bmTNnsmfPHp555hnuuecevv322wavs0QiuUQISb3Ts2dPMXXqVJe0Nm3aiMcee0wIIcTYsWPFrbfeet7jPPvss+KGG25wS7/tttvENddcU+O+/fr1E//6179qXeZLQVPQpZJ27dqJZ555plZ5LwVNSZtrr722Vue6FDS2LmPHjhVPPvmkmDFjhujUqdMFlb2haSxt1q5dKwCRmZlZp3JfChpLm//973/CarWK9PT0uhW8gZG6aNPY75pKli5dKhRFEceOHatdwS8BjaXNK6+8Ipo3b+6S9sYbb4ioqKgLKH3D0Vi6JCQkiIceesgl7V//+pfo06fPBZReIpE0ZeQIej1TUlLCtm3bGDJkiEv6kCFD2LRpEzabje+++47WrVszdOhQQkJCuPzyy1m2bJnbsZYvX84111xziUresDQlXWw2G7m5uQQEBNT5GPVJU9ImMTGRTZs20a9fvzofo75obF3mz5/P4cOHmTFjxsVUo0FobG0AunTpQnh4OAMHDmTt2rV1rUq905jaLF++nO7du/Pyyy8TGRlJ69ateeihhygsLLzYal00UhdtmsLzVMncuXMZNGgQMTExdT5GfdKY2vTu3ZtTp06xcuVKhBCcOXOGr776ipEjR15stS6axtSluLjYbRTeYrGwdetWSktL61QfiUTStJAGej2TlpZGeXk5oaGhLumhoaGkpqZy9uxZ8vLyePHFFxk2bBirV6/m2muv5brrrmP9+vWO/KdPn2bHjh2MGDHiUlehQWhKurz22mvk5+dz00031fkY9UlT0CYqKgqz2Uz37t255557moQLYWPqcvDgQR577DEWLlyIwWCotzrVF42pTXh4OB988AFff/01S5YsIT4+noEDB7Jhw4Z6q9/F0JjaHDlyhI0bN7J7926WLl3K66+/zldffcU999xTb/WrK1IXbZrCOxjscWT+97//NYn3byWNqU3v3r1ZuHAhY8eOxWQyERYWhp+fH2+++Wa91a+uNKYuQ4cO5aOPPmLbtm0IIfj999+ZN28epaWlpKWl1VsdJRJJ49H0Wp5/ERRFcfkthEBRFGw2GwDXXHMNDzzwAACdO3dm06ZNvPfee46Ry+XLl9OnT58mM8pbXzS2LosWLWLmzJl88803hISEXERN6p/G1Obnn38mLy+PX3/9lccee4yWLVtyyy23XGSN6odLrUt5eTnjxo3jmWeeoXXr1vVYk/qnMe6Z+Ph44uPjHb8TEhI4efIkr776KldeeeXFVqneaAxtbDYbiqKwcOFCrFYrALNnz+aGG27g7bffxmKx1EfVLgqpizaN/X1asGABfn5+5w1c2Rg0hjZ79+7lvvvu4+mnn2bo0KGkpKTw8MMPM3XqVObOnVtPNbs4GkOXp556itTUVHr16oUQgtDQUCZNmsTLL7+MXq+vp5pJJJLGRI6g1zNBQUHo9XpSU1Nd0s+ePUtoaChBQUEYDAbatWvnsr1t27YukT3/Su7t0DR0+eKLL5gyZQpffvnleQNgXUqagjZxcXF06NCBO+64gwceeICZM2fW6Tj1SWPpkpuby++//860adMwGAwYDAaeffZZduzYgcFg4Keffrq4itUDTeGecaZXr14cPHjwoo9THzSmNuHh4URGRjqM0MrjCiE4depUHWpTf0hdtGkKz5MQgnnz5jFhwgRMJlOdjtEQNKY2s2bNok+fPjz88MN07NiRoUOH8s477zBv3jxSUlLqXql6oDF1sVgszJs3j4KCAo4dO8aJEyeIjY3Fx8eHoKCguldKIpE0GaSBXs+YTCa6devGDz/84JL+ww8/0Lt3b0wmEz169CApKcll+4EDBxxzzvLy8li7di1XX331JSt3Q9PYuixatIhJkybx2WefNYn5a840tjbVEUJQXFx80ce5WBpLF19fX3bt2sX27dsdf1OnTiU+Pp7t27dz+eWXX3zlLpKmds8kJiYSHh5+0cepDxpTmz59+pCcnExeXp7LcXU6HVFRUXWsUf0gddGmKTxP69ev59ChQ0yZMqVulWggGlObgoICdDrXZmrlCLEQ4kKrUq80hXvGaDQSFRWFXq/n888/Z9SoUW56SSSSPymXOird34HPP/9cGI1GMXfuXLF3715x//33Cy8vL0dU1iVLlgij0Sg++OADcfDgQfHmm28KvV4vfv75ZyGEEIsXLxbt27d3O+6ePXtEYmKiGD16tOjfv79ITEwUiYmJLnkq07p16ybGjRsnEhMTxZ49exq8zrWhsXT57LPPhMFgEG+//bZISUlx/GVlZV2SeteGxtLmrbfeEsuXLxcHDhwQBw4cEPPmzRO+vr7iiSeeuCT1Ph+N+Sw50xSjuDeWNnPmzBFLly4VBw4cELt37xaPPfaYAMTXX399SepdGxpLm9zcXBEVFSVuuOEGsWfPHrF+/XrRqlUr8Y9//OOS1Pt8SF20aex3za233iouv/zyBq1jXWksbebPny8MBoN45513xOHDh8XGjRtF9+7dRc+ePS9Jvc9HY+mSlJQk/u///k8cOHBAbNmyRYwdO1YEBASIo0ePXopqSySSS4A00BuIt99+W8TExAiTySS6du0q1q9f77J97ty5omXLlsLDw0N06tRJLFu2zLHt1ltvVTWQYmJiBOD254za9piYmAapY11oDF369eunuv22225rsHrWhcbQ5o033hCXXXaZ8PT0FL6+vqJLly7inXfeEeXl5Q1X0QuksZ4lZ5qigS5E42jz0ksviRYtWggPDw/h7+8v+vbtK7777ruGq2Qdaaz7Zt++fWLQoEHCYrGIqKgoMX36dFFQUNAwlawDUhdtGkubrKwsYbFYxAcffNAwFasHGkubN954Q7Rr105YLBYRHh4uxo8fL06dOtUwlawDjaHL3r17RefOnYXFYhG+vr7immuuEfv372+4SkokkkuOIkQj+wlJXCgvLyckJIT//e9/9OzZs7GL02SQumgjtVFH6qKN1EYbqY06UhdtpDbaSG3UkbpIJJKakJNVmhjp6ek88MAD9OjRo7GL0qSQumgjtVFH6qKN1EYbqY06UhdtpDbaSG3UkbpIJJKakCPoEolEIpFIJBKJRCKRNAHkCLpEIpFIJBKJRCKRSCRNAGmgSyQSiUQikUgkEolE0gSQBno9M2vWLHr06IGPjw8hISGMGTPGbR1MIQQzZ84kIiICi8VC//792bNnT43HXbduHddccw3h4eF4eXnRuXNnFi5c6JZv4cKFdOrUCU9PT8LDw5k8eTLp6en1Wse6smHDBkaPHk1ERASKorBs2TK3PPv27ePqq6/GarXi4+NDr169OHHiRK2Of+jQIXx8fPDz83NJ37hxI3369CEwMBCLxUKbNm2YM2dOPdSo/qhJm9LSUh599FE6dOiAl5cXERERTJw4keTk5BqPeezYMRRFcftbtWqVI8+kSZNU81x22WUNVdUL5p133iEuLg4PDw+6devGzz//7Nh25swZJk2aREREBJ6engwbNoyDBw/WeLyioiImTZpEhw4dMBgMjBkzxi3PkiVLGDx4MMHBwfj6+pKQkMD3339f31W7aGrSRu3a9urVq8bj1eY982e4Z6BmbZYsWcLQoUMJCgpCURS2b99+QcfWetekpKQwbtw44uPj0el03H///RdfkXqkNt+numhTm3cNQHFxMU888QQxMTGYzWZatGjBvHnz6rOKdeZ836e8vDymTZtGVFQUFouFtm3b8u6779Z4zNq8a5r6PVOb73Yld911F4qi8Prrr9d4zNq2Z5ry/QLn16YubT1ntN4zAOvXr6dbt254eHjQvHlz3nvvvYusjUQiaUpIA72eWb9+Pffccw+//vorP/zwA2VlZQwZMoT8/HxHnpdffpnZs2fz1ltv8dtvvxEWFsbgwYPJzc3VPO6mTZvo2LEjX3/9NTt37uT2229n4sSJfPvtt448GzduZOLEiUyZMoU9e/awePFifvvtN/7xj380aJ1rS35+Pp06deKtt95S3X748GH69u1LmzZtWLduHTt27OCpp57Cw8PjvMcuLS3llltu4YorrnDb5uXlxbRp09iwYQP79u3jySef5Mknn+SDDz646DrVFzVpU1BQwB9//MFTTz3FH3/8wZIlSzhw4ABXX311rY79448/kpKS4vi76qqrHNv++9//umw7efIkAQEB3HjjjfVWt4vhiy++4P777+eJJ54gMTGRK664guHDh3PixAmEEIwZM4YjR47wzTffkJiYSExMDIMGDXJ53qpTXl6OxWLhvvvuY9CgQap5NmzYwODBg1m5ciXbtm1jwIABjB49msTExIaq6gVTkzaVDBs2zOX6rly5ssZj1uY909TvGTi/Nvn5+fTp04cXX3zxgo9d07umuLiY4OBgnnjiCTp16nTR9ahvavN9uhhtanrXANx0002sWbOGuXPnkpSUxKJFi2jTps1F16s+ON/36YEHHmDVqlV8+umn7Nu3jwceeIB7772Xb775RvOYtXnXNPV75ny6VLJs2TK2bNlCRETEeY9Zm/cMNO37Bc6vTV3aepXU9J45evQoI0aM4IorriAxMZHHH3+c++67j6+//vqi6ySRSJoIjbjE29+Cs2fPCsCxNqbNZhNhYWHixRdfdOQpKioSVqtVvPfeexd07BEjRojJkyc7fr/yyiuiefPmLnneeOMNERUVdRE1aBgAsXTpUpe0sWPHiltvvbVO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53v37kViYiLS0tLQp08fZbter0dJSQlGjBiBU6dOYdq0aYiPj4efnx8uXryIXbt24eGHH0Zubi4GDBhQ5zhvvvkmZs6cqTw/efIknn/+ebz33nt46KGHlO2dO3dG586dcezYMYSEhDRTq4mIiKgpmKATERE1g9pJ8JkzZwDcvMoeFhZm9drIkSPx7bff4quvvsLQoUOtXpswYQLmzp2LTp062TxOcHAwgoODlecVFRUAgJ49e2Lw4MF19re1jYiIiNwDb3EnIiJqRbm5udi/fz/i4uLqJOc17r33XnTv3r3Jx7J1i7vRaMRtt92GM2fOIDo6Gu3bt4dOp0NSUhIA4Pjx44iIiED79u3Rq1cvfPTRR3XKLSoqwowZM6DX66HVahEUFIR33nkHVVVVTa4zERHRfwmvoBMREbWigwcPAgAeffTRVqtDZWUlYmNjMXPmTMTHxyM9PR3z58/H5cuXsX37drz22mvQ6/VYtWoVjEYj+vXrh9DQUAA3k/P77rsPHh4eeOuttxAcHIxjx44hMTERP//8M9LS0lqtXURERG0NE3QiIqJW9MsvvwAAgoKCWq0O169fR2JiImJjYwHcXOBuz549WLRoEU6ePImBAwcCAMLCwhAQEID09HQlQU9ISMBff/2F06dPK1f5H374YXh7e+OVV15BfHw8v/NORETkIN7iTkRE9B+nUqkwcuRI5blarUaPHj2g0+mU5BwA/Pz8EBAQgAsXLijb9uzZg4ceegjdunVDVVWV8oiJiQGABlegJyIiImu8gk5EROQgtfrmtHnjxg2br1dVVUGj0TSqzJqrzufPn0fv3r2bVkEn+fj4wMvLy2qbVquFn59fnX21Wq2yEB0A/P7779i9e3e97a7vJ+mIiIioLiboREREDurSpQsA4OLFi8q/a4gILBZLnRXa7YmOjsbrr7+OnTt3YsSIES6ra0vx9/dH//798e6779p8vVu3bi1cIyIioraLCToREZGDhg4dCpVKhc8//xyDBg2yeu3AgQO4fPkyhg0b1qgyBw0ahJiYGKSmpmLcuHE2V3LPyclBQECAS1Zyd7VHHnkE+/btQ3BwcL0/BUdERESOYYJORETkoODgYMyaNQtLly5FWVkZRo4cCW9vb5w4cQJJSUkICwvDpEmTGl3uxx9/jBEjRiAmJgbTpk1DTEwMOnXqBIvFgt27d2PLli3Izc11ywR94cKFOHToEIYMGYLZs2ejd+/eqKiowM8//4x9+/Zh7dq10Ov1rV1NIiKiNoEJOhERUSOsWLECISEhSE1NxaeffoqqqioYDAY8//zzWLBgAbRabaPL9Pf3x9GjR7FhwwZs2bIF6enpuHr1KgICAjB48GBkZGRgwIABzdCaptPpdMjJycH//vc/LF26FIWFhejQoQOCgoIwYsQIXlUnIiJqBJWISGtXgoiIiIiIiOi/jj+zRkREREREROQGmKATERERERERuQEm6ERERERERERugAk6ERERERERkRtggk5ERERERETkBpigExEREREREbmB/wMj/KJ5oFNV8gAAAABJRU5ErkJggg==", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c57d4ee2f49a469f93e8ad9d6dc47812", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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3omPjw8hISE88MADnDhxQtGPRYsWodFoGDVqVIk6XA0ZoFdANBoNzZs3R6PRlLcpFQqpizJSF2WkLq5ITZSRuihzM3WpzAN+5fniitREGanLrcdoNNKhQwfef//9EvM8//zzLFu2jMWLF7N161by8vLo27cvNputwtvWvn17kpKSnP6efvppatSoQatWrQDIzc2lZ8+eVKtWjZ07d7J161Z8fX3p2bMnFovFqT6LxcKgQYPo2LGjiy0xMTH07t2bjh07sn//fl555RXGjRvHkiVLHHm2b9/OgAEDGDJkCAcPHmTIkCH079+fnTt3Kvo3fPhw1q9fT2xsrMu2efPm0bx5c+644w5sNht9+vTBaDSydetWFi9ezJIlS5g4caIj/6RJk1y0aNiwIY8++qgjj5eXF2PGjGHz5s0cO3aM1157jddee42vv/76mnzYtGkTo0ePZseOHaxduxar1UqPHj0wGo2Kfrz00kssXryY/Px8RR2uipAokp2dLQCRnZ1d3qZIJBKJRHJb8FPcZPHpqQHCZreVtykSyW1PSe+yBQUF4ujRo6KgoKCcLLt+OnfuLEaPHi1Gjx4tDAaDCAgIEK+++qqw2+1O+WJiYgQg9u/f75SelZUldDqdWLx4sSMtISFBqNVqsXr16ivWffjwYdG7d2/h4+MjvL29xV133SVOnz4thBDiiSeeEPfff7/46KOPRFhYmAgICBDPPfecMJvNLuWUpW1ms1mEhISIt956y5G2e/duAYi4uDhH2qFDhwTgsLeYl156STz++OPiu+++EwaDwWVb/fr1ndKeeeYZ0bZtW8fv/v37i169ejnl6dmzpxg4cKCivRaLRYSGhoqpU6c6pRuNRuHj4yNmz54thBBi1apVQq1Wi4SEBEeen376Sej1+hJjswMHDghAbN68WXF7MQ8++KB4/PHHr9sHIYRISUkRgNi0aZNTekxMjPDw8BBZWVmiTZs2YsGCBVe0RQjl61H2oFdArFYr69evl7N+XobURRmpizJSF1ekJspIXZSRuigjdXFFaqKM1OXmsGDBArRaLTt37mTWrFnMmDGDb7/9tlT77t27F4vFQo8ePRxpERERNG7cmG3btpW4X0JCAp06dcLd3Z3169ezd+9ennrqKadju2HDBs6cOcOGDRtYsGAB8+fPZ/78+aX263psW7FiBWlpaQwbNsyRFhUVRVBQEHPnzsVsNlNQUMDcuXNp1KgR1atXd+Rbv349v/76K59//rli2du3b3eyBaBnz57s2bPH0RNfUp6S7NVqtQwdOpT58+c7TZ7466+/YjabeeyxxxzlNm7cmIiICKdyTSYTe/fuVSz722+/pV69eoqjAYrZv38/27Zto3Pnzlf180rnQ3Z2NgABAQFO6fPmzaNPnz4YDAYef/xx5s6dW2IZV0Kug14BEUKQm5srZ/28DKmLMlIXZaQurkhNlJG6KHNzdam8WsvzxRWpiTKVTRe7zYS5IPGW1+vmEYFaoy91/sjISGbMmIFKpSIqKoro6GhmzJjBiBEjrrpvcnIybm5u+Pv7O6WHhoaSnJxc4n6ff/45BoOBxYsXo9PpAKhXr55THn9/fz777DM0Gg3169enT58+/P3336Wy63ptmzt3Lj179iQyMtKR5uPjw8aNG7n//vt5++23Hbb+73//Q6stCv3S09MZNmwYCxcuxNfXt0R7QkNDXWyxWq2kpaURHh5eYp4rafnUU0/x0UcfsXHjRrp27QoUBbYPPfSQw3elcv39/XFzc1Ms22Qy8eOPP/Lyyy8r1lm1alVSU1OxWq1MnTqVp59++qp+luSDEIIJEyZw11130bhxY0e63W5n/vz5zJ49G4CBAwcyYcIETp8+TZ06dUrUQ4kKH6BPmzaNpUuXcvz4cTw8PGjfvj0ffPABUVFRJe5z6QG/lGPHjlG/fv2baa5EIpFIJBKJRFLpMBckcn7/5Fteb9UW03D3rlnq/G3btkWlurhkY7t27fj444+x2WzX/b2/EMJR5r333suWLVsAqF69OkeOHOHAgQN07NjREZwr0ahRI6f6w8PDiY6Ovi57SrLtUs6fP8///vc/fvnlF6f0goICnnrqKTp06MBPP/2EzWZj+vTp9O7dm927d+Ph4cGIESMYPHgwnTp1umLdl9db3Nh0abpSnuK0H3/8kWeeecax7a+//qJjx460b9+eefPm0bVrV86cOcOWLVtYs2bNFeu+khZLly4lNzeXoUOHKvqxZcsW8vLy2LFjBy+//DJ16tRh0KBBpfLhcsaMGcOhQ4fYunWrU/qaNWswGo3ce++9AAQFBdGjRw/mzZvHe++9p1hWSVT4AL34o/w777wTq9XKq6++So8ePTh69KjTLH1KnDhxwqlVKDg4+GabK5FIJBKJRCKRVDrcPCKo2mJaudR7qwgLC8NsNpOZmenUU52SkkL79u2BoqHSBQUFAI6A3MPD46plXx68q1Qq7HZ7mdp2Kd999x2BgYHcd999TumLFi3i3LlzbN++HbVa7Ujz9/fn999/Z+DAgaxfv54VK1Ywffp0oCggtdvtaLVavv76a5566inCwsJcepFTUlLQarUEBgY6bFbKU9wjfd9999GmTRvHtipVqgBFk8WNGTOGzz//nO+++47q1atz9913O2lx+URzmZmZWCwWl95uKDpmffv2JSwsTElaatYsagBq0qQJFy5cYOrUqY4A/Wo+XMrYsWNZsWIFmzdvpmrVqk7b5s2bR0ZGBp6eno40u93O/v37efvtt6+p8ajCB+irV692+v3dd98REhLC3r17r9rqExISorhkQEVHo9HQrl07OevnZUhdlJG6KCN1cUVqoozURRmpizJSF1ekJspUNl3UGv019WSXFzt27HD5Xbdu3VLp3LJlS3Q6HWvXrqV///4AJCUlcfjwYT788EPgYhB5KU2bNmXBggVYLJYr9qLfCKWxrRghBN999x1Dhw51sSc/Px+1Wu3UA1z8u7jBYPv27U6z1v/+++988MEHbNu2zeF/u3bt+OOPP5zKXrNmDa1atXLU2a5dO9auXcsLL7zglKe4QcHHxwcfHx8XX/v378/48eNZtGgRCxYsYMSIES6jIt59912SkpIIDw93lKvX62nZsqVTWTExMWzYsIEVK1aUqO3l2plMJqe6ruRD8T5jx45l2bJlbNy40RHwF5Oens7vv//O4sWLadSokSPdbrfTsWNH/vrrL/r27Vsq+4orrFScOnVKACI6OrrEPBs2bBCAqFGjhggLCxPdunUT69evv6Z65CzuEolEIpGULcWzuFvtlvI2RSK57bldZ3H39vYWL7zwgjh+/LhYtGiR8PLyEl9++aUQQoj09HSxf/9+sXLlSgGIxYsXi/3794ukpCRHGaNGjRJVq1YV69atE/v27RPdunUTzZo1E1artcR609LSRGBgoHjooYfE7t27xcmTJ8X3338vjh8/LoS4OIv7pYwfP1507tzZ8bssbVu3bp0AxNGjR11sPXbsmNDr9eLZZ58VR48eFYcPHxaPP/64MBgMIjExUdE/pVncz549Kzw9PcULL7wgjh49KubOnSt0Op347bffHHn++ecfodFoxPvvvy+OHTsm3n//faHVasWOHTtK1LKY4cOHC39/f6FWq0VsbKzTNqvVKho3bizuvvtusW/fPrFu3TpRtWpVMWbMGJdyXnvtNREREaF4/D777DOxYsUKcfLkSXHy5Ekxb9484evrK1599dVr8uHZZ58VBoNBbNy4USQlJTn+8vPzhRBCzJgxQ4SHhwubzXWFksGDB4sHHnigRB2UrsdKFaDb7XbRr18/cdddd10x3/Hjx8XXX38t9u7dK7Zt2yaeffZZoVKpXKbCv5TCwkKRnZ3t+IuPjxeASEtLE2azWZjNZseBt1qtjrRL0y0Wi1N68UEqKf3SNLPZLOx2u7Db7cJoNIo//vhDGI1Gp/TL8wshhM1mc0qzWCxXTC/J9pvtU2nTr2R7YWGhky63g09lcZzMZrOTLreDT2VxnEwmk4suld2nGz1OxfeW4jpuB5/K4jgV61L8cLwdfCqL43Tps6isfPopbrL49MQgUWDKr7Tn3qW6VITjVBHOPbPZ9TlU2X0qi+NUWFgo/vzzz1I/h8rap7S0tNsyQH/uuefEqFGjhK+vr/D39xcvv/yyY5m17777TlA0C6XT35QpUxxlFBQUiDFjxoiAgADh4eEh+vbt67QkWUkcPHhQ9OjRQ3h6egofHx/RsWNHcebMGSFE6QL0srRt0KBBon379iXaumbNGtGhQwdhMBiEv7+/6Natm9i+fXuJ+ZUCdCGE2Lhxo2jRooVwc3MTNWrUEF988YVLnl9//VVERUUJnU4n6tevL5YsWVJiPZeybds2AYgePXoobo+NjRV9+vQRHh4eIiAgQIwZM0YUFhY65bHZbKJq1arilVdeUSxj1qxZolGjRsLT01P4+vqKFi1aiDlz5rgE0lfzQem4AeK7774TQgjRpEkT8dxzzynasGTJEqHVakVycrLidqXrUfVvpZWC0aNHs3LlSrZu3eoy7v9q9OvXD5VKVeLwh6lTp/Lmm2+6pC9atMjxLUG1atVo0aIF+/fvJy4uzpEnKiqK+vXrs23bNlJTUx3pzZs3p3r16qxfv57c3FxHert27QgJCWHlypVOyzN07doVDw8PVq1a5WRD7969KSgoYMOGDY40rVZLnz59SElJYfv27Y50Hx8funXrRmxsLAcOHHCkBwcH0759e44fP86JEycc6ZXJp7NnzzpNtnE7+FQWx6l27doutlR2n8riOHXs2NExycvt4lNZHKfi/ImJibeNT2V1nOrUqUOjRo1uK58q2nFKqbuO/GQITLz4TWJl9+l2PE7X6lPjxo1d6qzsPpXFcbrzzjvZvXs3Wq22XHzav38/gwcPJjs722lOpsLCQmJiYqhZsybu7u5UJrp06ULz5s2ZOXNmeZsikZQJStdjpQnQx44dy/Lly9m8ebPLuP/S8O6777Jw4UKOHTumuN1kMjl9j5CTk0NkZCRpaWmOm5parUaj0WCz2ZwmfShOt1qtTktpaDQa1Gp1ienFawgWU7z0QUFBAWvXrqV79+7odDpH+uXraOp0Oux2u9M3JCqVCq1WW2J6SbbfbJ8ut/16fDKZTKxevdqhy+3gU1kcJ7vdzqpVqxy63A4+lcVxEkLw119/OelS2X260eNksVhYu3YtvXv3dthZ2X261PbrPU7FuvTs2RN3d/fbwqfL06/Hp2Jdunfv7pgg6UZ9+i3pDVIKzjGyxlw0Ku0t96k0tl/Np8LCQocubm5u5X6cysKnGz33lJ5Dld2nsjhOdrvd6b3lVvuUlZVFUFCQDNAlkgqM0vVY4SeJE1f5KL+07N+/3zHJgBJ6vR693nUNRp1O5zL5gkajUZyIovjGWtr0kiaZKE6/vG6l/Gq12jFDY2nSS7L9VvlUmvQr+VS8z6X7VXafbvQ4Fb88KJ2rldUnuPHjVPySp6SLUv4r2V5RfLqedOlT6X0q/v/t5FMxN+JTcYNoSbaXlF6S7ajt6HQ6R4B+Ndsr2rl36TO6uK6KcJyuN70szr3reQ5VdJ+ulF5an67nOVRS+vX4dLMmM5NIJDeXCh+gjx49mkWLFvH777/j4+PjmAbfYDA4WvQnT55MQkIC33//PQAzZ86kRo0aNGrUCLPZzMKFC1myZAlLliwpNz+uBa1WS9euXUt8APxXkbooI3VRRuriitREGamLMjdDFxXK68pWJuT54orURBmpS9mzcePG8jZBIrnpVPg7xhdffAEUDWm5lO+++45hw4YBRUsQXPqNkNlsZtKkSSQkJODh4UGjRo1YuXIlvXv3vlVm3zClWW/xv4jURRmpizJSF1ekJspIXZSRuigjdXFFaqKM1EUikVwrCmPPKhaiaKZ5l7/i4Bxg/vz5Ti1qL730EqdPn6agoICMjAy2bNlSqYJzq9XKqlWrXL5B+q8jdVFG6qKM1MUVqYkyUhdlpC7KSF1ckZooI3WRSCTXQ4UP0CUSiUQikdxeCCrF/LQSiUQikdxyZIAukUgkEolEIpFIJBJJBUAG6BKJRCKRSCQSiUQikVQAKs066LeanJwcDAaDy9qRtwIhBFarFa1W61jaRiJ1KQmpizJSF1ekJspcrsuiuJe4w78f9X06lrdp5crNOF9+jn+VC6YzPFfre7RqtzIp81YjryNXpCbKlLcuJb3LVuZ10CWS2w2l61H2oFdQCgoKytuEConURRmpizJSF1ekJspcqkuaOY7NqQvK0ZqKQ9mfL7dH8CavI1ekJspIXSo/U6dOpXnz5uVthuQ/hAzQKyBWq5UNGzbIWT8vQ+qijNRFGamLK1ITZaQuykhdlJG6uCI1UUbqcuuZOnUq9evXx8vLC39/f+655x527tx50+vdvHkz/fr1IyIiApVKxfLly13yLF26lJ49exIUFIRKpeLAgQNO2zMyMhg7dixRUVF4enpSrVo1xo0bR3Z2tlO+zMxMhgwZgsFgwGAwMGTIELKyspzyxMXF0a9fP7y8vAgKCmLcuHGYzWanPNHR0XTu3BkPDw+qVKnCW2+9xaUDqzdu3IhKpXL5O378+FX1SE5OZuzYsdSqVQu9Xk9kZCT9+vXj77//duQxmUyMHTuWoKAgvLy8uO+++zh//vw1+1pMjx490Gg07Nixw2XbsGHDUKlUvP/++07py5cvdxndIoTgm2++oV27dvj6+uLt7U2jRo0YP348p0+fVqx78eLFqFQqHnjggatqUxpkgC6RSCQSiUQikUgqPfXq1eOzzz4jOjqarVu3UqNGDXr06EFqaupNrddoNNKsWTM+++yzK+bp0KGDS5BYTGJiIomJiUyfPp3o6Gjmz5/P6tWrGT58uFO+wYMHc+DAAVavXs3q1as5cOAAQ4YMcWy32Wz06dMHo9HI1q1bWbx4MUuWLGHixImOPDk5OXTv3p2IiAh2797N7NmzmT59Op988omLXSdOnCApKcnxV7du3Stqce7cOVq2bMn69ev58MMPiY6OZvXq1XTt2pXRo0c78j3//PMsW7aMxYsXs3XrVvLy8ujbty82m63UvhYTFxfH9u3bGTNmDHPnzlW0y93dnQ8++IDMzMwSbRdCMHjwYMaNG0fv3r1Zs2YNhw4dYtasWXh4ePDOO++47BMbG8ukSZPo2LEMP4sTEkWys7MFILKzs2953WazWSxfvlyYzeZbXndFRuqijNRFGamLK1ITZS7X5dNTA8RXZ4aXs1Xlz804XxbHvSo+PTVAWGymMivzViOvI1ekJsqUty4lvcsWFBSIo0ePioKCgnKx60bo3LmzGD16tBg9erQwGAwiICBAvPrqq8JutyvmL9Zg3bp1Vyw3Pj5eDBgwQPj7+wtPT0/RsmVLsWPHDiGEEFOmTBHNmjUT33//vahevbrw9fUVAwYMEDk5OYplAWLZsmUl1hUTEyMAsX///qv6+8svvwg3NzdhsViEEEIcPXpUAA7bhBBi+/btAhDHjx8XQgixatUqoVarRUJCgiPPTz/9JPR6veNcmDNnjjAYDKKwsNCRZ9q0aSIiIsKh5YYNGwQgMjMzr2rnpdx7772iSpUqIi8vz2VbcVlZWVlCp9OJxYsXO7YlJCQItVotVq9eXWpfi5k6daoYOHCgOHbsmPDx8XGp+4knnhB9+/YV9evXFy+++KIjfdmyZeLScPinn34SgPj9998Vfbv8PLNaraJDhw7i22+/FU888YS4//77r6CMMkrXo+xBr6BotdryNqFCInVRRuqijNTFFamJMlIXZcpaF9Vt8g26PF9ckZooI3UpexYsWIBWq2Xnzp3MmjWLGTNm8O2337rkM5vNfP311xgMBpo1a1ZieXl5eXTu3JnExERWrFjBwYMHeemll7Db7Y48Z86cYfny5fz555/8+eefbNq0qcSe8LKkeIK/4vNo+/btGAwG2rRp48jTtm1bDAYD27Ztc+Rp3LgxERERjjw9e/bEZDKxd+9eR57OnTuj1+ud8iQmJnLu3DknG1q0aEF4eDh33303GzZsuKK9GRkZrF69mtGjR+Pl5eWy3c/PD4C9e/disVjo0aOHY1tERASNGzd28uNqvkJRr/d3333H448/Tv369alXrx6//PKLS90ajYb33nuP2bNnuwylL+ann34iKiqK++67T3H75cPh33rrLYKDg11GOdwo8q5RAdHpdPTp06e8zahwSF2UkbooI3VxRWqijNRFmZuhi6DyLxwjzxdXpCbKVDZdLHYTmebEW16vv1sEOrX+6hn/JTIykhkzZqBSqYiKiiI6OpoZM2YwYsQIAP78808GDhxIfn4+4eHhrF27lqCgoBLLW7RoEampqezevZuAgAAA6tSp45THbrczf/58fHx8ABgyZAh///0377777rW6W2rS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/jXtc7Mp72uooiJ1UUbq4orUxJlMvPDHiF0jSGipotP43rIHvYzo0qULjRsXzTWxcOFCNBoNzz77LG+//baj1zQhIYE2bdrwv//9jz59+vD8889ftQf9/PnzTJo0iTVr1mAymWjQoAGff/45bdq0cfSgT5w4kddff53MzEzuvfdevvnmG3x8fFzKUqlUij3oxZw7d46aNWu69KAr8euvv/L4449jNBpdluubP38+zz//vEsPemZmJlWqVOGPP/7g7rvvViz3iy++YPLkyVy4cAG9Xg/A+++/z+zZszl//jwqleq64qmWLVvStGlTRyBbTN26dbn//vuZPn06x44do2HDhuzYsYM2bdoAsGPHDtq1a8fx48eJiorir7/+om/fvsTHxzsaWRYvXsywYcNISUnB19e3VD4UM3DgQOrWrYtGo3EZDTFmzBiOHTvG33//7UibOHEiu3btYsuWog6LYcOGkZWVxfLlyx15tmzZQqdOnUhJSSE4OFhRj9Jw1R50g8HAmTMXX9DOnj2LEMJpWAVA/fr1b1lwbjab2bt3Ly+//LJTeo8ePdi2bZviPtu3b6dHjx5OaT179mTu3LlYLBbF74BMJhMm08XhYzk5OQBYLBYslqIXULVajUajwWazOc3IWZxutVqdZkDWaDSo1eoS04vLLab4wmu0pQFZvXMJPiTQqEBtBVRgv+zerrGqECqhmG5XCy6ZTBWVALXtCukagbjkmaqyg9pecrpN6zykTG0r6mVWSkeA/bI5x67Xp6zaOHS5XXy60eMkVDjpcqt90mHGdkl6RTn3QLjoUlqfLk+vKD6VdJw6rHeDDX0ctscTRGHVJM4OXYbOosGe7031z4dRS5vIqQeh5af3olLHFtluBrTpRQMhrtEnd7vlmn3y1hqxXZZe3teTTVt0roQcEFc8fpX1HnG9516xLsGHBDr77eHT5enX45NV53xvuR18utHjdKXnUGX16UaOky952AChEuTUFphMJqd3z+L3PavVeeh9Sek6nQ673e60XJtKpUKr1ZaYbrPZXN4zbxcWLFjA8OHD2blzJ3v27GHkyJFUr16dESNGYLfbGTJkCC+++GKpJ7fOy8ujc+fOVKlShRUrVhAWFsa+ffuc3vXPnDnD8uXL+fPPP8nMzKR///68//77vPvuuzfLTQBH48rlwfmVWLt2LXa7nYSEBBo0aEBu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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d099bea9baca411ba54a03b7da074cac", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6f97b46bfb2046c9a9deaaadb5b9bc95", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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1SlbqVfwivvKZVl2KZbffvuta4IBYPfu3TzwwANs27aNhg0butKpKK/S36XpdO3alR9//NEtzrp16+jUqRMGg4FmzZp5WAhMmzaNgoIC3nvvPaKjozEajfj7+3vUdfjw4Tz++OMsXbqUxYsXM3bsWA+riNdee43U1FQiIyNdeZtMJre99tVh2bJlPPDAAyxbtoyBAwe6XatuHTp27Mj69eu59dZbXfFKtxqAepzd6tWrWb58OS1btnTFURSFHj168Msvv1yUZaCmoGtoaGhoaGhoaGhoXBUkJiYyefJkxo0bx759+3j//feZNWsWANnZ2SQkJJCSou6lP3nyJKCuyEZERBAYGMiYMWN48sknCQkJITg4mKeeeorWrVtXeVQXwCOPPML777/PyJEjee655wgMDGTnzp107tyZpk2bVqvcl6NsXbt2JSgoiPvuu48XX3wRb29vPvvsM2JjY13KZ6kSXkpmZiYAzZs3d+1THzhwILNnz+aVV15xmbg///zz1K1bl/bt2wMwfvx45s2bx+TJkxk7diw7duxgwYIFLFu2DFCPa23VqpVbXqXpVwyviJ+fHyNGjOD5558nLy+P0aNHu13v378/LVq0YNSoUbzzzjtkZ2fz1FNPMXbsWJflAKjO8KxWK9nZ2RQUFLj2kbdr1w5QlfN7772X9957jy5durhWwb29vQkMDKx2HSZPnsyoUaPo1KkTXbt25dNPPyUhIcF11vmXX35JSEgIw4YN85g8GTRoEAsWLNAU9H8KRVFISUnB39//kvdDaGhoaGhoaGhoaFxOhBAUFBQQFRVVqRfvq5l7772XkpISOnfujE6n49FHH+Whhx4C4IcffuD+++93xR05ciQAL730EtOnTwdg9uzZ6PV6hg8fTklJCddffz2LFi067wp8SEgImzZt4umnn6ZXr17odDratWtH9+7dq13uy1G20NBQ1q5dy9SpU+nbty82m42WLVuyevVq2rZtW+2y9O3bl6VLl/L222/z9ttv4+PjQ9euXVm7dq3LnL9+/fqsWbOGJ554gg8++ICoqCjmzp3L7bffXu18zseYMWNYsGAB/fv3p06dOm7XdDodP//8MxMmTKB79+54e3tz1113MXPmTLd4N998s9uZ6qWTC6Vm/Z988gl2u52JEycyceJEV7z77rvvojzsjxgxgqysLF555RVSU1Np1aoV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lRER0alTp2jTpk0kl8spKyuLjh8/Tu7u7tShQwcqKipSS+zV4ZyIcU7EOCeKOB9inBMxzokY50SMcyL2MubkZT6CnpubS1OmTCGZTEaGhobk5eVF6enpjWpz2bJl1K1btxrrxMfH01tvvUUymYwA0MGDB0V1KioqaNmyZSSTycjAwIA8PDzo0qVLCnVycnJo0qRJZGVlRUZGRtSjRw/av3+/0vcsKiqibt26EQCSy+UKy06fPk2DBw8mqVRKrVu3pjfffFNU5+LFi/TGG2+QgYEB2djY0PLly6miokJYnpCQQP379ydzc3MyMDAgR0dHCgoKqjYHM2fOpI4dOypddvfuXdLW1qaIiAgiInr06BFNmjSJTE1NydTUlCZNmkSPHz9WeM2tW7forbfeIiMjI3rllVfos88+o+Li4nrF8KLExETS0dFR+lmuX7+eHBwcyMDAgGxtbWnOnDlK948//viDtLW1ycvLq9o81BdPs6ZBACh9hIaGCnUqd2Rra2vS19enN954g1JTU4XlsbGx1baTmZlJRM833EGDBpG5uTnp6+tT+/btyc/Pj+7evdvMEdeOcyLGORHjnCjifIhxTsQ4J2KcEzHOidjLmJOXdYBeUVFB/fr1owEDBtDp06fp6tWr9PHHH4vmra+vugzQjxw5QosXL6aIiIhqB+iBgYFkYmJCERERlJqaSt7e3go/5BAReXp6Uu/evenUqVOUkZFBK1euJG1tbdElFEREs2bNouHDh4sG6Hl5eWRmZkY+Pj509epVunTpEr377rtkaWkpTNn39OlTsrKyog8++IBSU1MpIiKCTExMaO3atUI7586do7CwMLp06RJlZmbSDz/8QEZGRrRt2zalOZDL5QSATpw4IVq2atUqatOmjfD+w4YNI2dnZ0pKSqKkpCRydnamt956S6hfVlZGzs7ONGjQIDp37hzFxMSQjY0NzZw5U6hTlxgqPXnyhF599VUaOnSo6LPcs2cP6evr0969eykzM5N+/fVXkslkNGfOHFE7vr6+NHv2bDI2NqZbt24pzUN98QCdMcYYY4yxf7CWPED38PCgGTNm0IwZM0gqlZK5uTktXryYKioq6Nq1awRA4ah0WVkZmZub03fffVdju3fu3CFvb28yMzMjIyMj6tWrF508eZKI/m+A/v3335OdnR2ZmpqSt7e3wsD6RcoG6BUVFWRt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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "f5d597c48025454c97d3eba64267dc5a", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+gAAAEsCAYAAABQRZlvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd3wURfvAv3t3qRASkgBJIBB6b4IgoAIKKFh/KooF7MprRawoKiKivtRXBLuCFUQFEREBQYqA1EDoJY000vvl2u7vj71+e5dLCBBgv58Pmpud3Z15dnZ2nplnnkeQJElCRUVFRUVFRUVFRUVFRUXlvKI53wVQUVFRUVFRUVFRUVFRUVFRFXQVFRUVFRUVFRUVFRUVlXqB7nwXQEVFRUVFRaX2WCwWnHeraTQaNBp1/l1FRUVFReVCRP2Cq6ioqKjY+f7775k7d26NzklNTUUQBBYuXHhWylQdc+fO5bbbbqN169YIgsCQIUMU82VkZDBhwgQGDx5MRETEeS1zXdK2bVsCAgLs/6ZOnXq+i6SioqKioqJSS9QVdBUVFRUVO99//z0HDhxgwoQJfp8TGxvLtm3baNu27dkrmA8+/vhjGjRowDXXXMNvv/3mNd+JEyf47rvv6NWrF6NGjeKHH344h6U8e/z2228YDAb777i4uPNYGhUVFRUVFZUzQVXQVVRUVFRqhcViwWw2ExQUxBVXXHHeynHo0CG7SXe3bt285rv66qvJy8sDYNeuXReNgt69e/fzXQQVFRUVFRWVOkI1cVdRUVG5RMjLy+Oxxx4jPj6eoKAgmjRpwqBBg1i3bh0AQ4YM4ffffyctLQ1BEOz/wGHG/t///pdp06bRunVrgoKC2LBhg6KJ+5QpUxAEgYMHD3L33XcTHh5Os2bNeOihhygpKXEpV3FxMQ8//DCRkZE0bNiQG264geTkZARBYMqUKdXWy9/91uq+bBUVFRUVFZX6jrqCrqKionKJMHbsWPbs2cM777xDhw4dKC4uZs+ePRQUFACwYMECHnvsMU6ePMmyZcsUr/HBBx/QoUMHZs6cSaNGjWjfvr3Pe95+++3cddddPPzwwyQlJTFp0iQAvvzySwBEUeSmm25i165dTJkyhcsuu4xt27Zx/fXX12HNVVRUVFRUVFQuDFQFXUVFReUS4Z9//uGRRx7h0Ucftafdcsst9r+7dOlCRESET5P14OBg/vzzTwICAuxpqampXu/58MMP8+KLLwIwbNgwTpw4wZdffskXX3yBIAisXr2aLVu28NFHHzF+/HgAhg8fTmBgoF2ZV1FRUVFRUVG5VFDt/VRUVFQuEfr168fChQuZNm0a27dvx2Qy1fgaN998s4ty7k9+Z3r06EFVVRW5ubkAbNy4EYA777zTJd/dd99d47KpqKioqKioqFzoqAq6ioqKyiXCkiVLuP/++/n8888ZMGAAkZGRjBs3jpycHL+vERsbW6N7RkVFufwOCgoCQK/XA1BQUIBOpyMyMtIlX7NmzWp0HxUVFRUVFRWViwFVQVdRUVG5RIiOjmbu3LmkpqaSlpbGu+++yy+//MIDDzzg9zVsTuPqiqioKMxmM4WFhS7pNZk0UFFRUVFRUVG5WFAVdBUVFZVLkJYtW/LUU08xfPhw9uzZY08PCgqyr26fCwYPHgzIq/vOLF68+JyVQUVFRUVFRUWlvqA6iVNRUVG5BCgpKWHo0KHcc889dOrUibCwMHbu3Mnq1au57bbb7Pm6d+/OL7/8wkcffUSfPn3QaDT07dv3rJXr+uuvZ9CgQTz//POUlpbSp08ftm3bxtdffw34Fxpt165ddkd1paWlSJLETz/9BMDll19Oq1at7Hlt6cnJyfZzGzZsCMAdd9xRZ/VSUVFRUVFRUakNqoKuoqKicgkQHBxM//79+eabb0hNTcVkMtGyZUtefvllXnrpJXu+Z599loMHD/Lqq69SUlKCJElIknTWyqXRaPjtt994/vnnee+99zAajQwaNIhvv/2WK664goiIiGqv8eGHH7Jo0SKXtNGjRwPw1VdfuZjw29JtzJ8/n/nz5wOc1XqqqKioqKioqPiDIKkjEhUVFRWVesb333/Pvffeyz///MPAgQPPd3FUVFRUVFRUVM4JqoKuoqKionJe+eGHH8jMzKR79+5oNBq2b9/OjBkz6N27tz0Mm4qKioqKiorKpYBq4q6ioqKicl4JCwtj8eLFTJs2jYqKCmJjY3nggQeYNm3a+S6aioqKioqKiso5RV1BV1FRUVFRUVFRUVFRUVGpB6hh1lRUVFRUVFRUVFRUVFRU6gGqgq6ioqKioqKioqKioqKiUg9QFXQVFRUVFRUVFRUVFRUVlXqAqqCrqKioqKioqKioqKioqNQDVC/uXhBFkaysLMLCwhAE4XwXR0VFRUVFRUVFRcVvJEmirKyMuLg4NBp1TU5F5UJBVdC9kJWVRXx8/PkuhoqKioqKioqKikqtOXXqFC1atDjfxVBRUfETVUH3QlhYGCB3ao0aNTqn9zaZTKxZs4YRI0YQEBBwTu9dn1HloowqF2VUuXiiykQZVS7KqHJRRpWLJ6pMlDnfciktLSU+Pt4+plVRUbkwUBV0L9jM2hs1anReFPTQ0FAaNWqkfuicUOWijCoXZVS5eKLKRBlVLsqoclFGlYsnqkyUqS9yUbdqqqhcWAiSJEnnuxD1kdLSUsLDwykpKTnnCrokSZjNZnQ6ndqpOqHKRRlVLsqocvFElYkyqlyUUeWijCoXT1SZKHO+5XI+x7IqKiq1R/UYUU/R6/Xnuwj1ElUuyqhyUUaViyeqTJRR5aKMKhdlVLl4ospEGVUuKioqNeWCUdAXLFhA69atCQ4Opk+fPmzevNlr3l9++YXhw4fTpEkTGjVqxIABA/jzzz/PYWnPDLPZzIYNGzCbzee7KPUKVS7KqHJRRpWLJ6pMlFHloowqF2VUuXiiykQZVS4qKiq14YJQ0JcsWcKECRN47bXX2Lt3L1dddRUjR44kPT1dMf+mTZsYPnw4q1atYvfu3QwdOpSbbrqJvXv3nuOSq6ioqKioqKioqKioqKj4xwWhoM+ePZuHH36YRx55hM6dOzN37lzi4+P56KOPFPPPnTuXl156icsvv5z27dszffp02rdvz2+//XaOS66ioqKioqKiolIbSi2V7Ks8eb6LoaKionJOqfcKutFoZPfu3YwYMcIlfcSIEWzdutWva4iiSFlZGZGRkWejiGcFnU51sK+EKhdlVLkoo8rFE1UmylzKctlefohyi/I+2UtZLr5Q5eLJ2ZDJrOzFvJv1bZ1f91yithUVFZWaUu+9uGdlZdG8eXP++ecfBg4caE+fPn06ixYt4ujRo9VeY8aMGbz33nscPnyYpk2bKuYxGAwYDAb7b1vsyPz8fLvnS41Gg1arxWKxIIqiPa8t3Ww24yxOrVaLRqPxmm4ymVzKYOvE3fcqeUsPCAhAFEUsFos9TRAEdDqd13RvZVfrpNZJrZNaJ7VOl16dTCYTDya/R+/QdjwTc8dFUaeL8TldqnV6IX0BuWIx37d746Kpk6+y13WdiouLiY6O9urF3eZl3vl8FRWVc4dWq1WM8nDBTOu5F1ySJL9CVvzwww9MmTKFX3/91atyDvDuu+/y1ltveaSvWbOG0NBQAFq2bEnv3r3Zv3+/y/73jh070qlTJ3bs2EFeXp49vVevXrRq1YpNmzZRVlZmTx8wYABNmzZlzZo1Lp3w0KFDCQkJYdWqVS5lGDVqFHq9ng0bNtjTdDodN9xwA/n5+Wzbts2eHhYWxjXXXMOpU6dITEy0pzdp0oSBAwdy/Phxl0mNC6lOaWlp7N+//6KqU108pw4dOrBlyxZKSkoumjrVxXMaMmQIFRUV7Ny586KpU108p5CQEIYNG3ZR1amunlOHDh3o3LnzRVWn6p7T5s2bGV3WA4BVrLoo6nQxPqf6XqeePXuyY8cOcnNz67RO15DA722PYDabL8jn1L9/fzQaDTt37jwvz8mX7yWj0Uh2djaVlZVe86ioqJx9QkNDiY2NJTAw0J5W71fQjUYjoaGhLF26lP/7v/+zpz/77LMkJiayceNGr+cuWbKEBx98kKVLl3LDDTf4vE99WkHX6/WsXbuW4cOHExAQoM4SW8tuMBhYvXq1XS4XQ53q4jmJosiqVavscrkY6lQXz0mSJP744w8XuVzodTrT52QymVi7di2jRo2yl/NCr5Nz2Wv7nGxyue666wgODr4o6uSeXt0KervgFrwWd59Luk0uw4cPJyQkpN7XKU8sIS4o+qw/p6qqKrtcAgMDL6o+wrnsNamT0ndIXUGXt1g6j1uqK/u5WkEXRZHjx4+j1Wpp0qQJgYGBavx6FZVzjCRJGI1G8vLysFgstG/fHo1G3n1e71fQAwMD6dOnD2vXrnVR0NeuXcstt9zi9bwffviBhx56iB9++KFa5RwgKCiIoKAgj/SAgACXThXkjlir1Xrk9bbPyFu6+3Xd093vrZRfo9HYH6Y/6d7Kfq7q5E+6rzrZznE+70Kv05k+J9vgQamtXqh1gjN/TrZBnpJc1pXsptRSwW2RV/tV9vpSp9qkq3Xyv062vy+mOtnwVSezVkTUSl6/N7YJUW9l95Z+Lut0sDKFt7O+5rW4sXQPbeN3GWuartFoXL7RtjJc6u9Tbb5D/tTJopWQJFnprK9tz1e6r++Qt7J7S69Nnbxd32g0Iooi8fHxditRFRWVc09ISAgBAQGkpaVhNBoJDg4GLgAFHWDixImMHTuWvn37MmDAAD799FPS09MZP348AJMmTSIzM5Ovv/4akJXzcePG8b///Y8rrriCnJwcQBZCeHj4eauHiopK/eDzvJUAHgq6iorKhUmuuRiA06YiunvJYy6swpBeSoNe3re7qahcSigp9ioqKucWxYm381COGnPXXXcxd+5cpk6dSq9evdi0aROrVq2iVatWAGRnZ7vsEfrkk08wm808+eSTxMbG2v89++yz56sKNUIQBMLCwi5qc6Mj+nSKzeU1OudSkEttUOWizMUsl0xjPrsqqneQ6c7FLJMz4WKWS76phExjXvUZFbjY5JI5dSvZ7/17xte52ORSF/iSybqS3RSaS89Dqc4/altRUVGpDRfECjrAE088wRNPPKF4bOHChS6///7777NfoLOITqfjmmuuOd/FOKtMyfyKuIBoZrd60u9zLgW51AZVLspczHJ5Pn0+AIvbvVmj8y5mmZwJF7NcnkqbC9S8rYB3ubyY/hG9Qttxb/TwMy3eOcVcVFUn17mY20tt8SWTz/NW0qEsXt5W1Phqrm7U8xyX7vyhtpWLgylTprB8+XIXZ3wqKmeTC2IF/VJDFEXS0tJcHJNcjOSZi2qU/1KRS01R5aKMKhdPVJkoo8pFGW9yOWXM5bfirWd07VOGXKpE4xldwxnH+uTZ93t7ttvLvooTlJgrzsq1zxbVycQomsgxFfJdwVqX9N+KtjLu5DvnoojnBbVvOff88ssvXHfddURHRyMIwjlTqjdt2sRNN91EXFwcgiCwfPlyjzySJDFlyhTi4uIICQlhyJAhHDx40CVPTk4OY8eOJSYmhgYNGnDZZZfx008/eVzr999/p3///oSEhBAdHc1tt92mWK6CggJatGiBIAgUFxe7HEtKSmLw4MGEhITQvHlzpk6d6uLkcMuWLQwaNIioqChCQkLo1KkTc+bM8SmH1NRUBEGw/wsMDKRdu3ZMmzYNd7/kP//8M126dCEoKIguXbqwbNkyj+stWLCA1q1bExwcTJ8+fdi8eXONZWowGHj66aeJjo6mQYMG3HzzzWRkZLjkKSoqYuzYsYSHhxMeHs7YsWM95GVjxIgRaLVatm/f7lMWZ4KqoNdDLBYLiYmJalxKNy5FuUiS5NGhuXMpysUfVLl4ospEmUtFLjvKDzPmxFvV9ik2zqZcXjz1EfNPew7GzpRzEZbmbLeXd7O/47/Z35+Va58taiuTnwr/xiiZq894gXKp9C31iYqKCgYNGsR77713zu/bs2dPPvzwQ695/vvf/zJ79mw+/PBDdu7cSUxMDMOHD3cJzTd27FiOHj3KihUrSEpK4rbbbuOuu+5yCZn3888/M3bsWB588EH27dvHP//8wz333KN4z4cffpgePXp4pJeWljJ8+HDi4uLYuXMn8+bNY+bMmcyePduep0GDBjz11FNs2rSJw4cPM3nyZCZPnsynn35arTzWrVtHdnY2x48f56233uKdd97hyy+/tB/ftm0bd911F2PHjmXfvn2MHTuWO++8k3//dWxDWrJkCRMmTOC1115j7969XHXVVYwcOdJlW7M/Mp0wYQLLli1j8eLFbNmyhfLycm688UaX9/Kee+4hMTGR1atXs3r1ahITExk7dqxHvdLT09m2bRtPPfUUX3zxRbVyqC2qgq5yHlH3ZFXH3Sen8nvxtuozqqioqFTD78XybL90TtTY6kkznK7Dq8nfk1LLhbXy7I1Cc1n1mVRULkGGDBnCU089xVNPPUVERARRUVFMnjzZPvE4duxY3njjDYYNG1aj62ZkZDBmzBgiIyNp0KABffv2dVEWAb755hsSEhIIDw9nzJgxLkrgyJEjmTZtmteVbEmSmDt3Lq+99hq33XYb3bp1Y9GiRVRWVvL9944JuW3btvH000/Tr18/2rRpw+TJk4mIiGDPnj2AHILv2WefZcaMGYwfP54OHTrQsWNH7rjjDo97fvTRRxQXF/PCCy94HPvuu++oqqpi4cKFdOvWjdtuu41XX32V2bNn22XZu3dv7r77brp27UpCQgL33Xcf1113nccqthJRUVHExMTQqlUr7r33XgYOHGivA8DcuXMZPnw4kyZNolOnTkyaNIlrr72WuXPn2vPMnj2bhx9+mEceeYTOnTszd+5c4uPj+eijj/yWaUlJCV988QWzZs1i2LBh9O7dm2+//ZakpCTWrVsHwOHDh1m9ejWff/45AwYMYMCAAXz22WesXLmSo0dd/f189dVX3HjjjfznP/9hyZIlVFScnW+OqqBfQJhyKpDE+jGwUjl3bC8/dL6LoKKicpFTX5R2b0iShFhV/Urr0sK/Kbfoz0GJLmyWZb5DYvEf57sYdY4kSRyvyqg+Yx1gEE1+W6Oo1C2LFi1Cp9Px77//8sEHHzBnzhw+//zzWl+vvLycwYMHk5WVxYoVK9i3bx8vvfSSy9aEkydPsnz5clauXMnKlSvZuHFjjVbpU1JSyMnJYcSIEfa0oKAgBg8ezNatji1DV155JUuWLKGwsBBRFFm8eDEGg4EhQ4YAsGfPHjIzM9FoNPTu3ZvY2FhGjhzpYdZ96NAhpk6dytdff63oJXzbtm0MHjzYJcT0ddddR1ZWFqmpqYp12Lt3L1u3bmXw4MF+1xtg165d7Nmzh/79+7vc31kWtvvbZGE0Gtm9e7dHnhEjRtjz+CPT3bt3YzKZXPLExcXRrVs3e55t27YRHh7uUr4rrriC8PBwl2cjSRJfffUV9913H506daJDhw78+OOPNZKFv1wwTuIuJQRBoEmTJi5eP80lBtImrCfq3s40vqndeSxd3VHT9XMluaiocvGGKhdPLmWZ7K44SpugOBrrwjyO1VYu83J+oYE2iIea3FBXxaxXnO32UpPLFv1ynMKlR2n7w42K5XFO0YsGGmpDzryAXjg379HZVfxO6ZM4pU+iV8TIOrletTJxSy636Cnyw0pAqOFI4d+KQ8zN+YnX4+6na2hCjc6tCUbRxP3J07k/+npGRvT3mu9C63NFgwFjdtY5v29gbBwaJ0WxOuLj45kzZw6CINCxY0eSkpKYM2cOjz76aK3u//3335OXl8fOnTuJjIwEoF0717G2KIosXLiQsDD5GzJ27Fj++usv3nnHPx8KtpDPzZo1c0lv1qwZaWlp9t9LlizhrrvuIioqCp1OR2hoKMuWLaNt27YAJCcnA7LjutmzZ5OQkMCsWbMYPHgwx44dIzIyEoPBwN13382MGTNo2bKl/Rz38iQkJHiUxXasdevW9vQWLVqQl5eH2WxmypQpPPLII9XWd+DAgWg0GoxGIyaTiccee4xx48a53F9JFjY55efnY7FYfObxR6Y5OTkEBgbSuHFjn9dp2tQz/GbTpk3teUA226+srOS6664D4L777uOLL77gwQcfrFYeNUVV0OshOp2OgQMHuqSJennlwJBWN6FKJEkisfIEvULbnbcPR00/vEpyUVHl4g1VLp5cyjKZkb2YVoHNeL/leI9jOp2O/gOuYFPZPoaE9fK7T/ynPAngolXQ61N7qUjMPd9FsFMXcim36Pm1aAt3R12LRrjwjRn9lYntuz81cxHpxtMECQFnfO8f8tfRKaQV3UJbU2AN51ZiqVkY15pikEwA7K886VNBr0/vkD8Ys7PImDLpnN+3xZR3CU5oXX1GK1dccYVLPz1gwABmzZqFxWJBq9X6PHf8+PF8++239t/l5eUkJibSu3dvu3KuREJCgl05B4iNjSU3t+b9kvv3RZIkl7TJkydTVFTEunXriI6OZvny5YwePZrNmzfTvXt3+6r+a6+9xu233w7IZtctWrRg6dKlPP7440yaNInOnTtz33331bgsSumbN2+mvLyc7du388orr9CuXTvuvvtuNm/ezMiRjkm+Tz75hEGDBgHyREPnzp0xmUwkJSXxzDPP0LhxYxerg+pkUZd53HHPo5TfPc8XX3zBXXfdhU4nq8933303L774IkePHqVjx44+71dTVAW9HmKxWDh+/Djt27d3dDR1bEa1X5/M+9nf81Sz/+PKME/nEfURRbl4odIih9MJ1Qafi6KdV2oil0sJVS6e1BeZ/FOWxL7KkzzR7NZzet8SL/uTLRYLfyZt5NvQLURoG9K7QftzWq5zjb9fk/rSXvzBnwlfyVA3jrrqQi4/F27kj5J/6dewM+2DW3gcP5vr55WiAQM6gjBTbi6koc67UuIvNZVJurHu/A/8WvwPvxb/w6CG3WkTHFtn160LLqR3COSV7BZT3j0v9z1XTJ061WNPdkhI9RY3AQGuk0mCINTIO39MTAwgr9bGxjraaW5urn0F+OTJk3z44YccOHCArl27AtCzZ082b97M/Pnz+fjjj+3ndunSxX6NoKAg2rRpY3eetn79epKSkuze322Kd3R0NK+99hpvvfUWMTExLqvDtrKA54q0bTW9e/funD59milTpnD33XfTt29fFy/5zZo1o6CgAJCtHGxWCJ07dyY5OZnXX3+dKVOmEBwc7PX+tntHR0ej1Wp95vFHpjExMRiNRoqKilxW0XNzc+2TZzExMZw+7dkn5eXl2a9TWFjI8uXLMZlM9j3wIL/jX375Je+//77H+WfChT9texEiiiJHjx5VfPHraq27wrpHr9RSWUdXPPv4kos7D6W8z0Mpdfuy1FdqIpdLifMlF0mSOPXfbZTvyD6n9/WH+tJW5p3+hU1l+85rGZwRRRFTWhkaScBoXRm7EBh7chpbyw74lfeF9AWK3w9fiuDZbi81taI6H5w2FXnsaa4Lubjv+a/r/cwnqzK9Xu+h5PfYTXu20pkvU584o3vsrTgO+C+Ts/nED+lT7X9/W7AWs3T+PafXlz7XXzRBQQQntD7n/2pi3g54hLfavn2735MgTZs2pV27dvZ/AD169CAxMZHCwsIalaMmtG7dmpiYGNaudYQaNBqNbNy40a4oVlbKY3L3PeNardbehvr06UNQUJCL8zKTyURqaiqtWrUCZC/v+/btIzExkcTERPv+/M2bN/Pkk08CstXBpk2bMBod4S7XrFlDXFych+m7M5IkYTAYAHliw1mWzhYG7mi1Wsxms/1+AwYMcJGF7f42WQQGBtKnTx+PPGvXrrXn8Uemffr0ISAgwCVPdnY2Bw4csOcZMGAAJSUl7Nixw57n33//paSkxJ7nu+++o0WLFi5yTUxMZO7cuSxatAizuW6jUagr6BcJM7MXMyL8cnqEtj3fRVGpY3wNYvdXniSp9CQNz2F5qiPLWIBJMtEqKOZ8F+W8sKZkJ2335HP6UBEN+9Wv1RyVmmNIKyWoVSOXNMlkAe35n982SRaWF21hYFi3avNmGPPoFNzS/vuoPp1K0UDPUHmAeiEoy4A8o1CLotbWY/yzaR8AEKYJ5bM2L9bqGtVhsO5nfjB6JNdF9PP7PEmSSDee9uhr0wyneS3jcx5pcgNh2lDm5CzlqzavEKKpmRJUHa9lyIP+xe3erNPr1h7HhEShuZS3MxdxtOpUPSqfSl1x6tQpJk6cyOOPP86ePXuYN28es2bNAuSVzvT0dLKy5L30NkU2JibGvuLqzt1338306dO59dZbeffdd4mNjWXv3r3ExcUxYMAAv8pUXl7OiRMn7L9TUlJITEwkMjKSli1bIggCEyZMYPr06bRv35727dszffp0QkND7SHSOnXqRLt27Xj88ceZOXMmUVFRLF++nLVr17Jy5UoAGjVqxPjx43nzzTeJj4+nVatWzJgxA4DRo0cD2Per28jPzwfkleyIiAhADiv21ltv8cADD/Dqq69y/Phxpk+fzhtvvGE3654/fz4tW7akU6dOgBwXfebMmTz99NPVyqOgoICcnBzMZjNJSUn873//Y+jQoTRqJH9Pn332Wa6++mref/99brnlFn799VfWrVvHli1b7NeYOHEiY8eOpW/fvgwYMIBPP/2U9PR0xo+Xt6r5I9Pw8HAefvhhnn/+eaKiooiMjOSFF16ge/fudk//nTt35vrrr+fRRx/lk08+AeCxxx7jxhtvtJuuf/HFF9xxxx106+b6vW3VqhUvv/wyv//+O7fccku1cvEXVUG/ULB9d7zsqdhVcZRkQzYLEp7zOJZqyMEkmRXN6M4r5vM/u32uOG0qopE2tM4HSNOzvkVn0TCa+rNNYWK6HAP0Uh0UHdKn0Zbgeu4T+9xQaC5lc9l+bml85fkuik+8rTTqjxSQOWUrMc/3peHljsmWk2NXEXZVC7juXJWwdhhF7zP6b2Z+BcD3bd/w+3o7y48Qqjk/24bOdPrAKJkUr1ElGpmd/SNPNLuVCF1DkiqT0YsG+jXs7JKvTFS2NjNLFpYVbuLWyKsIEGo3pKoS5RWl/fpku4LuvMK+pmQnVzTsSiNtqMt5G8v28XHurwAMa9SHh5vcgCAIlFst4/ZVnkQryCuK5RZ9nX9/aoJjAqhmT/JMnvvRqlNejxlFM3+X7WV4o74XjAM3FQfjxo1Dr9fTr18/tFotTz/9NI899hgAK1ascHHaNWbMGADefPNNpkyZoni9wMBA1qxZw/PPP8+oUaMwm8106dKF+fPn+12mXbt2MXToUPvviRMnAnD//fezcOFCAF566SX0ej1PPPEERUVF9O/fnzVr1thXngMCAli1ahWvvPIKN910E+Xl5bRr145FixYxatQo+7VnzJiBTqdj7Nix6PV6+vfvz/r16z0cofkiPDyctWvX8uSTT9K3b18aN27MxIkT7eUG2QJk0qRJpKSkoNPpaNu2Le+99x6PP/54tde3Kb9arZbY2FhGjRrl4lBv4MCBLF68mMmTJ/P666/Ttm1blixZ4uJJ/a677qKgoICpU6eSnZ1Nt27dWLVqld1SwB+ZAsyZMwedTsedd96JXq/n2muvZeHChS4WF9999x3PPPOM3dv7zTffbI9pv3v3bvbt28dnn33mUc+wsDBGjBjBF198oSroFzsajYaWLVsqhkWoKTvKDzM7Rw4BUN8UJslcM1PSupTLuebZtA9oGxTHO/GuHkZPjPmNpk/0otHV8bW+tiRIinLZXXGUHqFtaz1orAvWl+6hS3ACMYHKexx/L9rG5Q070zQgos7vbWsvz6V/yMDw7twTXbOYqBcj5/od+uj0ryTpkxkZfgWBmvrzuamwVKEVNARrAgE4ZcrjZEQBkiC5rCSbC2VfFuY8PZIkcUxfRcdQea9i2eaMeq+gLyn8SzHd35Bq7u1lVs6SWpfFIJrIN5fQPDC61tfwRW2VrIP6FPbrT/J36V5ujbyKd7K+AXx/L53lsq38ED8XbaKxLoxh4X1rVQYbuyuOeqRVWKr4MvdPvs0MZVqbdrQMdijZp00Oc9x1pbtJCIplWHgfe9rOiiNnVJ6aUF3fci7C+BVZyv3evL+ieAs/FW6kdVDsWV28uJDHLfWZgIAA5s6d67IX2MYDDzzAAw88UONrtmrVyr5n250pU6Z4KPcTJkxgwoQJ9t9DhgypdpuKIAiK13Kmffv2/Pzzzz6vExAQwMyZM5k5c6bPfNWVrXv37mzatMnreU8//bRfq+XOJCQk+L1d54477lCM3+7ME088wRNPeN+K449Mg4ODmTdvHvPmzfOaJzIy0sV5oDN9+vTxWacVK1Z4PVZb1B6jHqLVaundu3edOBRZWvj3mRfoLFHT4VRN5dKgXFevYpSeNCiHLile6Rn+Aryv6rlj0Ugucsk3lbCv8iQzsheztODvWpXVr/tKIhbJ9766T3N/4+2sRV6Pf1Owhrk5S+u6aICjveRLpawo/ues3ON8sKm09nu367Jv8QcLcvuobwtUD6e8z3Npjg+1qJXY0fwUFo33d+6volLeTM4kRW9QPK4XDRSa6ybKRm0xZpdjLnGUr8hcO0/W/5QlkW8qqVV7MYlV5FZ59mnzTy/j+XT/V6O8IXrpF6trYrUx4U8xKPuRsMllf1UyH57+RS7XGSigvpRXCQmkRhjFIF5K+YvNZfvJN5Uo5j1SlW4959yj1Wpp1jUeA74n3utLV2CzWjib+9TfzlzE/qrkc9rnqqioXByoCno9xGKxsHfvXiwWhQ+Hr69bLZRR90FLpjGfI/r0Gl9n/ullbCs7WLOTalhcn3JxI1ivZdJ7PShZnVKzm1yAaEXBRS5Ppc3l3Sx5FtCb1+q64JGU/zIhzftspA1fZrYAyV4mLs4UW3vRivVlSFg3LC/aUn0mL9TkHbrYKXIKwyRaRPplxru0lSxjATvKD9t/5xnldlzhRXavZ3zBE6lz/Lr31rIDjDnxFnrR4HKPMyX9uQ2kT1jv9bi/Suq807/wXvZ3tWov63I/ZnHGqx7pvt7zYnM5PxX+7XNS0nbk16LNnsckiRPlO/0uo78Ue5ngsMnlo+zl9rQv81aRacyr8zK4M//0Mp5Km3vW71NTLBYLi7etYFrG1y7plaLnhJZz/HNJCoaqezlV5ZnvlCGXXHOx/ffO8iMc1qe55EmqVJ7gPh9UiUaWF262TyId1Kfy1elVap+roqJSY1QFvR4iiiLp6emuXj/P0Urw8+nzmWLdm1gTNpft53+nlU2DTPl6yrefuRKmKBcvBFfJs9VVx4pqfJ8CcykZtRxo1XbF/tv8NYw58ZbywWrG1IIkeJXL2VRN9aKBPKfBU12yougfF3kUm8s9PCk7U2wu56u8VYhOK/q29iJI51ZBd18tXlW8nYV5f/h9vlmyoFcY1NYFNXmHLiUkSaJtcZRLW5mds4RtFYecc/m8hq3P2F95strJyi1lcvz0JQXrmZ3zo4sDM8lkQbL4/3zSjac5qnfstRX13ifEfK3UphlcQ9lUigaMFlON20uhMdPvvDYW5v/BT4UbKbKU+cgllz2x4oTHkQJjOicr/vV5jwPVKHJKkvEmL9t7pHHrWxIrPctWt7jF/nXv4W0xjGt41Y2liS5Kc20QRZG2xVGkV7k643soWY55bJ+8EAT2VByzH5dEefvT7jLPyeQXT7maL8/KWcJbmQvJMziU9NpardT0S13dSvuakp08kPwuiwvXc6TKUT5BQu1z65i///6buXPnnu9iqKicVVQF/SKnrlWTKtFoD6sCcHrBXvRHfYelyJq+jZy5u11CoJxtJKH2ExpPps7hhfQFNT5vU+k+7j45tVbK1V+le2p8Tl1RaC5jbcmu83Z/JVYUySbpJklWNl7N+IzXM77wmv/HwvX8WbKTpMpkxpx4i1OG3HNSTn/4Ov9PVpfsqD6jlbk5S3nQOqhVqT/Y/XRWk2961rdeJyvdsYW5dA7tdnLsKrKmb/d2iiJvZn6pmO5tolFpVdPgFl7OLJl5NGWGz/ue6XtmUzBFSQJzOyotIlWikSxjgUdeW19w3OA6Ufd57kpeyVzskqbU+y8u9GZZUPuvpIcC7/ZzdvaP7Ks8Wevr1xblyQbvfJT7K3N8bDUac+KtarciHXFb2XbH5KTg+vN1Pljp3frth1Mvez/R+jgTUhpy04rqfbs4T3LsKD/MmBNvUW4NQ2tje/kh7js5jWJzOWWWSjKN+R7X+TJvlf3v+rS1TkVF5cJEVdAvcpw/E6VO5s6hywq5emMzr+eVeYmP/mXeKt7P/h6jKA/myjZlcHr+Xp9lsJTJe72mZrruRVYaFlWKBg5Wpvq8Xv63h3wed+EMvpM1jRG/y+rgR2nw6wtvCv3ZNE93Zl7Oz3yR9/tZvIP/DyHNkMPeiuP2ge/L6XK4C39XSU4Y5NW7PZXHqsl5fvinLMnrvlaAg5Wp9nYEYCk1IBrrv2mkXjQw//Qy+77O+kS+qYSTVf6v6u4rXs2itGc90utyyG1rn94UaP1BVwX1sD7NY4XbH9KNyqHFHqtG8QYwiWbCygJ85tlQvIEPToxxsVypDQZLAJj783NuOTOyf7BHgnDGvsdbcnU2uK50N+VileJ1JVGicNmxWr9D2oMVaBROzVaYQFBiR8VhPj69HJAnIYoV4uR623agvHrvuxWeSRutqua7tb3c93d3bo7rpFSZpVKxfcu1dZTUVs/FBevJclJ8386STeUjCwJ58b/dsJTXrG+597s29N/RpEbn7Lau7Je6fXuTrJMsJZZyJp361MOXgq9v/rlwjqeionLxoSro9RCNRkPHjh3ZV3XCZbUa8OptKcCoqdYK/vPc3xlz4i1+KdxEw1UljFjb3GvetzIXKqbbzOBcHOKItfwAKZw2//Qyr07FNBoNTZKgbG0ar5/6wk9FuPYfR38GsXVBrlnZDH/SqU/9Ol8UJDp27KjoJdYfz8buK2c2ykz5fHBiDAVG76bl/lAm6jlt8m+rwcunPuH97O/tv7NM+bU2YbS9R+IZWFPUNfNO/8KkU596bbu2kEk2Uh5bQ9Y7NVtN9YVNJnXtUXhz2X42l+2v9X5qo2hiScH6s+Kw6bn0efZ4zd4QNAJJTXIQBYmMqkOUmLzHzK7LkEzOCvT808uYnf2jYr63Mhfy8qlPanTtnLm7Gb4mrtp8Xi1+BIH/LOhIkyTwtkskq0r2Ei5Kvv1M+CLjjS1c9am8JUlvMXNQwdIq31RCmlVWguFOKhW2AOgJ9Eir3HuawiVHKVnreU2AJ1Jms7Rgg+IxQ0YJDWZncOUWeSJbY5GjbiSu3MYrmZ+SH2eS+5aKYChpCHhXxn4u3MirKdsZfyQVSx2tru5XWJk3ino+TxlP/l/HCdafmVMySZLINhaQZyr2K78oSPZ3aMyJt/hPymxlSzTJux8NpS0CPfdFEl4aSNVxP7er+RCvMbuck/evwlLq2uZzTcXcfeKtar81n+T+Rr5ZdtBnm4zMMRXazfiV8PV9VlFRUfGG2mPUQ7RaLZ06dWLm6R9dlBVvSJLEm1N70e9v3/EPbSaCf5Xutqd5G2pmGPP4uzTRI13xA1adgu7lsNK9fQ0GtFotTQ9o0IgCxw0ZHNanIlaaMOV5rnTbBpR1bWlWYq5gzIm3eDj5/bq9sAK+92M6EDUSnTp1UvQSeyaqRHaVPDmUXrn/DK4i81aGw6/BiQfGULDMf8/t/jreAtcBsu09En145j4TTPl6OdRWLXgo+T3Ftq40wK+qZgtJTbDJ5Hx6FFZafVxXuptlRZtdrAd8USUaeSb1f4om1qIkYXZ68U1+KP0ajYYDTXP8aitny6PB5rL97Kjwf4JDaS+2M+Xbsxi8KQYsLe1pSqu1c458R1S+cnzs0EodTQ9o6qS9KLVtUbJQdayImGNyuQ5VKZtJ/zf7B5ffVQr7eTNwrJYuLvgLiyQiWaz3NCs/10JLGalGm2WCa56j+fI2G5sVgdYiD5dytiUjaiR2RKfK7WXh7fCt79i3Swv/JlUvl1npc+n/Kqvj+U3P+tbjaZaaczGV6mnxnYGbfqtd6E6zZMEomthafoDn0j/0afHjjKiRXN4hM9b3zhBgn8AAsGC2K7muVPNmWSRFawZ/HB/aJqHKt2chGSweyn5i5XEk5JB74F3Hd3Z0+Kt1kiHbpGRNIaA/XMC0yZcRUnH++1wVFZULD1VBr4eYzWa2bt2KVnR6PH58v9scbeCRdiaDyU9yPeP6ZZo89155U4JFSWJzmf/K3WF9GmU+zLrNZjOpQ0RErXzDE1WZnHzzb9Ke/otZ2a7xeW0Kukk0s+D0cpeVudOmIhacXo4oSRzVn6o2VJgzB/Syo6EKscrFiZkoiVis9/i7dG+N92b6ek7VDUC0ooatW7diVjCfrCkPnHyXtzOVLRjOBL1kxJhVTsFSWQEr3bCuzu/hjtJ7ZDZL/LWtpNr3KfO0kUOVqYw58ZaLQrmmZCe7yuVVw+z3/612e4cvCmvtlKn2Ew42mZxJW/m5cKNfq2pllkqKFeqYY/KccHCYSCvXTbK+qzZlIcuYT665mLWlnp67307J5L6D/u37TTXkyD4L9KcZktrGtc91L4NfV3QwI+sHsoz5XsOCnSnvZX/nX0ZzZ/ufhxUU4Nvfjea5uV0BSKmyKmNGHYZfr0TUSqQOEbF4aS/uNRPNeixuiVWWcjblLaLAOrn7V8lu/pMyC4BSs6ulgm3rFIAxq5wTY37DlK/3aqpv9mL9s7X8AAf1KfxjdcYHEh2ONnK5dv43B30+1EpLsctvZ0Mcrajh8uS4aiNE9NobSfzJUJe0U4Zcj4koRWN2P5qNRxYJu6PDQKNrW/Z3LPBO5jeMS55O+ml5grbIXEabk2FMm3wZlkrvIdS0oqD8Dv10veIERqvUBkybfBmRBVbF1dwTi2Tx2P9tI3vmTibO7uZnLVzx8F8iQYVZ7odEp7GBt2+tUrothKQSFaKeJeuWARCRH1hn32cVFZVLB1VBr4dIkkReXh6CBIKIq0ffOl6+8TUGkJBYVby92sG45MU76dbyA8w/vQyz6DrtbdvbrQ9xnVGeemohxhLlvYQgy6Ui1qF8LyvajHBKzr+z4ojiOVmmfDaV7XNZBfg2f401LYs3M79kuVPYHl+OyJRYWbQVgFdOfcJu677SpYV/81rGZzW6zpkgSJCXl+fFMU3NGkyVZFQwMa0bBSNn7m6KfvZvb3htYwo7D6Sc3yOQ47av3lzMZz/mQVZT1/tJEpNOfcox/SmOZJTy/HvprNkhT0ZlOU1KfZm3ipk5S0gqWeviLTulKpsDPpwanSmSJPF9/jq7kmPjm/w/a3wd722lesyShaWFfzP/9LJq845PmUWW4upS9ZRaKvgg52eMopnD+jQ2le3jzcwvmXTqU06binjVx/t1uNJ7HwK47JO3Obb6MncVsRWN8LUbwiYypTdqacHfHmm7K48xMX0+PxesBeDXrHf5PGW8z7JVx5gTbzE981vFPd+19fwfYLYOA/Z2ZlLyl3LbSGmBmB6DJEBFLFToLZjdNW+wdw2lZnmv8e97nmaVqSE7aWcPf7Wj8GcSSxxRDJYW/u0S4s6GxiIxdKMJrVmW8KldsoJYftRzUnh3+VFePfUZBQbvIUEDhQC2W73wJx7az7hv2tmPnf4okeLfk2lU6nuPvTcECZqUN+DOhS1d0t0ldMfPCdz5eQuXtFczPmVmttWpnRTMj9klLpPEu92Ud9f90L7f26OmUorxnKj3h3RjLmWWSvskTumm9fY79twnW+clz9vm1dRckATld6i4kWs+6/9bpcmr6tF5jjfqu4J1PJLyX4qMylFfIko8tzH4g2MvvHyvneVHyKmSJ/GMklJ/UX3/6CuqiHN0EwFf32cVFRUVZVQFvZ7zzAddSH5odZ2aatfkUl/n/8nsHOV9kbaVRYPFMavuHO6n0uq4p0pyde7ibW/3oH+aMem9HgQazk2ztA3Uc50mIHx9dJX41jr4Tje6rpj7Y1brjO2ZvJv1LdMyXePIHqs6xbLCTfbfYpWZ0k2n8Ifq1PMq0eg1vI4gCJwmnNNm387yfi7caP/beRBSavJhReDWoIvMZS7xbc/GXmSLZKHKYDN5dZ0cMkhGUgzZLC38mynHZXPa0gLvJokb8lwnciZlfMq0LNfnhgBH9N4ViDczv7RP8FRH5pY/WVH8j9VTsOOp/l5cd/vTa4K3PsR5f7bzCtPXeX/WyIHcmxlfsrX8AOtLtvFW5kI+ctqb/2zaBzUurzPO5rVK9chGVkaUPDUDlJV6ts2fizYq5JTZUPwnJWtTiZkX7bEqWxv2609SoeAUzdnzf7HRD7NkCciJdvzeehns7E6S3jMc2dNT0/nwG89VbIt1BXt9ruwvIzVQXi02EcCHp39xlIdQj3Pd6Xa4lGs3mum9Q548W1m8DYD5ucsIKw0gJifEXu7FhX/5jKsOoHF6T/SVyquyj3/SUTG9y8EIomeEAbIyHlKp5cUZnqu38anV18sTp17Z3I39FYGk6x3f0BlW5d32Kk10cUjmHmbNkzwaKaT69913jzEOkFrhiDAi7C0h633f4eycaVimY1r2YVoYHfIvd5tIkhT6+m9TnqdBuc4jHQB9ECUZrau9t6/omn+XJdr/Tixexfo85SgIIFtppCi0NV+hWJ0nir053FW5+HjggQe49dZbz3cxVC4SVAW9ntMkPxjJ4GSCZf1qWyQzWwt+wOT0sZMkT4XCXXH0RlJlMjvLlVehTQoOgJYW/k2l9cNjU8piskP4bLsj3E3EqnKi81z3Nvry9puQKs+o68x12Cx9jkpqbo5Qk3jWABWWKn6zhgwDqLRU+ZTBvsqTHNCn8GHOLy7pSwodjozyvztE7oJEzIXKg05nHGGMRCotnoP6l099LO91l+DUlmMITkWbenodJ4ljYbG8CiVJkuKgZGnB32QbCsgxFXK0yjFxsDDtGcUynWjdAEmS4z3beDPjKzfHhDWdkfLvWfrl38t66zSjq9fsQ6V/2/8OqAzEnO9N/o6bOG+9eCT5vx45f3VqG/Ktlet9/M8dMP9ejGUBIMLwNXFn7ATqXLK2dBdvp7zIsbJtisfda51fUUTDMh2nqo4r5rdhEOW+ySxZ+G/WD4rm886UWMpdVpoX5a/2yFNqXYF0fxa23ytXFPu8hxJ5XyQRlRKDJAqIlSbGLWpLaIX1+Z2OZMNf3s1flbZCVPd2fJ3+XPWFSm0OP1/nmiZqmJ71reLrtOOA677hrgciCMsL9lqeEkuFvb8oJEyxCHoc3weNte/R7PdUmifO7kqQ0SqvDSBZBDQWqJh6kmY5wYrX9oWteuGlgVB1G0haijestR8fvtbVuV7L9IaEVHlRGP2+ac36NEmSnePVlGIaVp/JC1vsWwIgp5P8/zT9Proe9O3fxhvNTsuTKh0Njjbsz+R1pz97M+m9HsoHVw7h4K8Ps6/ypN3ruhLu4s43lbi06zLrd3i1vpxUYuRzFBr+j6cmc9J9H35WE5h/L1SEVFsXlXPPL7/8wnXXXUd0dDSCIJCYmOiRx2Aw8PTTTxMdHU2DBg24+eabycg4M4e457Jsx44d45ZbbiE6OppGjRoxaNAgNmxwdXj5119/MXDgQMLCwoiNjeXll1/22GohSRIzZ86kQ4cOBAUFER8fz/Tp013ybNy4kT59+hAcHEybNm34+OOPXY4fPHiQ22+/nYSEBARB8DtG/ZAhQxAEAUEQCAoKokOHDkyfPh2LxdFHJCUlMXjwYEJCQmjevDlTp071sEaprnwAxcXFPPnkk8TGxhIcHEznzp1ZtWqVS57MzEzuu+8+oqKiCA0NpVevXuzeLfvsMplMvPzyy3Tv3p0GDRoQFxfHuHHjyMpynbyzyUAQBLRaLXFxcTz88MMUFfnp5NIJVUGvh2i1Wnr16uXV+7RRNPNq+gK2FK0iqcSxl9cihrvkqxKNhFZo7Y5V9lZ6DnZtn6N3sr5hVs4Sj+PgUKpzjI7B7+/F2/gxc7J8DWsxn5rfmfGfdLLnify1nHu/a+vyofzOuuKMBIjKgzaAvC+TqNh92l6PPFOx3Nj/FRxKpC9zVOtNlUR4JmFPysTqlWJnvitYy3cFjmf0UMr7fJO/ptrztpQneT0mVsirLc8lz5N/CxK9evXy6YTmu4J1PJTi6djO5l29dUpDDB8e5fKdjhU194HU2tJdvJC+wMPJ1w2/t6Di/q1MSJvHprJ99nQDygPahfe2RCzvzsmxjs7R3ZO9N4uRfdU4xnLG/T06UlFFgcn2cXIdiCndznmV0iwamZq7ESzNwNyOvt8MsR/bUOp9H3qZ6Fg9Kfej7TiXwzmu7jGzvGJUmdOAZqcCGbwphiF/x1R7PXdsMnFvKxPT5nv4cfCHdMNpfizYYC/r9rKDXvdcV0oSu4pcTePHnHiLVS5WAPJzefCr9rzyfo9qN+IaJCNmyUKuqZg9lcf4xcnSRAkJ5W0soiDxb1y63Fb0QZj0niujtvfhTKyZ0ndcS8XeXDocD6fnvkg58ddhrF8nt8vmGZ73fSJ1tsKVfBfCbKrGdFsKgIpw33mQt1jF/SsgigK47bm9e3Ebrp3fDbOPYcQL6Qv4rSIHvRjve0nTmaog6/chyp4U4DxpmwpiUUMalQYiJhsY8nes10v5d8sQkMIwF/nvjFEUJNdv0VliSuZXbimuzz1sWxV9d0ZRE9wnfPaRYP/7QO5xOfyqBDlNHZMvwYbqJwP1GB3vUHXkNYbtvbwejkzxHgKWMnkC7d2sb5nh5jzQF7nmIlcfBz6KmWzIptSUi1k0cUwppF6aNQJOkbK1AjjGHiIiuQkm1UncOaSiooJBgwbx3nvevetPmDCBZcuWsXjxYrZs2UJ5eTk33niji3JYn8t2ww03YDabWb9+Pbt376ZXr17ceOON5OTICwv79+9n1KhRXH/99ezdu5fFixezYsUKXnnlFZd7Pfvss3z++efMnDmTI0eO8Ntvv9GvXz/78ZSUFEaNGsVVV13F3r17efXVV3nmmWf4+eef7XkqKytp06YN7733HjExNRuXPProo2RnZ3P06FGeeeYZJk+ezMyZMwEoLS1l+PDhxMXFsXPnTubNm8fMmTOZPdvxTfSnfEajkeHDh5OamspPP/3E0aNH+eyzz2je3BHJqqioiEGDBhEQEMAff/zBoUOHmDVrFhEREfY67tmzh9dff509e/bwyy+/cOzYMW6++WaPOk2dOpXs7GzS09P57rvv2LRpE888o7xg5YsznBJWORtoNBpatWqFeML5CyL/LerNpBVkklbZnkpdFqfNFeR6CWG1MO8PXn23JwBHOpbwb/88jncorfEI07YfeEL6PMXjvgYpTfIdqxsv/rcbu0ZmQ3fA0hXMvSg1W2ik01LhtLorSFCyJpWSNam0WTiS/534gb3BqSxu9yaNkx0jrlGrXPf22VDybuyyN9n6f00NwiVJkuTwsCxGgBgLOvn3mBNv0eJUKOM/6cT7LyVR1sgxCFAy1d5beZzbd/RECHR8sGuylm9IkVdVbAqDqJFo1aoVGcY8Pj79q+I5e32sNAAEWlengqu8DyJsMWrdFc2+uxxK/QmnLQJmnK4lSRidHDpJhhY+6yx6ccDzbvZ3fNb6RcK07oqMZ5t2f4+mp52GIq/ZvVIpGhwztqZhAIQWOsw+lZwpgm9rEbKaQEQpvha71pTs5Gouk4srefYFtcEmE4/imPJd9tpXj1yGV0594uIvYHflMTaV7WNIo14eZ4heFLnv8tdyY8QAl7SWp2TBlJi9T+KBHJs511TEM83usJaqdrIRNRLJja0K2pd3sBPgye9cJvjWluwCOmEQnfZPGwMgQARBfhcDDRoCjRrKw5RXxEszW4MP69z/fNxJ+YBZCyuHwDXboVEF5QrWMM7s2HIPN+PDKZVhFJgVGp/ZNiSQK64RBRongxirQYNnXxZs0HKEeOJ9yP2UUQfGW0C3D3QHqu/rJMDUCkpaA8rO4RrlWRCjfFyp6l5+z/dRf4VTjYEajEYDjQt973OWBLm9OH+LbKxZX0Gfq4wcOKYntmkAvtZXZWdosgXBZ3krFfMUm9336lvvmRYLKS1ot85MO1qxq00biPJ0mKiE+4RPhVMpb/ulFZ2OhpPYq5DicLl92FaXbYgK37StZQdc36HqOOr8EgjwBXAZMADQB1GRF0s4sqWLxySL0mM/HQmlYdBeOQqAjU0Fh7mMQAQJTAUW0IRBuEPGNs/z808v4wqOoA0exBGUveELkkSbU0GcVB6G2BE1UNZUVMOs1SFDhgyhWzd5y8m3336LVqvlP//5D2+//TaCIDB27FgAUlNTFc8vKSnhiy++4JtvvmHYsGH268THx7Nu3Tquu+46xfNAXi1+6aWX2Lx5M5IkL44sXLiQtm3b2vPMnDmTWbNmYTQaGTNmDHPnziUgQJ40rYuy5efnc+LECb788kt69JAtTd577z0WLFjAwYMHiYmJYfHixfTo0YM33ngDgHbt2vHuu+9y99138+abbxIWFsbhw4f56KOPOHDgAB07Km/3+fjjj2nZsqV9Vbxz587s2rWLmTNncvvttwNw+eWXc/nllwN4TABUR2hoqF2pf+qpp/j1119Zvnw5L7/8Mt999x1VVVUsXLiQoKAgunXrxrFjx5g9ezYTJ05EEAS/yvfll19SWFjI1q1b7c/BfRz0/vvvEx8fz1dfOSZFExIS7H+Hh4ezdu1al3PmzZtHv379SE9Pp2VLhz+SsLAwe52aN2/OuHHjWLx4MTVF7THqIbZZMZ3F04t7+fYshKf3E1HQimdfH8SfR1L5/bOfFa9T6rT3qdPRcO7/uh0BRg2FCuG74jJDmDb5MsXBSY6p0MVjOcDIVc3p8YfcMUh+xkEPLw2k/2rrqo0YAYDB6mDuqdQ59lVvKh1mj5nTtnH7NHmlyWw2c2KUiEUn5+uzW3nloFrvxpIEYmPePmmSV5L8YFfFUebkWEODGYeB+TKX4x2OJADQNLd6c8scUyE5s3eR/Z7/e/lsmHIrMWW7errXWTSsX/8Xv+X/wwlDpssx28TEuXJP42tLhVI4GkHEy4DYe4k/zf3Nr7Iovkd+IctMI0LPxMbMz1nG2BTvs93KZ1ejLC4bAb8O8zS5r2byLLxIonlyzU16bdhkUluPwrZJmnTDaV5J/0TRmd+i/NWKnphPo2wma0Hk1+J/FI/tK6vea3OyIRuz1c+F++r94ykzXTNLWpA8Q4rpLBpGnejota2sK3CEuywwOr1jn90JhjH2n08s6MQr7/eg//Ym3Paz50SIhFDznTVHWsMnYyAzBqzm3/Od9ncrcqh9NRf1VM6bmaoIKbBOfFnLaNFJnBglotNaSDBUcuuylnC4Day4xn5ey6NR3tt6VSBIVqVfsk2qeRGA89bk7W3RHpCv2f646ySNADzzbTP+b5mnfJ05lqrnvu/a+szjzOaB0aybt5znPTyFu1nbCBKRhUEu3yIbeVta8/5n2Xz5cx7vfOR7j7xsJSVfu9j2TRYFp67P9dpRBQYmfmCWfbSsvAYOdnAczOlAdRQaM9hV5JjA7XC0EW1PuMq201H5+9wiowGh5QGKk+8mRKoMIsvWFtqL+MHpn4kqCOLGY51c3qHGRd4nOzxajG2H3cL/c00vcWurla7THvsqT8JPI2HNlYr3CTBqEET4Insl+TscK2bFP97lMzzedjqR48PJZd/KYh78PZr4dN9O+TSSQLN9gurFvY5ZtGgROp2Of//9lw8++IA5c+bw+eef+3Xu7t27MZlMjBgxwp4WFxdHt27d2LrVu1+YzMxMrr76aoKDg+0r1w899JDLs92wYQMnT55kw4YNLFq0iIULF7Jw4UK/6+VP2aKioujcuTNff/01FRUVmM1mPvnkE5o1a0afPn0A2Uw+ONh1rBASEkJVVZXdbPu3336jTZs2rFy5ktatW5OQkMAjjzxCYaFjom3btm0uZQG47rrr2LVrFyaT96gOtSUkJMR+3W3btjF48GCCghzf7Ouuu46srCz7BIc/5VuxYgUDBgzgySefpFmzZnTr1s3DlH7FihX07duX0aNH07RpU3r37s1nn/l29lxSUoIgCPZVdiUyMzNZuXIl/fv3r4kYgAtIQV+wYAGtW7cmODiYPn36sHnzZq95s7Ozueeee+jYsSMajYYJEyacu4LWAZIkUVZWRoDR8XJZ3Dyhx2XLKyhtT4Zx9Wbb/ikZgyjyb0m5i8MmG96sz9okyx/q2GzXlcnr/2jOtMmXeeQftLUZHf+RBwXuq50Vu3I88ttQGtDvKD+MXjLaw8M4VnHAcKLY/ve3aS9isFllmj0H7mKVGUOavLosObQkF97P+l72tm5pK5da8r1CZ6NSwSmT682rmUavA1Ir9rqEuXF+lmVl5V512jxTMXlerCy84bydwW8sTavPY8Wkkx/QVZub8fzsboRUuq7c+1JTlZ2N2SYiHGfa3qPa0jddYPRPre3vhjNmoQ66TveBpw9ONpcHurf9YOaK1bXbDwoOmdTWo/BLp+S9XXrJ6BQ/2hW9aGBxwV9+FCYULL6VLL/YchkfrZUnKd2tO0pMlWDWQIG14zAOA8MdipcJN4S4NrzU5mCR21Wm0+RCuY910egCuc++aWU8l+2VJxALvTjtEqqxvzacSqPo919h0+WOROs5NQ3Rd++3bRi6Xv5OBFVpmDbtMO2zXVdnn85P4dEkz4kVQzggSTyUl0Xf3dGwfgCccpiVj/lGDuNmsFTwz+7r4Nub5AOVQfDFaDgsr0DGn5KYOKurYixrAMm208Gkg9Iggq3fvD57ohXz25zGCRLyc8uNhG294KCslHc94pCRZHI1Fkw7rezgKyLV85lc8W8T2p507QNCqnSOb5GNjfJzqnWgFQn46B7Yp2xFcfneYiKLIDa7dvuep2T/zJcFjnHTuG/a8eBC60ROTpRL29eZBSa914O337iM3nsiXa5jFLX8ur6QJasKabm7BS1OhdK4MJBn5nUhzOSqENz6q9P7Pf9e2NNF/tvp45WQHEwrY6Xj/qKbFVeZqwL8bO5J2lc52u4/TtvBAowaOjyRT3x6A7vPgEc/7sR9X3TiP6+69TXm2nnwt9HQ6v/Cl9UZgGBpRkND4AXjxV20GKgqTznn/0RLzaJQxMfHM2fOHDp27Mi9997L008/zZw5c/w6Nycnh8DAQBo3dv2WNmvWzG4irsT8+fMJDw9n8eLF9O3blw4dOvDggw+6rD43btyYDz/8kE6dOnHjjTdyww038NdffnwPa1A2QRBYu3Yte/fuJSwsjODgYObMmcPq1avtyuJ1113H1q1b+eGHH7BYLGRmZjJt2jRA1pEAkpOTSUtLY+nSpXz99dcsXLiQ3bt3c8cdd7iUp1mzZh5lMZvN5OfXxOrON6Iosnr1av7880+uvfZan/e2HfO3fMnJyfz0009YLBZWrVrF5MmTmTVrFu+88479nOTkZD766CPat2/Pn3/+yfjx43nmmWf4+ms3579WqqqqeOWVV7jnnnto1Mj1G//yyy/TsGFDQkJCaNGiBYIguJjl+8sFYeK+ZMkSJkyYwIIFCxg0aBCffPIJI0eO5NChQy5mBTYMBgNNmjThtdde8/uFrY+88r7jpd+YuxvnNZFAk2dn3zJDT+H6FFZ0asjqwhJ6RHh+gFqnhNGgQumxO4YVEUWBVDQwYQqUuPIfH3vBvFCx9zQN+irvQ7F9pCKKRVqnFFPVLpav/QwVVWrKcwyTzT2Bw/ZjwXotyQ/IDtyCX/P+wVTahw9gSCshMN5zIK0XDYRogsDsp4mxpAHTZUi6xGodVtWUFdnvc73xiRrNqgkCfPrb14QkaClrJLK2ZBdXhfWg1JhJ40DvezeVtjOsLtkBQJohh/bBChMSpuGg9TM2s5XmmfKEUKBRgz7UeeQucaYxBT3NQ50vqXxt2YO1LJcQ61xIgMlV4n32FtOg3HMV1ob/wzC3lTlJ8hpe7lRTHaT4feHzRoBR4IGF7Tn1gAXcF88kgTxzc+xRuY3XgtQItK5mqWKVYzXC7GubgI19nTlJZ+j0HfsqTwDyTPXmsv2wfBhkWyeObvsTGisre3aynSaZfh8CTQ/by14nOD3ehNSG7O1dQJDFSImk83jyBz98mS2PAhvfdCRaow9YxFCQDCA4Jqsalnn/nHc+EkHnIxFs6B9Go6KeQDLdM0o57raS3tRivZ7k2uZfP30MX+/jcbPAxJQFjPpnAP80DKEkqQOcsn4DNvaAjXB1mEhkURCBFRK1jASmSLeDjbnxV5GVmU4rqO4L59lNAYflUbMSJ1mdAmIDrUYFynUcuM1t8lHJYdwBecLaW2x2Z7RmAUHCdROCLaZ6cjz0kpeTBQFHm/HRsWgyJUQ5lL1D9xXjwBgHgVvs+RSd9WU2heXD4TqH/waNU3z3239J8Djlt/xt6KSOPLa8KSDLxt2aQJED7eGyQy5Jg/4NZRBpTA7v7FHHhmU6hh11/Z43sRi5tjyP4wClDaCR47lGFMvm633/dTyvOD+s2pR45LP2WCJMnBydqnDUUdB+O6LlrYNOCAiOPsPSAqi5s7/zhVGfRcbeSef8vi16v0tww+q989u44oorXBahBgwYwKxZs7BYLLXe7y9Jkv2aI0eOtC8EtmrVioMHD5KYmMhVV11lN5NWomvXri73j42NJSnJu0+h2pRNkiSeeOIJmjZtyubNmwkJCeHzzz/nxhtvZOfOncTGxjJixAhmzJjB+PHjGTt2LEFBQbz++uts2bLFXj5RFDEYDHz99dd06CD3X1988QV9+vTh6NGj9okH98U+2zheaRFQie+++47HH3/c/vuPP/7gqquuAuTF188//xyjUf72jB07ljffdHzz/Ll3dXlEUaRp06Z8+umnaLVa+vTpQ1ZWFjNmzLBvARBFkb59+9od5PXu3ZuDBw/y0UcfMW7cOJfrm0wmxowZgyiKLFiwwKO+L774Ig888ACSJHHq1CleffVVbrjhBjZt2lSjtnlBKOizZ8/m4Ycf5pFHHgFg7ty5/Pnnn3z00Ue8++67HvkTEhL43//+B8h7Dy4GDP/m4WyWeMcKZfO54u+P0r5lA/68NQZJQZUb+63ryEUwwR63/ckvzOrGsfYlfH3/SeXCuH+HJR2YelZbB2fGfW+kaX42L17+Nz33BxEcFUpUgXelB8BQ6jqj6FwM51XOtifDSE2QlTPb/nxf3UhwIZx6axOGO5tB11YglINGNm37Ln8to4ujaf5GHs806czS0alkR/q4mNgcLJ1Bk8+fxTsQJQu99kbSOqUhy27zHnLLX6rECt8BiyQtiC1BK2tzkgR3/diarNhKFjx5hC/yfueLvN8BGNeweidRNn4tcgzyPs/7nWsbXQb6INC6LYdJWvt+XOd4vHq3UHuBJrmT6npIfqbu+o+voZ67Oe0vGdNYX+VUjuMtOZ4cQtdBFfiDUTQrmpYPP2LrSF2PDdvoX2QEfxCLG7D7QAXtWgWxuXw/xfkaKI+BeO+z+GeD0Aqd3Yv2mRCXFUqr9IakbcgB9218li5sM/Siq807k+SkwRuGgzYdodJC8jOOSAlnsuY0P+c3yL7LkVAeCo2BHCA0EpoqTKAVur4T2oymgO15CzSoMNOgsvamqiZ0LMxbzUia0uVwBOFFQTTPSWdDw2jc11iyopsSMfkZGsSaHKrlofYwZAelVcOASgheJpvAh+p55dM4lHF6uRb2g5utK1W+ot5JNbPSyM1oyJXbo7i8sog4cxWfO6/6Wwm03s9i9j/cnr9cltiYlU1qd+6wn3JZ16Yf3LXSf0frGwbAFcrvaH6xGfeh1cB/mrK1r+3iAo9/3JG4nFAmv+55fusyE+U5bchrUoVW67iH3ShM4WM2ddMRJo9wT9WAGA9s8TzBmXJrP53jvwDNiLQ1+ggfdjQBWjo8nweJIteVnmZtw1BEINAMcSYFqzRRoK2hgjiz3EYHuE+MOKE52opWv/cm5f4Nngcra2FlYJtUGiVPVCSkhUEaMDoVrVngnu/bsOLmdEoiTDi/U52PRLheJzeSEueIOnU0t3euCAyJo0Vvz3H1ubjvuSImJgaj0UhRUZHLSnVubi4DBw4E4PPPP0evly2KbAp5SEj17cpdeRcEAVH0/+PqT9nWr1/PypUrKSoqsq/eLliwgLVr17Jo0SL7PvCJEyfy3HPPkZ2dTePGjUlNTWXSpEm0bi1PhMTGxqLT6ezKOch7uAHS09Pp2LEjMTExHlYFubm56HQ6oqL8c1B58803u5h4Oztnu/fee3nttdcICgoiLi7ORYH1dm9wrKT7U77Y2FgCAgJcrt25c2dycnIwGo0EBgYSGxtLly5dXK7TuXNnF2dzICvnd955JykpKaxfv95j9RwgOjqadu3aAdC+fXvmzp3LgAED2LBhg92vgD/UewXdaDSye/duD8cDI0aM8LlXpKYYDAYMBoeJTWmpPCNqMpns+xg0Gg1arRaLxeLywtnSzWazixmTVqtFo9F4TXffv6HTyY9DFEXiN8l73Sw60JjBVGHymKHWmgWCq7Qu6ZYqI80OmWg4PJrjkuOYIIHGIiBqJJfFkfgXc5g6eTVXSc2w6CRCDPI5NidNolZCErDvKxMsMGpVc5d7ijoQzF2BI1h0EqVSJY1Ncnk1FkCS89jy6iwamuSL9uvettzV9KxJYaDibLwIdrnoRAuiVl5lFTUSGgT7OU1zg7l7cRu57Br5Hhazxb7fRCtqECwSiBa0BoFmifL19ycno2tndVYV9CMWjUiVZCJnzxLQDSWqKJgxP7Zh7uMSEpLLXjsNoqw4SqATLWCBtYWy054pP/dCEiR+u8XhQM2ik9Carc9DK5dRJ2qQBLBoRDSigMZpJCYJkjzeEiV7PbWiBo0oYBFEEhudoonUHJ2hF4jtEYNyEbUVbCjaw5W6ngSZtLIcNA65F+qz0Vmskz6SrPgKguBSr6BKDQEmDUstG9A5TfjsL1mD8NXtaBtWYNGloUF+JmbTEDS69WgkgcDk9jSM06MPsdjva9HJcrPoJEeb1EpoJY39vqIgIWok+Tk5NQNbusaCy7uzV38KhDh0Fg2CGXR/DSQRGNS/mA0tTyJI1vZrNZk1I+9J1Fo0bMrfzKcFf3NFA3n5SZBAKwqgtbi0QfvzEC2IOglRK9nfJ2d5WSwWBOT3xqLDe520FtBaqFwyhBmGbHRaC9AAHaPk6zy+2C4vsHbUWovcDmzvk/VZzc5YwnPN75Tr5rbPMSAgAFEU7W1fFEX69euHVqt1SX95Rne5XN/htX+zWCwudVV6TlpJg6iRECTBYz+3RQxBAowmC7plwyBYA4MtWCSQxCaElUcQtD3fXmeNWXbEpHW7jlkrWp+TNV1re67W52TbDmTsiKQRsYgaoi1VlJgFJNECq0GSrsPynx/QigKCJK9mbopPRtpwGUgSU/MOsykskqvKC7HoAIsGtjTl2W0nCDKKchrQSDRSagxE9/sIGLbVUXZrvxei12IKdLyzBnSUiOVYdLIyFFkYjEUnEWfSI0iuq5Bbmvejy26INEJXqYCDwWEYNFp0pyPou6iAbfdGoGui5Zkfo/gxogWiNs3+PnU2lTjKYv32iFoJndaCdrt173SJRIOGZo++NiCxPaZ/OqOztjdbnytZV3N1Vnk7P6en5nciv4E1zXofs0WLIEhorTM/CRmy3K5b0YJVIzMoaWy2X8fu8Voj0cNUwp6SZgi6Usd7Zv0OAei0Zmsbc3yfRJ1cLlEUECUNOtGCIDj2iDczV7mU2d62LTC4Ip+/qxLAokHUynkkQwCSIHlYW2vNgmzbow92fIusddUIIhqN1fJHa0GyFljUSFy3tjmtk8tYfmMUVQECcTmh8vNYFg+BFrgJREFABB5MLkH6OJy3X+oHQT+iEQTZskaQ25EGDTqtBYu1/dv7CNt7Yu3LpUwJ3QEL9JbTNSa4dn0sqa3LyYivdMjCECA/pwMdsOiOAiBYfbO4jxdsz0kDaLQO+cp9OcRvBKGdQOD6/rQKz0DUVKIRBa4wFCIJkGwUyC0N5OZEiY5VZS7PQ4fcFzxYmG5Pv3JrM8VxhKSTGLqzMUMK05iZ05AKrePbbtFJIEmKz0+y1mnMj214O8YalUGUv4uazX3oYyjm8OAAqoIt9ranFQVaZDWgXXIjBm2NYfX1GYiAoJVcZC8KEp0Oh5O/YQgrdYEMbymPSSyixIZWJ7leFF2+W7bxnnuf7S3dvS8HWfnT6XRe0y0WS433CWu0QTVayT5fbN++3eN3+/bt/Vqh7NOnDwEBAaxdu5Y775S/ndnZ2Rw4cID//lcOh+qsRNro0aMHixYtwmQy+VxFPxP8KVtlpTw55u54UKPReEwGCIJAXJw8+fHDDz8QHx/PZZfJ21YHDRqE2Wzm5MmTdid3x47JC3Y2J2oDBgzgt99c/f6sWbOGvn37+i2DsLAwwsKUt5OGh4fblVl3BgwYwKuvvmpXom33jouLsztw86d8gwYN4vvvv0cUHc4ajx07RmxsrP26gwYN4ujRoy7XOXbsmIszOZtyfvz4cTZs2OD3BIWtTdomfPyl3ivo+fn5WCwWxT0GvvaK1JR3332Xt956yyN9zZo1hIbKa5YtW7akd+/e7N+/n/R0x2pox44d6dSpEzt27CAvz7G3rVevXrRq1YpNmza57IUdMGAATZs2Zc2aNS6d8NChQwkJCWH16tVwtS1VotNSAUHXnCOjHSa7GhN0/kngsmPNODLa8ZELKoF2qwTi9SX0zJU4MlpOb5ANCX8L5HeRyOvuqF+EdZG8cYNwjoyW6EA8R0ZLND4ogEVD+lUSFbEw+ojsEE6bWkWnXaGcGCU67cGTaKaX13iO3SohBuRycNUqGA1tfxcIqMSpjDpGH+mBqANTKIw+1tZ+zFanblnhHnUCCNfHcsoql9EpR8gZAG3Wy3XqTiv7OfE5shlrdh8JqW0jRh/pweEjexE7VoIOrkpPILbCguyVJp4mh+WBVHDLhoxOsXmq6cGGVichTOJo8JVI9vIEEGYyUakLtMsEgBb5iDqBEATrNSKBSEzWDZcVzXDJnzJCot0qgZIEKOofzA2HZFOi7Aal/J2QTJf8ZnTPc2wTOBlRQFHzNFJPFyKMlju64ac7kSTmEJpipkdZCypKYTRyvf6NCSc5qoIRKe2tcglg9BG5TjkNy7j1WFcCRC3W5sEhTQaiDuKiYhh9xHHfTksFTKFw8gbH8zBpLJRG5dEsIoahPdM42UduAyMyUljVsh0JJY3pn2XdepIKlXozvwaY0LfScWSIxOgjPTgyWiLiJDTfIZDdR+L6TLvhM0lNcjjQNJurUtsQq3dYjWQZizjWLJc2+lBW7XWEIAuNb0qoVseo9M7oxBJGXyU3mK9OHaEy1Ogk9yMQBku1nQiVtNxwpAdFFDKaHvJz6gzNKsIYWtEUrjrCEae256jTETJGur5Pzs91f+V+TM0MZPcJoLit45nLdcqxtr1GcJXczv49GkdydiAjLkshvIFjgnBDRRg5Dcus7xOMJgCuOoLB6X1qTDSjj8htvaJJJaLB4hIHVafTccMNN5Cfn8+2bY7442FhYTSJaUpmeoYjButouU4dgOPHj7t8qJz7vdHpjrp61MlKSQJQFcCIkx0JNzmsYjY0l8gJBtOO44zuIAL5kAK/tw2mUhK5Mec4aY3lstjaXpjJxA3JjnuaNBZ+6pwkP6c0qzXQVUcoqQhilf052d7hALK7pbMtMZ57mp4kT2wMKUfgKjiZHcEOoE92C9oWOz6yGaGVBJXnkX6VRJPYArvfqoY50XCkMVlDslz2Ht+/MYV5Sztya998AjLa2fsgW793a7Lc2drSQ/dqCbIEufRvGhNofpPbnnN6DzEUM9AytpCW3fNpi/y9M6S15LKyXEitIr6kOxm3mxlIKtlO71Ovthn2sncplL8b6VdJjI6VU490Ac1eI5OOHOfEKMmlToM3dWEdcOuAYxx1GiG0/R0CKmG0te3arm/rI3JvkKy2BpXcaj7GT1s6MyAkl1b98u35g0qg46oILNEBSC1D7LJpkA0xO6vI7yJR0b2S0aRAL1zqVGx93LdxjPwkiDgq2L9PAKM5Yn2fGjMiI4XwJgb796/VBjPkCPb3yVEn+TmN7psCR3qQfw3kIxH9SzCGMKNLv2f7PkmNtFzVN5VT1vQRFSms2tmOhJgS+nd0WLZlFzaATJy+uSZuzjrOyUq5wNl9JEa3TZYzH2tJUnQgB6zPqSIW63ekB//GpZMcLhHWvJgjrSUGlLeFq46wYV8ryMLRR1j7mg0xxxF1IN1cxmiOgDU9O/80fQ40JaJVE3qlyXLXmIDNl9OscTlDe6bZn2lrizygL0mArP4OGcj9noUuQdB92Cl7frkv11DWQuKOE93harn/yNdA0wOO59SXPDjVhaZhAuTJ30Fb2xvNETZUyN82b8/J8X7oaQqIJyDComOUtU1S0IFjt0rwewwVzYpJG+o2jtjsqNNoa+mz0xP4OyGZHi1zade6gHapXe3Pp/kOgT5ZbWhbJr+b4UTRJV3LASCibwlHmsrXH32kB/8KldzzQ0OOj0rGGA4QxZFWEhGIJDUsY926dYrjPfdYzKNGjUKv1/vdl19zzTWcOnXKJZ52kyZNGDhwIMePH2fv3r1cjJw6dYqJEyfy+OOPs2fPHubNm8esWbMAKCwsJD093R6j2vY9i4mJISYmhvDwcB5++GGef/55oqKiiIyM5IUXXqB79+4+Vzifeuop5s2bx5gxY5g0aRLh4eFs376dfv36efWC7k5dlG3AgAE0btyY+++/nzfeeIOQkBA+++wzUlJSuOGGG+z3mjFjBtdffz0ajYZffvmF9957jx9//NGuMA4bNozLLruMhx56iLlz5yKKIk8++STDhw+3r6qPHz+eDz/8kIkTJ/Loo4+ybds2vvjiC374wRHi0Gg0cujQIfvfmZmZJCYm0rBhQ6/Ktz/cc889vPXWWzzwwAO8+uqrHD9+nOnTp/PGG2/Yzdf9Kd9//vMf5s2bx7PPPsvTTz9tv45z6LPnnnuOgQMHMn36dO6880527NjBp59+yqeffgrIE2Z33HEHe/bsYeXKlVgsFrsOGhkZaVf0AcrKysjJybGbuL/00ktER0fbLSD8pd4r6DaU9hj4u//BHyZNmsTEiRPtv0tLS4mPj2fEiBF2EwbbzEuPHj3sIR6c0/v16+exUg5w9dVXK6a7ex60zZwOHz6cdavW0m6lPGOvMUODAmiT6FnfhjnyAMmd9JBwOu8oo8cBecbGNvMdfUgg6ogjnyDBtB2XuaxQAJgkDXRtTcvNApIAb7++D51J4NUl8se+9RrXey5+WTaT67BcYM9lBfx+Qwavv93TPvNtK2N5QzNznjvIm+aeBJVB4aliBm53NacUSi102upWpwFQFnyaOFNX2q2E6RM78dLyo4p1yowzAYHE7hYoLWnIknv+4Y3mD8Bjexk6JIZNQ1IRPr0TAuGW8D2Ep8plr0ptxO/XWyeCgn7EIgjklGbSLsTE2G/kTkYUJBa/FICk17B0cyea9t9KftcMrt5wDV3MBeiRWLrZ6uTn0R8B6EUvGpyGDVHHMAZZKG1k4vW35S0B4amgN1Tx6f29QEhFCtoPwKHwfI5UCdBcDjMklYdgkVpSHJzF+EXy9T988jAFUQZG7mxBZXPYHnaSU0260vFoFOlh8szLmtbHef3tnhRHGJn39GEs1tWsA0I6PRqV80uc3DDaHQ1DY4asghz+GeQw4bY9p6Wd9rs8jsdJ4HRxA5Zu7sQr+UcIMAu8/ZI8654aXsSwn5rY95cLUgC/Nu1JCLtJ2BXA26/v4/W3e9rbZOxugR8GH6S8odkuY4DNf16O0O0oDEyEz+7kjayjDBejmD3lHyKCWpNuzOWG8Ctos6Ixo9e3Z+obibROCSPjrxEYNFrouJ9bj3ZlWfsDCBaJhCMjOW5syJCifKp+6szSpzbRIjiTDBz7kk83KGNpg1xYfTWv58jta9sYuU7pjYrBcCfPLThBWJnF3vYWjN5nP/+DhKFkLC/m5t1lRB0See/FJNc6xachIMnev7UWRKvzqjV7XFcsLF0SAfl9Anj7RiPs6s6bZUft79O2K/LYMFQ2I21t7kb3sDaMGjUKd6Kjo+3pJpOJdX/9xQPHpvNqi/vs6ckP/iGvSD4usjh0K/cNG0GrwGZYJDOfpT5CRMVEevToxayAdBA7QdCPjjq1TLU/y9ff7il7fj7djjVFYWAIgn77oecRLJbLQISAfu35/r8COknEMlbAHJSIVKUhYFdD2qY4tiVozFAWEMBSjFDUAPIbQZ+DjufUab/9PXo7pjX0+1d+TkHWflWbxOUfNuT1omOIeQLlBSF8/WBL+Bp5dXMY7I7NICkymxdndePYzRLXbDMSYCxAtPZ7Nlb3kN8b935PY7EQFW3kj3/aYuhzhNf/0FnTAQn0JwpZeWOGvZyxUiF/doROy12vc0Ir18m5L/9ylJ6uQElGQzodKSAppBHLw2MZoj0BiGTtDKewmYG7jsmrw87vU4wjCiB7ejcA9LTcLDA1tiNNTEbGF6SQGBgIVHnUqcQSiraZxM6NLbm/NJUTN0K7lRBgkOtk699s74fGDEFljj4+KyCYfF0QV5NP77xSItME3o7paM8PoMm1sPjaJFhxLa8fyEOQIMFSiGjtyz9o0obL9MV0Liv0qNP0Zu15Lfs4Zq1k/z6ZEHgvpoM1XjusadGaATsKGfZ3nuN54HifHM9PrlObn7QEOvk7KJQgyKj8bRVKLWzd2IpBA9Pkb1G0td/LCSc91zFRJUkCwzjq8n3adnljhOgse50+y7IO6h9eQ+MCPdFmg71O7zZrj3ncb4ghVZDbivID4fQ/WcS3954kY+31VFmHb/Y+4qXjEBBIsN6Axuwo+9uvy/3ToM1N7c8pt0kVTfOse7ObYO/Lbc/o1yHhXEYp4anQKN1pr6e1jR0ygHFzPPcWZdjTLTqJkpbQfpk8bgFHCFZbnb5tHs19mfn2dOe293ZMRyyP7PP5nJzbWG6IFo25gsrjzVmaJ08IR5mNPJGfwr4AaHDa8/mdCBHsdXo7Rpa99Jj8nT6eGsn/7SrkWFBDlrz0D2/8KL+zu5s04nRVKx76No0dXSo4lHcFNKyiOLeCwRXy5NO8W4op3HYFcJQ2a+RrD2/1D1f8G822e7Tccbg7Q68d6rLiaBvvuffZOp2OsLCwavtycIyL4+Pj7aukzunt27enSZNa7v2o54wbNw69Xm+3CHv66ad57LHHANkj94MPPmjPO2aMHGnjzTffZMqUKQDMmTMHnU7HnXfeiV6v59prr2XhwoU+V+CjoqJYv349L774IoMHD0ar1dKrVy8GDRrkd7nromzR0dGsXr2a1157jWuuuQaTyUTXrl359ddf6dmzp/3af/zxB++88w4Gg4GePXvy66+/MnLkSPtxjUbDb7/9xtNPP83VV19NgwYNGDlypH2iA6B169asWrWK5557jvnz5xMXF8cHH3xgD2EGkJWVRe/eve2/Z86cycyZMxk8eDB///2337Jxxxba7Mknn6Rv3740btyYiRMnuuhq/pQvPj6eNWvW8Nxzz9GjRw+aN2/Os88+y8svv2zPc/nll7Ns2TImTZrE1KlTad26NXPnzuXee+8FICMjgxUr5JC6vXr1cinnhg0bGDJkiP33G2+8Yd/b3qRJEy6//HLWrl3r94q7jXqvoEdHR6PVahX3GLivqp8JQUFBLq78bQQEBHiYcWi1WsWX2Nbh+pvuzTwkICAAKUD+yNk+dCFVov1vl7KIGpRCRsfkGuidWIX7BiiNKCjm11hc82mREPZ1RGOR5W7Wikx50+HN3b0skvWDoDULSJKEWetaXq114ji8OEA2UUUACa7a4rmhu016A8+6nmgJUQV2uZg1WnuZ3etk+/hrLAKCRZDLotMgiQJXbG/KhmtywKIFPQhhTg5xJPm6coFFqLoTCMDCCnt5tAhyXSsENCaBJ36OZkuOBZOgkeskCJgtTtewlUkSeOpDeWC7amSG/XoaUUCwYL1vW9DIZlvitssQD7aHR5fIF/j2Vui/D0v8Cfu5oiDRqERuQ1IAWASJqHyJu3/KZu21jdk4tMz+HDRm+RnauM/qi+DHadZRr2B1bCNKLvlsz8k5zYYkyXXVmh3PBGQTwpZpnl6gNCatnM+tbWgsAjeuiKfT0XAm28qDIJtw7u8s7420aO3PqdmxGA53yQEt/Fmxk3tSEuzyGPtNWw4G5/JD4xboBAiQtJizWnL9PyFccTiLdwe2Z0iFPOjfUhFMWEUw5qaOukkCmAUJLFp7GW1xj0Uk0GjRmAWXtuciG61AzvZ4NJbDSGZXWSKGYTHdzIgNOwgozOP3yCZ2Z1z2NuMQvHw5axnMABat3fO31iw7ZHv5ve5YtCJl8/QIgqDYp2g0GhdTOMlqApdszKZLg9Yu9ykX9RwxnuLH4nU8EnU1DQOikTQWkkr+onWDPpjpKtu3OtXL4rR53fm5miut3hIOtZUdQ1mfn6gFjUlg8ukTHFwexg/3AYL8rnr2KxrMfzs+/BgC6d3+X451KKWiodkhH4sWzF0QLfGI9ndY4ppi2ZeERhRok10lt1GbJej8e7H0T8TS/bDstEvr6Avc+0OS4yHEs98DeC7vJBkBwXyM5/G+O6NZ36/Qnh6JGU5HeV5HC9LR1i7pNqlKklUuJoGRhbmEWUKBciRJICgzEq052+VS7mUfuzPfnm62aLFYNPL1Ahx9tjMdyOKy0xUESyIWnYAUIFmdmsn5Ao0SlVqd63mSo4/XINBbL28Ry9cGoLXY+gmndz43EvM3PaEqGK3Z4QnY1pePKMonzGJ2vGdOdTJb+wKdKNg33YjI9xAkiQBETBot0mGNR92Unh9AiMlqmm5F0Mr11Zo98wqSQLBRdHyLrO+uKGlwC7biUieAK7cVAy3sdXJ8KySe/bAzkGwvx+WlJWzWiHKoup8HQUkOWrPA/YvaUSGk8G5MB5c6mb+6BR4GhCUIOMpu/vhuuH4TYLTXSWNxlYWjL7f2edkBHmV3RgREi6t8LTrJY9xil4H1+VncznHpLyxaON7aI90ZW50EQQB9gPx9OhWHOUDrcv2WUqXX52evk1mgp76U3X/3gSv2I4kaaz8g0PpkQ0eZBQGzIB8bsL8hAzjG3CZtwKm/mvBzYybHauxlN1u0IMrvDYJAgKhVHEuC73GgR9nd+vLq0rVa7VkzxT7fBAQEMHfuXD766COPYw888AAPPPCAz/ODg4OZN28e8+Z5OsT1RY8ePfjzT2XHxkrh1Gzxueu6bH379vVaDhvr16/3eRzkEG7u+6zdGTx4MHv27PF6PCEhoVZRCvxR3rt3786mTZt85qmufCBbHbhvi3Dnxhtv5MYbb1Q85m8dvcW3rw31PsxaYGAgffr08QgQv3bt2hqbC1zItMiuJsyXGz0PlFafqRqGpTn2LoUX+fZ+3DrV1SFXv3+95/flbRgASSH8VJlnWrAXX0PxGQ7l0LYiV/XvEeXMTrQ/6e71OwBE76HptNaRS5O8YAKN8t899js5tdErO70b9YcfIdnKrcqNqJEnEwBOu05mDN0QwwuzuhFocgxmAqyPzOap/75vbE4BBTBe6dUbtWJyhcMhynWrreH2jDHwww3kuoXj84ti5XBT4Ii/y5HW8Lkc4kOQJEJEM+S6tiVnr+pVksnxfJLkAWuYxW1UtrofYSnyNTTljod5+YEw7vrgSqLyfTsndEGSCCv3FicqEL3FyzFDAOztChJc/U8YAyqLauYBrcxzwqP/jiYEmjSEVOn44LTvD2xNOaU/wOKMV/3LbAiAr29xCRun2MokYB9szDnMAOskiXMorACTf450bv8lgbuWtPY8YO6NzhjJg9+m0ajUz32X//aCT++sPp/7ZlY3Wig5vLLS7Wu3+MxHPGNzSwjwl+v3TLCFDrTuNRaA/pXFdDEoRCeoQ6IpI9iH9/w7SrII9OH0qLnZIQvl3gYEfRBUefeu3bWqjJYm5f16tmtqFNL+rySbN3OO8sicVEKKvbyLfhDoo/7SqViurPQeH7smtDJWopNEgvWeQ7EYkwGqguAra3/odKyBZEHj1n8EiCL8ApH5Co6sEjsjpcTbf4boq9mnW3x21m6C9NUoiweqj+fuC7uloEX5/b++zGEddk1ZPv9Xkk2z/S3hhxvpUySnxxv13P+1k1luUSC4+XedkJds78NstPTmNC+n3q+Dqaio1EPqvYIOsifCzz//nC+//JLDhw/z3HPPkZ6ezvjx4wHZPN3dDX5iYiKJiYmUl5eTl5dHYmKifY/EpUBdRAVyHiD13+Z7H8nD37p+wW7+zTP8nY0Jc7v6vrEXxSUZh8VEeIl/A/AAi3yxoI9sH0+3i5scA5WIUjfFTgS+ApLdFWrPAobq5cFgp/3y4FkriUT+cqVHPl+EVpiJzZIHV3HlFl7IPc6rszrZb6cVJZd4vM0zZaWtW5JVcRcFpKNOjjiWXudQfAkEsZUc1soHLu3maIL9z6u2WGVfei0URrBnm6cDlerwSx/d0UM2iwauLc/jtdMKYfEOtYUvbvdM39ndM80H0YVWz6zf3ABZzmaA3l+eBhU+Bv2G0by2/zSDyx0rgtMmX8aVm5vC1t6wvS0sdmQPqIFnV9Lr3sOthNWDvQJFhGFEq+jd3oOcJvIE2rEELxkEsITC1iawC0593l0283cj4ZR3ByqCJBHuNOgONCp/ulpk6WmbWkn/XUXKF1KcQK+DzhKgoLFi8ignpcAXsW4KaZARIijnnrKUMy6ajWvLcrmv6FT1GX0QLIrcXZRRfUYgyouiZJN4Mx8TG7Whu3XlPqFCz+CK2ivRjby8F/bj7pOAQOeqUuKtStqgPOheXP19Hi1I46GCdCa/20o5w/c3eT132GnX39eV5UIRPPZFe5f0yyuK5Hc012Fe2ajMNQaixv09L69+aOi3x3snIo3VREAQ/Z8std2+tm9vkCT35RokqAqmsW1yW3Lt4zVL20Ci5/khbpM4jxWkKd9obx3GFFRRUblkuCCm9u666y4KCgqYOnUq2dnZdOvWjVWrVtm962VnZ7s4bQNc9kPs3r2b77//nlatWtWp+cHZQqfT0fZ3wb5v7nzR2mlG+Oqt/ofG6bfT956nYIPv2fsmxQr3kiAqLYq2a2W5PP/hCb/L47yS7T5xISQ3A7xYG9i+vzlNAM9VK9ulpKIIpBjXtFtLcuidU8LkGoSfe2xRGtGFnZk8bQ9PHLBaJOh19qtec0pg8L+OVZAm+fIKVKBRoO3vsKlHGzjSCLDO7OdGAw6nhQCUB0NiexTtFkH2Vi0KkBOtWO9rtuWxnrO4p83JeqKNwcuKRGYMXTGSsqc7lb0OANZVGftKo0RXfSlNNjXl90g9b2YetZvn6rKdRpUmp+4vuwnEucmqFly3PpfLy4pd0vrtaMKWntY271SlMYXZfBMpT2QJkhw8LlAUMGlqHl5M8FPX1+l0RPVviaUskb9Kd/NdwVoWtnGOeet4QZKJxSCa0EsBHKyK4SZvynp1hRUbQvL/wUH/yuiKY7JmSHkBbzaRLVQESQvZDsuKPpVFNP+kiv3XOyaggvWSxyDaWxk0Fs68z02JBw5Xm01JXE3MBp7MT3VJu391GBX4p9z7y9Byh9Ia4EebUZKLt5VtXwS52X63M1bQsaqMsX4q+tWhQ+KasjN/f/1FY/aUy71FmQBMju1MuBnC/YzGV52lgLffnaVMl98hSvb1wC2lOZwI8q4kRpkNPJeXzMnAGlhFKawA+PMOOU9eutOxqoxjeQrWc16xf4FrcI6v6yjjy5rCHywWgd9zg7nZy1ZHlZpzJvuaVVQuFC6YHuOJJ57giSeeUDymtO+jNvsh6hMBlZzRd+ey/SV1VpZ6gQT3/xwnh1mRamb60Xuz8wq4AGJjuulLGVOcSVKwcugH5wGI5+c7BIpxPJ/SBkh2PVZObGG0DrpyuuHPoB0gutD3JEi4l1VDJGt7OdzGUWZvbeefLpAc571MO3uAsS2ctK3ouOa75t981sc2odiUTaAYiVGjwUVCFux7jZ1JMFQQa41t2yjHxyDMJseCcJdkwe19vrs4k+MrI1ikaw9iJFDp2ApgPS79FcuW0RUu71Fj5xW9tOZAseJqrhK99kYSnaMQO9sJrcXpWman7lVhQNvRUCGvUAsCb+ccYXtoY8TKGFJD4dC/PaD/fo9zvHHtX7GyC3Y/0AbrkMogxyTXJbliP4EK+QoJ453sJWSIw8EwkLsPnvR9Yacqdqoqo5nJwNKIOCrR+e7LPhsNY70cs26ha22drAnKDwdyQYqAX3pja5//VyL7ytj/u0NBH/+Zf6txkvU/Z9rn+ktnBRN1byvNkpNQe1a5TiR2LZUI1dZ+Bbqpofo8dSWXyyuLPdLqSjm3cU15PqZzFHRaJ/qWi8bbBGgd0sRtYrmBWWEl3Eq/iiKaWZQfeLQ1Lr1zXPNIL+3RjrkLHpPWfrSVUB/K7tiiDPK1Nd8vLUiyxZq2hmM+Wxz26s4Kt5iIr+GkVKTZyCCnGO6V7j4tVFRUVKrhgjBxv9Qwm80cGS3ZY36qQKsCAVFHreRy+yYnZc8SBMZR9LUOGAPcPuptkyuYsOAkmLvhjfFfphC3Tq84fx8qiTRyHtysqFlZAZpnuK1kVDOCsMlFq5X4T0GqYp7GxaA1Kw+ONBaHQt/UbGDqlkpCRTNNTN5H8FGFobxx+ihRZqOr8rkQWH2VR/5HCh0WLi996FuTDLOYaPP1YBfF+epyT3PVUNEClZd7pNuUGlEHo3WhLu3FWZRNjU7PSQqHkuFEpDZm2mcxLqa3turd8XMCQ/6pgdmsPX53AEjKK1hXVBa5/N2WLEZXHoVd3eFQG6ecvrvqVmn+rTyZzWZyNyajEx3XO1busPt2mdg0dyOjoqOyTwhJoTxO8cqjLSbaGyvoqy8G4NXFx7jCZc+mU5sxKk0PWLFad7eyDpBftW55CCs3M1ChTdgphehC/z9v/vQt9kk3LzRUMHtWorfe/8lTyYfC2cWcTw+DF1N+P/BHZahtn3sxEySJBGlNPuVyOce4gqPKB2tJdROJ7cylTM1R9rVyVWUhHQwViscaK8wLD/Wx0g1AkmdSXbQVb3vH3RFw9OUdyiXeyjnKG6eP8Wx+st/3infbXtEQ5cmup/NTuLH0tOIxb3R1mkzTaiVGx+o94pqrqKio+EJV0FUuCB7dXANHXr6oRtm9dmOevJItOTnaqXBVmFtkVXGN2wDG+bI99KXorCkN/By084vjT5uDtzNB6RrBVbKC3k3vtPLy7Y1MffMyBm5taj+msf7f12Anvky+1nN5JwmwmTSutP7fyRlRbXi8IJWHClxX15qZHZMFNpNDuzMqt3kHXwNZZ6WkvdFpwGppA8ub0vwn2W/A2MIz26frTIAJpm0qoF1VOV3ddLN4N6WvGSUEINKpqoyItX3t6UOzy2l3lp2DAZSbnZRec08QE8DcwyNfdG4EV/3dEcRwe+N3dlZoI9xiIsxoItRosQ9yA0ULw8od5siCJMFOLwXysirWqMzse293Ndu2Qy1m+yRMnLn6VeguVWWM9zL5ZUN3hqawSoThfVKgkY9j9Y0L257NlQSjHudNWhFmk8fKtbYOaxwkWhhSlnfWBms3VtStJcO5IEgUudw6+Rdv8rIVyk/uLJa3Cmjq8JnFOk1u+5pkU1FRUfGGOi9eD7nQzfPrMw0NFnCKSuShzCktGit4Y9eJEGldeZDAxQROQLKbUl/pj6MifSj4WghbqOAQrRp0x2PAPYLd90DzBnQyODxnRxTIExFtUmRTf1uHEFoTB2Y2arbI4JWIaiY1gpzLpgfbNt3JObVbsRJs/3HSfyOcnUSldIB2fjiYlCBIYQErzOpwaXBpCdkW/1a67yvKoFTj6J6vrW5F64xwvAPPZ3zl1xn3f9OcxsUBbL7iRhBlbXjCBk8Von9lMR1PuU4sxLmtXLU3VNB0q7K1Rm99CQeDfTs2dEbJfNyZ8fkp6AUtURYjkRYTk2M7E+HHql1rbx6anQg6Cwr62UR3DsywbdjMqM82AedhKiBUNNOvsvaWDL5oYIarKvK5stL31ppzzaDyAqo01XiCP4tEWxztKVY6s4g1Tc1GmpoM1OU0Ug+nFXR/t1CpqKioOKMq6PWQnTuLz3cRLm62eT8klMgf08c/hs/ulBC9zH5HmuCyYjlvhMVEM6cBqPMZfs2dVwaB0yL9Lb9694DvC+dhgHsIHjs54Throt48zw6s8D4gDBEt6MxnZz3H2YzY3QTRRoCzIuSUxZ/OTMn7dP+KIrLNwZi8rVGdaE4PSySgrCRfvbEZpxsKFEnQxIceoqvhOM2b06dzSh7QAEf7TAXi3HwciBEANDIot/bqJlzG+fAqHmExMTHPf4eQg3y0W/AMh3ZZITT1kremPJ1fd97WzwVRlFWfqY6wrXbWBQ39jKB3Lol2svCJ92Myxx8EYHAeRGvrn4I30s/IBBcKz+Qnk0FU9RlVVFRUzhGqgl4PKSsW6bRUQKNuWXJBY6Zu5FIEra3mze4qhU0pjM810/BHM6XaAEUl23lWPM7suvp3RVkNTZHdxl/hpcp7cqUKZQXIJpcu5jRsNfJXGQz1Ek4oVPKuHN5ZlEmwsRHeFNYzoTozYoBhzqvJPrYcKrUXD6/eyM63yg7rWE0zxWfdurSSq7d6t4QYsVYOOfexcpQtJCRrTGuJmqzSnI3VQJ1OR9PBbTDnJdrTMi0mvHpcWIGsnCcgO1TfCx0iyokocXLmtNn/FW4Z/00+a2s5oPNTdjEGiEbe66X2uZ7UWZ9bh4wsOP+m/c5ycW/Nj3sLt1VDbI4xw+rBPJ0/nK+2UlcG5C2om9j27jQymlm6uRM336wOt1VUVPxH3YNeD0k3GDCFUndfnosFgTqTiz/Gee0N5TyTe9LVpNpKYyq8FsN5b+g5eYQKcmln8j5JEGyu8Rq/C2HVxAiuN9SgvQSe9m7ue7W/8ZS9XMJ5D2JTzn90BUuVGUHSQdW9YIllc5VjJTX0aBwNkloyblFbmmfpiTYb0FZIcAjYK+fpnOe28qo/f6au3qhuJd2BVZGvw77loqIeyqUr6dVnOts4yeXqsmK6nAP/EPWe89RWwqXaRzI4F4wuySI0qB6afajUiClTptCrV6/zXQyVSwhVQa+H5BuNnLxBQqx/497ziqilzuXiNRwZMLwsj6YWI3cXZyoer6uBYpho9uoMCyDQIu9594Y3uTzqFlfZRqSz8/IalNPG+Rirh9bA3DvCWr+atJcgUWTS6WOM8fKs/cE9FJwNWyerBcKodDsm+fZGXseYzWYK/k1Ha7HarFtauxx/9ZsYJi2JpsPxcEauPc2EvGTG56fQqaqMSaePEeI+OXOBjzvjkBX5s9G3XAyoclHGWS5djcXnuzj1gvPVVurR3JEiohZu6HdS9eJ+jjCZTLz88st0796dBg0aEBcXx7hx48jKyjrr9960aRM33XQTcXFxCILA8uXLPfJIksSUKVOIi4sjJCSEIUOGcPDgQZc8OTk5jB07lpiYGBo0aMBll13GTz/95HGt33//nf79+xMSEkJ0dDS33XabYrkKCgpo0aIFgiBQXFzsciwpKYnBgwcTEhJC8+bNmTp1qlc/WP/88w86na7aiYrU1FQEQbD/CwwMpF27dkybNs3j2j///DNdunQhKCiILl26sGzZMo/rLViwgNatWxMcHEyfPn3YvHmzy3F/ZGowGHj66aeJjo6mQYMG3HzzzWRkOLY8pqam8vDDD9O6dWtCQkJo27Ytb775Jkaj0SWPv/WqC1QFvR4i+TAvVqlbAn0ovtV9+EOo3vGRPyt5DUULo4q8OxkalgvDa+GArZXX2K2OjqQuzai1IvSuLKa/36uXfiJJtDMqhwgCz/32YV7C5fiiZ1UpDc5wz3cbk+89vUptrXtVmW9v5P4iNqO4jgeAIVav/7FmA/cVZdBAtNDSzet8+I8muuhLGWWNQ36h0ZgytOfQWZqKir+0MtbvlWEVlfpIZWUle/bs4fXXX2fPnj388ssvHDt2jJtvvvms37uiooKePXvy4Ycfes3z3//+l9mzZ/Phhx+yc+dOYmJiGD58OGVljvHD2LFjOXr0KCtWrCApKYnbbruNu+66i71799rz/Pzzz4wdO5YHH3yQffv28c8//3DPPfco3vPhhx+mRw/PaCylpaUMHz6cuLg4du7cybx585g5cyazZ8/2yFtSUsK4ceO49tpr/ZbHunXryM7O5vjx47z11lu88847fPnll/bj27Zt46677mLs2LHs27ePsWPHcuedd/Lvv//a8yxZsoQJEybw2muvsXfvXq666ipGjhxJerpjgcwfmU6YMIFly5axePFitmzZQnl5OTfeeCMWizzuO3LkCKIo8sknn3Dw4EHmzJnDxx9/zKuvvlrjetUVqoJeDyk2nn8z2EuFcF86zTn0zePb+7SEjjOftJmUe5wOVWfPMdQV+RK3l2RzUw1jxlbHI4W+93R6dYh3jmlqcVVelfa7n02mpdRghSA3AqoxFmiWp+xZ3ZkH09O5pziTgX56se5fUejV78H5QIdIWy7MyQWVi5sw6QI3T1FROUsMGTKEp556iqeeeoqIiAiioqKYPHkykiQRHh7O2rVrufPOO+nYsSNXXHEF8+bNY/fu3S5KnRIZGRmMGTOGyMhIGjRoQN++fV2URYBvvvmGhIQEwsPDGTNmjIsSOHLkSKZNm+Z1JVuSJObOnctrr73GbbfdRrdu3Vi0aBGVlZV8//339nzbtm3j6aefpl+/frRp04bJkycTERHBnj17ANkS7tlnn2XGjBmMHz+eDh060LFjR+644w6Pe3700UcUFxfzwgsveBz77rvvqKqqYuHChXTr1o3bbruNV199ldmzZ3usCD/++OPcc889DBgwwKcMnYmKiiImJoZWrVpx7733MnDgQHsdAObOncvw4cOZNGkSnTp1YtKkSVx77bXMnTvXnmf27Nk8/PDDPPLII3Tu3Jm5c+cSHx/PRx995LdMS0pK+OKLL5g1axbDhg2jd+/efPvttyQlJbFu3ToArr/+er766itGjBhBmzZtuPnmm3nhhRf45RenGMh+1quuUBX0eoiEhEb9NitSF3Jp6uTJWetD8Q04h4pfY7yvEA/kCP055vN8f+VyeWVxHZgEKjs762mpW8XcRoLRu1OoVsZK4s3evSafy/eop7HQ5x7zs22KWWByKL67K47yXJryLL6kBX4bCKvP/J41VbZvKj3NHcVn39TQXxo4xVVU+1xlVLkocy7kEniB7SFR24oyqlzqnkWLFqHT6fj333/54IMPmDNnDp9//rli3pKSEgRBICIiwuv1ysvLGTx4MFlZWaxYsYJ9+/bx0ksvITr5IDp58iTLly9n5cqVrFy5ko0bN/Lee+/5XeaUlBRycnIYMWKEPS0oKIjBgwezdetWe9qVV17JkiVLKCwsRBRFFi9ejMFgYMiQIQDs2bOHzMxMNBoNvXv3JjY2lpEjR3qYdR86dIipU6fy9ddfo9F4qnvbtm1j8ODBBAU5Qglfd911ZGVlkZqaak/76quvOHnyJG+++abfdXVn165d7Nmzh/79+7vc31kWtvvbZGE0Gtm9e7dHnhEjRtjz+CPT3bt3YzKZXPLExcXRrVs3F7m7U1JSQmSke7zi6utVV6huJeshZklL55/UuRN3tGaBzj+duZrzjFM4pAAfCnpgHaxanwtqIpfq4kT7gxxSznPfdJzPYO5nh2vL8rweq6v2UpecrdKEFcttdW3JLkySmfWle8g2eT6jgIAAFndKhL+6yglia5B8xB1UwskwILQWVgKB9TAucH1sK/UBVS7KnCu59MX/EIPnG7WtKGOTS8AdAdVnrgeYRANFxnM/ido4MI4ATVD1Ga3Ex8czZ84cBEGgY8eOJCUlMWfOHB599FGXfFVVVbzyyivcc889NGrkPeLI999/T15eHjt37rQrZe3atXPJI4oiCxcuJCwsDJBN0f/66y/eeecdv8qckyNbazVr1swlvVmzZqSlOSwFlyxZwl133UVUVBQ6nY7Q0FCWLVtG27ZtAUhOlsPXTJkyhdmzZ5OQkMCsWbMYPHgwx44dIzIyEoPBwN13382MGTNo2bKl/Rz38iQkJHiUxXasdevWHD9+nFdeeYXNmzej09VMZRw4cCAajQaj0YjJZOKxxx5j3LhxLvdXkoVNTvn5+VgsFp95/JFpTk4OgYGBNG7c2Ot13Dl58iTz5s1j1qxZNa5XXaEq6PWQFntFymMkGpwGQVI/eDYkQaKiGZesXJqYlU2OL2W5tPERc/hSkktYpbxE80Xe7wC0CGyimE8URWLKwzgtSEg2mZiuAKo3Zwe4riyXpubqfS9caFxKbaUmqHJRRpWLJ6pMlLHJRRRFxVXM+kaRMYvFGZPO+X3HtHiXpsGtq89o5YorrkAQHO1swIABzJo1C4vFglYreyo0mUyMGTMGURRZsGCBPe/48eP59ttv7b/Ly8tJTEykd+/ePldMExIS7Mo5QGxsLLm5Nfch41xukM20ndMmT55MUVER69atIzo6muXLlzN69Gg2b95M9+7d7av6r732Grfffjsgr3K3aNGCpUuX8vjjjzNp0iQ6d+7MfffdV+Oy2NItFgv33HMPb731Fh06dFA8f/PmzYwcOdL++5NPPmHQoEGAPNHQuXNnTCYTSUlJPPPMMzRu3NjF6qA6WdRlHne85cnKyuL6669n9OjRPPLIIx7H/alXXaAq6PWQhCo9aaMkOi0V0Naf7ZrnHVELaUPrVi5CPVzN80YLk7LToLMhl4uBS0kukp8DYovFwtC0tiwTzNydn8Wy4liKGzcGP/dhX4zKOVxabaUmqHJRRpWLJ6pMlLHJpavFckEo6I0D4xjT4t3zct+6xGQyceedd5KSksL69etdVs+nTp3qsSc7JCSk2msGBLhaQQiC4GICXx0xMTGAvKIbGxtrT8/NzbWvAJ88eZIPP/yQAwcO0LWrbOnWs2dPNm/ezPz58/n444/t53bp0sV+jaCgINq0aWPfZ79+/XqSkpLs3t9tind0dDSvvfYab731FjExMR4ryLYJh2bNmlFWVsauXbvYu3cvTz31FCBPNEmShE6nY82aNQwYMIDExET7+c2aNaOgQLbei4+Pt1shdO7cmeTkZF5//XWmTJlCcHCw1/vbZBEdHY1Wq/WZxx+ZxsTEYDQaKSoqcllFz83NZeDAgS7XzsrKYujQoQwYMIBPP/0UJaqrV12hKuj1kIALw7L6oiAIdSShcm4Io5IyQs/KtWs6zRRjMtDWWMmAHUX80aHBWSmTioqKisqFRYAmqEYr2eeL7du3e/xu3749Wq3WrpwfP36cDRs2EBUV5ZK3adOmNG3a1CWtR48efP755xQWFla777i2tG7dmpiYGNauXUvv3r0BeZ/1xo0bef/99wHZCz3gMZmj1WrtkwF9+vQhKCiIo0ePcuWVVwLyhERqaiqtWrUCZC/ver3Df8/OnTt56KGH2Lx5s91UfsCAAbz66qsYjUYCAwMBWLNmDXFxcSQkJCBJEklJSS7lWLBgAevXr+enn36yhyRz3wpgU9Dd0Wq1mM1mjEYjwcHBDBgwgLVr1/Lcc8/Z86xZs8auNAcGBtKnTx/Wrl3L//3f/9nzrF27lltuucVvmfbp04eAgAC780CA7OxsDhw4wH//+1/7dTMzMxk6dCh9+vThq6++8ntCzb1edYWqoNdDNBJq4B8VlYuMQCxEcXa86Ossyj1GhaWKDGMeHUPivZ/8V8OzUiYVFRUVFZWzwalTp5g4cSKPP/44e/bsse8XNpvN3HHHHezZs4eVK1disVjsK7CRkZF2RdSdu+++m+nTp3Prrbfy7rvvEhsby969e4mLi/Pbc3l5eTknTjj8RqSkpJCYmEhkZCQtW7ZEEAQmTJjA9OnTad++Pe3bt2f69OmEhobaQ6R16tSJdu3a8fjjjzNz5kyioqJYvnw5a9euZeXKlQA0atSI8ePH8+abbxIfH0+rVq2YMWMGAKNHjwawK+E28vPzAXnF1+Ysz2a+/sADD/Dqq69y/Phxpk+fzhtvvGGP9d2tWzeX6zRt2pTg4GCPdCUKCgrIycnBbDaTlJTE//73P4YOHWq3Znj22We5+uqref/997nlllv49ddfWbduHVu2bLFfY+LEiYwdO5a+ffvaV7XT09MZP348gF8yDQ8P5+GHH+b5558nKiqKyMhIXnjhBbp3786wYcMAeeV8yJAhtGzZkpkzZ5KX5/BvZFul97dedYWqoNdHJAhSI60pospFGVUuylwqcglAQiwRwW3r+czsxRyuSmNxO9n7qiAIlATp7SvurdMruLfo1LktbD3lUmkrNUWVizKqXDxRZaJMUInnHlmVM2PcuHHo9Xr69euHVqvl6aef5rHHHiMtLY0VK1YA0KtXL5dzNmzYYPeE7k5gYCBr1qzh+eefZ9SoUZjNZrp06cL8+fP9LtOuXbsYOnSo/ffEiRMBuP/++1m4cCEAL730Enq9nieeeIKioiL69+/PmjVr7HvbAwICWLVqFa+88go33XQT5eXltGvXjkWLFjFq1Cj7tWfMmIFOp2Ps2LHo9Xr69+/P+vXrPRyh+cIWku7JJ5+kb9++NG7cmIkTJ9rLfabYlF+tVktsbCyjRo1ycag3cOBAFi9ezOTJk3n99ddp27YtS5YscfGIftddd1FQUMDUqVPJzs6mW7durFq1ym4pANXLFGDOnDnodDruvPNO9Ho91157LQsXLrT7K1izZg0nTpzgxIkTtGjRwqUe7iHnqqtXXSFI7ndWAaC0tJTw8HBKSkrqfFakOnbfs5pwUY3LoaKi4j+vX94B6ZbFgOwkLsOYR2NtGEWWMruCbhT1jEv+L/Fz/o/HC3zHl1dRUVFRqRvaLb7pvNzX21i2qqqKlJQUWrduXadmueeCIUOG0KtXL5d42SoqFzJK72P991hxCdIAI0VtJESNOnfijKiRVLkooMpFmUtNLlKGFtJjvB5PM5zmgRMzaH+wA8PLa+559mLmUmsr/qLKRRlVLp6oMlHGLpcaOBNTUVFR8VtBLy4u5o8//mDVqlUUFhaezTJd8kgayOovIanTJy6oclFGlYsyl6RcfrvW66F9lSfQVAXRl1BaWbyHp7sUuSTbih+oclFGlYsnqkyUscnFYlG9/6qoqPiPX3vQt2zZwi233IIgCBgMBgICAvjll1+87uVQOTPUnUoqKip1gXNfYhaNoMYnVlFRUVG5gPn777/PdxFUVM46fs11Tpw4kffee4/8/HwKCwu5/fbbmTBhwlku2qWLOoRWUVGpKYGiY4WmwqL3OJ5UugYE1fxURUVFRUVFRaU+46KgT5kyBZPJ0znZiRMnGDduHCB7GBwzZgzJycnnpoSXIIIEDbLVsbQ7qlyUUeWizKUml5tLcux/F1nKPY5XWkqQTjVDnxt4ycjEXy61tuIvqlyUUeXiiSoTZexyUb24q6io1AAXBf3XX3+le/fubNq0ySVTjx49eP/996moqCA3N5f58+fTvXv3c1rQSwmNRSDhbw0ai9qhO6PKRRlVLspcanJpJJqrzWM50YbcHZGXjEz85VJrK/6iykUZVS6eqDJRxiYXnU6NaqyiouI/Lgr6rl27eOihhxg1ahSPPvooRUVFAMybN4+vv/6aRo0aERsby969e2sUG1ClZogaidxuouoN1Q1VLsqoclFGlQvgtmqjEWMI71B2actEAbWtKKPKRRlVLp6oMlHGJhfVSZyKikpNcFHQtVotL730EklJSZw6dYrOnTvzww8/0L17d44cOcL+/fvZt28fx44do1evXuepyBc/kgbyuqN6Q3VDlYsyqlyUudTk0sbo6Zm90Fzq8lsjSkR0qLhkZOIvl1pb8RdVLsqocvFElcn/s3fe8VFU2wP/zpZsNr03SE8g9CoQUCD0IoIoUhRBEfFheYr8EAE1Ik2lqVgRHygiPOWJCshLEGmPXgWE0DuhBkIKSXZ3fn9sdpLJziabkFDn+/lE2Tt3Zs490+6599xzlLHpRU2zpqKiUh4UX6XR0dGsWLGC6dOn89prr9G1a1dOnz5NnTp1qFu3Lnq9/lbLyWeffSYlcG/SpAnr1q0rtf6aNWto0qQJrq6uxMTE8MUXX9wiSVVUVFRuDzqxjE7guVsjh4qKioqKioqKSsUodaxzwIAB7N+/n7CwMOrVq8eHH354W0YBFy1axKuvvsrYsWPZuXMnDz30EF27duXkyZOK9Y8dO0a3bt146KGH2LlzJ2PGjOGVV15h8eLFt1hyFRUVlVvHg1mX4caTILrZbcvOjbsNEqmoqKioqNzdJCcnq57DKrcUmYGemZnJ888/T1hYGH5+fvTo0YOMjAzmzJnD0qVL+eabb2jcuDFbt269pUJOnz6dIUOG8Nxzz1GrVi1mzpxJeHg4n3/+uWL9L774goiICGbOnEmtWrV47rnnePbZZ5k6deotlbuiCCL4HFGjoZZE1Ysyql6UuR/1oqOwsZZAu22XLjyCxnT/6cQZ7sd7xRlUvSij6sUeVSfK2PSi0ai+/7eK5ORkEhIScHd3x9fXlw4dOrB58+YqP+/atWvp0aMHYWFhCILAkiVL7OqIokhycjJhYWEYjUbatm3Lvn37ZHXS09MZOHAgISEhuLu707hxY3766Se7Yy1btozmzZtjNBoJCAigd+/einJdvnyZ6tWrIwgCV69elW3bs2cPbdq0wWg0Uq1aNcaPH48oFj3Eq1evRhAEu78DBw441MPx48dldV1cXIiLi2PChAmyYwMsXryY2rVrYzAYqF27Nj///LPd8cryoHZGp8OGDSM2Nhaj0UhgYCA9e/aUteH48eMMGTKE6OhojEYjsbGxvPPOO+Tn5yu2sVOnTmi1WjZt2uRQDzeLLKzkiy++yJYtW5g2bRru7u58/PHH9OjRg3379tGmTRt2797NxIkTadOmDUOHDuWjjz6qMsFs5Ofns337dkaPHi0r79SpExs2bFDcZ+PGjXTq1ElW1rlzZ+bMmUNBQYGii35eXh55eXnS78xM69rNgoICKfWcRqNBq9ViNptlngS2cpPJJLv5tFotGo3GYXnJlHa2KJ+iACE7BEQBzDoRjQkQwKKVy6w1CYiCqFhu0YiytWCCaI0m6rBcKyIWiyclWEBjcVxu1skfMo0ZBFG5HBEsJQKYVqRNiHK93AttqpTrZBYI3Y6kl3uiTZV0ncK2CFh0yLbd7W0q7ToJWgs6ixnMABpMWguCaH2P6UQzva5dImSHULrsd1ibbtV1CtlhfccA90ybiste0TbZ3rmiIN4zbSpeXpE2lfxG3wttqozr5Og7dDe3qTKuU7UtGiwWi6zfaOvvmUzy7BuOyvV6PRaLPNicIAjodDqH5WazWTF18r1OjRo1mDVrFjExMeTm5jJjxgw6derE4cOHCQy0H7yuLLKzs2nQoAHPPPMMjz32mGKdDz74gOnTpzN37lxq1KjBhAkT6NixI2lpaXh6egIwcOBArl27xq+//kpAQAALFiygb9++bNu2jUaNGgFWw3bo0KFMmjSJdu3aIYoie/bsUTznkCFDqF+/PmfOnJGVZ2Zm0rFjR5KSkti6dSsHDx5k8ODBuLu78/rrr8vqpqWl4eXlJf12Ro8rV66kTp065OXlsX79ep577jlCQ0MZMmQIYLXV+vbty3vvvcejjz7Kzz//zBNPPMH69etp3rw5UORB/dlnn9GqVSu+/PJLunbtyt9//01ERITTOm3SpAlPPvkkERERXLlyheTkZDp16sSxY8fQarUcOHAAi8XCl19+SVxcHHv37mXo0KFkZ2fbTe6ePHmSjRs38tJLLzFnzhxatGhRpi4qgiAWsxz9/Pz4/vvv6dq1KwAXLlwgNDSUQ4cOERMTI+104MABhg0bxpo1a6pEqOKcPXuWatWq8b///Y+WLVtK5ZMmTWLevHmkpaXZ7VOjRg0GDx7MmDFjpLINGzbQqlUrzp49S2hoqN0+ycnJvPvuu3blCxYswM3N6i4aERFBo0aN2Llzp8y9vmbNmiQkJLBhwwYuXrwolTds2JDIyEhWrVrF9evXpfLExESCgoJYtmyZ7CWclJSE0Whk+fLlMhkSfhQocIMj3YsZGQVQ6ycNWSEiJ5KKyg3XIG65howYkbPNi8rdz0HUag0X6lq4WCxDns8R68fjTDMLV2OLygP3QNBeDcfbWsgupq6wzQK+RwUOd7OQ511UHvmngEe6wP7HLViKjX/ELhPQ58CBPvKPVkXadDnOQvoDRce4F9pUGdcpYL/AoYdFTMW8mu/2NlXGdYpZAZdrwLWiV9dd36byXKcCwcxPtfcQkuVJ0okiYTT5UHOJwLVI7ro2VfV1CtgHwX/dW226F6+T2qY7r02h2wWOdBHJL+rD3/VtqozrFL4GrleHrJo6p/p73bp1Izc3lz///FMq0+l0dO/enQsXLrBx40ap3NPTk3bt2nHixAl27dpVJGNgIC1btuTAgQPs3LmTAQMGcO3aNZmBdePGDY4dOybNTN5NtG3blrp16wIwf/58tFot//jHP3jvvfcU881nZmbi7e3NypUrad++vcPjnj59mpEjR5KSkkJeXh61atXi008/pXnz5iQnJ7NkyRJef/113nrrLTIyMujatSuzZ8+WjMDiCILAzz//TK9evaQyURQJCwvj1Vdf5Y033gCsk4PBwcG8//77DBs2DAAPDw8+//xzBg4cKO3r7+/PBx98wJAhQzCZTERFRfHuu+9Kxq4jPv/8cxYtWsTbb79N+/btycjIwMfHR9r25ptvcv78eQwGAwBTpkzhk08+4fTp0wiCwOrVq0lKSpLtVxbHjx8nOjqanTt3ypYFtG/fnoSEBCkLWN++fcnMzOT333+X6nTp0gVfX19++OEHAJo3b07jxo1lHtO1atWiV69eTJ482WmdluSvv/6iQYMGHD58mNjYWMU6H374IZ9//jlHjx6Vlb/77rscOHCAd955h2bNmnHu3Dnc3d2d0o0jlJ5HmYEeHR3N66+/zksvvQTApk2baNmyJRcvXsTf3/+mTl5RbAb6hg0bSExMlMonTpzId999p+hmUaNGDZ555hnefPNNqex///sfDz74IOfOnSMkJMRuH6UZ9PDwcC5duiS91G7VDPr+Z37l0KMQ/7N1xPduGSWu6pFvk95C2uNFerkX2lQZ10nUWDsuNr3cC22qjOskIpLWB5le7vY2OXOdFreO4rG1xwF4J3knggjfRo3hmTVHGbLgNJk9s0j4UZDunbuhTcWpiutk1okcehRqLAZ9vuaeaFNJ2SvSJpte4n8GfZ5wT7SpZHlF2lRgEGXf6HuhTTd7nUTB8Xfobm1TZVwnURBJexw6duwo8968VTPoV69eJSAg4J4z0Ldv386QIUP4xz/+wbZt23j++eeZOXMmQ4cOldXNz8/n448/ZsKECRw+fJiAgADFY2ZlZdGgQQOqVavGpEmTCAkJYceOHYSHh5OYmEhycjLTpk2jU6dOvPvuu2RkZPDEE0/w7LPPMnHiRLvjKRnoR48eJTY2lh07dkgz4QA9e/bEx8eHefPmAVYjVafT8e233+Lj48O///1vnnvuOXbv3k1sbCxbtmyhefPmfPPNN3z88cekp6fTsGFDpk6dSp06daTj/v3337Rv357Nmzdz9OhRO0P76aef5tq1a/zyyy/SPjt37qRx48YcPXqU6OhoyUCPiorixo0b1K5dm3HjxpGUlOTw+igZ6Nu2baNjx4589NFHPP3004B10vO1117jtddek/adMWMGM2fO5MSJE+Tn5+Pm5saPP/7Io48+KtX55z//ya5du1izZo3TOi1OdnY248aN45dffuHAgQO4uLgotmPcuHGsWLGCbdu2SWWiKBIdHc2nn35K9+7dadq0KS+++CLPPPOMQ304g9LzKHvdjRo1ildeeYVly5bh7u5OSkoKgwcPvm3GOUBAQABarZb09HRZ+YULFwgODlbcJyQkRLG+Tqdz2BaDwSCNIBVHr9fbucRrtVq0Wq1dXduL1dlyR9HwrR83UfrwAyCC1mRfVxAFxXKNRQCFeH4Oy832o46llRc3eJwrVygsZ5sEUUEv3N1tqozrZC7MO1tSL7YyJe70NpVW7mybzDpQul+wFt+VbSoqVygsbFPn/52V7ScK1neNSdDiajJjS7x2N7WpJFVznURrPbvy4jLebW0qu7zsNomFA6JCYblC5buuTSXLFQrLbJP83XJvtKmELOVok80wVXrf3q1tgpu/TrbvkFJfEhz3A5XKNRqN4lp2R+VarbbcWZfyLAWczb9Urn0qgzCXAAwa52UNDw9nxowZCIJAzZo12bNnDzNmzJAM9KVLl9KvXz9ycnIIDQ0lNTXVoXEOVm/ZixcvsnXrVvz8/ACIi5MHVrVYLMydO1fmiv7HH38oGuhK2OySkrZLcHAwJ06ckH4vWrSIvn374u/vj06nw83NjZ9//lma6bXN6CYnJzN9+nSioqKYNm0abdq04eDBg/j5+ZGXl0f//v358MMPiYiIsJsFtskTFRVlJ4ttW3R0NKGhoXz11Vc0adKEvLw8vvvuO9q3b8/q1atp3bp1qe1t2bIlGo2G/Px8CgoKeP755yXj3HYOJV3Y9HTp0iXMZnOpdZzVKVjXso8aNYrs7GwSEhJITU11aJwfOXKETz75hGnTpsnKV65cSU5ODp07dwbgqaeeYs6cOTdtoCshsxz/8Y9/UKdOHZYvX86NGzf4+uuveeKJJyr9pOXBxcWFJk2akJqaKhtBSU1NpWfPnor7JCYm8ttvv8nKUlJSaNq06W1JEaeioqJyq/DOK+aZIwIC5Oy7xAP7M/Cz3ODCbZNMRUVFReVO5mz+Jd48/dUtP+/k6s8T7Wq//NQRLVq0kLmzJyYmMm3aNMxmM1qtlqSkJHbt2sWlS5eYPXs2TzzxBJs3byYoKIgXXniB+fPnS/tmZWWxa9cuGjVqJBnnSkRFRcnc2UNDQ7lwofxf1JJu+KIoysrGjRtHRkYGK1euJCAggCVLltCnTx/WrVtHvXr1JA/esWPHSmvd//Wvf1G9enV+/PFHhg0bxptvvkmtWrV46qmnyi1L8fKaNWtSs2ZNaXtiYiKnTp1i6tSptG7dmnXr1knLogG+/PJLWrVqBVgHGmrVqkVBQQF79uzhlVdewdfXlylTpjiti8qs8+STT9KxY0fOnTvH1KlTeeKJJ/jf//5n50Fy9uxZunTpQp8+fXjuuedk2+bMmUPfvn2lidf+/fvzf//3f6Slpcn0VBnYTe22bt26zFGRW82IESMYOHAgTZs2JTExka+++oqTJ0/ywgsvAPDmm29y5swZvv32WwBeeOEFZs2axYgRIxg6dCgbN25kzpw50pqGOx3BYl3nJNz6jHZ3NKpelFH1ooyqF2BzA2ixm7PvbaQnYNGoOlFCvVeUUfWijKoXe1SdKGPTi+bhuyOKe5hLAJOrP39bzluZuLu7ExcXR1xcHC1atCA+Pp45c+bw5ptvMn78eEaOHCmrbzQayzxmyQk+QRDKlXratrw2PT1dFguruEfwkSNHmDVrFnv37pXc1Rs0aMC6dev49NNP+eKLL6R9a9euLR3DYDAQExMjxcdatWoVe/bskaK/2wzvgIAAxo4dy7vvvuvQ2xjsZ6SL06JFC2mAo2nTprL4B8HBwVy+fBmwejnYvBBq1arF0aNHeeutt0hOTsbV1dXh+W3ndsaD2hmd2vD29sbb25v4+HhatGiBr68vP//8M/3795fqnD17lqSkJMnWLM6VK1dYsmQJBQUFsjXxZrOZb775hvfff9+hziqCsu/1HUbfvn25fPky48eP59y5c9StW5fly5cTGRkJwLlz52RB26Kjo1m+fDmvvfYan376KWFhYXz88ccOoyreaZhFDUF7xbIr3mdoLAJBe5Xdyu5nVL0oo+oFOB0C7JZ+qjpRRtWLMqpelFH1Yo+qE2VselFaFnknYtDoyzWTfbsomd5q06ZNxMfHO9SzKIpSnKmgoCCCgoJk2+vXr8/XX3/NlStXSp1Fvxmio6MJCQkhNTVVWi+dn5/PmjVrJOMuJycHwG7JglarlQYDmjRpgsFgIC0tjQcffBCwZmo5fvy4ZBctXryY3Nxcaf+tW7fy7LPPsm7dOslVPjExkTFjxpCfny+5eqekpBAWFmbn+l6cnTt3Ssaw0Wi0WwpgM9BLYovVlZ+fj6urK4mJiaSmpsrWoKekpEgBwZ3xoHZGp44ofk8AnDlzhqSkJJo0acK//vUvu2vw/fffU716dbv0eX/88QeTJ09m4sSJDpc0V4S7wkAHGD58OMOHD1fcNnfuXLuyNm3asGPHjiqWqmpI9zBgbpJDxDrB4Tqn+xGLVuTkQ6KqlxKoelFG1Ys9qk6UUfWijKoXZVS92KPqRBmbXqJMpkrtvN/vnDp1ihEjRjBs2DB27NghrRfOzs5m4sSJPPLII4SGhnL58mU+++wzTp8+TZ8+fRwer3///kyaNEmKDh4aGsrOnTsJCwuTBagujaysLA4fPiz9PnbsGLt27cLPz4+IiAgEQeDVV19l0qRJxMfHEx8fz6RJk3Bzc2PAgAEAJCQkEBcXx7Bhw5g6dSr+/v4sWbKE1NRUli5dCoCXlxcvvPAC77zzDuHh4URGRvLhhx8CSG0sGZn80iVrXIFatWpJQeIGDBjAu+++K2W9OnToEJMmTeLtt9+W3MNnzpxJVFQUderUIT8/n/nz57N48WIWL15cpj4uX75Meno6JpOJPXv28NFHH5GUlCQFK/znP/9J69atef/99+nZsye//PILK1euZP369dIxyvKgdkanR48eZdGiRXTq1InAwEDOnDnD+++/j9FopFu3boB15rxt27ZEREQwdepUWUYu2yz9nDlzePzxx6UMAjYiIyN54403WLZsmcOl1xVBfVvcgaS7GXALzZFFCFWxBrvKDkXVSwlUvSij6gXcC8xkF/ut6kQZVS/KqHpRRtWLPapOlJH0IqpekZXJ008/TW5uLs2aNUOr1fLyyy/z/PPPk5eXx4EDB5g3bx6XLl3C39+fBx54gHXr1skinJfExcWFlJQUXn/9dbp164bJZKJ27dpSSjBn2LZtmyy6+YgRIwAYNGiQNJE4atQocnNzGT58OBkZGTRv3pyUlBRpbbter2f58uWMHj2aHj16kJWVRVxcHPPmzZOMSbCmANPpdAwcOJDc3FyaN2/OqlWr8PX1dVpeb29vUlNTefHFF2natCm+vr6MGDFCkhuss9EjR47kzJkzGI1G6tSpw7Jly2SyOKJDhw6AdeY8NDSUbt26yQLqtWzZkoULFzJu3DjeeustYmNjWbRokZQDHcr2oHZGp66urqxbt46ZM2eSkZFBcHAwrVu3ZsOGDZInRUpKCocPH+bw4cNUr15d1g5RFNm+fTu7d+9m9uzZdu309PSkU6dOzJkzp1INdFmaNZUibHkTS6amuBX88M/1uLW7TMKPCtGn72PMOpEDfURVLyVQ9aKMqheYXtuXKwP+YMK4xoCqE0eoelFG1Ysyql7sUXWijE0v3bp1uy1Bih31Ze/2NGsNGzZk5syZt1sUFZVKQel5vDuiVtxniNwda5VUVFRUVFRUVFRUVFRUKg/VQL8T0QiEbRbUaKglECyoelFA1Ysyql7AP0+eCFjViTKqXpRR9aKMqhd7VJ0oY9PL3RIkTkVF5c6gQmvQn332WcLCwvjnP/9JYGBgZcukYhTwPaq6iJVEYxHwPXq7pbjzUPWijKoXGHTkOuM2NZB+qzpRRtWLMqpelFH1Yo+qE2VseikZEVql4qxevfp2i6CiUuVU6I0xd+5cJk2aRGxsLG+99VZly3TfI2otHO5mwaxTwwMUx6wTVb0ooOpFGVUvhWwvijiq6kQZVS/KqHpRRtWLPapOlLHpxWQylV1ZRUVFpZAKzaAfO3aMrKws1qxZo45kVRF53rdbgjsTVS/KqHpRRtWLPapOlFH1ooyqF2VUvdij6kSZPG81iruKikr5qJCBbgtvX6dOHYe5yVUqTp6ngMftFkJFRUVFRUVFRUVFRUXlluLQxb2s0b7MzMxKF0bFSq46Cq2ioqKioqKioqKionLf4dBAb9++PRcuXFDctnXrVho1alRlQt3viBaI/FNAY77dktxZaMyqXpRQ9aKMqhd7VJ0oo+pFGVUvyqh6sUfViTI2vahR3FVUVMqDQwP977//pkGDBqxatUpW/tFHH/Hggw/i7+9f5cLdtwgCHukCgqhGci+OIKp6UULVizKqXuxRdaKMqhdlVL0oo+rFHlUnytj0okZxV1FRKQ8O3xi7d++mdu3adO7cmeTkZC5fvkyvXr147bXXGDZsGOvXr7+Vct5XZHpr2f+4Gg21JGadqOpFAVUvyqh6sUfViTKqXpRR9aKMqhd7VJ0oY9NLQUHB7RZF5SZITk6mYcOGt1sMlfsIhwZ6cHAwK1euZMyYMUycOJHq1auzdu1afvrpJz7++GNcXFxupZz3FQdjPLDob7cUdyaqXpRR9aKMqheIy8uS/VZ1ooyqF2VUvSij6sUeVSfKqHq5tQwePBhBEGR/LVq0qPLzrl27lh49ehAWFoYgCCxZssSujiiKJCcnExYWhtFopG3btuzbt09WJz09nYEDBxISEoK7uzuNGzfmp59+ktU5ePAgPXv2JCAgAC8vL1q1asWff/4pq3Py5El69OiBu7s7AQEBvPLKK+Tn58vq7NmzhzZt2mA0GqlWrRrjx4+XxSA7d+4cAwYMoGbNmmg0Gl599VWndFH8Guj1emJiYhg5ciTZ2dmVKt/q1avtrrUgCBw4cECq07ZtW8U63bt3l+p8/vnn1K9fHy8vL7y8vEhMTOT333+XyVL8OBqNhuDgYPr06cOJEyec0kl5KdXnRhAE/P390Wg05OXlERwcTO3atatEEJUiBKPldougoqJyjzD4yqnbLYKKioqKisoto0uXLpw7d076W758eZWfMzs7mwYNGjBr1iyHdT744AOmT5/OrFmz2Lp1KyEhIXTs2JHr169LdQYOHEhaWhq//vore/bsoXfv3vTt25edO3dKdbp3747JZGLVqlVs376dhg0b8vDDD5Oeng6A2Wyme/fuZGdns379ehYuXMjixYt5/fXXpWNkZmbSsWNHwsLC2Lp1K5988glTp05l+vTpUp28vDwCAwMZO3YsDRo0KJc+bNfg6NGjTJgwgc8++4yRI0dWqnw20tLSZNc7Pj5e2vaf//xHtm3v3r1otVr69Okj1alevTpTpkxh27ZtbNu2jXbt2tGzZ0+7wZOhQ4dy7tw5zpw5wy+//MKpU6d46qmnyqUXZ3FooF+/fp0+ffrw2muvMXToULZu3QrAAw88wHfffVclwqhY0WtUA11FRUVFRUVFRUWlOG3btuWll17ipZdewsfHB39/f8aNGyebWTUYDISEhEh/fn5+ZR739OnT9OvXDz8/P9zd3WnatCmbN2+W1fnuu++IiorC29ubfv36yQzrrl27MmHCBHr37q14fFEUmTlzJmPHjqV3797UrVuXefPmkZOTw4IFC6R6Gzdu5OWXX6ZZs2bExMQwbtw4fHx82LFjBwCXLl3i8OHDjB49mvr16xMfH8+UKVPIycmRDMqUlBT+/vtv5s+fT6NGjejQoQPTpk1j9uzZUhau77//nhs3bjB37lzq1q1L7969GTNmDNOnT5d0GRUVxUcffcTTTz+Nt3f5UkzZrkF4eDgDBgzgySeflLwKKks+G0FBQbLrXTwoo5+fn2xbamoqbm5uMgO9R48edOvWjRo1alCjRg0mTpyIh4cHmzZtkp3Hzc2NkJAQQkNDadGiBS+++KJ0XSobhwZ648aNSUlJYeHChcyaNYsmTZqwfft2evXqxaBBgxgyZEiVCKQCJo2G2GVqNNSSaMyoelFA1Ysyql7sUXWijKoXZVS9KKPqxR5VJ8rY9KLT6W63KPcU8+bNQ6fTsXnzZj7++GNmzJjB119/LW1fvXo1QUFB1KhRg6FDhzrMSmUjKyuLNm3acPbsWX799Vd2797NqFGjsFiKJsyOHDnCkiVLWLp0KUuXLmXNmjVMmTLFaZmPHTtGeno6nTp1ksoMBgNt2rRhw4YNUtmDDz7IokWLuHLlChaLhYULF5KXl0fbtm0B8Pf3p1atWnz77bdkZ2djMpn48ssvCQ4OpkmTJoDVyK9bty5hYWHScTt37kxeXh7bt2+X6rRp0waDwSCrc/bsWY4fP+50u5zFaDRKsRgqW75GjRoRGhpK+/bt7Vz9SzJnzhz69euHu7u74naz2czChQvJzs4mMTHR4XGuXLnCjz/+SPPmzUs9X0Vx+Mbw9PTk999/Jy4uTipzc3Pju+++o02bNvzzn/9kzpw5VSKUCuhzADXWihxR1Ysiql6UUfVij6oTZVS9KKPqRRlVL/aoOlHGppe7hDyLhbN5+WVXrGTCDC4YyhHpPjw8nBkzZiAIAjVr1mTPnj3MmDGDoUOH0rVrV/r06UNkZCTHjh3jrbfeol27dmzfvl1m7BVnwYIFXLx4ka1bt0qz7cXtHwCLxcLcuXPx9PQErK7of/zxBxMnTnRKZpv7eXBwsKw8ODhYto550aJF9O3bF39/f3Q6HW5ubvz888/ExsYC1uXHqamp9OzZE09PT2k99IoVK/Dx8ZHOVfI8vr6+uLi4SHKkp6cTFRVlJ4ttW3R0tFPtcoYtW7awYMEC2rdvX6nyhYaG8tVXX9GkSRPy8vL47rvvaN++PatXr6Z169aKcuzdu1fRft2zZw+JiYncuHEDDw8Pfv75Z7tl3Z999hlff/01oiiSk5NDjRo1+O9//1thvZSGQwN948aNDm/k55577pYEXLhfcUfHgT4iCT8KaE23W5o7B4sOVS8KqHpRRtWLPapOlFH1ooyqF2VUvdij6kQZm15iTCb0+js/WtzZvHzePHL6lp93cmx1oo2uTtdv0aIFglCU0i8xMZFp06ZhNpvp27evVF63bl2aNm1KZGQky5Yto3fv3rzwwgvMnz9fqpOVlcWuXbto1KhRqa7wUVFRknEOEBoaWubMvBLF5Qar63vxsnHjxpGRkcHKlSsJCAhgyZIl9OnTh3Xr1lGvXj1EUWT48OEEBQWxbt06jEYjX3/9NQ8//DBbt24lNDRU8TxK51KSxdG+Sqxbt46uXbtKv7/88kuefPJJAJYuXYqHhwcmk4mCggJ69uzJJ5984vDcFZGvZs2a1KxZU9qemJjIqVOnmDp1qqKBPmfOHOrWrUuzZs3sttWsWZNdu3Zx9epVFi9ezKBBg1izZo3MSH/yyScZO3YsAOfPn2fSpEl06tSJ7du3y+6NysChge7IOLdRt27dShVEpQi9oC27koqKioqKiorKPcBVLx0+maplf7sJM7gwObb6bTlvVREaGkpkZCSHDh0CYPz48VKwMhtGo7HM45QcYBEEQeYCXxYhISGAdfbXZkQDXLhwQZoZPnLkCLNmzWLv3r3UqVMHgAYNGrBu3To+/fRTvvjiC1atWsXSpUvJyMjAy8sLsM7spqamMm/ePEaPHk1ISIjd+vmMjAwKCgqkc4WEhEiz1cVlAftZfkc0bdqUXbt2Sb+L75eUlMTnn3+OXq8nLCxMpr+qlK9FixayARgbOTk5LFy4kPHjxyvu5+LiInlNNG3alK1bt/LRRx/x5ZdfSnW8vb2lOnFxccyZM4fQ0FAWLVrEc88951CmilDqohiz2czvv//O/v37yc3NlW0TBIG33nqrUoVRsaLBuZGr24mFMlIAqKioqKio3Aa+eCaKF/51/HaLoVIOfn6kgGfm3/l9n3sdg0ZTrpns20XJ4F2bNm0iPj5eFhzMxuXLlzl16pRkFAcFBREUFCSrU79+fb7++muuXLniVEC5ihAdHS0FKWvUqBEA+fn5rFmzhvfffx+wGpEAmhLu/lqtVhoMcFRHo9FIdRITE5k4cSLnzp2T2p2SkoLBYJDWqScmJjJmzBjy8/Ol1NkpKSmEhYXZuZY7wmg02i0FsOHu7u5wW1XKt3PnTtkAiI1///vf5OXlOR11XRRF8vLySq1ju99K2siVgUMD/fLlyzz00EMcOHAAQRAU3R5UA71q8NXf+cFENrRw58FN2WVXVFFRUVG5K9nW5DIeVE1ntSo5XU0+G1agFdCbb8/i6FNhroSfvXFbzn03cSQuHyjdc1NFxcapU6cYMWIEw4YNY8eOHXzyySdMmzaNrKwskpOTeeyxxwgNDeX48eOMGTOGgIAAHn30UYfH69+/P5MmTaJXr15MnjyZ0NBQdu7cSVhYWKmBwoqTlZXF4cOHpd/Hjh1j165d+Pn5ERERgSAIvPrqq0yaNIn4+Hji4+OZNGkSbm5uDBgwAICEhATi4uIYNmwYU6dOxd/fnyVLlpCamsrSpUsBq+Hq6+vLoEGDePvttzEajcyePZtjx45Jub07depE7dq1GThwIB9++CFXrlxh5MiRDB06VJp1HzBgAO+++y6DBw9mzJgxHDp0iEmTJvH222/LbD3bDHlWVhYXL15k165duLi43FTa7cqSb+bMmURFRVGnTh3y8/OZP38+ixcvZvHixXbnnDNnDr169cLf399u25gxY+jatSvh4eFcv36dhQsXsnr1alasWCGrl5OTI83qnz9/ngkTJuDq6ioL/FdZOLQEx44di6urKydOnCAyMpLNmzfj5+fHF198wdKlS1m5cmWlC6NipWewP/pkAc0d7O2V0kHkwU1l16tMNCZI+PHO1svtQNWLMqpe7FF1ooyqFweI4h2rl3ffqMk776c5VdeiFaASDfTy3C9LHg7m5a9OlF1RAYsAmrsk6Jr6DClj04vukTt/4uVu4umnnyY3N5dmzZqh1Wp5+eWXef7557lx4wZ79uzh22+/5erVq4SGhpKUlMSiRYtKXSPs4uJCSkoKr7/+Ot26dcNkMlG7dm0+/fRTp2Xatm0bSUlJ0u8RI0YAMGjQIObOnQvAqFGjyM3NZfjw4WRkZNC8eXNSUlIk2fR6PcuXL2f06NH06NGDrKws4uLimDdvHt26dQMgICCAFStWMHbsWNq1a0dBQQF16tThl19+kXKVa7Vali1bxvDhw2nVqhVGo5EBAwYwdepUST5vb29SU1N58cUXadq0Kb6+vowYMUKS24Ztth9g+/btLFiwgMjIyJuK9F5Z8uXn5zNy5EjOnDmD0WikTp06LFu2TNKVjYMHD7J+/XpSUlIU5Tl//jwDBw7k3LlzeHt7U79+fVasWEHHjh1l9WbPns3s2bMBa1C7+vXrs3z5ctk6+MpCEEsmkyskPj6ed955h/79+6PX69m6davkdvDyyy9z6dIlfvjhh0oX6E4hMzMTb29vrl27Jo3m3CpEUWTfsN8wXAdBvDNdvsa97c6E8bd2Bl0URPI8qRS93Esu+pWpl3sJVS/2qDpRRtWLMpuaX6Th/oAy9fLx89G88tWxMo+XVuM6NQ9WTiCdceNqMWHCfrvybDctk0fUkG3LcdXgdsP5taJlUdb9kh5oIOSi1TVy3IQdTBjXuELnWd3Kn7b/u3xTst4qlHSyubEPzXdcLXPfXFcNE0fnMiH53ptBt+mlzpc9nA68VZk46sveuHGDY8eOER0djavrne/SXpy2bdvSsGFDZs6cebtFUVGpFJSeR4c2yunTp4mKikKr1aLRaMjOLjLGevToQWpqatVLfJ9iMpk40l3EosaKk2HRUml6OakvOyDI3UJl6uVeQtWLPVWtkyz3u1PZd/u9srvOzQ8ir2npxbQXY+WFguCUXsyuq2S/d/Rfq1jvgRGV7wZYklyDtVsz59mDUplZKzDv6cOOdik3Zd0vh2OU8+veyyjp5Iqvk4G/ROk/9xw2vZhMqmuBioqK8zg00AMCArh27RoAYWFh7N27V9p25coV9WVzv6Ozn7lQUVG5v7nsbIdcpVLZ0cBHsXzOUxFsb1h2TuMf+h0ltZ0vGRW8fu4FOeS5mKXf2f7XGTdhB5+89LesXoBBWc7i/NzjJpNGF05SnqlWdJy/a3pyqEamw12uelWu+3GGT+nptPbUdnPqOEIFbdZstwLp3wVa52ZtT1ZTHrRe8kjFZ/Bz3Eof2VnTWh6h+Wxw5c2gf9s3kNNhd9fMsIqKiooNhwZ6kyZN2LdvHwDdunVj/PjxzJ8/n3//+9+MGTPmluVBz8jIYODAgXh7e+Pt7c3AgQO5evVqqfv85z//oXPnzgQEBCAIgiwFgEolobl0uyVQUblvySqj43u7uJ0zh2YBMrzv/DzDVYL2lPTPr4cUzRwfi3Ln515FAcqOxNyk8euASO9IZry2T/rdJfifAFRktcD2JmUPKJSGzaYtbtwu7WJNb/T9gCOK+9wwlO95Mt+kp7KzdvfZkLINzLUPXpP9HjdhBxm+N6fD4mxreoVPh0RVaN9L/i4s6+Q4HdK50ML7UQBXwUCmV+U9vwdruFCgu1cWsqkUZ/Xq1ap7u8o9j8O310svvYS3tzcA7733HiEhITz99NP069cPrVbLRx99dEsEHDBgALt27WLFihWsWLGCXbt2MXDgwFL3yc7OplWrVkyZMuWWyFgllMNB4ePnowHHI+W5rnfeR2pton0URWfQFJRd535E1Ysyd6JePns26raevyp1cjqscpaO3HCp2Dvr+z4Vz9+rpJcC3d2xHv1E9AHp38ejs/hfcz/S4qyDJS5CkdGT5WHi8xcO2O1fGs7cL1qNlixPE7r6vgD4uVRTrqgc8kaOk9PG7QOKZl/PhBUZpLYrVnxtuKi9AkC2e+V4/l31cSlVL+W5a0zFvtvmEm2/EGRg3LhasrJxE3aUecziAyOVcQebi8loKmVGXkknf5Wy/OK6Z+EOtmbfhJf7kZgiD4mL/tbrvLGZb8UPWIncid8hFRWVOxuHvaAOHTowbNgwAAIDA9m5cye7d+/mr7/+Yv/+/VUSsa4k+/fvZ8WKFXz99dckJiaSmJjI7NmzWbp0KWlpjqO3Dhw4kLfffpsOHTpUuYxVgV6vx3+NEa3JuU+rSafh7Qk7effNBN4ak2C3/e+alROUp7z82eOaw20mBx3fHY0yHO6jNQnU+kmD1iQw56kI1iVWPP2PWMFgLcci3FjdSj64UNyd8HZQXC8qRdypernuefPutN88FVGh/apcJ5V02D2VsKbaEaltA+3WbDvSS2V6BJgLv7bnAyvHjfdY1HXp3ya91bIpiLQe+/eOwXzXT/keOVM9B9daTr47RYtT94vNIPR6sQ5+fWriEnEz35yyg7lluRfgrS9671o0ZtJqyL83n0W+WvRDv10mp8PjejlnwP+vxbVKe45+eKzYYEbJw+nsjfHWng3Kdfz1Lfyk/x+Nvl5GbWVkYjkYZFF6hswagWx3neKgwicvaDgRZYttVH7LvKCE08PSh08XiVgYSv7vBC+nBjQAPh7m7XDb6lYVN/RtetHr71PvHhUVlQrhdE9REATq1atXlbLYsXHjRry9vWnevLlU1qJFC7y9vdmwYUOlDhLk5eXJEtJnZlpHYwsKCigosHYENBoNWq0Ws9mMxVLUibCVm0wmigfFtwXYc1RuO64Nnc56OfLz88kLMGHKsCCIhWlLBOwC0mhNAqIgkuWpwV/wIsNStAbQohERbcMvGhGLVkRjFuTlWCcrNGYBi1aUj7pbQGNxXK4zazDritqkMVtnLGRlWOVDBEuJO00URETBPsiOKJgVy7UmAYvWQlYIuF2AUxGu5Hls5aGNwRVqk1knYraIsvLisjtq0/9a+pIW60mb/12S2nQ8JpuEA95lXifFNjmSvRxtEkS4HiridrFo1qg8bbKVK12n29Wm0u49Z9skWESyg8B4WT6bdrvbpLOYJVkrcp02N/HlSoBe/qw52SZREMkJAs+zAqJApV6ndYn+CFiwaMRyt2lfgie1DhUZD3+09afpzoxyXSfMAoIoyo6v1CbB9tCAJLtNL+7poDVrpPLtjb2pcfR6ua/TRb8bBF9wlT1Pq1oH0GHVJQp02NXXmgQKdHAk2o34Y9my8pLXI8tdy5khOlJNp3jpM+vsaow2GIvWeswJoUNIPlJ0DI1oltqKRkRn1uCeVJ2ctMtSmwRBQGcxA9b3r9QmQSCzmoWCcBf8NhcQ9EJDFpz4Lz6XdDTeYR2o1Jggx09El6XB4iLg/Ui0FKMm12iStbWgsNyiEblhtGDI09hdJ514GrPOT15e4t6z6UO6floLoqbwuwfoLGa0FH2jCj9DaEX77xYi0jfBUnhtNCbIdTVjMFlvsi0PXKLZ1gDp3hO0eWRWc8XtgvX6l7xOAhbpm1vyvskKNCDqLmDRuiMKYNZbzylY5G0C0JKORrRukNpiKpSx8N4TBOzu+cv+NwhLd+O6Vz5rWvuxuo0/JkHDMwtOKN57oiAiauXPjq1NOrOAVrRYZRSt51R6RwiWou/Q0s6hCKJIeog1poHWIte7YIHzwUX9CIvejM4sYBucceb7ZNZZZbO9I0r2SQTtLrQFDaBYeWnv8kuBWuV3h1bE5Hoes07Pku6htNx4hdAL+Q7fh18/d5Bn5sYXKxfJCRLIy8tDoyk6sa2/VzKek6NyvV6PxWLBbC7q5wmCgE6nc1huNpvt+pkqKip3B2Ua6Pv27ePEiRPcuHHDblvv3r2rRCgb6enpBAUF2ZUHBQVJieIri8mTJ/Puu+/alaekpODmZg3oEhERQaNGjfjrr784efKkVKdmzZokJCSwZcsWLl68KJU3bNiQyMhI1q5dy/XrRZ3PxMREgoKCSElJkb2Ek5KSMBqNrFixAhpAWgMAkYIDV0k44suR7sU6FgVQ6yeB7GB47GQaEA0c4JreOoNyLQrONrfWd+UqJ70harXApdoiF4uNs/gcgWpbBM41EblaLIBv4B4I2itw8iGR7NCi8rDNAr5HodOxeA70KZIn8k8Bj3Q42EvEUjhQHIAHeZ6gz0FWF0A4a009UrJN4jHIDoYTSUXlhmsQt1wgIwbSm1rL+hw7wBWd9bpUpE15odnYHD1tbTrWSSSv2CC6UpsacYqzBbFYdMXb5MWBetZ8wQVu9m2yXSelNhW/TgDu58p3nQouulJvdR6n2thKxHK3CSB2maB4nW5Hm8q695xtU/R/4aSUkrRIntvdpi6XjnCgT8XaFLtMwKS33v+2Y5S3Tdb6kBlRudcpkEsEAteiyt+m7Q19EBoWuaj2SD+ERee4TSdr6slqVOTWbLgG0SsgRNzGgT5Fs8NKbQrlIhYXF9iLXZv890HIX0htasQpDvQpuk5/9xDQuBYNzjpqk88mocQ7AsK4iEUnYHETZeW2Nm1K8sQv4BoHCt9xeRYLjRfpOFu7gGv1ij7VrhfMdGnaGfetBg70sc4aN9/jzc5uOcQ0C0d38CJ9in2fToVYOFDjGq5hnuhCPelzoD5r2UVYsetUj0jqHbPukx1sbdO+PmY88edUNEA+7n8LmLEQ5h0E3nAg1tqGJier4XLjKH0O1Od/B9YAhUZGTXDXGGVtPb1lA5HYvk8Ctuey+HXqk1ZP2sfRveedJiBAsXeEdWnFtXzgGnQ6fYwVxw5A4TMSnG0g3QtaZcdzoE/R9bO99zKSbmD13dIAhe9yTzjWwSqHF/4cjBaotcD6fYo3enOqtfUYhmsifhtcEPzypecpivOcfMjaptqXgmU6iIgIouk6H443SedqLDxgOcmBPtbnyf9v+Xsv6XINNmus19j2PIVtEzjQR5TuPZ8wD9nxx/k+ifc/PNi+ZjOg5/HjVm/DH6MT8PP05kCfoj5H8XdEVqsc6ZtY/L3X52AMcIwDfazX6dpFb0KFq3bviJAdgvQdiuccALlXzez1C+Khk1EyGfPOuQEF9Dphu9YCPQ6B6GU1Mp39Phk36wi7ZM160/ZKDQ70EdEUwEbPUwTfgKQTp4H6HOgjlvkur30lR3b84vdeaJCOA31EEjhLbrQFLugcfp9qm6rJjlN9LZxuLXJm5UrF/t7y5ctlberWrRu5ubn8+eefUplOp6N79+5cunSJjRs3SuWenp60a9eOU6dOyWItBQYG0rJlSw4dOsTOnTtRUVG5+3CYB/3IkSM8/vjj/PXXXwCUrCYIgmzErjwkJycrGsPF2bp1KykpKcybN8/OnT0+Pp4hQ4YwevToUo9x/PhxoqOj2blzJw0bNiy1rtIMenh4OJcuXZJyR96qGfTc3FxSU1OJ/9k64runTgYN/vJ1OJP07ps1qeuzlb1XHwCg5/KNNPjLTxol3tXwCo12+t3U7Nj+Wleptd8HwQIn6+cz99H9vPVegyIdFI7mX/fU4JZrvS9W9bxGh/94y0a+f+l5kp6/RLC6lQvt1ubbtWlj8wu02hCk2FaT3kLa4/BztA6TYQdB510Z/lmC1KZ8nYBGtKA3CXZtWtU6gAa7Mwm6XIBFK/J7gyC6/HVB1lazTmRTE19abM+Qtan4qPoPj7uSFhvN+In7pTa999Zu3nqvgWwW871RNXnrA+t9+9VzabzwZU0sWpjyajyjZx6S2nQzM7Mz/xHDNS8XBi46Rf4DWdL9UrJNxanoDPreelep/beP7HqUZ7Z5Xt8IBi08WWUz6B8Pi+XhlNNEnczjp8eP8/hPUYiIpPVBppfibXL0POW4a3AtljO5smfQJ4+IZ/SMQ2W2yXadPvvHAS4H5PHCZw8QfCGfZR2D2dbUR7q/nGmTrdysEzn0qNWgFyyVO4O+tqU/ax4M4O0paeW+994enUDyh0Vro98bVZN3JqU5bNOe2h7UPih319WIAp8N288LXxUt81Fq058PBRB4MZ8Ge69Lstv0UmMx6POLZtB/6GOi/486qa3JyYcBE31+CuZYVBbdl1Uvcwb9hqsZ1xtaqU2nwwS8swtwz9Yx4x8xvPb5UbQmgbfGJvDkjyeJP5rN+mSRvelpvDirFtsbX+K3Lk0BF976II3rHjqaftENU14BR4b8DkDKFC2bcrbzcthjPGBMwGKx8MxRawyWWdGvMWbnJ7z6cR00zf2J/Eczsjae5eIXu6XrtKzPOXYkXKC5e226/J8eQRRIfncXXVZUxzPKj6CTLgRssM6gvx76A21+D6TZ1gAAvJpVY8Hjh9l5/SAzI17GW2ddFjDwxCQEEb6NGsO5aVvJ3XuJqM86cur5lYoz6JNG/0V3r+b8cmMTb73XgHy9BUO+RvHeyzGaOP9hdWJeTEcUrBHbr3sUUGu/N4seq05avDv/qhXD0Wes+kl++y9EjZlZec9xefJ22b2HCP9+/yqPj/Uh29uM+zUtGhOYjSAUwL+eOcyZsGzeDh9MnCGMYX+9T8Kh6sQavaV3yzUPF3wy85kyIp6awdsxrgyly8psNGaBt8fv5J3xDaVzxs3rzsXPd5O58TSiAN/2C+fphaeszyMgCEWu+NUnPcTQaxcZPzENs07kQM1rnH3Wk+eCupO76xIXpm1jXevztNxQNJFR47seFIgmnj00hSjOczzvZQBMgobRPx7CeNRqJJo0oLMUvSNOhhupfjYXsMZecL1h9UgY/9YRgs60Z9jc4wgiRM/tTtbqE1yYV5TZRxCtMh/oIxL/M8TP7sYzR6dgye+LRdCgdfmBxxZHUGef1VV8fp9wDtU4x9exbTnz7EryDBa+evModf/0oMMfoU59nwp0IhP+z4/3JmRg0cIXw6zfWZO3hvde244gWmfuAamvUvJdXn1ya86MXmu9TuP8eGdKUcT64u+96LldefboFESg3l8+PLY4yuH7MPndXfRa/BD1/rYOOIqCSNrj0LFjR5mb+62aQb969aqUleleyYOuonKvofQ8OpxBf/7550lPT2fGjBnUqlULF5fKS5/z0ksv0a9fv1LrREVF8ddff3H+/Hm7bRcvXiQ42HFk0IpgMBgwGOzXBur1eru1Q1qtFq3WPuqr7cXqbLmjNUm2cq3J6joXovMtdKMrqvN7l9N0WBmG3qTBpNFi1oqYNBZAz5o26TTa5S8t5fsj6SxNthW6I1oExSV+GgdhaaVyS5GRk+tlIdotzG793ZlQHZ8PiSck4z/UTPPiWFMjwmKhsC3WOvk6M1qTgJv+PILoJ2vT6WrZrGp3jgf/Fywrt2F1UxYxaXMxaS2cD8qV2rSqVQCr2gTyfx/vxpDnYtcmUdSQ5aEn6HIBGrOAOch+/aDWJICQjtbkal9eiEV3FFFnRqDoepi0lqI6orWtJo2Wia/VpNGea5yptlO6frmuermx6Oh6OHGdMrytci54vBqPn0iT7hdHsjtXrlAowtmQHOr9JV+HV/KeLE32M2HGit97djLKy21BlH5v70331KPsq5VBX1M0Zp1VeCW92K5TSaxLSuzrl+c6LXrlLH0/DnPYplyDvlzXKcMnD5PWwtqW7jzxcwEgYHLZgdbk4XSb5OViudtkk91RmwCwWN9FGovtmXf+3hM1cp2bNFq2NfLlgZ1XFdt0IcCVen9nyY+htRoJSscv3iZR1EgWkE32he80oOHfuyTZbeWWEscz6TJ5LaQPc5/8nQxzFg8vDZe16e+aHtROy0IjIr0jPnp5Hy75Wkya2ggICEI2Xz13jKDTXbjq7SrtKwoCqW2C0Yi7qBXYgN3niwYsTBotoEVbOPgIoCu8jy776tHozJg1hW68hd8nk9baYB8XD7I8TGjMAoamgej1enTFrpPeaOBQ7euYBAuirmg5iElrkdYba0XB+mxoNNTzigXxWtFgIAKdfB5ga84BvF090AtF3ztRsH7PfFtHkr/rMi5uBul6aExy3X5W5/9wFVxYfGQDU0fs5bWIvmgK07SVvPduGMx08m7KUfMyqwyFBpzGInC2mhsmjRa9vug5EzVW40Wn1dndH3vqZmDRWWURTLCzwWWaHwojZHBdrv1+jOOR1oEgjU6LoNeS6V3Avpo3iD3pLXu3aCwCOa56LFoBUSy6ThaNKDunVqtFKNYms1D0LTJrRFlb9VodFtcfWdTHh74/RpDnYkbUWXWaVxhHRRTlxxcEARdBT28PPadyL3HY8CcUWOPx2Nzxvxgchc4sUvPwdR7aeMXqKm8uasuOej48sPMqGouASWuRyajXa/HtGMPlOUVR+6HILd3F04her7feP4KmsF0WRLHoelsKZfdwcbPe01owaUXWtDnH9iaXePabeAIv2RuNxd8FFkTQHebPBxNot+4SeS7WvoUoPU9Iz4Cjb657uE/RddJeU353mAWpPSKws9EVHlscJe23p24G9fYWfRtNWgtYinRp+w4p9SWt+iy9HyiTRaORucmXVa7VatW17yoqdykOg8Rt2bKFGTNm8Morr9CxY0fatGlj91dRAgICSEhIKPXP1dWVxMRErl27xpYtW6R9N2/ezLVr12jZsmWFz3+nIwgC2qyiHnKcwRqZ2LtHjFT2vwcv2O/oshz0a+2KM71vfg2SPCqswGuhRf61LtWthkKml9VgTg/NZU3b87TzaWx3nDyDtV3dfO3T9P37ieOYdAqWgUfRYIjhGqCzdlyLj7L/2TqgzDaED28k/dv7QfuBH4BjsWcc7n/DYOZQjfOg3+KwTnHyDVo2N/WrtMBZjhD1B616qUR21S09SFf2nZbmS7eJ9PD1zHnukGzGtUJ6UfQpsvJXvStl7n6xWpHr9c/dQ1k/fHkptcsmv/CZQSj2HOsOKld2gsq+VyoFl1/LVX1Dy1z7QkFwOm908XpxC3sAynpxwb5z29yjNj18Wyked8Hj9lHkc9zNXC2W9up4VBZXffM5GG8NpPbxsBg+fDkOgPPBrnw76AhohBIBzYoNNto1Jhu9pvTAarV9Yxg3YQe6pvbZM4KGNZBmJoUSLytREO308mLwo7Tzkr/b67nFsDDuHZlxXhzPltWIW9gDoZS0V24aA5pCw+26VwG1A6w+7VnuBfy7zzGp3sK+x5g7+BAawdGxijQU9EID3BoVzS7rq1ln99e3Knr///uJY4TqC5dFCLDk0ZNEf9UZz5bVqP7eg4pnyDPmOf0clR3UrYwPhGDiXFiRt0jJa+QInVBYU2v/rUsPMXA80o3/tlee6GjpU2zwT8iioWfZgftA/gx9HPlK0SHs7iuFQTqsM9vXvZT7K4b6gdK//67pwY99joP2JKs7pBD6RjO8wnzt9nEVyjGxpNtX6uZnArsplmub+XGjRKacku8hT09PhAoGplW5M0hOTi7TE1dFpTJx+LUMDAyU0qzdLmrVqkWXLl0YOnQomzZtYtOmTQwdOpSHH35YFiAuISGBn3/+Wfp95coVdu3axd9/W0ff09LS2LVrV6WvW68qdDodPlsKpBFYrZf1I+PWzJrLdX/CVbt9RETQZMny4VYlBsGFz184QOprWYSNS7QWCtm4uf0k1XnA3T6ifGkd6GDfQMUouzEfd2Rx7+NoTQInc8+THPmMbLvJWPTBdxSl90KAgVqRRWtTzQr25+TRf3GgluNe16p253gqsJPjBpTC5iY+nA/U0j/Yx3p+BTlzXZ3rBJXEpLvEt813lSui8OHYzFK3u9WVD3gU6OWyOZuH+2C8VZ+iUHl5eQFOl4xXqTsCmmxZkdYkELe8ciOWC45usBLY2r23lieZYRnccC1yP/y/iFDMfnJvnZ8eUZ5x/2+7ok5pUYJn5+UtSVXopKJsSCw2yKjJ4mikm2x7lnsp95jGPiZKWeS62k/F7/yn9f8WrdaBXpy0+G1InfCi43weNUL695RX40npJB8EvBBo4Jr/tvKdpxiiYJHO5iiLmZdWHo1e61V0/7k3DMJQaMiEusiju0frQ4lbrpFm2wF0gpbAznHS7GRFInAfqOn4PdvSo67079SXV/DJy/v5q0GGVLa3XgbXfORGnDV4mfXfwfoio8yrbQRhbxQFmdW46xk3YQcrup6RoumLGng6oIv1OE4+XCbdldKfI6FoIG94cC/p34HPlh5o92LgDa57lG9A3aRzXv+eXSMBedo0G8U7g8bigx8C1KtR9ixsyXdLkL7IYA7W+9Lco7b0WxQATdHAwebmRbF7HGGoXpQZYEGfcP6ucxWwLoFxbxTMwz72kzZhLmUP3BdR+ve3k/cDiuXtvBpT45uuDvfTmgTatWvn0JNSpWrYv38/jzzyCN7e3nh6etKiRQtZ7KiqYO3atfTo0YOwsDAEQWDJkiV2dURRJDk5mbCwMIxGI23btmXfPvngUHp6OgMHDiQkJAR3d3caN27MTz/9JKtz8OBBevbsSUBAAF5eXrRq1UoWtwDg5MmT9OjRA3d3dwICAnjllVfIz5f3xfbs2UObNm0wGo1Uq1aN8ePHy5bk/uc//6Fjx44EBgbi5eVFYmIi//3vf8vUxeDBgxEEAUGweqDExMQwcuRIsrOL+mmVId/q1aul8xT/O3CgyAOtbdu2inW6d+8u1UlOTrbbHhISoti2BQsWoNVqeeGFF8rUw83g0ED/xz/+wezZs6v05M7w/fffU69ePTp16kSnTp2oX78+3333naxOWloa164VffB//fVXGjVqJCm/X79+NGrUiC+++OKWyl5RLBYLN0I1WDQixnpFHxgBgffG7WJhP+tsgiyqbbH9M3ztjaG5T2nJdVXuTLz79i7Z75hvutjVEQWR3fWLOh16QceZ6jmE14iUZkWy3U2yjmDJEeM5stRQAm4Ni2Y2pk5Mo33oA7K1rwC6IDc0bnqy3U1YNCIGN1dCtCVGyp3on1wo7Iz90e4sJyOz0SnMvmR7lJ1ip4mHPHPAqqRzZZ8c+O2Rvwmf2oqegYXXs8RIxeUQVzY3kxvN+9v97dSxNcIZojL9sBS6uE57MbaMPRwPZJxOso5c6DTyCluayTtQR5+IYXMTn1LP8cWwA/zQ/xjfDjxMnvd/ZNtKy8U8d9AhLgaUboBZFNL0vR8+jLFhAwH4+OW/sWhEMmJESS+3kysBRc9kEy934j5M4tSkIuPbkTG6rqV9B7Nka8qT5q9qdVK+Y6aVMNJySgz6rH4okPJQlmmlNLhyo/BVMiw0oEy96N6ry7MOZtFKw1dXZFhkeejso88DaC4wOEwEndU7J9IQ4nAw82yIvetvea+mW/1AwsYlEvVlJwSdhvpuVu+sR31by+p569zJiBGLjl+oQpdqnsx8tfT3UxvPhnTwamJXfvmzaBYMOOJwv1dCHmNh3DsAdGgwkEfCrVHzZj+XxpKeJ8ps2z8jQngvxt6TwSq+8l3iorEaTxqFWc5oQ6hdmcYicD7BJN0vJa/VqSjrN/q7J+RyaDwKDV0Hs6l5BjPvj96juM12HrHE1TbpLBz+3D6YrhIxLWszbsIOxRnsWLeiQRvBUOIm1Tv2fLAhvVsc3Lg6odgxXVaB1mosxS3sQWqns7K66xU83DTOjZ04jXfXaHmBYP3mGOLtZ+LLwkVTcga9qC+xscUFTpw4IYtbpFK1HDlyhAcffJCEhARWr17N7t27eeutt6p8rX12djYNGjRg1qxZDut88MEHTJ8+nVmzZrF161ZCQkLo2LGjLJD0wIEDSUtL49dff2XPnj307t2bvn37ygL+de/eHZPJxKpVq9i+fTsNGzbk4YcfliYizWYz3bt3Jzs7m/Xr17Nw4UIWL17M66+/Lh0jMzOTjh07EhYWxtatW/nkk0+YOnUq06dPl+qsXbuWjh07snz5crZv305SUhI9evRwKvhgly5dOHfuHEePHmXChAl89tlnjBw5slLls5GWlsa5c+ekv/j4okwK//nPf2Tb9u7di1arpU+fPrJj1KlTR1Zvzx7ld/E333zDqFGjWLhwITk5OWXqoaI4fOv+3//9H9HR0TRp0oRx48Yxffp02d+MGTOqTKji+Pn5MX/+fDIzM8nMzGT+/Pn4+PjI6oiiyODBg6XfgwcPRhRFu7/k5ORbIvPNYjabya6lR9RYR4YlBMhztdgFULFSVGbWifxnunx95uGErVwKyCq5E4Bdp1TjZj9afrp6DptaFBlpLhod38SMprtPIloPF+Y/eYRl3U/b7WdjzlMRHItynFM40MWXsrrYogZ8vLyxmCv+oesyqBcNJ3YjTF++zj8gpYwrTr5L4cyobhNeL0YV21LC2NemE2Eo8kgp2YdJj7TXjf8jzuW61ojQ/GyENLiR4evYre+XR0ofQa41KJGYuV1xdys6RlqNa3ZGRZuEEH7rat9xLUmBi4WDNe1n681akb8VPEGg7FzFjog0hFDPLYYJ1Z/jQvANctzNnG0u2g36lIUAXPcoYHUb5wZfivPheMcDD8XRuutpFdWE/S/qmdc/vNznKU5qx7NlVypE1FAunfhPVHbxVcKRQbmkm/IodFkozfLdDMWNL70gf4f4azWSXr4cFCmVZxd7LKPio6VZtJJGUkmcdbW30cg9niaegaCzBg+s5hLAhxHD7ep9PCyGfz9aTVbmrjFKLtqOvGh7+LQk0iWYAH3RO8itbgA6b6tRNiiwCx+G/wNtiYFLiyBytrlIgY+1XOvtfA73fwT35Lmgh+3Kq3sEY9E6p6N4jxb09O8MwImobJp1f0ixXqxrkU48dVri3UrviBs1BsUr6Klx483QJ+UyuNqM7KI9NKLApUYah8/R6fAcxo2rxbGapS8VAvn77miM83nKjTX9MPto2VMvw/GFL4NnQ4t/B63HCHimLv59rd5vGS30xbbIudgmlHWJfuQNqAEUvVtc6xUto4h0dQHdTkoe5GyYfV9ERMRHa3Wt3970MtE/dLerUxrl0UDcwh4EDqprV76k5wlCX2tC1OcdiZieZLfdKLjIPDwcsb51kfHy365n2bVrV4WDKqvY07ZtW1566SVeeuklfHx88Pf3Z9y4cdLM6tixY+nWrRsffPABjRo1IiYmhu7duytmhSrO6dOn6devH35+fri7u9O0aVM2b94sq/Pdd98RFRWFt7c3/fr1kxnWXbt2ZcKECQ4zXImiyMyZMxk7diy9e/embt26zJs3j5ycHBYsWCDV27hxIy+//DLNmjUjJiaGcePG4ePjw44dOwC4dOkShw8fZvTo0dSvX5/4+HimTJlCTk6ONBufkpLC33//zfz582nUqBEdOnRg2rRpzJ49W0oj/f3333Pjxg3mzp1L3bp16d27N2PGjGH69OmSLmfOnMmoUaN44IEHiI+PZ9KkScTHx/Pbb7+VeZ0MBgMhISGEh4czYMAAnnzyScmroLLksxEUFERISIj0VzxOmJ+fn2xbamoqbm5udga6TqeT1QsMtLcTjh8/zoYNGxg9ejQJCQl2ng2VicNu2ubNm5k3bx47d+5k0qRJjBw50u5PpepxiVT+wD/qK++oiMA71QbTx68tsyJf5dWQx0s97rgJO6R/FzfQQ161n/EA2NDSfs27m8YgzZIfqHWNAhcLRk1RB674iPex2HQQigw1QUDyxxRDXBgV1l/xA+vRwur6+1yD0ttTROm9vkhDMH46L4fuamXhaN1jwODWuCXGMXfQIeY+nU593+2K9cpDy5D+5aqf6WDtXnHyDI47Cb92DcGo06Jx1dEiqSjewenq2faVnTDwyjK0lQx3G9oyTmBwsNYVIM61msNtzvL+6D2s7HiO7/oWzYD92kN5cOPPBwMYP2437769C0sZ7qbBrxSt3XXR6OnxUBcOxXqUskfZbHvgctmVKogh6uaXOR2Kv85Hw2IoSDCWWu+Kz00GIi3jfnP3LZzJ1u2imqvcy8hmvP93TC6nYlNwGdeQBf2PclZ5IrbSaeAWS6DeR3FbW6+i2BkXQndR4Cn3RvH19SnTNTvcEMT7ES84XCOuF3SEG+Sd13erPYNNqdn19FR/70Hc6hV1WF4IeqTUczqimkv5B0cBfLQetPaSr+euPrHwO1i8s+aEpRajMCsOVq+vBu5x8rJyyDghprpUf2Z8CF8kRMm2Kw1+29jdOINV7c7hrnFulk/r6cLFD6uT4edo+VDZkjf0dLMr8+4UhcZVR9zCHpx+2n67jTOPxfDf9sGYkuQPSeDgIgP2/bgI0P1NI7d4qa8QMSOJrqEteS7Q3gD/Ivp1ElzLHpjuE2L9dgzw78DMiJfttvf1S+LpgM508m5a5rF8esTi398aaHTbA5fR+RnR+briEuZBzNyuxPyryH39X7Fv8krIY/IDKKj5bLFv5oiQJ8qUQaX8zJs3D51Ox+bNm/n444+ZMWMGX3/9NRaLhWXLllGjRg06d+5MUFAQzZs3V3Q3L05WVhZt2rTh7Nmz/Prrr+zevZtRo0bJPB+OHDnCkiVLWLp0KUuXLmXNmjVMmTLFaZmPHTtGeno6nToVLZU0GAy0adOGDRs2SGUPPvggixYt4sqVK1gsFhYuXEheXh5t27YFwN/fn1q1avHtt9+SnZ2NyWTiyy+/JDg4mCZNrH34jRs3UrduXcLCipbPde7cmby8PLZv3y7VadOmjSxAdufOnTl79izHjx9XbIPFYuH69ev4+fkpbi8No9EoZa+qbPkaNWpEaGgo7du3t3P1L8mcOXPo168f7u7yibFDhw4RFhZGdHQ0/fr14+jRo3b7fvPNN3Tv3h1vb2+eeuop5syZUy4dlAeHvdyXXnqJgIAAvvnmm0qP4q5STkqMFNV0jaCuMRr4q1gVkVrGSGoZIykvogbOTgvloZDGCFoHhpGTvRQ/nRfH8qwzjz46HZdsG/SbADAVunsKBi06f2uH3ad+GJ7aoo7AkWdcOHjuKOb2/vyzunUkP6J6OCe/1MPKzRg08nsx/cEimW+4WqCY52y2mwX3HA15Bnm7lFwZy0IUwF3jyqjQ/oA1xVV6iDVYlU+HzphFC4fjrwPXaSDEMTM+Ap0g8JKTy54E8squVBzdJooPSBQoBNh7d1RN3vkgza5cia3NtzJCZx240BbeByathdVt05kWMZxvR/9K8+/diDjlUapB8OeD/iStv1zq2siSa9oBfHvHk/Ef6wxiTGItrv7m2A02WO8HFLpB6tcp1nF2Jt6nR6z8XMXETov3ZG8tT+ruv0588zps99oli9gLUGDcTX7hGvNhgV3INOcAh2V1jtTMIuy0Ec+WFR88EGxrJHXOLX2oDNxKvA82N7tI8y3KBpajGW9Rv5mLASYgsdRz5buU45lUurUEx7Oy7s1D8WgRxvmPtjtcGgRg8hLhRjZeCb7EhdQhJD8OcOxy7IjSBsJsTI8PZsSRbWAJp55b2ctSANDJ76vQkQ9YXXIt9gOCw4N6YS5jXW1p1DRGsJui4GyuJVx/6xijOYF9B8YZXg/pi7baSThWzndeCVxjfcpV3/bequwFHt/2D+fdDBf83FzhqrXMQ6fFrUS2F7cG1mfHu1MU19fJPc5y3cyIGpgc/jxLkn6k3Z+hCHotKMRDLMnN+Jrog90oOJ9DyEuNyFwjj2HzgEctFl35k1hDNS4hD0zZ0MONny5cobqrAcOrTTgzyxpHoWQgwG+i38BV44I4sABdgBF9iDv9hPZ2cpSMn1Cal4q33rrNU+tGiIu9ofCoX9FSjbZejTjmm4I5Q/leC3iycG38YfttGtey142X5VUSpPPl1kQGqhzy8i2cPV+5MWOcISzYBYOL8+5u4eHhzJgxA0EQqFmzJnv27GHGjBn06NGDrKwspkyZwoQJE3j//fdZsWIFvXv35s8//3QY4HrBggVcvHiRrVu3SsZnXJx8sM5isTB37lw8Pa392IEDB/LHH38wceJEp2S2uZ+XzEIVHBzMiRNFy3cWLVpE37598ff3R6fT4ebmxs8//0xsrPU7IQgCqamp9OzZE09PTzQaDcHBwaxYsULyME5PT7c7j6+vLy4uLpIc6enpREVF2cli2xYdXWIZCDBt2jSys7N54onyDTxt2bKFBQsW0L59+0qVLzQ0lK+++oomTZqQl5fHd999R/v27Vm9ejWtW8uXbNnk2Lt3r51h3bx5c7799ltq1KjB+fPnmTBhAi1btmTfvn34+1u9gmzX/5NPPgGsy6dHjBjB4cOH7e6VysDh22ffvn0sXLiQRx6p2Ci5SsURBIH8G3kIYuFIeuF3qjDLGBoErJ/kog9YD9+bi2pv8dQ6Ns5LyncT5zkac50lPU8wolM3Mn62GmPuTeQP6ZWmOv6XcYEHdH6ydexhhgBOBwaiLbbea9yEHXwQ/gIcsroZffv0YV74vBFeWVYX85QOmRyv3oRsd+cDtFzzysc70/GAVGP3Glxon0vmHycLDXIrWkHDtzFjeProJCJcgggxOD6GpqT1KMivp1PorEalaNFwzj2TIOxnXtr5etqVASQYIzDbepKFiDr7QD0Hexe5Q7sEe5DvYtVrqKsLTwQpj6CueTCAy8HbOR+i3LP8duBhLgfkEX2shGzFmu/fvxZ+j9Xg6ODfFY8hIEjV34vsiEVUMEREcD9Xtiutb884h4MB7loN+sJ7sKF7PN/XWuPwOLZ1swBn3SCHIn2uT7rIny3P8C09ShemBB5aDZIzqPYQUB0EBY8GJxGc1IkjToVnOzTQRQHQbWfGy5mMXVuPnN3W9mf6ONfZO1DDkw5rLjncnutqwnhDR9Dwhrjp/wc4XjJTEveGQQilrKMVBIHAwEAOUzSaNiCgA4svXGF9Cz8a73YsV0l+7BnG0Zr/5Y0PigKCeWvdi48bAhBm8MRLayDTKRta+a3r3rRw+UCG/baSs83OEjGtLWKBLSed9X4RlTwJbuJD8IBHAmc8r5JL2cHBlDAI9jPRRfe0Y8HKFNnJNokCuF4QpbgGFwMM+LUtvYOm83OVvmeu8b6gFcBc9CDaBg+C9L6saXuOE5FZTAzqASUcjZwNZFc6WYAHAlBt/IOYLuWiD3bH/wl5YNfqLoHSe63kExDn5srCuoVtbhGG4Tdv3M9dtYs946Yt/C55GSTX+dIorX1aHwPmq8qG9gPuCZzkOC4a+3vDWNOfrE2lLwV60KMe67OcH4zb0egy8V0bYkywdt692kUU3j87ZPVs75a7JYr72fP5vDnd8XLFqmLyiOpEhzu/RrxFixYynSYmJjJt2jRpKUHPnj157bXXAGjYsCEbNmzgiy++oE2bNrzwwgvMnz9f2jcrK4tdu3bRqFGjUmeGo6KiJOMcIDQ0lAsXFDIqlUHJe0EURVnZuHHjyMjIYOXKlQQEBLBkyRL69OnDunXrqFevHqIoMnz4cIKCgli3bh1Go5Gvv/6ahx9+mK1btxIaGqp4HqVzKcniaN8ffviB5ORkfvnlF2m5wLp16+jatcjL5Msvv+TJJ63LhJYuXYqHhwcmk4mCggJ69uwpGbeVJV/NmjVlQcMTExM5deoUU6dOVTTQ58yZQ926dWnWrJmsvHgb6tWrR2JiIrGxscybN48RI6yBXlNSUsjOzpbqBgQE0KlTJ7755hsmTZpkd66bxaHVEhERYefjr3Jr0Ol0ZF6+hsYsdwkVBAFEqK0wS17bGOX08fNc7Gd36hpjFGqWnxB9GW4vgtWNTKPX4tMlmoLzObjWsk/9o4ROp1NMrxdhCMY6m+pGpncBM4d7MfKwD9VjvNjh+Q1iQekzdyX55OX9jJtYeuc2cEh9AgbVhZM78NAUXScXjZ5pEcMJ0ZfepuIzkae7VKfJIzX4Zcluxbou4Z7knyoaCKg+8SFMl3KwdQTMGguro47S0GydCVhYN47D1U7BmSy7zo5ZWzjzEOHH1T1XpfKfe9kHX4pb2IPU879AsWWRtk6woBHoHeTHyUgv8k/Ie5BRnkZG93mZfoffVWxPn6SeTDz7HWatsmUiCtbjC07MXkDxNaJyNGaRqNVODDqViD5U/NeXCdFc8LxCTslecjFORCrHdgCoZtDzj5i5vHD8o6J0aeVgSmw467LasejKKsxaq2uYRaFJV710+GSWHeRQYxaIWl2VHUUTl4PPYqzdVjLQnSU92LnOmVfrcN693pFMNsjKb8Zwsb1btqTbp1lc0SGYFV3/ZqGT59pdzxtc5ctNZka+zDN/28+jPegLyy+dJVBvP1OhLRxUdAn3BG4+VaazuFQr6oBqEIhareFEc4Xcy4WBxPShN7dE41ZiW6KU4BqBh7Z8a4KL94bMGgvLaqfxyh+1S6nvXP9JydPHooUjcc6vR1ei1OdBcxks1uum8zZIsQhuBq3Feq/oXqi6aOURU9si5pk5jr0Xkc0w92nv2Itw9nNpTGxq7xIPMDz4Uf5RLOJ+aUR/3ZlQFzPuLkXf/qDnC/sMh5fI6mp12rsqLXBYsAuTR9yitT0lzlsZBAQEoNPpqF1b/mzWqlWL9evXAzB+/Hi7ZbpGY+lLsMA+N70gCOUK/meLCp6eni4Z0QAXLlyQZoaPHDnCrFmz2Lt3L3Xq1AGgQYMGrFu3jk8//ZQvvviCVatWsXTpUjIyMvDysi6D/eyzz0hNTWXevHmMHj2akJAQu/XzGRkZFBQUSOcKCQmxy25lG3AoObu9aNEihgwZwo8//kiHDh2k8qZNm7Jr1y7pd/H9kpKS+Pzzz9Hr9YSFhcn0V9nyFadFixayARgbOTk5LFy4kPHjxzvc14a7uzv16tXj0KFDUtk333zDlStXcHMr8vi1WCzs3LmT9957T7buvTJw+CYdPXo0U6dOpXPnzlUe+VBFjtlsJitGi2W9iEt1TwrOWQ0AvaeBL31H4ql1Y39u2dFsi9PSoy7VXXyAHGa9tF+2rfjMX0Wpb4zlQc96tPSsS03XcArEso0FrZeBkJftc6U7wmw2c+jQIVl0RiVigg5Sv/Ez5FjyEI8Cwm/E6psDzrmg3DCW3XETNAKCi5avov9PHp0W+zWWb4Y9Rb6lqIN9YXY0v53fIRnobQdb15huaHmBzilWF2hbLICwtxJxqebJ8RdSpP1dY30g1kdyyTOKLnTOrMvybodpsybE2kpvFyi0NYob+AV6Cx+//DcfNe/O1WVW99Rq77Ziu0Y+6u+w3YW9SWk94fttONxPHixkQmzpQc/qFUaM3t3gCu5Xm9FllfWF69U+kt3bdiqveS+Bh5uesrqvogYu1LVwOc+TWoccH1PrpuebZw7i7efDY9OCKH41dcVya5fs7i564hh76mcorpd3bxJCzu6LvFMjHL1G73RnvSQBLnoe9XuIRVdW8XftDEyPNmdHA/voqZ8NiWbMjEMKR5Bj0Yhcqi0S8LcgS51VGp8NiWL4nOPOCVwYmdmZsV2ZYVJSFP1aKJCvH1330Hk6pVqfjwC9t+KQyWM+rQCFXPWFgz5gHaTy0roB+cQZrR1R27tlcEwXYg1heJdIS1Yy73d7ryZcNmVCKctSdjS6TFKQ9TkuHpujOE8FJvJ4QD4uGvsPu87PSMS0tlYD+NC/wBzLrMhX8dCW3ZGsLAwaPRfqWvDX2sdC0XoZqD75IQwRZQdCU8IlxJ3cvy7y+QsHsGhEZpTDu0TJ+DyQcI1aB3zQuNrrUi9oKRDN6AQtX0S9jpfWndP6Ndj5dijM6CidS2MRCBJ8EKu7sqy2d5n1FSl8RnKMVnmz/e/uKN8WQeRCXQvRZnMFO6plvzS0Hi7ggbSMreR7NW5h6fdQcv1h6HyUn0Xrsjfnrp3Ww8Vp/x2L2cKBAweIj4+v9A58VWBw0ZRrJvt2sWnTJrvf8fHxGAwGHnjgAdLS5Ev7Dh48SGSkdfAmKCjILmBc/fr1+frrr7ly5UqF1lc7Q3R0tBSkrFEja78vPz+fNWvW8P777wNIUcE1JTIDaLVaaTDAUR2NRiPVSUxMZOLEiZw7d04aDEhJScFgMEjr1BMTExkzZgz5+fnSMuaUlBTCwsJkruU//PADzz77LD/88IMsNRlYBzYcuXe7u7s73FaZ8pVk586dsgEQG//+97/Jy8vjqaeecrivjby8PPbv389DD1njnFy+fJlffvmFhQsXSgMnYDXQH3roIX7//Xceftg+KOrN4NBA37FjB2fOnCE2NpakpCS7G1YQBD766KNKFUbFisViISrPn/Hv7Ga+9yN4tY/ErW4g+kA3bF0BWT9Cux8oPbDKKyGPkTcsk6vLjpDh65wxVpyB/p3wu65FWvdbgjHVim74Zh61FOtUdwnkdL7zs2olOzoWi4W0tDRpHU5Z+7lpDDwb2I0WHrXt8gBXBKWZDi+t4yA6NhqUWF9aPO1ScYpH57eta3OrI0+zFfp/crccgCbGmhj/tnA0IYuDNQ9ScnVf9YkPcea9jeQdykAU4ELwDQSdhvAP22DJNWGs4ae4/k4JyY20HJOVPX1acfCG3GVuQvXncNMYGFFwVTLQ9QFGvhp2UOkQdugDytb74seP0zQvlh+jq9Hr13Qa7s3Es204Yr6FrA3W0QtNO+tH+mhsFlEG64xSYI84QCEvdYk276mv4FdciFfHSLzaRUjrMcvqel7zso4se3eK4lrKccU6Fi0k9G3Oh/lxjDgpT+NSMkWZI0QNXKwH/gcoK+2vRHpoUWftfLDjBbEFeg3Y8t0Xa/BX0SOxiCLn2KS8YwncW4WR5Cuy5UoBu+p60bFrTV4xzCbP1cLwIda8o4LSendBoI4xgktKBjrg1jAIv34JDO/alYuf7yaLqzzgbnW5Lf5u6eHbym7fBzzkrrkGjZ6BAZ04jONItv957ARPxA2WfvsZjnLFLHeH1AgCboLj2UtpNlt7CrSnCNArr5+sKjx17uyvB+1dlGMnuEb7VPjY/k/V5oOo/3KmunNpakpGmC/J9iaX2dH4Mj+42htpn0e9jrlwGYyP7uZn/DWiQL2LIVSf9BANsvOJNlU8QverzWIJj6xOz2oW6uQpuxZnu1sHvI/GXMcLX8U6zjLQvxN/XhE5nQv6Ssxd5v90bXalbcBisVSaIXrjyWAurjlK+Gl3NJ5FM6zllrpwBx233kC2WMzSu+VuMNDvFk6dOsWIESMYNmwYO3bs4JNPPmHatGmANQtV3759ad26NUlJSaxYsYLffvuN1atXOzxe//79mTRpEr169WLy5MmEhoayc+dOwsLCSEx0zgszKyuLw4eLOlPHjh1j165d+Pn5ERERgSAIvPrqq1IkdFtUdDc3NwYMGABAQkICcXFxDBs2jKlTp+Lv78+SJUtITU1l6dKlgNVw9fX1ZdCgQbz99tsYjUZmz57NsWPHJAO6U6dO1K5dm4EDB/Lhhx9y5coVRo4cydChQ6VZ9wEDBvDuu+8yePBgxowZw6FDh5g0aRJvv/22NAnzww8/8PTTT/PRRx/RokULaUbbaDTi7V3xILKVJd/MmTOJioqiTp065OfnM3/+fBYvXszixYvtzjlnzhx69eolrSkvzsiRI+nRowcRERFcuHCBCRMmkJmZyaBBgwBr9H5/f3/69OljNzDy8MMPM2fOnFtnoBfP41c8/L8N1UCver6KtrrgCIKAPsTewJQMRv0OBOxzl5fEEOlF8PBGcPjXcsvS3TeRjPPpXOY8FV186K31oHtQIl9eKP/5K0p5o7W7aQy8FvIEsM9uW4bvzQU0suHIJdsZiq/Xr2eMYU/uUWoaq5ODPCWYQaMhD2jn54nGRYt7wyDyDmXI1h4bwss/81UeA31GxEtcNWdJgQuLGzO2SOshLuVbT12gs6A3aZxK93QsOpumB2BqbDjrsX5UfHvG4RLqweFCA90vQj6KLs3AODlgAdZBmgyz3M1dEAQolqt9aODD/H5tc8ldJS4GGoj6rCP5Z65LBrqjjAphLs4tCblpFK6xf2wIrgl+3DhgbwRveqD4IK71RvHvX0saHDtX7Hg7Gl3mSqz9CMG4cbVYWDeOYTShmiaD+b0u82idYCxHNXgKRQMFgl5LxLS2nHx9tfwADkZCDLG+CBoBv16le99UFjVcwzl4Q+7S7ud6kit51vsuyqViqeduNa5xPnAZNA5mHW8GjYuWUxHOPf/PBHQtO5Ce4DgwZFV5HegELUm+FfMgsBHn5grRrgQDwS72xvcboQPYlXMIv69bsjN9B08bnPymyXSRC1h10N03kc7eIodyb+Cjqzx3dEOsjy12aoVQenTz2/nwZa00njv5ILGtnQykqHJf8PTTT5Obm0uzZs3QarW8/PLLPP/88wA8+uijfPHFF0yePJlXXnmFmjVrsnjxYh580HHaUBcXF1JSUnj99dfp1q0bJpOJ2rVr8+mnnzot07Zt20hKSpJ+29YuDxo0iLlz5wIwatQocnNzGT58OBkZGTRv3pyUlBRpbbter2f58uWMHj1aCngXFxfHvHnz6NatG2B141+xYgVjx46lXbt2FBQUUKdOHX755RcaNLAutdBqtSxbtozhw4fTqlUrjEYjAwYMYOrUqZJ83t7epKam8uKLL9K0aVN8fX0ZMWKEJDdY15SbTCZefPFFXnzxRam8eJsqQmXJl5+fz8iRIzlz5gxGo5E6deqwbNkySVc2Dh48yPr160lJSUGJ06dP079/fy5dukRgYCAtWrRg06ZNktfFN998w6OPPmpnnAM89thj9O3bl/Pnz5fqel9eHL6dy7OuQqVqcJQSpyTvVBuMQSEwio2hgZU7qlOeWCe+j8ZjNpmwrZdO8mpEUrG0QUq4FgYAqunqfH5od8NhcvPqVThmsSHaOhLoqXWjnlsMh0sY6Ouey+ZglON1yOVBi4YwfYDitr9qe1H/b+fO82bYk2Sac3CzuPB7CQPdNjFS3eBcxzrGEIqHxn5Wuq9/EhpBIFRaU194YCduglAXf0Ip3ZicFh/BsWLZCEpDX82D3f4nafCXH24NS89nWhx/F8fPhgwnvdAzfPLICCxasjC++hBO5Ct7ltho6VmXlp7K+XNHhIeQaTaj83Ml/0yR474txSDA/4X2w7PE9Ul+ZyffRo+B0zuAspeUlJeS0ZgBxlV7mrOuygMNsijuhbq0rp+257+dz6DTln5vdvf3oZOfN1pB4JuYN+y2F18rXRrKbq9Org92qpYVrVfRDN/b1QZhKeHnX3wpzKuh8vyrdyoezUNh+U70/rfOrV6Jzj5yz6FY1zB5BRH8dV6F2R3KR6RLUYdK6bXW0qMuK65tKTu+SiFRhhB25hxy+vtdFo3c42nkbh1Y+jjyFQJ1Por1gp5vwPWN9jEUADAsY3pEUadWpxGo5V6+a+qa4AeW2xOX6HpDveL7SOX+Ra/XM3PmTD7//HPF7c8++yzPPvtsuY4ZGRnpMK91cnIyycnJsrJXX32VV199Vfrdtm3bMmN3CYKgeKzixMfHK84AF6dp06b897//LbVORESENOvuiHr16rF27VqH20vzOigNZ4z3ypBv1KhRjBo1qsxz1ahRo9Rrs3DhQofbAP76y3E/tXfv3lL6uMqk6qJ5qFQYjUZDRESE4kiNjWC9H7bQCWWlVmvvrTwTVxqGKC/yjssNxYqso/Xvm4AoijQ69xdP+CWVvQPW9ZpfRo20cx8vTS9z4ntTIJoY6DgzV7kIn9Ia05UbnPtgCwDptU3gnCdmmQiCwPTIF7k6+BjX18pn2a55Of9IagQNPjoPzGazNaijoBxkrjiOZpgmhT+vWO6n82JYsXzH0nrsYsfReOixZFXs5aQt0SOOcAniaonZaIDw91uj8zPy7tH/kRlmIda/7DVyoiBiCdaj0WhY19Kf4It5xAbcvKExbeQ+PDVGyUU8UO/jMIe1MzTzLtvltol7Tbsyk14sSgOkdW7KXxDB50jFo7g7jROeFjZDI9tNeXBBEARcCu8Pp4ydCjj22G4/Z965pRE9p4vV7f7wcaDQGC8hz8shj/HD5T84kHsCP4U13XciN6uXqmB6xIuKy4Q+jXqtQsd7P+KFUrfXMIbbxWkRBdGhXvr4taWNZ0Nci6UDNdb2x6d7iRngUjqLjrYE6eUz7L6F95G/3huvdhHWSOJKCHmElZJVxBmqJ9sv/SjOzd4rFYrTcRfEMRY0wh33DKmoqNz5yHo9a9eupXHjxnh4lN5hvHTpEr/++mu5R6dUnEOr1UoBJBzhr/MiJ9yfvCNXHdZxreXHjf3K6zFtaDyVZxfDxrTg2PPKriDl/SYKgsAbYQPKtY+3zt6lX0kvH4b/o2h7YbCusmboldCHWs/X1bs5AIYobwxRFV9f4ww+XaLx6SKP3nwwzoOHNl2xW9IQPrk1ooPZC5tezMWWLng0DyV3z6VKnXUwagwIYuEaZAcz6KGj7NfIl4cPIv6hWG6ItF6LV+P7E1Y7wKmUNWaNSK/mXREEgQYJwVypV82aV7ii3ILOoEsFA27hsgMoO+CixixQbYtj3aW2DeR0+Eme+U4+kHE22MANt0vWAISFhoVbk2A8W1XDfDWPHeuPl3luc1s/9PutM3yiAF19mjN11FJu6Cu+frck2qCigZvAZ+vh3sw+UAzY20bOvHNLPa972V4a/jovXgp+tMLnKI0GbnHMv5xKrEF5rXhFuVm9lMWC2LcYcOS9cu0T5mLvfVTc28RZAp6qzeV/l/DJdtI9zKwRHepFI2jscnNXe7tqonjXcYtiSvgwogy3f8lEVd8rxamcVHO3BuEW6kVFReXeQWagJyUlsXHjRik/nMViwdXVlc2bN8teMEeOHGHo0KGqgV5FmM1m/vrrL+rXr19qUJGwN5tTcN7xtG7Ymy2w5NrPTrXzakygzofIjxqjMSrPTGm97N1PKxAfrFIprhcb4YYiV2eNoKlQRPrq7z2IS7gnC13tPQ18Honj+rrTYJfFuGo4Fr+RoPlD0enk193mgq+ETS/enm5cK5zm9+4QhXeHqEqVbXBAF47pVgMFijdB7PzuVe6GWL+sdajF0FoEdu3aRf369Xk2TDl3951GZaQ7Kg2LVuRcE5HQ7QIas/1FjHg8lgYGL/hO7ory2dAYcN1Ip2Jlwf9oaI2qDCyJ1UBBsXeNaO9qUad1I/asv4TbnjzrTL7Wg0yvAiyVNfIhCGg89ezvsp1aK5qgyXjhqQAAXzVJREFU9XJxGLG5aB/r/5x9596phBuCKiUbR0mqWi+aMgK/OUPsgocr9FFyaxCEWwPnl8oUR2sR2Llz503pxb1xMNnbS18a4wyOjPNbbcRW1r1yt+QLdxaL2XzT94qKnIq6Xauo3E3IrLOS/vmiKGIymdR86LcYi8XCyZMnqVu3bqkvdK2Hi9RBVkLjokXjYr//80HOp7MBqPaOdfTfpTACapDu5qLIVpTieqlMXOMdtydgQC0CBtSCs98DFXTDKw/a83jpyvcRt+nlnY6DOSc6iCxeCc+wm9YVL407eVyVGV5hbzQna/O5ChvnugAjpkuOo4NXhHerPYPFZOHgqt1lPkdOc4v6jREzkqpstl4U4GoshDhI5NA9IBAI5DBFBnoLn2w2XCvfGnevDpHkHszAmFA0kygIAgF6H3I4z6jQftR0s8/9XSE0wk2vjXX0zrXd0feWyeA8zn6LbidCJUYidxYvwe2m9RLyahPFAXSw3m+V9Qp4O7Q/ng7WrVcmN3OvdPFuRnMPa97q4UG9WHt9NzpBi2fhMjc/ndyzyBbRX3MHG/NbXzLzP+0B3rA0u+OfIRUVlTsPdQ26SpkYa1kDfek01tslsorc6Zq6J/CQZ31aezaokuPf6wTqfQjTV/FMsTQzWlTkGu9b6iBHWVR/70EKLlTSAv9CahojKCgo4CBlrMu/A/t3LqE3nwaqMqnhkceGGytKrVPSmND5uFJtTAuH9W35x2/WCAl+uTEuEV6c+r/V0qW8HGOdlayMJSrd/H3IF0XqeZSd1s9GTbc7P4ewigOceB+MDRtIAF5s+ft/N3cqvRatgyU3lTk+F2kIxP02Dao7y+DArtK/A/Te9PZrDVgznrxb7VlqlMh80sqzHldM13nQsz5OcQvf8+29GhPmEsBxz3QuXa+czC8qKir3H6qBruI0WjfrOku9EwG6KoJBo+fFKlqj6Qhd4O2NTnzLqKyZBslzufJ6PDpfV3S+5b+ntN4umK/lV5oc5eMOtOzvQzxbFa651mnwfawGAJlhGRyYkUZcSCmeQk5aQK5aDf2CHWciCHsrUeZG/13tWG7DhK5KJWGLdVEa9dxiqiRib+Vzb9yINY322Vx0gpZH/R5y+hjG2gFkbTiLxq3qu7xDCz0UPz3/c2GJ6oGqoqJSflQD/Q5Eo9FQs2bNOy7qp0t1T6q9nYhrwi3Kw1yCytZL9OzOCPo7S8cVwSm9VNYylTtouUv4B22xXHdsoJemF301DwrOZMnyyjfzqFUlclY1H0f+k+8ulZ5uxYZggcA91v87i+2K13ItPVuEMxhr+pKz4zyCtPSmcu6nuPndAcg2XS3nnlYjpqLvFrc68oBl+nvMOr9Tv0VVQcTUtk4P2N5PenGWO1knXu0j8GwZhsbNyZSblYAtBoBwB+tFRUXlzsXOQE9LS0OnsxabzdbougcOHJDVKflbpXLRarUkJCTcbjEUMdZWzt99K6hsvWg9by7tTGXTybsp5/JLj7qvRHn0IgoiBqHinRS3JiF26fduFzpvA5QSVK00vVR7K5HsbefRB1hdl+fHjpOyANhz5wxKFKemq3VmKUjvY5eS0BEai0DQXieNyBLVOno3BcC9WSg5uy8WM7Kdx6dHHJ5twovSwxXSyC2enTfKfbhSKKuN8mt6J79zbye3Si+On71bh0t1+9Rtjrgb7pcAl3COZm9FexPv+/JwJ+tEEASEW2icF0ej1dyxelFRUblzsTPQBw8ebFdp4MCBst+iKN5zkTbvJEwmE1u2bKFZs2bSYImKXC+3mi7ezdidc1iW27ayeTawe4X2c+Z+saVte73GU6VGhC8Lv8dq4NvD+UjqxYmY2rZCRl1FKU0vOh9XvDsUzQjrhLLlCtL78ohPK369enNrTyuDuTFvymTu79+BdFaWuZ9FK3LyIZGIdcpR3J3Bu30k3u3ls+mjo8LYlpnND2UkOxA0AjqfouUMNjP5jbAB9LviXC5353ByUKVQBeo7V5lboZevov/vjjDQy8PdcL8083uceM+WuGpvTUyLu0EntwOzycyGbRtUvaioqJQL2dviX//61+2SQ6UYoihy8eJFNXp+CW6nXhq5x1dJGqPKwBm9eLSqhiHKu1yzREoIGgHBtWKdjJs9d3mp7PtFIwgM8O/Ar1f/J0URvl2UHCjy0DrnmisKkB1q/f81r3y8M8secHImc0E1gwvVAl3KNNDL4lYN+5bMOKC+c5W5FXpx1vvjTqKq9ZJc7Rn25Bwpu2IpaAQN/i7Vy65YSajPkJwEYwRrr+/GXeOq6uUeIDk5mSVLlrBr167bLYrKfYKslzJo0KBy/amoqNwdCIJwyw3ke5VnArryVrW7+/0X8loTPhy1t/RKt9hL6q2oMGbE3/w6d2cIHFwX/wG10JaVJ11F5TaQYIygj3/S7RZD5SZI8mzEN9FvSKniVG4dgiAo/n344YdVet61a9fSo0cPwsLCEASBJUuW2NURRZHk5GTCwsIwGo20bduWffv2yeqkp6czcOBAQkJCcHd3p3Hjxvz000+yOgcPHqRnz54EBATg5eVFq1at+PPPP2V1Tp48SY8ePXB3dycgIIBXXnmF/Hx53J49e/bQpk0bjEYj1apVY/z48bLBpPXr19OqVSv8/f0xGo0kJCQwY8aMMnUxePBgSe96vZ6YmBhGjhxJdnZ2pcq3evVqxWtdfCl227ZtFet0767stTp58mQEQeDVV1+123b48GGeeeYZqlevjsFgIDo6mv79+7Nt27YydVJenJoKE0WRrKwsPDw8VNd2FRWV+5rOPtYlFgmuERy4cfI2S1NEvh5cnAwu7VY/CE5UrTzlpU45Upk5xrlZKq2XAd9H4irhfLeG6i6BmMVyRPZTUVG5rQiCgJvWlQLL3RDx/97i3Llzst+///47Q4YM4bHHHqvS82ZnZ9OgQQOeeeYZh+f64IMPmD59OnPnzqVGjRpMmDCBjh07kpaWhqendRJl4MCBXLt2jV9//ZWAgAAWLFhA37592bZtG40aNQKge/fu1KhRg1WrVmE0Gpk5cyYPP/wwR44cISQkBLPZTPfu3QkMDGT9+vVcvnyZQYMGIYoin3zyCQCZmZl07NiRpKQktm7dysGDBxk8eDDu7u68/vrrALi7u/PSSy9Rv3593N3dWb9+PcOGDcPd3Z3nn3++VH106dKFf/3rXxQUFLBu3Tqee+45srOz+fzzzytNPhtpaWl4eXlJvwMDi1IO/+c//5EZ/pcvX6ZBgwb06dPHTuatW7fy1VdfUb++fQrHbdu20b59e+rWrcuXX35JQkIC169f55dffuH1119nzZo1peqjvJTqp7l582Y6d+6Mm5sbPj4+uLm50blzZzZt2lSpQqjI0Wq1NGzYEK321q3XvRtQ9aKMqhdlKksvUgo4rfx1OSZsILOj/++mjl2Z/NG2bLd7wQJhm4Vy6cTmTu+iuT1BlipG+QaS7/RnaGrEcGZEvnTLz3un6+V2oerFHlUnyqh6qXzatm3LSy+9xEsvvYSPjw/+/v6MGzdOmlkNCQmR/f3yyy8kJSURExNT6nFPnz5Nv3798PPzw93dnaZNm7J582ZZne+++46oqCi8vb3p168f169fl7Z17dqVCRMm0Lt3b8Xji6LIzJkzGTt2LL1796Zu3brMmzePnJwcFixYINXbuHEjL7/8Ms2aNSMmJoZx48bh4+PDjh07ALh06RKHDx9m9OjR1K9fn/j4eKZMmUJOTo40G5+SksLff//N/PnzadSoER06dGDatGnMnj2bzExroN/vv/+eGzduMHfuXOrWrUvv3r0ZM2YM06dPl3TZqFEj+vfvT506dYiKiuKpp56ic+fOrFu3rszrZDAYCAkJITw8nAEDBvDkk09KXgWVJZ+NoKAg2TUv/rz5+fnJtqWmpuLm5mZnoGdlZfHkk08ye/ZsfH197a7d4MGDiY+PZ926dXTv3p3Y2FgaNmzIO++8wy+//FKmPsqLwx7dqlWraN26Ndu3b6dfv36MGjWKfv36sX37dtq0acMff/xR6cKoWNFoNERGRqppOUqg6kUZVS/K3IxeHvdrw2O+rQHwf7I2oW80s0aNL4aLRnfXuS9qLAJ1+raQdLK7wRVc431L3aetZ0OGBT1CE7cat0LE24L6DCmj6kUZVS/2qDpRRtVL1TBv3jx0Oh2bN2/m448/ZsaMGXz99dd29c6fP8+yZcsYMmRIqcfLysqiTZs2nD17ll9//ZXdu3czatQoLJYiz6UjR46wZMkSli5dytKlS1mzZg1TpkxxWuZjx46Rnp5Op06dpDKDwUCbNm3YsGGDVPbggw+yaNEirly5gsViYeHCheTl5dG2bVsA/P39qVWrFt9++y3Z2dmYTCa+/PJLgoODadKkCWA18uvWrUtYWJh03M6dO5OXl8f27dulOm3atMFgMMjqnD17luPHjyu2YefOnWzYsIE2bdo43W4bRqORgoKCKpGvUaNGhIaG0r59eztX/5LMmTOHfv364e7uLit/8cUX6d69Ox06dLDbZ9euXezbt4/XX39d8Vn28fEp9ZwVwaGL+xtvvEGjRo1YuXIlHh5FUUCvX79O+/btGT16NFu3bq10gVSs0VDXrl1L69atb2vUT42nS6l5pm81xfWiUsSdcr/cadyMXh73ayv9W+Oixb1RsOPKdwiCWPassVknsunyXlqbrM/QT31O8FjcIA73+83hPhpBQ5JXo0qTszgP+ySy9OrGKjl2eVCfIWVUvSij6sUeVSfK3G16MeVZuHb21vf7vMNc0BmcH8QIDw9nxowZCIJAzZo12bNnDzNmzGDo0KGyevPmzcPT09PhrLaNBQsWcPHiRbZu3Yqfnx8AcXHyZVAWi4W5c+fKXNH/+OMPJk6c6JTM6enpAAQHy/sTwcHBnDhRtOZs0aJF9O3bF39/f3Q6HW5ubvz888/Exloz6AiCQGpqKj179sTT0xONRkNwcDArVqyQDMX09HS78/j6+uLi4iLJkZ6eTlRUlJ0stm3R0dFSefXq1bl48SImk4nk5GSee+45p9psY8uWLSxYsID27dtXqnyhoaF89dVXNGnShLy8PL777jvat2/P6tWrFW2FLVu2sHfvXubMmSMrX7hwITt27HBo1x46dAjglqZMdPi22Lt3L99//73MOAfw9PTkjTfe4Kmnnqpy4e5XRFHk+vXrtz3qZ/jEh8g7cZNhmSuRO0Uvdxr3sl4iZ3VA0FQs7sW9rJeKUqATnNfJLQg38lRAJ54K6FR2RacRCv9bPuHVe0UZVS/KqHqxR9WJMnebXq6dzWfZm6dv+Xm7T66Of7Rr2RULadGihSwmVmJiItOmTcNsNsvcm7/55huefPJJXF2Ljv3CCy8wf/586XdWVha7du2iUaNGknGuRFRUlGScA4SGhnLhwgWnZbZRMpZXydTV48aNIyMjg5UrVxIQEMCSJUvo06cP69ato169eoiiyPDhwwkKCmLdunUYjUa+/vprHn74YbZu3UpoaKjieZTOpSSLUvm6devIyspi06ZNjB49mri4OPr378+6devo2rWrVO/LL7/kySefBGDp0qV4eHhgMpkoKCigZ8+e0vryypKvZs2a1KxZU9qemJjIqVOnmDp1qqKBPmfOHOrWrStL13zq1Cn++c9/kpKSIrtPnNFLVeLQQA8KCnLokqPVamUL8KuSjIwMXnnlFX799VcAHnnkET755BOH7gQFBQWMGzeO5cuXc/ToUby9venQoQNTpkyRuVKolI0+yA190N3lwqtyb6EPcC59mErFKO1To/W6+yKcu2m9aeHXh7pe7W+3KCoqKip3Hd5hLnSffOvS8xU/b2Wzbt060tLSWLRokax8/PjxjBw5UlZmNJbd19Dr5XFYBEGQucCXRUhICGCd/bUZ0QAXLlyQZoaPHDnCrFmz2Lt3L3Xq1AGgQYMGrFu3jk8//ZQvvviCVatWsXTpUjIyMqTAaJ999hmpqanMmzeP0aNHExISYrd+PiMjg4KCAulcISEh0mx1cVnAfpbfNpter149zp8/T3JyMv3796dp06ay1HPF90tKSuLzzz9Hr9cTFhYm019ly1ecFi1ayAZgbOTk5LBw4ULGjx8vK9++fTsXLlyQlgcAmM1m1q5dy6xZs8jLy6NGDesSv/3799OwYUOH565MHBrow4YNY8aMGXTv3l2m1Pz8fKZPn15m9L7KYsCAAZw+fZoVK1YA8PzzzzNw4EB++03ZJTMnJ4cdO3bw1ltv0aBBAzIyMnj11Vd55JFHqiQMvoqKisqdgCCcBSrHFT/0/x7AJdK7Uo51KxEEgWZ+VRupV0VFReVeRWfQlGsm+3ZRMlj1pk2biI+Pl82ez5kzhyZNmtCgQQNZ3aCgIIKCgmRl9evX5+uvv+bKlSulzqLfDNHR0VKQMls09vz8fNasWcP7778PWG0YwG6CVKvVSoMBjupoNBqpTmJiIhMnTuTcuXPSYEBKSgoGg0EyRBMTExkzZgz5+fm4uLhIdcLCwuxcy4sjiiJ5eXmAdWCj5FIAG+7u7g63VaV8O3fulA2A2Pj3v/9NXl6enQd4+/bt2bNnj6zsmWeeISEhgTfeeEMK9Fi7dm2mTZtG37597XR/9erVSl+H7tBA1+v1HD9+nJiYGHr37i2NZPznP/9Bq9Xi6urK9OnTAWun6LXXXqtUwcA6UrFixQo2bdpE8+bNAZg9ezaJiYmkpaXJ3BpseHt7k5qaKiv75JNPaNasGSdPniQiIqLS5axstFotiYmJatTPEqh6UUbVizL3m14uBF+nLANdsFic0ol7k5BKlOzO5367V5xF1Ysyql7sUXWijKqXquHUqVOMGDGCYcOGsWPHDj755BOmTZsmbc/MzOTHH3+UlZVG//79mTRpEr169WLy5MmEhoayc+dOwsLCSExMdOoYWVlZHD58WPp97Ngxdu3ahZ+fHxEREVJu7UmTJhEfH098fDyTJk3Czc2NAQMGANY1znFxcQwbNoypU6fi7+/PkiVLSE1NZenSpYDVcPX19WXQoEG8/fbbGI1GZs+ezbFjx6Tc3p06daJ27doMHDiQDz/8kCtXrjBy5EiGDh0qzboPGDCAd999l8GDBzNmzBgOHTrEpEmTePvttyVX7k8//ZSIiAhp7fX69euZOnUqL7/8slM6cURlyTdz5kyioqKoU6cO+fn5zJ8/n8WLF7N48WK7c86ZM4devXrh7+8vK/f09KRu3bqyMnd3d/z9/aVyQRD417/+RYcOHWjdujVjxowhISGBrKwsfvvtN1JSUio9zVqpQeJsFF8zYGPUqFHSv6vKQN+4cSPe3t6ScQ5W1wVvb282bNigaKArce3aNQRBqJIoe1WBRqOxG91TUfXiCFUvytxvevFvGsEHoXsY9WE9h3UEEZlOyrtW+17lfrtXnEXVizKqXuxRdaKMqpeq4emnnyY3N5dmzZqh1Wp5+eWXZZ69CxcuRBRF+vfv79TxXFxcSElJ4fXXX6dbt26YTCZq167Np59+6rRM27ZtIykpSfo9YsQIAAYNGsTcuXMBq+2Um5vL8OHDycjIoHnz5qSkpEhr2/V6PcuXL2f06NH06NGDrKws4uLimDdvHt26dQMgICCAFStWMHbsWNq1a0dBQQF16tThl19+kbwFtFoty5YtY/jw4bRq1Qqj0ciAAQOYOnWqJJ9tQvPFF1+kadOm+Pr6MmLECElusAbGe/PNNzl27Bg6nY7Y2FimTJnCsGHDnNaLEpUlX35+PiNHjuTMmTMYjUbq1KnDsmXLJF3ZOHjwIOvXryclJaXCMjdr1oxt27YxceJEhg4dyqVLlwgNDaVly5bMnDmzwsd1hCA6iFxRPKKgM0RGRlaKQMWZNGkSc+fO5eDBg7LyGjVq8Mwzz/Dmm2+WeYwbN27w4IMPkpCQoLgmwUZeXp7ksgHW0bfw8HAuXbokjeZoNBq0Wi1ms1m27sRWbjKZZIFAtFotGo3GYbkt3YANW4TP3NxcVq1aRbt27dDr9VK5yWSS1dfr9VgsFsxms1QmCAI6nc5huSPZq7pNJWWvSJvy8vJITU2lXbt2HCg4hVajpYFn3F3dpsq4ThaLhf/+97/S/XIvtKkyrpMoiqSkpMj0cre3qbTr9HH6YrZm7uet94rc+bQmAVEQsRRO3twwipzqqaVz584MOjYZvajl65hRHH3mdwQRanz/yE216ZmjU7AIIgtqvH1X3XsFBQWsWrWKDh064OrqetveEU8fskYD/lfM6Dvi3rPppV27dtIazXvpHVHR63Tjxg1JLy4uLvdEm272Oil9h+72NlXGdbJYLKxcuZKkpCSnvkOV3aarV68SEBDAtWvXpL4sWPvGx44dIzo62mFgrDuVtm3b0rBhwyoxilRUbgdKz6PDGfSqMLhtJCcn8+6775Zaxxbq3pkof44oKCigX79+WCwWPvvss1LrTp48WVGmlJQU3NysgdIiIiJo1KgRf/31FydPnpTq1KxZk4SEBLZs2cLFixel8oYNGxIZGcnatWu5fv26VJ6YmEhQUBApKSmyl3BSUhJGo1Fy0bf9v1u3buTm5spy++l0Orp3786lS5fYuLEoTZGnpyft2rXj1KlTssANgYGBtGzZkkOHDpGWliaV36o2LV++XKbXirTpzJkzmM1mSS+BgYHQMu6ublNlXKfY2FiZXu6FNlXGdXrooYfs9HK3t6m066TLhT4H6nOgj7VzqCmAWj8JZAfDiaRi47CFHbmoa740PxvB8gPLoQ+4n4MacFNt6kN9NodZ69yN996RI0eoU6fObXtH9DlQH4DlB5bfUfdeamrqHXWd7pR3eWpq6j3XJqjYdapbt67d+/Zub1NlXKcHHngAk8nEn3/+eVvatHPnTlRUVO4+HM6g37hxg/z8fNmI27///W927NhBx44dpVx2FeHSpUtcunSp1DpRUVEsWLCAESNGcPXqVdk2Hx8fZsyYwTPPPONw/4KCAp544gmOHj3KqlWr7NYclOROm0FPTU2lY8eO6gx6Mdnz8vJYsWKFpJd7oU2VNYO+fPlySS/3Qpsqawb9999/l+nlbm9Taddp3sXfWZmxvdQZ9EwfE2c7aunWrRuvnPyYbl7N6eLTXJ1BLyggNTWVzp0739YZ9NyCG4iIGDQud8S9Z9NLx44d1Rl05DPoNr2oM+iOv0N3e5sqawa9eL/lVrdJnUFXUbnzKdcM+sCBA3F3d5fWTXz88ce8+uqrAHz44Yf89ttvdj7+zhIQEEBAQECZ9RITE7l27RpbtmyRctZt3ryZa9eu0bJlS4f72YzzQ4cO8eeff5ZpnAMYDAYMBvu0Qnq93i61glarVQz4YXuxOlte8rgly0ueW6m+RqNRTIfnqNyR7LeqTc6Ul9Ym2z7F97vb23Sz18nWeVC6V+/WNsHNXydbJ09JL0r1S5P9TmlTaeUDAjpSzz0WrUm+JEgQBbSFfT1NsT7f57GvF8lrKvJIupk2mbQWxfKyZC9veVVdJ9u/b9c7wt1gn9byTrj3bAOijmR3VH43P0+OyjUajewbbTvX3d6mm71OFfkO3eltKq3c2TZV5DvkqLwibXJ0/LuZ1atX324RVFSqHIcz6JGRkbz//vv069cPgLi4OFq2bMmsWbMYMmQIly9fZtWqVVUuYNeuXTl79ixffvklYE2zFhkZKUuzlpCQwOTJk3n00UcxmUw89thj7Nixg6VLl8py5fn5+Umh+ssiMzMTb29vu1HHW4Eoily/fh1PT0+nXPnvF1S9KKPqRZn7VS8nR64m//R1xW35XlB9ahs7nRRcysWSnY/hJlOrXSi4SqY5mzjXajd1nFvN/XqvlIWqF2VUvdij6kSZ260XR33Zu3kGXUXlXkPpebQfcivk4sWLVKtm7WQdO3aMo0eP8vLLL+Pl5cWQIUPYu3fvLRH6+++/p169enTq1IlOnTpRv359vvvuO1mdtLQ0rl27BsDp06f59ddfOX36NA0bNiQ0NFT627Bhwy2RuTKwuROqyFH1ooyqF2XuR70EPlvX4TZXjYuiTvQBxps2zgGC9D53nXFu4368V5xB1Ysyql7sUXWijKoXFRWV8uLQQHdzc5OM3nXr1uHh4UHTpk0BcHV1JSsr65YI6Ofnx/z588nMzCQzM5P58+fbpUsTRZHBgwcD1rXroigq/rVt2/aWyHyzmEwmli9fbrcG6X5H1Ysyql6UuV/1ouwTZcWi477USVncr/dKWah6UUbViz2qTpRR9aKiolIRHK5Br1evHp9++imRkZF89tlnJCUlSe45J0+eJCQk5JYJqaKioqKioqKioqKioqJyr+PQQH/rrbd4+OGHadiwIS4uLqxcuVLatmzZMho3bnxLBFRRUVFRqRy8O0YCaWXWU1FRUVFRUVFRuT04NNDbtWvH/v372b59Ow0bNiQmJka2rWHDhrdCPhUVFRWVSsKnWywsVw10FRUVFRUVFZU7FYdR3O93bncUd5PJhE6nU6OhFkPVizKqXpS5X/ViyTezYvwSdtWN4oklZ2XbYn94+L7USVncr/dKWah6UUbViz2qTpS53XpRo7hXDsnJySxZsoRdu3bdblFU7kHKFcX95MmTZf6pVB25ubm3W4Q7ElUvyqh6UeZ+1IvGRcu3A6/zV11vPn4+mvl9qsu23486cQZVL8qoelFG1Ys9qk6UUfVyazl//jyDBw8mLCwMNzc3unTpwqFDh6r8vGvXrqVHjx6EhYUhCAJLliyxqyOKIsnJyYSFhWE0Gmnbti379u2T1UlPT2fgwIGEhITg7u5O48aN+emnn2R1duzYQceOHfHx8cHf35/nn39eMXj33LlzqV+/Pq6uroSEhPDSSy/Jtu/Zs4c2bdpgNBqpVq0a48ePp+S87Zo1a2jSpAmurq7ExMTwxRdflKmLwYMHIwgCgiCg1+uJiYlh5MiRZGdnS3VOnjxJjx49cHd3JyAggFdeeYX8/Pxyy5eXl8fYsWOJjIzEYDAQGxvLN998I6tz9epVXnzxRUJDQ3F1daVWrVosX75c2j558mQeeOABPD09CQoKolevXqSlKXsbLliwAK1WywsvvFCmHm4GhwZ6VFQU0dHRpf6pVA0mk4k///xTjfpZAlUvyqh6UUbVC1wIcuWGa9FrXtWJMqpelFH1ooyqF3tUnSij6uXWIooivXr14ujRo/zyyy/s3LmTyMhIOnToIDMOq4Ls7GwaNGjArFmzHNb54IMPmD59OrNmzWLr1q2EhITQsWNHrl+/LtUZOHAgaWlp/Prrr+zZs4fevXvTt29fdu7cCcDZs2fp0KEDcXFxbN68mRUrVrBv3z4pm5WN6dOnM3bsWEaPHs2+ffv4448/6Ny5s7Q9MzOTjh07EhYWxtatW/nkk0+YOnUq06dPl+ocO3aMbt268dBDD7Fz507GjBnDK6+8wuLFi8vUR5cuXTh37hxHjx5lwoQJfPbZZ4wcORIAs9lM9+7dyc7OZv369SxcuJDFixfz+uuvl0s+gCeeeII//viDOXPmkJaWxg8//EBCQoK0PT8/n44dO3L8+HF++ukn0tLSmD17tpRKHKyDEC+++CKbNm0iNTUVk8lEp06dFO+Zb775hlGjRrFw4UJycnLK1EOFER3wr3/9S5w7d67sb+rUqWLr1q3FmJgY8ZtvvnG06z3BtWvXREC8du3aLT93fn6+uGTJEjE/P/+Wn/tORtWLMqpe/r+9O4+Lqtz/AP4ZZhgYCEaRbZArkgu4ooELYqGp4JJLVlLkQplpuVOWpiZWV7lZWm6pBWY3NStRye1CCSgXNZfBXUHF3EADFURlne/vD3+c6zAHGIYZZtDv+/WaV3HO8Znn+5kzz8wz58wZcU9yLmFnv6WwE5kUdiKTPtyeTplh8ZT27u4nOpPqcC7iOBdxnIsuzkScuXOp6r3sgwcP6PTp0/TgwQOz9KsugoODaeLEiTRx4kRSKpXk5OREs2fPJo1GQ+fOnSMAdPLkSWH7srIycnJyom+//bbadq9cuUJhYWHUuHFjsrOzI39/fzpw4AAREc2bN4/8/Pzohx9+IC8vL3J0dKSwsDAqKCgQbQsAbdmyRWuZRqMhd3d3io6OFpYVFRWRUqmkVatWCcvs7e3phx9+0Pq3Tk5O9N133xER0erVq8nV1ZXKy8uF9Wq1mgBQZmYmERHdunWLFAoF/f7771XWu3LlSlIqlVRUVCQsW7hwIXl4eJBGoyEiog8++IB8fX21/t348eOpe/fuVbZLRDRmzBgaOnSo1rK33nqL3N3diYho586dZGVlRdeuXRPWb9y4kWxsbIR9VZ/+7dq1i5RKJeXl5VXZl2+++YaefvrpWj0Hb968SQAoJSVFa3lWVhYpFAq6c+cOdevWjdatW6d3m9URez5WeQQ9IiICY8aM0bq99957SElJwTPPPIMrV66Y7lMDxhhjhrO6BsgOAAAk/3822BkfBzN2iDHGGDOOdevWQSaT4eDBg1i6dCmWLFmC7777DsXFxQCg9b16qVQKuVyO1NTUKtsrLCxEcHAwrl+/jvj4eBw7dgwffPABNBqNsM2FCxewdetWbN++Hdu3b0dKSgqio6P17nNWVhZycnIQEhIiLLOxsUFwcDDS0tKEZT179sSmTZtw69YtaDQa/PTTTyguLkavXr0APDylWy6Xw8rqf1M4hUIBAEKNiYmJ0Gg0uHbtGtq0aQNPT0+MGDFCa+62f/9+BAcHw8bGRlgWGhqK69ev49KlS8I2j/a3YpvDhw+jtLRU79or+ljxb/bv34/27dvDw8NDq93i4mIcOXJE7/7Fx8cjICAAn3/+OZo2bYrWrVvj/fff1/paSXx8PAIDAzFx4kS4ubmhffv2WLBgAcrLy6vsa35+PgDAyclJa3lsbCwGDRoEpVKJkSNHIiYmplYZ1EaVV3GvTkREBN555x18/PHHxu4P+38ymUEPzWOPcxHHuYh7YnORAJBdAMq666x6YjOpAecijnMRx7no4kzENaRcNMVlKLmu+11mU5N7PAUrG/1z+sc//oElS5ZAIpHAx8cHJ06cwJIlS3Ds2DF4eXlh1qxZWL16Nezt7bF48WLk5OQgOzu7yvY2bNiAv//+G4cOHRImZS1bttTaRqPR4Pvvv4eDw8MPu0eNGoU//vgD//znP/Xqc05ODgDAzc1Na7mbmxv++usv4e9NmzYhLCwMTZo0gUwmg52dHbZs2YIWLVoAePhLWpGRkVi0aBGmTp2Ke/fu4aOPPgIAocaLFy9Co9FgwYIF+Prrr6FUKjFnzhz069cPx48fh1wuR05ODpo3b67Tl4q+ent7IycnR7S/ZWVlyM3NhUql0qv2P//8Exs2bECfPn2E9iu327hxY6FfFdvU1L+LFy8iNTUVtra22LJlC3Jzc/Huu+/i1q1bwvfQL168iD179uD111/Hzp07kZmZiYkTJ6KsrEx0HktEiIyMRM+ePdG+fXthecXjv2zZMgDAq6++isjISJw/f15nXzEGg0aNsrIy3Llzx8hdYRWsra0xaNAgc3fD4nAu4jgXcZyLLs5EHOcijnMRx7no4kzENbRcSq4X4uqsffV+v54Ln4WtdyO9t+/evbvWVfEDAwPx5ZdfwsrKCps3b8bYsWPh5OQEqVSKvn37YsCAAcK2EyZMwI8//ij8XVhYiPT0dHTu3FnniOmjmjdvLkzOAUClUuHmzZt697lC5av5E5HWsjlz5uD27dv4/fff4ezsjK1bt+KVV17Bvn370KFDB7Rr1w7r1q1DZGQkZs2aBalUiilTpsDNzQ1SqRTAw8lkaWkpli5dKhwB37hxI9zd3ZGUlCR8F12sL5WXV7fNvn37tLJdvXo1Xn/9dQDA9u3b8dRTT6GsrAylpaUYOnSoMLkVa1csi5r6p9FoIJFIsH79eiiVSgAPv3v/8ssvY8WKFVAoFNBoNHB1dcWaNWsglUrh7++P69evY9GiRaIT9EmTJuH48eM6Z1wkJCTg3r17Qr3Ozs4ICQlBbGwsFixYoNNOXdVqgl5aWorjx49j3rx58PPzM3pn2EMajQa5ublwdnbWOoXlSce5iONcxHEuujgTcZyLOM5FHOeiizMR19BykXs8Bc+Fz5rlfo3F398f6enpyM/PR0lJCVxcXNCtWzcEBAQAAD755BPhYmUVKk4Rr461tbXW3xKJROsU+Jq4u7sDeHj099Ejzzdv3hSODF+4cAHLly/HyZMn0a5dOwCAn58f9u3bhxUrVghXUA8PD0d4eDhu3LgBe3t7SCQSLF68WLiAd0X7bdu2Fe7HxcUFzs7Owq9wubu7C0erH+0L8L8j1VVtI5PJ0KRJEyiVSq2fnnv0qHjv3r3xzTffwNraGh4eHlr5ubu74+DBg1rt3r59G6WlpTXe96P3o1Kp0LRpU2FyDgBt2rQBEeHq1ato1aoVVCoVrK2thQ8vKrbJyclBSUkJ5HK5sHzy5MmIj4/H3r174emp/Qs4sbGxuHXrFuzs7IRlGo0GarUan376qVb7xlDlaGFlZQWpVKp1s7W1RdeuXXH16lV89dVXRu0I+5/y8nLs37+/2u9HPIk4F3GcizjORZuTTMqZVIFzEce5iONcdHEm4hpaLlY2Mth6N6r3W21ObweAAwcO6PzdqlUrrUmSUqmEi4sLMjMzcfjwYQwdOhQA4OrqipYtWwo3AOjYsSPS09Nx69atOiZYNW9vb7i7uyMxMVFYVlJSgpSUFPTo0QMAhKuCV/4wRyqVin4Y4ObmhqeeegqbNm2Cra0t+vXrBwAICgoCAK2fCrt16xZyc3Ph5eUF4OFZB3v37tX6abOEhAR4eHgIp5YHBgZq9bdim4CAAFhbW0OhUGhl+egZBvb29mjZsiW8vLx0PtwIDAzEyZMntb52kJCQABsbG/j7++vdv6CgIFy/fl3rJ+YyMjJgZWUlTLCDgoJw/vx5rfwyMjKgUqmEyTkRYdKkSYiLi8OePXt0fqksLy8P27Ztw08//YT09HStW2FhIXbt2qXz2NRVlc+Ijz/+WOfUAltbWzRv3hwDBw7UehAYY4xZtnb2NR8hYIwxxizdlStXEBkZifHjx+Po0aNYtmwZvvzySwDAL7/8AhcXFzRr1gwnTpzA1KlTMWzYMJ2LnT3qtddew4IFCzBs2DAsXLgQKpUKarUaHh4eCAwM1KtPhYWFOH/+vPB3VlYW0tPT4eTkhGbNmkEikWDatGlYsGABWrVqhVatWmHBggWws7NDeHg4AMDX1xctW7bE+PHj8cUXX6BJkybYunUrEhMTsX37dqHt5cuXo0ePHnjqqaeQmJiIGTNmIDo6Go0aNQIAtG7dGkOHDsXUqVOxZs0aODo6YtasWfD19UXv3r0BPDwKP3/+fEREROCjjz5CZmYmFixYoDX/mzBhApYvX47IyEiMGzcO+/fvR0xMDDZu3Kj/gyUiJCQEbdu2xahRo7Bo0SLcunUL77//PsaNGwdHR0e9+xceHo5PP/0Ub7zxBubPn4/c3FzMmDEDb775pnBWxDvvvINly5Zh6tSpmDx5stDOlClThP5MnDgRGzZswLZt2+Dg4CAcuVcqlVAoFPj3v/+NJk2a4JVXXtH58OSFF15ATEwMXnjhhTplUlmVE/SoqCij3hFjjDHzkUD3+16MMcZYQzN69Gg8ePAAXbt2hVQqxeTJk/H2228DeHihtMjISNy4cQMqlQqjR4/G3Llzq21PLpcjISEB7733HgYOHIiysjK0bdsWK1as0LtPhw8fFia/ABAZGQkAGDNmDL7//nsAwAcffIAHDx7g3Xffxe3bt9GtWzckJCQIBz2tra2xc+dOzJw5E4MHD0ZhYSFatmyJdevWYeDAgULbf/75J+bNm4fCwkL4+vpi9erVGDVqlFZ/fvjhB0yfPh2DBg2ClZUVgoODsXv3buFotlKpRGJiIiZOnIiAgAA0btwYkZGRQr+Bh0f9d+7cienTp2PFihXw8PDA0qVL8dJLL+mdixipVIodO3bg3XffRVBQEBQKBcLDw/HFF18I2+jTv4oPKCZPnoyAgAA0adIEI0aMwGeffSZs849//AMJCQmYPn06OnbsiKZNm2Lq1Kn48MMPhW2++eYbABCulF9h7dq1iIiIQGxsLF588UXRr6m89NJLCAsLw40bN3QufFcXEqr4xn0lpaWlKCkpgb29vc66e/fuQS6X65yy8DgpKCiAUqlEfn6+8GlOfSkrK8PevXvx3HPPNairf5oa5yKOcxH3JOfy6vn5D/+n6HV4X7qHsT9eBg1sDu/wNk9sJtV5kveV6nAu4jgXXZyJOHPnUtV72aKiImRlZcHb21vrJ8kagl69eqFTp078VVv22BB7PlY5Wrz11lsoKSkRPY3h7bffhkKhwHfffWe63j7BZDIZnn/+eXN3w+JwLuI4F3Gciy7ORBznIo5zEce56OJMxHEujDFDVHmRuOTkZAwZMkR03eDBg/HHH3+YrFNPOo1Gg7/++qtWV4d8EnAu4jgXcZxLJcSZVIVzEce5iONcdHEm4jgXxpghqpygV3x3Q4zYpe+Z8ZSXlyM9Pb3BXPWzvnAu4jgXcZyLLs5EHOcijnMRx7no4kzEcS7Gl5yczKe3s8delRP0Ro0aaV2N8FHnz5/nq7gzxlgDYiez/N/gZYwxxhh70lX5jq13795YuHChzm8C3rp1C9HR0fydGsYYs3AvuTQGZCcAADYiVx9ljDHGGGOWpdqfWevSpQtatWqFsLAwNG3aFFevXsUvv/yC0tJSzJ8/vz77+USRSCRwcXHR+R36Jx3nIo5zEce5AK+4NcFRqxsAlAA4k6pwLuI4F3Gciy7ORJyl58LfjWfM/MSeh1X+zBoAHDt2DJGRkdi7dy/Ky8shlUoRHByMxYsXo2PHjibtrLmZ82fWGGOsLip+Zu2nlvPw4e9fYNx3Pmj8Ums0ecXHzD1jjDFWX6p6L6vRaJCZmQmpVAoXFxfI5XKL/RCBsccVEaGkpAR///03ysvL0apVK+G31qv9UUY/Pz/88ccfePDgAW7fvg0nJ6cG93uJDVF5eTkyMzPRqlUrSKVSc3fHYnAu4jgXcZzLQ4O7hsD2vhSN+7fkTKrAuYjjXMRxLro4E3GWmouVlRW8vb2RnZ2N69evm7s7jD3R7Ozs0KxZM2FyDtQwQa+gUCigUChM1jGmTaPR4Ny5c2jRooVFDejmxrmI41zEPem5KKX2AICejh2B///FzNLS0ic6k6o86ftKVTgXcZyLLs5EnCXnIpfL0axZM5SVlfFV5hkzE6lUCplMpnMGi14TdMYYYw3HV80mw07KZzsxxhirmkQigbW1Naytrc3dFcbYIyz+sr63b9/GqFGjoFQqoVQqMWrUKNy5c6fafxMVFQVfX1/Y29ujcePG6Nu3Lw4ePFg/HWaMMTNzlzvBUWpn7m4wxhhjjLFasvgJenh4ONLT07F7927s3r0b6enpGDVqVLX/pnXr1li+fDlOnDiB1NRUNG/eHCEhIfj777/rqdd1Y2VlpfNdBMa5VIVzEce56OJMxHEu4jgXcZyLLs5EHOfCGDNEtVdxN7czZ86gbdu2OHDgALp16wYAOHDgAAIDA3H27Fn4+Oh3ReKKq1j+/vvv6NOnT63+DV/FnTHGGGOMNTT8XpaxhsmiP9Lbv38/lEqlMDkHgO7du0OpVCItLU2vNkpKSrBmzRoolUr4+fmZqqtGVV5eDrVazRftqIRzEce5iONcdHEm4jgXcZyLOM5FF2cijnNhjBnCoi8Sl5OTA1dXV53lrq6uyMnJqfbfbt++Ha+++iru378PlUqFxMREODs7V7l9cXExiouLhb8LCgoAPLzqcWlpKYCHpypJpVKUl5dr/ah8xfKysjI8ekKCVCqFlZVVlcsr2q0gk8mEvly+fBk+Pj6wtrYWlpeVlWltb21tDY1GozXwSyQSyGSyKpdX1XdT11S574bUVFZWppXL41CTMR4njUajlcvjUJMxHici0smloddU18eptLQUly9fRvv27SGRSB6Lmh7tu6GPU0Uubdq0eWxqqrzckJoqcvHx8RF+yaWh16RP32uq6dHXaLlc/ljUVNfHSex1qKHXZIzHSSyX+qypcpaMsYbBLBP0qKgozJ8/v9ptDh06BAA6l50HHr7xFlv+qN69eyM9PR25ubn49ttvMWLECBw8eFB0wg8ACxcuFO1TQkIC7OweXmypWbNm6Ny5M44fP47Lly8L2/j4+MDX1xd//vmn1vfcO3XqBC8vL+zduxd3794VlgcGBsLV1RUJCQlag3Dv3r2hUCiQmJgIAMJ/Bw4ciAcPHiApKUnYViaTYdCgQcjNzcX+/fuF5Q4ODnj++edx5coVpKenC8tdXFzQo0cPZGZm4ty5c8Ly+qpp586dWrkaUtO1a9e0cnkcajLG49SiRQutXB6HmozxOD377LM6uTT0mozxOFV4nGoy1uN04cIFtGvX7rGqyRiPU2Ji4mNXE1D3xykxMfGxqwkw7HFq3769kMnjUpMxHqcuXboAAJKSksxSk1qtBmOs4THLd9Bzc3ORm5tb7TbNmzfHhg0bEBkZqXPV9kaNGmHJkiV444039L7PVq1a4c0338SsWbNE11c+gp6fn49mzZohKysLDg4OAOrvk++Kwbl37958BP2RvhcXF+P3338XcnkcajLWEfSEhAQhl8ehJmMdQa+YWPAR9P8dQU9KSkJISIjQz4Ze06N9r8sR9KSkJPTp0we2traPRU2Vlxt6BL3itYiPoP+vpqKiIiEXPoJe9etQQ6/JWEfQH33fUt815efnw9vbG3fu3IFSqQRjrGEwyxF0Z2fnak83rxAYGIj8/Hz8+eef6Nq1KwDg4MGDyM/PR48ePWp1n0SkNQGvzMbGBjY2NsLfFae4e3t71+p+GGOMMcYYsxR3797lCTpjDYhFX8UdAAYMGIDr169j9erVAIC3334bXl5e+O2334RtfH19sXDhQrz44ou4d+8e/vnPf2LIkCFQqVTIy8vDypUr8eOPP+LIkSNo166dXver0Whw/fp1ODg41Hg6vbEVFBTgH//4B65cucJX3XwE5yKOcxHHuejiTMRxLuI4F3Gciy7ORJy5cyEi3L17Fx4eHvxTb4w1IBZ9kTgAWL9+PaZMmYKQkBAAwJAhQ7B8+XKtbc6dO4f8/HwAD08zOnv2LNatW4fc3Fw0adIEXbp0wb59+/SenAMPT2Py9PQ0XiEGcHR05Bc6EZyLOM5FHOeiizMRx7mI41zEcS66OBNx5syFj5wz1vBY/ATdyckJP/74Y7XbPHoSgK2tLeLi4kzdLcYYY4wxxhhjzKj4fBfGGGOMMcYYY8wC8ATdAtnY2GDevHlaF61jnEtVOBdxnIsuzkQc5yKOcxHHuejiTMRxLowxQ1j8ReIYY4wxxhhjjLEnAR9BZ4wxxhhjjDHGLABP0BljjDHGGGOMMQvAE3TGGGOMMcYYY8wC8ASdMcYYY4wxxhizADxBN5GFCxeiS5cucHBwgKurK4YNG4Zz585pbUNEiIqKgoeHBxQKBXr16oVTp04J62/duoXJkyfDx8cHdnZ2aNasGaZMmYL8/HytdoYMGYJmzZrB1tYWKpUKo0aNwvXr1+ulztrgTMRxLuI4F3Gciy7ORBznIo5zEce56OJMGGNmQcwkQkNDae3atXTy5ElKT0+nQYMGUbNmzaiwsFDYJjo6mhwcHGjz5s104sQJCgsLI5VKRQUFBUREdOLECRo+fDjFx8fT+fPn6Y8//qBWrVrRSy+9pHVfixcvpv3799OlS5fov//9LwUGBlJgYGC91qsPzkQc5yKOcxHHuejiTMRxLuI4F3Gciy7OhDFmDjxBryc3b94kAJSSkkJERBqNhtzd3Sk6OlrYpqioiJRKJa1atarKdn7++WeSy+VUWlpa5Tbbtm0jiURCJSUlxivABDgTcZyLOM5FHOeiizMRx7mI41zEcS66OBPGWH3gU9zrScWpTE5OTgCArKws5OTkICQkRNjGxsYGwcHBSEtLq7YdR0dHyGQy0fW3bt3C+vXr0aNHD1hbWxuxAuPjTMRxLuI4F3Gciy7ORBznIo5zEce56OJMGGP1gSfo9YCIEBkZiZ49e6J9+/YAgJycHACAm5ub1rZubm7Cusry8vLw6aefYvz48TrrPvzwQ9jb26NJkya4fPkytm3bZuQqjIszEce5iONcxHEuujgTcZyLOM5FHOeiizNhjNUXnqDXg0mTJuH48ePYuHGjzjqJRKL1NxHpLAOAgoICDBo0CG3btsW8efN01s+YMQNqtRoJCQmQSqUYPXo0iMh4RRgZZyKOcxHHuYjjXHRxJuI4F3GcizjORRdnwhirN/VxHv2TbNKkSeTp6UkXL17UWn7hwgUCQEePHtVaPmTIEBo9erTWsoKCAgoMDKQ+ffrQgwcParzPK1euEABKS0urewEmwJmI41zEcS7iOBddnIk4zkUc5yKOc9HFmTDG6hMfQTcRIsKkSZMQFxeHPXv2wNvbW2u9t7c33N3dkZiYKCwrKSlBSkoKevToISwrKChASEgI5HI54uPjYWtrq9d9A0BxcbGRqjEOzkQc5yKOcxHHuejiTMRxLuI4F3Gciy7OhDFmFvX7ecCT45133iGlUknJycmUnZ0t3O7fvy9sEx0dTUqlkuLi4ujEiRP02muvaf00R0FBAXXr1o06dOhA58+f12qnrKyMiIgOHjxIy5YtI7VaTZcuXaI9e/ZQz549qUWLFlRUVGSW2qvCmYjjXMRxLuI4F12ciTjORRznIo5z0cWZMMbMgSfoJgJA9LZ27VphG41GQ/PmzSN3d3eysbGh5557jk6cOCGsT0pKqrKdrKwsIiI6fvw49e7dm5ycnMjGxoaaN29OEyZMoKtXr9ZzxTXjTMRxLuI4F3Gciy7ORBznIo5zEce56OJMGGPmICHiq08wxhhjjDHGGGPmxt9BZ4wxxhhjjDHGLABP0BljjDHGGGOMMQvAE3TGGGOMMcYYY8wC8ASdMcYYY4wxxhizADxBZ4wxxhhjjDHGLABP0BljjDHGGGOMMQvAE3QTWLlyJby9vWFrawt/f3/s27dPa/2ZM2cwZMgQKJVKODg4oHv37rh8+bJOO97e3ti9ezeKiooQERGBDh06QCaTYdiwYTrbZmdnIzw8HD4+PrCyssK0adNMVJ3hzJFLXFwc+vXrBxcXFzg6OiIwMBD/+c9/TFWiQcyRS2pqKoKCgtCkSRMoFAr4+vpiyZIlpiqx1syRyaP++9//QiaToVOnTkasqu7MkUtycjIkEonO7ezZs6Yqs9bMtb8UFxdj9uzZ8PLygo2NDVq0aIHY2FhTlGgQzkWXOTKJiIgQfQ61a9fOVGXWmrn2lfXr18PPzw92dnZQqVR44403kJeXZ4oSDWKuXFasWIE2bdpAoVDAx8cHP/zwgynKY4xZKJ6gG9mmTZswbdo0zJ49G2q1Gs8++ywGDBggDNgXLlxAz5494evri+TkZBw7dgxz586Fra2tVjvHjx9HXl4eevfujfLycigUCkyZMgV9+/YVvd/i4mK4uLhg9uzZ8PPzM3mdtWWuXPbu3Yt+/fph586dOHLkCHr37o3BgwdDrVabvGZ9mCsXe3t7TJo0CXv37sWZM2cwZ84czJkzB2vWrDF5zTUxVyYV8vPzMXr0aPTp08dkNRrC3LmcO3cO2dnZwq1Vq1Ymq7U2zJnLiBEj8McffyAmJgbnzp3Dxo0b4evra9J69cW56DJXJl9//bXWc+fKlStwcnLCK6+8YvKa9WGuXFJTUzF69GiMHTsWp06dwi+//IJDhw7hrbfeMnnN+jBXLt988w1mzZqFqKgonDp1CvPnz8fEiRPx22+/mbxmxpiFIGZUXbt2pQkTJmgt8/X1pZkzZxIRUVhYGI0cObLGdj755BN6+eWXdZaPGTOGhg4dWu2/DQ4OpqlTp+rd5/pgCblUaNu2Lc2fP1+vbU3NknJ58cUX9bovUzN3JmFhYTRnzhyaN28e+fn51arvpmSuXJKSkggA3b5926B+m5q5ctm1axcplUrKy8szrOMmxrnoMvfYUmHLli0kkUjo0qVL+nXcxMyVy6JFi+jpp5/WWrZ06VLy9PSsRe9Nx1y5BAYG0vvvv6+1bOrUqRQUFFSL3jPGGjI+gm5EJSUlOHLkCEJCQrSWh4SEIC0tDRqNBjt27EDr1q0RGhoKV1dXdOvWDVu3btVpKz4+HkOHDq2nnpuWJeWi0Whw9+5dODk5GdyGsVhSLmq1GmlpaQgODja4DWMwdyZr167FhQsXMG/evLqUYXTmzgUAOnfuDJVKhT59+iApKcnQUozKnLnEx8cjICAAn3/+OZo2bYrWrVvj/fffx4MHD+paVp1xLros4TlUISYmBn379oWXl5fBbRiLOXPp0aMHrl69ip07d4KIcOPGDfz6668YNGhQXcuqM3PmUlxcrHMUXqFQ4M8//0RpaalB9TDGGhaeoBtRbm4uysvL4ebmprXczc0NOTk5uHnzJgoLCxEdHY3+/fsjISEBL774IoYPH46UlBRh+2vXruHYsWMYOHBgfZdgEpaUy5dffol79+5hxIgRBrdhLJaQi6enJ2xsbBAQEICJEyea/dRCc2aSmZmJmTNnYv369ZDJZEaryRjMmYtKpcKaNWuwefNmxMXFwcfHB3369MHevXuNVp+hzJnLxYsXkZqaipMnT2LLli346quv8Ouvv2LixIlGq89QnIsuSxhvgYfXi9m1a5fZx9oK5sylR48eWL9+PcLCwiCXy+Hu7o5GjRph2bJlRqvPUObMJTQ0FN999x2OHDkCIsLhw4cRGxuL0tJS5ObmGq1Gxpjlsqx3oY8JiUSi9TcRQSKRQKPRAACGDh2K6dOnAwA6deqEtLQ0rFq1Sjh6GR8fj6CgIIs4ymtM5s5l48aNiIqKwrZt2+Dq6lqHSozLnLns27cPhYWFOHDgAGbOnImWLVvitddeq2NFdVffmZSXlyM8PBzz589H69atjViJcZljX/Hx8YGPj4/wd2BgIK5cuYIvvvgCzz33XF1LMgpz5KLRaCCRSLB+/XoolUoAwOLFi/Hyyy9jxYoVUCgUxiitTjgXXeZ+Hfr+++/RqFGjGi9UWd/Mkcvp06cxZcoUfPzxxwgNDUV2djZmzJiBCRMmICYmxkiV1Y05cpk7dy5ycnLQvXt3EBHc3NwQERGBzz//HFKp1EiVMcYsGR9BNyJnZ2dIpVLk5ORoLb958ybc3Nzg7OwMmUyGtm3baq1v06aN1lU/H6fT2wHLyGXTpk0YO3Ysfv755xovhlVfLCEXb29vdOjQAePGjcP06dMRFRVlUDvGYq5M7t69i8OHD2PSpEmQyWSQyWT45JNPcOzYMchkMuzZs6duhdWRJewrj+revTsyMzPr3E5dmTMXlUqFpk2bCpPQinaJCFevXjWgGuPhXHRZwnOIiBAbG4tRo0ZBLpcb1IaxmTOXhQsXIigoCDNmzEDHjh0RGhqKlStXIjY2FtnZ2YYXZQTmzEWhUCA2Nhb379/HpUuXcPnyZTRv3hwODg5wdnY2vCjGWIPBE3Qjksvl8Pf3R2JiotbyxMRE9OjRA3K5HF26dMG5c+e01mdkZAjfRSssLERSUhKGDBlSb/02NXPnsnHjRkRERGDDhg0W8d22CubOpTIiQnFxcZ3bqQtzZeLo6IgTJ04gPT1duE2YMAE+Pj5IT09Ht27d6l5cHVjavqJWq6FSqercTl2ZM5egoCBcv34dhYWFWu1aWVnB09PTwIqMg3PRZQnPoZSUFJw/fx5jx441rAgTMGcu9+/fh5WV9tvQiiPERFTbUozKEvYXa2treHp6QiqV4qeffsILL7ygkxdj7DFV31ele9z99NNPZG1tTTExMXT69GmaNm0a2dvbC1drjYuLI2tra1qzZg1lZmbSsmXLSCqV0r59+4iI6JdffqH27dvrtHvq1ClSq9U0ePBg6tWrF6nValKr1VrbVCzz9/en8PBwUqvVdOrUKZPXrA9z5bJhwwaSyWS0YsUKys7OFm537typl7prYq5cli9fTvHx8ZSRkUEZGRkUGxtLjo6ONHv27HqpuzrmfA49ytKu4m6uXJYsWUJbtmyhjIwMOnnyJM2cOZMA0ObNm+ul7pqYK5e7d++Sp6cnvfzyy3Tq1ClKSUmhVq1a0VtvvVUvddeEc9Fl7rFl5MiR1K1bN5PWaAhz5bJ27VqSyWS0cuVKunDhAqWmplJAQAB17dq1XuquiblyOXfuHP373/+mjIwMOnjwIIWFhZGTkxNlZWXVR9mMMQvAE3QTWLFiBXl5eZFcLqdnnnmGUlJStNbHxMRQy5YtydbWlvz8/Gjr1q3CupEjR4pOkry8vAiAzu1RYuu9vLxMUqMhzJFLcHCw6PoxY8aYrM7aMkcuS5cupXbt2pGdnR05OjpS586daeXKlVReXm66QmvBXM+hR1naBJ3IPLn861//ohYtWpCtrS01btyYevbsSTt27DBdkQYw1/5y5swZ6tu3LykUCvL09KTIyEi6f/++aYo0AOeiy1yZ3LlzhxQKBa1Zs8Y0hdWRuXJZunQptW3blhQKBalUKnr99dfp6tWrpinSAObI5fTp09SpUydSKBTk6OhIQ4cOpbNnz5quSMaYxZEQmfk8IiYoLy+Hq6srdu3aha5du5q7OxaDcxHHuejiTMRxLuI4F3Gciy7ORBznIo5zYYzVBX+ZxYLk5eVh+vTp6NKli7m7YlE4F3Gciy7ORBznIo5zEce56OJMxHEu4jgXxlhd8BF0xhhjjDHGGGPMAvARdMYYY4wxxhhjzALwBJ0xxhhjjDHGGLMAPEE3ooULF6JLly5wcHCAq6srhg0bpvMbmUSEqKgoeHh4QKFQoFevXjh16lS17SYnJ2Po0KFQqVSwt7dHp06dsH79ep3t1q9fDz8/P9jZ2UGlUuGNN95AXl6eUWs01N69ezF48GB4eHhAIpFg69atOtucOXMGQ4YMgVKphIODA7p3747Lly/r1f758+fh4OCARo0aaS1PTU1FUFAQmjRpAoVCAV9fXyxZssQIFdVddZmUlpbiww8/RIcOHWBvbw8PDw+MHj0a169fr7bNS5cuQSKR6Nx2794tbBMRESG6Tbt27UxVaq2tXLkS3t7esLW1hb+/P/bt2yesu3HjBiIiIuDh4QE7Ozv0798fmZmZ1bZXVFSEiIgIdOjQATKZDMOGDdPZJi4uDv369YOLiwscHR0RGBiI//znP8YurU6qy0Xsce3evXu17ekztjT0/SUuLg6hoaFwdnaGRCJBenp6rdquamzJzs5GeHg4fHx8YGVlhWnTptW9ECPR57XIkFz0GV8AoLi4GLNnz4aXlxdsbGzQokULxMbGGrNEg9T0OlRYWIhJkybB09MTCoUCbdq0wTfffFNtm/qMLZa8rwD6vT5XGD9+PCQSCb766qtq29T3fYul7itAzbkY8n7uUVWNLQCQkpICf39/2Nra4umnn8aqVavqWA1jrCHhCboRpaSkYOLEiThw4AASExNRVlaGkJAQ3Lt3T9jm888/x+LFi7F8+XIcOnQI7u7u6NevH+7evVtlu2lpaejYsSM2b96M48eP480338To0aPx22+/CdukpqZi9OjRGDt2LE6dOoVffvkFhw4dwltvvWXSmvV17949+Pn5Yfny5aLrL1y4gJ49e8LX1xfJyck4duwY5s6dC1tb2xrbLi0txWuvvYZnn31WZ529vT0mTZqEvXv34syZM5gzZw7mzJmDNWvW1Lmmuqouk/v37+Po0aOYO3cujh49iri4OGRkZGDIkCF6tf37778jOztbuD3//PPCuq+//lpr3ZUrV+Dk5IRXXnnFaLXVxaZNmzBt2jTMnj0barUazz77LAYMGIDLly+DiDBs2DBcvHgR27Ztg1qthpeXF/r27av1PKusvLwcCoUCU6ZMQd++fUW32bt3L/r164edO3fiyJEj6N27NwYPHgy1Wm2qUmululwq9O/fX+ux3blzZ7Vt6jO2NOT9BXj4PAsKCkJ0dHSt265ubCkuLoaLiwtmz54NPz+/OtdhTPq8FtUll+rGFwAYMWIE/vjjD8TExODcuXPYuHEjfH1961xXXdX0OjR9+nTs3r0bP/74I86cOYPp06dj8uTJ2LZtW5Vt6jO2WPK+AtScS4WtW7fi4MGD8PDwqLFNfcYWwHL3FaDmXAx5P1ehurElKysLAwcOxLPPPgu1Wo2PPvoIU6ZMwebNm+tcE2OsgTDjT7w99m7evEkAhN/N1Gg05O7uTtHR0cI2RUVFpFQqadWqVbVqe+DAgfTGG28Ify9atIiefvpprW2WLl1Knp6edajANADQli1btJaFhYXRyJEjDWrvgw8+oJEjR9LatWtJqVTWuP2LL75o8H2Zilgmlf35558EgP76668qt8nKyiIApFar9b7vLVu2kEQioUuXLun9b0ypa9euNGHCBK1lvr6+NHPmTDp37hwBoJMnTwrrysrKyMnJib799lu92h8zZgwNHTpUr23btm1L8+fP17vvplRdLkS1q6s6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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# set plotting options\n", "plot_info = {\n", @@ -502,100 +1031,192 @@ "tags": [] }, "source": [ - "# Plot means vs channels\n", - "Here you can monitor the **mean** ('x' green marker) and **median** (horizontal green line) behaves separately for different channels, grouped by string. The box shows the IQR (interquartile range), ie the distance between the upper and lower quartiles, q(0.75)-q(0.25). Vertical lines end up to the min and max value of a given parameter's distribution for each channel." + "# Summary plots vs channels\n", + "Here you can monitor the distribution of a parameter across an entire run for all channels, grouped by string. \n", + "Shown in this plot:\n", + "* **mean** value (horizontal green line) of the distribution\n", + "* **std** (blue box)\n", + "* **min/max** (black horizontal lines below/above the box)" ] }, { "cell_type": "code", - "execution_count": null, - "id": "017b16e9-da40-4a0b-9503-ce4c9e65070c", + "execution_count": 14, + "id": "9c275a1b-3354-4a93-80f6-2b8c0a3940c6", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Do you want to display horizontal lines for limits in the plots?\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1c847d18cc9b4c318c1fc2cbc42bb5c4", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HBox(children=(RadioButtons(description='\\t', layout=Layout(width='max-content'), options=('no', 'yes'), value…" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "y_label = plot_info[\"label\"]\n", - "if plot_info[\"unit_label\"] == \"%\":\n", - " y_label += \", %\"\n", - "else:\n", - " if (\n", - " \"(PULS01ANA)\" in y_label\n", - " or \"(PULS01)\" in y_label\n", - " or \"(BSLN01)\" in y_label\n", - " or \"(MUON01)\" in y_label\n", - " ):\n", - " separator = \"-\" if \"-\" in y_label else \"/\"\n", - " parts = y_label.split(separator)\n", - "\n", - " if len(parts) == 2 and separator == \"-\":\n", - " y_label += f\" [{plot_info['unit']}]\"\n", - " else:\n", - " y_label += f\" [{plot_info['unit']}]\"\n", - "\n", - "\n", - "strings = [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]\n", - "\n", - "# Create RadioButtons with circular style\n", - "strings_buttons = widgets.RadioButtons(\n", - " options=strings,\n", - " button_style=\"circle\",\n", - " description=\"\\t\",\n", - " layout={\"width\": \"max-content\"},\n", - ")\n", - "\n", - "# Assign the callback function to the RadioButtons\n", - "strings_buttons.observe(on_button_selected, names=\"value\")\n", - "\n", - "# Create a horizontal box to contain the RadioButtons and label\n", - "container_strings = widgets.HBox(\n", - " [strings_buttons, selected_interval_label], layout=box_layout\n", - ")\n", - "\n", - "print(\"Selected the individual string for which you want to perform a zoom\")\n", - "display(container_strings)\n", - "print(\"\\033[91mIf you change me, then RUN AGAIN the next cell!!!\\033[0m\")" + "print(\"Do you want to display horizontal lines for limits in the plots?\")\n", + "display(container_limits)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "0eabb02e-bc47-404a-921e-2644cba6d75d", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5bd58d43bcb0493f9dcd6de7836a36ec", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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/3TXXXepY8eOuuqqq5ScnKzXXnut3nkVFRXphRde0JNPPqnvvvsuoHI2NDbYMtux3KHaTkuWLNFpp52m1157TQ8++KBOOOEELVu2zJteXFysv//97/XO10o//vijZs2aVes8O3fuVGFhYbXpbrdbH330UY1xWVlZuvfee/Wf//xHkvTRRx/p3HPP1VlnneW90O9PaWmpz+ctW7Zo8uTJOv/883X99ddrzZo1tZY3NzdXCxYs0OLFi6stq6ioqM71rRCqujVnzhxNnjxZhYWFuvPOO/WnP/1Jv/3tb3X11Vdr/Pjxmjt3rp599tl65RtuwbQBUvAH5eE4qG/sde7Xr5/fP4/Ho0svvdT72Y7WrVsX7iKE3QknnOA9ufjvf/+rYcOGqby8XFdddZWaN2+uSy65RB988EG9lxdMfQzX/jRUsV999ZXmzp2rLl26aNSoUXrzzTeDujjNMU/jlznQvG+77TZt2rRJ//d//6evvvpKY8aM0erVq/Xxxx9rxYoV8ng8mjZtWkB5B6N79+4N2i+E67u2W70MJPall17SFVdcof79++vWW29VmzZtdPvtt+uBBx7Qjh071L9//wZtq6qC2a+FMtbOF1AbIpgy1/W7ePvttzVkyBDt379ft9xyi1544QX99a9/1S233KIDBw5oyJAhYbmZwe6i9RjRDu2lP8Ge71QoLCzU8uXLGxxfIVz1I5B8w31e3FCN2V4iCAaw0K233lrr39VXX23i4uJqjC8uLjYvvfSSGTZsmElMTDSjR4828fHxZv369bXmu23bNvOLX/zCpKSkmHPOOcds27bNHH/88cbhcBiHw2GSk5PN8uXLLY8Npsx2Lnc4ttOgQYPMH/7wB2OMMeXl5ebPf/6zSUlJMe+9954xxpi8vLxa69aHH35oTjjhBJOfn18t7eDBg+bEE080H330UZ3r7s+6detqzPuHH34wp556qomLizPx8fHm17/+tTl06JA3vbZyv/TSS8bpdJp+/fqZlJQU87e//c00b97cXH/99ea6664zCQkJ5h//+Iff2Li4OPPjjz8aY4zJyckxycnJpk+fPmbChAnm1FNPNQkJCebTTz/1G/vZZ5+Z5s2bm9TUVJOUlGSOO+44s2HDhnqV2Zjw1K0ePXqYl19+2RhjzNq1a43T6TR//etfvekvvPCC6d+/f53579271/v/27dvN3fffbe57bbbaq0bwdStYH/HlW3ZssXceeed5phjjjHNmzc3V111lXnrrbfqFRto/Oeff27OOOOMGtf5jDPOMOvWrYuYdXY6nWbUqFFmxowZ3r97773XxMXFmUmTJnmn1SXU9aMmBw8eNE8++aTp27dvjb/FYPK1oswN+a4amrfD4fC2d2effbaZNGmST/q0adPML37xC7/5WVEfw9HmhSvW4XCYXbt2mUWLFpkLLrjAOJ1O06ZNGzN16lTz9ddf1xrLMY89ji/T09PNJ598Yow5ur93OBxmyZIl3vQVK1aYjIyMGvNuaPtx8cUX+/2Li4sz55xzjvez1etrjD23cbiOtV577TXv59WrV5tjjjnGlJeXG2OMGTt2bI3bqC712a9FSmwwx1uhOtYKJjaYMhvTsN9Fz549zezZs2tc5gMPPGBOPPHEOstaVlZmnn/+eXP++eebnj17ml69epkLLrjA/P3vf/fWU3/CeczU0DLXJJA63dBjtXDE2q29DGb/MHfu3Fr/br/99oDbugqhqh8NyTdc58V2ay/RcHSAwFJxcXGmX79+5owzzvD7d8opp9TY4N10002mRYsWZuDAgeaJJ57wNrhOp9N89dVXteb7q1/9ygwcONC89NJL5sILLzQ9evQw559/vsnLyzO7d+82Y8aMMWeeeablscGU2a7lDtd2Sk1NNZs3b/aZ9sorr5imTZuaf/7zn3VelL/gggvMI488UmP63LlzzS9/+Uu/aV988UWtfwsXLqwx71//+tdm4MCBZvXq1SYrK8uccsoppn///mb//v3GmJ8vLvjTp08fM3fuXGOMMUuXLjVJSUk+6/Dwww+bIUOG+I2tfEFw9OjRZsyYMT4H0ePHjzejRo3yG3vOOeeYa6+91pSVlZmCggIzadIk06pVK7N27VpvmRvjdxxMbFJSktm2bZv3c2Jiok+nzXfffWeaN29eY/yXX35pOnXqZOLi4kz37t1NTk6OadeunUlJSTGpqakmPj7eLFq0yG9sMHUrmN+EMcEd0AcTf8UVV5hZs2bVmP6nP/3JXHXVVRGzzitWrDBdu3Y199xzjykrK/NOr29bHa76UdWHH35orrrqKpOUlGR69Ohh7rzzTu/v0sp8g4kN5rtqaN6V27v09HSTnZ3tk/7VV1+ZVq1a+V1esPUxXG1euGIrf9fGGJObm2vuv/9+c9xxx5m4uDgzaNAg8/zzz/uN5ZjHHseXycnJZuvWrd7PLpfLp3393//+Z5o2bVpj3g1tPxwOhxk2bJi55pprfP7i4uLML3/5S+9nq9fXjts4nMda33//vc80p9Npdu3aZYwx5tNPP631WMufQPZr4YwNxwXUYI61gokNpszGNOx3kZiYaDZu3FjjMr/99luTmJhYa77l5eXm/PPPNw6Hw/Tp08dcfvnlZuzYseakk04yDofDXHTRRTXGhuuYKZgyVxVInQ7mWC0csXZsL4PZPzgcDtOhQwfTuXNnv38dOnQIuAMkVPUjmHzDdV5st/YSDUcHCCzVvXt389JLL9WYnpOTU2NjHR8fb/7whz+YgoICn+n12cG0a9fOezf7vn37jMPhMCtXrvSmr1u3rsaLH8HEBlNmu5Y7XNupTZs25vPPP682/bXXXjPJycnm6aefrvVAoGPHjrXenfrNN9+YzMxMv2kOh8PExcV5e+Ir/1VMrynvDh06+Iy0OHLkiLnoootMnz59zL59+2rtTGjatKn53//+5/3scrnMF1984f387bff1vh9Vb5Idcwxx5gVK1b4pK9bt860a9fOb2yLFi2qnYQ8+OCDpkWLFuazzz6rtczhqlutWrXy2b7HHHOMzwWc7777zqSkpNQYP2rUKDN69Gjz8ccfm4kTJ5qMjAwzfvx4U1ZWZsrKysykSZPMgAED/MYGU7eC+U0Ee4EsmPhjjz3Wpy5W9eWXX5ouXbr4TQvXOufn55vLL7/cnHbaad7O1Pp+V+GqH8YYs2PHDvPHP/7RdOnSxbRt29b87ne/q1e5g8k3mNhgvquG5u1wOMzmzZtNfn6+OfbYY01OTo5P+nfffWeSk5P/v703j4uqfP//rxlgmGEnMASRxRUQzbU+uOSW4J5LqZmahpb6dm3x7dvMXMo034lmRWUi5kYb+s5K0cpd0UxwRcXdVGxT09zh9fvD38yXgZmBOdeBmyP38/GYx4OZm9ec+5xz3dd13dd95hyb38exR0CczxOlLfzrwqJs3LgRAwYMsFsclzmPNvLLRx55BO+//z4A4Pvvv4e3tzfeffddS3tycjJiY2Ptblup/1i5ciVCQ0ORkpJi9XlFPtZatEuONjo62uqXx7/88gsMBgPu3bsH4L6vdbQ4ZkZpXBOlFVVA5eRaHC03v1QyLmJiYjB79my73zl79mxER0c73G5KSgq8vb3x008/FWv78ccf4e3tjSVLltjUisqZOH0GlNs0J1cTodWiv+TEh4iICHz++ed2v9tRTa0wIuyDs11Rc0St+UuJcuQCiERV+vfvj3Hjxtltz87Otnu1+/Lly/HEE0/A09MTffr0wZo1a3D37t1ST8jz8vIs7z09PXHixAnLe0cFW46W02et9lvUeerQoQPmzJljs23FihVwc3NzmAi4u7sjNzfXbntubi6MRqPNtsDAQCxatAinT5+2+fruu+8cLmIcO3bM6rO7d++iR48eaNCgAfbv329X6+fnhyNHjljee3l5WR2vkydP2i3q6fV6/PbbbwCA8PBw7N+/36r95MmTdvfX39/fZhIwZ84c+Pn5IT09vcLZVosWLaxuy1CUNWvWOCzYBAQEWPb52rVr0Ol0+Pnnny3tOTk58PX1tanl2BZnTHALZBy9u7u71eJcURzZl8h9Bu5PNqtWrYqPP/4Ybm5updKJso9OnTrB29sbzzzzDL799ltLkam050jpdjlazrFSum3zIrR5Qbrw7e8AYPXq1ahdu7bN7+PYIyDO54nSFv0FiC1s3UIAkDmPVvLLZcuWwcXFBbVq1YLRaMRXX32FkJAQ9OnTB/369YPBYLAskNiC4z9Onz6Nli1bolevXpZfylbkY61Fu+Ro33//ffj6+mLChAmYMmUKQkJCkJiYaGlftmwZGjVq5PA7OHFNlFZUAZWTa3G03FxLybj46quv4Orqis6dO2PevHlYuXIl0tLSMG/ePHTp0gVubm74+uuvHW63Q4cODm+j9dZbbyE+Pt5mm6icidNnjk1zcjURWi36S0586N27NyZMmGD3ux3V1MyIsg/OdkXNEbXmLyXKkQsgElW5ePGi1VXXSjh16hSmTJmCsLAwBAYGQq/X233OgZmiE/KihWJHjoOj5fRZy/1WquX0OT093eHi2ooVK9CmTRu77TVq1HB4/8Wvv/7a7sp+QkICZsyYYVfrKAmpX78+vvrqq2KfmxdBwsLC7O5z06ZNsXr1asv7q1evWt3GasOGDahTp45NrU6ng5+fH/z9/eHm5mZ5PoaZjIwMRERE2NS2atUKycnJNtveeecduLu7Vzjb2rZtW7GrvgvzwQcfYMGCBXbbObbJsS3OdrkFMo4+NDTU8vwdW3z//fcIDQ212SZyn80cO3YMzZo1g06nK5VOlH24uLhg/PjxxRZRS3s1k9LtirJppdvetGmT1avoL9jmzZuHd955p0z6a6a8fZ4o7eDBg4tN8kqLzHm0kV8CwNatW/Hf//7XchXioUOHMHDgQPTu3RupqakOt83xH8D9++FPmTIF1atXx7p160q1UC3qWGvRLrnaDz/8EM2bN0eTJk0wadIk3Lx509J27Ngx5OTkONRz4pooragCKifX4mi5uZbScbFjxw707dsXYWFhMBgMMBgMCAsLQ9++fa2uiLZHUFCQw7nA3r177f76XVTOxOkzx6ZFxWOuz9SSv+Ts66FDh6wWHIpy586dEmtuouxD1HZF+VpR/lKiDLkAIqmwFBQUYO3atXj66afh7u6OatWqYfTo0Tb/V6fT4cUXX7Q8bN1gMOD555+3vH/xxRcdBmKlWk6ftdxvpVo1++wso0aNQmxsrNVEzcyNGzcQGxtrt9/p6ekOb+32119/2S0ITJgwwe6VO3fv3kX37t0dLvo4eujV22+/jcmTJ9tsS01NtXoVvSf+tGnTMH78eJvahQsXYsCAAXa3O3v2bLuLJ0UpL9viotPpLL+YAe4nH4WvBHGUfHBsS40xwUnoleoHDx6Mli1b2mwrKChAy5Yt7d6rvSLsM3C/yHblypVSPWBSlH3s2LEDQ4cOhY+PDx599FEsWLAAv/32W6mSas52uTat9Fhxt60EteOSKJ+nBV8rcx5t5Jdc1BrD27ZtQ2RkJPR6famKJiKOtRbtUk2tEjhxTZTWjIgFZ6W5FkfL6TMgzv+4ubnhwoULdtvPnz8Pg8Fgs01UzsTpM8emObmaKG1htOAvRcZhQJx9cLcrYo5YGf1lZUUHACSRVHD++usv+uyzz2jx4sW0b9++Yu1t2rQhnU5X4vds3LhRVa0j/vzzT1q6dKndPnO3XVb9LulYc7Rl1efScOnSJWrcuDG5uLjQqFGjqG7duqTT6SgnJ4c++OADys/Pp71791JQUJCq27137x7duHGDfHx8bLbn5+fTr7/+SuHh4aputyJSlrbFRa/XU6dOncjd3Z2IiNasWUPt2rUjT09PIiK6ffs2rVu3jvLz84tpObal5pgAQBkZGZSSkkLffPMNBQYGUq9evei9994rUeus/sSJE9SkSROqW7cuvfzyy1b7/O6779KxY8doz549VKtWrQq9z6VFlH2YuXHjBqWlpVFKSgrt3r2b8vPzae7cufT888+Tt7e3TQ1nuxwt51ipdbycoSzjkiifV1F9rcx5bFPR8ksuao7h69ev04kTJygqKsriU2whyj4qol2Wxj7KYrvOoiSuidaa4eQe5ZVrcbTc/RXlf1xcXCgvL4+qVKlis/3SpUsUEhKieq7G0XL6bEaJTXNyNVFae4jyeRW57lGY8rYPznZFzREro7+srMgFEIlEUmk4c+YMjRgxgjIyMsjs+nQ6HSUkJNCHH35IERERYjv4AAOgVMFdFEOGDCnV/y1evNjm5xXNtjiTAaLSTQj27NlDgwcPpsOHD1vOLQCKiYmhxYsXU7NmzVj74CxlWbipSPZx9OhRWrRoES1dupSuXLlCHTp0oG+++Ub17SrVco8Vt9+VHY6vreh+WqId5BiWOIMzca2iaM2UdfGVk2uVRZ5WnotkhcnJyaEuXbrQyZMn7f5P0aJtUUoq2orImbh9LkppbZqTq4nSSv4fpRkPtigP++Bst6wQNa8V5S8l9pELIJIKxa+//krJycm0Y8cOysvLI51OR0FBQdS8eXMaPnw4Va9eXXQXrcjKyiI/Pz+KjIwkIqJly5ZRcnIynT17lsLDw2nUqFHUr18/wb20zc2bN+mXX36hhx56iGJiYqzabt26RV988QUNGjSomG706NHUp08fatWqVXl1VXUuX75Mx48fJwBUu3Zt8vf3d/j/V65coZUrV9KIESOIiOjZZ5+lmzdvWtpdXFxo4cKF5Ofnp6r2xIkT9NZbb1FKSgoREYWFhdH169ettNu2baO6detWGK09DAYD7du3j6Kjox3+38WLFyk5OZm2bdtGFy9eJBcXF4qMjKQePXrQ4MGDycXFpdTbFIGztmUPLRUis7KyLPtcp04datiwYbn3QSvHSy37ILr/67E1a9ZYrjAqq+2q2WdnEbltZ1AaT7laW5TW16qtreioFVsuX75MS5YsodzcXAoODqbnnnuuTHJTLeeXhXFmDJdF7lFaKuL849y5c/TGG29YjkdRFixYQHv27KEuXbpQnz59aOnSpfT2229TQUEB9erVi6ZPn06urq42tWr7HbVwJq5VFG15kZ2dTbm5uYpyLY62MCJzrX379lHjxo0dLgSoVbQtz5yprBYEtGDTzsLxeUp9fEWte5RmPDhClH1owS7V8peSiolcAJFUGLZt20adOnWi6tWrU3x8PAUFBREA+u2332jDhg107tw5Wrt2LbVo0cKmvqwmL44mII0bN6Z3332X2rZtS59++imNGTOGhg0bRtHR0XT06FH69NNPaf78+fT888/b/G7OBBcAvf/++4oSgWPHjlF8fDydPXuWdDodtWrVilauXEnBwcFE5Pjntnq9nnQ6HdWsWZMSExPpueeeo6pVq5bqWFbUJKIk5syZQ/v27aNly5YREZG3tzclJCRYfr65c+dO6tevH02dOlVV7bhx48jDw4Nmzpxp0U6ZMoUefvhhIiL6/PPPKSwsjD766KMKo33ppZdsHsP58+fTgAEDKCAggIiI5s6dW+x/9uzZQ0888QRFRkaSyWSiXbt20bPPPkt37tyhjIwMio6OpoyMjFLfokDLlLYQyZkMEFXMIkhJRR9bPMiF24rEvXv3HNqTVuGMA0485Wg5vpaj5aL0WHPyJU5sCQkJoQMHDlBAQACdOnWKmjdvTkRE9evXp5ycHLp27RplZmZSVFRUMS0n5+Hml0QV0787gpN7cHLiijr/cFTgmjFjBs2ZM4fi4+Np+/btNG7cOJozZw6NHz+e9Ho9JSUl0YgRI2jatGnFtBy/U5nh5Fs5OTmUmZlJcXFxFBUVRUeOHKH58+fT7du3acCAAdSuXbty3htlOJNrObvobC8umfn9999pxYoV0i4rKRyfx/HxnLoHkfI4XJnHg1r+Uo0LVkq76MvNt7SWr2kaNR8oIpFwaNq0KcaNG2e3fdy4cWjatKnNtq1bt8LLywvR0dEYO3YsZs6cibfeegtjx45FTEwMvL29sW3bNkX9ys7OtvvgIQ8PD5w5cwYA0KhRI3z88cdW7cuXL0dMTIzd727UqBF++uknAPcfPG0ymTBmzBgkJydj3Lhx8PLywqJFi2xqp0+fDm9vb/Tu3RtVq1bFrFmzEBAQgDfffBMzZ85ElSpVMGXKFJvaHj16oGvXrvj999+Rm5uLbt26ITIy0rIvJT287IcffsDYsWMRGBgINzc3dO/eHWvWrEF+fr7dfTVr9Xo9ateujVmzZuHixYsO/19Nbt++bfX++PHjGDt2LDp37ozExETs2bPHrvbRRx/Fd999Z3nv5eWFEydOWN6np6ejYcOGqmvr1atnsQ9b2k2bNqFWrVoVSqvT6dCwYUO0adPG6qXT6dCsWTO0adMGbdu2talt0aIFpk6danm/dOlSPPbYYwDuP2i+YcOGGDNmjE2tGly4cAFLly7Fd999V8xerl+/jmnTpin63uPHj9vdZ/MDzoq+9Ho9Bg0aZHlvC44PAICjR48iPDzcMi5bt25t9SDGkh5EeOHCBbz++uto27YtoqKiUK9ePXTt2hWffvop7t27V8qjUxxHPpdzvLjs3r0b/fv3R0REBIxGI0wmEyIiItC/f3/8/PPPZaZ1hCPb4mjXrl2L/fv3A7j/sPgZM2YgJCQEer0e1apVw9tvv+3w4fHZ2dkYOHAgIiMjYTQa4enpidjYWEyePBlXr14tsW9cvTNwxwEnnnJjsVJfy9Fy4BxrTr7EiS06nQ6XLl0CAPTr1w9t2rTBP//8AwC4desWunbtiqeeesquVmnOw80vuXbNRckY5uQenHgoav7xv//9z+ErKSnJ7jmqUaMGvv76awD3j7WLiwuWLVtmaU9PT7d7rDh+Ry04+VZZxQdHMZFjX2vXroXBYMBDDz0Eo9GItWvXokqVKnjiiSfQvn17uLq64scff1TU57Nnz2LIkCF222/cuIGtW7fafPDwzZs3sWTJEps6bq71888/w9fXFw0bNkRcXBz0ej0GDhyIvn37ws/PD3Fxcfj777+tNHq9Ho0bNy4Wl8yvpk2bVmi7LKs5hCM4c1uOtiRKyk2VjGGOz+P4eE7dgxOH1RoPnPmHiPHA8ZfBwcH4448/AAAnT55E1apVUbVqVXTo0AGhoaHw9fVFTk6Ow30uipubGw4fPuzwf7j5luh8rbIhF0AkZYK9xOmll17CpEmTkJKSgj///NNKYzQaceTIEbvfmZOTA6PRaLONE9g4E5CAgABLgvDwww8jOzvbqv348eMwmUx2+8WZ4HISgYcffthS3DIzcuRIhIWF4cSJEyUWXczFgDt37uDzzz9HQkICXFxcEBISgkmTJiE3N9euVmkSYUaJbQH3Ewlzv7OysuDh4YGGDRti2LBhaNasGQwGA3bt2mVzmwEBATh69KjlfZMmTXDu3DnL+xMnTsDT01N1rZeXF06dOmV5P27cOEtgB4DTp0/bHROitDNnzkRkZGSx5MTV1dXmBKwwJpPJqtiRn58PNzc35OXlAQDWr1+PkJAQh9+h1D52794NPz8/+Pj4wGQyoXbt2jh48KClnZN8OCrocwqRHB8A8IogSia3Zjg+l1u4VWofq1atgpubGzp27IikpCSsWLECy5cvR1JSEjp16gSDwYDVq1fb3CZHWxKObIujjYmJwfbt2wHcH9MBAQGYO3cu1q5di3nz5iEoKAizZs2yqV23bh1MJhN69OiBZ555Bh4eHhg1ahT+/e9/o1atWqhZs6bDQjBHr+T8couBnHjK0XJ8LUdrpryPNSdf4sSWwjmPrWOWmZmJ0NBQu1qlOQ83v1SjyK3UXyodw5zcgxMPRc0/zMUOnU5n92XvHJlMJsu5BO4XaQrnLKdPn4aHh4dNLcfvmFFqGwAv3+LGF0c4iokc+4qLi8Nrr70GAFi5ciX8/f0xadIkS/ukSZPQoUMH1ftsq6h2/vx5S3tZLbADyhad69ati6VLl9r9zqysrDIt+HLskjuHUFos5sxtOdqScGSXSscwx+dxfDyn7sGJw2qMB878Q9R44PhLzgUrnEVfbr5VES5KqEzIBRBJmdCmTRv4+PjA09MTjRs3RqNGjeDl5QVfX1889thj8PPzg7+/v9VEOzIyEikpKXa/MyUlBZGRkTbbuIFN6QRkwIABSExMBAA8/fTTmDx5slX7zJkzUb9+fbv94kxwOYmAt7e3zdXsUaNGITQ0FFu2bCnVAkhhzpw5gzfeeAPh4eFlsnhiRoltFd22OQAWvoJ5yJAh6Nixo81tmkwmHDhwwG6f9u/f7/A8KdX6+Pg4TD537doFb2/vCqUF7ic+derUwcsvv4w7d+4AKF1hLTw83OpKyQsXLkCn0+HGjRsAgFOnTtkdx2aU2scTTzyB559/Hvn5+fj7778xcuRIBAQEYO/evQAcJx/z5893+JowYUKZFDE5PgDgFUG4V1Qr9bncwq1S+6hXrx7efvttu987a9Ysu8VXjpZjWxyt0WjE2bNnAQCxsbH4/PPPrdq//fZbu8Wehg0bIjk52fJ+/fr1iIqKAnDf77dv3x6DBw+2ezw4eiXnl1sM5MRTjhZQ7mu5WqD8jzUnX+LEFp1Oh99++w0AEBISYuVjzVp3d3e7WqU5Dze/VKPIrdRfKh3DnNyDEw9FzT9CQkKwatUqu1pHBa7IyEisXbsWAHDs2DHo9Xp88cUXlvbvvvsOERERNrVcvwMotw2Al29x4gMnJnLsy8fHxzLO8/Pz4erqil9++cXSfuDAAQQFBdnUci4Y4RTVuLmWkkXn/v37O1xMzM7Ohk6nc7hdTsGXY5ccLadYzJnbcrScsaR0DHN8HsfHc+oenDisxnjgzD9EjQeOv+ResKJ00Zebb6mRr0lKj1wAkZQJSUlJ6NWrl9XPGK9evYqnnnoK8+bNwz///IMnn3wS8fHxlvYPPvgABoMB//rXv7B69Wrs3LkTmZmZWL16Nf71r3/B3d3dKmAWhhPYOBOQ8+fPIyIiAo8//jheeuklmEwmtGzZEsOGDcPjjz8Og8FgdfujonAmuJxEoFmzZvjss89stv3rX/+Cn5+f0wsgZgoKCrB+/XqntKVJIswosa2i2w4NDS12S4Ls7Gy7AbVevXp2fyYO3LcvR8VPpdq4uDi89dZbdrXTp09HXFxchdKauXbtGgYNGoQGDRpg//79cHNzK3HSNHbsWMTGxmLt2rX46aef0LZtW7Rp08bSvm7dOtSsWdPhdyi1D39/f6tf6gDA7Nmz4e/vj927d5c4AQkJCUFERITNl/nWQfZQWojk+ACAVwThXFHN8bkAr3Cr1D7c3d2L2Udhjhw5YrcIytFybIujDQ4Oxs6dOwEAQUFBlkmLmWPHjtktNhuNRquruAsKCuDm5mb5OfeWLVtQpUoVu8eDo1dyfrnFQE485WjNKPG1amjL+1hz8iVObNHpdKhfv76lwJuenm7VvnnzZlSrVs2uVmnOw80v1ShyK/WXSscwJ/fgxENR849u3brh9ddft6t1VOB67bXXUKVKFQwdOhSRkZH4z3/+g7CwMCQnJ+Ojjz5C9erV7V6tqobfUWobAC/f4sQHTkzk2Ffhgh5Q/NZujn7ZxLlghFtU4+RaShadL168iNOnT5f43Y7gFHw5dsnRcorFnLktV6t0LCkdwxyfx/HxnLoHJw6rMR448w9R44HrL5VesMJZ9OXmW2rka5LSIxdAJGVCSEiITWdx8OBBS1Hsl19+QUBAgFV7WloaHnvsMbi6uloSO1dXVzz22GPFrkAtDCewcSYgAHD58mX8+9//RkxMDIxGIwwGA8LDw0t1b0XOBJeTCMycOROdOnWy268RI0bY3eeIiAirWxI4AyeJMKPUtvR6vSUohoeHF5sUnDx50m5AnTx5MqpXr27zJ7kXLlxA9erVLT/XVFP7ySefwMPDA99++22xtm+++QYeHh745JNPKpS2KCtXrkRQUBD0en2JCcS1a9fQp08fy/hv3rw5Tp48aWnPyMiwmnDaQql9+Pv7Y9++fcV0c+bMgZ+fH9LT0+0mHxEREQ79U2l+pqykEMnxAQCvCMK5oprrcwHlhVul9hETE4PZs2fb/d7Zs2cjOjraZhtHy7EtjnbkyJHo2rUr7t27hxdeeAFDhw61ujJwzJgxdguRNWvWxLp16yzvc3Nz4eLiYrmtw8mTJx3euoejV3J+ucVATjzlaIvijK9VQ1vex5qTL3Fiy9SpU61ehW0TAF555RX069fPppab83DySzWK3Er9pdIxzMk9uPFQxPxjy5YtlqK6La5fv45NmzbZbLt37x7efPNNdO3a1XI7wpUrV6J69eoICAjA4MGDcf36dZtaNfyOUtsAePkWJz5wYiLHvho0aGB1ng8cOIC7d+9a3m/durVMLtJTo6imNNdS44ImJXALvkrtkqtVWizmzG05Ws5YUjqGOT4PUO7jOXUPNeIwB878Q9R44PhLzgUrgPJFX+55Fm0nlQ25ACIpEzw9PbFx48Zin2/cuBFeXl4A7j/7wN5P2e/cuYMLFy7gwoULFgdUEkoDG2cCogZKJ7jcREAEnCTCjFLb0ul0lp/ku7m5Yfny5VbtGRkZdq/e+vvvvxEdHQ1vb2+MHDkS8+bNw/z58zFixAh4e3sjKirK7vMOOFrg/j0sdTodoqOj0aNHD/Ts2RPR0dHQ6/V4+umnHR0qYdqinDt3DqtXry61Pd68eRPXrl1zahtmlNpHq1at7BYp3nnnHbi7u9tNPnr37o0JEybY7VNpCvpmnClEcn0ApwjCmdyq6XOdLdwqtY+vvvoKrq6u6Ny5M+bNm4eVK1ciLS0N8+bNQ5cuXeDm5ma5P3hROFqObXG0V65cQdOmTVGrVi0MHDgQRqMR4eHh6NChAyIjI+Hj44PMzEyb2mnTpiE0NBTJyclISUlBbGwsevbsaWlPT093+PBmjl7J+VVzEUI0zvpajlbEseYsCAC82KIENXIepahh10r9JWcMK8091MqJy3P+oWU48zxOvsWxLU5M5NhXcnKyzUU9M5MmTbL8uq0onAtG1CyqOZtrqXFBkxI4BV+OXXK0nGIxZ27L0XLGEjdH5KLExytFdH7JmX+IGg8cf8m5YMWMkkVf7nkWbSeVDbkAIikT+vfvj8jISKSnp+PcuXP49ddfkZ6ejho1amDAgAEA7idTTZo0KfG7Cq/6lobyDGz2cLbPDwInT54sl/1WalupqalWr6LFu2nTpjm8OvCvv/7Ciy++CH9/f8sE19/fHy+++KLdBz2qoTXvz5NPPono6GhER0eje/fuWLlyZYk6kVo1cca2lNrHwoULLe22mD17tt2JwKFDhxwW3+7cuePUz5g5RczyQtTk1hbOHC9ObNqxYwf69u2LsLAwGAwGGAwGhIWFoW/fvtixY4fD7SrVcmyLa5d37txBcnIyOnfujKioKNSpUwetW7fGpEmTcO7cObu6u3fvYsKECQgJCUFAQAD69++P33//3dK+a9cubN68uUz0auYealD4VzMPGhXtWJc35ZXziNyu0nPM9QEVJfdwFrXmH5zzW9FtA+DlWxzbUjtXKw84F4yoXVQ7e/YsVq9e7dQicnkvOnMKvhy75Gg5xWLO3Jaj5YwlbnwoCicmcrRaqfUonX+IGg8VBc6vqiUVG7kAIikTrl27hqFDh8JgMECv10Ov18NgMGDYsGGWIlVWVhaysrIsmrVr11p+fpmfn48ZM2ZY7iFZrVo1vP32204XE8p6ElEWfS7ttstCa+b48eN2H/RkDzc3N5s/tS4NziQgSmxLTQoKCnDp0iVcunTJ6XPL0WqFrl274rPPPrPcCkkNnLEt0fZR2VBzclsekwlpHw82ap/f0vjpW7du4aWXXsLjjz+Od955BwAwY8YMeHp6wsPDA88884zVffILw/GXXF974cIFLF26FN99953l1hNmrl+/jmnTpjnUq3msyyPnyc7OxsCBAxEZGQmj0QhPT0/ExsZi8uTJds+PIzg5D2d/Odt1lgfBX5Ymvyxq/8ePH8fYsWPRuXNnJCYmYs+ePWXSN84cgjv/2L17N/r374+IiAgYjUaYTCZERESU+tdUD4JtSJxHC0VfzsUqIngQisUi4cTE0mjLqtYjqfhwL0jk+kst+FstIhdAJGXKtWvXsG/fPmRnZ5dYJIuJicH27dsB3L9qJSAgAHPnzsXatWsxb948BAUFWX52XBRRkwhOn0X2uySys7PtXm3Ss2dPmy+9Xo8nnnjC8t4ZlCQvzthWWXPz5k3MmTOn3LUVEfOtH3x9fTF8+HCnCgdq2pYo+7h37x7y8vKsrmZyBLeIqXZRrzBKFkJLA8d3qbXAxrEP8zm+dOkS7t27V25aM7du3cLx48dx69atctVqCWfOL2cBAwDGjx+PkJAQvPzyy4iOjsa//vUvhIWFYdmyZVixYgVq1aqF0aNH29Ry/CVHu3v3bvj5+cHHxwcmkwm1a9e2elhkSQ/HLYwzx1pUzrNu3TqYTCb06NEDzzzzDDw8PDBq1Cj8+9//Rq1atVCzZk2bz+kCeHGJ02c14iG3yG1GrXial5dn9ziXFaXJL/V6veVZLVlZWfDw8EDDhg0xbNgwNGvWDAaDAbt27bKp5SyecOYQHO2qVavg5uaGjh07IikpCStWrMDy5cuRlJSETp06wWAwYPXq1Q6PmRmubagREwHnbcvZXA0A1q9fjylTplgekrt582Z07NgRbdu2RUpKil1dWVwYpIUL/NTyPyJQyy4rE9z8sqQxzImJHC231uOIsppn2UL03KW0iLwwSClcfykX2coXuQAiqTAYjUacPXsWABAbG1vsvrnffvstatWqZVMrahLB6bPIfs+fP9/ha8KECQ7vN9q6dWsMHjzY6qXX69GjRw/Le1uUxeKJMyxcuBCDBg2yTFTS0tIQFRWFyMhITJkyxaH2999/x7fffouMjAxL8L9z547lWNt60CNXq9PpLFfW2Xu5uLhUOO2hQ4eQlJSE+vXrQ6/Xo0GDBliwYAH++usvu8fIrFVqW2rAsY9vv/0WrVq1svxUXa/Xw9fXFwMGDMCZM2fs6jhFTE5RrzQ4WggFlE9uOb6Lc7y4pKeno3nz5sWueG3evLnDh5RytIsXL8bOnTsB3F8sTUxMhIuLC/R6PVxdXfHiiy/anWxytLGxsZg+fbolvjkDR6uG3lk4CxgAUL16dWzYsAHA/Xve6/V6q+Lh+vXrER4eblPL9ZdKtU888QSef/555Ofn4++//8bIkSMREBCAvXv3AnBuAcQZROU8DRs2tLrFyPr16xEVFQXgfixu37693djCiUtcX8eJh2oWuZ3lzz//RK9evRAWFoaRI0fi3r17SExMtOQWcXFxuHDhgs19Vpp7cPLLwg+r79q1K5566imrYsOQIUPQsWNHm1rO4glnDsHR1qtXD2+//bbNNgCYNWtWmd6DH1AeE5XalhmludrSpUvh6uqKxo0bw8vLC4sXL4afnx+GDh2KxMREGAwGfPnllza1nLxFqxf4ifQ/ZpQUbTl5HmcOwYGzXaVaTn7JiQ9KYyJHy631OKKkeZYaiJi7AMptS9SFQZzFE66/LMtFNklx5AKIpEy4fv06Jk+ejLi4ONSsWRORkZFWL1sEBwdbgmlQUJBlIm7m2LFjMJlMNrWiJhGcPovst06nQ0hICCIiImy+zAmyLVauXInQ0NBiVzu5urqWeI9ENQrcSmwLAJKSkuDp6YlevXohODgYb775JgICAvDmm29i+vTp8PX1xccff2xTu337dvj5+VmSs0cffRSHDh1C7dq1UbNmTSxYsAD//POP6trVq1fbfU2YMAEmkwlGo7FCaQsXEoD793J94YUX4OvrC5PJhGeeecZy9VxROLZlRoR9fPbZZ/D29sa4ceMwceJEBAUFYeLEiUhOTkbr1q0RGBiIY8eO2dRyipicoh7AWwjlTG65vkvp8QKU28dHH30Eg8GA4cOHY9WqVdixYwe2b9+OVatWYfjw4XB3d8cnn3yiurZWrVqWxaRXXnkFERERSE9PR05ODlavXo06derg1VdfVV2r0+kQEBAAFxcXJCQk4Kuvvir1FaccLVev5PxyFjAAwGQyWRXO3NzcrH5NcerUKXh4eNjdV6X+kqP19/fH0aNHrT6bPXs2/P39sXv37lItgCg51qJyHqPRiFOnTlneFxQUwM3NzVJk2bJlC6pUqWJTy4lLnD5z46EaRW6l/nLIkCGIjY3FggUL0Lp1a/To0QMNGjTAtm3bsGPHDjRr1gyDBg0qpuPmHpzimHkshYaGYtu2bVbt2dnZCAoKKlHr7OIJZw7B0bq7uxcb/4U5cuQI3N3d7bYDym0D4MVEpbYF8HK1hg0bYv78+QCAH374ASaTCXPnzrW0v/vuu2jRooVNLSdv0eoFfhz/M378eJuvl156CZMmTUJKSorD5ycqLdpy7JIzhwCUF4s52+VoOfml0jHMiYkcLcfXcuZZZjjjQdTchWNboi4M4iyecP1lWS6ySYojF0AkZUK/fv0QHByMCRMmICkpCfPmzbN62WLkyJHo2rUr7t27hxdeeAFDhw61mkSMGTMGcXFxNrWiJhGcPovsd0RERDHnWpisrCyHAfn06dNo2bIlevXqZQkoZZ2AmFFiWwAQFRWF5cuXAwD27t0LV1dXfPrpp5b2lJQUuw9rbdeuHfr27YsDBw5g/Pjx0Ol0iIyMxJIlS0r8SSJHa4ucnBz06NEDLi4uGDRokMMr1kRoixblzNy4cQOLFy9Gy5Yty8S2zIiwj6ioKKSlpVne//zzzwgNDbWc3759+5bqylPAuSImp6hn3rbShVDO5JbjuzjHC1BuHzVr1rSyh6IsWrQINWrUUF3r7u5uGWt16tQp9jDUzZs3IywsTHWtTqfD+fPnsWrVKnTr1g2urq6oUqUKXn755RJvJ8PRcvVKzi9nAQMA6tataxn/u3fvhsFgsIpxaWlpqF27tt19VeovOVp/f3/s27ev2Odz5syBn58f0tPTS5yUKznWonKemjVrYt26dZb3ubm5cHFxsdy+6OTJkw4vVlEal7gXyXDioRpFbqX+Mjg42FJ4zcvLg06nw/r16y3t27ZtQ7Vq1UrcB6D0uQcnv9Tr9fjtt98AAOHh4Zar5s2cPHmyVBd9OLt4wplDcLQxMTGYPXu2zTbg/mJodHS03XZAuW0AvJjIsS1Orubp6YmTJ09a3ru5uVn50CNHjjj8NTcnz9PiBX4c/9OmTRv4+PjA09MTjRs3RqNGjeDl5QVfX1889thj8PPzg7+/v81xzSnacuySM4fgFIu5cxelWk5+yRnDnJioVMvxtZx5lhnOeBA1d+HYlqgLgziLJ1x/ydVLnEMugEjKBF9f32KTgJK4cuUKmjZtilq1amHgwIEwGo0IDw9Hhw4dEBkZCR8fH2RmZtrUippEcPosst+9e/fGhAkT7PYrOzsbOp3Objtw/+fUU6ZMQfXq1bFu3Tq4ubmVaQJiRoltAcWLXO7u7lZFrtzcXPj5+dnUBgQEWP73n3/+gV6vxxdffFGq7XK0hTl//jyGDh0KNzc3dO3aFQcOHKiQWntFucLYu8LOjFLbAsTYh8lkslqIAO7b9Pnz5wHcT8DsaTlFTG5Rj7MQypnccicTnAU2pfZhNBpx5MgRu+05OTl2C2QcbXh4OH766ScAQLVq1YrdWuzw4cPw9PRUXVv0OF+8eBEzZ85E7dq1LbcoWLRokeparl7J+eUsYAD3ixdGoxFPPPEE/P39sWDBAlStWhUTJkzAxIkT4evri+nTp5dqX23h6NdjSrWtWrWy+vVYYd555x3L7WEcoeRYi8p5pk2bhtDQUCQnJyMlJQWxsbFWhc709PQSfw2hJC5xL5JRul1AnSK3Un/p4eGB06dPW967ublZ5Q4nT56063vMKMlblOaXOp3OUkRyc3OzFG7MZGRk2H0IMWfxhDOH4Gi/+uoruLq6onPnzpg3bx5WrlyJtLQ0zJs3D126dIGbmxu+/vprh8dMqW0AvJjIsS1Orubn52fVZy8vL5w4ccJqu6X9pZ+Z0uQtWr3Aj+N/kpKS0KtXL6tnb129ehVPPfUU5s2bh3/++QdPPvkk4uPji2k5RVuOXXLmEJxiMXfuolTLyS+58YEzR1Si5fha7gWnAG88iJq7cGxL1IVBnMUTrr9UI1eUlB65ACIpEyIiIpx+qDVw/7YtycnJ6Ny5M6KiolCnTh20bt0akyZNwrlz5+zqRE0iOH0W2e9Dhw45vEf/nTt3rJITR2zbtg2RkZHQ6/VlmoCYUWpbAQEBVrrQ0FCrfczNzYWXl5dNbdGg6OXlhdzc3FJtl6MF7p9n860f4uLisGXLlgqtbdOmDS5fvlzq7ThCiW2JsI/o6Girez//8ssvMBgMlnsO5+bmlrrQbAt7RUxuUY+zEMqZ3HJ8F3eBTal9NGnSBC+99JLd9pdeesnuBJWjnTRpEuLi4nD58mVMnDgR3bp1szxo9p9//kGfPn1sTnq42sL3tS/Kxo0bMWDAALs2zdFy9UrOL2cBw8yyZcswatQoy0LKxo0b0apVKzRp0gRTp05Ffn6+TR3HX3K0CxcuxIABA+y2z549227B14ySYy0q57l79y4mTJiAkJAQBAQEoH///lYPP961axc2b95cqn1wJi5x80ul2wXUKXIr9ZePPPII3n//fQDA999/D29vb7z77ruW9uTkZMTGxtrUcvIWQFl+mZqaavUqek6mTZuG8ePH29RyFk8A3hyCo92xYwf69u2LsLAwGAwGGAwGhIWFoW/fvtixY4dDLaDcNgBeTOTYFidXa9q0qdWtEa9evWpVoNqwYQPq1KljU8vJW7R6gR/H/4SEhNgcswcPHkRISAiA++fO1i9uOEVbjl1y5hDcC/SUbpej5eSXnDFcGCVzRKVapb5WjQtOOeNB1NxFzZqLLcriwiDO4gnXX6qZK0pKRi6ASMqEpUuX4qmnnrL7bIOyQNQkorL2uzDXrl1Ddna23Qee2UNJ8qLUtlq0aGH10/eirFmzxm7Cpdfrcfz4cVy9ehVXrlyBt7c39u3bh6tXr1q91NbOnj0bDz30EGJiYpx+WKAordo4a1si7OP999+Hr68vJkyYgClTpiAkJASJiYmW9mXLlqFRo0Y2tZwiJreox1kI5RbXlPou7gKbUvvYtGkTPD09ERMTg3HjxuHtt9/GrFmzMG7cONSrVw9eXl52C3Uc7e3bt9G9e3f4+/ujQ4cOMBqN8PDwQO3ateHp6YmwsDC7v8ThaEszibDntzharl7p+VW6gFGZUXqsK1vOo2afnY2H3CI3Zzy5uLigVq1aMBqN+OqrrxASEoI+ffqgX79+MBgMlgJYYdTMPTjFMWfgLJ5oGc48jxMTldoWwMvV0tPTHeZTb7/9NiZPnmyzjZO3aPUCP0C5//H09MTGjRuLfb5x40ZL0fTEiRPw9vYu9j+coi3HLjlzCE6xmLNdjpaTX3LGcFGU1h8Ka82/mi8L1LjglDMeRM1dOLYl6sIg7gV2XH9ZUfLbyoAOAEgiUZlGjRrRiRMnCABFRESQm5ubVfvevXsF9Uxij9u3b9Ovv/5KoaGh5O7uXm7a69ev04kTJygqKqpUWqW2tX37dvL09KSGDRvabP/www+poKCARo0aVaxNr9eTTqezvAdg831+fr7qWpPJRE888QS5uLjY7DcRUXp6eoXRFiY/P5/++OMP0ul0FBAQ4PC71EKEfRARJScn07Jly+j27duUkJBAr7/+OhmNRiIiys3Npfz8fIqKilK+YxWQnTt30vz582nnzp2Ul5dHRERVq1aluLg4Gjt2LMXFxQnuYXE4sen06dOUnJxMmZmZxfZ3+PDhFBERUSZaIqJ169bRmjVr6OTJk1RQUEDBwcHUokUL6t+/P3l6eqquHTJkCL333nvk7e3t8LvV1nL1FSX34MRErVBRjnVlorztinOOt23bRrt27aLmzZtTXFwcHT58mGbNmkU3btygbt260XPPPVdMo1buYcbZ/JJITN6iRbjjnxMTldiWGS3manfv3qVFixbZjOMjRoyg0NDQMtGK4tlnn6WdO3fSu+++S82aNSOdTke7d++mV155hZo3b05Lly6ltLQ0+u9//0t79uyx0m7evJm6dOlC4eHhFB8fT0FBQaTT6SgvL482bNhAZ86coe+//55atWplc9tK7ZIzh2jZsiWNHj2a+vbta1P77bff0n/+8x86cOCAqtvlznuIlOemnDFMVLn8NGc8EImZu6hhW+VN27ZtadWqVeTn5ye6K5IyRi6ASMqEadOmOWx/4403nP7OnJwc6tKlC508eVJpt8qEffv20Zo1a+ihhx6iPn36UGBgoKXt77//pnHjxlFKSorAHhYnNTWVoqKi6P/+7//o1q1bNGrUKEpNTSUApNfrKTExkebPn29zwsjR2sLZCX1Z2FZJbN68uVT/17p1a1W1gwcPtlosscfixYsrjJaIaNWqVZZE7N69e0RE5OrqSk2bNqVXX32VevToYVN37Ngxql27tmXb27Zto//+97+Um5tLwcHBNHr0aHryyScd9kmEfVQktFp4La9+V3b7eNBR6/w6Y4/cmPjpp5/S1q1bqU2bNjRkyBD6/PPPaerUqXT79m0aOHCgw31Sqq1fvz716dOHBg8eTNWrVy/VMSnKgzSWHOWXasQlJaidaymhvM8xN/cwo6Q4pjRv4W6XM4fgaDl+h+jBGv+S0qE0TzOPCxcXFysbtcf169dp/Pjx9Nlnn1mNxeeee46SkpLI09OTsrOziYhsFli5F5yUN1osFouC46dF+dqiODuOuONBIgbuvFar83lNUL4/OJFIlJOdnV3ig6LscfjwYURGRjr87hkzZuCDDz6wuoUMcP9WG0OGDLGpy8jIgMFgQL169RAWFobAwEDLQ8EAIC8vr8Q+K902R1urVi3LTzJfeeUVREREID09HTk5OVi9ejXq1KmDV199VXXt4sWLLQ/ku3nzJhITE+Hi4gK9Xg9XV1e8+OKLin7G6iynT59GZmYmdu3aVepnnUhKx0cffQSDwYDhw4dj1apV2LFjB7Zv345Vq1Zh+PDhcHd3xyeffGJTW/je/xs3boRer0e3bt3w1ltvoXfv3tDr9VYP/S4rOPbhrPbo0aNW92TeunUrnnzyScTExKB9+/YObwPCHU+xsbGYPn06zp4968QeFufevXvIy8sr5oPKot+c46UW5WkflVmrhr40cMcRJyYmJSXB09MTvXr1QnBwMN58800EBATgzTffxPTp0+Hr64uPP/5Yda1Op0NAQABcXFyQkJCAr776Cnfv3nXmsJUJJeVqZaV1lF9y45KIPM3MwoULMWjQIKSkpAAA0tLSEBUVhcjISEyZMsWhVi3KM99KT09H8+bNYTAYoNfrodfrYTAY0Lx5c6xatcqujpO3cLbLmUNwtBzfoTZaiU2c3EPtvOXWrVs4fvy4ovlSabVqzNe+/fZbtGrVCu7u7pZx4evriwEDBlg988Ie165dw759+5CdnW15vkR5ITLvUYpWxpJSLcdPi/K1atY9uONBC+cYqFi+trRwz3NFqY9VFuQCiKTCMH78eIevAQMGKF4AcTS55QS2uLg4TJo0CQBQUFCAd955B15eXli7dm2JWu62OVp3d3dL8lmnTh1Lf81s3rwZYWFhqmvVmNBzmDt3LkJDQ6HX66HT6aDT6aDX6xEaGoqkpKQS9deuXcOmTZuQlpaGzz//HJs2bSp1EsLR2iI/Px/ffPMNnnzyyQqlrVmzJj799FO7+kWLFqFGjRo22wrff7N9+/YYOXKkVfvEiRPx+OOPO93n0sKxD6VaTnGNO564RVClk1tOv0Uukomwj8qoVUPvDNxxxImJUVFRlocm7927F66urlb+MyUlxe79yjlanU6H8+fPY9WqVejWrRtcXV1RpUoVvPzyy4ofbKwGnAtdHGk5+SUnLonK0wDxRW61x3BJuQenOMbJWzjb5cwhOFqO71ALrcUmTu7B0XIKYxwtNy5+9tln8Pb2xrhx4zBx4kQEBQVh4sSJSE5ORuvWrREYGOjwfvpqoKRoKzLv0Vqfy1vL8dOifK3ougegrXMMiPO1nMUT7nmuCHZSmZALIBLV8Pf3t1zd5ufnB39/f7svW+j1ejRu3Bht2rSx+WratGmZTG45gc3HxwfHjx+3+mzFihXw9PTEN998U+ICiKiAHB4ebpmEV6tWrdgDug4fPgxPT0/VtUon9FzbAoDp06fDx8cHs2bNQlZWFi5cuIDz588jKysLs2bNgq+vL2bMmGFTe+fOHYwZMwYmkwk6nQ7u7u4wGAzQ6XQwmUwYO3Ys7ty5o7rWFseOHcPEiRMRHBwMo9Ho1CJGeWiNRiOOHDli93tycnJgNBptthUuNAUHBxd7OOOhQ4cQEBBQTCfaPjhaTnGNWyDjFEE5k1tOv5UcLy3bR2XTKtFzzy93HHFioslkslosdHd3x8GDBy3vc3Nz4efnp7q26MMeL168iJkzZ6J27drQ6/WIi4vDokWLium4x5qTq3G0nPxSaVwCxOVpgPIit2h/WZTS5h6c4hgnb+FslzOH4GiV+g41bAPQZmzi5Gocrahf7HPjYlRUlNVDkH/++WeEhoZaCox9+/ZFz549bWqvX7+OyZMnIy4uDjVr1kRkZKTVqySUFl5F5j1a67MILcdPi/K13HEE8MaD1s4xIM7XchZPuOdZDTuRlB65ACJRjdTUVMuVJKmpqQ5ftqhbty6WLl1q9/uzsrLKZHLLCWxVqlTBnj17in2elpYGDw8PJCcnO1wAERWQJ02ahLi4OFy+fBkTJ05Et27dLL9G+Oeff9CnTx/Ex8errlU6oefaFgCEhoY6vBVBeno6QkJCbLaNGTMG1apVQ1paGi5fvmz5/PLly0hLS0P16tUxduxY1bVmbty4gdTUVLRq1Qpubm7Q6/WYP39+qX5BUt7aJk2a4KWXXrLb/tJLLzm8Kvn48eO4evUqatSogaysLKv23NxceHh4FNOJtg+OllNc4xbIlBZBAd7kltNvJcdLy/ZR2bRK9Nzzyx1HnJgYEBBgtdgYGhpqddVnbm4uvLy8VNcWnugVZePGjRgwYECZxGJOrsbRcvJLpXEJEJenAcqL3KL9JaAs9+AUxzh5C2e7nDkER6vUd6hhG+btaS02cXI1jlbUL/a5cdFkMuHUqVNWn7m6uuL8+fMAgF27dtldoO/Xrx+Cg4MxYcIEJCUlYd68eVYvR3AKr6JsS4t9FqHl+GlRvpY7jgDeeNDaOQbE+VrO4gn3PKthJ5LSIxdAJKpz9+5dpKam4uLFi07p+vfvj3Hjxtltz87Ohk6ns9nGmdxyAluHDh0wZ84cm20rVqywTNzsISog3759G927d4e/vz86dOgAo9EIDw8P1K5dG56enggLC8PRo0dV13In9EptC7ifjDu6qv3gwYMwmUw22wIDA/Hjjz/a1f7www8IDAxUXbtr1y4MGzYMPj4+aNq0KebNm4e8vDy4urri0KFDdr9TpHbTpk3w9PRETEwMxo0bh7fffhuzZs3CuHHjUK9ePXh5eWHLli02teYrnsxXQBW9qnL16tWoXbu23W2Lsg+OllNc444npUVQgDe55fSbc7y0aB+VTcvRKz2/3HHEiYktWrSwWkgsypo1axAbG6u6tujipy2uXr1qt03psebkahwtJ7/kxCVReRrAWyADxPhLTu7BKY5x8hbOdjlzCI6W4zsAnm0A2oxNnNyDoxX1i31uXIyOjsaXX35pef/LL7/AYDDg3r17ln22t21fX19s27bN7nc7glN4FWVbWuyzCC3HT4vytdxxBPDGg9bOMSDO13IWT7jnWQ07kZQeuQAiKRNMJpPTD0m6ePGi4oeFcSa3nMCWnp7ucLsrVqxAmzZt7LaLCshm1q5di5EjR6Jjx46Ij4/Hc889h08++QTXr193qFOq5U7oAWW2BQCtW7fGs88+a/MZB3fv3kX//v3RunVrm1pPT0/s27fP7ndnZWXZTeQ5WhcXF4wbN67Y1YWlKQaI0gLAqVOnMGHCBDz++OOoU6cO6tSpg8cffxz//ve/ixXNC7Np0yarV1FbmDdvHt555x2H2xZhHxwtp7jGHU+cIihncsvpN3eRTGv2Udm0XL2S86tGXAKUxcRt27YVm6AV5oMPPsCCBQtU1w4ePBh///23XW1pUHKsObkaR8vJLzlxSWSexi1yA+XvLzm5B6c4BvDyFqXb5cwhOFqO7zCj1DYAbcYmTu7B0Yr6xT43Lr7//vvw9fXFhAkTMGXKFISEhCAxMdHSvmzZMjRq1MimNiIiQvGzqDiFV1G2pcU+i9Iq9dOifK0a+SVnPGjxHIvytZzFE+55VmseIikdOgAgiURl2rZtS2PHjqUePXqUy/by8vLo9u3bFB4e7rR21apVtGXLFkpKSrLZvnLlSvrkk09o48aN3G6qum2R/eaybt06WrNmDZ08eZIKCgooODiYWrRoQf379ydPT0+HWqW2deDAAYqPj6fbt29T69atKSgoiHQ6HeXl5dGWLVvI3d2dNmzYQPXq1Sum7datG928eZOWL19OQUFBVm2XLl2igQMHktFopG+++UZVbXx8PGVmZlK3bt1o4MCBlJCQQDqdjtzc3Gjfvn0UExNjd39FaUUjwj442s2bN1u9Dw4Opjp16ljez58/n+7cuUOvvvqq3b4rHU9Dhgyh9957j7y9vUtziKz44IMP6LXXXqMXX3yRjEYjffrpp9SpUyf69NNPiYho+fLl9O6779LevXtV7Tf3eGnNPiqblqvn5B6cuFQZUXKsObkaRysKkXna9u3bydPTkxo2bGiz/cMPP6SCggIaNWqU3e8ob3/JzT1Onz5NycnJlJmZSXl5eUREVLVqVYqLi6Phw4dTRESEU/tRWkRtVyQcX6vF2MTJPTjaO3fu0NNPP01bt26lpk2b0tatW0mv11O1atXowoULFBAQQBs2bLD6PjW0ZjhxMTk5mZYtW0a3b9+mhIQEev3118loNBIRUW5uLuXn51NUVFQx3bJly+h///sfLVmyhDw8PBxuoyht2rSh0NBQSk1NJVdXV6u2e/fu0XPPPUfnz5+nTZs2FdOKsi0t9llkjqhFOOOIMx60eI5F+Vq9Xk86nY6IiADQwoULKTEx0dL+v//9j1599VU6duxYMa0Z7jxCzkPKB7kAIikTvvzyS5o4cSKNHz+emjRpUmzQNmjQQFDPJFqHY1vXrl2jZcuW2Zyk9u/fn3x8fGzqzp07R507d6YjR45QbGysVSA/ePAgxcTE0HfffUehoaGqas36xYsX0+LFi+nmzZvUt29f+vDDD2n//v0UHR3t8FiJ0po5c+YM5eXlkU6no6CgIMWFq9TUVOrZsyf5+vqW+L8i7IOr1SpKJ7ci0aJ9VDYtRy8y98jPzycXFxfL+927d1NBQQE1atSI3N3dS9SfPXuWLl68SC4uLhQREUGBgYGl3rYI7YOQ5zkTW9TUagVR+RY39+CgVt7yoMMd/1qNTaLgFMa0VlRr1KgRnThxggBQREQEubm5WbU7urCGW1wXYVta7LNILVHl8tOc8UCk3XNc3qhxQaJEG8gFEEmZoNfri32m0+kIAOl0OsrPz7ep++6772jVqlX00EMP0fPPP29VPLt8+TL17t2bfvrppzLrt7OsX7+e2rVrZ7liY8WKFfTOO+9Qbm4uBQcH05gxY2jMmDGCe1kcTr+9vb2pT58+lJiYSM2bNy/PbhORctviUlBQQBkZGTYDeXx8vM1+qaEtzIYNGyglJYVWr15N1atXp6eeeoqeeuopaty4cYXSJiUl0dy5c+nChQtkDjE6nY5CQkLo5ZdfpnHjxpVqf80YDAbat29fqYofouxDDTgJPXcyIGoyUd77rGX7kJQM5/wqXcA4ffo09e7dm/bt20cJCQm0cuVK6t27N/34449ERBQZGUlr1661e5Xthx9+SLNnz6Zff/3V6vO4uDiaP38+NWnSxO62RWmJHoyx5ExsUVNbGkTnWkTiz7HSvEVJbFAjb3F2u5xcXHQeL9o2RCIyVxNBeeeX06ZNc9j+xhtvOGzXWuGVSJt9FoHa80sz+/bto8aNG9v0W6JrPdzxoGW06Gu1Oh+vVJTvHbcklYXTp087fNli+fLlcHFxQZcuXdCyZUsYjUYsW7bM0p6Xl+fwXsnffvstEhMT8eqrryInJ8eq7a+//kLbtm1t6jIyMqzuUbh8+XI88sgj8PDwQM2aNTF//ny72yz8EOGvvvoKLi4uGD16NJYvX46XX34Z7u7uWLFihV09Z9ui+q3T6VCvXj3odDpERUXhv//9b4nPETDj5eWF559/Htu3by/V/9tCiW0V5tq1a9i0aRPS0tLw+eefY/PmzZZ74mqFv/76C++99x4aNmxY4v3Dy1s7ffp0+Pj4YNasWcjKysKFCxdw/vx5ZGVlYdasWfD19cWMGTNsav39/W2+dDodfH19Le8dIdI+lGrnzp2L0NBQyz1LzfcwDQ0NRVJSUplp1dAD9495ZmYmdu3aVep7govaZy3aR2XUKtUrOb+nTp1C48aN4eLigs6dO+Pq1at44oknLLZVo0YNh/fe7d27N1q3bo01a9agT58+aNGiBdq0aYNff/0VFy5cQEJCAnr06GFTO2fOHAQHB2PevHn46KOPEB0djenTp2Pt2rUYOHAgPDw8ij24VrSWc6wB5bkaR8uJLRwtJ0/j5FrAg5VvlTZvURobOHkLZ7ucXFxUHm+GaxuA9mKTyFwNUJZrcbQVIb8Ugci8RylaG0tKtFw/7QhHzxDj+FpODqAmWjnHZrToayurv9QicgFEUiZs3rzZ7oOPNm/ebFPTqFEjvPfee5b3X375Jby8vCwPMHK0AMJZPOFOIszaFi1aYMqUKVbtc+bMQbNmzWxqudsW1W+zNjs7G6NGjcJDDz0Eg8GAXr164fvvv0dBQYHd/VVj0qXEtsztY8aMgclkgk6ng7u7OwwGA3Q6HUwmE8aOHYs7d+443PaxY8eQmpqKWbNmYfbs2UhNTcWxY8dK1W+O1hG//PJLhdKGhoZi1apVdnXp6ekICQmx2ebl5YUuXbogNTXV8lq8eDFcXFzw1ltvWT5zhAj74Gg5CT13MiCq6CNyn7VmH5VNy9UrOb+cBQwAqFKliuVhiVeuXIFOp8PWrVst7b/88guCgoJsaiMiIvD9999b3h89ehQBAQGWfRgzZgw6dOhQobRmlBxrTq7G0XJiC0erRp6mJNcy67Wcb9nDXu7BiQ2cvIWzXTVycY5WqW0Bym3D/D9ai00i8xYRxUDR+SUXJYVXkXmP1vosQsvx0z179nT4ateund38geNruRfKctHaOQa06Wu17i8rG3IBRFImFHb4hfnjjz/sBhhPT0+cPHnS6rONGzfC29sbycnJDie3nMUTtSYgDz/8cLGJ2dGjR+Hr62tTq+a2y7PfhbUAcPv2baxYsQLt27e3BInXX3/doZYz6VJiW8D9gk61atWQlpaGy5cvWz6/fPky0tLSUL16dYwdO9am9sqVK+jevTt0Oh38/PxQp04d1K5dG35+ftDr9XjyySdx9epV1bVmRC28KNGaTCYcPnzYbvvBgwdhMplstuXm5qJZs2YYNGiQVdLv6uqKQ4cOlarPIuyDo+Uk9BwtVy+q2MTdZ63ZR2XTcvVKzi9nAQMAvL29LblLfn4+XF1dkZ2dbWnPzc2Ft7e3Ta2HhwdOnTpleV9QUABXV1dcuHABwP2rEr28vCqU1oySY83J1ThaTmzhaNXK0wDncq3Ceq3lW4Cy3IMTGzh5C2e7auXi5ZnHm1FqG4A2Y5OovEVUMbC880t/f3/8/vvvAAA/Pz+7v7wr6VfgnMKrKNvSYp9FaDl+2tXVFZ06dcLgwYNtvrp3716qOhHH1zqTA6g1HrR2jgFt+lqR83GJ88gFEEmZoNPp8NtvvxX7/OjRo3YLAcHBwdi5c2exzzdt2gQvLy+89tprZbJ4wg1sGzduxL59+xAeHl7slhE5OTkOiwgiJz9K+21v0gPcv5XI5MmTUb169RL7DCibdCmxLQAIDAzEjz/+aLf9hx9+QGBgoM22gQMHon79+sjMzCzWlpmZiQYNGmDQoEGqa0UtvHC0rVu3xrPPPmv3ysD+/fujdevWNrXm/5kwYQJq1qyJbdu2AXBuAUSEfXC0nISeo+XqRRWbuPusNfuobFquXsn55SxgAMD//d//YfLkyQCAlJQUBAUFYeLEiZb26dOno0mTJja1DRs2xCeffGJ5/+OPP8LDw8NSnD5y5IjdbYvSmlFyrDm5GkcL8GKLUi0nT+PkWkW3DWgj3+LkHpzYwMlbONvl5OKi8vjC21diG4A2Y5OovEVUMbC888vU1FTcunXL8rejlyM4hVdRtqXFPovQcvx0/fr1LRdL2CIrK8thnYjjp5XkAGqNB62dY0CbvlbkfFziPK6in0EiebDo1asXEd1/INXgwYOtHhyan59P+/fvt/vAvUcffZTWrl1L//d//2f1eevWrWnNmjXUtWtXu9v18fGhS5cuUWRkpOWzNm3aWHRFH/JZlMOHD1NeXh6ZTCYqKCiwaisoKHD4ML/27dtbHsS1fft2atq0qaUtKyuLwsLCymzbIvpt1tgiIiKCZsyYQdOnT7fZrtPprN4bDAZ65pln6JlnnqHTp0/TokWLKDU11aaeY1tERDdv3qTAwEC77QEBAXTz5k2bbd988w1lZGTQY489Vqztscceo48//pg6duyounb06NF06tQp2rlzZzH9rl276IUXXqDRo0fTkiVLKox2wYIFFB8fTw8//DC1bt2agoKCSKfTUV5eHm3ZsoXc3d1pw4YNNveXiMjV1ZVmz55NCQkJ1L9/f3r22WeL2Y0tRNoHR/voo4/SW2+9RampqZYH7Jm5d+8ezZw5kx599FHVtVz9n3/+SXXr1rX73XXq1KHLly+rvl2lWq3aR2XTKtVzzm+9evUoJSWFZsyYQUuWLKGAgABKS0ujRx55hIiIVq5cafcB5kREU6dOpR49etA777xDLi4ulJGRQUOHDqUff/yRXFxc6Oeff6YVK1bY1P7nP/+hAQMG0A8//EBGo5HS09NpzJgxFp+3adMmio2NrVBazrHm5GrcPE9pbOFqleZpnFyLSJv5Fif34MQVTt7CjcOcOYSIPJ5rG0TajE2icjVOriUqT1Oif+655yxtREQJCQlUtWpVu99vjxUrVtDnn39O7dq1s/rcz8+P+vbtS4GBgdSvXz+aN29eMa0o29Jin0VoOX66SZMmtHfvXkpMTLTZ7u7uXia+lkhZDqDWeNDaOSbSpq8VOR+XOI8OjrIgicRJhgwZQkRES5YsoT59+pDJZLK0GQwGioiIoGHDhtl0ips3b6YdO3bQf/7zH5vfvWnTJlqyZAktXry4WFuPHj3okUceoWnTptnUde3alW7evGkzyOj1etLpdJbAlpSURGPHjrW0r1y5kt588006dOhQMe2ZM2es3nt5eVFAQIDl/WeffUZERIMGDbK5T5xti+r3tGnT6NVXXyUPDw+b++QIvV5PeXl59PDDD9v9HwA2Cwsc2yIi6tatG928eZOWL19OQUFBVm2XLl2igQMHktFopG+++aaY1s/Pj9avX283+OzatYsSEhLoypUrqmvtLZ4QEWVmZlLHjh0rlJaI6Nq1a7Rs2TLKzMykvLw8IiKqWrUqxcXFUf/+/cnHx8emrih//vknDRs2jDZu3EiZmZkOExOR9sHRHjhwgOLj4+n27dsOE/p69eqpquXq27RpQ6GhoXaTteeee47Onz9PmzZtqhD7rFX7qGxapXrO+c3IyKAePXpQQUGB1QKGr6+v1QJGnz59bPaXiOjUqVO0d+9eatq0KYWHh9OlS5fogw8+oBs3blCXLl2obdu2drVr166lZcuW0e3btykhIYGGDRtmafvzzz+JiKzis2gt51hzcjWOtijOxBaOlpOncXIt87a1lm9xcg9uPFSat3C2y8nFReXxXNsg0mZsEpWrcXItUXkaV+/h4UE5OTkUHh5u87sd4eXlRTt27KAGDRrYbM/OzqaWLVvS9evXi7WJsi0t9lmUVqmfvn37NuXn5yvyeRxfy8kBzHDGgxbPsRZ9rUh/KXEeuQAiKROmTZtGr7zyCnl6epbL9jiLJ9xFDA6iJj+i4E7ozd+hxLbOnTtHnTt3piNHjlBsbKxVcDl48CDFxMTQd999R6GhocW0AwcOpP3799OiRYusrvogItqzZw8NGzaM6tevbznmamlFLrwo1YpGhH1wtES8BSPuYpOIoo/IfdaafVQ2LVev9PxyFjAqK0qONSdX42hFITJP02K+xc091Lr4wllEbVcknHmeVmOTiLxF5EUyovLLtm3b0tixY6lHjx4Ov98WnMKrKNvSYp9FjkMtoUYOwBkPWj3HWvO13D6roZeUHrkAIikTbt68SQAsE68zZ87QqlWrKCYmhuLj4x1qr1+/Tr/88gvl5eWRTqejoKAgatKkCXl5eZVH1xWhxT4T8fotap85tlVQUEAZGRk2g0t8fDzp9XqbuitXrtAzzzxDGRkZ5OfnRw8//DDpdDq6dOkSXb16lRISEmjFihXk5+enqlbUwgtHa6aofVStWpUaN26syLac0YqwD65Wq2gxWdOifVQ2LUfPOb9cRMVTUVqRx1opouKSmn0uz/yyvP2lGrkHBy2eY62Of63GJhGIvEhGBF9++SVNnDiRxo8fT02aNCm2yGbvlxJE/MKrCNvSYp9FatWM41qoe3DGA5E2z7EotOgvJc4jF0AkZUJ8fDz16tWLhg8fTleuXKG6deuSwWCgP/74g+bOnUsjRowoprl79y698sortHDhQrp16xYZDAYCQHfv3iWj0UgvvPACzZkzh9zc3Oxut7wD27179+jll19m9Vlr/RZ9npTYllrk5OTYDIpRUVFlohW18MLRcmxLjfEk0j44iCzMVZSiT3nss1btQ1I6OOdXaVwS5fO07Gu1lPOocayU9FmNXEvpts2Ut7/k5B5mlMSGsjjHZb1d0Xl8ZY2lWlxE5SAiv7RVGDXfRkin05V4m0MtFl612OfyRsv5EicOc8eDVtGir9XqfLzSoeoj1SWS/5+AgAAcPHgQALBw4UI0aNAA+fn5+OKLLxAVFWVTM2bMGFSrVg1paWm4fPmy5fPLly8jLS0N1atXx9ixY21q79y5gzFjxsBkMkGn08Hd3R0GgwE6nQ4mkwljx47FnTt3bGrv3r2rWMvpM3fbovot6jyZUWJbhTl27BhSU1Mxa9YszJ49G6mpqTh27FiJOpEcPnwYKSkpmDlzJmbOnImUlBTk5ORUSK0o2zIj0j6UaEX5ADX0AHDt2jVs2rQJaWlp+Pzzz7F582Zcu3atwu6z1uyjsmqV6pWcX65NifJ5WvS1nByAoxV1rETml1rOt5TkHqKOtRZz8YqQawHaik0i8xZAWa7F0YrML0+fPu3wVdaIzHuUoqWxpFSrRX+pxthXYzxo5RwD2vS1FWE+Lik9cgFEUiaYTCacOXMGAPD0009j6tSpAICzZ8/CZDLZ1AQGBuLHH3+0+50//PADAgMDbbaJCmycPmu136LOkxkltgUAV65cQffu3aHT6eDn54c6deqgdu3a8PPzg16vx5NPPomrV6/a1RcUFGD9+vWYOnUqhg8fjhEjRmDq1KnYsGEDCgoKHPaZo9UaomzLjAj74GhFFjEqW9EH0J59VDYtV6/k/HJtSpTP06KvlTlP+fSZu20zovItJYg61lq0S5G5FqDN2KTFAqrIBViOfvPmzbh7967N/dm8ebPdbRZGSeFVZN6jtT6L0GrRX6oRhznjQWvnGNCmrxXpLyXOIxdAJGVC/fr1MX/+fJw9exY+Pj7YsWMHAGDPnj0ICgqyqfH09MS+ffvsfmdWVhY8PT1ttokKbJw+c7ctqt+izpMZJbYFAAMHDkT9+vWRmZlZrC0zMxMNGjTAoEGDbGp//fVXNGzYEC4uLnjkkUcQHx+PDh064JFHHoGLiwsaN26MX3/9VXUtIG7hRalWlG2ZEWEfHK3IIkZlK/oA2rOPyqbl6pWcX65NifJ5WvS1Mucpnz5zt21GhL9UmnuIOtZatEuRuRagzdikxQKqyAVYjl6v1+PSpUvFPv/jjz+g1+vtfifAK7yKsi0t9lmEVov+Uo04zBkPWjvHgDZ9rUh/KXEeuQAiKRO+/PJLuLm5Qa/Xo0OHDpbPZ86ciY4dO9rUdO3aFe3bt0deXl6xtry8PHTo0AHdunWzqRUV2Dh91mq/RZ0nM0psCwB8fX1tBmIzO3fuhK+vr8227t27o127drhw4UKxtgsXLqBdu3Z48sknVdeKWnjhaEXZlhkR9sHRiixiVLaiD6A9+6hsWq5eyfnl2pQon6dFXytznvLpM3fbZsrbX3JyD1HHWot2KTLXArQZm7RYQBW5AMvR63Q6/Pbbb8U+P3r0KLy9ve1+J8ArvIqyLS32WYRWi/5SjTjMGQ9aO8eANn2tSH8pcR65ACIpMy5evIi9e/ciPz/f8tmuXbvs3sf37NmziI2NhaurKxo2bIiEhAR07NgRDRs2hKurKxo0aIBz587Z1IoKbJw+a7Xfos5TYZy1LeB+MN61a5fd9szMTIfBODs726527969DoOxUq2ohReOVpRtFaa87YOjFVnEqGxFHzNaso/KplVD7+z55dqUKJ+nRV8rc57y6TN324UpT3/JyT1EHWst2qXIXAvQZmzSYgFV5AKsEn3Pnj3Rs2dP6PV6dO7c2fK+Z8+e6N69OyIiIpCQkGB3mwC/aCvKLrXY5/LWatFfcsaRWuNBS+cY0KavFTkflziPDgBEP4hdIiEiys7OpgYNGtD69etp586dlJeXR0REVatWpbi4OIqPjye9Xm9Te+7cOercuTMdOXKEYmNjKSgoiHQ6HeXl5dHBgwcpJiaGvvvuOwoNDVVVy+mzVvst6jxxGThwIO3fv58WLVpETZs2tWrbs2cPDRs2jOrXr0+fffZZMW2VKlXoiy++oLZt29r87p9++on69u1Lv//+u6paLy8v2r59Oz3yyCM2tVlZWdSqVSu6fv16hdGKsi0uHPvgaEX5AK6+W7dudPPmTVq+fDkFBQVZtV26dIkGDhxIRqORvvnmmwq1z0oRZR+VTauG3lm4NiXK52nR18qcRxv5JRelY5iTe4g61lq0S5G5FpE2Y5Mo38XJtUTlaUr1Q4YMISKiJUuWUJ8+fchkMlnaDAYDRURE0LBhwygwMNDmNomI/Pz8aP369fToo4/abN+1axclJCTQlStXirWJsi0t9lmEVov+kjOO1BgPWjvH3GOmxXmtGnqJc8gFEEmFQa/XU+PGjSkxMZH69+9Pvr6+pdaKCmycPmu136LOE5crV67QM888QxkZGeTn50cPP/ww6XQ6unTpEl25coU6duxIK1asID8/v2La0aNH0//+9z+aO3cudejQwbLPV69epQ0bNtDLL79MPXr0oPnz56uqFbXwwtGKsi0uHPvgaImICgoKFI8Jjpaj5yZrIvdZCaLso7Jp1dA7CzcuifJ5WvS1MufRRn7JRekY5uQeoo61Fu1SZK5FpN3YJCJvEXnBiKj8ctq0afTKK6+Qp6enw++3BafwKsq2tNhnEVot+ks14jBnPGjtHJvRmq/l9lkNvaT0yAUQSYVh586dlJKSQl988QXdvXuXevfuTc8//7zdiVBhRAU2Tp+12m9R50ktcnJyaOfOnXTp0iUi+n/BJSoqyq7mzp07NHbsWEpJSaF79+6RwWCwfO7q6kqJiYmUlJRE7u7uqmpFLbxwtKJsSy2U2AdHe+PGDXr11Vdp9erVdPfuXWrfvj0tWLDA4RU9amjV0CtN1kTuM5fyto/KqlVDX1q4cUmUz9Oir5U5jzbyS7Vwdgxzcg9Rx1qLdlkRci0ibcUmkXmLiGKgyPzy5s2bBIA8PDyIiOjMmTO0atUqiomJofj4eIdaNS6gKG/b0mKfRWi16C/ViMOc8WBGK+eYSJu+VvR8XOIk4u6+JZHY5saNG0hNTUXr1q2h1+tRo0YNvPnmmw7vR7tjxw4MHToUPj4+MJlMGDBgAH766adSbY+j5fRZy/1WqlWjz1z++OMPy99nz57F66+/jldeeQVbtmwpUXv16lX89NNPWLFiBVasWIGffvoJV69eLdV2lWhv376N4cOHw2AwQK/Xw2g0wmg0Qq/Xw2AwYMSIEbh161aF0popb9tSC459KNG+8sor8PDwwLBhwzBmzBgEBgbiqaeeKlVfOVqu/p9//sHIkSMREhKCKlWqoF+/fvj999/LfLvcfeZS3vZRWbVq6EuLWnFJlM/Tkq+VOY828ku1cHYMc3IPUcdai3aphlYNtBSbROUtnFxLVJ7G1Xfo0AHJyckAgMuXL+Phhx9GaGgojEYjPvzww1J9x+HDh7Fo0SLMnDkTM2fOREpKSonPpjEjyi612GcRWi35SzXigxrjQUvnWIu+VqS/lDiPXACRVGiOHz+O1157DdWrV4erqys6derk8P8rwkTA2T5rud9KtSImXfv370d4eDj0ej3q1q2LrKwsBAUFwcvLCz4+PnBxccGqVatsan/88UdER0fbXLC4cuUKYmJi7AZzjtZMeS+8qKEtTHnallI49sHR1qhRAytXrrS837VrF1xdXXHv3r0S+8zRcvWcZE3kPitFlH1UNq0aeqWoGZdE+Twt+FpA5jxayS+Vwh3DnNxD1LHWol2qpXUWLcYmUXmLqGKgyPwyICAABw8eBAAsXLgQDRo0QH5+Pr744gtERUWVavtKCq8i8x6t9Vn0sTKjFX/JiQ+c8aDFc6xFXyvSX0qcRy6ASCo8165dw0cffYSHHnoIer2+1DqREwGlfdZyv0WcJ2fo2LEjunbtiq1bt+LFF19EtWrVMGTIEOTn5yM/Px8jR47EY489ZlPbrVs3zJ071+53z58/Hz169FBdK2rhRY1Fm6KIsC1n4NgHR+vm5oZff/3V6jOj0YizZ8+W2GeOlqvnJGsi91kpouyjsmnV0KuBGnFJlM+r6L62KDLn0UZ+6QxKx7DauYeoY61Fu+RqnUGLsUlU3iKqGCgyvzSZTDhz5gwA4Omnn8bUqVMB3F8UMJlMDrWcwqso29Jin0XmiEXRmr90Nj5wxoMWz7EWfa1IfylxHrkAIqmwbNq0CYMGDYKnpyd8fHwwdOhQ7Ny506nvKO/ApkaftdZv0eeptAQEBGDfvn2W7el0Ovz888+W9pycHPj6+trUhoWF4fDhw3a/OycnB9WrV1ddK2rhhaMtimjbKi0c++Bo9Xo9fvvtN6vPvLy8cPLkyRL7zNFy9ZxkTeQ+K0WUfVQ2rRp6tVAal0T5PK34WlvInKd8tqt0286idAyrmXuYEXWstWSX5T3+tRibROUtooqBIvPL+vXrY/78+Th79ix8fHywY8cOAMCePXsQFBTkUMspvIqyLS32WWSOaEbL/tKZ+MAZD1o8x1r0tSL9pcR55AKIpEJx9uxZTJ8+HTVq1IBOp0OLFi2QkpKC69evO/U95RnY1OqzlvpdEc6Ts+h0Oly6dMny3svLCydOnLC8z8vLs5uEuLu7Izc31+535+bmwmg0qq4VtfDC0QIVw7achWMfXG3nzp3Rs2dPy8vV1RXx8fFWn6mt5eo5yZrIfVaKSPuoTFo19FyUxCVRPk+LvrYwMufRRn7pLErHMDf3KIyoY60VuxQ5/rUYm0TlLaKKgSLzyy+//BJubm7Q6/Xo0KGD5fOZM2eiY8eODvvNKbyKsi0t9lmUVuv+Ukkc5owHLZ5jLfpakf5S4jyuoh/CLpGY6dChA23cuJGqVKlCgwYNoueff57q1q1bav25c+coNTWVUlNT6dSpU9S8eXNasGAB9enThzw9PctEy+2zFvst8jxx0el0Dt/bo1q1anTgwAGqVauWzfb9+/dTcHCw6tpLly6Rm5ub3X65urrS77//XqG0Im2Li1L74Gife+65Yp8NGDCgzLVcPQAaPHgwubu7Wz67desWDR8+3Gocp6enq7pd7j5zEGEflVGrht5ZOHFJlM/Tqq+VOY828ksuSsYwJ/cgEnestWaXonMtIu3FJlF5CyfXEpWncfVPPfUUtWzZki5evEiPPPKI5fP27dtTz549HWr/+usvqlq1KhEReXl5kaenJz300EOWdn9/f7p27ZpdvQjb0mKfRWi16i+5cZgzHoi0dY6JtOlrRfpLifPIBRBJhcFkMtHXX39NXbt2JRcXF6e0ogIbp89a7beo86QGhQNb0aB2+/Ztu7rOnTvTlClTqFOnTmQ0Gq3abt68SW+88QZ17dpVda2ohReOVpRtqYFS++BoFy9erLi/HC1Xz0nWRO4zBxH2URm1auidgRuXRPk8LfpamfNoI79UAyVjmJN7iDrWWrRL0bkWkfZik6i8RVQxUGR+SURUtWpVy6KAmUcffbRUWk7RVpRdarHP5a3Vor9UKw5zxoOWzjGRNn2taH8pcQ4dAIjuhETCpXv37pSYmKgoOHG0XLTab6WI7POQIUNK9X+2gtClS5eocePG5OLiQqNGjaK6deuSTqejnJwc+uCDDyg/P5/27t1LQUFBqmpHjx5NmzZtop9//tnm4smjjz5Kbdu2pffee6/CaLUKxz44Wok2EGUflU2rht5ZtBhLtYrMeSrHtpWOYU7uIWp/tWiXotFqbJJUfPR6PXXq1MlSeF2zZg21a9fOqvC6bt06ys/PL6YVZVta7LMch6VDdHyQ51giKY5cAJFIJJJScObMGRoxYgRlZGSQ2W3qdDpKSEigDz/8kCIiIlTXilp44WglEolEIpFInEXmHhKJhIMWC69a7LNEIpFoFbkAIpFIJE5w+fJlOn78OAGg2rVrk7+/f5lqRSy8cLUSiUQikUgkziJzD4lEIpFIJBJJWSAXQCQSiUQDlPfCixpaiUQikUgkEmeRuYdEIpFIJBKJRE3kAohEIpFIJBKJRCKRSCQSiUQikUgkkgcOvegOSCQSiUQikUgkEolEIpFIJBKJRCKRqI1cAJFIJBKJRCKRSCQSiUQikUgkEolE8sAhF0AkEolEIpFIJBKJRCKRSCQSiUQikTxwyAUQiUQikUgkEolEIpFIJBKJRCKRSCQPHHIBRCKRSCQSiUQikUgkEolEIpFIJBLJA4dcAJFIJBKJRCKRSCQSiUQikUgkEolE8sAhF0AkEolEIpFIJBKJRCKRSCQSiUQikTxwyAUQiUQikUgkEolEIpFIJBKJRCKRSCQPHHIBRCKRSCQSiUQikUgkEolEIpFIJBLJA4dcAJFIJBKJRCKRSCQSiUQikUgkEolE8sAhF0AkEolEIpFIJBKJRCKRSCQSiUQikTxwyAUQiUQikUgkEolEIpFIJBKJRCKRSCQPHHIBRCKRSCQSiUQikUgkEolEIpFIJBLJA8f/B6NH7lFuUHhaAAAAAElFTkSuQmCC", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "grouped_df = new_df_param_var.groupby([\"location\", \"position\", \"name\"]).cuspemax_var\n", + "\n", + "my_df = pd.DataFrame()\n", + "my_df[\"mean\"] = grouped_df.mean()\n", + "my_df[\"std\"] = grouped_df.std()\n", + "my_df[\"minimum\"] = grouped_df.min()\n", + "my_df[\"maximum\"] = grouped_df.max()\n", + "\n", + "# Create boxes for mean ± std and plot mean as a horizontal line\n", + "box_width = 0.5 # Width of the boxes\n", + "box_positions = np.arange(len(my_df))\n", + "\n", + "# Create the figure and axis\n", + "fig, ax = plt.subplots( figsize = (16, 4))\n", + "\n", + "l = 0.15\n", + "\n", + "current_string = 0\n", + "current_index = -1\n", + "name_list = []\n", + "my_df.reset_index()\n", + "\n", + "for index, row in my_df.reset_index().iterrows(): \n", + " \n", + " if current_string != row[\"location\"]:\n", + " current_index += 1\n", + " ax.vlines(current_index, -100, 100, color='black', linewidth = 2, zorder = 10)\n", + " current_string = row[\"location\"]\n", + " name_list.append(f\"string {row.location}\")\n", + " \n", + " current_index += 1\n", + " \n", + " rect = Rectangle((current_index - box_width / 2, row[\"mean\"] - row[\"std\"]), box_width, 2 * row[\"std\"], fill=False, edgecolor='tab:blue', linewidth = 1, zorder = 2)\n", + " ax.add_patch(rect)\n", + " ax.plot([current_index - box_width / 2, current_index + box_width / 2], [row[\"mean\"], row[\"mean\"]], color='tab:green', zorder = 2)\n", + " ax.grid()\n", + "\n", + " # Plot horizontal black lines at min and max values\n", + " ax.hlines(row[\"minimum\"], current_index - l, current_index + l, color='k', zorder=2, linewidth = 1)\n", + " ax.hlines(row[\"maximum\"], current_index - l, current_index + l, color='k', zorder=2, linewidth = 1)\n", + " \n", + " # Plot vertical lines min and max values\n", + " ax.vlines(current_index, row[\"std\"] + row[\"mean\"], row[\"maximum\"], color='tab:blue', linewidth = 1)\n", + " ax.vlines(current_index, row[\"minimum\"], -row[\"std\"] + row[\"mean\"], color='tab:blue', linewidth = 1)\n", + " \n", + " name_list.append(row[\"name\"])\n", + "\n", + "\n", + "if container_limits.value == \"yes\":\n", + " # Plot lines for mean value thresholds\n", + " ax.hlines(0.025, 0, len(name_list) - 1, color='tab:orange', zorder=3, linewidth = 1)\n", + " ax.hlines(-0.025, 0, len(name_list) - 1, color='tab:orange', zorder=3, linewidth = 1)\n", + "\n", + " # Plot lines for std value thresholds\n", + " ax.hlines(0.05, 0, len(name_list) - 1, color='tab:red', zorder=3, linewidth = 1)\n", + " ax.hlines(-0.05, 0, len(name_list) - 1, color='tab:red', zorder=3, linewidth = 1)\n", + "\n", + "# Set labels and title\n", + "ax.set_xticks(np.arange(len(name_list)))\n", + "ax.set_xticklabels(name_list, rotation = 90)\n", + "\n", + "# Show plot\n", + "ax.set_ylim([-0.2, 0.2])\n", + "ax.set_ylabel(\"cuspEmax % variation\")\n", + "ax.set_title(f\"{period}-{run}\")\n", + "plt.tight_layout()\n", + "plt.show()" ] }, { "cell_type": "code", - "execution_count": null, - "id": "c8739a7a-a050-4dac-a259-a4ee62ea1d5b", + "execution_count": 8, + "id": "37e5f237-2470-49c8-a607-2c3796d7798b", "metadata": {}, "outputs": [], "source": [ - "plt.rcParams[\"figure.figsize\"] = (14, 6)\n", + "# remove global spikes events by selecting their amplitude\n", + "# and \n", + "# compute mean over initial hours of all DataFrame\n", "\n", + "new_df_param_var = new_df_param_var[new_df_param_var.cuspemax_var > -10]\n", "\n", - "df_to_plot.boxplot(\n", - " column=plot_info[\"parameter\"],\n", - " whis=[0, 100],\n", - " by=[\"location\", \"position\"],\n", - " rot=90,\n", - " showfliers=False,\n", - " showmeans=True,\n", - " meanprops=dict(marker=\"x\", color=\"red\", markersize=1),\n", - ")\n", - "plt.title(f\"{plot_info['parameter']} for all strings\")\n", - "plt.ylabel(y_label)\n", - "plt.xlabel(\"(string, position)\")\n", - "\n", - "# legend_labels = [f\"Mean: {mean:.2f}, Std: {std:.2f}\" for mean, std in zip(means, stds)]\n", - "#\n", - "\n", - "df_to_plot[df_to_plot.location == strings_buttons.value].boxplot(\n", - " column=plot_info[\"parameter\"],\n", - " whis=[0, 100],\n", - " by=[\"location\", \"position\"],\n", - " showfliers=False,\n", - " showmeans=True,\n", - " meanprops=dict(marker=\"x\", color=\"red\", markersize=8),\n", - ")\n", - "plt.title(f\"{plot_info['parameter']} - String {strings_buttons.value}\")\n", - "plt.ylabel(y_label)\n", - "plt.xlabel(\"(string, position)\")" + "channel_list = new_df_param_var[\"channel\"].unique()\n", + "\n", + "# recalculate % variation wrt new mean value for all channels\n", + "for ch in channel_list:\n", + " channel_df = new_df_param_var[new_df_param_var[\"channel\"] == ch]\n", + " channel_mean = channel_df[\"cuspemax_var\"].iloc[0:int(0.1*len(channel_df))].mean()\n", + " new_ch_var = (channel_df[\"cuspemax_var\"] - channel_mean)/channel_mean*100\n", + " new_df_param_var.loc[new_df_param_var[\"channel\"] == ch, param_widget.value + \"_var\"] = new_ch_var" ] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, "nbformat": 4, "nbformat_minor": 5 } From 8791c7076a7ee45e4f8d11c7d515c9f13fa0e6da Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 27 Jun 2023 08:44:36 +0000 Subject: [PATCH 121/166] style: pre-commit fixes --- notebook/L200-plotting-hdf-widgets.ipynb | 710 +++-------------------- 1 file changed, 86 insertions(+), 624 deletions(-) diff --git a/notebook/L200-plotting-hdf-widgets.ipynb b/notebook/L200-plotting-hdf-widgets.ipynb index 698bddb..0ee5b7d 100644 --- a/notebook/L200-plotting-hdf-widgets.ipynb +++ b/notebook/L200-plotting-hdf-widgets.ipynb @@ -26,7 +26,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "5de1e10c-b02d-45eb-9088-3e8103b3cbff", "metadata": {}, "outputs": [], @@ -54,82 +54,12 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "c3348d46-78a7-4be3-80de-a88610d88f00", "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-06-27 10:18:19,799: \u001b[35m---------------------------------------------\u001b[0m\n", - "2023-06-27 10:18:19,800: \u001b[35m--- S E T T I N G UP : geds\u001b[0m\n", - "2023-06-27 10:18:19,801: \u001b[35m---------------------------------------------\u001b[0m\n", - "2023-06-27 10:18:19,827: ... getting channel map\n", - "2023-06-27 10:18:20,742: ... getting channel status\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f589bd6fce8c453c8a2ed336afaa0a45", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='Event Type:', options=('IsPulser', 'IsBsln'), value='IsPulser')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "36f135000d0249d48b1bef0671ad4df8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='Parameter:', options=(), value=None)" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Pick the way you want to include PULS01ANA info\n", - "(this is not available for EventRate, CuspEmaxCtcCal \n", - "and AoECustom; in this case, select None):\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f3bef13a4ff84033bf3e92284bf7251f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='Options:', options=(), value=None)" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[91mIf you change me, then RUN AGAIN the next cell!!!\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "# ------------------------------------------------------------------------------------------ ...from here, you don't need to change anything in the code\n", "import sys\n", @@ -274,22 +204,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "508896aa-8f5c-4bed-a731-bb9aeca61bef", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "You are going to plot 'Cuspemax' for 'IsPulser' events...\n", - "IsPulser_Cuspemax\n", - "None (ie just plain geds data)\n", - "...data have beeng loaded!\n", - "...data have been formatted to the right structure!\n" - ] - } - ], + "outputs": [], "source": [ "def to_None(string):\n", " return None if string == \"None\" else string\n", @@ -396,7 +314,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "a6fde51f-89b0-49f8-82ed-74d24235cbe0", "metadata": { "tags": [] @@ -464,153 +382,12 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "084e9d36-1478-4833-96ff-555134e9a64c", "metadata": { "tags": [] }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7a0e3a59e9864117a8f1758d482ee4ba", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='data format:', options=('absolute values', '% values'), value='absolute values')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "94b63c27adf245628b9979bef103f81f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='Plot structure:', options=('per string', 'per channel'), value='per string')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "692416493e3a49cdb8bee63efd925181", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='Plot style:', options=('vs time', 'histogram'), value='vs time')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6706cd9b482d4403bf0566f96cbdbf10", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='String:', options=(1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 'all'), value=1)" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a12cb80d56694a4cb6f3b891c6ec0dd1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='Resampled:', options=('no', 'only', 'also'), value='no')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Chose resampling time among the available options:\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "63e849a9bbfa4470921841b5238872e5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(RadioButtons(description='\\t', layout=Layout(width='max-content'), options=('1min', '5min', '10…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Do you want to display horizontal lines for limits in the plots?\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1c847d18cc9b4c318c1fc2cbc42bb5c4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(RadioButtons(description='\\t', layout=Layout(width='max-content'), options=('no', 'yes'), value…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Set y-axis range; use min=0=max if you don't want to use any fixed range:\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ac885e4932d843458014dde8c5f4a65c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "VBox(children=(IntText(value=0, description='Min y-axis:', layout=Layout(width='150px')), IntText(value=0, des…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[91mIf you change me, then RUN AGAIN the next cell!!!\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "# ------------------------------------------------------------------------------------------ get plots\n", "display(data_format_widget)\n", @@ -633,306 +410,15 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "2122008e-2a6c-49b6-8a81-d351c1bfd57e", "metadata": { - "collapsed": true, "jupyter": { "outputs_hidden": true }, "tags": [] }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-06-27 10:23:24,278: Plot style: vs time\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Making plots now...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-06-27 10:23:24,850: ... string 1\n", - "2023-06-27 10:23:26,484: Plot style: vs time\n", - "2023-06-27 10:23:27,058: ... string 2\n", - "2023-06-27 10:23:28,608: Plot style: vs time\n", - "2023-06-27 10:23:29,119: ... string 3\n", - "2023-06-27 10:23:30,606: Plot style: vs time\n", - "2023-06-27 10:23:31,045: ... string 4\n", - "2023-06-27 10:23:32,379: Plot style: vs time\n", - "2023-06-27 10:23:32,695: ... string 5\n", - "2023-06-27 10:23:33,648: Plot style: vs time\n", - "2023-06-27 10:23:34,121: ... string 7\n", - "2023-06-27 10:23:35,458: Plot style: vs time\n", - "2023-06-27 10:23:36,017: ... string 8\n", - "2023-06-27 10:23:37,529: Plot style: vs time\n", - "2023-06-27 10:23:38,154: ... string 9\n", - "2023-06-27 10:23:39,807: Plot style: vs time\n", - "2023-06-27 10:23:40,677: ... string 10\n", - "2023-06-27 10:23:42,794: Plot style: vs time\n", - "2023-06-27 10:23:43,360: ... string 11\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "748a3e8bb86845c294bf00abdb2699ee", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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HlCuGx8fz+WXX64cc8UVVxAfH6+ppz81NTV07Ngx6H49vv76a0aNGsXf/vY3unTpQv/+/Zk9e7YmgWOwevqXZeHChQwYMIABAwbwy1/+kv/85z+nFK11QayDvnDhQh5//HHef/99xowZw7/+9S9uvvlmDh8+TPfu3YOed+zYMc2yEZ06dTobxW0TvF4v5eXlJCYmYjZfMHaUM44hl+AYsgmOIRt9DLkE50KSzZtbijhZ6eCa3mdnSdALSTZnE0MuwTFko8+FKBevw4GzqPCs3zciJRWzSlFsiW7duvH2229jMpkYMGAABw4c4O2332bmzJmndP8vvviCsrIydu7cqSiAffv21Rzj9XqZN28esbGxAEybNo21a9fyyiuvnNI99SguLiYiIoIOHTpotnfu3Jni4mJAXL5v+vTpPPTQQ4waNUpRpv2v07lzZ822Dh06EBERoVynuLiYnj17BtxH3terVy/d63Tu3Bm32015eTkpKSkB9546dSpPPPEEixYt4v777wfEsPDRo0czePBg5fpJSUkB5yYlJSnl8yctLY3//e9/fPvtt7r7g5GZmcmWLVuIjIxk6dKllJeX8/DDD1NZWanMQw9WT/+yfPzxx/zyl78E4KabbqK+vp61a9eGDK/X44JQ0N966y1mzJjBr371KwDmzJnDd999xwcffMCrr74a9LykpCTat29/lkrZtng8HtLS0rjlllsumE77bGDIJTiGbIJjyEYfQy7BuZBk0+RuW09wS1xIsjmbGHIJjiEbfS5EuTiLCsl//qmzft+uz79KZM9eYR9/xRVXaNaWHz16NG+++SYejweLxRLy3IceeojPPvtM+bu+vp709HRGjBgR0jvbs2dPRTkHSElJobS0NOwynw6CICj1fffdd6mtreWpp0I/J7V89K6jd4zsDQ73mM2bN3PzzTcr+/71r39xzz33cMcddzB37lzuv/9+6urqWLx4MXPmzGl1+WQOHTrE7bffzrPPPssNN9wQrMq6eL1eTCYTn3/+OfHx8YCoe95111384x//ICoqKmg91duOHTvGjh07lCR3VquVyZMnM3fu3B+fgu50Otm9ezd//OMfNdvHjRsXMsQBYMSIETQ3NzN48GD+9Kc/ce21157JohoYGBgYGJx1AocqBgYGBmeGiJRUuj4f3Dl2Ju97tnjxxReZPXu2ZpuspIXCf6qC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nfzrX/9StmVmZrJlyxYiIyNZunQp5eXlPPzww1RWVmrmoYfD8uXLaddOXDWroaGBlJQUli9fjtncOp/4eR/iXlhYSJcuXdi6dSujR49Wtr/yyit8+umnHD0amBW7f//+3H///Tz11FPKth9++IGf/exnFBUV6c4dcDgcOBy+eZS1tbV069aN8vJyJezHbDZjsVjweDwa64y83e12axInWCwWzGZz0O3+lkurVfwIuN1uTsxczIn/i6Lf0iZszYDJZ9FVruMWrbB6271mEFRtwSSA2RNiu8Vn6QUwecHsDb7d42faMXvEa+ltRwCv/3b3qdXJHYEiF6vrx1GntnpObptKNs4fR53a6jl5rPyk36cMywgAioAUwOQ209u823ifjPfJeJ+M75PxPp3D5+SKFOVSccLKtN+O04wD1dhsNrxer2aOsclkwmq1Bt0ebKyq3l5bW0tiYmKrQtwrm7NYnf8UZ5txXV+lY2R4KU2vueYaevfurVGuvvrqK+666y6am5uxWCw0NDRQVFREeXk5H374IevWrWP79u0kJSXx0EMP8dlnnynn1tfX8/DDD3Po0CE2btyoe8/nn3+eRYsWcejQIWXb22+/zbvvvktmZuBKNaca4v7FF19w//33a3QWgBtuuIE+ffrwz3/+k3feeYeFCxeyadMmLBaL7rUefPBBcnJyAhK6RURE8N///pcpU6Ywbtw4evXqpVFmCwoK6Nq1K2lpaVxxxRWac+fPn8+vfvUrvvrqK66//npADPG++eablWP+9a9/cc8993DPPfeQm5vL5s2bqaurIyUlhTlz5vCrX/0KgL/85S988sknGiMTiGHwM2bM4I9//KOu3N58801efPFFampqAvZt2LCBW2+9lffff597771X2T5u3Dg2b95McXEx8fHiyjRLlizhrrvuoqGhgagorXEwVIh7QUGBMiW7srKS999/n5UrV7Jjxw569OihW+YLcpm1xMRELBZLgLe8tLQ0wPIjk5ycrHu81WoNGmJgt9s1IRwyNpsNm82m2WaxWLBYLAHHyh1ruNv9r6veLq8TanFLycUEdNdVNQXZbvaC3mojQbcHyTMXbHuwNV5btf0U6qSWi1y2C71ObfWcLCZfuczeEGVs7fYfUdv7qb5PJrcZMJGqOth4n87u++TBign3OalTCT3p7MlusYyt3d4W75ODKCJoopQe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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7032440d2f314e4d80a3c0cce0d5fd30", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+gAAAEsCAYAAABQRZlvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeVxU1f8/8NfMsCOM7IgLkgtobnwwFf0UYQmpuPSpn+CCWmb5ETVTK5dKtFzTNE1b1DQzxfqq5EeNcMMlAVFBUREBQUBAQGDYme38/sC5Ms5yAdl9Px+PeeicOXPvOa87d5hzVwFjjIEQQgghhBBCCCHNStjcDSCEEEIIIYQQQggN0AkhhBBCCCGEkBbBoLkbQAghhJD6UygUqHm2mlAohFBI298JIYSQ1oj+ghNCyHNq//792Lx5c53ek5aWBoFAgD179jRKm/S5e/cuFi1aBA8PD7Rv3x7W1tYYNmwY/u///q/J29KSdOvWDYaGhtxj5cqVzd0kQgghhNSTgC4SRwghzyc/Pz/cvHkTaWlptX5PVVUVYmNj0a1bN9jZ2TVe47T47rvvsG3bNgQGBuKll16CXC7HwYMH8csvv2DFihX44osvmrQ9LUV8fDyqqqq4505OTnBycmrGFhFCCCGkvmiATgghz6m6DNAVCgXkcjmMjY0bv2E65Ofnw8bGBgKBQK3cz88PZ8+eRUFBQbO2jxBCCCHkWdEh7oQQ0gbl5eXh/fffR+fOnWFsbAw7OzsMGzYMp06dAgC8+uqrOH78OO7fvw+BQMA9gCeHsa9fvx5fffUVXFxcYGxsjLNnz2o9xD04OBgCgQC3bt3CxIkTIRaL4eDggHfffRcSiUStXUVFRZgxYwasra3Rrl07jB49Gvfu3YNAIEBwcLDePtna2moMzgFg0KBBKC8vR0FBwbOFRgghhBDSzOgicYQQ0gYFBgbi2rVrWLVqFXr27ImioiJcu3YNjx49AgBs374d77//PlJSUnDkyBGt09iyZQt69uyJDRs2wNLSEj169NA7z7feegv+/v6YMWMG4uPjsWTJEgDAzz//DABQKpUYM2YMrly5guDgYPzrX/9CZGQk3njjjWfq69mzZ2FnZwd7e/tnmg4hhBBCSHOjATohhLRB//zzD9577z3MnDmTKxs3bhz3/969e6N9+/YwNjbGkCFDtE7DxMQEf//9NwwNDbkyfYfDz5gxAx9//DEA4PXXX0dycjJ+/vln7Nq1CwKBAGFhYbh48SK+//57zJo1CwAwYsQIGBkZcYP5utq5cyciIiLw7bffQiQS1WsahBBCCCEtBR3iTgghbdCgQYOwZ88efPXVV4iKioJMJqvzNMaOHas2OK9N/Zr69euHyspK5ObmAgDOnTsHAJgwYYJavYkTJ9a5bQDw119/ISgoCG+//Tbmzp1br2kQQgghhLQkNEAnhJA26ODBg5g2bRp27twJT09PWFtbY+rUqcjJyan1NDp06FCnedrY2Kg9V12wraKiAgDw6NEjGBgYwNraWq2eg4NDneYDAH///Tf+85//YMSIEfjtt9+0nptOCCGEENLa0ACdEELaIFtbW2zevBlpaWm4f/8+1qxZg8OHD2P69Om1nkZDD3ptbGwgl8s1LuZWl40GQPXgfPz48fDy8sKhQ4dgZGTUkM0khBBCCGk2NEAnhJA2rkuXLpgzZw5GjBiBa9euceXGxsbc3u2m4OXlBaB6735NISEhtZ5GeHg4xo8fj3//+98IDQ2l26oRQgghpE2hi8QRQkgbI5FI4O3tjUmTJsHNzQ0WFhaIiYlBWFgY/vOf/3D1+vbti8OHD+P777+Hh4cHhEIhBg4c2GjteuONNzBs2DAsXLgQxcXF8PDwQGRkJPbu3QsAEAr1bzO+ePEixo8fD0dHRyxduhRxcXFqr/fu3RuWlpaN1XxCCCGEkEZHA3RCCGljTExMMHjwYPz6669IS0uDTCZDly5d8Omnn+KTTz7h6n344Ye4desWli5dColEAsYYGGON1i6hUIj//e9/WLhwIdauXQupVIphw4Zh3759GDJkCNq3b6/3/adOnUJFRQXS0tIwfPhwjdfPnj2LV199tXEaTwghhBDSBASsMX+NEUIIITz279+PyZMn459//sHQoUObuzmEEEIIIc2GBuiEEEKazIEDB/DgwQP07dsXQqEQUVFR+Prrr+Hu7s7dho0QQggh5HlFh7gTQghpMhYWFggJCcFXX32FsrIydOjQAdOnT8dXX33V3E0jhBBCCGl2tAedEEIIIYQQQghpAeg2a4QQQgghhBBCSAtAA3RCCCGEEEIIIaQFaPYB+po1ayAQCDB//vzmbgohhBBCCCGEENJsmnWAHhMTg59++gn9+vVrzmYQQgghhBBCCCHNrtmu4l5aWorJkydjx44ddb56r1KpRFZWFiwsLCAQCBqphYQQQgghhLQNjDGUlJTAyckJQmGzH0RLCNGh2QboQUFBGD16NF5//fU6D9CzsrLQuXPnRmoZIYQQQgghbVNGRgY6derU3M0ghOjQLAP0kJAQXLt2DTExMbWqX1VVhaqqKu656s5wqampsLCwAAAIhUKIRCIoFAoolUqurqpcLpej5h3lRCIRhEKhznKZTKbWBgOD6qjkcjkAQCaT4ezZsxgxYgQMDQ25chVDQ0MolUooFAquTCAQwMDAQGe5rrY3VZ/4yuvaJ8YYwsPD4e3tDUNDwzbRp4ZcThUVFThz5gyXT1voU0MvJ9V65uPjw7WntfdJpaGWk1Kp1LmetdY+NeRyKi8vx9mzZ7l82kKfGno51WY9a219qtn2hlhO2taz1t6nhlxOFRUVtVrPWlOfGno51VzPVJ+ppu5TYWEhXFxcuN/OhJCWqckH6BkZGfjwww8RHh4OExOTWr1nzZo1WLFihUZ5ZGQkzMzMAABdunSBu7s7YmNjkZ6eztVxdXWFm5sbLl26hLy8PK58wIABcHZ2xpkzZ1BSUsKVe3p6wt7eHsePH1f7Evb29oapqSlOnDjBlZmZmcHMzAxyuRwXL17kyg0MDDB69Gjk5uYiMjKSK7ewsMDw4cNx//59xMXFceV2dnYYOnQo7ty5g8TERK68OfoEAKNGjUJFRcUz9+mll16CmZkZoqOj20yfGnI5xcTEqOXTFvrUGMvJzMwMlpaWKCwsbDN9asjl1KdPH431rLX3qSGX04ULF9TyaQt9aozlpFrPsrKy2kyfGnI5devWTWM9a+19asjlFBERoZZPW+hTYywn1XqWkpLSrH2i00MJadkErOamtyYQGhqKN998EyKRiCtTKBQQCAQQCoWoqqpSew3Q3INeXFyMzp07Iz8/H5aWlgCafosqYwxyuRwmJiYQCAS0lVhLuUgkQlVVFYRCIffHoLX3qSGXk0wmg0wmg4GBAZdXa+9TQy8n1XpmamoKxlib6JNKQy0n1femtvWstfapIZeTVCqFXC7n1rO20KeGXk6qdcvExETnetba+lSz7Q2xnIRCISorKyESibj1rLX3qSGXk0wmq9V61pr61NDLqeZ6plQqm6VPBQUFsLW1hUQi4X4/E0JaniYfoJeUlOD+/ftqZe+88w7c3Nzw6aefok+fPrzTKC4uhlgsbtYvGNWFNuhCdbpRRvpRPvwoI36UkX6UDz/KiB9lpB/lw68lZNQSfj8TQvg1+SUcLSws0KdPH7WHubk5bGxsajU4bynkcjnOnj2rsSWVPEEZ6Uf58KOM+FFG+lE+/CgjfpSRfpQPP8qIEFJbdI8FQgghhBBCCCGkBWi226zVFBER0dxNIIQQQghpc7Kkj1ChrEI3E6fmbgohhJBaaBED9NZKddENohtlpB/lw48y4kcZ6Uf58KOM+LXWjBakfwcACOm+vFHn01rzaUqUESGkNpr8InENgS5yQQghhBDCLyC5+ja1jT1AJy1fbX4/q+6eUvOq9ISQxiESibi7X9REm/LqSalUIj8/H7a2thAK6VR+bSgj/SgffpQRP8pIP8qHH2XEjzLSj/Lh1xoykkqlyM7ORnl5eXM3hZDnhpmZGTp06AAjIyOujAbo9aRQKBAZGYlRo0a12C/a5kYZ6Uf58KOM+FFG+lE+/CgjfpSRfpQPv5aekVKpRGpqKkQiEZycnGBkZES3zCOkETHGIJVKkZeXh9TUVPTo0YP7bqABOiGEEEIIIc8xqVQKpVKJzp07w8zMrLmbQ8hzwdTUFIaGhrh//z6kUilMTEwA0G3WCCGEEEIIIUCL3LtPSFumbZ2jtbCeBAIBLCws6PAfPSgj/SgffpQRP8pIP8qHH2XEjzLSj/LhRxkRQmqLruJOCCGEENJG0VXciYq+38+VlZVITU2Fi4sLd5gt0S04OBihoaGIi4tr7qaQVk7bukd70OtJqVTi/v37UCqVzd2UFosy0o/y4UcZ8aOM9KN8+FFG/Cgj/SgffpRR8zl8+DB8fX1ha2sLgUDQZIPq8+fPY8yYMXBycoJAIEBoaGi92lZVVYW5c+fC1tYW5ubmGDt2LDIzM7nXIyIiIBAItD5iYmIAANevX8fEiRPRuXNnmJqaolevXvj222815hUfHw8vLy+YmpqiY8eOWLlyJWruyz18+DBGjBgBOzs7WFpawtPTE3///bfeHNLS0tTaZGRkhO7du+Orr77C0/uJDx06hN69e8PY2Bi9e/fGkSNHNKa3fft2bjDr4eGBCxcuqL3OGENwcDCcnJxgamqKV199Fbdu3VKr88EHH6Bbt24wNTWFnZ0dxo0bhzt37qjV6dq1q0aeixcv1mjPoUOH8Oqrr0IsFqNdu3bo168fVq5ciYKCAr256EMD9HpSKBSIi4uj+0TqQRnpR/nwo4z4UUb6UT78KCN+lJF+lA8/yqj5lJWVYdiwYVi7dm2Tz7d///747rvv9Nbha9v8+fNx5MgRhISE4OLFiygtLYWfnx/3WRo6dCiys7PVHu+99x66du2KgQMHAgCuXr0KOzs77Nu3D7du3cKyZcuwZMkStbYVFxdjxIgRcHJyQkxMDLZu3YoNGzbgm2++4eqcP38eI0aMwIkTJ3D16lV4e3tjzJgxiI2N5c3j1KlTyM7ORlJSElasWIFVq1bh559/5l6PjIyEv78/AgMDcf36dQQGBmLChAmIjo7m6hw8eBDz58/HsmXLEBsbi5dffhkjR45Eeno6V2f9+vX45ptv8N133yEmJgaOjo4YMWIESkpKuDoeHh7YvXs3EhIS8Pfff4MxBh8fH431c+XKlWq5fvbZZ2qvL1u2DP7+/njppZfw119/4ebNm9i4cSOuX7+OX3/9lTcTnVgrJJFIGAAmkUiarQ1SqZSFhoYyqVTabG1o6Sgj/SgffpQRP8pIP8qHH2XErzVn5J8UzPyTght1Hq05n6bSEjLS9/u5oqKC3b59m1VUVDRDy56Nl5cXCwoKYkFBQUwsFjNra2u2bNkyplQq1eqlpqYyACw2NrZW083IyGD+/v7MysqKmZmZMQ8PDxYVFcUYY2z58uWsf//+bO/evczZ2ZlZWloyf39/VlxcrHVaANiRI0d0zktX24qKipihoSELCQnhyh48eMCEQiELCwvTOi2pVMrs7e3ZypUr9fZv9uzZzNvbm3u+fft2JhaLWWVlJVe2Zs0a5uTkpJFlTb1792YrVqyoc9+GDx/OZs+ezT2fMGECe+ONN9Tq+Pr6soCAAO75oEGD2KxZs9TquLm5scWLFzPGGFMqlczR0ZGtXbuWe72yspKJxWL2ww8/6Gzj9evXGQCWnJzMlTk7O7NNmzbpfE90dDQDwDZv3qz19cLCQp3vrUnbukd70AkhhBBCCCGt1i+//AIDAwNER0djy5Yt2LRpE3bu3Fnv6ZWWlsLLywtZWVk4evQorl+/jk8++UTtFIWUlBSEhobi2LFjOHbsGM6dO9fge+mvXr0KmUwGHx8frszJyQl9+vTBpUuXtL7n6NGjyM/Px/Tp0/VOWyKRwNramnseGRkJLy8vGBsbc2W+vr7IyspCWlqa1mkolUqUlJSoTac2rly5gmvXrmHw4MFq86/ZT9X8Vf2USqW4evWqRh0fHx+uTmpqKnJyctTqGBsbw8vLS2deZWVl2L17N1xcXNC5c2e119atWwcbGxsMGDAAq1atglQq5V777bff0K5dO8yePVvrdNu3b8+Tgm50H/R6EggEsLOzo6tx6kEZ6Uf58KOM+FFG+lE+/CgjfpSRfpQPv9aYkbKqCtLsrCafr1EHJwhrDBJro3Pnzti0aRMEAgFcXV0RHx+PTZs2YebMmfVqw/79+5GXl4eYmBhu8Nm9e3e1OkqlEnv27IGFhQUAIDAwEKdPn8aqVavqNU9tcnJyYGRkBCsrK7VyBwcH5OTkaH3Prl274OvrqzHYrCkyMhK///47jh8/rjavrl27asxH9ZqLi4vGdDZu3IiysjJMmDCBty9Dhw6FUCiEVCqFTCbD+++/j6lTp6rNXzU/bf3Mz8+HQqHQW0f1r7Y69+/fVyvbvn07PvnkE5SVlcHNzQ0nT56EkZER9/qHH36If/3rX7CyssLly5exZMkSpKamcht+kpKS8MILL8DQ0JC373VFA/R6MjAwwNChQ5u7GS0aZaQf5cOPMuJHGelH+fCjjPhRRvpRPvxaY0bS7CxkBi9p8vl2Cl4Dk66ag0F9hgwZorbxw9PTExs3boRCoYBIJNL73lmzZmHfvn3c89LSUsTFxcHd3V3vnuGuXbtyg3MA6NChA3Jzc+vU7vpijGnd2JOZmYm///4bv//+u8733rp1C+PGjcMXX3yBESNGqL329DTZ44u4aZvXgQMHEBwcjD///BP29vYAgAsXLmDkyJFcnR9//BHDhg0DUH3+eK9evSCTyRAfH4958+bByspK7agDbfN/uqyh6kyePBkjRoxAdnY2NmzYgAkTJuCff/7hrqT+0UcfcXX79esHKysrvP3229xedV3LoCHQAL2eFAoFkpKS0KNHD94V/3lFGelH+fCjjPhRRvpRPvwoI36UkX6UD7/WmJFRByd0Cl7TLPNtSitXrsSiRYvUykxNTXnf9/SeU4FA0OBX6Xd0dIRUKkVhYaHaXvTc3FytG3x2794NGxsbjB07Vuv0bt++jeHDh2PmzJkaFzxzdHTU2Cuv2uDw9B7pgwcPYsaMGfjjjz/w+uuvc+UDBw5UuxK9g4MDHj16BKD6KAfVUQi9evXCvXv38PnnnyM4OBgmJiY656+at62tLUQikd46jo6OAKr3pHfo0EFrHRWxWAyxWIwePXpgyJAhsLKywpEjRzBx4kSt2Q0ZMgQAkJycDBsbG/Ts2RMXL16ETCZr8L3odA56PSmVSiQmJtLtMvSgjPSjfPhRRvwoI/0oH36UET/KSD/Kh19rzEhobAyTri5N/qjr4e0AEBUVpfG8thtD7O3t0b17d+4BVO8xjYuLe6ZbZTUEDw8PGBoa4uTJk1xZdnY2bt68qTFAZ4xh9+7dmDp1qtYB461bt+Dt7Y1p06ZpPQzf09MT58+fVzvPOjw8HE5OTmqHvh84cADTp0/H/v37MXr0aLVpmJqaqmVZ8wiDp4lEIsjlcm5+np6eav1UzV/VTyMjI3h4eGjUOXnyJFfHxcUFjo6OanWkUinOnTvHewQLYwxVVVU6X1ddqV418J80aRJKS0uxfft2rfWLior0zk8f2oNOCCGEEEIIabUyMjKwYMECfPDBB7h27Rq2bt2KjRs3AgAKCgqQnp6OrKzq8+kTExMBVO9tVe1xfdrEiROxevVqjB8/HmvWrEGHDh0QGxsLJycneHp61qpNpaWlSE5O5p6npqYiLi4O1tbW6NKlS63aJhaLMWPGDCxcuBA2NjawtrbGokWL0LdvX7U91wBw5swZpKamYsaMGRptUQ3OfXx8sGDBAm4vtEgkgp2dHYDqAeeKFSswffp0LF26FElJSVi9ejW++OIL7lDuAwcOYOrUqfj2228xZMgQbjqmpqYQi8V683j06BFycnIgl8sRHx+Pb7/9Ft7e3rC0tARQfc73K6+8gnXr1mHcuHH4888/cerUKVy8eJGbxoIFCxAYGIiBAwfC09MTP/30E9LT0zFr1iwA1UcxzJ8/H6tXr0aPHj3Qo0cPrF69GmZmZpg0aRIA4N69ezh48CB8fHxgZ2eHBw8eYN26dTA1NcWoUaMAVJ+jHxUVBW9vb4jFYsTExOCjjz7C2LFjuWU3ePBgfPLJJ1i4cCEePHiAN998E05OTkhOTsYPP/yAf//73/jwww/1ZqJTra7/3sLQbdZaB8pIP8qHH2XEjzLSj/LhRxnxa80Z0W3WWoaWkFFbvs3a7Nmz2axZs5ilpSWzsrJiixcv5m4Ntnv3bgZA47F8+XK9001LS2NvvfUWs7S0ZGZmZmzgwIEsOjqaMfbkNms1bdq0iTk7O3PPz549q3W+06ZN4+rUpm0VFRVszpw5zNrampmamjI/Pz+Wnp6u0d6JEyeyoUOHau3L8uXLtc6nZnsZY+zGjRvs5ZdfZsbGxszR0ZEFBwer3WLNy8uLt09PU91mTfUQiUSsU6dObObMmSw3N1et7h9//MFcXV2ZoaEhc3NzY4cOHdKY3rZt25izszMzMjJi//rXv9i5c+fUXlcqlWz58uXM0dGRGRsbs1deeYXFx8dzrz948ICNHDmS2dvbM0NDQ9apUyc2adIkdufOHa7O1atX2eDBg5lYLGYmJibM1dWVLV++nJWVlWm05+DBg+yVV15hFhYWzNzcnPXr14+tXLnymW6zJmDs8dn/rUhxcTHEYjEkEgm31aWpKRQK3LhxA/369Ws15xI1NcpIP8qHH2XEjzLSj/LhRxnxa80ZBSSvAACEdF/eaPNozfk0lZaQkb7fz5WVlUhNTYWLiwt3kazW4tVXX8WAAQOwefPm5m4KIXWmbd2jQ9zrSSQSwd3dvbmb0aJRRvpRPvwoI36UkX6UDz/KiB9lpB/lw48yIoTUFl0krp4UCgViY2OhUCiauyktFmWkH+XDjzLiRxnpR/nwo4z4UUb6UT78KCNCSG3RAL2elEol0tPTW9XVOJsaZaQf5cOPMuJHGelH+fCjjPhRRvpRPvwoo8YTERFBh7eTNoUG6IQQQgghhBBCSAtAA3RCCCGEEEIIIaQFoAF6PQmFQri6ukIopAh1oYz0o3z4UUb8KCP9KB9+lBE/ykg/yocfZUQIqS26ins9iUQiuLm5NXczWjTKSD/Khx9lxI8y0o/y4UcZ8aOM9KN8+FFGhJDaos149SSXy3Hp0iXI5fLmbkqLRRnpR/nwo4z4UUb6UT78KCN+lJF+lA8/yogQUlvNMkD//vvv0a9fP1haWsLS0hKenp7466+/mqMp9cYYQ15eHhhjzd2UFosy0o/y4UcZ8aOM9KN8+FFG/Cgj/SgffpQRIaS2mmWA3qlTJ6xduxZXrlzBlStXMHz4cIwbNw63bt1qjuYQQgghhBBCSK0EBwdjwIABzd0M0kY1ywB9zJgxGDVqFHr27ImePXti1apVaNeuHaKiopqjOYQQQgghhJA2RiaT4dNPP0Xfvn1hbm4OJycnTJ06FVlZWY0+7/Pnz2PMmDFwcnKCQCBAaGioRp3Dhw/D19cXtra2EAgEiIuL06hTVVWFuXPnwtbWFubm5hg7diwyMzO51yMiIiAQCLQ+YmJiAADXr1/HxIkT0blzZ5iamqJXr1749ttvNeYVHx8PLy8vmJqaomPHjli5cqXaUR8XL17EsGHDYGNjA1NTU7i5uWHTpk21yiMnJwdz587FCy+8AGNjY3Tu3BljxozB6dOna91XACgsLERgYCDEYjHEYjECAwNRVFSkVic9PR1jxoyBubk5bG1tMW/ePEilUp2Z2djYYPjw4fjnn3802l1cXIzPP/8cL774IkxNTWFjY4OXXnoJ69evR2FhIVevNsuytpr9HHSFQoGQkBCUlZXB09OzuZtTayKRCAMGDIBIJGruprRYlJF+lA8/yogfZaQf5cOPMuJHGelH+fCjjJpHeXk5rl27hs8//xzXrl3D4cOHcffuXYwdO7bR511WVob+/fvju+++01tn2LBhWLt2rc468+fPx5EjRxASEoKLFy+itLQUfn5+UCgUAIChQ4ciOztb7fHee++ha9euGDhwIADg6tWrsLOzw759+3Dr1i0sW7YMS5YsUWtbcXExRowYAScnJ8TExGDr1q3YsGEDvvnmG66Oubk55syZg/PnzyMhIQGfffYZPvvsM/z00096s0hLS4OHhwfOnDmD9evXIz4+HmFhYfD29kZQUFCt+woAkyZNQlxcHMLCwhAWFoa4uDgEBgZyrysUCowePRplZWW4ePEiQkJCcOjQISxcuFCjXYmJicjOzkZERATs7OwwevRo5Obmcq8XFBRgyJAh2L17NxYtWoTo6Gj8888/WL58OeLi4rB///46LcvaErBmOhkmPj4enp6eqKysRLt27bB//36MGjVKa92qqipUVVVxz4uLi9G5c2fk5+fD0tISQPXtK0QiERQKBZRKJVdXVS6Xy9W2AIlEIgiFQp3lMplMrQ0GBtUXvH/64h66yg0NDaFUKtU+UAKBAAYGBjrLdbWd+kR9oj5Rn6hP1CfqE/WpPn2anPoVREoB9rgsaTN9aovLqSn6VFBQAFtbW0gkEu73s0plZSVSU1Ph4uICExMTtCavvvoq+vTpAwDYt28fRCIR/vvf/+LLL7+EQCDQqB8TE4NBgwbh/v376NKli87pZmZmYtGiRQgPD0dVVRV69eqFbdu2YfDgwQgODkZoaCgWLlyIzz//HIWFhRg5ciR27NgBCwsLjWkJBAIcOXIE48eP1zqvtLQ0uLi4IDY2Vu3QeYlEAjs7O/z666/w9/cHAGRlZaFz5844ceIEfH19NaYlk8nQqVMnzJkzB59//rnO/gUFBSEhIQFnzpwBUH2NsCVLluDhw4cwNjYGAKxduxZbt25FZmam1iwB4D//+Q/Mzc3x66+/6pzXqFGjcOPGDSQmJsLc3FzttaKiIrRv375WfU1ISEDv3r0RFRWFwYMHAwCioqLg6emJO3fuwNXVFX/99Rf8/PyQkZEBJycnAEBISAimT5+O3NxcWFpaIiIiAt7e3igsLET79u0BVI9N+/Xrh6NHj2LMmDEAgFmzZmHfvn1ITExEx44dNfrFGNPIRdey1EXbutdst1lzdXVFXFwcioqKcOjQIUybNg3nzp1D7969NequWbMGK1as0CgPDw+HmZkZAKBLly5wd3fHjRs3kJ6erjYfNzc3XL58GXl5eVz5gAED4OzsjPPnz6OkpIQr9/T0hL29PcLDw9W+hL29vWFqaooTJ06otcHHxwcymQxnz57lygwMDDB69Gjk5+cjMjKSK7ewsMDw4cORkZGhdtiDnZ0dhg4diqSkJCQmJnLlzdWnUaNGoaKi4pn7NGjQIJw8eVLtkJLW3qeGXE7nzp1DaWlpm+pTYywnABg9ejQKCgraTJ8acjn17dsX4eHhaj/IWnuf2uJyaul9EgqFGDlyJB48eNBm+tSQy6l79+4ICwtTG2y1lj7BAvDI7oQTCU/m21aXU0vvk0gkwhtvvIHk5ORm6VN4eDjaql9++QUzZsxAdHQ0rly5gvfffx/Ozs6YOXOmRl2JRAKBQMANzLQpLS2Fl5cXOnbsiKNHj8LR0RHXrl1T24CSkpKC0NBQHDt2DIWFhZgwYQLWrl2LVatWNVi/rl69CplMBh8fH67MyckJffr0waVLl7QO0I8ePYr8/HxMnz5d77QlEgmsra2555GRkfDy8uIG5wDg6+uLJUuWcIPOp8XGxuLSpUv46quvdM6noKAAYWFhWLVqlcbgHAC3HGrT18jISIjFYm5wDgBDhgyBWCzGpUuX4OrqisjISPTp04cbnKv6UVVVhatXr8Lb21ujDeXl5di9ezeA6o1uAKBUKnHw4EFMmTJF6+AcgM6NFs+q2fagP+31119Ht27d8OOPP2q81hL3oMtkMpw8eRIjR46EoaFhq96i2lhbiRljOHHiBEaMGMF92Ft7nxpyOVVUVCA8PJzLpy30qaGXk2o9GzVqFNee1t4nlYZaTkqlUud61lr71JDLqby8HCdPnuTyaQt9aujlVJv1rLX1qWbbG2I5aVvPWkufmmIPekVFRa3Ws+dhfdLVp5rrmeoz1dR9qusedKWiCtKKxj9X+2lGpk4Qioz5Kz726quvIjc3F7du3eIGTIsXL8bRo0dx+/ZttbqVlZX497//DTc3N+zbt0/nNH/66ScsWrQIaWlpaoNYleDgYHz99dfIycnh9ph/8sknOH/+vNZratV3D/r+/fvxzjvvqI2DgOodhC4uLlrHTaojkp/eyFSTajB+/PhxjBgxgptm165d1Q5Xz8rKQseOHXHp0iW1U5E7deqEvLw8yOVyBAcH691Tf/nyZQwePBiHDx/Gm2++qbNebfq6evVq7NmzB3fv3lWr07NnT7zzzjtYsmQJ3n//faSlpWlskDI2NsaePXswceJEbg+6aoNBeXk5GGPw8PBAZGQkDA0N8fDhQzg6OuKbb77BRx99xE3Hw8OD28A2ZswYHDhwQG0+rXoP+tMYYxoLRMXY2Fhta46KoaEh94dSRSQSaT2/R/XlVNvyp6erq1x1cQFt9YVCIYRCzdP8dZXrantT90lfeV36pPoD0RKWk77y5l5OT+fTFvpUmzbWtZz6pL3tqh9z2taz1tonfeX17dOzrGcttU/PUk59qluf6rOetaQ+KYRM6/QbejnVZj2jz17L65Mu0oosZMYu4a/YwDq5r4FJO829tfoMGTJEbW+mp6cnNm7cCIVCwWUqk8kQEBAApVKJ7du3c3VVhzGrlJaWIi4uDu7u7loH5ypdu3ZVO5y9Q4cOaucvNyZth1YD1Yfl//333/j99991vvfWrVsYN24cvvjiC25wrvL0NFUbgJ4uv3DhAkpLSxEVFYXFixeje/fumDhxIi5cuICRI0dy9X788Ud0795d6zRq6+m+aptOfeqo+mFubo7Y2Fh8+umn2LNnj9axXk1HjhyBVCrFp59+ioqKinr1iU+zDNCXLl2KkSNHonPnzigpKUFISAgiIiIQFhbWHM0hhBBCCCGE1GBk6oRO7muaZb4NTSaTYcKECUhNTcWZM2fUjiBYuXIlFi1apFbf1NSUd5raBnI1j4BoCI6OjpBKpSgsLISVlRVXnpubi6FDh2rU3717N2xsbHReBO/27dsYPnw4Zs6cic8++0xjXjk5OWplqg0ODg4OauWqw9379u2Lhw8fIjg4GBMnTsTAgQPVTutwcHCATCaDQCBAQkKCziMIattXR0dHPHz4UOO9eXl5XBsdHR0RHR2t9nphYSFkMpnWfrRv3x49e/ZEZWUl3nzzTdy8eRPGxsaws7ND+/btcefOHbX3qK5bYGFhoXH1+IbSLFdxf/jwIQIDA+Hq6orXXnsN0dHRCAsL09iK05KJRCJ4enpq3dJJqlFG+lE+/CgjfpSRfpQPP8qIH2WkH+XDrzVmJBQZw6SdS5M/6nJ4u8rTh5VHRUWhR48eEIlE3OA8KSkJp06dgo2NjVpde3t7dO/enXsAQL9+/RAXF4eCgoL6B9gAPDw8YGhoiJMnT3Jl2dnZuHnzpsYAnTGG3bt3Y+rUqVqPlrh16xa8vb0xbdo0refJe3p64vz582rXjgoPD4eTkxO6du2qs401j4I2NTVVy9LCwgLW1tbw9fXFtm3bUFZWpvF+1SC3Nn319PSERCLB5cuXuTrR0dGQSCRqdW7evIns7Gy1fhgbG8PDw0NnPwIDA9WOrhAKhZgwYQL27duHBw8e6HxfY2iWPei7du1qjtk2KKFQCHt7++ZuRotGGelH+fCjjPhRRvpRPvwoI36UkX6UDz/KqHFlZGRgwYIF+OCDD3Dt2jVs3boVGzduhFwux9tvv41r167h2LFjUCgU3F5ia2trGBkZaZ3exIkTsXr1aowfPx5r1qxBhw4dEBsbCycnp1rfFrq0tBTJycnc89TUVMTFxcHa2prbC1tQUID09HTuvuyqc5sdHR3h6OgIsViMGTNmYOHChbCxsYG1tTUWLVqEvn374vXXX1eb35kzZ5CamooZM2ZotEU1OPfx8cGCBQu4DEQiEezs7ABU375sxYoVmD59OpYuXYqkpCSsXr0aX3zxBXeY97Zt29ClSxe4ubkBqL4v+oYNGzB37ly9WWzfvh1Dhw7FoEGDsHLlSvTr1w9yuRwnT57E999/j4SEhFr1tVevXnjjjTcwc+ZM7vz7999/H35+fnB1dQVQfc567969ERgYiK+//hoFBQVYtGgRZs6cqXHthZqEQiHmz5+Pr776Ch988AHMzMywevVqREREYPDgwVi5ciUGDhwIc3Nz3Lhxg7sYnQrfsqwT1gpJJBIGgEkkkmZrg1QqZceOHWNSqbTZ2tDSUUb6UT78KCN+lJF+lA8/yohfa87IPymY+ScFN+o8WnM+TaUlZKTv93NFRQW7ffs2q6ioaIaWPRsvLy82e/ZsNmvWLGZpacmsrKzY4sWLmVKpZKmpqQyA1sfZs2f1TjctLY299dZbzNLSkpmZmbGBAwey6Ohoxhhjy5cvZ/3791erv2nTJubs7Mw9P3v2rNb5Tps2jauze/durXWWL1/O1amoqGBz5sxh1tbWzNTUlPn5+bH09HSN9k6cOJENHTpUa1+WL1+udT4128sYYzdu3GAvv/wyMzY2Zo6Ojiw4OJgplUru9S1btrAXX3yRmZmZMUtLS+bu7s62b9/OFAqF3iwZYywrK4sFBQUxZ2dnZmRkxDp27MjGjh2rthxq09dHjx6xyZMnMwsLC2ZhYcEmT57MCgsL1ercv3+fjR49mpmamjJra2s2Z84cVllZyb2uWjZPv6+0tJRZWVmxdevWcWVFRUVsyZIlzM3NjRkbGzNTU1PWr18/9vnnn7NHjx5x9WqzLLXRtu61mKu410VxcTHEYrHWq1A2FZlMhhMnTmDUqFF1vujG84Iy0o/y4UcZ8aOM9KN8+FFG/FpzRgHJ1bepDem+vNHm0ZrzaSotISN9v59b+33QBwwYgM2bNzd3UwipM23rXrOcg04IIYQQQgghhBB1NEAnhBBCCCGEEEJaADrEvZ4YYygpKYGFhUW97+vX1lFG+lE+/CgjfpSRfpQPP8qIX2vOqCkOcW/N+TSVlpBRWz3EnZDWjA5xb2C1uUfi844y0o/y4UcZ8aOM9KN8+FFG/Cgj/SgffpQRIaQ2aIBeT3K5HCdOnIBcLm/uprRYlJF+lA8/yogfZaQf5cOPMuJHGelH+fCjjAghtUUDdEIIIYQQQgghpAWgATohhBBCCCGEENIC0ACdEEIIIYQQQghpAegq7vXEGINcLoeBgQFdsVQHykg/yocfZcSPMtKP8uFHGfFrzRk11VXcW2s+TaUlZERXcSek5aGruDewioqK5m5Ci0cZ6Uf58KOM+FFG+lE+/CgjfpSRfpQPP8qo7QgODsaAAQOauxmkjaIBej3J5XKcPXuWrsapB2WkH+XDjzLiRxnpR/nwo4z4UUb6UT78KKPmExwcDDc3N5ibm8PKygqvv/46oqOjG32+58+fx5gxY+Dk5ASBQIDQ0FCNOocPH4avry9sbW0hEAgQFxenUaeqqgpz586Fra0tzM3NMXbsWGRmZnKvR0REQCAQaH3ExMQAAK5fv46JEyeic+fOMDU1Ra9evfDtt99qzCs+Ph5eXl4wNTVFx44dsXLlSug62Pqff/6BgYFBrTdU5OTkYO7cuXjhhRdgbGyMzp07Y8yYMTh9+nSt+woAhYWFCAwMhFgshlgsRmBgIIqKitTqpKenY8yYMTA3N4etrS3mzZsHqVSqMzMbGxsMHz4c//zzj0a7i4uL8fnnn+PFF1+EqakpbGxs8NJLL2H9+vUoLCwEAMhkMnz66afo27cvzM3N4eTkhKlTpyIrK6tW2TyNBuiEEEIIIYSQNqlnz5747rvvEB8fj4sXL6Jr167w8fFBXl5eo863rKwM/fv3x3fffae3zrBhw7B27VqddebPn48jR44gJCQEFy9eRGlpKfz8/KBQKAAAQ4cORXZ2ttrjvffeQ9euXTFw4EAAwNWrV2FnZ4d9+/bh1q1bWLZsGZYsWaLWtuLiYowYMQJOTk6IiYnB1q1bsWHDBnzzzTcabZJIJJg6dSpee+21WmWRlpYGDw8PnDlzBuvXr0d8fDzCwsLg7e2NoKCgWvcVACZNmoS4uDiEhYUhLCwMcXFxCAwM5F5XKBQYPXo0ysrKcPHiRYSEhODQoUNYuHChRrsSExORnZ2NiIgI2NnZYfTo0cjNzeVeLygowJAhQ7B7924sWrQI0dHR+Oeff7B8+XLExcVh//79AIDy8nJcu3YNn3/+Oa5du4bDhw/j7t27GDt2bK3y0cBaIYlEwgAwiUTSbG2QSqUsNDSUSaXSZmtDS0cZ6Uf58KOM+FFG+lE+/Cgjfq05I/+kYOafFNyo82jN+TSVlpCRvt/PFRUV7Pbt26yioqIZWvZsvLy8WFBQEAsKCmJisZhZW1uzZcuWMaVSqbW+KodTp07pnW5GRgbz9/dnVlZWzMzMjHl4eLCoqCjGGGPLly9n/fv3Z3v37mXOzs7M0tKS+fv7s+LiYq3TAsCOHDmic16pqakMAIuNjVUrLyoqYoaGhiwkJIQre/DgARMKhSwsLEzrtKRSKbO3t2crV67U27/Zs2czb29v7vn27duZWCxmlZWVXNmaNWuYk5OTRpb+/v7ss88+43LgM3LkSNaxY0dWWlqq8VphYSFjrHZ9vX37NgPALQfGGIuMjGQA2J07dxhjjJ04cYIJhUL24MEDrs6BAweYsbEx99k/e/YsA8DNmzHGbty4wQCwo0ePcmUffPABMzc3Z5mZmVr7peszxhhjly9fZgDY/fv3ddZhTPu6R3vQn4GBgUFzN6HFo4z0o3z4UUb8KCP9KB9+lBE/ykg/yocfZdR4fvnlFxgYGCA6OhpbtmzBpk2bsHPnTo16UqkUP/30E8RiMfr3769zeqWlpfDy8kJWVhaOHj2K69ev45NPPoFSqeTqpKSkIDQ0FMeOHcOxY8dw7tw5vXvC6+Pq1auQyWTw8fHhypycnNCnTx9cunRJ63uOHj2K/Px8TJ8+Xe+0JRIJrK2tueeRkZHw8vKCsbExV+br64usrCykpaVxZbt370ZKSgqWL6/dhScLCgoQFhaGoKAgmJuba7zevn17ALXra2RkJMRiMQYPHszVGTJkCMRisVqdPn36wMnJSa0fVVVVuHr1qtY2lpeXY/fu3QAAQ0NDAIBSqcTBgwcxZcoUdOzYUev79F3wUSKRQCAQcP2rC/qmqCdDQ0OMHj26uZvRolFG+lE+/CgjfpSRfpQPP8qIH2WkH+XDrzVmJFNWoVBav3Non4WVkRMMhcb8FWvo3LkzNm3aBIFAAFdXV8THx2PTpk2YOXMmAODYsWMICAhAeXk5OnTogJMnT8LW1lbn9Pbv34+8vDzExMRwg9ju3bur1VEqldizZw8sLCwAAIGBgTh9+jRWrVpVp7brk5OTAyMjI1hZWamVOzg4ICcnR+t7du3aBV9fX3Tu3FnndCMjI/H777/j+PHjavPq2rWrxnxUr7m4uCApKQmLFy/GhQsXar3BKTk5GYwxuLm56a1Xm77m5OTA3t5e47329vZqdVTtVrGysoKRkZFGZp06dQJQPUBnjMHDw4M7bD8vLw9FRUVwdXVVe4+HhwcSExMBAGPGjMGBAwc02lNZWYnFixdj0qRJ9brjGA3Q60mpVCI/Px+2trYQCulABG0oI/0oH36UET/KSD/Khx9lxI8y0o/y4dcaMyqUZiEkc0mTzzeg0xrYm7jU6T1DhgxR25vp6emJjRs3QqFQQCQSwdvbG3FxccjPz8eOHTswYcIEREdHw97eHrNmzcK+ffu495aWliIuLg7u7u5qe5if1rVrV25wDgAdOnRQO3+5MTHGtO69zczMxN9//43ff/9d53tv3bqFcePG4YsvvsCIESPUXnt6muzxBeIEAgEUCgUmTZqEFStWoGfPnlqnfeHCBYwcOZJ7/uOPP3IbNup7e8Gn+6ptOvWpo2qvubk5YmNj8emnn2LPnj3cHnRd0zpy5AikUik+/fRTrXdmkMlkCAgIgFKpxPbt22vXyafQAL2eFAoFIiMjMWrUqFbzRdvUKCP9KB9+lBE/ykg/yocfZcSPMtKP8uHXGjOyMnJCQKc1zTLfhmZubo7u3buje/fuGDJkCHr06IFdu3ZhyZIlWLlyJRYtWqRW39TUlHea2gZyNQ+BbwiOjo6QSqUoLCxU27Ocm5uLoUOHatTfvXs3bGxsdF6c7Pbt2xg+fDhmzpyJzz77TGNeT+9hVm1wcHBwQElJCa5cuYLY2FjMmTMHQPWGJ8YYDAwMEB4eDk9PT7Ur0Ts4OEAmk0EgECAhIQHjx49/pr46Ojri4cOHGu/Ny8vj9po7OjpqXKW/sLAQMplMY8+6i4sL2rdvj549e6KyshJvvvkmbt68CWNjY9jZ2aF9+/a4c+eO2nu6dOkCALCwsNC4erxMJsOECROQmpqKM2fO1GvvOUBXcSeEEEIIIYQ8xVBoDHsTlyZ/1PXwdgCIiorSeN6jRw+IRCKt9RljqKqqAlB9eLRq8K7a29uvXz/ExcWhoKCgzm1pSB4eHjA0NMTJkye5suzsbNy8eVNjgM4Yw+7duzF16lSNjQdA9Z5zb29vTJs2Teth+J6enjh//rza7cjCw8Ph5OSErl27wtLSEvHx8YiLi+Mes2bNgqurK+Li4jB48GCYmpqqZWlhYQFra2v4+vpi27ZtKCsr05ivapBbm756enpCIpHg8uXLXJ3o6GhIJBK1Ojdv3kR2drZaP4yNjeHh4aEz68DAQLW93kKhEBMmTMC+ffvw4MEDne9TUQ3Ok5KScOrUKdjY2PC+RxcaoBNCCCGEEEJarYyMDCxYsACJiYk4cOAAtm7dig8//BBlZWVYunQpoqKicP/+fVy7dg3vvfceMjMz8f/+3//TOb2JEyfC0dER48ePxz///IN79+7h0KFDiIyMrHWbVIfKq/Yop6amIi4uDunp6VydgoICxMXF4fbt2wCqb/sVFxfH7ckWi8WYMWMGFi5ciNOnTyM2NhZTpkxB37598frrr6vN78yZM0hNTcWMGTM02qIanI8YMQILFixATk4OcnJy1G41N2nSJBgbG2P69Om4efMmjhw5gtWrV2PBggUQCAQQCoXo06eP2sPe3h4mJibo06eP1gvAqWzfvh0KhQKDBg3CoUOHkJSUhISEBGzZsgWenp617muvXr3wxhtvYObMmYiKikJUVBRmzpwJPz8/7lxxHx8f9O7dG4GBgYiNjcXp06exaNEizJw5U+8ebaFQiPnz52Pt2rUoLy8HAKxevRodO3bE4MGD8fPPP+PGjRtISUnBkSNHEBkZyW0AksvlePvtt3HlyhX89ttvUCgUXMY1N3jUFg3Q60kgEMDCwqLe51M8Dygj/SgffpQRP8pIP8qHH2XEjzLSj/LhRxk1rqlTp6KiogKDBg1CUFAQ5s6di/fffx8ikQh37tzBW2+9hZ49e8LPzw95eXm4cOECXnzxRZ3TMzIyQnh4OOzt7TFq1Cj07dsXa9eu1blHXpsrV67A3d0d7u7uAIAFCxbA3d0dX3zxBVfn6NGjcHd35y4gGBAQAHd3d/zwww9cnU2bNmH8+PGYMGEChg0bBjMzM/zvf//TaMuuXbswdOhQ9OrVS6Mtf/zxB/Ly8vDbb7+hQ4cO3OOll17i6ojFYpw8eRKZmZkYOHAgZs+ejQULFmDBggW17rMuLi4uuHbtGry9vbFw4UL06dMHI0aMwOnTp/H999/Xqa+//fYb+vbtCx8fH/j4+KBfv3749ddfuddFIhGOHz8OExMTDBs2DBMmTMD48eOxYcMG3na+++67kMlk3P3hbWxscPnyZUydOhVff/01Bg0ahL59+yI4OBj+/v7YsWMHgOpz/48ePYrMzEwMGDBALWNdV9vXR8BUZ/+3IsXFxRCLxZBIJPU+tp8QQgghpK0LSF4BAAjpXrtbIpG2S9/v58rKSqSmpsLFxQUmJibN1ML6efXVVzFgwABs3ry5uZtCSJ1pW/doD3o9KZVK3L9/v8EvBtGWUEb6UT78KCN+lJF+lA8/yogfZaQf5cOPMiKE1FatB+hFRUX466+/cOLEiWa/YEJLoFAoEBcXB4VC0dxNabEoI/0oH35NnVGJLL9J5tOQ6HOkH+XDjzLiRxnpR/nwo4wIIbVVq9usXbx4EePGjYNAIEBVVRUMDQ1x+PBhvPrqq43cPEIIaRoZ5TdxJOsrvN0xGE6mbs3dHEIIIYTUQkRERHM3gZAGVas96AsWLMDatWuRn5+PgoICvPXWW5g/f34jN40QQppOoSwLACCRad5fkxBCCCGEkKagNkAPDg6GTCbTqJScnIypU6cCAAwNDREQEIB79+41TQtbKIFAADs7O7oapx6UkX6UDz/KiB9lpB/lw48y4kcZ6Uf58KOMCCG1pTZA//PPP9G3b1+cP39erVK/fv2wbt06lJWVITc3F9u2bUPfvn3rPdM1a9bgpZdegoWFBezt7TF+/HgkJibWe3rNwcDAAEOHDoWBQa3OEnguUUb6UT78KCN+lJF+lA8/yogfZaQf5cOPMiKE1JbaAP3KlSt49913MWrUKMycOROFhYUAgK1bt2Lv3r2wtLREhw4dEBsbi23bttV7pufOnUNQUBCioqJw8uRJyOVy+Pj4oKys7Nl604QUCgXu3LlDF/vQgzLSj/LhRxnxo4z0o3z4UUb8KCP9KB9+lBEhpLbUBugikQiffPIJ4uPjkZGRgV69euHAgQPo27cv7ty5gxs3buD69eu4e/cuBgwYUO+ZhoWFYfr06XjxxRfRv39/7N69G+np6bh69eqz9qfJKJVKJCYm0u0y9KCM9KN8+FFG/Cgj/SgffpQRP8pIP8qHH2VECKktrcfZuLi4ICwsDPv378dHH32EvXv34vvvv8eLL77YKI2QSCQAAGtra62vV1VVoaqqinteXFwMAJDJZNw580KhECKRCAqFQu3LT1Uul8vBGOPKRSIRhEKhzvKnz8VXHZIkl8u5eQMAYwyMMa5cxdDQEEqlUm1LqUAggIGBgc5yXW1vqj7xlde1Tyo159va+9TQy6lmPm2lTw25nGq+r7H7pFQwCBQGUMgZZDJZq/nsqWhbz5639Ulfn1T/tqU+8bW9tn2qzXrW2vpUs+0N0SeVmu1sLX0CAJFS0KjfEbVdz56H9UlXn2rOp7n6pO06U4SQlkfviTCTJk3CyJEjsWjRIvTt2xdffPEFFi5cqPbH6lkxxrBgwQL8+9//Rp8+fbTWWbNmDVasWKFRHh4eDjMzMwBAly5d4O7ujhs3biA9PZ2r4+rqCjc3N1y+fBl5eXlc+YABA+Ds7Izz58+jpKSEK/f09IS9vT3Cw8PVvoS9vb1hamqKEydOqLVBLpejsrISZ8+e5coMDAwwevRo5OfnIzIykiu3sLDA8OHDkZGRgbi4OK7czs4OQ4cORVJSktq5+M3Vp1GjRqGiouKZ+/TSSy8BAE6ePNlm+tSQy+nSpUtq+bSFPjXGclJp7D7l3pSiS+H/Q8odCVJwotV89lTfmzXXs+dxfdLVJ1UbVfm0hT41xnJSaUt9asjl1K1bNwDq61lr6RMsAI/sTjiR8GS+Db2cVLmo/n3e1yddfVJprj6Fh4drtIXUT3BwMEJDQ7UuX0KeGatBIpGwmTNnsg4dOjArKyvm5+fHUlJSGGOMRUREMDc3N9a/f392+fJl1lBmz57NnJ2dWUZGhs46lZWVTCKRcI+MjAwGgOXn5zOpVMqkUimTy+WMMcbkcjlXVrNcJpOplSsUCr3lNcukUilTKpVMqVRyzysqKtiVK1eYTCZTK1c9GGNMoVColclkMr3lutreVH3iK69rn+RyObt69SqrqKhoM31qyOVUWVnJrly5wuXTFvrU0MtJtZ7J5fJG71PsozC25c5kFv/obKv67MnlcrXP0fO6PukqV32GVPm0hT419HKqzXrW2vrU0MtJ23rWWvrknxTMJiWuaNTlVNv17HlYn3T1qeZ61lx9ys/PZwCYRCJhT6uoqGC3b99mFRUVGq+1Je+//z4DwDZt2vRM01m+fDnr37+/3jrnzp1jfn5+rEOHDgwAO3LkiEadQ4cOMR8fH2ZjY8MAsNjYWI06lZWVbM6cOczGxoaZmZmxMWPGqI2bzp49ywBofajGbHFxcSwgIIB16tSJmZiYMDc3N7Z582aNed24cYO98sorzMTEhDk5ObEVK1YwpVLJO6+EhATezLKzs9mcOXOYi4sLMzIyYp06dWJ+fn7s1KlTte4rY4wVFBSwKVOmMEtLS2ZpacmmTJnCCgsLtc5zxIgRTCgUssjISI3Xpk2bxgCwNWvWqJUfOXKEPTVEZkqlkv30009syJAhzMLCgpmbm7PevXuzefPmsaSkJK7eoUOHmIeHBxOLxczMzIz179+f7d27V28u2tY9tblPmTKF9ezZk+3fv5/9+eef7LXXXmO9e/fmXq+qqmJffPEFMzU1ZfPmzdM7s9qYM2cO69SpE7t3716d3ieRSHR+wRBCSH1cL/qbfZvkz25LIpq7KYQQ0mD8k4KZf1JwczeDtAD6fj8/DwP0I0eOsP79+zMnJ6cmGaCfOHGCLVu2jB06dEjnAH3v3r1sxYoVbMeOHToH6LNmzWIdO3ZkJ0+eZNeuXWPe3t6sf//+3Aacqqoqlp2drfZ47733WNeuXbnB9a5du9jcuXNZREQES0lJYb/++iszNTVlW7du5eYjkUiYg4MDCwgIYPHx8ezQoUPMwsKCbdiwgaujGqAnJiaqzU/VFl1SU1OZk5MT6927N/vjjz9YYmIiu3nzJtu4cSNzdXWtdV8ZY+yNN95gffr0YZcuXWKXLl1iffr0YX5+fhrzvH//PmvXrh2bN28ee++99zRenzZtGjMxMWHt27dnBQUFXPnTA3SlUskCAgKYiYkJW7lyJYuMjGQpKSns1KlT7NNPP2XTpk1Ty+fw4cPs9u3bLDk5mW3evJmJRCIWFhamMxveAbqVlRU7ceIE9/zhw4dMKBRye9FVEhIS2CuvvKJzRnyUSiULCgpiTk5O7O7du3V+f0sYoMvlcnbt2jXeD+TzjDLSj/Lh15QZtdYBOn2O9KN8+FFG/FpzRk0xQG/N+TSVlpBRWx2ge3l5saCgIBYUFMTEYjGztrZmy5YtU9vzm5mZyTp27Mhu3rzJnJ2dazVAz8jIYP7+/szKyoqZmZkxDw8PFhUVxRh7MkDfu3cvc3Z2ZpaWlszf358VFxdrnZauAbpKamqq1gF6UVERMzQ0ZCEhIVzZgwcPmFAo1Dnok0qlzN7enq1cuVJv/2bPns28vb2559u3b2disZhVVlZyZWvWrGFOTk5clqoBuq491rqMHDmSdezYkZWWlmq8pppWbfp6+/ZtBoBbDowxFhkZyQCwO3fuqE03ODiYBQQEsISEBGZhYaEx72nTpjE/Pz/m5ubGPv74Y6786QH6gQMHGAD2559/au1bzc+ZNu7u7uyzzz7T+bq2dU/tZHKxWIyUlBTu+b1798AYg1gsVjss3s3NDefOnav3YfVBQUHYt28f9u/fDwsLC+Tk5CAnJwcVFRX1nmZTUyqVSE9Pp6tx6kEZ6Uf58KOM+FFG+lE+/CgjfpSRfpQPP8qocf3yyy8wMDBAdHQ0tmzZgk2bNmHnzp0AqrMPDAzExx9/XOsLXpeWlsLLywtZWVk4evQorl+/jk8++URt+aWkpCA0NBTHjh3DsWPHcO7cOaxdu7ZB+3X16lXIZDL4+PhwZU5OTujTpw93LaOnHT16FPn5+Zg+fbreaUskErULdEdGRsLLywvGxsZcma+vL7KyspCWlqb2Xnd3d3To0AGvvfaa1usG1VRQUICwsDAEBQXB3Nxc4/X27dvXuq+RkZEQi8UYPHgwV2fIkCEQi8VqeTDGsHv3bkyZMgVubm7o2bMnfv/9d415i0QirF69Glu3bkVmZqbW9h84cACurq4YO3as1tdrXhi7JsYYTp8+jcTERLzyyita6+iidpG4Tz75BPPmzcPx48dhbm6O8PBwTJ8+HTY2NnWaKJ/vv/8eAPDqq6+qle/evZv3w0QIIYQQQghpXFVKGbKk+U0+XycjWxgLDev0ns6dO2PTpk0QCARwdXVFfHw8Nm3ahJkzZ2LdunUwMDDAvHnzaj29/fv3Iy8vDzExMdwgtnv37mp1lEol9uzZAwsLCwBAYGAgTp8+jVWrVtWp7frk5OTAyMgIVlZWauUODg7IycnR+p5du3bB19cXnTt31jndyMhI/P777zh+/LjavLp27aoxH9VrLi4u6NChA3766Sd4eHigqqoKv/76K1577TVEREToHIQmJyeDMQY3N7dn7mtOTg7s7e013mtvb6+Wx6lTp1BeXg5fX18AwJQpU7Br1y688847Gu998803MWDAACxfvhy7du3SeP3u3btwdXVVK5s/fz63Aah9+/Zqg3uJRIKOHTuiqqoKIpEI27dvx4gRI/T2/WlqA/T//ve/ePHFF3HixAlUVlZi586dmDBhQp0mWBusxi0hCCGEEEIIIS1LljQfSzJ/avL5run0PlxMOtTpPUOGDFHbk+np6YmNGzfi6tWr+Pbbb3Ht2jWdezpnzZqFffv2cc9LS0sRFxcHd3d3nbeABoCuXbtyg3MA6NChA3Jzc+vU7vpijGntT2ZmJv7++2+te4tVbt26hXHjxuGLL77QGDg+PU3VmE1V7urqqjZY9fT0REZGBjZs2IBXXnkFFy5cwMiRI7nXf/zxR27Dhq78+TzdV23TebrOrl274O/vz91icOLEifj444+RmJioMdgGgHXr1mH48OFYuHCh1jY8Pc9ly5Zhzpw5OHz4MFavXq32moWFBeLi4lBaWorTp09jwYIFeOGFFzR2TOujcZu1V155pc674Z9HQqEQrq6uDXrLubaGMtKP8uFHGfGjjPSjfPhRRvwoI/0oH36tMSMnI1us6fR+s8y3oURERCA3N7f6loOPKRQKLFy4EJs3b0ZaWhpWrlyJRYsWqb3P1NSUd9qGhup7+QUCQYOfwuDo6AipVIrCwkK1Pcu5ubkYOnSoRv3du3fDxsZG5+HYt2/fxvDhwzFz5kx89tlnGvN6eq+8aoODak+6NkOGDOE2cAwcOFDt1nMODg6QyWQQCARISEjA+PHjn6mvjo6OePjwocZ78/LyuDYWFBQgNDQUMpmMO2obqF7uP//8M9atW6fx/ldeeQW+vr5YunSpxtHcPXr0wJ07d9TK7OzsYGdnp3VvvlAo5DZKDBgwAAkJCVizZs2zDdBJ7YhEIt5DNZ53lJF+lA8/yogfZaQf5cOPMuJHGelH+fBrjRkZCw3rvCe7uURFRWk879GjB6ZPn84d5qzi6+uLwMBA7nBne3t7jYFWv379sHPnThQUFOjdi97YPDw8YGhoiJMnT3JHNWdnZ+PmzZtYv369Wl3VeddTp07V2HgAVO85Hz58OKZNm6b1MHxPT08sXboUUqkURkZGAIDw8HA4OTlpHPpeU2xsLDp0qP6cmJqaapwKAFRnvm3bNsybN0/jPPSioiK0b9++Vn319PSERCLB5cuXMWjQIABAdHQ0JBIJN4j/7bff0KlTJ4SGhqrN5/Tp01izZg1WrVrF7Vmvae3atRgwYAB69uypVj5x4kRMmjQJf/75J8aNG6czB10YY6iqqqrTe1rPZrwWRi6X49KlS5DL5c3dlBaLMtKP8uFHGfGjjPSjfPhRRvwoI/0oH36UUePKyMjAggULkJiYiAMHDmDr1q348MMPYWNjgz59+qg9DA0N4ejoqPVQZ5WJEyfC0dER48ePxz///IN79+7h0KFDiIyMrHWbVIfKq/Yop6amIi4uDunp6VydgoICxMXF4fbt2wCAxMRExMXFcXuyxWIxZsyYgYULF+L06dOIjY3FlClT0LdvX7z++utq8ztz5gxSU1MxY8YMjbbcunUL3t7eGDFiBBYsWMBdoDsvL4+rM2nSJBgbG2P69Om4efMmjhw5gtWrV2PBggXcId6bN29GaGgokpKScOvWLSxZsgSHDh3CnDlz9Gaxfft2KBQKDBo0CIcOHUJSUhISEhKwZcsWeHp61rqvvXr1whtvvIGZM2ciKioKUVFRmDlzJvz8/LjluWvXLrz99tsay/3dd99FUVGR2nn3NfXt2xeTJ0/G1q1b1coDAgLw9ttvIyAgACtXrkR0dDTS0tJw7tw5HDx4ECKRiKu7Zs0anDx5Evfu3cOdO3fwzTffYO/evZgyZYrefJ5Ge9DriTGGvLw8Op9eD8pIP8qHH2XEjzLSj/LhRxnxo4z0o3z4UUaNa+rUqaioqMCgQYMgEokwd+5cvP9+/Q/PNzIyQnh4OBYuXIhRo0ZBLpejd+/e2LZtW62nceXKFXh7e3PPFyxYAACYNm0a9uzZA6D6ius1L1wWEBAAAFi+fDmCg4MBAJs2bYKBgQEmTJiAiooKvPbaa9izZ4/awBCoHpgOHToUvXr10mjLH3/8gby8PPz222/47bffuHJnZ2fuCu1isRgnT55EUFAQBg4cCCsrKyxYsIBrNwBIpVIsWrQIDx48gKmpKV588UUcP34co0aN0puFi4sLrl27hlWrVmHhwoXIzs6GnZ0dPDw81A5Dr01ff/vtN8ybN4+72vvYsWPx3XffAai+Evz169exY8cOjTZYWFjAx8cHu3bt0rkn/Msvv9Q4f18gEODgwYPYsWMHdu/ejfXr10Mmk6FTp0547bXX8M0333B1y8rKMHv2bGRmZsLU1BRubm7Yt28f/P399ebzNAFrhd8UxcXFEIvFkEgksLS0bJY2yGQynDhxAqNGjdJ6GAmhjPhQPvyaMqMbknBE5P2MEfb/RS9Lr0adV0Oiz5F+lA8/yohfa84oIHkFACCk+/JGm0drzqeptISM9P1+rqysRGpqKlxcXGBiYtIs7auvV199FQMGDMDmzZubuymE1Jm2dY8OcSeEEEIIIYQQQloAGqDXk0gkwoABAzQOLyFPUEb6UT78KCN+lJF+lA8/yogfZaQf5cOPMiKE1Fa9zkF/99134eTkhA8//BB2dnYN3aZWQSgUwtnZubmb0aJRRvpRPvwoI36UkX6UDz/KiB9lpB/lw48yajwRERHN3QRCGlS99qDv2bMHq1evRrdu3fD55583dJtaBblcjjNnztDVOPWgjPSjfPhRRvwoI/0oH36UET/KSD/Khx9lRAiprXrtQU9NTUVpaSnOnTv33G61YoyhpKSErsapB2WkH+XDjzLiRxnpR/nwo4z4UUb6UT78KCNCSG3Va4CuOkTnxRdfxOzZsxu0QYQQQgghhBBCyPNI5yHufFv4iouLG7wxhBBCCCGEEELI80rnAP21115Dbm6u1tdiYmLg7u7eaI1qDUQiETw9PelqnHpQRvpRPvwoI36UkX6UDz/KiB9lpB/lw48yIoTUls4B+u3bt9G/f3+cOXNGrfzbb7/Fv//9b9jY2DR641oyoVAIe3t7CIV0pzpdKCP9KB9+lBE/ykg/yocfZcSPMtKP8uFHGRFCakvnt8T169fRu3dv+Pr6Ijg4GI8ePcL48ePx0Ucf4YMPPsDFixebsp0tjkwmw/HjxyGTyZq7KS0WZaQf5cOPMuJHGelH+fCjjPhRRvpRPvwoo7YlODgYAwYMaO5mkDZK5wDdwcEBp06dwtKlS7Fq1Sp06tQJ58+fx//93/9hy5YtMDIyasp2tkh0qwx+lJF+lA8/yogfZaQf5cOPMuJHGelH+fCjjJrH9OnTIRAI1B5Dhgxp9PmeP38eY8aMgZOTEwQCAUJDQzXqHD58GL6+vrC1tYVAIEBcXJxGnaqqKsydOxe2trYwNzfH2LFjkZmZqVbn7t27GDduHGxtbWFpaYlhw4bh7NmzanViYmLw2muvoX379rCysoKPj4/G/OLj4+Hl5QVTU1N07NgRK1eu1Lgu2blz5+Dh4QETExO88MIL+OGHH2qVR05ODubOnYsXXngBxsbG6Ny5M8aMGYPTp0/Xqa+FhYUIDAyEWCyGWCxGYGAgioqKtM7Tx8cHIpEIUVFRGq+pPhdr165VKw8NDYVAIFArY4xhx44d8PT0hKWlJdq1a4cXX3wRH374IZKTk7l6e/bs0fisCQQCVFZW1iojFb3H2QgEAtjY2EAoFKKqqgoODg7o3bt3nWZACCGEEEIIIc3ljTfeQHZ2Nvc4ceJEo8+zrKwM/fv3x3fffae3zrBhwzQGiTXNnz8fR44cQUhICC5evIjS0lL4+flBoVBwdUaPHg25XI4zZ87g6tWrGDBgAPz8/JCTkwMAKCkpga+vL7p06YLo6GhcvHgRlpaW8PX15Y7qKC4uxogRI+Dk5ISYmBhs3boVGzZswDfffMPNJzU1FaNGjcLLL7+M2NhYLF26FPPmzcOhQ4f0ZpGWlgYPDw+cOXMG69evR3x8PMLCwuDt7Y2goKA69XXSpEmIi4tDWFgYwsLCEBcXh8DAQI15pqenIzIyEnPmzMGuXbu0tsvExATr1q1DYWGhzrYzxjBp0iTMmzcPo0aNQnh4OG7cuIEtW7bA1NQUX331lVp9S0tLtc9adnY2TExM9OajbaZaFRcXs7fffpsJhUIWFBTErly5wtzc3Fi7du3Y3r17db2tSUgkEgaASSSSZmuDVCploaGhTCqVNlsbWjrKSD/Kh19TZnS96G/2bZI/uy2JaPR5NST6HOlH+fCjjPi15oz8k4KZf1Jwo86jNefTVFpCRvp+P1dUVLDbt2+zioqKZmjZs/Hy8mJBQUEsKCiIicViZm1tzZYtW8aUSiVjjLFp06axcePG1Xm6GRkZzN/fn1lZWTEzMzPm4eHBoqKiGGOMLV++nPXv35/t3buXOTs7M0tLS+bv78+Ki4u1TgsAO3LkiM55paamMgAsNjZWrbyoqIgZGhqykJAQruzBgwdMKBSysLAwxhhjeXl5DAA7f/48V6e4uJgBYKdOnWKMMRYTE8MAsPT0dK7OjRs3GACWnJzMGGNs+/btTCwWs8rKSq7OmjVrmJOTE5flJ598wtzc3NTa+MEHH7AhQ4bo7BtjjI0cOZJ17NiRlZaWarxWWFhY677evn2bAeCWA2OMRUZGMgDszp07atMNDg5mAQEBLCEhgVlYWGjMe9q0aczPz4+5ubmxjz/+mCs/cuQIqzlEPnDgAAPA/vzzT619U2XDGGO7d+9mYrFYbxZP07bu6dyD/q9//Qvh4eEICQnBd999Bw8PD1y9ehXjx4/HtGnTMGPGjLptCWhjDAwM4O3tDQODet1K/rlAGelH+fCjjPhRRvpRPvwoI36UkX6UDz/KqHH98ssvMDAwQHR0NLZs2YJNmzZh586d3OsRERGwt7dHz549MXPmTJ13qlIpLS2Fl5cXsrKycPToUVy/fh2ffPIJlEolVyclJQWhoaE4duwYjh07hnPnzundE14fV69ehUwmg4+PD1fm5OSEPn364NKlSwAAGxsb9OrVC3v37kVZWRnkcjl+/PFHODg4wMPDAwDg6uoKW1tb7Nq1C1KpFBUVFdi1axdefPFFODs7AwAiIyPh5eUFY2Njbl6+vr7IyspCWloaV6dmW1R1rly5ovP6CgUFBQgLC0NQUBDMzc01Xm/fvn2t+xoZGQmxWIzBgwdzdYYMGQKxWMzVAar3eu/evRtTpkyBm5sbevbsid9//11j3iKRCKtXr8bWrVs1DqVXOXDgAFxdXTF27Fitrz99OHxpaSmcnZ3RqVMn+Pn5ITY2Vuv79NH5LWFhYYG//voL3bt358rMzMzw66+/wsvLCx9++KHOwwWeF6amps3dhBaPMtKP8uFHGfGjjPSjfPhRRvwoI/0oH36tLaMqpRJZVdImn6+TsRGM63i1+86dO2PTpk0QCARwdXVFfHw8Nm3ahJkzZ2LkyJH4f//v/8HZ2Rmpqan4/PPPMXz4cFy9elVtMFrT/v37kZeXh5iYGFhbWwOA2pgIAJRKJfbs2QMLCwsAQGBgIE6fPo1Vq1bVo9fa5eTkwMjICFZWVmrlDg4O3OHrAoEAJ0+exLhx42BhYQGhUAgHBweEhYVxg18LCwtERERg3Lhx+PLLLwEAPXv2xN9//81tNMrJyUHXrl015qN6zcXFBTk5OVxZzTpyuRz5+fno0KGDRh+Sk5PBGIObm9sz9zUnJwf29vYa77W3t+fqAMCpU6dQXl4OX19fAMCUKVOwa9cuvPPOOxrvffPNNzFgwAAsX75c69j27t27cHV1VSubP38+twGoffv23ODezc0Ne/bsQd++fVFcXIxvv/0Ww4YNw/Xr19GjRw+9/a9J5wA9MjJS54f2vffea5KLK7RkcrkcJ06cwKhRo2BoaNjczWmRKCP9KB9+lBE/ykg/yocfZcSPMtKP8uHXGjPKqpJiSYr2vYqNaU23TnAxrds5u0OGDFHbk+np6YmNGzdCoVDA39+fK+/Tpw8GDhwIZ2dnHD9+HP/5z38wa9Ys7Nu3j6tTWlqKuLg4uLu7c4Nzbbp27coNzgGgQ4cOvHvmGwpjjOsvYwyzZ8+Gvb09Lly4AFNTU+zcuRN+fn6IiYlBhw4dUFFRgXfffRfDhg3DgQMHoFAosGHDBowaNQoxMTHcxiNtF0d7ulxfnQsXLmDkyJHcaz/++CO3YePp99Wnr7qm83SdXbt2wd/fn9v4MHHiRHz88cdITEzUGGwDwLp16zB8+HAsXLhQaxuenueyZcswZ84cHD58GKtXr+bKhwwZojZGHjZsGP71r39h69at2LJlSy17rGeArmtwrtKnT59az4QQQgghhBDSejgZG2FNt07NMt/G1KFDBzg7OyMpKQkAsHLlSixatEitTm2Odnh6Q4tAIFA7BL4hODo6QiqVorCwUG3Pcm5uLoYOHQoAOHPmDI4dO4bCwkJYWloCALZv346TJ0/il19+weLFi7F//36kpaUhMjISwsdHJ+zfvx9WVlb4888/ERAQAEdHR7W90Kr5AE/2pOuqY2BgABsbG4jFYrUrwzs4OEAmk0EgECAhIQHjx49/pr46Ojri4cOHGu/Ny8vj2lhQUIDQ0FDIZDJ8//33XB2FQoGff/4Z69at03j/K6+8Al9fXyxduhTTp09Xe61Hjx64c+eOWpmdnR3s7Oy07s2vSSgU4qWXXuI+a7Wl90QYhUKBv/76CwkJCaioqFB7TSAQ4PPPP6/TzAghhBBCCCEtn7FQWOc92c3l6dtoRUVFoUePHhCJRBp1Hz16hIyMDO5wbHt7e42BVr9+/bBz504UFBTo3Yve2Dw8PGBoaIiTJ09iwoQJAIDs7GzcvHkT69evBwCUl5cDADfwVhEKhdwGg/LycgiFQrU9warnqjqenp5YunQppFIpdzvt8PBwODk5cYe+e3p64n//+5/afMLDwzFw4EAYGhrC0NBQ41QAoPo89W3btmHevHka56EXFRWhffv2teqrp6cnJBIJLl++jEGDBgEAoqOjIZFIuEH8b7/9hk6dOmnc1u706dNYs2YNVq1apfVaEGvXrsWAAQPQs2dPtfKJEydi0qRJ+PPPPzFu3DiN9+nDGENcXBz69u1bp/fpHKA/evQIL7/8Mu7cuQOBQKD1EAcaoBNCAODnrDyEF0gQ0kfzS5kQQgghpDFlZGRgwYIF+OCDD3Dt2jVs3boVGzduRGlpKYKDg/HWW2+hQ4cOSEtLw9KlS2Fra4s333xT5/QmTpyI1atXY/z48VizZg06dOiA2NhYODk5wdPTs1ZtKi0tVbtHdmpqKuLi4mBtbY0uXboAqN7bm56ejqysLABAYmIigOo9xY6OjhCLxZgxYwYWLlwIGxsbWFtbY9GiRejbty9ef/11ANWDVisrK0ybNg1ffPEFTE1NsWPHDqSmpmL06NEAgBEjRuDjjz9GUFAQ5s6dC6VSibVr13IXLwSqb1+2YsUKTJ8+HUuXLkVSUhJWr16NL774ghv/zZo1C9999x0WLFiAmTNnIjIyErt27cKBAwf0ZrF9+3YMHToUgwYNwsqVK9GvXz/I5XKcPHkS33//PRISEmrV1169euGNN97AzJkz8eOPPwIA3n//ffj5+XGHru/atQtvv/22xtHezs7O+PTTT3H8+HGtA+2+ffti8uTJ2Lp1q1p5QEAADh8+jICAACxZsgS+vr5wcHDA/fv3cfDgQbWNQCtWrMCQIUPQo0cPFBcXY8uWLYiLi8O2bdv05qNB1yXfP/jgA+bu7s7S09OZQCBgly9fZsnJyWzRokXMzc2NZWZm1ukS8g2pJdxmTalUMqlUqnZpfaKOMtKvLeXjH5/E/OOTGny6TZlRa73NWlv6HDUGyocfZcSvNWfUFLdZa835NJWWkFFbvs3a7Nmz2axZs5ilpSWzsrJiixcvZkqlkpWXlzMfHx9mZ2fHDA0NWZcuXdi0adPUbjemS1paGnvrrbeYpaUlMzMzYwMHDmTR0dGMsSe3Watp06ZNzNnZmXt+9uxZBkDjMW3aNK7O7t27tdZZvnw5V6eiooLNmTOHWVtbM1NTU+bn56fR/piYGObj48Osra2ZhYUFGzJkCDtx4oRanfDwcDZs2DAmFouZlZUVGz58OIuMjFSrc+PGDfbyyy8zY2Nj5ujoyIKDgzU+sxEREczd3Z0ZGRmxrl27su+//543S8YYy8rKYkFBQczZ2ZkZGRmxjh07srFjx7KzZ8/Wqa+PHj1ikydPZhYWFszCwoJNnjyZu1XblStXGAB2+fJlrW0YM2YMGzNmDGNM++330tLSmLGxMXt6iKxQKNgPP/zABg8ezMzNzZmRkRF74YUX2MyZM9nt27e5evPnz2ddunRhRkZGzM7Ojvn4+LBLly7pzUXbuidg7PGu8af06NEDy5cvx8SJE2FoaIiYmBjuUv1z585Ffn4+79aSxlJcXAyxWAyJRMKda9HUGGMoKSmBhYVFvS960NZRRvq1pXwCblZvIW7oPehNmdENSTgi8n7GCPv/opelV6POqyG1pc9RY6B8+FFG/FpzRgHJKwAAId2XN9o8WnM+TaUlZKTv93NlZSVSU1Ph4uICE5PWcVi7yquvvooBAwZg8+bNzd0UQupM27qn8x4GmZmZ6Nq1K0QiEYRCIcrKyrjXxowZg5MnTzZ+i1swuVyOs2fPQi6XN3dTWizKSD/Khx9lxI8y0o/y4UcZ8aOM9KN8+FFGhJDa0jlAt7W1hUQiAVB9k/ibN29yrxUUFDzTF8z58+cxZswYODk5QSAQaJzETwghhBBCCCGEPG90XiTOw8MDt27dwujRozFq1CisXLkSlpaWMDIywtKlS5/pPuhlZWXo378/3nnnHbz11lv1ng4hhBBCiDa/ZOchvrQCG3p0ae6mEEIaUURERHM3gZAGpXOAPmfOHKSkpAAAvvzyS0RFRWHq1KkAgG7duuHbb7+t90xHjhypdhP71krbJfqJOspIP8qHH2XEjzLSj/Lh1xYz+uuRpEGn1xYzakiUDz/KiBBSGzq/KV5//XXukvZ2dnaIjY3FzZs3IRAI4Obm9tx/yRgaGnK3LiDaUUb6UT78KCN+lJF+lA8/yogfZaQf5cOPMiKE1FatR9kCgaDON1lvKFVVVaiqquKeFxcXAwBkMhlkMhkAQCgUQiQSQaFQQKlUcnVV5XK5HDUvWK+6+J2uctV0VVQbJFTn3iuVSjx69AgODg7cdGoyNDSEUqmEQqHgygQCAQwMDHSW62p7U/WJr7yufRIKhcjNzYWVlRWEQmGb6FNDLiepVIr8/HzY2NhwdVtrn4RMCaWg4ZeTaj1zdHQEgEbtk1LBIFAYQCFnkMlkreazJxAI8PDhQ1hbW2usZ8/T+qSrvKqqCo8ePeLWs7bQp4ZeTkqlEgUFBXBwcACgfT1rbX0CAAOlAnKhqEGWk7b1rLWsTwAgUgrU2tPQy0kqldZqPXse1iddfaq5njHGmqVPT5cTQlom3gH6rVu3cP/+fVRWVmq89p///KdRGvW0NWvWYMWKFRrl4eHhMDMzAwB06dIF7u7uuHHjBtLT07k6rq6ucHNzw+XLl5GXl8eVDxgwAM7Ozjh//jxKSkq4ck9PT9jb2yM8PFztS9jb2xumpqY4ceKEWhtGjBjBXZlTxcDAAKNHj0Z+fj4iIyO5cgsLCwwfPhwZGRmIi4vjyu3s7DB06FAkJSUhMTGRK2+uPo0aNQoVFRXP3KeXXnoJ0dHRatNu7X1qyOV04cIFlJaWtok+dbVzwj1Lq0ZZTqrywsLCRu1T7k0puhT+P6TckSAFJ1rNZ69Pnz64fPmy2jyfx/VJV59OnTrV5vrUGMtJVT8rK6vN9MnH0BgnunRvkOXUrVs3jfWstaxPsAA8sjvhRMKT+Tb0cgoLC2vSPrX0z56uPqmmk5KS0ix9Cg8PByGk5dN5H/SUlBS8/fbbuHHjBgDg6WoCgUBta2G9GyAQ4MiRIxg/frzOOtr2oHfu3Bn5+fncfRybeouqTCbDyZMnMXLkSBgaGtJWYi3ljDGcOHECI0aMgKGhYZvoU0Mup4qKCoSHh3P5tMY+SZVKfJCYBqVAAKVAiH1uXRt0OanWs1GjRnHtaaw+xRX8jQt5v8Lb7j24WgxrNZ89pVKpcz17ntYnXeXl5eU4efIkl09b6FNDL6farGetrU8A8E7CPciFIuzv/cIz90nbetZa1qfJqV9BpBRgj8sSjb421HKqqKio1Xr2PKxPuvpUcz1Tfaaauk8FBQXcXZra0n3QCWnNtK17Ovegv//++8jJycGmTZvQq1cvGBkZNVlDn2ZsbAxjY2ONckNDQ+4PpYpIJIJIJNKoq+uceV3lT09XV7lAIIBAINBaXygUcoeX1aZcV9ubuk/6yuvSJ9UfiJawnPSVN/dyejqf1tQnplRCLhRplD9L23WVN3afhCIBmEgOkYH6+tzS+6T6MadtPXse1yddbXyW9ayl9ulZyp+HPqm+mxqiT/VZz1rSclIImdbpN/Ryqs169jx89vjKW1qfCCEti84B+uXLl7Fjxw4EBAQ0+ExLS0uRnJzMPU9NTUVcXBysra2rD8dqBQQCASwsLCAQCJq7KS0WZaRfm8qHPX40sDaVUSOhjPSjfPhRRvwoI/0oH36UUdsSHByM0NBQjVMYCGkImpv1HrOzs4NYLG6UmV65cgXu7u5wd3cHACxYsADu7u744osvGmV+jcHAwADDhw/XufWSUEZ82kI+3Jj8IoDdgEzJEP5IonFKTH21hYwaG2WkH+XDjzLiRxnpR/nwo4yaV0JCAsaOHQuxWAwLCwsMGTJE7Xz/xnD+/HmMGTMGTk5OEAgECA0N1ahz+PBh+Pr6wtbWFgKBQOuAv6qqCnPnzoWtrS3Mzc0xduxYZGZmqtW5e/cuxo0bB1tbW1haWmLYsGEa1/OJiYnBa6+9hvbt28PKygo+Pj4a84uPj4eXlxdMTU3RsWNHrFy5Uu03XXZ2NiZNmgRXV1cIhULMnz+/1nnk5ORg7ty5eOGFF2BsbIzOnTtjzJgxOH36dJ36WlhYiMDAQIjFYojFYgQGBqKoqEjrPH18fCASiRAVFaXx2vTp0yEQCLB27Vq18tDQUI0NaYwx7NixA56enrC0tES7du3w4osv4sMPP1Tb6bxjxw68/PLLsLKygpWVFV5//XWN65fUhs4B+n//+1/s2LGjzhOsjVdffRWMMY3Hnj17GmV+jUGpVOL+/ftq5woRdZSRfm0qn7vV//z1qAg/Z+fhdllFg0y2TWXUSCgj/SgffpQRP8pIP8qHH2XUfFJSUvDvf/8bbm5uiIiIwPXr1/H55583+rn2ZWVl6N+/P7777ju9dYYNG6YxSKxp/vz5OHLkCEJCQnDx4kWUlpbCz89P7boHo0ePhlwux5kzZ3D16lUMGDAAfn5+yMnJAQCUlJTA19cXXbp0QXR0NC5evAhLS0v4+vpyp6QWFxdjxIgRcHJyQkxMDLZu3YoNGzbgm2++4eZTVVUFOzs7LFu2DP379691FmlpafDw8MCZM2ewfv16xMfHIywsDN7e3ggKCqpTXydNmoS4uDiEhYUhLCwMcXFxCAwM1Jhneno6IiMjMWfOHOzatUtru0xMTLBu3ToUFhbqbDtjDJMmTcK8efMwatQohIeH48aNG9iyZQtMTU3x1VdfcXUjIiIwceJEnD17FpGRkejSpQt8fHzw4MGDWmelmqlOCxYsYP/617/YsmXL2MaNG9Ue33zzjb63NiqJRMIAMIlE0mxtkEqlLDQ0lEml0mZrQ0tHGenXFvKpVCiYf3wS859f/fg9J5/5xyex6yVlDTL9pszoetHf7Nskf3ZbEtHo82pIbeFz1JgoH35tNSP/+CTmH5/UINNqzRn5JwUz/6TgRp1Ha86nqbSEjPT9fq6oqGC3b99mFRUVzdCyZ+Pl5cWCgoJYUFAQE4vFzNrami1btowplUrGGGP+/v5sypQpdZ5uRkYG8/f3Z1ZWVszMzIx5eHiwqKgoxhhjy5cvZ/3792d79+5lzs7OzNLSkvn7+7Pi4mKt0wLAjhw5onNeqampDACLjY1VKy8qKmKGhoYsJCSEK3vw4AETCoUsLCyMMcZYXl4eA8DOnz/P1SkuLmYA2KlTpxhjjMXExDAALD09natz48YNBoAlJyczxhjbvn07E4vFrLKykquzZs0a5uTkxGVZk5eXF/vwww919qmmkSNHso4dO7LS0lKN1woLC2vd19u3bzMA3HJgjLHIyEgGgN25c0dtusHBwSwgIIAlJCQwCwsLjXlPmzaN+fn5MTc3N/bxxx9z5UeOHGE1h8gHDhxgANiff/6ptW/aslGRy+XMwsKC/fLLLzrraFv3dO5Bj46Oxi+//ILY2FisXr0aixYt0ngQQp5vCiUDtGyUbKAj3AkhhBBCeP3yyy8wMDBAdHQ0tmzZgk2bNmHnzp1QKpU4fvw4evbsCV9fX9jb22Pw4MFaDzevqbS0FF5eXsjKysLRo0dx/fp1fPLJJ2pHQKSkpCA0NBTHjh3DsWPHcO7cOb17wuvj6tWrkMlk8PHx4cqcnJzQp08fXLp0CQBgY2ODXr16Ye/evSgrK4NcLsePP/4IBwcHeHh4AKi+ZZ+trS127doFqVSKiooK7Nq1Cy+++CKcnZ0BAJGRkfDy8lK7MLevry+ysrKQlpZW7z4UFBQgLCwMQUFBMDc313i9ffv2te5rZGQkxGIxBg8ezNUZMmQIxGIxVweo3uu9e/duTJkyBW5ubujZsyd+//13jXmLRCKsXr0aW7du1TiUXuXAgQNwdXXF2LFjtb6u77oS5eXlkMlksLa21llHG50nwsyZMwe2trb4+eefm/0q7oSQlkmuoJE4IYQQ0hZVSZXIeiht8vk6ORjB2EjnPkStOnfujE2bNkEgEMDV1RXx8fHYtGkTxowZg9LSUqxduxZfffUV1q1bh7CwMPznP//B2bNn4eXlpXV6+/fvR15eHmJiYrjBVffu3dXqKJVK7NmzBxYWFgCAwMBAnD59GqtWrapHr7XLycmBkZERrKys1ModHBy4w9cFAgFOnjyJcePGwcLCAkKhEA4ODggLC+MGvxYWFoiIiMC4cePw5ZdfAgB69uyJv//+m7suQk5ODrp27aoxH9VrLi4u9epDcnIyGGNwc3N75r7m5OTA3t5e47329vZcHQA4deoUysvL4evrCwCYMmUKdu3ahXfeeUfjvW+++SYGDBiA5cuXaz0U/u7du3B1dVUrmz9/Pnbu3AmgegODrsH94sWL0bFjR7z++uv6uq5B5wD91q1bCAkJ0bm14HknEAhgZ2dHV+PUgzLSry3k09gtbwsZNTbKSD/Kh1+bzUgBoIFO922zGTUQyodfa8wo66EUS77RPvBoTGsWdIJL57qdHz5kyBC1bD09PbFx40bu3OVx48bho48+AgAMGDAAly5dwg8//AAvLy/MmjUL+/bt495bWlqKuLg4uLu7693z2bVrV25wDgAdOnRAbm5undpdX4wxrr+MMcyePRv29va4cOECTE1NsXPnTvj5+SEmJgYdOnRARUUF3n33XQwbNgwHDhyAQqHAhg0bMGrUKMTExMDU1BSA5t5g9viQyNp+bi9cuICRI0dyz3/88Uduw0Z9P/s1+6prOk/X2bVrF/z9/bmNDxMnTsTHH3+MxMREjcE2AKxbtw7Dhw/HwoULtbbh6XkuW7YMc+bMweHDh7F69Wqt71m/fj0OHDiAiIiIOl/vQOcAvUuXLg12Jea2yMDAAEOHDm3uZrRolJF+bSGfxv6GaAsZNTbKSD/Kh1+bzeg4gDwA7s8+qTabUQOhfPi1xoycHIywZkGnZplvQ7G1tYWBgQF69+6tVt6rVy9cvHgRALBy5UqNU3dVA1Z9nr6vvEAgaPCLADo6OkIqlaKwsFBtz3Jubi73eTpz5gyOHTuGwsJCWFpaAgC2b9+OkydP4pdffsHixYuxf/9+pKWlITIyEkJh9dEJ+/fvh5WVFf78808EBATA0dFRbS+0aj7Akz3pfAYOHKh2ZXgHBwfIZDIIBAIkJCRg/Pjxz9RXR0dHPHz4UOO9eXl5XBsLCgoQGhoKmUyG77//nqujUCjw888/Y926dRrvf+WVV+Dr64ulS5di+vTpaq/16NEDd+7cUSuzs7ODnZ2d1r35ALBhwwasXr0ap06dQr9+/XT2WRedx48sXrwYGzZsQGVlZZ0n+jxQKBS4c+eO2lUFiTrKSL+2kI9MKVd7zpQMSGu46beFjBobZaQf5cOvzWaU13CTarMZNRDKh19rzMjYSAiXziZN/qjr4e0ANG6jFRUVhR49esDY2BgvvfQSEhMT1V6/e/cud+61vb09unfvzj0AoF+/foiLi0NBQUE902sYHh4eMDQ0xMmTJ7my7Oxs3Lx5kxu0lpeXAwA38FYRCoXcBoPy8nIIhUK1PcGq56o6np6eOH/+PKTSJ6c1hIeHw8nJSePQd11MTU3VsrSwsIC1tTV8fX2xbds2lJWVabxHdYu02vTV09MTEolE7dZl0dHRkEgkXJ3ffvsNnTp1wvXr1xEXF8c9Nm/ejF9++QVyufpvV5W1a9fif//7n9q57ED13vfExET8+eeftcrg66+/xpdffomwsDAMHDiwVu95ms414Nq1a3jw4AG6deuGKVOmYN68eWqPDz/8sF4zbCuUSiUSExPpdhl6UEb6tYV8lE8dZZNyrQo4Dfx9rAhXb2p+Cdd5+m0go8ZGGelH+fCjjPhRRvpRPvwoo8aVkZGBBQsWIDExEQcOHMDWrVu5scrHH3+MgwcPYseOHUhOTsZ3332H//3vf5g9e7bO6U2cOBGOjo4YP348/vnnH9y7dw+HDh1CZGRkrdukOlRetUc5NTUVcXFxavdfLygoQFxcHG7fvg0ASExMRFxcHLcnWywWY8aMGVi4cCFOnz6N2NhYTJkyBX379uXOa/b09ISVlRWmTZuG69ev4+7du/j444+RmpqK0aNHAwBGjBiBwsJCBAUFISEhAbdu3cI777wDAwMDeHt7A6i+fZmxsTGmT5+Omzdv4siRI1i9ejUWLFigNrBX9am0tBR5eXlq7ddl+/btUCgUGDRoEA4dOoSkpCQkJCRgy5Yt8PT0rHVfe/XqhTfeeAMzZ85EVFQUoqKiMHPmTPj5+XGHru/atQtvv/02+vTpo/Z49913UVRUhOPHj2ttY9++fTF58mRs3bpVrTwgIABvv/02AgICsHLlSkRHRyMtLQ3nzp3DwYMHIRKJuLrr16/HZ599hp9//hldu3ZFTk4OcnJyUFpaqjcfDbou+S4QCPQ+hEKhzsvFNza6zVrrQBnp1xbyyS0r526x5j8/iQX/kaH2/FnRbdb4tYXPUWOifPi11Ywa6nuIsZafUfbNMvYorVLra3SbtZahJWTUlm+zNnv2bDZr1ixmaWnJrKys2OLFi9Vuf7Vr1y7WvXt3ZmJiwvr3789CQ0N5p5uWlsbeeustZmlpyczMzNjAgQNZdHQ0Y+zJbdZq2rRpE3N2duaenz17lqH6bEC1x7Rp07g6u3fv1lpn+fLlXJ2Kigo2Z84cZm1tzUxNTZmfn5/a7dIYq76Nmo+PD7O2tmYWFhZsyJAh7MSJE2p1wsPD2bBhw5hYLGZWVlZs+PDhLDIyUq3OjRs32Msvv8yMjY2Zo6MjCw4O1riNmLb21uy3LllZWSwoKIg5OzszIyMj1rFjRzZ27Fh29uzZOvX10aNHbPLkyczCwoJZWFiwyZMnc7dqu3LlCgPALl++rLUNY8aMYWPGjGGMVd9mbdy4cWqvp6WlMWNjY/b0EFmhULAffviBDR48mJmbmzMjIyP2wgsvsJkzZ7Lbt29z9ZydnXmX59O0rXsCxlrfiebFxcUQi8WQSCTcuRZNTSaT4cSJExg1apTGOSikGmWkX1vIJ7e8HPOWZXHPDf4FyK89eT1kU3ct76q9pszohiQcEXk/Y4T9f9HLUvtVXVuitvA5akyUD7+2mlHAR8kAnv17CGj5Ge0NqO7r1BDNvgYkrwAAhHRf3mjzb+n5tAQtISN9v58rKyuRmpoKFxeXOl/Qqrm9+uqrGDBgADZv3tzcTSGkzrSte3U/yYMAqD5vo0uXLhrne5AnKCP92mI+8gbe3NcWM2polJF+lA9wq7QcATeTIdFx3h1lxI8y0o/y4UcZEUJqS+1b4vz587U6Rj4/Px8///xzozWqNRCJRHB3d1c774Coo4z0a5P5NPDdY9pkRg2MMtKP8gGulFRfDyJXqn2AThnxo4z0o3z4UUaEkNpSG6B7e3urneSvVCphZGSE2NhYtTelpKRg5syZTdPCFkqhUCA2NrZVXY2zqbX1jCqVUihZ/S/20trzYYyhSNa4F7tp7Rk1BcpIP3353PyzkDs0+HlGnyF+lJF+lA8/yqjxRERE0OHtpE1RG6A/fTo6YwxyuZzuh66FUqlEeno6XY1Tj7ackVyqxHu3v8b3ubW75YI2rT2fY4+K8EWq+v0y8VRXnr7Ke1219oyaQlNkxBhDQsX9Rpu+PvejSpF0rRTLt2SiSlr3PurLJ+GvogZo4bM5EyVB0v3mvZ1pa1jPSuQKTLyZjIzKqjq/d3um5j1z66o1ZNSc2nI+WblSJKRUqJUxxnC08B9kVZViX06+3r91pXIFZibcQ1ZlZZvNiBDSsOhEGMIrV1aIlMos/orPkWOLM+DzlT/+KWyaC738+CAXn6dkAACul5Q/88C3ISSVaxlUxKk/nXQrBWWNsLcgNbMK3x/Q/NGdIy1AqaJCyzv4PZQaPWuz2qyzJbFY8WAPkisfNPm8z23OQeT6HCSmVuJeRt0HZ3o18CkZ9fHTwTx8vjkTV2+V4cS5ouZuTouVWlkFBuBiUSlKZXLcyiiv9XvPF5WAMYZbpeW13uFwK6kcSmV13Yk3k/FdAwzym8r3Bx4i7UEDryutnIzJUayo360/F6xJx4rv1L/78uRF2P/oFNalJ+BYfhGypTKN9+3LD8e6rP1IqqhEiUKJaMmz33qUEPJ8oAF6G1NSpsCjIu3nGdbXvPtbsCxzR4NO81lUlSpQVfpk0KdkDHJl0w5Yi7Oq/xgr5c9+deDaOFtYjKSKKqRWVGLN/SyEPZLwvudMgQTZVdJGa1NtE99wP7vB5/1jyEOcu1yiUT4/fSuWZPxU5+ndKi3HroedUKBwbYjm1RljrF57BptKobw66xJF7QdFza28UokFa+7jYkZxczelVr7emY29ofnPPJ2Fa+9j96E83npnC4sRU1zH+7LWwab0bFwtrt+ApFxRiUXp25EnK9J47c/8Qrz3exq+/CYLGQVP1pnI2BL8dV6zvsqVkjJ8mZaFE4+KeDdw3n9QhS+3ZyH8ogRXisvAGHA1QbMvjDEkVWbWul8A8DBf1uhHJZ67XIIfDz580k+luFHn1xp8k/073k/dgHKFAv/LK6zXMpiZcA9FsurfV8rHfwHZ43+1bes7VhSJ2LIk5DwevNPRqISQ2qIBej0JhUK4urq2uKtxzv0yDUEr0pq7GQDqn1FiWQVK5QpsvJ+N/95J1Xj94HupOPjek/I1aVmYcjuFd7rJlQ9wSnKlVm1gjKGyuDZ7fgVYk7VPb41fsvPwXsI97vn9quo9MU/nIymR4/3PU5FX8Hjwzxj2ZOfhTMGTwXi5ovrQuIwq7YMOxhgqq6rr/JSVh6/SGvnIh1r83kjQtqcdQFpFFbJqbEBgjEHO1DOv82dIaYU8mfr8ShUVkCo1924AgPTxoYaPHv/oKmf2tZvPUwrlJahUat8Ycj6mGAEfJUOq5/Dss4Ul+Dg5Aw8q675BpSm+iwSPf36yWm+WeTaMMfzxKOKZNggk369EVq4MOy48Qpqtg9Z8BDr2oFcqlDqveF5T2KMi/JLNPxhuCJtz/kBU6S2NchmTI73qyd7dBw9l+Pui+gY8VTd/zcnHrdLqTH98kIuN6dWnqDzrZyi+/B6Kn1pW0cVl2JqZg9TMKtxO4d9zLVMyLEvJQGalFImVGcgsfg1r72egWFGOL6/8hbTUGkfGFFX/81fuDa7o270P8cuRfCSUaT+CRtXXX3MeYWvmQwTfy+Q2IOzLyUfAzWTIHm/oLauoXlcLJHJsSM8G7gHKUwLEC+1woqAYUpkSyzZlIDznBj7P3KU2SM+orEK5jqOGcvJl+HDVfURo2bjY0FIryvFDTnT1kU5SP0DRuVHn15S/ibY//B8CbibjaH4WiuS128gUW54EAAh5WIDfHj7CgyrtfxNqyqzKxdy07dzzEoUSsxLToKjxWc6XV69rNT/dl4pKkFslBWRDgKrJ+CW7esObooX+biSEtDwa3xKJiYm4du0a9wCAO3fuqJXduXOnyRva0ohEIri5uXFX45Qq5fjlz1zEJ+r+QXlachXlymfbS3atpAzFcgUOPnyk9kdCpbKqbj+gKxRKvHP7ns49HQkpFUBsLwBATOkdZFTl1nraT2ekz5X4UkxelAzGGJanPsC6+1mIKSlDoZx/kByv4wfZ0z67fwI7s6oPU3tUJEdFpe4B061jRfj9/VTI9NRRuV6uf+PAX48kKH08sL5RnoJPM35AXFmyWj4JKRW4lVyB4lIFYuKrl8W1knKEPZLgp6wnA4BvsyIBAGcL4nA+IRuXJEXIqTHIDT1ViOmL73GHZsqa+MgCXaRSJeatSkN61pPP/+KUDCxITEfoqQLIFQzhkhhMSflKbZCeWiWDfbfuEIlEkJTIMfXTFFxIL4bO3/rSUUCVn1rRe+FxeD/ymkbV6yVlmHr7HnJq/FBLl/vWq3//TfsGKx/s0fpa9I3q5VkprW502IUiFBWrD/6ypdXLsLgepwPUZT2rL9UAr6kG6FmyRzhUeA4HHp165mkpmRDXrOy05qPr6+Wze5n44E7ak3pMgXKF5oamPdn5+KsWR7M0hKjS29ic838a5Xvz/sYnGT9AUYsLVt6NqsSXYVlqG8aUjEEkEsG4nQtEIhHi75ZzG/mqX1efbmalVG3jxfJ7mViVcQYbs0MgVSrxS3Yet+GrUsmwZGMGVn6XhYm3UnAo/xYi7+Yi4KNkLN+SiamfVH93JlVmIrWyGCkVVfhffuHjDUIiPKg0xUlJDG791gP7fy580ojHH8gzBY9wOP82Jt/dzb20IlXPaRhyAHlApKQUd8or8VNWDrKrpDiWXwQAKFMocL+yitvzfCOjoPp9D6s/RzcV9jiQV4i/r0qQkl6F3evNAQB5ZeUoq1Agr0CKj49nYN3jo4biS8txucZRCpKS6twystV/B1QqlAi4mYyLRfwD9wJ5Se02XDEDRBcZcRsfwdrxv6cWVBvPJPInvxmkSiUeyhW1/h6qVCpxICcf8lruUY69XYaAj5Ihf3wfz/PF1Rcz3p97B7O3X8PpWAkeVEnxQJqv1q6aVN9h6Y+PVFKC4Vh+odpvn4MPHyHgZjLkCiXO5RdjUVIx8soGakwrV3U4OzOHUmkJMODvk0UoKJIj/m45tmQ8xLzkm4Cim9r7Qh9JGv27mhDSNhg8XTB9+nSNSoGBgWrPGWMQ6Nr18JyQy+W4fPkyBg0aBAMDA8y5vwnFEW/ir4hi7P+mG4SP8yktU8DMVIgCRTF25B3DzZw8+Bp6waWrAf4pjUcfUxekVeVgULte3LSzcqWIiS/DuNes1OZZrlBgfY3DhXuamcDdwlxvO7NypZCUKNCrm6nGaznSAmzOeIAKpSm+Ts9GSJ8nh2s/eCjF4o0ZkMkYgH8B7gnYmHMQABDSfTl+yv0fwAzxovEw9GrHkCMrQG/TrlAwBiUDDIUCjYyA6oFapZTBsl31H6hH8mKYCY2xKywXCgWgeDygzNFyPpc2NQ9V3Jzzf+ht6owRlgO1fz6zvAGz6v+qjjII2VTd54dSGaRKJTqbGAMAchOqB/0l5XJYm9T/3OSrZYkAnvwxzpdV/5gvkBdz+Zi274t1Ox7C0139B5Taj5ckAJFA8ShnwBbAPx2wPbEMmF4GiIBV3c3QzcQJcQnVP9xUb22MtTRXVojo0gSAufBX3gWgMxBvVo7cfDl2n8rDJxOcUKgaoCYDIRcKYGVpgKsd7wIApEwOA4EIUpkSy5PT8erDDAx3HYT/nS2DVMqw7WIunKFvmVQvw1JFBUQwBMLtUAng9oAK9DZ/sh7cfbxn/6HGZ009NbmSIaOqClGnS3EzqQKrPtK+J+peZTbi75bDuosBOpoYQckYjhdFIlfqBACokCthIhVgz+F8xCWUY/H7ThpzrM/wV9t6xkcmZ3hUKIOjXe0+2wIIAFa/9vEplitwKbsEoTsKYf4fIf7jaIV7NyoBF2jdCKlNpjQPHQ1t1dZ71XeD6IESQ5PScdfEAT1fUF/HJCUKaH4zAplPnRqyMfsgYsuTENJ9OeJKypAjleENm/a17p+FSFjrv5khDx8hwMEGOXlSyKQM8vtSuAy10Fk/tTQfKB+Lm6Xl6G3+5O+BVKlEtlQG58ffaQCAmOp/FrilAxcAlAMLjJLQ9ZEZTO7cgUtvd+wOKcQwj3YotJLj3WHtsSjrWwRajIW7QwdcKUvE/gcOEAuFWOPUBcsfZiJPJgfwEhIfhSFoVxpKRirR2dioejBcc/FFA3943gNiUgD0RmLqkw0en1+JhomoM2BhjbSqHJzLDgUwGcCTozfUqIrk3fF7DgC8rPby3MQ0vG6t5bDuSAB3AQwDYAtI7snxkTwdkAKQA7P+SAOMADez6vUiLUkIvAIgARAJlXiZpeOCsgt+y3r0ZJpVI/DdWgGU8lTY2BsAuUBi50qUOldg1eMjmEL6dIdMyVDxeEOtnDFUKpQwEVXvIyl7vEHju8yH+Hd7C1y6LkG/nu3QzlR9IHetpAzrM89DJErHbz3/CyVTYnHGT5hhN0qzr7VQXihH/v0KlHeqRJd2NjAz4d+z+0hejEOF55Aly8eHjm8DAH54kIvowmK8nJMOZWkHTOjfDbbdTLS+Pz6lHCcrJbjMyvBnfpHa7w5t8qUyrNtR/bvnemI5HGxqXPcl1hLK1PbYkZEHTANg8hvMBaboIpiEqR3sUCxXoL/F4z/6D22Ay/1wx7MSaFf90dyXU70cVW04/nhDzcc/ZyD7tqx6mgnWT+ZXAdWfFzySKYCq8dVPMoHw08UIP/34yDZ7ABXtgDcApALoByAXECmV+LvoNF4b4lXr72pCyPNJ7Rti9+7duuqRpzDGkJeXh1J5Be6UyVFc5sO9NumfFOwb1g0iAO99loo3R1jBa0T1L4rIH7ojEg8wZlkq/pdaBuy3BMacR8jwJwP09TuykZMv0xigy5/6rVpz52hiagW6d3nyB7FIXooH0jx8uaZ6F9HXqzvjysUyvPFye5g+/iO85tb/8FDRDTCp/on61f2bmGTfHS+YmuDStZLHg3PVzCwA4ZOt+2eKrwFST5xRPoSl2QkUKwsR0n05vkp9gITySoT06c5ldCAnH90szDFUbIFVP2QhMbWSGxgH3Y0BDO4Aj/dcqvYC1XYg8FBWwP0/6toARDkkwto1EQPbueHgiUc4HVWEwLl22JaTCxxF9R/XwZrT+fBu9RWqQ/p0xzfp2TAsq4AYwPy76dg7RP0HhPp5myKA6f7h/XV2CFQ/NKv7xYAyE1S2A5hZdT7tRdUDRNVe1QxpLoD2KK25N/X843//BDADQImJaoIAgGWZO7DEaQrY418PKRXVP34VlUoE/PoPeg6zx0g7GcL+eYSl3kMhMBTA6KnD7DKqcmEqtEA7oTFMREIomBKTk7ZipsPriJfYIE8mw6punTF/VTqUg++iW087oKQWg44M4OjZIgBAQlkl3tl8D3j4uB+Pd85VyJWQsceDRcZw9WYZvt6VDYO3GezLS7F8SxbkitrvdZAqlXgveQOQ4APABkD1lZxH27bHtd/LMLh/OzAXBqQArIsSofmP987lA6kKQ3xjdA92RoZY9UInHHj4CMcfFQGnNecT8FEyfIaJgQEA4vth1YUsYCww1rU9juYWAaY3IJJaAjBBTmklshTVecnkDPty43Gv8hEWdfJElVL+uOsM97OqYGVpwG3E4qNaz+pyfuPP/5eHs9HF3HrIJ+2hKZAyGYW2ckD/NkE1H3yeCvcXzTArwEFnnW2ZD3H9ajlQAhQlK/DjxTxIUxgw3QQlpsZaZ7czKxdXisvwg5sLHkjzsCh9OyYajMMf29ph02edEFJxAnjgCsAYgkIGR5Rh5fYH2LfhyTUGqpRKbqB3v7IKJx5l4F9iKQa36602r+w8KWJ3uAL/r/q0mrWPN5LqG6BHXC6G0olhgIM5ZiemYbKjDSoVSrxtbw2BQIC4kjKcLyrBZEdbjfeG5hVioIUZPlv9AK7FQLcywLqrMVBlCEifDE7kSgaRAEjeOgywBNa8nQNLgyfr9I8PcvGPpLR6cFjJgKfP7qneHoYcqRCPcsvwtnUZfk3OByDCP/dKgUJg0akcAP74FcDfH+5HrqwQwGRIopWYfSMNeAdAKYBCc0D+AkqKlEA6cENUDjx95s9NAO69NC4k+euJPOBkf1QCwAzgflUOYPi4fjZwe0IagMcbs9IAdMWTY/8YgMuoHmCrRAN57nIcCK8xiAaAEgCqU/z/URWKqr+Dnjpz4E7NCT7+ahAIGDoIyyD4kwE1zzC6aI/Hqy+KCh7/5yywxvEQUDAEeAQkdLuPFSky4PFNL8LPF+NcuxIE9+oEMxMhqgyeHKUglSqxZU8e7HqlY+v7fbnyW0nlWP9HNvDIFYp3qj/H565JkB4+AP839Rw6w7P6/TqvEP7k+0HJGB5KZYj8MhulWTKc6ADY25ZiyzIXbMw+iJiyO/im8xJk5UrxzeYcbF/eFe0tq38uMgYgvz0U5kpcuZ+LSlaBS6UyGIChQ0UZJIcNcOL3TEwN6Y4qpRI/Zt9AfPZlLLSfgu6djbHqu6zq5ffOk5ZJZUqs+ykb5u0VMIYRgiY7AgCSyyuxu8YpJF/vfLyDYvbjFfdKe/UuygajTHQLCdJKLHl8UdXPujrB3sgQ7P/eqK6TDmA08EV8ZvVnxwHIdpBCbGEAqUwB5AmrB+cA8MtTEe6v/uf+7CpszpRUT6sDgPCn6uUCgBD44/FzMwDnAYGIofLlUjoXvY0IDg5GaGgo4uLimrsppA1S+4U+bdq0Oj0IMCdtMzZnPILar9ZDwJTYFEy8WX343vnbDzVGnIWVFcD+PtVPzr8EAPjjr0dIz6riDk8Gqq+UHXAzucZhauDOv1MpkMixfMsDTF705FDrT9NO4Mv7T+5p//HSDBw8UYDf/87Disw9KJSX4OHeYcABB26QdLPEBEtTqs+lOxReqDYPPByrpffVA6qa5x5qO9/47wIJtmRUnyNZc68JAEDpDEh9n+Tz+N/SHGX1Dz8AeVIZSuQKXC5NgFShfmgwY+zJj7OTAE70QKmyeu/3kZOFKC5h2LY6F/jrcZ2q6r1tKvHlTy76AlT/cLlcXIZK1R/Q0uq93SqHcguw8dhTtxZj1siqkiKu5MmhculVEkxJiALYkz2UOx/k4l65AbDnLfy2seYesep5qX5XnS3+/+ydZ5hURdaA39u5p2emJ+fIADNkEERGkCBRQDCLKIiyZnGNu6YV0FVZA5j3M4AYEF1WVzEhKBKUKAICApLj5Bw73u9HdZzpnh4y6n2fZx7oG6vOrXBO1alTP3PNvbv58JUyMfoOSLL4A2AZUO1S1N2KpqzhoKWQOtda68f2CDdPy1oZfk7ktyMSL/6ylJ3fJDP7myIm/rqXR/YcwuaU+esP/+GTnVt44NC/uXPnEe7dJQYrDtU1wJFRzD6sZk11LXsaLIxbvxtnlQkW92PPmir4H61i59ZGb1Z9gyG79Ky5R4vZXnEO1CRgcTpZtsMl8yAxpoqrhJvigkVlrN5YwyOzDnHPs65twA7CyyuLYFMeLI/13FNqs/NOQSlbfmvgrQUl7NtshWWwfVcjRy02ocB/Bu/OjafG4WRvpYUXvi7kSKMFtgTP2+IfXS7Ov7iUaSssfKFSKHc1Q3A4RRl4+vki/lMsBpScOPmi2Miv1Wnc+NsXfLOjFmZDXZ2Dvz97iMdeOrbAU75YbU6/NsSXBqeFXxv2s+eg+B7bdtdTXmUPGFjSavOuz18zNwq+g1IblFn9g1zNK1nPgcbm67CtVidVtQ6Wra2hqNQbV2F7XQPflB+hyNrAhG172Fzr765r9RmJ/LnSfwBh8+56NhTW8W1pNZV2B0srNjH/uyPglFi4rhG7HRZsPcCPNb/y4xd6muJrvFx/315Ps/PYqsMsXwezChfwTeU6zzUrqjdzz1eLoNIMJfGsqPC2BbU+/vEflS3F4rSxemMNR4ut/N/8Yt6YV8KvruU38wrL+Likgif2H+VwnZUZuwpYVVXL3b8F3rru0b2i/mpdyS0sssJ/RsG7l3quue6XPTyw15XWamAOVH/tzd+PM70DiSuWH4HNPi+Y7fP/nwIMiAYsPjJUXQZHgF98rvsM+BZw9BDH1sGa94NU3PeaH/pySZMlAl+nwmvXwlrgIGx97nzvue+apP0gom7u9Dm2FfgV2OtzbBvwH6Cc5jRf1u+PawWVzv25qxDeAW58Vvx5uic77CnrI9rHFQjjvAmWr4T7/1+fPMDfpgtjkv3wynLRb5dUGdlSv5c1lTX8sKGGJ147CiWI/toG47bu5vX3y6A4ji113pgsVY2uhPp+w5+B13tid8g0Oq2M3/kR9+w6SGWxN13FpQ7Gbd3N+tqDANy76yDPrSjE6YSte4UQLE4bi7+vh49Gcbg0kedeqOaVFwN7u31dVsTbBUdYVRFOzbwLmTbrKNftmiFOOhHfrAz2Nh7lcKGVbbsbWPeTlZU/iXL7adlWHt17mD2vBFgWWJLqHWzxxdEWvhwrPCVc1Dqc3NW0nlWDZZ1LQEVwz1MHufGhvfCOCr4KmB0/XnitSAz4b8KrW7TEitCXKJxaJEkK+Pfss8+e0veuWLGCiy++mJSUFCRJ4tNPP212zSeffMLw4cOJixNeYIEMfovFwpQpU4iLi8NkMjFmzBgOH/bXE3777TfGjh1LXFwckZGR9O3bl++//97vmvXr1zN48GCioqKIjo5m2LBhzd63ZcsWBgwYgNFoJDU1lccff9yvz//kk08YOnQo8fHxREZGkp+fzzfffBNUBlOmTKFdu3YBzx05cgS1Ws0nn3wCQEVFBRMmTMBsNmM2m5kwYQKVlZV+9xw8eJCLL74Yk8lEXFwcd911F1arv9dbqDxMmjQpYHno1KlTwHR++OGHSJLEJZdcEvD8qlWrUKvVjBgxIqgcjpVW+djIskxtbS3h4eF/etd2NzvdhqjcfAZEHPf+t8bm6mB8grT8sNTnAquOO77aQ9kSma9XVGEKE+MmFbYa/lssFML9DQ2sra4XiscaoA8UaW1UqxwB9waueuccCOBh9nVJDTQe4LOyrUA8OCV4GxiN8MSOI6CyzSdA3mWQ/jOvlK+C4mwoiBLpaTsAhokhZJUNsteCNdfJO5+UkOBOgxMOFXsVcbtTRuUuShaE4gHUuVwAWeg6Nxmm/HYA3UGwLtEC+/F15lu1xgqfAle5DtSpsNgk9h5uMhDgE0j8/pkHgCgAZuyxcEdaHewBsmH8b3OBC7yfbyHcXreKmNxcXsvLZkFxuVB23PwKdIcHtu9HY5GxrCnjkosT+EU6RPqydLD2Y98AQAPfVlSDUwzkOOwSP2wQHgkra7cAaRQ31ABacKYhy1Bb4YSl4jVDisSn+i4RkVZ31d0NDAAsVzPvcQCXcjYXuNzt5usSdJ2YGdxS0gipsAcLT247QtHH5/AfgEviIRrKCx2Me303xIvv4rxBI77RB/4ibTZ70Rp2+fy/Gm89+VHlGmwYyvO3lbB7TQtLHHZDQ53I08ffVDQ/vwTWUwf08D8+GzFr72LjN6I87iuph0jAvx+DNbB2d50QtddmY9zW3QCMTbAhpvpcuO0MGXAnfx6Q4R0H3dcgOpHtexshQRJ5ju/mKf8fb9oLmCgsad0Sjx9qttBVK5YaLCyp4PKUBCb+bS8p3bRcdWksncONVNsdbK6tJ9OgZ37pcnbZ1pLumr564lVvEEH3bPo/Vx6hxuLgwJdWOnRQYxiu9wyCfVas4bPdB+htKqCPozv5PcL5vCCazwurmJBawNCozvy2pxGdVuKxF71rgR+YuY/cm0xoD0v8/Ek9jIEE3Tps/02FcT4ZKgTcSfpwDFzmn99PF1XAIqAb0AvemKEDqw4Y7xnLWb1MBSPHEYh3Cw/xbf1czl03ye+45XNXQczpwNvTXS6tY+Eb8zpQxbsuupDXjnhjcHxR6rX2/vfPDP6HMAK0WsmTF0uTmAK/1jVw/8sHPR4kIWNEuB61YG05VHsHgdf9UgvvwOGLmqwrPtTk/mKwOKxYbMFd5NmMaPsvADa6jlU2v6y4uhG+NPqfm+vz/5Wuf1tXdANjAw4Hdo32w20UNw8tIWgq1jXHnyS3ATbwWGIBlgLvBjjeUozSeuA7WOfuuI/CkwdXg/08pLVNrv0vcI3P78NepfJvT+0HJCgHx34Ncors+a7zvyzhyw1HoV8v0QU2jcGwBwgbCdmuWAeu8revtJGUQ1oerltA7MFcIIajNane+2rxLB9z887OGjAXAknegyuu8P7/B/HPwylvE1aWAAzynPp4388ssG4F2WdwxpcFTdzgnIjBGpPrX8DlUMDXyys93iIeAg3UKPyhKSjw303m66+/ZvLkyVx++eWn9L11dXV069aNG264Iei76urq6Nu3L1deeSU33XRTwGvuvvtuPv/8cz788ENiY2O57777GD16NBs2bPDENBg1ahTt27dn6dKlGI1GXnjhBUaPHs2ePXtISkqipqaG4cOHM3bsWF577TXsdjtTp05l+PDhHD58GK1WS3V1NUOHDmXQoEGsX7+e3377jUmTJmEymbjvvvsAMegwdOhQnnrqKaKionj77be5+OKLWbt2LT169GiW9smTJ/PKK6+wcuVKLrjAfznS3LlziY2N5eKLLwZg/PjxHD58mEWLFgFw8803M2HCBD7//HMAHA4Ho0aNIj4+nh9++IGysjKuv/56ZFnm5ZdfBmhVHl588UVmzJjhSYfdbqdbt25ceeWVzdJ/4MAB7r///mZp92XOnDlMmTKFt956i4MHD5KRkRH02tbSooG+du1aHnvsMVasWIHVakWn09G/f3+mT59Onz59Tvjlv2f+90shDYYUnIWyMF5aGIW3FkfwS5UFbP29By3emT0aDJQtERpFfaOTeldgstvW7YTdUdATtjbsY0VxmLeDXwPvrinlXUq5/0bRAUqyj7d1LZ4Z6GbIGhaVxPsf+8L1743w9y8OAgHW7+0wwo6+rn7VJ9r17niwjODr/FIyf4LcH2F65X72FdvpfX4UzmoJNsEDe7zGwG0791HjcMLn/o+6fc1B8FnyxRagEqxNO1hgUeVa/vupS47uWFIWePt/4bCthRnIoijPfx1ztLzkto4agE4XCOXPdw33sraUL3PwxjUFwsD0Vf7WAO2yuOHFg2Q1NvBocgc+XQLsSGdkAUAy+/YDFyG8NH1mWz74tpx4XQr7O+wG0qgodBl7so9C40IrE2RWqwU+BkeKE88a+K9Fg1Gx1SlmmcbBjg99BjI+HSZaBPcskFshrSDoTPYx4U6/u4wuCHzZ7jobahskN8JRWWJtfApOp8/AYACb3MPBFs75psGHX74JEDl9Nl6FM9D2x3b47LdiwKWk+qZvb5NrfQPpu2cQHZLX+8FH8T+wyGuE/VpXQ0dTcMOq3tHIK0Wf0DesCwXx6ewvq6RTo7j+6GYbL/Ty8fSQgQNAZlvQb8XiaD6oZ7PLfLW8kq1feIMubt/uoG2nJrPrC2AdyayjiIOqg/COHvLgve5hvPdh08wLrA0qEczRneeFUOyW3Vo8niL4xlts1MLHQTLvylpOmY54C6zxGSe1lUreGV7A6ZRYu1OUoW/X2CDlWtavD2JFfnqO9/+fwZ7Lu4PNZZQ7EW1EOZAK31StJepwHuEl4Nva+C4N+ujrUqLioDIN0XY0nUnbHiR/TTi41eoZC9pRXsjMt12N+9fNvQT8+AKutx4UA4kt4CujoLx9ahVZwMf1/AQJZrifCE6J+rVBZCRDuB1qtc1PAaLcrMXTlhgckFEPv4XjbQ/nB7hv63lQDfKuJsfr8Xi+AWDv5n1VnTd99sVhzN/mnWr++tcqqA4XM7+B+pNlAHq43fXb9agvv6ziyy+r4KJ8yspcXiS+dfUjcN4gsXZ3Cnlu+SwAuiaJmClutgVYtlN7PvU2/9GPBS9FwvXnQ+ANQJrjRHjQ+WIT6d/5fYCHhPKaOEU4naI/u1gJEnfSGThwIJ07C6/U999/H7VazW233cYTTzyBJEkkJfnrVZ999hmDBg2iTZs2LT738OHD3H///SxevBiLxUKHDh149dVXOe887yDRe++9xz/+8Q8qKiq46KKLePPNN4mIEH3xRRddxEUXXdTiO9xxvvbv3x/wfFVVFbNnz+a9995jyJAhnjymp6fz7bffMnz4cEpLS9m9ezdz5syha9euAMyYMYPXXnuNbdu2kZSUxM6dO6moqODxxx8nPV1MGE6dOpWuXbty8OBBcnJymDdvHo2NjcydOxe9Xk/nzp357bffmDlzJvfeey+SJPHCCy/4pe+pp57is88+4/PPPw9ooHfv3p1zzjmHOXPmBDTQJ06ciFarZfv27SxatIg1a9Z45Pvmm2+Sn5/Pzp07yc3NZfHixfz6668cOnSIlBSx9On5559n0qRJPPnkk0RGRrYqD+4ZejeffvopFRUV3HDDDX7pczgcXHvttUyfPp2VK1c2m80HMcDyn//8h/Xr11NYWMjcuXN57LHHAn7LYyFoRJClS5fSv39/NmzYwLhx4/jb3/7GuHHj2LBhAwMGDOC77wIsyPwTse0Tib2LonEu7Azf4K+hgZhxnuP9OeepOn8lyenfWBgckNg0GPnSKNGRFsDXe7cKIzrAzj/PzSlE74CLCiEhVIe2Dai9xKsQN2UJ8GMA4zwUh2J55z+VqFyKcc0BJ05ZxZo9sTg/Vvl35kDNVqcwgooRxqKbz/DvaNfRfPTbxdyjrhl5GZKO4FU4WjLgfNA4IdxXT69BzDSswt+ocrF0fp0YIPFVjGTg3TyyGn0+XhMPeEDMwlTg53pXUwZ7C6JxHm3vf+1qWoXka7QHG4846lIEdgY492GAY4F2lvqU5srPcTC4GAa1ZhOAd6FDNXStAl2dir2R0TjlVm5LEyqdc0Kc98Xt8NFU2bcg3Nc/9plB+vd47/+bKtOhd+sKyOP7Ao0MiCBNdtlBpUMYaZVOi5CRpGLayz4RrPcgyvEcxMzqd4jZUuslFNc3T9RNU3cz/4uyZsd3b/AZwPjS/9yn77gMxB0ELk+tIVhbBELWgSgCGiC3FmIC2do+XvNOWSXqmawSs7wftfC+pm3Hx9GwxbVu/RuEF8kiYDY0rM3k/LnQtYlMfOn3BZw/FzFT2dQ4X0hgA327610EtqGmvdT8GwVF9j6rJfxkdCYJvVvmmcOpwrY3sIxy6qB/qY8bfFM+wC9vnaqgba1r4LUlfiT48pr1oZMMUHzEmyhnkct4PgoU+Cybasqcq0T/vK7J8a+Bokjx/yb9snORir2Ho8HpI59f8HiBBeXddPjknObH36HluhqKdwk+wHeGcMoq9lZGK9usnSLeeecdNBoNa9eu5aWXXmLWrFm89dZbza4rKiriyy+/ZPLkyQGe4qW2tpYBAwZw9OhRFi5cyObNm/nb3/6G02ep1J49e/j000/54osv+OKLL1i+fLnfzOzJYMOGDdhsNoYN88a6SklJoXPnzqxatQqA2NhYOnTowLvvvktdXR12u53XX3+dxMREevbsCUBubi5xcXHMnj0bq9VKQ0MDs2fPplOnTmRmZgKwevVqBgwYgF7vHfwdPnw4R48eDTqA4HQ6qampISYmJuB5ELPoCxYsoLbWO3O4fPlydu/ezY033uh5t9ls9hv86NOnD2az2ZPP1atX07lzZ49x7k6fxWJhw4YNx52H2bNnM2TIEI8c3Dz++OPEx8e3WFY++ugjcnNzyc3N5brrruPtt98+KXEmgs6g//3vf6dHjx58++23hId73ehqamoYPHgwDz74IOvXt7KH+AOiUTsYds4+Fv+cHTB4la4GbKom8cNaMLzOLYcIO3zlG1LY7Yb1FUDvFtNjdPXBsVYoDuUh+K4otFonJDbCYV/XtKYukseI7ySpRu1gWPphFpcEkNGqFh7S2uW3FWIEMKUBulfBT9GuvLdyJ7ueFUJeXyW7DvgOoBynUQUEdA8FxKCND35l6Dhec1EhHDLCFjuhlfAzNGPgiz70LlAeNK6CpC52MLJxH4vVgevZGeE/p+9V/9p/FJUEfSLDSTBUkWtM5479s8gzZLCjzg6lfdi9Oo2RHXazuCwbu8+OASxDBNSS8Q5cbAByCOiG3FgfZPbU14AONPjUWmoI7I1wvDRdcuGLj/HQUlvtbq/0DrAca/HaGCj+exDmBjgWzGW6pbYRoCrErPlxEKo/Oxn0L4adkVDUCg/2M0GcBcp1/s4wfmgchA/bh+YXr4ySGqBdLVS7NCn1MepkQQ3k1uA7sF15As8JRGMwVwAfmnjoaYodDDt3H3yVDfbT31aH26B9DfwcjdcroXVbpJ82NGoHwyr3Ybdn/W6iuNstTqqOBvAyO8WYU3Ro9Mc2kJGens6sWbOQJInc3Fy2bNnCrFmzmrmNv/POO0RERHDZZZcFeZLggw8+oKSkhPXr13uMz7Zt/eOiOJ1O5s6d65kxnzBhAt999x1PPvnkMaW9JQoLC9HpdERH+weOTkxMpLBQdMqSJLFkyRLGjh1LREQEKpWKxMREFi1aRFRUFAAREREsW7aMsWPH8sQTTwDQvn17vvnmG095LCwsJCsrq9l73Oeys5vv3vP8889TV1fHVVdd1eycm/Hjx3PfffexYMECzyz1nDlzyM/Pp2PHjp7nJyQkNLs3ISHBk8/CwkJPetxER0ej0+n8rjmWPBQUFPD111/zwQf+SsWPP/7I7NmzQwYBnD17Ntdddx0AI0aMoLa2lu+++87j7XC8BG0htm7dyrx58/yMcxAf+O9//7snMX9mzKbgluCQYjhigM3RQS/xwx0MqG0N7G5hueDJpFMVpDRCoQHsAdpBjVO47VUezy5jLsWjJRkFI70eImzwa6iJ/P+K9+hc73IbdbRygsncxEhpUyuUxzoNng7+ghJYE9uC62ITOlTBnnCwtlI/OR75+JLaAFuaRpo9S8iqE+X52+Ye+61G2gHmQScmIzfRVrCooN7d6smQYIFiPSH3o7ugBA6EwUETYBXPMjrg6DHYaMfMbNg4ph7iYUNNPWh/ZEaW2O1gR+NB+O1aWAoOtQNzO4ufW7eHQC7/Gzg1+++F4jQObDTFbLK0uESkbyksDR5o/ozhTrLB4Y0LebyMLBBlfVNU4Pb+RNuiUIQ7IK+6ZQO9QzVYVaINPdkYHMIgbgig9Wic0LscDhpha1TwZ6jN/jLqUA1GJ1S5vo3BCTorVIXoM096DO9Wel0dL0kNcE6lz2B2EMwmiycUx7GgdorJjJZWWAQjwgb1asirEe25VoacGthran0/fLLQOUQZaKmumk2W31UU96qjVr586PiDlh4vo55OIzb72Ebz+vTp4xcnKz8/n+effx6Hw+G39/ycOXO49tprMRi8z7/11lt5/33v1hO1tbVs2rSJHj16tDgznJWV5THOAZKTkykubo2r4Inju+W1LMvcfvvtJCQksHLlSoxGI2+99RajR49m/fr1JCcn09DQwI033kjfvn2ZP38+DoeD5557jpEjR7J+/XqMRqHQNI015i6vgWKQzZ8/n2nTpvHZZ595jOuVK1f6ufW//vrrXHvttVx22WXMmTOHG264gZqaGj7++ONm7vKB3tF0a+/juaalPMydO5eoqCi/AHA1NTVcd911vPnmm8TFBYk1BuzcuZN169Z5gtxpNBquvvpq5syZc+oM9ISEhKBuOGq1mvj4+IDnFLykNvoHzvVjh/9P90x7asOxGegRNjELXnockypxLl0jWJ84uEisXvbtlDProELn7YAkWcxCN33/8er/Khm6uHr4kAY6QrE2n8hstw95NWJwYHmCV4HSyZBVD1tb6fWfXS9k1trrT5Qz3c1LMuicwvBFws+Fon2NGDTROoU3yYmgOgkZzXcN3LjLc1qDcKNfEwPlIepPhB06VbsMdJ9nhTLQJdklkhAVItoqlPxmCupCvIHtyvqyPGoH1Btge07rAl8F8lo4m92IWyDMLspBawfLmtKvFJYF0bMMx+DdEQiNU8yeHvMsvA9JDcJ49fW6cs/I9qoIbRy1hgQL9C/xDkaoZIixQqXLi6ptDZSqwSaFNjIBIm2QUwsbAwxE6xxiIMC3TAesBjL0KYPtkZDtinXha6Cn1QujvVoLFxbDD3H+BpDJJozuUMbdhS6d+auk5gkxOB2AiniLOGFwe4XL0KgJPtPtfoy7fXK3CyvjxECvO03udsBkdw0QSP73txaDQ+RjWbx3oNFkb9IPyNC+FvaZQre7rX1/m5ZikLh0gKqwFq5BDNiWujwUmtbj4UXQqIIdkWKg/Id4MSMebofCEG3sBaVQpPcO0JvsIr1aJ2yJEu9yQsjMqp0iNEig61Sy+LOrvGWjMUBd71cq2pKvksX7Uxtgf1jod5/NmFN0jHo67Yy891SwcuVKdu7cyUcf+a+fePzxx7n//vv9jrkN1pbQav07JEmS/FzgTwZJSUlYrVYqKir8ZtGLi4s5/3wRSHHp0qV88cUXVFRUEBkplqG89tprLFmyhHfeeYcHH3yQDz74gP3797N69WqPfffBBx8QHR3NZ599xrhx40hKSvLMRPu+B2g2c/3RRx95XNd9jdFevXr5zTq775s8eTKDBw9m165dLF++HICrr77aL59FRc3d7EpKSjzPSEpKYu1a/6iZFRUV2Gw2v2tamwdZlpkzZw4TJkxAp/OWuT179rB//35P8DrA8101Gg07d+4kJyeH2bNnY7fbSU1N9XumVqtt9r2OlaAG+i233MKsWbMYNWqUXwG0Wq3MnDmTm2+++bhf+oelaRAswNyK0fS0eq+LukYWik2UTbhr9yuB/aYmbug+9CoXI/hZrg40tV4oOqFQO70zz/GN0Kumnh0REr+FGdE7xHrhQHRyxYdxK4ttasU60A3RQrl0K1gR9sC7oIAYUIi1+BvgRrtQTLtXeo9pnGLN8iqXsqOSxYCEL37GeRAlyqP4ug8E6izl4Kc0TvHemgCGQUDjs0k63PdG2kQHvi6m9QMqcRYo8yk/TQ2+QFuwG+wQaRcGX5wFjoSJNElBrvdF7xBKUZkrfTEWMSDjvu+8MjGTXK4TysoIVxu4Kxx2RYhIx2EOoQS7FaZe5bA6+ACkH5Ls7ybqTu6QIlgaLWPATqXmxKYSTXZRnnSuPlQTpNwAIHuVUwlRBpsqw2Zb4DqudgrFE2B7BHSo8fGqkcUAxn6TMJDOqYTDRvglSsggo17IGQkRFyER+Bq+7psGPwZWlmItUHSSvCZVsvi2P0ULpbWiJdffIETaXEarj9eCxikGI0qOw83ZHUX7qyQRPMVXBUqthwKjSOPAYlEGrRJ8mwhRLu/MsADrg32XXTStW7nVoh3bEC3k4WjB2Bnm+s6LE72z01qfZ+dWC6MzziIU+P2ugR6DQxgmnavFN99jEvk4r0x47iT6xBQJs4uZQr3T1S7oxbdxtz96p4Mom5Oe5VrPoFO0FWo1TkxOByrUOFFhcjoIt0nUalV0dL23wvWeNnXQxqdNdbfzkgwq2YlDpRLtmUZ8g36uRn6nHSKcjaiROaoTSu2QYijUw/YoO73rKulMLT870+lc4yCjVseaGGFom20ijkBfH8+nCBt0b6igX30Jm2URo+Mnl57TrxQWJXkHh3tVwFEDbIoWhv4ek2j7IuzQtVLIy+rz7UY2WabxbQI8WPIbR4lmvzMJsxUuKHPgRIw6WiX/9lrjhMQGOxUaNQZXpUhpEvvlglLh9v5DvLcu/WIWA4KlOm9/b7aJzR9sKtEugSiDbuM1wuY19DPqoEu1Axk1Haphi1nIuCnxFrG+vW0trI8WsrCqoXOV8JYr1YuXBByUksV37VsKv0V4vR1kn/MxVtEeRNmgTg2JFjGovq5J22Owi8ENo8OJJIuyZpW8ekfTASeD09v/a5xiTT8AleI9JoeQ3fqY5v1Yoo9jg/tUjFU8Z1iRt21FhgEl4ll7TQ52RahwINGpGjLroUEl9KmNUcLbRJZAkmVGF9mxoeWrZJ+BnmSvbmF06Wy+Mu1YJSZpYi3Ca8UhQe9jCB9xtqDRq455JvtMsWbNmma/27Vr5zd7Pnv2bHr27Em3bt38rk1ISGjmXt21a1feeustysvLW5xFP9X07NkTrVbLkiVLPG7kBQUFbN26lWeeeQaA+noReKXpxKpKpfIYlvX19ahUKr9ZZPdv9zX5+fk8/PDDnsDgAIsXLyYlJcXPbXz+/PnceOONzJ8/n1GjRvm902g0NlsKAHiC8s2dO5fvv/+eq666ys/7ID8/n6qqKtatW0fv3mJZ79q1a6mqqvIMROTn5/Pkk09SUFBAcnKyJ316vd6z1r61eQDvOvima8zz8vLYssU/AMijjz5KTU0NL774Iunp6djtdt59912ef/55v/gAAJdffjnz5s3jzjvvbCaH1hJUndNqtezfv582bdpw2WWXeUYkPvnkE9RqNQaDgZkzZwJixOiee+457kT8HpHsKnauySShTsVRV9vVq0LMUHzt49KbWwO7w4WyJMleRc9tkCKLTtuN3untdHeFC0OrYzVYVMIHLNwh0aHGuzuKu9lxd3o6GS4sEp3Y6NI6EiljkSmDxEbRKR0yQoleuOa56V4FvTlA7yp4zNiBtj7rthKooGeVkaM6AzWu0uJEdFrxNhu5taLw96yA1bFehVfjBIdDxa7VmbStVLEjHJIaxahzT1cgpgQL1GqE4jWoBJqOcKTXC3e1rpVwxCiU2JZIsghlpl4jFJ4UayMjyuopJIbtEUJhS3PFctNjJZ4qDhOP3gHDi+2okLE6tSQ2+A8EpDSKv6+S4MqKo3SzVLGKDoAYQPm+iWtsRoO/AXJBKdSZKjinro6dpNGpCn6KAXOjirrvM+lfomKzWShU1Rpxb5VWKGS5tUKBd3ORS7n8OUr8KyMUgax6kb6hRc0DD6U2QJzLSPk6yVvucmuEwlalE+XRIXkHZhxqKyYHNKJDh43VcQ6KNAZirUIpBljik+92tZDV2Egvx1E2k03vcm8HEG3DFdEeJJxoZJBklcewcBuyUVIF9XI4VrSeOnVBkZARDhVXlpWR6yzhldg2JFjt9K8vokirZ0F0KhqHjEOCrlUSqY1CGa7QuZYrNGFACew2wfi6newlCfeOBUa78KKItgrlt1znNbDdjGii3Psq+xXGeqKp41dtPNFWoUy66VDj+haNUFffSJTTQkKdGaNrlgUgo8HJUaNMVp2aBItQSksNNN/WrwkOp4qjP2TSs1QlZgddxLrW1MqSCB5ZoQs8o+bxgvCZEXIbl718gqatjJUxSFaMsgOL00CkTcVekwiQddgo6mtio5i5OxLmNd7ApYy7vGOSG4UCXK4T5e2wEX6NFIr0z1HeGBopDZDcNHCmj8y3ugYiDVgYUtXAOnsU5TqvIR4hWxlW6sDoUFP/fTo4VOgdwoBJsIj2yI0aB2MLnYCDwnALR1VmclwDM5cUWpGRWBqrIdomk2h1onU6ccjiA0vIRFNDIzruKCrjk+hYcBoYWFWNFjtFRNGuDrSyigxX8DqHBHqHk9xaCT1WNDiJp4qEOgPFdWaiqOPW0jJ2koYdFRJigGKfSSKnzokWO+E0kssRPjYns10fyX0luzHKTraTRqc6LRHletIpJd1nqLSQKJKoJK80jJ2kcQ672Uom2gY1dd+nEe6w0JUD7CeBo8QysgBskoPz5T1ocbCXRMqIREZGjYwaJ3psDCwJ53xXsILdJFGKmQQqSbRIXFbkrSTnyfsw1trYRDYXldvQY6MYM2FYiaYWGSjFzIBSNX1cAQ+yKWQfSVxZeRg7eo4Qy4CKOvpZCtlAO85nO3WNelJKEsEeRltrLeWEo8GBFgda7FQ7TeiwYUVLGI10d6V1B6lcXiwqRQoVHCSBoWVWurOPEiKpIBybrCal0UGpFIH2+xhuKCohVRYV4zdSsKGhChPxVGJHTQURSDiJtEvkVol+B+DyqqPYUIM1yVPm+laINFrQosNGHUYknPwUZyOvQo/JVZYXJ8hcW70PExY2k0U3SwM9imXqMBBDDQdIQHb1m+dWSEg4kVFxboUon1sjZbLrZTLrJcp0KmKs4NvfXlzgQKWux+4wEUkD2RTStcLEh9GJ3FBxkB2k40TFmOJajE4V5Ro1KfYGKojgkNFJDA1cWlqD8Xs9Okc1JURzYQnsiLBzY80uygmniChKZJNrcE3F+bXlxNVEUq5Wk0I5RUThcMUtvrKojiq8bhQmh0hrnBVGFzpplNRYVdDg02ZJOImggfvKDrKediQ6bFxZ5ESDAxoiuapBRGTcThpGrJxfV0x9nZ79JFCJCZAwOiGf7WRXRqPGQR0G9NhIoYItZBJnMXjSn10r2vVarQWzTYPDpY1psHN5gYMKlRZQ0cbSwOCiIlHPJCd132egvvgsiafyB+PQoUPce++93HLLLfz888+8/PLLPP/8857z1dXVLFiwwO9YS1xzzTU89dRTXHLJJTz99NMkJyezceNGUlJSyM/Pb9Uzamtr2b17t+f3vn372LRpEzExMZ6tuMrLyzl48CBHj4roxDt3iqi+SUlJJCUlYTabmTx5Mvfddx+xsbHExMRw//3306VLF8/MdX5+PtHR0Vx//fU89thjGI1G3nzzTfbt2+cxoIcOHcoDDzzAHXfcwZQpU3A6ncyYMQONRsOgQYMAsVZ8+vTpTJo0iYcffphdu3bx1FNP8dhjj3kM+/nz5zNx4kRefPFF+vTp45mtNhqNfpHRmyJJEjfccAMzZ86koqKi2R70HTp0YMSIEdx00028/vrrgNhmbfTo0eTmimCtw4YNo2PHjkyYMIFnn32W8vJy7r//fm666SaP50Br8uBm9uzZnHfeeZ4dANwYDIZmx9xr+d3H3ZHfJ0+e3CzfV1xxBbNnzz4hA12SgyyGOZYok5Ik4XAEmJ5ogddee41nn32WgoICOnXqxAsvvNDiHnO+VFdXYzabqaqq8nyQ082743b7/S7VQZrVwjnsZZ0mFbs9EgnZ02nWaCDS7kSHnRKtiiibhBM1KpzISJ7rfImilhhqsKMmjTLKCecwcWixo8VBDDXEUEsxZkqJpNKnQwM4jx2okTlCDKWYcaAigUoOkoCEkwxKOEQ8TiTOd/nc16HHjpp69ERSj8kVcW01echIpFNMOmX8rIvjHKtQ/DbShka0rvOl1GEggnqOEIeZWnI5ynxTe66q24XapRRsJcOjXGRRRA1hxFDLUWLY79p3TYsdkIigHgM2kilnD8mocVDmMqqiqaEDhzlEHIeIpye70GNnNbnkNwldXkIk1YShw+5RWtfSHgcqT/5XkYeZOqxosaAlknqPXNMp8dy3jQw6uRb4fqNvw3CL2F6qjAh+IxUZCR02EqnkEHGe51dioowIqgkjiyKqMGGikSKiqCEMGYlUStFjYy9JtKEQKxpKiMKChmQqsKEmgSq02JGQsaBlO+mocRKGhRqMGLFiR40GByYaqcGIBS2N+jr26cLJrIdMRyU1GDFgw44aJxI67NSh51xE+f6VdDq6Igd+o+lAur2Wjhxin+sbRdBAHDXUokcFhPlE6HMgoUZGBo4QS5pPcIBdJFNOBBoc9GQPVjToXKHyfiETHXaSqGAvSURSTzHRnB9kT6rlmmwG2Pd5vosKJxX4rhORiaaWCiJQ4yCXI0T57Bu3lUx+DdPRq76aUiKxBxm3VLuGxRx4/flVyK6ZNtnzjQEKiOYACThREUYjSVRQSDThNNIWMVqxnnaATDuOEkU9TsTs1WayqcPA+ujWzTQb7HChe3bZNSvVqco1I6QWWzl1q4ISHWyIER4Sall4vyRZ7Ah1Xu13/z8LtrOXRCyuvb2iqSWpSSSq9bTF4ZqVdRNFLdWE+RwTrZtDcmCURVmNddX5bWSQRhlHiKURHSqcpFJGKZHEUkM6pRwilgga2EUqNtSu7xhOIpUkUEkYFk+bskHKoK1cgpkGajASQXPr3l2ef6KtxxjoxW7UTdYC7CKFSsIwYfGU/zr0nvbQl0pMfuUpFD/ThnOa7cWn8GdiPwlk0Xz624IGvasd3EkKKmRKiSSSejqdaATX08gBl16RHSCPAEeJJqWV261sIptsCjEHqM8nC3dfVUYEsdSEvL4YMwlNVtu7B798WUt72nOEaJ/24TCxDPwwyP7up4GW9OfGxkb27dtHdna23/rs3wMDBw6kU6dOOJ1OPvjgA9RqNbfccgtPPfWUxyh74403uPvuuykoKGjRkPTlwIED3HfffSxZsgS73U7Hjh159dVX6d27N9OmTePTTz/1c+d+4YUXeOGFFzzRwpctW+Yxfn25/vrrmTt3LiDWQDfd3gvEFmjTpk0DxLd54IEH+OCDD2hoaGDw4MG89tprnu3SAH766SceeeQRfvrpJ2w2G506deKxxx7zWw++ZMkSpk+fztatW1GpVPTo0YMnn3zSb+vsLVu2cMcdd7Bu3Tqio6O59dZb/YzbgQMHelzUg+UpGIcPHyYzM5N27dqxY8eOZufLy8u56667WLhwIQBjxozhlVde8RjHAAcPHuT222/37Pc+fvx4nnvuOb+o7aHyAGL7uuTkZF588cWg+8/7MmnSJCorK/n0008BuPjii3E6nXz5ZfOtXH7++Wd69uzJhg0bOOecALtUNCFQ3QtqoB84cCDkA31pGpq+JT766CMmTJjAa6+9Rt++fXn99dd56623+PXXX1u1ufvZYKCvve47Ci+pI+9TUNubG9flhBPjCiHqa3z4UkA0ya5OKpjy93vGoZH57RKZ9p9KAWX0Z8FX6fJFkU9ojldGdlSUE9FMiTpZ7CCVPI6EvvA4WU0e66Kllg10lxdEjsVB5CW/Uf1pe34OV9Or0oka4aIrI/kZ0BHU04UDbCUDDU7yAmyZsEKTRX/7/lan1YqaLWSRSTFxLuW2Hh067GgCLoI/vSj1LDSKjEKjyKhlFPmExi2jEWNHNlu7fLr4Ixvo3bt3bxZ0TEHh90CguhfUxf1YDO5jZebMmUyePJm//OUvgBhx+uabb/j3v//N008/fcree7KQZZko6ijUygSL/hHjs79HIOMc8BjnwB/OOHfjPDN90FlFIOPcjSKf0ByPjDQ4T5lxDpxS4xwgnx1QkcvPUVCtUfntLOAmtQFy6mQkjRNJ60SPlTsr97fq+Z0DhncXHItxDqBzeUH4Esbp35anJZR6FhpFRqFRZNQyinxCo8hIQUGhNQQ10BsbG7FarX4jbP/5z3/4+eefGTp0KIMHDz6uF1qtVjZs2MCDDz7od3zYsGGejeibYrFYsFi8Bmx1tViMbLPZsNnEYmGVSoVarcbhcPhFUHQft9vtfltbqNVqVCpV0OPu57px7xFot9txyE4crshSMrLYHqTJkiK1XUKW5IDHnSoZ2WcFgSSDytHCcbXsFxRFcoLKGfy4o0nUK5UDJDnwcWRwNikFKuFZfsJ5cuP73t97nk7md3K6oqG58/BHyNPJ/k6+9/1R8uSb9pby1Fu1g961sJZc9oVJJNSpqNU52Rwr3ptmg87qA5hoZAfQRbMXh8uKP1vzdCa/k289+6Pkyff4ieTJ93l/lDz5Hj8ZeXLj15/9zvN0Mr9Ts3r2B8jTyf5Ovu8Jpqueah226XEFBYWzk6AG+oQJEzCZTJ71BC+99BJ33303AM8++yyff/45I0eOPOYXlpaW4nA4moW6T0xMbBYW383TTz/N9OnTmx1fvHgxYWEivHlGRgY9evTgl19+4eBB7+xQbm4ueXl5rFu3jpKSEs/x7t27k5mZyYoVK6ip8a45ys/PJyEhgcWLF2O3e2c+Bw0ahNFo5KuvvhIHLhX/ODVgD4M9o7wNpMoGHf4rUZcIBwZ5j+uroO1XElVZcPQ873FTAWQtkyjtKFPSxZu/qD2Quk6ioKdMZY73ePwWSNgqcfACmTqfSKgpayWi98K+YTIWn+U1md9LhBfCb5fIfqO3OV9KaOthx5X+nVPeAgnbSchT+g+ih9x1KbgD0vze83Qyv9N+1xiXWz5/hDydiu/k5o+Up2P5TmZ20LXASNSyCCpybLTv4vW8qdkDpp+b17OzPU9w+r7TntH4yeePkKdT8Z3c/JHydDK/U+yO5vXs956nk/mddrl0Ird8/gh5OhXfyc2uXbs8wcDg9OmwixcvbpaWPwLLli0700lQUDipBF2DnpmZyb/+9S/GjRsHQNu2bTn//PN55ZVXmDx5MmVlZSxduvSYX3j06FFSU1NZtWqVXxTEJ598kvfeey9g0IBAM+jp6emUlpZ6ZvhP5ww6wJ4bv8IaAYYKRJAlZZS4WdolJzSaZbR14v1/hDyd1O+kdWKJAF2NyMsfIk8n+TvJkow1AowV4mV/hDz5pv1kfCfJCQ1mGZ1vPfud5+lkfie71om1ST37veepNd+pBiNmewN1kh6j2uI5FkGDJ08F6igsaEmXirGGg7FSQpY45XnaQA4plBNDLUaHrVV5qiCcaGpP2nfa70giS1UYNE8lkgj0GksNklOca4iS0dU2r2d/pvoUdAZdK/vXM1eeGtVqdJ59Z35feTrZ30mWZKzh0OW1MTidzjMyg15eXk5cXNwfbg26gsLvmWNag15SUuLZeH3fvn3s3buX+fPnExkZyeTJk5k4ceJxJSIuLg61Wh1wE/mms+pu9Hq9X3Q+N1qttlmgDbVa7bfnoRt349Ta48ECeLiPq20S+mqXgoyEOsAyY0kOfFzllAgUOynocUfgde7BjgcL0KK2SzSgRYOTRrRE0Og6HuBiOfDxY8mTjIyuVnTUUpMFtKHyZKV5px4sT4GPBzh4EvLke3w7aXTwCbJ1rN9J5SpDTeVzJvJU4Iwl1Vne6rQ7HBq0Pt9nN8m0pQC1XeJn2hBLDVWYMGKhnev4seSp1h7GYWLpyEHs1QaQGz31zIHEWvI8Ud1PZX2qIgyzvT5I2o/vO9VgoJBodNjJlEtOuI2QkdEfYz07m+oTTgm167hvdOemaS8nnAga0Doc1GDwtF8h096kntlQo8VBqd1MYtM4BT55OkoMOmyokImQG9Dam+9UsteZTLyzGjP17CWRRnR05FDQvG5zZKFxxb5vz1EOEUs81ex3JKDGSTsK/PK23p6LGhmzKwp0e8Q2PFvsbdBhpyOH2E8CpURiRQt2/HYPUeHEKavwDYOhw4aZeiyylmq78ECrx0BMTQ075RgaZANRzlqiqCOBStQ4+ZV0Kp3hnO8UdW43ScRQiwMVOocdM/UcIo4YajBhEW2j47C4DxN6bPRgL1UY+Z8pEZusZ5szmVyfLT3VdhHYMIFKKhDbLQJg9+6W4NnJQYYGu55wn9gtW8mgWg4jwt5AI1qcqDiP3yglgiqniTJnBBIy57KbCkwUEkOhMwa10+HaIksmlTIyKWGbI4sawlx5FTs4tOMwDTU6UuwVSEgcIg4zdewihQh7A4lUYqaeTWRTj54Yasizi1gVos3KxYQFNU6i7TUcIp4kKqgiDC0OOsqHsNm1/ExbTz5rMLBXTibZXkYdBkowo0YmgnrSnSVITjhEHO1cO0MAbHFmE++swogVM3VY0LGRHHDImKn37D7yGyk0oCfMYcGBiirCiKOaMiKxowY7pFJKFSbPjiBOJBrtOvcnIIZa1DgpJZJ2tsPYqtXY7WoaXNuTVckmauxhZFJEKuWe3U/cbcQ+EigimlTKKCQam1PDER20a2wkk2LKicCAlYPOBGSnhBYb57KbvSRSTRjdHfuowOSJkr6fBMqIwOIQaTyf7ewhiWrCsKAlwt6AA4l69CRQhQYnFjSE2S2kUo4FDb+RiklVRRu5ErVdlPW2ePXVQjmKJHsl62hHb3Z5jkuyRI09DDVOaggjhXKqCKPEGYnkhBwK2UEq36pNzCK4rnq6dFgFBYWzm6AGelhYGFVVQnlZuXIl4eHh9OrVCxD7w9XW1ga7tUV0Oh09e/ZkyZIlXHrppZ7jS5YsYezYscf1zDPBj9o2RF+xh7wFoqNxb0MGMklUUEYkORSwixSMWKjFSFsKSKCKenSUEokRK/FUY0fFT7SjT5NtwWyoXVsxSZhoxIYaKxq/7Zyg+ZYljWjZglAEddixoaYe/9FQCVkEogJ+JodGdH7nI6nDgA0ZsVFSNWEYsGJD49pYSaYaI2qcxFJNOI1+W4xsJgu7BgxX7iVsQQLF9hiPEhRFnc+WcDLplFCC2Pu3DUUuBUektzP7iaSBzWSjw4YFLQZsOJGoxERnDmBHTSmRRNCAFQ2ZlFBGOEeIQ42DKOrFVnNhjYysP8QB4inFTE928wtZpFJKLLWsJpfNZrim6hBGrOwixbXVm1CM95JIITF+cvqJtsRTRSmR5HIYGxr2k0gD/gNKBiykUM5B4pEQW7Y1atTUXVmCZUEbGu0GImigwOiga0MtB0ggmyLXPt2CRCrQ4KQYM0apHhmJKtlMJHV05iAVmGhwRc/+jVRSKaOYKM51KRFHiCEMC9HUsYckcihkE9locFCkMnHAmeiSV61nGzvxzcW2bkVE+UUEb0MBiVSy2rUn/PwEM73KoFon0dgg8l+LkTKXbI4QixYHjWipw0i5FjrZyjFTRw1GMijxPMvNak0u5it3ULUgD+zu7c0EW8kgknrqMFCHgRTKKcFMHXpskkSU3IiETJ3rW6RSxmHiSKGcUiLpxW7Xtn5iYFDj2mzOhoZkykmjlB2kocZJL3ZTJ2mQZTUgcYRYStU6+jr2cVAykyFXsYZcnC4TOYYabKipxkQ0NZipp4ioZuXiCHFEUYsVDSpkurKfY8WpEa6Y7rboRHCgooRIT71WAWWEU0k4dtc2ZweJ9+wn7S7TemxocNCeI6iRKcLMHlIAUfajqcNMHTHU8ivphNNABqWedlOLnZXRavpUQB1GQKaEKAB+C5c5p7aRWox+aU2inDYUsZ00Kojw24bPiYQKmV9Jp1ajw3TlLqoW5ILd2+XtiIAba0QfVytpWGZMpm99OXps7CDdr03cGAUmm8ykuh04gW91bWhrraOYaIpd6dxtkrCp4FBDB1LtdVQT5mmrfyGLNhRQgxGQWBcDayxm2tbBIdeWhZvN8KkmiloNDC8S763QQrRN7A2+LB4Glnj9c+uBZ2M70Ne7eyEg2uutkVCthfPLRH0t1Yk9pAGsaCnBjBNYES/2g89tCIMrD7Lxm0T26iCrPpwyXTgaYkm21xNbG06RHmQ5hr71YiBvB+lsNkOtxkn/MhkHat6Jj8fgFFv52aqyPN+sRKPjTVMeR4zg9BlHKTBC10qIseHZR3pleDTVWjH4XWSAfqUSB8Mk6jRwwJnKNZVH2KCP5WtzAgOLHWiQcCJRqpMoMoBFFcY5lVCmg0djOzDSZbv+Fg4ap4zOFscRKYp9YZBWD/FWtzEk6vUWo4mYBm9Zq9BCpVbNiog0Rl64gwML8rA41eid8N+YeGo0MLBExypTBL1qG6jHwNdJIBNJuD2SoaVWfg3TsjNSYmSh6NeqXcb/UWL5Ogn0Tqgs9rZ97u0/CwwSyY2wRpdKnBUcwDYzNKrNZNeZ+Ska4ixwbkUUFXob8RYJOxqK1EZ+ioFGNUTYoF4DQ4skqjDxb3MHurnGpTaZQScbSGqAEj2UGKIBSK1H7JVuj2NJIkTa4DzX+O1XyUJuWieEOSLJdI1f7tSkYr5yB18tzcPcoCa9Hsx2Ycj/X1IiZlsiKQ2wVt2BfjVVyEiUEUmdGg454j153xwNqQUG1moyWBcj3uveS96Glp/JYa9eS4pFYpWrv5CQ2WSWKDR46872CLDUdWBNDDRoYEQhVGHiq2ToWQ5OSwy/RkLHatgVDu1qE9lrgh2RAGGMLEjGRCN16GlwbTu72qxnqzGCYUXJaGTYQA4GbOwKU7PdZGBACZRrRXneTyJfJ8EFJbApGqq10WjUDq68YAd2e45iKCsoKLRIUBf3QYMGYTAYeOaZZ7jppptITEzks88+A+Ddd99l2rRp7N17fHu5urdZ+7//+z/y8/N54403ePPNN9m2bVurosefDdusXXf/Tq68YAdVC3KpRE29RiKlUShyDgl6VcDqGHCooF8pHAiDYp1QNNV20fl/mwBDiqFYDxU6qNI6GV17mAaHiRpHLCDu2xUO+WVgckCjCraZHVxTUcAOo4ENpghy6hyMbjjAz2SxOVqmUKujR7mGSFendiAMTyf6VTKoZKEkXVDi7fg2RUH3SthtAlmCfSaIt0C5DjROYRZF2eBwGJxbLs4BfJcgFLykRjhqkOlkK0PdEMsBo8TRSAfDL3QbV/4jwkV60XEn+QSv/zpJJtPawBFtGFFWsQe0RnaSUe+kRq1B64TuVd77VTLEu5TOXyOFItW3DCp0DqKtzUegv04SeUtuEPeW68Bsg2KDv9KYWg/ta8DoFEp8tRZMLjk1qsT1nasgvQEWJ8Iwl0LQoILvE+HCIjA4hUJYp4HMOtFhf5cAOifUauCiQkDj8Bif1ajZHglVWvG8PSY4aoQaVx+ukiGvGrLqRRqWupxNTHawqsCmArNVpDXBAgYH1Kvh3Aqo0jfQztLIGlM0TmQyG+xonVoOGyGtQZSPbW69X4aRTUJBrI4VslW7yo0sCaXvglLYFyaU7Eq3LdML+AnIBmmvKDfta4Qc2tWIZyzxjjkgyeJ5wwtADXyTCMmN0NX1nRenCYVm/aI8duvVJFqgUivy7OvC2LtMGCANavg+HpAgvR66uJ5jk8R7u1WK6OdVWqjWCCXU5JoY/SFO1FWAJYkw1PVd69SwPEHI9MJiIQ+tU5SfCDvUaESdB5Gm1HpxvE0d/BQtlO/OVbA5StQxEOk0+kzILo8TymyN1k5OYyPDakqJbOW+vw6N7GOgS1Rj9Ny7l0TX3u5qerCHQqIoIA4AM3VUEYbvoIcv7jbBl31hQoFNsIhyXK92lWVEO1Whc1KrlWlUqdE5INYqyodvufoxVhgOFpUw5PqXwoo4qNUKuXarFO82OMS32hkpykm0FfJqYHuk+J6NKpnuDdUcUkWS3igRqRKzvbHOejboEgmX6vnFaEandnDJgB3s/SyP2Ho13ySKdhlAkmWS7Y0c1Yo2Oa5RlOU4iyhPu8PFRLi7OUm31lOr0lCh8RrvOgeEOXzqAKK+Gh1gkK2EO5w4nAYOG0EjC2On3GecxmgXBoQvGqdoK+o1eAJuusu72+BckijqfXwjpDRAaqMoR3YVWFzpTXKV9QaNeG+92jXO5e71Xc90Gw4LVuZhdzRvO930qq/gkqpCvg5PZpMxSuwuAMRahCG1KMnblkqyKPuNwR/nypj4x2wTciwwEKxIAhDpsFGt0oBrP9t+JaKdLg3ikZtWL9rFai0wqR7mhvmdj7FAn3JYFi+S0qARZc/3u5MKmkIho6JP8lgWrUYlu2TpQ4dq8S2+C+wMyMgCUXZlQOfK91eutdKxFtGWpDYIfSDSBgeDV89m6B0wuBjWRwtju+l97nLzVTKonaI8OVt4ts4h2rEyV1k12cT39C277jb2iAH2RjkYPchbhsJtom7/EOeSfRN6l8GuCJFXEOW4TC/SlFEn8tC0Xrjz4KnDMmhdcrS5voXRLrJe3+Te7Foh31KD6L86VMO6GB85NakTBgdk14n2RusUddpdrzSuNv23CP/3mGyir+tcJer6pmj/NLjr2ciRyjZrCgoKXo5pH/SlS5cyevRoLBYLOp2Ob7/9lr59+wJw9dVX43A4+O9//3vciXnttdd45plnKCgooHPnzsyaNYv+/fu36t6zyUBfuCyPOllNnAV6VwTvjHwZWSCMjFVxgc+rZKGcyXg7BJ1DKK6/RkKdVnQQTZWDpmickNAoOorOrlHiXRE+F8jCQOta5erUW9ked60U932X4E2fLwbXQIJGIzqjZUvyKNCKC012yK2GjdFCQTDZhKFbYIAqXfNnNSXKZZC7leFoqxi82BAtZluaonOAilYoiU1QyUJ+Aex8QCifWtf5djXQrhY/xT/a4lI8WlCA3J31Z8vyqKd1CYxzKXGB5B4Io10Yg3qnj1EriwGVwhYUYbMVzqmAX6K8ClpI2gEdgIWuf9VA3FpYdl7IW8Nt3gEg8CpEDl3rDAdJFsa/X52QxbdXycKAliXX2kXZ+51AlFeDy8BSO8XgSp0G2tZARr13MORYcQ+E+aYnvV4YrO1rxGDL9gjYF9783uxa6F0j9iwPhdtAr13QjjqnDkMA1+pl8aIcqGXvgJKbbZFCEdc4hUIZYxHK64/xrlkyVxlKboQDpubPNjjEdTUh2j2zq+62pp6fTNz17Mvv80ivVrMtklYbPWcjfgbnSaK1Bnqkw8ZdlXt56dY2VC/4/c0A9v7bBtY907P1N8TY4aIK0MWj2XSUK80VXhmNABa5rhu+GvT5ou1rgZEFYpBkZZx3ptdtoJ9qwuxCFziZ5cZthK+MgwZD68rQidChSvSrhcbQ1x4T4eCzM64/nYBtrXhGp12wrV3z4/GAK7abYqArKCgE4pjWoF944YVs376dDRs20L17d9q0aeN3rnv37ieUmNtvv53bb7/9hJ5xRhET3MJQcohR2WAGa1OWxntHewPhlJoblFY1rI/1/g5lnLuvORoGyGCXxIysHxIcNgrjpaS1RhhCoS8wBM9r07SXGMC9XLlOAz/7eInXaWHHMfRTlU2U+wqda1AkSEm2DgO+8zmgg9Zs0eyUghvnIIw99/ldEU0GPoCKY5Cn1VWGWkOp73O7AVrEjHUQ3DMQft9KCq3gVOmEN8AxEQ5isauGXuYwpP6rSahsz5fLQt9aqxV/bqXXXT+CNlBNkCVRxlHL3uls1zJgXyNZlryn3TSqvWXWoYI617t3R4i/46XZ7JQEh1wG7q+RYvYlWD0uMEJNTRjbSSOWahKoDvqetbTHzE4cqFmaKAbBbJKYvS7Ru+TiSovbdv8tXMxWFhqER4gv5XphnIP4Dm6DOpBxDv7ya4nTbZg3pV7j4ynyO+ZwWOhrAnIjMCfAcQPQyp2XqtVa/vm3XFBvBTqHvqEN0AiupfOCbsDmFu6JANxBqdOBQ0Gu8zWQW8OFcHfSVYwP2wP1YOhQSON2H3cejauj9EWqhYjtYIuHnoWw26cBTvW5LucgWPIhBmgeysOPCp13gLChFf34yaLpjPLJoFbrHWA4BY9vxvaTUX81+MVkAOC65XRYO5DtGwPMVwWcwgrAwHVeAz0X2Amcsw16dILZx51aBQWFPyktdg+ZmZlcdtllfsY5wC233MJ554WeFfsjY49SiZHicK8IWzur2ajxn8E75UguQz3QrJHkckE9hhklh6p1s+12h0tGpziz1VqCpz8DcDtmxAFXtvCgHiczVaFptXx6BzneK8jxlBNJ1fEzLFzi72lCW4vXabkv+XImdDgXRgOTWvmQJgbxMZehEcuaHVJ32N/8usnAxcCZccABqYlxHu9/ulEtFN95yRG8lJzKd6oObCCHprwY3YEfzWqfNfpiEMyqFvW6ybJ9nJIYSNwdLrwjmhrnp5Wk0JecDE5XO3RW0SbAMQlR7pviDCKjIO3h3A5tuCIxyv/g6OXQD/Ad1MsABgGjPvQeMwM9gSiEx00AenT3MYJ9y6cOLr3a572+BnJrMINKkmAMcBHEDN/M9LtS4ZIlcDnoJkp0yxOjH9qu7pu87ih2FSxoa8c+bDtM3EW42qdiSXYyI5dBym/+7+zsH2ByaQJscRmZixPF0pnTxikO8XPC9SyY/nQ5EGhH3wtbuDevhfeMA7WPF82oCQ38I/1Cpk5s3r4CopzpgKtbeCaQpPWZeUgErvgaertGolyPtjtUDLvooqCB3RR+X0ybNu2EJysVFIIRtCU9ePBgyL8/M1Lf7wk77wjS6TDqJISR2f00vAuOvSMPMpEiAWF6W+ts/0CztYNbcV+gjtsXFdDWCVcBY+HpTinCWByKMBx9Cd/SiheeBAYBuhbkM97/Z05ktZgWPWer96AakCpBqqAZJ2PsrDWyb0KYPoqESDE1nxDr4xaRiEjvdQQ2HFqgmYziEC6HwVA74ard3t+3f0TuqCOBr01AlAM3VwHXH1v6jpmxP/j/vrgQbt7mNaK7NrsDgB/j4Ls4HW+Hd2A9bSkhktXkUWKAah38lmSjuJVeGxYR5+7kE0wpbhvgmBE41/X/dGDgKUiPi2Nqh04moQbKWuM5dKnP/29A1MvxAa6LBa7w+d0v9KOnPxaBpBXXSjkNhF261yujGwog/1O4ar34fYH3PoNaxRUxA8UMdjfgjnkM7BwnZg3dg4ZdC0TdUhWKdUZu74srEB/kcmBAOeibTN1PhH6DgkyTRsKQvCjx/+wA7R40b9N90S4T/0YthfQdqCSJ3GwjT5x3MUSBpJYYPUg839TdZfH52uBIhMm7kbI3Q8Q63urgNegujOzBP9MnQd8N/knO919v0qj2etbYVS2sAe/Q5PcxeGQFJY5TurQjYD2LDXJxTJPfFyD65aYDSFlHxWBOAO+bqNxCaO/64avJXloPfVtIpB4m3hUnPEpuXcWEc7rQKSzb/7q+kN7OVTZNcME9e8H8G3EZlqZPhPGfwy0f8njaZOi1BaIc0Bb+1etKPsx9jPc75cDw/8ItG4mf8jW2xsbmz1A45dTW1nLnnXeSlpaG0WikQ4cO/Pvf/z7l712xYgUXX3wxKSkpSJLEp59+2uyaTz75hOHDhxMXF4ckSWzatKnZNRaLhSlTphAXF4fJZGLMmDEcPnzY75rffvuNsWPHEhcXR2RkJH379uX777/3u2b9+vUMHjyYqKgooqOjGTZsWLP3bdmyhQEDBmA0GklNTeXxxx/328rvhx9+oG/fvsTGxmI0GsnLy2PWrFlBZTBlyhTatQs8InvkyBHUajWffPIJABUVFUyYMAGz2YzZbGbChAlUVlYGvLesrIy0tDQkSfK7Zv/+/UiS1Oxv0aLALlc//vgjGo2m2WCLzWbj8ccfJycnB4PBQLdu3YI+Y9WqVajVakaMGBFUDsdKUAM9KyuL7OzsFv/+zKj1RYzS1aBuupdOdx9X1AEI5bMlWjPb2alSzDb0RBgQ3YNcF0gRPlZuRHTkTTvQpviun2+qTLhQq52M6r0HtdpHRqMCXDgIoVj1hmaThJmIkfKm6ZmI6Mx91u+ZIlTCGPTtnDXreCzHgOSamc02hgljMQO0KSX+z5RaF5TLw/G67MYBE4LIB4iJ8FcC4rQqsm9ZAflev9Dn7s8A/ZcQ5Vocl+Vzgwni2zQZoQ8yOQCImbJr8Vfqo5pckwfcCHm3+xi/o4BrEIo5whMwNVHHE39NY3g/HyVb/Yv4V4+oE77P7teCfz4BZDQW6NPkokGux+slZuZfwbAcH3lKdq6KGdTiOwBRd+I+Fu6Pw0Nf3oxeCKOju+u3uYlLuuubvz9gAg/fmkLnAa41BgkrQbvJa9wG8YqwqoWnyJ4IWB6r5bXEVBYlClVYrXZy7gV72BQfaA+zU8ilTX4HU4rzSiClyRqOa5d7jYVwmhsOrfFsaDprlhHksiD1zENTl/HJoO++pxUJCMD4L73/H47XMAVGTA7jielx3mPuLtQUeBs/AHyDTKkQ9dwIDF4Faa7jHRHeIFG/ei6Nb4UbfG50IrGTNZANz96YxKhSK+qOu+GC9RC2FKQ63uw9lpunxBHVbSkAWWk+jV4q0At6mnK5NXGsX3r/eWEvBkdHgkYY+O5P9XBWCrFaDfdmRPF/uR159h9J3PVwAoxDtEFa6BLhIzSf/He/1OhREtN0rqlnnfBVjjC5VJlEiAwXb9NoRaFK6K5hzPAIHu7qagfUBaDdwP3J4wBoZxCClIAu7cO4Y2oi0zu5hJtzELePs9oJo/bkoXZ61aYJY+Po0SGMmxPGoJU0vNHuXtSJLgNs0A6mtsn1k/m/HgilELg4H9EXu/Ofj/ju7gHFq4EuO4VxeFHrHgng2TylCW88kQ03B1kv0L11jw5Yzy5pctEAxGDcGMQ3dxPEkL92kOs7BJhdHxUTZKQ2rsm2Bu193hXd9GJ/egyqR32BBfLgn5PbM+mKON7ul41RbQfteiLUzdeGzew2kQ/zHiVSHQbn/QJX1IMEmXrhIqSRJF7IvJlRcWamJk/k+++/x24/we02FI6Ze+65h0WLFvH++++zfft27rnnHqZMmeIJfn2qqKuro1u3brzyyistXtO3b19mzJgR9Jq7776b//3vf3z44Yf88MMP1NbWMnr0aBwOb986atQo7HY7S5cu9SxPHj16tGdb65qaGoYPH05GRgZr167lhx9+IDIykuHDh2OziQGp6upqhg4dSkpKCuvXr+fll1/mueeeY+bMmZ73mEwm7rzzTlasWMH27dt59NFHefTRR3njjTcCpn3y5Mns3r2blStXNjs3d+5cYmNjufjiiwEYP348mzZtYtGiRSxatIhNmzYxYcKEoM/t2jXIrAbw7bffUlBQ4Pm78MILm11TVVXFxIkTGTy4+azUo48+yuuvv87LL7/Mr7/+yq233sqll17Kxo0bm107Z84cpkyZwg8//HDSJrCDGuhz5sxp9vfMM8/Qr18/srKyeOutt05KAn7/NFE8w3yMvhRgeGWLd7/y10xUWgfmOJ/nxACXVPDhrLb8e1oWcyZ6C+C5caXNXQO7C8VsXH6A3mcgwphtauDmNr8UAHUBERprc+W7KWMRBvItayDax2jL28M/Hmph1CHJdd+ozRDnmgVx25JdXOnt4nP9EIQi2yQ9t2aJDLUx6uEykZ6/3BUvDH3fmTzNLiLUBv6dm8UL7cQOAX2j1FwSL5Fq8iq0XPUVV7gMuZjMBm96QHTwx+hVoBvv3R+VUcDNH8J1DjH7FcL4GBTfZOAAiWtjh/odSUtyKcrtDtDtWqPX3S8ebsiK45mbfKyVCQi5Tnb9380VCKOyZzUYIKaztznQNp3Eag9o9vBQTpNGLAyv8e9SnttlGVCpvBbXm+1HgPZHUB2mnUlHtxv3ec5d1qkDRNfgxwj4+22BIyedG2kiQlspFFXXDGSsRmhvlw2PJsUQSw9TO4grxxQOL2RMwaw2QbZYyPr2020YeXeU94Humak4eD/nfu5I0/JIv2ium+h6uK8ckpp+Fx+6AVGQesEB2t6+irmPNXEr0cKgxEg0kpquuWE8ekkq3DEPDK6ACO2AyfBEu9A+55U6sTb8hD22o4Icn/ylmM0KZHCP3ikG5C7F1U41Od+l2R2QUgVjv/I71DHKZwBJguiYtf73XAkP/yNIFE03vRB13+0q79vGXdf8cmNT2ygeMYt/BVz/QKzIr2t2Wt8viDfNYMTMcbPjlaJ+RfmUZRV+Rsikzim0i4zyuG13jRB1pN/4Ev460eVC1LTplICrQRrgnb0wqpyQt88ra8NOYcCoSyC2gsnXmnk5t8lo7S3zeTjLxJt5Wc0eD5CodfUd/X+CrsJNe0BEdyLUYVzYJgqdWrSJap96/UhWHOg+9fweGWumZ5yJD2e1pW2mkZtSExgc1Zahkb0wa8X37hoexqu5WfSOjCNKE066KZqu0SYxaGGADzu3JVKj5uFbU3ju7+m8f1Ubnn8wg9nPZfNgx1QiTaKu550jDKWRd6qY9FA1T96bTvhFokJcMSIGvU7i7omiYPRLiGD8iES6mkRDdVl0fzobs/1ckq9NimVatjAGL4iKIFGnZd5zOdBzGzl690cReU/Req3JUQOj+PvN3o8WqTaRqXM1Gh1+JtVg5PkHM8hrY+DCPpFkpugZ3t+nUdEDo+GxJ3T0vP4wUZFqj5dRVpjTO/idjSibGYhyFg6mgVuJiZNFmQnUp6SItqX3RBUPP+ga9HA1a5LeBm0Pwdh1XDVJS2S4mg873En3awMEJ+mJ8N7w5QJCLJAMwCWIgdAcwPgNROwPfN1lB2BEJXOfz+Diri5hRAGj/GcCVeAdJPdRfYwqf9eU1AudonyNxeNx1z7MVQkl/4ABfx/TlRdHt+eu9ET0ejUj+kZhVKvpFibqU/ssf/l8OKstKbqmowvNg9wk6WKYEDcMsyZIIA+FE2bgwIHceeed3HnnnURFRREbG8ujjz7qGdRbvXo1119/PQMHDiQrK4ubb76Zbt268dNPLU8SHD58mHHjxhETE4PJZKJXr16sXevfX7333ntkZWVhNpsZN24cNTXefuCiiy7in//8J5dddlnQd0yYMIHHHnuMIUOGBDxfVVXF7Nmzef755xkyZAg9evTg/fffZ8uWLXz77bcAlJaWsnv3bh588EG6du1Ku3btmDFjBvX19WzbJiZydu7cSUVFBY8//ji5ubl06tSJqVOnUlxc7DEq582bR2NjI3PnzqVz585cdtllPPzww8ycOdMjyx49enDNNdfQqVMnsrKyuO666xg+fHhAAxyge/funHPOOcyZ0zwIyty5c5k4cSJarZbt27ezaNEi3nrrLfLz88nPz+fNN9/kiy++YOdO/22o//3vf1NZWcn9998fVK6xsbEkJSV5/nS65rNqt9xyC+PHjyc/P7/Zuffee4+HH36YkSNH0qZNG2677TaGDx/O888/73ddXV0d//nPf7jtttsYPXo0c+fODZqmYyFoEztp0iSuv/56v7/77ruP5cuXc84553DoULDILX8yUlwzmJ2BKMiP6Og9JwPqHaCxQ4qdpCnr/G7t1yucOJ2W92e0598PtWfQNVViBngUkCoU2mizhjCtjknJQlm9O/U83NsBZySLwnauWVjsGUZ/5T4ms570TjbQwp3XJ3LlRTEwcI3nfNs2OjHD7x6BHwjolhKt9e9gLhkR3KI8x5QLqgJhSF8EDF5DVGQr1lell0Mb7yhTF5ORS+OjOd8czmXporcdERs8IszA6Bjuz0jibxnJTOgQC3GQbPJWvtemZTHmPrEni16lI0qrIUkvOu4padmMS8xBJTlgwqdwzecQX0GkRkw7XXV+hp+r3e0DEsQIf7cmiQhiP1x1RQxZST57lSUBWgdELuSiTB/XzDGuf/ts8h67YhFaSQ2jlpPUX7hmm9QGOodlk6UTCmfvrqKTn5VxJ09n3Myw9lEADOobwXmjTQyIisRo8FbtgclFPNs2nRk56R6FRptWLYzPuE0kmITbdbzWK79rkuO46w4TJJYK5Swezg/vjF6l9c4wR/nnO/B+EBChDuMvSZ0YElfLEzkZPJTuHWxISVXB5cu9s/cGIGMHPdr7KzJdc8W3uS8jmTdzewlFdRwwCq5OFAqSRhJ57mFqx4eP9Gb2E21J0sWQrIvlyZtyef+5NhgNKiZmxvFhZ5cBY4SM63XQETQqNRdEZdIlPJaoKH8XV21aGVy+2C9NyfH+imCaXsfzbQbzz3YTMaiELD0zexIMiwlcj17Lusfz/3aGNC7sc5wL47v7/9QMt8FNm6FvgO0wJ0NCapB6aqgMuh703q4dxeye27aJBWOGa0BLqhEGr68y33cXaH4CVTUM9Lr/PpZ6vV/wpdf6juf26/wrVJvICP9nNV1OJMHNnaPF4NQQcG0nTm6+QRg+k4Hr4Zb7xImc0UZh0IMYcBqDWFKghaHJUWJgz9W2Xhc/FIas93vd1deEiRnsVKGYe7jta8gWXi+Xx/QnJ0NPv17eqco+3fynLa+9JoYhgyNxL2HWSj7fIa3Js1WHILyRmwdECHdx/Se83L4N/866l1uTReCCMbHnMrtDJmgOw7ivGNrLJ6BBFnD1l9yROpau4clEaDQ89/cM7p+c7BahH0+l3SSylDCW2xJ9RyUlOG8Tf53oDRyQYdCCqs7ze2JyPA9k+g+s3ZRwMZMTRtExJ3hUynBN88LWNTeMtCQ9GrWK1EQdJrW4RqdT8eGstkzoFceYuCjGp7ZjRMI5JMRomT4gjYlJcQzra+adf+UQFSHuiYrwL+dXxQ7i0dSJfscujosmy+jvR65WS7ySdTcXR4uRqnTXrP3DKRN4Nv22oPlJS3S1o6798VITdUybksbNV4v7b7g0nlEDo8Q1Q4BE6BiewQPdB/J/07O59boEbk9N4O8Zbbh2UCwfzmpL+3CRB7XkHcjXShpey75X/PCN3eEeoDYJI2FMcjJdE8V3iRuh4YrhMcx6IhGGr6BvnoHLunm3tn2wVyp3Tk0kpW+T9Rcq6HnLTjoOds1Ot3X4tf+d2/l834yjBCQWzokQ7fi18T04Nzwt8HXJP0DOl542FP0C8Zfl/1wJyeNBd9/lSYSHqejRIYweJlF/Rg4186/703k+1+UHHwd/b5/Mv9qmk2008GHntnzY/u5mr4/TaTnf7B8MpaepPR+2ncrEUUm8/A8hL88geVN0y7kz7Ti3/lA4Id555x00Gg1r167lpZdeYtasWZ7JxH79+rFw4UKOHDmCLMt8//33/PbbbwwfHtxlrra2lgEDBnD06FEWLlzI5s2b+dvf/obT6fUS2bNnD59++ilffPEFX3zxBcuXL29xJvx42LBhAzabjWHDhnmOpaSk0LlzZ1atWgUIY7RDhw68++671NXVYbfbef3110lMTKRnT7FzRW5uLnFxccyePRur1UpDQwOzZ8+mU6dOni2uV69ezYABA9Drve3h8OHDOXr0KPv37w+Yvo0bN7Jq1SoGDBgQNA+TJ09mwYIF1NZ6t0tYvnw5u3fv5sYbb/S822w2+8U469OnD2az2ZNPgF9//ZXHH3+cd999F5Uq+EjhmDFjSEhIoG/fvgF3HXv77bfZs2cPU6dODXi/xWJptpuB0Wjkhx/8lyp+9NFH5Obmkpuby3XXXcfbb79NkA3SjonjilQxadIkbrvtNh577LETTsDvGZvKwXlJsfzoNubOgzaacFZjIbGNhqKwOlDvgVv2cGP8SA5bzRSOAQ5B155GbssTjbh7tvGW3j2pTSxgfePiZu8aERvFiNgo8UMLTIYZHdOprXey51Aj65cXkBzn7VRTkzX85eJ2bDLVcaixkphYDf2GRaArbse81VbovIkH8y/l4+JaekaY+Gf2S4CGzsZs/hKfjVM2ci8HiY3SMHpIBJ8uah5Fun9UBDckZ7O3sT1P2ErIC9NxZ/rdRGm0dLnByPavarEFDTfvVQ3vyUigd1YEkmtf222Wej6hgqFtzGyoKqbEGngBXq9IofiOiosm3xxBjFZDjlFPl/AwYswaro7sS4/GDBK0UQHvN6r0EFnH0+k345SdJKaEs3FbHb27hPN/e7yzpXq1Cpxw6UVR/O+8/4M3XNNiQ4A6uNYWy7yFZbw2LYsYs6hSwxzjmNOvkF8iZWpxclfi5bxU9DFxOh/XtiiwVaqgy29c6BiERbJwKF3N8KjexPSOxFzQlqdXFNA93ica0q3zubvdowAku0bus/XwYZe2zWYv77hP4tXy/xKtO5d0g5Dhh53b4nxexinL/P3ACo44djAk8kI+aLLFjFYl0atNPFzxBjReC8CAKDFw0r+LgxUZh8CZxbmRJrQ6WEUd53YN4j8JDDH7+27PuD+dg0ctwH7QV0Hn75kw4Ap+qt/AdssmYDTPPp3CT8U1aLZomHJdIs6mVqMOSIJ0s1CU3ANWgcgxNvfqeL9TDnanzBP7j9B0y3GTUZRFXZwda6UGTXyVX6Drf0/LIsyo4vq/BzB+Xdx9fRJZaXrufvIAUwYnkt1kAO3VrHvQSmoi1Sag2HP85qsTqGyzlZ8Xx0BpcJn6YnOoxCCh2waeDEaNladyBjPl8Mf4Lf6/HDL0Osy5aoq3ucrjeOADQO8zOJcOGh3YXYeyUvX0ik2DIn/375uvz+LFg0X0jzKxogJ/q09TAZKDp9Nv5iHegBo9D3R3DdC4ex8jSJJE/55RvPa+2Ij+huQ4YbipQJctY90n0ekCI9s2+n+oC6NjecNYAZlwV3oiWT31SGa4Z9dBwrRHqCcVrV4KHJRJs457k8eQZtChkSTe7tCGG7aL79k/shtt+nTg/m8PYkq30btLDJf2TuSjrV5vof7nRlDqtPKrVE6aQcfhBrg05gKuvEcI4FKLlVKrnS4djUyRvQr7xTkxkAMvz7cBDXQOyyZcJcr2FZmuMmIC6gDdCgAGRU8lSlfD7sZzCddogAjMGmEc61QaTOoAC9pvgPPMJu7J/Kvf4bQknce4yDToKbaJMqDRaEjWxfJh28DKCr22kRDrXeiudg2IhalCL5C+dVwC40cHW5AMT+akcdTSylDygF6lYnyS/4BOql5Hqt7bBrTNNPDQLcl0aX+8Ye8hTmtGHSbk85ekc9j+2zJMagNR2uDbO/zlynhWZP2nxefmZhvE7haR+7gyoaffuYHR3gG6i+NEm3tZgpEZ+2vQqew0ONSgWc/gyHMAyDeHE365iu9eqcbpRHiC9IXbHTm8tquS1Cjv99GYJa44N4ZCm5g5DrQkvV9UBH0uCee6H33reT0XpGXTJ68jNRfV43Bq+aKonC++qmHmQxkkxWlpaLTy/fe7eOSyLkx/vpLpd6WyM7yRD/C6nN+XkYxNljGo2mKPkrkO8Y7xSTF84ErTrQljOWDxDnA/nTGJvY1HebPkC790Juu1kAG3TUng3DbhnPukaCsLLVYsTplrL4pDLfnnsEfEic1gq9US8TFanv1bOtEBJiKujhlEnjGTDsbg5eP3FiDOabFjPRpsD7pThy4lHJX+2GSVnp7OrFmzkCSJ3NxctmzZwqxZs7jpppt46aWXuOmmm0hLS0Oj0aBSqXjrrbfo1y94wI4PPviAkpIS1q9fT0yMGJVu29bfO8npdDJ37lwiIsQ3nzBhAt999x1PPvnkMeY4OIWFheh0OqKj/b1kExMTPe7rkiSxZMkSxo4dS0REBCqVisTERBYtWkRUVBQAERERLFu2jLFjx/LEE08A0L59e7755htPuSwsLCQrK6vZe9znfJc3p6WlUVJSgt1uZ9q0afzlL38Jmofx48dz3333sWDBAm64QYy8z5kzh/z8fDp27Oh5fkJC88iZCQkJnnxaLBauueYann32WTIyMti7t7kOFh4ezsyZM+nbty8qlYqFCxdy9dVX884773DddcK9bteuXTz44IOsXLkyaJ0cPnw4M2fOpH///uTk5PDdd9/x2Wef+S0rAJg9e7bnuSNGjKC2tpbvvvsuqEdEazmulsJutwddtP9nYWabKViyrKTq4rg0vp77d4vCk5Gq88yA3LZvJhUO+EfK9XQ0ZuLAyeL4fUQnSzycFzgE7X2ZyYzbvb9VaVCpJCLD1fToYGLujDYY9Cqe/Vs6RaU2enURnVWyTUuB1UZb1+zAxQnnse2ueWyq342MzPWuWRgkC2Dxm1l4/K+pxEdrCVd7i8nQvpEsqRbG+u2uUeJOJjOvtA8jVqvxGNmPdE3lybVH+O8P3gXqmhHe3U3GRvejwORkHaCR1J77ADq1DeO9Z3PQaiSejM1hYcV6uhrO4ambXoA3A4dSjXG5UD6Z4/VjVUsqOhgzA14PMCXxcjbW7yJb7531cbsrtjXq0ZlV/EoDMXoNT6Sn0caoZ2TcvXx6XR1fNlSRGFHEiIxsRsREMbyvGZ3OOxgRrjZy1+XZVNjslNrsqFRCSUnVeme37Co1/23TAdQ/e2ZXQMzM9I/sBpHwxN1ptM0Q366NIYX91kI/9/GWiIqRIEBAGpVKQoVEsrGQI3UOLojows9hVVyTFEvDrU6+LapmQFQEOvfIpHo30zIGkGcSsyS3p+YSo4ni05IahseY6Rwexl3B44MEJCtVT1aqno11rpkX9VFGxUUz1DmAozbhHp5uCCM9IwwyAgUuELyZl02ERs2b/8wmwtTKbRRcaCQJjVoKuItOh4R4TBPe4q8ZY3nqyQY65mnZ4HM+2hy66ezTXdRBvxlRH2I1wWfK/3buhXyS9QP/ecrHQO8ObPK/zpyuouoQ7HP0wB4+G7GQV6BXqVBJKmhzmNTr1nOk7lyogru6JJIbZqQu3cFzqgIe6ZiCKVzigY17uW9kFm3TpvJZSQUFFiu3/iuRe2ce4OghGzPuD7x+VqWWQANpung+7CwUiHFX74aFENH5KDWIc0Iom+nZ9hLx/xjEUgWfibSn7k3jaLGNfrFeBXf8NfFcGBWJSi1ROtVGdJiGj74q4+qRwuC7KNbM12VVSEBKgjDQPuzcls9KYplfVIZao2HUqFHk1DVwqKSIMuz0izJyVc5IErRe+RrV/oOJ7t+doqK4Zaho6x7ISEbnqn+3jxfHGpwPopZFO6vxaceaGoxN0UlaoIEMXSJpGToevDnZE0X8xtvj2FtjYZnP9T1M7cTyDReyaxJHCjIG+n7nHEI1FXekJ1JktaHVahk1Kng9C0S42sjtCZfQyxRsvZQXjUYiJip4nckxGshpMoB1MuiWd+IuxdFajcfjJmdUS1HoBDqdChJb3mutd9dwXngyAas6ggx9qIAvEOEqi9mmQq6L70u2IcfTZ/41XXg1XD41hp+21vEWJXQIM9C/TRz9ZwV283IPqmQbAi8l0mgkhvU189PWWv7eNoVMg9fIj1CLOC7XDU3kuqHegSdTmJ7RLvl86HpvLkb6T4/gXweOsg8raknyGM0aSSJvmIEdixvJjNRD9XKQ6hgYeZdfWrL1yWTrk5lT8pXfgsIeESZmtcsguUkdS9LrmnlynGzSkwMPSl0a0z/gcTfHU8/ONNajtRx+KLDr8qkk7ekLMGRHHdM9ffr08dMl8/Pzef7553E4HLz00kusWbOGhQsXkpmZyYoVK7j99ttJTk5myJAh3Hrrrbz//vuee2tra9m0aRM9evTwGOeByMrK8hjnAMnJyRQXFwe9/mQiy7Inv7Isc/vtt5OQkMDKlSsxGo289dZbjB49mvXr15OcnExDQwM33ngjffv2Zf78+TgcDp577jlGjhzJ+vXrMRqFPiY1GdhyzwY3Pb5y5Upqa2tZs2YNDz74IG3btuWaa65h5cqVXHSRNzjG66+/zrXXXstll13GnDlzuOGGG6ipqeHjjz/mhRde8Htm03c0zedDDz1Ehw4dPAZxIOLi4rjnHq9nYq9evaioqOCZZ57huuuuw+FwMH78eKZPn0779u2DPufFF1/kpptuIi8vD0mSyMnJ4YYbbuDtt9/2XLNz507WrVvnCXKn0Wi4+uqrmTNnzuk10G02G7/88gtTp06lW7em/r5/LuLUkZRWlEIcpBm8Sl7XcO9o/RNpkzliK6VTWBYAGtQ8lZPmMSZPJga96MDTk/V+nUeUVsO9Gf6dVa4hnU31u/1cKy+M7MFha6nfdU3XWwFMviKBJVubz6bH6ZrP4FwyMIqailIKSk1YbPDMwAwe27eFWruZNvpE9AaZdUE2jdVqRGWM1Bi4Ll6EEH6p3e3cRVnzoE7HSZQmnEGRTf1mBf/MScea4WRFcg1tM/WexiFCHcY15xiJKtUwMi7Ho2zodIE14WithmitBkjl1ax7iNVEckl8GV3Dw3hi72ESG+ooamECql2mV2m9If4iLo46v9X5y3IFqekT3jHg+YvM57G5fg8RmjCmtXF1MLnQPder1LbTp7GLteSZ/BfeXhYfT4RaT0dTiA3VQ9A9zN941am0nnSDGJ0uLS0lLi4uoCtThMs99liNc1+GREfyRoP/+nKDSsfsc24H4MNZ4JDb0ODsw1+uO0KKvjXht4+NDL2Ogxb/pSWXxffjP/jEd0ihmYF+xXmx/K+6jKGd7fws+2/Zm2eM93SsqSlq7o3JoNRqo5trFilWq+Glvlme6/99s9fQGhvvHamfeW/wQS5f/GpAODAe/pV1Mz/WbPF343bxQEYyz1LAP7K83g1t0g20SfeWec9SBBdJUUIZn3iJd6ArNkh72j8qgp+q6+hg1FNcXEz7uDgeykrhfg5iUGsDetZcmxRLtGs03agXOWqX5U1Pz8jmBp/RZexkGkPPJPviq4dIkkT3Dt5nD0sRaVu2m6C4PeiCGeGaVgzkGVQqMg36kPUsz5hBcU3zyOn9I/88ekAoGR0rSWGRtHafR6NaAsM84vTdaBNkICMqUsOQ880McEYGLRPuw5FqEy9n/pU4TfBlZDdeEc+NV8QHPd+UYPKJitQwtVMa9Y7mQRrbddezI6qR2Ggt2vpCbHLw4GnPZ97B3S59YeIlYgCgqXEejHGJMdQFeP/p5mSXodOBLiWctKcvCH3hKXjvyaKxsZGHH36Y//3vf54Bkq5du7Jp0yaee+45hgwZwuOPP95sPbPbYG0JrdZfH5Akyc8F/mSQlJSE1WqloqLCbxa9uLiY888XOuHSpUv54osvqKioIDJStCuvvfYaS5Ys4Z133uHBBx/kgw8+YP/+/axevdpT/j744AOio6P57LPPGDduHElJSZ7Zat/3gHcm3Y17Nr1Lly4UFRUxbdo0rrnmGnr16uUXGd593+TJkxk8eDC7du1i+fLlAFx9tXfSLSkpiaKiomb5Lykp8Txj6dKlbNmyxeOy7tZx4uLieOSRR5g+fXpAGfbp08ez3KGmpoaffvqJjRs3cueddwKibsqyjEajYfHixVx44YXEx8fz6aef0tjYSFlZGSkpKTz44IN+XgSzZ8/GbreTmuqddJVlGa1W2+x7HStBLUWVShVwJAMgOjqab7755rhf+kfA4XCwevVqRo4ciUql4vW8LLSuUP5u4rRm4ppE2wrWufoyK+NOim1BtpEB0H+M6Gr/dlxpHxt9AQMie3jXeAE3J4xp4Q5hMGekHFvY8vZZOvJz9/NFdUcsNokUvY6ciB1srnHS0XQ5RyXX7G4rl2okaKMhvUxELT4N6LQqhpzfXIHRSBIXxx97pXPPmI5zrZmOU6kYVHCABebWddRaSeNxa28NEeqw4O6qQKewbN7LeaTFZzySOoE6Z/NZeJ1Kxai4qFanJRiSJKGXtFjkwO6tTeuZm8fbpBKpPn6j3JcLY8xcGBNcUQXhjRGuNoq1zT7V4N/TsgC47dB+csOOfwbw6bbpAdfwt0nTU1Zpp1cXE98lVIt11aUr4DMxU2M0qHjxkXS++uor1Hkq7OO+4N6UKzmoNzIsxky4WuL88M5cFTOIJF3LM7rHS7eIMM6NNPm55j6dk4ZOpSJGo/Os4W1Kz0hTMwP8eDgnwsT7hWW0D/NXpqK1Gp7IScNms/GdqwylJmq5YngMI/oH/t5ul2KAMKOa16ZlER15cspZU9qk61m6BsLDju/5yQlCMWyffeIzz8HqmZubEkZzZczAE37P75lQMvLljez7sctnxiDUttLDKj7I0q/jpSX5GFQqDAFkdmViLGkGPWkGHbMy7qTSEdyVWgT1Kyc2SsPIAceW9kviQ3spnA6OpQydLaj0mmOeyT5TrFmzptnvdu3a4XA4sNlszWSuVqs9xnRCQkIz9+quXbvy1ltvUV5e3uIs+qmmZ8+eaLValixZwlVXXQVAQUEBW7du5ZlnngGgvl7sBtI0jyqVypPH+vr6Zrad+7f7mvz8fB5++GGsVqsnqNrixYtJSUlp5vruiyzLWCwiFovRaGy2FABg0KBBtGnThrlz5/L9999z1VVX+Xkf5OfnU1VVxbp16+jduzcAa9eupaqqyjMQ8fHHH9PQ4F3qtn79em688UZWrlxJTk7w7Yo2btxIcrKYrIyMjGTLFv9AsK+99hpLly7lv//9b7NdygwGA6mpqdhsNj7++GPPN7Db7bz77rs8//zzfvEBAC6//HLmzZvnGQA4HoIa6I899lgzA91gMJCVlcXIkSP9hKoA5pO4rihZF9uyISY1N5iOBZUkEaM5tu/3zr/aEGS8JiQDz43g82W1nnej2YskSei0oiE5FtF1vcxImOrUKMynmxlt0/h299bQF55BDCqd30DO2UJTY+x04qt2u13dXzFmEnUCnjFqSQq4IPSp+7xu5YX7bGyra4A0b4DOlIQms/mxVfROT6W3z6G7ki4/7nQFYlJyHAcbrSytqCZao8agUnFfEy+dpuvt3ZhUJ9+NOUWva7WhL0kSV4xovaIV04qlDMfL4PxIzulkatVyiUCkJOh4/7kcNOrjbJiPAa2kOekG3R8ZEVfi5JGojeFcUx6XxwQPwhSKPpHhLQZePRPoVCoGuAb2Ak1oBOLEQy8p/FE5dOgQ9957L7fccgs///wzL7/8Ms8//zyRkZEMGDCABx54AKPRSGZmJsuXL+fdd9/12z6sKddccw1PPfUUl1xyCU8//TTJycls3LiRlJSUgFG/A1FbW8vu3V5XqH379rFp0yZiYmLIyBC77ZSXl3Pw4EGOHhWBEN0Ry93Rx81mM5MnT+a+++4jNjaWmJgY7r//frp06eJxo87Pzyc6Oprrr7+exx57DKPRyJtvvsm+ffs8XgNDhw7lgQce4I477mDKlCk4nU5mzJiBRqNh0CCxi5Hb9XvSpEk8/PDD7Nq1i6eeesrPJnz11VfJyMggL09EpPzhhx947rnnmDJlSouykCSJG264gZkzZ1JRUcGzzz7rd75Dhw6MGDGCm266iddffx2Am2++mdGjR5ObKzz8mhrhpaWlnnvda+3feecdtFotPXr0QKVS8fnnn/PSSy/xr3/9CxCDEp07+++0k5CQgMFg8Du+du1ajhw5Qvfu3Tly5AjTpk3D6XTyt7+JyVG3x8LkyZMxm/3briuuuILZs2efGgN92rRpx/1QhT8evuueb0tNwHEMEQqvGhnLtWOF27Ls070O72dGq5E8Ebpbw8NZgdfu/x7R/U5G0E817QxpbG3YF/rCs4T0ALPQgZZ4nGweyEym0uZg2tFwKgHC6mmTbvDsX2pWm7g15ZJTng53sMprEmP91lyH4qm0m4g6xoHBPzKSJIUcAHg0ZSKb64P7uZ8O41zhzKOWVNyXHDj+Smu5OyMp9EVnORf0imDQece5y4XCH56JEyfS0NBA7969UavVTJkyhZtvvhmADz/8kIceeohrr72W8vJyMjMzefLJJ7n11luDPk+n07F48WLuu+8+Ro4cid1up2PHjrz66qutTtNPP/3kMX4B7r1X7Lxw/fXXe7bjWrhwoSdwGsC4cSIQ8dSpUz222KxZs9BoNFx11VU0NDQwePBg5s6di9rlSRgXF8eiRYt45JFHuPDCC7HZbHTq1InPNQCUFAAALsNJREFUPvvMsyQ5Ly+Pzz//nOnTp5Ofn49KpaJHjx4sWrTIM7tsNptZsmQJd9xxB7169SI6Opp7773Xk24Q7uAPPfQQ+/btQ6PRkJOTw4wZM7jllltCymPSpElMnTqV3Nxc+vZt7l03b9487rrrLs+M9JgxY1rcQz4Y//znPzlw4ABqtZr27dszZ86cFtetB6KxsZFHH32UvXv3Eh4ezsiRI3nvvfc8AwGzZ89myJAhzYxzEDPoTz31FD///DPnnHPOMacfQJKDxIK32WxYrVZMpuYjwXV1deh0umZrL04X1dXVmM1mqqqqPGstTjd2u50VK1bQv3//0x6Vc9xuscaiJffls4FAMppxVASoeyv7b8Jl+E+M3W7nq++/IfO89nSLbLq5/Z+HRqeVSnstSbrmM5tnsp4FYl+DhWSdFoP6zA6uLFtbTad2RuJjtGedjM42/izyOZF+4c8ioxNBkVHLKPIJzdkgo5b058bGRvbt20d2dnaz7aXOdgYOHEj37t2bBR1TUPg9EKjuBW0h/vKXv2C1Wpk/f36zczfffLMnQuCfFY1Gw4UXXnimk3FWE0hGksuPV1Yc1dBoNIwZ+vuK6HoqMKh0AY1zOPvqWfYxBgI7VQz0mUU622R0tqHIJzSKjEKjyKhlFPmERpGRgoJCawk6DbRs2TLGjAkcOOziiy/mu+++O2WJ+j3gdDo5cODASY/W+EdCkVHLKPIJjSKj0CgyahlFPqFRZBQaRUYto8gnNIqMFBQUWktQA72oqMizJqEpgcLw/9lwOBxs2rSp2Yb1Cl4UGbWMIp/QKDIKjSKjllHkExpFRqFRZNQyinxCo8jo1LFs2TLFvV3hD0VQAz0qKsov8qAvu3fvVqK4KygoKCgoKCgoKCgoKCicRIIa6IMGDeLpp5+mvLzc73h5eTkzZsxQ1tEoKCgoKCgoKCgoKCgoKJxEWtxm7dxzz6Vdu3ZcffXVpKamcvjwYRYsWIDNZmP69OmnM51nHZIkER8f32yv+NPBrQljSda2fi/fM8WZlNHvAUU+oVFkFBpFRi2jyCc0ioxCo8ioZRT5hOb3IiNljbyCwuklUJ0Lus0awObNm7n33ntZsWIFDocDtVrNgAEDmDlzJl27dj2liW2Js2GbNYXj419HP2Bj/S7ezH6ACHXr9z9XUFBQUAjOl5WryTVk0NaQeqaToqCgcJbSkv7sdDrZtWsXarWa+Ph4dDrdWT+YoKDwe0aWZaxWKyUlJTgcDtq1a4dKJZzbW9yIsVu3bnz33Xc0NDRQUVFBTEzM725vxFOFw+Fg165dtGvXDrVafaaTc1aiyKhlFPmERpFRaBQZtcyfRT6jovKP+94/i4xOBEVGLaPIJzRnu4xUKhXZ2dkUFBRw9OjRM50cBYU/DWFhYWRkZHiMcwhhoLsxGo0YjcZTlrDfI06nk507d5KTk3NWNrRnA4FklKKLZWP9LtSSIjOlDIVGkVFoFBm1jCKf0CgyCo0io5ZR5BOa34OMdDodGRkZ2O12Jdq8gsJpQK1Wo9FomnmrtMpAV1A4WVwTO4S+4V0IU+nPdFIUFBQUFBQUFBR8kCQJrVaLVqs900lRUPjTEjSKu4LCqUAjqWljSDnTyVBQUFBQUFBQUFBQUDjrUAz040SlUjVbL6DgjyKjllHkExpFRqFRZNQyinxCo8goNIqMWkaRT2gUGSkoKLSWFqO4n60oUdwVFBQUFBQUFBQUWo+iPyso/D5QhvGOE4fDwcaNG5UgGi2gyKhlFPmERpFRaBQZtYwin9AoMgqNIqOWUeQTGkVGCgoKrUUx0I8Tp9PJwYMHA24uryBQZNQyinxCo8goNIqMWkaRT2gUGYVGkVHLKPIJjSIjBQWF1qIY6AoKCgoKCgoKCgoKCgoKZwG/y23W3Mvmq6urz1gabDYb9fX1VFdXK1tRBEGRUcso8gmNIqPQKDJqGUU+oVFkFBpFRi2jyCc0Z4OM3Hrz7zD8lILCn4rfpYFeU1MDQHp6+hlOiYKCgoKCgoKCgsLvh5qaGsxm85lOhoKCQhB+l1HcnU4nR48eJSIiAkmSzkgaqqurSU9P59ChQ0okzCAoMmoZRT6hUWQUGkVGLaPIJzSKjEKjyKhlFPmE5myQkSzL1NTUkJKSomz3pqBwFvO7nEFXqVSkpaWd6WQAEBkZqXRGIVBk1DKKfEKjyCg0ioxaRpFPaBQZhUaRUcso8gnNmZaRMnOuoHD2owyfKSgoKCgoKCgoKCgoKCicBSgGuoKCgoKCgoKCgoKCgoLCWYBioB8ner2eqVOnotfrz3RSzloUGbWMIp/QKDIKjSKjllHkExpFRqFRZNQyinxCo8hIQUGhtfwug8QpKCgoKCgoKCgoKCgoKPzRUGbQFRQUFBQUFBQUFBQUFBTOAhQDXUFBQUFBQUFBQUFBQUHhLEAx0BUUFBQUFBQUFBQUFBQUzgIUA11BQUFBQUFBQUFBQUFB4SzgT2ugP/3005x77rlERESQkJDAJZdcws6dO/2ukWWZadOmkZKSgtFoZODAgWzbts1zvry8nClTppCbm0tYWBgZGRncddddVFVV+T1nzJgxZGRkYDAYSE5OZsKECRw9evS05PNEUGTUMop8QqPIKDSKjEKjyKhlFPmERpFRaBQZtYwiHwUFhdOG/Cdl+PDh8ttvvy1v3bpV3rRpkzxq1Cg5IyNDrq2t9VwzY8YMOSIiQv7444/lLVu2yFdffbWcnJwsV1dXy7Isy1u2bJEvu+wyeeHChfLu3bvl7777Tm7Xrp18+eWX+71r5syZ8urVq+X9+/fLP/74o5yfny/n5+ef1vweD4qMWkaRT2gUGYVGkVFoFBm1jCKf0CgyCo0io5ZR5KOgoHC6+NMa6E0pLi6WAXn58uWyLMuy0+mUk5KS5BkzZniuaWxslM1ms/x///d/QZ/zn//8R9bpdLLNZgt6zWeffSZLkiRbrdaTl4HTgCKjllHkExpFRqFRZBQaRUYto8gnNIqMQqPIqGUU+SgoKJwq/rQu7k1xuxfFxMQAsG/fPgoLCxk2bJjnGr1ez4ABA1i1alWLz4mMjESj0QQ8X15ezrx58zj//PPRarUnMQenHkVGLaPIJzSKjEKjyCg0ioxaRpFPaBQZhUaRUcso8lFQUDhVKAY6Ys3QvffeS79+/ejcuTMAhYWFACQmJvpdm5iY6DnXlLKyMp544gluueWWZuf+/ve/YzKZiI2N5eDBg3z22WcnORenFkVGLaPIJzSKjEKjyCg0ioxaRpFPaBQZhUaRUcso8lFQUDiVKAY6cOedd/LLL78wf/78ZuckSfL7Lctys2MA1dXVjBo1io4dOzJ16tRm5x944AE2btzI4sWLUavVTJw4EVmWT14mTjGKjFpGkU9oFBmFRpFRaBQZtYwin9AoMgqNIqOWUeSjoKBwSjkdfvRnM3feeaeclpYm79271+/4nj17ZED++eef/Y6PGTNGnjhxot+x6upqOT8/Xx48eLDc0NAQ8p2HDh2SAXnVqlUnnoHTgCKjllHkExpFRqFRZBQaRUYto8gnNIqMQqPIqGUU+SgoKJxq/rQz6LIsc+edd/LJJ5+wdOlSsrOz/c5nZ2eTlJTEkiVLPMesVivLly/n/PPP9xyrrq5m2LBh6HQ6Fi5ciMFgaNW7ASwWy0nKzalBkVHLKPIJjSKj0CgyCo0io5ZR5BMaRUahUWTUMop8FBQUThundzzg7OG2226TzWazvGzZMrmgoMDzV19f77lmxowZstlslj/55BN5y5Yt8jXXXOO3XUZ1dbV83nnnyV26dJF3797t9xy73S7LsiyvXbtWfvnll+WNGzfK+/fvl5cuXSr369dPzsnJkRsbG89I3luLIqOWUeQTGkVGoVFkFBpFRi2jyCc0ioxCo8ioZRT5KCgonC7+tAY6EPDv7bff9lzjdDrlqVOnyklJSbJer5f79+8vb9myxXP++++/D/qcffv2ybIsy7/88os8aNAgOSYmRtbr9XJWVpZ86623yocPHz7NOT52FBm1jCKf0CgyCo0io9AoMmoZRT6hUWQUGkVGLaPIR0FB4XQhybIScUJBQUFBQUFBQUFBQUFB4Uzzp12DrqCgoKCgoKCgoKCgoKBwNqEY6AoKCgoKCgoKCgoKCgoKZwGKga6goKCgoKCgoKCgoKCgcBagGOgKCgoKCgoKCgoKCgoKCmcBioGuoKCgoKCgoKCgoKCgoHAWoBjoCgoKCgoKCgoKCgoKCgpnAX9aA/21114jOzsbg8FAz549Wblypd/57du3M2bMGMxmMxEREfTp04eDBw82e052djaLFi2isbGRSZMm0aVLFzQaDZdcckmzawsKChg/fjy5ubmoVCruvvvuU5S7E+dMyOeTTz5h6NChxMfHExkZSX5+Pt98882pyuIJcyZk9MMPP9C3b19iY2MxGo3k5eUxa9asU5XFE+ZMyMiXH3/8EY1GQ/fu3U9irk4eZ0I+y5YtQ5KkZn87duw4Vdk8Ic5UGbJYLDzyyCNkZmai1+vJyclhzpw5pyKLJ4wio9CcCRlNmjQpYF3r1KnTqcrmcXOmytC8efPo1q0bYWFhJCcnc8MNN1BWVnYqsnjCnCkZvfrqq3To0AGj0Uhubi7vvvvuqciegoLCWcSf0kD/6KOPuPvuu3nkkUfYuHEjF1xwARdddJGnId2zZw/9+vUjLy+PZcuWsXnzZv7xj39gMBj8nvPLL79QVlbGoEGDcDgcGI1G7rrrLoYMGRLwvRaLhfj4eB555BG6det2yvN5vJwp+axYsYKhQ4fy1VdfsWHDBgYNGsTFF1/Mxo0bT3mej5UzJSOTycSdd97JihUr2L59O48++iiPPvoob7zxxinP87FypmTkpqqqiokTJzJ48OBTlscT4UzLZ+fOnRQUFHj+2rVrd8ryerycSRldddVVfPfdd8yePZudO3cyf/588vLyTml+jwdFRqE5UzJ68cUX/erYoUOHiImJ4corrzzleT4WzpR8fvjhByZOnMjkyZPZtm0bCxYsYP369fzlL3855Xk+Vs6UjP7973/z0EMPMW3aNLZt28b06dO54447+Pzzz095nhUUFM4g8p+Q3r17y7feeqvfsby8PPnBBx+UZVmWr776avm6664L+ZzHH39cvuKKK5odv/766+WxY8e2eO+AAQPkv/71r61O8+nkbJCPm44dO8rTp09v1bWnk7NJRpdeemmr3nW6OdMyuvrqq+VHH31Unjp1qtytW7djSvvp4EzJ5/vvv5cBuaKi4rjSfTo5UzL6+uuvZbPZLJeVlR1fwk8jioxCc6bbIjf/+9//ZEmS5P3797cu4aeJMyWfZ599Vm7Tpo3fsZdeeklOS0s7htSfHs6UjPLz8+X777/f79hf//pXuW/fvseQegUFhd8bf7oZdKvVyoYNGxg2bJjf8WHDhrFq1SqcTidffvkl7du3Z/jw4SQkJHDeeefx6aefNnvWwoULGTt27GlK+enhbJKP0+mkpqaGmJiY437GqeBsktHGjRtZtWoVAwYMOO5nnArOtIzefvtt9uzZw9SpU08kG6eMMy0fgB49epCcnMzgwYP5/vvvjzcrp4wzKaOFCxfSq1cvnnnmGVJTU2nfvj33338/DQ0NJ5qtk4oio9CcDXXNzezZsxkyZAiZmZnH/YyTzZmUz/nnn8/hw4f56quvkGWZoqIi/vvf/zJq1KgTzdZJ5UzKyGKxNJuFNxqNrFu3DpvNdlz5UVBQOPv50xnopaWlOBwOEhMT/Y4nJiZSWFhIcXExtbW1zJgxgxEjRrB48WIuvfRSLrvsMpYvX+65/siRI2zevJmRI0ee7iycUs4m+Tz//PPU1dVx1VVXHfczTgVng4zS0tLQ6/X06tWLO+6446xzCTyTMtq1axcPPvgg8+bNQ6PRnLQ8nUzOpHySk5N54403+Pjjj/nkk0/Izc1l8ODBrFix4qTl72RwJmW0d+9efvjhB7Zu3cr//vc/XnjhBf773/9yxx13nLT8nQwUGYXmbGivQcSg+frrr5W22ofzzz+fefPmcfXVV6PT6UhKSiIqKoqXX375pOXvZHAmZTR8+HDeeustNmzYgCzL/PTTT8yZMwebzUZpaelJy6OCgsLZxdmpvZ4GJEny+y3LMpIk4XQ6ARg7diz33HMPAN27d2fVqlX83//9n2emcuHChfTt2/esm909WZxp+cyfP59p06bx2WefkZCQcAI5OXWcSRmtXLmS2tpa1qxZw4MPPkjbtm255pprTjBHJ5/TLSOHw8H48eOZPn067du3P4k5OTWciTKUm5tLbm6u53d+fj6HDh3iueeeo3///ieapZPOmZCR0+lEkiTmzZuH2WwGYObMmVxxxRW8+uqrGI3Gk5G1k4Yio9Cc6T5t7ty5REVFhQxseaY4E/L59ddfueuuu3jssccYPnw4BQUFPPDAA9x6663Mnj37JOXs5HEmZPSPf/yDwsJC+vTpgyzLJCYmMmnSJJ555hn+v717D2rqzuIA/g2ESKBApYAGM0aKD8QHKqgoWNSiiK2POlarRU1FV7dSV2xpfbbUdVfUFldUanUBu1V8o2J9tHQFlEG7isEHqKCiFg26slVRqoKc/aNDxkBIQh4k6PnMZMbc++OXe46/e25+uTc3tra2JoqMMWZtXroz6G5ubrC1tUVZWZna8jt37qBVq1Zwc3ODUCiEr6+v2vrOnTur3Y3zRby8HbCO/Gzfvh2RkZHYsWOHzhtdWYI15MjLywvdunXD9OnTER0djdjYWIP6MRdL5aiiogKnTp1CVFQUhEIhhEIhlixZgjNnzkAoFOLIkSPGBWYi1jCGnhcYGIji4mKj+zElS+ZIIpGgTZs2qolnbb9EhNLSUgOiMQ/OkW7WsK8REZKTkzFp0iSIRCKD+jAXS+Zn2bJlCAoKQkxMDLp3746wsDAkJiYiOTkZSqXS8KBMzJI5EovFSE5ORmVlJa5du4YbN26gXbt2cHJygpubm+FBMcas2ks3QReJRPD390dGRoba8oyMDPTv3x8ikQi9e/fGpUuX1NYXFRWpvjf28OFDZGZmYuTIkU223U3F0vnZunUr5HI5UlNTre57aLUsnaO6iAhPnjwxuh9TslSOnJ2dce7cOeTn56seM2fORKdOnZCfn4++ffsaH5wJWNsYUigUkEgkRvdjSpbMUVBQEG7duoWHDx+q9WtjYwOpVGpgRKbHOdLNGva17OxsXL58GZGRkYYFYUaWzE9lZSVsbNTfhtaeFSaixoZiNtYwhuzs7CCVSmFra4tt27bh7bffrpc7xtgLpKnvSmcNtm3bRnZ2dpSUlESFhYU0Z84ccnR0VN1ZNS0tjezs7GjDhg1UXFxMa9asIVtbWzp27BgREe3cuZO6du1ar9+CggJSKBQ0YsQIGjhwICkUClIoFGptapf5+/vTxIkTSaFQUEFBgdljbgxL5Sc1NZWEQiGtW7eOlEql6nHv3r0mibsxLJWjtWvXUnp6OhUVFVFRURElJyeTs7MzLVy4sEnibgxL7mfPs9a7uFsqP6tWraI9e/ZQUVERnT9/nubNm0cAaPfu3U0Sd2NYKkcVFRUklUpp7NixVFBQQNnZ2dShQweaNm1ak8TdGJwj3SxdiyIiIqhv375mjdEYlspPSkoKCYVCSkxMpCtXrlBOTg4FBARQnz59miTuxrBUji5dukTff/89FRUV0S+//ELjx48nV1dXKikpaYqwGWMW8lJO0ImI1q1bRzKZjEQiEfXq1Yuys7PV1iclJVH79u3J3t6e/Pz8aO/evap1ERERGidEMpmMANR7PE/TeplMZpYYjWGJ/ISEhGhcP2XKFLPFaQxL5CghIYG6dOlCDg4O5OzsTD179qTExER69uyZ+QI1gqX2s+dZ6wSdyDL5Wb58OXl7e5O9vT21bNmSgoOD6cCBA+YL0kiWGkMXLlyg0NBQEovFJJVKae7cuVRZWWmeII3EOdLNUjm6d+8eicVi2rBhg3kCMxFL5SchIYF8fX1JLBaTRCKh999/n0pLS80TpJEskaPCwkLq0aMHicVicnZ2plGjRtHFixfNFyRjzCoIiKzoOqJm4NmzZ/Dw8MChQ4fQp08fS2+O1eH86MY50o1zpB3nRzfOkW6cI904R9pxfnTjHDHGGou/wNJI5eXliI6ORu/evS29KVaJ86Mb50g3zpF2nB/dOEe6cY504xxpx/nRjXPEGGssPoPOGGOMMcYYY4xZAT6DzhhjjDHGGGOMWQGeoDPGGGOMMcYYY1bgpZugL1u2DL1794aTkxM8PDwwevToer9dSUSIjY2Fp6cnxGIxBg4ciIKCAq39ZmVlYdSoUZBIJHB0dESPHj2wZcuWeu22bNkCPz8/ODg4QCKR4IMPPkB5eblJYzTW0aNHMWLECHh6ekIgEGDv3r312ly4cAEjR46Ei4sLnJycEBgYiBs3bujV/+XLl+Hk5IRXX31VbXlOTg6CgoLw2muvQSwWw8fHB6tWrTJBRKanLUdVVVX47LPP0K1bNzg6OsLT0xOTJ0/GrVu3tPZ57do1CASCeo/Dhw+r2sjlco1tunTpYq5QjZKYmAgvLy/Y29vD398fx44dU627ffs25HI5PD094eDggGHDhqG4uFhrf48fP4ZcLke3bt0gFAoxevToem3S0tIwZMgQuLu7w9nZGf369cOPP/5o6tBMQlt+NP1fBwYGau1Pnzr0Io2htLQ0hIWFwc3NDQKBAPn5+Y3qu6FapFQqMXHiRHTq1Ak2NjaYM2eO8YGYgT7HM0NypE8tAoAnT55g4cKFkMlkaNGiBby9vZGcnGzKEI2m63j28OFDREVFQSqVQiwWo3Pnzvjmm2+09qlPHWouYwjQ75hfa8aMGRAIBPjHP/6htU993xM1hzEE6M6RIe8bn9dQLQKA7Oxs+Pv7w97eHq+//jrWr19vZDSMMWv30k3Qs7OzMWvWLJw4cQIZGRmorq7G0KFD8ejRI1WbFStWID4+HmvXrsXJkyfRunVrDBkyBBUVFQ32m5ubi+7du2P37t04e/Yspk6dismTJ2P//v2qNjk5OZg8eTIiIyNRUFCAnTt34uTJk5g2bZpZY26sR48ewc/PD2vXrtW4/sqVKwgODoaPjw+ysrJw5swZLF68GPb29jr7rqqqwoQJEzBgwIB66xwdHREVFYWjR4/iwoULWLRoERYtWoQNGzYYHZOpactRZWUlTp8+jcWLF+P06dNIS0tDUVERRo4cqVffP//8M5RKpeoxePBg1brVq1errfv111/h6uqKd99912Sxmcr27dsxZ84cLFy4EAqFAgMGDEB4eDhu3LgBIsLo0aNx9epV7Nu3DwqFAjKZDKGhoWr7Yl3Pnj2DWCzG7NmzERoaqrHN0aNHMWTIEBw8eBB5eXkYNGgQRowYAYVCYa5QDaItP7WGDRum9v998OBBrX3qU4delDEE/LEfBgUFIS4urtF9a6tFT548gbu7OxYuXAg/Pz+j4zAXfY5nxuRIWy0CgHHjxuHf//43kpKScOnSJWzduhU+Pj5Gx2VKuo5n0dHROHz4MDZv3owLFy4gOjoaH330Efbt29dgn/rUoeYyhgDdOaq1d+9e/PLLL/D09NTZpz61CGgeYwjQnSND3jfW0laLSkpKMHz4cAwYMAAKhQILFizA7NmzsXv3bqNjYoxZMQv+xJtVuHPnDgFQ/Z5lTU0NtW7dmuLi4lRtHj9+TC4uLrR+/fpG9T18+HD64IMPVM9XrlxJr7/+ulqbhIQEkkqlRkRgXgBoz549asvGjx9PERERBvX36aefUkREBKWkpJCLi4vO9u+8847Br9VUNOWorv/85z8EgK5fv95gm5KSEgJACoVC79fes2cPCQQCunbtmt5/01T69OlDM2fOVFvm4+ND8+bNo0uXLhEAOn/+vGpddXU1ubq60saNG/Xqf8qUKTRq1Ci92vr6+tKXX36p97Y3BW35IWpcfNrUrUN1Ndcx9DxD9h19a1FISAj95S9/acRWW07d49nzGpMjfdoeOnSIXFxcqLy83IgtblqaanWXLl1oyZIlast69epFixYt0qtPffbT5jSGGjqelZaWUps2bej8+fMkk8lo1apVje67bi1qjmOIqH6OjH3fqK0Wffrpp+Tj46O2bMaMGRQYGGhUDIwx6/bSnUGv6/79+wAAV1dXAH98WllWVoahQ4eq2rRo0QIhISHIzc1VLZPL5Rg4cKDOvmv7BYD+/fujtLQUBw8eBBHh9u3b2LVrF9566y0TRmReNTU1OHDgADp27IiwsDB4eHigb9++9S730pSfI0eOYOfOnVi3bp1er6VQKJCbm4uQkBATbb3l3L9/HwKBQO3ytYbG0MiRI+Hh4YGgoCDs2rVLa79JSUkIDQ2FTCYz8RYb5+nTp8jLy1PbjwBg6NChyM3NxZMnTwBA7aoLW1tbiEQi5OTkqJbps5/pUlNTg4qKCrV90dJ05adWVlYWPDw80LFjR0yfPh137txRa29IHaqruY4hfZmiFjUXdY9n+jKkFqWnpyMgIAArVqxAmzZt0LFjR3zyySf4/fffDd5+SwgODkZ6ejpu3rwJIkJmZiaKiooQFhamamOKOtSc1dTUYNKkSYiJiWnwqzCG1KIXZQwZ875RVy06fvx4vRoYFhaGU6dOoaqqynRBMMasitDSG2BJRIS5c+ciODgYXbt2BQCUlZUBAFq1aqXWtlWrVrh+/brquUQiQU1NTYN979q1CydPnsS3336rWta/f39s2bIF48ePx+PHj1FdXY2RI0dizZo1pgzLrO7cuYOHDx8iLi4OS5cuxfLly3H48GGMGTMGmZmZqsl03fyUl5dDLpdj8+bNcHZ21voaUqkU//3vf1FdXY3Y2Fir+wpAYz1+/Bjz5s3DxIkT1WKvm6NXXnkF8fHxCAoKgo2NDdLT0zF+/Hh89913iIiIqNevUqnEoUOHkJqa2iRxNMbdu3fx7NkzjftRWVkZfHx8IJPJMH/+fHz77bdwdHREfHw8ysrKoFQqVe117Wf6+Prrr/Ho0SOMGzfOqH5MSVd+ACA8PBzvvvsuZDIZSkpKsHjxYgwePBh5eXlo0aIFAMPq0POa8xjSlzG1qDnRdDzTlyG16OrVq8jJyYG9vT327NmDu3fv4sMPP8T//vc/q/wOcUMSEhIwffp0SKVSCIVC2NjY4J///CeCg4NVbUxRh5qz5cuXQygUYvbs2Q22MaQWvShjyND3jfrUorKyMo39VldX4+7du5BIJKYKgzFmRV7qCXpUVBTOnj2rdsaulkAgUHtORGrLli1b1mC/WVlZkMvl2Lhxo9qnzYWFhZg9ezY+//xzhIWFQalUIiYmBjNnzkRSUpIJIjK/2oPLqFGjEB0dDQDo0aMHcnNzsX79etUEvW5+pk+fjokTJ+KNN97Q+RrHjh3Dw4cPceLECcybNw/t27fHhAkTTBxJ06iqqsJ7772HmpoaJCYmqq2rmyM3NzdVTgEgICAAv/32G1asWKFxgr5p0ya8+uqrGm9QZC0a2o/s7Oywe/duREZGwtXVFba2tggNDUV4eLhae237mT62bt2K2NhY7Nu3Dx4eHkb1ZQ7a6sz48eNVy7t27YqAgADIZDIcOHAAY8aMAWBYHXpecx5D+jKmFjUn2o5nuhhSi2pqaiAQCLBlyxa4uLgAAOLj4zF27FisW7cOYrHYiGiaTkJCAk6cOIH09HTIZDIcPXoUH374ISQSier75cbWoeYsLy8Pq1evxunTp7Xud4bUohdlDNVq7PtGfWuRpn41LWeMvThe2kvcP/roI6SnpyMzMxNSqVS1vHXr1gBQ7wzNnTt36n2KqUl2djZGjBiB+Ph4TJ48WW3dsmXLEBQUhJiYGHTv3h1hYWFITExEcnKy2llDa+bm5gahUAhfX1+15Z07d9Z6F/cjR47gq6++glAohFAoRGRkJO7fvw+hUFjvk3IvLy9069YN06dPR3R0NGJjY80RitlVVVVh3LhxKCkpQUZGhkFn6wIDAzXe2ZyIkJycjEmTJkEkEplic03Kzc0Ntra2Wvcjf39/5Ofn4969e1AqlTh8+DDKy8vh5eVlkm3Yvn07IiMjsWPHjgZv5GQp+uSnLolEAplMpvNO94D2OlTrRRhDhmhMLWouGjqemVLdWiSRSNCmTRvVxAr44zhARCgtLTXLNpja77//jgULFiA+Ph4jRoxA9+7dERUVhfHjx+Orr76y9OZZhWPHjuHOnTto27atap+5fv06Pv74Y7Rr107n32urRS/CGAIMf9+oTy1q3bq1xn6FQiFee+01E0fCGLMWL90EnYgQFRWFtLQ0HDlypN5kwMvLC61bt0ZGRoZq2dOnT5GdnY3+/ftr7TsrKwtvvfUW4uLi8Kc//ane+srKStjYqKfc1tZWtV3NgUgkQu/evev9lE9RUZHW77AeP34c+fn5qseSJUvg5OSE/Px8vPPOOw3+HRGpvq/cnNROzouLi/Hzzz8bfCBVKBQaL2HLzs7G5cuXERkZaeymmoVIJIK/v7/afgQAGRkZ9fYjFxcXuLu7o7i4GKdOncKoUaOMfv2tW7dCLpcjNTXVKu/x0Jj81CovL8evv/6q85JGXXWo1os0hhrD0FpkjXQdz0ypbi0KCgrCrVu38PDhQ9WyoqIi2NjYmO1DAlOrqqpCVVWVxuPyy3xJ+/MmTZqEs2fPqu0znp6eiImJ0fnzlbpq0YswhgDD3zfqU4v69etXrwb+9NNPCAgIgJ2dnXkCYoxZXlPflc7S/vznP5OLiwtlZWWRUqlUPSorK1Vt4uLiyMXFhdLS0ujcuXM0YcIEkkgk9ODBA1WbefPm0aRJk1TPMzMzycHBgebPn6/W7/N3J01JSSGhUEiJiYl05coVysnJoYCAAOrTp0/TBK+niooKUigUpFAoCADFx8eTQqFQ3YE8LS2N7OzsaMOGDVRcXExr1qwhW1tbOnbsmKqPuvmpS9PdSteuXUvp6elUVFRERUVFlJycTM7OzrRw4UKzxGkMbTmqqqqikSNHklQqpfz8fLXx8OTJE1UfdXO0adMm2rJlCxUWFtLFixdp5cqVZGdnR/Hx8fVePyIigvr27dsksRpq27ZtZGdnR0lJSVRYWEhz5swhR0dH1d3Cd+zYQZmZmXTlyhXau3cvyWQyGjNmjFofmsZRQUEBKRQKGjFiBA0cOFD1/1ArNTWVhEIhrVu3Ti339+7dM3vMjaEtPxUVFfTxxx9Tbm4ulZSUUGZmJvXr14/atGljdB2q9SKMofLyclIoFHTgwAECQNu2bSOFQkFKpVLVhyG1iIhU48rf358mTpxICoWCCgoKTB6jMfQ5nhmSI31qUUVFBUmlUho7diwVFBRQdnY2dejQgaZNm9Y0wetJ1/EsJCSEunTpQpmZmXT16lVKSUkhe3t7SkxMVPVhSB0iah5jiEh3jurSdBd3Q2pRcxlDRLpzZMj7xro01aKrV6+Sg4MDRUdHU2FhISUlJZGdnR3t2rXLLHEyxqzDSzdBB6DxkZKSompTU1NDX3zxBbVu3ZpatGhBb7zxBp07d06tnylTplBISIjac039Pt+G6I+fVfP19SWxWEwSiYTef/99Ki0tNWPEjZeZmakxlilTpqjaJCUlUfv27cne3p78/Pxo7969an3UzU9dmg5ECQkJ1KVLF3JwcCBnZ2fq2bMnJSYm0rNnz0wYnWloy1HtTxRpemRmZqr6qJujTZs2UefOncnBwYGcnJzI39+fvv/++3qvfe/ePRKLxbRhw4YmiNQ469atI5lMRiKRiHr16qX280+rV68mqVRKdnZ21LZtW1q0aJHaBxhEmseRTCbTmNtaISEhOsevtWgoP5WVlTR06FByd3dX5WfKlCl048YNtb83tA69KGMoJSVFY7xffPGFqo0htYhI87FCJpOZLjAT0Od4ZkiO9K1FFy5coNDQUBKLxSSVSmnu3LlqHw5YA13HM6VSSXK5nDw9Pcne3p46depEX3/9NdXU1Kj6MKQOETWPMUSk3zH/eZom6IbWouYwhoh058iQ9411NVSLsrKyqGfPniQSiahdu3b0zTffmDAyxpg1EhA1k2urGWOMMcYYY4yxF9hL9x10xhhjjDHGGGPMGvEEnTHGGGOMMcYYswI8QWeMMcYYY4wxxqwAT9AZY4wxxhhjjDErwBN0xhhjjDHGGGPMCvAEnTHGGGOMMcYYswI8QWeMMcYYY4wxxqwAT9AZY4wxxhhjjDErwBN0xhhjjDHGGGPMCvAEnTHGGGOMMcYYswI8QWeMMcYYY4wxxqwAT9AZY4wxPcXGxkIgEODu3bsa13ft2hUDBw4EAAwcOBACgUDnIzY2FgDw5MkTrF27FsHBwWjZsiVEIhHatGmDcePGITs7u8Ftksvler2OXC5HVlYWBAIBsrKyTJwZxhhjjJmC0NIbwBhjjL2IEhMT8eDBA9XzAwcOYOnSpUhJSYGPj49quVQqxd27dzFs2DCcPXsWU6dORUxMDFxdXXHz5k3s27cPb775JvLy8uDn51fvdRYvXoyZM2eqnp8+fRqzZs3C3//+dwwaNEi13N3dHe7u7jh+/Dh8fX3NFDVjjDHGjMETdMYYY8wM6k6CL168COCPs+wBAQFq64YPH44zZ87gxx9/xODBg9XWvffee5g7dy5atmyp8XW8vb3h7e2tev748WMAQIcOHRAYGFivvaZljDHGGLMOfIk7Y4wxZkF5eXk4dOgQIiMj603Oa/Xu3Rtt27Y1+rU0XeIul8vxyiuv4OLFiwgLC4OjoyMkEgni4uIAACdOnEBwcDAcHR3RsWNHfPfdd/X6LSsrw4wZMyCVSiESieDl5YUvv/wS1dXVRm8zY4wx9jLhM+iMMcaYBf30008AgNGjR1tsG6qqqjBmzBjMnDkTMTExSE1Nxfz58/HgwQPs3r0bn332GaRSKdasWQO5XI6uXbvC398fwB+T8z59+sDGxgaff/45vL29cfz4cSxduhTXrl1DSkqKxeJijDHGmhueoDPGGGMWdOPGDQCAl5eXxbbh6dOnWLp0KcaMGQPgjxvc/fDDD1i2bBlOnz6Nnj17AgACAgLg4eGB1NRU1QQ9NjYWv/32GwoKClRn+d98802IxWJ88skniImJ4e+8M8YYY3riS9wZY4yxl5xAIMDw4cNVz4VCIdq3bw+JRKKanAOAq6srPDw8cP36ddWyH374AYMGDYKnpyeqq6tVj/DwcADQegd6xhhjjKnjM+iMMcaYnoTCPw6bz54907i+uroadnZ2jeqz9qxzSUkJOnXqZNwGGsjBwQH29vZqy0QiEVxdXeu1FYlEqhvRAcDt27exf//+BuNu6CfpGGOMMVYfT9AZY4wxPbVq1QoAcPPmTdW/axERlEplvTu06xIWFoYFCxZg7969GDZsmMm2tam4ubmhe/fu+Nvf/qZxvaenZxNvEWOMMdZ88QSdMcYY09PgwYMhEAiwfft29OrVS23d4cOH8eDBA4SGhjaqz169eiE8PBxJSUkYN26cxju5nzp1Ch4eHia5k7upvf322zh48CC8vb0b/Ck4xhhjjOmHJ+iMMcaYnry9vREVFYWVK1fi3r17GD58OMRiMU6ePIm4uDgEBARg4sSJje73X//6F4YNG4bw8HBMnToV4eHhaNmyJZRKJfbv34+tW7ciLy/PKifoS5YsQUZGBvr374/Zs2ejU6dOePz4Ma5du4aDBw9i/fr1kEqllt5MxhhjrFngCTpjjDHWCKtXr4avry+SkpKwefNmVFdXQyaTYdasWVi0aBFEIlGj+3Rzc0NOTg42btyIrVu3IjU1FZWVlfDw8EBgYCDS09Ph5+dnhmiMJ5FIcOrUKfz1r3/FypUrUVpaCicnJ3h5eWHYsGF8Vp0xxhhrBAERkaU3gjHGGGOMMcYYe9nxz6wxxhhjjDHGGGNWgCfojDHGGGOMMcaYFeAJOmOMMcYYY4wxZgV4gs4YY4wxxhhjjFkBnqAzxhhjjDHGGGNWgCfojDHGGGOMMcaYFfg/T0GHYQ2e4yIAAAAASUVORK5CYII=", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "46bac7b0a4614e30a4edf918a0c44a50", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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5/bt28uGVFUkSUKv1wPWUPCqIeLdu3fn66+/Ji8vr1oven0gIiKCwsJCDh8+LHuCDx06RGFhIf369QNg7dq1lJeXy985cuQITz31FPv27aNt27ZyPdOmTcNgMODu7g7Atm3bCAsLo1WrVkiSRExMjMOxFy9ezM6dO/n5559p3bo1Xl5eTlMBbNgGSdTOYc6cOaSnpxMaGiof28PDQzaUa2qfGlFRUXKd9vzf//0fer3eKargjjvucDrPf//733Tq1Ik33nhD9ZoC5H32WtcWYaALVLGYSq53EwQ1IHK4CwQCG8nHpmA25F/WVBCBQCD4u5CSksLkyZN57rnnOH78OIsWLWLevHmUlpYyZ84c7r33XkJDQ8nNzWXx4sVcunRJcVktG2PGjGHu3Lncf//9vPfee4SGhhIVFUVYWBgRERG1alNJSQmxsbHy54SEBKKjowkICKBFixaANbFYcnIyaWnWef7nz58HrN5iW3bwjIwMMjIy5LpiYmLw9fWlRYsWBAQE0LlzZ4YPH86ECRNYsmQJAM8++yz33HOPHO5tM8Jt5OTkANC5c2c527ktfH38+PFMmzaNixcvMnfuXN599115vW9btnwbwcHBeHp6Om2vK0OHDqVLly6MGzeOjz76iLy8PKZMmcKECRPw8/OrVfsAFi5cSKtWrbjpppswGAz88MMPrF27lrVr1zod85tvvuH++++ncePGDtt9fX2dzsfHx4fGjRs7bS8rK5O9+pmZmcyePRtPT0+GDh1aZw3qfzzNPxSNRoOvr6/iHIx/MkIXdYQ2yghd1BHaqHMjamM25F/1Y9yIulwrhDbKCF3UEdpcHZ544gnKy8vp06cPL7zwAi+99BLPPvssLi4unDt3joceeogOHTpwzz33kJ2dzb59+7jppptU63N3d2fbtm0EBwczYsQIunXrxvvvv1+t97QqR48eJTw8nPDwcAAmT55MeHg47777rlxm48aNhIeHy4kDR48eTXh4OF9++aVc5ssvvyQ8PFxOeDdgwADCw8PZuHGjXObHH3+kW7duDB06lKFDh9K9e3e+//77WrcVrOHa27dv59KlS/Tu3Zvnn3+eyZMnM3ny5DrVczm4uLiwefNmPD096d+/P6NGjeL+++/n448/rlP7DAYDU6ZMoXv37tx2223s37+fzZs38+CDDzoc78KFC+zfv5+nn376L7X7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895775Genk7Tpk15//336dy5s2r+33//nVGjRrFz507CwsJ4/vnn//GadAKBQHA1Ya1iybI3p59kYGco8ckAbB/BIC7gXbqucoQ1m2xZBC8SCAQCwdXD8ePHGTVqFI899hh///23yxzsf//739xzzz106dKFlJQUfvnlF3788UfVqOgA9913HxMmTGDAgAFMnDiR0NBQNm/eTFhYGMnJydUqU05ODgcOOFaQOXz4MFu2bMHPz4+oqCgAMjMzOXbsGGlptmVryzoSQkJC7BHPMzIyyMjIsB9r+/bteHp6EhUVhZ+fH2lpaXTr1o2oqCgmTZrEmTOOwLdlx+jVqxdNmjRh8ODBvPfee2RmZjJ69GiGDRuGl5dtwtugQYN4/fXXGTp0KC+//DL79+9nwoQJvPbaay62YNkIeU5ODmfOnGHLli0YDIZ/tCx3bZYPbMHhbrzxRkXv76KiInbt2mX//8mTJ9myZQseHh72DoQRI0Ywf/58fvjhBzw9Pe0j997e3pjNZj7//HP8/f0ZOHBghc6QW265hTlz5tTYQFedevnKK69gMpk4evQosiyzbt069u/fz6hRo2jUqBHHjl2+dTe//vprnnnmGV555RU2b95M586d6du3r2oZDh8+zM0330znzp3ZvHkzL7/8Mk899RQLFy68bGX+p2hKoPE3EhoxX8sFoYs6QhtlrmddLixdXOl2rzwNG39pzA6TIxBc+Sj2TYoz66RsVzrX831TGUIXdYQ2yghd1CnTRkRxr12GDBlCfn4+7dq1Y8SIETz55JM8+uijANx+++3MnDmTd999l+bNmzN79mwWLlxIp06dVI9nMBhITU0lKCiIm2++mebNm/P222/XyG1548aNJCUlkZSUBMCoUaNISkritddes+dZvHgxSUlJ9OvXD7AFGktKSmLmzJn2PDNnziQpKYlhw4YB0KVLF5KSkli82Pa9T01N5cCBA/z2229EREQQGhpq/ytDq9Xy008/YTKZ6NixI3fffTcDBgywL8MGNuNz2bJlnDhxgjZt2vDEE08watQoRo0a5VKvsjpt2rSJ+fPnk5SUxM0331xtXZSozfJlZWWxcOFC1dHztLQ0ex3S09OZNGkSSUlJLnP2Z8yYQVZWFt26dXPR8+uvvwZs7u233357BeMc4M4772TJkiWcOlWzJYQlWVaO89uwYUPGjh3Lfffd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UFAQ3377LRERERw/fhxPT0f8nepcO4Bhw4bZOwmOHj3KM888wwMPPMAff/xRqRZKVNrqWrduHa+99hqrVq2iqKgIg8FAly5deP3112nfvn2NTyaoAZKGdXvCSLGoj3Z56utufdkrFa1WS6tWrdDWSQfC5e180nob8RuYgFd39UAyQLWN87rV5uqlNnUxaMxEmJvUQqnqjyY4orFLVghbJyFZochpdQVJZ6Htw+PRGW0T2qPfeR/LxewKx3ImIbZuXNfrKuhYVYjnSRmhizpCG2WuZF3qappgdbmStbla6datG82aNQPgiy++QKvV8vjjj/Pmm28iSRJr1qzhwQcfpFu3bgA8+uijzJo1i40bN1ZqoJ84cYLRo0eTmppKYWEhiYmJfPTRR9x44432PJ9//jmvvvoq58+fp2/fvnzyySd2Q69v37707Vu551NZzK8jR46o5nnmmWcAWLlypeL2MuO9jLi4OPbu3cuMGTPsBnpqaiq7du3i+PHjhIXZYjJNnjyZoUOHMn78eLy8vPjyyy8pKCjg008/xWg00qxZM/bt28eUKVMYNWoUkiSRlJREUlKS/VwxMTF89913/PHHH1Ua6EajkZAQm9ffoEGDWLFiBYsWLWLGjBm1Vr5ffvmF33//nUOHDuHn52cvozNz584lMzOT1atXoy9dyjY62rVdXp1rB+Dm5mavU2hoKCNGjGD48OFV7qeEajjn3377jS5durBp0ybuvfdenn/+ee699142bdpE165dWb58+SWdUFA9mjRw51C6L74l5yufpHydodFoiI6OrtslSS7TXDBJkvC7sxE6n9oJlnZZtLkKEbqoo7FK+B6SuGh147C7Yy66mzEXvSkfSQKjxh29fwCmmLqZTnOlIu4bZYQu6ghtlLmSdVFbmeNycSVrczXz2WefodPpWLduHR988AFTp05l9uzZAHTq1InFixdz8uRJZFlmxYoV7Nu3j969e6seLycnh65du5KWlsbixYvZunUrzz//PFanpZAPHjzIokWLWLJkCUuWLOH333/n7bffrvO6VoesrCy7gQqwZs0amjVrZjd+AXr37k1hYSGbNm2y5+natStGo9ElT1pammoHwubNm1m9ejVdu3atcRnNZjPFxcW1Wr7FixfTpk0b3n33XcLDw2nUqBGjR48mP98RTXfx4sUkJyczYsQIgoODadasGRMm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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8d0f61d33791420db90a0d2037da42a8", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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6pzFixczd+5c7rzzTrZv3853333H6NGj5c8rKioYNWoUycnJ/Pbbbzz11FM89thjLF68WD4nJCSE66+/nrVr1/L3339z9913c/fdd/PCCy94bY9vv/2W/Px8du/ezcKFC3nggQd45ZVX5M/XrVvH1KlTmT59On/88QfTp09nypQpql3E3nvvPW666Sbmzp3L5s2bGTx4MGPHjlV5eT/yyCMsXryYp59+mt9++43ExERGjRpFZaXoGZiamqoaC/n5+SxcuJCQkBDGjh0rX2f58uVMnz6dyy+/nD/++IOff/6ZadOmqeo0d+5cpk6dyllnncVXX33Ftm3bePzxx/njjz944403vLaJErc+NbGxsZSXi/HIycnJbNu2jSFDhgBQUlJyXCcTqQOeffZZBg4cyPPPP8/YsWP566+/aN++vcv5ubm5jBs3jquuuoo333yTn3/+meuuu464uDguvvhiwNHx9913HxMnTuTjjz9mypQp/PTTT/Tr1++41c2PHz9+jhfBWnuJbwJDIxzoIf4dT4OXTfT8+PHjx4+fk5Nhw4bJO029+eab6PV6/vOf/3DffffJebQCAgJITExs0nUPHz7MrbfeysqVK6mvryc7O5tnnnlGJTO88cYbzJs3j9LSUsaOHcuLL75IWFgYAGPHjlUJfFpMnz4dEK267rjpppsAWL16tdtzbr75Zvn3tLQ07rzzTiZMmEBjYyNGo5HS0lLuvvtuPv/8c8455xz53G7dusm/v/XWW9TV1fHaa68REBBA9+7d2bVrF4sXL2b27NkIgkDv3r3p3bu3/J309HQ++ugjfvzxR66++mqPdY2JiZH7IC0tjVdeeYVNmzYxa9YsAJYuXcqoUaOYM2cOAHPmzGHNmjUsXbqUd955BxCVDLNmzeLKK6+Uv/PNN9/wv//9jwcffBCbzcbSpUuZO3eubO1etmwZCQkJvP3221xzzTXo9XqXsfDxxx8zdepUQkNDATCbzdx44408+uijcvkAOnfuLP++YcMGFi1axNKlS7nxxhtVbTJq1ChNTwdPuLWg9+nTR3YBGDduHPfeey9vvvkm77//PnfddddxcQeRUHZAdnY2S5cuJTU1lf/973+a5z/33HO0b9+epUuXkp2dzZVXXskVV1zBY489Jp+j7PguXbowZ84czjnnHJYuXXqcauXHjx8/x584p32gDf9gr3U/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6DAgTGybcePGYa6rVvWf3mwAUr3WSRq/nsbehqoUeexJeBt750bligmW7DjXqWynOIbdjb3fOYMwfT3nRe+VjzVadewgm5CEaibHHpCP20rFOaV9QIU8R5yIOsn9ZK/TihUr5PYF+KCoC8G6Rpc6fVicTU1FCROjHW1Qbg4AOmOpPKpqG3d1Cqys4cIzenFg51ZVnbbXxPBndSKlB7ayq7CQzYhjzFOdBCFOVacVK3YwfPhwDIJVVZa13+1g/tjR3Pr+HlWdVn+/B+gsz+XKOhXpzyBBV8qQ2EOsWLGDSbGOOuVEl3K24DjfUz916yq+nybHOtpAmsu99dOKFRpjr9Qxl2v108qVe1TvJ6ldpLlcOUdMjlX3kynvb4YGAAGe6yQIYc0ae1J9AKqqE1T9JH3maewlmyoYEnFY1U/O71xohecpzFGnvmmd+P7771mxxfO899P3OwjTZ6EXglzmCGWdzLmO99OHxdnqsZcHm8pDgbQm1WlTdSIXx+ygYZ9jbHiaI2zEqtYRK1bsIMHoeY7QqtOZSQLlYdvl9tKsU1v2k6JOWmPPbBVobEz3eb3Xmu/cvXv38k/DnafQI488wm233dZm9127di2PPvooGzduJD8/n48//pgJEyaozvnoo494/vnn2bhxI8XFxWzevJlevXqpznnhhRd4++232bRpE5WVlZSWlroYIMePH8+WLVs4duwYUVFRjBw5kocffpjkZHUC6ddee43Fixeza9cuIiMjmTRpEk8//bT8+datW7n++uvZsGED0dHRXHPNNcybN09uw9WrVzN8+HCXuv7999906dJFsx32799PRkaG/LfRaKR9+/bMnDmTuXPnqvpn+fLlzJs3j71795KVlcUDDzzAxIkTVdd79tlnefTRR8nPz6dbt24sXbqUwYMHy5/bbDYWLlzICy+8QGlpKf369eOZZ56hW7dumuVR8v777zN58mQANm3axB133MFvv/2GXq/n4osvZvHixS7J1JcvX85TTz3F5s2bsVgsZGZmMmnSJK6//nqio33P/yTYTkDqyAULFmgKukp+++03Vq5cybJly1QLdoCOHTsya9Ysr1u9NTY2MnnyZA4ePMjq1atVArozGzdupG/fvmzcuJEzzzxT8xwtC3pqqrhgl659vCzo6htcTAAAXe1JREFUtbW1rFq1ilGjRrGvxML9XxdwXvdI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aNEiOnbsSMeOHVm0aBHBwcFMmzZNVZ49e/awdu1at0nQn376aTluftWqVdx222089NBDstDdr18/br/9dm655RaOHDkib7O2Z88ennvuOQYNGuR2mzUt3K46R4wYwd9//83GjRvp1auXavuBESNGuMR3+zlxtGTdaTLoiGmhwHbDiASKqzy7GF7YS51kxWTQERGk53BZ8+/bMT6Q20eLlpWnL0kHYP1e8YJKgSY6xECEm0z0Y7pG0Cs1mNIacaGpE5CzSut1Ap0SPMcg+ml7Jp0ZzYebmmZ5bE16pgTxr7NbFiOaHGEiNEDvOn40Vo+LJrTjkW/yKau1MGtgHF0SAwl3cgueNTCe7snBPL3adbF+QY8oPtBor2AvXiRNoo3N0J0Sgpg7LsXt5z49h/aTUqNMHCptIDJYnAO8WfVag7acJ5wTrDWVKwbE8e9+3sfzi//OQK9wd06LCeDJqekevxNsF+hNCpdsKaFeU3YOSWxilnRnkiOM5JVrCz46QSAjtnkW0lkDRauKyaDTTFLaFpzfI7JJbScRG2oktnnOBi4cj/feTee0rldmn/bBvLFedK9vCk0ZexFBosedL4zrHsHYbhEs+7WIPYX1qmfLT+szY8YMamtrOfvss9Hr9fz3v//l6quvlj9/9913sdlsXHrppT5dz2QysXLlSm655RbGjRuH2Wyma9euPPPMMz6X6ffff5eFXxCFS4DLLruM1157DYDPPvuMyy+/XD5H2pJ6/vz5LFiwAIDnnnuOhQsXyucMGTIEgFdffZWZM2cSFBTERx99xPz586muriYpKYkxY8bw7rvvqjKyv/7669x8882cd9556HQ6hg4dytdffy27Z0dERLBq1Sr+7//+j759+xIVFcXs2bPlcoNojb711ls5cuQIQUFBdOvWjS+//FIMv/XCyJEjAdFynpSUxLhx43jggQfkzwcMGMC7777L3Xffzbx588jKyuK9995TZXqfOnUqxcXF3HvvveTn59O9e3dWrFghewEA3H777dTW1nLddddRWlpKv379WLlypSpfAIgW8ZSUFJes8BIbNmxg/vz5VFVV0aVLF55//nl5WzyJhx9+mD59+vDMM8/w3HPPYbVaycrKYtKkSVx22WVe20SJR7NQWlqaqpIS11xzTZNu4qf1MRgMjBs3DoPBQLsoHQEGgWEdw/lqW9vEdnsiwKDT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74eaek3mOIJe1d9W1xg1Xbt2Da1bt8b169ehVCoN1oGIrMMqR9Dj4+Px9NNP17pM69atcfToUVy6dMlg3u+//w5vb2+jX0+lUkGj0eD06dMAAB8fH9y9exfXrl3TO4p++fJlhIeH19iOk5MTnJz+7/7BVae4+/n5Gb0uRERERES2oqSkhAN0IhtilQG6p6cnPD0961wuLCwMN27cwM8//4wePXoAAH766SfcuHGj1oF0dUVFRbh48SJUKhUAIDg4GA4ODti1axdGjx4N4N5R9uPHj2PBggVGt+vr64uLFy/Czc3N4AicpRUXF+Mvf/kLLl68yCtv3oe5SGMuhpiJNOYijbkYYibSmIs05mLI2pkIIVBSUgJfX99Gf20iqplN/wa9ffv2GDRoECZOnIhPPvkEwL3brD3xxBN6F4gLDAzE/PnzMXLkSNy8eRMJCQn461//CpVKhfPnz+ONN96Ap6cnRo4cCQBQKpWIi4vDK6+8gubNm8PDwwOvvvoqOnfujMjISKPXz87ODmq12rxF15O7uzt3dBKYizTmYoiZSGMu0piLIWYijblIYy6GrJkJj5wT2R6bHqADwKpVqzBlyhTd73Oio6OxePFivWVycnJw48YNAPd+43Ps2DF88cUXuH79OlQqFfr27Yu1a9fqficOAB9++CHkcjlGjx6N27dvo3///li5cqXR90AnIiIiIiIiMiebH6B7eHjgyy+/rHWZ+y/CoVAo8N1339XZrrOzMxYtWoRFixY1eB2JiIiIiIiIGsrO2itApnFycsLcuXP1LlpHzKUmzMUQM5HGXKQxF0PMRBpzkcZcDDETIpJildusEREREREREZE+HkEnIiIiIiIisgEcoBMRERERERHZAA7QiYiIiIiIiGwAB+hERERERERENoADdCuZP38+unfvDjc3N3h5eWHEiBHIycnRW0YIgYSEBPj6+kKhUKBPnz7Izs7Wzb969SpeeuklBAQEwMXFBa1atcKUKVN094SvEh0djVatWsHZ2RkqlQrjxo3Db7/91ih11hdzkcZcDDETacxFGnORxlwMMRNpzEUacyEisxNkFVFRUSIlJUUcP35cHD58WAwdOlS0atVK3Lx5U7dMYmKicHNzE+vXrxfHjh0TMTExQqVSieLiYiGEEMeOHROjRo0Sqamp4syZM+KHH34Qbdu2FX/961/1XispKUns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TZs2UKlUusE5AHh4eMDLywu//PKLbtq3336Lvn37wtfXF+Xl5brH4MGDAaDWK9ATERGRPh5BJyIiMpJcfm+3WVFRITm/vLwcDg4O9Wqz6qhzXl4eAgICGraCJnJxcYGzs7PeNEdHR3h4eBgs6+joqLsQHQBcunQJW7ZsqbHumm5JR0RERIY4QCciIjKSt7c3AODXX3/V/X8VIQQKCgoMrtBel6ioKLzxxhvYtGkTBg0aZLZ1bSyenp7o0qUL/vWvf0nO9/X1beQ1IiIiaro4QCciIjJSv379IJPJsHbtWjz66KN683bs2IHi4mJERkbWq81HH30UgwcPRnJyMkaPHi15JfeDBw/Cy8vLLFdyN7cnnngC27Ztg7+/f423giMiIiLjcIBORERkJH9/f8THx+O9997D9evXMWTIECgUChw4cACJiYkICQnBmDFj6t3uF198gUGDBmHw4MF47rnnMHjwYDz88MMoKCjAli1bsGbNGmRlZdnkAP2tt97Crl27EB4ejilTpiAgIAB37tzB+fPnsW3bNixbtgxqtdraq0lERNQkcIBORERUDx999BE6dOiA5ORkfPnllygvL4dGo8HkyZMxe/ZsODo61rtNT09P7Nu3D59++inWrFmD1atX49atW/Dy8kJoaChSU1MRFBRkgWoaTqVS4eDBg3j77bfx3nvvIT8/H25ubvDz88OgQYN4VJ2IiKgeZEIIYe2VICIiIiIiIvqz423WiIiIiIiIiGwAB+hERERERERENoADdCIiIiIiIiIbwAE6ERERERERkQ3gAJ2IiIiIiIjIBnCATkRERERERGQD/h/1W4vnpgC0BQAAAABJRU5ErkJggg==", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "34f6ebe5f21541609f4ca236822a8d2b", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+gAAAEsCAYAAABQRZlvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAADTu0lEQVR4nOzdd3gU1cLH8e9uOukhJCQhCT1IbwIBMdIRRH1RCUWUYuGK6BWsgBfEggoKoqIXCSBKu3QFBBTphB46CakkpJCQ3rPlvH8sWbJkMwQMSYDzeZ48sGdnZ875zezsnKkqIYRAkiRJkiRJkiRJkqQapa7pCkiSJEmSJEmSJEmSJDvokiRJkiRJkiRJklQrWNZ0BSRJkiRJunM6nY6yV6up1WrUarn/XZIkSZLuRfIXXJIkSTJr5cqVzJ8//7Y+ExcXh0qlYtmyZXelTreiUqnM/n3++ec1Up/q0KRJE6ysrIx/s2bNqukqSZIkSZJ0h1TyJnGSJEmSOU888QTnzp0jLi6u0p8pLi4mLCyMJk2aUK9evbtXuQqoVCqeffZZpkyZYlLu5+eHt7d3tdenOpw9e5bi4mLja29v7/u2rZIkSZJ0v5OnuEuSJEn/mE6nQ6vVYmNjQ7du3Wq0Lp6enjVeh+rUpk2bmq6CJEmSJElVRJ7iLkmS9ABKS0vjlVdewdfXFxsbG+rVq0ePHj3466+/AHjsscfYunUrly9fNjlVHG6cxv7ll1/yySef0KhRI2xsbNi9e7fZU9xnzpyJSqXi/PnzjBgxAmdnZzw9PRk3bhzZ2dkm9crKymL8+PG4ubnh4ODA4MGDiYmJQaVSMXPmzOqKR5IkSZIkqUbII+iSJEkPoNGjR3Py5Ek+/fRTmjdvTlZWFidPniQ9PR2AhQsX8sorrxAdHc3GjRvNjmPBggU0b96cuXPn4uTkRLNmzRSn+cwzzxAcHMz48eM5e/YsH3zwAQBLliwBQK/XM2TIEI4fP87MmTPp2LEjoaGhDBw48LbatnLlSkJCQtDr9bRu3ZrXX3+dsWPH3tY4JEmSJEmSaoLsoEuSJD2ADh48yEsvvcTLL79sLHvqqaeM/2/ZsiUuLi6Kp6zb2tqyY8cOrKysjGVK16uPHz+ed955B4C+ffsSFRXFkiVLCAkJQaVSsX37dg4cOMAPP/zAhAkTAOjXrx/W1tbGzvytjBw5ksGDB+Pr60tqaiohISGMGzeOmJgYPv7440qNQ5IkSZIkqabIDrokSdIDqEuXLixbtoy6devSt29fOnXqZNLRrownn3zytj7z5JNPmrxu27YtRUVFpKam4unpyd69ewEYNmyYyXAjRoyodAd9xYoVJq+feeYZhgwZwueff84bb7xRIzeukyRJkiRJqix5DbokSdIDaM2aNbz44ossXryYwMBA3NzceOGFF0hJSan0OLy8vG5rmnXr1jV5bWNjA0BhYSEA6enpWFpa4ubmZjKcp6fnbU3nZs8//zxarZbjx4//o/FIkiRJkiTdbbKDLkmS9AByd3dn/vz5xMXFcfnyZWbPns2GDRsYM2ZMpcdRetO4qlK3bl20Wi0ZGRkm5bez08Cc0qeJqtXyJ0+SJEmSpNpNbq1IkiQ94Pz8/Hj99dfp168fJ0+eNJbb2NgYj25Xh6CgIMBwdL+s1atX/6Px/vLLL1hZWdGpU6d/NB5JkiRJkqS7TV6DLkmS9IDJzs6mV69ejBw5khYtWuDo6MixY8fYvn07Q4cONQ7Xpk0bNmzYwA8//ECnTp1Qq9V07tz5rtVr4MCB9OjRgylTppCTk0OnTp0IDQ1l+fLlwK2PgM+ZM4cLFy7Qp08fGjRoYLxJ3M6dO5k5cybu7u53re6SJEmSJElVQXbQJUmSHjC2trZ07dqVX375hbi4ODQaDX5+frz33nu8++67xuHefPNNzp8/z9SpU8nOzkYIYTxd/G5Qq9X8/vvvTJkyhc8//5ySkhJ69OjBr7/+Srdu3XBxcVH8fIsWLfjtt9/YunUrmZmZ2NnZ0b59e1atWsXw4cPvWr0lSZIkSZKqikrcza0tSZIkSfqHVq5cyahRozh48CDdu3ev6epIkiRJkiTdNbKDLkmSJNUaq1atIjExkTZt2qBWqzl8+DBz5syhQ4cOxsewSZIkSZIk3a/kKe6SJElSreHo6Mjq1av55JNPyM/Px8vLizFjxvDJJ5/UdNUkSZIkSZLuOnkEXZIkSZIkSZIkSZJqAfmYNUmSJEmSJEmSJEmqBWQHXZIkSZIkSZIkSZJqAdlBlyRJkiRJkiRJkqRaQHbQJUmSJEmSJEmSJKkWeCDu4q7X60lKSsLR0RGVSlXT1ZEkSZIkSZKkGiWEIDc3F29vb9RqecxOkmqLB6KDnpSUhK+vb01XQ5IkSZIkSZJqlYSEBBo0aFDT1ZAk6boHooPu6OgIGFZATk5O1T59jUbDzp076d+/P1ZWVtU+/dpO5qNM5qNM5qNM5qNM5qNM5qNM5qNM5qOspvPJycnB19fXuJ0sSVLt8EB00EtPa3dycqqxDnqdOnVwcnKSP1BmyHyUyXyUyXyUyXyUyXyUyXyUyXyUyXyU1ZZ85OWfklS7qIQQoqYrcbfl5OTg7OxMdnZ2jXTQhRBotVosLS3lStAMmY8ymY8ymY8ymY8ymY8ymY8ymY8ymY+yms6nprePJUkyT94RopoUFhbWdBVqNZmPMpmPMpmPMpmPMpmPMpmPMpmPMpmPMpmPJEk3kx30aqDVatm9ezdarbamq1IryXyUyXyUyXyUyXyUyXyUyXyUyXyUyXyUyXwkSTJHdtAlSZIkSZIkSZIkqRaQHXRJkiolS5vP+YIrNV0NSZIkSZIkSbpvyQ56NbG0fCBumH/HZD7KakM+sxI38XHS5pquhlm1IZ/aTOajTOajTOajTOajTOajTOYjSdLN5F3cJUmqlNHRP6IROlY3nVjTVZEkSZIk6R+S28eSVDvJI+jVQK/Xk5qail6vr+mq1EoyH2UyH2UyH2UyH2UyH2UyH2UyH2UyH2UyH0mSzJEd9Gqg0+kIDQ1Fp9PVdFVqJZmPstqSj4ra+Qzb2pJPbSXzUSbzUSbzUSbzUSbzUSbzkSTJHNlBlyRJkiRJkiRJkqRaQHbQJUmSJEmSJEmSJKkWkB30aqBSqXB0dESlqp2nCNc0mY8ymY8ymY8ymY8ymY8ymY8ymY8ymY8ymY8kSebIu7hLklQpL0b/l2KhlXdxlyRJkqT7gNw+lqTaSR5BrwZ6vZ7Lly/Lu3QCRSV6Ll0pNCmT+SiT+SiT+SiT+SiT+Sj7J/kUp2pI251zF2pVe8jlR5nMR5nMR5Ikc2QHvRrodDpOnTol79IJ/HdrKv/5OdGkTOajTOajTOajTOajTOaj7J/kEzE7idj/pt6FWtUecvlRJvNRJvORJMkc2UGXqlVKhqamqyBJkiRVA12RPCooSZIkSbdLdtClaiVvgyJJkiRJUlVYsyed4Z9G1XQ1JEmSqpTsoFcDlUpFvXr15F06KyDzUSbzUSbzUSbzUSbzUfaP8rnvb0Erl59budv5/HEs666Mt7rI5UeSJHMsa7oCDwJLS0u6d+9e09WotWQ+ymQ+yu71fPRCkJGjxd3Z6q6M/17P526T+Sj7R/k8AB10ufwok/kok/lIkmSOPIJeDXQ6HeHh4fImIGWUfbqfzEdZbclHVUsvUKgt+dyp30OzeP27yxQU3Z363+v53G0yH2X/JJ8HoH/+wC4/6/ZlkJBafMvhHtR8KkvmI0mSObKDXg30ej0RERHyMRpllN1wk/kok/kou9fziU4qAqBIU3F3RpefT9TYERRfjr3t8VeUj1boKNFrb3t8/0RugY7UrNp1o8h7ffm52/5RPg9AD/1BXX7W7c/gy/8l33K4BzWfypL5SJJkjuygS9Wr9CDsA7Dh9qDQ6PLQ6UtquhrVSqcvQS+qpnMbn3rr7EqSroAQ5B46UCXTBHg3fjUvxPy3ysZXGZP/e5k3vr9crdOs7bRCR7o2r6arcXcIuaKvDTS6Akp098bz6L9Yk8TkHyu/jqid53VJkiT9M7KDLkm3QacXnI0tqJZp6YWGk0lfUKxJv6PPp+SGkpYfZva9nAIdWl3VbDzPWr2NZXtWVsm47hW7Yl7gyJXpt/WZwmI9Z2JMl51r2RpSMitxRPkudHSSNFlVPs5bKczTY1MDZ3IWa7PJKbr9sw+qw+y/TvD5f5Jquhp3RWUXW73QoNUXIIRgz+kcSrT3x9FErU6YXM6l5GLaEg7Gv604TE6+jms5t38Gyr64ieyJfeW2P1cTwqIKSEq/dRvzi3Rcy65dZ+NIkiRVFdlBrwZqtRo/Pz/U6srHXaLRM/zTKELDs+9izf6ZrDwtwz+NIiHN/HVo/1mSwOItV82+V3aTpaJ8zmVeZUfCnT0+RS/uzg/3lvVJ5H+QRNL105KLtVkUaTO4nHaJYm2hybBRSYVsO5ppUvbil9Emd51NzbnG7rPHzU4rpziOawVhxOfsMJuPRpeHVm+oh97MRuCZq98QlvwFAFlFkRRoUo3vLZwWy6IV8ZVstUFFRyoa7+9I8tZHAMO9BXIjCikoSSG/pHKdjsJifaU3Ys1Rq9U08PMtl09pNrfjtQWxTF16kayiSMXhdqx9h+PLBwGG70FldnYs2nqVub8mmbS1oLhMR6QyEaigWFNMWo7575U5d7L+uR3vLzvBgr/O3HI4IfSMiIaJF+5KNbgYX4hGaz7EfTGz2HFxrtn3bs4nv8j8zqvTqakMn3eWhNxcs+MpvqYhKqGQ7zanAJCQWsyHyxJuuWy0WOfMczGVnzeFmlSEqLgDm5mrZePBjH/0nSqrNJ9itGhFxXtX/sw+xzWN+WyUvovXNLn89/JcFsW8x+WrJfy4JZVNBzNJKslCCEFkXhJ/x138x+24XefjCtDrb2SYmatl1e50hBAUFuuNl2pU9P0q1uh5/vNo/jiRwa6sUwAs25FW7pFgZ5M2sPr4m1xMOkL8VR1CCBJz9lKsLX/E+9VvYnn9W/NHlxOvlVQ4z7PzbMjKca90229Xeq6G/dFpZt9Tq9U08PWjoLhyy+OoSHgkpeL3p74XxYr/pfDeTwm8/t2tj7TnFieg0VXtGSpCiDv6fSl1+WqxcV7d7fWzJEn3JrlGqAYWFhZ06NABCwsLxeHK/rjm5up4ORzWLr/xo6fXC+ILssi46XRIvV5QpLmGTl+CTi8Y/mkUe04bftyLtZm3fSpuiS6XzMII9EVFlCQlVjhcbIqhY/7OogTyCm9suGn1hSRk/8kTO4tp++uNDbb0grOU9kKEMNR7y+FMRn0eazafr368xqZFcDUnihmrVpFVkIgQgtBLhxj+aRTJGeZPDU4vOMtf0aPJL7n19XFKhBBEZ6wnNSeNQk0WeqHB5s9c1EB6QjJ6Idgd8y9WH5nLe4vUfLdlv8nn//w0Efev01n89y+cuhwKQINrgm1/XjMO89mqCP77mwtHog5ToLmxVVKkzWDGz5cJPfEEFhaqcvkk5uxhd+xLHIp/h9Mnstk2NpqUFNMdJRqtFVqt4UEN035O4KstWwDDUZ3eydBi5z/biVGi0VOkyaFVFvRPhMSSDGK2ZnBxRiK/7/svO+KmAoazDopK9BTrNbx7bCf/O3SjnYXFesbOjeHPEzc2RjXaIqbOPsrGLacrVY8jBTHMcQwlV9xo/6K/L/L85r3sit4BGDrRxRrlo3JxK1J59KyO+CtWrP1jGwCXrhSaHLHKK9Sh0QqCTzvT9aw3ABO+iePHLalcSSsxTiOvUMfJrAQ+TtxE6OEsNqy9iuvJIl6/QLmNaIvr1ToTW0B4QiFp10pY+0sCRZos9KUdojKfeX/dISZ9a74jZE5l1z93auh2Z9osq6M4TJE2ndXHp1CvEtu013I0Jt/ty1eL2XggA73QVdgByS3Q8dEviazec+Nsk8JiPQfO5ZJfqOPanH8R+ctbfLHGsNMoOiOT8QuOczn9nDGfE4Vx7Mm5yPivYln4e/kdIH/vSWbyETsOnzFdrwghOBWVy+nXL7P9y0QOnMtj+7Es1u3PIDKxmIxcw/q3RGvo1H30yxWTTrtT8Y1dX0UlelbvTkenN9/OX66s5s8PIwg7s87s+yW6HH7cdoU1ezI4fDWUb09MQ6PLN75fdkfeycQfGP5pFDOWx5rU52xsAXvP3Pg+lubz0q6dfBhm+F6sjYxg+L41JJVkkZGrRS8EIXFH+Cpxu2mFro92w84vOX36PGBY/8xYmkBCWjHXSnL54stoVHOeY9+RZ0nNvUi7dLiSms/3H17jPwf/ZPWsHDaEWHEmJ5HQ3Ehj5uv2ZZBTYPh+bD2Sxc9/mu8g3uxYRB6ZuTd+E2csv8L6/Rkmw8Qm5fP1siS2HLjC6fkxnPk2hqU709h8KJOMXB2frUrkje8vsyv6RZPv19lLecz9xrDjMztPy3MxcDD0Mr/EHyW5OIX9odn45JtMiu/+25YLayYR8fM7FCyZSFZROH+nrmDistN8/N8IPlx2hYwcLX+FnOaFCGhw/ec/uyjaOG+T0otZ9lk8fx83v0P/jw1v8/emf5t9r6hEz7VsDe/+cJl/fxtrXPZK9FqytPnGvP84lmW6QxFQqWBz5kkmLQnn+9XZ5OmKiEws4vfDmcYdERYWFmw+W49Xv4nn9wsJvLX1sMk4svNNd3B6FkGX67Ny/oYUnv/8xg6NzMJwnr4MjTfkcS1He6MSAgryb2yDvDQzio37Db+zoQnvsGT3/9hztnw2sclFrN1X/gy1Ym0W+SXpFe5ci8/+g79jxhgv7SrQpFzfvjH1v73pRCXeWOmdSv6KbWcX8t7iBPafzTXmczfXz5Ik3ZvkY9aqgU6n48yZM7Rt2xYLCwuuZOcTlZZHSZYt/To5oVKp0Gak89OMy7gUO5L5ShEDXPxw1MDwGFi8JpwW7Vz4bv31X+a2l+BMc7q1TqNtQw+OLRO0HD2H/Dp6/JOn83gC7NydxKXIi6itDmHV0YpmVk/TzcOHFG0WVzXZtLL2w8JChYXasHG4YX86h8/n8c54Fw6Ef09JgsAx3hHOpqIfPZ7EP/Px7uNNUKdsDid8QFefz/l+k5a26ZBlDVeiC7Hx2cXnvzQgO9cZaMTk6+2PzlhHdMY6SkpsKMybjErYA7Bs5zUOHs6mZYGe3QeO82hgB7Q6OF1whYed/Zhw2gYVsHNdNlnRD3OwQQpe3oUsXO3B0HiITSrEy836Rs4FerQFOs6kXiYxowmXLOPp0NDL+L5Wr0ONCrVaTW6BDpUKHOwMP4pC6LmctRU/l8c5HnuAr1c1wE4Ljh31lBzLpkmnHfi61KVxTmcAEtNT+fQzHc2yP2ZIPJxoCrFXbK6PS6DRCjpd/93/KzSQvceL+OVdeCoeihLh1N4s2ge5UD/WhZFxcCbRnauPbSYnxRs3Ty+cOsQTeLwt0U4NWdNuM447/+JEnB9a1Hz5igPh2T8CUKRNI2pDMq2LLDl7MoX6g/wBOJwXxaZVM1DbFjDoA2h+3o9r0X7McQznxBFLJgMOWvj+t6s83esKJ3dnU7TFh96fupGm2kUzt6FYqK0RQhifzyqECjQWXErbTHhME1b+ZUtAozgG0xCAKfGr6HM4iHbY0mjxKE7WhaIPNaxfmUJYWjH9R5/g2a86cdw9j6jG+UwPSebjMZ50uwq7tqThbqVm/YkshnUXPH3aDU7DX97ZONWx4Ov1Kfz0ViOy83V41bXCQq0iNe84TraNOZF8gX7HG3HV4yoHdFk0svHg5B4rJkQ3Yf0J2O90nqxsG/CxYvYEL+zUN5aZ+PQYft4uaOhpTcDvxTQG3jgPnB9MfOM8Di9MIdkF3vuiKQAvfR1LQ69chuJoHEf9Arh4PJcuq3I53Mqap6Z68P6nV8BKg6p3Dnx/jQZAsr0AVFzN0ODlblhWCrOLefM8bPGFH7cYznAYnFtEQJwtP12OI7/1BaJi+vLtYChWWXOxyJGMeF88bto3dSo6l89XX+X7SQ2p62RYra/dm05qtpYJg905fSaMh1o1Qa93wtZaTUGRHv5+GHqcMrvOik8tJi0njVNJIbSt/y8ebu6BEIKMwrO42bUp98xe++vbym/9EEXPtlb8eaKAL19qystJi3CzsGeMqhMnN0ykyfXhh38ahZ21igZ9LjO+VRsa2tQzjmv5h5ex18Kr3zflr5PZrNuURv1CUNd/E02hHU5W3rhbvINj4npifP4gccVH+FyxIFgPKZ5FXEnMwMJKz8zvshicAFssoEkeNMmFheGGSwxmHziNKqMBW8+E0rG9NclnL7PeJRadjRZLfX9OhJc/4uYaVQTYI2KvIbo348/UPzm4sT6JKXVwLYbnMHQsDnsY1m2WemhQABHJeXy3OR+tTlAcVUxwDMxIO0mLXkdxz34a1yLDfvLw7Kuc2Kih2fYiJu7OxLkEWvd1oUuAPQlpJfTt6EzA24b1z7mFXnT40dB5KNIUkqEtwaeOCweOzcR132uMz4Ff92bz4sax/P3CBQYMepjDF/OYvyGF1570wM3Bkl9+6seEy7A/Q8dX1slMGmqFWm3BpyszqFcIvlZ6GjZxQlgIzpw5w79/eYjTLmpWuX3EmcWjaKPtxN4GJ9i8yp+gLjZYHg4itlEiBT45rDuRSOgRW8Ze7+w1XDaSYiB2XhE2Ohi8o5jNyVc4IASTzzoA0PF3H/gd+gCsNyzg135qjPv1/W5zY7aht9ES+FAzrmZpWbc/g7RsDeMGumH37TW0jjD8aDbd29Shd5Ca5g72HP05HWzrkNJQRYuHUkn/JJ0LRd6sbKfmg2AHlmyMpfefdbngUkSKow2/nM+ifzcXMi6e5NVwLwgvpnS3X3yTfHpnAnqB79FihmTAmZy3yJmZQnR4Mm3btiXi2xQeTYPi4als/08OLfLB96ATHOzN7rc/56WI17EQsOd0Dq71tLTxciU42rAuLrU+4hqHU/vxyl+G364dPkV8eimO4BjD7+awWBge9T2DC8Jp4uxOlwb/4be5ifRLgmt/55LZwYqDuZd4wrUD329JYkBHV16OMF2Wdx7P5kh4Hl17hrB5exDp13z491nDEZutmisEPOfOotjDJLlE47CrNyMecaXuV+l8/lAGs2Y05vdQw5lhqVla+FRPR60dMY5w4Gwuy7Zm0ykNmllDoeYaMem/4aJvgoXKi83/K8Za505Gn1jSS9Jp5tSZV+fF4eOrxTbwNJezC3iDngDkFMXg+YeeN67viyzQpHAscSYufIIF0CUV/PJg60OCthlwbnwsC1pBrwGCV8JVnE/J4kBuIem73uGSjTMnrdLo1rgOE06sRnu8LdpCexCGM8OCAq3wsHJi7EdRuFjqSUZNHQ1YqtL4Zmpd9l+eRGfvD6lj7YWNhSupeee4luFFpG0eIRsz8IqCsD4xzO3dhA0HLvOvgQ+x5eSf5K1uxFK3a3z6aYAhr/xjXM1uSh0NHAjPpmcbR/R6vcn2oSRJEoBKVNV5cLVYTk4Ozs7OZGdn4+TkVO3TX7J0H3XdMmkY1J4zO7PYG2WJY54NKXXg4TTo9moKUbvtaLHfGYDFAYYfjfFlflTntwbnEmiaDRo19L5+ECfWs4BGV+uQ3foim4se4gUzZ4TPe/E87Xa24pIzeDteo/MlJ466WJNpDb4d9vLcw20I+8iNhnkw/5FsXg11xu76zugj9aDr9b3Z4c5wtnUCCTm+TPi/eA6G+NGvzAH2RR3yeCXMsLG1thE8d/2Sz6xPpnM2/BEuHh/IK+Fw2R4SBtlw/EIx/z4PeksdV58LZ+35FmjFjR+oyeV3SJNYB3yuX8Z7tq6eY23SGLfHk7r/TuPKcnfsMlSENDfkZ6uDlDqwamoT3v02nOcOWRHtKPjdT0X7DAirC775YOGXTj27TNLSXHn6kWQW/NWax5KhXZmDKqfdTF8fa5ZBu2g3rMscUDjjBkVDCwjfWwcrPYyINpSfrAtH68Godgk4rvE1Dr+2bx6P73Ew2TgrFd4imRbhhg200nysN7dgfz0LGudCUeMYGj+9jA17XqFTWAM6pUPUc9G07ipo22AgR4ffWBDi3sug4RduAEQ5QtMyB183+sPTl4XxEWo7mhQxINoWzbvRqOq6suBXN4a1Ba90WGiZgGW0L44aKFFDkxwoscBkGVCytU0Gg88a6vFrpxweDXeicEgEAasNGy9aFWzxM+zwGXP9DPPlzeCFSMNyeNATelwFlz5FjHqyJb/u/hgR2wRNYiPqtb/GqdAWFAkLkjrGMnFjI7N1+PrRbDo2dCYnzYpPXvRn+KdRZpczgOhGFjSJNXwRzr76G080GsTeTyyJcoK+18/ef3hVE46Vzmgg0xo2NYSxl8qPL6kOeBfAJn/olgp6Dy2Xmp/nsT/bcd4FWmbBeVewtyykUZodAH95Q7Y1BOYIcnUqop1gUIJhfCHNoXM3J14e5MEPW48QdrQur4xW07lpYwB+mBiFawk8s9Cfbdu2YdtiLUd+mom+gSWNOlzgjwPNwTeZCY/nkpK5Hvvo1+j5mCsudo0Z9XEUXdOgWA3xDpBmB/XtdTx3+SrXNK6s8rKjq4cN/q220WBBHwDar/DkxdlXEYBbMTTtmEvT3xxJ8czDLc0BvzJHDgstYLO/YbhYR2jW2JonB4RyPnE//l/+G4CHfrZi3jQNA68YPrO2fS4WWY6UqOHxBHA2cwJIkoMe7zy1cXmyvOnXTaMCi09+YtnPLzPuEsS6asjwysG7XQpWv7XAPd+w/rnoqmdvpzQ0SZ68NsyDTk0cCPnPGTrFOpBnrSPltU1s3/kMr5s5Xf+8C7TKuvE6pDl4FULjHGhx/SDebi/oddMJPoeb5uJ+1dHk+3nJCS64glYNn33ShJOjbixrP7aAQkvDOuzZWLjoAg9lUU6WtSC+bzFO+2xpmAd5loZlsXmZM6jPuUK6DThoMO5YBCjy1HPcUtDk0XA817ZArbUg1gEaXd9/saQ5jLtpWd8y5CqeoZ4UWELQTacqF1hAbGtoddpQ3wOelOs83srXvTOwT3LDLw8evwIJXbLxPep8va2GdUjfRHCwz8LhmovZcfzpA65WhXSOszMpz7SGVU0My+XwGPPTX9QCXgkvM64mhbTuEsOhokY8takOlgISXPPxzbQ3+dw5V2h9/Yqn71oafse7NDlMj83dTIbLsgaXW9w38mg9w86gSDctYU2zGXa0LgDH3Q3zVi1gxJtexExPJrEOtL/+2/XDQ/DehATm/OCLkwaKLMCxBPKt4MXr69xUW/jdD8Zfn6+X7SHHGtpkGpZti/cT0H/ui3uRYV1XNoubLXwI/It0dOx2Y/kBONn5Cs0v1uPhhU5cfNGwC2R/fcP2jdf1K8X+/nApvT8eaxj+4QJira9hHRDNkCW9TKYR4Qy+eVDn+jZLnAM0VDijvex8OOtqaNeCLoU83q2AZgvqlht+Y+9IXC42o/PYY+jqbKauwxMs3utFZpQ/9Qtg5I2vJHvrG5b51YFq8jL0vBQBxWpB3LOnOGcvSA/tiFOJYdmKc4ANDcHSQsdzLcMZNGgQVlZWFVf8Lqnp7WNJksyTHfRqcPj5CK4+F86VfU15ONHGWB7qAYGpkG954whUdStSg+0d3I/n5o0UJdGOhg2OumXOwD5az7DDISD7Rge07A94Vbr4VCwPbTbfYatqV20Np+hVxi5v6FOJy7QryueSk+lG9rYGhg7z01V0k+w/Ghg2gKvKKbcbG4ql0m1Ml4vKfOaKPWz1hVevL38lVlrSn4247eXn7yei6bSjidmOXmX91v0yTx7yv/MRmFGiFljrK3dv4it1YOiSpnzzdSiBR+uR+Wo2gV3ak1uoI/F1w6m2l15ywDH/CEklKXRab+hMF6kNHZnkOoZO2chosNHD7k6JPNapPqpFpjnmWIFTmZyu2YB7saGzV7qD6bu2Jbx+5sbZCeY6obfjij00yL/1cLfryJhNdF32tPH1VQcd+iHK6587XU8CxNtjsnPiTn3dGiafMy0r7WDcTXd7/XyvK81Ht60FDbJrTz4b/eH/zPwWlG533Kl0ey118yt/8qXS8hPS/MaOgJuVqDHZAV4bRDrBIU/odO1GJ/9WdIDSUlGaj+ygS5JU1j3TQV+4cCFz5swhOTmZVq1aMX/+fHr27Fmpz9b0Cqi0gy43cMyTG4DKZD7KHvR8FrWA4Fg9zsVqDvc9z6GrrYAbZ6BEu+qoM/DBzedWHvTl51ZkPspkPspkPspkB12SJHPuiZvErVmzhn//+99MmzaNsLAwevbsyeOPP058/O3dhbqmqPQqHM7WQ1XJo2IPGpmPMpmPsgc9n1fCwbnYsCpPimpFx2vwYpmjUo2zH+x8buVBX35uReajTOajTOajrDQfeRd3SZLKuieOoHft2pWOHTvyww8/GMseeughnn76aWbPnn3Lz9f0HsKy1wNLkiRJkiRJUqkuq5vWyHRrevtYkiTzav1d3EtKSjhx4gTvv/++SXn//v05dOiQ2c8UFxdTXHzjwtacHMOFuhqNBo3mxrNLLSws0Ol06PU3LnQqLddqtSaP9LGwsECtVldYXjreUpaWhmi1Wi1aGw1Z3a/gcqgBFsWWoAJhYXpxlVprgVAJ8+VqPUJdZj+KUKHWqcuVq4QKlU6NsNAjVGXK9SpUejV6Cz2YK7c0fbatSqdGJVRmyxEgLG961IpW/Y/apLfQk9X9Cm77/FEJ7os2AVU2n4QKsnok4BzaALXuxlGIe7lNVTmf9JZ6MnvG43KoAWqd+r5oU1XOJ52V7sb6R2txX7SpKudT6frHdb8fFlqL+6JNZev+T+eT3kJPdmAiLgd8ufkY6L3aJmPdq2A+CSCj52VcQm+sf+71NlXlfCq7/aPWqe+LNlXlfCpd/xQVNcDW1ha9Xo9Od2P8KpUKS0vLCrdV/+k2bNnPSpJUe9T6Dvq1a9fQ6XR4enqalHt6epKSkmL2M7Nnz+ajjz4qV75z507q1DE8r9fPz48OHTpw5swZk1PlAwICaNGiBUePHiUt7cZzVdu3b4+/vz/79u0jN/fGbXYDAwPx8PBg586daLU37vTWq1cv7Ozs2LZtGww1lKUNvYTn2hbo6mi4NvjGrT9VGjX11z1EiWc+Gb1u3NXFMtuGetuaUtgwm+yuN+4mZp1sT909DclreY28NjfqaBftgstRH7I7JVPYJMtY7nC2Ho7nPMjsGU+J1427FTkf8aZOjCvp/WPROt/YoeG22x+bFAdSn76EsLqx8nbf2gSLAiuuPmd6d7iqaJPhQ4K8h9LvmzZV1XxyPF6fEq98MvrEonO+cXvfe7lNVTqfnIrR1C8gbeil+6dNd2E+pQ29dN+1CapuPpV45mGX6Hxftamq5pOw0lPimUfWozfuGnmvt6mq5pPTyfpovG6sf+6HNlXlfLo2JAphpTfmcz+06W7Mp4MHD9KnTx8SEhI4deqUsbxevXp0796dyMhIIiJuPPKgqrZhW7dujSRJtU+tP8U9KSkJHx8fDh06RGBgoLH8008/5ZdffiE8vPytxM0dQff19eXatWvGU3iq8wj6sZcjSfu/SOptbIZFkdUDuZdYqU16Sx1p/xeJ59oWqPSq+6JNQBUeQRekPhtBvQ3NjUdo7vU2Ve0RdB2pz0VQb2Mz402I7vU2VekRdGvtjfWPxvK+aFOVHkG/vv7xWBeAhcbyvmhT2br/4yPoZfJRCdNj6Pdqm4x1r4oj6CrB1efCTdY/93qbqvQIum2Jcf2jvn4Gz73epio9gn79+9W/f3/s7Oyq/Qh6fn4+rq6u8hR3Saplav0RdHd3dywsLModLU9NTS13VL2UjY0NNjY25cqtrKzK3SXTwsICC4vydxYt7WBXtryiu29aWVmZdBpUqECAyszdTFVCZb5cr0Zl5iykCst16nKnIgImnTuT8grurFpRubk6yjbdvTaVbgyodWqz9b8X22Qsr4L5VPoMd7XWwuRz93KbqnI+max/Sk/BvcfbdDfmU2nn835q063Kb7dN5sZzr7fpn84nUbp+vmn9A/dum6Dq51O59fN90KZy4/8HbSrdtlSr1WZvGFfRtuo/3YaVN6eTpNqp1n8zra2t6dSpE3/++adJ+Z9//kn37t1rqFa3Ry9UOB/xRt7F1DyVXuajROajTOajTOajTOajTOajTOajTOajTKVXUXzG22wnW5KkB1et76ADTJ48mcWLF7NkyRIuXrzIW2+9RXx8PBMmTKjpqlVKkUpNnRhXVPp7Iu5yDte7u+NX6e/tfO62Bzmf7Eo8FvZBzqcyZD7KHqR8opygwAKulT/BrEK1JZ+v21Tt+KIdzZdfcLm98dxpPker4Hf1gPmTCEm1vTtXLuZZQlQFuVXkTvM53DjfbPne+rf+7G6v25pUOTnV+DhylV6Nyt1NHsmWJMnEPbFGCA4OZv78+cyaNYv27duzb98+tm3bhr+/f01XrVJOtNCRNiiq3HVLZe3wgd/9brw+7wLzWytvlGztn0mEc8Xvr2p867rtb6Dh2Iid7AvILPdevD0s7pFF6tBEY9nNGy9fV/L+IlqFned6S0M+v/1nD+cnxZi8t2/sjdfLm4HW4saGx4JWsDgAvu57zVimU0GGdeXqVJEVTSDzDTcOts4wlp1zvfH+hoYQ4WzY2L1dlxQ+U3TTtzHVznCOXmk+SstPRVLsIK1entn38sqc6RZzmxtdYOg8/xQAV23Lv5d50zzY1uD2xw9wrkkeZx4uVhxGb6kjdVAU/2uq41Td8hum6xrC2qfCjK/XjzzEGoXvxmk3w78rumbfSZUrlGYLpx+5wC/dc289cBnpNrDt/07f8XQrWn6WNL/x/19u8wk/x92V36+o83OzHCs4URe+a6k8XL4lxDmYH/8lJ8N3cs2gSH5palhv/ukN255Ws61HToXjLO3clOZTbH0jH4e3bI3vR3VIr1xjbnKirunrsLrlh/n61VMAFKtvnSlAsh2sG2Ro02FPw7Ie3/zGF/mwB5xrn2b2swC64Wv4cUQE+54xv0642V/e8L/2OUQ9FUWa/Y18zo7bR+qs82R/cdRY9mMLwzL1XZcbw8V7Qqu55b/8xXew5TF9lDcLu2iNHVutChY+VL6jm29pWC8pWTsqBu3wG72weq/YG//f+LXtXA4oMhle/bUjqytYZ5T9fh0ZZFhWrtoaspgXHMXX/zrJ/gaGe9QUqQ2/mV8/kYjN6EKT3xWAmCbp/OYHaxrD32U6mT9POsjZlmlENruxfgt3hqMeoFEZfvdOP2T4Hfz6w7+JCLhmMt4fHoLvpu9kXw/TR76erAtLm1Ohn5tB0VOGL1u6DayZ+DfFbubXi4c9yozXB6w+syqXj5Ks678ZG/0Nvxe+E6P4ZdiNmxKedoNvO2ppNL78On7huFOccTeM/+TwKMLcDdtO6xrCZj9YPyqN2NL1hxWcdTUceFjT2LAMgWHefNvS8LlLwxw45GE6jRwrwzo82hGKbLRUZN7MnRxplsMW3xu/jVnWsK+CHQt6Sx2uTeJMbjJcG+l0OoqKiuSf/JN/VfxX9p4TZdX6a9BLvfbaa7z22ms1XY07Mvpfvhw5EM6hZiq6XwT/H+pS39mFle+eotkVR373A1W7KHzqqtG0VhF63Jnj5914ZXBdMnJ1pAxOpf7nhl+vS/86Ru9OzTmXMofRrs9w8BEr/vrRgb5JcNAD3lrQ1Pjc9eL6FixX63ghyvBDq1fB2Os3mj1bV9AmXYX924kMqfMQV67shIhgY51/75mIy1OFLGowEICj/zWMU+esgSwrVjeGJHuY8pI9xdbx/BZzEHuHDB6fMQYw/JgeqQcDr8Bv/lBiX0SHbhp6fetIhDM89r4r/5ufSYYNNB10FbfsYj5oMgp7Gztm/R3DwPN6Tg/V8nCgHyyFDAc90991or5jfQ6NiMRSqGjedTu5l/vx2ch27DyayFVbODLsOGQ48f2gR/nfz3E4HLUl4Pr2xA8PQeBVOFUXCiyhVSac7n8OH/s0xjYZxRchSVgIWDSjCWqVCuc2LsS8radxthrPMa4c+TWTrmnw1vs+1HW0ZXdYNhvWXWNonPL8j3CGgGwI8ymk7Sun+fr3Dkw8aYPNTdfIreqewos9rvH3L61RATYdtew5b039Vtk0cyzmcJ8omoX5cNjWgSHXb9qaZQ0uJbDTB4b1dMAn0JXtF5YSFvYInXXODJjkyar0teQnduX8WhicYPjcglbQMVPHI0kW/O4HPTrFU7TZD1u9YQNl0VPe7NiVTuGFYrYNiWDyrze2eM+5QrgLJNYBnRpWNIOHGl1Aa6dBq2lGbKThSQmTzxqGT7WFrs85E/dTNjsbwCvhho2d9uPjWLDHgyfCDcMvaQ7jLoHjsxbkrjOssOq6ZTHitUc4nZCO9oNc4x7FqwFWdP63Own/SmZHA2jvXIxV11T+TrDjfKILjyVDnhWEesDCj5sCTUnsk0FdHOhcrwk/qdM42DqCkmNehI3bDWmuTF7UHq0K2k7MIeEHKz56pTGXjhg2uHf4wIBEyByZz/LT9kztUpdz4RHsaRvD2P92IdsKNvvDC9e3f+PtoUQNdjrDRl37DBANrRg/cTDH8+OY32sX47/ojaPW0NH4wxca50CoJ7x0/Ua9m/wN89epkZa3nu5GSW93PvgxAZVXOg+fcaNbauVPGS17J2KAS30Tefv5FmzZsZTjzVzobKeGD3qTb6Pj2tRMUo9eouVfXbAtsWSzPwyNg+0NDPNtWCw4uyXBNe9y01nV2PBYQIs2Z3Df2pYwd7jgXUibRDt6pkDUwzYcaHcO/b5mjLsE2xppSbIx/Ax93QZaZ0D/6/sDj9SDrtf7mtFNimjWxx4WGpYLz7ZFpJ2wpV4RtJmeRlruRlo7WtLvhce5mqnB09XQObiSUET8oStYCkhqchXvaEOvO6xDEmMmt+bdiyt46cv+aJ2L6RbSmHWvXaZJLrTo4kPLriqK9cV0VjVh3lvRRDtChg389Iork7/PxEoPYyLh925q2pzT0zAP/gwAiw7F+DRVM7pJE/6cGI9PgaEN+leySP/ahQhn6J5qKOvru5cMm/bENdXi5p8E227spU0e78yG0GyevGxYRprNKeRJ59Y8pVaRHpxPG2yZPy+e0eO8WDwnAccSeHaqLydi1MRFGeqzf0A0gZ3t0ava0bapLV1spzH6+vh3Bp5l0+kIGm1vje84HW3VDcmbmUyM443Olrp9Oj16pGJ5TM+6/nF03deErKFbeLX7IFztmqMXWo6POIqtqh7THm7AxpTTvNK2HeGjDDOx18cNsXey5KcAePnGDahp+1NDNv/vNxwOtGWPFxRaQIlzPqPa25OccJSeHZti59GOtxcnMHtifVI1ObSuV4fp468xPSaSS1sfxrNZGEWOLhw8+RBFFvBoClx0hj/8AASUudr4xOgMRM5Z/HcEUa8IhrcKoFNjf3bZH8C1bl0aNfMibXEU6KFt8wEUv+DD5Wk37g7e2duTljOcOffiFQotYH99cNDcmI9a52IOecAbo7owQ3uFus6WBDexx74JfH11B8dGHOHM1kfo/EQe/OHAS90b06dRA74+fB4O2bL/EQseSfqEbaPa0cTJl6iiJOwi2lC40hs7HbT2zeHPkSdZ3XQiOr1AoxV0tFCxK24RpwvaMcilHYG+hr1s3VKisOpQB04bdiI3zYHPJvng4fISh6KvwUHDAvndmDOU+KfSwtGDjLQmuJ+2I2WPmh0NwM09gTr+icx5fARCwPqoItq9asUP7uNZ+ds5k++8x9ueFNSz4NCvSXS4BjZ6ePY//rg7W7HhrSjCNkPn6+ufiy6GHcMBuXqcyuyl2f5/kYzt9hj7Pk/k/17wRGNXRA+fZ+jQvZjU/xl+tHZN3sECvxF4WLtxFMOK9pemMPpFN5Y1e5bFqX/AlmY8HtCEpx71Iz61gMV/pOHppeOjwZ3ZfioSzlvT+EtPspP02NdR0d72HH4OdUmdZEF0XT1WdSz4eXJj9AKeP5NHqh2kdQ1nYGQTMofm8tf/3OjzRBFZfiWsX+TExDDKsbMs5uCLoaxuOpHsghISM4v4elkqdjbFDO3iRMqBElxfdiGgjRsZkcmknk7lamEetfV+zUIIUlJSyMrKqumqSNJ9y8XFhfr166NSlXmUcm2/i3tVyMnJwdnZucbuUqnRaNi2bRtBvQcQl6qjfRPD3vrvkv8g6XQ6r3Z8HH+PG4dXtDpBdHIRAQ3sjGUXjl3mQvw6Wj3qio/jYxy+MpWW9V6mgXMf/j6Vw8Z1qbz/pi8+9Wz474fHyXUu4u23H2FXcgzLwyLo6nyFpwNG8/VXV7AQ0GWQK5v2ZPLLfww/6vHxCaS8W0y8awmxTTIY/q/G+Nrf2AD/4dMTtLrgREoTQcNLasRrjrTrVg9b6xs/smn5YXzwpSNqoHkXNX1b6fh8hQo/D2teG10Hf5u6jPjM8LiR1dOacvB8LpeuFPF8bxe2bdvGoEGDsLKyIrdAx4zlV5g+0gcXRzV7rlykp3sLrOwM12i9N/USTbLUvLKw/GG/D6+sJ7IohdVNJ7IjIoml6woYGg8Ns8HnO1+86lqjAjLzdDjVscDS4saXISm9hBKNoGH9G+d/RsZEc+mIFYNH+PHjlqvsOZ3L6mmG6eYW6PhqXTKDthmOtri878n+PxOwi7Zim48KNzsNqkwrxo7zom1jO3T6YizVNlwuSSejuJCLF3UMf7ghh56PJtEeiodZMLqvL4cvFpJboKNPB2fyCnXY2wi2bdvGwMcHorMAXbElF8fFAnDJJ4/miQ4saQ4/zlI+DLrq+Bts3/YGAO+/5cDOA1fR7LCn0SgY2qkxf5z5mA27h9DSz4vJzxgO34RnbGR3xt90mv6mYb41Bpv26bg71aWHf306N7dHq9eSWByOq20jXCzsKdEIbK3VrP85mSPh+WS7qfjPWF+m/Deet4KvopruyRkPLS8taMFbcStIKczml8YTEBYqrCxV5BXqWDAtlr5JcKn7FZ5/4zEAvt+UguqvPAIed6HX43XJLtTwr/nxePkW8phzDAMff5yLicWEbEujz6Ofsfq393mquysjepk5dAkIoWdE9A84qK0Z7NKBNQtdDG2cfiPHU2G5nEk4x9lrOVxJasK8if7Uv975y9MVkazJwjfLjVcXxVNsAW+dE6iEioiXXNCThmO9byB3Ohf2a5j8ph916hiW4fOZf3E0R0fKxUzaueh4tN1w9HrYG/cSnh9PI6wujJzTkNQsLV51raljY/ie5egKsVRZcDGqhMg5KVy1g8BUWPhoBn3OOhOQWf46xsUtdQxuF47n2hYk2lgQ7gwffNkEtaUKXX4e2qxMLLy8OZYWQ2N7DzwdDKflrE0/yqHkeF736k+Tuob1ZlpiMbFTEigal4XtEhcSG2Tj368R2qWGs02+bgNdW9gy4SlnpkbupLUAt4xA1uwt4IuXfPH3tOFqUQyTd1xEdy6A8U850KGRC0421mTkaPn3D/E0z4InEqDud57k56hY/d8UWvdzoKODHTnzDT12vxfcOVD3GHHp+bw96Gl2Rg3H0dqfQL8vyrX/aqYGDxdLSnTZrHvvCs0SbWGyBV26NCI8bRmbvgzkoUfCGTRoEJO+SyA3T8+KD02/S8P/+I2ujV0Z6xOIi4MlCWmGDodvPcO6YsT80zx0xZ5pXzTGwuLGOvGLTy/S66wVzRb64upmGDa/SMee49l0a2pP3fo2xCYX4eFqxa4tl6i/zorYpkX0GdcU98a2/Hr4HbLUNjT1GMzAhoFUJCtPS7FG4OlqhRCC8IQivLwFLpZ1KvxMqVRNDvUsHVGpVAz/JAorS9Bc36H/3hg3Wns4sm3bNlr2DOTTv8NZ8GQXnKzNnDZTRmFSCZosHU4tDb9he07n8OOWVONOuy6rm6LR5fPeT1extYeY5ofo7eXDK369FMerF1qi0v9HE7dnyNck8UrCNnws7Xle+yxfrEmhYzM73h3mw7XcYv7zUyStGsHLQS2wclWTWxzHyv9o6BhvQdvljU1+uwBKMrXoCvXYeRt2hr+/8ixDf7Mj2hFG/GRYHlIuF+LsboWdvSWXrxZz9c0ErriWYDEwEie/nvTq4Ga23sOjvgdgddOJ6PUCtdrwu5OvK2ZH5nn+r24HdFmZqKxtsLC3Ryt0WKBm//NR2OpUdF7VEK2+AGuLym2/CCE4dzmdAC9HMuN0eAYYloP4lCL+9/kVw/plZAntGrjSwMawro/LTeX9BTk0CIymv99SHKz96O73Zblxr/3qMv7HNESNKCJdm8OkZwz3AtLqBO+G7IK4hnz92Y3vT8jWJNy1xwiLb4Obvy1eblY4L7uGS96NMxi6rK74t2vS9ChsdDBppgv+NobTTEoPQmjetKNHoI+xzQVXirH3Nb9sFhdqiDySQuvHfMu9l3i5EPf61tjYmK4/I4tSsFFZ4WdT/jdErxf89lI03td3wMU4gvcbHiyzC6EAa1Y3nWgc9sLlQuq7WuHmVP6YWOn2Yen2T3W71fZxcnIyWVlZeHh4UKdOHZMOhCRJ/4wQgoKCAlJTU3FxccHLy8vkzftedna2AER2dnaNTL+kpERs2rRJlJSU/KPxpOQeEVpdkRBCiMyCcKHX64UQQuj1epGZqzEONzX+f+K7lD/NjmPq0V3irUM7hV6vFzqd3lh+LT9NHBp+SXyxdr3Zz+XrikVicaaI2pQujgRHirykYrPDabQ6odHqKmzD7jMZ4lJSvknZ7eYTejFbfPG/K2bfK9FrRYHuRt3yCrXi40Xx4j9vRwqdXm/2M//Ux5MjxdRPo4yvL18tEku2p1b682di8kVEQkGF9TOXz5rxkWLzmEixYsppcSQ4Uvy6KfKW0ynW5oj8ohxRojFMJ/JKoQj+JFKkZVWcu16vE/klKWJ/WLxYe/icCP4kUhy6cLXSbbuSViyy8jQmZWNmRopx8y8qfm7xf8+JI8GRYtums8aynHyt2HAg3bjc63R6MXN5gohMyLvj71d80TWRrzV8pyKvFIqYpEKzw+UX6cSO41kVjiclo0Rcvlokci8VisQN6bddj1IaXb7Q6sx/t2628cxLYvP5F8XCsNMiX1skFi/eK44ER4ojwZFi6auR4pvXI0VUdoYY9Vm42LRpk3hnerg4fC5VfL0u6Y7rV1Zk3jmRVZImhBBi3TjDdM3R6fXiwuUCk7KM/BSxbl+6yTqoVLFGJ6ISDfNBp9OLlX+nifwindBqdOKP2fEicX+20N/0uR2RwSI24/db1nnjx4bl6nJsprEsL7/IuPxk5mpEXEpRuc9lawuEVl/xei34/I8iOCykXPnhiBwxanbl1j1bf4s2fJdnXzCWZRZEiMLrGVeHmKRCkZ2vNSmrqt+vEo1eHAmOFFtfKL+cZGryhE4h34oER34n3rm8qtLD5xQUi6NR1yo1bGGJRgR/EimGf1nxuupg6HkRl5B0y3yCI78TwZHfVbqepXYtSKzwe3Wngk8vFh/s31+uPK0kRwSHLxRfJf4hdkQGi/DUn81+/o8jGeJf0yPF1czy7T2cMF3siAw2KTP7+7XksDgSHCnyk/JEbnyuYn33Xfqv+P30bJOyn6cbvisXz9TMNl2phMRCEXo4S2i0eqHRGr7jr0Qvuq15XVXfrzultH2s1WrFhQsXxLVrlfvOSJJ0Z65duyYuXLggtNobv7/yCHo10Ov1XLt2DXd391p7I5B8XRHjY0PoZOfNOz7/V+FwQgiKkjTY+fzDC73LuNv5LNmexs4T2aya2uSu7P2NSizC3dkSF4e7c8WIuXxenhdDXqGevk00NNtsReNvPGlQ7w4uJL9N6Tla6po5CnA7xn0VzYv93AlqW/ENFHYez+LXbdcY/7QHQW2Vv7P3wvfrbsgrTkClssTe2rDHVSt0HBwXgV2htckRqZORuSzfFo27uzvTR93hzQBuYfriOFKuaFk88zYvZq9mBTnFnP/7Cp2famxcF1TF8nOpMIW4kmv0d67kTTnMOHQhnfh5mRQ8Zc24J/xu/YFqUpXfr0nToxCOKr57r0mV1G141Pf4WdflS7/hVTK+m0Wn5eNsZ4W7Q8W/d5XJp+wR9JqWUJxOPSsnbNWmR2v1QrAkbS9PuXbEWQ1WagdUqvLtEUJw5VqJ8eyRsnT6YrT6Imwsb6zbzeVTqCsmsTiTpnUqccc3MzYfyODA1gzeftffeDlLbfGv2KVk6goqPa9r+vdLafu4qKiI2NhYGjZsiJ2dXQVjkCTpnyosLCQuLo5GjRpha2s4C+ieuQb9XqZWq/Hw8Lj1gDXI3sKWVzx60cVe+c5yKpWqSjvncPfzeaGfOwM6O9+1U7Oa+iif7vlPmcvn+0kNQYClpYqkvkU0qFs9P57/tHMOsGTKrTfOWzWsQ4kFBDS4dbb3wvfrbnCwMT1V01Jlgf+X9Ui6lmVS3tLfnpQ8B9zd796pidNf8CO38PZvYljd6jjZ8PDTpstfVSw/ze3q09zuzjobpR5u7kbYEC2je1fibnHVqCq/X2Ne8MLXo2p/P+6mJvXsbznMvbb+8TVzujaAWqXiJY/Hbvl5lUpltnMOYKG2wUJt+p65fOwsbO64cw4wpLsrLRra1brO+Z24F5YfeVq7JN1d5r5jD87hphqk0WjYunUrGo2mpquiqLdTSxws7m5n05y7nY+lhQof93tno/Bm5vKxtlRjbaVGrVJVW+e8Ovm4W7N6WlPqu916vt0r36/q0LBePbo/1MykTKvR8OxDF1Fx9zrQttZq6jnfmxvLtWX5sbJUMfFJT5zq1K7nIVdlPp2a2+Phcm8uJxWpLctPbXU38lGrVSb36LmXyeVHkiRzZAe9mtT2R2jUNJmPMpmPMpmPMisL/a0HeoDJ5UeZzEeZzEeZzEeZzOf+MHPmTNq3b1/T1ZDuE7KDLkmSJEmSdJfUtXS49UCSJFWbDRs2MGDAANzd3VGpVJw6dapaprtv3z6GDBmCt7c3KpWKTZs23VHdFi1axGOPPYaTkxMqlarCx+Bt3bqVrl27Ymdnh7u7O0OHDjV5/9ixY/Tp0wcXFxdcXV3p379/uemdPXuWoKAg7Ozs8PHxYdasWSaPBUxOTmbkyJEEBASgVqv597//rZjBpEmTaNasmdn3EhMTsbCwYMOGDQBkZmYyevRonJ2dcXZ2ZvTo0eXaWpk2CCGYO3cuzZs3x8bGBl9fXz777DOTYVasWEG7du2oU6cOXl5ejB07lvT0dOP7P/30Ez179sTV1RVXV1f69u3L0aNHTcYxZswYVCqV8a9u3boMHDiQM2fOKGZijuygS5IkSZIk3SVz/EbwY8OxNV0NSZKuy8/Pp0ePHnz++efVPt127drx3XffKQ5zq7oVFBQwcOBApk6dWuEw69evZ/To0YwdO5bTp09z8OBBRo4caXw/NzeXAQMG4Ofnx5EjRzhw4ABOTk4MGDDAeMlFTk4O/fr1w9vbm2PHjvHtt98yd+5cvv76a+N4iouLqVevHtOmTaNdu3a3zGD8+PFERUWxf//+cu8tW7aMunXrMmTIEABGjhzJqVOn2L59O9u3b+fUqVOMHj36ttoA8Oabb7J48WLmzp1LeHg4v//+O126dDG+f+DAAV544QXGjx/P+fPnWbt2LceOHeOll14yDrNnzx5GjBjB7t27CQ0Nxc/Pj/79+5OYmGjShoEDB5KcnExycjK7du3C0tKSJ5544pa5lFMj95OvZjX9mDW9Xi+ys7ONj4eSTMl8lMl8lMl8lBUUacXLc86KWb8m1HRVaiW5/Cirzfnc7mPW7obanE9t8KDlMyFmyW09Zq2m81HaPi4sLBQXLlwQhYXmHz9amwUFBYmJEyeKiRMnCmdnZ+Hm5iamTZtWLufY2FgBiLCwsEqNNyEhQQQHBwtXV1dRp04d0alTJ3H48GEhhBAzZswQ7dq1E8uXLxf+/v7CyclJBAcHi5ycHLPjAsTGjRsrnFZl6rZ7924BiMzMTJNyjUYjfHx8xOLFiyv87LFjxwQg4uPjjWVnzpwRgIiKMjw6eOHChcLZ2VkUFd14/Ojs2bOFt7e32WU2KChIvPnmmxVOs1THjh3FmDFjypU3bdpUTJkyRQghxIULFwRgzFcIIUJDQwUgwsPDK92GCxcuCEtLS+NnzJkzZ45o3LixSdmCBQtEgwYNKvyMVqsVjo6O4uefbzyS8sUXXxRPPfWUyXD79u0TgEhNrfjxy+a+a/IIejWRj6hQJvNRJvNRJvNRVqC5v27MVdXk8qNM5qNM5qPsQcrnTp5b/CDlU51+/vlnLC0tOXLkCAsWLGDevHksXrz4jseXl5dHUFAQSUlJ/Pbbb5w+fZp3330Xvf7GPV6io6PZtGkTW7ZsYcuWLezdu7faj9IDnDx5ksTERNRqNR06dMDLy4vHH3+c8+fPG4cJCAjA3d2dkJAQSkpKKCwsJCQkhFatWuHv7w9AaGgoQUFB2NjceDrDgAEDSEpKIi4u7o7rN378eNauXUteXp6xbO/evURFRTFu3DjjtJ2dnenatatxmG7duuHs7MyhQ4cq3Ybff/+dxo0bs2XLFho1akTDhg156aWXyMjIMI63e/fuXLlyhW3btiGE4OrVq6xbt47BgwdX2IaCggI0Gg1ubm4VDpOXl8eKFSto2rQpdeuaf4JGRWQHvRpotVq2bdsmbwRSAZmPMpmPMpmPMp1Wy3Mtw1EjbxRnjlx+lMl8lMl8lMl8lN2L+eiLiymKi632P31x8W3V09fXl3nz5hEQEMCoUaOYNGkS8+bNu+N2r1y5krS0NDZt2sQjjzxC06ZNGTZsGIGBgTey0etZtmwZrVu3pmfPnowePZpdu3bd8TTvVExMDGC4cd306dPZsmULrq6uBAUFGTumjo6O7Nmzh19//RU7OzscHBzYsWMH27Ztw9LS8EjdlJQUPD09TcZd+jolJeWO6zdy5Eh0Oh1r1641li1ZsoTAwEBatmxpHL+5RxB6eHgYp12ZNsTExHD58mXWrl3L8uXLWbZsGSdOnODZZ581jrN79+6sWLGC4OBgrK2tqV+/Pi4uLnz77bcVtuH999/Hx8eHvn37mpRv2bIFBwcHHBwccHR05LfffmPNmjWo1bfX5ZbPQZckSXoAyCfZSpIkSf9USXISV2Z+UO3TbTBzNrYNG1V6+G7dupk8XzowMJCvvvoKnU6HhYXy4ywnTJjAr7/+anydl5fHqVOn6NChg+IR04YNG+Lo6Gh87eXlRWpqaqXrXFVKj+pPmzaNZ555BoClS5fSoEED1q5dy6uvvkphYSHjxo2jR48erFq1Cp1Ox9y5cxk0aBDHjh0zntlx8zO6xfUbxJl7drc5+/fv5/HHHze+/u9//8uoUaMYOnQoS5YsYezYseTm5rJ+/Xrmz59v8llz0xBCGMsr0wa9Xk9xcTHLly+nefPmAISEhNCpUyciIiIICAjgwoULvPHGG/znP/9hwIABJCcn88477zBhwgRCQkLK1eHLL79k1apV7NmzB1tb08dT9+rVix9++AGAjIwMFi5cyOOPP87Ro0eNR/UrQ3bQJUmSJEmSJEm6JWsvbxrMnF0j060us2bN4u233zYpq8ylCFZWppeTqVQqk1Pgq4uXlxeA8Wg0gI2NDY0bNyY+Ph4wnBEQFxdHaGio8ejuypUrcXV1ZfPmzQwfPpz69euXO1JeusPh5iPrFencubPJXdVLPzd+/Hj69OlDZGQke/fuBSA4ONg4XP369bl69Wq58aWlpRnHUZk2eHl5YWlpaeycAzz00EMAxMfHExAQwOzZs+nRowfvvPMOAG3btsXe3p6ePXvyySefGPMEmDt3Lp999hl//fUXbdu2LVc/e3t7mjZtanzdqVMnnJ2d+emnn/jkk08qlRnIDrokSdID4U6ujZQkSZKkstQ2Nrd1JLumHD58uNzrZs2a3fLoORhOo7759Oq2bduyePFiMjIyFI+i1wadOnXCxsaGiIgIHnnkEQA0Gg1xcXHGo7gFBQWo1WqTo9Slr0t3KgQGBjJ16lRKSkqwtrYGYOfOnXh7e9OwYcNK1cXOzs6kw1qqV69eNG7cmGXLlrF7926GDRtmcvZBYGAg2dnZHD161HjH9SNHjpCdnU337t0r3YYePXqg1WqJjo6mSZMmAFy6dAnAJIvSU+JLlS4noswj5ebMmcMnn3zCjh076Ny5c6Xar1KpUKvVFBYWVmp4Yztua2jpjlhaWjJo0KByM18ykPkok/kok/kos7C0ZO2FFujl6t4sufwok/kok/kok/kok/ncPQkJCUyePJmIiAhWrVrFt99+y5tvvgkYTj0+deoUFy5cACAiIoJTp04pXlc9YsQI6tevz9NPP83BgweJiYlh/fr1hIaGVrpOpafKlx5Rjo2N5dSpU8aj2pWtW0pKCqdOnSIqKgowPKv81KlTxuvLnZycmDBhAjNmzGDnzp1ERETwr3/9C4DnnnsOgH79+pGZmcnEiRO5ePEi58+fZ+zYsVhaWtKrVy/AcK24jY0NY8aM4dy5c2zcuJHPPvuMyZMnm3SKS9uUl5dHWlqaSf0rolKpGDt2LD/88AOhoaGMHz/e5P2HHnqIgQMH8vLLL3P48GEOHz7Myy+/zBNPPEFAQECl29C3b186duzIuHHjCAsL48SJE7z66qv069fPeFR9yJAhbNiwgR9++IGYmBgOHjzIG2+8QZcuXfD2Npy58eWXXzJ9+nSWLFlCw4YNSUlJISUlxeRGd2B47FzpexcvXmTSpEnk5eUZHx1XaRXe8/0+Ih+zVrvJfJTJfJTJfJTJx6wpk8uPstqcj3zMWu33oOXzqnzMWq0QFBQkXnvtNTFhwgTh5OQkXF1dxfvvv2/MeenSpQLDiWUmfzNmzFAcb1xcnHjmmWeEk5OTqFOnjujcubM4cuSIEOLGY9bKmjdvnvD39ze+Ln0s2s1/L774onGYytRtxowZZodZunSpcZiSkhIxZcoU4eHhIRwdHUXfvn3FuXPnTOq3c+dO0aNHD+Hs7CxcXV1F7969RWhoqMkwZ86cET179hQ2Njaifv36YubMmeWWV3N1KdvuiiQkJAi1Wi0CAgLMvp+eni5GjRolHB0dhaOjoxg1alS5R8pVpg2JiYli6NChwsHBQXh6eooxY8aI9PR0k2EWLFggWrZsKezs7ISXl5cYNWqUuHLlivF9f3//W86XF1980eQ9R0dH8fDDD4t169Yp5mDuu6YSosyx+/tUTk4Ozs7OZGdn4+TkVO3T12g0bNu2jUGDBpW7PkWS+dyKzEeZzEdZXn4xu/7azrm8Dkwb5VfT1al15PKjrDbnMzzqe/ys6/Kl3/Aaq0Ntzqc2eNDymRC7lCxdAaubTqzU8DWdj9L2cVFREbGxsTRq1KjcjbBqu8cee4z27duXu+mYJNVG5r5r8pxHSZIkSZIkSZIkSaoFZAddkiRJkiRJkiRJkmoBeVeKaiJvAKJM5qNM5qNM5qNMo5P7YpXI5UeZzEeZzEfZg5SPuIPnZTxI+VSXPXv21HQVJOkfkWuFamBlZcXgwYNruhq1lsxHmcxHmcxHmaWVFesuPkSrhrd+tMyDSC4/ymQ+ymQ+ymQ+ymQ+kiSZIw+rVAO9Xk9qaqrxmXySKZmPMpmPMpmPMr1eT32HPFTySehmyeVHmcxHmcxHmcxHmcxHkiRzZAe9Guh0OkJDQ9HpdDVdlVpJ5qNM5qNM5qNMr9PRq+FlVMgNQHPk8qOsNufTzaEJL3s8VqN1qM351AYyH2UyH0mSzJGnuEuSJEmSdM/5d/2BNV0FSTKhQlXTVZAk6T4gj6BLkiRJkiRJkiRJUi0gO+jVQKVS4ejoiEol96yaI/NRJvNRJvO5BZWK7CKbmq5FrSWXH2UyH2UyH2UyH2Uyn/vHzJkzad++fU1XQ7pPyA56NbC0tKR3797yURoVkPkok/kok/kos7S0ZFtUU/TIu7ibI5cfZTIfZTIfZTIfZTKf6qfRaHjvvfdo06YN9vb2eHt788ILL5CUlHTXp71v3z6GDBmCt7c3KpWKTZs2lRtmw4YNDBgwAHd3d1QqFadOnSo3zKJFi3jsscdwcnJCpVKRlZVldnpbt26la9eu2NnZ4e7uztChQ03eP3bsGH369MHFxQVXV1f69+9fbnpnz54lKCgIOzs7fHx8mDVrFkLcuOnshg0b6NevH/Xq1cPJyYnAwEB27NhRYQaTJk2iWbNmZt9LTEzEwsKCDRs2AJCZmcno0aNxdnbG2dmZ0aNHl2trZdoghGDu3Lk0b94cGxsbfH19+eyzz0yGWbFiBe3ataNOnTp4eXkxduxY0tPTje//9NNP9OzZE1dXV1xdXenbty9Hjx41245Dhw5hYWHBwIF3fhlWre6gx8XFMX78eBo1aoSdnR1NmjRhxowZlJSU1HTVboter+fy5cvyLp0VkPkok/kok/ko0+v1NHbNlDeJq4BcfpTJfJTJfJTJfJTJfKpfQUEBJ0+e5MMPP+TkyZNs2LCBS5cu8eSTT971aefn59OuXTu+++47xWF69OjB559/XuEwBQUFDBw4kKlTp1Y4zPr16xk9ejRjx47l9OnTHDx4kJEjRxrfz83NZcCAAfj5+XHkyBEOHDiAk5MTAwYMQKPRAJCTk0O/fv3w9vbm2LFjfPvtt8ydO5evv/7aOJ59+/bRr18/tm3bxokTJ+jVqxdDhgwhLCzMbL3Gjx9PVFQU+/fvL/fesmXLqFu3LkOGDAFg5MiRnDp1iu3bt7N9+3ZOnTrF6NGjb6sNAG+++SaLFy9m7ty5hIeH8/vvv9OlSxfj+wcOHOCFF15g/PjxnD9/nrVr13Ls2DFeeukl4zB79uxhxIgR7N69m9DQUPz8/Ojfvz+JiYnl2rFkyRImTZrEgQMHiI+Pr3AeKRKVlJmZKbZt2ya2bt0q0tPTK/uxf+SPP/4QY8aMETt27BDR0dFi8+bNwsPDQ0yZMuW2xpOdnS0AkZ2dfZdqqqykpERs2rRJlJSU1Mj0azuZjzKZjzKZj7LcvCKxadMm8cmvl2u6KrWSXH6UyXyUyXyUPWj5vBqzRARHflfp4Ws6H6Xt48LCQnHhwgVRWFhYAzX7Z4KCgsTEiRPFxIkThbOzs3BzcxPTpk0Ter3e7PBHjx4VgLh8Wfl3MiEhQQQHBwtXV1dRp04d0alTJ3H48GEhhBAzZswQ7dq1E8uXLxf+/v7CyclJBAcHi5ycHLPjAsTGjRsrnFZsbKwARFhYWIXD7N69WwAiMzPTpFyj0QgfHx+xePHiCj977NgxAYj4+Hhj2ZkzZwQgoqKihBBCLFy4UDg7O4uioiLjMLNnzxbe3t4VZimEEC1bthQfffRRhe937NhRjBkzplx506ZNjX28CxcuCMCYrxBChIaGCkCEh4dXug0XLlwQlpaWxs+YM2fOHNG4cWOTsgULFogGDRpU+BmtViscHR3Fzz//bFKel5cnHB0dRXh4uAgODlbMoZS571qljqAfOHCAJk2aMHr0aIKDg2natCl79uy5sz0Ct2HgwIEsXbqU/v3707hxY5588knefvtt46kPkiRJkiRJklQbCMStB5Kqxc8//4ylpSVHjhxhwYIFzJs3j8WLF5sdNjs7G5VKhYuLS4Xjy8vLIygoiKSkJH777TdOnz7Nu+++a3L2Q3R0NJs2bWLLli1s2bKFvXv3Kh4Jv1tOnjxJYmIiarWaDh064OXlxeOPP8758+eNwwQEBODu7k5ISAglJSUUFhYSEhJCq1at8Pf3ByA0NJSgoCBsbG7cx2bAgAEkJSURFxdndtp6vZ7c3Fzc3NwqrN/48eNZu3YteXl5xrK9e/cSFRXFuHHjjNN2dnama9euxmG6deuGs7Mzhw4dqnQbfv/9dxo3bsyWLVto1KgRDRs25KWXXiIjI8M43u7du3PlyhW2bduGEIKrV6+ybt06Bg8eXGEbCgoK0Gg05dq5Zs0aAgICCAgI4Pnnn2fp0qUmlwRUVqUuepk8eTKff/45L7/8MhqNhtdee41///vfZq+LuNuys7MVZzpAcXExxcXFxtc5OTmA4bqT0lMe1Go1FhYW6HQ6ky9XablWqzUJ1MLCArVaXWF52VMpAOP1RFqt1vieRqMxKS/LysoKvV5v8ixMlUqFpaVlheUV1b062lSZ8sq2qex07pc2lS3/p20qHebmutzLbarK+VT6+bKfudfbZK78TttUOh41OnQ63X3RpqqcT6VtKP3s/dCmm8v/SZvK5lN2PPdym6Dq5tPNOd0Pbbob86n03/upTebqbqlTYalTVXp7r3RcWq1Wsa13q03386n1vr6+zJs3D5VKRUBAAGfPnmXevHm8/PLLJsMVFRXx/vvvM3LkSJycnCoc38qVK0lLS+PYsWPGfkjTpk1NhtHr9SxbtgxHR0cARo8eza5du/j000+ruHXKYmJiAMON677++msaNmzIV199RVBQEJcuXcLNzQ1HR0f27NnDU089xccffwxA8+bN2bFjh3HZTUlJoWHDhibj9vT0NL7XqFGjctP+6quvyM/PZ9iwYRXWb+TIkUyZMoW1a9cyduxYwHBaeGBgIC1btjSO38PDo9xnPTw8SElJAahUG2JiYrh8+TJr165l+fLl6HQ63nrrLZ599ln+/vtvwNBBX7FiBcHBwRQVFaHVannyySf59ttvK2zD+++/j4+PD3379jUpDwkJ4fnnnwcMB5rz8vLYtWtXueFuxaSDPnPmTKZNm4aVlZXJQFFRUbzwwguAYcUyfPhw1qxZc1sTqgrR0dF8++23fPXVV4rDzZ49m48++qhc+c6dO6lTpw4Afn5+dOjQgTNnzphcHxAQEECLFi04evQoaWlpxvL27dvj7+/Pvn37yM3NNZYHBgbi4eHBzp07TVbCvXr1ws7Ojm3bthnL/vzzTwYNGkRhYSG7d+82lltaWjJ48GCuXbtGaGiosdzR0ZHevXuTkJBgsjOkXr16dO/encjISCIiIozlNdEmoEraZGVlhUqluq/aVFXzqU2bNtSrV49Dhw6Z7G28l9tUlfMpPz8fMHy/7pc23Y351NLhDGfOZN1XbYKqm08ZGRl4eXndV22qqvlUr149MjIyTG6Ic6+3qarmU5s2bbC1tTWuf+6HNlXlfCqtY2k+90OblOZTfwwdt23h226rTYcOHaJPnz7V3qbWrVtzu3T6YvJL7v4N1W5mb+2NhbryTyTp1q2byd3xAwMD+eqrr4w7qsGw42j48OHo9XoWLlxoHHbChAn8+uuvxtd5eXmcOnWKDh06KB4kbNiwobFzDuDl5UVqamql61xVSne8TJs2jWeeeQaApUuX0qBBA9auXcurr75KYWEh48aNo0ePHqxatQqdTsfcuXMZNGgQx44dw87ODqDcEwZKd/CYe/LAqlWrmDlzJps3bzZ2rvfv38/jjz9uHOa///0vo0aNYujQoSxZsoSxY8eSm5vL+vXrmT9/vsn4zE1DCGEsr0wb9Ho9xcXFLF++nObNmwOGTnSnTp2IiIggICCACxcu8MYbb/Cf//yHAQMGkJyczDvvvMOECRMICQkpV4cvv/ySVatWsWfPHmxtbY3lERERHD161Himt6WlJcHBwSxZsuS2O+gqUWZXWocOHSgsLGTRokU8+uijxoEee+wxevfuzZQpU8jPz2fChAlcvXqVgwcP3tbESs2cOdNsB7qsY8eO0blzZ+PrpKQkgoKCCAoKqvAUlVLmjqD7+vpy7do1496x+3VvvmyTbJNsk2xT2TYVFmmZsCCOh/zseH+4z33RpvtxPsk2yTbJNt37bfr35V/J1hWytPHL90Sb8vPzcXV1JTs7u9zR46KiImJjY2nUqJFJJySnKJbDVz6gunVrMBsn2/JHbM157LHHaNy4MUuWLDGWbd68mWeffZaioiIsLCzQaDQMGzaMmJgY/v77b+rWrWscNjU11Xj2LRiOlE+ZMoXjx4+zd+9es9OcOXMmmzZtMtnBMn/+fObPn2/2dHCVSsXGjRt5+umnzY4vLi6ORo0aERYWVuHj2/bs2UOvXr3IzMw0OT1/9+7d9O7dm/379/PII48Yy7t27Urfvn359NNPCQkJYerUqSQnJxvPBiopKcHV1ZWQkBCGDx/OCy+8QHZ2Nps3bzaOIywsjI4dOxITE2NyBH3NmjWMHTuWtWvXmpwaXlhYaHIjNU9PTxwdHfn777/p06cPly5dYu/evfz73/8mOTnZuINjyZIlTJ48udxd211cXJg3bx5jx46tVBtmzJjBZ599ZvK9LSwspE6dOuzcuZN+/foxevRoioqKWLt2rXGYAwcO0LNnT5KSkvDy8jKWz507l08++YS//vrLpJ8K8O677zJnzhzjDiAw7FCwsrIiOTkZV1dXs/PR3HfN5Aj68ePH+eqrrxg0aBAjRozgyy+/xNXVlW+//Zb/+7//M3aq/fz82Lhxo9mJVMbrr7/O8OHDFYcpe0pFUlISvXr1IjAwkEWLFt1y/DY2NibXS5SysrIqd3aAhYWFSZClKnrkRUXlN4+3bLlOpyMyMpJmzZoZ9/qYG16tVpucMner8orqXh1tqmx5ZdpUNp/7pU1l/dM26XQ6wsPDadasmdl23YttulX57dRdp9MRHR1tXH5uVfd7oU0Vld9Jm9RqPS3c0xH4Gttxr7epKudT2fXP7da9ovKablNl6ljZ8rLrn9tpa21uU6mqmE83/35Vpu61vU1K5bfbJrVabTafe7lNSnXXWgi0CJNhlNp08/qnuttkblq3Ym/tTbcGs2/7c/+UvbX3bQ1/+PDhcq9Ll8PSznlkZCS7d+826ZyD4TTqm0+vbtu2LYsXLyYjI+OWl9rWtE6dOmFjY0NERISxg67RaIiLizNem11QUIBarTY5Sl36unSnT2BgIFOnTqWkpARra2vAcDayt7e3ST9t1apVjBs3jlWrVpW7btvOzq7cpQBgOPOkcePGLFu2jN27dzNs2DCTsw8CAwPJzs7m6NGjxjuuHzlyhOzsbLp3717pNvTo0QOtVkt0dDRNmjQB4NKlSwAmWdz83Sj9XpXdoTVnzhw++eQTduzYUa5zrtVqWb58OV999RX9+/c3ee+ZZ55hxYoVvP766+VyqJC5u8nFxMSIAQMGCE9PT7Fy5UohhOGOgOfOnRNnz56t1rtNXrlyRTRr1kwMHz5caLXaOxqHvIt77SbzUSbzUSbzUSbv4q5MLj/KZD7KZD7KHrR8XokJkXdxrwWCgoKEg4ODeOutt0R4eLhYuXKlsLe3Fz/++KPQaDTiySefFA0aNBCnTp0SycnJxr/i4uIKx1lcXCyaN28uevbsKQ4cOCCio6PFunXrxKFDh4QQN+7iXta8efOEv7+/8XVubq4ICwsTYWFhAhBff/21CAsLM7l7fHp6uggLCxNbt24VgFi9erUICwsTycnJxmGSk5NFWFiY+OmnnwQg9u3bJ8LCwkyesvXmm28KHx8fsWPHDhEeHi7Gjx8vPDw8REZGhhBCiIsXLwobGxvxr3/9S1y4cEGcO3dOPP/888LZ2VkkJSUJIYTIysoSnp6eYsSIEeLs2bNiw4YNwsnJScydO9c4nZUrVwpLS0vx/fffm2SZlZV1y/n08ccfC1dXVwGIAwcOlHt/4MCBom3btiI0NFSEhoaKNm3aiCeeeML4fmXaoNPpRMeOHcWjjz4qTp48KY4fPy66du0q+vXrZxzP0qVLhaWlpVi4cKGIjo4WBw4cEJ07dxZdunQxDvPFF18Ia2trsW7dOpN25ubmCiGE2Lhxo7C2tjbb7qlTp4r27dtXmIO575riY9ZWrFghPD09xcCBA0VsbKzSoHdFYmKiaNq0qejdu7e4cuWKSSC3Q3bQazeZjzKZjzKZjzLZQVcmlx9lMh9lMh9lD1o+soNeOwQFBYnXXntNTJgwQTg5OQlXV1fx/vvvC71eb3x8mbm/3bt3K443Li5OPPPMM8LJyUnUqVNHdO7cWRw5ckQIUbkOeulj0W7+e/HFF43DLF261OwwM2bMMA4zY8YMs8MsXbrUOExJSYmYMmWK8PDwEI6OjqJv377i3LlzJvXbuXOn6NGjh3B2dhaurq6id+/eIjQ01GSYM2fOiJ49ewobGxtRv359MXPmTJNHrAUFBd2yTRVJSEgQarVaBAQEmH0/PT1djBo1Sjg6OgpHR0cxatSoco+Uq0wbEhMTxdChQ4WDg4Pw9PQUY8aMKffI8AULFoiWLVsKOzs74eXlJUaNGiWuXLlifN/f319xvjzxxBNi0KBBZttx4sQJAYgTJ06Yfd/cd83kGnRzMjMzefvtt/nf//7Hf/7zH6ZMmXJHp8TciWXLlhnv7nezW1TbRE5ODs7OzmavsakOGo2GbdsMNwyp6NSoB5nMR5nMR5nMR1lefjG7/trOubwOTBvlV9PVqXXk8qNM5qNM5qPsQcvn1dglZOsKWd10YqWGr+l8lLaPK7oG/V7w2GOP0b59+3I3HZOk2sjcd82kp52Tk8Mrr7yCt7c3bm5uDBkyhMzMTEJCQtiyZQtLliyhY8eOHDt2rFoqPGbMGIThKH+5v3uJWq3Gz8+v2nZs3GtkPspkPspkPspUajXRGS4Iyt8NVZLLz63IfJTJfJTJfJTJfCRJMsdkjTBx4kT27t3LV199xbJlyygsLGTIkCEABAUFcfr0aZ566imCgoJ48803a6TC9yILCws6dOhg9kYeksznVmQ+ymQ+yiwsLDia5INAbgCaI5cfZTIfZTIfZTIfZTIfSZLMMdli27p1K/Pnz2fEiBE8+eSTrFy5kvDwcOMD762trfnoo484efKkyWMEJGU6nY6wsDCTR2dIN8h8lMl8lMl8lOl0Orp4J2Kh0t964AeQXH6UyXyUyXyUyXyUyXzujj179sjT26V7mkkH3dnZmejoaOPrmJgYhBA4OzubfKhFixYVPgdQKk+v1xMfH2/yrErpBpmPMpmPMpmPMmtLaOKWxUsD3Wu6KrWSXH6UyXyUyXyUyXyUyXwkSTLH5KFv7777Lm+88QZbt27F3t6enTt3MmbMmHLPB5QkSZLuLa6O5p+LK0mSJEmSJNUeJlts//rXv2jVqhXbtm2jqKiIxYsXM2zYsJqqmyRJkiRJkiRJkiQ9MModUnn00Ud59NFHa6Iu9y21Wk1AQIC8S2cFZD7KZD7KZD7KZD7KZD7KZD7KZD7KZD7KZD6SJJkjz3msBhYWFrRo0aKmq1FryXyUyXyUyXyUyXyUyXyUyXyUyXyUyXyUyXwkSTJH7rKrBlqtlkOHDqHVamu6KrWSzEeZzEeZzEeZzEeZzEeZzEeZzEeZzEeZzEeSJHNkB70aCCFIS0tDCFHTVamVZD7KZD7KZD7KZD7KZD7KZD7KZD7KZD7KZD73j5kzZ9K+ffuaroZ0n5AddEmSJEmSJEmSHggzZ86kRYsW2Nvb4+rqSt++fTly5Mhdn+6+ffsYMmQI3t7eqFQqNm3aVG6YDRs2MGDAANzd3VGpVJw6darcMIsWLeKxxx7DyckJlUpFVlaW2elt3bqVrl27Ymdnh7u7O0OHDjV5/9ixY/Tp0wcXFxdcXV3p379/uemdPXuWoKAg7Ozs8PHxYdasWSY7lA4cOECPHj2oW7cudnZ2tGjRgnnz5lWYwaRJk2jWrJnZ9xITE7GwsGDDhg0AZGZmMnr0aJydnXF2dmb06NHl2rpr1y66d++Oo6MjXl5evPfeeyZnpERERNCrVy88PT2xtbWlcePGTJ8+HY1GYxxmzJgxqFSqcn+tWrUyDvPTTz/Rs2dPXF1djcvM0aNHzbbj0KFDWFhYMHDgwApzuBXZQZckSZIkSZIk6YHQvHlzvvvuO86ePcuBAwdo2LAh/fv3Jy0t7a5ONz8/n3bt2vHdd98pDtOjRw8+//zzCocpKChg4MCBTJ06tcJh1q9fz+jRoxk7diynT5/m4MGDjBw50vh+bm4uAwYMwM/PjyNHjnDgwAGcnJwYMGCAsfOak5NDv3798Pb25tixY3z77bfMnTuXr7/+2jgee3t7Xn/9dfbt28fFixeZPn0606dPZ9GiRWbrNX78eKKioti/f3+595YtW0bdunUZMmQIACNHjuTUqVNs376d7du3c+rUKUaPHm0c/syZMwwaNIiBAwcSFhbG6tWr+e2333j//feNw1hZWfHCCy+wc+dOIiIimD9/Pj/99BMzZswwDvPNN9+QnJxs/EtISMDNzY3nnnvOOMyePXsYMWIEu3fvJjQ0FD8/P/r3709iYmK5dixZsoRJkyZx4MAB4uPjK5xHisQDIDs7WwAiOzu7Rqav0+lEXFyc0Ol0NTL92k7mo0zmo0zmo0zmo0zmo0zmo0zmo+xBy+flmBARHPldpYev6XyUto8LCwvFhQsXRGFhYQ3U7J8JCgoSEydOFBMnThTOzs7Czc1NTJs2Tej1erPDl+bw119/KY43ISFBBAcHC1dXV1GnTh3RqVMncfjwYSGEEDNmzBDt2rUTy5cvF/7+/sLJyUkEBweLnJwcs+MCxMaNGyucVmxsrABEWFhYhcPs3r1bACIzM9OkXKPRCB8fH7F48eIKP3vs2DEBiPj4eGPZmTNnBCCioqKEEEIsXLhQODs7i6KiIuMws2fPFt7e3hVmKYQQ//d//yeef/75Ct/v2LGjGDNmTLnypk2biilTpgghhLhw4YIAjPkKIURoaKgARHh4uBBCiA8++EB07tzZZBwbN24Utra2FeYuhBBvvfWWeOSRRyp8f+PGjUKlUom4uLgKh9FqtcLR0VH8/PPPJuV5eXnC0dFRhIeHi+DgYPHRRx9VOI5S5r5rd3QEfdy4cUyfPv2u72m6X6jVavz9/eVjNCog81Em81Em81Em81Em81Em81Em81Em81Em87l7fv75ZywtLTly5AgLFixg3rx5LF68uNxwJSUlLFq0CGdnZ9q1a1fh+PLy8ggKCiIpKYnffvuN06dP8+6776LX643DREdHs2nTJrZs2cKWLVvYu3ev4pHwu+XkyZMkJiaiVqvp0KEDXl5ePP7445w/f944TEBAAO7u7oSEhFBSUkJhYSEhISG0atUKf39/AEJDQwkKCsLGxsb4uQEDBpCUlERcXJzZaYeFhXHo0CGCgoIqrN/48eNZu3YteXl5xrK9e/cSFRXFuHHjjNN2dnama9euxmG6deuGs7Mzhw4dAqC4uBhbW1uTcdvZ2VFUVMSJEyfMTjsqKort27cr1i8kJIS+ffsaczCnoKAAjUaDm5ubSfmaNWsICAggICCA559/nqVLl97RPSbuaI2wbNkyPvvsM5o0acKHH354J6N4oGi1Wv7++295l84KyHyUyXyUyXyUyXyUyXyUyXyUyXyUyXyUyXzuHl9fX+bNm0dAQACjRo1i0qRJJtdGb9myBQcHB2xtbZk3bx5//vkn7u7uFY5v5cqVpKWlsWnTJh555BGaNm3KsGHDCAwMNA6j1+tZtmwZrVu3pmfPnowePZpdu3bd1XaaExMTAxiutZ8+fTpbtmzB1dWVoKAgMjIyAHB0dGTPnj38+uuv2NnZ4eDgwI4dO9i2bRuWloancKekpODp6Wky7tLXKSkpJuUNGjTAxsaGzp07M3HiRF566aUK6zdy5Eh0Oh1r1641li1ZsoTAwEBatmxpHL+Hh0e5z3p4eBinPWDAAA4dOsSqVavQ6XQkJibyySefAJCcnGzyue7du2Nra0uzZs3o2bMns2bNMlu35ORk/vjjD8X6A7z//vv4+PjQt29fk/KQkBCef/55AAYOHEheXt4dLQN31EGPjY3l7NmzfP7550RERNzJKB4oQghyc3PlXTorIPNRJvNRJvNRJvNRJvNRJvNRJvNRJvNRdi/mU6zXEFuUVu1/xXrNrStXRrdu3VCpVMbXgYGBREZGotPpAOjVqxenTp3i0KFDDBw4kGHDhpGamgrAhAkTcHBwMP4BnDp1ig4dOpQ7YlpWw4YNcXR0NL728vIyjrM6lR7VnzZtGs888wydOnVi6dKlqFQqY6e4sLCQcePG0aNHDw4fPszBgwdp1aoVgwYNorCw0DiushkCxmX15vL9+/dz/PhxfvzxR+bPn8+qVauM5WWzXLFiBS4uLgwdOpQlS5YAhuvh169fbzx6XtG0S6dfWt6/f3/mzJnDhAkTsLGxoXnz5gwePBgACwsLk8+tWbOGkydPsnLlSrZu3crcuXPNZrds2TJcXFx4+umnK0gXvvzyS1atWsWGDRtMjuBHRERw9OhRhg8fDoClpSXBwcHGdt4Oy9v+BBgP+bdq1YrXXnvtTkYhSZIkSZIkSfeN8t2J+09SSRYfXPlftU93doNhNLKtV2Xjs7e3p2nTpjRt2pRu3brRrFkzQkJC+OCDD5g1axZvv/22yfB2dna3HKeVlZXJa5VKZXIKfHXx8vICMB6NBrCxsaFx48bGm5atXLmSuLg4QkNDjZdYrFy5EldXVzZv3szw4cOpX79+uSPlpTscbj6y3qhRIwDatGnD1atXmTlzJiNGjKBz584md4Yv/dz48ePp06cPkZGR7N27F4Dg4GDjcPXr1+fq1avl2paWlmYy7cmTJ/PWW2+RnJyMq6srcXFxfPDBB8b6lPL19TVmotPpeOWVV5gyZYpJR14IwZIlSxg9ejTW1tZms507dy6fffYZf/31F23btjV5LyQkBK1Wi4+Pj8k4raysyMzMxNXV1ew4zamwg152D4U5OTk5ODk5VXpCkiRJkiRJkiTdu7ytXZjdYFiNTPd2HD58uNzrZs2alTuyWkoIQXFxMWA4jfrm06vbtm3L4sWLycjIUDyKXht06tQJGxsbIiIieOSRRwDQaDTExcUZD7IWFBSgVqtN+nqlr0t3KgQGBjJ16lRKSkqMHdadO3fi7e1Nw4YNK5x+2Szt7Oxo2rRpuWF69epF48aNWbZsGbt372bYsGEmZx8EBgaSnZ3N0aNH6dKlCwBHjhwhOzub7t27m4xLpVLh7e0NwKpVq/D19aVjx46K9dNoNOXOXCm9Dn78+PFmPzdnzhw++eQTduzYQefOnU3e02q1LF++nK+++or+/fubvPfMM8+wYsUKXn/99QrrZK6SZvXq1UtcvXrV7HtHjx4VjRs3vuVd6WqL2nAX96tXrz4wdzG9XTIfZTIfZTIfZTIfZTIfZTIfZTIfZQ9aPq/cwV3cazKf+/ku7g4ODuKtt94S4eHhYuXKlcLe3l78+OOPIi8vT3zwwQciNDRUxMXFiRMnTojx48cLGxsbce7cuQrHWVxcLJo3by569uwpDhw4IKKjo8W6devEoUOHhBA37uJe1rx584S/v7/xdW5urggLCxNhYWECEF9//bUICwsTly9fNg6Tnp4uwsLCxNatWwUgVq9eLcLCwkRycrJxmOTkZBEWFiZ++uknAYh9+/aJsLAwkZ6ebhzmzTffFD4+PmLHjh0iPDxcjB8/Xnh4eIiMjAwhhBAXL14UNjY24l//+pe4cOGCOHfunHj++eeFs7OzSEpKEkIIkZWVJTw9PcWIESPE2bNnxYYNG4STk5OYO3eucTrfffed+O2338SlS5fEpUuXxJIlS4STk5OYNm3aLefTxx9/LFxdXQUgDhw4UO79gQMHirZt24rQ0FARGhoq2rRpI5544gmTYb788ktx5swZce7cOTFr1ixhZWVlcnf8X3/9VaxZs0ZcuHBBREdHi//973/Cx8dHjBo1qtz0nn/+edG1a1ezdf3iiy+EtbW1WLdunUhOTjb+5ebmCiEMd363trYWWVlZ5T47depU0b59+wpzMPddq7CD7unpKerXry927dplUj5//nxhbW0tHn744QonVNvUdAddkiRJkiRJur/dbge9pt3PHfTXXntNTJgwQTg5OQlXV1fx/vvvC71eLwoLC8X//d//CW9vb2FtbS28vLzEk08+KY4ePXrL8cbFxYlnnnlGODk5iTp16ojOnTuLI0eOCCEq10EvfSzazX8vvviicZilS5eaHWbGjBnGYWbMmGF2mKVLlxqHKSkpEVOmTBEeHh7C0dFR9O3bt9wOiJ07d4oePXoIZ2dn4erqKnr37i1CQ0NNhjlz5ozo2bOnsLGxEfXr1xczZ840ecTaggULRKtWrUSdOnWEk5OT6NChg1i4cGGldjolJCQItVotAgICzL6fnp4uRo0aJRwdHYWjo6MYNWpUuUfK9erVSzg7OwtbW1vRtWtXsW3bNpP3V69eLTp27CgcHByEvb29aNmypfjss8/KLddZWVnCzs5OLFq0yGxd/P39FefLE088IQYNGmT2sydOnBCAOHHihNn3zX3XVEKYvzPF1atXGTlyJPv27WPatGlMmjSJ8ePH89tvv/H6668zd+7cCs/Pr21ycnJwdnYmOzu7Rk7L12g07Ny5k/79+5e7PkWS+dyKzEeZzEeZzEeZzEeZzEeZzEfZg5bPq7FLyNYVsrrpxEoNX9P5KG0fFxUVERsbS6NGjco9yqq2e+yxx2jfvj3z58+v6apI0i2Z+65VeBd3T09P/vrrL6ZOncqnn35KgwYN2LdvH+vWrWPBggX3TOe8tpCP0FAm81Em81Em81Em81Em81Em81Em81Em81Em85Ek6WaKj1lTqVTUrVsXtVpNcXExnp6eJncElCRJkiRJkiTJcM6rJEnSP1VhBz03N5fnnnuOt956i5dffpljx44B8PDDD/PLL79UWwUlSZIkSZIkSZIqY8+ePfL0dumeVuE16M2aNSM1NZXFixfz3HPPAYZb8r/66qusWLGCsWPHEhISUq2VvVM1fQ26EILc3FwcHR0VH133oJL5KJP5KJP5KJP5KJP5KJP5KJP5KHvQ8nkldgk5t3ENek3nc79egy5J95Lbugbd0dGREydOGDvnAHXq1OGXX35h0aJFrF69+u7X+D5iZ2dX01Wo1WQ+ymQ+ymQ+ymQ+ymQ+ymQ+ymQ+ymQ+ymQ+kiTdrMIOemhoqNkHywO89NJLHDly5K5V6n6j1WrZtm2bvBFIBWQ+ymQ+ymQ+ymQ+ymQ+ymQ+ymQ+ymQ+ymQ+kiSZU2EH3cbGRvGDrVu3rvLKKCkuLqZ9+/aoVCpOnTpVrdOWJEmSJEmSJEmSpLvNUulNnU7HH3/8wcWLFyksLDR5T6VS8eGHH97VypX17rvv4u3tzenTp6ttmpIkSZIkSZIkSZJUXSrsoKenp9OzZ0/Cw8NRqVSU3kuu7E0sqquD/scff7Bz507Wr1/PH3/8US3TlCRJkiRJkiRJkqTqVOEp7tOmTcPW1pbLly8jhODIkSNERkYyefJkmjdvTnx8fLVU8OrVq7z88sv88ssv1KlTp1qmWdUsLS0ZNGgQlpaKJyw8sGQ+ymQ+ymQ+ymQ+ymQ+ymQ+ymQ+ymQ+ymQ+94+ZM2fSvn37mq6GdJ+osIO+a9cuJk+ejLe3t2FAtZomTZowZ84c+vbty9tvv33XKyeEYMyYMUyYMIHOnTtX+nPFxcXk5OSY/AFoNBrjn06nAwyn8Zsr12q1JuV6vV6xvGyZRqNBCIEQwvg6NzfXbHnpH4BerzcpK71pSEXlFdW9utp0q/LbaVNeXt5916aqnE+FhYX3XZuqcj6Vfr/upzZV5Xwqzed+alNVzqfc3Nz7rk1VOZ8KCwvvuzZV5XzKy8u779pUlfOp7Pr5fmlTRXW31Kmw1Kluq025ubk13qYH2auvvopKpaqW56bv27ePIUOG4O3tjUqlYtOmTeWG2bBhAwMGDMDd3b3C+24tWrSIxx57DCcnJ1QqFVlZWWant3XrVrp27YqdnR3u7u4MHTrU5P1jx47Rp08fXFxccHV1pX///uWmd/bsWYKCgrCzs8PHx4dZs2YZz6q+2cGDB7G0tFTcUTFp0iSaNWtm9r3ExEQsLCzYsGEDAJmZmYwePRpnZ2ecnZ0ZPXp0ubbu2rWL7t274+joiJeXF++9957JTRcjIiLo1asXnp6e2Nra0rhxY6ZPn278LgKMGTMGlUpV7q9Vq1Zm67l69WpUKhVPP/202fcPHTqEhYUFAwcOrDCHW6lwl92VK1do2LAhFhYWqNVq8vPzje8NGTKEkSNH3vFEZ86cyUcffaQ4zLFjxzh06BA5OTl88MEHtzX+2bNnmx3/zp07jUfh/fz86NChA2fOnDE5GyAgIIAWLVpw9OhR0tLSjOXt27fH39+fffv2kZubaywPDAzEw8ODnTt3miwQvXr1ws7Ojm3btpnUYdCgQRQWFrJ7925jmaWlJYMHD+batWuEhoYayx0dHenduzcJCQkmX5h69erRvXt3IiMjiYiIMJbfy20qHU90dPR906aqmk9t2rTh7NmzODg4GHdk3Ottqsr5lJuby/79+++rNt2P86m2t+nhhx/G29v7vmpTVc0nrVbLww8/zLFjx+6bNlXVfGrdujX79u0zmea93qaqnE9//vnnfdcmpfk0ADcAtoVvu602OTg40KdPn2pvU3Xf8Lm22bRpE0eOHDEejLzb8vPzadeuHWPHjuWZZ56pcJgePXrw3HPP8fLLL5sdpqCggIEDBzJw4MAK+0jr16/n5Zdf5rPPPqN3794IITh79qzx/dzcXAYMGMBTTz3FwoUL0Wq1zJgxgwEDBnDlyhWsrKzIycmhX79+9OrVi2PHjnHp0iXGjBmDvb09U6ZMMZlednY2L7zwAn369OHq1asVZjB+/Hi+++479u/fT8+ePU3eW7ZsGXXr1mXIkCEAjBw5kitXrrB9+3YAXnnlFUaPHs3vv/8OwJkzZxg0aBDTpk1j+fLlJCYmMmHCBHQ6HXPnzgXAysqKF154gY4dO+Li4sLp06d5+eWX0ev1fPbZZwB88803fP7558Z6aLVa2rVrZ/Ko8VKXL1/m7bffLlf3spYsWcKkSZNYvHgx8fHx+Pn5VThshUQFGjRoILZs2SKEEMLX11d8//33xvdWrVolnJ2dK/roLaWlpYmLFy8q/hUWFoqnnnpKqNVqYWFhYfwDhIWFhXjhhRcqHH9RUZHIzs42/iUkJAhAXLt2TZSUlIiSkhKh1WqFEEJotVpjWdlyjUZjUq7T6RTLy5aVlJQIvV4v9Hq9KCkpEfn5+WLTpk0iPz/fpLzsnxBC6HQ6kzKNRqNYXlHdq6NNlSmvbJtK8ymt6/3QpqqcT0VFRWLTpk2ioKDgvmlTVc6n4uJi4/frfmlTVc6nsuuf+6VNVTmfSvMpKiq6b9pUlfOpbD73S5uqcj6VlJSUW//c622qyvlUdv1zv7RJqe4TLoWIUeHfV7pNpfkUFBTUSJsyMzMFILKzs8XNCgsLxYULF0RhYWG592q7oKAgMXHiRDFx4kTh7Ows3NzcxLRp04RerzcOc+XKFeHj4yPOnTsn/P39xbx582453oSEBBEcHCxcXV1FnTp1RKdOncThw4eFEELMmDFDtGvXTixfvlz4+/sLJycnERwcLHJycsyOCxAbN26scFqxsbECEGFhYRUOs3v3bgGIzMxMk3KNRiN8fHzE4sWLK/zssWPHBCDi4+ONZWfOnBGAiIqKEkIIsXDhQuHs7Gz8fRRCiNmzZwtvb2+TLIUQIjg4WEyfPt2Yg5KOHTuKMWPGlCtv2rSpmDJlihBCiAsXLgjAmK8QQoSGhgpAhIeHCyGE+OCDD0Tnzp1NxrFx40Zha2tbYe5CCPHWW2+JRx55pML3N27cKFQqlYiLizMp12q1okePHmLx4sXixRdfFE899VS5z+bl5QlHR0cRHh4ugoODxUcffVThdEqZ+65VeAS9U6dOnD9/nsGDBzNo0CBmzZqFk5MT1tbWTJ06lW7dut3+3oDr3N3dcXd3v+VwCxYs4JNPPjG+TkpKYsCAAaxZs4auXbtW+DkbGxuzj4mzsrLCysrKpMzCwgILC4tyw1Z0PVBF5TeP11y5lZWV8SZ75oZXq9Wo1eWvOqiovKK6V2ebblUu2/TP21R6Go6lpaXZ+tyLbbpV+e3Uvex3quz793KbKiq/kzaVjsfKysrYjnu9TXdjPpVO635qk1Idb7dcrVbfVlvvlTb90/lUeoqwue2Le7VNSuV32qab87kf2mSuXGsh0KrELdt6c91Lp1VT67370c8//8z48eM5cuQIx48f55VXXsHf39949HT06NG88847FZ7GfLO8vDyCgoLw8fHht99+o379+pw8edLkMoHo6Gg2bdrEli1byMzMZNiwYXz++ed8+umnd6uZZp08eZLExETUajUdOnQgJSWF9u3bM3fuXGN7AwICcHd3JyQkhKlTp6LT6QgJCaFVq1b4+/sDEBoaSlBQkEmfasCAAXzwwQfExcXRqFEjAJYuXUp0dDS//vqrSb+tIuPHj+fdd9/l22+/xcHBAYC9e/cSFRXFuHHjjNN2dnY26e9169YNZ2dnDh06REBAAMXFxdja2pqM287OjqKiIk6cOMFjjz1WbtpRUVFs37693On+ZYWEhNC3b19jDqVmzZpFvXr1GD9+vMmZm2WtWbOGgIAAAgICeP7555k0aRIffvihyU3WK6PCb+brr7+Os7MzAB9//DH169fnhRdeYPjw4VhYWPDNN9/c1oTuROnpY6V/zZs3B6BJkyY0aNDgrk+/KskbgCiT+SiT+SiT+SiT+SiT+SiT+SiT+SiT+SiT+dwdvr6+zJs3j4CAAEaNGsWkSZOYN28eAF988QWWlpa88cYblR7fypUrSUtLY9OmTTzyyCM0bdqUYcOGERgYaBxGr9ezbNkyWrduTc+ePRk9ejS7du2q8rbdSkxMDGC4pHj69Ols2bIFV1dXgoKCyMjIAAyXiuzZs4dff/0VOzs7HBwc2LFjB9u2bTMukykpKXh6epqMu/R1SkoKAJGRkbz//vusWLGi0svyyJEj0el0rF271li2ZMkSAgMDadmypXH8Hh4e5T7r4eFhnPaAAQM4dOgQq1atQqfTkZiYaNxBkJycbPK57t27Y2trS7NmzejZsyezZs0yW7fk5GT++OMPXnrpJZPygwcPEhISwk8//aTYtpCQEJ5//nkABg4cSF5e3h0tAxV20Pv27curr74KGK6BCQsL4/Tp05w5c4aLFy8SEBBw2xN7UFlZWTF48OAK97o+6GQ+ymQ+ymQ+ymQ+ymQ+ymQ+ymQ+ymQ+yu7FfIo1emKTi6r9r1hzeze069atm8lRy8DAQCIjIzlx4gTffPMNy5Ytq/Co5oQJE3BwcDD+AZw6dYoOHTrg5uZW4TQbNmyIo6Oj8bWXlxepqam3Ve+qUHpUf9q0aTzzzDN06tSJpUuXolKpjJ3iwsJCxo0bR48ePTh8+DAHDx6kVatWxnsnlLo5I1Hmsds6nY6RI0fy0UcfGQ+i3mz//v0mWa5YsQIXFxeGDh3KkiVLAMP18OvXrzcePa9o2qXTLy3v378/c+bMYcKECdjY2NC8eXMGDx4MUO7MkjVr1nDy5ElWrlzJ1q1bjdeo32zZsmW4uLiY3AAuNzeX559/np9++knxDPCIiAiOHj3K8OHDAcPOt+DgYGM7b0eld9upVCratGlz2xOoSg0bNqzwzoG1mV6v59q1a7i7u9/XpxPdKZmPMpmPMpmPMpmPMpmPMpmPMpmPMpmPsnsxn6RrJXyw5Eq1T3f2uAY08rK99YC3sGfPHlJTU01u3KXT6ZgyZQrz588nLi6OWbNmlXtalZ2d3S3HffOOFpVKVSN3yvfy8gIwHo0Gw+W/jRs3Nt5UcOXKlcTFxREaGmpc9lauXImrqyubN29m+PDh1K9f33i0ulTpDgdPT09yc3M5fvw4YWFhvP7664BhmRZCYGlpyc6dOwkMDDS58WHpEfjx48fTp08fIiMj2bt3LwDBwcHG4erXr2/2ZnNpaWkmR/UnT57MW2+9RXJyMq6ursTFxfHBBx8YT78v5evra8xEp9PxyiuvMGXKFJOOvBCCJUuWMHr0aKytrY3l0dHRxMXFGW9eV9pOMHTCIyIiaNKkCSEhIWi1Wnx8fEzGaWVlRWZmJq6uruXaU5FbdtDPnz/P5cuXKSoqKvee0vn70g06nY7Q0FAGDRp0z6yAq5PMR5nMR5nMR5nMR5nMR5nMR5nMR5nMR9m9mI+3uzWzx1X/Zabe7ta3HqiMw4cPl3vdrFkzxowZw4ABA0zeGzBgAKNHj2bs2LGA4TTqm0+vbtu2LYsXLyYjI0PxKHpt0KlTJ2xsbIiIiOCRRx4BDPcziouLM15XXVBQgFqtNjlKXfq6tPMZGBjI1KlTKSkpMXZYd+7cibe3t/Ggadk7wwMsXLiQv//+m3Xr1tGoUSPs7Oxo2rRpuTr26tWLxo0bs2zZMnbv3s2wYcNMzj4IDAwkOzubo0eP0qVLFwCOHDlCdnY23bt3NxmXSqUy3ol/1apV+Pr60rFjxwrzEdcff3jzQd/S6+DHjx9vUt6iRYty7Zw+fTq5ubl88803+Pr6otVqWb58OV999RX9+/c3GfaZZ55hxYoVxp0YlVFhBz06Oppnn32WM2fOGBtTVumpDZIkSZIkSZIk3f9srNRVciT7bktISGDy5Mm8+uqrnDx5km+//ZavvvqKunXrUrduXZNhraysqF+/vuLluyNGjOCzzz7j6aefZvbs2Xh5eREWFoa3t7fJdehK8vLyiIqKMr6OjY3l1KlTuLm5GY/oZ2RkEB8fT1JSEoDx8Xr169enfv36gOH67JSUFOO4zp49i6OjI35+fri5ueHk5MSECROYMWMGvr6++Pv7M2fOHADjo8P69evHO++8w8SJE5k0aRJ6vZ7PP/+c/2/vzuOiqvf/gb8GhmUwQBAQEEVywR1NUhELcQF3y0rKXCiyvNflpuXN1BK73aTcytRbJlB9UyuTlJJMbwJqmhlCKuYOuUGGGyCCwHx+f/jjXAdmPmwzzECv5+PBQ+ecM+d83q+ZOTOfOWc+R61WIzQ0FACU09cjIyMxf/58nD59Gm+99RZef/115VrhlS/V5+HhAXt7+2ov4adSqfDMM89gxYoVuH79utK+Cp07d8awYcMwdepUfPjhhwDuXmZt1KhROo/T0qVLMWzYMFhZWSEhIQExMTH48ssvlSPjGzZsgI2NDbp37w47OzukpaXh1VdfRURERJXfzMfGxqJv375V2q6vnubNmwP436UKt27diuvXryMqKkoZw63C448/jtjYWON00J9//nnk5uZi5cqV6Ny5s86hfiIiIiIiIks0efJk3L59G3369IG1tTVmzpyJ559/vs7rs7W1xc6dO/HSSy9hxIgRKCsrQ5cuXbBmzZoar+OXX35ROr/A3dOzAWDKlCn4+OOPAQCJiYnKkXwAyu+ZFy1ahOjoaADABx98gMWLFyvLPPzwwwDujqYeGRkJ4G7HVa1WY9KkSbh9+zb69u2L3bt3K6dZd+rUCd988w0WL16MoKAgZcT3HTt2KKfIOzs7Y9euXZg+fToCAwPh4uKCOXPmKO2ur8jISCxatAj+/v4IDg6uMn/Dhg2YNWuWckR6zJgxWL16tc4y3333Hf7973+jpKQEAQEB2LZtG4YPH67MV6vVePvtt3Hq1CkIIeDr64vp06dj9uzZOuu5efMmtmzZUudB0CtGfq/cOQfuHkF/6623cPjwYemR/XuphIEfdTs6OuKjjz5SnhiNWX5+PpydnXHz5k04OTk1+PbLysqwZ88ePPzwwxytUw/mI8d85JiPHPORYz5yzEeO+cj91fKZei4WBdpifN5+eo2WN3c+ss/HxcXFyMrKgp+fX5VLWVm6gQMHomfPnnj33XfN3RSiaul7rRncG7i7u+v9FoBqT61WY9CgQeZuhsViPnLMR475yDEfOeYjx3zkmI8c85FjPkSkj8ERKf72t79Ve603qhmtVovff//dLCM5NgbMR475yDEfOeYjx3zkmI8c85FjPnLMh4j0MXgEfe7cuXjppZfQu3dvDB8+vMqIhSqVqsr5+6RfeXk5MjIy4O3t3WhG6WxIzEeO+cgxHznmI8d85JiPHPORYz5yzMc0UlJSzN0Eonox2EE/ePAgPvnkE1y7dg3p6elV5rODTkRERERERGQ8BjvoM2bMgJubG+Li4jiKOxEREREREZGJGeygZ2Zm4vPPP8eYMWMasj1Nkkqlgru7O1QqlbmbYpGYjxzzkWM+csxHjvnIMR855iPHfOSYDxHpY7CD3qZNGxi4AhvVklqtRv/+/c3dDIvFfOSYjxzzkWM+csxHjvnIMR855iPHfIhIH4MjUsybNw/Lli1DcXFxQ7anSSovL8eJEydQXl5u7qZYJOYjx3zkmI8c85FjPnLMR475yDEfOeZDRPoYPIJ++PBhXLp0Ce3atUNoaKjeUdzfe+89kzewKdBqtTh58iTatWsHa2trczfH4jAfOeYjx3zkmI8c85FjPnLMR475yDEfItLHYAd99erVyv83btxYZT476ERERERE9FcXHR2NrVu3IiMjw9xNoSbA4CnuWq1W+sfTcYiIiIiIqDGJjIyESqXS+evXr5/Jt7tnzx6MHj0a3t7eUKlU2Lp1a5VlEhISEB4eDjc3N6hUKr0d/nXr1mHgwIFwcnKCSqXCjRs39G5v+/bt6Nu3LzQaDdzc3DBu3Did+YcOHcLgwYPRvHlzuLi4ICwsrMr2jh49ipCQEGg0GrRq1QpvvPGGzhhlKSkpVbJUqVQ4ceKE3jbNnDkTHTp00Dvv0qVLsLa2RkJCAgDg+vXrmDRpEpydneHs7IxJkyZVqfWHH35A//794ejoCC8vL7zyyisoKytT5kdHR+ttX7NmzZRlEhISMHToULi7u8PJyQlBQUH4/vvv9bYRAD7//HOoVCo88sgjeufv378f1tbWGDZsmMF1VMdgB52Mx8rKCm3atIGVFePWh/nIMR855iPHfOSYjxzzkWM+csxHjvmYz7Bhw5CTk6P8JSUlmXybt27dQkBAgM5ZyvqWCQ4ORkxMjMFlioqKMGzYMMyfP9/gMlu2bMGkSZPwzDPP4Ndff8WPP/6ICRMmKPMLCgoQHh6ONm3a4ODBg9i3bx+cnJwQHh6O0tJSAEB+fj6GDh0Kb29vHDp0CO+//z6WLVuGFStWVNneyZMndfI01AmPiorCmTNnsHfv3irzPv74Y7Ro0QKjR48GAEyYMAEZGRnYsWMHduzYgYyMDEyaNElZ/siRIxgxYgSGDRuG9PR0fP7550hMTMS8efOUZV5++WWdduXk5KBLly544oknlGX27NmDoUOHIikpCWlpaQgNDcXo0aORnp5epY2///47Xn75ZTz00EMGs4+Li8PMmTOxb98+nD9/3uByUuIeqampoqCgQFTnzz//FLGxsdUuZylu3rwpAIibN2+auylERERE1AQ9d3a9iDi92tzNqDHZ5+Pbt2+L48ePi9u3b5uhZfUTEhIipk+fLqZPny6cnZ2Fq6urWLBggdBqtUIIIaZMmSLGjh1b6/VeuHBBRERECBcXF+Hg4CB69+4tfvrpJyGEEIsWLRIBAQHi008/Fb6+vsLJyUlERESI/Px8vesCIL7++muD28rKyhIARHp6usFlkpOTBQBx/fp1nemlpaWiVatWYv369Qbve+jQIQFAnD9/Xpl25MgRAUCcOXNGCCHE2rVrhbOzsyguLlaWWbJkifD29layNNQGmQceeEBERkZWmd6+fXvx0ksvCSGEOH78uACg5CuEEAcOHBAAxIkTJ4QQQrz66qsiMDBQZx1ff/21sLe3N5h7RkaGACD27NkjbWOXLl3E4sWLdaaVlZWJ4OBgsX79eoPPocLCQuHo6ChOnDghIiIiqqxDH32vNZ2v7EJDQ3H8+HHltlarha2tbZVvEM6ePYupU6fW7RuBv6Dy8nKkp6fzZwEGMB855iPHfOSYjxzzkWM+csxHjvnIMR/T+eSTT6BWq3Hw4EGsWrUKK1euxPr165X5KSkp8PDwQMeOHTF16lRcuXJFur7CwkKEhITg8uXLSExMxK+//op//vOf0Gq1yjJnz57F1q1b8e233+Lbb79Famqq9Ei4qVQM9G1lZYVevXrBy8sLw4cPR2ZmprKMv78/3NzcEBsbizt37uD27duIjY1F165d4evrCwA4cOAAQkJCYGdnp9wvPDwcly9fRnZ2ts42K7YzePBgJCcnS9sXFRWFzZs3o7CwUJmWmpqKM2fO4Nlnn1W27ezsjL59+yrL9OvXD87Ozti/fz8AoKSkBPb29jrr1mg0KC4uRlpamt5tr1+/Hh07dpQeAddqtSgoKKgyQPobb7wBd3d3REVFGbzvF198AX9/f/j7+2PixImIj4+v02XLdTrolVcghEBZWRmvh15PWq0W58+f13kR0/8wHznmI8d85JiPHPORYz5yzEeO+cg1xnzKS7S4lVXc4H/lJbXLqHXr1li5ciX8/f3x9NNPY+bMmVi5ciUAYPjw4diwYQN2796N5cuX49ChQxg0aBBKSkoMrm/jxo34888/sXXrVgwYMADt27fH+PHjERQUpCyj1Wrx8ccfo1u3bnjooYcwadIk/PDDD3ULuh7OnTsH4O7vrxcuXIhvv/0WLi4uCAkJwbVr1wAAjo6OSElJwWeffQaNRoP77rsP33//PZKSkqBW3x1DPDc3Fy1bttRZd8Xt3NxcAICXlxfWrVuHLVu2ICEhAf7+/hg8eDD27NljsH0TJkxAeXk5Nm/erEyLi4tDUFAQunTpoqzfw8Ojyn09PDyUbYeHh2P//v3YtGkTysvLcenSJbz55psAgJycnCr3LSkpwYYNG6QdbABYvnw5bt26hfHjxyvTfvzxR8TGxuKjjz6S3jc2NhYTJ04EcPdnFIWFhXV6DhgcxZ2IiIiIiKhC8eU7yHz1YoNvt+sSHzTzs69+wf+vX79+UKlUyu2goCAsX74c5eXliIiIUKZ369YNgYGB8PX1xfbt2zFu3DhMmzYNn332mbJMYWEhMjIy0KtXrypHVe/Vtm1bODo6Kre9vLyqPTJvChVf+CxYsACPPfYYACA+Ph4+Pj7YvHkzXnjhBdy+fRvPPvssgoODlQ7usmXLMGLECBw6dAgajQYAdDIE/ncwt2J6xdHiCkFBQbhw4QKWLVuGhx9+GHv37sXw4cOV+R9++CGefvppjBs3DnFxcXjmmWdQUFCALVu24N1339XZVuVtV2y/YnpYWBiWLl2KadOmYdKkSbCzs8Nrr72Gffv26b1sYUJCAgoKCjB58mSD2W3atAnR0dHYtm2b8gVBQUEBJk6ciI8++ghubm4G73vy5En8/PPPyiB3arUaERERiIuLw5AhQwzeTx920ImIiIiIqFr23rbousTHLNs1FS8vL/j6+uL06dMA7p7K/PLLL+ssU9FhlbGxsdG5rVKpzHJ2hJeXFwAoR6MBwM7ODvfff78yaNnGjRuRnZ2NAwcOKIMUbty4ES4uLti2bRuefPJJeHp6KkerK1R84VD5yPq9+vXrp3zBERgYqDMyfMX9oqKiMHjwYJw+fRqpqakAoPPFiaenJ/74448q6/7zzz91tj1nzhzMnj0bOTk5cHFxQXZ2Nl599VX4+flVue/69esxatQoeHp66m33F198oZx+f2+H+uzZs8jOzlYGrwP+9yWIWq3GyZMn0a5dO8TGxqKsrAytWrVSlhNCwMbGBtevX4eLi4vBzCpjB70BWFlZwd/fn6N0GsB85JiPHPORYz5yzEeO+cgxHznmI9cY87G2s6rVkWxz+emnn6rc7tChg94jq1evXsWFCxeUjq2Hh0eV06t79OiB9evX49q1a9Kj6Jagd+/esLOzw8mTJzFgwAAAQGlpKbKzs5XflxcVFcHKykrnKHXF7YrOZ1BQEObPn487d+7A1vbuFyQ7d+6Et7c32rZta3D76enpSpYajQbt27evskxoaCjuv/9+fPzxx0hOTsb48eN1zj4ICgrCzZs38fPPP6NPnz4AgIMHD+LmzZvo37+/zrpUKhW8vb0B3D0C3rp1azzwwAM6y2RlZSE5ORmJiYl627xp0yY8++yz2LRpE0aOHKkzr1OnTjh69KjOtIULF6KgoADvvfceWrdujbKyMnz66adYvnw5wsLCdJZ97LHHsGHDBsyYMcNgZpVV6aCfPHlS+e1BxaAVla9lZ+jadqSftbU1OnXqZO5mWCzmI8d85JiPHPORYz5yzEeO+cgxHznmYzoXLlzAnDlz8MILL+Dw4cN4//33sXz5chQWFiI6OhqPPfYYvLy8kJ2djfnz58PNzQ2PPvqowfU99dRTeOutt/DII49gyZIl8PLyQnp6Ory9vXV+hy5TWFiIM2fOKLezsrKQkZEBV1dXtGnTBgBw7do1nD9/HpcvXwZwt18G3D2iXHHkNzc3F7m5ucq6jh49CkdHR7Rp0waurq5wcnLCtGnTsGjRIrRu3Rq+vr5YunQpACiXFxs6dCjmzp2L6dOnY+bMmdBqtYiJiYFarUZoaCiAu78VX7x4MSIjIzF//nycPn0ab731Fl5//XWlY//uu++ibdu26Nq1K+7cuYPPPvsMW7ZswZYtW6RZqFQqPPPMM1ixYgWuX7+utK9C586dMWzYMEydOhUffvghAOD555/HqFGjdE6pX7p0KYYNGwYrKyskJCQgJiYGX375ZZUvYuLi4pTB8irbtGkTJk+ejPfeew/9+vVTzhrQaDRwdnaGvb09unXrpnOf5s2bA4AyfevWrbh+/TqioqLg7Oyss+zjjz+O2NjYWnXQdS6zplKphJWVlc6fbFpjYe7LrJWWlooff/xRlJaWmmX7lo75yDEfOeYjx3zkmI8c85FjPnJ/tXxqe5k1c+fTlC+z9ve//11MmzZNODk5CRcXFzFv3jyh1WpFUVGRCAsLE+7u7sLGxka0adNGTJkyRedyY4ZkZ2eLxx57TDg5OQkHBwcRGBgoDh48KIT432XW7rVy5Urh6+ur3K64JFnlvylTpijLxMfH611m0aJFyjKLFi3Su0x8fLyyzJ07d8RLL70kPDw8hKOjoxgyZIg4duyYTvt27twpgoODhbOzs3BxcRGDBg0SBw4c0FnmyJEj4qGHHhJ2dnbC09NTREdHK5dYE0KIt99+W7Rr107Y29sLFxcXMWDAALF9+/ZqsxTi7mXrrKyshL+/v975V69eFU8//bRwdHQUjo6O4umnn65yObfQ0FDh7Ows7O3tRd++fUVSUlKV9ZSXlwsfHx8xf/58vdsJCQmp9nGprPJl1kaNGiVGjBihd9m0tDQBQKSlpemdr++1phLif0O0f/LJJzXv2QOYMmVKrZY3l/z8fDg7O+PmzZtwcnJq8O2XlpYiKSkJI0aMqPL7FGI+1WE+csxHjvnIMR855iPHfOT+avlMPReLAm0xPm8/vUbLmzsf2efj4uJiZGVlwc/Pr8qlrCzdwIED0bNnzyqDjhFZIn2vNZ1T3BtLh5uIiIiIyJII8LLERFR/NRqVQgiBgoICXg+diIiIiIiIyESkHfSDBw8iPDwcDg4OaN68ORwcHBAeHl5lZERT2759O/r27QuNRgM3NzeMGzeuQbdfX9bW1ujZs6fekSOJ+VSH+cgxHznmI8d85JiPHPORYz5yzMc0UlJSeHo7NWoGL7O2e/duDB8+HI6OjjrXwvvmm28QEhKCpKQkDB482OQN3LJlC6ZOnYq33noLgwYNghCiylD3ls7Kykq5rAFVxXzkmI8c85FjPnLMR475yDEfOeYjx3yISB+DR9BfeeUV9OrVC9nZ2YiPj8eSJUsQHx+PrKwsBAQEYN68eSZvXFlZGf7xj39g6dKlmDZtGjp27Ah/f388/vjjJt+2MZWVlWH37t0oKyszd1MsEvORYz5yzEeO+cgxHznmI8d85JiPHPMhIn0MdtCPHTuGf/7zn7jvvvt0pjs6OuKVV17BsWPHTN64w4cP49KlS7CyskKvXr2U69dlZmaafNvGxN/wyzEfOeYjx3zkmI8c85FjPnLMR475yDWGfCy5bURNgb7XmMFT3D08PGBlpb//bm1tDXd3d+O1zIBz584BAKKjo7FixQq0bdsWy5cvR0hICE6dOgVXV1e99yspKUFJSYlyOz8/H8Ddy1mUlpYCuHtakbW1NcrLy6HVapVlK6aXlZXpBGZtbQ0rKyuD0yvWW0GtvhttWVmZMq+0tFRn+r1sbGyg1WpRXl6uTFOpVFCr1QanG2p7Q9RUk+k1rene7TSVmu6dXt+aKpap3JbGXJMxH6eK+997n8Zek77pda3p3v1PU6nJmI9TRQ0V920KNVWeXp+a7s3n3vU05poA4z1OlXNqCjWZ4nGq+Lcp1aSv7epyFdRaVY0/71Wsq6ysTFqrqWq6976VVVz2raioCBqNxuByRFQ/RUVFAKBzqUWDHfQXXngBK1euxMiRI3XucOfOHaxYsQLPP/98nRsSHR2NxYsXS5c5dOiQsuNYsGABHnvsMQBAfHw8fHx8sHnzZrzwwgt677tkyRK969+5cyccHBwAAG3atEGvXr1w5MgRnD9/XlnG398fnTp1ws8//4w///xTmd6zZ0/4+vpiz549KCgoUKYHBQXBw8MDO3fu1NkJh4aGQqPRICkpSZm2a9cujBgxArdv30ZycrIyXa1WY+TIkcjLy8OBAweU6Y6Ojhg0aBAuXLiAjIwMZbq7uzv69++P06dP4+TJk8p0c9QEwCg1VWhKNRnrcerevTsAYP/+/SgsLGwSNRnzcarIZNeuXU2mJlM8Trt27WpyNQHGe5yuXr0Kb2/vJlWTsR6ninwOHTrUZGoy1uPUrVs3AP/b/zSFmoz5OFW0sSKfplCT7HEaDjcAQNKJpFrVtH//fgwePLjBa6p4/upjbW2N5s2b48qVKwAABwcHqFQqg8sTUe0IIVBUVIQrV66gefPmOoNFqoSBc1eWLl2K1atXQ6vVYty4ccogcQkJCbC2tsaMGTOUb49VKhVmz55d4wbl5eUhLy9Pukzbtm1x4MABDBo0CHv37sWAAQOUeX379sWQIUPw73//W+999R1Bb926NfLy8uDk5ASgYb9R1Wq1uHr1Klq0aAFbW1tl+r0a27fENZle05q0Wi2uXbuGli1bQgjRJGq6d3p9HyeVSoVr166hefPmOm+OjbkmYz5OWq0Wf/zxB1q0aKHskxp7Tfqm17WmsrIyZf+jVqubRE3GfJwq9s8eHh5Qq9VNoqbK0+tTk1arxc2bN+Hq6lplv9RYawKM9zipVCr88ccfcHV1VfY/jb0mYz5OJSUlyv7HysqqSdQke5xmZn+KQm0J4u+fWqOaKvY/bm5usLW1bfCabt26BRcXF9y8eVP5fHwvIQRyc3Nx48aNKvOIyDiaN28OT09Pnc/4Bjvohk5v10elUunsUIwlPz8fHh4eWLNmDaKiogDcPU3Kx8cH//rXv2p8FD8/Px/Ozs4Gd0BERERERPXx3Ln1KNSW4PP2083dlBqp6efje0/HJyLjsbGx0XuZRYOnuGdlZZm0QTXh5OSEadOmYdGiRWjdujV8fX2xdOlSAMATTzxh5tbVXGlpKXbu3ImwsDCdnwvQXcxHjvnIMR855iPHfOSYjxzzkfur5VPb4dQaSz7W1ta8VjtRAzLYQbeU6zIuXboUarUakyZNwu3bt9G3b1/s3r0bLi4u5m5arfASGnLMR475yDEfOeYjx3zkmI8c85FjPnLMh4gqM9hBLy4uxp07d3ROefnyyy9x+PBhDB06FIMHD26QBtrY2GDZsmVYtmxZg2yPiIiIiKi2OIQaERmDwR+aT5o0CbNmzVJur1q1Ck8++STeeecdhIWFVRmBk4iIiIiIiIjqzuAgcb6+vnj77bfx5JNPAgDat2+P/v37Y/Xq1YiKisLVq1exe/fuBm1sXZl7kDghBAoKCuDo6MhLVOjBfOSYjxzzkWM+csxHjvnIMR+5v1o+tR0kztz5mPvzMRHpZ/AI+p9//olWrVoBuDtg3Llz5zBz5kw4OTkhKioKx44da7BGNgUajcbcTbBozEeO+cgxHznmI8d85JiPHPORYz5yzIeIKjPYQXdwcMDNmzcBAHv37sV9992HwMBAAIC9vT0KCwsbpoVNQFlZGZKSkjgQiAHMR475yDEfOeYjx3zkmI8c85FjPnLMh4j0MThIXPfu3bFmzRr4+vpi7dq1CA0NVU6/OX/+PDw9PRuskURERERERERNncEO+muvvYZRo0ahZ8+esLW1xX//+19l3vbt2/HAAw80SAOJiIiIiIiI/goMdtAHDRqE3377DWlpaejZsyfuv/9+nXk9e/ZsiPYRERERERER/SUYHMW9KTH3KJVCCJSVlUGtVv8lRjGtLeYjx3zkmI8c85FjPnLMR475yP3V8ok6tx63ajmKuznzMffnYyLSz+AR9PPnz1d75zZt2hi1MU3Z7du34ejoaO5mWCzmI8d85JiPHPORYz5yzEeO+cgxHznmQ0SVGRzFvW3btvDz85P+Uc2UlZUhOTmZo3QawHzkmI8c85FjPnLMR475yDEfOeYjx3yISB+DR9Dj4uKqnG6Tl5eHxMREXLx4EQsXLjR544iIiIiIiIj+Kgx20CMjI/VOf+mll/DEE0/gwoULpmoTERERERER0V+OwVPcZSIjI7F+/Xpjt6VJU6sNfhdCYD7VYT5yzEeO+cgxHznmI8d85JiPHPMhosrqNIr7tm3bMGnSJOTn55uiTUbHUSqJiIiIyJRqO4q7ufHzMZFlqtUR9NLSUqSlpWHRokUICAgwVZuaHK1WiytXrkCr1Zq7KRaJ+cgxHznmI8d85JiPHPORYz5yzEeO+RCRPgY76FZWVrC2ttb5s7e3R58+fXDx4kW8++67DdjMxq28vBwHDhxAeXm5uZtikZiPHPORYz5yzEeO+cgxHznmI8d85JgPEelj8Icvr7/+epVR3O3t7dG2bVuMGDGC12wkIiIiIiIiMiKDHfTo6OgGbAYRERERERHRX5vBU9xLS0tx69YtvfNu3bqF0tJSkzWqqVGpVHB0dKxyRgLdxXzkmI8c85FjPnLMR475yDEfOeYjx3yISB+Do7hPmTIFd+7cwaZNm6rMe/rpp6HRaBrNpdY4SiURERERmRJHcSciYzB4BD0lJQVjxozRO2/06NH44YcfTNaopkar1eL333/nKJ0GMB855iPHfOSYjxzzkWM+csxHjvnIMR8i0sdgB/2PP/6Al5eX3nmenp7Izc01WaOamvLycmRkZHCUTgOYjxzzkWM+csxHjvnIMR855iPHfOSYDxHpY7CD3rx5c5w5c0bvvDNnznAUdyIiIiIiIiIjMthBDw0NxZIlS3Dt2jWd6deuXUNMTAwGDRpk8sYRERERERER/VVIL7P24IMPokOHDoiIiECrVq1w8eJFbN68GaWlpVi8eHFDtrNRU6lUcHd35yidBjAfOeYjx3zkmI8c85FjPnLMR475yDEfItLH4CjuAPDrr79izpw52LNnD8rLy2FtbY2QkBCsWLECPXr0aMh21gtHqSQiIiIiU+Io7kRkDAZPcQeAgIAA/PDDD8jPz8fFixdRUFCA//73v42qc24JysvLceLECQ4CYgDzkWM+csxHjvnIMR855iPHfOSYjxzzISJ9pB30ChqNBt7e3rC3tzd1e6o4deoUxo4dCzc3Nzg5OSE4OBjJyckN3o760Gq1OHnyJC+jYQDzkWM+csxHjvnIMR855iPHfOT+avm0tXOr1fJ/tXyIqGZq1EE3p5EjR6KsrAy7d+9GWloaevbsiVGjRvEyb0RERERkMV72GoGlrZ80dzOIqJGz6A56Xl4ezpw5g3nz5qFHjx7o0KEDYmJiUFRUhMzMTHM3j4iIiIgIAKCxskVruxbmbgYRNXIW3UFv0aIFOnfujE8//RS3bt1CWVkZPvzwQ7Rs2RK9e/c2d/NqzMrKCm3atIGVlUXHbTbMR475yDEfOeYjx3zkmI8c85FjPnLMh4j0kY7ibgkuXbqEsWPH4vDhw7CyskLLli2xfft29OzZ0+B9SkpKUFJSotzOz89H69atkZeXp4xSaWVlBWtra5SXl+v89qdiellZGe6NxtraGlZWVganl5aW6rRBrb57BbuysrIaTbexsYFWq9UZKESlUkGtVhucbqjtrIk1sSbWxJpYE2tiTayJNclqunXrFlxcXDiKO5GFMXgddFOKjo6u9jrqhw4dQu/evfH3v/8dHh4e2Lt3LzQaDdavX49Ro0bh0KFD8PLy0nvfJUuW6F3/zp074eDgAABo06YNevXqhSNHjuD8+fPKMv7+/ujUqRN+/vln/Pnnn8r0nj17wtfXF3v27EFBQYEyPSgoCB4eHti5c6fOTjg0NBQajQZJSUk6bRgxYgRu376tM9CdWq3GyJEjkZeXhwMHDijTHR0dMWjQIFy4cAEZGRnKdHd3d/Tv3x+nT5/GyZMnlemNuSZ7e3sMGTKkSdVkrMepR48euHHjBq5du4bCwsImUZMxH6dbt24hNTW1SdXUFB8nS6+pT58+8PLyalI1Getx8vb2hqenJ37++ecmU5OxHqcePXogOTkZt27dajI1NcXHydJruu+++zB48OAGr6lbt24gIstjliPoeXl5yMvLky7Ttm1b/PjjjwgLC8P169d1vtnr0KEDoqKiMG/ePL33tbQj6KWlpdi1axeGDh0KjUajTL+XJX2j2tDfElfkM2LECFhZWTWJmu6dXt/HSavVYseOHQgLC1Pa1dhrMubjVFpaiu+++w5Dhw6FjY1Nk6hJ3/S61lRSUqLsf+zs7JpETcZ8nCr2P8OGDYOdnV2TqKny9PrUdG8+956G25hrAoz3OGm1WiQlJensfxp7TcZ8nIqKipT9j42NTZOoyZiPU8XrKywsDBqNhkfQiQiAmY6gu7m5wc2t+ktRFBUVAUCV3+ZU7sRVZmdnBzs7uyrTbWxslDfQCtbW1rC2tq6y7L0doZpMr7xefdNtbGygUqkMLm9lZaX3d0iGphtqe0PWVN101lT/mio+DKjVar3taYw1VTe9Nm2/9zV17/zGXJOh6XWp6d4vLSrqaOw1meJxqthWU6pJ1sbaTreysqpVrY2lpvo+ThWfRfR9vmisNcmm17Wmyvk0hZrqM71y2yu2Za79HhFZFrN00GsqKCgILi4umDJlCl5//XVoNBp89NFHyMrKwsiRI2u8nopvC/Pz803VVKnS0lIUFRUhPz/f4A78r4z5yDEfOeYjx3zkmI8c85FjPnLMR87c+VR8Lrbw4aiI/nIsuoPu5uaGHTt2YMGCBRg0aBBKS0vRtWtXbNu2DQEBATVeT8XvbVq3bm2qphIRERERNToFBQVwdnY2dzOI6P+z+FHcjUGr1eLy5ctwdHRUTodtSBW/gb9w4QJ/46MH85FjPnLMR475yDEfOeYjx3zkmI+cufMRQqCgoADe3t483Z3Iglj0EXRjsbKygo+Pj7mbAScnJ75BSTAfOeYjx3zkmI8c85FjPnLMR475yJkzHx45J7I8/LqMiIiIiIiIyAKwg05ERERERERkAdhBbwB2dnZYtGiR3ku/EfOpDvORYz5yzEeO+cgxHznmI8d85JgPEenzlxgkjoiIiIiIiMjS8Qg6ERERERERkQVgB52IiIiIiIjIArCDTkRERERERGQB2EEnIiIiIiIisgDsoNfAkiVL8OCDD8LR0REeHh545JFHcPLkSZ1lhBCIjo6Gt7c3NBoNBg4ciMzMTGX+tWvXMHPmTPj7+8PBwQFt2rTBrFmzcPPmTZ31jBkzBm3atIG9vT28vLwwadIkXL58uUHqrCvmI8d85JiPHPORYz5yzEeO+cgxHznmQ0QmIaha4eHhIj4+Xhw7dkxkZGSIkSNHijZt2ojCwkJlmZiYGOHo6Ci2bNkijh49KiIiIoSXl5fIz88XQghx9OhRMW7cOJGYmCjOnDkjfvjhB9GhQwfx2GOP6WxrxYoV4sCBAyI7O1v8+OOPIigoSAQFBTVovbXFfOSYjxzzkWM+csxHjvnIMR855iPHfIjIFNhBr4MrV64IACI1NVUIIYRWqxWenp4iJiZGWaa4uFg4OzuLDz74wOB6vvzyS2FraytKS0sNLrNt2zahUqnEnTt3jFeAiTEfOeYjx3zkmI8c85FjPnLMR475yDEfIjIGnuJeBxWnHbm6ugIAsrKykJubi7CwMGUZOzs7hISEYP/+/dL1ODk5Qa1W651/7do1bNiwAf3794eNjY0RKzAt5iPHfOSYjxzzkWM+csxHjvnIMR855kNExsAOei0JITBnzhwMGDAA3bp1AwDk5uYCAFq2bKmzbMuWLZV5lV29ehX/+te/8MILL1SZ98orr6BZs2Zo0aIFzp8/j23bthm5CtNhPnLMR475yDEfOeYjx3zkmI8c85FjPkRkLOyg19KMGTNw5MgRbNq0qco8lUqlc1sIUWUaAOTn52PkyJHo0qULFi1aVGX+3LlzkZ6ejp07d8La2hqTJ0+GEMJ4RZgQ85FjPnLMR475yDEfOeYjx3zkmI8c8yEio2mI8+ibihkzZggfHx9x7tw5nelnz54VAMThw4d1po8ZM0ZMnjxZZ1p+fr4ICgoSgwcPFrdv3652mxcuXBAAxP79++tfgIkxHznmI8d85JiPHPORYz5yzEeO+cgxHyIyJh5BrwEhBGbMmIGEhATs3r0bfn5+OvP9/Pzg6emJXbt2KdPu3LmD1NRU9O/fX5mWn5+PsLAw2NraIjExEfb29jXaNgCUlJQYqRrjYz5yzEeO+cgxHznmI8d85JiPHPORYz5EZBIN+31A4/S3v/1NODs7i5SUFJGTk6P8FRUVKcvExMQIZ2dnkZCQII4ePSqeeuopncto5Ofni759+4ru3buLM2fO6KynrKxMCCHEwYMHxfvvvy/S09NFdna22L17txgwYIBo166dKC4uNkvtNcF85JiPHPORYz5yzEeO+cgxHznmI8d8iMgU2EGvAQB6/+Lj45VltFqtWLRokfD09BR2dnbi4YcfFkePHlXmJycnG1xPVlaWEEKII0eOiNDQUOHq6irs7OxE27ZtxbRp08TFixcbuOLaYT5yzEeO+cgxHznmI8d85JiPHPORYz5EZAoqITi6BBEREREREZG58TfoRERERERERBaAHXQiIiIiIiIiC8AOOhEREREREZEFYAediIiIiIiIyAKwg05ERERERERkAdhBJyIiIiIiIrIA7KDXwNq1a+Hn5wd7e3v07t0be/fu1Zn/22+/YcyYMXB2doajoyP69euH8+fPV1mPn58fduzYgeLiYkRGRqJ79+5Qq9V45JFHqiybk5ODCRMmwN/fH1ZWVnjxxRdNVF39mSOfhIQEDB06FO7u7nByckJQUBC+//57U5VYL+bIZ9++fQgODkaLFi2g0WjQqVMnrFy50lQl1os58rnXjz/+CLVajZ49exqxKuMxRz4pKSlQqVRV/k6cOGGqMuvMXM+fkpISLFiwAL6+vrCzs0O7du0QFxdnihLrhfnImSOfyMhIva+vrl27mqrMOjPX82fDhg0ICAiAg4MDvLy88Mwzz+Dq1aumKLFezJXPmjVr0LlzZ2g0Gvj7++PTTz81RXlEZCbsoFfjiy++wIsvvogFCxYgPT0dDz30EIYPH67sYM+ePYsBAwagU6dOSElJwa+//orXXnsN9vb2Ous5cuQIrl69itDQUJSXl0Oj0WDWrFkYMmSI3u2WlJTA3d0dCxYsQEBAgMnrrCtz5bNnzx4MHToUSUlJSEtLQ2hoKEaPHo309HST11wb5sqnWbNmmDFjBvbs2YPffvsNCxcuxMKFC7Fu3TqT11wb5sqnws2bNzF58mQMHjzYZDXWh7nzOXnyJHJycpS/Dh06mKzWujBnPuPHj8cPP/yA2NhYnDx5Eps2bUKnTp1MWm9tMR85c+Xz3nvv6byuLly4AFdXVzzxxBMmr7k2zJXPvn37MHnyZERFRSEzMxObN2/GoUOH8Nxzz5m85towVz7/+c9/8OqrryI6OhqZmZlYvHgxpk+fjm+++cbkNRNRAxEk1adPHzFt2jSdaZ06dRLz5s0TQggREREhJk6cWO163njjDfH4449XmT5lyhQxduxY6X1DQkLEP/7xjxq3uSFZQj4VunTpIhYvXlyjZRuKJeXz6KOP1mhbDcnc+URERIiFCxeKRYsWiYCAgFq1vSGYK5/k5GQBQFy/fr1O7W4o5srnu+++E87OzuLq1at1a3gDYT5y5t7/VPj666+FSqUS2dnZNWt4AzFXPkuXLhX333+/zrRVq1YJHx+fWrTe9MyVT1BQkHj55Zd1pv3jH/8QwcHBtWg9EVkyHkGXuHPnDtLS0hAWFqYzPSwsDPv374dWq8X27dvRsWNHhIeHw8PDA3379sXWrVurrCsxMRFjx45toJY3DEvKR6vVoqCgAK6urnVeh7FZUj7p6enYv38/QkJC6rwOYzN3PvHx8Th79iwWLVpUnzJMxtz5AECvXr3g5eWFwYMHIzk5ua6lmIQ580lMTERgYCDeeecdtGrVCh07dsTLL7+M27dv17cso2E+cpbw+qoQGxuLIUOGwNfXt87rMDZz5tO/f39cvHgRSUlJEELgjz/+wFdffYWRI0fWtyyjMWc+JSUlVY7CazQa/PzzzygtLa1TPURkWdhBl8jLy0N5eTlatmypM71ly5bIzc3FlStXUFhYiJiYGAwbNgw7d+7Eo48+inHjxiE1NVVZ/tKlS/j1118xYsSIhi7BpCwpn+XLl+PWrVsYP358nddhbJaQj4+PD+zs7BAYGIjp06db1CmC5szn9OnTmDdvHjZs2AC1Wm20mozJnPl4eXlh3bp12LJlCxISEuDv74/Bgwdjz549RquvvsyZz7lz57Bv3z4cO3YMX3/9Nd5991189dVXmD59utHqqy/mI2cJ+2fg7ngz3333nUXtmwHz5tO/f39s2LABERERsLW1haenJ5o3b47333/faPXVlznzCQ8Px/r165GWlgYhBH755RfExcWhtLQUeXl5RquRiMzHMj+ZWhiVSqVzWwgBlUoFrVYLABg7dixmz54NAOjZsyf279+PDz74QDlamZiYiODgYIs6umtM5s5n06ZNiI6OxrZt2+Dh4VGPSkzDnPns3bsXhYWF+OmnnzBv3jy0b98eTz31VD0rMq6Gzqe8vBwTJkzA4sWL0bFjRyNWYhrmeP74+/vD399fuR0UFIQLFy5g2bJlePjhh+tbklGZIx+tVguVSoUNGzbA2dkZALBixQo8/vjjWLNmDTQajTFKMwrmI2fu96+PP/4YzZs3r3YwS3MxRz7Hjx/HrFmz8PrrryM8PBw5OTmYO3cupk2bhtjYWCNVZhzmyOe1115Dbm4u+vXrByEEWrZsicjISLzzzjuwtrY2UmVEZE48gi7h5uYGa2tr5Obm6ky/cuUKWrZsCTc3N6jVanTp0kVnfufOnXVG6WyKp7cDlpHPF198gaioKHz55ZfVDnjV0CwhHz8/P3Tv3h1Tp07F7NmzER0dXaf1mIK58ikoKMAvv/yCGTNmQK1WQ61W44033sCvv/4KtVqN3bt3168wI7GE58+9+vXrh9OnT9d7PcZizny8vLzQqlUrpfNZsV4hBC5evFiHaoyP+chZwutLCIG4uDhMmjQJtra2dVqHqZgznyVLliA4OBhz585Fjx49EB4ejrVr1yIuLg45OTl1L8qIzJmPRqNBXFwcioqKkJ2djfPnz6Nt27ZwdHSEm5tb3YsiIovBDrqEra0tevfujV27dulM37VrF/r37w9bW1s8+OCDOHnypM78U6dOKb8lKywsRHJyMsaMGdNg7W4o5s5n06ZNiIyMxMaNGy3qt2kVzJ1PZUIIlJSU1Hs9xmKufJycnHD06FFkZGQof9OmTYO/vz8yMjLQt2/f+hdnBJb2/ElPT4eXl1e912Ms5swnODgYly9fRmFhoc56rays4OPjU8eKjIv5yFnC6ys1NRVnzpxBVFRU3YowIXPmU1RUBCsr3Y+nFUeGhRC1LcUkLOH5Y2NjAx8fH1hbW+Pzzz/HqFGjquRGRI1UQ49K19h8/vnnwsbGRsTGxorjx4+LF198UTRr1kwZbTUhIUHY2NiIdevWidOnT4v3339fWFtbi7179wohhNi8ebPo1q1blfVmZmaK9PR0MXr0aDFw4ECRnp4u0tPTdZapmNa7d28xYcIEkZ6eLjIzM01ec22YK5+NGzcKtVot1qxZI3JycpS/GzduNEjdNWWufFavXi0SExPFqVOnxKlTp0RcXJxwcnISCxYsaJC6a8qcr697Weoo7ubKZ+XKleLrr78Wp06dEseOHRPz5s0TAMSWLVsapO6aMlc+BQUFwsfHRzz++OMiMzNTpKamig4dOojnnnuuQequKeYjZ+79z8SJE0Xfvn1NWmN9mCuf+Ph4oVarxdq1a8XZs2fFvn37RGBgoOjTp0+D1F1T5srn5MmT4v/+7//EqVOnxMGDB0VERIRwdXUVWVlZDVE2ETUAdtBrYM2aNcLX11fY2tqKBx54QKSmpurMj42NFe3btxf29vYiICBAbN26VZk3ceJEvZ0iX19fAaDK3730zff19TVJjfVhjnxCQkL0zp8yZYrJ6qwrc+SzatUq0bVrV+Hg4CCcnJxEr169xNq1a0V5ebnpCq0jc72+7mWpHXQhzJPP22+/Ldq1ayfs7e2Fi4uLGDBggNi+fbvpiqwHcz1/fvvtNzFkyBCh0WiEj4+PmDNnjigqKjJNkfXAfOTMlc+NGzeERqMR69atM01hRmKufFatWiW6dOkiNBqN8PLyEk8//bS4ePGiaYqsB3Pkc/z4cdGzZ0+h0WiEk5OTGDt2rDhx4oTpiiSiBqcSwkLOF2qCysvL4eHhge+++w59+vQxd3MsDvORYz5yzEeO+cgxHznmI8d85JiPHPMhIhn+WMWErl69itmzZ+PBBx80d1MsEvORYz5yzEeO+cgxHznmI8d85JiPHPMhIhkeQSciIiIiIiKyADyCTkRERERERGQB2EEnIiIiIiIisgDsoEssWbIEDz74IBwdHeHh4YFHHnmkyjUthRCIjo6Gt7c3NBoNBg4ciMzMTOl6U1JSMHbsWHh5eaFZs2bo2bMnNmzYUGW5DRs2ICAgAA4ODvDy8sIzzzyDq1evGrXG+tqzZw9Gjx4Nb29vqFQqbN26tcoyv/32G8aMGQNnZ2c4OjqiX79+OH/+fI3Wf+bMGTg6OqJ58+Y60/ft24fg4GC0aNECGo0GnTp1wsqVK41QkXHJ8iktLcUrr7yC7t27o1mzZvD29sbkyZNx+fJl6Tqzs7OhUqmq/O3YsUNZJjIyUu8yXbt2NVWpdbZ27Vr4+fnB3t4evXv3xt69e5V5f/zxByIjI+Ht7Q0HBwcMGzYMp0+flq6vuLgYkZGR6N69O9RqNR555JEqyyQkJGDo0KFwd3eHk5MTgoKC8P333xu7NKOQ5aPvce7Xr590fTXZ/zSV509CQgLCw8Ph5uYGlUqFjIyMWq3b0P4nJycHEyZMgL+/P6ysrPDiiy/WvxAjq8n7V13yqcn+BwBKSkqwYMEC+Pr6ws7ODu3atUNcXJwxS6yX6t67CgsLMWPGDPj4+ECj0aBz5874z3/+I11nTfY9jeG5A9Tsvb3CCy+8AJVKhXfffVe6zpp+9rH05w5QfT51+Wx4L0P7HgBITU1F7969YW9vj/vvvx8ffPBBPashIkvDDrpEamoqpk+fjp9++gm7du1CWVkZwsLCcOvWLWWZd955BytWrMDq1atx6NAheHp6YujQoSgoKDC43v3796NHjx7YsmULjhw5gmeffRaTJ0/GN998oyyzb98+TJ48GVFRUcjMzMTmzZtx6NAhPPfccyatubZu3bqFgIAArF69Wu/8s2fPYsCAAejUqRNSUlLw66+/4rXXXoO9vX216y4tLcVTTz2Fhx56qMq8Zs2aYcaMGdizZw9+++03LFy4EAsXLsS6devqXZMxyfIpKirC4cOH8dprr+Hw4cNISEjAqVOnMGbMmBqt+7///S9ycnKUv0GDBinz3nvvPZ15Fy5cgKurK5544gmj1WYMX3zxBV588UUsWLAA6enpeOihhzB8+HCcP38eQgg88sgjOHfuHLZt24b09HT4+vpiyJAhOq/BysrLy6HRaDBr1iwMGTJE7zJ79uzB0KFDkZSUhLS0NISGhmL06NFIT083Val1IsunwrBhw3Qe66SkJOk6a7L/aQrPH+Du6y84OBgxMTG1Xrds/1NSUgJ3d3csWLAAAQEB9a7DFGry/lWffGT7HwAYP348fvjhB8TGxuLkyZPYtGkTOnXqVO+6jKW6967Zs2djx44d+Oyzz/Dbb79h9uzZmDlzJrZt22ZwnTXZ9zSG5w5QfT4Vtm7dioMHD8Lb27vaddZk3wNY/nMHqD6funw2rCDb92RlZWHEiBF46KGHkJ6ejvnz52PWrFnYsmVLvWsiIgtixku8NTpXrlwRAJTrXGq1WuHp6SliYmKUZYqLi4Wzs7P44IMParXuESNGiGeeeUa5vXTpUnH//ffrLLNq1Srh4+NTjwpMC4D4+uuvdaZFRESIiRMn1ml9//znP8XEiRNFfHy8cHZ2rnb5Rx99tM7bagj68qns559/FgDE77//bnCZrKwsAUCkp6fXeNtff/21UKlUIjs7u8b3aQh9+vQR06ZN05nWqVMnMW/ePHHy5EkBQBw7dkyZV1ZWJlxdXcVHH31Uo/VPmTJFjB07tkbLdunSRSxevLjGbW8IsnyEqF19MpX3P5U1xufPverymqnp/ickJET84x//qEWrzaPy+9e9apNPTZb97rvvhLOzs7h69Wo9Wtxw9O2bu3btKt544w2daQ888IBYuHBhjdZZk9dmY3nuGHrvunjxomjVqpU4duyY8PX1FStXrqz1uivvexrbc0eIqvnU97OhbN/zz3/+U3Tq1Eln2gsvvCD69etXrxqIyLLwCHot3Lx5EwDg6uoK4O43mbm5uQgLC1OWsbOzQ0hICPbv369Mi4yMxMCBA6tdd8V6AaB///64ePEikpKSIITAH3/8ga+++gojR440YkWmpdVqsX37dnTs2BHh4eHw8PBA3759q5wKpi+f3bt3Y/PmzVizZk2NtpWeno79+/cjJCTESK03j5s3b0KlUumc1mbo+TNmzBh4eHggODgYX331lXS9sbGxGDJkCHx9fY3c4rq7c+cO0tLSdF4/ABAWFob9+/ejpKQEAHTOtrC2toatrS327dunTKvJ66s6Wq0WBQUFOq9Bc6sunwopKSnw8PBAx44dMXXqVFy5ckVn+brsfyprjM+fmjLG/qcxqPz+VVN12f8kJiYiMDAQ77zzDlq1aoWOHTvi5Zdfxu3bt+vc/oY2YMAAJCYm4tKlSxBCIDk5GadOnUJ4eLiyjDH2PY2VVqvFpEmTMHfuXIM/fanLvqcpPHfq89mwun3PgQMHquzzwsPD8csvv6C0tNR4RRCRWanN3YDGQgiBOXPmYMCAAejWrRsAIDc3FwDQsmVLnWVbtmyJ33//Xbnt5eUFrVZrcN1fffUVDh06hA8//FCZ1r9/f2zYsAEREREoLi5GWVkZxowZg/fff9+YZZnUlStXUFhYiJiYGLz55pt4++23sWPHDowbNw7JyclKZ7pyPlevXkVkZCQ+++wzODk5Sbfh4+ODP//8E2VlZYiOjra4nwDURnFxMebNm4cJEybo1F05n/vuuw8rVqxAcHAwrKyskJiYiIiICHzyySeYOHFilfXm5OTgu+++w8aNGxukjprKy8tDeXm53tdPbm4uOnXqBF9fX7z66qv48MMP0axZM6xYsQK5ubnIyclRlq/u9VUTy5cvx61btzB+/Ph6rceYqssHAIYPH44nnngCvr6+yMrKwmuvvYZBgwYhLS0NdnZ2AOq2/7lXY33+1FR99j+Nhb73r5qqy/7n3Llz2LdvH+zt7fH1118jLy8Pf//733Ht2jWL+y2xIatWrcLUqVPh4+MDtVoNKysrrF+/HgMGDFCWMca+p7F6++23oVarMWvWLIPL1GXf0xSeO3X9bFiTfU9ubq7e9ZaVlSEvLw9eXl7GKoOIzIgd9BqaMWMGjhw5onPkroJKpdK5LYTQmbZkyRKD601JSUFkZCQ++ugjnW+hjx8/jlmzZuH1119HeHg4cnJyMHfuXEybNg2xsbFGqMj0Kt54xo4di9mzZwMAevbsif379+ODDz5QOuiV85k6dSomTJiAhx9+uNpt7N27F4WFhfjpp58wb948tG/fHk899ZSRKzG90tJSPPnkk9BqtVi7dq3OvMr5uLm5KXkCQGBgIK5fv4533nlHbwf9448/RvPmzfUOWGQJDL1+bGxssGXLFkRFRcHV1RXW1tYYMmQIhg8frrO87PVVE5s2bUJ0dDS2bdsGDw+Peq3LFGT7l4iICGV6t27dEBgYCF9fX2zfvh3jxo0DULf9z70a6/Onpuqz/2ksZO9f1anL/ker1UKlUmHDhg1wdnYGAKxYsQKPP/441qxZA41GU49qGsaqVavw008/ITExEb6+vtizZw/+/ve/w8vLS/l9eX33PY1VWloa3nvvPRw+fFj6WqvLvqcpPHcq1PazYU33PfrWq286ETVePMW9BmbOnInExEQkJyfDx8dHme7p6QkAVY7WXLlypco3nPqkpqZi9OjRWLFiBSZPnqwzb8mSJQgODsbcuXPRo0cPhIeHY+3atYiLi9M5emjJ3NzcoFar0aVLF53pnTt3lo7ivnv3bixbtgxqtRpqtRpRUVG4efMm1Gp1lW/Q/fz80L17d0ydOhWzZ89GdHS0KUoxqdLSUowfPx5ZWVnYtWtXnY7a9evXT+/o5kIIxMXFYdKkSbC1tTVGc43Gzc0N1tbW0tdP7969kZGRgRs3biAnJwc7duzA1atX4efnZ5Q2fPHFF4iKisKXX35pcFAnc6lJPpV5eXnB19e32pHuAfn+p0Jjf/7URW32P42BofcvY6q8//Hy8kKrVq2UDhZwd78vhMDFixdN0gZjun37NubPn48VK1Zg9OjR6NGjB2bMmIGIiAgsW7bM3M0zu7179+LKlSto06aN8jr5/fff8dJLL6Ft27bV3l+272nszx2g7p8Na7Lv8fT01LtetVqNFi1aGLkSIjIXdtAlhBCYMWMGEhISsHv37iqdAj8/P3h6emLXrl3KtDt37iA1NRX9+/eXrjslJQUjR45ETEwMnn/++Srzi4qKYGWl+/BYW1sr7WoMbG1t8eCDD1a5tM+pU6ekv2U9cOAAMjIylL833ngDjo6OyMjIwKOPPmrwfkII5XfLjUVF5/z06dP473//W+c32PT0dL2ntqWmpuLMmTOIioqqb1ONztbWFr1799Z5/QDArl27qrx+nJ2d4e7ujtOnT+OXX37B2LFj6739TZs2ITIyEhs3brTIsR1qk0+Fq1ev4sKFC9We5ljd/qdCU3n+1EZd9z+Wprr3L2OqvP8JDg7G5cuXUVhYqEw7deoUrKysTPYlgTGVlpaitLRU73vwX/WU9ntNmjQJR44c0XmdeHt7Y+7cudVerrK6fU9jf+4Adf9sWJN9T1BQUJV93s6dOxEYGAgbGxvTFEREDa+hR6VrTP72t78JZ2dnkZKSInJycpS/oqIiZZmYmBjh7OwsEhISxNGjR8VTTz0lvLy8RH5+vrLMvHnzxKRJk5TbycnJwsHBQbz66qs667131NL4+HihVqvF2rVrxdmzZ8W+fftEYGCg6NOnT8MUX0MFBQUiPT1dpKenCwBixYoVIj09XRmFPCEhQdjY2Ih169aJ06dPi/fff19YW1uLvXv3KuuonE9l+kYyXb16tUhMTBSnTp0Sp06dEnFxccLJyUksWLDAJHXWlSyf0tJSMWbMGOHj4yMyMjJ0ngslJSXKOirn8/HHH4sNGzaI48ePixMnToilS5cKGxsbsWLFiirbnzhxoujbt2+D1FoXn3/+ubCxsRGxsbHi+PHj4sUXXxTNmjVTRgv/8ssvRXJysjh79qzYunWr8PX1FePGjdNZh77nT2ZmpkhPTxejR48WAwcOVB6DChs3bhRqtVqsWbNGJ/cbN26YvObakOVTUFAgXnrpJbF//36RlZUlkpOTRVBQkGjVqlW99z8VGvvz5+rVqyI9PV1s375dABCff/65SE9PFzk5Oco66rL/EUIoz6nevXuLCRMmiPT0dJGZmWn0GuuqJu9fdcmnJvufgoIC4ePjIx5//HGRmZkpUlNTRYcOHcRzzz3XMMXXQHXvXSEhIaJr164iOTlZnDt3TsTHxwt7e3uxdu1aZR112fcIYfnPHSGqz6cyfaO412Xf0xieO0JUn09dPhtWpm/fc+7cOeHg4CBmz54tjh8/LmJjY4WNjY346quvTFInEZkHO+gSAPT+xcfHK8totVqxaNEi4enpKezs7MTDDz8sjh49qrOeKVOmiJCQEJ3b+tZ77zJC3L2sWpcuXYRGoxFeXl7i6aefFhcvXjRhxbWXnJyst5YpU6Yoy8TGxor27dsLe3t7ERAQILZu3aqzjsr5VKbvTWrVqlWia9euwsHBQTg5OYlevXqJtWvXivLyciNWV3+yfCouV6TvLzk5WVlH5Xw+/vhj0blzZ+Hg4CAcHR1F7969xf/93/9V2faNGzeERqMR69ata4BK627NmjXC19dX2NraigceeEDnMlDvvfee8PHxETY2NqJNmzZi4cKFOl9eCKH/+ePr66s31wohISHVPm8thaF8ioqKRFhYmHB3d1fymTJlijh//rzO/eu6/2kKz5/4+Hi9tS5atEhZpi77HyH0vz/4+voar7B6qsn7V13yqen+57fffhNDhgwRGo1G+Pj4iDlz5uh8OWBu1b135eTkiMjISOHt7S3s7e2Fv7+/WL58udBqtco66rLvEcLynztC1Oy9/V76Ouh13fdY+nNHiOrzqctnw8oM7XtSUlJEr169hK2trWjbtq34z3/+Y8TKiMgSqIRoJOdLExERERERETVh/A06ERERERERkQVgB52IiIiIiIjIArCDTkRERERERGQB2EEnIiIiIiIisgDsoBMRERERERFZAHbQiYiIiIiIiCwAO+hEREREREREFoAddCIiIiIiIiILwA46ERERERERkQVgB52IiIiIiIjIArCDTkRERERERGQB2EEnIiKqoejoaKhUKuTl5emd361bNwwcOBAAMHDgQKhUqmr/oqOjAQAlJSVYvXo1BgwYABcXF9ja2qJVq1YYP348UlNTDbYpMjKyRtuJjIxESkoKVCoVUlJSjJwMERERGYPa3A0gIiJqitauXYv8/Hzl9vbt2/Hmm28iPj4enTp1Uqb7+PggLy8Pw4YNw5EjR/Dss89i7ty5cHV1xaVLl7Bt2zYMHjwYaWlpCAgIqLKd1157DdOmTVNuHz58GNOnT8dbb72F0NBQZbq7uzvc3d1x4MABdOnSxURVExERUX2wg05ERGQClTvBJ06cAHD3KHtgYKDOvBEjRuDXX3/F999/j0GDBunMe/LJJzFnzhy4uLjo3U67du3Qrl075XZxcTEAoEOHDujXr1+V5fVNIyIiIsvAU9yJiIjMKC0tDd999x2ioqKqdM4rPPjgg2jTpk29t6XvFPfIyEjcd999OHHiBMLDw9GsWTN4eXkhJiYGAPDTTz9hwIABaNasGTp27IhPPvmkynpzc3PxwgsvwMfHB7a2tvDz88PixYtRVlZW7zYTERH9lfAIOhERkRnt3LkTAPDII4+YrQ2lpaUYN24cpk2bhrlz52Ljxo149dVXkZ+fjy1btuCVV16Bj48P3n//fURGRqJbt27o3bs3gLud8z59+sDKygqvv/462rVrhwMHDuDNN99EdnY24uPjzVYXERFRY8MOOhERkRmdP38eAODn52e2Nty5cwdvvvkmxo0bB+DuAHfffvstlixZgsOHD6NXr14AgMDAQHh4eGDjxo1KBz06OhrXr19HZmamcpR/8ODB0Gg0ePnllzF37lz+5p2IiKiGeIo7ERHRX5xKpcKIESOU22q1Gu3bt4eXl5fSOQcAV1dXeHh44Pfff1emffvttwgNDYW3tzfKysqUv+HDhwOAdAR6IiIi0sUj6ERERDWkVt992ywvL9c7v6ysDDY2NrVaZ8VR56ysLPj7+9evgXXk4OAAe3t7nWm2trZwdXWtsqytra0yEB0A/PHHH/jmm28M1m3oknRERERUFTvoRERENdSyZUsAwKVLl5T/VxBCICcnp8oI7dUJDw/H/PnzsXXrVgwbNsxobW0obm5u6NGjB/7973/rne/t7d3ALSIiImq82EEnIiKqoUGDBkGlUuGLL77AAw88oDNvx44dyM/Px5AhQ2q1zgceeADDhw9HbGwsxo8fr3ck919++QUeHh5GGcnd2EaNGoWkpCS0a9fO4KXgiIiIqGbYQSciIqqhdu3aYcaMGVi6dClu3LiBESNGQKPR4NChQ4iJiUFgYCAmTJhQ6/V++umnGDZsGIYPH45nn30Ww4cPh4uLC3JycvDNN99g06ZNSEtLs8gO+htvvIFdu3ahf//+mDVrFvz9/VFcXIzs7GwkJSXhgw8+gI+Pj7mbSURE1Ciwg05ERFQL7733Hrp06YLY2Fh89tlnKCsrg6+vL6ZPn46FCxfC1ta21ut0c3PDvn378NFHH2HTpk3YuHEjioqK4OHhgX79+iExMREBAQEmqKb+vLy88Msvv+Bf//oXli5diosXL8LR0RF+fn4YNmwYj6oTERHVgkoIIczdCCIiIiIiIqK/Ol5mjYiIiIiIiMgCsINOREREREREZAHYQSciIiIiIiKyAOygExEREREREVkAdtCJiIiIiIiILAA76EREREREREQW4P8BOiiI+Qe3PBkAAAAASUVORK5CYII=", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8ab998c38345412d9c67970b19b894db", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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nY4///zz0p133lnjfN555x2pQ4cONU6fn58vAVJ+fn6NfyMQXA4jv4qXRn4VX9fFuOrcrPW6Vny9K0Ma+VW8lJBRet3OmbXyJyl+3Eip6EjMdTvnX5mRX8VLz3yfWNfFENyAvDsyXnp3pHie1gVHi9OkfFNZXRfjmlBVX7e0tFSKi4uTSkuv3zvpevHmm29KERERkre3t9SoUSPp7rvvlvbu3XvFeXbr1q3KNNu2bZOGDRsmhYWFSYC0atUqlzQrVqyQBg4cKAUGBkqAFBMT45Lmiy++kPr06SP5+PhIgJSbm+uS5vTp09J9990nBQYGSj4+PtLtt98ubd68WbFcWVlZUpMmTRTzOnr0qHTnnXdKnp6eUnh4uPTWW29JFotFMZ+dO3dKOp2uSh2effZZqW3btorfXbp0SdJqtdKKFSskSZKknJwc6dFHH5V8fX0lX19f6dFHH1Wsa1V1KC0tlcaNGyd17txZ0ul00vDhwxV//9lnn0kdOnSQPD09pfbt20tLlixx+r68vFx66623pNatW0seHh5S165dpd9//10xr127dklarVYaNGiQqg6OKN1r9T5InLu7Oz169LC7/9jYuHEjt99+e43ziYmJISws7GoX75phsVg4f/68iOxZCaGLOkIbdYQ2yliA3BatsUhCl8qINqOO0EYZoYs6N7I276Zs54MU9a19r4QbWZcbmfbt2/PZZ59x7Ngxdu7cScuWLRk4cKDTsoVrQXFxMd26deOzzz6rMk3v3r354IMPVNOUlJQwePBgXn31VdU099xzDyaTic2bN3Po0CG6d+/OsGHDFJcHT5o0ia5du7ocLygoYMCAAYSHh3PgwAE+/fRTPv74Y2bPnu2SNj8/n8cee4y7775btUy2cyUkJChul7148WICAwO59957ARgzZgyxsbGsX7+e9evXExsby9ixY1XzVaqD2WzGy8uL559/nv79+yv+dv78+UyfPp2ZM2dy4sQJ3nrrLZ555hl+/fVXe5rXXnuNL774gk8//ZS4uDieeuop/vGPfxATE+OS36JFi3juuefYuXNntTuOqVFjAz0vL4/ff/+ddevWkZOTc1knu1ymTp3KggULWLRoESdPnuRf//oXFy5c4KmnngJg+vTpPPbYY/b0c+fOZfXq1cTHx3PixAmmT5/OihUrePbZZ69rua8Es9lMbGysiOxZCaGL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8cwzzwibzeZS3kGDBomgoCDh4+MjevXqJVatWqWpwbRp00TLli1Vt506dUrodDrx9ddf16oO8+fP17yWZ86cEUIIsX//ftG/f38REhIizGaziIuLE0888YTbM7du3TrRtWtXR553333XZfsHH3wg+vbtK/z8/ISfn58YOHCg2LJli0ue2267zaUMAQEBYujQoWLHjh2aegih/qxpurg35LqMQUFBBAUFnTdfQkIC2dnZbN26lZ49ewKwZcsWsrOz6d27d63Pl56ezsmTJwkPD69zmRsDueyGOlIXbaQ22kht1JG6aCO10UZqo47URRupjTpSl0tPSkqKy+///e9/TJkyheuvv75Bz5ufn0+nTp2YPHmy5rny8/Pp06cPN954I3fccYfb9uTkZJKTk3n11Vdp164dx48fZ+rUqSQnJ/PVV1858o0bN45Tp06xatUqAO68804mTJjAt99+C9jjK4wcOZLg4GA2btxIeno6t912G0II3nzzTcDuYTF48GAGDBjAb7/9xoEDB5g0aRJeXl48+OCDAGzYsIHBgwfzwgsv4Ofnx/z58xk9ejRbtmyhS5cubuWfMmUKb731Fj///DNXXHGFy7YFCxYQGBjI6NGja1WHsWPHMmzYMJdjTJo0iaKiIscUaaPRyMSJE+natSt+fn7s2LGDO+64A5vNxgsvvADA0aNHGTFiBHfccQeffvopv/zyC3fffTfBwcGO67Ru3TpuueUWevfujYeHBy+//DJDhgxhz549REZGOs4/bNgw5s+fD9inaj/55JOMGjXKZapMrajJmq/eo/bFF1+IRx99VPz444819gTUJ8OGDRMdO3YUmzdvFps3bxYdOnQQo0aNcskTHx8vlixZIoQQIjc3Vzz44INi06ZN4ujRo2Lt2rUiISFBREZGipycnFqftymMoC9btqzJ9TY3NlIXbaQ22kht1JG6aCO10UZqo47URZumqk1TGEFvTF3+qiPo/fr1E/fcc4+45557hNVqFQEBAeKJJ55wGfl15pprrhFXXXXVeY978uRJMXbsWOHv7y88PT1Ft27dxK+//iqEqBpB/+STT0RMTIzw9fUVY8eO1bQ90BhBr+To0aOqI+hqfPnll8JkMonS0lIhhBB79+4VgKNsQgixefNmAYj9+/cLIYRYuXKl0Ol04vTp0448ixYtEmaz2XE/vPPOO8JqtYqioiJHnlmzZomIiAhNLYUQol27duKZZ57R3N61a1cxadIkt/SWLVuKBx98sNZ1qM7Zs2eF0WgUn3zyiea5hRDigQceEH379nX8fuSRR0SbNm1c8tx1112iV69emscoKysTPj4+4uOPP3ak3XbbbeKaa65xybdhwwYBiLNnz2oeS+1Z05xoPmHCBO677z7H7zfeeIObb77Z0WNwqdYVX7hwIR06dGDIkCEMGTKEjh078n//938ueZKSksjOzgbs83127drFNddcQ+vWrbntttto3bo1mzdvxsfH55KUWSKRSCQSiUQikTQOH3/8MQaDgS1btvDGG28wZ84cPvroI7d8Z86c4bvvvmPKlCk1Hi8vL49+/fqRnJzM8uXL2bFjB4888ojLPP/Dhw+zbNkyVqxYwYoVK1i/fj0vvvhivdetOpUxBCpjGJxvFazKPO3btyciIsKRZ+jQoRQXF7Nt2zZHnn79+rkE2B46dCjJyckcO3ZMtSw2m43c3FwCAgI0yztlyhQWL15MXl6eI239+vUcOnSI22+/vdZ1qM4nn3yCp6cnN9xwg+a5Dx06xKpVq+jXr58jbfPmzQwZMsQl39ChQ/n99981VzooKCigtLS0xnrm5eWxcOFCWrZsSWBgoGY+NTRd3Ldu3cpLL73k+P3GG29w66238tZbbzFlyhReffVVRowYcUEnqwsBAQF8+umnNeYRTgE5LBYL33//fUMXq8ExGAwMGDDA8bBJ7EhdtJHaaCO1UUfqoo3URhupjTpSF23+XNqoxk5uEP5cutixFZdTknzpo7+bIjzRmfW1zt+sWTPmzJmDoijEx8eza9cu5syZ4+Y2/vHHH+Pj46MZRLqSzz77jHPnzvHbb785jLKWLVu65LHZbCxYsMAxIDhhwgTWrFnD888/X+tyXyjp6ek899xz3HXXXY602qyClZqaSmhoqMt2f39/TCaTS57Y2FiXPJX7pKamEhcX53aO1157jfz8fG666SbNMo8bN44HH3yQxYsXM3nyZADmzZtHQkIC7dq1q3UdqjNv3jzGjRuHxWJx29a7d2/++OMPiouLufPOO3n22Wcd29S0CA0NpaysjLS0NNUp0o899hiRkZEMGjTIJX3FihV4e3sD9ukK4eHhrFix4oKCr0MNBvq5c+ccPvVHjx7lyJEjLFq0CF9fX6ZMmcLEiRMv6ESSC0ftBpNIXWpCaqON1EYdqYs2UhttpDbqSF20+fNpo1ySs/zZdClJLuDUv/+45OeNmtUVj7jae8L26tULRam6hgkJCbz22muUl5ej11cZ+vPmzWP8+PEukeqnTp3qMjiYl5fH9u3b6dKlS40jprGxsS7euuHh4Zw9e7bWZb5QcnJyGDlyJO3atWPGjBku25zrXokQwiW9LnkqB0XV9l20aBEzZ87km2++cRjXP//8M8OHD3fkef/99xk/fjzXXXcd8+bNY/LkyeTm5vL111/z+uuvX3AdKtm8eTN79+7lk08+cdsG8MUXX5Cbm8uOHTt4+OGHefXVV3nkkUfqVM+XX36ZRYsWsW7dOrcVDgYMGMC7774LQEZGBu+88w7Dhw9n69atFxTfTdNA9/T0dLiN//zzz3h7e9O9e3cAPDw8XNwSJPVPWVkZK1euZMSIERiNxsYuTpNB6qKN1EYbqY06UhdtpDbaSG3UkbpoI7VR58+oiynCk6hZXRvlvPXNzz//TFJSEl988YVL+rPPPstDDz3kklabjpTq11BRFBcX+PokNzeXYcOG4e3tzdKlS13OHRYWxpkzZ9z2OXfunGOkOCwsjC1btrhsz8zMpLS01CVP9dHqyg6H6iPOX3zxhcN13XlUuXv37i5Lz1XuN2XKFAYOHMjBgwdZv349YA/6diF1cOajjz6ic+fOdOvWzW0b2D0qANq1a0d5eTl33nknDz74IHq9XrOeBoPBzTX91Vdf5YUXXuDHH3+kY8eObufx8vJy8azo1q0bVquVDz/8kP/85z+qZVND00Dv0KEDb7/9NjExMbzzzjsMGDDA0Ytw4sQJwsLCan0SiUQikUgkEolE8udGZ9Zf0Eh2Y/Hrr7+6/W7VqpXL6PncuXPp1q0bnTp1cskbEhLi5l7dsWNHPvroIzIyMmocRb8U5OTkMHToUMxmM8uXL3cbxa3NKlgJCQk8//zzpKSkOFy4V69ejdlsdhi5CQkJPP7445SUlGAymRx5IiIiXFzfFy1axO23386iRYsYOXKkS1ksFovbVACwjzQ3b96cBQsWsHbtWm666SYX74MLWckrLy+PL7/8klmzZtVKPyEEpaWljlHyhIQER2T4SlavXk337t1dOj5eeeUV/vOf//D99987Bq3Ph6Io6HQ6CgsLa5W/Ek0D/amnnmLUqFF07twZk8nEjz/+6Nj23Xff0bXrpe89k0gkEolEIpFIJJKaOHnyJNOnT+euu+7ijz/+4M033+S1115zbM/JyWHx4sUuaTVxyy238MILLzBmzBhmzZpFeHg4iYmJREREkJCQUKtj5OXlcejQIcfvo0ePsn37dgICAoiOjgbsbtEnTpwgOTkZsAfCBvuIclhYGLm5uQwZMoSCggI+/fRTcnJyyMnJASA4OBi9Xk/btm0ZNmwYd9xxB++//z5gX6Js1KhRxMfHAzBkyBDatWvHhAkTeOWVV8jIyOChhx7ijjvuwNfXF7DPFX/mmWeYNGkSjz/+OAcPHuSFF17g6aefdgzaLlq0iIkTJ/Lf//6XXr16OUaiLRYLVqtVUwtFUZg8eTKzZ88mMzOTV155xWV7bepQyRdffEFZWRnjx493O8/ChQsxGo106NABs9nMtm3b+Pe//83YsWMdsR+mTp3KW2+9xfTp07njjjvYvHkzc+fOZdGiRY7jvPzyyzz11FN89tlnxMbGOurp7e3tmHMOUFxc7NiWmZnJW2+9RV5enmPpuFpTUxj6Y8eOia+//locPnzYJf29995zCXv/V0Qus9Y0kbpoI7XRRmqjjtRFG6mNNlIbdaQu2jRVbdSWWcvN3CwObh8rss6tbvDzN7Yuf+Vl1u6++24xdepU4evrK/z9/cVjjz3msjTY+++/LywWi8jKyqr1cY8dOyauv/564evrKzw9PUX37t3Fli1bhBBVy6w5M2fOHBETE+P4vXbtWoE9CqHL32233ebIM3/+fNU8M2bMqPEYgDh69KjjOOnp6WL8+PHCx8dH+Pj4iPHjx4vMzEyX8h0/flyMHDlSWCwWERAQIKZNm+aypJoQQuzcuVNcccUVwmw2i7CwMDFz5kwXHfv163feOmlx8uRJodPpRHx8vOr22tRBCCESEhLEuHHjVI/x+eefi65duwpvb2/h5eUl2rVrJ1544QW3+3rdunWiS5cuwmQyidjYWPHuu++6bI+JianxughhX2bNeZuPj4/o0aOH+Oqrr2rUQe1ZU4RwCoEucZCTk4PVanUsXXCpEUJQVlaGwWBQDVDwd0Xqoo3URhupjTpSF22kNtpIbdSRumjTVLV55NDNeOutPB33viNNiHIyz36Lf/AoFF3DRldvbF1qausWFRVx9OhR4uLi3Fyomzr9+/enc+fObkHHJJKmiNqzpvnmOXHixHkPWOmOIWkYCgsL5drtKkhdtJHaaCO1UUfqoo3URhupjTpSF23+LNooip6A0DGX7Hx/Fl0kEsmlQ3NRttjYWOLi4mr8kzQcZWVlrF27lrKyssYuSpNC6qKN1EYbqY06UhdtpDbaSG3UkbpoI7VRR+oikUjU0BxBnzdvnpu7TVpaGsuXL+fUqVM8+eSTDV44iUQikUgkEolEIqkt69ata+wiSCQXhaaBPmnSJNX0Bx98kBtvvJGTJ082VJkkEolEIpFIJBKJRCL526Hp4l4TkyZN4qOPPqrvskiqURn+X+KK1EUbqY02Uht1pC7aSG20kdqoI3XRRmqjjtRFIpFUp05R3L/55hsmTJjgWHfvr0hjR3GXSCQSiUQikTQcalHc/07UJop7bGwsFoulkUookfz1KSws5NixYy5R3C9oBL20tJRt27YxY8YMOnXq1CCFlNix2WycPXsWm83W2EVpUkhdtJHaaCO1UUfqoo3URhupjTpSF22kNuo0ZV2MRiMABQUFjVwSieSvTeUzVvnMQQ1z0HU6neaajP7+/nz//ff1XDyJM+Xl5WzevJkRI0ag09VpJsJfEqmLNlIbbaQ26khdtJHaaCO1UUfqoo3URp2mrIter8fPz4+zZ88C4Onp2aTWsJdI/uwIISgoKODs2bP4+fmh1+sd2zQN9KefftrtQfTw8CA2NpYRI0bINRslEolEIpFIJJK/KGFhYQAOI10ikdQ/fn5+jmetEk0DfebMmQ1dHolEIpFIJBKJRNIEURSF8PBwQkJCKC0tbeziSCR/OYxGo8vIeSWaBnppaSklJSV4eXm5bcvPz8dkMrn4ykvqF0VR8PHxke5E1ZC6aCO10UZqo47URRupjTZSG3WkLtpIbdT5s+ii1+tVjQiJRNIwaEZxv+222ygpKWHRokVu28aPH4/FYvlLL7Umo7hLJBKJRCKR/HWRUdxlW1ciaYpoRqRYt24dV199teq20aNHs2bNmgYrlMQe2fP48eNNMrJnYyJ10UZqo43URh2pizZSG22kNupIXbSR2qgjdZFIJGpoGuhnzpwhPDxcdVtYWBipqakNViiJPbLn9u3bKS8vb+yiNCmkLtpIbbSR2qgjddFGaqON1EYdqYs2Uht1pC4SiUQNTQPdz8+PQ4cOqW47dOiQjOIukUgk7iRlNAAAK0FJREFUEolEIpFIJBJJPaJpoA8YMIBZs2aRkZHhkp6RkcGLL77IVVdd1eCFk0gkEolEIpFIJBKJ5O9Cjcus9ejRg1atWjF27FgiIyM5deoUixcvprS0lGeeeeZSlvNvh6IoBAcHN/nInpcaqYs2UhttpDbqSF20kdpoI7VRR+qijdRGHamLRCJRQzOKO8COHTuYPn06GzZsoLy8HL1eT79+/Zg9ezYdO3a8lOW85MjIlhKJRCKRSCR/XWQUd9nWlUiaIpou7gCdOnVizZo15OTkcOrUKXJzc/nxxx//8sZ5U6C8vJz9+/fLwCHVkLpoI7XRRmqjjtRFG6mNNlIbdaQu2kht1JG6SCQSNWo00CuxWCxERETg4eHR0OWRVGCz2UhKSpJLb1RD6qKN1EYbqY06UhdtpDbaSG3Ukbpo05S1iTDFNNq5m7IuEomk8dCcgy6RSCQSiUQikfxVmd7sFfyMQY1dDIlEInFBGugSiUQikUgkkr8dYeZmjV0EiUQicaNWLu6SS49OpyM6OhqdTl4iZ6Qu2khttJHaqCN10UZqo43URh2pizZSG3WkLhKJRI0ao7j/nZGRLSUSiUQikUgkf1VkW1ciaZrILrsmSnl5OYmJiTKyZzWkLtpIbbSR2qgjddFGaqON1EYdqYs2Uht1pC4SiUQNaaA3UWw2GydOnJCRPashddFGaqON1EYdqYs2UhttpDbqSF20kdqoI3WRSCRqSANdIpFIJBKJRCKRSCSSJoCM4q5B5dT8nJycRjl/aWkpBQUF5OTkYDQaG6UMTRGpizZSG22kNupIXbSR2mgjtVFH6qKN1Eadxtalso0rw1FJJE0LaaBrkJubC0CzZnIJDolEIpFIJBLJX5Pc3FysVmtjF0MikVQgo7hrYLPZSE5OxsfHB0VRLvn5c3JyaNasGSdPnpSRNZ2QumgjtdFGaqOO1EUbqY02Uht1pC7aSG3UaWxdhBDk5uYSEREhl3qTSJoQcgRdA51OR1RUVGMXA19fX/kxU0Hqoo3URhupjTpSF22kNtpIbdSRumgjtVGnMXWRI+cSSdNDdpdJJBKJRCKRSCQSiUTSBJAGukQikUgkEolEIpFIJE0AaaA3UcxmMzNmzMBsNjd2UZoUUhdtpDbaSG3UkbpoI7XRRmqjjtRFG6mNOlIXiUSihgwSJ5FIJBKJRCKRSCQSSRNAjqBLJBKJRCKRSCQSiUTSBJAGukQikUgkEolEIpFIJE0AaaBLJBKJRCKRSCQSiUTSBJAGukQikUgkEolEIpFIJE0AaaA3ELNmzaJHjx74+PgQEhLCmDFjSEpKcskjhGDmzJlERERgsVjo378/e/bscWzPyMjg3nvvJT4+Hk9PT6Kjo7nvvvvIzs52Oc7VV19NdHQ0Hh4ehIeHM2HCBJKTky9JPeuC1EYdqYs2UhttpDbqSF20kdqoI3XRRmqjjdRGIpHUO0LSIAwdOlTMnz9f7N69W2zfvl2MHDlSREdHi7y8PEeeF198Ufj4+Iivv/5a7Nq1S4wdO1aEh4eLnJwcIYQQu3btEtddd51Yvny5OHTokFizZo1o1aqVuP76613ONXv2bLF582Zx7Ngx8csvv4iEhASRkJBwSet7IUht1JG6aCO10UZqo47URRupjTpSF22kNtpIbSQSSX0jDfRLxNmzZwUg1q9fL4QQwmazibCwMPHiiy868hQVFQmr1Sree+89zeN8+eWXwmQyidLSUs0833zzjVAURZSUlNRfBRoQqY06UhdtpDbaSG3UkbpoI7VRR+qijdRGG6mNRCK5WKSL+yWi0k0pICAAgKNHj5KamsqQIUMcecxmM/369WPTpk01HsfX1xeDwaC6PSMjg4ULF9K7d2+MRmM91qDhkNqoI3XRRmqjjdRGHamLNlIbdaQu2khttJHaSCSSi0Ua6JcAIQTTp0+nb9++tG/fHoDU1FQAQkNDXfKGhoY6tlUnPT2d5557jrvuustt26OPPoqXlxeBgYGcOHGCb775pp5r0TBIbdSRumgjtdFGaqOO1EUbqY06UhdtpDbaSG0kEkl9IA30S8C0adPYuXMnixYtctumKIrLbyGEWxpATk4OI0eOpF27dsyYMcNt+8MPP0xiYiKrV69Gr9czceJEhBD1V4kGQmqjjtRFG6mNNlIbdaQu2kht1JG6aCO10UZqI5FI6oVL4Uf/d2batGkiKipKHDlyxCX98OHDAhB//PGHS/rVV18tJk6c6JKWk5MjEhISxMCBA0VhYeF5z3ny5EkBiE2bNl18BRoQqY06UhdtpDbaSG3UkbpoI7VRR+qijdRGG6mNRCKpL+QIegMhhGDatGksWbKEn376ibi4OJftcXFxhIWF8cMPPzjSSkpKWL9+Pb1793ak5eTkMGTIEEwmE8uXL8fDw6NW5wYoLi6up9rUL1IbdaQu2khttJHaqCN10UZqo47URRupjTZSG4lEUu9c2v6Avw///Oc/hdVqFevWrRMpKSmOv4KCAkeeF198UVitVrFkyRKxa9cuccstt7gsu5GTkyMuv/xy0aFDB3Ho0CGX45SVlQkhhNiyZYt48803RWJiojh27Jj46aefRN++fUWLFi1EUVFRo9T9fEht1JG6aCO10UZqo47URRupjTpSF22kNtpIbSQSSX0jDfQGAlD9mz9/viOPzWYTM2bMEGFhYcJsNosrr7xS7Nq1y7F97dq1msc5evSoEEKInTt3igEDBoiAgABhNptFbGysmDp1qjh16tQlrnHtkdqoI3XRRmqjjdRGHamLNlIbdaQu2khttJHaSCSS+kYRQkaWkEgkEolEIpFIJBKJpLGRc9AlEolEIpFIJBKJRCJpAkgDXSKRSCQSiUQikUgkkiaANNAlEolEIpFIJBKJRCJpAkgDXSKRSCQSiUQikUgkkiaANNAlEolEIpFIJBKJRCJpAkgDXSKRSCQSiUQikUgkkiaANNAbiHfeeYe4uDg8PDzo1q0bP//8s8v2ffv2cfXVV2O1WvHx8aFXr16cOHHC7ThxcXGsWrWKoqIiJk2aRIcOHTAYDIwZM8Ytb0pKCuPGjSM+Ph6dTsf999/fQLWrO42hy5IlSxg8eDDBwcH4+vqSkJDA999/31BVrDONoc3GjRvp06cPgYGBWCwW2rRpw5w5cxqqinWiMXRx5pdffsFgMNC5c+d6rFX90BjarFu3DkVR3P7279/fUNWsE4113xQXF/PEE08QExOD2WymRYsWzJs3ryGqWCekLto0hjaTJk1SfZ4uu+yyhqpmnWis+2bhwoV06tQJT09PwsPDmTx5Munp6Q1RxTrRWLq8/fbbtG3bFovFQnx8PJ988klDVE8ikTQS0kBvAL744gvuv/9+nnjiCRITE7niiisYPny446V8+PBh+vbtS5s2bVi3bh07duzgqaeewsPDw+U4O3fuJD09nQEDBlBeXo7FYuG+++5j0KBBquctLi4mODiYJ554gk6dOjV4PS+UxtJlw4YNDB48mJUrV7Jt2zYGDBjA6NGjSUxMbPA615bG0sbLy4tp06axYcMG9u3bx5NPPsmTTz7JBx980OB1rg2NpUsl2dnZTJw4kYEDBzZYHetKY2uTlJRESkqK469Vq1YNVtcLpTG1uemmm1izZg1z584lKSmJRYsW0aZNmwatb22RumjTWNr897//dXmOTp48SUBAADfeeGOD17m2NJY2GzduZOLEiUyZMoU9e/awePFifvvtN/7xj380eJ1rQ2Pp8u677/Lvf/+bmTNnsmfPHp555hnuuecevv322wavs0QiuUQISb3Ts2dPMXXqVJe0Nm3aiMcee0wIIcTYsWPFrbfeet7jPPvss+KGG25wS7/tttvENddcU+O+/fr1E//6179qXeZLQVPQpZJ27dqJZ555plZ5LwVNSZtrr722Vue6FDS2LmPHjhVPPvmkmDFjhujUqdMFlb2haSxt1q5dKwCRmZlZp3JfChpLm//973/CarWK9PT0uhW8gZG6aNPY75pKli5dKhRFEceOHatdwS8BjaXNK6+8Ipo3b+6S9sYbb4ioqKgLKH3D0Vi6JCQkiIceesgl7V//+pfo06fPBZReIpE0ZeQIej1TUlLCtm3bGDJkiEv6kCFD2LRpEzabje+++47WrVszdOhQQkJCuPzyy1m2bJnbsZYvX84111xziUresDQlXWw2G7m5uQQEBNT5GPVJU9ImMTGRTZs20a9fvzofo75obF3mz5/P4cOHmTFjxsVUo0FobG0AunTpQnh4OAMHDmTt2rV1rUq905jaLF++nO7du/Pyyy8TGRlJ69ateeihhygsLLzYal00UhdtmsLzVMncuXMZNGgQMTExdT5GfdKY2vTu3ZtTp06xcuVKhBCcOXOGr776ipEjR15stS6axtSluLjYbRTeYrGwdetWSktL61QfiUTStJAGej2TlpZGeXk5oaGhLumhoaGkpqZy9uxZ8vLyePHFFxk2bBirV6/m2muv5brrrmP9+vWO/KdPn2bHjh2MGDHiUlehQWhKurz22mvk5+dz00031fkY9UlT0CYqKgqz2Uz37t255557moQLYWPqcvDgQR577DEWLlyIwWCotzrVF42pTXh4OB988AFff/01S5YsIT4+noEDB7Jhw4Z6q9/F0JjaHDlyhI0bN7J7926WLl3K66+/zldffcU999xTb/WrK1IXbZrCOxjscWT+97//NYn3byWNqU3v3r1ZuHAhY8eOxWQyERYWhp+fH2+++Wa91a+uNKYuQ4cO5aOPPmLbtm0IIfj999+ZN28epaWlpKWl1VsdJRJJ49H0Wp5/ERRFcfkthEBRFGw2GwDXXHMNDzzwAACdO3dm06ZNvPfee46Ry+XLl9OnT58mM8pbXzS2LosWLWLmzJl88803hISEXERN6p/G1Obnn38mLy+PX3/9lccee4yWLVtyyy23XGSN6odLrUt5eTnjxo3jmWeeoXXr1vVYk/qnMe6Z+Ph44uPjHb8TEhI4efIkr776KldeeeXFVqneaAxtbDYbiqKwcOFCrFYrALNnz+aGG27g7bffxmKx1EfVLgqpizaN/X1asGABfn5+5w1c2Rg0hjZ79+7lvvvu4+mnn2bo0KGkpKTw8MMPM3XqVObOnVtPNbs4GkOXp556itTUVHr16oUQgtDQUCZNmsTLL7+MXq+vp5pJJJLGRI6g1zNBQUHo9XpSU1Nd0s+ePUtoaChBQUEYDAbatWvnsr1t27YukT3/Su7t0DR0+eKLL5gyZQpffvnleQNgXUqagjZxcXF06NCBO+64gwceeICZM2fW6Tj1SWPpkpuby++//860adMwGAwYDAaeffZZduzYgcFg4Keffrq4itUDTeGecaZXr14cPHjwoo9THzSmNuHh4URGRjqM0MrjCiE4depUHWpTf0hdtGkKz5MQgnnz5jFhwgRMJlOdjtEQNKY2s2bNok+fPjz88MN07NiRoUOH8s477zBv3jxSUlLqXql6oDF1sVgszJs3j4KCAo4dO8aJEyeIjY3Fx8eHoKCguldKIpE0GaSBXs+YTCa6devGDz/84JL+ww8/0Lt3b0wmEz169CApKcll+4EDBxxzzvLy8li7di1XX331JSt3Q9PYuixatIhJkybx2WefNYn5a840tjbVEUJQXFx80ce5WBpLF19fX3bt2sX27dsdf1OnTiU+Pp7t27dz+eWXX3zlLpKmds8kJiYSHh5+0cepDxpTmz59+pCcnExeXp7LcXU6HVFRUXWsUf0gddGmKTxP69ev59ChQ0yZMqVulWggGlObgoICdDrXZmrlCLEQ4kKrUq80hXvGaDQSFRWFXq/n888/Z9SoUW56SSSSPymXOird34HPP/9cGI1GMXfuXLF3715x//33Cy8vL0dU1iVLlgij0Sg++OADcfDgQfHmm28KvV4vfv75ZyGEEIsXLxbt27d3O+6ePXtEYmKiGD16tOjfv79ITEwUiYmJLnkq07p16ybGjRsnEhMTxZ49exq8zrWhsXT57LPPhMFgEG+//bZISUlx/GVlZV2SeteGxtLmrbfeEsuXLxcHDhwQBw4cEPPmzRO+vr7iiSeeuCT1Ph+N+Sw50xSjuDeWNnPmzBFLly4VBw4cELt37xaPPfaYAMTXX399SepdGxpLm9zcXBEVFSVuuOEGsWfPHrF+/XrRqlUr8Y9//OOS1Pt8SF20aex3za233iouv/zyBq1jXWksbebPny8MBoN45513xOHDh8XGjRtF9+7dRc+ePS9Jvc9HY+mSlJQk/u///k8cOHBAbNmyRYwdO1YEBASIo0ePXopqSySSS4A00BuIt99+W8TExAiTySS6du0q1q9f77J97ty5omXLlsLDw0N06tRJLFu2zLHt1ltvVTWQYmJiBOD254za9piYmAapY11oDF369eunuv22225rsHrWhcbQ5o033hCXXXaZ8PT0FL6+vqJLly7inXfeEeXl5Q1X0QuksZ4lZ5qigS5E42jz0ksviRYtWggPDw/h7+8v+vbtK7777ruGq2Qdaaz7Zt++fWLQoEHCYrGIqKgoMX36dFFQUNAwlawDUhdtGkubrKwsYbFYxAcffNAwFasHGkubN954Q7Rr105YLBYRHh4uxo8fL06dOtUwlawDjaHL3r17RefOnYXFYhG+vr7immuuEfv372+4SkokkkuOIkQj+wlJXCgvLyckJIT//e9/9OzZs7GL02SQumgjtVFH6qKN1EYbqY06UhdtpDbaSG3UkbpIJJKakJNVmhjp6ek88MAD9OjRo7GL0qSQumgjtVFH6qKN1EYbqY06UhdtpDbaSG3UkbpIJJKakCPoEolEIpFIJBKJRCKRNAHkCLpEIpFIJBKJRCKRSCRNAGmgSyQSiUQikUgkEolE0gSQBno9M2vWLHr06IGPjw8hISGMGTPGbR1MIQQzZ84kIiICi8VC//792bNnT43HXbduHddccw3h4eF4eXnRuXNnFi5c6JZv4cKFdOrUCU9PT8LDw5k8eTLp6en1Wse6smHDBkaPHk1ERASKorBs2TK3PPv27ePqq6/GarXi4+NDr169OHHiRK2Of+jQIXx8fPDz83NJ37hxI3369CEwMBCLxUKbNm2YM2dOPdSo/qhJm9LSUh599FE6dOiAl5cXERERTJw4keTk5BqPeezYMRRFcftbtWqVI8+kSZNU81x22WUNVdUL5p133iEuLg4PDw+6devGzz//7Nh25swZJk2aREREBJ6engwbNoyDBw/WeLyioiImTZpEhw4dMBgMjBkzxi3PkiVLGDx4MMHBwfj6+pKQkMD3339f31W7aGrSRu3a9urVq8bj1eY982e4Z6BmbZYsWcLQoUMJCgpCURS2b99+QcfWetekpKQwbtw44uPj0el03H///RdfkXqkNt+numhTm3cNQHFxMU888QQxMTGYzWZatGjBvHnz6rOKdeZ836e8vDymTZtGVFQUFouFtm3b8u6779Z4zNq8a5r6PVOb73Yld911F4qi8Prrr9d4zNq2Z5ry/QLn16YubT1ntN4zAOvXr6dbt254eHjQvHlz3nvvvYusjUQiaUpIA72eWb9+Pffccw+//vorP/zwA2VlZQwZMoT8/HxHnpdffpnZs2fz1ltv8dtvvxEWFsbgwYPJzc3VPO6mTZvo2LEjX3/9NTt37uT2229n4sSJfPvtt448GzduZOLEiUyZMoU9e/awePFifvvtN/7xj380aJ1rS35+Pp06deKtt95S3X748GH69u1LmzZtWLduHTt27OCpp57Cw8PjvMcuLS3llltu4YorrnDb5uXlxbRp09iwYQP79u3jySef5Mknn+SDDz646DrVFzVpU1BQwB9//MFTTz3FH3/8wZIlSzhw4ABXX311rY79448/kpKS4vi76qqrHNv++9//umw7efIkAQEB3HjjjfVWt4vhiy++4P777+eJJ54gMTGRK664guHDh3PixAmEEIwZM4YjR47wzTffkJiYSExMDIMGDXJ53qpTXl6OxWLhvvvuY9CgQap5NmzYwODBg1m5ciXbtm1jwIABjB49msTExIaq6gVTkzaVDBs2zOX6rly5ssZj1uY909TvGTi/Nvn5+fTp04cXX3zxgo9d07umuLiY4OBgnnjiCTp16nTR9ahvavN9uhhtanrXANx0002sWbOGuXPnkpSUxKJFi2jTps1F16s+ON/36YEHHmDVqlV8+umn7Nu3jwceeIB7772Xb775RvOYtXnXNPV75ny6VLJs2TK2bNlCRETEeY9Zm/cMNO37Bc6vTV3aepXU9J45evQoI0aM4IorriAxMZHHH3+c++67j6+//vqi6ySRSJoIjbjE29+Cs2fPCsCxNqbNZhNhYWHixRdfdOQpKioSVqtVvPfeexd07BEjRojJkyc7fr/yyiuiefPmLnneeOMNERUVdRE1aBgAsXTpUpe0sWPHiltvvbVO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53v37kViYiLS0tLQp08fZbter0dJSQlGjBiBU6dOYdq0aYiPj4efnx8uXryIXbt24eGHH0Zubi4GDBhQ5zhvvvkmZs6cqTw/efIknn/+ebz33nt46KGHlO2dO3dG586dcezYMYSEhDRTq4mIiKgpmKATERE1g9pJ8JkzZwDcvMoeFhZm9drIkSPx7bff4quvvsLQoUOtXpswYQLmzp2LTp062TxOcHAwgoODlecVFRUAgJ49e2Lw4MF19re1jYiIiNwDb3EnIiJqRbm5udi/fz/i4uLqJOc17r33XnTv3r3Jx7J1i7vRaMRtt92GM2fOIDo6Gu3bt4dOp0NSUhIA4Pjx44iIiED79u3Rq1cvfPTRR3XKLSoqwowZM6DX66HVahEUFIR33nkHVVVVTa4zERHRfwmvoBMREbWigwcPAgAeffTRVqtDZWUlYmNjMXPmTMTHxyM9PR3z58/H5cuXsX37drz22mvQ6/VYtWoVjEYj+vXrh9DQUAA3k/P77rsPHh4eeOuttxAcHIxjx44hMTERP//8M9LS0lqtXURERG0NE3QiIqJW9MsvvwAAgoKCWq0O169fR2JiImJjYwHcXOBuz549WLRoEU6ePImBAwcCAMLCwhAQEID09HQlQU9ISMBff/2F06dPK1f5H374YXh7e+OVV15BfHw8v/NORETkIN7iTkRE9B+nUqkwcuRI5blarUaPHj2g0+mU5BwA/Pz8EBAQgAsXLijb9uzZg4ceegjdunVDVVWV8oiJiQGABlegJyIiImu8gk5EROQgtfrmtHnjxg2br1dVVUGj0TSqzJqrzufPn0fv3r2bVkEn+fj4wMvLy2qbVquFn59fnX21Wq2yEB0A/P7779i9e3e97a7vJ+mIiIioLiboREREDurSpQsA4OLFi8q/a4gILBZLnRXa7YmOjsbrr7+OnTt3YsSIES6ra0vx9/dH//798e6779p8vVu3bi1cIyIioraLCToREZGDhg4dCpVKhc8//xyDBg2yeu3AgQO4fPkyhg0b1qgyBw0ahJiYGKSmpmLcuHE2V3LPyclBQECAS1Zyd7VHHnkE+/btQ3BwcL0/BUdERESOYYJORETkoODgYMyaNQtLly5FWVkZRo4cCW9vb5w4cQJJSUkICwvDpEmTGl3uxx9/jBEjRiAmJgbTpk1DTEwMOnXqBIvFgt27d2PLli3Izc11ywR94cKFOHToEIYMGYLZs2ejd+/eqKiowM8//4x9+/Zh7dq10Ov1rV1NIiKiNoEJOhERUSOsWLECISEhSE1NxaeffoqqqioYDAY8//zzWLBgAbRabaPL9Pf3x9GjR7FhwwZs2bIF6enpuHr1KgICAjB48GBkZGRgwIABzdCaptPpdMjJycH//vc/LF26FIWFhejQoQOCgoIwYsQIXlUnIiJqBJWISGtXgoiIiIiIiOi/jj+zRkREREREROQGmKATERERERERuQEm6ERERERERERugAk6ERERERERkRtggk5ERERERETkBpigExEREREREbmB/wMj/KJ5oFNV8gAAAABJRU5ErkJggg==", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c57d4ee2f49a469f93e8ad9d6dc47812", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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3omPjw8hISE88MADnDhxQtGPRYsWodFoGDVqVIk6XA0ZoFdANBoNzZs3R6PRlLcpFQqpizJSF2WkLq5ITZSRuihzM3WpzAN+5fniitREGanLrcdoNNKhQwfef//9EvM8//zzLFu2jMWLF7N161by8vLo27cvNputwtvWvn17kpKSnP6efvppatSoQatWrQDIzc2lZ8+eVKtWjZ07d7J161Z8fX3p2bMnFovFqT6LxcKgQYPo2LGjiy0xMTH07t2bjh07sn//fl555RXGjRvHkiVLHHm2b9/OgAEDGDJkCAcPHmTIkCH079+fnTt3Kvo3fPhw1q9fT2xsrMu2efPm0bx5c+644w5sNht9+vTBaDSydetWFi9ezJIlS5g4caIj/6RJk1y0aNiwIY8++qgjj5eXF2PGjGHz5s0cO3aM1157jddee42vv/76mnzYtGkTo0ePZseOHaxduxar1UqPHj0wGo2Kfrz00kssXryY/Px8RR2uipAokp2dLQCRnZ1d3qZIJBKJRHJb8FPcZPHpqQHCZreVtykSyW1PSe+yBQUF4ujRo6KgoKCcLLt+OnfuLEaPHi1Gjx4tDAaDCAgIEK+++qqw2+1O+WJiYgQg9u/f75SelZUldDqdWLx4sSMtISFBqNVqsXr16ivWffjwYdG7d2/h4+MjvL29xV133SVOnz4thBDiiSeeEPfff7/46KOPRFhYmAgICBDPPfecMJvNLuWUpW1ms1mEhISIt956y5G2e/duAYi4uDhH2qFDhwTgsLeYl156STz++OPiu+++EwaDwWVb/fr1ndKeeeYZ0bZtW8fv/v37i169ejnl6dmzpxg4cKCivRaLRYSGhoqpU6c6pRuNRuHj4yNmz54thBBi1apVQq1Wi4SEBEeen376Sej1+hJjswMHDghAbN68WXF7MQ8++KB4/PHHr9sHIYRISUkRgNi0aZNTekxMjPDw8BBZWVmiTZs2YsGCBVe0RQjl61H2oFdArFYr69evl7N+XobURRmpizJSF1ekJspIXZSRuigjdXFFaqKM1OXmsGDBArRaLTt37mTWrFnMmDGDb7/9tlT77t27F4vFQo8ePRxpERERNG7cmG3btpW4X0JCAp06dcLd3Z3169ezd+9ennrqKadju2HDBs6cOcOGDRtYsGAB8+fPZ/78+aX263psW7FiBWlpaQwbNsyRFhUVRVBQEHPnzsVsNlNQUMDcuXNp1KgR1atXd+Rbv349v/76K59//rli2du3b3eyBaBnz57s2bPH0RNfUp6S7NVqtQwdOpT58+c7TZ7466+/YjabeeyxxxzlNm7cmIiICKdyTSYTe/fuVSz722+/pV69eoqjAYrZv38/27Zto3Pnzlf180rnQ3Z2NgABAQFO6fPmzaNPnz4YDAYef/xx5s6dW2IZV0Kug14BEUKQm5srZ/28DKmLMlIXZaQurkhNlJG6KHNzdam8WsvzxRWpiTKVTRe7zYS5IPGW1+vmEYFaoy91/sjISGbMmIFKpSIqKoro6GhmzJjBiBEjrrpvcnIybm5u+Pv7O6WHhoaSnJxc4n6ff/45BoOBxYsXo9PpAKhXr55THn9/fz777DM0Gg3169enT58+/P3336Wy63ptmzt3Lj179iQyMtKR5uPjw8aNG7n//vt5++23Hbb+73//Q6stCv3S09MZNmwYCxcuxNfXt0R7QkNDXWyxWq2kpaURHh5eYp4rafnUU0/x0UcfsXHjRrp27QoUBbYPPfSQw3elcv39/XFzc1Ms22Qy8eOPP/Lyyy8r1lm1alVSU1OxWq1MnTqVp59++qp+luSDEIIJEyZw11130bhxY0e63W5n/vz5zJ49G4CBAwcyYcIETp8+TZ06dUrUQ4kKH6BPmzaNpUuXcvz4cTw8PGjfvj0ffPABUVFRJe5z6QG/lGPHjlG/fv2baa5EIpFIJBKJRFLpMBckcn7/5Fteb9UW03D3rlnq/G3btkWlurhkY7t27fj444+x2WzX/b2/EMJR5r333suWLVsAqF69OkeOHOHAgQN07NjREZwr0ahRI6f6w8PDiY6Ovi57SrLtUs6fP8///vc/fvnlF6f0goICnnrqKTp06MBPP/2EzWZj+vTp9O7dm927d+Ph4cGIESMYPHgwnTp1umLdl9db3Nh0abpSnuK0H3/8kWeeecax7a+//qJjx460b9+eefPm0bVrV86cOcOWLVtYs2bNFeu+khZLly4lNzeXoUOHKvqxZcsW8vLy2LFjBy+//DJ16tRh0KBBpfLhcsaMGcOhQ4fYunWrU/qaNWswGo3ce++9AAQFBdGjRw/mzZvHe++9p1hWSVT4AL34o/w777wTq9XKq6++So8ePTh69KjTLH1KnDhxwqlVKDg4+GabK5FIJBKJRCKRVDrcPCKo2mJaudR7qwgLC8NsNpOZmenUU52SkkL79u2BoqHSBQUFAI6A3MPD46plXx68q1Qq7HZ7mdp2Kd999x2BgYHcd999TumLFi3i3LlzbN++HbVa7Ujz9/fn999/Z+DAgaxfv54VK1Ywffp0oCggtdvtaLVavv76a5566inCwsJcepFTUlLQarUEBgY6bFbKU9wjfd9999GmTRvHtipVqgBFk8WNGTOGzz//nO+++47q1atz9913O2lx+URzmZmZWCwWl95uKDpmffv2JSwsTElaatYsagBq0qQJFy5cYOrUqY4A/Wo+XMrYsWNZsWIFmzdvpmrVqk7b5s2bR0ZGBp6eno40u93O/v37efvtt6+p8ajCB+irV692+v3dd98REhLC3r17r9rqExISorhkQEVHo9HQrl07OevnZUhdlJG6KCN1cUVqoozURRmpizJSF1ekJspUNl3UGv019WSXFzt27HD5Xbdu3VLp3LJlS3Q6HWvXrqV///4AJCUlcfjwYT788EPgYhB5KU2bNmXBggVYLJYr9qLfCKWxrRghBN999x1Dhw51sSc/Px+1Wu3UA1z8u7jBYPv27U6z1v/+++988MEHbNu2zeF/u3bt+OOPP5zKXrNmDa1atXLU2a5dO9auXcsLL7zglKe4QcHHxwcfHx8XX/v378/48eNZtGgRCxYsYMSIES6jIt59912SkpIIDw93lKvX62nZsqVTWTExMWzYsIEVK1aUqO3l2plMJqe6ruRD8T5jx45l2bJlbNy40RHwF5Oens7vv//O4sWLadSokSPdbrfTsWNH/vrrL/r27Vsq+4orrFScOnVKACI6OrrEPBs2bBCAqFGjhggLCxPdunUT69evv6Z65CzuEolEIpGULcWzuFvtlvI2RSK57bldZ3H39vYWL7zwgjh+/LhYtGiR8PLyEl9++aUQQoj09HSxf/9+sXLlSgGIxYsXi/3794ukpCRHGaNGjRJVq1YV69atE/v27RPdunUTzZo1E1artcR609LSRGBgoHjooYfE7t27xcmTJ8X3338vjh8/LoS4OIv7pYwfP1507tzZ8bssbVu3bp0AxNGjR11sPXbsmNDr9eLZZ58VR48eFYcPHxaPP/64MBgMIjExUdE/pVncz549Kzw9PcULL7wgjh49KubOnSt0Op347bffHHn++ecfodFoxPvvvy+OHTsm3n//faHVasWOHTtK1LKY4cOHC39/f6FWq0VsbKzTNqvVKho3bizuvvtusW/fPrFu3TpRtWpVMWbMGJdyXnvtNREREaF4/D777DOxYsUKcfLkSXHy5Ekxb9484evrK1599dVr8uHZZ58VBoNBbNy4USQlJTn+8vPzhRBCzJgxQ4SHhwubzXWFksGDB4sHHnigRB2UrsdKFaDb7XbRr18/cdddd10x3/Hjx8XXX38t9u7dK7Zt2yaeffZZoVKpXKbCv5TCwkKRnZ3t+IuPjxeASEtLE2azWZjNZseBt1qtjrRL0y0Wi1N68UEqKf3SNLPZLOx2u7Db7cJoNIo//vhDGI1Gp/TL8wshhM1mc0qzWCxXTC/J9pvtU2nTr2R7YWGhky63g09lcZzMZrOTLreDT2VxnEwmk4suld2nGz1OxfeW4jpuB5/K4jgV61L8cLwdfCqL43Tps6isfPopbrL49MQgUWDKr7Tn3qW6VITjVBHOPbPZ9TlU2X0qi+NUWFgo/vzzz1I/h8rap7S0tNsyQH/uuefEqFGjhK+vr/D39xcvv/yyY5m17777TlA0C6XT35QpUxxlFBQUiDFjxoiAgADh4eEh+vbt67QkWUkcPHhQ9OjRQ3h6egofHx/RsWNHcebMGSFE6QL0srRt0KBBon379iXaumbNGtGhQwdhMBiEv7+/6Natm9i+fXuJ+ZUCdCGE2Lhxo2jRooVwc3MTNWrUEF988YVLnl9//VVERUUJnU4n6tevL5YsWVJiPZeybds2AYgePXoobo+NjRV9+vQRHh4eIiAgQIwZM0YUFhY65bHZbKJq1arilVdeUSxj1qxZolGjRsLT01P4+vqKFi1aiDlz5rgE0lfzQem4AeK7774TQgjRpEkT8dxzzynasGTJEqHVakVycrLidqXrUfVvpZWC0aNHs3LlSrZu3eoy7v9q9OvXD5VKVeLwh6lTp/Lmm2+6pC9atMjxLUG1atVo0aIF+/fvJy4uzpEnKiqK+vXrs23bNlJTUx3pzZs3p3r16qxfv57c3FxHert27QgJCWHlypVOyzN07doVDw8PVq1a5WRD7969KSgoYMOGDY40rVZLnz59SElJYfv27Y50Hx8funXrRmxsLAcOHHCkBwcH0759e44fP86JEycc6ZXJp7NnzzpNtnE7+FQWx6l27doutlR2n8riOHXs2NExycvt4lNZHKfi/ImJibeNT2V1nOrUqUOjRo1uK58q2nFKqbuO/GQITLz4TWJl9+l2PE7X6lPjxo1d6qzsPpXFcbrzzjvZvXs3Wq22XHzav38/gwcPJjs722lOpsLCQmJiYqhZsybu7u5UJrp06ULz5s2ZOXNmeZsikZQJStdjpQnQx44dy/Lly9m8ebPLuP/S8O6777Jw4UKOHTumuN1kMjl9j5CTk0NkZCRpaWmOm5parUaj0WCz2ZwmfShOt1qtTktpaDQa1Gp1ienFawgWU7z0QUFBAWvXrqV79+7odDpH+uXraOp0Oux2u9M3JCqVCq1WW2J6SbbfbJ8ut/16fDKZTKxevdqhy+3gU1kcJ7vdzqpVqxy63A4+lcVxEkLw119/OelS2X260eNksVhYu3YtvXv3dthZ2X261PbrPU7FuvTs2RN3d/fbwqfL06/Hp2Jdunfv7pgg6UZ9+i3pDVIKzjGyxlw0Ku0t96k0tl/Np8LCQocubm5u5X6cysKnGz33lJ5Dld2nsjhOdrvd6b3lVvuUlZVFUFCQDNAlkgqM0vVY4SeJE1f5KL+07N+/3zHJgBJ6vR693nUNRp1O5zL5gkajUZyIovjGWtr0kiaZKE6/vG6l/Gq12jFDY2nSS7L9VvlUmvQr+VS8z6X7VXafbvQ4Fb88KJ2rldUnuPHjVPySp6SLUv4r2V5RfLqedOlT6X0q/v/t5FMxN+JTcYNoSbaXlF6S7ajt6HQ6R4B+Ndsr2rl36TO6uK6KcJyuN70szr3reQ5VdJ+ulF5an67nOVRS+vX4dLMmM5NIJDeXCh+gjx49mkWLFvH777/j4+PjmAbfYDA4WvQnT55MQkIC33//PQAzZ86kRo0aNGrUCLPZzMKFC1myZAlLliwpNz+uBa1WS9euXUt8APxXkbooI3VRRuriitREGamLMjdDFxXK68pWJuT54orURBmpS9mzcePG8jZBIrnpVPg7xhdffAEUDWm5lO+++45hw4YBRUsQXPqNkNlsZtKkSSQkJODh4UGjRo1YuXIlvXv3vlVm3zClWW/xv4jURRmpizJSF1ekJspIXZSRuigjdXFFaqKM1EUikVwrCmPPKhaiaKZ5l7/i4Bxg/vz5Ti1qL730EqdPn6agoICMjAy2bNlSqYJzq9XKqlWrXL5B+q8jdVFG6qKM1MUVqYkyUhdlpC7KSF1ckZooI3WRSCTXQ4UP0CUSiUQikdxeCCrF/LQSiUQikdxyZIAukUgkEolEIpFIJBJJBUAG6BKJRCKRSCQSiUQikVQAKs066LeanJwcDAaDy9qRtwIhBFarFa1W61jaRiJ1KQmpizJSF1ekJspcrsuiuJe4w78f9X06lrdp5crNOF9+jn+VC6YzPFfre7RqtzIp81YjryNXpCbKlLcuJb3LVuZ10CWS2w2l61H2oFdQCgoKytuEConURRmpizJSF1ekJspcqkuaOY7NqQvK0ZqKQ9mfL7dH8CavI1ekJspIXSo/U6dOpXnz5uVthuQ/hAzQKyBWq5UNGzbIWT8vQ+qijNRFGamLK1ITZaQuykhdlJG6uCI1UUbqcuuZOnUq9evXx8vLC39/f+655x527tx50+vdvHkz/fr1IyIiApVKxfLly13yLF26lJ49exIUFIRKpeLAgQNO2zMyMhg7dixRUVF4enpSrVo1xo0bR3Z2tlO+zMxMhgwZgsFgwGAwMGTIELKyspzyxMXF0a9fP7y8vAgKCmLcuHGYzWanPNHR0XTu3BkPDw+qVKnCW2+9xaUDqzdu3IhKpXL5O378+FX1SE5OZuzYsdSqVQu9Xk9kZCT9+vXj77//duQxmUyMHTuWoKAgvLy8uO+++zh//vw1+1pMjx490Gg07Nixw2XbsGHDUKlUvP/++07py5cvdxndIoTgm2++oV27dvj6+uLt7U2jRo0YP348p0+fVqx78eLFqFQqHnjggatqUxpkgC6RSCQSiUQikUgqPfXq1eOzzz4jOjqarVu3UqNGDXr06EFqaupNrddoNNKsWTM+++yzK+bp0KGDS5BYTGJiIomJiUyfPp3o6Gjmz5/P6tWrGT58uFO+wYMHc+DAAVavXs3q1as5cOAAQ4YMcWy32Wz06dMHo9HI1q1bWbx4MUuWLGHixImOPDk5OXTv3p2IiAh2797N7NmzmT59Op988omLXSdOnCApKcnxV7du3Stqce7cOVq2bMn69ev58MMPiY6OZvXq1XTt2pXRo0c78j3//PMsW7aMxYsXs3XrVvLy8ujbty82m63UvhYTFxfH9u3bGTNmDHPnzlW0y93dnQ8++IDMzMwSbRdCMHjwYMaNG0fv3r1Zs2YNhw4dYtasWXh4ePDOO++47BMbG8ukSZPo2LEMP4sTEkWys7MFILKzs2953WazWSxfvlyYzeZbXndFRuqijNRFGamLK1ITZS7X5dNTA8RXZ4aXs1Xlz804XxbHvSo+PTVAWGymMivzViOvI1ekJsqUty4lvcsWFBSIo0ePioKCgnKx60bo3LmzGD16tBg9erQwGAwiICBAvPrqq8JutyvmL9Zg3bp1Vyw3Pj5eDBgwQPj7+wtPT0/RsmVLsWPHDiGEEFOmTBHNmjUT33//vahevbrw9fUVAwYMEDk5OYplAWLZsmUl1hUTEyMAsX///qv6+8svvwg3NzdhsViEEEIcPXpUAA7bhBBi+/btAhDHjx8XQgixatUqoVarRUJCgiPPTz/9JPR6veNcmDNnjjAYDKKwsNCRZ9q0aSIiIsKh5YYNGwQgMjMzr2rnpdx7772iSpUqIi8vz2VbcVlZWVlCp9OJxYsXO7YlJCQItVotVq9eXWpfi5k6daoYOHCgOHbsmPDx8XGp+4knnhB9+/YV9evXFy+++KIjfdmyZeLScPinn34SgPj9998Vfbv8PLNaraJDhw7i22+/FU888YS4//77r6CMMkrXo+xBr6BotdryNqFCInVRRuqijNTFFamJMlIXZcpaF9Vt8g26PF9ckZooI3UpexYsWIBWq2Xnzp3MmjWLGTNm8O2337rkM5vNfP311xgMBpo1a1ZieXl5eXTu3JnExERWrFjBwYMHeemll7Db7Y48Z86cYfny5fz555/8+eefbNq0qcSe8LKkeIK/4vNo+/btGAwG2rRp48jTtm1bDAYD27Ztc+Rp3LgxERERjjw9e/bEZDKxd+9eR57OnTuj1+ud8iQmJnLu3DknG1q0aEF4eDh33303GzZsuKK9GRkZrF69mtGjR+Pl5eWy3c/PD4C9e/disVjo0aOHY1tERASNGzd28uNqvkJRr/d3333H448/Tv369alXrx6//PKLS90ajYb33nuP2bNnuwylL+ann34iKiqK++67T3H75cPh33rrLYKDg11GOdwo8q5RAdHpdPTp06e8zahwSF2UkbooI3VxRWqijNRFmZuhi6DyLxwjzxdXpCbKVDZdLHYTmebEW16vv1sEOrX+6hn/JTIykhkzZqBSqYiKiiI6OpoZM2YwYsQIAP78808GDhxIfn4+4eHhrF27lqCgoBLLW7RoEampqezevZuAgAAA6tSp45THbrczf/58fHx8ABgyZAh///0377777rW6W2rS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/jXtc7Mp72uooiJ1UUbq4orUxJlMvPDHiF0jSGipotP43rIHvYzo0qULjRsXzTWxcOFCNBoNzz77LG+//baj1zQhIYE2bdrwv//9jz59+vD8889ftQf9/PnzTJo0iTVr1mAymWjQoAGff/45bdq0cfSgT5w4kddff53MzEzuvfdevvnmG3x8fFzKUqlUij3oxZw7d46aNWu69KAr8euvv/L4449jNBpdluubP38+zz//vEsPemZmJlWqVOGPP/7g7rvvViz3iy++YPLkyVy4cAG9Xg/A+++/z+zZszl//jwqleq64qmWLVvStGlTRyBbTN26dbn//vuZPn06x44do2HDhuzYsYM2bdoAsGPHDtq1a8fx48eJiorir7/+om/fvsTHxzsaWRYvXsywYcNISUnB19e3VD4UM3DgQOrWrYtGo3EZDTFmzBiOHTvG33//7UibOHEiu3btYsuWog6LYcOGkZWVxfLlyx15tmzZQqdOnUhJSSE4OFhRj9Jw1R50g8HAmTMXX9DOnj2LEMJpWAVA/fr1b1lwbjab2bt3Ly+//LJTeo8ePdi2bZviPtu3b6dHjx5OaT179mTu3LlYLBbF74BMJhMm08XhYzk5OQBYLBYslqIXULVajUajwWazOc3IWZxutVqdZkDWaDSo1eoS04vLLab4wmu0pQFZvXMJPiTQqEBtBVRgv+zerrGqECqhmG5XCy6ZTBWVALXtCukagbjkmaqyg9pecrpN6zykTG0r6mVWSkeA/bI5x67Xp6zaOHS5XXy60eMkVDjpcqt90mHGdkl6RTn3QLjoUlqfLk+vKD6VdJw6rHeDDX0ctscTRGHVJM4OXYbOosGe7031z4dRS5vIqQeh5af3olLHFtluBrTpRQMhrtEnd7vlmn3y1hqxXZZe3teTTVt0roQcEFc8fpX1HnG9516xLsGHBDr77eHT5enX45NV53xvuR18utHjdKXnUGX16UaOky952AChEuTUFphMJqd3z+L3PavVeeh9Sek6nQ673e60XJtKpUKr1ZaYbrPZXN4zbxcWLFjA8OHD2blzJ3v27GHkyJFUr16dESNGYLfbGTJkCC+++GKpJ7fOy8ujc+fOVKlShRUrVhAWFsa+ffuc3vXPnDnD8uXL+fPPP8nMzKR///68//77vPvuuzfLTQBH48rlwfmVWLt2LXa7nYSEBBo0aEBu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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d099bea9baca411ba54a03b7da074cac", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6f97b46bfb2046c9a9deaaadb5b9bc95", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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1SlbqVfwivvKZVl2KZbffvuta4IBYPfu3TzwwANs27aNhg0butKpKK/S36XpdO3alR9//NEtzrp16+jUqRMGg4FmzZp5WAhMmzaNgoIC3nvvPaKjozEajfj7+3vUdfjw4Tz++OMsXbqUxYsXM3bsWA+riNdee43U1FQiIyNdeZtMJre99tVh2bJlPPDAAyxbtoyBAwe6XatuHTp27Mj69eu59dZbXfFKtxqAepzd6tWrWb58OS1btnTFURSFHj168Msvv1yUZaCmoGtoaGhoaGhoaGhoXBUkJiYyefJkxo0bx759+3j//feZNWsWANnZ2SQkJJCSou6lP3nyJKCuyEZERBAYGMiYMWN48sknCQkJITg4mKeeeorWrVtXeVQXwCOPPML777/PyJEjee655wgMDGTnzp107tyZpk2bVqvcl6NsXbt2JSgoiPvuu48XX3wRb29vPvvsM2JjY13KZ6kSXkpmZiYAzZs3d+1THzhwILNnz+aVV15xmbg///zz1K1bl/bt2wMwfvx45s2bx+TJkxk7diw7duxgwYIFLFu2DFCPa23VqpVbXqXpVwyviJ+fHyNGjOD5558nLy+P0aNHu13v378/LVq0YNSoUbzzzjtkZ2fz1FNPMXbsWJflAKjO8KxWK9nZ2RQUFLj2kbdr1w5QlfN7772X9957jy5durhWwb29vQkMDKx2HSZPnsyoUaPo1KkTXbt25dNPPyUhIcF11vmXX35JSEgIw4YN85g8GTRoEAsWLNAU9H8KRVFISUnB39//kvdDaGhoaGhoaGhoaFxOhBAUFBQQFRVVqRfvq5l7772XkpISOnfujE6n49FHH+Whhx4C4IcffuD+++93xR05ciQAL730EtOnTwdg9uzZ6PV6hg8fTklJCddffz2LFi067wp8SEgImzZt4umnn6ZXr17odDratWtH9+7dq13uy1G20NBQ1q5dy9SpU+nbty82m42WLVuyevVq2rZtW+2y9O3bl6VLl/L222/z9ttv4+PjQ9euXVm7dq3LnL9+/fqsWbOGJ554gg8++ICoqCjmzp3L7bffXu18zseYMWNYsGAB/fv3p06dOm7XdDodP//8MxMmTKB79+54e3tz1113MXPmTLd4N998s9uZ6qWTC6Vm/Z988gl2u52JEycyceJEV7z77rvvojzsjxgxgqysLF555RVSU1Np1aoV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lRER0alTp2jTpk0kl8spKyuLjh8/Tu7u7tShQwcqKipSS+zV4ZyIcU7EOCeKOB9inBMxzokY50SMcyL2MubkZT6CnpubS1OmTCGZTEaGhobk5eVF6enpjWpz2bJl1K1btxrrxMfH01tvvUUymYwA0MGDB0V1KioqaNmyZSSTycjAwIA8PDzo0qVLCnVycnJo0qRJZGVlRUZGRtSjRw/av3+/0vcsKiqibt26EQCSy+UKy06fPk2DBw8mqVRKrVu3pjfffFNU5+LFi/TGG2+QgYEB2djY0PLly6miokJYnpCQQP379ydzc3MyMDAgR0dHCgoKqjYHM2fOpI4dOypddvfuXdLW1qaIiAgiInr06BFNmjSJTE1NydTUlCZNmkSPHz9WeM2tW7forbfeIiMjI3rllVfos88+o+Li4nrF8KLExETS0dFR+lmuX7+eHBwcyMDAgGxtbWnOnDlK948//viDtLW1ycvLq9o81BdPs6ZBACh9hIaGCnUqd2Rra2vS19enN954g1JTU4XlsbGx1baTmZlJRM833EGDBpG5uTnp6+tT+/btyc/Pj+7evdvMEdeOcyLGORHjnCjifIhxTsQ4J2KcEzHOidjLmJOXdYBeUVFB/fr1owEDBtDp06fp6tWr9PHHH4vmra+vugzQjxw5QosXL6aIiIhqB+iBgYFkYmJCERERlJqaSt7e3go/5BAReXp6Uu/evenUqVOUkZFBK1euJG1tbdElFEREs2bNouHDh4sG6Hl5eWRmZkY+Pj509epVunTpEr377rtkaWkpTNn39OlTsrKyog8++IBSU1MpIiKCTExMaO3atUI7586do7CwMLp06RJlZmbSDz/8QEZGRrRt2zalOZDL5QSATpw4IVq2atUqatOmjfD+w4YNI2dnZ0pKSqKkpCRydnamt956S6hfVlZGzs7ONGjQIDp37hzFxMSQjY0NzZw5U6hTlxgqPXnyhF599VUaOnSo6LPcs2cP6evr0969eykzM5N+/fVXkslkNGfOHFE7vr6+NHv2bDI2NqZbt24pzUN98QCdMcYYY4yxf7CWPED38PCgGTNm0IwZM0gqlZK5uTktXryYKioq6Nq1awRA4ah0WVkZmZub03fffVdju3fu3CFvb28yMzMjIyMj6tWrF508eZKI/m+A/v3335OdnR2ZmpqSt7e3wsD6RcoG6BUVFWRt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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f5d597c48025454c97d3eba64267dc5a", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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oLi4GLNnz4aXlxdsbGzQokULxMbGGrNEg9T0OlRYWIhJkybB09MTCoUCbdq0wTfffFNtm/qMLZa8rwD6vT5XGD9+PCQSCb766qtq29T3fYul7itAzbkY8n7uUVWNLQCQkpICf39/2Nra4umnn8aqVavqWA1jrCHhCboRpaSkYOLEiThw4AASExNRVlaGkJAQ3Lt3T9jm888/x+LFi7F8+XIcOnQI7u7u6NevH+7evVtlu2lpaejYsSM2b96M48eP480338To0aPx22+/CdukpqZi9OjRGDt2LE6dOoVffvkFhw4dwltvvWXSmvV17949+Pn5Yfny5aLrL1y4gJ49e8LX1xfJyck4duwY5s6dC1tb2xrbLi0txWuvvYZnn31WZ529vT0mTZqEvXv34syZM5gzZw7mzJmDNWvW1Lmmuqouk/v37+Po0aOYO3cujh49iri4OGRkZGDIkCF6tf37778jOztbuD3//PPCuq+//lpr3ZUrV+Dk5IRXXnnFaLXVxaZNmzBt2jTMnj0barUazz77LAYMGIDLly+DiDBs2DBcvHgR27Ztg1qthpeXF/r27av1PKusvLwcCoUCU6ZMQd++fUW32bt3L/r164edO3fiyJEj6N27NwYPHgy1Wm2qUmululwq9O/fX+ux3blzZ7Vt6jO2NOT9BXj4PAsKCkJ0dHSt265ubCkuLoaLiwtmz54NPz+/OtdhTPq8FtUll+rGFwAYMWIE/vjjD8TExODcuXPYuHEjfH1961xXXdX0OjR9+nTs3r0bP/74I86cOYPp06dj8uTJ2LZtW5Vt6jO2WPK+AtScS4WtW7fi4MGD8PDwqLFNfcYWwHL3FaDmXAx5P1ehurElKysLAwcOxLPPPgu1Wo2PPvoIU6ZMwebNm+tcE2OsgTDjT7w99m7evEkAhN/N1Gg05O7uTtHR0cI2RUVFpFQqadWqVbVqe+DAgfTGG28Ify9atIiefvpprW2WLl1Knp6edajANADQli1btJaFhYXRyJEjDWrvgw8+oJEjR9LatWtJqVTWuP2LL75o8H2Zilgmlf35558EgP76668qt8nKyiIApFar9b7vLVu2kEQioUuXLun9b0ypa9euNGHCBK1lvr6+NHPmTDp37hwBoJMnTwrrysrKyMnJib799lu92h8zZgwNHTpUr23btm1L8+fP17vvplRdLkS1q6s6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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# set plotting options\n", "plot_info = {\n", @@ -1041,32 +527,10 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "9c275a1b-3354-4a93-80f6-2b8c0a3940c6", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Do you want to display horizontal lines for limits in the plots?\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1c847d18cc9b4c318c1fc2cbc42bb5c4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(RadioButtons(description='\\t', layout=Layout(width='max-content'), options=('no', 'yes'), value…" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "print(\"Do you want to display horizontal lines for limits in the plots?\")\n", "display(container_limits)" @@ -1074,51 +538,25 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "0eabb02e-bc47-404a-921e-2644cba6d75d", "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5bd58d43bcb0493f9dcd6de7836a36ec", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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/3TXXXepY8eOuuqqq5ScnKzXXnut3nkVFRXphRde0JNPPqnvvvsuoHI2NDbYMtux3KHaTkuWLNFpp52m1157TQ8++KBOOOEELVu2zJteXFysv//97/XO10o//vijZs2aVes8O3fuVGFhYbXpbrdbH330UY1xWVlZuvfee/Wf//xHkvTRRx/p3HPP1VlnneW90O9PaWmpz+ctW7Zo8uTJOv/883X99ddrzZo1tZY3NzdXCxYs0OLFi6stq6ioqM71rRCqujVnzhxNnjxZhYWFuvPOO/WnP/1Jv/3tb3X11Vdr/Pjxmjt3rp599tl65RtuwbQBUvAH5eE4qG/sde7Xr5/fP4/Ho0svvdT72Y7WrVsX7iKE3QknnOA9ufjvf/+rYcOGqby8XFdddZWaN2+uSy65RB988EG9lxdMfQzX/jRUsV999ZXmzp2rLl26aNSoUXrzzTeDujjNMU/jlznQvG+77TZt2rRJ//d//6evvvpKY8aM0erVq/Xxxx9rxYoV8ng8mjZtWkB5B6N79+4N2i+E67u2W70MJPall17SFVdcof79++vWW29VmzZtdPvtt+uBBx7Qjh071L9//wZtq6qC2a+FMtbOF1AbIpgy1/W7ePvttzVkyBDt379ft9xyi1544QX99a9/1S233KIDBw5oyJAhYbmZwe6i9RjRDu2lP8Ge71QoLCzU8uXLGxxfIVz1I5B8w31e3FCN2V4iCAaw0K233lrr39VXX23i4uJqjC8uLjYvvfSSGTZsmElMTDSjR4828fHxZv369bXmu23bNvOLX/zCpKSkmHPOOcds27bNHH/88cbhcBiHw2GSk5PN8uXLLY8Npsx2Lnc4ttOgQYPMH/7wB2OMMeXl5ebPf/6zSUlJMe+9954xxpi8vLxa69aHH35oTjjhBJOfn18t7eDBg+bEE080H330UZ3r7s+6detqzPuHH34wp556qomLizPx8fHm17/+tTl06JA3vbZyv/TSS8bpdJp+/fqZlJQU87e//c00b97cXH/99ea6664zCQkJ5h//+Iff2Li4OPPjjz8aY4zJyckxycnJpk+fPmbChAnm1FNPNQkJCebTTz/1G/vZZ5+Z5s2bm9TUVJOUlGSOO+44s2HDhnqV2Zjw1K0ePXqYl19+2RhjzNq1a43T6TR//etfvekvvPCC6d+/f53579271/v/27dvN3ff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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "grouped_df = new_df_param_var.groupby([\"location\", \"position\", \"name\"]).cuspemax_var\n", "\n", "my_df = pd.DataFrame()\n", - "my_df[\"mean\"] = grouped_df.mean()\n", - "my_df[\"std\"] = grouped_df.std()\n", - "my_df[\"minimum\"] = grouped_df.min()\n", - "my_df[\"maximum\"] = grouped_df.max()\n", + "my_df[\"mean\"] = grouped_df.mean()\n", + "my_df[\"std\"] = grouped_df.std()\n", + "my_df[\"minimum\"] = grouped_df.min()\n", + "my_df[\"maximum\"] = grouped_df.max()\n", "\n", "# Create boxes for mean ± std and plot mean as a horizontal line\n", "box_width = 0.5 # Width of the boxes\n", "box_positions = np.arange(len(my_df))\n", "\n", "# Create the figure and axis\n", - "fig, ax = plt.subplots( figsize = (16, 4))\n", + "fig, ax = plt.subplots(figsize=(16, 4))\n", "\n", "l = 0.15\n", "\n", @@ -1127,44 +565,82 @@ "name_list = []\n", "my_df.reset_index()\n", "\n", - "for index, row in my_df.reset_index().iterrows(): \n", - " \n", + "for index, row in my_df.reset_index().iterrows():\n", " if current_string != row[\"location\"]:\n", " current_index += 1\n", - " ax.vlines(current_index, -100, 100, color='black', linewidth = 2, zorder = 10)\n", + " ax.vlines(current_index, -100, 100, color=\"black\", linewidth=2, zorder=10)\n", " current_string = row[\"location\"]\n", " name_list.append(f\"string {row.location}\")\n", - " \n", + "\n", " current_index += 1\n", - " \n", - " rect = Rectangle((current_index - box_width / 2, row[\"mean\"] - row[\"std\"]), box_width, 2 * row[\"std\"], fill=False, edgecolor='tab:blue', linewidth = 1, zorder = 2)\n", + "\n", + " rect = Rectangle(\n", + " (current_index - box_width / 2, row[\"mean\"] - row[\"std\"]),\n", + " box_width,\n", + " 2 * row[\"std\"],\n", + " fill=False,\n", + " edgecolor=\"tab:blue\",\n", + " linewidth=1,\n", + " zorder=2,\n", + " )\n", " ax.add_patch(rect)\n", - " ax.plot([current_index - box_width / 2, current_index + box_width / 2], [row[\"mean\"], row[\"mean\"]], color='tab:green', zorder = 2)\n", + " ax.plot(\n", + " [current_index - box_width / 2, current_index + box_width / 2],\n", + " [row[\"mean\"], row[\"mean\"]],\n", + " color=\"tab:green\",\n", + " zorder=2,\n", + " )\n", " ax.grid()\n", "\n", " # Plot horizontal black lines at min and max values\n", - " ax.hlines(row[\"minimum\"], current_index - l, current_index + l, color='k', zorder=2, linewidth = 1)\n", - " ax.hlines(row[\"maximum\"], current_index - l, current_index + l, color='k', zorder=2, linewidth = 1)\n", - " \n", + " ax.hlines(\n", + " row[\"minimum\"],\n", + " current_index - l,\n", + " current_index + l,\n", + " color=\"k\",\n", + " zorder=2,\n", + " linewidth=1,\n", + " )\n", + " ax.hlines(\n", + " row[\"maximum\"],\n", + " current_index - l,\n", + " current_index + l,\n", + " color=\"k\",\n", + " zorder=2,\n", + " linewidth=1,\n", + " )\n", + "\n", " # Plot vertical lines min and max values\n", - " ax.vlines(current_index, row[\"std\"] + row[\"mean\"], row[\"maximum\"], color='tab:blue', linewidth = 1)\n", - " ax.vlines(current_index, row[\"minimum\"], -row[\"std\"] + row[\"mean\"], color='tab:blue', linewidth = 1)\n", - " \n", + " ax.vlines(\n", + " current_index,\n", + " row[\"std\"] + row[\"mean\"],\n", + " row[\"maximum\"],\n", + " color=\"tab:blue\",\n", + " linewidth=1,\n", + " )\n", + " ax.vlines(\n", + " current_index,\n", + " row[\"minimum\"],\n", + " -row[\"std\"] + row[\"mean\"],\n", + " color=\"tab:blue\",\n", + " linewidth=1,\n", + " )\n", + "\n", " name_list.append(row[\"name\"])\n", "\n", "\n", "if container_limits.value == \"yes\":\n", " # Plot lines for mean value thresholds\n", - " ax.hlines(0.025, 0, len(name_list) - 1, color='tab:orange', zorder=3, linewidth = 1)\n", - " ax.hlines(-0.025, 0, len(name_list) - 1, color='tab:orange', zorder=3, linewidth = 1)\n", + " ax.hlines(0.025, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1)\n", + " ax.hlines(-0.025, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1)\n", "\n", " # Plot lines for std value thresholds\n", - " ax.hlines(0.05, 0, len(name_list) - 1, color='tab:red', zorder=3, linewidth = 1)\n", - " ax.hlines(-0.05, 0, len(name_list) - 1, color='tab:red', zorder=3, linewidth = 1)\n", + " ax.hlines(0.05, 0, len(name_list) - 1, color=\"tab:red\", zorder=3, linewidth=1)\n", + " ax.hlines(-0.05, 0, len(name_list) - 1, color=\"tab:red\", zorder=3, linewidth=1)\n", "\n", "# Set labels and title\n", "ax.set_xticks(np.arange(len(name_list)))\n", - "ax.set_xticklabels(name_list, rotation = 90)\n", + "ax.set_xticklabels(name_list, rotation=90)\n", "\n", "# Show plot\n", "ax.set_ylim([-0.2, 0.2])\n", @@ -1176,13 +652,13 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "37e5f237-2470-49c8-a607-2c3796d7798b", "metadata": {}, "outputs": [], "source": [ "# remove global spikes events by selecting their amplitude\n", - "# and \n", + "# and\n", "# compute mean over initial hours of all DataFrame\n", "\n", "new_df_param_var = new_df_param_var[new_df_param_var.cuspemax_var > -10]\n", @@ -1191,32 +667,18 @@ "\n", "# recalculate % variation wrt new mean value for all channels\n", "for ch in channel_list:\n", - " channel_df = new_df_param_var[new_df_param_var[\"channel\"] == ch]\n", - " channel_mean = channel_df[\"cuspemax_var\"].iloc[0:int(0.1*len(channel_df))].mean()\n", - " new_ch_var = (channel_df[\"cuspemax_var\"] - channel_mean)/channel_mean*100\n", - " new_df_param_var.loc[new_df_param_var[\"channel\"] == ch, param_widget.value + \"_var\"] = new_ch_var" + " channel_df = new_df_param_var[new_df_param_var[\"channel\"] == ch]\n", + " channel_mean = (\n", + " channel_df[\"cuspemax_var\"].iloc[0 : int(0.1 * len(channel_df))].mean()\n", + " )\n", + " new_ch_var = (channel_df[\"cuspemax_var\"] - channel_mean) / channel_mean * 100\n", + " new_df_param_var.loc[\n", + " new_df_param_var[\"channel\"] == ch, param_widget.value + \"_var\"\n", + " ] = new_ch_var" ] } ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.7" - } - }, + "metadata": {}, "nbformat": 4, "nbformat_minor": 5 } From 100b1ba9f3f3c303c018d27fa0cb6d3b2a362a67 Mon Sep 17 00:00:00 2001 From: morellam Date: Tue, 27 Jun 2023 11:50:58 +0200 Subject: [PATCH 122/166] fixed widgets for summary plots --- notebook/L200-plotting-hdf-widgets.ipynb | 618 ++--------------------- 1 file changed, 31 insertions(+), 587 deletions(-) diff --git a/notebook/L200-plotting-hdf-widgets.ipynb b/notebook/L200-plotting-hdf-widgets.ipynb index 698bddb..0e4163e 100644 --- a/notebook/L200-plotting-hdf-widgets.ipynb +++ b/notebook/L200-plotting-hdf-widgets.ipynb @@ -26,13 +26,13 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "5de1e10c-b02d-45eb-9088-3e8103b3cbff", "metadata": {}, "outputs": [], "source": [ "# ------------------------------------------------------------------------------------------ which data do you want to read? CHANGE ME!\n", - "run = \"r000\" # r000, r001, ...\n", + "run = \"r001\" # r000, r001, ...\n", "subsystem = \"geds\" # KEEP 'geds' for the moment\n", "folder = \"prod-ref-v2\" # you can change me\n", "period = \"p06\"\n", @@ -54,82 +54,12 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "c3348d46-78a7-4be3-80de-a88610d88f00", "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-06-27 10:18:19,799: \u001b[35m---------------------------------------------\u001b[0m\n", - "2023-06-27 10:18:19,800: \u001b[35m--- S E T T I N G UP : geds\u001b[0m\n", - "2023-06-27 10:18:19,801: \u001b[35m---------------------------------------------\u001b[0m\n", - "2023-06-27 10:18:19,827: ... getting channel map\n", - "2023-06-27 10:18:20,742: ... getting channel status\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f589bd6fce8c453c8a2ed336afaa0a45", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='Event Type:', options=('IsPulser', 'IsBsln'), value='IsPulser')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "36f135000d0249d48b1bef0671ad4df8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='Parameter:', options=(), value=None)" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Pick the way you want to include PULS01ANA info\n", - "(this is not available for EventRate, CuspEmaxCtcCal \n", - "and AoECustom; in this case, select None):\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f3bef13a4ff84033bf3e92284bf7251f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='Options:', options=(), value=None)" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[91mIf you change me, then RUN AGAIN the next cell!!!\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "# ------------------------------------------------------------------------------------------ ...from here, you don't need to change anything in the code\n", "import sys\n", @@ -274,22 +204,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "508896aa-8f5c-4bed-a731-bb9aeca61bef", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "You are going to plot 'Cuspemax' for 'IsPulser' events...\n", - "IsPulser_Cuspemax\n", - "None (ie just plain geds data)\n", - "...data have beeng loaded!\n", - "...data have been formatted to the right structure!\n" - ] - } - ], + "outputs": [], "source": [ "def to_None(string):\n", " return None if string == \"None\" else string\n", @@ -396,7 +314,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "a6fde51f-89b0-49f8-82ed-74d24235cbe0", "metadata": { "tags": [] @@ -454,163 +372,22 @@ "\n", "# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n", "# Create text input boxes for min and max values\n", - "min_input = widgets.IntText(\n", + "min_input = widgets.FloatText(\n", " description=\"Min y-axis:\", layout=widgets.Layout(width=\"150px\")\n", ")\n", - "max_input = widgets.IntText(\n", + "max_input = widgets.FloatText(\n", " description=\"Max y-axis:\", layout=widgets.Layout(width=\"150px\")\n", ")" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "084e9d36-1478-4833-96ff-555134e9a64c", "metadata": { "tags": [] }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7a0e3a59e9864117a8f1758d482ee4ba", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='data format:', options=('absolute values', '% values'), value='absolute values')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "94b63c27adf245628b9979bef103f81f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='Plot structure:', options=('per string', 'per channel'), value='per string')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "692416493e3a49cdb8bee63efd925181", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='Plot style:', options=('vs time', 'histogram'), value='vs time')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6706cd9b482d4403bf0566f96cbdbf10", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='String:', options=(1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 'all'), value=1)" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a12cb80d56694a4cb6f3b891c6ec0dd1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Dropdown(description='Resampled:', options=('no', 'only', 'also'), value='no')" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Chose resampling time among the available options:\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "63e849a9bbfa4470921841b5238872e5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(RadioButtons(description='\\t', layout=Layout(width='max-content'), options=('1min', '5min', '10…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Do you want to display horizontal lines for limits in the plots?\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1c847d18cc9b4c318c1fc2cbc42bb5c4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(RadioButtons(description='\\t', layout=Layout(width='max-content'), options=('no', 'yes'), value…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Set y-axis range; use min=0=max if you don't want to use any fixed range:\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ac885e4932d843458014dde8c5f4a65c", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "VBox(children=(IntText(value=0, description='Min y-axis:', layout=Layout(width='150px')), IntText(value=0, des…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[91mIf you change me, then RUN AGAIN the next cell!!!\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "# ------------------------------------------------------------------------------------------ get plots\n", "display(data_format_widget)\n", @@ -633,306 +410,12 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "2122008e-2a6c-49b6-8a81-d351c1bfd57e", "metadata": { - "collapsed": true, - "jupyter": { - "outputs_hidden": true - }, "tags": [] }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-06-27 10:23:24,278: Plot style: vs time\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Making plots now...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-06-27 10:23:24,850: ... string 1\n", - "2023-06-27 10:23:26,484: Plot style: vs time\n", - "2023-06-27 10:23:27,058: ... string 2\n", - "2023-06-27 10:23:28,608: Plot style: vs time\n", - "2023-06-27 10:23:29,119: ... string 3\n", - "2023-06-27 10:23:30,606: Plot style: vs time\n", - "2023-06-27 10:23:31,045: ... string 4\n", - "2023-06-27 10:23:32,379: Plot style: vs time\n", - "2023-06-27 10:23:32,695: ... string 5\n", - "2023-06-27 10:23:33,648: Plot style: vs time\n", - "2023-06-27 10:23:34,121: ... string 7\n", - "2023-06-27 10:23:35,458: Plot style: vs time\n", - "2023-06-27 10:23:36,017: ... string 8\n", - "2023-06-27 10:23:37,529: Plot style: vs time\n", - "2023-06-27 10:23:38,154: ... string 9\n", - "2023-06-27 10:23:39,807: Plot style: vs time\n", - "2023-06-27 10:23:40,677: ... string 10\n", - "2023-06-27 10:23:42,794: Plot style: vs time\n", - "2023-06-27 10:23:43,360: ... string 11\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "748a3e8bb86845c294bf00abdb2699ee", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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HlCuGx8fz+WXX64cc8UVVxAfH6+ppz81NTV07Ngx6H49vv76a0aNGsXf/vY3unTpQv/+/Zk9e7YmgWOwevqXZeHChQwYMIABAwbwy1/+kv/85z+nFK11QayDvnDhQh5//HHef/99xowZw7/+9S9uvvlmDh8+TPfu3YOed+zYMc2yEZ06dTobxW0TvF4v5eXlJCYmYjZfMHaUM44hl+AYsgmOIRt9DLkE50KSzZtbijhZ6eCa3mdnSdALSTZnE0MuwTFko8+FKBevw4GzqPCs3zciJRWzSlFsiW7duvH2229jMpkYMGAABw4c4O2332bmzJmndP8vvviCsrIydu7cqSiAffv21Rzj9XqZN28esbGxAEybNo21a9fyyiuvnNI99SguLiYiIoIOHTpotnfu3Jni4mJAXL5v+vTpPPTQQ4waNUpRpv2v07lzZ822Dh06EBERoVynuLiYnj17BtxH3terVy/d63Tu3Bm32015eTkpKSkB9546dSpPPPEEixYt4v777wfEsPDRo0czePBg5fpJSUkB5yYlJSnl8yctLY3//e9/fPvtt7r7g5GZmcmWLVuIjIxk6dKllJeX8/DDD1NZWanMQw9WT/+yfPzxx/zyl78E4KabbqK+vp61a9eGDK/X44JQ0N966y1mzJjBr371KwDmzJnDd999xwcffMCrr74a9LykpCTat29/lkrZtng8HtLS0rjlllsumE77bGDIJTiGbIJjyEYfQy7BuZBk0+RuW09wS1xIsjmbGHIJjiEbfS5EuTiLCsl//qmzft+uz79KZM9eYR9/xRVXaNaWHz16NG+++SYejweLxRLy3IceeojPPvtM+bu+vp709HRGjBgR0jvbs2dPRTkHSElJobS0NOwynw6CICj1fffdd6mtreWpp0I/J7V89K6jd4zsDQ73mM2bN3PzzTcr+/71r39xzz33cMcddzB37lzuv/9+6urqWLx4MXPmzGl1+WQOHTrE7bffzrPPPssNN9wQrMq6eL1eTCYTn3/+OfHx8YCoe95111384x//ICoqKmg91duOHTvGjh07lCR3VquVyZMnM3fu3B+fgu50Otm9ezd//OMfNdvHjRsXMsQBYMSIETQ3NzN48GD+9Kc/ce21157JohoYGBgYGJx1AocqBgYGBmeGiJRUuj4f3Dl2Ju97tnjxxReZPXu2ZpuspIXCf6qC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nfzrX/9StmVmZrJlyxYiIyNZunQp5eXlPPzww1RWVmrmoYfD8uXLaddOXDWroaGBlJQUli9fjtncOp/4eR/iXlhYSJcuXdi6dSujR49Wtr/yyit8+umnHD0amBW7f//+3H///Tz11FPKth9++IGf/exnFBUV6c4dcDgcOBy+eZS1tbV069aN8vJyJezHbDZjsVjweDwa64y83e12axInWCwWzGZz0O3+lkurVfwIuN1uTsxczIn/i6Lf0iZszYDJZ9FVruMWrbB6271mEFRtwSSA2RNiu8Vn6QUwecHsDb7d42faMXvEa+ltRwCv/3b3qdXJHYEiF6vrx1GntnpObptKNs4fR53a6jl5rPyk36cMywgAioAUwOQ209u823ifjPfJeJ+M75PxPp3D5+SKFOVSccLKtN+O04wD1dhsNrxer2aOsclkwmq1Bt0ebKyq3l5bW0tiYmKrQtwrm7NYnf8UZ5txXV+lY2R4KU2vueYaevfurVGuvvrqK+666y6am5uxWCw0NDRQVFREeXk5H374IevWrWP79u0kJSXx0EMP8dlnnynn1tfX8/DDD3Po0CE2btyoe8/nn3+eRYsWcejQIWXb22+/zbvvvktmZuBKNaca4v7FF19w//33a3QWgBtuuIE+ffrwz3/+k3feeYeFCxeyadMmLBaL7rUefPBBcnJyAhK6RURE8N///pcpU6Ywbtw4evXqpVFmCwoK6Nq1K2lpaVxxxRWac+fPn8+vfvUrvvrqK66//npADPG++eablWP+9a9/cc8993DPPfeQm5vL5s2bqaurIyUlhTlz5vCrX/0KgL/85S988sknGiMTiGHwM2bM4I9//KOu3N58801efPFFampqAvZt2LCBW2+9lffff597771X2T5u3Dg2b95McXEx8fHiyjRLlizhrrvuoqGhgagorXEwVIh7QUGBMiW7srKS999/n5UrV7Jjxw569OihW+YLcpm1xMRELBZLgLe8tLQ0wPIjk5ycrHu81WoNGmJgt9s1IRwyNpsNm82m2WaxWLBYLAHHyh1ruNv9r6veLq8TanFLycUEdNdVNQXZbvaC3mojQbcHyTMXbHuwNV5btf0U6qSWi1y2C71ObfWcLCZfuczeEGVs7fYfUdv7qb5PJrcZMJGqOth4n87u++TBign3OalTCT3p7MlusYyt3d4W75ODKCJoopQe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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7032440d2f314e4d80a3c0cce0d5fd30", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "46bac7b0a4614e30a4edf918a0c44a50", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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5/bt28uGVFUkSUKv1wPWUPCqIeLdu3fn66+/Ji8vr1oven0gIiKCwsJCDh8+LHuCDx06RGFhIf369QNg7dq1lJeXy985cuQITz31FPv27aNt27ZyPdOmTcNgMODu7g7Atm3bCAsLo1WrVkiSRExMjMOxFy9ezM6dO/n5559p3bo1Xl5eTlMBbNgGSdTOYc6cOaSnpxMaGiof28PDQzaUa2qfGlFRUXKd9vzf//0fer3eKargjjvucDrPf//733Tq1Ik33nhD9ZoC5H32WtcWYaALVLGYSq53EwQ1IHK4CwQCG8nHpmA25F/WVBCBQCD4u5CSksLkyZN57rnnOH78OIsWLWLevHmUlpYyZ84c7r33XkJDQ8nNzWXx4sVcunRJcVktG2PGjGHu3Lncf//9vPfee4SGhhIVFUVYWBgRERG1alNJSQmxsbHy54SEBKKjowkICKBFixaANbFYcnIyaWnWef7nz58HrN5iW3bwjIwMMjIy5LpiYmLw9fWlRYsWBAQE0LlzZ4YPH86ECRNYsmQJAM8++yz33HOPHO5tM8Jt5OTkANC5c2c527ktfH38+PFMmzaNixcvMnfuXN599115vW9btnwbwcHBeHp6Om2vK0OHDqVLly6MGzeOjz76iLy8PKZMmcKECRPw8/OrVfsAFi5cSKtWrbjpppswGAz88MMPrF27lrVr1zod85tvvuH++++ncePGDtt9fX2dzsfHx4fGjRs7bS8rK5O9+pmZmcyePRtPT0+GDh1aZw3qfzzNPxSNRoOvr6/iHIx/MkIXdYQ2yghd1BHaqHMjamM25F/1Y9yIulwrhDbKCF3UEdpcHZ544gnKy8vp06cPL7zwAi+99BLPPvssLi4unDt3joceeogOHTpwzz33kJ2dzb59+7jppptU63N3d2fbtm0EBwczYsQIunXrxvvvv1+t97QqR48eJTw8nPDwcAAmT55MeHg47777rlxm48aNhIeHy4kDR48eTXh4OF9++aVc5ssvvyQ8PFxOeDdgwADCw8PZuHGjXObHH3+kW7duDB06lKFDh9K9e3e+//77WrcVrOHa27dv59KlS/Tu3Zvnn3+eyZMnM3ny5DrVczm4uLiwefNmPD096d+/P6NGjeL+++/n448/rlP7DAYDU6ZMoXv37tx2223s37+fzZs38+CDDzoc78KFC+zfv5+nn376L7X7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895775Genk7Tpk15//336dy5s2r+33//nVGjRrFz507CwsJ4/vnn//GadAKBQHA1Ya1iybI3p59kYGco8ckAbB/BIC7gXbqucoQ1m2xZBC8SCAQCwdXD8ePHGTVqFI899hh///23yxzsf//739xzzz106dKFlJQUfvnlF3788UfVqOgA9913HxMmTGDAgAFMnDiR0NBQNm/eTFhYGMnJydUqU05ODgcOOFaQOXz4MFu2bMHPz4+oqCgAMjMzOXbsGGlptmVryzoSQkJC7BHPMzIyyMjIsB9r+/bteHp6EhUVhZ+fH2lpaXTr1o2oqCgmTZrEmTOOwLdlx+jVqxdNmjRh8ODBvPfee2RmZjJ69GiGDRuGl5dtwtugQYN4/fXXGTp0KC+//DL79+9nwoQJvPbaay62YNkIeU5ODmfOnGHLli0YDIZ/tCx3bZYPbMHhbrzxRkXv76KiInbt2mX//8mTJ9myZQseHh72DoQRI0Ywf/58fvjhBzw9Pe0j997e3pjNZj7//HP8/f0ZOHBghc6QW265hTlz5tTYQFedevnKK69gMpk4evQosiyzbt069u/fz6hRo2jUqBHHjl2+dTe//vprnnnmGV555RU2b95M586d6du3r2oZDh8+zM0330znzp3ZvHkzL7/8Mk899RQLFy68bGX+p2hKoPE3EhoxX8sFoYs6QhtlrmddLixdXOl2rzwNG39pzA6TIxBc+Sj2TYoz66RsVzrX831TGUIXdYQ2yghd1CnTRkRxr12GDBlCfn4+7dq1Y8SIETz55JM8+uijANx+++3MnDmTd999l+bNmzN79mwWLlxIp06dVI9nMBhITU0lKCiIm2++mebNm/P222/XyG1548aNJCUlkZSUBMCoUaNISkritddes+dZvHgxSUlJ9OvXD7AFGktKSmLmzJn2PDNnziQpKYlhw4YB0KVLF5KSkli82Pa9T01N5cCBA/z2229EREQQGhpq/ytDq9Xy008/YTKZ6NixI3fffTcDBgywL8MGNuNz2bJlnDhxgjZt2vDEE08watQoRo0a5VKvsjpt2rSJ+fPnk5SUxM0331xtXZSozfJlZWWxcOFC1dHztLQ0ex3S09OZNGkSSUlJLnP2Z8yYQVZWFt26dXPR8+uvvwZs7u233357BeMc4M4772TJkiWcOlWzJYQlWVaO89uwYUPGjh3Lfffd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UFAQ3377LRERERw/fhxPT0f8nepcO4Bhw4bZOwmOHj3KM888wwMPPMAff/xRqRZKVNrqWrduHa+99hqrVq2iqKgIg8FAly5deP3112nfvn2NTyaoAZKGdXvCSLGoj3Z56utufdkrFa1WS6tWrdDWSQfC5e180nob8RuYgFd39UAyQLWN87rV5uqlNnUxaMxEmJvUQqnqjyY4orFLVghbJyFZochpdQVJZ6Htw+PRGW0T2qPfeR/LxewKx3ImIbZuXNfrKuhYVYjnSRmhizpCG2WuZF3qappgdbmStbla6datG82aNQPgiy++QKvV8vjjj/Pmm28iSRJr1qzhwQcfpFu3bgA8+uijzJo1i40bN1ZqoJ84cYLRo0eTmppKYWEhiYmJfPTRR9x44432PJ9//jmvvvoq58+fp2/fvnzyySd2Q69v37707Vu551NZzK8jR46o5nnmmWcAWLlypeL2MuO9jLi4OPbu3cuMGTPsBnpqaiq7du3i+PHjhIXZYjJNnjyZoUOHMn78eLy8vPjyyy8pKCjg008/xWg00qxZM/bt28eUKVMYNWoUkiSRlJREUlKS/VwxMTF89913/PHHH1Ua6EajkZAQm9ffoEGDWLFiBYsWLWLGjBm1Vr5ffvmF33//nUOHDuHn52cvozNz584lMzOT1atXoy9dyjY62rVdXp1rB+Dm5mavU2hoKCNGjGD48OFV7qeEajjn3377jS5durBp0ybuvfdenn/+ee699142bdpE165dWb58+SWdUFA9mjRw51C6L74l5yufpHydodFoiI6OrtslSS7TXDBJkvC7sxE6n9oJlnZZtLkKEbqoo7FK+B6SuGh147C7Yy66mzEXvSkfSQKjxh29fwCmmLqZTnOlIu4bZYQu6ghtlLmSdVFbmeNycSVrczXz2WefodPpWLduHR988AFTp05l9uzZAHTq1InFixdz8uRJZFlmxYoV7Nu3j969e6seLycnh65du5KWlsbixYvZunUrzz//PFanpZAPHjzIokWLWLJkCUuWLOH333/n7bffrvO6VoesrCy7gQqwZs0amjVrZjd+AXr37k1hYSGbNm2y5+natStGo9ElT1pammoHwubNm1m9ejVdu3atcRnNZjPFxcW1Wr7FixfTpk0b3n33XcLDw2nUqBGjR48mP98RTXfx4sUkJyczYsQIgoODadasGRMm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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8d0f61d33791420db90a0d2037da42a8", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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6pzFixczd+5c7rzzTrZv3853333H6NGj5c8rKioYNWoUycnJ/Pbbbzz11FM89thjLF68WD4nJCSE66+/nrVr1/L3339z9913c/fdd/PCCy94bY9vv/2W/Px8du/ezcKFC3nggQd45ZVX5M/XrVvH1KlTmT59On/88QfTp09nypQpql3E3nvvPW666Sbmzp3L5s2bGTx4MGPHjlV5eT/yyCMsXryYp59+mt9++43ExERGjRpFZaXoGZiamqoaC/n5+SxcuJCQkBDGjh0rX2f58uVMnz6dyy+/nD/++IOff/6ZadOmqeo0d+5cpk6dyllnncVXX33Ftm3bePzxx/njjz944403vLaJErc+NbGxsZSXi/HIycnJbNu2jSFDhgBQUlJyXCcTqQOeffZZBg4cyPPPP8/YsWP566+/aN++vcv5ubm5jBs3jquuuoo333yTn3/+meuuu464uDguvvhiwNHx9913HxMnTuTjjz9mypQp/PTTT/Tr1++41c2PHz9+jhfBWnuJbwJDIxzoIf4dT4OXTfT8+PHjx4+fk5Nhw4bJO029+eab6PV6/vOf/3DffffJebQCAgJITExs0nUPHz7MrbfeysqVK6mvryc7O5tnnnlGJTO88cYbzJs3j9LSUsaOHcuLL75IWFgYAGPHjlUJfFpMnz4dEK267rjpppsAWL16tdtzbr75Zvn3tLQ07rzzTiZMmEBjYyNGo5HS0lLuvvtuPv/8c8455xz53G7dusm/v/XWW9TV1fHaa68REBBA9+7d2bVrF4sXL2b27NkIgkDv3r3p3bu3/J309HQ++ugjfvzxR66++mqPdY2JiZH7IC0tjVdeeYVNmzYxa9YsAJYuXcqoUaOYM2cOAHPmzGHNmjUsXbqUd955BxCVDLNmzeLKK6+Uv/PNN9/wv//9jwcffBCbzcbSpUuZO3eubO1etmwZCQkJvP3221xzzTXo9XqXsfDxxx8zdepUQkNDATCbzdx44408+uijcvkAOnfuLP++YcMGFi1axNKlS7nxxhtVbTJq1ChNTwdPuLWg9+nTR3YBGDduHPfeey9vvvkm77//PnfddddxcQeRUHZAdnY2S5cuJTU1lf/973+a5z/33HO0b9+epUuXkp2dzZVXXskVV1zBY489Jp+j7PguXbowZ84czjnnHJYuXXqcauXHjx8/x584p32gDf9gr3U/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6DAgTGybcePGYa6rVvWf3mwAUr3WSRq/nsbehqoUeexJeBt750bligmW7DjXqWynOIbdjb3fOYMwfT3nRe+VjzVadewgm5CEaibHHpCP20rFOaV9QIU8R5yIOsn9ZK/TihUr5PYF+KCoC8G6Rpc6fVicTU1FCROjHW1Qbg4AOmOpPKpqG3d1Cqys4cIzenFg51ZVnbbXxPBndSKlB7ayq7CQzYhjzFOdBCFOVacVK3YwfPhwDIJVVZa13+1g/tjR3Pr+HlWdVn+/B+gsz+XKOhXpzyBBV8qQ2EOsWLGDSbGOOuVEl3K24DjfUz916yq+nybHOtpAmsu99dOKFRpjr9Qxl2v108qVe1TvJ6ldpLlcOUdMjlX3kynvb4YGAAGe6yQIYc0ae1J9AKqqE1T9JH3maewlmyoYEnFY1U/O71xohecpzFGnvmmd+P7771mxxfO899P3OwjTZ6EXglzmCGWdzLmO99OHxdnqsZcHm8pDgbQm1WlTdSIXx+ygYZ9jbHiaI2zEqtYRK1bsIMHoeY7QqtOZSQLlYdvl9tKsU1v2k6JOWmPPbBVobEz3eb3Xmu/cvXv38k/DnafQI488wm233dZm9127di2PPvooGzduJD8/n48//pgJEyaozvnoo494/vnn2bhxI8XFxWzevJlevXqpznnhhRd4++232bRpE5WVlZSWlroYIMePH8+WLVs4duwYUVFRjBw5kocffpjkZHUC6ddee43Fixeza9cuIiMjmTRpEk8//bT8+datW7n++uvZsGED0dHRXHPNNcybN09uw9WrVzN8+HCXuv7999906dJFsx32799PRkaG/LfRaKR9+/bMnDmTuXPnqvpn+fLlzJs3j71795KVlcUDDzzAxIkTVdd79tlnefTRR8nPz6dbt24sXbqUwYMHy5/bbDYWLlzICy+8QGlpKf369eOZZ56hW7dumuVR8v777zN58mQANm3axB133MFvv/2GXq/n4osvZvHixS7J1JcvX85TTz3F5s2bsVgsZGZmMmnSJK6//nqio33P/yTYTkDqyAULFmgKukp+++03Vq5cybJly1QLdoCOHTsya9Ysr1u9NTY2MnnyZA4ePMjq1atVArozGzdupG/fvmzcuJEzzzxT8xwtC3pqqrhgl659vCzo6htcTAAAXe1JREFUtbW1rFq1ilGjRrGvxML9XxdwXvdI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aNEiOnbsSMeOHVm0aBHBwcFMmzZNVZ49e/awdu1at0nQn376aTluftWqVdx222089NBDstDdr18/br/9dm655RaOHDkib7O2Z88ennvuOQYNGuR2mzUt3K46R4wYwd9//83GjRvp1auXavuBESNGuMR3+zlxtGTdaTLoiGmhwHbDiASKqzy7GF7YS51kxWTQERGk53BZ8+/bMT6Q20eLlpWnL0kHYP1e8YJKgSY6xECEm0z0Y7pG0Cs1mNIacaGpE5CzSut1Ap0SPMcg+ml7Jp0ZzYebmmZ5bE16pgTxr7NbFiOaHGEiNEDvOn40Vo+LJrTjkW/yKau1MGtgHF0SAwl3cgueNTCe7snBPL3adbF+QY8oPtBor2AvXiRNoo3N0J0Sgpg7LsXt5z49h/aTUqNMHCptIDJYnAO8WfVag7acJ5wTrDWVKwbE8e9+3sfzi//OQK9wd06LCeDJqekevxNsF+hNCpdsKaFeU3YOSWxilnRnkiOM5JVrCz46QSAjtnkW0lkDRauKyaDTTFLaFpzfI7JJbScRG2oktnnOBi4cj/feTee0rldmn/bBvLFedK9vCk0ZexFBosedL4zrHsHYbhEs+7WIPYX1qmfLT+szY8YMamtrOfvss9Hr9fz3v//l6quvlj9/9913sdlsXHrppT5dz2QysXLlSm655RbGjRuH2Wyma9euPPPMMz6X6ffff5eFXxCFS4DLLruM1157DYDPPvuMyy+/XD5H2pJ6/vz5LFiwAIDnnnuOhQsXyucMGTIEgFdffZWZM2cSFBTERx99xPz586muriYpKYkxY8bw7rvvqjKyv/7669x8882cd9556HQ6hg4dytdffy27Z0dERLBq1Sr+7//+j759+xIVFcXs2bPlcoNojb711ls5cuQIQUFBdOvWjS+//FIMv/XCyJEjAdFynpSUxLhx43jggQfkzwcMGMC7777L3Xffzbx588jKyuK9995TZXqfOnUqxcXF3HvvveTn59O9e3dWrFghewEA3H777dTW1nLddddRWlpKv379WLlypSpfAIgW8ZSUFJes8BIbNmxg/vz5VFVV0aVLF55//nl5WzyJhx9+mD59+vDMM8/w3HPPYbVaycrKYtKkSVx22WVe20SJR7NQWlqaqpIS11xzTZNu4qf1MRgMjBs3DoPBQLsoHQEGgWEdw/lqW9vEdnsiwKDT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74eaek3mOIJe1d9W1xg1Xbt2Da1bt8b169ehVCoN1oGIrMMqR9Dj4+Px9NNP17pM69atcfToUVy6dMlg3u+//w5vb2+jX0+lUkGj0eD06dMAAB8fH9y9exfXrl3TO4p++fJlhIeH19iOk5MTnJz+7/7BVae4+/n5Gb0uRERERES2oqSkhAN0IhtilQG6p6cnPD0961wuLCwMN27cwM8//4wePXoAAH766SfcuHGj1oF0dUVFRbh48SJUKhUAIDg4GA4ODti1axdGjx4N4N5R9uPHj2PBggVGt+vr64uLFy/Czc3N4AicpRUXF+Mvf/kLLl68yCtv3oe5SGMuhpiJNOYijbkYYibSmIs05mLI2pkIIVBSUgJfX99Gf20iqplN/wa9ffv2GDRoECZOnIhPPvkEwL3brD3xxBN6F4gLDAzE/PnzMXLkSNy8eRMJCQn461//CpVKhfPnz+ONN96Ap6cnRo4cCQBQKpWIi4vDK6+8gubNm8PDwwOvvvoqOnfujMjISKPXz87ODmq12rxF15O7uzt3dBKYizTmYoiZSGMu0piLIWYijblIYy6GrJkJj5wT2R6bHqADwKpVqzBlyhTd73Oio6OxePFivWVycnJw48YNAPd+43Ps2DF88cUXuH79OlQqFfr27Yu1a9fqficOAB9++CHkcjlGjx6N27dvo3///li5cqXR90AnIiIiIiIiMiebH6B7eHjgyy+/rHWZ+y/CoVAo8N1339XZrrOzMxYtWoRFixY1eB2JiIiIiIiIGsrO2itApnFycsLcuXP1LlpHzKUmzMUQM5HGXKQxF0PMRBpzkcZcDDETIpJildusEREREREREZE+HkEnIiIiIiIisgEcoBMRERERERHZAA7QiYiIiIiIiGwAB+hERERERERENoADdCuZP38+unfvDjc3N3h5eWHEiBHIycnRW0YIgYSEBPj6+kKhUKBPnz7Izs7Wzb969SpeeuklBAQEwMXFBa1atcKUKVN094SvEh0djVatWsHZ2RkqlQrjxo3Db7/91ih11hdzkcZcDDETacxFGnORxlwMMRNpzEUacyEisxNkFVFRUSIlJUUcP35cHD58WAwdOlS0atVK3Lx5U7dMYmKicHNzE+vXrxfHjh0TMTExQqVSieLiYiGEEMeOHROjRo0Sqamp4syZM+KHH34Qbdu2FX/961/1XispKUns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TZs2UKlUusE5AHh4eMDLywu//PKLbtq3336Lvn37wtfXF+Xl5brH4MGDAaDWK9ATERGRPh5BJyIiMpJcfm+3WVFRITm/vLwcDg4O9Wqz6qhzXl4eAgICGraCJnJxcYGzs7PeNEdHR3h4eBgs6+joqLsQHQBcunQJW7ZsqbHumm5JR0RERIY4QCciIjKSt7c3AODXX3/V/X8VIQQKCgoMrtBel6ioKLzxxhvYtGkTBg0aZLZ1bSyenp7o0qUL/vWvf0nO9/X1beQ1IiIiaro4QCciIjJSv379IJPJsHbtWjz66KN683bs2IHi4mJERkbWq81HH30UgwcPRnJyMkaPHi15JfeDBw/Cy8vLLFdyN7cnnngC27Ztg7+/f423giMiIiLjcIBORERkJH9/f8THx+O9997D9evXMWTIECgUChw4cACJiYkICQnBmDFj6t3uF198gUGDBmHw4MF47rnnMHjwYDz88MMoKCjAli1bsGbNGmRlZdnkAP2tt97Crl27EB4ejilTpiAgIAB37tzB+fPnsW3bNixbtgxqtdraq0lERNQkcIBORERUDx999BE6dOiA5ORkfPnllygvL4dGo8HkyZMxe/ZsODo61rtNT09P7Nu3D59++inWrFmD1atX49atW/Dy8kJoaChSU1MRFBRkgWoaTqVS4eDBg3j77bfx3nvvIT8/H25ubvDz88OgQYN4VJ2IiKgeZEIIYe2VICIiIiIiIvqz423WiIiIiIiIiGwAB+hERERERERENoADdCIiIiIiIiIbwAE6ERERERERkQ3gAJ2IiIiIiIjIBnCATkRERERERGQD/h/1W4vnpgC0BQAAAABJRU5ErkJggg==", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "34f6ebe5f21541609f4ca236822a8d2b", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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8PX1FePGjdNZh77nT2ZmpkhPTxejR48WAwcOVB6DChs3bhRqtVqsWbNGJ/cbN26YvObakOVTUFAgXnrpJbF//36RlZUlkpOTRVBQkGjVqlW99z8VGvvz5+rVqyI9PV1s375dABCff/65SE9PFzk5Oco66rL/EUIoz6nevXuLCRMmiPT0dJGZmWn0GuuqJu9fdcmnJvufgoIC4ePjIx5//HGRmZkpUlNTRYcOHcRzzz3XMMXXQHXvXSEhIaJr164iOTlZnDt3TsTHxwt7e3uxdu1aZR112fcIYfnPHSGqz6cyfaO412Xf0xieO0JUn09dPhtWpm/fc+7cOeHg4CBmz54tjh8/LmJjY4WNjY346quvTFInEZkHO+gSAPT+xcfHK8totVqxaNEi4enpKezs7MTDDz8sjh49qrOeKVOmiJCQEJ3b+tZ77zJC3L2sWpcuXYRGoxFeXl7i6aefFhcvXjRhxbWXnJyst5YpU6Yoy8TGxor27dsLe3t7ERAQILZu3aqzjsr5VKbvTWrVqlWia9euwsHBQTg5OYlevXqJtWvXivLyciNWV3+yfCouV6TvLzk5WVlH5Xw+/vhj0blzZ+Hg4CAcHR1F7969xf/93/9V2faNGzeERqMR69ata4BK627NmjXC19dX2NraigceeEDnMlDvvfee8PHxETY2NqJNmzZi4cKFOl9eCKH/+ePr66s31wohISHVPm8thaF8ioqKRFhYmHB3d1fymTJlijh//rzO/eu6/2kKz5/4+Hi9tS5atEhZpi77HyH0vz/4+voar7B6qsn7V13yqen+57fffhNDhgwRGo1G+Pj4iDlz5uh8OWBu1b135eTkiMjISOHt7S3s7e2Fv7+/WL58udBqtco66rLvEcLynztC1Oy9/V76Ouh13fdY+nNHiOrzqctnw8oM7XtSUlJEr169hK2trWjbtq34z3/+Y8TKiMgSqIRoJOdLExERERERETVh/A06ERERERERkQVgB52IiIiIiIjIArCDTkRERERERGQB2EEnIiIiIiIisgDsoBMRERERERFZAHbQiYiIiIiIiCwAO+hEREREREREFoAddCIiIiIiIiILwA46ERERERERkQVgB52IiIiIiIjIArCDTkRERERERGQB2EEnIiKqoejoaKhUKuTl5emd361bNwwcOBAAMHDgQKhUqmr/oqOjAQAlJSVYvXo1BgwYABcXF9ja2qJVq1YYP348UlNTDbYpMjKyRtuJjIxESkoKVCoVUlJSjJwMERERGYPa3A0gIiJqitauXYv8/Hzl9vbt2/Hmm28iPj4enTp1Uqb7+PggLy8Pw4YNw5EjR/Dss89i7ty5cHV1xaVLl7Bt2zYMHjwYaWlpCAgIqLKd1157DdOmTVNuHz58GNOnT8dbb72F0NBQZbq7uzvc3d1x4MABdOnSxURVExERUX2wg05ERGQClTvBJ06cAHD3KHtgYKDOvBEjRuDXX3/F999/j0GDBunMe/LJJzFnzhy4uLjo3U67du3Qrl075XZxcTEAoEOHDujXr1+V5fVNIyIiIsvAU9yJiIjMKC0tDd999x2ioqKqdM4rPPjgg2jTpk29t6XvFPfIyEjcd999OHHiBMLDw9GsWTN4eXkhJiYGAPDTTz9hwIABaNasGTp27IhPPvmkynpzc3PxwgsvwMfHB7a2tvDz88PixYtRVlZW7zYTERH9lfAIOhERkRnt3LkTAPDII4+YrQ2lpaUYN24cpk2bhrlz52Ljxo149dVXkZ+fjy1btuCVV16Bj48P3n//fURGRqJbt27o3bs3gLud8z59+sDKygqvv/462rVrhwMHDuDNN99EdnY24uPjzVYXERFRY8MOOhERkRmdP38eAODn52e2Nty5cwdvvvkmxo0bB+DuAHfffvstlixZgsOHD6NXr14AgMDAQHh4eGDjxo1KBz06OhrXr19HZmamcpR/8ODB0Gg0ePnllzF37lz+5p2IiKiGeIo7ERHRX5xKpcKIESOU22q1Gu3bt4eXl5fSOQcAV1dXeHh44Pfff1emffvttwgNDYW3tzfKysqUv+HDhwOAdAR6IiIi0sUj6ERERDWkVt992ywvL9c7v6ysDDY2NrVaZ8VR56ysLPj7+9evgXXk4OAAe3t7nWm2trZwdXWtsqytra0yEB0A/PHHH/jmm28M1m3oknRERERUFTvoRERENdSyZUsAwKVLl5T/VxBCICcnp8oI7dUJDw/H/PnzsXXrVgwbNsxobW0obm5u6NGjB/7973/rne/t7d3ALSIiImq82EEnIiKqoUGDBkGlUuGLL77AAw88oDNvx44dyM/Px5AhQ2q1zgceeADDhw9HbGwsxo8fr3ck919++QUeHh5GGcnd2EaNGoWkpCS0a9fO4KXgiIiIqGbYQSciIqqhdu3aYcaMGVi6dClu3LiBESNGQKPR4NChQ4iJiUFgYCAmTJhQ6/V++umnGDZsGIYPH45nn30Ww4cPh4uLC3JycvDNN99g06ZNSEtLs8gO+htvvIFdu3ahf//+mDVrFvz9/VFcXIzs7GwkJSXhgw8+gI+Pj7mbSURE1Ciwg05ERFQL7733Hrp06YLY2Fh89tlnKCsrg6+vL6ZPn46FCxfC1ta21ut0c3PDvn378NFHH2HTpk3YuHEjioqK4OHhgX79+iExMREBAQEmqKb+vLy88Msvv+Bf//oXli5diosXL8LR0RF+fn4YNmwYj6oTERHVgkoIIczdCCIiIiIiIqK/Ol5mjYiIiIiIiMgCsINOREREREREZAHYQSciIiIiIiKyAOygExEREREREVkAdtCJiIiIiIiILAA76EREREREREQW4P8BOiiI+Qe3PBkAAAAASUVORK5CYII=", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8ab998c38345412d9c67970b19b894db", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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nY4///zz0p133lnjfN555x2pQ4cONU6fn58vAVJ+fn6NfyMQXA4jv4qXRn4VX9fFuOrcrPW6Vny9K0Ma+VW8lJBRet3OmbXyJyl+3Eip6EjMdTvnX5mRX8VLz3yfWNfFENyAvDsyXnp3pHie1gVHi9OkfFNZXRfjmlBVX7e0tFSKi4uTSkuv3zvpevHmm29KERERkre3t9SoUSPp7rvvlvbu3XvFeXbr1q3KNNu2bZOGDRsmhYWFSYC0atUqlzQrVqyQBg4cKAUGBkqAFBMT45Lmiy++kPr06SP5+PhIgJSbm+uS5vTp09J9990nBQYGSj4+PtLtt98ubd68WbFcWVlZUpMmTRTzOnr0qHTnnXdKnp6eUnh4uPTWW29JFotFMZ+dO3dKOp2uSh2effZZqW3btorfXbp0SdJqtdKKFSskSZKknJwc6dFHH5V8fX0lX19f6dFHH1Wsa1V1KC0tlcaNGyd17txZ0ul00vDhwxV//9lnn0kdOnSQPD09pfbt20tLlixx+r68vFx66623pNatW0seHh5S165dpd9//10xr127dklarVYaNGiQqg6OKN1r9T5InLu7Oz169LC7/9jYuHEjt99+e43ziYmJISws7GoX75phsVg4f/68iOxZCaGLOkIbdYQ2yliA3BatsUhCl8qINqOO0EYZoYs6N7I276Zs54MU9a19r4QbWZcbmfbt2/PZZ59x7Ngxdu7cScuWLRk4cKDTsoVrQXFxMd26deOzzz6rMk3v3r354IMPVNOUlJQwePBgXn31VdU099xzDyaTic2bN3Po0CG6d+/OsGHDFJcHT5o0ia5du7ocLygoYMCAAYSHh3PgwAE+/fRTPv74Y2bPnu2SNj8/n8cee4y7775btUy2cyUkJChul7148WICAwO59957ARgzZgyxsbGsX7+e9evXExsby9ixY1XzVaqD2WzGy8uL559/nv79+yv+dv78+UyfPp2ZM2dy4sQJ3nrrLZ555hl+/fVXe5rXXnuNL774gk8//ZS4uDieeuop/vGPfxATE+OS36JFi3juuefYuXNntTuOqVFjAz0vL4/ff/+ddevWkZOTc1knu1ymTp3KggULWLRoESdPnuRf//oXFy5c4KmnngJg+vTpPPbYY/b0c+fOZfXq1cTHx3PixAmmT5/OihUrePbZZ69rua8Es9lMbGysiOxZCaGL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8cwzzwibzeZS3kGDBomgoCDh4+MjevXqJVatWqWpwbRp00TLli1Vt506dUrodDrx9ddf16oO8+fP17yWZ86cEUIIsX//ftG/f38REhIizGaziIuLE0888YTbM7du3TrRtWtXR553333XZfsHH3wg+vbtK/z8/ISfn58YOHCg2LJli0ue2267zaUMAQEBYujQoWLHjh2aegih/qxpurg35LqMQUFBBAUFnTdfQkIC2dnZbN26lZ49ewKwZcsWsrOz6d27d63Pl56ezsmTJwkPD69zmRsDueyGOlIXbaQ22kht1JG6aCO10UZqo47URRupjTpSl0tPSkqKy+///e9/TJkyheuvv75Bz5ufn0+nTp2YPHmy5rny8/Pp06cPN954I3fccYfb9uTkZJKTk3n11Vdp164dx48fZ+rUqSQnJ/PVV1858o0bN45Tp06xatUqAO68804mTJjAt99+C9jjK4wcOZLg4GA2btxIeno6t912G0II3nzzTcDuYTF48GAGDBjAb7/9xoEDB5g0aRJeXl48+OCDAGzYsIHBgwfzwgsv4Ofnx/z58xk9ejRbtmyhS5cubuWfMmUKb731Fj///DNXXHGFy7YFCxYQGBjI6NGja1WHsWPHMmzYMJdjTJo0iaKiIscUaaPRyMSJE+natSt+fn7s2LGDO+64A5vNxgsvvADA0aNHGTFiBHfccQeffvopv/zyC3fffTfBwcGO67Ru3TpuueUWevfujYeHBy+//DJDhgxhz549REZGOs4/bNgw5s+fD9inaj/55JOMGjXKZapMrajJmq/eo/bFF1+IRx99VPz444819gTUJ8OGDRMdO3YUmzdvFps3bxYdOnQQo0aNcskTHx8vlixZIoQQIjc3Vzz44INi06ZN4ujRo2Lt2rUiISFBREZGipycnFqftymMoC9btqzJ9TY3NlIXbaQ22kht1JG6aCO10UZqo47URZumqk1TGEFvTF3+qiPo/fr1E/fcc4+45557hNVqFQEBAeKJJ55wGfl15pprrhFXXXXVeY978uRJMXbsWOHv7y88PT1Ft27dxK+//iqEqBpB/+STT0RMTIzw9fUVY8eO1bQ90BhBr+To0aOqI+hqfPnll8JkMonS0lIhhBB79+4VgKNsQgixefNmAYj9+/cLIYRYuXKl0Ol04vTp0448ixYtEmaz2XE/vPPOO8JqtYqi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RYsW0aZNmwatb22RumjTWNr897//dXmOTp48SUBAADfeeGOD17m2NJY2GzduZOLEiUyZMoU9e/awePFifvvtN/7xj380eJ1rQ2Pp8u677/Lvf/+bmTNnsmfPHp555hnuuecevv322wavs0QiuUQISb3Ts2dPMXXqVJe0Nm3aiMcee0wIIcTYsWPFrbfeet7jPPvss+KGG25wS7/tttvENddcU+O+/fr1E//6179qXeZLQVPQpZJ27dqJZ555plZ5LwVNSZtrr722Vue6FDS2LmPHjhVPPvmkmDFjhujUqdMFlb2haSxt1q5dKwCRmZlZp3JfChpLm//973/CarWK9PT0uhW8gZG6aNPY75pKli5dKhRFEceOHatdwS8BjaXNK6+8Ipo3b+6S9sYbb4ioqKgLKH3D0Vi6JCQkiIceesgl7V//+pfo06fPBZReIpE0ZeQIej1TUlLCtm3bGDJkiEv6kCFD2LRpEzabje+++47WrVszdOhQQkJCuPzyy1m2bJnbsZYvX84111xziUresDQlXWw2G7m5uQQEBNT5GPVJU9ImMTGRTZs20a9fvzofo75obF3mz5/P4cOHmTFjxsVUo0FobG0AunTpQnh4OAMHDmTt2rV1rUq905jaLF++nO7du/Pyyy8TGRlJ69ateeihhygsLLzYal00UhdtmsLzVMncuXMZNGgQMTExdT5GfdKY2vTu3ZtTp06xcuVKhBCcOXOGr776ipEjR15stS6axtSluLjYbRTeYrGwdetWSktL61QfiUTStJAGej2TlpZGeXk5oaGhLumhoaGkpqZy9uxZ8vLyePHFFxk2bBirV6/m2muv5brrrmP9+vWO/KdPn2bHjh2MGDHiUlehQWhKurz22mvk5+dz00031fkY9UlT0CYqKgqz2Uz37t255557moQLYWPqcvDgQR577DEWLlyIwWCotzrVF42pTXh4OB988AFff/01S5YsIT4+noEDB7Jhw4Z6q9/F0JjaHDlyhI0bN7J7926WLl3K66+/zldffcU999xTb/WrK1IXbZrCOxjscWT+97//NYn3byWNqU3v3r1ZuHAhY8eOxWQyERYWhp+fH2+++Wa91a+uNKYuQ4cO5aOPPmLbtm0IIfj999+ZN28epaWlpKWl1VsdJRJJ49H0Wp5/ERRFcfkthEBRFGw2GwDXXHMNDzzwAACdO3dm06ZNvPfee46Ry+XLl9OnT58mM8pbXzS2LosWLWLmzJl88803hISEXERN6p/G1Obnn38mLy+PX3/9lccee4yWLVtyyy23XGSN6odLrUt5eTnjxo3jmWeeoXXr1vVYk/qnMe6Z+Ph44uPjHb8TEhI4efIkr776KldeeeXFVqneaAxtbDYbiqKwcOFCrFYrALNnz+aGG27g7bffxmKx1EfVLgqpizaN/X1asGABfn5+5w1c2Rg0hjZ79+7lvvvu4+mnn2bo0KGkpKTw8MMPM3XqVObOnVtPNbs4GkOXp556itTUVHr16oUQgtDQUCZNmsTLL7+MXq+vp5pJJJLGRI6g1zNBQUHo9XpSU1Nd0s+ePUtoaChBQUEYDAbatWvnsr1t27YukT3/Su7t0DR0+eKLL5gyZQpffvnleQNgXUqagjZxcXF06NCBO+64gwceeICZM2fW6Tj1SWPpkpuby++//860adMwGAwYDAaeffZZduzYgcFg4Keffrq4itUDTeGecaZXr14cPHjwoo9THzSmNuHh4URGRjqM0MrjCiE4depUHWpTf0hdtGkKz5MQgnnz5jFhwgRMJlOdjtEQNKY2s2bNok+fPjz88MN07NiRoUOH8s477zBv3jxSUlLqXql6oDF1sVgszJs3j4KCAo4dO8aJEyeIjY3Fx8eHoKCguldKIpE0GaSBXs+YTCa6devGDz/84JL+ww8/0Lt3b0wmEz169CApKcll+4EDBxxzzvLy8li7di1XX331JSt3Q9PYuixatIhJkybx2WefNYn5a840tjbVEUJQXFx80ce5WBpLF19fX3bt2sX27dsdf1OnTiU+Pp7t27dz+eWXX3zlLpKmds8kJiYSHh5+0cepDxpTmz59+pCcnExeXp7LcXU6HVFRUXWsUf0gddGmKTxP69ev59ChQ0yZMqVulWggGlObgoICdDrXZmrlCLEQ4kKrUq80hXvGaDQSFRWFXq/n888/Z9SoUW56SSSSPymXOird34HPP/9cGI1GMXfuXLF3715x//33Cy8vL0dU1iVLlgij0Sg++OADcfDgQfHmm28KvV4vfv75ZyGEEIsXLxbt27d3O+6ePXtEYmKiGD16tOjfv79ITEwUiYmJLnkq07p16ybGjRsnEhMTxZ49exq8zrWhsXT57LPPhMFgEG+//bZISUlx/GVlZV2SeteGxtLmrbfeEsuXLxcHDhwQBw4cEPPmzRO+vr7iiSeeuCT1Ph+N+Sw50xSjuDeWNnPmzBFLly4VBw4cELt37xaPPfaYAMTXX399SepdGxpLm9zcXBEVFSVuuOEGsWfPHrF+/XrRqlUr8Y9//OOS1Pt8SF20aex3za233iouv/zyBq1jXWksbebPny8MBoN45513xOHDh8XGjRtF9+7dRc+ePS9Jvc9HY+mSlJQk/u///k8cOHBAbNmyRYwdO1YEBASIo0ePXopqSySSS4A00BuIt99+W8TExAiTySS6du0q1q9f77J97ty5omXLlsLDw0N06tRJLFu2zLHt1ltvVTWQYmJiBOD254za9piYmAapY11oDF369eunuv22225rsHrWhcbQ5o033hCXXXaZ8PT0FL6+vqJLly7inXfeEeXl5Q1X0QuksZ4lZ5qigS5E42jz0ksviRYtWggPDw/h7+8v+vbtK7777ruGq2Qdaaz7Zt++fWLQoEHCYrGIqKgoMX36dFFQUNAwlawDUhdtGkubrKwsYbFYxAcffNAwFasHGkubN954Q7Rr105YLBYRHh4uxo8fL06dOtUwlawDjaHL3r17RefOnYXFYhG+vr7immuuEfv372+4SkokkkuOIkQj+wlJXCgvLyckJIT//e9/9OzZs7GL02SQumgjtVFH6qKN1EYbqY06UhdtpDbaSG3UkbpIJJKakJNVmhjp6ek88MAD9OjRo7GL0qSQumgjtVFH6qKN1EYbqY06UhdtpDbaSG3UkbpIJJKakCPoEolEIpFIJBKJRCKRNAHkCLpEIpFIJBKJRCKRSCRNAGmgSyQSiUQikUgkEolE0gSQBno9M2vWLHr06IGPjw8hISGMGTPGbR1MIQQzZ84kIiICi8VC//792bNnT43HXbduHddccw3h4eF4eXnRuXNnFi5c6JZv4cKFdOrUCU9PT8LDw5k8eTLp6en1Wse6smHDBkaPHk1ERASKorBs2TK3PPv27ePqq6/GarXi4+NDr169OHHiRK2Of+jQIXx8fPDz83NJ37hxI3369CEwMBCLxUKbNm2YM2dOPdSo/qhJm9LSUh599FE6dOiAl5cXERERTJw4keTk5BqPeezYMRRFcftbtWqVI8+kSZNU81x22WUNVdUL5p133iEuLg4PDw+6devGzz//7Nh25swZJk2aREREBJ6engwbNoyDBw/WeLyioiImTZpEhw4dMBgMjBkzxi3PkiVLGDx4MMHBwfj6+pKQkMD3339f31W7aGrSRu3a9urVq8bj1eY982e4Z6BmbZYsWcLQoUMJCgpCURS2b99+QcfWetekpKQwbtw44uPj0el03H///RdfkXqkNt+numhTm3cNQHFxMU888QQxMTGYzWZatGjBvHnz6rOKdeZ836e8vDymTZtGVFQUFouFtm3b8u6779Z4zNq8a5r6PVOb73Yld911F4qi8Prrr9d4zNq2Z5ry/QLn16YubT1ntN4zAOvXr6dbt254eHjQvHlz3nvvvYusjUQiaUpIA72eWb9+Pffccw+//vorP/zwA2VlZQwZMoT8/HxHnpdffpnZs2fz1ltv8dtvvxEWFsbgwYPJzc3VPO6mTZvo2LEjX3/9NTt37uT2229n4sSJfPvtt448GzduZOLEiUyZMoU9e/awePFifvvtN/7xj380aJ1rS35+Pp06deKtt95S3X748GH69u1LmzZtWLduHTt27OCpp57Cw8PjvMcuLS3llltu4YorrnDb5uXlxbRp09iwYQP79u3jySef5Mknn+SDDz646DrVFzVpU1BQwB9//MFTTz3FH3/8wZIlSzhw4ABXX311rY79448/kpKS4vi76qqrHNv++9//umw7efIkAQEB3HjjjfVWt4vhiy++4P777+eJJ54gMTGRK664guHDh3PixAmEEIwZM4YjR47wzTffkJiYSExMDIMGDXJ53qpTXl6OxWLhvvvuY9CgQap5NmzYwODBg1m5ciXbtm1jwIABjB49msTExIaq6gVTkzaVDBs2zOX6rly5ssZj1uY909TvGTi/Nvn5+fTp04cXX3zxgo9d07umuLiY4OBgnnjiCTp16nTR9ahvavN9uhhtanrXANx0002sWbOGuXPnkpSUxKJFi2jTps1F16s+ON/36YEHHmDVqlV8+umn7Nu3jwceeIB7772Xb775RvOYtXnXNPV75ny6VLJs2TK2bNlCRETEeY9Zm/cMNO37Bc6vTV3aepXU9J45evQoI0aM4IorriAxMZHHH3+c++67j6+//vqi6ySRSJoIjbjE29+Cs2fPCsCxNqbNZhNhYWHixRdfdOQpKioSVqtVvPfeexd07BEjRojJkyc7fr/yyiuiefPmLnneeOMNERUVdRE1aBgAsXTpUpe0sWPHiltvvbVO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53v37kViYiLS0tLQp08fZbter0dJSQlGjBiBU6dOYdq0aYiPj4efnx8uXryIXbt24eGHH0Zubi4GDBhQ5zhvvvkmZs6cqTw/efIknn/+ebz33nt46KGHlO2dO3dG586dcezYMYSEhDRTq4mIiKgpmKATERE1g9pJ8JkzZwDcvMoeFhZm9drIkSPx7bff4quvvsLQoUOtXpswYQLmzp2LTp062TxOcHAwgoODlecVFRUAgJ49e2Lw4MF19re1jYiIiNwDb3EnIiJqRbm5udi/fz/i4uLqJOc17r33XnTv3r3Jx7J1i7vRaMRtt92GM2fOIDo6Gu3bt4dOp0NSUhIA4Pjx44iIiED79u3Rq1cvfPTRR3XKLSoqwowZM6DX66HVahEUFIR33nkHVVVVTa4zERHRfwmvoBMREbWigwcPAgAeffTRVqtDZWUlYmNjMXPmTMTHxyM9PR3z58/H5cuXsX37drz22mvQ6/VYtWoVjEYj+vXrh9DQUAA3k/P77rsPHh4eeOuttxAcHIxjx44hMTERP//8M9LS0lqtXURERG0NE3QiIqJW9MsvvwAAgoKCWq0O169fR2JiImJjYwHcXOBuz549WLRoEU6ePImBAwcCAMLCwhAQEID09HQlQU9ISMBff/2F06dPK1f5H374YXh7e+OVV15BfHw8v/NORETkIN7iTkRE9B+nUqkwcuRI5blarUaPHj2g0+mU5BwA/Pz8EBAQgAsXLijb9uzZg4ceegjdunVDVVWV8oiJiQGABlegJyIiImu8gk5EROQgtfrmtHnjxg2br1dVVUGj0TSqzJqrzufPn0fv3r2bVkEn+fj4wMvLy2qbVquFn59fnX21Wq2yEB0A/P7779i9e3e97a7vJ+mIiIioLiboREREDurSpQsA4OLFi8q/a4gILBZLnRXa7YmOjsbrr7+OnTt3YsSIES6ra0vx9/dH//798e6779p8vVu3bi1cIyIioraLCToREZGDhg4dCpVKhc8//xyDBg2yeu3AgQO4fPkyhg0b1qgyBw0ahJiYGKSmpmLcuHE2V3LPyclBQECAS1Zyd7VHHnkE+/btQ3BwcL0/BUdERESOYYJORETkoODgYMyaNQtLly5FWVkZRo4cCW9vb5w4cQJJSUkICwvDpEmTGl3uxx9/jBEjRiAmJgbTpk1DTEwMOnXqBIvFgt27d2PLli3Izc11ywR94cKFOHToEIYMGYLZs2ejd+/eqKiowM8//4x9+/Zh7dq10Ov1rV1NIiKiNoEJOhERUSOsWLECISEhSE1NxaeffoqqqioYDAY8//zzWLBgAbRabaPL9Pf3x9GjR7FhwwZs2bIF6enpuHr1KgICAjB48GBkZGRgwIABzdCaptPpdMjJycH//vc/LF26FIWFhejQoQOCgoIwYsQIXlUnIiJqBJWISGtXgoiIiIiIiOi/jj+zRkREREREROQGmKATERERERERuQEm6ERERERERERugAk6ERERERERkRtggk5ERERERETkBpigExEREREREbmB/wMj/KJ5oFNV8gAAAABJRU5ErkJggg==", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c57d4ee2f49a469f93e8ad9d6dc47812", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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3omPjw8hISE88MADnDhxQtGPRYsWodFoGDVqVIk6XA0ZoFdANBoNzZs3R6PRlLcpFQqpizJSF2WkLq5ITZSRuihzM3WpzAN+5fniitREGanLrcdoNNKhQwfef//9EvM8//zzLFu2jMWLF7N161by8vLo27cvNputwtvWvn17kpKSnP6efvppatSoQatWrQDIzc2lZ8+eVKtWjZ07d7J161Z8fX3p2bMnFovFqT6LxcKgQYPo2LGjiy0xMTH07t2bjh07sn//fl555RXGjRvHkiVLHHm2b9/OgAEDGDJkCAcPHmTIkCH079+fnTt3Kvo3fPhw1q9fT2xsrMu2efPm0bx5c+644w5sNht9+vTBaDSydetWFi9ezJIlS5g4caIj/6RJk1y0aNiwIY8++qgjj5eXF2PGjGHz5s0cO3aM1157jddee42vv/76mnzYtGkTo0ePZseOHaxduxar1UqPHj0wGo2Kfrz00kssXryY/Px8RR2uipAokp2dLQCRnZ1d3qZIJBKJRHJb8FPcZPHpqQHCZreVtykSyW1PSe+yBQUF4ujRo6KgoKCcLLt+OnfuLEaPHi1Gjx4tDAaDCAgIEK+++qqw2+1O+WJiYgQg9u/f75SelZUldDqdWLx4sSMtISFBqNVqsXr16ivWffjwYdG7d2/h4+MjvL29xV133SVOnz4thBDiiSeeEPfff7/46KOPRFhYmAgICBDPPfecMJvNLuWUpW1ms1mEhISIt956y5G2e/duAYi4uDhH2qFDhwTgsLeYl156STz++OPiu+++EwaDwWVb/fr1ndKeeeYZ0bZtW8fv/v37i169ejnl6dmzpxg4cKCivRaLRYSGhoqpU6c6pRuNRuHj4yNmz54thBBi1apVQq1Wi4SEBEeen376Sej1+hJjswMHDghAbN68WXF7MQ8++KB4/PHHr9sHIYRISUkRgNi0aZNTekxMjPDw8BBZWVmiTZs2YsGCBVe0RQjl61H2oFdArFYr69evl7N+XobURRmpizJSF1ekJspIXZSRuigjdXFFaqKM1OXmsGDBArRaLTt37mTWrFnMmDGDb7/9tlT77t27F4vFQo8ePRxpERERNG7cmG3btpW4X0JCAp06dcLd3Z3169ezd+9ennrqKadju2HDBs6cOcOGDRtYsGAB8+fPZ/78+aX263psW7FiBWlpaQwbNsyRFhUVRVBQEHPnzsVsNlNQUMDcuXNp1KgR1atXd+Rbv349v/76K59//rli2du3b3eyBaBnz57s2bPH0RNfUp6S7NVqtQwdOpT58+c7TZ7466+/YjabeeyxxxzlNm7cmIiICKdyTSYTe/fuVSz722+/pV69eoqjAYrZv38/27Zto3Pnzlf180rnQ3Z2NgABAQFO6fPmzaNPnz4YDAYef/xx5s6dW2IZV0Kug14BEUKQm5srZ/28DKmLMlIXZaQurkhNlJG6KHNzdam8WsvzxRWpiTKVTRe7zYS5IPGW1+vmEYFaoy91/sjISGbMmIFKpSIqKoro6GhmzJjBiBEjrrpvcnIybm5u+Pv7O6WHhoaSnJxc4n6ff/45BoOBxYsXo9PpAKhXr55THn9/fz777DM0Gg3169enT58+/P3336Wy63ptmzt3Lj179iQyMtKR5uPjw8aNG7n//vt5++23Hbb+73//Q6stCv3S09MZNmwYCxcuxNfXt0R7QkNDXWyxWq2kpaURHh5eYp4rafnUU0/x0UcfsXHjRrp27QoUBbYPPfSQw3elcv39/XFzc1Ms22Qy8eOPP/Lyyy8r1lm1alVSU1OxWq1MnTqVp59++qp+luSDEIIJEyZw11130bhxY0e63W5n/vz5zJ49G4CBAwcyYcIETp8+TZ06dUrUQ4kKH6BPmzaNpUuXcvz4cTw8PGjfvj0ffPABUVFRJe5z6QG/lGPHjlG/fv2baa5EIpFIJBKJRFLpMBckcn7/5Fteb9UW03D3rlnq/G3btkWlurhkY7t27fj444+x2WzX/b2/EMJR5r333suWLVsAqF69OkeOHOHAgQN07NjREZwr0ahRI6f6w8PDiY6Ovi57SrLtUs6fP8///vc/fvnlF6f0goICnnrqKTp06MBPP/2EzWZj+vTp9O7dm927d+Ph4cGIESMYPHgwnTp1umLdl9db3Nh0abpSnuK0H3/8kWeeecax7a+//qJjx460b9+eefPm0bVrV86cOcOWLVtYs2bNFeu+khZLly4lNzeXoUOHKvqxZcsW8vLy2LFjBy+//DJ16tRh0KBBpfLhcsaMGcOhQ4fYunWrU/qaNWswGo3ce++9AAQFBdGjRw/mzZvHe++9p1hWSVT4AL34o/w777wTq9XKq6++So8ePTh69KjTLH1KnDhxwqlVKDg4+GabK5FIJBKJRCKRVDrcPCKo2mJaudR7qwgLC8NsNpOZmenUU52SkkL79u2BoqHSBQUFAI6A3MPD46plXx68q1Qq7HZ7mdp2Kd999x2BgYHcd999TumLFi3i3LlzbN++HbVa7Ujz9/fn999/Z+DAgaxfv54VK1Ywffp0oCggtdvtaLVavv76a5566inCwsJcepFTUlLQarUEBgY6bFbKU9wjfd9999GmTRvHtipVqgBFk8WNGTOGzz//nO+++47q1atz9913O2lx+URzmZmZWCwWl95uKDpmffv2JSwsTElaatYsagBq0qQJFy5cYOrUqY4A/Wo+XMrYsWNZsWIFmzdvpmrVqk7b5s2bR0ZGBp6eno40u93O/v37efvtt6+p8ajCB+irV692+v3dd98REhLC3r17r9rqExISorhkQEVHo9HQrl07OevnZUhdlJG6KCN1cUVqoozURRmpizJSF1ekJspUNl3UGv019WSXFzt27HD5Xbdu3VLp3LJlS3Q6HWvXrqV///4AJCUlcfjwYT788EPgYhB5KU2bNmXBggVYLJYr9qLfCKWxrRghBN999x1Dhw51sSc/Px+1Wu3UA1z8u7jBYPv27U6z1v/+++988MEHbNu2zeF/u3bt+OOPP5zKXrNmDa1atXLU2a5dO9auXcsLL7zglKe4QcHHxwcfHx8XX/v378/48eNZtGgRCxYsYMSIES6jIt59912SkpIIDw93lKvX62nZsqVTWTExMWzYsIEVK1aUqO3l2plMJqe6ruRD8T5jx45l2bJlbNy40RHwF5Oens7vv//O4sWLadSokSPdbrfTsWNH/vrrL/r27Vsq+4orrFScOnVKACI6OrrEPBs2bBCAqFGjhggLCxPdunUT69evv6Z65CzuEolEIpGULcWzuFvtlvI2RSK57bldZ3H39vYWL7zwgjh+/LhYtGiR8PLyEl9++aUQQoj09HSxf/9+sXLlSgGIxYsXi/3794ukpCRHGaNGjRJVq1YV69atE/v27RPdunUTzZo1E1artcR609LSRGBgoHjooYfE7t27xcmTJ8X3338vjh8/LoS4OIv7pYwfP1507tzZ8bssbVu3bp0AxNGjR11sPXbsmNDr9eLZZ58VR48eFYcPHxaPP/64MBgMIjExUdE/pVncz549Kzw9PcULL7wgjh49KubOnSt0Op347bffHHn++ecfodFoxPvvvy+OHTsm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vlyYzeZbXndFRuqijNRFGamLK1ITZS7X5dNTA8RXZ4aXs1Xlz804XxbHvSo+PTVAWGymMivzViOvI1ekJsqUty4lvcsWFBSIo0ePioKCgnKx60bo3LmzGD16tBg9erQwGAwiICBAvPrqq8JutyvmL9Zg3bp1Vyw3Pj5eDBgwQPj7+wtPT0/RsmVLsWPHDiGEEFOmTBHNmjUT33//vahevbrw9fUVAwYMEDk5OYplAWLZsmUl1hUTEyMAsX///qv6+8svvwg3NzdhsViEEEIcPXpUAA7bhBBi+/btAhDHjx8XQgixatUqoVarRUJCgiPPTz/9JPR6veNcmDNnjjAYDKKwsNCRZ9q0aSIiIsKh5YYNGwQgMjMzr2rnpdx7772iSpUqIi8vz2VbcVlZWVlCp9OJxYsXO7YlJCQItVotVq9eXWpfi5k6daoYOHCgOHbsmPDx8XGp+4knnhB9+/YV9evXFy+++KIjfdmyZeLScPinn34SgPj9998Vfbv8PLNaraJDhw7i22+/FU888YS4//77r6CMMkrXo+xBr6BotdryNqFCInVRRuqijNTFFamJMlIXZcpaF9Vt8g26PF9ckZooI3UpexYsWIBWq2Xnzp3MmjWLGTNm8O2337rkM5vNfP311xgMBpo1a1ZieXl5eXTu3JnExERWrFjBwYMHeemll7Db7Y48Z86cYfny5fz555/8+eefbNq0qcSe8LKkeIK/4vNo+/btGAwG2rRp48jTtm1bDAYD27Ztc+Rp3LgxERERjjw9e/bEZDKxd+9eR57OnTuj1+ud8iQmJnLu3DknG1q0aEF4eDh33303GzZsuKK9GRkZrF69mtGjR+Pl5eWy3c/PD4C9e/disVjo0aOHY1tERASNGzd28uNqvkJRr/d3333H448/Tv369alXrx6//PKLS90ajYb33nuP2bNnuwylL+ann34iKiqK++67T3H75cPh33rrLYKDg11GOdwo8q5RAdHpdPTp06e8zahwSF2UkbooI3VxRWqijNRFmZuhi6DyLxwjzxdXpCbKVDZdLHYTmebEW16vv1sEOrX+6hn/JTIykhkzZqBSqYiKiiI6OpoZM2YwYsQIAP78808GDhxIfn4+4eHhrF27lqCgoBLLW7RoEampqezevZuAgAAA6tSp45THbrczf/58fHx8ABgyZAh///0377777rW6W2rS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/jXtc7Mp72uooiJ1UUbq4orUxJlMvPDHiF0jSGipotP43rIHvYzo0qULjRsXzTWxcOFCNBoNzz77LG+//baj1zQhIYE2bdrwv//9jz59+vD8889ftQf9/PnzTJo0iTVr1mAymWjQoAGff/45bdq0cfSgT5w4kddff53MzEzuvfdevvnmG3x8fFzKUqlUij3oxZw7d46aNWu69KAr8euvv/L4449jNBpdluubP38+zz//vEsPemZmJlWqVOGPP/7g7rvvViz3iy++YPLkyVy4cAG9Xg/A+++/z+zZszl//jwqleq64qmWLVvStGlTRyBbTN26dbn//vuZPn06x44do2HDhuzYsYM2bdoAsGPHDtq1a8fx48eJiorir7/+om/fvsTHxzsaWRYvXsywYcNISUnB19e3VD4UM3DgQOrWrYtGo3EZDTFmzBiOHTvG33//7UibOHEiu3btYsuWog6LYcOGkZWVxfLlyx15tmzZQqdOnUhJSSE4OFhRj9Jw1R50g8HAmTMXX9DOnj2LEMJpWAVA/fr1b1lwbjab2bt3Ly+//LJTeo8ePdi2bZviPtu3b6dHjx5OaT179mTu3LlYLBbF74BMJhMm08XhYzk5OQBYLBYslqIXULVajUajwWazOc3IWZxutVqdZkDWaDSo1eoS04vLLab4wmu0pQFZvXMJPiTQqEBtBVRgv+zerrGqECqhmG5XCy6ZTBWVALXtCukagbjkmaqyg9pecrpN6zykTG0r6mVWSkeA/bI5x67Xp6zaOHS5XXy60eMkVDjpcqt90mHGdkl6RTn3QLjoUlqfLk+vKD6VdJw6rHeDDX0ctscTRGHVJM4OXYbOosGe7031z4dRS5vIqQeh5af3olLHFtluBrTpRQMhrtEnd7vlmn3y1hqxXZZe3teTTVt0roQcEFc8fpX1HnG9516xLsGHBDr77eHT5enX45NV53xvuR18utHjdKXnUGX16UaOky952AChEuTUFphMJqd3z+L3PavVeeh9Sek6nQ673e60XJtKpUKr1ZaYbrPZXN4zbxcWLFjA8OHD2blzJ3v27GHkyJFUr16dESNGYLfbGTJkCC+++GKpJ7fOy8ujc+fOVKlShRUrVhAWFsa+ffuc3vXPnDnD8uXL+fPPP8nMzKR///68//77vPvuuzfLTQBH48rlwfmVWLt2LXa7nYSEBBo0aEBu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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d099bea9baca411ba54a03b7da074cac", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6f97b46bfb2046c9a9deaaadb5b9bc95", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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1SlbqVfwivvKZVl2KZbffvuta4IBYPfu3TzwwANs27aNhg0butKpKK/S36XpdO3alR9//NEtzrp16+jUqRMGg4FmzZp5WAhMmzaNgoIC3nvvPaKjozEajfj7+3vUdfjw4Tz++OMsXbqUxYsXM3bsWA+riNdee43U1FQiIyNdeZtMJre99tVh2bJlPPDAAyxbtoyBAwe6XatuHTp27Mj69eu59dZbXfFKtxqAepzd6tWrWb58OS1btnTFURSFHj168Msvv1yUZaCmoGtoaGhoaGhoaGhoXBUkJiYyefJkxo0bx759+3j//feZNWsWANnZ2SQkJJCSou6lP3nyJKCuyEZERBAYGMiYMWN48sknCQkJITg4mKeeeorWrVtXeVQXwCOPPML777/PyJEjee655wgMDGTnzp107tyZpk2bVqvcl6NsXbt2JSgoiPvuu48XX3wRb29vPvvsM2JjY13KZ6kSXkpmZiYAzZs3d+1THzhwILNnz+aVV15xmbg///zz1K1bl/bt2wMwfvx45s2bx+TJkxk7diw7duxgwYIFLFu2DFCPa23VqpVbXqXpVwyviJ+fHyNGjOD5558nLy+P0aNHu13v378/LVq0YNSoUbzzzjtkZ2fz1FNPMXbsWJflAKjO8KxWK9nZ2RQUFLj2kbdr1w5QlfN7772X9957jy5durhWwb29vQkMDKx2HSZPnsyoUaPo1KkTXbt25dNPPyUhIcF11vmXX35JSEgIw4YN85g8GTRoEAsWLNAU9H8KRVFISUnB39//kvdDaGhoaGhoaGhoaFxOhBAUFBQQFRVVqRfvq5l7772XkpISOnfujE6n49FHH+Whhx4C4IcffuD+++93xR05ciQAL730EtOnTwdg9uzZ6PV6hg8fTklJCddffz2LFi067wp8SEgImzZt4umnn6ZXr17odDratWtH9+7dq13uy1G20NBQ1q5dy9SpU+nbty82m42WLVuyevVq2rZtW+2y9O3bl6VLl/L222/z9ttv4+PjQ9euXVm7dq3LnL9+/fqsWbOGJ554gg8++ICoqCjmzp3L7bffXu18zseYMWNYsGAB/fv3p06dOm7XdDodP//8MxMmTKB79+54e3tz1113MXPmTLd4N998s9uZ6qWTC6Vm/Z988gl2u52JEycyceJEV7z77rvvojzsjxgxgqysLF555RVSU1Np1aoV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lRER0alTp2jTpk0kl8spKyuLjh8/Tu7u7tShQwcqKipSS+zV4ZyIcU7EOCeKOB9inBMxzokY50SMcyL2MubkZT6CnpubS1OmTCGZTEaGhobk5eVF6enpjWpz2bJl1K1btxrrxMfH01tvvUUymYwA0MGDB0V1KioqaNmyZSSTycjAwIA8PDzo0qVLCnVycnJo0qRJZGVlRUZGRtSjRw/av3+/0vcsKiqibt26EQCSy+UKy06fPk2DBw8mqVRKrVu3pjfffFNU5+LFi/TGG2+QgYEB2djY0PLly6miokJYnpCQQP379ydzc3MyMDAgR0dHCgoKqjYHM2fOpI4dOypddvfuXdLW1qaIiAgiInr06BFNmjSJTE1NydTUlCZNmkSPHz9WeM2tW7forbfeIiMjI3rllVfos88+o+Li4nrF8KLExETS0dFR+lmuX7+eHBwcyMDAgGxtbWnOnDlK948//viDtLW1ycvLq9o81BdPs6ZBACh9hIaGCnUqd2Rra2vS19enN954g1JTU4XlsbGx1baTmZlJRM833EGDBpG5uTnp6+tT+/btyc/Pj+7evdvMEdeOcyLGORHjnCjifIhxTsQ4J2KcEzHOidjLmJOXdYBeUVFB/fr1owEDBtDp06fp6tWr9PHHH4vmra+vugzQjxw5QosXL6aIiIhqB+iBgYFkYmJCERERlJqaSt7e3go/5BAReXp6Uu/evenUqVOUkZFBK1euJG1tbdElFEREs2bNouHDh4sG6Hl5eWRmZkY+Pj509epVunTpEr377rtkaWkpTNn39OlTsrKyog8++IBSU1MpIiKCTExMaO3atUI7586do7CwMLp06RJlZmbSDz/8QEZGRrRt2zalOZDL5QSATpw4IVq2atUqatOmjfD+w4YNI2dnZ0pKSqKkpCRydnamt956S6hfVlZGzs7ONGjQIDp37hzFxMSQjY0NzZw5U6hTlxgqPXnyhF599VUaOnSo6LPcs2cP6evr0969eykzM5N+/fVXkslkNGfOHFE7vr6+NHv2bDI2NqZbt24pzUN98QCdMcYYY4yxf7CWPED38PCgGTNm0IwZM0gqlZK5uTktXryYKioq6Nq1awRA4ah0WVkZmZub03fffVdju3fu3CFvb28yMzMjIyMj6tWrF508eZKI/m+A/v3335OdnR2ZmpqSt7e3wsD6RcoG6BUVFWRt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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f5d597c48025454c97d3eba64267dc5a", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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oLi4GLNnz4aXlxdsbGzQokULxMbGGrNEg9T0OlRYWIhJkybB09MTCoUCbdq0wTfffFNtm/qMLZa8rwD6vT5XGD9+PCQSCb766qtq29T3fYul7itAzbkY8n7uUVWNLQCQkpICf39/2Nra4umnn8aqVavqWA1jrCHhCboRpaSkYOLEiThw4AASExNRVlaGkJAQ3Lt3T9jm888/x+LFi7F8+XIcOnQI7u7u6NevH+7evVtlu2lpaejYsSM2b96M48eP480338To0aPx22+/CdukpqZi9OjRGDt2LE6dOoVffvkFhw4dwltvvWXSmvV17949+Pn5Yfny5aLrL1y4gJ49e8LX1xfJyck4duwY5s6dC1tb2xrbLi0txWuvvYZnn31WZ529vT0mTZqEvXv34syZM5gzZw7mzJmDNWvW1Lmmuqouk/v37+Po0aOYO3cujh49iri4OGRkZGDIkCF6tf37778jOztbuD3//PPCuq+//lpr3ZUrV+Dk5IRXXnnFaLXVxaZNmzBt2jTMnj0barUazz77LAYMGIDLly+DiDBs2DBcvHgR27Ztg1qthpeXF/r27av1PKusvLwcCoUCU6ZMQd++fUW32bt3L/r164edO3fiyJEj6N27NwYPHgy1Wm2qUmululwq9O/fX+ux3blzZ7Vt6jO2NOT9BXj4PAsKCkJ0dHSt265ubCkuLoaLiwtmz54NPz+/OtdhTPq8FtUll+rGFwAYMWIE/vjjD8TExODcuXPYuHEjfH1961xXXdX0OjR9+nTs3r0bP/74I86cOYPp06dj8uTJ2LZtW5Vt6jO2WPK+AtScS4WtW7fi4MGD8PDwqLFNfcYWwHL3FaDmXAx5P1ehurElKysLAwcOxLPPPgu1Wo2PPvoIU6ZMwebNm+tcE2OsgTDjT7w99m7evEkAhN/N1Gg05O7uTtHR0cI2RUVFpFQqadWqVbVqe+DAgfTGG28Ify9atIiefvpprW2WLl1Knp6edajANADQli1btJaFhYXRyJEjDWrvgw8+oJEjR9LatWtJqVTWuP2LL75o8H2Zilgmlf35558EgP76668qt8nKyiIApFar9b7vLVu2kEQioUuXLun9b0ypa9euNGHCBK1lvr6+NHPmTDp37hwBoJMnTwrrysrKyMnJib799lu92h8zZgwNHTpUr23btm1L8+fP17vvplRdLkS1q6s6lceWyhrS/vIoQ54b+o4twcHBNHXq1Fr0un5Vfi16VG1y0WfbXbt2kVKppLy8vDr02PTExtx27drRJ598orXsmWeeoTlz5ujVpj7PQUvfV6p6Lbp69So1bdqUTp48SV5eXrRkyZJat115bGko+wqRbi51fT9X3djywQcfkK+vr9ay8ePHU/fu3etUA2Os4eAj6CaUn58PAHBycgLw8FPRnJwchISECNvY2NggODgYaWlpwrKIiAj06tWrxrYr2gWAHj164OrVq9i5cyeICDdu3MCvv/6KQYMGGbEi09BoNNixYwdat26N0NBQuLq6olu3bjqnk4nlsmfPHvzyyy9YsWKFXvelVquRlpaG4OBgI/W+/uTn50MikWidDlfVvjJkyBC4uroiKCgIv/76a7XtxsTEoG/fvvDy8jJyj2uvpKQER44c0XqOAEBISAjS0tJQXFwMAFpnVkilUsjlcqSmpgrL9HkO1USj0eDu3btazzNzqSmXCsnJyXB1dUXr1q0xbtw43Lx5U2t7Q8aWyhrS/qIvY4wtlqzya5G+DBlf4uPjERAQgM8//xxNmzZF69at8f777+PBgwcG97++9OzZE/Hx8bh27RqICElJScjIyEBoaKiwjTHGloZGo9Fg1KhRmDFjRpVfbTFkbGnI+0pd3s/VNLbs379fZ0wLDQ3F4cOHUVpaarwiGGMWS2buDjyuiAiRkZHo2bMn2rdvDwDIyckBALi5uWlt6+bmhr/++kv4W6VSQaPRVNn2r7/+ikOHDmH16tXCsh49emD9+vUICwtDUVERysrKMGTIECxbtsyYZZnEzZs3UVhYiOjoaHz22Wf417/+hd27d2P48OFISkoSJtOVc8nLy0NERAR+/PFHODo6Vnsfnp6e+Pvvv1FWVoaoqCiLOfVfX0VFRZg5cybCw8O1aq2cyVNPPYXFixcjKCgIVlZWiI+PR1hYGNatW4eRI0fqtJudnY1du3Zhw4YN9VJHTXJzc1FeXi76HMnJyYGvry+8vLwwa9YsrF69Gvb29li8eDFycnKQnZ0tbF/Tc0gfX375Je7du4cRI0bUqR1jqCkXABgwYABeeeUVeHl5ISsrC3PnzsXzzz+PI0eOwMbGBoBhY8ujGtr+oq+6jC2WTuy1SF+GjC8XL15EamoqbG1tsWXLFuTm5uLdd9/FrVu3LOa7xVVZunQpxo0bB09PT8hkMlhZWeG7775Dz549hW2MMbY0NP/6178gk8kwZcqUKrcxZGxpyPuKoe/n9BlbcnJyRNstKytDbm4uVCqVscpgjFkonqCbyKRJk3D8+HGto3oVJBKJ1t9EpLVs4cKFVbabnJyMiIgIfPvtt1qfZJ8+fRpTpkzBxx9/jNDQUGRnZ2PGjBmYMGECYmJijFCR6VS8eA0dOhTTp08HAHTq1AlpaWlYtWqVMEGvnMu4ceMQHh6O5557rsb72LdvHwoLC3HgwAHMnDkTLVu2xGuvvWbkSkyjtLQUr776KjQaDVauXKm1rnImzs7OQoYAEBAQgNu3b+Pzzz8XnaB///33aNSokeiFjcypqueItbU1Nm/ejLFjx8LJyQlSqRR9+/bFgAEDtLav7jmkj40bNyIqKgrbtm2Dq6trndoypurGjrCwMGF5+/btERAQAC8vL+zYsQPDhw8HYNjY8qiGtr/oqy5ji6Wr7rWoJoaMLxqNBhKJBOvXr4dSqQQALF68GC+//DJWrFgBhUJRh2pMa+nSpThw4ADi4+Ph5eWFvXv34t1334VKpRK+X17XsaWhOXLkCL7++mscPXq02ueUIWNLQ95XKtT2/Zy+Y4tYu2LLGWOPJz7F3QQmT56M+Ph4JCUlwdPTU1ju7u4OADpHdm7evKnzaamYlJQUDB48GIsXL8bo0aO11i1cuBBBQUGYMWMGOnbsiNDQUKxcuRKxsbFaRxYtkbOzM2QyGdq2bau1vE2bNtVexX3Pnj344osvIJPJIJPJMHbsWOTn50Mmk+l8+u7t7Y0OHTpg3LhxmD59OqKiokxRitGVlpZixIgRyMrKQmJiokFH87p37y56lXMiQmxsLEaNGgW5XG6M7taZs7MzpFJptc8Rf39/pKen486dO8jOzsbu3buRl5cHb29vo/Rh06ZNGDt2LH7++ecqL/pU3/TJpTKVSgUvL68ar3APVD+2VGio+4shajO2WLKqXouMqfL4olKp0LRpU2HCBTwcy4kIV69eNUkfjOHBgwf46KOPsHjxYgwePBgdO3bEpEmTEBYWhi+++MLc3TObffv24ebNm2jWrJnwfPjrr7/w3nvvoXnz5jX+++rGloa6rwCGv5/TZ2xxd3cXbVcmk6FJkyZGroQxZol4gm5ERIRJkyYhLi4Oe/bs0ZkweHt7w93dHYmJicKykpISpKSkoEePHtW2nZycjEGDBiE6Ohpvv/22zvr79+/Dykr74ZRKpUK/LJlcLkeXLl10fgYoIyOj2u+57t+/H+np6cLtk08+gYODA9LT0/Hiiy9W+e+ISPgusyWrmJxnZmbi999/N/iFWa1Wi54Sl5KSgvPnz2Ps2LF17arRyOVy+Pv7az1HACAxMVHnOaJUKuHi4oLMzEwcPnwYQ4cOrfP9b9y4EREREdiwYYNFXb+hNrlUyMvLw5UrV2o8HbKmsaVCQ99fasPQscVS1PRaZEyVx5egoCBcv34dhYWFwrKMjAxYWVmZ7EMCYygtLUVpaano6+iTdkr7o0aNGoXjx49rPR88PDwwY8aMGn+GsqaxpaHuK4Dh7+f0GVsCAwN1xrSEhAQEBATA2traNAUxxixLfV+V7nH2zjvvkFKppOTkZMrOzhZu9+/fF7aJjo4mpVJJcXFxdOLECXrttddIpVJRQUGBsM3MmTNp1KhRwt9JSUlkZ2dHs2bN0mr30Sufrl27lmQyGa1cuZIuXLhAqampFBAQQF27dq2f4mtw9+5dUqvVpFarCQAtXryY1Gq1cEXyuLg4sra2pjVr1lBmZiYtW7aMpFIp7du3T2ijci6ViV0Ndfny5RQfH08ZGRmUkZFBsbGx5OjoSLNnzzZJnbVRXSalpaU0ZMgQ8vT0pPT0dK3Hvbi4WGijcibff/89rV+/nk6fPk1nz56lRYsWkbW1NS1evFjn/keOHEndunWrl1pr46effiJra2uKiYmh06dP07Rp08je3l64avjPP/9MSUlJdOHCBdq6dSt5eXnR8OHDtdoQ21dOnTpFarWaBg8eTL169RKyr7BhwwaSyWS0YsUKrbzv3Llj8pr1UV0ud+/epffee4/S0tIoKyuLkpKSKDAwkJo2bVrnsaVCQ91f8vLySK1W044dOwgA/fTTT6RWqyk7O1tow5CxhYiEfcjf35/Cw8NJrVbTqVOnjF5jbenzWmRILvqML3fv3iVPT096+eWX6dSpU5SSkkKtWrWit956q36Kr0ZNr0PBwcHUrl07SkpKoosXL9LatWvJ1taWVq5cKbRhyNhCZLn7ClHNuVQmdhV3Q8YWS95XiGrOxZD3c5WJjS0XL14kOzs7mj59Op0+fZpiYmLI2tqafv31V5PUyRizPDxBNyIAore1a9cK22g0Gpo3bx65u7uTjY0NPffcc3TixAmtdsaMGUPBwcFaf4u1++g2RA9/Vq1t27akUChIpVLR66+/TlevXjVhxfpLSkoSrWHMmDHCNjExMdSyZUuytbUlPz8/2rp1q1YblXOpTOyFbunSpdSuXTuys7MjR0dH6ty5M61cuZLKy8uNWJ1hqsuk4ueMxG5JSUlCG5Uz+f7776lNmzZkZ2dHDg4O5O/vT//+97917vvOnTukUChozZo19VBp7a1YsYK8vLxILpfTM888o/XzUF9//TV5enqStbU1NWvWjObMmaP1oQWR+L7i5eUlmmeF4ODgGvdRc6sql/v371NISAi5uLgIuYwZM4YuX76s9e8NHVsa8v6ydu1a0RrnzZsnbGPI2EIkPuZ7eXkZrzAD6fNaZEgu+o4vZ86cob59+5JCoSBPT0+KjIzU+nDAXGp6HcrOzqaIiAjy8PAgW1tb8vHxoS+//JI0Go3QhiFjC5Hl7itE+r0+P0psgm7o2GKp+wpRzbkY8n6usqrGluTkZOrcuTPJ5XJq3rw5ffPNN0asjDFm6SREFn7+M2OMMcYYY4wx9gTg76AzxhhjjDHGGGMWgCfojDHGGGOMMcaYBeAJOmOMMcYYY4wxZgF4gs4YY4wxxhhjjFkAnqAzxhhjjDHGGGMWgCfojDHGGGOMMcaYBeAJOmOMMcYYY4wxZgF4gs4YY4wxxhhjjFkAnqAzxhhjjDHGGGMWgCfojDHGGGOMMcaYBeAJOmOMMcYYY4wxZgF4gs4YY4zpKSoqChKJBLm5uaLr27dvj169egEAevXqBYlEUuMtKioKAFBcXIzly5ejZ8+eaNy4MeRyOZo2bYoRI0YgJSWlyj5FRETodT8RERFITk6GRCJBcnKykZNhjDHGmDHIzN0Bxhhj7HG0cuVKFBQUCH/v2LEDn332GdauXQtfX19huaenJ3Jzc9G/f38cP34cb775JmbMmAEnJydcu3YN27ZtQ58+fXDkyBH4+fnp3M/cuXMxYcIE4e+jR49i4sSJWLBgAXr37i0sd3FxgYuLC/bv34+2bduaqGrGGGOM1QVP0BljjDETqDwJPnv2LICHR9kDAgK01g0cOBDHjh3Df/7zHzz//PNa61599VVERkaicePGovfTokULtGjRQvi7qKgIANCqVSt0795dZ3uxZYwxxhizDHyKO2OMMWZGR44cwa5duzB27FidyXmFLl26oFmzZnW+L7FT3CMiIvDUU0/h7NmzCA0Nhb29PVQqFaKjowEABw4cQM+ePWFvb4/WrVtj3bp1Ou3m5ORg/Pjx8PT0hFwuh7e3N+bPn4+ysrI695kxxhh7kvARdMYYY8yMEhISAADDhg0zWx9KS0sxfPhwTJgwATNmzMCGDRswa9YsFBQUYPPmzfjwww/h6emJZcuWISIiAu3bt4e/vz+Ah5Pzrl27wsrKCh9//DFatGiB/fv347PPPsOlS5ewdu1as9XFGGOMNTQ8QWeMMcbM6PLlywAAb29vs/WhpKQEn332GYYPHw7g4QXutm/fjoULF+Lo0aPo3LkzACAgIACurq7YsGGDMEGPiorC7du3cerUKeEof58+faBQKPD+++9jxowZ/J13xhhjTE98ijtjjDH2hJNIJBg4cKDwt0wmQ8uWLaFSqYTJOQA4OTnB1dUVf/31l7Bs+/bt6N27Nzw8PFBWVibcBgwYAADVXoGeMcYYY9r4CDpjjDGmJ5ns4ctmeXm56PqysjJYW1vXqs2Ko85ZWVnw8fGpWwcNZGdnB1tbW61lcrkcTk5OOtvK5XLhQnQAcOPGDfz2229V1l3VT9IxxhhjTBdP0BljjDE9ubm5AQCuXbsm/H8FIkJ2drbOFdprEhoaio8++ghbt25F//79jdbX+uLs7IyOHTvin//8p+h6Dw+Peu4RY4wx1nDxBJ0xxhjT0/PPPw+JRIJNmzbhmWee0Vq3e/duFBQUoG/fvrVq85lnnsGAAQMQExODESNGiF7J/fDhw3B1dTXKldyN7YUXXsDOnTvRokWLKn8KjjHGGGP64Qk6Y4wxpqcWLVpg0qRJWLRoEe7cuYOBAwdCoVDg0KFDiI6ORkBAAMLDw2vd7g8//ID+/ftjwIABePPNNzFgwAA0btwY2dnZ+O2337Bx40YcOXLEIifon3zyCRITE9GjRw9MmTIFPj4+KCoqwqVLl7Bz506sWrUKnp6e5u4mY4wx1iDwBJ0xxhirha+//hpt27ZFTEwMfvzxR5SVlcHLywsTJ07EnDlzIJfLa92ms7MzUlNT8e2332Ljxo3YsGED7t+/D1dXV3Tv3h3x8fHw8/MzQTV1p1KpcPjwYXz66adYtGgRrl69CgcHB3h7e6N///58VJ0xxhirBQkRkbk7wRhjjDHGGGOMPen4Z9YYY4wxxhhjjDELwBN0xhhjjDHGGGPMAvAEnTHGGGOMMcYYswA8QWeMMcYYY4wxxiwAT9AZY4wxxhhjjDELwBN0xhhjjDHGGGPMAvwfZjxjyOlDkDQAAAAASUVORK5CYII=", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# set plotting options\n", "plot_info = {\n", @@ -1041,71 +524,30 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "9c275a1b-3354-4a93-80f6-2b8c0a3940c6", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Do you want to display horizontal lines for limits in the plots?\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1c847d18cc9b4c318c1fc2cbc42bb5c4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(RadioButtons(description='\\t', layout=Layout(width='max-content'), options=('no', 'yes'), value…" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "print(\"Do you want to display horizontal lines for limits in the plots?\")\n", - "display(container_limits)" + "display(container_limits)\n", + "print(\"Set y-axis range; use min=0=max if you don't want to use any fixed range:\")\n", + "display(widgets.VBox([min_input, max_input]))" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "0eabb02e-bc47-404a-921e-2644cba6d75d", "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5bd58d43bcb0493f9dcd6de7836a36ec", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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/3TXXXepY8eOuuqqq5ScnKzXXnut3nkVFRXphRde0JNPPqnvvvsuoHI2NDbYMtux3KHaTkuWLNFpp52m1157TQ8++KBOOOEELVu2zJteXFysv//97/XO10o//vijZs2aVes8O3fuVGFhYbXpbrdbH330UY1xWVlZuvfee/Wf//xHkvTRRx/p3HPP1VlnneW90O9PaWmpz+ctW7Zo8uTJOv/883X99ddrzZo1tZY3NzdXCxYs0OLFi6stq6ioqM71rRCqujVnzhxNnjxZhYWFuvPOO/WnP/1Jv/3tb3X11Vdr/Pjxmjt3rp599tl65RtuwbQBUvAH5eE4qG/sde7Xr5/fP4/Ho0svvdT72Y7WrVsX7iKE3QknnOA9ufjvf/+rYcOGqby8XFdddZWaN2+uSy65RB988EG9lxdMfQzX/jRUsV999ZXmzp2rLl26aNSoUXrzzTeDujjNMU/jlznQvG+77TZt2rRJ//d//6evvvpKY8aM0erVq/Xxxx9rxYoV8ng8mjZtWkB5B6N79+4N2i+E67u2W70MJPall17SFVdcof79++vWW29VmzZtdPvtt+uBBx7Qjh071L9//wZtq6qC2a+FMtbOF1AbIpgy1/W7ePvttzVkyBDt379ft9xyi1544QX99a9/1S233KIDBw5oyJAhYbmZwe6i9RjRDu2lP8Ge71QoLCzU8uXLGxxfIVz1I5B8w31e3FCN2V4iCAaw0K233lrr39VXX23i4uJqjC8uLjYvvfSSGTZsmElMTDSjR4828fHxZv369bXmu23bNvOLX/zCpKSkmHPOOcds27bNHH/88cbhcBiHw2GSk5PN8uXLLY8Npsx2Lnc4ttOgQYPMH/7wB2OMMeXl5ebPf/6zSUlJMe+9954xxpi8vLxa69aHH35oTjjhBJOfn18t7eDBg+bEE080H330UZ3r7s+6detqzPuHH34wp556qomLizPx8fHm17/+tTl06JA3vbZyv/TSS8bpdJp+/fqZlJQU87e//c00b97cXH/99ea6664zCQkJ5h//+Iff2Li4OPPjjz8aY4zJyckxycnJpk+fPmbChAnm1FNPNQkJCebTTz/1G/vZZ5+Z5s2bm9TUVJOUlGSOO+44s2HDhnqV2Zjw1K0ePXqYl19+2RhjzNq1a43T6TR//etfvekvvPCC6d+/f53579271/v/27dvN3ff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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ - "grouped_df = new_df_param_var.groupby([\"location\", \"position\", \"name\"]).cuspemax_var\n", + "param = {\"Cuspemax\": \"cuspemax_var\",\n", + " \"Baseline\": \"baseline_var\",\n", + " \"BlMean\" : \"blmean_var\",\n", + " \"CuspemaxCtcCal\": \"cuspemax_ctc_cal_var\"}\n", + "\n", + "grouped_df = new_df_param_var.groupby([\"location\", \"position\", \"name\"])[param[param_widget.value]]\n", "\n", "my_df = pd.DataFrame()\n", "my_df[\"mean\"] = grouped_df.mean()\n", @@ -1153,7 +595,7 @@ " name_list.append(row[\"name\"])\n", "\n", "\n", - "if container_limits.value == \"yes\":\n", + "if limits_buttons.value == \"yes\":\n", " # Plot lines for mean value thresholds\n", " ax.hlines(0.025, 0, len(name_list) - 1, color='tab:orange', zorder=3, linewidth = 1)\n", " ax.hlines(-0.025, 0, len(name_list) - 1, color='tab:orange', zorder=3, linewidth = 1)\n", @@ -1168,6 +610,8 @@ "\n", "# Show plot\n", "ax.set_ylim([-0.2, 0.2])\n", + "if min_input.value < max_input.value:\n", + " ax.set_ylim([min_input.value, max_input.value])\n", "ax.set_ylabel(\"cuspEmax % variation\")\n", "ax.set_title(f\"{period}-{run}\")\n", "plt.tight_layout()\n", @@ -1176,7 +620,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "37e5f237-2470-49c8-a607-2c3796d7798b", "metadata": {}, "outputs": [], @@ -1185,7 +629,7 @@ "# and \n", "# compute mean over initial hours of all DataFrame\n", "\n", - "new_df_param_var = new_df_param_var[new_df_param_var.cuspemax_var > -10]\n", + "new_df_param_var = new_df_param_var[new_df_param_var.cuspemax_var > -20]\n", "\n", "channel_list = new_df_param_var[\"channel\"].unique()\n", "\n", From c90d3e186b7b50321886c835971b25dd6976b90e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 27 Jun 2023 09:54:20 +0000 Subject: [PATCH 123/166] style: pre-commit fixes --- notebook/L200-plotting-hdf-widgets.ipynb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/notebook/L200-plotting-hdf-widgets.ipynb b/notebook/L200-plotting-hdf-widgets.ipynb index 8ed8b53..5e5b6f9 100644 --- a/notebook/L200-plotting-hdf-widgets.ipynb +++ b/notebook/L200-plotting-hdf-widgets.ipynb @@ -542,12 +542,16 @@ "metadata": {}, "outputs": [], "source": [ - "param = {\"Cuspemax\": \"cuspemax_var\",\n", - " \"Baseline\": \"baseline_var\",\n", - " \"BlMean\" : \"blmean_var\",\n", - " \"CuspemaxCtcCal\": \"cuspemax_ctc_cal_var\"}\n", + "param = {\n", + " \"Cuspemax\": \"cuspemax_var\",\n", + " \"Baseline\": \"baseline_var\",\n", + " \"BlMean\": \"blmean_var\",\n", + " \"CuspemaxCtcCal\": \"cuspemax_ctc_cal_var\",\n", + "}\n", "\n", - "grouped_df = new_df_param_var.groupby([\"location\", \"position\", \"name\"])[param[param_widget.value]]\n", + "grouped_df = new_df_param_var.groupby([\"location\", \"position\", \"name\"])[\n", + " param[param_widget.value]\n", + "]\n", "\n", "my_df = pd.DataFrame()\n", "my_df[\"mean\"] = grouped_df.mean()\n", From 1d44db02cc442f296a3919f0119eb5cb16dd9d42 Mon Sep 17 00:00:00 2001 From: morellam Date: Tue, 27 Jun 2023 16:43:26 +0200 Subject: [PATCH 124/166] added fix for automatic checks errors --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index fa06b85..1157075 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,10 +13,10 @@ write_to = "src/legend_data_monitor/_version.py" minversion = "6.0" addopts = ["-ra", "--showlocals", "--strict-markers", "--strict-config"] xfail_strict = true -filterwarnings = "error" +filterwarnings = ["error", "ignore::DeprecationWarning"] log_cli_level = "info" testpaths = "tests" [tool.isort] profile = "black" -multi_line_output = 3 +multi_line_output = 3 \ No newline at end of file From 20f127afd28e4bf7980cc77508c119b2fea27ffe Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 27 Jun 2023 14:47:26 +0000 Subject: [PATCH 125/166] style: pre-commit fixes --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1157075..fa9b8b0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,4 +19,4 @@ testpaths = "tests" [tool.isort] profile = "black" -multi_line_output = 3 \ No newline at end of file +multi_line_output = 3 From b99666d5236429c93a9a1e706b21465b24856f7e Mon Sep 17 00:00:00 2001 From: morellam Date: Tue, 27 Jun 2023 18:11:18 +0200 Subject: [PATCH 126/166] changed import of lh5 from pygama --- src/legend_data_monitor/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 3f5b4ff..4357135 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -9,7 +9,7 @@ # for getting DataLoader time range from datetime import datetime, timedelta -import pygama.lgdo.lh5_store as lh5 +import lgdo.lh5_store as lh5 from pandas import DataFrame # ------------------------------------------------------------------------- From f77f334742766a0e4f80c6852c318305ffe4d3d3 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 28 Jun 2023 02:47:28 -0700 Subject: [PATCH 127/166] new SlowControl class + fixed dataset checks --- src/legend_data_monitor/__init__.py | 3 +- src/legend_data_monitor/plot_sc.py | 279 ++++++++++++++------------- src/legend_data_monitor/subsystem.py | 56 +----- src/legend_data_monitor/utils.py | 58 ++++++ 4 files changed, 208 insertions(+), 188 deletions(-) diff --git a/src/legend_data_monitor/__init__.py b/src/legend_data_monitor/__init__.py index bb4e174..3976d3b 100644 --- a/src/legend_data_monitor/__init__.py +++ b/src/legend_data_monitor/__init__.py @@ -2,5 +2,6 @@ from legend_data_monitor.analysis_data import AnalysisData from legend_data_monitor.core import control_plots from legend_data_monitor.subsystem import Subsystem +from legend_data_monitor.plot_sc import SlowControl -__all__ = ["__version__", "control_plots", "Subsystem", "AnalysisData", "apply_cut"] +__all__ = ["__version__", "control_plots", "Subsystem", "AnalysisData", "SlowControl", "apply_cut"] diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index 5e71bd7..f1d0fba 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -7,157 +7,170 @@ from . import utils -scdb = LegendSlowControlDB() -scdb.connect(password="...") # look on Confluence (or ask Sofia) for the password - -# instead of dataset, retrieve 'config["dataset"]' from config json -dataset = { - "experiment": "L200", - "period": "p03", - "version": "", - "path": "/data2/public/prodenv/prod-blind/tmp/auto", - "type": "phy", - # "runs": 0 - # "runs": [0,1] - "start": "2023-04-06 10:00:00", - "end": "2023-04-08 13:00:00", -} - # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # SLOW CONTROL LOADING/PLOTTING FUNCTIONS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +class SlowControl: + """ + Object containing Slow Control database information for a data subselected based on given criteria. + + parameter [str] : diode_vmon | diode_imon | PT114 | PT115 | PT118 | PT202 | PT205 | PT208 | LT01 | RREiT | RRNTe | RRSTe | ZUL_T_RR | DaqLeft-Temp1 | DaqLeft-Temp2 | DaqRight-Temp1 | DaqRight-Temp2 -def get_sc_param(param="diode_vmon", dataset=dataset) -> DataFrame: - """Get data from the Slow Control (SC) database for the specified parameter ```param```. - - The ```dataset``` entry is of the following type: + Options for kwargs dataset= - 1. dict with keys usually included when plotting other subsystems (geds, spms, ...), i.e. 'experiment', 'period', 'version', 'path', 'type' and any time selection among the following ones: - 1. 'start' : , 'end': where input is of format 'YYYY-MM-DD hh:mm:ss' - 2. 'window'[str]: time window in the past from current time point, format: 'Xd Xh Xm' for days, hours, minutes - 2. 'timestamps': str or list of str in format 'YYYYMMDDThhmmssZ' - 3. 'runs': int or list of ints for run number(s) e.g. 10 for r010 - 2. dict with 'start' : , 'end': where input is of format 'YYYY-MM-DD hh:mm:ss' only + dict with the following keys: + - 'experiment' [str]: 'L60' or 'L200' + - 'period' [str]: period format pXX + - 'path' [str]: path to prod-ref folder (before version) + - 'version' [str]: version of pygama data processing format vXX.XX + - 'type' [str]: 'phy' or 'cal' + - the following key(s) depending in time selection + 1. 'start' : , 'end': where input is of format 'YYYY-MM-DD hh:mm:ss' + 2. 'window'[str]: time window in the past from current time point, format: 'Xd Xh Xm' for days, hours, minutes + 2. 'timestamps': str or list of str in format 'YYYYMMDDThhmmssZ' + 3. 'runs': int or list of ints for run number(s) e.g. 10 for r010 + Or input kwargs separately experiment=, period=, path=, version=, type=; start=&end=, (or window= - ???), or timestamps=, or runs= """ - # load info from settings/SC-params.json - sc_params = utils.SC_PARAMETERS - - # check if parameter is within the one listed in settings/SC-params.json - if param not in sc_params["SC_DB_params"].keys(): - utils.logger.error( - f"\033[91mThe parameter {param} is not present in 'settings/SC-params.json'. Try again with another parameter or update the json file!\033[0m" - ) - sys.exit() - - # get first/last timestamps to use when querying data from the SC database - if set(dataset.keys()) == {"start", "end"}: - first_tstmp = ( - datetime.strptime(dataset["start"], "%Y-%m-%d %H:%M:%S") - ).strftime("%Y%m%dT%H%M%SZ") - last_tstmp = (datetime.strptime(dataset["end"], "%Y-%m-%d %H:%M:%S")).strftime( - "%Y%m%dT%H%M%SZ" - ) - else: - _, first_tstmp, last_tstmp = utils.get_query_times(dataset=dataset) - utils.logger.debug( - f"... you are going to query data from {first_tstmp} to {last_tstmp}" - ) - - # get data from the SC database - df_param = load_table_and_apply_flags(param, sc_params, first_tstmp, last_tstmp) - - return df_param - - -def load_table_and_apply_flags( - param: str, sc_params: dict, first_tstmp: str, last_tstmp: str -) -> DataFrame: - """Load the corresponding table from SC database for the process of interest and apply already the flags for the parameter under study.""" - # getting the process and flags of interest from 'settings/SC-params.json' for the provided parameter - table_param = sc_params["SC_DB_params"][param]["table"] - flags_param = sc_params["SC_DB_params"][param]["flags"] - - # check if the selected table is present in the SC database. If not, arise an error and exit - if table_param not in scdb.get_tables(): - utils.logger.error( - "\033[91mThis is not present in the SC database! Try again.\033[0m" - ) - sys.exit() - # get the dataframe for the process of interest - utils.logger.debug( - f"... getting the dataframe for '{table_param}' in the time range of interest\n" - ) - # SQL query to filter the dataframe based on the time range - query = f"SELECT * FROM {table_param} WHERE tstamp >= '{first_tstmp}' AND tstamp <= '{last_tstmp}'" - get_table_df = scdb.dataframe(query) - - # remove unnecessary columns (necessary when retrieving diode parameters) - # note: there will be a 'status' column such that ON=1 and OFF=0 - right now we are keeping every detector, without removing the OFF ones as we usually do for geds - if "vmon" in param and "imon" in list(get_table_df.columns): - get_table_df = get_table_df.drop(columns="imon") - # rename the column of interest to 'value' to be consistent with other parameter dataframes - get_table_df = get_table_df.rename(columns={"vmon": "value"}) - if "imon" in param and "vmon" in list(get_table_df.columns): - get_table_df = get_table_df.drop(columns="vmon") - get_table_df = get_table_df.rename(columns={"imon": "value"}) - # in case of geds parameters, add the info about the channel name and channel id (right now, there is only crate&slot info) - if param == "diode_vmon" or param == "diode_imon": - get_table_df = include_more_diode_info(get_table_df) - - # order by timestamp (not automatically done) - get_table_df = get_table_df.sort_values(by="tstamp") - - utils.logger.debug(get_table_df) - - # let's apply the flags for keeping only the parameter of interest - utils.logger.debug(f"... applying flags to get the parameter '{param}'") - get_table_df = apply_flags(get_table_df, sc_params, flags_param) + def __init__(self, parameter: str, **kwargs): + # if setup= kwarg was provided, get dict provided + # otherwise kwargs is itself already the dict we need with experiment= and period= + data_info = kwargs["dataset"] if "dataset" in kwargs else kwargs + + # validity check of kwarg + utils.dataset_validity_check(data_info) + + # needed to know for making 'if' statement over different experiments/periods + self.experiment = data_info["experiment"] + self.period = data_info["period"] + # need to remember for channel status query + # ! now needs to be single ! + self.datatype = data_info["type"] + # need to remember for DataLoader config + self.path = data_info["path"] + self.version = data_info["version"] + + # load info from settings/SC-params.json + self.parameter = parameter + self.sc_parameters = utils.SC_PARAMETERS + + # check if parameter is within the one listed in settings/SC-params.json + if parameter not in self.sc_parameters.keys(): + utils.logger.error( + f"\033[91mThe parameter {self.parameter} is not present in 'settings/SC-params.json'. Try again with another parameter or update the json file!\033[0m" + ) + sys.exit() + + ( + self.timerange, + self.first_timestamp, + self.last_timestamp, + ) = utils.get_query_times(**kwargs) + + # None will be returned if something went wrong + if not self.timerange: + utils.logger.error("\033[91m%s\033[0m", self.get_data.__doc__) + return + + # ------------------------------------------------------------------------- + self.data = self.get_sc_param() + + + + def get_sc_param(self): + """Load the corresponding table from SC database for the process of interest and apply already the flags for the parameter under study.""" + scdb = LegendSlowControlDB() + scdb.connect(password="legend00") # look on Confluence for the password + + # getting the process and flags of interest from 'settings/SC-params.json' for the provided parameter + table_param = self.sc_parameters["SC_DB_params"][self.parameter]["table"] + flags_param = self.sc_parameters["SC_DB_params"][self.parameter]["flags"] + + # check if the selected table is present in the SC database. If not, arise an error and exit + if table_param not in scdb.get_tables(): + utils.logger.error( + "\033[91mThis is not present in the SC database! Try again.\033[0m" + ) + sys.exit() - # get units and lower/upper limits for the parameter of interest - if "diode" not in param: - unit, lower_lim, upper_lim = get_plotting_info( - param, sc_params, first_tstmp, last_tstmp + # get the dataframe for the process of interest + utils.logger.debug( + f"... getting the dataframe for '{table_param}' in the time range of interest\n" ) - else: - lower_lim = ( - upper_lim - ) = None # there are just 'set values', no actual thresholds - if "vmon" in param: - unit = "V" - elif "imon" in param: - unit = "\u03BCA" + # SQL query to filter the dataframe based on the time range + query = f"SELECT * FROM {table_param} WHERE tstamp >= '{first_tstmp}' AND tstamp <= '{last_tstmp}'" + get_table_df = scdb.dataframe(query) + + # remove unnecessary columns (necessary when retrieving diode parameters) + # note: there will be a 'status' column such that ON=1 and OFF=0 - right now we are keeping every detector, without removing the OFF ones as we usually do for geds + if "vmon" in self.parameter and "imon" in list(get_table_df.columns): + get_table_df = get_table_df.drop(columns="imon") + # rename the column of interest to 'value' to be consistent with other parameter dataframes + get_table_df = get_table_df.rename(columns={"vmon": "value"}) + if "imon" in self.parameter and "vmon" in list(get_table_df.columns): + get_table_df = get_table_df.drop(columns="vmon") + get_table_df = get_table_df.rename(columns={"imon": "value"}) + # in case of geds parameters, add the info about the channel name and channel id (right now, there is only crate&slot info) + if self.parameter == "diode_vmon" or self.parameter == "diode_imon": + get_table_df = include_more_diode_info(get_table_df) + + # order by timestamp (not automatically done) + get_table_df = get_table_df.sort_values(by="tstamp") + + utils.logger.debug(get_table_df) + + # let's apply the flags for keeping only the parameter of interest + utils.logger.debug(f"... applying flags to get the parameter '{self.parameter}'") + get_table_df = apply_flags(get_table_df, self.sc_parameters, flags_param) + + # get units and lower/upper limits for the parameter of interest + if "diode" not in self.parameter: + unit, lower_lim, upper_lim = get_plotting_info( + self.parameter, self.sc_parameters, first_tstmp, last_tstmp + ) else: - unit = None - - # append unit, lower_lim, upper_lim to the dataframe - get_table_df["unit"] = unit - get_table_df["lower_lim"] = lower_lim - get_table_df["upper_lim"] = upper_lim - - get_table_df = get_table_df.reset_index() - - utils.logger.debug( - "... final dataframe (after flagging the events):\n%s", get_table_df - ) + lower_lim = ( + upper_lim + ) = None # there are just 'set values', no actual thresholds + if "vmon" in self.parameter: + unit = "V" + elif "imon" in self.parameter: + unit = "\u03BCA" + else: + unit = None + + # append unit, lower_lim, upper_lim to the dataframe + get_table_df["unit"] = unit + get_table_df["lower_lim"] = lower_lim + get_table_df["upper_lim"] = upper_lim + + get_table_df = get_table_df.reset_index() + + utils.logger.debug( + "... final dataframe (after flagging the events):\n%s", get_table_df + ) - return get_table_df + return get_table_df +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Other functions +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + def get_plotting_info( - param: str, sc_params: dict, first_tstmp: str, last_tstmp: str + parameter: str, sc_parameters: dict, first_tstmp: str, last_tstmp: str ) -> Tuple[str, float, float]: """Return units and low/high limits of a given parameter.""" - table_param = sc_params["SC_DB_params"][param]["table"] - flags_param = sc_params["SC_DB_params"][param]["flags"] + table_param = sc_parameters["SC_DB_params"][parameter]["table"] + flags_param = sc_parameters["SC_DB_params"][parameter]["flags"] # get info dataframe of the corresponding process under study (do I need to specify the param????) get_table_info = scdb.dataframe(table_param.replace("snap", "info")) # let's apply the flags for keeping only the parameter of interest - get_table_info = apply_flags(get_table_info, sc_params, flags_param) + get_table_info = apply_flags(get_table_info, sc_parameters, flags_param) utils.logger.debug( "... units and thresholds will be retrieved from the following object:\n%s", get_table_info, @@ -179,7 +192,7 @@ def get_plotting_info( unit = list(get_table_info["unit"].unique())[0] lower_lim = upper_lim = None utils.logger.warning( - f"\033[93mParameter {param} has no valid range in the time period you selected. Upper and lower thresholds are set to None, while units={unit}\033[0m" + f"\033[93mParameter {parameter} has no valid range in the time period you selected. Upper and lower thresholds are set to None, while units={unit}\033[0m" ) return unit, lower_lim, upper_lim @@ -194,7 +207,7 @@ def get_plotting_info( "utol" ].tolist()[-1] utils.logger.debug( - f"... parameter {param} must be within [{lower_lim};{upper_lim}] {unit}" + f"... parameter {parameter} must be within [{lower_lim};{upper_lim}] {unit}" ) return unit, lower_lim, upper_lim @@ -208,11 +221,11 @@ def get_plotting_info( return unit, lower_lim, upper_lim -def apply_flags(df: DataFrame, sc_params: dict, flags_param: list) -> DataFrame: +def apply_flags(df: DataFrame, sc_parameters: dict, flags_param: list) -> DataFrame: """Apply the flags read from 'settings/SC-params.json' to the input dataframe.""" for flag in flags_param: - column = sc_params["expressions"][flag]["column"] - entry = sc_params["expressions"][flag]["entry"] + column = sc_parameters["expressions"][flag]["column"] + entry = sc_parameters["expressions"][flag]["entry"] df = df[df[column] == entry] # check if the dataframe is empty, if so, skip this plot diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 33a1474..131aa9f 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -64,60 +64,8 @@ def __init__(self, sub_type: str, **kwargs): # otherwise kwargs is itself already the dict we need with experiment= and period= data_info = kwargs["dataset"] if "dataset" in kwargs else kwargs - if "experiment" not in data_info: - utils.logger.error("\033[91mProvide experiment name!\033[0m") - utils.logger.error("\033[91m%s\033[0m", self.__doc__) - return - - if "type" not in data_info: - utils.logger.error("\033[91mProvide data type!\033[0m") - utils.logger.error("\033[91m%s\033[0m", self.__doc__) - return - - if "period" not in data_info: - utils.logger.error("\033[91mProvide period!\033[0m") - utils.logger.error("\033[91m%s\033[0m", self.__doc__) - return - - # convert to list for convenience - # ! currently not possible with channel status - # if isinstance(data_info["type"], str): - # data_info["type"] = [data_info["type"]] - - data_types = ["phy", "cal"] - # ! currently not possible with channel status - # for datatype in data_info["type"]: - # if datatype not in data_types: - if not data_info["type"] in data_types: - utils.logger.error("\033[91mInvalid data type provided!\033[0m") - utils.logger.error("\033[91m%s\033[0m", self.__doc__) - return - - if "path" not in data_info: - utils.logger.error("\033[91mProvide path to data!\033[0m") - utils.logger.error("\033[91m%s\033[0m", self.__doc__) - return - if not os.path.exists(data_info["path"]): - utils.logger.error( - "\033[91mThe data path you provided does not exist!\033[0m" - ) - return - - if "version" not in data_info: - utils.logger.error( - '\033[91mProvide processing version! If not needed, just put an empty string, "".\033[0m' - ) - utils.logger.error("\033[91m%s\033[0m", self.__doc__) - return - - # in p03 things change again!!!! - # There is no version in '/data2/public/prodenv/prod-blind/tmp/auto/generated/tier/dsp/phy/p03', so for the moment we skip this check... - if data_info["period"] != "p03" and not os.path.exists( - os.path.join(data_info["path"], data_info["version"]) - ): - utils.logger.error("\033[91mProvide valid processing version!\033[0m") - utils.logger.error("\033[91m%s\033[0m", self.__doc__) - return + # validity check of kwarg + utils.dataset_validity_check(data_info) # validity of time selection will be checked in utils diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 4357135..4c84c21 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -291,6 +291,64 @@ def get_query_timerange(**kwargs): return time_range +def dataset_validity_check(data_info: dict): + """Check the validity of the input dictionary to see if it contains all necessary info. Used in Subsystem and SlowControl classes.""" + if "experiment" not in data_info: + logger.error("\033[91mProvide experiment name!\033[0m") + logger.error("\033[91m%s\033[0m", self.__doc__) + return + + if "type" not in data_info: + logger.error("\033[91mProvide data type!\033[0m") + logger.error("\033[91m%s\033[0m", self.__doc__) + return + + if "period" not in data_info: + logger.error("\033[91mProvide period!\033[0m") + logger.error("\033[91m%s\033[0m", self.__doc__) + return + + # convert to list for convenience + # ! currently not possible with channel status + # if isinstance(data_info["type"], str): + # data_info["type"] = [data_info["type"]] + + data_types = ["phy", "cal"] + # ! currently not possible with channel status + # for datatype in data_info["type"]: + # if datatype not in data_types: + if not data_info["type"] in data_types: + logger.error("\033[91mInvalid data type provided!\033[0m") + logger.error("\033[91m%s\033[0m", self.__doc__) + return + + if "path" not in data_info: + logger.error("\033[91mProvide path to data!\033[0m") + logger.error("\033[91m%s\033[0m", self.__doc__) + return + if not os.path.exists(data_info["path"]): + logger.error( + "\033[91mThe data path you provided does not exist!\033[0m" + ) + return + + if "version" not in data_info: + logger.error( + '\033[91mProvide processing version! If not needed, just put an empty string, "".\033[0m' + ) + logger.error("\033[91m%s\033[0m", self.__doc__) + return + + # in p03 things change again!!!! + # There is no version in '/data2/public/prodenv/prod-blind/tmp/auto/generated/tier/dsp/phy/p03', so for the moment we skip this check... + if data_info["period"] != "p03" and not os.path.exists( + os.path.join(data_info["path"], data_info["version"]) + ): + logger.error("\033[91mProvide valid processing version!\033[0m") + logger.error("\033[91m%s\033[0m", self.__doc__) + return + + # ------------------------------------------------------------------------- # Plotting related functions # ------------------------------------------------------------------------- From 201e388abad117cc099e29cbbc6ab571ca5b8ef7 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 28 Jun 2023 17:17:16 +0200 Subject: [PATCH 128/166] added working slow control class --- .../config/slow_control_example.json | 15 ++ src/legend_data_monitor/core.py | 100 +++++++------ src/legend_data_monitor/plot_sc.py | 51 ++++--- src/legend_data_monitor/plotting.py | 12 +- src/legend_data_monitor/run.py | 23 +++ .../settings/remove-dets.json | 11 +- src/legend_data_monitor/subsystem.py | 2 +- src/legend_data_monitor/utils.py | 133 ++++++++++++++++-- 8 files changed, 255 insertions(+), 92 deletions(-) create mode 100644 src/legend_data_monitor/config/slow_control_example.json diff --git a/src/legend_data_monitor/config/slow_control_example.json b/src/legend_data_monitor/config/slow_control_example.json new file mode 100644 index 0000000..9334857 --- /dev/null +++ b/src/legend_data_monitor/config/slow_control_example.json @@ -0,0 +1,15 @@ +{ + "output": "/data1/users/calgaro/auto_prova", + "dataset": { + "experiment": "L200", + "period": "p03", + "version": "", + "path": "/data2/public/prodenv/prod-blind/tmp/auto", + "type": "phy", + "runs": 0 + }, + "saving": "overwrite", + "slow_control": { + "parameters": ["DaqLeft-Temp1", "DaqLeft-Temp2", "DaqRight-Temp1", "DaqRight-Temp2", "RREiT", "RRNTe", "RRSTe", "ZUL_T_RR"] + } +} diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index c396f2d..10ea120 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -1,20 +1,21 @@ import json +import os import re import sys -from . import plotting, subsystem, utils +from . import plot_sc, plotting, subsystem, utils -def control_plots(user_config_path: str, n_files=None): - """Set the configuration file and the output paths when a user config file is provided. The function to generate plots is then automatically called.""" +def control_scdb(user_config_path: str): + """Set the configuration file and the output paths when a user config file is provided. The function to retrieve Slow Control data from database is then automatically called.""" # ------------------------------------------------------------------------- # Read user settings # ------------------------------------------------------------------------- with open(user_config_path) as f: config = json.load(f) - # check validity of plot settings - valid = utils.check_plot_settings(config) + # check validity of scdb settings + valid = utils.check_scdb_settings(config) if not valid: return @@ -23,50 +24,69 @@ def control_plots(user_config_path: str, n_files=None): # ------------------------------------------------------------------------- # Format: l200-p02-{run}-{data_type}; One pdf/log/shelve file for each subsystem + out_path = utils.get_output_path(config) + "-slow_control.hdf" - try: - data_types = ( - [config["dataset"]["type"]] - if isinstance(config["dataset"]["type"], str) - else config["dataset"]["type"] + # ------------------------------------------------------------------------- + # Load and save data + # ------------------------------------------------------------------------- + for idx, param in enumerate(config["slow_control"]["parameters"]): + utils.logger.info( + "\33[34m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\33[0m" ) - - plt_basename = "{}-{}-".format( - config["dataset"]["experiment"].lower(), - config["dataset"]["period"], + utils.logger.info(f"\33[34m~~~ R E T R I E V I N G : {param}\33[0m") + utils.logger.info( + "\33[34m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\33[0m" ) - except (KeyError, TypeError): - # means something about dataset is wrong -> print Subsystem.get_data doc - utils.logger.error( - "\033[91mSomething is missing or wrong in your 'dataset' field of the config. You can see the format here under 'dataset=':\033[0m" + + # ??? + sc_analysis = plot_sc.SlowControl(param, dataset=config["dataset"]) + + # check if the dataframe is empty or not (no data) + if utils.check_empty_df(sc_analysis): + utils.logger.warning( + "\033[93m'%s' is not inspected, we continue with the next parameter (if present).\033[0m", + param, + ) + continue + + # remove the slow control hdf file if + # 1) it already exists + # 2) we specified "overwrite" as saving option + # 3) it is the first parameter we want to save + if os.path.exists(out_path) and config["saving"] == "overwrite" and idx == 0: + os.remove(out_path) + + # save data to hdf file + sc_analysis.data.copy().to_hdf( + out_path, + key=param.replace("-", "_"), + mode="a", ) - utils.logger.info("\033[91m%s\033[0m", subsystem.Subsystem.get_data.__doc__) - return - user_time_range = utils.get_query_timerange(dataset=config["dataset"]) - # will be returned as None if something is wrong, and print an error message - if not user_time_range: - return - # create output folders for plots - period_dir = utils.make_output_paths(config, user_time_range) - # get correct time info for subfolder's name - name_time = ( - utils.get_run_name(config, user_time_range) - if "timestamp" in user_time_range.keys() - else utils.get_time_name(user_time_range) - ) - output_paths = period_dir + name_time + "/" - utils.make_dir(output_paths) - if not output_paths: +def control_plots(user_config_path: str, n_files=None): + """Set the configuration file and the output paths when a user config file is provided. The function to generate plots is then automatically called.""" + # ------------------------------------------------------------------------- + # Read user settings + # ------------------------------------------------------------------------- + with open(user_config_path) as f: + config = json.load(f) + + # check validity of plot settings + valid = utils.check_plot_settings(config) + if not valid: return - # we don't care here about the time keyword timestamp/run -> just get the value - plt_basename += name_time - plt_path = output_paths + plt_basename - plt_path += "-{}".format("_".join(data_types)) + # ------------------------------------------------------------------------- + # Define PDF file basename + # ------------------------------------------------------------------------- - # plot + # Format: l200-p02-{run}-{data_type}; One pdf/log/shelve file for each subsystem + plt_path = utils.get_output_path(config) + + # ------------------------------------------------------------------------- + # Plot + # ------------------------------------------------------------------------- generate_plots(config, plt_path, n_files) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index f1d0fba..3cc5d55 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -2,19 +2,24 @@ from datetime import datetime, timezone from typing import Tuple +import pandas as pd from legendmeta import LegendSlowControlDB from pandas import DataFrame from . import utils +scdb = LegendSlowControlDB() +scdb.connect(password="...") # look on Confluence for the password + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # SLOW CONTROL LOADING/PLOTTING FUNCTIONS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + class SlowControl: """ Object containing Slow Control database information for a data subselected based on given criteria. - + parameter [str] : diode_vmon | diode_imon | PT114 | PT115 | PT118 | PT202 | PT205 | PT208 | LT01 | RREiT | RRNTe | RRSTe | ZUL_T_RR | DaqLeft-Temp1 | DaqLeft-Temp2 | DaqRight-Temp1 | DaqRight-Temp2 Options for kwargs @@ -51,39 +56,35 @@ def __init__(self, parameter: str, **kwargs): # need to remember for DataLoader config self.path = data_info["path"] self.version = data_info["version"] - + # load info from settings/SC-params.json self.parameter = parameter self.sc_parameters = utils.SC_PARAMETERS - + self.data = pd.DataFrame() + # check if parameter is within the one listed in settings/SC-params.json - if parameter not in self.sc_parameters.keys(): + if parameter not in self.sc_parameters["SC_DB_params"].keys(): utils.logger.error( - f"\033[91mThe parameter {self.parameter} is not present in 'settings/SC-params.json'. Try again with another parameter or update the json file!\033[0m" + f"\033[91mThe parameter '{self.parameter}' is not present in 'settings/SC-params.json'. Try again with another parameter or update the json file!\033[0m" ) - sys.exit() + return ( self.timerange, self.first_timestamp, self.last_timestamp, ) = utils.get_query_times(**kwargs) - + # None will be returned if something went wrong if not self.timerange: utils.logger.error("\033[91m%s\033[0m", self.get_data.__doc__) return - + # ------------------------------------------------------------------------- self.data = self.get_sc_param() - - def get_sc_param(self): """Load the corresponding table from SC database for the process of interest and apply already the flags for the parameter under study.""" - scdb = LegendSlowControlDB() - scdb.connect(password="legend00") # look on Confluence for the password - # getting the process and flags of interest from 'settings/SC-params.json' for the provided parameter table_param = self.sc_parameters["SC_DB_params"][self.parameter]["table"] flags_param = self.sc_parameters["SC_DB_params"][self.parameter]["flags"] @@ -100,7 +101,7 @@ def get_sc_param(self): f"... getting the dataframe for '{table_param}' in the time range of interest\n" ) # SQL query to filter the dataframe based on the time range - query = f"SELECT * FROM {table_param} WHERE tstamp >= '{first_tstmp}' AND tstamp <= '{last_tstmp}'" + query = f"SELECT * FROM {table_param} WHERE tstamp >= '{self.first_timestamp}' AND tstamp <= '{self.last_timestamp}'" get_table_df = scdb.dataframe(query) # remove unnecessary columns (necessary when retrieving diode parameters) @@ -119,16 +120,19 @@ def get_sc_param(self): # order by timestamp (not automatically done) get_table_df = get_table_df.sort_values(by="tstamp") - utils.logger.debug(get_table_df) - # let's apply the flags for keeping only the parameter of interest - utils.logger.debug(f"... applying flags to get the parameter '{self.parameter}'") + utils.logger.debug( + f"... applying flags to get the parameter '{self.parameter}'" + ) get_table_df = apply_flags(get_table_df, self.sc_parameters, flags_param) # get units and lower/upper limits for the parameter of interest if "diode" not in self.parameter: unit, lower_lim, upper_lim = get_plotting_info( - self.parameter, self.sc_parameters, first_tstmp, last_tstmp + self.parameter, + self.sc_parameters, + self.first_timestamp, + self.last_timestamp, ) else: lower_lim = ( @@ -146,7 +150,13 @@ def get_sc_param(self): get_table_df["lower_lim"] = lower_lim get_table_df["upper_lim"] = upper_lim - get_table_df = get_table_df.reset_index() + # remove unnecessary columns + remove_cols = ["rack", "group", "sensor", "name", "almask"] + for col in remove_cols: + if col in list(get_table_df.columns): + get_table_df = get_table_df.drop(columns={col}) + + get_table_df = get_table_df.reset_index(drop=True) utils.logger.debug( "... final dataframe (after flagging the events):\n%s", get_table_df @@ -158,7 +168,8 @@ def get_sc_param(self): # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Other functions # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - + + def get_plotting_info( parameter: str, sc_parameters: dict, first_tstmp: str, last_tstmp: str ) -> Tuple[str, float, float]: diff --git a/src/legend_data_monitor/plotting.py b/src/legend_data_monitor/plotting.py index 04cd125..e006146 100644 --- a/src/legend_data_monitor/plotting.py +++ b/src/legend_data_monitor/plotting.py @@ -512,8 +512,8 @@ def plot_per_ch(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): plot_info["param_mean"] ] # single number if plot_info["parameter"] != "event_rate": - fwhm_ch = get_fwhm_for_fixed_ch( - data_channel, plot_info["parameter"] + fwhm_ch = ( + 0 # get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) ) text += f"\nFWHM {fwhm_ch}" if fwhm_ch != 0 else "" @@ -613,8 +613,8 @@ def plot_per_cc4(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): labels.append(label) if len(plot_info["parameters"]) == 1: if plot_info["parameter"] != "event_rate": - fwhm_ch = get_fwhm_for_fixed_ch( - data_channel, plot_info["parameter"] + fwhm_ch = ( + 0 # get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) ) labels[-1] = ( label + f" - FWHM: {fwhm_ch}" if fwhm_ch != 0 else label @@ -710,8 +710,8 @@ def plot_per_string(data_analysis: DataFrame, plot_info: dict, pdf: PdfPages): labels.append(label) if len(plot_info["parameters"]) == 1: if plot_info["parameter"] != "event_rate": - fwhm_ch = get_fwhm_for_fixed_ch( - data_channel, plot_info["parameter"] + fwhm_ch = ( + 0 # get_fwhm_for_fixed_ch(data_channel, plot_info["parameter"]) ) labels[-1] = ( label + f" - FWHM: {fwhm_ch}" if fwhm_ch != 0 else label diff --git a/src/legend_data_monitor/run.py b/src/legend_data_monitor/run.py index 85e22c1..677d922 100644 --- a/src/legend_data_monitor/run.py +++ b/src/legend_data_monitor/run.py @@ -67,6 +67,7 @@ def main(): subparsers = parser.add_subparsers() # functions for different purpouses + add_user_scdb(subparsers) add_user_config_parser(subparsers) add_user_bunch_parser(subparsers) add_user_rsync_parser(subparsers) @@ -87,6 +88,28 @@ def main(): args.func(args) +def add_user_scdb(subparsers): + """Configure :func:`.core.control_plots` command line interface.""" + parser_auto_prod = subparsers.add_parser( + "user_scdb", + description="""Retrieve Slow Control data from database by giving a full config file with parameters/subsystems info to plot. Available only when working in LNGS machines.""", + ) + parser_auto_prod.add_argument( + "--config", + help="""Path to config file (e.g. \"some_path/config_L200_r001_phy.json\").""", + ) + parser_auto_prod.set_defaults(func=user_scdb_cli) + + +def user_scdb_cli(args): + """Pass command line arguments to :func:`.core.control_scdb`.""" + # get the path to the user config file + config_file = args.config + + # start loading data + legend_data_monitor.core.control_scdb(config_file) + + def add_user_config_parser(subparsers): """Configure :func:`.core.control_plots` command line interface.""" parser_auto_prod = subparsers.add_parser( diff --git a/src/legend_data_monitor/settings/remove-dets.json b/src/legend_data_monitor/settings/remove-dets.json index ffc68bc..0967ef4 100644 --- a/src/legend_data_monitor/settings/remove-dets.json +++ b/src/legend_data_monitor/settings/remove-dets.json @@ -1,10 +1 @@ -{ - "V01406A": "off", - "V01415A": "off", - "V01387A": "off", - "V01389A": "off", - "P00665C": "off", - "P00748B": "off", - "P00748A": "off", - "B00089D": "off" -} +{} diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 131aa9f..5d25acf 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -32,7 +32,7 @@ class Subsystem: - 'type' [str]: 'phy' or 'cal' - the following key(s) depending in time selection 1. 'start' : , 'end': where input is of format 'YYYY-MM-DD hh:mm:ss' - 2. 'window'[str]: time window in the past from current time point, format: 'Xd Xh Xm' for days, hours, minutes + 2. 'window' [str]: time window in the past from current time point, format: 'Xd Xh Xm' for days, hours, minutes 2. 'timestamps': str or list of str in format 'YYYYMMDDThhmmssZ' 3. 'runs': int or list of ints for run number(s) e.g. 10 for r010 Or input kwargs separately experiment=, period=, path=, version=, type=; start=&end=, or window=, or timestamps=, or runs= diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 4c84c21..51b47bb 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -12,6 +12,8 @@ import lgdo.lh5_store as lh5 from pandas import DataFrame +from . import subsystem + # ------------------------------------------------------------------------- logger = logging.getLogger(__name__) @@ -145,9 +147,6 @@ def get_query_times(**kwargs): # if setup= keyword was used, get dict; otherwise kwargs is already the dict we need path_info = kwargs["dataset"] if "dataset" in kwargs else kwargs - # format to search /path_to_prod-ref[/vXX.XX]/generated/tier/dsp/phy/pXX/rXXX (version 'vXX.XX' might not be there). - # NOTICE that we fixed the tier, otherwise it picks the last one it finds (eg tcm). - # NOTICE that this is PERIOD SPECIFIC (unlikely we're gonna inspect two periods together, so we fix it) first_glob_path = os.path.join( path_info["path"], path_info["version"], @@ -157,7 +156,6 @@ def get_query_times(**kwargs): path_info["type"], path_info["period"], first_run, - "*.lh5", ) last_glob_path = os.path.join( path_info["path"], @@ -168,6 +166,30 @@ def get_query_times(**kwargs): path_info["type"], path_info["period"], last_run, + ) + + if not os.path.exists(first_glob_path): + logger.warning( + "\033[93mThe path '%s' does not exist, check config['dataset'] and try again.\033[0m", + first_glob_path, + ) + exit() + if not os.path.exists(last_glob_path): + logger.warning( + "\033[93mThe path '%s' does not exist, check config['dataset'] and try again.\033[0m", + last_glob_path, + ) + exit() + + # format to search /path_to_prod-ref[/vXX.XX]/generated/tier/dsp/phy/pXX/rXXX (version 'vXX.XX' might not be there). + # NOTICE that we fixed the tier, otherwise it picks the last one it finds (eg tcm). + # NOTICE that this is PERIOD SPECIFIC (unlikely we're gonna inspect two periods together, so we fix it) + first_glob_path = os.path.join( + first_glob_path, + "*.lh5", + ) + last_glob_path = os.path.join( + last_glob_path, "*.lh5", ) first_dsp_files = glob.glob(first_glob_path) @@ -295,17 +317,17 @@ def dataset_validity_check(data_info: dict): """Check the validity of the input dictionary to see if it contains all necessary info. Used in Subsystem and SlowControl classes.""" if "experiment" not in data_info: logger.error("\033[91mProvide experiment name!\033[0m") - logger.error("\033[91m%s\033[0m", self.__doc__) + logger.error("\033[91m%s\033[0m", subsystem.Subsystem.__doc__) return if "type" not in data_info: logger.error("\033[91mProvide data type!\033[0m") - logger.error("\033[91m%s\033[0m", self.__doc__) + logger.error("\033[91m%s\033[0m", subsystem.Subsystem.__doc__) return if "period" not in data_info: logger.error("\033[91mProvide period!\033[0m") - logger.error("\033[91m%s\033[0m", self.__doc__) + logger.error("\033[91m%s\033[0m", subsystem.Subsystem.__doc__) return # convert to list for convenience @@ -319,24 +341,22 @@ def dataset_validity_check(data_info: dict): # if datatype not in data_types: if not data_info["type"] in data_types: logger.error("\033[91mInvalid data type provided!\033[0m") - logger.error("\033[91m%s\033[0m", self.__doc__) + logger.error("\033[91m%s\033[0m", subsystem.Subsystem.__doc__) return if "path" not in data_info: logger.error("\033[91mProvide path to data!\033[0m") - logger.error("\033[91m%s\033[0m", self.__doc__) + logger.error("\033[91m%s\033[0m", subsystem.Subsystem.__doc__) return if not os.path.exists(data_info["path"]): - logger.error( - "\033[91mThe data path you provided does not exist!\033[0m" - ) + logger.error("\033[91mThe data path you provided does not exist!\033[0m") return if "version" not in data_info: logger.error( '\033[91mProvide processing version! If not needed, just put an empty string, "".\033[0m' ) - logger.error("\033[91m%s\033[0m", self.__doc__) + logger.error("\033[91m%s\033[0m", subsystem.Subsystem.__doc__) return # in p03 things change again!!!! @@ -345,7 +365,7 @@ def dataset_validity_check(data_info: dict): os.path.join(data_info["path"], data_info["version"]) ): logger.error("\033[91mProvide valid processing version!\033[0m") - logger.error("\033[91m%s\033[0m", self.__doc__) + logger.error("\033[91m%s\033[0m", subsystem.Subsystem.__doc__) return @@ -354,7 +374,37 @@ def dataset_validity_check(data_info: dict): # ------------------------------------------------------------------------- -def check_plot_settings(conf: dict): +def check_scdb_settings(conf: dict) -> bool: + """Check if the 'slow_control' entry in config file is good or not.""" + # there is no "slow_control" key + if "slow_control" not in conf.keys(): + logger.warning( + "\033[93mThere is no 'slow_control' key in the config file. Try again if you want to retrieve slow control data.\033[0m" + ) + return False + # there is "slow_control" key, but ... + else: + # ... there is no "parameters" key + if "parameters" not in conf["slow_control"].keys(): + logger.warning( + "\033[93mThere is no 'parameters' key in config 'slow_control' entry. Try again if you want to retrieve slow control data.\033[0m" + ) + return False + # ... there is "parameters" key, but ... + else: + # ... it is not a string or a list (of strings) + if not isinstance( + conf["slow_control"]["parameters"], str + ) and not isinstance(conf["slow_control"]["parameters"], list): + logger.error( + "\033[91mSlow control parameters must be a string or a list of strings. Try again if you want to retrieve slow control data.\033[0m" + ) + return False + + return True + + +def check_plot_settings(conf: dict) -> bool: from . import plot_styles, plotting options = { @@ -362,6 +412,12 @@ def check_plot_settings(conf: dict): "plot_style": plot_styles.PLOT_STYLE.keys(), } + if "subsystems" not in conf.keys(): + logger.error( + "\033[91mThere is no 'subsystems' key in the config file. Try again if you want to plot data.\033[0m" + ) + exit() + for subsys in conf["subsystems"]: for plot in conf["subsystems"][subsys]: # settings for this plot @@ -907,3 +963,50 @@ def convert_to_camel_case(string: str, char: str) -> str: camel_case_string = "".join(words) return camel_case_string + + +def get_output_path(config: dict): + """Get output path provided a 'dataset' from the config file. The path will be used to save and store pdfs/hdf/etc files.""" + try: + data_types = ( + [config["dataset"]["type"]] + if isinstance(config["dataset"]["type"], str) + else config["dataset"]["type"] + ) + + plt_basename = "{}-{}-".format( + config["dataset"]["experiment"].lower(), + config["dataset"]["period"], + ) + except (KeyError, TypeError): + # means something about dataset is wrong -> print Subsystem doc + logger.error( + "\033[91mSomething is missing or wrong in your 'dataset' field of the config. You can see the format here under 'dataset=':\033[0m" + ) + logger.info("\033[91m%s\033[0m", subsystem.Subsystem.__doc__) + exit() + + user_time_range = get_query_timerange(dataset=config["dataset"]) + # will be returned as None if something is wrong, and print an error message + if not user_time_range: + return + + # create output folders for plots + period_dir = make_output_paths(config, user_time_range) + # get correct time info for subfolder's name + name_time = ( + get_run_name(config, user_time_range) + if "timestamp" in user_time_range.keys() + else get_time_name(user_time_range) + ) + output_paths = period_dir + name_time + "/" + make_dir(output_paths) + if not output_paths: + return + + # we don't care here about the time keyword timestamp/run -> just get the value + plt_basename += name_time + out_path = output_paths + plt_basename + out_path += "-{}".format("_".join(data_types)) + + return out_path From 07ba4259dc7ea1ca76322988d63a3bc041ab9d06 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 28 Jun 2023 15:18:43 +0000 Subject: [PATCH 129/166] style: pre-commit fixes --- src/legend_data_monitor/__init__.py | 11 +++++++++-- .../config/slow_control_example.json | 11 ++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/legend_data_monitor/__init__.py b/src/legend_data_monitor/__init__.py index 3976d3b..61c8a6d 100644 --- a/src/legend_data_monitor/__init__.py +++ b/src/legend_data_monitor/__init__.py @@ -1,7 +1,14 @@ from legend_data_monitor._version import version as __version__ from legend_data_monitor.analysis_data import AnalysisData from legend_data_monitor.core import control_plots -from legend_data_monitor.subsystem import Subsystem from legend_data_monitor.plot_sc import SlowControl +from legend_data_monitor.subsystem import Subsystem -__all__ = ["__version__", "control_plots", "Subsystem", "AnalysisData", "SlowControl", "apply_cut"] +__all__ = [ + "__version__", + "control_plots", + "Subsystem", + "AnalysisData", + "SlowControl", + "apply_cut", +] diff --git a/src/legend_data_monitor/config/slow_control_example.json b/src/legend_data_monitor/config/slow_control_example.json index 9334857..12e656e 100644 --- a/src/legend_data_monitor/config/slow_control_example.json +++ b/src/legend_data_monitor/config/slow_control_example.json @@ -10,6 +10,15 @@ }, "saving": "overwrite", "slow_control": { - "parameters": ["DaqLeft-Temp1", "DaqLeft-Temp2", "DaqRight-Temp1", "DaqRight-Temp2", "RREiT", "RRNTe", "RRSTe", "ZUL_T_RR"] + "parameters": [ + "DaqLeft-Temp1", + "DaqLeft-Temp2", + "DaqRight-Temp1", + "DaqRight-Temp2", + "RREiT", + "RRNTe", + "RRSTe", + "ZUL_T_RR" + ] } } From 2c2234c89fb1d043b01590d8f4e1643f812c59fc Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 28 Jun 2023 17:22:39 +0200 Subject: [PATCH 130/166] changed core scdb function name --- src/legend_data_monitor/core.py | 2 +- src/legend_data_monitor/run.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 10ea120..c4283c5 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -6,7 +6,7 @@ from . import plot_sc, plotting, subsystem, utils -def control_scdb(user_config_path: str): +def retrieve_scdb(user_config_path: str): """Set the configuration file and the output paths when a user config file is provided. The function to retrieve Slow Control data from database is then automatically called.""" # ------------------------------------------------------------------------- # Read user settings diff --git a/src/legend_data_monitor/run.py b/src/legend_data_monitor/run.py index 677d922..47cfe34 100644 --- a/src/legend_data_monitor/run.py +++ b/src/legend_data_monitor/run.py @@ -102,12 +102,12 @@ def add_user_scdb(subparsers): def user_scdb_cli(args): - """Pass command line arguments to :func:`.core.control_scdb`.""" + """Pass command line arguments to :func:`.core.retrieve_scdb`.""" # get the path to the user config file config_file = args.config # start loading data - legend_data_monitor.core.control_scdb(config_file) + legend_data_monitor.core.retrieve_scdb(config_file) def add_user_config_parser(subparsers): From 3afba8e5dbba15e476d6267721786a4d2cf1b997 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 28 Jun 2023 17:32:07 +0200 Subject: [PATCH 131/166] no more global scdb object --- src/legend_data_monitor/plot_sc.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py index 3cc5d55..429cea9 100644 --- a/src/legend_data_monitor/plot_sc.py +++ b/src/legend_data_monitor/plot_sc.py @@ -8,9 +8,6 @@ from . import utils -scdb = LegendSlowControlDB() -scdb.connect(password="...") # look on Confluence for the password - # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # SLOW CONTROL LOADING/PLOTTING FUNCTIONS # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -61,6 +58,8 @@ def __init__(self, parameter: str, **kwargs): self.parameter = parameter self.sc_parameters = utils.SC_PARAMETERS self.data = pd.DataFrame() + self.scdb = LegendSlowControlDB() + self.scdb.connect(password="...") # look on Confluence for the password # check if parameter is within the one listed in settings/SC-params.json if parameter not in self.sc_parameters["SC_DB_params"].keys(): @@ -90,7 +89,7 @@ def get_sc_param(self): flags_param = self.sc_parameters["SC_DB_params"][self.parameter]["flags"] # check if the selected table is present in the SC database. If not, arise an error and exit - if table_param not in scdb.get_tables(): + if table_param not in self.scdb.get_tables(): utils.logger.error( "\033[91mThis is not present in the SC database! Try again.\033[0m" ) @@ -102,7 +101,7 @@ def get_sc_param(self): ) # SQL query to filter the dataframe based on the time range query = f"SELECT * FROM {table_param} WHERE tstamp >= '{self.first_timestamp}' AND tstamp <= '{self.last_timestamp}'" - get_table_df = scdb.dataframe(query) + get_table_df = self.scdb.dataframe(query) # remove unnecessary columns (necessary when retrieving diode parameters) # note: there will be a 'status' column such that ON=1 and OFF=0 - right now we are keeping every detector, without removing the OFF ones as we usually do for geds @@ -115,7 +114,7 @@ def get_sc_param(self): get_table_df = get_table_df.rename(columns={"imon": "value"}) # in case of geds parameters, add the info about the channel name and channel id (right now, there is only crate&slot info) if self.parameter == "diode_vmon" or self.parameter == "diode_imon": - get_table_df = include_more_diode_info(get_table_df) + get_table_df = include_more_diode_info(get_table_df, self.scdb) # order by timestamp (not automatically done) get_table_df = get_table_df.sort_values(by="tstamp") @@ -133,6 +132,7 @@ def get_sc_param(self): self.sc_parameters, self.first_timestamp, self.last_timestamp, + self.scdb, ) else: lower_lim = ( @@ -171,7 +171,11 @@ def get_sc_param(self): def get_plotting_info( - parameter: str, sc_parameters: dict, first_tstmp: str, last_tstmp: str + parameter: str, + sc_parameters: dict, + first_tstmp: str, + last_tstmp: str, + scdb: LegendSlowControlDB, ) -> Tuple[str, float, float]: """Return units and low/high limits of a given parameter.""" table_param = sc_parameters["SC_DB_params"][parameter]["table"] @@ -246,7 +250,7 @@ def apply_flags(df: DataFrame, sc_parameters: dict, flags_param: list) -> DataFr return df -def include_more_diode_info(df: DataFrame) -> DataFrame: +def include_more_diode_info(df: DataFrame, scdb: LegendSlowControlDB) -> DataFrame: """Include more diode info, such as the channel name and the string number to which it belongs.""" # get the diode info dataframe from the SC database df_info = scdb.dataframe("diode_info") From abb797083009a31f265dceb3e62518b42c195ea6 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Wed, 28 Jun 2023 17:37:13 +0200 Subject: [PATCH 132/166] lowered cov thr - fix when going to main --- codecov.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codecov.yml b/codecov.yml index 0a09914..80a6af8 100644 --- a/codecov.yml +++ b/codecov.yml @@ -5,7 +5,7 @@ coverage: status: project: default: - target: 20% + target: 5% patch: false github_checks: From 7a813dbc9a02747dc64e2ec9b789ad91365a7755 Mon Sep 17 00:00:00 2001 From: morellam Date: Mon, 3 Jul 2023 17:08:26 +0200 Subject: [PATCH 133/166] fixed 2H shift on x-axis label --- pyproject.toml | 4 ++-- src/legend_data_monitor/plot_styles.py | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index fa9b8b0..895b7ec 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [build-system] requires = [ - "setuptools>=42.0.0", + "setuptools>=43.0.0", "setuptools_scm[toml]>=3.4" ] @@ -19,4 +19,4 @@ testpaths = "tests" [tool.isort] profile = "black" -multi_line_output = 3 +multi_line_output = 3 \ No newline at end of file diff --git a/src/legend_data_monitor/plot_styles.py b/src/legend_data_monitor/plot_styles.py index 843ac34..97c2452 100644 --- a/src/legend_data_monitor/plot_styles.py +++ b/src/legend_data_monitor/plot_styles.py @@ -7,6 +7,7 @@ import numpy as np import pandas as pd +from datetime import datetime from matplotlib.axes import Axes from matplotlib.dates import DateFormatter, date2num, num2date from matplotlib.figure import Figure @@ -125,7 +126,7 @@ def plot_vs_time( min_x = date2num(data_channel.iloc[0]["datetime"]) max_x = date2num(data_channel.iloc[-1]["datetime"]) time_points = np.linspace(min_x, max_x, 10) - labels = [num2date(time).strftime("%Y\n%m/%d\n%H:%M") for time in time_points] + labels = [num2date(time, tz = datetime.now().astimezone().tzinfo).strftime("%Y\n%m/%d\n%H:%M") for time in time_points] # set ticks ax.set_xticks(time_points) From d8cd52bc49f169154e60c39d004224549a21548d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 3 Jul 2023 15:13:01 +0000 Subject: [PATCH 134/166] style: pre-commit fixes --- pyproject.toml | 2 +- src/legend_data_monitor/plot_styles.py | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 895b7ec..e5f9094 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,4 +19,4 @@ testpaths = "tests" [tool.isort] profile = "black" -multi_line_output = 3 \ No newline at end of file +multi_line_output = 3 diff --git a/src/legend_data_monitor/plot_styles.py b/src/legend_data_monitor/plot_styles.py index 97c2452..f19feee 100644 --- a/src/legend_data_monitor/plot_styles.py +++ b/src/legend_data_monitor/plot_styles.py @@ -5,9 +5,10 @@ # See mapping user plot structure keywords to corresponding functions in the end of this file +from datetime import datetime + import numpy as np import pandas as pd -from datetime import datetime from matplotlib.axes import Axes from matplotlib.dates import DateFormatter, date2num, num2date from matplotlib.figure import Figure @@ -126,7 +127,12 @@ def plot_vs_time( min_x = date2num(data_channel.iloc[0]["datetime"]) max_x = date2num(data_channel.iloc[-1]["datetime"]) time_points = np.linspace(min_x, max_x, 10) - labels = [num2date(time, tz = datetime.now().astimezone().tzinfo).strftime("%Y\n%m/%d\n%H:%M") for time in time_points] + labels = [ + num2date(time, tz=datetime.now().astimezone().tzinfo).strftime( + "%Y\n%m/%d\n%H:%M" + ) + for time in time_points + ] # set ticks ax.set_xticks(time_points) From 77e9f6b07d5b88154713326b1660740b2b490eb0 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 4 Jul 2023 09:53:28 +0200 Subject: [PATCH 135/166] changed name for SC module --- src/legend_data_monitor/__init__.py | 2 +- src/legend_data_monitor/slow_control.py | 287 ++++++++++++++++++++++++ 2 files changed, 288 insertions(+), 1 deletion(-) create mode 100644 src/legend_data_monitor/slow_control.py diff --git a/src/legend_data_monitor/__init__.py b/src/legend_data_monitor/__init__.py index 61c8a6d..b71e542 100644 --- a/src/legend_data_monitor/__init__.py +++ b/src/legend_data_monitor/__init__.py @@ -1,7 +1,7 @@ from legend_data_monitor._version import version as __version__ from legend_data_monitor.analysis_data import AnalysisData from legend_data_monitor.core import control_plots -from legend_data_monitor.plot_sc import SlowControl +from legend_data_monitor.slow_control import SlowControl from legend_data_monitor.subsystem import Subsystem __all__ = [ diff --git a/src/legend_data_monitor/slow_control.py b/src/legend_data_monitor/slow_control.py new file mode 100644 index 0000000..5c38442 --- /dev/null +++ b/src/legend_data_monitor/slow_control.py @@ -0,0 +1,287 @@ +import sys +from datetime import datetime, timezone +from typing import Tuple + +import pandas as pd +from legendmeta import LegendSlowControlDB +from pandas import DataFrame + +from . import utils + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# SLOW CONTROL LOADING/PLOTTING FUNCTIONS +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +class SlowControl: + """ + Object containing Slow Control database information for a data subselected based on given criteria. + + parameter [str] : diode_vmon | diode_imon | PT114 | PT115 | PT118 | PT202 | PT205 | PT208 | LT01 | RREiT | RRNTe | RRSTe | ZUL_T_RR | DaqLeft-Temp1 | DaqLeft-Temp2 | DaqRight-Temp1 | DaqRight-Temp2 + + Options for kwargs + + dataset= + dict with the following keys: + - 'experiment' [str]: 'L60' or 'L200' + - 'period' [str]: period format pXX + - 'path' [str]: path to prod-ref folder (before version) + - 'version' [str]: version of pygama data processing format vXX.XX + - 'type' [str]: 'phy' or 'cal' + - the following key(s) depending in time selection + 1. 'start' : , 'end': where input is of format 'YYYY-MM-DD hh:mm:ss' + 2. 'window'[str]: time window in the past from current time point, format: 'Xd Xh Xm' for days, hours, minutes + 2. 'timestamps': str or list of str in format 'YYYYMMDDThhmmssZ' + 3. 'runs': int or list of ints for run number(s) e.g. 10 for r010 + Or input kwargs separately experiment=, period=, path=, version=, type=; start=&end=, (or window= - ???), or timestamps=, or runs= + """ + + def __init__(self, parameter: str, **kwargs): + # if setup= kwarg was provided, get dict provided + # otherwise kwargs is itself already the dict we need with experiment= and period= + data_info = kwargs["dataset"] if "dataset" in kwargs else kwargs + + # validity check of kwarg + utils.dataset_validity_check(data_info) + + # needed to know for making 'if' statement over different experiments/periods + self.experiment = data_info["experiment"] + self.period = data_info["period"] + # need to remember for channel status query + # ! now needs to be single ! + self.datatype = data_info["type"] + # need to remember for DataLoader config + self.path = data_info["path"] + self.version = data_info["version"] + + # load info from settings/SC-params.json + self.parameter = parameter + self.sc_parameters = utils.SC_PARAMETERS + self.data = pd.DataFrame() + self.scdb = LegendSlowControlDB() + self.scdb.connect(password="legend00") # look on Confluence for the password + + # check if parameter is within the one listed in settings/SC-params.json + if parameter not in self.sc_parameters["SC_DB_params"].keys(): + utils.logger.error( + f"\033[91mThe parameter '{self.parameter}' is not present in 'settings/SC-params.json'. Try again with another parameter or update the json file!\033[0m" + ) + return + + ( + self.timerange, + self.first_timestamp, + self.last_timestamp, + ) = utils.get_query_times(**kwargs) + + # None will be returned if something went wrong + if not self.timerange: + utils.logger.error("\033[91m%s\033[0m", self.get_data.__doc__) + return + + # ------------------------------------------------------------------------- + self.data = self.get_sc_param() + + def get_sc_param(self): + """Load the corresponding table from SC database for the process of interest and apply already the flags for the parameter under study.""" + # getting the process and flags of interest from 'settings/SC-params.json' for the provided parameter + table_param = self.sc_parameters["SC_DB_params"][self.parameter]["table"] + flags_param = self.sc_parameters["SC_DB_params"][self.parameter]["flags"] + + # check if the selected table is present in the SC database. If not, arise an error and exit + if table_param not in self.scdb.get_tables(): + utils.logger.error( + "\033[91mThis is not present in the SC database! Try again.\033[0m" + ) + sys.exit() + + # get the dataframe for the process of interest + utils.logger.debug( + f"... getting the dataframe for '{table_param}' in the time range of interest\n" + ) + # SQL query to filter the dataframe based on the time range + query = f"SELECT * FROM {table_param} WHERE tstamp >= '{self.first_timestamp}' AND tstamp <= '{self.last_timestamp}'" + get_table_df = self.scdb.dataframe(query) + + # remove unnecessary columns (necessary when retrieving diode parameters) + # note: there will be a 'status' column such that ON=1 and OFF=0 - right now we are keeping every detector, without removing the OFF ones as we usually do for geds + if "vmon" in self.parameter and "imon" in list(get_table_df.columns): + get_table_df = get_table_df.drop(columns="imon") + # rename the column of interest to 'value' to be consistent with other parameter dataframes + get_table_df = get_table_df.rename(columns={"vmon": "value"}) + if "imon" in self.parameter and "vmon" in list(get_table_df.columns): + get_table_df = get_table_df.drop(columns="vmon") + get_table_df = get_table_df.rename(columns={"imon": "value"}) + # in case of geds parameters, add the info about the channel name and channel id (right now, there is only crate&slot info) + if self.parameter == "diode_vmon" or self.parameter == "diode_imon": + get_table_df = include_more_diode_info(get_table_df, self.scdb) + + # order by timestamp (not automatically done) + get_table_df = get_table_df.sort_values(by="tstamp") + + # let's apply the flags for keeping only the parameter of interest + utils.logger.debug( + f"... applying flags to get the parameter '{self.parameter}'" + ) + get_table_df = apply_flags(get_table_df, self.sc_parameters, flags_param) + + # get units and lower/upper limits for the parameter of interest + if "diode" not in self.parameter: + unit, lower_lim, upper_lim = get_plotting_info( + self.parameter, + self.sc_parameters, + self.first_timestamp, + self.last_timestamp, + self.scdb, + ) + else: + lower_lim = ( + upper_lim + ) = None # there are just 'set values', no actual thresholds + if "vmon" in self.parameter: + unit = "V" + elif "imon" in self.parameter: + unit = "\u03BCA" + else: + unit = None + + # append unit, lower_lim, upper_lim to the dataframe + get_table_df["unit"] = unit + get_table_df["lower_lim"] = lower_lim + get_table_df["upper_lim"] = upper_lim + + # remove unnecessary columns + remove_cols = ["rack", "group", "sensor", "name", "almask"] + for col in remove_cols: + if col in list(get_table_df.columns): + get_table_df = get_table_df.drop(columns={col}) + + get_table_df = get_table_df.reset_index(drop=True) + + utils.logger.debug( + "... final dataframe (after flagging the events):\n%s", get_table_df + ) + + return get_table_df + + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Other functions +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +def get_plotting_info( + parameter: str, + sc_parameters: dict, + first_tstmp: str, + last_tstmp: str, + scdb: LegendSlowControlDB, +) -> Tuple[str, float, float]: + """Return units and low/high limits of a given parameter.""" + table_param = sc_parameters["SC_DB_params"][parameter]["table"] + flags_param = sc_parameters["SC_DB_params"][parameter]["flags"] + + # get info dataframe of the corresponding process under study (do I need to specify the param????) + get_table_info = scdb.dataframe(table_param.replace("snap", "info")) + + # let's apply the flags for keeping only the parameter of interest + get_table_info = apply_flags(get_table_info, sc_parameters, flags_param) + utils.logger.debug( + "... units and thresholds will be retrieved from the following object:\n%s", + get_table_info, + ) + + # Convert first_tstmp and last_tstmp to datetime objects in the UTC timezone + first_tstmp = datetime.strptime(first_tstmp, "%Y%m%dT%H%M%SZ").replace( + tzinfo=timezone.utc + ) + last_tstmp = datetime.strptime(last_tstmp, "%Y%m%dT%H%M%SZ").replace( + tzinfo=timezone.utc + ) + + # Filter the DataFrame based on the time interval, starting to look from the latest entry ('reversed(...)') + times = list(get_table_info["tstamp"].unique()) + + for time in reversed(times): + if first_tstmp < time < last_tstmp: + unit = list(get_table_info["unit"].unique())[0] + lower_lim = upper_lim = None + utils.logger.warning( + f"\033[93mParameter {parameter} has no valid range in the time period you selected. Upper and lower thresholds are set to None, while units={unit}\033[0m" + ) + return unit, lower_lim, upper_lim + + if time < first_tstmp and time < last_tstmp: + unit = list( + get_table_info[get_table_info["tstamp"] == time]["unit"].unique() + )[0] + lower_lim = get_table_info[get_table_info["tstamp"] == time][ + "ltol" + ].tolist()[-1] + upper_lim = get_table_info[get_table_info["tstamp"] == time][ + "utol" + ].tolist()[-1] + utils.logger.debug( + f"... parameter {parameter} must be within [{lower_lim};{upper_lim}] {unit}" + ) + return unit, lower_lim, upper_lim + + if time > first_tstmp and time > last_tstmp: + if time == times[0]: + utils.logger.error( + "\033[91mYou're travelling too far in the past, there were no SC data in the time period you selected. Try again!\033[0m" + ) + sys.exit() + + return unit, lower_lim, upper_lim + + +def apply_flags(df: DataFrame, sc_parameters: dict, flags_param: list) -> DataFrame: + """Apply the flags read from 'settings/SC-params.json' to the input dataframe.""" + for flag in flags_param: + column = sc_parameters["expressions"][flag]["column"] + entry = sc_parameters["expressions"][flag]["entry"] + df = df[df[column] == entry] + + # check if the dataframe is empty, if so, skip this plot + if utils.is_empty(df): + return # or exit - depending on how we will include these data in plotting + + return df + + +def include_more_diode_info(df: DataFrame, scdb: LegendSlowControlDB) -> DataFrame: + """Include more diode info, such as the channel name and the string number to which it belongs.""" + # get the diode info dataframe from the SC database + df_info = scdb.dataframe("diode_info") + # remove duplicates of detector names + df_info = df_info.drop_duplicates(subset="label") + # remove unnecessary columns (otherwise, they are repeated after the merging) + df_info = df_info.drop(columns={"status", "tstamp"}) + # there is a repeated detector! Once with an additional blank space in front of its name: removed in case it is found + if " V00050B" in list(df_info["label"].unique()): + df_info = df_info[df_info["label"] != " V00050B"] + + # remove 'HV filter test' and 'no cable' entries + df_info = df_info[~df_info["label"].str.contains("Ch")] + # remove other stuff (???) + if "?" in list(df_info["label"].unique()): + df_info = df_info[df_info["label"] != "?"] + if " routed" in list(df_info["label"].unique()): + df_info = df_info[df_info["label"] != " routed"] + if "routed" in list(df_info["label"].unique()): + df_info = df_info[df_info["label"] != "routed"] + + # Merge df_info into df based on 'crate' and 'slot' + merged_df = df.merge( + df_info[["crate", "slot", "channel", "label", "group"]], + on=["crate", "slot", "channel"], + how="left", + ) + merged_df = merged_df.rename(columns={"label": "name", "group": "string"}) + # remove "name"=NaN (ie entries for which there was not a correspondence among the two merged dataframes) + merged_df = merged_df.dropna(subset=["name"]) + # switch from "String X" (str) to "X" (int) for entries of the 'string' column + merged_df["string"] = merged_df["string"].str.extract(r"(\d+)").astype(int) + + return merged_df From 72daabd6ee8fd5c6769d8630712d58ae754c2a3f Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 4 Jul 2023 09:54:04 +0200 Subject: [PATCH 136/166] established automatic ssh tunnel to SC db --- src/legend_data_monitor/core.py | 24 ++- src/legend_data_monitor/plot_sc.py | 287 ----------------------------- 2 files changed, 20 insertions(+), 291 deletions(-) delete mode 100644 src/legend_data_monitor/plot_sc.py diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index c4283c5..c4eddda 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -2,12 +2,24 @@ import os import re import sys +import subprocess -from . import plot_sc, plotting, subsystem, utils +from . import slow_control, plotting, subsystem, utils def retrieve_scdb(user_config_path: str): """Set the configuration file and the output paths when a user config file is provided. The function to retrieve Slow Control data from database is then automatically called.""" + # ------------------------------------------------------------------------- + # SSH tunnel to the Slow Control database + # ------------------------------------------------------------------------- + # for the settings, see instructions on Confluence + try: + subprocess.run("ssh -T -N -f ugnet-proxy", shell=True, check=True) + print("SSH tunnel to Slow Control database established successfully.") + except subprocess.CalledProcessError as e: + print("Error running SSH tunnel to Slow Control database command:", e) + sys.exit() + # ------------------------------------------------------------------------- # Read user settings # ------------------------------------------------------------------------- @@ -38,8 +50,12 @@ def retrieve_scdb(user_config_path: str): "\33[34m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\33[0m" ) - # ??? - sc_analysis = plot_sc.SlowControl(param, dataset=config["dataset"]) + # build a SlowControl object + # - select parameter of interest from a list of available parameters + # - apply time interval cuts + # - get values from SC database (available from LNGS only) + # - get limits/units/... from SC databasee (available from LNGS only) + sc_analysis = slow_control.SlowControl(param, dataset=config["dataset"]) # check if the dataframe is empty or not (no data) if utils.check_empty_df(sc_analysis): @@ -52,7 +68,7 @@ def retrieve_scdb(user_config_path: str): # remove the slow control hdf file if # 1) it already exists # 2) we specified "overwrite" as saving option - # 3) it is the first parameter we want to save + # 3) it is the first parameter we want to save (idx==0) if os.path.exists(out_path) and config["saving"] == "overwrite" and idx == 0: os.remove(out_path) diff --git a/src/legend_data_monitor/plot_sc.py b/src/legend_data_monitor/plot_sc.py deleted file mode 100644 index 429cea9..0000000 --- a/src/legend_data_monitor/plot_sc.py +++ /dev/null @@ -1,287 +0,0 @@ -import sys -from datetime import datetime, timezone -from typing import Tuple - -import pandas as pd -from legendmeta import LegendSlowControlDB -from pandas import DataFrame - -from . import utils - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# SLOW CONTROL LOADING/PLOTTING FUNCTIONS -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -class SlowControl: - """ - Object containing Slow Control database information for a data subselected based on given criteria. - - parameter [str] : diode_vmon | diode_imon | PT114 | PT115 | PT118 | PT202 | PT205 | PT208 | LT01 | RREiT | RRNTe | RRSTe | ZUL_T_RR | DaqLeft-Temp1 | DaqLeft-Temp2 | DaqRight-Temp1 | DaqRight-Temp2 - - Options for kwargs - - dataset= - dict with the following keys: - - 'experiment' [str]: 'L60' or 'L200' - - 'period' [str]: period format pXX - - 'path' [str]: path to prod-ref folder (before version) - - 'version' [str]: version of pygama data processing format vXX.XX - - 'type' [str]: 'phy' or 'cal' - - the following key(s) depending in time selection - 1. 'start' : , 'end': where input is of format 'YYYY-MM-DD hh:mm:ss' - 2. 'window'[str]: time window in the past from current time point, format: 'Xd Xh Xm' for days, hours, minutes - 2. 'timestamps': str or list of str in format 'YYYYMMDDThhmmssZ' - 3. 'runs': int or list of ints for run number(s) e.g. 10 for r010 - Or input kwargs separately experiment=, period=, path=, version=, type=; start=&end=, (or window= - ???), or timestamps=, or runs= - """ - - def __init__(self, parameter: str, **kwargs): - # if setup= kwarg was provided, get dict provided - # otherwise kwargs is itself already the dict we need with experiment= and period= - data_info = kwargs["dataset"] if "dataset" in kwargs else kwargs - - # validity check of kwarg - utils.dataset_validity_check(data_info) - - # needed to know for making 'if' statement over different experiments/periods - self.experiment = data_info["experiment"] - self.period = data_info["period"] - # need to remember for channel status query - # ! now needs to be single ! - self.datatype = data_info["type"] - # need to remember for DataLoader config - self.path = data_info["path"] - self.version = data_info["version"] - - # load info from settings/SC-params.json - self.parameter = parameter - self.sc_parameters = utils.SC_PARAMETERS - self.data = pd.DataFrame() - self.scdb = LegendSlowControlDB() - self.scdb.connect(password="...") # look on Confluence for the password - - # check if parameter is within the one listed in settings/SC-params.json - if parameter not in self.sc_parameters["SC_DB_params"].keys(): - utils.logger.error( - f"\033[91mThe parameter '{self.parameter}' is not present in 'settings/SC-params.json'. Try again with another parameter or update the json file!\033[0m" - ) - return - - ( - self.timerange, - self.first_timestamp, - self.last_timestamp, - ) = utils.get_query_times(**kwargs) - - # None will be returned if something went wrong - if not self.timerange: - utils.logger.error("\033[91m%s\033[0m", self.get_data.__doc__) - return - - # ------------------------------------------------------------------------- - self.data = self.get_sc_param() - - def get_sc_param(self): - """Load the corresponding table from SC database for the process of interest and apply already the flags for the parameter under study.""" - # getting the process and flags of interest from 'settings/SC-params.json' for the provided parameter - table_param = self.sc_parameters["SC_DB_params"][self.parameter]["table"] - flags_param = self.sc_parameters["SC_DB_params"][self.parameter]["flags"] - - # check if the selected table is present in the SC database. If not, arise an error and exit - if table_param not in self.scdb.get_tables(): - utils.logger.error( - "\033[91mThis is not present in the SC database! Try again.\033[0m" - ) - sys.exit() - - # get the dataframe for the process of interest - utils.logger.debug( - f"... getting the dataframe for '{table_param}' in the time range of interest\n" - ) - # SQL query to filter the dataframe based on the time range - query = f"SELECT * FROM {table_param} WHERE tstamp >= '{self.first_timestamp}' AND tstamp <= '{self.last_timestamp}'" - get_table_df = self.scdb.dataframe(query) - - # remove unnecessary columns (necessary when retrieving diode parameters) - # note: there will be a 'status' column such that ON=1 and OFF=0 - right now we are keeping every detector, without removing the OFF ones as we usually do for geds - if "vmon" in self.parameter and "imon" in list(get_table_df.columns): - get_table_df = get_table_df.drop(columns="imon") - # rename the column of interest to 'value' to be consistent with other parameter dataframes - get_table_df = get_table_df.rename(columns={"vmon": "value"}) - if "imon" in self.parameter and "vmon" in list(get_table_df.columns): - get_table_df = get_table_df.drop(columns="vmon") - get_table_df = get_table_df.rename(columns={"imon": "value"}) - # in case of geds parameters, add the info about the channel name and channel id (right now, there is only crate&slot info) - if self.parameter == "diode_vmon" or self.parameter == "diode_imon": - get_table_df = include_more_diode_info(get_table_df, self.scdb) - - # order by timestamp (not automatically done) - get_table_df = get_table_df.sort_values(by="tstamp") - - # let's apply the flags for keeping only the parameter of interest - utils.logger.debug( - f"... applying flags to get the parameter '{self.parameter}'" - ) - get_table_df = apply_flags(get_table_df, self.sc_parameters, flags_param) - - # get units and lower/upper limits for the parameter of interest - if "diode" not in self.parameter: - unit, lower_lim, upper_lim = get_plotting_info( - self.parameter, - self.sc_parameters, - self.first_timestamp, - self.last_timestamp, - self.scdb, - ) - else: - lower_lim = ( - upper_lim - ) = None # there are just 'set values', no actual thresholds - if "vmon" in self.parameter: - unit = "V" - elif "imon" in self.parameter: - unit = "\u03BCA" - else: - unit = None - - # append unit, lower_lim, upper_lim to the dataframe - get_table_df["unit"] = unit - get_table_df["lower_lim"] = lower_lim - get_table_df["upper_lim"] = upper_lim - - # remove unnecessary columns - remove_cols = ["rack", "group", "sensor", "name", "almask"] - for col in remove_cols: - if col in list(get_table_df.columns): - get_table_df = get_table_df.drop(columns={col}) - - get_table_df = get_table_df.reset_index(drop=True) - - utils.logger.debug( - "... final dataframe (after flagging the events):\n%s", get_table_df - ) - - return get_table_df - - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# Other functions -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -def get_plotting_info( - parameter: str, - sc_parameters: dict, - first_tstmp: str, - last_tstmp: str, - scdb: LegendSlowControlDB, -) -> Tuple[str, float, float]: - """Return units and low/high limits of a given parameter.""" - table_param = sc_parameters["SC_DB_params"][parameter]["table"] - flags_param = sc_parameters["SC_DB_params"][parameter]["flags"] - - # get info dataframe of the corresponding process under study (do I need to specify the param????) - get_table_info = scdb.dataframe(table_param.replace("snap", "info")) - - # let's apply the flags for keeping only the parameter of interest - get_table_info = apply_flags(get_table_info, sc_parameters, flags_param) - utils.logger.debug( - "... units and thresholds will be retrieved from the following object:\n%s", - get_table_info, - ) - - # Convert first_tstmp and last_tstmp to datetime objects in the UTC timezone - first_tstmp = datetime.strptime(first_tstmp, "%Y%m%dT%H%M%SZ").replace( - tzinfo=timezone.utc - ) - last_tstmp = datetime.strptime(last_tstmp, "%Y%m%dT%H%M%SZ").replace( - tzinfo=timezone.utc - ) - - # Filter the DataFrame based on the time interval, starting to look from the latest entry ('reversed(...)') - times = list(get_table_info["tstamp"].unique()) - - for time in reversed(times): - if first_tstmp < time < last_tstmp: - unit = list(get_table_info["unit"].unique())[0] - lower_lim = upper_lim = None - utils.logger.warning( - f"\033[93mParameter {parameter} has no valid range in the time period you selected. Upper and lower thresholds are set to None, while units={unit}\033[0m" - ) - return unit, lower_lim, upper_lim - - if time < first_tstmp and time < last_tstmp: - unit = list( - get_table_info[get_table_info["tstamp"] == time]["unit"].unique() - )[0] - lower_lim = get_table_info[get_table_info["tstamp"] == time][ - "ltol" - ].tolist()[-1] - upper_lim = get_table_info[get_table_info["tstamp"] == time][ - "utol" - ].tolist()[-1] - utils.logger.debug( - f"... parameter {parameter} must be within [{lower_lim};{upper_lim}] {unit}" - ) - return unit, lower_lim, upper_lim - - if time > first_tstmp and time > last_tstmp: - if time == times[0]: - utils.logger.error( - "\033[91mYou're travelling too far in the past, there were no SC data in the time period you selected. Try again!\033[0m" - ) - sys.exit() - - return unit, lower_lim, upper_lim - - -def apply_flags(df: DataFrame, sc_parameters: dict, flags_param: list) -> DataFrame: - """Apply the flags read from 'settings/SC-params.json' to the input dataframe.""" - for flag in flags_param: - column = sc_parameters["expressions"][flag]["column"] - entry = sc_parameters["expressions"][flag]["entry"] - df = df[df[column] == entry] - - # check if the dataframe is empty, if so, skip this plot - if utils.is_empty(df): - return # or exit - depending on how we will include these data in plotting - - return df - - -def include_more_diode_info(df: DataFrame, scdb: LegendSlowControlDB) -> DataFrame: - """Include more diode info, such as the channel name and the string number to which it belongs.""" - # get the diode info dataframe from the SC database - df_info = scdb.dataframe("diode_info") - # remove duplicates of detector names - df_info = df_info.drop_duplicates(subset="label") - # remove unnecessary columns (otherwise, they are repeated after the merging) - df_info = df_info.drop(columns={"status", "tstamp"}) - # there is a repeated detector! Once with an additional blank space in front of its name: removed in case it is found - if " V00050B" in list(df_info["label"].unique()): - df_info = df_info[df_info["label"] != " V00050B"] - - # remove 'HV filter test' and 'no cable' entries - df_info = df_info[~df_info["label"].str.contains("Ch")] - # remove other stuff (???) - if "?" in list(df_info["label"].unique()): - df_info = df_info[df_info["label"] != "?"] - if " routed" in list(df_info["label"].unique()): - df_info = df_info[df_info["label"] != " routed"] - if "routed" in list(df_info["label"].unique()): - df_info = df_info[df_info["label"] != "routed"] - - # Merge df_info into df based on 'crate' and 'slot' - merged_df = df.merge( - df_info[["crate", "slot", "channel", "label", "group"]], - on=["crate", "slot", "channel"], - how="left", - ) - merged_df = merged_df.rename(columns={"label": "name", "group": "string"}) - # remove "name"=NaN (ie entries for which there was not a correspondence among the two merged dataframes) - merged_df = merged_df.dropna(subset=["name"]) - # switch from "String X" (str) to "X" (int) for entries of the 'string' column - merged_df["string"] = merged_df["string"].str.extract(r"(\d+)").astype(int) - - return merged_df From 0ce60a7ae72b383bac55765bfab49e8fcf765a2d Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 4 Jul 2023 09:59:26 +0200 Subject: [PATCH 137/166] fixed with pre-commit --- src/legend_data_monitor/core.py | 12 ++++++++---- src/legend_data_monitor/slow_control.py | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index c4eddda..0ef21fa 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -1,10 +1,10 @@ import json import os import re -import sys import subprocess +import sys -from . import slow_control, plotting, subsystem, utils +from . import plotting, slow_control, subsystem, utils def retrieve_scdb(user_config_path: str): @@ -15,9 +15,13 @@ def retrieve_scdb(user_config_path: str): # for the settings, see instructions on Confluence try: subprocess.run("ssh -T -N -f ugnet-proxy", shell=True, check=True) - print("SSH tunnel to Slow Control database established successfully.") + utils.logger.debug( + "SSH tunnel to Slow Control database established successfully." + ) except subprocess.CalledProcessError as e: - print("Error running SSH tunnel to Slow Control database command:", e) + utils.logger.error( + f"\033[91mError running SSH tunnel to Slow Control database command: {e}\033[0m" + ) sys.exit() # ------------------------------------------------------------------------- diff --git a/src/legend_data_monitor/slow_control.py b/src/legend_data_monitor/slow_control.py index 5c38442..429cea9 100644 --- a/src/legend_data_monitor/slow_control.py +++ b/src/legend_data_monitor/slow_control.py @@ -59,7 +59,7 @@ def __init__(self, parameter: str, **kwargs): self.sc_parameters = utils.SC_PARAMETERS self.data = pd.DataFrame() self.scdb = LegendSlowControlDB() - self.scdb.connect(password="legend00") # look on Confluence for the password + self.scdb.connect(password="...") # look on Confluence for the password # check if parameter is within the one listed in settings/SC-params.json if parameter not in self.sc_parameters["SC_DB_params"].keys(): From 7f6f7f1a33f3b6b423cebe0fe79e897c48eba115 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 4 Jul 2023 14:16:06 +0200 Subject: [PATCH 138/166] fixed append bug for hdf when file is not there --- src/legend_data_monitor/save_data.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/legend_data_monitor/save_data.py b/src/legend_data_monitor/save_data.py index bbe4863..06392d1 100644 --- a/src/legend_data_monitor/save_data.py +++ b/src/legend_data_monitor/save_data.py @@ -1,6 +1,7 @@ import os import shelve +import h5py from pandas import DataFrame, concat, read_hdf from . import analysis_data, utils @@ -690,6 +691,18 @@ def get_pivot( # append new data if saving == "append": + # check if the file exists: if not, create a new one + if not os.path.exists(file_path): + df_pivot.to_hdf(file_path, key=key_name, mode="a") + return + # the file exists, but this specific key was not saved - create the new key + saved_keys = [] + with h5py.File(file_path, "r") as file: + saved_keys = list(file.keys()) + if os.path.exists(file_path) and key_name not in saved_keys: + df_pivot.to_hdf(file_path, key=key_name, mode="a") + return + # for the mean entry, we overwrite the already existing content with the new mean value if "_mean" in parameter and parameter.count("mean") > 1: df_pivot.to_hdf(file_path, key=key_name, mode="a") From c623c485c06d9622121a558dca32ccd3f06785a6 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 4 Jul 2023 21:16:29 +0200 Subject: [PATCH 139/166] squeezed auto_control function --- src/legend_data_monitor/core.py | 43 ++++----------------------------- 1 file changed, 5 insertions(+), 38 deletions(-) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 0ef21fa..8d30e5a 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -133,44 +133,9 @@ def auto_control_plots( # ------------------------------------------------------------------------- # Define PDF file basename # ------------------------------------------------------------------------- - # Format: l200-p02-{run}-{data_type}; One pdf/log/shelve file for each subsystem - - try: - data_types = ( - [config["dataset"]["type"]] - if isinstance(config["dataset"]["type"], str) - else config["dataset"]["type"] - ) - plt_basename = "{}-{}-".format( - config["dataset"]["experiment"].lower(), - config["dataset"]["period"], - ) - except (KeyError, TypeError): - # means something about dataset is wrong -> print Subsystem.get_data doc - utils.logger.error( - "\033[91mSomething is missing or wrong in your 'dataset' field of the config. You can see the format here under 'dataset=':\033[0m" - ) - utils.logger.info("\033[91m%s\033[0m", subsystem.Subsystem.get_data.__doc__) - return - user_time_range = utils.get_query_timerange(dataset=config["dataset"]) - # will be returned as None if something is wrong, and print an error message - if not user_time_range: - return - - # create output folders for plots - period_dir = utils.make_output_paths(config, user_time_range) - # get correct time info for subfolder's name - name_time = config["dataset"]["run"] - output_paths = period_dir + name_time + "/" - utils.make_dir(output_paths) - if not output_paths: - return - - # we don't care here about the time keyword timestamp/run -> just get the value - plt_basename += name_time - plt_path = output_paths + plt_basename - plt_path += "-{}".format("_".join(data_types)) + # Format: l200-p02-{run}-{data_type}; One pdf/log/shelve file for each subsystem + plt_path = utils.get_output_path(config) # plot generate_plots(config, plt_path, n_files) @@ -212,7 +177,9 @@ def generate_plots(config: dict, plt_path: str, n_files=None): config["dataset"].pop("runs", None) for idx, bunch in enumerate(bunches): - utils.logger.debug(f"You are inspecting bunch #{idx+1}/{len(bunches)}...") + utils.logger.debug( + f"\33[44mYou are inspecting bunch #{idx+1}/{len(bunches)}...\33[0m" + ) # if it is the first dataset, just override previous content if idx == 0: config["saving"] = "overwrite" From dd00666ee3bcb25b0d9ceedfab79f5dff1a52ffe Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 4 Jul 2023 21:17:06 +0200 Subject: [PATCH 140/166] fixed add_config_entries function --- src/legend_data_monitor/utils.py | 39 ++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/src/legend_data_monitor/utils.py b/src/legend_data_monitor/utils.py index 51b47bb..f237d60 100644 --- a/src/legend_data_monitor/utils.py +++ b/src/legend_data_monitor/utils.py @@ -810,6 +810,19 @@ def add_config_entries( prod_config: dict, ) -> dict: """Add missing information (output, dataset) to the configuration file. This function is generally used during automathic data production, where the initiali config file has only the 'subsystem' entry.""" + # check if there is an output folder specified in the config file + if "output" not in config.keys(): + logger.error( + "\033[91mThe config file is missing the 'output' key. Add it and try again!\033[0m" + ) + sys.exit() + # check if there is the saving option specified in the config file + if "saving" not in config.keys(): + logger.error( + "\033[91mThe config file is missing the 'saving' key. Add it and try again!\033[0m" + ) + sys.exit() + # Get the keys with open(file_keys) as f: keys = f.readlines() @@ -832,11 +845,16 @@ def add_config_entries( if "version" in config["dataset"].keys(): version = config["dataset"]["version"] else: - version = ( - (prod_path.split("/"))[-2] - if prod_path.endswith("/") - else (prod_path.split("/"))[-1] - ) + # case of rsync when inspecting temp files to plot for the dashboard + if prod_path == "": + version = "" + # prod-ref version where the version is specified + else: + version = ( + (prod_path.split("/"))[-2] + if prod_path.endswith("/") + else (prod_path.split("/"))[-1] + ) if "type" in config["dataset"].keys(): type = config["dataset"]["type"] else: @@ -855,19 +873,19 @@ def add_config_entries( cal_keys = [key for key in keys if "cal" in key] if len(phy_keys) == 0 and len(cal_keys) == 0: logger.error("\033[91mNo keys to load. Try again.\033[0m") - return + sys.exit() if len(phy_keys) != 0 and len(cal_keys) == 0: type = "phy" if len(phy_keys) == 0 and len(cal_keys) != 0: type = "cal" logger.error("\033[91mcal is still under development! Try again.\033[0m") - return + sys.exit() if len(phy_keys) != 0 and len(cal_keys) != 0: type = ["cal", "phy"] logger.error( "\033[91mBoth cal and phy are still under development! Try again.\033[0m" ) - return + sys.exit() # Get the production path path = ( prod_path.split("prod-ref")[0] + "prod-ref" @@ -875,9 +893,6 @@ def add_config_entries( else prod_path.split("prod-ref")[0] + "/prod-ref" ) - if "output" in config.keys(): - prod_path = config["output"] - # create the dataset dictionary dataset_dict = { "experiment": experiment, @@ -889,7 +904,7 @@ def add_config_entries( "timestamps": timestamp, } - more_info = {"output": prod_path, "dataset": dataset_dict} + more_info = {"dataset": dataset_dict} # 'saving' and 'subsystem' info must be already there config.update(more_info) From 7d6d7f629c911f65d54c34bc87390712a133e0c6 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Tue, 4 Jul 2023 21:17:41 +0200 Subject: [PATCH 141/166] fixed None limits when not available to False --- src/legend_data_monitor/slow_control.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/legend_data_monitor/slow_control.py b/src/legend_data_monitor/slow_control.py index 429cea9..087f2c6 100644 --- a/src/legend_data_monitor/slow_control.py +++ b/src/legend_data_monitor/slow_control.py @@ -205,9 +205,9 @@ def get_plotting_info( for time in reversed(times): if first_tstmp < time < last_tstmp: unit = list(get_table_info["unit"].unique())[0] - lower_lim = upper_lim = None + lower_lim = upper_lim = False utils.logger.warning( - f"\033[93mParameter {parameter} has no valid range in the time period you selected. Upper and lower thresholds are set to None, while units={unit}\033[0m" + f"\033[93mParameter {parameter} has no valid range in the time period you selected. Upper and lower thresholds are set to False, while units={unit}\033[0m" ) return unit, lower_lim, upper_lim From 73986b73c09b10b0f6abe14e17a6a7c20f2348f1 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Thu, 6 Jul 2023 07:42:22 +0200 Subject: [PATCH 142/166] SC pswd as input --- src/legend_data_monitor/core.py | 4 ++-- src/legend_data_monitor/run.py | 8 +++++++- src/legend_data_monitor/slow_control.py | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 8d30e5a..99c4f68 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -7,7 +7,7 @@ from . import plotting, slow_control, subsystem, utils -def retrieve_scdb(user_config_path: str): +def retrieve_scdb(user_config_path: str, pswd: str): """Set the configuration file and the output paths when a user config file is provided. The function to retrieve Slow Control data from database is then automatically called.""" # ------------------------------------------------------------------------- # SSH tunnel to the Slow Control database @@ -59,7 +59,7 @@ def retrieve_scdb(user_config_path: str): # - apply time interval cuts # - get values from SC database (available from LNGS only) # - get limits/units/... from SC databasee (available from LNGS only) - sc_analysis = slow_control.SlowControl(param, dataset=config["dataset"]) + sc_analysis = slow_control.SlowControl(param, pswd, dataset=config["dataset"]) # check if the dataframe is empty or not (no data) if utils.check_empty_df(sc_analysis): diff --git a/src/legend_data_monitor/run.py b/src/legend_data_monitor/run.py index 47cfe34..e72cecf 100644 --- a/src/legend_data_monitor/run.py +++ b/src/legend_data_monitor/run.py @@ -98,6 +98,10 @@ def add_user_scdb(subparsers): "--config", help="""Path to config file (e.g. \"some_path/config_L200_r001_phy.json\").""", ) + parser_auto_prod.add_argument( + "--pswd", + help="""Password to get access to the Slow Control database (check on Confluence).""", + ) parser_auto_prod.set_defaults(func=user_scdb_cli) @@ -105,9 +109,11 @@ def user_scdb_cli(args): """Pass command line arguments to :func:`.core.retrieve_scdb`.""" # get the path to the user config file config_file = args.config + # get the password to the SC database + password = args.pswd # start loading data - legend_data_monitor.core.retrieve_scdb(config_file) + legend_data_monitor.core.retrieve_scdb(config_file, password) def add_user_config_parser(subparsers): diff --git a/src/legend_data_monitor/slow_control.py b/src/legend_data_monitor/slow_control.py index 087f2c6..8639278 100644 --- a/src/legend_data_monitor/slow_control.py +++ b/src/legend_data_monitor/slow_control.py @@ -36,7 +36,7 @@ class SlowControl: Or input kwargs separately experiment=, period=, path=, version=, type=; start=&end=, (or window= - ???), or timestamps=, or runs= """ - def __init__(self, parameter: str, **kwargs): + def __init__(self, parameter: str, pswd: str, **kwargs): # if setup= kwarg was provided, get dict provided # otherwise kwargs is itself already the dict we need with experiment= and period= data_info = kwargs["dataset"] if "dataset" in kwargs else kwargs @@ -59,7 +59,7 @@ def __init__(self, parameter: str, **kwargs): self.sc_parameters = utils.SC_PARAMETERS self.data = pd.DataFrame() self.scdb = LegendSlowControlDB() - self.scdb.connect(password="...") # look on Confluence for the password + self.scdb.connect(password=pswd) # check if parameter is within the one listed in settings/SC-params.json if parameter not in self.sc_parameters["SC_DB_params"].keys(): From 01663b78b24b3b9d9f2d77bcb71271ea9292519c Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Thu, 6 Jul 2023 08:07:58 +0200 Subject: [PATCH 143/166] folder for example scripts + auto prod script --- attic/auto_prod/README.md | 24 +++ attic/auto_prod/main_sync_code.py | 285 ++++++++++++++++++++++++++++++ 2 files changed, 309 insertions(+) create mode 100644 attic/auto_prod/README.md create mode 100755 attic/auto_prod/main_sync_code.py diff --git a/attic/auto_prod/README.md b/attic/auto_prod/README.md new file mode 100644 index 0000000..bca53df --- /dev/null +++ b/attic/auto_prod/README.md @@ -0,0 +1,24 @@ +This is a very basic example file that can be used to automatically generate monitoring plots, based on new .lh5 dsp/hit files appearing in the production folders.environments. Slow Control data are automatically retrieved from the database. You need to put there the correct passowrd you can find on Confluence. + +You need to specify the period and run you want to analyze in the script. You then can run the code through + +''' bash + $ python main_sync_code.py +''' + +The output text is saved in an output file called "output.log". + +You can run this command as a cronejob. Run + +''' bash + $ crontab -e +''' + +and add a new line of the type + +''' bash + 0 */6 * * * rm output.log && python main_syc_code.py >> output.log 2>&1 +''' + +This will automatically look for new processed .lh5 files every 6 hours. +You need to specify all input and output folders within the script itself. \ No newline at end of file diff --git a/attic/auto_prod/main_sync_code.py b/attic/auto_prod/main_sync_code.py new file mode 100755 index 0000000..cb239bf --- /dev/null +++ b/attic/auto_prod/main_sync_code.py @@ -0,0 +1,285 @@ +import os +import re +import json +import subprocess + +# Directory to monitor +period = "p06" +run = "r003" + +# commands to run the container +cmd = "apptainer run" # run command for loadin the container +arg = "/data2/public/prodenv/containers/legendexp_legend-base_latest.sif" # container's path +output_folder = "/data1/users/calgaro/prod-ref-v2" # where to store output files of monitoring plots + +# paths +auto_dir_path = "/data2/public/prodenv/prod-blind/tmp/auto" # where to retrieve lh5 dsp/hit files +source_dir = f"{auto_dir_path}/generated/tier/dsp/phy/{period}/{run}/" # same as auto_dir_path, but we look for a specifi run of a given period +rsync_path = "/data1/users/calgaro/rsync-env/output/" # where to store some output files that are used by this script to keep trace of what has been already analyzed + +# =========================================================================================== +# BEGINNING OF THE ANALYSIS +# =========================================================================================== + +# =========================================================================================== +# Configs definition +# =========================================================================================== + +# define slow control dict +scdb = { + "output": output_folder, + "dataset": { + "experiment": "L200", + "period": period, + "version": "", + "path": auto_dir_path, + "type": "phy", + "runs": int(run.split('r')[-1]) + }, + "saving": "overwrite", # LEAVE ME LIKE THIS + "slow_control": { # here you can put the parameters you want to retrieve from Slow Control + "parameters": [ + "DaqLeft-Temp1", + "DaqLeft-Temp2", + "DaqRight-Temp1", + "DaqRight-Temp2", + "RREiT", + "RRNTe", + "RRSTe", + "ZUL_T_RR" + ] + } +} +with open(f"{rsync_path}auto_slow_control.json", "w") as f: + json.dump(scdb, f) + +# define geds dict +my_config = { + "output": output_folder, + "dataset": { + "experiment": "L200", + "period": period, + "version": "", + "path": auto_dir_path, + "type": "phy", + "runs": int(run.split('r')[-1]) + }, + "saving": "append", # LEAVE ME LIKE THIS + "subsystems": { + "geds": { + "Event rate in pulser events": { + "parameters": "event_rate", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "time_window": "20S" + }, + "Event rate in FCbsln events": { + "parameters": "event_rate", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "time_window": "20S" + }, + "Baselines (dsp/baseline) in pulser events": { + "parameters": "baseline", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T" + }, + "Baselines (dsp/baseline) in FCbsln events": { + "parameters": "baseline", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T" + }, + "Mean baselines (dsp/bl_mean) in pulser events": { + "parameters": "bl_mean", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T" + }, + "Mean baselines (dsp/bl_mean) in FCbsln events": { + "parameters": "bl_mean", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T" + }, + "Uncalibrated gain (dsp/cuspEmax) in pulser events": { + "parameters": "cuspEmax", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T" + }, + "Uncalibrated gain (dsp/cuspEmax) in FCbsln events": { + "parameters": "cuspEmax", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T" + }, + "Calibrated gain (hit/cuspEmax_ctc_cal) in pulser events": { + "parameters": "cuspEmax_ctc_cal", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T" + }, + "Calibrated gain (hit/cuspEmax_ctc_cal) in FCbsln events": { + "parameters": "cuspEmax_ctc_cal", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T" + }, + "Noise (dsp/bl_std) in pulser events": { + "parameters": "bl_std", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T" + }, + "Noise (dsp/bl_std) in FCbsln events": { + "parameters": "bl_std", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T" + }, + "A/E (from dsp) in pulser events": { + "parameters": "AoE_Custom", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T" + }, + "A/E (from dsp) in FCbsln events": { + "parameters": "AoE_Custom", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T" + } + } + } +} +with open(f"{rsync_path}auto_config.json", "w") as f: + json.dump(my_config, f) + +# =========================================================================================== +# Get not-analyzed files +# =========================================================================================== + +# File to store the timestamp of the last check +timestamp_file = f'{rsync_path}last_checked_{period}_{run}.txt' + +# Read the last checked timestamp +last_checked = None +if os.path.exists(timestamp_file): + with open(timestamp_file, 'r') as file: + last_checked = file.read().strip() + +# Get the current timestamp +current_files = os.listdir(source_dir) +new_files = [] + +# Compare the timestamps of files and find new files +for file in current_files: + file_path = os.path.join(source_dir, file) + if last_checked is None or os.path.getmtime(file_path) > float(last_checked): + new_files.append(file) + +# If new files are found, check if they are ok or not +if new_files: + pattern = r"\d+" + correct_files = [] + + for new_file in new_files: + matches = re.findall(pattern, new_file) + # get only files with correct ending (and discard the ones that are still under processing) + if len(matches) == 6: + correct_files.append(new_file) + + new_files = correct_files + +# =========================================================================================== +# Analyze not-analyzed files +# =========================================================================================== + +# If new files are found, run the shell command +if new_files: + # Replace this command with your desired shell command + command = 'echo New files found: \033[91m{}\033[0m'.format(' '.join(new_files)) + subprocess.run(command, shell=True) + + # create the file containing the keys with correct format to be later used by legend-data-monitor (it must be created every time with the new keys; NOT APPEND) + print("\nCreating the file containing the keys to inspect...") + with open(f'{rsync_path}new_keys.filekeylist', 'w') as f: + for new_file in new_files: + new_file = new_file.split('-tier')[0] + f.write(new_file + '\n') + print("...done!") + + # ...run the plot production + print("\nRunning the generation of plots...") + config_file = f"{rsync_path}auto_config.json" + keys_file = f"{rsync_path}new_keys.filekeylist" + + bash_command = f"{cmd} --cleanenv {arg} ~/.local/bin/legend-data-monitor user_rsync_prod --config {config_file} --keys {keys_file}" + print(f"...running command \033[95m{bash_command}\033[0m") + subprocess.run(bash_command, shell=True) + print("...done!") + +# Update the last checked timestamp +with open(timestamp_file, 'w') as file: + file.write(str(os.path.getmtime(max([os.path.join(source_dir, file) for file in current_files], key=os.path.getmtime)))) + +# =========================================================================================== +# Analyze Slow Control data (for the full run - overwrite of previous info) +# =========================================================================================== + +# run slow control data retrieving +print("\nRetrieving Slow Control data...") +scdb_config_file = f"{rsync_path}auto_slow_control.json" + +bash_command = f"{cmd} --cleanenv {arg} ~/.local/bin/legend-data-monitor user_scdb --config {scdb_config_file} --pswd BANANE" +print(f"...running command \033[92m{bash_command}\033[0m") +subprocess.run(bash_command, shell=True) +print("...SC done!") From 52dc1fb9774bc71ee14614a4fd018969359c1041 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Thu, 6 Jul 2023 08:10:43 +0200 Subject: [PATCH 144/166] imported utils logger --- attic/auto_prod/main_sync_code.py | 401 +++++++++++++++--------------- 1 file changed, 207 insertions(+), 194 deletions(-) diff --git a/attic/auto_prod/main_sync_code.py b/attic/auto_prod/main_sync_code.py index cb239bf..c62702e 100755 --- a/attic/auto_prod/main_sync_code.py +++ b/attic/auto_prod/main_sync_code.py @@ -1,21 +1,25 @@ +import json import os import re -import json import subprocess +from legend_data_monitor import utils + # Directory to monitor period = "p06" run = "r003" # commands to run the container -cmd = "apptainer run" # run command for loadin the container -arg = "/data2/public/prodenv/containers/legendexp_legend-base_latest.sif" # container's path -output_folder = "/data1/users/calgaro/prod-ref-v2" # where to store output files of monitoring plots +cmd = "apptainer run" # run command for loading the container +arg = "/data2/public/prodenv/containers/legendexp_legend-base_latest.sif" # container's path +output_folder = "/data1/users/calgaro/prod-ref-v2" # where to store output files of monitoring plots # paths -auto_dir_path = "/data2/public/prodenv/prod-blind/tmp/auto" # where to retrieve lh5 dsp/hit files -source_dir = f"{auto_dir_path}/generated/tier/dsp/phy/{period}/{run}/" # same as auto_dir_path, but we look for a specifi run of a given period -rsync_path = "/data1/users/calgaro/rsync-env/output/" # where to store some output files that are used by this script to keep trace of what has been already analyzed +auto_dir_path = ( + "/data2/public/prodenv/prod-blind/tmp/auto" # where to retrieve lh5 dsp/hit files +) +source_dir = f"{auto_dir_path}/generated/tier/dsp/phy/{period}/{run}/" # same as auto_dir_path, but we look for a specific run of a given period +rsync_path = "/data1/users/calgaro/rsync-env/output/" # where to store some output files that are used by this script to keep trace of what has been already analyzed # =========================================================================================== # BEGINNING OF THE ANALYSIS @@ -23,197 +27,197 @@ # =========================================================================================== # Configs definition -# =========================================================================================== +# =========================================================================================== # define slow control dict scdb = { - "output": output_folder, - "dataset": { - "experiment": "L200", - "period": period, - "version": "", - "path": auto_dir_path, - "type": "phy", - "runs": int(run.split('r')[-1]) - }, - "saving": "overwrite", # LEAVE ME LIKE THIS - "slow_control": { # here you can put the parameters you want to retrieve from Slow Control - "parameters": [ - "DaqLeft-Temp1", - "DaqLeft-Temp2", - "DaqRight-Temp1", - "DaqRight-Temp2", - "RREiT", - "RRNTe", - "RRSTe", - "ZUL_T_RR" - ] - } + "output": output_folder, + "dataset": { + "experiment": "L200", + "period": period, + "version": "", + "path": auto_dir_path, + "type": "phy", + "runs": int(run.split("r")[-1]), + }, + "saving": "overwrite", # LEAVE ME LIKE THIS + "slow_control": { # here you can put the parameters you want to retrieve from Slow Control + "parameters": [ + "DaqLeft-Temp1", + "DaqLeft-Temp2", + "DaqRight-Temp1", + "DaqRight-Temp2", + "RREiT", + "RRNTe", + "RRSTe", + "ZUL_T_RR", + ] + }, } with open(f"{rsync_path}auto_slow_control.json", "w") as f: json.dump(scdb, f) # define geds dict my_config = { - "output": output_folder, - "dataset": { - "experiment": "L200", - "period": period, - "version": "", - "path": auto_dir_path, - "type": "phy", - "runs": int(run.split('r')[-1]) - }, - "saving": "append", # LEAVE ME LIKE THIS - "subsystems": { - "geds": { - "Event rate in pulser events": { - "parameters": "event_rate", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "time_window": "20S" - }, - "Event rate in FCbsln events": { - "parameters": "event_rate", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "time_window": "20S" - }, - "Baselines (dsp/baseline) in pulser events": { - "parameters": "baseline", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T" - }, - "Baselines (dsp/baseline) in FCbsln events": { - "parameters": "baseline", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T" - }, - "Mean baselines (dsp/bl_mean) in pulser events": { - "parameters": "bl_mean", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T" - }, - "Mean baselines (dsp/bl_mean) in FCbsln events": { - "parameters": "bl_mean", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T" - }, - "Uncalibrated gain (dsp/cuspEmax) in pulser events": { - "parameters": "cuspEmax", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T" - }, - "Uncalibrated gain (dsp/cuspEmax) in FCbsln events": { - "parameters": "cuspEmax", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T" - }, - "Calibrated gain (hit/cuspEmax_ctc_cal) in pulser events": { - "parameters": "cuspEmax_ctc_cal", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T" - }, - "Calibrated gain (hit/cuspEmax_ctc_cal) in FCbsln events": { - "parameters": "cuspEmax_ctc_cal", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T" - }, - "Noise (dsp/bl_std) in pulser events": { - "parameters": "bl_std", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T" - }, - "Noise (dsp/bl_std) in FCbsln events": { - "parameters": "bl_std", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T" - }, - "A/E (from dsp) in pulser events": { - "parameters": "AoE_Custom", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T" - }, - "A/E (from dsp) in FCbsln events": { - "parameters": "AoE_Custom", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T" - } - } - } + "output": output_folder, + "dataset": { + "experiment": "L200", + "period": period, + "version": "", + "path": auto_dir_path, + "type": "phy", + "runs": int(run.split("r")[-1]), + }, + "saving": "append", # LEAVE ME LIKE THIS + "subsystems": { + "geds": { + "Event rate in pulser events": { + "parameters": "event_rate", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "time_window": "20S", + }, + "Event rate in FCbsln events": { + "parameters": "event_rate", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "time_window": "20S", + }, + "Baselines (dsp/baseline) in pulser events": { + "parameters": "baseline", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T", + }, + "Baselines (dsp/baseline) in FCbsln events": { + "parameters": "baseline", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T", + }, + "Mean baselines (dsp/bl_mean) in pulser events": { + "parameters": "bl_mean", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T", + }, + "Mean baselines (dsp/bl_mean) in FCbsln events": { + "parameters": "bl_mean", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T", + }, + "Uncalibrated gain (dsp/cuspEmax) in pulser events": { + "parameters": "cuspEmax", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T", + }, + "Uncalibrated gain (dsp/cuspEmax) in FCbsln events": { + "parameters": "cuspEmax", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T", + }, + "Calibrated gain (hit/cuspEmax_ctc_cal) in pulser events": { + "parameters": "cuspEmax_ctc_cal", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T", + }, + "Calibrated gain (hit/cuspEmax_ctc_cal) in FCbsln events": { + "parameters": "cuspEmax_ctc_cal", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T", + }, + "Noise (dsp/bl_std) in pulser events": { + "parameters": "bl_std", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T", + }, + "Noise (dsp/bl_std) in FCbsln events": { + "parameters": "bl_std", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T", + }, + "A/E (from dsp) in pulser events": { + "parameters": "AoE_Custom", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T", + }, + "A/E (from dsp) in FCbsln events": { + "parameters": "AoE_Custom", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T", + }, + } + }, } with open(f"{rsync_path}auto_config.json", "w") as f: json.dump(my_config, f) # =========================================================================================== # Get not-analyzed files -# =========================================================================================== +# =========================================================================================== # File to store the timestamp of the last check -timestamp_file = f'{rsync_path}last_checked_{period}_{run}.txt' +timestamp_file = f"{rsync_path}last_checked_{period}_{run}.txt" # Read the last checked timestamp last_checked = None if os.path.exists(timestamp_file): - with open(timestamp_file, 'r') as file: + with open(timestamp_file) as file: last_checked = file.read().strip() # Get the current timestamp @@ -236,50 +240,59 @@ # get only files with correct ending (and discard the ones that are still under processing) if len(matches) == 6: correct_files.append(new_file) - + new_files = correct_files # =========================================================================================== # Analyze not-analyzed files -# =========================================================================================== +# =========================================================================================== # If new files are found, run the shell command if new_files: # Replace this command with your desired shell command - command = 'echo New files found: \033[91m{}\033[0m'.format(' '.join(new_files)) + command = "echo New files found: \033[91m{}\033[0m".format(" ".join(new_files)) subprocess.run(command, shell=True) # create the file containing the keys with correct format to be later used by legend-data-monitor (it must be created every time with the new keys; NOT APPEND) - print("\nCreating the file containing the keys to inspect...") - with open(f'{rsync_path}new_keys.filekeylist', 'w') as f: + utils.logger.debug("\nCreating the file containing the keys to inspect...") + with open(f"{rsync_path}new_keys.filekeylist", "w") as f: for new_file in new_files: - new_file = new_file.split('-tier')[0] - f.write(new_file + '\n') - print("...done!") + new_file = new_file.split("-tier")[0] + f.write(new_file + "\n") + utils.logger.debug("...done!") # ...run the plot production - print("\nRunning the generation of plots...") + utils.logger.debug("\nRunning the generation of plots...") config_file = f"{rsync_path}auto_config.json" keys_file = f"{rsync_path}new_keys.filekeylist" bash_command = f"{cmd} --cleanenv {arg} ~/.local/bin/legend-data-monitor user_rsync_prod --config {config_file} --keys {keys_file}" - print(f"...running command \033[95m{bash_command}\033[0m") + utils.logger.debug(f"...running command \033[95m{bash_command}\033[0m") subprocess.run(bash_command, shell=True) - print("...done!") + utils.logger.debug("...done!") # Update the last checked timestamp -with open(timestamp_file, 'w') as file: - file.write(str(os.path.getmtime(max([os.path.join(source_dir, file) for file in current_files], key=os.path.getmtime)))) +with open(timestamp_file, "w") as file: + file.write( + str( + os.path.getmtime( + max( + [os.path.join(source_dir, file) for file in current_files], + key=os.path.getmtime, + ) + ) + ) + ) # =========================================================================================== # Analyze Slow Control data (for the full run - overwrite of previous info) -# =========================================================================================== +# =========================================================================================== # run slow control data retrieving -print("\nRetrieving Slow Control data...") +utils.logger.debug("\nRetrieving Slow Control data...") scdb_config_file = f"{rsync_path}auto_slow_control.json" bash_command = f"{cmd} --cleanenv {arg} ~/.local/bin/legend-data-monitor user_scdb --config {scdb_config_file} --pswd BANANE" -print(f"...running command \033[92m{bash_command}\033[0m") +utils.logger.debug(f"...running command \033[92m{bash_command}\033[0m") subprocess.run(bash_command, shell=True) -print("...SC done!") +utils.logger.debug("...SC done!") From 029d5a0ebac321a91c6badc2e8f11c05ee7370f1 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro <77326044+sofia-calgaro@users.noreply.github.com> Date: Thu, 6 Jul 2023 08:13:19 +0200 Subject: [PATCH 145/166] Update README.md --- attic/auto_prod/README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/attic/auto_prod/README.md b/attic/auto_prod/README.md index bca53df..7afef14 100644 --- a/attic/auto_prod/README.md +++ b/attic/auto_prod/README.md @@ -1,24 +1,24 @@ -This is a very basic example file that can be used to automatically generate monitoring plots, based on new .lh5 dsp/hit files appearing in the production folders.environments. Slow Control data are automatically retrieved from the database. You need to put there the correct passowrd you can find on Confluence. +This basic example file can be used to automatically generate monitoring plots, based on new .lh5 dsp/hit files appearing in the production folders. Slow Control data are automatically retrieved from the database. You need to put there the correct password you can find on Confluence. -You need to specify the period and run you want to analyze in the script. You then can run the code through +You need to specify the period and run you want to analyze in the script. You can then run the code through -''' bash - $ python main_sync_code.py -''' +```console +$ python main_sync_code.py +``` The output text is saved in an output file called "output.log". You can run this command as a cronejob. Run -''' bash - $ crontab -e -''' +```console +$ crontab -e +``` and add a new line of the type -''' bash - 0 */6 * * * rm output.log && python main_syc_code.py >> output.log 2>&1 -''' +```console +0 */6 * * * rm output.log && python main_syc_code.py >> output.log 2>&1 +``` This will automatically look for new processed .lh5 files every 6 hours. -You need to specify all input and output folders within the script itself. \ No newline at end of file +You need to specify all input and output folders within the script itself. From 348093438a1f7caac1069c97cef9198fb8efb301 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 6 Jul 2023 06:14:29 +0000 Subject: [PATCH 146/166] style: pre-commit fixes --- attic/auto_prod/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/attic/auto_prod/README.md b/attic/auto_prod/README.md index 7afef14..ecc7720 100644 --- a/attic/auto_prod/README.md +++ b/attic/auto_prod/README.md @@ -1,12 +1,12 @@ This basic example file can be used to automatically generate monitoring plots, based on new .lh5 dsp/hit files appearing in the production folders. Slow Control data are automatically retrieved from the database. You need to put there the correct password you can find on Confluence. -You need to specify the period and run you want to analyze in the script. You can then run the code through +You need to specify the period and run you want to analyze in the script. You can then run the code through ```console $ python main_sync_code.py ``` -The output text is saved in an output file called "output.log". +The output text is saved in an output file called "output.log". You can run this command as a cronejob. Run @@ -20,5 +20,5 @@ and add a new line of the type 0 */6 * * * rm output.log && python main_syc_code.py >> output.log 2>&1 ``` -This will automatically look for new processed .lh5 files every 6 hours. +This will automatically look for new processed .lh5 files every 6 hours. You need to specify all input and output folders within the script itself. From 8b6a7d5bec1d9b23f274437a0d20d9eee2848847 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Thu, 6 Jul 2023 08:23:51 +0200 Subject: [PATCH 147/166] removed executable --- attic/auto_prod/main_sync_code.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 attic/auto_prod/main_sync_code.py diff --git a/attic/auto_prod/main_sync_code.py b/attic/auto_prod/main_sync_code.py old mode 100755 new mode 100644 From c6762613ed8b929d658099384bd08dbd47bb920a Mon Sep 17 00:00:00 2001 From: morellam Date: Thu, 6 Jul 2023 09:48:05 +0200 Subject: [PATCH 148/166] added possibility of selectin multiple runs/periods --- notebook/L200-plotting-hdf-widgets.ipynb | 244 +++++++++++++++++++---- 1 file changed, 203 insertions(+), 41 deletions(-) diff --git a/notebook/L200-plotting-hdf-widgets.ipynb b/notebook/L200-plotting-hdf-widgets.ipynb index 5e5b6f9..75e28b6 100644 --- a/notebook/L200-plotting-hdf-widgets.ipynb +++ b/notebook/L200-plotting-hdf-widgets.ipynb @@ -32,7 +32,7 @@ "outputs": [], "source": [ "# ------------------------------------------------------------------------------------------ which data do you want to read? CHANGE ME!\n", - "run = \"r001\" # r000, r001, ...\n", + "run = \"r000\" # r000, r001, ...\n", "subsystem = \"geds\" # KEEP 'geds' for the moment\n", "folder = \"prod-ref-v2\" # you can change me\n", "period = \"p06\"\n", @@ -62,6 +62,8 @@ "outputs": [], "source": [ "# ------------------------------------------------------------------------------------------ ...from here, you don't need to change anything in the code\n", + "import os\n", + "import json\n", "import sys\n", "import h5py\n", "import shelve\n", @@ -87,7 +89,7 @@ " \"runs\": int(run[1:]),\n", "}\n", "\n", - "geds = ldm.Subsystem(\"geds\", dataset=dataset)\n", + "geds = ldm.Subsystem(f\"{subsystem}\", dataset=dataset)\n", "channel_map = geds.channel_map\n", "\n", "# remove probl dets\n", @@ -105,7 +107,6 @@ "# remove OFF dets\n", "channel_map = channel_map[channel_map.status == \"on\"]\n", "\n", - "\n", "# ------------------------------------------------------------------------------------------ load data\n", "# Load the hdf file\n", "hdf_file = h5py.File(data_file, \"r\")\n", @@ -169,11 +170,16 @@ "\n", "\n", "# ------------------------------------------------------------------------------------------ get one or all strings\n", - "strings = [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, \"all\"]\n", + "if subsystem == \"geds\":\n", + " strings = [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, \"all\"]\n", + "if subsystem == \"pulser01ana\":\n", + " strings = [-1]\n", "\n", "# Create a dropdown widget\n", "strings_widget = widgets.Dropdown(options=strings, description=\"String:\")\n", "\n", + "\n", + "print(strings)\n", "# ------------------------------------------------------------------------------------------ display widgets\n", "display(evt_type_widget)\n", "display(param_widget)\n", @@ -225,29 +231,65 @@ " key = f\"{selected_evt_type}_{selected_param}\"\n", " print(key)\n", " print(selected_aux_info)\n", - " # some info\n", - " df_info = pd.read_hdf(data_file, f\"{key}_info\")\n", - "\n", - " if \"None\" not in selected_aux_info:\n", - " print(f\"... plus you are going to apply the option {selected_aux_info}\")\n", - "\n", - " # Iterate over the dictionary items\n", - " for k, v in aux_dict.items():\n", - " if v == selected_aux_info:\n", - " option = k\n", - " break\n", - " key += f\"_{option}\"\n", - "\n", - " # get dataframe\n", - " df_param_orig = pd.read_hdf(data_file, f\"{key}\")\n", - " df_param_var = pd.read_hdf(data_file, f\"{key}_var\")\n", - " df_param_mean = pd.read_hdf(data_file, f\"{key}_mean\")\n", + " \n", + " df_info = pd.DataFrame()\n", + " df_param_orig = pd.DataFrame()\n", + " df_param_var = pd.DataFrame()\n", + " df_param_mean = pd.DataFrame()\n", + " \n", + " # ------------------------------------------------------------------------------------------ which data do you want to read? CHANGE ME!\n", + " folder = \"prod-ref-v2\" # you can change me\n", + " version = \"\" # leave an empty string if you're looking at >p03 data\n", + " subsystem = \"geds\" # KEEP 'geds' for the moment\n", + " \n", + " # ------------------------------------------------------------------------------------------ plot all periods available or just specify in a list e.g. [\"p001\", ...]\n", + " # periods = sorted(os.listdir(f\"/data1/users/calgaro/{folder}/generated/plt/phy/\"))\n", + " periods = [\"p06\"]\n", + " \n", + " for period in periods:\n", + " \n", + " # load all runs available for this period or just specify in a list e.g. [\"p001\", ...]\n", + " runs = sorted(os.listdir(f\"/data1/users/calgaro/{folder}/generated/plt/phy/{period}/\"))\n", + " runs = [\"r002\", \"r003\"]\n", + " print(\"period\\t\", period, \"\\t loading runs\\t\", runs)\n", + " \n", + " for run in runs:\n", + "\n", + " if version == \"\":\n", + " data_file = f\"/data1/users/calgaro/{folder}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"\n", + " else:\n", + " data_file = f\"/data1/users/calgaro/{folder}/{version}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"\n", + "\n", + " # some info\n", + " df_info = pd.read_hdf(data_file, f\"{key}_info\")\n", + "\n", + " if \"None\" not in selected_aux_info:\n", + " print(f\"... plus you are going to apply the option {selected_aux_info}\")\n", + "\n", + " # Iterate over the dictionary items\n", + " for k, v in aux_dict.items():\n", + " if v == selected_aux_info:\n", + " option = k\n", + " break\n", + " key += f\"_{option}\"\n", + "\n", + " # get dataframe\n", + " tmp_df_param_orig = pd.read_hdf(data_file, f\"{key}\")\n", + " tmp_df_param_var = pd.read_hdf(data_file, f\"{key}_var\")\n", + " tmp_df_param_mean = pd.read_hdf(data_file, f\"{key}_mean\")\n", + " \n", + " df_param_orig = pd.concat([df_param_orig, tmp_df_param_orig])\n", + " df_param_var = pd.concat([df_param_var, tmp_df_param_var])\n", + " df_param_mean = pd.concat([df_param_mean, tmp_df_param_mean])\n", + " \n", + " print(run, \" loaded\")\n", "\n", " return df_param_orig, df_param_var, df_param_mean, df_info\n", "\n", "\n", "df_param_orig, df_param_var, df_param_mean, df_info = display_param_value()\n", - "print(f\"...data have beeng loaded!\")\n", + "print(f\"...data have been loaded!\")\n", + "\n", "\n", "\n", "pivot_table = df_param_orig.copy()\n", @@ -295,6 +337,60 @@ "print(\"...data have been formatted to the right structure!\")" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "33f555ff-ea2c-4a18-a901-248c9d7eddb3", + "metadata": {}, + "outputs": [], + "source": [ + "# if you want to plot a specific day\n", + "# NOTE: this action removes\n", + "\n", + "new_df_param_var = new_df_param_var[new_df_param_var.datetime.dt.day > 1]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b1c4d8f0-7977-4b79-9414-6be06dfab720", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# remove global spikes events by selecting their amplitude\n", + "# and\n", + "# compute mean over initial hours of all DataFrame\n", + "# useful also if you load more runs/periods\n", + "\n", + "param = {\n", + " \"Cuspemax\": \"cuspemax_var\",\n", + " \"Baseline\": \"baseline_var\",\n", + " \"BlMean\": \"blmean_var\",\n", + " \"CuspemaxCtcCal\": \"cuspemax_ctc_cal_var\",\n", + "}\n", + "\n", + "new_df_param_var = new_df_param_var.loc[new_df_param_var[param[param_widget.value]] > -10]\n", + "\n", + "channel_list = new_df_param_var[\"channel\"].unique()\n", + "channel_df = pd.DataFrame()\n", + "\n", + "# recalculate % variation wrt new mean value for all channels\n", + "\n", + "for ch in channel_list:\n", + " channel_df = pd.DataFrame()\n", + " new_ch_var = pd.DataFrame()\n", + " \n", + " channel_df = new_df_param_orig[new_df_param_orig[\"channel\"] == ch].sort_values(by = \"datetime\").copy()\n", + " channel_mean = (\n", + " channel_df[\"cuspemax\"].iloc[0 : int(0.1 * len(channel_df))].mean()\n", + " )\n", + " new_ch_var = (channel_df[\"cuspemax\"] - channel_mean) / channel_mean * 100\n", + "# new_df_param_var.loc[new_df_param_var[\"channel\"] == ch, param[param_widget.value + \"_var\"]] = 1\n", + " new_df_param_var.loc[new_df_param_var[\"channel\"] == ch, param[param_widget.value]] = new_ch_var" + ] + }, { "cell_type": "markdown", "id": "f1c10c0f-9bed-400f-8174-c6d7e185648b", @@ -487,7 +583,8 @@ "print(f\"Making plots now...\")\n", "\n", "if isinstance(strings_widget.value, str): # let's get all strings in output\n", - " for string in [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]:\n", + " if \"all\" in strings: strings.remove(\"all\")\n", + " for string in strings:\n", " if plot_structures_widget.value == \"per channel\":\n", " plotting.plot_per_ch(\n", " df_to_plot[df_to_plot[\"location\"] == string], plot_info, \"\"\n", @@ -507,6 +604,16 @@ " ) # plot one canvas per string" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "238aae30-1e4c-4e0b-bb4d-13c1c8d7da44", + "metadata": {}, + "outputs": [], + "source": [ + "print(strings)" + ] + }, { "cell_type": "markdown", "id": "17542fbd-a2fb-4474-829a-adb0ef99aae3", @@ -538,10 +645,22 @@ { "cell_type": "code", "execution_count": null, - "id": "0eabb02e-bc47-404a-921e-2644cba6d75d", + "id": "6bbe32fc-f1b5-47d3-a5b7-93a3f2ae30d9", "metadata": {}, "outputs": [], "source": [ + "channel_list = set(new_df_param_var.channel)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dc79d742-05e6-46f7-a8da-370a74b9cc97", + "metadata": {}, + "outputs": [], + "source": [ + "channel_dict = {}\n", + "\n", "param = {\n", " \"Cuspemax\": \"cuspemax_var\",\n", " \"Baseline\": \"baseline_var\",\n", @@ -549,15 +668,39 @@ " \"CuspemaxCtcCal\": \"cuspemax_ctc_cal_var\",\n", "}\n", "\n", - "grouped_df = new_df_param_var.groupby([\"location\", \"position\", \"name\"])[\n", - " param[param_widget.value]\n", - "]\n", + "for channel in channel_list:\n", + " timestamp = os.listdir(f'/data2/public/prodenv/prod-blind/tmp/auto/generated/par/hit/cal/{period}/{run}')[-1].split('-')[-2]\n", + " pars = json.load(open(f'/data2/public/prodenv/prod-blind/tmp/auto/generated/par/hit/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_hit_results.json','r'))\n", + " \n", + " Qbb_FWHM = pars[\"ch\"+str(channel)]['ecal']['cuspEmax_ctc_cal']['Qbb_fwhm']\n", + " Qbb_sig = Qbb_FWHM/2.355\n", + " #channel_dict[channel] = Qbb_sig\n", + " channel_dict[channel] = Qbb_sig\n", + "\n", + "if param_widget.value == \"Cuspemax\":\n", + " new_df_param_var[\"resolution\"] = new_df_param_var[\"channel\"].map(channel_dict)\n", + "\n", + "grouped_df = new_df_param_var.groupby([\"location\", \"position\", \"name\"])[[param[param_widget.value], \"resolution\"]]\n", + "\n", + "resolution = 2 # FWHM [keV]\n", "\n", "my_df = pd.DataFrame()\n", - "my_df[\"mean\"] = grouped_df.mean()\n", - "my_df[\"std\"] = grouped_df.std()\n", - "my_df[\"minimum\"] = grouped_df.min()\n", - "my_df[\"maximum\"] = grouped_df.max()\n", + "\n", + "if param_widget.value == \"Cuspemax\":\n", + "\n", + " my_df[\"mean\"] = grouped_df.mean()[param[param_widget.value]]/resolution*20.39\n", + " my_df[\"std\"] = grouped_df.std()[param[param_widget.value]]/resolution*20.39\n", + " my_df[\"minimum\"] = grouped_df.min()[param[param_widget.value]]/resolution*20.39\n", + " my_df[\"maximum\"] = grouped_df.max()[param[param_widget.value]]/resolution*20.39\n", + " my_df[\"resolution\"] = grouped_df.mean()[\"resolution\"]\n", + "\n", + " my_df[[\"mean\", \"std\", \"minimum\", \"maximum\"]] = my_df[[\"mean\", \"std\", \"minimum\", \"maximum\"]].apply(lambda x: x/my_df.resolution)\n", + "\n", + "else:\n", + " my_df[\"mean\"] = grouped_df.mean()\n", + " my_df[\"std\"] = grouped_df.std()\n", + " my_df[\"minimum\"] = grouped_df.min()\n", + " my_df[\"maximum\"] = grouped_df.max()\n", "\n", "# Create boxes for mean ± std and plot mean as a horizontal line\n", "box_width = 0.5 # Width of the boxes\n", @@ -576,7 +719,7 @@ "for index, row in my_df.reset_index().iterrows():\n", " if current_string != row[\"location\"]:\n", " current_index += 1\n", - " ax.vlines(current_index, -100, 100, color=\"black\", linewidth=2, zorder=10)\n", + " ax.vlines(current_index, -10000, 10000, color=\"black\", linewidth=2, zorder=10)\n", " current_string = row[\"location\"]\n", " name_list.append(f\"string {row.location}\")\n", "\n", @@ -589,7 +732,7 @@ " fill=False,\n", " edgecolor=\"tab:blue\",\n", " linewidth=1,\n", - " zorder=2,\n", + " zorder=2\n", " )\n", " ax.add_patch(rect)\n", " ax.plot(\n", @@ -598,7 +741,6 @@ " color=\"tab:green\",\n", " zorder=2,\n", " )\n", - " ax.grid()\n", "\n", " # Plot horizontal black lines at min and max values\n", " ax.hlines(\n", @@ -639,12 +781,12 @@ "\n", "if limits_buttons.value == \"yes\":\n", " # Plot lines for mean value thresholds\n", - " ax.hlines(0.025, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1)\n", - " ax.hlines(-0.025, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1)\n", + "# ax.hlines(0.025, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1)\n", + "# ax.hlines(-0.025, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1)\n", "\n", " # Plot lines for std value thresholds\n", - " ax.hlines(0.05, 0, len(name_list) - 1, color=\"tab:red\", zorder=3, linewidth=1)\n", - " ax.hlines(-0.05, 0, len(name_list) - 1, color=\"tab:red\", zorder=3, linewidth=1)\n", + " ax.hlines(-1, 0, len(name_list) - 1, color=\"tab:red\", zorder=3, linewidth=1)\n", + " ax.hlines(1, 0, len(name_list) - 1, color=\"tab:red\", zorder=3, linewidth=1)\n", "\n", "# Set labels and title\n", "ax.set_xticks(np.arange(len(name_list)))\n", @@ -654,8 +796,10 @@ "ax.set_ylim([-0.2, 0.2])\n", "if min_input.value < max_input.value:\n", " ax.set_ylim([min_input.value, max_input.value])\n", - "ax.set_ylabel(\"cuspEmax % variation\")\n", + "#ax.set_ylabel(f\"{param_widget.value} % variation\")\n", + "ax.set_ylabel(f\"energy shift @Qbb / resolution\")\n", "ax.set_title(f\"{period}-{run}\")\n", + "plt.grid()\n", "plt.tight_layout()\n", "plt.show()" ] @@ -671,7 +815,7 @@ "# and\n", "# compute mean over initial hours of all DataFrame\n", "\n", - "new_df_param_var = new_df_param_var[new_df_param_var.cuspemax_var > -20]\n", + "new_df_param_var = new_df_param_var.loc[new_df_param_var[param[param_widget.value]] > -10]\n", "\n", "channel_list = new_df_param_var[\"channel\"].unique()\n", "\n", @@ -688,7 +832,25 @@ ] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, "nbformat": 4, "nbformat_minor": 5 } From 3c9ac289444002e36b1a6fa595fea3fe43f50c60 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 6 Jul 2023 07:50:29 +0000 Subject: [PATCH 149/166] style: pre-commit fixes --- notebook/L200-plotting-hdf-widgets.ipynb | 120 +++++++++++------------ 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/notebook/L200-plotting-hdf-widgets.ipynb b/notebook/L200-plotting-hdf-widgets.ipynb index 75e28b6..574f585 100644 --- a/notebook/L200-plotting-hdf-widgets.ipynb +++ b/notebook/L200-plotting-hdf-widgets.ipynb @@ -231,30 +231,30 @@ " key = f\"{selected_evt_type}_{selected_param}\"\n", " print(key)\n", " print(selected_aux_info)\n", - " \n", - " df_info = pd.DataFrame()\n", + "\n", + " df_info = pd.DataFrame()\n", " df_param_orig = pd.DataFrame()\n", - " df_param_var = pd.DataFrame()\n", + " df_param_var = pd.DataFrame()\n", " df_param_mean = pd.DataFrame()\n", - " \n", + "\n", " # ------------------------------------------------------------------------------------------ which data do you want to read? CHANGE ME!\n", " folder = \"prod-ref-v2\" # you can change me\n", " version = \"\" # leave an empty string if you're looking at >p03 data\n", " subsystem = \"geds\" # KEEP 'geds' for the moment\n", - " \n", + "\n", " # ------------------------------------------------------------------------------------------ plot all periods available or just specify in a list e.g. [\"p001\", ...]\n", " # periods = sorted(os.listdir(f\"/data1/users/calgaro/{folder}/generated/plt/phy/\"))\n", " periods = [\"p06\"]\n", - " \n", + "\n", " for period in periods:\n", - " \n", " # load all runs available for this period or just specify in a list e.g. [\"p001\", ...]\n", - " runs = sorted(os.listdir(f\"/data1/users/calgaro/{folder}/generated/plt/phy/{period}/\"))\n", + " runs = sorted(\n", + " os.listdir(f\"/data1/users/calgaro/{folder}/generated/plt/phy/{period}/\")\n", + " )\n", " runs = [\"r002\", \"r003\"]\n", " print(\"period\\t\", period, \"\\t loading runs\\t\", runs)\n", - " \n", - " for run in runs:\n", "\n", + " for run in runs:\n", " if version == \"\":\n", " data_file = f\"/data1/users/calgaro/{folder}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"\n", " else:\n", @@ -277,11 +277,11 @@ " tmp_df_param_orig = pd.read_hdf(data_file, f\"{key}\")\n", " tmp_df_param_var = pd.read_hdf(data_file, f\"{key}_var\")\n", " tmp_df_param_mean = pd.read_hdf(data_file, f\"{key}_mean\")\n", - " \n", + "\n", " df_param_orig = pd.concat([df_param_orig, tmp_df_param_orig])\n", - " df_param_var = pd.concat([df_param_var, tmp_df_param_var])\n", + " df_param_var = pd.concat([df_param_var, tmp_df_param_var])\n", " df_param_mean = pd.concat([df_param_mean, tmp_df_param_mean])\n", - " \n", + "\n", " print(run, \" loaded\")\n", "\n", " return df_param_orig, df_param_var, df_param_mean, df_info\n", @@ -291,7 +291,6 @@ "print(f\"...data have been loaded!\")\n", "\n", "\n", - "\n", "pivot_table = df_param_orig.copy()\n", "pivot_table.reset_index(inplace=True)\n", "new_df = pd.melt(\n", @@ -371,7 +370,9 @@ " \"CuspemaxCtcCal\": \"cuspemax_ctc_cal_var\",\n", "}\n", "\n", - "new_df_param_var = new_df_param_var.loc[new_df_param_var[param[param_widget.value]] > -10]\n", + "new_df_param_var = new_df_param_var.loc[\n", + " new_df_param_var[param[param_widget.value]] > -10\n", + "]\n", "\n", "channel_list = new_df_param_var[\"channel\"].unique()\n", "channel_df = pd.DataFrame()\n", @@ -381,14 +382,18 @@ "for ch in channel_list:\n", " channel_df = pd.DataFrame()\n", " new_ch_var = pd.DataFrame()\n", - " \n", - " channel_df = new_df_param_orig[new_df_param_orig[\"channel\"] == ch].sort_values(by = \"datetime\").copy()\n", - " channel_mean = (\n", - " channel_df[\"cuspemax\"].iloc[0 : int(0.1 * len(channel_df))].mean()\n", + "\n", + " channel_df = (\n", + " new_df_param_orig[new_df_param_orig[\"channel\"] == ch]\n", + " .sort_values(by=\"datetime\")\n", + " .copy()\n", " )\n", + " channel_mean = channel_df[\"cuspemax\"].iloc[0 : int(0.1 * len(channel_df))].mean()\n", " new_ch_var = (channel_df[\"cuspemax\"] - channel_mean) / channel_mean * 100\n", - "# new_df_param_var.loc[new_df_param_var[\"channel\"] == ch, param[param_widget.value + \"_var\"]] = 1\n", - " new_df_param_var.loc[new_df_param_var[\"channel\"] == ch, param[param_widget.value]] = new_ch_var" + " # new_df_param_var.loc[new_df_param_var[\"channel\"] == ch, param[param_widget.value + \"_var\"]] = 1\n", + " new_df_param_var.loc[\n", + " new_df_param_var[\"channel\"] == ch, param[param_widget.value]\n", + " ] = new_ch_var" ] }, { @@ -583,7 +588,8 @@ "print(f\"Making plots now...\")\n", "\n", "if isinstance(strings_widget.value, str): # let's get all strings in output\n", - " if \"all\" in strings: strings.remove(\"all\")\n", + " if \"all\" in strings:\n", + " strings.remove(\"all\")\n", " for string in strings:\n", " if plot_structures_widget.value == \"per channel\":\n", " plotting.plot_per_ch(\n", @@ -669,32 +675,42 @@ "}\n", "\n", "for channel in channel_list:\n", - " timestamp = os.listdir(f'/data2/public/prodenv/prod-blind/tmp/auto/generated/par/hit/cal/{period}/{run}')[-1].split('-')[-2]\n", - " pars = json.load(open(f'/data2/public/prodenv/prod-blind/tmp/auto/generated/par/hit/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_hit_results.json','r'))\n", - " \n", - " Qbb_FWHM = pars[\"ch\"+str(channel)]['ecal']['cuspEmax_ctc_cal']['Qbb_fwhm']\n", - " Qbb_sig = Qbb_FWHM/2.355\n", - " #channel_dict[channel] = Qbb_sig\n", + " timestamp = os.listdir(\n", + " f\"/data2/public/prodenv/prod-blind/tmp/auto/generated/par/hit/cal/{period}/{run}\"\n", + " )[-1].split(\"-\")[-2]\n", + " pars = json.load(\n", + " open(\n", + " f\"/data2/public/prodenv/prod-blind/tmp/auto/generated/par/hit/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_hit_results.json\",\n", + " \"r\",\n", + " )\n", + " )\n", + "\n", + " Qbb_FWHM = pars[\"ch\" + str(channel)][\"ecal\"][\"cuspEmax_ctc_cal\"][\"Qbb_fwhm\"]\n", + " Qbb_sig = Qbb_FWHM / 2.355\n", + " # channel_dict[channel] = Qbb_sig\n", " channel_dict[channel] = Qbb_sig\n", "\n", "if param_widget.value == \"Cuspemax\":\n", " new_df_param_var[\"resolution\"] = new_df_param_var[\"channel\"].map(channel_dict)\n", "\n", - "grouped_df = new_df_param_var.groupby([\"location\", \"position\", \"name\"])[[param[param_widget.value], \"resolution\"]]\n", + "grouped_df = new_df_param_var.groupby([\"location\", \"position\", \"name\"])[\n", + " [param[param_widget.value], \"resolution\"]\n", + "]\n", "\n", - "resolution = 2 # FWHM [keV]\n", + "resolution = 2 # FWHM [keV]\n", "\n", "my_df = pd.DataFrame()\n", "\n", "if param_widget.value == \"Cuspemax\":\n", - "\n", - " my_df[\"mean\"] = grouped_df.mean()[param[param_widget.value]]/resolution*20.39\n", - " my_df[\"std\"] = grouped_df.std()[param[param_widget.value]]/resolution*20.39\n", - " my_df[\"minimum\"] = grouped_df.min()[param[param_widget.value]]/resolution*20.39\n", - " my_df[\"maximum\"] = grouped_df.max()[param[param_widget.value]]/resolution*20.39\n", + " my_df[\"mean\"] = grouped_df.mean()[param[param_widget.value]] / resolution * 20.39\n", + " my_df[\"std\"] = grouped_df.std()[param[param_widget.value]] / resolution * 20.39\n", + " my_df[\"minimum\"] = grouped_df.min()[param[param_widget.value]] / resolution * 20.39\n", + " my_df[\"maximum\"] = grouped_df.max()[param[param_widget.value]] / resolution * 20.39\n", " my_df[\"resolution\"] = grouped_df.mean()[\"resolution\"]\n", "\n", - " my_df[[\"mean\", \"std\", \"minimum\", \"maximum\"]] = my_df[[\"mean\", \"std\", \"minimum\", \"maximum\"]].apply(lambda x: x/my_df.resolution)\n", + " my_df[[\"mean\", \"std\", \"minimum\", \"maximum\"]] = my_df[\n", + " [\"mean\", \"std\", \"minimum\", \"maximum\"]\n", + " ].apply(lambda x: x / my_df.resolution)\n", "\n", "else:\n", " my_df[\"mean\"] = grouped_df.mean()\n", @@ -732,7 +748,7 @@ " fill=False,\n", " edgecolor=\"tab:blue\",\n", " linewidth=1,\n", - " zorder=2\n", + " zorder=2,\n", " )\n", " ax.add_patch(rect)\n", " ax.plot(\n", @@ -781,8 +797,8 @@ "\n", "if limits_buttons.value == \"yes\":\n", " # Plot lines for mean value thresholds\n", - "# ax.hlines(0.025, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1)\n", - "# ax.hlines(-0.025, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1)\n", + " # ax.hlines(0.025, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1)\n", + " # ax.hlines(-0.025, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1)\n", "\n", " # Plot lines for std value thresholds\n", " ax.hlines(-1, 0, len(name_list) - 1, color=\"tab:red\", zorder=3, linewidth=1)\n", @@ -796,7 +812,7 @@ "ax.set_ylim([-0.2, 0.2])\n", "if min_input.value < max_input.value:\n", " ax.set_ylim([min_input.value, max_input.value])\n", - "#ax.set_ylabel(f\"{param_widget.value} % variation\")\n", + "# ax.set_ylabel(f\"{param_widget.value} % variation\")\n", "ax.set_ylabel(f\"energy shift @Qbb / resolution\")\n", "ax.set_title(f\"{period}-{run}\")\n", "plt.grid()\n", @@ -815,7 +831,9 @@ "# and\n", "# compute mean over initial hours of all DataFrame\n", "\n", - "new_df_param_var = new_df_param_var.loc[new_df_param_var[param[param_widget.value]] > -10]\n", + "new_df_param_var = new_df_param_var.loc[\n", + " new_df_param_var[param[param_widget.value]] > -10\n", + "]\n", "\n", "channel_list = new_df_param_var[\"channel\"].unique()\n", "\n", @@ -832,25 +850,7 @@ ] } ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.12" - } - }, + "metadata": {}, "nbformat": 4, "nbformat_minor": 5 } From 0130a27101a765436d57707aa7502877afa5381e Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Thu, 6 Jul 2023 11:59:21 +0200 Subject: [PATCH 150/166] polished notebooks --- ...00-plotting-concatenate_runs_periods.ipynb | 582 ++++++++++++++++++ ...nb => L200-plotting-individual-runs.ipynb} | 406 ++++-------- notebook/L200-plotting-widgets.ipynb | 310 ---------- 3 files changed, 701 insertions(+), 597 deletions(-) create mode 100644 notebook/L200-plotting-concatenate_runs_periods.ipynb rename notebook/{L200-plotting-hdf-widgets.ipynb => L200-plotting-individual-runs.ipynb} (67%) delete mode 100644 notebook/L200-plotting-widgets.ipynb diff --git a/notebook/L200-plotting-concatenate_runs_periods.ipynb b/notebook/L200-plotting-concatenate_runs_periods.ipynb new file mode 100644 index 0000000..71efc7a --- /dev/null +++ b/notebook/L200-plotting-concatenate_runs_periods.ipynb @@ -0,0 +1,582 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "308b2266-c882-465f-89d0-c6ffe46e1b08", + "metadata": {}, + "source": [ + "### Introduction\n", + "\n", + "This notebook helps to have a first look at the saved output, reading into hdf files. It helps to concatenate more runs and more periods, one after the other. It is helpful to monitor the system over a larger period of time usually set as a run.\n", + "\n", + "It works after having installed the repo 'legend-data-monitor'. In particular, after the cloning, enter into the folder and install the package by typing\n", + "\n", + "```console\n", + "foo@bar:~$ pip install .\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "acd13756-4007-4cda-bed2-3ee1b6056d15", + "metadata": {}, + "source": [ + "# Select period to inspect" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5de1e10c-b02d-45eb-9088-3e8103b3cbff", + "metadata": {}, + "outputs": [], + "source": [ + "# ------------------------------------------------------------------------------------------ which data do you want to read? CHANGE ME!\n", + "subsystem = \"geds\" # KEEP 'geds' for the moment\n", + "folder = \"prod-ref-v2\" # you can change me\n", + "version = \"\" # leave an empty string if you're looking at p03 data\n", + "periods = [\"p06\"] # one or more, eg = sorted(os.listdir(f\"/data1/users/calgaro/{folder}/generated/plt/phy/\"))\n", + "\n", + "# ------------------------------------------------------------------------------------------ remove detectors from the plots\n", + "# do you want to remove some detectors? If so, put here their names (or empty list if you want everything included)\n", + "to_be_excluded = [] # [\"V01406A\", \"V01415A\", \"V01387A\", \"P00665C\", \"P00748B\", \"P00748A\", \"B00089D\"]" + ] + }, + { + "cell_type": "markdown", + "id": "ab6a56d1-ec1e-4162-8b41-49e8df7b5f16", + "metadata": {}, + "source": [ + "# Select event type, parameter and original or PULS01ANA-rescaled values" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c3348d46-78a7-4be3-80de-a88610d88f00", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# ------------------------------------------------------------------------------------------ ...from here, you don't need to change anything in the code\n", + "import os\n", + "import json\n", + "import sys\n", + "import h5py\n", + "import shelve\n", + "import matplotlib\n", + "import pandas as pd\n", + "import numpy as np\n", + "import ipywidgets as widgets\n", + "from IPython.display import display\n", + "from matplotlib import pyplot as plt\n", + "from matplotlib.patches import Rectangle\n", + "from legend_data_monitor import plot_styles, plotting, utils\n", + "import legend_data_monitor as ldm\n", + "\n", + "%matplotlib widget\n", + "\n", + "# ------------------------------------------------------------------------------------------ select one data file \n", + "# hypothesis: being these files under the same production folder, we expect them to contain the same keys - if not, an error will appear\n", + "run = sorted(os.listdir(f\"/data1/users/calgaro/{folder}/generated/plt/phy/{periods[0]}/\"))[0]\n", + "if version == \"\":\n", + " data_file = f\"/data1/users/calgaro/{folder}/generated/plt/phy/{periods[0]}/{run}/l200-{periods[0]}-{run}-phy-{subsystem}.hdf\"\n", + "else:\n", + " data_file = f\"/data1/users/calgaro/{folder}/{version}/generated/plt/phy/{periods[0]}/{run}/l200-{periods[0]}-{run}-phy-{subsystem}.hdf\"\n", + "\n", + "# ------------------------------------------------------------------------------------------ building channel map\n", + "# this is period/run dependent, but for now it was kept equal among p03-p06\n", + "dataset = {\n", + " \"experiment\": \"L200\",\n", + " \"period\": periods[0],\n", + " \"type\": \"phy\",\n", + " \"version\": version,\n", + " \"path\": \"/data2/public/prodenv/prod-blind/tmp/auto\",\n", + " \"runs\": int(run[1:]),\n", + "}\n", + "\n", + "geds = ldm.Subsystem(f\"{subsystem}\", dataset=dataset)\n", + "channel_map = geds.channel_map\n", + "\n", + "for det in to_be_excluded:\n", + " channel_map = channel_map[channel_map.name != det]\n", + "\n", + "# ------------------------------------------------------------------------------------------ load data\n", + "# Load the hdf file\n", + "hdf_file = h5py.File(data_file, \"r\")\n", + "keys = list(hdf_file.keys())\n", + "hdf_file.close()\n", + "\n", + "# available flags - get the list of available event types\n", + "event_types = list(set([key.split(\"_\")[0] for key in keys]))\n", + "\n", + "# Create a dropdown widget for the event type\n", + "evt_type_widget = widgets.Dropdown(options=event_types, description=\"Event Type:\")\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------------------ parameter\n", + "# Define a function to update the parameter dropdown based on the selected event type\n", + "def update_params(*args):\n", + " selected_evt_type = evt_type_widget.value\n", + " params = list(\n", + " set(\n", + " [\n", + " key.split(\"_\")[1]\n", + " for key in keys\n", + " if key.split(\"_\")[0] == selected_evt_type\n", + " ]\n", + " )\n", + " )\n", + " param_widget.options = params\n", + "\n", + "\n", + "# Call the update_params function when the event type is changed\n", + "evt_type_widget.observe(update_params, \"value\")\n", + "\n", + "# Create a dropdown widget for the parameter\n", + "param_widget = widgets.Dropdown(description=\"Parameter:\")\n", + "\n", + "# ------------------------------------------------------------------------------------------ data format\n", + "data_format = [\"absolute values\", \"% values\"]\n", + "\n", + "# Create a dropdown widget\n", + "data_format_widget = widgets.Dropdown(options=data_format, description=\"data format:\")\n", + "\n", + "# ------------------------------------------------------------------------------------------ plot structure\n", + "plot_structures = [\"per string\", \"per channel\"]\n", + "\n", + "# Create a dropdown widget\n", + "plot_structures_widget = widgets.Dropdown(\n", + " options=plot_structures, description=\"Plot structure:\"\n", + ")\n", + "\n", + "# ------------------------------------------------------------------------------------------ plot style\n", + "plot_styles = [\"vs time\", \"histogram\"]\n", + "\n", + "# Create a dropdown widget\n", + "plot_styles_widget = widgets.Dropdown(options=plot_styles, description=\"Plot style:\")\n", + "\n", + "# ------------------------------------------------------------------------------------------ resampling\n", + "resampled = [\"no\", \"only\", \"also\"]\n", + "\n", + "# Create a dropdown widget\n", + "resampled_widget = widgets.Dropdown(options=resampled, description=\"Resampled:\")\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------------------ get one or all strings\n", + "if subsystem == \"geds\":\n", + " strings_widg = [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, \"all\"]\n", + "if subsystem == \"pulser01ana\":\n", + " strings_widg = [-1]\n", + "\n", + "# Create a dropdown widget\n", + "strings_widget = widgets.Dropdown(options=strings_widg, description=\"String:\")\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------------------ display widgets\n", + "display(evt_type_widget)\n", + "display(param_widget)\n", + "\n", + "# ------------------------------------------------------------------------------------------ get params (based on event type)\n", + "evt_type = evt_type_widget.value\n", + "params = list(set([key.split(\"_\")[1] for key in keys if key.split(\"_\")[0] == evt_type]))\n", + "param_widget.options = params\n", + "\n", + "\n", + "aux_widget = widgets.Dropdown(description=\"Options:\")\n", + "print(\n", + " \"Pick the way you want to include PULS01ANA info\\n(this is not available for EventRate, CuspEmaxCtcCal \\nand AoECustom; in this case, select None):\"\n", + ")\n", + "display(aux_widget)\n", + "\n", + "aux_info = [\"pulser01anaRatio\", \"pulser01anaDiff\", \"None\"]\n", + "aux_dict = {\n", + " \"pulser01anaRatio\": f\"Ratio: {subsystem} / PULS01ANA\",\n", + " \"pulser01anaDiff\": f\"Difference: {subsystem} - PULS01ANA\",\n", + " \"None\": f\"None (ie just plain {subsystem} data)\",\n", + "}\n", + "aux_info = [aux_dict[info] for info in aux_info]\n", + "aux_widget.options = aux_info\n", + "\n", + "print(\"\\033[91mIf you change me, then RUN AGAIN the next cell!!!\\033[0m\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "508896aa-8f5c-4bed-a731-bb9aeca61bef", + "metadata": {}, + "outputs": [], + "source": [ + "def to_None(string):\n", + " return None if string == \"None\" else string\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------------------ get dataframe\n", + "def display_param_value(*args):\n", + " selected_evt_type = evt_type_widget.value\n", + " selected_param = param_widget.value\n", + " selected_aux_info = aux_widget.value\n", + " print(\n", + " f\"You are going to plot '{selected_param}' for '{selected_evt_type}' events...\"\n", + " )\n", + "\n", + " df_info = pd.DataFrame()\n", + " df_param_orig = pd.DataFrame()\n", + " df_param_var = pd.DataFrame()\n", + " df_param_mean = pd.DataFrame() \n", + "\n", + " for period in periods:\n", + " runs = sorted(\n", + " os.listdir(f\"/data1/users/calgaro/{folder}/generated/plt/phy/{period}/\")\n", + " )\n", + "\n", + " for run in runs:\n", + " if version == \"\":\n", + " data_file = f\"/data1/users/calgaro/{folder}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"\n", + " else:\n", + " data_file = f\"/data1/users/calgaro/{folder}/{version}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"\n", + "\n", + " # some info\n", + " key = f\"{selected_evt_type}_{selected_param}\"\n", + " df_info = pd.read_hdf(data_file, f\"{key}_info\")\n", + "\n", + " if \"None\" not in selected_aux_info:\n", + " # Iterate over the dictionary items\n", + " for k, v in aux_dict.items():\n", + " if v == selected_aux_info:\n", + " option = k\n", + " break\n", + " key = f\"{selected_evt_type}_{selected_param}_{option}\"\n", + "\n", + " # get dataframe\n", + " tmp_df_param_orig = pd.read_hdf(data_file, f\"{key}\")\n", + " tmp_df_param_var = pd.read_hdf(data_file, f\"{key}_var\")\n", + " tmp_df_param_mean = pd.read_hdf(data_file, f\"{key}_mean\")\n", + "\n", + " df_param_orig = pd.concat([df_param_orig, tmp_df_param_orig])\n", + " df_param_var = pd.concat([df_param_var, tmp_df_param_var])\n", + " df_param_mean = pd.concat([df_param_mean, tmp_df_param_mean])\n", + "\n", + " print(f\"...{period}-{run}: loaded!\")\n", + "\n", + " return df_param_orig, df_param_var, df_param_mean, df_info\n", + "\n", + "\n", + "df_param_orig, df_param_var, df_param_mean, df_info = display_param_value()\n", + "print(f\"...data have been loaded!\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bff94f92-e85b-4fa8-b82f-46deab8d4773", + "metadata": {}, + "outputs": [], + "source": [ + "# ---------------------------------------------------------------------------------- get back the usual df shape for legend-data-monitor plots\n", + "pivot_table = df_param_orig.copy()\n", + "pivot_table.reset_index(inplace=True)\n", + "new_df = pd.melt(\n", + " pivot_table, id_vars=[\"datetime\"], var_name=\"channel\", value_name=\"value\"\n", + ")\n", + "new_df_param_orig = new_df.copy().merge(channel_map, on=\"channel\")\n", + "\n", + "pivot_table_var = df_param_var.copy()\n", + "pivot_table_var.reset_index(inplace=True)\n", + "new_df_var = pd.melt(\n", + " pivot_table_var, id_vars=[\"datetime\"], var_name=\"channel\", value_name=\"value\"\n", + ")\n", + "new_df_param_var = new_df_var.copy().merge(channel_map, on=\"channel\")\n", + "\n", + "\n", + "# ---------------------------------------------------------------------------------- remove global spikes (if you are looking at cuspEmax)\n", + "# remove global spikes events by selecting their amplitude\n", + "if \"Cusp\" in param_widget.value:\n", + " new_df_param_orig = new_df_param_orig.loc[\n", + " new_df_param_var[\"value\"] > -10\n", + " ]\n", + " new_df_param_var = new_df_param_var.loc[\n", + " new_df_param_var[\"value\"] > -10\n", + " ]\n", + " print(\"--> global spikes were removed from cusp plot (threshold: +-10%)!\")\n", + "\n", + "# ---------------------------------------------------------------------------------- recalculate % variation wrt new mean value for all channels\n", + "channel_list = new_df_param_var[\"channel\"].unique()\n", + "channel_df = pd.DataFrame()\n", + "\"\"\"\n", + "for ch in channel_list:\n", + " channel_df = pd.DataFrame()\n", + " new_ch_var = pd.DataFrame()\n", + "\n", + " channel_df = (\n", + " new_df_param_orig[new_df_param_orig[\"channel\"] == ch]\n", + " .sort_values(by=\"datetime\")\n", + " .copy()\n", + " )\n", + " channel_mean = channel_df[\"value\"].iloc[0 : int(0.1 * len(channel_df))].mean()\n", + " new_ch_var = (channel_df[\"value\"] - channel_mean) / channel_mean * 100\n", + " new_df_param_var.loc[\n", + " new_df_param_var[\"channel\"] == ch, \"value\"\n", + " ] = new_ch_var\n", + "\"\"\" \n", + "print(\"...% variations were calculated again over the larger time window (mute me if you don't want to keep run-oriented % variations)!\")\n", + "\n", + "# ---------------------------------------------------------------------------------- change column names (again, needed for legend-data-monitor plots)\n", + "def convert_to_original_format(camel_case_string: str) -> str:\n", + " \"\"\"Convert a camel case string to its original format.\"\"\"\n", + " original_string = \"\"\n", + " for i, char in enumerate(camel_case_string):\n", + " if char.isupper() and i > 0:\n", + " original_string += \"_\" + char.lower()\n", + " else:\n", + " original_string += char.lower()\n", + "\n", + " return original_string\n", + "\n", + "\n", + "new_df_param_orig = (new_df_param_orig.copy()).rename(\n", + " columns={\n", + " \"value\": convert_to_original_format(param_widget.value)\n", + " if param_widget.value != \"BlMean\"\n", + " else param_widget.value\n", + " }\n", + ")\n", + "new_df_param_var = (new_df_param_var.copy()).rename(\n", + " columns={\n", + " \"value\": convert_to_original_format(param_widget.value) + \"_var\"\n", + " if param_widget.value != \"BlMean\"\n", + " else param_widget.value + \"_var\"\n", + " }\n", + ")\n", + "\n", + "print(\"...data have been formatted to the right structure!\")" + ] + }, + { + "cell_type": "markdown", + "id": "f1c10c0f-9bed-400f-8174-c6d7e185648b", + "metadata": { + "tags": [] + }, + "source": [ + "# Plot data\n", + "For the selected parameter, choose the plot style (you can play with different data formats, plot structures, ... among the available ones).\n", + "\n", + "### Notes\n", + "1. When you select **plot_style='histogram', you'll always plot NOT resampled values** (ie values for each timestamp entry). Indeed, if you choose different resampled options while keeping plot_style='histogram', nothing will change in plots.\n", + "2. **resampled='no'** means you look at each timestamp entry\n", + "3. **resampled='only'** means you look at each timestamp entry mediated over 1H time window (use the button to resampled according to your needs; available options: 1min, 5min, 10min, 30min, 60min)\n", + "4. **resampled='also'** means you look at each timestamp entry mediated over 1H time window AND at each timestamp entry TOGETHER -> suggestion: use 'also' just when you choose plot_structures='per channel'; if you have selected 'per string', then you're not going to understand anything" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a6fde51f-89b0-49f8-82ed-74d24235cbe0", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Define the time interval options\n", + "time_intervals = [\"1min\", \"5min\", \"10min\", \"30min\", \"60min\"]\n", + "\n", + "# Create RadioButtons with circular style\n", + "radio_buttons = widgets.RadioButtons(\n", + " options=time_intervals,\n", + " button_style=\"circle\",\n", + " description=\"\\t\",\n", + " layout={\"width\": \"max-content\"},\n", + ")\n", + "\n", + "# Create a label widget to display the selected time interval\n", + "selected_interval_label = widgets.Label()\n", + "\n", + "\n", + "# Define a callback function for button selection\n", + "def on_button_selected(change):\n", + " selected_interval_label.value = change.new\n", + "\n", + "\n", + "# Assign the callback function to the RadioButtons\n", + "radio_buttons.observe(on_button_selected, names=\"value\")\n", + "\n", + "# Create a horizontal box to contain the RadioButtons and label\n", + "box_layout = widgets.Layout(display=\"flex\", flex_flow=\"row\", align_items=\"center\")\n", + "container_resampling = widgets.HBox(\n", + " [radio_buttons, selected_interval_label], layout=box_layout\n", + ")\n", + "\n", + "# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n", + "# Define the time interval options\n", + "answer = [\"no\", \"yes\"]\n", + "\n", + "# Create RadioButtons with circular style\n", + "limits_buttons = widgets.RadioButtons(\n", + " options=answer,\n", + " button_style=\"circle\",\n", + " description=\"\\t\",\n", + " layout={\"width\": \"max-content\"},\n", + ")\n", + "\n", + "# Assign the callback function to the RadioButtons\n", + "limits_buttons.observe(on_button_selected, names=\"value\")\n", + "\n", + "# Create a horizontal box to contain the RadioButtons and label\n", + "container_limits = widgets.HBox(\n", + " [limits_buttons, selected_interval_label], layout=box_layout\n", + ")\n", + "\n", + "# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n", + "# Create text input boxes for min and max values\n", + "min_input = widgets.FloatText(\n", + " description=\"Min y-axis:\", layout=widgets.Layout(width=\"150px\")\n", + ")\n", + "max_input = widgets.FloatText(\n", + " description=\"Max y-axis:\", layout=widgets.Layout(width=\"150px\")\n", + ")\n", + "\n", + "# ------------------------------------------------------------------------------------------ get plots\n", + "display(data_format_widget)\n", + "display(plot_structures_widget)\n", + "display(plot_styles_widget)\n", + "display(strings_widget)\n", + "display(resampled_widget)\n", + "\n", + "print(\"Chose resampling time among the available options:\")\n", + "display(container_resampling)\n", + "\n", + "print(\"Do you want to display horizontal lines for limits in the plots?\")\n", + "display(container_limits)\n", + "\n", + "print(\"Set y-axis range; use min=0=max if you don't want to use any fixed range:\")\n", + "display(widgets.VBox([min_input, max_input]))\n", + "\n", + "print(\"\\033[91mIf you change me, then RUN AGAIN the next cell!!!\\033[0m\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2122008e-2a6c-49b6-8a81-d351c1bfd57e", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# set plotting options\n", + "plot_info = {\n", + " \"unit\": df_info.loc[\"unit\", \"Value\"],\n", + " \"label\": df_info.loc[\"label\", \"Value\"],\n", + " \"lower_lim_var\": float(df_info.loc[\"lower_lim_var\", \"Value\"])\n", + " if limits_buttons.value == \"yes\"\n", + " and to_None(df_info.loc[\"lower_lim_var\", \"Value\"]) is not None\n", + " else None,\n", + " \"upper_lim_var\": float(df_info.loc[\"upper_lim_var\", \"Value\"])\n", + " if limits_buttons.value == \"yes\"\n", + " and to_None(df_info.loc[\"upper_lim_var\", \"Value\"]) is not None\n", + " else None,\n", + " \"lower_lim_abs\": float(df_info.loc[\"lower_lim_abs\", \"Value\"])\n", + " if limits_buttons.value == \"yes\"\n", + " and to_None(df_info.loc[\"lower_lim_abs\", \"Value\"]) is not None\n", + " else None,\n", + " \"upper_lim_abs\": float(df_info.loc[\"upper_lim_abs\", \"Value\"])\n", + " if limits_buttons.value == \"yes\"\n", + " and to_None(df_info.loc[\"upper_lim_abs\", \"Value\"]) is not None\n", + " else None,\n", + " \"plot_style\": plot_styles_widget.value,\n", + " \"plot_structure\": plot_structures_widget.value,\n", + " \"resampled\": resampled_widget.value,\n", + " \"title\": \"\",\n", + " \"subsystem\": \"\",\n", + " \"std\": False,\n", + " \"locname\": {\n", + " \"geds\": \"string\",\n", + " \"spms\": \"fiber\",\n", + " \"pulser\": \"puls\",\n", + " \"pulser01ana\": \"pulser01ana\",\n", + " \"FCbsln\": \"FC bsln\",\n", + " \"muon\": \"muon\",\n", + " }[subsystem],\n", + " \"range\": [min_input.value, max_input.value]\n", + " if min_input.value < max_input.value\n", + " else [None, None],\n", + " \"event_type\": None,\n", + " \"unit_label\": \"%\"\n", + " if data_format_widget.value == \"% values\"\n", + " else df_info.loc[\"unit\", \"Value\"],\n", + " \"parameters\": \"\",\n", + " \"time_window\": radio_buttons.value.split(\"min\")[0] + \"T\",\n", + "}\n", + "\n", + "\n", + "# turn on the std when plotting individual channels together\n", + "if plot_info[\"plot_structure\"] == \"per channel\":\n", + " plot_info[\"std\"] = True\n", + "\n", + "if data_format_widget.value == \"absolute values\":\n", + " plot_info[\"limits\"] = [plot_info[\"lower_lim_abs\"], plot_info[\"upper_lim_abs\"]]\n", + " plot_info[\"parameter\"] = (\n", + " convert_to_original_format(param_widget.value)\n", + " if param_widget.value != \"BlMean\"\n", + " else param_widget.value\n", + " )\n", + " df_to_plot = new_df_param_orig.copy()\n", + "if data_format_widget.value == \"% values\":\n", + " plot_info[\"limits\"] = [plot_info[\"lower_lim_var\"], plot_info[\"upper_lim_var\"]]\n", + " plot_info[\"parameter\"] = (\n", + " convert_to_original_format(param_widget.value) + \"_var\"\n", + " if param_widget.value != \"BlMean\"\n", + " else param_widget.value + \"_var\"\n", + " )\n", + " df_to_plot = new_df_param_var.copy()\n", + "\n", + "print(f\"Making plots now...\")\n", + "\n", + "if isinstance(strings_widget.value, str): # let's get all strings in output\n", + " strings = strings_widg.remove(\"all\")\n", + " for string in strings:\n", + " if plot_structures_widget.value == \"per channel\":\n", + " plotting.plot_per_ch(\n", + " df_to_plot[df_to_plot[\"location\"] == string], plot_info, \"\"\n", + " ) # plot one canvas per channel\n", + " elif plot_structures_widget.value == \"per string\":\n", + " plotting.plot_per_string(\n", + " df_to_plot[df_to_plot[\"location\"] == string], plot_info, \"\"\n", + " ) # plot one canvas per string\n", + "else: # let's get one string in output\n", + " if plot_structures_widget.value == \"per channel\":\n", + " plotting.plot_per_ch(\n", + " df_to_plot[df_to_plot[\"location\"] == strings_widget.value], plot_info, \"\"\n", + " ) # plot one canvas per channel\n", + " elif plot_structures_widget.value == \"per string\":\n", + " plotting.plot_per_string(\n", + " df_to_plot[df_to_plot[\"location\"] == strings_widget.value], plot_info, \"\"\n", + " ) # plot one canvas per string" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebook/L200-plotting-hdf-widgets.ipynb b/notebook/L200-plotting-individual-runs.ipynb similarity index 67% rename from notebook/L200-plotting-hdf-widgets.ipynb rename to notebook/L200-plotting-individual-runs.ipynb index 574f585..35d7235 100644 --- a/notebook/L200-plotting-hdf-widgets.ipynb +++ b/notebook/L200-plotting-individual-runs.ipynb @@ -32,16 +32,15 @@ "outputs": [], "source": [ "# ------------------------------------------------------------------------------------------ which data do you want to read? CHANGE ME!\n", - "run = \"r000\" # r000, r001, ...\n", + "run = \"r003\" # r000, r001, ...\n", "subsystem = \"geds\" # KEEP 'geds' for the moment\n", "folder = \"prod-ref-v2\" # you can change me\n", "period = \"p06\"\n", "version = \"\" # leave an empty string if you're looking at p03 data\n", "\n", - "if version == \"\":\n", - " data_file = f\"/data1/users/calgaro/{folder}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"\n", - "else:\n", - " data_file = f\"/data1/users/calgaro/{folder}/{version}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"" + "# ------------------------------------------------------------------------------------------ remove detectors from the plots\n", + "# do you want to remove some detectors? If so, put here their names (or empty list if you want everything included)\n", + "to_be_excluded = [] # [\"V01406A\", \"V01415A\", \"V01387A\", \"P00665C\", \"P00748B\", \"P00748A\", \"B00089D\"]" ] }, { @@ -56,14 +55,10 @@ "cell_type": "code", "execution_count": null, "id": "c3348d46-78a7-4be3-80de-a88610d88f00", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "# ------------------------------------------------------------------------------------------ ...from here, you don't need to change anything in the code\n", - "import os\n", - "import json\n", "import sys\n", "import h5py\n", "import shelve\n", @@ -79,6 +74,11 @@ "\n", "%matplotlib widget\n", "\n", + "if version == \"\":\n", + " data_file = f\"/data1/users/calgaro/{folder}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"\n", + "else:\n", + " data_file = f\"/data1/users/calgaro/{folder}/{version}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"\n", + "\n", "# ------------------------------------------------------------------------------------------ building channel map\n", "dataset = {\n", " \"experiment\": \"L200\",\n", @@ -89,23 +89,13 @@ " \"runs\": int(run[1:]),\n", "}\n", "\n", - "geds = ldm.Subsystem(f\"{subsystem}\", dataset=dataset)\n", + "geds = ldm.Subsystem(\"geds\", dataset=dataset)\n", "channel_map = geds.channel_map\n", "\n", "# remove probl dets\n", - "to_be_excluded = [\n", - " \"V01406A\",\n", - " \"V01415A\",\n", - " \"V01387A\",\n", - " \"P00665C\",\n", - " \"P00748B\",\n", - " \"P00748A\",\n", - " \"B00089D\",\n", - "]\n", "for det in to_be_excluded:\n", " channel_map = channel_map[channel_map.name != det]\n", - "# remove OFF dets\n", - "channel_map = channel_map[channel_map.status == \"on\"]\n", + "\n", "\n", "# ------------------------------------------------------------------------------------------ load data\n", "# Load the hdf file\n", @@ -170,16 +160,11 @@ "\n", "\n", "# ------------------------------------------------------------------------------------------ get one or all strings\n", - "if subsystem == \"geds\":\n", - " strings = [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, \"all\"]\n", - "if subsystem == \"pulser01ana\":\n", - " strings = [-1]\n", + "strings = [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, \"all\"]\n", "\n", "# Create a dropdown widget\n", "strings_widget = widgets.Dropdown(options=strings, description=\"String:\")\n", "\n", - "\n", - "print(strings)\n", "# ------------------------------------------------------------------------------------------ display widgets\n", "display(evt_type_widget)\n", "display(param_widget)\n", @@ -231,64 +216,27 @@ " key = f\"{selected_evt_type}_{selected_param}\"\n", " print(key)\n", " print(selected_aux_info)\n", - "\n", - " df_info = pd.DataFrame()\n", - " df_param_orig = pd.DataFrame()\n", - " df_param_var = pd.DataFrame()\n", - " df_param_mean = pd.DataFrame()\n", - "\n", - " # ------------------------------------------------------------------------------------------ which data do you want to read? CHANGE ME!\n", - " folder = \"prod-ref-v2\" # you can change me\n", - " version = \"\" # leave an empty string if you're looking at >p03 data\n", - " subsystem = \"geds\" # KEEP 'geds' for the moment\n", - "\n", - " # ------------------------------------------------------------------------------------------ plot all periods available or just specify in a list e.g. [\"p001\", ...]\n", - " # periods = sorted(os.listdir(f\"/data1/users/calgaro/{folder}/generated/plt/phy/\"))\n", - " periods = [\"p06\"]\n", - "\n", - " for period in periods:\n", - " # load all runs available for this period or just specify in a list e.g. [\"p001\", ...]\n", - " runs = sorted(\n", - " os.listdir(f\"/data1/users/calgaro/{folder}/generated/plt/phy/{period}/\")\n", - " )\n", - " runs = [\"r002\", \"r003\"]\n", - " print(\"period\\t\", period, \"\\t loading runs\\t\", runs)\n", - "\n", - " for run in runs:\n", - " if version == \"\":\n", - " data_file = f\"/data1/users/calgaro/{folder}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"\n", - " else:\n", - " data_file = f\"/data1/users/calgaro/{folder}/{version}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}.hdf\"\n", - "\n", - " # some info\n", - " df_info = pd.read_hdf(data_file, f\"{key}_info\")\n", - "\n", - " if \"None\" not in selected_aux_info:\n", - " print(f\"... plus you are going to apply the option {selected_aux_info}\")\n", - "\n", - " # Iterate over the dictionary items\n", - " for k, v in aux_dict.items():\n", - " if v == selected_aux_info:\n", - " option = k\n", - " break\n", - " key += f\"_{option}\"\n", - "\n", - " # get dataframe\n", - " tmp_df_param_orig = pd.read_hdf(data_file, f\"{key}\")\n", - " tmp_df_param_var = pd.read_hdf(data_file, f\"{key}_var\")\n", - " tmp_df_param_mean = pd.read_hdf(data_file, f\"{key}_mean\")\n", - "\n", - " df_param_orig = pd.concat([df_param_orig, tmp_df_param_orig])\n", - " df_param_var = pd.concat([df_param_var, tmp_df_param_var])\n", - " df_param_mean = pd.concat([df_param_mean, tmp_df_param_mean])\n", - "\n", - " print(run, \" loaded\")\n", + " # some info\n", + " df_info = pd.read_hdf(data_file, f\"{key}_info\")\n", + "\n", + " if \"None\" not in selected_aux_info:\n", + " # Iterate over the dictionary items\n", + " for k, v in aux_dict.items():\n", + " if v == selected_aux_info:\n", + " option = k\n", + " break\n", + " key += f\"_{option}\"\n", + "\n", + " # get dataframe\n", + " df_param_orig = pd.read_hdf(data_file, f\"{key}\")\n", + " df_param_var = pd.read_hdf(data_file, f\"{key}_var\")\n", + " df_param_mean = pd.read_hdf(data_file, f\"{key}_mean\")\n", "\n", " return df_param_orig, df_param_var, df_param_mean, df_info\n", "\n", "\n", "df_param_orig, df_param_var, df_param_mean, df_info = display_param_value()\n", - "print(f\"...data have been loaded!\")\n", + "print(f\"...data have beeng loaded!\")\n", "\n", "\n", "pivot_table = df_param_orig.copy()\n", @@ -336,72 +284,10 @@ "print(\"...data have been formatted to the right structure!\")" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "33f555ff-ea2c-4a18-a901-248c9d7eddb3", - "metadata": {}, - "outputs": [], - "source": [ - "# if you want to plot a specific day\n", - "# NOTE: this action removes\n", - "\n", - "new_df_param_var = new_df_param_var[new_df_param_var.datetime.dt.day > 1]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b1c4d8f0-7977-4b79-9414-6be06dfab720", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# remove global spikes events by selecting their amplitude\n", - "# and\n", - "# compute mean over initial hours of all DataFrame\n", - "# useful also if you load more runs/periods\n", - "\n", - "param = {\n", - " \"Cuspemax\": \"cuspemax_var\",\n", - " \"Baseline\": \"baseline_var\",\n", - " \"BlMean\": \"blmean_var\",\n", - " \"CuspemaxCtcCal\": \"cuspemax_ctc_cal_var\",\n", - "}\n", - "\n", - "new_df_param_var = new_df_param_var.loc[\n", - " new_df_param_var[param[param_widget.value]] > -10\n", - "]\n", - "\n", - "channel_list = new_df_param_var[\"channel\"].unique()\n", - "channel_df = pd.DataFrame()\n", - "\n", - "# recalculate % variation wrt new mean value for all channels\n", - "\n", - "for ch in channel_list:\n", - " channel_df = pd.DataFrame()\n", - " new_ch_var = pd.DataFrame()\n", - "\n", - " channel_df = (\n", - " new_df_param_orig[new_df_param_orig[\"channel\"] == ch]\n", - " .sort_values(by=\"datetime\")\n", - " .copy()\n", - " )\n", - " channel_mean = channel_df[\"cuspemax\"].iloc[0 : int(0.1 * len(channel_df))].mean()\n", - " new_ch_var = (channel_df[\"cuspemax\"] - channel_mean) / channel_mean * 100\n", - " # new_df_param_var.loc[new_df_param_var[\"channel\"] == ch, param[param_widget.value + \"_var\"]] = 1\n", - " new_df_param_var.loc[\n", - " new_df_param_var[\"channel\"] == ch, param[param_widget.value]\n", - " ] = new_ch_var" - ] - }, { "cell_type": "markdown", "id": "f1c10c0f-9bed-400f-8174-c6d7e185648b", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "# Plot data\n", "For the selected parameter, choose the plot style (you can play with different data formats, plot structures, ... among the available ones).\n", @@ -417,9 +303,7 @@ "cell_type": "code", "execution_count": null, "id": "a6fde51f-89b0-49f8-82ed-74d24235cbe0", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "# Define the time interval options\n", @@ -478,18 +362,8 @@ ")\n", "max_input = widgets.FloatText(\n", " description=\"Max y-axis:\", layout=widgets.Layout(width=\"150px\")\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "084e9d36-1478-4833-96ff-555134e9a64c", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ + ")\n", + "\n", "# ------------------------------------------------------------------------------------------ get plots\n", "display(data_format_widget)\n", "display(plot_structures_widget)\n", @@ -513,9 +387,7 @@ "cell_type": "code", "execution_count": null, "id": "2122008e-2a6c-49b6-8a81-d351c1bfd57e", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "# set plotting options\n", @@ -588,9 +460,7 @@ "print(f\"Making plots now...\")\n", "\n", "if isinstance(strings_widget.value, str): # let's get all strings in output\n", - " if \"all\" in strings:\n", - " strings.remove(\"all\")\n", - " for string in strings:\n", + " for string in [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]:\n", " if plot_structures_widget.value == \"per channel\":\n", " plotting.plot_per_ch(\n", " df_to_plot[df_to_plot[\"location\"] == string], plot_info, \"\"\n", @@ -610,16 +480,6 @@ " ) # plot one canvas per string" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "238aae30-1e4c-4e0b-bb4d-13c1c8d7da44", - "metadata": {}, - "outputs": [], - "source": [ - "print(strings)" - ] - }, { "cell_type": "markdown", "id": "17542fbd-a2fb-4474-829a-adb0ef99aae3", @@ -627,18 +487,14 @@ "tags": [] }, "source": [ - "# Summary plots vs channels\n", - "Here you can monitor the distribution of a parameter across an entire run for all channels, grouped by string. \n", - "Shown in this plot:\n", - "* **mean** value (horizontal green line) of the distribution\n", - "* **std** (blue box)\n", - "* **min/max** (black horizontal lines below/above the box)" + "# Plot means vs channels\n", + "Here you can monitor the **mean** ('x' green marker) and **median** (horizontal green line) behaves separately for different channels, grouped by string. The box shows the IQR (interquartile range), ie the distance between the upper and lower quartiles, q(0.75)-q(0.25). Vertical lines end up to the min and max value of a given parameter's distribution for each channel." ] }, { "cell_type": "code", "execution_count": null, - "id": "9c275a1b-3354-4a93-80f6-2b8c0a3940c6", + "id": "017b16e9-da40-4a0b-9503-ce4c9e65070c", "metadata": {}, "outputs": [], "source": [ @@ -651,22 +507,12 @@ { "cell_type": "code", "execution_count": null, - "id": "6bbe32fc-f1b5-47d3-a5b7-93a3f2ae30d9", - "metadata": {}, - "outputs": [], - "source": [ - "channel_list = set(new_df_param_var.channel)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "dc79d742-05e6-46f7-a8da-370a74b9cc97", - "metadata": {}, + "id": "51ae3c7f-19d2-4760-96c6-fafdfe6e6316", + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "channel_dict = {}\n", - "\n", "param = {\n", " \"Cuspemax\": \"cuspemax_var\",\n", " \"Baseline\": \"baseline_var\",\n", @@ -674,56 +520,24 @@ " \"CuspemaxCtcCal\": \"cuspemax_ctc_cal_var\",\n", "}\n", "\n", - "for channel in channel_list:\n", - " timestamp = os.listdir(\n", - " f\"/data2/public/prodenv/prod-blind/tmp/auto/generated/par/hit/cal/{period}/{run}\"\n", - " )[-1].split(\"-\")[-2]\n", - " pars = json.load(\n", - " open(\n", - " f\"/data2/public/prodenv/prod-blind/tmp/auto/generated/par/hit/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_hit_results.json\",\n", - " \"r\",\n", - " )\n", - " )\n", - "\n", - " Qbb_FWHM = pars[\"ch\" + str(channel)][\"ecal\"][\"cuspEmax_ctc_cal\"][\"Qbb_fwhm\"]\n", - " Qbb_sig = Qbb_FWHM / 2.355\n", - " # channel_dict[channel] = Qbb_sig\n", - " channel_dict[channel] = Qbb_sig\n", - "\n", - "if param_widget.value == \"Cuspemax\":\n", - " new_df_param_var[\"resolution\"] = new_df_param_var[\"channel\"].map(channel_dict)\n", - "\n", "grouped_df = new_df_param_var.groupby([\"location\", \"position\", \"name\"])[\n", - " [param[param_widget.value], \"resolution\"]\n", + " param[param_widget.value]\n", "]\n", "\n", - "resolution = 2 # FWHM [keV]\n", - "\n", "my_df = pd.DataFrame()\n", - "\n", - "if param_widget.value == \"Cuspemax\":\n", - " my_df[\"mean\"] = grouped_df.mean()[param[param_widget.value]] / resolution * 20.39\n", - " my_df[\"std\"] = grouped_df.std()[param[param_widget.value]] / resolution * 20.39\n", - " my_df[\"minimum\"] = grouped_df.min()[param[param_widget.value]] / resolution * 20.39\n", - " my_df[\"maximum\"] = grouped_df.max()[param[param_widget.value]] / resolution * 20.39\n", - " my_df[\"resolution\"] = grouped_df.mean()[\"resolution\"]\n", - "\n", - " my_df[[\"mean\", \"std\", \"minimum\", \"maximum\"]] = my_df[\n", - " [\"mean\", \"std\", \"minimum\", \"maximum\"]\n", - " ].apply(lambda x: x / my_df.resolution)\n", - "\n", - "else:\n", - " my_df[\"mean\"] = grouped_df.mean()\n", - " my_df[\"std\"] = grouped_df.std()\n", - " my_df[\"minimum\"] = grouped_df.min()\n", - " my_df[\"maximum\"] = grouped_df.max()\n", + "my_df[\"mean\"] = grouped_df.mean()\n", + "my_df[\"std\"] = grouped_df.std()\n", + "my_df[\"std_2\"] = 2*grouped_df.std()\n", + "my_df[\"std_3\"] = 3*grouped_df.std()\n", + "my_df[\"minimum\"] = grouped_df.min()\n", + "my_df[\"maximum\"] = grouped_df.max()\n", "\n", "# Create boxes for mean ± std and plot mean as a horizontal line\n", "box_width = 0.5 # Width of the boxes\n", "box_positions = np.arange(len(my_df))\n", "\n", "# Create the figure and axis\n", - "fig, ax = plt.subplots(figsize=(16, 4))\n", + "fig, ax = plt.subplots(figsize=(16, 6))\n", "\n", "l = 0.15\n", "\n", @@ -735,28 +549,55 @@ "for index, row in my_df.reset_index().iterrows():\n", " if current_string != row[\"location\"]:\n", " current_index += 1\n", - " ax.vlines(current_index, -10000, 10000, color=\"black\", linewidth=2, zorder=10)\n", + " ax.vlines(current_index, -100, 100, color=\"black\", linewidth=2, zorder=10)\n", " current_string = row[\"location\"]\n", " name_list.append(f\"string {row.location}\")\n", "\n", " current_index += 1\n", "\n", + " rect3 = Rectangle(\n", + " (current_index - box_width / 2, row[\"mean\"] - row[\"std_3\"]),\n", + " box_width,\n", + " 2 * row[\"std_3\"],\n", + " fill=True,\n", + " alpha=0.15,\n", + " color=\"gray\",\n", + " linewidth=0,\n", + " zorder=3,\n", + " )\n", + " \n", + " rect2 = Rectangle(\n", + " (current_index - box_width / 2, row[\"mean\"] - row[\"std_2\"]),\n", + " box_width,\n", + " 2 * row[\"std_2\"],\n", + " fill=True,\n", + " alpha=0.5,\n", + " color=\"gray\",\n", + " linewidth=0,\n", + " zorder=3,\n", + " )\n", + " \n", " rect = Rectangle(\n", " (current_index - box_width / 2, row[\"mean\"] - row[\"std\"]),\n", " box_width,\n", " 2 * row[\"std\"],\n", - " fill=False,\n", - " edgecolor=\"tab:blue\",\n", - " linewidth=1,\n", + " fill=True,\n", + " alpha=0.9,\n", + " color=\"gray\",\n", + " linewidth=0,\n", " zorder=2,\n", " )\n", + " \n", + " ax.add_patch(rect3)\n", + " ax.add_patch(rect2)\n", " ax.add_patch(rect)\n", " ax.plot(\n", " [current_index - box_width / 2, current_index + box_width / 2],\n", " [row[\"mean\"], row[\"mean\"]],\n", - " color=\"tab:green\",\n", - " zorder=2,\n", + " color=\"tab:red\",\n", + " zorder=10,\n", " )\n", + " ax.grid()\n", "\n", " # Plot horizontal black lines at min and max values\n", " ax.hlines(\n", @@ -781,76 +622,67 @@ " current_index,\n", " row[\"std\"] + row[\"mean\"],\n", " row[\"maximum\"],\n", - " color=\"tab:blue\",\n", + " color=\"k\",\n", " linewidth=1,\n", " )\n", " ax.vlines(\n", " current_index,\n", " row[\"minimum\"],\n", " -row[\"std\"] + row[\"mean\"],\n", - " color=\"tab:blue\",\n", + " color=\"k\",\n", " linewidth=1,\n", " )\n", "\n", " name_list.append(row[\"name\"])\n", "\n", "\n", - "if limits_buttons.value == \"yes\":\n", - " # Plot lines for mean value thresholds\n", - " # ax.hlines(0.025, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1)\n", - " # ax.hlines(-0.025, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1)\n", + "# Plot lines for mean value thresholds\n", + "ax.hlines(5, 0, len(name_list) - 1, color=\"tab:green\", zorder=3, linewidth=1)\n", + "ax.hlines(-5, 0, len(name_list) - 1, color=\"tab:green\", zorder=3, linewidth=1)\n", "\n", - " # Plot lines for std value thresholds\n", - " ax.hlines(-1, 0, len(name_list) - 1, color=\"tab:red\", zorder=3, linewidth=1)\n", - " ax.hlines(1, 0, len(name_list) - 1, color=\"tab:red\", zorder=3, linewidth=1)\n", + "# Plot lines for std value thresholds\n", + "ax.hlines(10, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1, linestyle='--')\n", + "ax.hlines(-10, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1, linestyle='--')\n", "\n", "# Set labels and title\n", "ax.set_xticks(np.arange(len(name_list)))\n", "ax.set_xticklabels(name_list, rotation=90)\n", "\n", "# Show plot\n", - "ax.set_ylim([-0.2, 0.2])\n", - "if min_input.value < max_input.value:\n", - " ax.set_ylim([min_input.value, max_input.value])\n", - "# ax.set_ylabel(f\"{param_widget.value} % variation\")\n", - "ax.set_ylabel(f\"energy shift @Qbb / resolution\")\n", + "x_min=min_input.value\n", + "x_max=max_input.value\n", + "if x_min == 0 and x_max == 0:\n", + " x_min = -50\n", + " x_max = 50\n", + "div = 12\n", + "ax.set_ylim([x_min,x_max])\n", + "ax.set_yticks(np.arange(x_min,x_max,div))\n", + "ax.set_ylabel(f\"{param_widget.value} % variation\")\n", "ax.set_title(f\"{period}-{run}\")\n", - "plt.grid()\n", "plt.tight_layout()\n", "plt.show()" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "37e5f237-2470-49c8-a607-2c3796d7798b", - "metadata": {}, - "outputs": [], - "source": [ - "# remove global spikes events by selecting their amplitude\n", - "# and\n", - "# compute mean over initial hours of all DataFrame\n", - "\n", - "new_df_param_var = new_df_param_var.loc[\n", - " new_df_param_var[param[param_widget.value]] > -10\n", - "]\n", - "\n", - "channel_list = new_df_param_var[\"channel\"].unique()\n", - "\n", - "# recalculate % variation wrt new mean value for all channels\n", - "for ch in channel_list:\n", - " channel_df = new_df_param_var[new_df_param_var[\"channel\"] == ch]\n", - " channel_mean = (\n", - " channel_df[\"cuspemax_var\"].iloc[0 : int(0.1 * len(channel_df))].mean()\n", - " )\n", - " new_ch_var = (channel_df[\"cuspemax_var\"] - channel_mean) / channel_mean * 100\n", - " new_df_param_var.loc[\n", - " new_df_param_var[\"channel\"] == ch, param_widget.value + \"_var\"\n", - " ] = new_ch_var" - ] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, "nbformat": 4, "nbformat_minor": 5 } diff --git a/notebook/L200-plotting-widgets.ipynb b/notebook/L200-plotting-widgets.ipynb deleted file mode 100644 index 02e60d5..0000000 --- a/notebook/L200-plotting-widgets.ipynb +++ /dev/null @@ -1,310 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "308b2266-c882-465f-89d0-c6ffe46e1b08", - "metadata": {}, - "source": [ - "### Introduction\n", - "\n", - "This notebook helps to have a first look at the saved output. \n", - "\n", - "It works after having installed the repo 'legend-data-monitor'. In particular, after the cloning, enter into the folder and install the package by typing\n", - "\n", - "```console\n", - "foo@bar:~$ pip install .\n", - "```" - ] - }, - { - "cell_type": "markdown", - "id": "ab6a56d1-ec1e-4162-8b41-49e8df7b5f16", - "metadata": {}, - "source": [ - "# Select event type and parameter" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c3348d46-78a7-4be3-80de-a88610d88f00", - "metadata": {}, - "outputs": [], - "source": [ - "# ------------------------------------------------------------------------------------------ which data do you want to read? CHANGE ME!\n", - "run = \"r005\" # r000, r001, ...\n", - "subsystem = \"geds\" # KEEP 'geds' for the moment\n", - "folder = \"prod-ref-temp\" # you can change me\n", - "period = \"p03\"\n", - "version = \"\" # leave an empty string if you're looking at p03 data\n", - "\n", - "if version == \"\":\n", - " data_file = f\"/data1/users/calgaro/{folder}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}\"\n", - "else:\n", - " data_file = f\"/data1/users/calgaro/{folder}/{version}/generated/plt/phy/{period}/{run}/l200-{period}-{run}-phy-{subsystem}\"\n", - "\n", - "\n", - "# ------------------------------------------------------------------------------------------ ...from here, you don't need to change anything in the code\n", - "import sys\n", - "import shelve\n", - "import matplotlib\n", - "import ipywidgets as widgets\n", - "from IPython.display import display\n", - "from matplotlib import pyplot as plt\n", - "from legend_data_monitor import plot_styles, plotting, utils\n", - "\n", - "%matplotlib widget\n", - "\n", - "# ------------------------------------------------------------------------------------------ load data\n", - "# Load the shelve object\n", - "shelf = shelve.open(data_file)\n", - "\n", - "# ------------------------------------------------------------------------------------------ evt type\n", - "# Get the list of available event types\n", - "event_types = list(shelf[\"monitoring\"].keys())\n", - "\n", - "# Create a dropdown widget for the event type\n", - "evt_type_widget = widgets.Dropdown(options=event_types, description=\"Event Type:\")\n", - "\n", - "\n", - "# ------------------------------------------------------------------------------------------ parameter\n", - "# Define a function to update the parameter dropdown based on the selected event type\n", - "def update_params(*args):\n", - " selected_evt_type = evt_type_widget.value\n", - " params = list(shelf[\"monitoring\"][selected_evt_type].keys())\n", - " param_widget.options = params\n", - "\n", - "\n", - "# Call the update_params function when the event type is changed\n", - "evt_type_widget.observe(update_params, \"value\")\n", - "\n", - "# Create a dropdown widget for the parameter\n", - "param_widget = widgets.Dropdown(description=\"Parameter:\")\n", - "\n", - "# ------------------------------------------------------------------------------------------ data format\n", - "data_format = [\"absolute values\", \"% values\"]\n", - "\n", - "# Create a dropdown widget\n", - "data_format_widget = widgets.Dropdown(options=data_format, description=\"data format:\")\n", - "\n", - "# ------------------------------------------------------------------------------------------ plot structure\n", - "plot_structures = [\"per string\", \"per channel\"]\n", - "\n", - "# Create a dropdown widget\n", - "plot_structures_widget = widgets.Dropdown(\n", - " options=plot_structures, description=\"Plot structure:\"\n", - ")\n", - "\n", - "# ------------------------------------------------------------------------------------------ plot style\n", - "plot_styles = [\"vs time\", \"histogram\"]\n", - "\n", - "# Create a dropdown widget\n", - "plot_styles_widget = widgets.Dropdown(options=plot_styles, description=\"Plot style:\")\n", - "\n", - "# ------------------------------------------------------------------------------------------ resampling\n", - "resampled = [\"no\", \"only\", \"also\"]\n", - "\n", - "# Create a dropdown widget\n", - "resampled_widget = widgets.Dropdown(options=resampled, description=\"Resampled:\")\n", - "\n", - "\n", - "# ------------------------------------------------------------------------------------------ get one or all strings\n", - "strings = [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, \"all\"]\n", - "\n", - "# Create a dropdown widget\n", - "strings_widget = widgets.Dropdown(options=strings, description=\"String:\")\n", - "\n", - "# ------------------------------------------------------------------------------------------ display widgets\n", - "display(evt_type_widget)\n", - "display(\n", - " param_widget\n", - ") # it takes a while before displaying available parameters in the corresponding widget\n", - "\n", - "# ------------------------------------------------------------------------------------------ get params (based on event type)\n", - "evt_type = evt_type_widget.value\n", - "# params = list(shelf[\"monitoring\"][evt_type].keys())\n", - "param_widget.options = [\"cuspEmax\"]\n", - "\n", - "print(\"\\033[91mIf you change me, then RUN AGAIN the next cell!!!\\033[0m\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "508896aa-8f5c-4bed-a731-bb9aeca61bef", - "metadata": {}, - "outputs": [], - "source": [ - "# ------------------------------------------------------------------------------------------ get dataframe\n", - "def display_param_value(*args):\n", - " selected_evt_type = evt_type_widget.value\n", - " selected_param = param_widget.value\n", - " print(\n", - " f\"You are going to plot '{selected_param}' for '{selected_evt_type}' events...\"\n", - " )\n", - " # get dataframe\n", - " df_param = shelf[\"monitoring\"][selected_evt_type][selected_param][\"df_geds\"]\n", - " # get plot info\n", - " plot_info = shelf[\"monitoring\"][selected_evt_type][selected_param][\"plot_info\"]\n", - "\n", - " return df_param, plot_info\n", - "\n", - "\n", - "df_param, plot_info = display_param_value()\n", - "print(f\"...data have beeng loaded!\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b836b69d-b7f5-4131-b6d5-26b637aed57b", - "metadata": {}, - "outputs": [], - "source": [ - "# ------------------------------------------------------------------------------------------ remove problematic dets in cal data\n", - "# df_param = df_param.set_index(\"name\")\n", - "# df_param = df_param.drop(['V01406A', 'V01415A', 'V01387A', 'P00665C', 'P00748B', 'P00748A', 'B00089D'])\n", - "# df_param = df_param.reset_index()" - ] - }, - { - "cell_type": "markdown", - "id": "f1c10c0f-9bed-400f-8174-c6d7e185648b", - "metadata": {}, - "source": [ - "# Plot data (select style and string)\n", - "For the selected parameter, choose the plot style (you can play with different data formats, plot structures, ... among the available ones).\n", - "\n", - "### Notes\n", - "1. I recommend using just **\"absolute values\" when plotting 'bl_std'** to see how noisy is each detector.\n", - "2. When you select **plot_style='histogram', you'll always plot NOT resampled values** (ie values for each timestamp entry). Indeed, if you choose different resampled options while keeping plot_style='histogram', nothing will change in plots.\n", - "4. **resampled='no'** means you look at each timestamp entry\n", - "5. **resampled='only'** means you look at each timestamp entry mediated over 1H time window ('1H' might change - in case, you can see what value was used for the resampling by printing ```print(plot_info['time_window'])``` (T=minutes, H=hours, D=days)\n", - "6. **resampled='also'** means you look at each timestamp entry mediated over 1H time window AND at each timestamp entry TOGETHER -> suggestion: use 'also' just when you choose plot_structures='per channel'; if you have selected 'per string', then you're not going to understand anything" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "084e9d36-1478-4833-96ff-555134e9a64c", - "metadata": {}, - "outputs": [], - "source": [ - "# ------------------------------------------------------------------------------------------ get plots\n", - "display(data_format_widget)\n", - "display(plot_structures_widget)\n", - "display(plot_styles_widget)\n", - "display(resampled_widget)\n", - "display(strings_widget)\n", - "print(\"\\033[91mIf you change me, then RUN AGAIN the next cell!!!\\033[0m\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2122008e-2a6c-49b6-8a81-d351c1bfd57e", - "metadata": {}, - "outputs": [], - "source": [ - "# set plotting options\n", - "plot_info[\"plot_style\"] = plot_styles_widget.value\n", - "plot_info[\"plot_structure\"] = plot_structures_widget.value\n", - "plot_info[\"resampled\"] = resampled_widget.value\n", - "plot_info[\"title\"] = \"\" # for plotting purposes\n", - "plot_info[\"subsystem\"] = \"\" # for plotting purposes\n", - "plot_info[\"std\"] = False\n", - "\n", - "df_to_plot = df_param\n", - "\n", - "# turn on the std when plotting individual channels together\n", - "if plot_info[\"plot_structure\"] == \"per channel\":\n", - " plot_info[\"std\"] = True\n", - "\n", - "if data_format_widget.value == \"absolute values\":\n", - " plot_info[\"parameter\"] = (\n", - " plot_info[\"parameter\"].split(\"_var\")[0]\n", - " if \"_var\" in plot_info[\"parameter\"]\n", - " else plot_info[\"parameter\"]\n", - " )\n", - " plot_info[\"limits\"] = utils.PLOT_INFO[plot_info[\"parameter\"]][\"limits\"][subsystem][\n", - " \"absolute\"\n", - " ]\n", - " plot_info[\"unit_label\"] = plot_info[\"unit\"]\n", - " if plot_info[\"parameter\"] not in df_to_plot:\n", - " print(\"There is no\", plot_info[\"parameter\"])\n", - " sys.exit(\"Stopping notebook.\")\n", - "if data_format_widget.value == \"% values\":\n", - " plot_info[\"parameter\"] = (\n", - " plot_info[\"parameter\"]\n", - " if \"_var\" in plot_info[\"parameter\"]\n", - " else plot_info[\"parameter\"] + \"_var\"\n", - " )\n", - " plot_info[\"limits\"] = utils.PLOT_INFO[plot_info[\"parameter\"].split(\"_var\")[0]][\n", - " \"limits\"\n", - " ][subsystem][\"variation\"]\n", - " plot_info[\"unit_label\"] = \"%\"\n", - " if plot_info[\"parameter\"] not in df_to_plot:\n", - " print(\"There is no\", plot_info[\"parameter\"])\n", - " sys.exit(\"Stopping notebook.\")\n", - "\n", - "print(f\"Making plots now...\")\n", - "if isinstance(strings_widget.value, str): # let's get all strings in output\n", - " for string in [1, 2, 3, 4, 5, 7, 8, 9, 10, 11]:\n", - " if plot_structures_widget.value == \"per channel\":\n", - " plotting.plot_per_ch(\n", - " df_to_plot[df_to_plot[\"location\"] == string], plot_info, \"\"\n", - " ) # plot one canvas per channel\n", - " elif plot_structures_widget.value == \"per string\":\n", - " plotting.plot_per_string(\n", - " df_to_plot[df_to_plot[\"location\"] == string], plot_info, \"\"\n", - " ) # plot one canvas per string\n", - "else: # let's get one string in output\n", - " if plot_structures_widget.value == \"per channel\":\n", - " plotting.plot_per_ch(\n", - " df_to_plot[df_to_plot[\"location\"] == strings_widget.value], plot_info, \"\"\n", - " ) # plot one canvas per channel\n", - " elif plot_structures_widget.value == \"per string\":\n", - " plotting.plot_per_string(\n", - " df_to_plot[df_to_plot[\"location\"] == strings_widget.value], plot_info, \"\"\n", - " ) # plot one canvas per string" - ] - }, - { - "cell_type": "markdown", - "id": "17542fbd-a2fb-4474-829a-adb0ef99aae3", - "metadata": { - "tags": [] - }, - "source": [ - "# Plot means vs channels\n", - "Here you can monitor how the **mean value (evaluated over the first 10% of data)** behaves separately for different channels, grouped by string. These mean values are the ones **used to compute percentage variations**. The average value displayed in the legend on the right of the plot generated below shows the average of mean values for a given string." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1c483113-044b-4b98-89fa-9596002a3752", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# ------------------------------------------------------------------------------------------ get means plot\n", - "plot_info[\"plot_style\"] = \"vs ch\"\n", - "plot_info[\"unit_label\"] = plot_info[\"unit\"]\n", - "plot_info[\"parameter\"] = (\n", - " plot_info[\"parameter\"].split(\"_var\")[0]\n", - " if \"_var\" in plot_info[\"parameter\"]\n", - " else plot_info[\"parameter\"]\n", - ")\n", - "plot_info[\"unit_label\"] = plot_info[\"unit\"]\n", - "data = df_param.drop(columns=[param_widget.value])\n", - "data = data.rename(columns={param_widget.value + \"_mean\": param_widget.value})\n", - "plotting.plot_array(data, plot_info, \"\")" - ] - } - ], - "metadata": {}, - "nbformat": 4, - "nbformat_minor": 5 -} From 42829cbb909d49708a19714b26a9c2591ac32676 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 14 Jul 2023 16:29:01 +0200 Subject: [PATCH 151/166] fixed map selection --- src/legend_data_monitor/subsystem.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 5d25acf..138c849 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -6,7 +6,7 @@ import numpy as np import pandas as pd -from legendmeta import LegendMetadata +from legendmeta import JsonDB from pygama.flow import DataLoader from . import utils @@ -472,13 +472,11 @@ def get_channel_map(self): utils.logger.info("... getting channel map") # ------------------------------------------------------------------------- - # load full channel map of this exp and period + # load full channel map of this exp and period (and version) # ------------------------------------------------------------------------- - lmeta = LegendMetadata() - full_channel_map = lmeta.hardware.configuration.channelmaps.on( - timestamp=self.first_timestamp - ) + map_file = os.path.join(self.path, "inputs/hardware/configuration/channelmaps") + full_channel_map = JsonDB(map_file).on(timestamp=self.first_timestamp) df_map = pd.DataFrame(columns=utils.COLUMNS_TO_LOAD) df_map = df_map.set_index("channel") @@ -655,11 +653,11 @@ def get_channel_status(self): utils.logger.info("... getting channel status") # ------------------------------------------------------------------------- - # load full status map of this time selection + # load full status map of this time selection (and version) # ------------------------------------------------------------------------- - lmeta = LegendMetadata() - full_status_map = lmeta.dataprod.config.on( + map_file = os.path.join(self.path, "inputs/dataprod/config") + full_status_map = JsonDB(map_file).on( timestamp=self.first_timestamp, system=self.datatype )["analysis"] From 9ddb2a5e5c68cfcbe93b7811ed240fb1634eaf85 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 14 Jul 2023 14:32:25 +0000 Subject: [PATCH 152/166] style: pre-commit fixes --- ...00-plotting-concatenate_runs_periods.ipynb | 51 +++++++---------- notebook/L200-plotting-individual-runs.ipynb | 56 +++++++++---------- 2 files changed, 44 insertions(+), 63 deletions(-) diff --git a/notebook/L200-plotting-concatenate_runs_periods.ipynb b/notebook/L200-plotting-concatenate_runs_periods.ipynb index 71efc7a..dca5c67 100644 --- a/notebook/L200-plotting-concatenate_runs_periods.ipynb +++ b/notebook/L200-plotting-concatenate_runs_periods.ipynb @@ -35,11 +35,15 @@ "subsystem = \"geds\" # KEEP 'geds' for the moment\n", "folder = \"prod-ref-v2\" # you can change me\n", "version = \"\" # leave an empty string if you're looking at p03 data\n", - "periods = [\"p06\"] # one or more, eg = sorted(os.listdir(f\"/data1/users/calgaro/{folder}/generated/plt/phy/\"))\n", + "periods = [\n", + " \"p06\"\n", + "] # one or more, eg = sorted(os.listdir(f\"/data1/users/calgaro/{folder}/generated/plt/phy/\"))\n", "\n", "# ------------------------------------------------------------------------------------------ remove detectors from the plots\n", "# do you want to remove some detectors? If so, put here their names (or empty list if you want everything included)\n", - "to_be_excluded = [] # [\"V01406A\", \"V01415A\", \"V01387A\", \"P00665C\", \"P00748B\", \"P00748A\", \"B00089D\"]" + "to_be_excluded = (\n", + " []\n", + ") # [\"V01406A\", \"V01415A\", \"V01387A\", \"P00665C\", \"P00748B\", \"P00748A\", \"B00089D\"]" ] }, { @@ -77,9 +81,11 @@ "\n", "%matplotlib widget\n", "\n", - "# ------------------------------------------------------------------------------------------ select one data file \n", + "# ------------------------------------------------------------------------------------------ select one data file\n", "# hypothesis: being these files under the same production folder, we expect them to contain the same keys - if not, an error will appear\n", - "run = sorted(os.listdir(f\"/data1/users/calgaro/{folder}/generated/plt/phy/{periods[0]}/\"))[0]\n", + "run = sorted(\n", + " os.listdir(f\"/data1/users/calgaro/{folder}/generated/plt/phy/{periods[0]}/\")\n", + ")[0]\n", "if version == \"\":\n", " data_file = f\"/data1/users/calgaro/{folder}/generated/plt/phy/{periods[0]}/{run}/l200-{periods[0]}-{run}-phy-{subsystem}.hdf\"\n", "else:\n", @@ -225,7 +231,7 @@ " df_info = pd.DataFrame()\n", " df_param_orig = pd.DataFrame()\n", " df_param_var = pd.DataFrame()\n", - " df_param_mean = pd.DataFrame() \n", + " df_param_mean = pd.DataFrame()\n", "\n", " for period in periods:\n", " runs = sorted(\n", @@ -294,12 +300,8 @@ "# ---------------------------------------------------------------------------------- remove global spikes (if you are looking at cuspEmax)\n", "# remove global spikes events by selecting their amplitude\n", "if \"Cusp\" in param_widget.value:\n", - " new_df_param_orig = new_df_param_orig.loc[\n", - " new_df_param_var[\"value\"] > -10\n", - " ]\n", - " new_df_param_var = new_df_param_var.loc[\n", - " new_df_param_var[\"value\"] > -10\n", - " ]\n", + " new_df_param_orig = new_df_param_orig.loc[new_df_param_var[\"value\"] > -10]\n", + " new_df_param_var = new_df_param_var.loc[new_df_param_var[\"value\"] > -10]\n", " print(\"--> global spikes were removed from cusp plot (threshold: +-10%)!\")\n", "\n", "# ---------------------------------------------------------------------------------- recalculate % variation wrt new mean value for all channels\n", @@ -320,8 +322,11 @@ " new_df_param_var.loc[\n", " new_df_param_var[\"channel\"] == ch, \"value\"\n", " ] = new_ch_var\n", - "\"\"\" \n", - "print(\"...% variations were calculated again over the larger time window (mute me if you don't want to keep run-oriented % variations)!\")\n", + "\"\"\"\n", + "print(\n", + " \"...% variations were calculated again over the larger time window (mute me if you don't want to keep run-oriented % variations)!\"\n", + ")\n", + "\n", "\n", "# ---------------------------------------------------------------------------------- change column names (again, needed for legend-data-monitor plots)\n", "def convert_to_original_format(camel_case_string: str) -> str:\n", @@ -558,25 +563,7 @@ ] } ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.7" - } - }, + "metadata": {}, "nbformat": 4, "nbformat_minor": 5 } diff --git a/notebook/L200-plotting-individual-runs.ipynb b/notebook/L200-plotting-individual-runs.ipynb index 35d7235..6a8cdfa 100644 --- a/notebook/L200-plotting-individual-runs.ipynb +++ b/notebook/L200-plotting-individual-runs.ipynb @@ -40,7 +40,9 @@ "\n", "# ------------------------------------------------------------------------------------------ remove detectors from the plots\n", "# do you want to remove some detectors? If so, put here their names (or empty list if you want everything included)\n", - "to_be_excluded = [] # [\"V01406A\", \"V01415A\", \"V01387A\", \"P00665C\", \"P00748B\", \"P00748A\", \"B00089D\"]" + "to_be_excluded = (\n", + " []\n", + ") # [\"V01406A\", \"V01415A\", \"V01387A\", \"P00665C\", \"P00748B\", \"P00748A\", \"B00089D\"]" ] }, { @@ -527,8 +529,8 @@ "my_df = pd.DataFrame()\n", "my_df[\"mean\"] = grouped_df.mean()\n", "my_df[\"std\"] = grouped_df.std()\n", - "my_df[\"std_2\"] = 2*grouped_df.std()\n", - "my_df[\"std_3\"] = 3*grouped_df.std()\n", + "my_df[\"std_2\"] = 2 * grouped_df.std()\n", + "my_df[\"std_3\"] = 3 * grouped_df.std()\n", "my_df[\"minimum\"] = grouped_df.min()\n", "my_df[\"maximum\"] = grouped_df.max()\n", "\n", @@ -565,7 +567,7 @@ " linewidth=0,\n", " zorder=3,\n", " )\n", - " \n", + "\n", " rect2 = Rectangle(\n", " (current_index - box_width / 2, row[\"mean\"] - row[\"std_2\"]),\n", " box_width,\n", @@ -576,7 +578,7 @@ " linewidth=0,\n", " zorder=3,\n", " )\n", - " \n", + "\n", " rect = Rectangle(\n", " (current_index - box_width / 2, row[\"mean\"] - row[\"std\"]),\n", " box_width,\n", @@ -587,7 +589,7 @@ " linewidth=0,\n", " zorder=2,\n", " )\n", - " \n", + "\n", " ax.add_patch(rect3)\n", " ax.add_patch(rect2)\n", " ax.add_patch(rect)\n", @@ -641,22 +643,32 @@ "ax.hlines(-5, 0, len(name_list) - 1, color=\"tab:green\", zorder=3, linewidth=1)\n", "\n", "# Plot lines for std value thresholds\n", - "ax.hlines(10, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1, linestyle='--')\n", - "ax.hlines(-10, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1, linestyle='--')\n", + "ax.hlines(\n", + " 10, 0, len(name_list) - 1, color=\"tab:orange\", zorder=3, linewidth=1, linestyle=\"--\"\n", + ")\n", + "ax.hlines(\n", + " -10,\n", + " 0,\n", + " len(name_list) - 1,\n", + " color=\"tab:orange\",\n", + " zorder=3,\n", + " linewidth=1,\n", + " linestyle=\"--\",\n", + ")\n", "\n", "# Set labels and title\n", "ax.set_xticks(np.arange(len(name_list)))\n", "ax.set_xticklabels(name_list, rotation=90)\n", "\n", "# Show plot\n", - "x_min=min_input.value\n", - "x_max=max_input.value\n", + "x_min = min_input.value\n", + "x_max = max_input.value\n", "if x_min == 0 and x_max == 0:\n", " x_min = -50\n", " x_max = 50\n", "div = 12\n", - "ax.set_ylim([x_min,x_max])\n", - "ax.set_yticks(np.arange(x_min,x_max,div))\n", + "ax.set_ylim([x_min, x_max])\n", + "ax.set_yticks(np.arange(x_min, x_max, div))\n", "ax.set_ylabel(f\"{param_widget.value} % variation\")\n", "ax.set_title(f\"{period}-{run}\")\n", "plt.tight_layout()\n", @@ -664,25 +676,7 @@ ] } ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.7" - } - }, + "metadata": {}, "nbformat": 4, "nbformat_minor": 5 } From 50167bbae70be5f47c2f18883213a05d26bd19bb Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Mon, 28 Aug 2023 10:39:12 +0200 Subject: [PATCH 153/166] added port input to SC db retrievement --- src/legend_data_monitor/core.py | 4 ++-- src/legend_data_monitor/run.py | 8 +++++++- src/legend_data_monitor/slow_control.py | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index 99c4f68..fbe25c8 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -7,7 +7,7 @@ from . import plotting, slow_control, subsystem, utils -def retrieve_scdb(user_config_path: str, pswd: str): +def retrieve_scdb(user_config_path: str, port: int, pswd: str): """Set the configuration file and the output paths when a user config file is provided. The function to retrieve Slow Control data from database is then automatically called.""" # ------------------------------------------------------------------------- # SSH tunnel to the Slow Control database @@ -59,7 +59,7 @@ def retrieve_scdb(user_config_path: str, pswd: str): # - apply time interval cuts # - get values from SC database (available from LNGS only) # - get limits/units/... from SC databasee (available from LNGS only) - sc_analysis = slow_control.SlowControl(param, pswd, dataset=config["dataset"]) + sc_analysis = slow_control.SlowControl(param, port, pswd, dataset=config["dataset"]) # check if the dataframe is empty or not (no data) if utils.check_empty_df(sc_analysis): diff --git a/src/legend_data_monitor/run.py b/src/legend_data_monitor/run.py index e72cecf..303fadd 100644 --- a/src/legend_data_monitor/run.py +++ b/src/legend_data_monitor/run.py @@ -98,6 +98,10 @@ def add_user_scdb(subparsers): "--config", help="""Path to config file (e.g. \"some_path/config_L200_r001_phy.json\").""", ) + parser_auto_prod.add_argument( + "--port", + help="""Local port.""", + ) parser_auto_prod.add_argument( "--pswd", help="""Password to get access to the Slow Control database (check on Confluence).""", @@ -109,11 +113,13 @@ def user_scdb_cli(args): """Pass command line arguments to :func:`.core.retrieve_scdb`.""" # get the path to the user config file config_file = args.config + # get the lcoal port + port = args.port # get the password to the SC database password = args.pswd # start loading data - legend_data_monitor.core.retrieve_scdb(config_file, password) + legend_data_monitor.core.retrieve_scdb(config_file, port, password) def add_user_config_parser(subparsers): diff --git a/src/legend_data_monitor/slow_control.py b/src/legend_data_monitor/slow_control.py index 8639278..341581f 100644 --- a/src/legend_data_monitor/slow_control.py +++ b/src/legend_data_monitor/slow_control.py @@ -36,7 +36,7 @@ class SlowControl: Or input kwargs separately experiment=, period=, path=, version=, type=; start=&end=, (or window= - ???), or timestamps=, or runs= """ - def __init__(self, parameter: str, pswd: str, **kwargs): + def __init__(self, parameter: str, port: int, pswd: str, **kwargs): # if setup= kwarg was provided, get dict provided # otherwise kwargs is itself already the dict we need with experiment= and period= data_info = kwargs["dataset"] if "dataset" in kwargs else kwargs @@ -59,7 +59,7 @@ def __init__(self, parameter: str, pswd: str, **kwargs): self.sc_parameters = utils.SC_PARAMETERS self.data = pd.DataFrame() self.scdb = LegendSlowControlDB() - self.scdb.connect(password=pswd) + self.scdb.connect(port=port, password=pswd) # check if parameter is within the one listed in settings/SC-params.json if parameter not in self.sc_parameters["SC_DB_params"].keys(): From 4fb7e33078342e259b004624ea716ccab6db515b Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Mon, 28 Aug 2023 10:43:18 +0200 Subject: [PATCH 154/166] added version to maps --- src/legend_data_monitor/subsystem.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 138c849..5bed8f2 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -475,7 +475,7 @@ def get_channel_map(self): # load full channel map of this exp and period (and version) # ------------------------------------------------------------------------- - map_file = os.path.join(self.path, "inputs/hardware/configuration/channelmaps") + map_file = os.path.join(self.path, self.version, "inputs/hardware/configuration/channelmaps") full_channel_map = JsonDB(map_file).on(timestamp=self.first_timestamp) df_map = pd.DataFrame(columns=utils.COLUMNS_TO_LOAD) @@ -656,7 +656,7 @@ def get_channel_status(self): # load full status map of this time selection (and version) # ------------------------------------------------------------------------- - map_file = os.path.join(self.path, "inputs/dataprod/config") + map_file = os.path.join(self.path, self.version, "inputs/dataprod/config") full_status_map = JsonDB(map_file).on( timestamp=self.first_timestamp, system=self.datatype )["analysis"] From d941ffa8f54723acc2c375e196eb74cedfc314f0 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Mon, 28 Aug 2023 10:45:59 +0200 Subject: [PATCH 155/166] updated following SC db changes --- attic/auto_prod/README.md | 2 +- attic/auto_prod/main_sync_code.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/attic/auto_prod/README.md b/attic/auto_prod/README.md index ecc7720..752653e 100644 --- a/attic/auto_prod/README.md +++ b/attic/auto_prod/README.md @@ -1,4 +1,4 @@ -This basic example file can be used to automatically generate monitoring plots, based on new .lh5 dsp/hit files appearing in the production folders. Slow Control data are automatically retrieved from the database. You need to put there the correct password you can find on Confluence. +This basic example file can be used to automatically generate monitoring plots, based on new .lh5 dsp/hit files appearing in the production folders. Slow Control data are automatically retrieved from the database (you need to provide the port you are using to connect to the database together with the password you can find on Confluence). You need to specify the period and run you want to analyze in the script. You can then run the code through diff --git a/attic/auto_prod/main_sync_code.py b/attic/auto_prod/main_sync_code.py index c62702e..c8e0d85 100644 --- a/attic/auto_prod/main_sync_code.py +++ b/attic/auto_prod/main_sync_code.py @@ -292,7 +292,7 @@ utils.logger.debug("\nRetrieving Slow Control data...") scdb_config_file = f"{rsync_path}auto_slow_control.json" -bash_command = f"{cmd} --cleanenv {arg} ~/.local/bin/legend-data-monitor user_scdb --config {scdb_config_file} --pswd BANANE" +bash_command = f"{cmd} --cleanenv {arg} ~/.local/bin/legend-data-monitor user_scdb --config {scdb_config_file} --port YOUR_PORT --pswd BANANE" utils.logger.debug(f"...running command \033[92m{bash_command}\033[0m") subprocess.run(bash_command, shell=True) utils.logger.debug("...SC done!") From 77385be9f0126d58e3b6f7fb73f07033ac26f6d3 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 28 Aug 2023 08:47:33 +0000 Subject: [PATCH 156/166] style: pre-commit fixes --- src/legend_data_monitor/core.py | 4 +++- src/legend_data_monitor/subsystem.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/legend_data_monitor/core.py b/src/legend_data_monitor/core.py index fbe25c8..220896f 100644 --- a/src/legend_data_monitor/core.py +++ b/src/legend_data_monitor/core.py @@ -59,7 +59,9 @@ def retrieve_scdb(user_config_path: str, port: int, pswd: str): # - apply time interval cuts # - get values from SC database (available from LNGS only) # - get limits/units/... from SC databasee (available from LNGS only) - sc_analysis = slow_control.SlowControl(param, port, pswd, dataset=config["dataset"]) + sc_analysis = slow_control.SlowControl( + param, port, pswd, dataset=config["dataset"] + ) # check if the dataframe is empty or not (no data) if utils.check_empty_df(sc_analysis): diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 5bed8f2..12c71ae 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -475,7 +475,9 @@ def get_channel_map(self): # load full channel map of this exp and period (and version) # ------------------------------------------------------------------------- - map_file = os.path.join(self.path, self.version, "inputs/hardware/configuration/channelmaps") + map_file = os.path.join( + self.path, self.version, "inputs/hardware/configuration/channelmaps" + ) full_channel_map = JsonDB(map_file).on(timestamp=self.first_timestamp) df_map = pd.DataFrame(columns=utils.COLUMNS_TO_LOAD) From 128feadcedfa60ab2910623a5734b1ec488d2df0 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Mon, 28 Aug 2023 10:53:33 +0200 Subject: [PATCH 157/166] fix codespell --- src/legend_data_monitor/run.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/legend_data_monitor/run.py b/src/legend_data_monitor/run.py index 303fadd..2fd47fd 100644 --- a/src/legend_data_monitor/run.py +++ b/src/legend_data_monitor/run.py @@ -113,7 +113,7 @@ def user_scdb_cli(args): """Pass command line arguments to :func:`.core.retrieve_scdb`.""" # get the path to the user config file config_file = args.config - # get the lcoal port + # get the local port port = args.port # get the password to the SC database password = args.pswd From 44ccbf418df70d0495614d8f4f5911c51dcc5c12 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Mon, 20 Nov 2023 15:04:30 +0100 Subject: [PATCH 158/166] autogeneration of gain mtg plots --- attic/auto_prod/main_sync_code.py | 462 ++++++++++++++++-------------- attic/auto_prod/monitoring.py | 385 +++++++++++++++++++++++++ 2 files changed, 634 insertions(+), 213 deletions(-) create mode 100644 attic/auto_prod/monitoring.py diff --git a/attic/auto_prod/main_sync_code.py b/attic/auto_prod/main_sync_code.py index c8e0d85..d175e0c 100644 --- a/attic/auto_prod/main_sync_code.py +++ b/attic/auto_prod/main_sync_code.py @@ -1,223 +1,230 @@ -import json import os import re +import json import subprocess - +from pathlib import Path +import monitoring +from legendmeta import LegendMetadata +lmeta = LegendMetadata() from legend_data_monitor import utils -# Directory to monitor -period = "p06" -run = "r003" +# paths +auto_dir_path = "/data2/public/prodenv/prod-blind/tmp/auto" +rsync_path = "/data1/users/calgaro/rsync-env/output/" -# commands to run the container -cmd = "apptainer run" # run command for loading the container -arg = "/data2/public/prodenv/containers/legendexp_legend-base_latest.sif" # container's path -output_folder = "/data1/users/calgaro/prod-ref-v2" # where to store output files of monitoring plots +search_directory = f'{auto_dir_path}/generated/tier/dsp/phy' +def search_latest_folder(my_dir): + directories = [d for d in os.listdir(my_dir) if os.path.isdir(os.path.join(my_dir, d))] + directories.sort(key=lambda x: Path(my_dir, x).stat().st_ctime) + return directories[-1] -# paths -auto_dir_path = ( - "/data2/public/prodenv/prod-blind/tmp/auto" # where to retrieve lh5 dsp/hit files -) -source_dir = f"{auto_dir_path}/generated/tier/dsp/phy/{period}/{run}/" # same as auto_dir_path, but we look for a specific run of a given period -rsync_path = "/data1/users/calgaro/rsync-env/output/" # where to store some output files that are used by this script to keep trace of what has been already analyzed +# Period to monitor +period = "p07" # search_latest_folder(search_directory) +# Run to monitor +search_directory = os.path.join(search_directory, period) +run = search_latest_folder(search_directory) + +source_dir = f"{auto_dir_path}/generated/tier/hit/phy/{period}/{run}/" + +# commands to run the container +cmd = "apptainer run" +arg = "/data2/public/prodenv/containers/legendexp_legend-base_latest.sif" +output_folder = "/data1/users/calgaro/prod-ref-v2" #"auto_prova" # =========================================================================================== # BEGINNING OF THE ANALYSIS -# =========================================================================================== - # =========================================================================================== # Configs definition -# =========================================================================================== # define slow control dict scdb = { - "output": output_folder, - "dataset": { - "experiment": "L200", - "period": period, - "version": "", - "path": auto_dir_path, - "type": "phy", - "runs": int(run.split("r")[-1]), - }, - "saving": "overwrite", # LEAVE ME LIKE THIS - "slow_control": { # here you can put the parameters you want to retrieve from Slow Control - "parameters": [ - "DaqLeft-Temp1", - "DaqLeft-Temp2", - "DaqRight-Temp1", - "DaqRight-Temp2", - "RREiT", - "RRNTe", - "RRSTe", - "ZUL_T_RR", - ] - }, + "output": output_folder, + "dataset": { + "experiment": "L200", + "period": period, + "version": "", + "path": auto_dir_path, + "type": "phy", + "runs": int(run.split('r')[-1]) + }, + "saving": "overwrite", + "slow_control": { + "parameters": [ + "DaqLeft-Temp1", + "DaqLeft-Temp2", + "DaqRight-Temp1", + "DaqRight-Temp2", + "RREiT", + "RRNTe", + "RRSTe", + "ZUL_T_RR" + ] + } } with open(f"{rsync_path}auto_slow_control.json", "w") as f: json.dump(scdb, f) # define geds dict my_config = { - "output": output_folder, - "dataset": { - "experiment": "L200", - "period": period, - "version": "", - "path": auto_dir_path, - "type": "phy", - "runs": int(run.split("r")[-1]), - }, - "saving": "append", # LEAVE ME LIKE THIS - "subsystems": { - "geds": { - "Event rate in pulser events": { - "parameters": "event_rate", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "time_window": "20S", - }, - "Event rate in FCbsln events": { - "parameters": "event_rate", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "time_window": "20S", - }, - "Baselines (dsp/baseline) in pulser events": { - "parameters": "baseline", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T", - }, - "Baselines (dsp/baseline) in FCbsln events": { - "parameters": "baseline", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T", - }, - "Mean baselines (dsp/bl_mean) in pulser events": { - "parameters": "bl_mean", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T", - }, - "Mean baselines (dsp/bl_mean) in FCbsln events": { - "parameters": "bl_mean", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T", - }, - "Uncalibrated gain (dsp/cuspEmax) in pulser events": { - "parameters": "cuspEmax", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T", - }, - "Uncalibrated gain (dsp/cuspEmax) in FCbsln events": { - "parameters": "cuspEmax", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T", - }, - "Calibrated gain (hit/cuspEmax_ctc_cal) in pulser events": { - "parameters": "cuspEmax_ctc_cal", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T", - }, - "Calibrated gain (hit/cuspEmax_ctc_cal) in FCbsln events": { - "parameters": "cuspEmax_ctc_cal", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T", - }, - "Noise (dsp/bl_std) in pulser events": { - "parameters": "bl_std", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T", - }, - "Noise (dsp/bl_std) in FCbsln events": { - "parameters": "bl_std", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T", - }, - "A/E (from dsp) in pulser events": { - "parameters": "AoE_Custom", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T", - }, - "A/E (from dsp) in FCbsln events": { - "parameters": "AoE_Custom", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T", - }, - } - }, + "output": output_folder, + "dataset": { + "experiment": "L200", + "period": period, + "version": "", + "path": auto_dir_path, + "type": "phy", + "runs": int(run.split('r')[-1]) + }, + "saving": "append", + "subsystems": { + "geds": { + "Event rate in pulser events": { + "parameters": "event_rate", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "time_window": "20S" + }, + "Event rate in FCbsln events": { + "parameters": "event_rate", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "time_window": "20S" + }, + "Baselines (dsp/baseline) in pulser events": { + "parameters": "baseline", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T" + }, + "Baselines (dsp/baseline) in FCbsln events": { + "parameters": "baseline", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T" + }, + "Mean baselines (dsp/bl_mean) in pulser events": { + "parameters": "bl_mean", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T" + }, + "Mean baselines (dsp/bl_mean) in FCbsln events": { + "parameters": "bl_mean", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T" + }, + "Uncalibrated gain (dsp/cuspEmax) in pulser events": { + "parameters": "cuspEmax", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T" + }, + "Uncalibrated gain (dsp/cuspEmax) in FCbsln events": { + "parameters": "cuspEmax", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T" + }, + "Calibrated gain (hit/cuspEmax_ctc_cal) in pulser events": { + "parameters": "cuspEmax_ctc_cal", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T" + }, + "Calibrated gain (hit/cuspEmax_ctc_cal) in FCbsln events": { + "parameters": "cuspEmax_ctc_cal", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T" + }, + "Noise (dsp/bl_std) in pulser events": { + "parameters": "bl_std", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T" + }, + "Noise (dsp/bl_std) in FCbsln events": { + "parameters": "bl_std", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T" + }, + "A/E (from dsp) in pulser events": { + "parameters": "AoE_Custom", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T" + }, + "A/E (from dsp) in FCbsln events": { + "parameters": "AoE_Custom", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T" + } + } + } } with open(f"{rsync_path}auto_config.json", "w") as f: json.dump(my_config, f) # =========================================================================================== # Get not-analyzed files -# =========================================================================================== +# =========================================================================================== # File to store the timestamp of the last check -timestamp_file = f"{rsync_path}last_checked_{period}_{run}.txt" +timestamp_file = f'{rsync_path}last_checked_{period}_{run}.txt' # Read the last checked timestamp last_checked = None if os.path.exists(timestamp_file): - with open(timestamp_file) as file: + with open(timestamp_file, 'r') as file: last_checked = file.read().strip() # Get the current timestamp @@ -240,25 +247,25 @@ # get only files with correct ending (and discard the ones that are still under processing) if len(matches) == 6: correct_files.append(new_file) - + new_files = correct_files # =========================================================================================== # Analyze not-analyzed files -# =========================================================================================== +# =========================================================================================== # If new files are found, run the shell command if new_files: # Replace this command with your desired shell command - command = "echo New files found: \033[91m{}\033[0m".format(" ".join(new_files)) + command = 'echo New files found: \033[91m{}\033[0m'.format(' '.join(new_files)) subprocess.run(command, shell=True) # create the file containing the keys with correct format to be later used by legend-data-monitor (it must be created every time with the new keys; NOT APPEND) utils.logger.debug("\nCreating the file containing the keys to inspect...") - with open(f"{rsync_path}new_keys.filekeylist", "w") as f: + with open(f'{rsync_path}new_keys.filekeylist', 'w') as f: for new_file in new_files: - new_file = new_file.split("-tier")[0] - f.write(new_file + "\n") + new_file = new_file.split('-tier')[0] + f.write(new_file + '\n') utils.logger.debug("...done!") # ...run the plot production @@ -271,28 +278,57 @@ subprocess.run(bash_command, shell=True) utils.logger.debug("...done!") + # =========================================================================================== + # Analyze Slow Control data (for the full run - overwrite of previous info) + # =========================================================================================== + # run slow control data retrieving + utils.logger.debug("\nRetrieving Slow Control data...") + scdb_config_file = f"{rsync_path}auto_slow_control.json" + + bash_command = f"{cmd} --cleanenv {arg} ~/.local/bin/legend-data-monitor user_scdb --config {scdb_config_file} --port 8282 --pswd THE_PASSWORD" + utils.logger.debug(f"...running command \033[92m{bash_command}\033[0m") + subprocess.run(bash_command, shell=True) + utils.logger.debug("...SC done!") + # Update the last checked timestamp -with open(timestamp_file, "w") as file: - file.write( - str( - os.path.getmtime( - max( - [os.path.join(source_dir, file) for file in current_files], - key=os.path.getmtime, - ) - ) - ) - ) +with open(timestamp_file, 'w') as file: + file.write(str(os.path.getmtime(max([os.path.join(source_dir, file) for file in current_files], key=os.path.getmtime)))) # =========================================================================================== -# Analyze Slow Control data (for the full run - overwrite of previous info) -# =========================================================================================== +# Generate Static Plots (eg gain monitoring) +# =========================================================================================== + +# create monitoring-plots folder +mtg_folder = os.path.join(output_folder, 'generated/mtg') +if not os.path.exists(mtg_folder): + os.makedirs(mtg_folder) + utils.logger.debug(f"Folder '{mtg_folder}' created.") +mtg_folder = os.path.join(mtg_folder, 'phy') +if not os.path.exists(mtg_folder): + os.makedirs(mtg_folder) + utils.logger.debug(f"Folder '{mtg_folder}' created.") + +# define dataset depending on the (latest) monitored period/run +avail_runs = sorted(os.listdir(os.path.join(mtg_folder.replace('mtg', 'plt'), period))) +dataset = { + period: avail_runs +} +utils.logger.debug(f'This is the dataset: {dataset}') -# run slow control data retrieving -utils.logger.debug("\nRetrieving Slow Control data...") -scdb_config_file = f"{rsync_path}auto_slow_control.json" +# get first timestamp of first run of the given period +start_key = (sorted(os.listdir(os.path.join(search_directory, avail_runs[0])))[0]).split('-')[4] +meta = LegendMetadata("/data2/public/prodenv/prod-blind/tmp/auto/inputs/") +# get channel map +chmap = meta.channelmap(start_key) +# get string info +str_chns = {} +for string in range(13): + if string in [0, 6]: continue + channels = [f"ch{chmap[ged].daq.rawid}" for ged, dic in chmap.items() if dic["system"]=='geds' and dic["analysis"]["processable"]==True and dic["location"]["string"]==string] + if len(channels)>0: + str_chns[string] = channels -bash_command = f"{cmd} --cleanenv {arg} ~/.local/bin/legend-data-monitor user_scdb --config {scdb_config_file} --port YOUR_PORT --pswd BANANE" -utils.logger.debug(f"...running command \033[92m{bash_command}\033[0m") -subprocess.run(bash_command, shell=True) -utils.logger.debug("...SC done!") +# get pulser monitoring plot for a full period +phy_mtg_data = mtg_folder.replace('mtg', 'plt') +if dataset[period] != []: + monitoring.stability(phy_mtg_data, mtg_folder, dataset, chmap, str_chns, 1, False) \ No newline at end of file diff --git a/attic/auto_prod/monitoring.py b/attic/auto_prod/monitoring.py new file mode 100644 index 0000000..2efbdbd --- /dev/null +++ b/attic/auto_prod/monitoring.py @@ -0,0 +1,385 @@ +# +# Big part of the code made by William Quinn - this is an adaptation to read auto monitoring hdf files for phy data +# and automatically create monitoring plots that'll be lared uploaded in the dashboard. +# !!! this is not taking account of global pulser spike tagging +# + +import matplotlib +import matplotlib.pyplot as plt +from matplotlib import cycler, patches +from matplotlib.colors import LogNorm +import os, json +import lgdo.lh5_store as lh5 +import numpy as np +from lgdo import ls , show +from legendmeta import LegendMetadata +import pandas as pd +import h5py + +from tqdm.notebook import tqdm + +IPython_default = plt.rcParams.copy() +SMALL_SIZE = 8 +MEDIUM_SIZE = 10 +BIGGER_SIZE = 12 + +figsize = (4.5, 3) + +plt.rc('font', size=SMALL_SIZE) # controls default text sizes +plt.rc('axes', titlesize=SMALL_SIZE) # fontsize of the axes title +plt.rc('axes', labelsize=SMALL_SIZE) # fontsize of the x and y labels +plt.rc('xtick', labelsize=SMALL_SIZE) # fontsize of the tick labels +plt.rc('ytick', labelsize=SMALL_SIZE) # fontsize of the tick labels +plt.rc('legend', fontsize=SMALL_SIZE) # legend fontsize +plt.rc('figure', titlesize=SMALL_SIZE) # fontsize of the figure title +plt.rcParams["font.family"] = "serif" + +matplotlib.rcParams['mathtext.fontset'] = 'stix' +#matplotlib.rcParams['font.family'] = 'STIXGeneral' + +marker_size = 2 +line_width = 0.5 +cap_size = 0.5 +cap_thick = 0.5 + +# colors = cycler('color', ['b', 'g', 'r', 'm', 'y', 'k', 'c', '#8c564b']) +plt.rc('axes', facecolor='white', edgecolor='black', + axisbelow=True, grid=True) + +def get_calib_pars(period, run_list, channel, partition, escale=2039, fit='linear', path='/data2/public/prodenv/prod-blind/tmp/auto'):#'/data2/public/prodenv/prod-blind/ref/v02.00'): + sto = lh5.LH5Store() + + calib_data = { + 'fep': [], + 'cal_const': [], + 'run_start': [], + 'run_end': [], + 'res': [], + 'res_quad': [] + } + + tier = 'pht' if partition is True else 'hit' + key_result = 'partition_ecal' if partition is True else 'ecal' + + for run in run_list: + prod_ref = path + timestamp = os.listdir(f'{path}/generated/par/{tier}/cal/{period}/{run}')[-1].split('-')[-2] + if tier == 'pht': + pars = json.load( + open( + f'{path}/generated/par/{tier}/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_{tier}.json', + 'r') + ) + else: + pars = json.load( + open( + f'{path}/generated/par/{tier}/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_{tier}_results.json', + 'r') + ) + + # for FEP peak, we want to look at the behaviour over time --> take 'ecal' results (not partition ones!) + if tier == 'pht': + try: + fep_peak_pos = pars[channel]['results']['ecal']['cuspEmax_ctc_cal']['pk_fits']['2614.5']['parameters_in_ADC']['mu'] + fep_gain = fep_peak_pos/2614.5 + except: + fep_peak_pos=0 + fep_gain=0 + else: + try: + fep_peak_pos = pars[channel]['ecal']['cuspEmax_ctc_cal']['peak_fit_pars']['2614.5'][1] + fep_gain = fep_peak_pos/2614.5 + except: + fep_peak_pos=0 + fep_gain=0 + + if tier == 'pht': + try: + if fit == "linear": + Qbb_fwhm = pars[channel]['results'][key_result]['cuspEmax_ctc_cal']['eres_linear']['Qbb_fwhm(keV)'] + Qbb_fwhm_quad = pars[channel]['results'][key_result]['cuspEmax_ctc_cal']['eres_quadratic']['Qbb_fwhm(keV)'] + else: + Qbb_fwhm = pars[channel]['results'][key_result]['cuspEmax_ctc_cal']['eres_quadratic']['Qbb_fwhm(keV)'] + except: + Qbb_fwhm = np.nan + else: + try: + Qbb_fwhm = pars[channel][key_result]['cuspEmax_ctc_cal']['Qbb_fwhm'] + Qbb_fwhm_quad = np.nan + except: + Qbb_fwhm = np.nan + Qbb_fwhm_quad = np.nan + + pars = json.load( + open( + f'{path}/generated/par/{tier}/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_{tier}.json', + 'r') + ) + + if tier == 'pht': + try: + cal_const_a = pars[channel]['pars']['operations']['cuspEmax_ctc_cal']['parameters']['a'] + cal_const_b = pars[channel]['pars']['operations']['cuspEmax_ctc_cal']['parameters']['b'] + cal_const_c = pars[channel]['pars']['operations']['cuspEmax_ctc_cal']['parameters']['c'] + fep_cal = cal_const_c + fep_peak_pos * cal_const_b + cal_const_a * fep_peak_pos ** 2 + except: + fep_cal = np.nan + else: + try: + cal_const_a = pars[channel]['operations']['cuspEmax_ctc_cal']['parameters']['a'] + cal_const_b = pars[channel]['operations']['cuspEmax_ctc_cal']['parameters']['b'] + if period in ['p07'] or (period == 'p06' and run == 'r005'): + cal_const_c = pars[channel]['operations']['cuspEmax_ctc_cal']['parameters']['c'] + fep_cal = cal_const_c + fep_peak_pos * cal_const_b + cal_const_a * fep_peak_pos ** 2 + else: + fep_cal = cal_const_b + cal_const_a * fep_peak_pos + except: + fep_cal = np.nan + + if run not in os.listdir(f'{prod_ref}/generated/tier/dsp/phy/{period}'): + # get timestamp for additional-final cal run (only for FEP gain display) + run_files = sorted(os.listdir(f'{prod_ref}/generated/tier/dsp/cal/{period}/{run}/')) + run_end_time = pd.to_datetime( + sto.read_object("ch1027201/dsp/timestamp", + f'{prod_ref}/generated/tier/dsp/cal/{period}/{run}/' + run_files[-1])[0][-1], + unit='s' + ) + run_start_time = run_end_time + Qbb_fwhm = np.nan + Qbb_fwhm_quad = np.nan + else: + run_files = sorted(os.listdir(f'{prod_ref}/generated/tier/dsp/phy/{period}/{run}/')) + run_start_time = pd.to_datetime( + sto.read_object("ch1027201/dsp/timestamp", + f'{prod_ref}/generated/tier/dsp/phy/{period}/{run}/' + run_files[0])[0][0], + unit='s' + ) + run_end_time = pd.to_datetime( + sto.read_object("ch1027201/dsp/timestamp", + f'{prod_ref}/generated/tier/dsp/phy/{period}/{run}/' + run_files[-1])[0][-1], + unit='s' + ) + + calib_data['fep'].append(fep_gain) + calib_data['cal_const'].append(fep_cal) + calib_data['run_start'].append(run_start_time) + calib_data['run_end'].append(run_end_time) + calib_data['res'].append(Qbb_fwhm) + calib_data['res_quad'].append(Qbb_fwhm_quad) + + print(channel, calib_data['res']) + + for key, item in calib_data.items(): calib_data[key] = np.array(item) + + init_cal_const, init_fep = 0, 0 + for cal_, fep_ in zip(calib_data['cal_const'], calib_data['fep']): + if init_fep == 0 and fep_ != 0: init_fep = fep_ + if init_cal_const == 0 and cal_ != 0: init_cal_const = cal_ + + if init_cal_const == 0: + calib_data['cal_const_diff'] = np.array([np.nan for i in range(len(calib_data['cal_const']))]) + else: + calib_data['cal_const_diff'] = (calib_data['cal_const'] - init_cal_const)/init_cal_const * escale + + if init_fep == 0: + calib_data['fep_diff'] = np.array([np.nan for i in range(len(calib_data['fep']))]) + else: + calib_data['fep_diff'] = (calib_data['fep'] - init_fep)/init_fep * escale + + return calib_data + +def custom_resampler(group, min_required_data_points=100): + if len(group) >= min_required_data_points: + return group + else: + return None + +def get_dfs(phy_mtg_data, period, run_list): + phy_mtg_data = os.path.join(phy_mtg_data, period) + runs = os.listdir(phy_mtg_data) + geds_df_cuspEmax_abs = pd.DataFrame() + geds_df_cuspEmax_var = pd.DataFrame() + geds_df_cuspEmax_abs_corr = pd.DataFrame() + geds_df_cuspEmax_var_corr = pd.DataFrame() + puls_df_cuspEmax_abs = pd.DataFrame() + puls_df_cuspEmax_var = pd.DataFrame() + + for r in runs: + # keep only specified runs + if r not in run_list: + continue + files = os.listdir(os.path.join(phy_mtg_data, r)) + # get only geds files + hdf_geds = [f for f in files if "hdf" in f and "geds" in f] + if len(hdf_geds) == 0: + return None, None, None + hdf_geds = os.path.join(phy_mtg_data, r, hdf_geds[0]) # should be 1 + # get only puls files + hdf_puls = [f for f in files if "hdf" in f and "pulser01ana" in f] + hdf_puls = os.path.join(phy_mtg_data, r, hdf_puls[0]) # should be 1 + + # GEDS DATA ======================================================================================================== + geds_abs = pd.read_hdf(hdf_geds, key=f'IsPulser_Cuspemax') + geds_df_cuspEmax_abs = pd.concat([geds_df_cuspEmax_abs, geds_abs], ignore_index=False, axis=0) + # GEDS PULS-CORRECTED DATA ========================================================================================= + geds_puls_abs = pd.read_hdf(hdf_geds, key=f'IsPulser_Cuspemax_pulser01anaDiff') + geds_df_cuspEmax_abs_corr = pd.concat([geds_df_cuspEmax_abs_corr, geds_puls_abs], ignore_index=False, axis=0) + # PULS DATA ======================================================================================================== + puls_abs = pd.read_hdf(hdf_puls, key=f'IsPulser_Cuspemax') + puls_df_cuspEmax_abs = pd.concat([puls_df_cuspEmax_abs, puls_abs], ignore_index=False, axis=0) + + return geds_df_cuspEmax_abs, geds_df_cuspEmax_abs_corr, puls_df_cuspEmax_abs + +def get_pulser_data(period, dfs, channel, escale): + + ser_pul_cusp = dfs[2][1027203] # selection of pulser channel + ser_ged_cusp = dfs[0][channel] # selection of ged channel + + ser_ged_cusp = ser_ged_cusp.dropna() + ser_pul_cusp = ser_pul_cusp.loc[ser_ged_cusp.index] + hour_counts = ser_pul_cusp.resample("H").count() >= 100 + + ged_cusp_av = np.average(ser_ged_cusp.values[:360]) # switch to first 10% of available time interval? + pul_cusp_av = np.average(ser_pul_cusp.values[:360]) + # first entries of dataframe are NaN ... how to solve it? + if np.isnan(ged_cusp_av): + print('the average is a nan') + print(ser_pul_cusp_without_nan) + return None + + ser_ged_cuspdiff = pd.Series((ser_ged_cusp.values - ged_cusp_av)/ged_cusp_av, index=ser_ged_cusp.index.values).dropna() + ser_pul_cuspdiff = pd.Series((ser_pul_cusp.values - pul_cusp_av)/pul_cusp_av, index=ser_pul_cusp.index.values).dropna() + ser_ged_cuspdiff_kev = pd.Series(ser_ged_cuspdiff*escale, index=ser_ged_cuspdiff.index.values) + ser_pul_cuspdiff_kev = pd.Series(ser_pul_cuspdiff*escale, index=ser_pul_cuspdiff.index.values) + + #is_valid = (df_ged.tp_0_est < 5e4) & (df_ged.tp_0_est > 4.8e4) & (df_ged.trapTmax > 200) # global pulser removal (these columns are not present in our dfs) + + ged_cusp_hr_av_ = ser_ged_cuspdiff_kev.resample('H').mean() + ged_cusp_hr_av_[~hour_counts.values] = np.nan + ged_cusp_hr_std = ser_ged_cuspdiff_kev.resample('H').std() + ged_cusp_hr_std[~hour_counts.values] = np.nan + pul_cusp_hr_av_ = ser_pul_cuspdiff_kev.resample('H').mean() + pul_cusp_hr_av_[~hour_counts.values] = np.nan + pul_cusp_hr_std = ser_pul_cuspdiff_kev.resample('H').std() + pul_cusp_hr_std[~hour_counts.values] = np.nan + + ged_cusp_corr = ser_ged_cuspdiff - ser_pul_cuspdiff + ged_cusp_corr = pd.Series(ged_cusp_corr[ser_ged_cuspdiff.index.values]) + ged_cusp_corr_kev = ged_cusp_corr*escale + ged_cusp_corr_kev = pd.Series(ged_cusp_corr_kev[ged_cusp_corr.index.values]) + ged_cusp_cor_hr_av_ = ged_cusp_corr_kev.resample('H').mean() + ged_cusp_cor_hr_av_[~hour_counts.values] = np.nan + ged_cusp_cor_hr_std = ged_cusp_corr_kev.resample('H').std() + ged_cusp_cor_hr_std[~hour_counts.values] = np.nan + + return { + 'ged': { + 'cusp': ser_ged_cusp, + 'cuspdiff': ser_ged_cuspdiff, + 'cuspdiff_kev': ser_ged_cuspdiff_kev, + 'cusp_av': ged_cusp_hr_av_, + 'cusp_std': ged_cusp_hr_std + }, + 'pul_cusp': { + 'raw': ser_pul_cusp, + 'rawdiff': ser_pul_cuspdiff, + 'kevdiff': ser_pul_cuspdiff_kev, + 'kevdiff_av': pul_cusp_hr_av_, + 'kevdiff_std': pul_cusp_hr_std + }, + 'diff': { + 'raw': None, + 'rawdiff': ged_cusp_corr, + 'kevdiff': ged_cusp_corr_kev, + 'kevdiff_av': ged_cusp_cor_hr_av_, + 'kevdiff_std': ged_cusp_cor_hr_std + } + } + + +def stability(phy_mtg_data, output_folder, dataset, chmap, str_chns, xlim_idx, partition=False, quadratic=False, zoom=True): + + period_list = list(dataset.keys()) + for index_i in tqdm(range(len(period_list))): + period = period_list[index_i] + run_list = dataset[period] + + geds_df_cuspEmax_abs, geds_df_cuspEmax_abs_corr, puls_df_cuspEmax_abs = get_dfs(phy_mtg_data, period, run_list) + if geds_df_cuspEmax_abs is None or geds_df_cuspEmax_abs_corr is None or puls_df_cuspEmax_abs is None: + continue + dfs = [geds_df_cuspEmax_abs, geds_df_cuspEmax_abs_corr, puls_df_cuspEmax_abs] + + string_list = list(str_chns.keys()) + for index_j in tqdm(range(len(string_list))): + string = string_list[index_j] + + channel_list = str_chns[string] + do_channel = True + for index_k in range(len(channel_list)): + channel = channel_list[index_k] + pulser_data = get_pulser_data(period, dfs, int(channel.split('ch')[-1]), escale=2039) + if pulser_data is None: + continue + + fig, ax = plt.subplots(figsize=(12,4)) + + pars_data = get_calib_pars(period, run_list, channel, partition, escale=2039) + + if channel != 'ch1120004': + + # plt.plot(pulser_data['ged']['cusp_av'], 'C0', label='GED') + plt.plot(pulser_data['pul_cusp']['kevdiff_av'], 'C2', label='PULS01') + plt.plot(pulser_data['diff']['kevdiff_av'], 'C4', label='GED corrected') + + plt.fill_between( + pulser_data['diff']['kevdiff_av'].index.values, + y1=[float(i) - float(j) for i, j in zip(pulser_data['diff']['kevdiff_av'].values, pulser_data['diff']['kevdiff_std'].values)], + y2=[float(i) + float(j) for i, j in zip(pulser_data['diff']['kevdiff_av'].values, pulser_data['diff']['kevdiff_std'].values)], + color='k', alpha=0.2, label=r'±1$\sigma$' + ) + + plt.plot(pars_data['run_start'] - pd.Timedelta(hours=5), pars_data['fep_diff'], 'kx', label='FEP gain') + plt.plot(pars_data['run_start'] - pd.Timedelta(hours=5), pars_data['cal_const_diff'], 'rx', label='cal. const. diff') + + for ti in pars_data['run_start']: plt.axvline(ti, color='k') + + t0 = pars_data['run_start'] + for i in range(len(t0)): + if i == len(pars_data['run_start'])-1: + plt.plot([t0[i], t0[i] + pd.Timedelta(days=7)], [pars_data['res'][i]/2, pars_data['res'][i]/2], 'b-') + plt.plot([t0[i], t0[i] + pd.Timedelta(days=7)], [-pars_data['res'][i]/2, -pars_data['res'][i]/2], 'b-') + if quadratic: + plt.plot([t0[i], t0[i] + pd.Timedelta(days=7)], [pars_data['res_quad'][i]/2, pars_data['res_quad'][i]/2], 'y-') + plt.plot([t0[i], t0[i] + pd.Timedelta(days=7)], [-pars_data['res_quad'][i]/2, -pars_data['res_quad'][i]/2], 'y-') + else: + plt.plot([t0[i], t0[i+1]], [pars_data['res'][i]/2, pars_data['res'][i]/2], 'b-') + plt.plot([t0[i], t0[i+1]], [-pars_data['res'][i]/2, -pars_data['res'][i]/2], 'b-') + if quadratic: + plt.plot([t0[i], t0[i+1]], [pars_data['res_quad'][i]/2, pars_data['res_quad'][i]/2], 'y-') + plt.plot([t0[i], t0[i+1]], [-pars_data['res_quad'][i]/2, -pars_data['res_quad'][i]/2], 'y-') + if str(pars_data['res'][i]/2*1.1) != 'nan' and i Date: Mon, 20 Nov 2023 15:05:01 +0100 Subject: [PATCH 159/166] new pulser tagging based on trapTmax --- src/legend_data_monitor/subsystem.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 12c71ae..50f1d4b 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -362,10 +362,12 @@ def flag_pulser_events(self, pulser=None): # high_thr = 12500 # if self.above_period_3_included(): # high_thr = 2500 - high_thr = 12500 - self.data = self.data.set_index("datetime") - wf_max_rel = self.data["wf_max"] - self.data["baseline"] - pulser_timestamps = self.data[wf_max_rel > high_thr].index + #high_thr = 12500 + #self.data = self.data.set_index("datetime") + #wf_max_rel = self.data["wf_max"] - self.data["baseline"] + #pulser_timestamps = self.data[wf_max_rel > high_thr].index + trapTmax = self.data["trapTmax"] + pulser_timestamps = self.data[trapTmax > 200].index # flag them self.data["flag_pulser"] = False self.data.loc[pulser_timestamps, "flag_pulser"] = True @@ -665,17 +667,19 @@ def get_channel_status(self): # AUX channels are not in status map, so at least for pulser/pulser01ana/FCbsln/muon need default on self.channel_map["status"] = "on" + self.channel_map = self.channel_map.set_index("name") - # 'channel_name', for instance, has the format 'DNNXXXS' (= "name" column) + # 'channel_name' has the format 'DNNXXXS' (= "name" column) for channel_name in full_status_map: # status map contains all channels, check if this channel is in our subsystem if channel_name in self.channel_map.index: self.channel_map.at[channel_name, "status"] = full_status_map[ channel_name - ]["usability"] + ]["usability"] #if full_status_map[channel_name]["processable"] is not False else "off" + # ------------------------------------------------------------------------- # quick-fix to remove detectors while status maps are not updated - # (p03 channels who are not properly behaving in calib data from George's analysis) + # ------------------------------------------------------------------------- for channel_name in utils.REMOVE_DETS: # status map contains all channels, check if this channel is in our subsystem if channel_name in self.channel_map.index: @@ -695,7 +699,7 @@ def get_parameters_for_dataloader(self, parameters: typing.Union[str, list_of_st params = ["timestamp"] # --- always get wf_max & baseline for pulser for flagging if self.type in ["pulser", "pulser01ana", "FCbsln", "muon"]: - params += ["wf_max", "baseline"] + params += ["wf_max", "baseline", "trapTmax"] # --- add user requested parameters # change to list for convenience, if input was single From bcaa0f6a468c9d1ea7a1bfd49fe1586cf0639214 Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 8 Mar 2024 15:53:46 +0100 Subject: [PATCH 160/166] fixed docu --- docs/source/manuals/avail_pars.rst | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/source/manuals/avail_pars.rst b/docs/source/manuals/avail_pars.rst index baf9a70..c9989c3 100644 --- a/docs/source/manuals/avail_pars.rst +++ b/docs/source/manuals/avail_pars.rst @@ -40,12 +40,10 @@ Available parameters In general, all saved timestamps will be plotted. But you can also pick some given entries (see the config file), eg. - * you can pick only ``pulser``, ``phy`` or ``all`` entries + + - you can pick only ``phy`` or ``all`` entries + - you can flag special events, like ``pulser``, ``pulser01ana``, ``FCbsln`` or ``muon`` events .. important:: Special parameters are typically saved under ``settings/special-parameters.json`` and carefully handled when loading data. - -.. warning:: - - Quality cuts have not been introduced! From c71542be807707d658e883a335ba328b5e93ab0d Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 8 Mar 2024 16:01:13 +0100 Subject: [PATCH 161/166] changes for new prodenv --- src/legend_data_monitor/analysis_data.py | 12 +- src/legend_data_monitor/slow_control.py | 5 + src/legend_data_monitor/subsystem.py | 135 +++++++++++++++++++---- 3 files changed, 126 insertions(+), 26 deletions(-) diff --git a/src/legend_data_monitor/analysis_data.py b/src/legend_data_monitor/analysis_data.py index c6af7c5..52e82ce 100644 --- a/src/legend_data_monitor/analysis_data.py +++ b/src/legend_data_monitor/analysis_data.py @@ -213,8 +213,8 @@ def select_events(self): utils.logger.info("... keeping only muon events") self.data = self.data[self.data["flag_muon"]] elif self.evt_type == "phy": - utils.logger.info("... keeping only physical (non-pulser) events") - self.data = self.data[~self.data["flag_pulser"]] + utils.logger.info("... keeping only physical (non-pulser & non-FCbsln & non-muon) events") + self.data = self.data[(~self.data["flag_pulser"]) | (~self.data["flag_fc_bsln"]) | (~self.data["flag_muon"])] elif self.evt_type == "K_events": utils.logger.info("... selecting K lines in physical (non-pulser) events") self.data = self.data[~self.data["flag_pulser"]] @@ -467,6 +467,11 @@ def channel_mean(self): # we need to repeat this operation for each param, otherwise only the mean of the last one survives self.data = concat_channel_mean(self, channel_mean) + if self.data.empty: + utils.logger.error( + f"\033[91mFor '{self.evt_type}' there are no flagged data (empty dataframe) -> no entries in the output file! Stop here the study.\033[0m" + ) + def calculate_variation(self): """ Add a new column containing the percentage variation of a given parameter. @@ -485,6 +490,9 @@ def calculate_variation(self): def is_spms(self) -> bool: """Return True if 'location' (=fiber) and 'position' (=top, bottom) are strings.""" + if self.data.empty: + return False + if isinstance(self.data.iloc[0]["location"], str) and isinstance( self.data.iloc[0]["position"], str ): diff --git a/src/legend_data_monitor/slow_control.py b/src/legend_data_monitor/slow_control.py index 341581f..f7fc564 100644 --- a/src/legend_data_monitor/slow_control.py +++ b/src/legend_data_monitor/slow_control.py @@ -150,6 +150,11 @@ def get_sc_param(self): get_table_df["lower_lim"] = lower_lim get_table_df["upper_lim"] = upper_lim + # fix time column + get_table_df['tstamp'] = pd.to_datetime(get_table_df['tstamp'], utc=True) + # fix value column + get_table_df['value'] = pd.to_numeric(get_table_df['value'], errors='coerce') # handle errors as NaN + # remove unnecessary columns remove_cols = ["rack", "group", "sensor", "name", "almask"] for col in remove_cols: diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 50f1d4b..071fc14 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -85,6 +85,12 @@ def __init__(self, sub_type: str, **kwargs): self.path = data_info["path"] self.version = data_info["version"] + # data stored under these folders have been partitioned! + if "tmp-auto" not in self.path: + self.partition = True + else: + self.partition = False + ( self.timerange, self.first_timestamp, @@ -180,14 +186,19 @@ def get_data(self, parameters: typing.Union[str, list_of_str, tuple_of_str] = () now = datetime.now() self.data = dl.load() utils.logger.info(f"Total time to load data: {(datetime.now() - now)}") - + # ------------------------------------------------------------------------- # polish things up # ------------------------------------------------------------------------- - tier = "hit" if "hit" in dbconfig["columns"] else "dsp" + tier = "dsp" + if "hit" in dbconfig["columns"]: + tier = "hit" + if self.partition and "pht" in dbconfig["columns"]: + tier = "pht" # remove columns we don't need - self.data = self.data.drop([f"{tier}_idx", "file"], axis=1) + if "{tier}_idx" in list(self.data.columns): + self.data = self.data.drop([f"{tier}_idx", "file"], axis=1) # rename channel to channel self.data = self.data.rename(columns={f"{tier}_table": "channel"}) @@ -357,15 +368,6 @@ def flag_pulser_events(self, pulser=None): else: # --- if no object was provided, it's understood that this itself is a pulser - # find timestamps over threshold - # if self.below_period_3_excluded(): - # high_thr = 12500 - # if self.above_period_3_included(): - # high_thr = 2500 - #high_thr = 12500 - #self.data = self.data.set_index("datetime") - #wf_max_rel = self.data["wf_max"] - self.data["baseline"] - #pulser_timestamps = self.data[wf_max_rel > high_thr].index trapTmax = self.data["trapTmax"] pulser_timestamps = self.data[trapTmax > 200].index # flag them @@ -490,10 +492,10 @@ def get_channel_map(self): # ------------------------------------------------------------------------- # for L60-p01 and L200-p02, keep using 'fcid' as channel - if int(self.period[-1]) < 3: + if int(self.period.split('p')[-1]) < 3: ch_flag = "fcid" # from L200-p03 included, uses 'rawid' as channel - if int(self.period[-1]) >= 3: + if int(self.period.split('p')[-1]) >= 3: ch_flag = "rawid" # dct_key is the subdict corresponding to one chmap entry @@ -675,7 +677,7 @@ def get_channel_status(self): if channel_name in self.channel_map.index: self.channel_map.at[channel_name, "status"] = full_status_map[ channel_name - ]["usability"] #if full_status_map[channel_name]["processable"] is not False else "off" + ]["usability"] # ------------------------------------------------------------------------- # quick-fix to remove detectors while status maps are not updated @@ -723,12 +725,12 @@ def get_parameters_for_dataloader(self, parameters: typing.Union[str, list_of_st # some parameters might be repeated twice - remove return list(np.unique(params)) + def construct_dataloader_configs(self, params: list_of_str): """ Construct DL and DB configs for DataLoader based on parameters and which tiers they belong to. params: list of parameters to load - data_info: dict of containing type:, path:, version: """ # ------------------------------------------------------------------------- # which parameters belong to which tiers @@ -740,6 +742,9 @@ def construct_dataloader_configs(self, params: list_of_str): # ... param_tiers = pd.DataFrame.from_dict(utils.PARAMETER_TIERS.items()) param_tiers.columns = ["param", "tier"] + # change from 'hit' to 'pht' when loading data for partitioned files + if self.partition: + param_tiers["tier"] = param_tiers["tier"].replace("hit", "pht") # which of these are requested by user param_tiers = param_tiers[param_tiers["param"].isin(params)] @@ -764,18 +769,26 @@ def construct_dataloader_configs(self, params: list_of_str): # set up tiers depending on what parameters we need # ------------------------------------------------------------------------- - # only load channels that are on (off channels will crash DataLoader) - chlist = list(self.channel_map[self.channel_map["status"] == "on"]["channel"]) + # only load channels that are on or ac + chlist = list(self.channel_map[(self.channel_map["status"] == "on") | (self.channel_map["status"] == "ac")]["channel"]) + # remove off channels removed_chs = list( self.channel_map[self.channel_map["status"] == "off"]["name"] ) utils.logger.info(f"...... not loading channels with status off: {removed_chs}") + """ + # remove on channels that are not processable (ie have no hit entries) + removed_unprocessable_chs = list( + self.channel_map[self.channel_map["status"] == "on_not_process"]["name"] + ) + utils.logger.info(f"...... not loading on channels that are not processable: {removed_unprocessable_chs}") + """ # for L60-p01 and L200-p02, keep using 3 digits - if int(self.period[-1]) < 3: + if int(self.period.split('p')[-1]) < 3: ch_format = "ch:03d" # from L200-p03 included, uses 7 digits - if int(self.period[-1]) >= 3: + if int(self.period.split('p')[-1]) >= 3: ch_format = "ch:07d" # --- settings for each tier @@ -791,7 +804,8 @@ def construct_dataloader_configs(self, params: list_of_str): + tier + ".lh5" ) - dict_dbconfig["table_format"][tier] = "ch{" + ch_format + "}/" + tier + dict_dbconfig["table_format"][tier] = "ch{" + ch_format + "}/" + dict_dbconfig["table_format"][tier] += "hit" if tier == "pht" else tier dict_dbconfig["tables"][tier] = chlist @@ -800,7 +814,7 @@ def construct_dataloader_configs(self, params: list_of_str): # dict_dlconfig['levels'][tier] = {'tiers': [tier]} # --- settings based on tier hierarchy - order = {"hit": 3, "dsp": 2, "raw": 1} + order = {"pht": 3, "dsp": 2, "raw": 1} if self.partition else {"hit": 3, "dsp": 2, "raw": 1} param_tiers["order"] = param_tiers["tier"].apply(lambda x: order[x]) # find highest tier max_tier = param_tiers[param_tiers["order"] == param_tiers["order"].max()][ @@ -813,6 +827,79 @@ def construct_dataloader_configs(self, params: list_of_str): return dict_dlconfig, dict_dbconfig + + def construct_dataloader_configs_unprocess(self, params: list_of_str): + """ + Construct DL and DB configs for DataLoader based on parameters and which tiers they belong to. + + params: list of parameters to load + """ + + param_tiers = pd.DataFrame.from_dict(utils.PARAMETER_TIERS.items()) + param_tiers.columns = ["param", "tier"] + + param_tiers = param_tiers[param_tiers["param"].isin(params)] + utils.logger.info("...... loading parameters from the following tiers:") + utils.logger.debug(param_tiers) + + # ------------------------------------------------------------------------- + # set up config templates + # ------------------------------------------------------------------------- + + dict_dbconfig = { + "data_dir": os.path.join(self.path, self.version, "generated", "tier"), + "tier_dirs": {}, + "file_format": {}, + "table_format": {}, + "tables": {}, + "columns": {}, + } + dict_dlconfig = {"channel_map": {}, "levels": {}} + + # ------------------------------------------------------------------------- + # set up tiers depending on what parameters we need + # ------------------------------------------------------------------------- + + chlist = list(self.channel_map[(self.channel_map["status"] == "on_not_process") | (self.channel_map["status"] == "ac")]["channel"]) + utils.logger.info(f"...... loading on channels that are not processable: {chlist}") + + # for L60-p01 and L200-p02, keep using 3 digits + if int(self.period.split('p')[-1]) < 3: + ch_format = "ch:03d" + # from L200-p03 included, uses 7 digits + if int(self.period.split('p')[-1]) >= 3: + ch_format = "ch:07d" + + for tier, tier_params in param_tiers.groupby("tier"): + dict_dbconfig["tier_dirs"][tier] = f"/{tier}" + dict_dbconfig["file_format"][tier] = ( + "/{type}/" + + self.period # {period} + + "/{run}/{exp}-" + + self.period # {period} + + "-{run}-{type}-{timestamp}-tier_" + + tier + + ".lh5" + ) + dict_dbconfig["table_format"][tier] = "ch{" + ch_format + "}/" + tier + + dict_dbconfig["tables"][tier] = chlist + + dict_dbconfig["columns"][tier] = list(tier_params["param"]) + + # --- settings based on tier hierarchy + order = {"hit": 3, "dsp": 2, "raw": 1} + param_tiers["order"] = param_tiers["tier"].apply(lambda x: order[x]) + max_tier = param_tiers[param_tiers["order"] == param_tiers["order"].max()][ + "tier" + ].iloc[0] + dict_dlconfig["levels"][max_tier] = { + "tiers": list(param_tiers["tier"].unique()) + } + + return dict_dlconfig, dict_dbconfig + + def remove_timestamps(self, remove_keys: dict): """Remove timestamps from the dataframes for a given channel. @@ -846,13 +933,13 @@ def remove_timestamps(self, remove_keys: dict): self.data = self.data.reset_index() def below_period_3_excluded(self) -> bool: - if int(self.period[-1]) < 3: + if int(self.period.split('p')[-1]) < 3: return True else: return False def above_period_3_included(self) -> bool: - if int(self.period[-1]) >= 3: + if int(self.period.split('p')[-1]) >= 3: return True else: return False From 43e9a1f3791326702ab11859fc00ef8f72327bb8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 15:13:06 +0000 Subject: [PATCH 162/166] style: pre-commit fixes --- attic/auto_prod/main_sync_code.py | 423 ++++++------ attic/auto_prod/monitoring.py | 603 ++++++++++++------ docs/source/manuals/avail_pars.rst | 2 +- ...00-plotting-concatenate_runs_periods.ipynb | 90 +-- notebook/L200-plotting-individual-runs.ipynb | 94 +-- src/legend_data_monitor/analysis_data.py | 12 +- src/legend_data_monitor/save_data.py | 8 +- src/legend_data_monitor/slow_control.py | 12 +- src/legend_data_monitor/subsystem.py | 63 +- 9 files changed, 786 insertions(+), 521 deletions(-) diff --git a/attic/auto_prod/main_sync_code.py b/attic/auto_prod/main_sync_code.py index d175e0c..f641be3 100644 --- a/attic/auto_prod/main_sync_code.py +++ b/attic/auto_prod/main_sync_code.py @@ -1,10 +1,12 @@ +import json import os import re -import json import subprocess from pathlib import Path + import monitoring from legendmeta import LegendMetadata + lmeta = LegendMetadata() from legend_data_monitor import utils @@ -12,14 +14,19 @@ auto_dir_path = "/data2/public/prodenv/prod-blind/tmp/auto" rsync_path = "/data1/users/calgaro/rsync-env/output/" -search_directory = f'{auto_dir_path}/generated/tier/dsp/phy' +search_directory = f"{auto_dir_path}/generated/tier/dsp/phy" + + def search_latest_folder(my_dir): - directories = [d for d in os.listdir(my_dir) if os.path.isdir(os.path.join(my_dir, d))] - directories.sort(key=lambda x: Path(my_dir, x).stat().st_ctime) - return directories[-1] + directories = [ + d for d in os.listdir(my_dir) if os.path.isdir(os.path.join(my_dir, d)) + ] + directories.sort(key=lambda x: Path(my_dir, x).stat().st_ctime) + return directories[-1] + # Period to monitor -period = "p07" # search_latest_folder(search_directory) +period = "p07" # search_latest_folder(search_directory) # Run to monitor search_directory = os.path.join(search_directory, period) run = search_latest_folder(search_directory) @@ -29,7 +36,7 @@ def search_latest_folder(my_dir): # commands to run the container cmd = "apptainer run" arg = "/data2/public/prodenv/containers/legendexp_legend-base_latest.sif" -output_folder = "/data1/users/calgaro/prod-ref-v2" #"auto_prova" +output_folder = "/data1/users/calgaro/prod-ref-v2" # "auto_prova" # =========================================================================================== # BEGINNING OF THE ANALYSIS @@ -38,193 +45,193 @@ def search_latest_folder(my_dir): # define slow control dict scdb = { - "output": output_folder, - "dataset": { - "experiment": "L200", - "period": period, - "version": "", - "path": auto_dir_path, - "type": "phy", - "runs": int(run.split('r')[-1]) - }, - "saving": "overwrite", - "slow_control": { - "parameters": [ - "DaqLeft-Temp1", - "DaqLeft-Temp2", - "DaqRight-Temp1", - "DaqRight-Temp2", - "RREiT", - "RRNTe", - "RRSTe", - "ZUL_T_RR" - ] - } + "output": output_folder, + "dataset": { + "experiment": "L200", + "period": period, + "version": "", + "path": auto_dir_path, + "type": "phy", + "runs": int(run.split("r")[-1]), + }, + "saving": "overwrite", + "slow_control": { + "parameters": [ + "DaqLeft-Temp1", + "DaqLeft-Temp2", + "DaqRight-Temp1", + "DaqRight-Temp2", + "RREiT", + "RRNTe", + "RRSTe", + "ZUL_T_RR", + ] + }, } with open(f"{rsync_path}auto_slow_control.json", "w") as f: json.dump(scdb, f) # define geds dict my_config = { - "output": output_folder, - "dataset": { - "experiment": "L200", - "period": period, - "version": "", - "path": auto_dir_path, - "type": "phy", - "runs": int(run.split('r')[-1]) - }, - "saving": "append", - "subsystems": { - "geds": { - "Event rate in pulser events": { - "parameters": "event_rate", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "time_window": "20S" - }, - "Event rate in FCbsln events": { - "parameters": "event_rate", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "time_window": "20S" - }, - "Baselines (dsp/baseline) in pulser events": { - "parameters": "baseline", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T" - }, - "Baselines (dsp/baseline) in FCbsln events": { - "parameters": "baseline", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T" - }, - "Mean baselines (dsp/bl_mean) in pulser events": { - "parameters": "bl_mean", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T" - }, - "Mean baselines (dsp/bl_mean) in FCbsln events": { - "parameters": "bl_mean", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T" - }, - "Uncalibrated gain (dsp/cuspEmax) in pulser events": { - "parameters": "cuspEmax", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T" - }, - "Uncalibrated gain (dsp/cuspEmax) in FCbsln events": { - "parameters": "cuspEmax", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T" - }, - "Calibrated gain (hit/cuspEmax_ctc_cal) in pulser events": { - "parameters": "cuspEmax_ctc_cal", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T" - }, - "Calibrated gain (hit/cuspEmax_ctc_cal) in FCbsln events": { - "parameters": "cuspEmax_ctc_cal", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T" - }, - "Noise (dsp/bl_std) in pulser events": { - "parameters": "bl_std", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T" - }, - "Noise (dsp/bl_std) in FCbsln events": { - "parameters": "bl_std", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T" - }, - "A/E (from dsp) in pulser events": { - "parameters": "AoE_Custom", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T" - }, - "A/E (from dsp) in FCbsln events": { - "parameters": "AoE_Custom", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T" - } - } - } + "output": output_folder, + "dataset": { + "experiment": "L200", + "period": period, + "version": "", + "path": auto_dir_path, + "type": "phy", + "runs": int(run.split("r")[-1]), + }, + "saving": "append", + "subsystems": { + "geds": { + "Event rate in pulser events": { + "parameters": "event_rate", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "time_window": "20S", + }, + "Event rate in FCbsln events": { + "parameters": "event_rate", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "time_window": "20S", + }, + "Baselines (dsp/baseline) in pulser events": { + "parameters": "baseline", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T", + }, + "Baselines (dsp/baseline) in FCbsln events": { + "parameters": "baseline", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T", + }, + "Mean baselines (dsp/bl_mean) in pulser events": { + "parameters": "bl_mean", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T", + }, + "Mean baselines (dsp/bl_mean) in FCbsln events": { + "parameters": "bl_mean", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T", + }, + "Uncalibrated gain (dsp/cuspEmax) in pulser events": { + "parameters": "cuspEmax", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T", + }, + "Uncalibrated gain (dsp/cuspEmax) in FCbsln events": { + "parameters": "cuspEmax", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T", + }, + "Calibrated gain (hit/cuspEmax_ctc_cal) in pulser events": { + "parameters": "cuspEmax_ctc_cal", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T", + }, + "Calibrated gain (hit/cuspEmax_ctc_cal) in FCbsln events": { + "parameters": "cuspEmax_ctc_cal", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T", + }, + "Noise (dsp/bl_std) in pulser events": { + "parameters": "bl_std", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T", + }, + "Noise (dsp/bl_std) in FCbsln events": { + "parameters": "bl_std", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "AUX_ratio": True, + "variation": True, + "time_window": "10T", + }, + "A/E (from dsp) in pulser events": { + "parameters": "AoE_Custom", + "event_type": "pulser", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T", + }, + "A/E (from dsp) in FCbsln events": { + "parameters": "AoE_Custom", + "event_type": "FCbsln", + "plot_structure": "per string", + "resampled": "only", + "plot_style": "vs time", + "variation": True, + "time_window": "10T", + }, + } + }, } with open(f"{rsync_path}auto_config.json", "w") as f: json.dump(my_config, f) # =========================================================================================== # Get not-analyzed files -# =========================================================================================== +# =========================================================================================== # File to store the timestamp of the last check -timestamp_file = f'{rsync_path}last_checked_{period}_{run}.txt' +timestamp_file = f"{rsync_path}last_checked_{period}_{run}.txt" # Read the last checked timestamp last_checked = None if os.path.exists(timestamp_file): - with open(timestamp_file, 'r') as file: + with open(timestamp_file) as file: last_checked = file.read().strip() # Get the current timestamp @@ -247,25 +254,25 @@ def search_latest_folder(my_dir): # get only files with correct ending (and discard the ones that are still under processing) if len(matches) == 6: correct_files.append(new_file) - + new_files = correct_files # =========================================================================================== # Analyze not-analyzed files -# =========================================================================================== +# =========================================================================================== # If new files are found, run the shell command if new_files: # Replace this command with your desired shell command - command = 'echo New files found: \033[91m{}\033[0m'.format(' '.join(new_files)) + command = "echo New files found: \033[91m{}\033[0m".format(" ".join(new_files)) subprocess.run(command, shell=True) # create the file containing the keys with correct format to be later used by legend-data-monitor (it must be created every time with the new keys; NOT APPEND) utils.logger.debug("\nCreating the file containing the keys to inspect...") - with open(f'{rsync_path}new_keys.filekeylist', 'w') as f: + with open(f"{rsync_path}new_keys.filekeylist", "w") as f: for new_file in new_files: - new_file = new_file.split('-tier')[0] - f.write(new_file + '\n') + new_file = new_file.split("-tier")[0] + f.write(new_file + "\n") utils.logger.debug("...done!") # ...run the plot production @@ -280,7 +287,7 @@ def search_latest_folder(my_dir): # =========================================================================================== # Analyze Slow Control data (for the full run - overwrite of previous info) - # =========================================================================================== + # =========================================================================================== # run slow control data retrieving utils.logger.debug("\nRetrieving Slow Control data...") scdb_config_file = f"{rsync_path}auto_slow_control.json" @@ -291,44 +298,60 @@ def search_latest_folder(my_dir): utils.logger.debug("...SC done!") # Update the last checked timestamp -with open(timestamp_file, 'w') as file: - file.write(str(os.path.getmtime(max([os.path.join(source_dir, file) for file in current_files], key=os.path.getmtime)))) +with open(timestamp_file, "w") as file: + file.write( + str( + os.path.getmtime( + max( + [os.path.join(source_dir, file) for file in current_files], + key=os.path.getmtime, + ) + ) + ) + ) # =========================================================================================== # Generate Static Plots (eg gain monitoring) -# =========================================================================================== +# =========================================================================================== # create monitoring-plots folder -mtg_folder = os.path.join(output_folder, 'generated/mtg') +mtg_folder = os.path.join(output_folder, "generated/mtg") if not os.path.exists(mtg_folder): os.makedirs(mtg_folder) utils.logger.debug(f"Folder '{mtg_folder}' created.") -mtg_folder = os.path.join(mtg_folder, 'phy') +mtg_folder = os.path.join(mtg_folder, "phy") if not os.path.exists(mtg_folder): os.makedirs(mtg_folder) utils.logger.debug(f"Folder '{mtg_folder}' created.") # define dataset depending on the (latest) monitored period/run -avail_runs = sorted(os.listdir(os.path.join(mtg_folder.replace('mtg', 'plt'), period))) -dataset = { - period: avail_runs -} -utils.logger.debug(f'This is the dataset: {dataset}') +avail_runs = sorted(os.listdir(os.path.join(mtg_folder.replace("mtg", "plt"), period))) +dataset = {period: avail_runs} +utils.logger.debug(f"This is the dataset: {dataset}") # get first timestamp of first run of the given period -start_key = (sorted(os.listdir(os.path.join(search_directory, avail_runs[0])))[0]).split('-')[4] -meta = LegendMetadata("/data2/public/prodenv/prod-blind/tmp/auto/inputs/") +start_key = ( + sorted(os.listdir(os.path.join(search_directory, avail_runs[0])))[0] +).split("-")[4] +meta = LegendMetadata("/data2/public/prodenv/prod-blind/tmp/auto/inputs/") # get channel map chmap = meta.channelmap(start_key) # get string info str_chns = {} for string in range(13): - if string in [0, 6]: continue - channels = [f"ch{chmap[ged].daq.rawid}" for ged, dic in chmap.items() if dic["system"]=='geds' and dic["analysis"]["processable"]==True and dic["location"]["string"]==string] - if len(channels)>0: + if string in [0, 6]: + continue + channels = [ + f"ch{chmap[ged].daq.rawid}" + for ged, dic in chmap.items() + if dic["system"] == "geds" + and dic["analysis"]["processable"] == True + and dic["location"]["string"] == string + ] + if len(channels) > 0: str_chns[string] = channels # get pulser monitoring plot for a full period -phy_mtg_data = mtg_folder.replace('mtg', 'plt') +phy_mtg_data = mtg_folder.replace("mtg", "plt") if dataset[period] != []: - monitoring.stability(phy_mtg_data, mtg_folder, dataset, chmap, str_chns, 1, False) \ No newline at end of file + monitoring.stability(phy_mtg_data, mtg_folder, dataset, chmap, str_chns, 1, False) diff --git a/attic/auto_prod/monitoring.py b/attic/auto_prod/monitoring.py index 2efbdbd..2b58450 100644 --- a/attic/auto_prod/monitoring.py +++ b/attic/auto_prod/monitoring.py @@ -1,21 +1,17 @@ # -# Big part of the code made by William Quinn - this is an adaptation to read auto monitoring hdf files for phy data +# Big part of the code made by William Quinn - this is an adaptation to read auto monitoring hdf files for phy data # and automatically create monitoring plots that'll be lared uploaded in the dashboard. # !!! this is not taking account of global pulser spike tagging # +import json +import os + +import lgdo.lh5_store as lh5 import matplotlib import matplotlib.pyplot as plt -from matplotlib import cycler, patches -from matplotlib.colors import LogNorm -import os, json -import lgdo.lh5_store as lh5 import numpy as np -from lgdo import ls , show -from legendmeta import LegendMetadata import pandas as pd -import h5py - from tqdm.notebook import tqdm IPython_default = plt.rcParams.copy() @@ -25,17 +21,17 @@ figsize = (4.5, 3) -plt.rc('font', size=SMALL_SIZE) # controls default text sizes -plt.rc('axes', titlesize=SMALL_SIZE) # fontsize of the axes title -plt.rc('axes', labelsize=SMALL_SIZE) # fontsize of the x and y labels -plt.rc('xtick', labelsize=SMALL_SIZE) # fontsize of the tick labels -plt.rc('ytick', labelsize=SMALL_SIZE) # fontsize of the tick labels -plt.rc('legend', fontsize=SMALL_SIZE) # legend fontsize -plt.rc('figure', titlesize=SMALL_SIZE) # fontsize of the figure title +plt.rc("font", size=SMALL_SIZE) # controls default text sizes +plt.rc("axes", titlesize=SMALL_SIZE) # fontsize of the axes title +plt.rc("axes", labelsize=SMALL_SIZE) # fontsize of the x and y labels +plt.rc("xtick", labelsize=SMALL_SIZE) # fontsize of the tick labels +plt.rc("ytick", labelsize=SMALL_SIZE) # fontsize of the tick labels +plt.rc("legend", fontsize=SMALL_SIZE) # legend fontsize +plt.rc("figure", titlesize=SMALL_SIZE) # fontsize of the figure title plt.rcParams["font.family"] = "serif" -matplotlib.rcParams['mathtext.fontset'] = 'stix' -#matplotlib.rcParams['font.family'] = 'STIXGeneral' +matplotlib.rcParams["mathtext.fontset"] = "stix" +# matplotlib.rcParams['font.family'] = 'STIXGeneral' marker_size = 2 line_width = 0.5 @@ -43,157 +39,220 @@ cap_thick = 0.5 # colors = cycler('color', ['b', 'g', 'r', 'm', 'y', 'k', 'c', '#8c564b']) -plt.rc('axes', facecolor='white', edgecolor='black', - axisbelow=True, grid=True) - -def get_calib_pars(period, run_list, channel, partition, escale=2039, fit='linear', path='/data2/public/prodenv/prod-blind/tmp/auto'):#'/data2/public/prodenv/prod-blind/ref/v02.00'): +plt.rc("axes", facecolor="white", edgecolor="black", axisbelow=True, grid=True) + + +def get_calib_pars( + period, + run_list, + channel, + partition, + escale=2039, + fit="linear", + path="/data2/public/prodenv/prod-blind/tmp/auto", +): #'/data2/public/prodenv/prod-blind/ref/v02.00'): sto = lh5.LH5Store() calib_data = { - 'fep': [], - 'cal_const': [], - 'run_start': [], - 'run_end': [], - 'res': [], - 'res_quad': [] + "fep": [], + "cal_const": [], + "run_start": [], + "run_end": [], + "res": [], + "res_quad": [], } - tier = 'pht' if partition is True else 'hit' - key_result = 'partition_ecal' if partition is True else 'ecal' + tier = "pht" if partition is True else "hit" + key_result = "partition_ecal" if partition is True else "ecal" for run in run_list: prod_ref = path - timestamp = os.listdir(f'{path}/generated/par/{tier}/cal/{period}/{run}')[-1].split('-')[-2] - if tier == 'pht': + timestamp = os.listdir(f"{path}/generated/par/{tier}/cal/{period}/{run}")[ + -1 + ].split("-")[-2] + if tier == "pht": pars = json.load( open( - f'{path}/generated/par/{tier}/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_{tier}.json', - 'r') + f"{path}/generated/par/{tier}/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_{tier}.json" + ) ) else: pars = json.load( open( - f'{path}/generated/par/{tier}/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_{tier}_results.json', - 'r') + f"{path}/generated/par/{tier}/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_{tier}_results.json" + ) ) # for FEP peak, we want to look at the behaviour over time --> take 'ecal' results (not partition ones!) - if tier == 'pht': + if tier == "pht": try: - fep_peak_pos = pars[channel]['results']['ecal']['cuspEmax_ctc_cal']['pk_fits']['2614.5']['parameters_in_ADC']['mu'] - fep_gain = fep_peak_pos/2614.5 + fep_peak_pos = pars[channel]["results"]["ecal"]["cuspEmax_ctc_cal"][ + "pk_fits" + ]["2614.5"]["parameters_in_ADC"]["mu"] + fep_gain = fep_peak_pos / 2614.5 except: - fep_peak_pos=0 - fep_gain=0 + fep_peak_pos = 0 + fep_gain = 0 else: try: - fep_peak_pos = pars[channel]['ecal']['cuspEmax_ctc_cal']['peak_fit_pars']['2614.5'][1] - fep_gain = fep_peak_pos/2614.5 + fep_peak_pos = pars[channel]["ecal"]["cuspEmax_ctc_cal"][ + "peak_fit_pars" + ]["2614.5"][1] + fep_gain = fep_peak_pos / 2614.5 except: - fep_peak_pos=0 - fep_gain=0 - - if tier == 'pht': + fep_peak_pos = 0 + fep_gain = 0 + + if tier == "pht": try: if fit == "linear": - Qbb_fwhm = pars[channel]['results'][key_result]['cuspEmax_ctc_cal']['eres_linear']['Qbb_fwhm(keV)'] - Qbb_fwhm_quad = pars[channel]['results'][key_result]['cuspEmax_ctc_cal']['eres_quadratic']['Qbb_fwhm(keV)'] + Qbb_fwhm = pars[channel]["results"][key_result]["cuspEmax_ctc_cal"][ + "eres_linear" + ]["Qbb_fwhm(keV)"] + Qbb_fwhm_quad = pars[channel]["results"][key_result][ + "cuspEmax_ctc_cal" + ]["eres_quadratic"]["Qbb_fwhm(keV)"] else: - Qbb_fwhm = pars[channel]['results'][key_result]['cuspEmax_ctc_cal']['eres_quadratic']['Qbb_fwhm(keV)'] + Qbb_fwhm = pars[channel]["results"][key_result]["cuspEmax_ctc_cal"][ + "eres_quadratic" + ]["Qbb_fwhm(keV)"] except: Qbb_fwhm = np.nan - else: + else: try: - Qbb_fwhm = pars[channel][key_result]['cuspEmax_ctc_cal']['Qbb_fwhm'] + Qbb_fwhm = pars[channel][key_result]["cuspEmax_ctc_cal"]["Qbb_fwhm"] Qbb_fwhm_quad = np.nan except: Qbb_fwhm = np.nan Qbb_fwhm_quad = np.nan - + pars = json.load( open( - f'{path}/generated/par/{tier}/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_{tier}.json', - 'r') + f"{path}/generated/par/{tier}/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_{tier}.json" + ) ) - if tier == 'pht': + if tier == "pht": try: - cal_const_a = pars[channel]['pars']['operations']['cuspEmax_ctc_cal']['parameters']['a'] - cal_const_b = pars[channel]['pars']['operations']['cuspEmax_ctc_cal']['parameters']['b'] - cal_const_c = pars[channel]['pars']['operations']['cuspEmax_ctc_cal']['parameters']['c'] - fep_cal = cal_const_c + fep_peak_pos * cal_const_b + cal_const_a * fep_peak_pos ** 2 + cal_const_a = pars[channel]["pars"]["operations"]["cuspEmax_ctc_cal"][ + "parameters" + ]["a"] + cal_const_b = pars[channel]["pars"]["operations"]["cuspEmax_ctc_cal"][ + "parameters" + ]["b"] + cal_const_c = pars[channel]["pars"]["operations"]["cuspEmax_ctc_cal"][ + "parameters" + ]["c"] + fep_cal = ( + cal_const_c + + fep_peak_pos * cal_const_b + + cal_const_a * fep_peak_pos**2 + ) except: fep_cal = np.nan else: try: - cal_const_a = pars[channel]['operations']['cuspEmax_ctc_cal']['parameters']['a'] - cal_const_b = pars[channel]['operations']['cuspEmax_ctc_cal']['parameters']['b'] - if period in ['p07'] or (period == 'p06' and run == 'r005'): - cal_const_c = pars[channel]['operations']['cuspEmax_ctc_cal']['parameters']['c'] - fep_cal = cal_const_c + fep_peak_pos * cal_const_b + cal_const_a * fep_peak_pos ** 2 + cal_const_a = pars[channel]["operations"]["cuspEmax_ctc_cal"][ + "parameters" + ]["a"] + cal_const_b = pars[channel]["operations"]["cuspEmax_ctc_cal"][ + "parameters" + ]["b"] + if period in ["p07"] or (period == "p06" and run == "r005"): + cal_const_c = pars[channel]["operations"]["cuspEmax_ctc_cal"][ + "parameters" + ]["c"] + fep_cal = ( + cal_const_c + + fep_peak_pos * cal_const_b + + cal_const_a * fep_peak_pos**2 + ) else: fep_cal = cal_const_b + cal_const_a * fep_peak_pos except: fep_cal = np.nan - if run not in os.listdir(f'{prod_ref}/generated/tier/dsp/phy/{period}'): + if run not in os.listdir(f"{prod_ref}/generated/tier/dsp/phy/{period}"): # get timestamp for additional-final cal run (only for FEP gain display) - run_files = sorted(os.listdir(f'{prod_ref}/generated/tier/dsp/cal/{period}/{run}/')) + run_files = sorted( + os.listdir(f"{prod_ref}/generated/tier/dsp/cal/{period}/{run}/") + ) run_end_time = pd.to_datetime( - sto.read_object("ch1027201/dsp/timestamp", - f'{prod_ref}/generated/tier/dsp/cal/{period}/{run}/' + run_files[-1])[0][-1], - unit='s' + sto.read_object( + "ch1027201/dsp/timestamp", + f"{prod_ref}/generated/tier/dsp/cal/{period}/{run}/" + + run_files[-1], + )[0][-1], + unit="s", ) run_start_time = run_end_time Qbb_fwhm = np.nan Qbb_fwhm_quad = np.nan else: - run_files = sorted(os.listdir(f'{prod_ref}/generated/tier/dsp/phy/{period}/{run}/')) + run_files = sorted( + os.listdir(f"{prod_ref}/generated/tier/dsp/phy/{period}/{run}/") + ) run_start_time = pd.to_datetime( - sto.read_object("ch1027201/dsp/timestamp", - f'{prod_ref}/generated/tier/dsp/phy/{period}/{run}/' + run_files[0])[0][0], - unit='s' + sto.read_object( + "ch1027201/dsp/timestamp", + f"{prod_ref}/generated/tier/dsp/phy/{period}/{run}/" + run_files[0], + )[0][0], + unit="s", ) run_end_time = pd.to_datetime( - sto.read_object("ch1027201/dsp/timestamp", - f'{prod_ref}/generated/tier/dsp/phy/{period}/{run}/' + run_files[-1])[0][-1], - unit='s' + sto.read_object( + "ch1027201/dsp/timestamp", + f"{prod_ref}/generated/tier/dsp/phy/{period}/{run}/" + + run_files[-1], + )[0][-1], + unit="s", ) - - calib_data['fep'].append(fep_gain) - calib_data['cal_const'].append(fep_cal) - calib_data['run_start'].append(run_start_time) - calib_data['run_end'].append(run_end_time) - calib_data['res'].append(Qbb_fwhm) - calib_data['res_quad'].append(Qbb_fwhm_quad) - - print(channel, calib_data['res']) - - for key, item in calib_data.items(): calib_data[key] = np.array(item) - + + calib_data["fep"].append(fep_gain) + calib_data["cal_const"].append(fep_cal) + calib_data["run_start"].append(run_start_time) + calib_data["run_end"].append(run_end_time) + calib_data["res"].append(Qbb_fwhm) + calib_data["res_quad"].append(Qbb_fwhm_quad) + + print(channel, calib_data["res"]) + + for key, item in calib_data.items(): + calib_data[key] = np.array(item) + init_cal_const, init_fep = 0, 0 - for cal_, fep_ in zip(calib_data['cal_const'], calib_data['fep']): - if init_fep == 0 and fep_ != 0: init_fep = fep_ - if init_cal_const == 0 and cal_ != 0: init_cal_const = cal_ - + for cal_, fep_ in zip(calib_data["cal_const"], calib_data["fep"]): + if init_fep == 0 and fep_ != 0: + init_fep = fep_ + if init_cal_const == 0 and cal_ != 0: + init_cal_const = cal_ + if init_cal_const == 0: - calib_data['cal_const_diff'] = np.array([np.nan for i in range(len(calib_data['cal_const']))]) + calib_data["cal_const_diff"] = np.array( + [np.nan for i in range(len(calib_data["cal_const"]))] + ) else: - calib_data['cal_const_diff'] = (calib_data['cal_const'] - init_cal_const)/init_cal_const * escale + calib_data["cal_const_diff"] = ( + (calib_data["cal_const"] - init_cal_const) / init_cal_const * escale + ) if init_fep == 0: - calib_data['fep_diff'] = np.array([np.nan for i in range(len(calib_data['fep']))]) + calib_data["fep_diff"] = np.array( + [np.nan for i in range(len(calib_data["fep"]))] + ) else: - calib_data['fep_diff'] = (calib_data['fep'] - init_fep)/init_fep * escale - + calib_data["fep_diff"] = (calib_data["fep"] - init_fep) / init_fep * escale + return calib_data + def custom_resampler(group, min_required_data_points=100): if len(group) >= min_required_data_points: return group else: return None + def get_dfs(phy_mtg_data, period, run_list): phy_mtg_data = os.path.join(phy_mtg_data, period) runs = os.listdir(phy_mtg_data) @@ -209,177 +268,309 @@ def get_dfs(phy_mtg_data, period, run_list): if r not in run_list: continue files = os.listdir(os.path.join(phy_mtg_data, r)) - # get only geds files - hdf_geds = [f for f in files if "hdf" in f and "geds" in f] + # get only geds files + hdf_geds = [f for f in files if "hdf" in f and "geds" in f] if len(hdf_geds) == 0: return None, None, None - hdf_geds = os.path.join(phy_mtg_data, r, hdf_geds[0]) # should be 1 - # get only puls files - hdf_puls = [f for f in files if "hdf" in f and "pulser01ana" in f] - hdf_puls = os.path.join(phy_mtg_data, r, hdf_puls[0]) # should be 1 + hdf_geds = os.path.join(phy_mtg_data, r, hdf_geds[0]) # should be 1 + # get only puls files + hdf_puls = [f for f in files if "hdf" in f and "pulser01ana" in f] + hdf_puls = os.path.join(phy_mtg_data, r, hdf_puls[0]) # should be 1 # GEDS DATA ======================================================================================================== - geds_abs = pd.read_hdf(hdf_geds, key=f'IsPulser_Cuspemax') - geds_df_cuspEmax_abs = pd.concat([geds_df_cuspEmax_abs, geds_abs], ignore_index=False, axis=0) + geds_abs = pd.read_hdf(hdf_geds, key=f"IsPulser_Cuspemax") + geds_df_cuspEmax_abs = pd.concat( + [geds_df_cuspEmax_abs, geds_abs], ignore_index=False, axis=0 + ) # GEDS PULS-CORRECTED DATA ========================================================================================= - geds_puls_abs = pd.read_hdf(hdf_geds, key=f'IsPulser_Cuspemax_pulser01anaDiff') - geds_df_cuspEmax_abs_corr = pd.concat([geds_df_cuspEmax_abs_corr, geds_puls_abs], ignore_index=False, axis=0) + geds_puls_abs = pd.read_hdf(hdf_geds, key=f"IsPulser_Cuspemax_pulser01anaDiff") + geds_df_cuspEmax_abs_corr = pd.concat( + [geds_df_cuspEmax_abs_corr, geds_puls_abs], ignore_index=False, axis=0 + ) # PULS DATA ======================================================================================================== - puls_abs = pd.read_hdf(hdf_puls, key=f'IsPulser_Cuspemax') - puls_df_cuspEmax_abs = pd.concat([puls_df_cuspEmax_abs, puls_abs], ignore_index=False, axis=0) + puls_abs = pd.read_hdf(hdf_puls, key=f"IsPulser_Cuspemax") + puls_df_cuspEmax_abs = pd.concat( + [puls_df_cuspEmax_abs, puls_abs], ignore_index=False, axis=0 + ) return geds_df_cuspEmax_abs, geds_df_cuspEmax_abs_corr, puls_df_cuspEmax_abs + def get_pulser_data(period, dfs, channel, escale): - - ser_pul_cusp = dfs[2][1027203] # selection of pulser channel - ser_ged_cusp = dfs[0][channel] # selection of ged channel + + ser_pul_cusp = dfs[2][1027203] # selection of pulser channel + ser_ged_cusp = dfs[0][channel] # selection of ged channel ser_ged_cusp = ser_ged_cusp.dropna() ser_pul_cusp = ser_pul_cusp.loc[ser_ged_cusp.index] hour_counts = ser_pul_cusp.resample("H").count() >= 100 - ged_cusp_av = np.average(ser_ged_cusp.values[:360]) # switch to first 10% of available time interval? + ged_cusp_av = np.average( + ser_ged_cusp.values[:360] + ) # switch to first 10% of available time interval? pul_cusp_av = np.average(ser_pul_cusp.values[:360]) # first entries of dataframe are NaN ... how to solve it? if np.isnan(ged_cusp_av): - print('the average is a nan') + print("the average is a nan") print(ser_pul_cusp_without_nan) return None - ser_ged_cuspdiff = pd.Series((ser_ged_cusp.values - ged_cusp_av)/ged_cusp_av, index=ser_ged_cusp.index.values).dropna() - ser_pul_cuspdiff = pd.Series((ser_pul_cusp.values - pul_cusp_av)/pul_cusp_av, index=ser_pul_cusp.index.values).dropna() - ser_ged_cuspdiff_kev = pd.Series(ser_ged_cuspdiff*escale, index=ser_ged_cuspdiff.index.values) - ser_pul_cuspdiff_kev = pd.Series(ser_pul_cuspdiff*escale, index=ser_pul_cuspdiff.index.values) - - #is_valid = (df_ged.tp_0_est < 5e4) & (df_ged.tp_0_est > 4.8e4) & (df_ged.trapTmax > 200) # global pulser removal (these columns are not present in our dfs) - - ged_cusp_hr_av_ = ser_ged_cuspdiff_kev.resample('H').mean() + ser_ged_cuspdiff = pd.Series( + (ser_ged_cusp.values - ged_cusp_av) / ged_cusp_av, + index=ser_ged_cusp.index.values, + ).dropna() + ser_pul_cuspdiff = pd.Series( + (ser_pul_cusp.values - pul_cusp_av) / pul_cusp_av, + index=ser_pul_cusp.index.values, + ).dropna() + ser_ged_cuspdiff_kev = pd.Series( + ser_ged_cuspdiff * escale, index=ser_ged_cuspdiff.index.values + ) + ser_pul_cuspdiff_kev = pd.Series( + ser_pul_cuspdiff * escale, index=ser_pul_cuspdiff.index.values + ) + + # is_valid = (df_ged.tp_0_est < 5e4) & (df_ged.tp_0_est > 4.8e4) & (df_ged.trapTmax > 200) # global pulser removal (these columns are not present in our dfs) + + ged_cusp_hr_av_ = ser_ged_cuspdiff_kev.resample("H").mean() ged_cusp_hr_av_[~hour_counts.values] = np.nan - ged_cusp_hr_std = ser_ged_cuspdiff_kev.resample('H').std() + ged_cusp_hr_std = ser_ged_cuspdiff_kev.resample("H").std() ged_cusp_hr_std[~hour_counts.values] = np.nan - pul_cusp_hr_av_ = ser_pul_cuspdiff_kev.resample('H').mean() + pul_cusp_hr_av_ = ser_pul_cuspdiff_kev.resample("H").mean() pul_cusp_hr_av_[~hour_counts.values] = np.nan - pul_cusp_hr_std = ser_pul_cuspdiff_kev.resample('H').std() + pul_cusp_hr_std = ser_pul_cuspdiff_kev.resample("H").std() pul_cusp_hr_std[~hour_counts.values] = np.nan ged_cusp_corr = ser_ged_cuspdiff - ser_pul_cuspdiff ged_cusp_corr = pd.Series(ged_cusp_corr[ser_ged_cuspdiff.index.values]) - ged_cusp_corr_kev = ged_cusp_corr*escale + ged_cusp_corr_kev = ged_cusp_corr * escale ged_cusp_corr_kev = pd.Series(ged_cusp_corr_kev[ged_cusp_corr.index.values]) - ged_cusp_cor_hr_av_ = ged_cusp_corr_kev.resample('H').mean() + ged_cusp_cor_hr_av_ = ged_cusp_corr_kev.resample("H").mean() ged_cusp_cor_hr_av_[~hour_counts.values] = np.nan - ged_cusp_cor_hr_std = ged_cusp_corr_kev.resample('H').std() + ged_cusp_cor_hr_std = ged_cusp_corr_kev.resample("H").std() ged_cusp_cor_hr_std[~hour_counts.values] = np.nan - + return { - 'ged': { - 'cusp': ser_ged_cusp, - 'cuspdiff': ser_ged_cuspdiff, - 'cuspdiff_kev': ser_ged_cuspdiff_kev, - 'cusp_av': ged_cusp_hr_av_, - 'cusp_std': ged_cusp_hr_std + "ged": { + "cusp": ser_ged_cusp, + "cuspdiff": ser_ged_cuspdiff, + "cuspdiff_kev": ser_ged_cuspdiff_kev, + "cusp_av": ged_cusp_hr_av_, + "cusp_std": ged_cusp_hr_std, + }, + "pul_cusp": { + "raw": ser_pul_cusp, + "rawdiff": ser_pul_cuspdiff, + "kevdiff": ser_pul_cuspdiff_kev, + "kevdiff_av": pul_cusp_hr_av_, + "kevdiff_std": pul_cusp_hr_std, }, - 'pul_cusp': { - 'raw': ser_pul_cusp, - 'rawdiff': ser_pul_cuspdiff, - 'kevdiff': ser_pul_cuspdiff_kev, - 'kevdiff_av': pul_cusp_hr_av_, - 'kevdiff_std': pul_cusp_hr_std + "diff": { + "raw": None, + "rawdiff": ged_cusp_corr, + "kevdiff": ged_cusp_corr_kev, + "kevdiff_av": ged_cusp_cor_hr_av_, + "kevdiff_std": ged_cusp_cor_hr_std, }, - 'diff': { - 'raw': None, - 'rawdiff': ged_cusp_corr, - 'kevdiff': ged_cusp_corr_kev, - 'kevdiff_av': ged_cusp_cor_hr_av_, - 'kevdiff_std': ged_cusp_cor_hr_std - } } -def stability(phy_mtg_data, output_folder, dataset, chmap, str_chns, xlim_idx, partition=False, quadratic=False, zoom=True): - +def stability( + phy_mtg_data, + output_folder, + dataset, + chmap, + str_chns, + xlim_idx, + partition=False, + quadratic=False, + zoom=True, +): + period_list = list(dataset.keys()) for index_i in tqdm(range(len(period_list))): period = period_list[index_i] run_list = dataset[period] - - geds_df_cuspEmax_abs, geds_df_cuspEmax_abs_corr, puls_df_cuspEmax_abs = get_dfs(phy_mtg_data, period, run_list) - if geds_df_cuspEmax_abs is None or geds_df_cuspEmax_abs_corr is None or puls_df_cuspEmax_abs is None: + + geds_df_cuspEmax_abs, geds_df_cuspEmax_abs_corr, puls_df_cuspEmax_abs = get_dfs( + phy_mtg_data, period, run_list + ) + if ( + geds_df_cuspEmax_abs is None + or geds_df_cuspEmax_abs_corr is None + or puls_df_cuspEmax_abs is None + ): continue dfs = [geds_df_cuspEmax_abs, geds_df_cuspEmax_abs_corr, puls_df_cuspEmax_abs] - + string_list = list(str_chns.keys()) for index_j in tqdm(range(len(string_list))): string = string_list[index_j] - + channel_list = str_chns[string] do_channel = True for index_k in range(len(channel_list)): channel = channel_list[index_k] - pulser_data = get_pulser_data(period, dfs, int(channel.split('ch')[-1]), escale=2039) + pulser_data = get_pulser_data( + period, dfs, int(channel.split("ch")[-1]), escale=2039 + ) if pulser_data is None: continue - - fig, ax = plt.subplots(figsize=(12,4)) - - pars_data = get_calib_pars(period, run_list, channel, partition, escale=2039) - if channel != 'ch1120004': + fig, ax = plt.subplots(figsize=(12, 4)) + + pars_data = get_calib_pars( + period, run_list, channel, partition, escale=2039 + ) + + if channel != "ch1120004": # plt.plot(pulser_data['ged']['cusp_av'], 'C0', label='GED') - plt.plot(pulser_data['pul_cusp']['kevdiff_av'], 'C2', label='PULS01') - plt.plot(pulser_data['diff']['kevdiff_av'], 'C4', label='GED corrected') - + plt.plot( + pulser_data["pul_cusp"]["kevdiff_av"], "C2", label="PULS01" + ) + plt.plot( + pulser_data["diff"]["kevdiff_av"], "C4", label="GED corrected" + ) + plt.fill_between( - pulser_data['diff']['kevdiff_av'].index.values, - y1=[float(i) - float(j) for i, j in zip(pulser_data['diff']['kevdiff_av'].values, pulser_data['diff']['kevdiff_std'].values)], - y2=[float(i) + float(j) for i, j in zip(pulser_data['diff']['kevdiff_av'].values, pulser_data['diff']['kevdiff_std'].values)], - color='k', alpha=0.2, label=r'±1$\sigma$' + pulser_data["diff"]["kevdiff_av"].index.values, + y1=[ + float(i) - float(j) + for i, j in zip( + pulser_data["diff"]["kevdiff_av"].values, + pulser_data["diff"]["kevdiff_std"].values, + ) + ], + y2=[ + float(i) + float(j) + for i, j in zip( + pulser_data["diff"]["kevdiff_av"].values, + pulser_data["diff"]["kevdiff_std"].values, + ) + ], + color="k", + alpha=0.2, + label=r"±1$\sigma$", ) - - plt.plot(pars_data['run_start'] - pd.Timedelta(hours=5), pars_data['fep_diff'], 'kx', label='FEP gain') - plt.plot(pars_data['run_start'] - pd.Timedelta(hours=5), pars_data['cal_const_diff'], 'rx', label='cal. const. diff') - - for ti in pars_data['run_start']: plt.axvline(ti, color='k') - - t0 = pars_data['run_start'] + + plt.plot( + pars_data["run_start"] - pd.Timedelta(hours=5), + pars_data["fep_diff"], + "kx", + label="FEP gain", + ) + plt.plot( + pars_data["run_start"] - pd.Timedelta(hours=5), + pars_data["cal_const_diff"], + "rx", + label="cal. const. diff", + ) + + for ti in pars_data["run_start"]: + plt.axvline(ti, color="k") + + t0 = pars_data["run_start"] for i in range(len(t0)): - if i == len(pars_data['run_start'])-1: - plt.plot([t0[i], t0[i] + pd.Timedelta(days=7)], [pars_data['res'][i]/2, pars_data['res'][i]/2], 'b-') - plt.plot([t0[i], t0[i] + pd.Timedelta(days=7)], [-pars_data['res'][i]/2, -pars_data['res'][i]/2], 'b-') + if i == len(pars_data["run_start"]) - 1: + plt.plot( + [t0[i], t0[i] + pd.Timedelta(days=7)], + [pars_data["res"][i] / 2, pars_data["res"][i] / 2], + "b-", + ) + plt.plot( + [t0[i], t0[i] + pd.Timedelta(days=7)], + [-pars_data["res"][i] / 2, -pars_data["res"][i] / 2], + "b-", + ) if quadratic: - plt.plot([t0[i], t0[i] + pd.Timedelta(days=7)], [pars_data['res_quad'][i]/2, pars_data['res_quad'][i]/2], 'y-') - plt.plot([t0[i], t0[i] + pd.Timedelta(days=7)], [-pars_data['res_quad'][i]/2, -pars_data['res_quad'][i]/2], 'y-') + plt.plot( + [t0[i], t0[i] + pd.Timedelta(days=7)], + [ + pars_data["res_quad"][i] / 2, + pars_data["res_quad"][i] / 2, + ], + "y-", + ) + plt.plot( + [t0[i], t0[i] + pd.Timedelta(days=7)], + [ + -pars_data["res_quad"][i] / 2, + -pars_data["res_quad"][i] / 2, + ], + "y-", + ) else: - plt.plot([t0[i], t0[i+1]], [pars_data['res'][i]/2, pars_data['res'][i]/2], 'b-') - plt.plot([t0[i], t0[i+1]], [-pars_data['res'][i]/2, -pars_data['res'][i]/2], 'b-') + plt.plot( + [t0[i], t0[i + 1]], + [pars_data["res"][i] / 2, pars_data["res"][i] / 2], + "b-", + ) + plt.plot( + [t0[i], t0[i + 1]], + [-pars_data["res"][i] / 2, -pars_data["res"][i] / 2], + "b-", + ) if quadratic: - plt.plot([t0[i], t0[i+1]], [pars_data['res_quad'][i]/2, pars_data['res_quad'][i]/2], 'y-') - plt.plot([t0[i], t0[i+1]], [-pars_data['res_quad'][i]/2, -pars_data['res_quad'][i]/2], 'y-') - if str(pars_data['res'][i]/2*1.1) != 'nan' and i bool: """Return True if 'location' (=fiber) and 'position' (=top, bottom) are strings.""" if self.data.empty: return False - + if isinstance(self.data.iloc[0]["location"], str) and isinstance( self.data.iloc[0]["position"], str ): diff --git a/src/legend_data_monitor/save_data.py b/src/legend_data_monitor/save_data.py index 06392d1..e5dbc44 100644 --- a/src/legend_data_monitor/save_data.py +++ b/src/legend_data_monitor/save_data.py @@ -94,9 +94,11 @@ def build_out_dict( ) or isinstance(plot_settings["parameters"], str): utils.logger.debug("... appending new data for the one-parameter case") out_dict = append_new_data( - plot_settings["parameters"][0] - if isinstance(plot_settings["parameters"], list) - else plot_settings["parameters"], + ( + plot_settings["parameters"][0] + if isinstance(plot_settings["parameters"], list) + else plot_settings["parameters"] + ), plot_settings, plot_info, old_dict, diff --git a/src/legend_data_monitor/slow_control.py b/src/legend_data_monitor/slow_control.py index f7fc564..75ba20f 100644 --- a/src/legend_data_monitor/slow_control.py +++ b/src/legend_data_monitor/slow_control.py @@ -135,9 +135,9 @@ def get_sc_param(self): self.scdb, ) else: - lower_lim = ( - upper_lim - ) = None # there are just 'set values', no actual thresholds + lower_lim = upper_lim = ( + None # there are just 'set values', no actual thresholds + ) if "vmon" in self.parameter: unit = "V" elif "imon" in self.parameter: @@ -151,9 +151,11 @@ def get_sc_param(self): get_table_df["upper_lim"] = upper_lim # fix time column - get_table_df['tstamp'] = pd.to_datetime(get_table_df['tstamp'], utc=True) + get_table_df["tstamp"] = pd.to_datetime(get_table_df["tstamp"], utc=True) # fix value column - get_table_df['value'] = pd.to_numeric(get_table_df['value'], errors='coerce') # handle errors as NaN + get_table_df["value"] = pd.to_numeric( + get_table_df["value"], errors="coerce" + ) # handle errors as NaN # remove unnecessary columns remove_cols = ["rack", "group", "sensor", "name", "almask"] diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 071fc14..0152dda 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -186,16 +186,16 @@ def get_data(self, parameters: typing.Union[str, list_of_str, tuple_of_str] = () now = datetime.now() self.data = dl.load() utils.logger.info(f"Total time to load data: {(datetime.now() - now)}") - + # ------------------------------------------------------------------------- # polish things up # ------------------------------------------------------------------------- - tier = "dsp" + tier = "dsp" if "hit" in dbconfig["columns"]: tier = "hit" if self.partition and "pht" in dbconfig["columns"]: - tier = "pht" + tier = "pht" # remove columns we don't need if "{tier}_idx" in list(self.data.columns): self.data = self.data.drop([f"{tier}_idx", "file"], axis=1) @@ -368,7 +368,7 @@ def flag_pulser_events(self, pulser=None): else: # --- if no object was provided, it's understood that this itself is a pulser - trapTmax = self.data["trapTmax"] + trapTmax = self.data["trapTmax"] pulser_timestamps = self.data[trapTmax > 200].index # flag them self.data["flag_pulser"] = False @@ -492,10 +492,10 @@ def get_channel_map(self): # ------------------------------------------------------------------------- # for L60-p01 and L200-p02, keep using 'fcid' as channel - if int(self.period.split('p')[-1]) < 3: + if int(self.period.split("p")[-1]) < 3: ch_flag = "fcid" # from L200-p03 included, uses 'rawid' as channel - if int(self.period.split('p')[-1]) >= 3: + if int(self.period.split("p")[-1]) >= 3: ch_flag = "rawid" # dct_key is the subdict corresponding to one chmap entry @@ -677,7 +677,7 @@ def get_channel_status(self): if channel_name in self.channel_map.index: self.channel_map.at[channel_name, "status"] = full_status_map[ channel_name - ]["usability"] + ]["usability"] # ------------------------------------------------------------------------- # quick-fix to remove detectors while status maps are not updated @@ -725,7 +725,6 @@ def get_parameters_for_dataloader(self, parameters: typing.Union[str, list_of_st # some parameters might be repeated twice - remove return list(np.unique(params)) - def construct_dataloader_configs(self, params: list_of_str): """ Construct DL and DB configs for DataLoader based on parameters and which tiers they belong to. @@ -742,7 +741,7 @@ def construct_dataloader_configs(self, params: list_of_str): # ... param_tiers = pd.DataFrame.from_dict(utils.PARAMETER_TIERS.items()) param_tiers.columns = ["param", "tier"] - # change from 'hit' to 'pht' when loading data for partitioned files + # change from 'hit' to 'pht' when loading data for partitioned files if self.partition: param_tiers["tier"] = param_tiers["tier"].replace("hit", "pht") @@ -769,8 +768,13 @@ def construct_dataloader_configs(self, params: list_of_str): # set up tiers depending on what parameters we need # ------------------------------------------------------------------------- - # only load channels that are on or ac - chlist = list(self.channel_map[(self.channel_map["status"] == "on") | (self.channel_map["status"] == "ac")]["channel"]) + # only load channels that are on or ac + chlist = list( + self.channel_map[ + (self.channel_map["status"] == "on") + | (self.channel_map["status"] == "ac") + ]["channel"] + ) # remove off channels removed_chs = list( self.channel_map[self.channel_map["status"] == "off"]["name"] @@ -785,10 +789,10 @@ def construct_dataloader_configs(self, params: list_of_str): """ # for L60-p01 and L200-p02, keep using 3 digits - if int(self.period.split('p')[-1]) < 3: + if int(self.period.split("p")[-1]) < 3: ch_format = "ch:03d" # from L200-p03 included, uses 7 digits - if int(self.period.split('p')[-1]) >= 3: + if int(self.period.split("p")[-1]) >= 3: ch_format = "ch:07d" # --- settings for each tier @@ -804,8 +808,8 @@ def construct_dataloader_configs(self, params: list_of_str): + tier + ".lh5" ) - dict_dbconfig["table_format"][tier] = "ch{" + ch_format + "}/" - dict_dbconfig["table_format"][tier] += "hit" if tier == "pht" else tier + dict_dbconfig["table_format"][tier] = "ch{" + ch_format + "}/" + dict_dbconfig["table_format"][tier] += "hit" if tier == "pht" else tier dict_dbconfig["tables"][tier] = chlist @@ -814,7 +818,11 @@ def construct_dataloader_configs(self, params: list_of_str): # dict_dlconfig['levels'][tier] = {'tiers': [tier]} # --- settings based on tier hierarchy - order = {"pht": 3, "dsp": 2, "raw": 1} if self.partition else {"hit": 3, "dsp": 2, "raw": 1} + order = ( + {"pht": 3, "dsp": 2, "raw": 1} + if self.partition + else {"hit": 3, "dsp": 2, "raw": 1} + ) param_tiers["order"] = param_tiers["tier"].apply(lambda x: order[x]) # find highest tier max_tier = param_tiers[param_tiers["order"] == param_tiers["order"].max()][ @@ -827,14 +835,13 @@ def construct_dataloader_configs(self, params: list_of_str): return dict_dlconfig, dict_dbconfig - def construct_dataloader_configs_unprocess(self, params: list_of_str): """ Construct DL and DB configs for DataLoader based on parameters and which tiers they belong to. params: list of parameters to load """ - + param_tiers = pd.DataFrame.from_dict(utils.PARAMETER_TIERS.items()) param_tiers.columns = ["param", "tier"] @@ -860,14 +867,21 @@ def construct_dataloader_configs_unprocess(self, params: list_of_str): # set up tiers depending on what parameters we need # ------------------------------------------------------------------------- - chlist = list(self.channel_map[(self.channel_map["status"] == "on_not_process") | (self.channel_map["status"] == "ac")]["channel"]) - utils.logger.info(f"...... loading on channels that are not processable: {chlist}") + chlist = list( + self.channel_map[ + (self.channel_map["status"] == "on_not_process") + | (self.channel_map["status"] == "ac") + ]["channel"] + ) + utils.logger.info( + f"...... loading on channels that are not processable: {chlist}" + ) # for L60-p01 and L200-p02, keep using 3 digits - if int(self.period.split('p')[-1]) < 3: + if int(self.period.split("p")[-1]) < 3: ch_format = "ch:03d" # from L200-p03 included, uses 7 digits - if int(self.period.split('p')[-1]) >= 3: + if int(self.period.split("p")[-1]) >= 3: ch_format = "ch:07d" for tier, tier_params in param_tiers.groupby("tier"): @@ -899,7 +913,6 @@ def construct_dataloader_configs_unprocess(self, params: list_of_str): return dict_dlconfig, dict_dbconfig - def remove_timestamps(self, remove_keys: dict): """Remove timestamps from the dataframes for a given channel. @@ -933,13 +946,13 @@ def remove_timestamps(self, remove_keys: dict): self.data = self.data.reset_index() def below_period_3_excluded(self) -> bool: - if int(self.period.split('p')[-1]) < 3: + if int(self.period.split("p")[-1]) < 3: return True else: return False def above_period_3_included(self) -> bool: - if int(self.period.split('p')[-1]) >= 3: + if int(self.period.split("p")[-1]) >= 3: return True else: return False From 6d67e2692b3a6029005a0fac39b964e65a814f3d Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 8 Mar 2024 17:01:49 +0100 Subject: [PATCH 163/166] fixing some pre commits stuff --- .pre-commit-config.yaml | 1 + setup.cfg | 2 +- src/legend_data_monitor/subsystem.py | 85 ---------------------------- 3 files changed, 2 insertions(+), 86 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index eda2390..ad574b2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -22,6 +22,7 @@ repos: - id: mixed-line-ending - id: requirements-txt-fixer - id: trailing-whitespace + exclude: '^attic/auto_prod/monitoring\.py$|^attic/auto_prod/main_sync_code\.py$' - repo: https://github.com/asottile/setup-cfg-fmt rev: "v2.5.0" diff --git a/setup.cfg b/setup.cfg index eb145b5..63ddd47 100644 --- a/setup.cfg +++ b/setup.cfg @@ -67,4 +67,4 @@ legend_data_monitor = settings/*.json extend-ignore = E203, E501, D10 [codespell] -ignore-words-list = crate, nd, unparseable, compiletime, puls, livetime, whis +ignore-words-list = crate, nd, unparseable, compiletime, puls, livetime, whis, trapTmax \ No newline at end of file diff --git a/src/legend_data_monitor/subsystem.py b/src/legend_data_monitor/subsystem.py index 0152dda..406f0e2 100644 --- a/src/legend_data_monitor/subsystem.py +++ b/src/legend_data_monitor/subsystem.py @@ -780,13 +780,6 @@ def construct_dataloader_configs(self, params: list_of_str): self.channel_map[self.channel_map["status"] == "off"]["name"] ) utils.logger.info(f"...... not loading channels with status off: {removed_chs}") - """ - # remove on channels that are not processable (ie have no hit entries) - removed_unprocessable_chs = list( - self.channel_map[self.channel_map["status"] == "on_not_process"]["name"] - ) - utils.logger.info(f"...... not loading on channels that are not processable: {removed_unprocessable_chs}") - """ # for L60-p01 and L200-p02, keep using 3 digits if int(self.period.split("p")[-1]) < 3: @@ -835,84 +828,6 @@ def construct_dataloader_configs(self, params: list_of_str): return dict_dlconfig, dict_dbconfig - def construct_dataloader_configs_unprocess(self, params: list_of_str): - """ - Construct DL and DB configs for DataLoader based on parameters and which tiers they belong to. - - params: list of parameters to load - """ - - param_tiers = pd.DataFrame.from_dict(utils.PARAMETER_TIERS.items()) - param_tiers.columns = ["param", "tier"] - - param_tiers = param_tiers[param_tiers["param"].isin(params)] - utils.logger.info("...... loading parameters from the following tiers:") - utils.logger.debug(param_tiers) - - # ------------------------------------------------------------------------- - # set up config templates - # ------------------------------------------------------------------------- - - dict_dbconfig = { - "data_dir": os.path.join(self.path, self.version, "generated", "tier"), - "tier_dirs": {}, - "file_format": {}, - "table_format": {}, - "tables": {}, - "columns": {}, - } - dict_dlconfig = {"channel_map": {}, "levels": {}} - - # ------------------------------------------------------------------------- - # set up tiers depending on what parameters we need - # ------------------------------------------------------------------------- - - chlist = list( - self.channel_map[ - (self.channel_map["status"] == "on_not_process") - | (self.channel_map["status"] == "ac") - ]["channel"] - ) - utils.logger.info( - f"...... loading on channels that are not processable: {chlist}" - ) - - # for L60-p01 and L200-p02, keep using 3 digits - if int(self.period.split("p")[-1]) < 3: - ch_format = "ch:03d" - # from L200-p03 included, uses 7 digits - if int(self.period.split("p")[-1]) >= 3: - ch_format = "ch:07d" - - for tier, tier_params in param_tiers.groupby("tier"): - dict_dbconfig["tier_dirs"][tier] = f"/{tier}" - dict_dbconfig["file_format"][tier] = ( - "/{type}/" - + self.period # {period} - + "/{run}/{exp}-" - + self.period # {period} - + "-{run}-{type}-{timestamp}-tier_" - + tier - + ".lh5" - ) - dict_dbconfig["table_format"][tier] = "ch{" + ch_format + "}/" + tier - - dict_dbconfig["tables"][tier] = chlist - - dict_dbconfig["columns"][tier] = list(tier_params["param"]) - - # --- settings based on tier hierarchy - order = {"hit": 3, "dsp": 2, "raw": 1} - param_tiers["order"] = param_tiers["tier"].apply(lambda x: order[x]) - max_tier = param_tiers[param_tiers["order"] == param_tiers["order"].max()][ - "tier" - ].iloc[0] - dict_dlconfig["levels"][max_tier] = { - "tiers": list(param_tiers["tier"].unique()) - } - - return dict_dlconfig, dict_dbconfig - def remove_timestamps(self, remove_keys: dict): """Remove timestamps from the dataframes for a given channel. From 95089cdc3ed2ca95d4283b12735c94dfed13bf95 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 16:04:42 +0000 Subject: [PATCH 164/166] style: pre-commit fixes --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 63ddd47..5b3d226 100644 --- a/setup.cfg +++ b/setup.cfg @@ -67,4 +67,4 @@ legend_data_monitor = settings/*.json extend-ignore = E203, E501, D10 [codespell] -ignore-words-list = crate, nd, unparseable, compiletime, puls, livetime, whis, trapTmax \ No newline at end of file +ignore-words-list = crate, nd, unparseable, compiletime, puls, livetime, whis, trapTmax From 62cd851e6717189abc58483eedde8284b5012fea Mon Sep 17 00:00:00 2001 From: Sofia Calgaro Date: Fri, 8 Mar 2024 17:11:26 +0100 Subject: [PATCH 165/166] remvoed useless stuff --- attic/auto_prod/README.md | 24 -- attic/auto_prod/main_sync_code.py | 357 ------------------ attic/auto_prod/monitoring.py | 576 ------------------------------ setup.cfg | 5 +- 4 files changed, 3 insertions(+), 959 deletions(-) delete mode 100644 attic/auto_prod/README.md delete mode 100644 attic/auto_prod/main_sync_code.py delete mode 100644 attic/auto_prod/monitoring.py diff --git a/attic/auto_prod/README.md b/attic/auto_prod/README.md deleted file mode 100644 index 752653e..0000000 --- a/attic/auto_prod/README.md +++ /dev/null @@ -1,24 +0,0 @@ -This basic example file can be used to automatically generate monitoring plots, based on new .lh5 dsp/hit files appearing in the production folders. Slow Control data are automatically retrieved from the database (you need to provide the port you are using to connect to the database together with the password you can find on Confluence). - -You need to specify the period and run you want to analyze in the script. You can then run the code through - -```console -$ python main_sync_code.py -``` - -The output text is saved in an output file called "output.log". - -You can run this command as a cronejob. Run - -```console -$ crontab -e -``` - -and add a new line of the type - -```console -0 */6 * * * rm output.log && python main_syc_code.py >> output.log 2>&1 -``` - -This will automatically look for new processed .lh5 files every 6 hours. -You need to specify all input and output folders within the script itself. diff --git a/attic/auto_prod/main_sync_code.py b/attic/auto_prod/main_sync_code.py deleted file mode 100644 index f641be3..0000000 --- a/attic/auto_prod/main_sync_code.py +++ /dev/null @@ -1,357 +0,0 @@ -import json -import os -import re -import subprocess -from pathlib import Path - -import monitoring -from legendmeta import LegendMetadata - -lmeta = LegendMetadata() -from legend_data_monitor import utils - -# paths -auto_dir_path = "/data2/public/prodenv/prod-blind/tmp/auto" -rsync_path = "/data1/users/calgaro/rsync-env/output/" - -search_directory = f"{auto_dir_path}/generated/tier/dsp/phy" - - -def search_latest_folder(my_dir): - directories = [ - d for d in os.listdir(my_dir) if os.path.isdir(os.path.join(my_dir, d)) - ] - directories.sort(key=lambda x: Path(my_dir, x).stat().st_ctime) - return directories[-1] - - -# Period to monitor -period = "p07" # search_latest_folder(search_directory) -# Run to monitor -search_directory = os.path.join(search_directory, period) -run = search_latest_folder(search_directory) - -source_dir = f"{auto_dir_path}/generated/tier/hit/phy/{period}/{run}/" - -# commands to run the container -cmd = "apptainer run" -arg = "/data2/public/prodenv/containers/legendexp_legend-base_latest.sif" -output_folder = "/data1/users/calgaro/prod-ref-v2" # "auto_prova" - -# =========================================================================================== -# BEGINNING OF THE ANALYSIS -# =========================================================================================== -# Configs definition - -# define slow control dict -scdb = { - "output": output_folder, - "dataset": { - "experiment": "L200", - "period": period, - "version": "", - "path": auto_dir_path, - "type": "phy", - "runs": int(run.split("r")[-1]), - }, - "saving": "overwrite", - "slow_control": { - "parameters": [ - "DaqLeft-Temp1", - "DaqLeft-Temp2", - "DaqRight-Temp1", - "DaqRight-Temp2", - "RREiT", - "RRNTe", - "RRSTe", - "ZUL_T_RR", - ] - }, -} -with open(f"{rsync_path}auto_slow_control.json", "w") as f: - json.dump(scdb, f) - -# define geds dict -my_config = { - "output": output_folder, - "dataset": { - "experiment": "L200", - "period": period, - "version": "", - "path": auto_dir_path, - "type": "phy", - "runs": int(run.split("r")[-1]), - }, - "saving": "append", - "subsystems": { - "geds": { - "Event rate in pulser events": { - "parameters": "event_rate", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "time_window": "20S", - }, - "Event rate in FCbsln events": { - "parameters": "event_rate", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "time_window": "20S", - }, - "Baselines (dsp/baseline) in pulser events": { - "parameters": "baseline", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T", - }, - "Baselines (dsp/baseline) in FCbsln events": { - "parameters": "baseline", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T", - }, - "Mean baselines (dsp/bl_mean) in pulser events": { - "parameters": "bl_mean", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T", - }, - "Mean baselines (dsp/bl_mean) in FCbsln events": { - "parameters": "bl_mean", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T", - }, - "Uncalibrated gain (dsp/cuspEmax) in pulser events": { - "parameters": "cuspEmax", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T", - }, - "Uncalibrated gain (dsp/cuspEmax) in FCbsln events": { - "parameters": "cuspEmax", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T", - }, - "Calibrated gain (hit/cuspEmax_ctc_cal) in pulser events": { - "parameters": "cuspEmax_ctc_cal", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T", - }, - "Calibrated gain (hit/cuspEmax_ctc_cal) in FCbsln events": { - "parameters": "cuspEmax_ctc_cal", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T", - }, - "Noise (dsp/bl_std) in pulser events": { - "parameters": "bl_std", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T", - }, - "Noise (dsp/bl_std) in FCbsln events": { - "parameters": "bl_std", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "AUX_ratio": True, - "variation": True, - "time_window": "10T", - }, - "A/E (from dsp) in pulser events": { - "parameters": "AoE_Custom", - "event_type": "pulser", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T", - }, - "A/E (from dsp) in FCbsln events": { - "parameters": "AoE_Custom", - "event_type": "FCbsln", - "plot_structure": "per string", - "resampled": "only", - "plot_style": "vs time", - "variation": True, - "time_window": "10T", - }, - } - }, -} -with open(f"{rsync_path}auto_config.json", "w") as f: - json.dump(my_config, f) - -# =========================================================================================== -# Get not-analyzed files -# =========================================================================================== - -# File to store the timestamp of the last check -timestamp_file = f"{rsync_path}last_checked_{period}_{run}.txt" - -# Read the last checked timestamp -last_checked = None -if os.path.exists(timestamp_file): - with open(timestamp_file) as file: - last_checked = file.read().strip() - -# Get the current timestamp -current_files = os.listdir(source_dir) -new_files = [] - -# Compare the timestamps of files and find new files -for file in current_files: - file_path = os.path.join(source_dir, file) - if last_checked is None or os.path.getmtime(file_path) > float(last_checked): - new_files.append(file) - -# If new files are found, check if they are ok or not -if new_files: - pattern = r"\d+" - correct_files = [] - - for new_file in new_files: - matches = re.findall(pattern, new_file) - # get only files with correct ending (and discard the ones that are still under processing) - if len(matches) == 6: - correct_files.append(new_file) - - new_files = correct_files - -# =========================================================================================== -# Analyze not-analyzed files -# =========================================================================================== - -# If new files are found, run the shell command -if new_files: - # Replace this command with your desired shell command - command = "echo New files found: \033[91m{}\033[0m".format(" ".join(new_files)) - subprocess.run(command, shell=True) - - # create the file containing the keys with correct format to be later used by legend-data-monitor (it must be created every time with the new keys; NOT APPEND) - utils.logger.debug("\nCreating the file containing the keys to inspect...") - with open(f"{rsync_path}new_keys.filekeylist", "w") as f: - for new_file in new_files: - new_file = new_file.split("-tier")[0] - f.write(new_file + "\n") - utils.logger.debug("...done!") - - # ...run the plot production - utils.logger.debug("\nRunning the generation of plots...") - config_file = f"{rsync_path}auto_config.json" - keys_file = f"{rsync_path}new_keys.filekeylist" - - bash_command = f"{cmd} --cleanenv {arg} ~/.local/bin/legend-data-monitor user_rsync_prod --config {config_file} --keys {keys_file}" - utils.logger.debug(f"...running command \033[95m{bash_command}\033[0m") - subprocess.run(bash_command, shell=True) - utils.logger.debug("...done!") - - # =========================================================================================== - # Analyze Slow Control data (for the full run - overwrite of previous info) - # =========================================================================================== - # run slow control data retrieving - utils.logger.debug("\nRetrieving Slow Control data...") - scdb_config_file = f"{rsync_path}auto_slow_control.json" - - bash_command = f"{cmd} --cleanenv {arg} ~/.local/bin/legend-data-monitor user_scdb --config {scdb_config_file} --port 8282 --pswd THE_PASSWORD" - utils.logger.debug(f"...running command \033[92m{bash_command}\033[0m") - subprocess.run(bash_command, shell=True) - utils.logger.debug("...SC done!") - -# Update the last checked timestamp -with open(timestamp_file, "w") as file: - file.write( - str( - os.path.getmtime( - max( - [os.path.join(source_dir, file) for file in current_files], - key=os.path.getmtime, - ) - ) - ) - ) - -# =========================================================================================== -# Generate Static Plots (eg gain monitoring) -# =========================================================================================== - -# create monitoring-plots folder -mtg_folder = os.path.join(output_folder, "generated/mtg") -if not os.path.exists(mtg_folder): - os.makedirs(mtg_folder) - utils.logger.debug(f"Folder '{mtg_folder}' created.") -mtg_folder = os.path.join(mtg_folder, "phy") -if not os.path.exists(mtg_folder): - os.makedirs(mtg_folder) - utils.logger.debug(f"Folder '{mtg_folder}' created.") - -# define dataset depending on the (latest) monitored period/run -avail_runs = sorted(os.listdir(os.path.join(mtg_folder.replace("mtg", "plt"), period))) -dataset = {period: avail_runs} -utils.logger.debug(f"This is the dataset: {dataset}") - -# get first timestamp of first run of the given period -start_key = ( - sorted(os.listdir(os.path.join(search_directory, avail_runs[0])))[0] -).split("-")[4] -meta = LegendMetadata("/data2/public/prodenv/prod-blind/tmp/auto/inputs/") -# get channel map -chmap = meta.channelmap(start_key) -# get string info -str_chns = {} -for string in range(13): - if string in [0, 6]: - continue - channels = [ - f"ch{chmap[ged].daq.rawid}" - for ged, dic in chmap.items() - if dic["system"] == "geds" - and dic["analysis"]["processable"] == True - and dic["location"]["string"] == string - ] - if len(channels) > 0: - str_chns[string] = channels - -# get pulser monitoring plot for a full period -phy_mtg_data = mtg_folder.replace("mtg", "plt") -if dataset[period] != []: - monitoring.stability(phy_mtg_data, mtg_folder, dataset, chmap, str_chns, 1, False) diff --git a/attic/auto_prod/monitoring.py b/attic/auto_prod/monitoring.py deleted file mode 100644 index 2b58450..0000000 --- a/attic/auto_prod/monitoring.py +++ /dev/null @@ -1,576 +0,0 @@ -# -# Big part of the code made by William Quinn - this is an adaptation to read auto monitoring hdf files for phy data -# and automatically create monitoring plots that'll be lared uploaded in the dashboard. -# !!! this is not taking account of global pulser spike tagging -# - -import json -import os - -import lgdo.lh5_store as lh5 -import matplotlib -import matplotlib.pyplot as plt -import numpy as np -import pandas as pd -from tqdm.notebook import tqdm - -IPython_default = plt.rcParams.copy() -SMALL_SIZE = 8 -MEDIUM_SIZE = 10 -BIGGER_SIZE = 12 - -figsize = (4.5, 3) - -plt.rc("font", size=SMALL_SIZE) # controls default text sizes -plt.rc("axes", titlesize=SMALL_SIZE) # fontsize of the axes title -plt.rc("axes", labelsize=SMALL_SIZE) # fontsize of the x and y labels -plt.rc("xtick", labelsize=SMALL_SIZE) # fontsize of the tick labels -plt.rc("ytick", labelsize=SMALL_SIZE) # fontsize of the tick labels -plt.rc("legend", fontsize=SMALL_SIZE) # legend fontsize -plt.rc("figure", titlesize=SMALL_SIZE) # fontsize of the figure title -plt.rcParams["font.family"] = "serif" - -matplotlib.rcParams["mathtext.fontset"] = "stix" -# matplotlib.rcParams['font.family'] = 'STIXGeneral' - -marker_size = 2 -line_width = 0.5 -cap_size = 0.5 -cap_thick = 0.5 - -# colors = cycler('color', ['b', 'g', 'r', 'm', 'y', 'k', 'c', '#8c564b']) -plt.rc("axes", facecolor="white", edgecolor="black", axisbelow=True, grid=True) - - -def get_calib_pars( - period, - run_list, - channel, - partition, - escale=2039, - fit="linear", - path="/data2/public/prodenv/prod-blind/tmp/auto", -): #'/data2/public/prodenv/prod-blind/ref/v02.00'): - sto = lh5.LH5Store() - - calib_data = { - "fep": [], - "cal_const": [], - "run_start": [], - "run_end": [], - "res": [], - "res_quad": [], - } - - tier = "pht" if partition is True else "hit" - key_result = "partition_ecal" if partition is True else "ecal" - - for run in run_list: - prod_ref = path - timestamp = os.listdir(f"{path}/generated/par/{tier}/cal/{period}/{run}")[ - -1 - ].split("-")[-2] - if tier == "pht": - pars = json.load( - open( - f"{path}/generated/par/{tier}/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_{tier}.json" - ) - ) - else: - pars = json.load( - open( - f"{path}/generated/par/{tier}/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_{tier}_results.json" - ) - ) - - # for FEP peak, we want to look at the behaviour over time --> take 'ecal' results (not partition ones!) - if tier == "pht": - try: - fep_peak_pos = pars[channel]["results"]["ecal"]["cuspEmax_ctc_cal"][ - "pk_fits" - ]["2614.5"]["parameters_in_ADC"]["mu"] - fep_gain = fep_peak_pos / 2614.5 - except: - fep_peak_pos = 0 - fep_gain = 0 - else: - try: - fep_peak_pos = pars[channel]["ecal"]["cuspEmax_ctc_cal"][ - "peak_fit_pars" - ]["2614.5"][1] - fep_gain = fep_peak_pos / 2614.5 - except: - fep_peak_pos = 0 - fep_gain = 0 - - if tier == "pht": - try: - if fit == "linear": - Qbb_fwhm = pars[channel]["results"][key_result]["cuspEmax_ctc_cal"][ - "eres_linear" - ]["Qbb_fwhm(keV)"] - Qbb_fwhm_quad = pars[channel]["results"][key_result][ - "cuspEmax_ctc_cal" - ]["eres_quadratic"]["Qbb_fwhm(keV)"] - else: - Qbb_fwhm = pars[channel]["results"][key_result]["cuspEmax_ctc_cal"][ - "eres_quadratic" - ]["Qbb_fwhm(keV)"] - except: - Qbb_fwhm = np.nan - else: - try: - Qbb_fwhm = pars[channel][key_result]["cuspEmax_ctc_cal"]["Qbb_fwhm"] - Qbb_fwhm_quad = np.nan - except: - Qbb_fwhm = np.nan - Qbb_fwhm_quad = np.nan - - pars = json.load( - open( - f"{path}/generated/par/{tier}/cal/{period}/{run}/l200-{period}-{run}-cal-{timestamp}-par_{tier}.json" - ) - ) - - if tier == "pht": - try: - cal_const_a = pars[channel]["pars"]["operations"]["cuspEmax_ctc_cal"][ - "parameters" - ]["a"] - cal_const_b = pars[channel]["pars"]["operations"]["cuspEmax_ctc_cal"][ - "parameters" - ]["b"] - cal_const_c = pars[channel]["pars"]["operations"]["cuspEmax_ctc_cal"][ - "parameters" - ]["c"] - fep_cal = ( - cal_const_c - + fep_peak_pos * cal_const_b - + cal_const_a * fep_peak_pos**2 - ) - except: - fep_cal = np.nan - else: - try: - cal_const_a = pars[channel]["operations"]["cuspEmax_ctc_cal"][ - "parameters" - ]["a"] - cal_const_b = pars[channel]["operations"]["cuspEmax_ctc_cal"][ - "parameters" - ]["b"] - if period in ["p07"] or (period == "p06" and run == "r005"): - cal_const_c = pars[channel]["operations"]["cuspEmax_ctc_cal"][ - "parameters" - ]["c"] - fep_cal = ( - cal_const_c - + fep_peak_pos * cal_const_b - + cal_const_a * fep_peak_pos**2 - ) - else: - fep_cal = cal_const_b + cal_const_a * fep_peak_pos - except: - fep_cal = np.nan - - if run not in os.listdir(f"{prod_ref}/generated/tier/dsp/phy/{period}"): - # get timestamp for additional-final cal run (only for FEP gain display) - run_files = sorted( - os.listdir(f"{prod_ref}/generated/tier/dsp/cal/{period}/{run}/") - ) - run_end_time = pd.to_datetime( - sto.read_object( - "ch1027201/dsp/timestamp", - f"{prod_ref}/generated/tier/dsp/cal/{period}/{run}/" - + run_files[-1], - )[0][-1], - unit="s", - ) - run_start_time = run_end_time - Qbb_fwhm = np.nan - Qbb_fwhm_quad = np.nan - else: - run_files = sorted( - os.listdir(f"{prod_ref}/generated/tier/dsp/phy/{period}/{run}/") - ) - run_start_time = pd.to_datetime( - sto.read_object( - "ch1027201/dsp/timestamp", - f"{prod_ref}/generated/tier/dsp/phy/{period}/{run}/" + run_files[0], - )[0][0], - unit="s", - ) - run_end_time = pd.to_datetime( - sto.read_object( - "ch1027201/dsp/timestamp", - f"{prod_ref}/generated/tier/dsp/phy/{period}/{run}/" - + run_files[-1], - )[0][-1], - unit="s", - ) - - calib_data["fep"].append(fep_gain) - calib_data["cal_const"].append(fep_cal) - calib_data["run_start"].append(run_start_time) - calib_data["run_end"].append(run_end_time) - calib_data["res"].append(Qbb_fwhm) - calib_data["res_quad"].append(Qbb_fwhm_quad) - - print(channel, calib_data["res"]) - - for key, item in calib_data.items(): - calib_data[key] = np.array(item) - - init_cal_const, init_fep = 0, 0 - for cal_, fep_ in zip(calib_data["cal_const"], calib_data["fep"]): - if init_fep == 0 and fep_ != 0: - init_fep = fep_ - if init_cal_const == 0 and cal_ != 0: - init_cal_const = cal_ - - if init_cal_const == 0: - calib_data["cal_const_diff"] = np.array( - [np.nan for i in range(len(calib_data["cal_const"]))] - ) - else: - calib_data["cal_const_diff"] = ( - (calib_data["cal_const"] - init_cal_const) / init_cal_const * escale - ) - - if init_fep == 0: - calib_data["fep_diff"] = np.array( - [np.nan for i in range(len(calib_data["fep"]))] - ) - else: - calib_data["fep_diff"] = (calib_data["fep"] - init_fep) / init_fep * escale - - return calib_data - - -def custom_resampler(group, min_required_data_points=100): - if len(group) >= min_required_data_points: - return group - else: - return None - - -def get_dfs(phy_mtg_data, period, run_list): - phy_mtg_data = os.path.join(phy_mtg_data, period) - runs = os.listdir(phy_mtg_data) - geds_df_cuspEmax_abs = pd.DataFrame() - geds_df_cuspEmax_var = pd.DataFrame() - geds_df_cuspEmax_abs_corr = pd.DataFrame() - geds_df_cuspEmax_var_corr = pd.DataFrame() - puls_df_cuspEmax_abs = pd.DataFrame() - puls_df_cuspEmax_var = pd.DataFrame() - - for r in runs: - # keep only specified runs - if r not in run_list: - continue - files = os.listdir(os.path.join(phy_mtg_data, r)) - # get only geds files - hdf_geds = [f for f in files if "hdf" in f and "geds" in f] - if len(hdf_geds) == 0: - return None, None, None - hdf_geds = os.path.join(phy_mtg_data, r, hdf_geds[0]) # should be 1 - # get only puls files - hdf_puls = [f for f in files if "hdf" in f and "pulser01ana" in f] - hdf_puls = os.path.join(phy_mtg_data, r, hdf_puls[0]) # should be 1 - - # GEDS DATA ======================================================================================================== - geds_abs = pd.read_hdf(hdf_geds, key=f"IsPulser_Cuspemax") - geds_df_cuspEmax_abs = pd.concat( - [geds_df_cuspEmax_abs, geds_abs], ignore_index=False, axis=0 - ) - # GEDS PULS-CORRECTED DATA ========================================================================================= - geds_puls_abs = pd.read_hdf(hdf_geds, key=f"IsPulser_Cuspemax_pulser01anaDiff") - geds_df_cuspEmax_abs_corr = pd.concat( - [geds_df_cuspEmax_abs_corr, geds_puls_abs], ignore_index=False, axis=0 - ) - # PULS DATA ======================================================================================================== - puls_abs = pd.read_hdf(hdf_puls, key=f"IsPulser_Cuspemax") - puls_df_cuspEmax_abs = pd.concat( - [puls_df_cuspEmax_abs, puls_abs], ignore_index=False, axis=0 - ) - - return geds_df_cuspEmax_abs, geds_df_cuspEmax_abs_corr, puls_df_cuspEmax_abs - - -def get_pulser_data(period, dfs, channel, escale): - - ser_pul_cusp = dfs[2][1027203] # selection of pulser channel - ser_ged_cusp = dfs[0][channel] # selection of ged channel - - ser_ged_cusp = ser_ged_cusp.dropna() - ser_pul_cusp = ser_pul_cusp.loc[ser_ged_cusp.index] - hour_counts = ser_pul_cusp.resample("H").count() >= 100 - - ged_cusp_av = np.average( - ser_ged_cusp.values[:360] - ) # switch to first 10% of available time interval? - pul_cusp_av = np.average(ser_pul_cusp.values[:360]) - # first entries of dataframe are NaN ... how to solve it? - if np.isnan(ged_cusp_av): - print("the average is a nan") - print(ser_pul_cusp_without_nan) - return None - - ser_ged_cuspdiff = pd.Series( - (ser_ged_cusp.values - ged_cusp_av) / ged_cusp_av, - index=ser_ged_cusp.index.values, - ).dropna() - ser_pul_cuspdiff = pd.Series( - (ser_pul_cusp.values - pul_cusp_av) / pul_cusp_av, - index=ser_pul_cusp.index.values, - ).dropna() - ser_ged_cuspdiff_kev = pd.Series( - ser_ged_cuspdiff * escale, index=ser_ged_cuspdiff.index.values - ) - ser_pul_cuspdiff_kev = pd.Series( - ser_pul_cuspdiff * escale, index=ser_pul_cuspdiff.index.values - ) - - # is_valid = (df_ged.tp_0_est < 5e4) & (df_ged.tp_0_est > 4.8e4) & (df_ged.trapTmax > 200) # global pulser removal (these columns are not present in our dfs) - - ged_cusp_hr_av_ = ser_ged_cuspdiff_kev.resample("H").mean() - ged_cusp_hr_av_[~hour_counts.values] = np.nan - ged_cusp_hr_std = ser_ged_cuspdiff_kev.resample("H").std() - ged_cusp_hr_std[~hour_counts.values] = np.nan - pul_cusp_hr_av_ = ser_pul_cuspdiff_kev.resample("H").mean() - pul_cusp_hr_av_[~hour_counts.values] = np.nan - pul_cusp_hr_std = ser_pul_cuspdiff_kev.resample("H").std() - pul_cusp_hr_std[~hour_counts.values] = np.nan - - ged_cusp_corr = ser_ged_cuspdiff - ser_pul_cuspdiff - ged_cusp_corr = pd.Series(ged_cusp_corr[ser_ged_cuspdiff.index.values]) - ged_cusp_corr_kev = ged_cusp_corr * escale - ged_cusp_corr_kev = pd.Series(ged_cusp_corr_kev[ged_cusp_corr.index.values]) - ged_cusp_cor_hr_av_ = ged_cusp_corr_kev.resample("H").mean() - ged_cusp_cor_hr_av_[~hour_counts.values] = np.nan - ged_cusp_cor_hr_std = ged_cusp_corr_kev.resample("H").std() - ged_cusp_cor_hr_std[~hour_counts.values] = np.nan - - return { - "ged": { - "cusp": ser_ged_cusp, - "cuspdiff": ser_ged_cuspdiff, - "cuspdiff_kev": ser_ged_cuspdiff_kev, - "cusp_av": ged_cusp_hr_av_, - "cusp_std": ged_cusp_hr_std, - }, - "pul_cusp": { - "raw": ser_pul_cusp, - "rawdiff": ser_pul_cuspdiff, - "kevdiff": ser_pul_cuspdiff_kev, - "kevdiff_av": pul_cusp_hr_av_, - "kevdiff_std": pul_cusp_hr_std, - }, - "diff": { - "raw": None, - "rawdiff": ged_cusp_corr, - "kevdiff": ged_cusp_corr_kev, - "kevdiff_av": ged_cusp_cor_hr_av_, - "kevdiff_std": ged_cusp_cor_hr_std, - }, - } - - -def stability( - phy_mtg_data, - output_folder, - dataset, - chmap, - str_chns, - xlim_idx, - partition=False, - quadratic=False, - zoom=True, -): - - period_list = list(dataset.keys()) - for index_i in tqdm(range(len(period_list))): - period = period_list[index_i] - run_list = dataset[period] - - geds_df_cuspEmax_abs, geds_df_cuspEmax_abs_corr, puls_df_cuspEmax_abs = get_dfs( - phy_mtg_data, period, run_list - ) - if ( - geds_df_cuspEmax_abs is None - or geds_df_cuspEmax_abs_corr is None - or puls_df_cuspEmax_abs is None - ): - continue - dfs = [geds_df_cuspEmax_abs, geds_df_cuspEmax_abs_corr, puls_df_cuspEmax_abs] - - string_list = list(str_chns.keys()) - for index_j in tqdm(range(len(string_list))): - string = string_list[index_j] - - channel_list = str_chns[string] - do_channel = True - for index_k in range(len(channel_list)): - channel = channel_list[index_k] - pulser_data = get_pulser_data( - period, dfs, int(channel.split("ch")[-1]), escale=2039 - ) - if pulser_data is None: - continue - - fig, ax = plt.subplots(figsize=(12, 4)) - - pars_data = get_calib_pars( - period, run_list, channel, partition, escale=2039 - ) - - if channel != "ch1120004": - - # plt.plot(pulser_data['ged']['cusp_av'], 'C0', label='GED') - plt.plot( - pulser_data["pul_cusp"]["kevdiff_av"], "C2", label="PULS01" - ) - plt.plot( - pulser_data["diff"]["kevdiff_av"], "C4", label="GED corrected" - ) - - plt.fill_between( - pulser_data["diff"]["kevdiff_av"].index.values, - y1=[ - float(i) - float(j) - for i, j in zip( - pulser_data["diff"]["kevdiff_av"].values, - pulser_data["diff"]["kevdiff_std"].values, - ) - ], - y2=[ - float(i) + float(j) - for i, j in zip( - pulser_data["diff"]["kevdiff_av"].values, - pulser_data["diff"]["kevdiff_std"].values, - ) - ], - color="k", - alpha=0.2, - label=r"±1$\sigma$", - ) - - plt.plot( - pars_data["run_start"] - pd.Timedelta(hours=5), - pars_data["fep_diff"], - "kx", - label="FEP gain", - ) - plt.plot( - pars_data["run_start"] - pd.Timedelta(hours=5), - pars_data["cal_const_diff"], - "rx", - label="cal. const. diff", - ) - - for ti in pars_data["run_start"]: - plt.axvline(ti, color="k") - - t0 = pars_data["run_start"] - for i in range(len(t0)): - if i == len(pars_data["run_start"]) - 1: - plt.plot( - [t0[i], t0[i] + pd.Timedelta(days=7)], - [pars_data["res"][i] / 2, pars_data["res"][i] / 2], - "b-", - ) - plt.plot( - [t0[i], t0[i] + pd.Timedelta(days=7)], - [-pars_data["res"][i] / 2, -pars_data["res"][i] / 2], - "b-", - ) - if quadratic: - plt.plot( - [t0[i], t0[i] + pd.Timedelta(days=7)], - [ - pars_data["res_quad"][i] / 2, - pars_data["res_quad"][i] / 2, - ], - "y-", - ) - plt.plot( - [t0[i], t0[i] + pd.Timedelta(days=7)], - [ - -pars_data["res_quad"][i] / 2, - -pars_data["res_quad"][i] / 2, - ], - "y-", - ) - else: - plt.plot( - [t0[i], t0[i + 1]], - [pars_data["res"][i] / 2, pars_data["res"][i] / 2], - "b-", - ) - plt.plot( - [t0[i], t0[i + 1]], - [-pars_data["res"][i] / 2, -pars_data["res"][i] / 2], - "b-", - ) - if quadratic: - plt.plot( - [t0[i], t0[i + 1]], - [ - pars_data["res_quad"][i] / 2, - pars_data["res_quad"][i] / 2, - ], - "y-", - ) - plt.plot( - [t0[i], t0[i + 1]], - [ - -pars_data["res_quad"][i] / 2, - -pars_data["res_quad"][i] / 2, - ], - "y-", - ) - if str(pars_data["res"][i] / 2 * 1.1) != "nan" and i < len( - pars_data["res"] - ) - (xlim_idx - 1): - plt.text( - t0[i], - pars_data["res"][i] / 2 * 1.1, - "{:.2f}".format(pars_data["res"][i]), - ) - - if quadratic: - if str(pars_data["res_quad"][i] / 2 * 1.5) != "nan" and i < len( - pars_data["res"] - ) - (xlim_idx - 1): - plt.text( - t0[i], - pars_data["res_quad"][i] / 2 * 1.5, - "{:.2f} (Q)".format(pars_data["res_quad"][i]), - ) - - fig.suptitle( - f'period: {period} string: {string} ged: {chmap.map("daq.rawid")[int(channel[2:])]["name"]}' - ) - plt.ylabel(r"Energy diff / keV") - plt.plot([0, 1], [0, 1], "b", label="Qbb FWHM keV (linear)") - my_det = chmap.map("daq.rawid")[int(channel[2:])]["name"] - if quadratic: - plt.plot([1, 2], [1, 2], "y", label="Qbb FWHM keV (quadratic)") - - if zoom: - bound = np.average(pulser_data["diff"]["kevdiff_std"].dropna()) - if chmap.map("daq.rawid")[int(channel[2:])]["name"] == "B00089D": - plt.ylim(-3, 3) - else: - plt.ylim(-2.5 * bound, 2.5 * bound) - plt.xlim( - t0[0] - pd.Timedelta(hours=20), t0[-xlim_idx] + pd.Timedelta(days=7) - ) - plt.legend(loc="lower left") - plt.tight_layout() - if not os.path.exists(f"{output_folder}/{period}/st{string}"): - os.makedirs(f"{output_folder}/{period}/st{string}") - print(f"...created {output_folder}/{period}/st{string}") - plt.savefig( - f'{output_folder}/{period}/st{string}/{period}_string{string}_pos{chmap.map("daq.rawid")[int(channel[2:])]["location"]["position"]}_{chmap.map("daq.rawid")[int(channel[2:])]["name"]}_gain_shift.pdf' - ) - plt.close(fig) diff --git a/setup.cfg b/setup.cfg index 63ddd47..58a08a3 100644 --- a/setup.cfg +++ b/setup.cfg @@ -64,7 +64,8 @@ test = legend_data_monitor = settings/*.json [flake8] -extend-ignore = E203, E501, D10 +extend-ignore = E203, E501, D10, N806 +exclude = *trapTmax* [codespell] -ignore-words-list = crate, nd, unparseable, compiletime, puls, livetime, whis, trapTmax \ No newline at end of file +ignore-words-list = crate, nd, unparseable, compiletime, puls, livetime, whis \ No newline at end of file From 1ccdc0a9c1b5ab1ff2b3a8a0d36dc46ddb948933 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 16:12:10 +0000 Subject: [PATCH 166/166] style: pre-commit fixes --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index ad04d00..d21dd8b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -68,4 +68,4 @@ extend-ignore = E203, E501, D10, N806 exclude = *trapTmax* [codespell] -ignore-words-list = crate, nd, unparseable, compiletime, puls, livetime, whis +ignore-words-list = crate, nd, unparseable, compiletime, puls, livetime, whis