From 6bc0b59a6c6769968ab69f8957c4b9b225ab99cb Mon Sep 17 00:00:00 2001 From: Alexander Held Date: Wed, 29 Oct 2025 22:58:51 +0100 Subject: [PATCH 1/9] add xcache support --- atlas/ntuple_production/README.md | 2 +- .../{write_ntuple_metadata.py => collect_file_metadata.py} | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) rename atlas/ntuple_production/{write_ntuple_metadata.py => collect_file_metadata.py} (98%) diff --git a/atlas/ntuple_production/README.md b/atlas/ntuple_production/README.md index 9065dbc..459547d 100644 --- a/atlas/ntuple_production/README.md +++ b/atlas/ntuple_production/README.md @@ -41,7 +41,7 @@ voms-proxy-init -voms atlas ``` -- After ntuple production: `write_ntuple_metadata.py` saves relevant metadata of input and output containers plus xrootd ntuple file paths to disk. +- After ntuple production: `collect_file_metadata.py` saves relevant metadata of input and output containers plus xrootd ntuple file paths to disk. ## Notes for first and potential second production diff --git a/atlas/ntuple_production/write_ntuple_metadata.py b/atlas/ntuple_production/collect_file_metadata.py similarity index 98% rename from atlas/ntuple_production/write_ntuple_metadata.py rename to atlas/ntuple_production/collect_file_metadata.py index abe4847..14c26aa 100644 --- a/atlas/ntuple_production/write_ntuple_metadata.py +++ b/atlas/ntuple_production/collect_file_metadata.py @@ -1,6 +1,7 @@ import collections import gzip import json +import os import re import subprocess import urllib.request @@ -138,6 +139,9 @@ def save_full_metadata(production_map, fname): if __name__ == "__main__": + # run at UChicago, pick up the correct xcache + os.environ["SITE_NAME"] = "AF_200" + username = "alheld" production_tag = "IC-v1" From fd5e9d2aeb1fd38fef6a2274d91c48713193defd Mon Sep 17 00:00:00 2001 From: Alexander Held Date: Wed, 29 Oct 2025 23:20:02 +0100 Subject: [PATCH 2/9] fix 45 GeV samples --- atlas/ntuple_production/input_containers.py | 73 +++++++++++---------- 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/atlas/ntuple_production/input_containers.py b/atlas/ntuple_production/input_containers.py index 8763b21..7ad7786 100644 --- a/atlas/ntuple_production/input_containers.py +++ b/atlas/ntuple_production/input_containers.py @@ -506,42 +506,43 @@ "mc23_13p6TeV.701125.Sh_2214_WlvWqq.deriv.DAOD_PHYSLITE.e8543_s4369_r16083_p6697", ], - #Signal ttbar->WH+->nlcs - # rucio list-dids mc20_13TeV:*ttbar_Hplus_cs_mhc*PHYSLITE* - "Hplus_cs": [ - #Run2 - #20 GeV H+ - "mc20_13TeV:mc20_13TeV.561488.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc20.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561488.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc20.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561488.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc20.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", - #30 GeV H+ - "mc20_13TeV:mc20_13TeV.561490.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc30.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561490.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc30.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561490.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc30.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", - #45 GeV H+ - "mc20_13TeV:mc20_13TeV.561494.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc60.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561494.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc60.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561494.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc60.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", - #60 GeV H+ - "mc20_13TeV:mc20_13TeV.561494.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc60.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561494.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc60.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561494.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc60.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", - #80 GeV H+ - "mc20_13TeV:mc20_13TeV.561496.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc80.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561496.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc80.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561496.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc80.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", - #100 GeV H+ - "mc20_13TeV:mc20_13TeV.561498.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc100.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561498.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc100.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561498.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc100.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", - #120 GeV H+ - "mc20_13TeV:mc20_13TeV.561500.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc120.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561500.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc120.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561500.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc120.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", - #130 GeV H+ - "mc20_13TeV:mc20_13TeV.561502.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc130.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561502.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc130.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561502.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc130.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # + # signal ttbar->WH+->nlcs + # + "signal_hplus": [ + # rucio list-dids mc20_13TeV:*ttbar_Hplus_cs_mhc*PHYSLITE* + # 20 GeV H+ + "mc20_13TeV.561488.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc20.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561488.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc20.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561488.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc20.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # 30 GeV H+ + "mc20_13TeV.561490.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc30.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561490.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc30.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561490.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc30.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # 45 GeV H+ + "mc20_13TeV.561492.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc45.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561492.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc45.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561492.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc45.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # 60 GeV H+ + "mc20_13TeV.561494.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc60.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561494.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc60.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561494.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc60.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # 80 GeV H+ + "mc20_13TeV.561496.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc80.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561496.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc80.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561496.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc80.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # 100 GeV H+ + "mc20_13TeV.561498.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc100.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561498.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc100.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561498.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc100.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # 120 GeV H+ + "mc20_13TeV.561500.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc120.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561500.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc120.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561500.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc120.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # 130 GeV H+ + "mc20_13TeV.561502.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc130.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561502.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc130.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561502.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc130.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", ], "Hplus_cb": [ From 4b487920802568e766760304d2238eee2d0c73d1 Mon Sep 17 00:00:00 2001 From: Alexander Held Date: Wed, 29 Oct 2025 23:21:12 +0100 Subject: [PATCH 3/9] rename output file --- atlas/ntuple_production/collect_file_metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/atlas/ntuple_production/collect_file_metadata.py b/atlas/ntuple_production/collect_file_metadata.py index 14c26aa..923d83d 100644 --- a/atlas/ntuple_production/collect_file_metadata.py +++ b/atlas/ntuple_production/collect_file_metadata.py @@ -149,5 +149,5 @@ def save_full_metadata(production_map, fname): get_job_json(username, production_tag, fname_bigpanda) production_map = parse_job_json(fname_bigpanda) - fname_full = "ntuple_metadata.json.gz" + fname_full = "file_metadata.json.gz" metadata = save_full_metadata(production_map, fname_full) From c3a1e4b6b58dbaae97d9237b27c343aba5fc0690 Mon Sep 17 00:00:00 2001 From: Alexander Held Date: Wed, 29 Oct 2025 23:51:55 +0100 Subject: [PATCH 4/9] update metadata --- atlas/ntuple_production/file_metadata.json.gz | Bin 0 -> 102488 bytes .../ntuple_production/ntuple_metadata.json.gz | Bin 88782 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 atlas/ntuple_production/file_metadata.json.gz delete mode 100644 atlas/ntuple_production/ntuple_metadata.json.gz diff --git a/atlas/ntuple_production/file_metadata.json.gz b/atlas/ntuple_production/file_metadata.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..613477a984e33609fd59382f785317385cfd159e GIT binary patch literal 102488 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

L(QR_(vUq?1j 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

Nfp) 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 GQT`7uK7K3! literal 0 HcmV?d00001 diff --git a/atlas/ntuple_production/ntuple_metadata.json.gz b/atlas/ntuple_production/ntuple_metadata.json.gz deleted file mode 100644 index d49d221c984130e65520b22d74a81b3cc8339983..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88782 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 Date: Thu, 30 Oct 2025 00:11:53 +0100 Subject: [PATCH 5/9] add distributed processing setup --- .gitignore | 3 - atlas/.gitignore | 4 + atlas/analysis.ipynb | 266 ++++++++++++++++++++ atlas/process_ntuples.ipynb | 484 ------------------------------------ atlas/utils.py | 113 +++++++++ 5 files changed, 383 insertions(+), 487 deletions(-) create mode 100644 atlas/analysis.ipynb delete mode 100644 atlas/process_ntuples.ipynb create mode 100644 atlas/utils.py diff --git a/.gitignore b/.gitignore index 690365c..615fe4c 100644 --- a/.gitignore +++ b/.gitignore @@ -212,6 +212,3 @@ __marimo__/ # NEVER CHANGE # CMS Internal files are not supposed to be published DONT_EXPOSE_CMS_INTERNAL/ - -# ATLAS setup -atlas/ntuple_production/production_status.json diff --git a/atlas/.gitignore b/atlas/.gitignore index f294de9..5bc5f59 100644 --- a/atlas/.gitignore +++ b/atlas/.gitignore @@ -208,3 +208,7 @@ __marimo__/ .asetup.save *.out *.err +# bigpanda status +ntuple_production/production_status.json +# preprocess json +preprocess_output.json diff --git a/atlas/analysis.ipynb b/atlas/analysis.ipynb new file mode 100644 index 0000000..0fedd23 --- /dev/null +++ b/atlas/analysis.ipynb @@ -0,0 +1,266 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "3f9f15ac-903b-4f33-b775-e7c14a3647a8", + "metadata": {}, + "outputs": [], + "source": [ + "# ! pip install --upgrade atlas_schema" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "94b8b953-dc21-4d5c-899d-b1f0b03c70b2", + "metadata": {}, + "outputs": [], + "source": [ + "import gzip\n", + "import json\n", + "import re\n", + "\n", + "import awkward as ak\n", + "import dask\n", + "import vector\n", + "import hist\n", + "import matplotlib.pyplot as plt\n", + "import mplhep\n", + "import numpy as np\n", + "import uproot\n", + "\n", + "from atlas_schema.schema import NtupleSchema\n", + "from coffea import processor\n", + "from coffea.nanoevents import NanoEventsFactory\n", + "from dask.distributed import Client, PipInstall\n", + "\n", + "\n", + "import utils\n", + "\n", + "vector.register_awkward()\n", + "mplhep.style.use(mplhep.style.ATLAS1)\n", + "\n", + "client = Client(\"tls://localhost:8786\")\n", + "\n", + "plugin = PipInstall(packages=[\"atlas_schema\"], pip_options=[\"--upgrade\"])\n", + "client.register_plugin(plugin)" + ] + }, + { + "cell_type": "markdown", + "id": "91bbd464-1423-4353-81cc-f43806f04a7e", + "metadata": {}, + "source": [ + "### fileset preparation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3dcf6216-0eca-4ea0-921b-eae3eda04af1", + "metadata": {}, + "outputs": [], + "source": [ + "# load metadata from file\n", + "fname = \"ntuple_production/file_metadata.json.gz\"\n", + "with gzip.open(fname) as f:\n", + " dataset_info = json.loads(f.read().decode())\n", + "\n", + "# construct fileset\n", + "fileset = {}\n", + "for containers_for_category in dataset_info.values():\n", + " for container, metadata in containers_for_category.items():\n", + " if metadata[\"files_output\"] is None:\n", + " print(f\"skipping missing {container}\")\n", + " continue\n", + "\n", + " if \"data\" in container:\n", + " print(f\"skipping data {container}\")\n", + " continue # TODO add back data\n", + "\n", + " dsid, _, campaign = utils.dsid_rtag_campaign(container)\n", + " weight_xs = utils.sample_xs(campaign, dsid)\n", + " lumi = utils.integrated_luminosity(campaign)\n", + " fileset[container] = {\"files\": dict((path, \"reco\") for path in metadata[\"files_output\"][:5]), \"metadata\": {\"dsid\": dsid, \"campaign\": campaign, \"weight_xs\": weight_xs, \"lumi\": lumi}}\n", + "\n", + "# minimal fileset for debugging\n", + "fileset = {\"mc20_13TeV.601352.PhPy8EG_tW_dyn_DR_incl_antitop.deriv.DAOD_PHYSLITE.e8547_s4231_r13144_p6697\": fileset[\"mc20_13TeV.601352.PhPy8EG_tW_dyn_DR_incl_antitop.deriv.DAOD_PHYSLITE.e8547_s4231_r13144_p6697\"]}\n", + "fileset" + ] + }, + { + "cell_type": "markdown", + "id": "f4a081b9-c4ec-41c8-830c-a727e56ff472", + "metadata": {}, + "source": [ + "### simple non-distributed reading" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6b6c685f-7e9c-4c5b-8f80-19f1543de32f", + "metadata": {}, + "outputs": [], + "source": [ + "events = NanoEventsFactory.from_root(\n", + " {list(fileset[list(fileset.keys())[0]][\"files\"])[0]: \"reco\"},\n", + " mode=\"virtual\",\n", + " schemaclass=NtupleSchema,\n", + " entry_stop=1000\n", + ").events()\n", + "\n", + "h = hist.new.Regular(30, 0, 300, label=\"leading electron $p_T$\").StrCat([], name=\"variation\", growth=True).Weight()\n", + "\n", + "for variation in events.systematic_names:\n", + " if variation != \"NOSYS\" and \"EG_SCALE_ALL\" not in variation:\n", + " continue\n", + "\n", + " cut = events[variation][\"pass\"][\"ejets\"] == 1\n", + " h.fill(events[variation][cut==1].el.pt[:, 0] / 1_000, variation=variation)\n", + "\n", + "fig, ax = plt.subplots()\n", + "for variation in h.axes[1]:\n", + " h[:, variation].plot(histtype=\"step\", label=variation, ax=ax)\n", + "_ = ax.legend()" + ] + }, + { + "cell_type": "markdown", + "id": "a31f4dd8-07aa-4dd0-b50f-013349abe59a", + "metadata": {}, + "source": [ + "### pre-processing" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1abaeac0-ca4c-4a36-8426-10438c4e034e", + "metadata": {}, + "outputs": [], + "source": [ + "run = processor.Runner(\n", + " # executor = processor.DaskExecutor(client=client),\n", + " executor = processor.IterativeExecutor(),\n", + " schema=NtupleSchema,\n", + " savemetrics=True,\n", + " chunksize=50_000,\n", + " skipbadfiles=True,\n", + " maxchunks=1\n", + ")\n", + "\n", + "preprocess_output = run.preprocess(fileset)\n", + "\n", + "# write to disk\n", + "with open(\"preprocess_output.json\", \"w\") as f:\n", + " json.dump(utils.preprocess_to_json(preprocess_output), f)\n", + "\n", + "# load from disk\n", + "with open(\"preprocess_output.json\") as f:\n", + " preprocess_output = utils.json_to_preprocess(json.load(f))\n", + "\n", + "len(preprocess_output), preprocess_output[:3]" + ] + }, + { + "cell_type": "markdown", + "id": "4667b1bf-0ff3-4ccf-93e9-4f4a8e0aa3c7", + "metadata": {}, + "source": [ + "### processing" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dc78d57d-4fe3-4e11-ab4c-0f0afe60ca32", + "metadata": {}, + "outputs": [], + "source": [ + "class Analysis(processor.ProcessorABC):\n", + " def __init__(self):\n", + " self.h = hist.new.Regular(30, 0, 300, label=\"leading electron $p_T$\").\\\n", + " StrCat([], name=\"dsid\", growth=True).\\\n", + " StrCat([], name=\"variation\", growth=True).\\\n", + " Weight()\n", + "\n", + " def process(self, events):\n", + " f = uproot.open(events.metadata[\"filename\"])\n", + "\n", + " # this should match existing pre-determined metadata\n", + " # sim_type, mc_campaign, dsid, etag = f[\"metadata\"].axes[0]\n", + " # assert mc_campaign == events.metadata[\"campaign\"]\n", + " # assert dsid == events.metadata[\"dsid\"]\n", + "\n", + " # ensure systematics in schema and in histogram match\n", + " # systematics_from_hist = list(f[\"listOfSystematics\"].axes[0])\n", + " # assert sorted(systematics_from_hist) == sorted(events.systematic_names) \n", + "\n", + " sumw = float(f[f.keys(filter_name=\"CutBookkeeper*NOSYS\")[0]].values()[1]) # initial sum of weights\n", + "\n", + " for variation in events.systematic_names:\n", + " if variation != \"NOSYS\" and \"EG_SCALE_ALL\" not in variation:\n", + " continue\n", + "\n", + " print(variation)\n", + "\n", + " cut = events[variation][\"pass\"][\"ejets\"] == 1\n", + " weight = events[variation][cut==1].weight.mc * events.metadata[\"weight_xs\"] * events.metadata[\"lumi\"]\n", + " self.h.fill(events[variation][cut==1].el.pt[:, 0] / 1_000, dsid=str(dsid), variation=variation, weight=weight)\n", + "\n", + " return {\n", + " \"hist\": self.h,\n", + " \"meta\": {\n", + " \"sumw\": {dsid: {(events.metadata[\"fileuuid\"], sumw)}}} # sumw in a set to avoid summing multiple times per file\n", + " }\n", + "\n", + " def postprocess(self, accumulator):\n", + " # normalize histograms\n", + " # https://topcptoolkit.docs.cern.ch/latest/starting/running_local/#sum-of-weights\n", + " for dsid in accumulator[\"hist\"].axes[1]:\n", + " norm = 1 / sum([sumw for uuid, sumw in accumulator[\"meta\"][\"sumw\"][dsid]])\n", + " accumulator[\"hist\"][:, dsid, :] = np.stack([accumulator[\"hist\"][:, dsid, :].values()*norm, accumulator[\"hist\"][:, dsid, :].variances()*norm**2], axis=-1)\n", + "\n", + "\n", + "out, report = run(preprocess_output, processor_instance=Analysis())\n", + "out, report" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34321284-9b74-41ad-b41c-0756f26de58e", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = plt.subplots()\n", + "out[\"hist\"][:, :, \"NOSYS\"].stack(\"dsid\").plot(ax=ax, stack=True, histtype=\"fill\", linewidth=1)\n", + "ax.set_title(\"4j1b e+jets\")\n", + "_ = ax.legend()" + ] + } + ], + "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.12.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/atlas/process_ntuples.ipynb b/atlas/process_ntuples.ipynb deleted file mode 100644 index 7f23992..0000000 --- a/atlas/process_ntuples.ipynb +++ /dev/null @@ -1,484 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "54781021-2a58-477f-8a8a-926e9acd322e", - "metadata": {}, - "outputs": [], - "source": [ - "import awkward as ak\n", - "import vector\n", - "import hist\n", - "import matplotlib.pyplot as plt\n", - "import mplhep\n", - "import numpy as np\n", - "import uproot\n", - "\n", - "from atlas_schema.schema import NtupleSchema\n", - "from coffea import dataset_tools\n", - "from coffea.nanoevents import NanoEventsFactory\n", - "\n", - "vector.register_awkward()\n", - "mplhep.style.use(mplhep.style.ATLAS1)" - ] - }, - { - "cell_type": "markdown", - "id": "a4f4058f-6c5c-4ce6-89f4-0e0c1b34040f", - "metadata": {}, - "source": [ - "# getting files" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "f170f5b4-5e0b-4748-9629-b755dc8559bc", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Active release set to: 2024r-pp. Metadata cache cleared.\n", - "Fetching and caching all metadata for release: 2024r-pp...\n", - "Successfully cached 374 datasets.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'dataset_number': '410470',\n", - " 'physics_short': 'PhPy8EG_A14_ttbar_hdamp258p75_nonallhad',\n", - " 'e_tag': 'e6337',\n", - " 'cross_section_pb': 729.77,\n", - " 'genFiltEff': 0.5437965,\n", - " 'kFactor': 1.139756362,\n", - " 'nEvents': 32890000,\n", - " 'sumOfWeights': 24014984445.816772,\n", - " 'sumOfWeightsSquared': 17816963736313.004,\n", - " 'process': 'ttbar',\n", - " 'generator': 'Powheg+Pythia8(v8.230)+EvtGen(v1.6.0)',\n", - " 'keywords': ['SM', 'lepton', 'top', 'ttbar'],\n", - " 'description': \"POWHEG+Pythia8 ttbar production with Powheg hdamp equal 1.5*top mass, A14 tune, at least one lepton filter, ME NNPDF30 NLO, A14 NNPDF23 LO from DSID 410450 LHE files with Shower Weights added '\",\n", - " 'job_path': 'https://gitlab.cern.ch/atlas-physics/pmg/infrastructure/mc15joboptions/-/tree/master/share/DSID410xxx/MC15.410470.PhPy8EG_A14_ttbar_hdamp258p75_nonallhad.py',\n", - " 'CoMEnergy': None,\n", - " 'GenEvents': None,\n", - " 'GenTune': None,\n", - " 'PDF': None,\n", - " 'Release': None,\n", - " 'Filters': None,\n", - " 'release': {'name': '2024r-pp'}}" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# getting files\n", - "import atlasopenmagic\n", - "\n", - "atlasopenmagic.set_release(\"2024r-pp\")\n", - "\n", - "# atlasopenmagic.available_keywords()\n", - "# atlasopenmagic.get_metadata(\"Pythia8EvtGen_A14NNPDF23LO_zprime3000_tt\")\n", - "\n", - "atlasopenmagic.get_metadata(\"410470\")\n", - "# atlasopenmagic.get_urls(\"301333\")\n", - "\n", - "# for dsid in atlasopenmagic.available_datasets():\n", - "# metadata = atlasopenmagic.get_metadata(dsid)\n", - "# print(dsid, metadata[\"physics_short\"])" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "fe152497-8aad-43bf-aeaf-510b83206050", - "metadata": {}, - "outputs": [], - "source": [ - "def get_xsec_norm(dsid):\n", - " # not including normalization by sum of weights (that one depends on the number of files processed)\n", - " lumi = 36646.74 # / pb\n", - " meta = atlasopenmagic.get_metadata(dsid)\n", - " return lumi * meta[\"cross_section_pb\"] * meta[\"kFactor\"] * meta[\"genFiltEff\"]\n", - "\n", - "\n", - "fileset = {\n", - " \"Zprimett\": {\n", - " \"files\": {\"301333.root\": \"reco\"}, # https://cernbox.cern.ch/s/8LgmhEZsKofVxSs\n", - " \"metadata\": {\"meta\": 0}\n", - " },\n", - " \"ttbar\": {\n", - " \"files\": {\"410470.root\": \"reco\"}, # https://cernbox.cern.ch/s/maw47evOZ8QylGr\n", - " \"metadata\": {\"meta\": 0}\n", - " }\n", - "}" - ] - }, - { - "cell_type": "markdown", - "id": "a21373a0-cb60-4d50-9e32-727d20806833", - "metadata": {}, - "source": [ - "# interactive exploration" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7b6f199c-37cc-4e89-8d63-42d656b222a7", - "metadata": {}, - "outputs": [], - "source": [ - "events = NanoEventsFactory.from_root(fileset[\"ttbar\"][\"files\"], mode=\"virtual\", schemaclass=NtupleSchema).events()\n", - "# _ = ak.materialize(events) # force read everything (similar to using eager mode, only use this for small inputs and testing)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "3209cead-1583-4af6-b926-538b3371fee5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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+4R3cD8nGxaNHCouTERERAYXHh6OadOmVbudhIQEg02G6qNaCfPZs2cxZswY/P333wCAjh07Yt26dfD19VWXmTRpEiZNmqS1vqWlJaZPn46JEyfiyJEj6uO2trbIzs5GZmam1mUZqpllO7uK16Ta29uXWyNNDYvHhOpfoERERFR1hlraam9vb4Bo9FflW2OvWLECPXr0wN9//w0bGxtERkZCqVRqJMuVoSp/9uxZ9bFmzZoBADIzM7XWuXXrFgCgadOmVQmdiIiIiKjSqpQwx8TEYPz48SgoKMDAgQNx9uxZREREQC6X692Wra0tAKBRowcfyPL29gYAJCYmaq1z+vRpjXJERERERMaid8KckpKCV155BUIITJkyBX/88QfatGmjtWxeXh66dOmCrl27Ii8vT2sZVVLcqVMn9THVjhk7d+7UWmfHjh0AgL59++obPhERERGRXvROmJcvX478/HwMHz4cixYtgpmZ7ibs7OzQvHlznDp1CitWrNBaRqFQANDczSIoKAhA2R3/MjIyNMofPXoU586dg5OTEwYMGKBv+EREREREetE7YY6OjgYATJ8+vVLlX3/9dQDAjBkzsHbtWvXOF2lpaQgNDcW+ffvQvXt3hIaGquv4+fkhMDAQGRkZCAkJwdWrVwEASqUSwcHBAICpU6dWaQkIEREREZE+9Nolo7S0FJcuXQIAvPrqq7C0tNRZ1tfXF5s2bcJzzz2HsLAwKBQKjB07FuPHj4eDg4P6g3ve3t5Ys2ZNuZnqZcuWoU+fPtizZw88PDzg5OSErKwsAED//v0RHh6uT+hERERERFWiV8J848YN3Lt3DwBw5coVybIPbwe3ePFiBAYGYuHChUhMTERubi769euHAQMG4MMPP9S6PZyHhwfi4+MRERGB2NhY3L59G97e3hg7diw++OADWFlZ6RM6EREREVGV6JUwt2rVSufNRCoSFBSkXptcWa6urli6dGmV+iMiIiIiMoQq78NMRERERNQQMGEmIiIiIpJQrVtj1wXBwcEV7qYRFhaGsLAwE0VERERERI9SKBTq7YZ1KSwsNFE0mup9whwTEwN/f/+aDoOIiIiIJFRmAlOpVCIgIMBEET3AJRlERERERBKYMBMRERERSWDCTEREREQkgQkzEREREZEEJsxERERERBKYMBMRERERSWDCTEREREQkgQkzEREREZEEJsxERERERBKYMBMRERERSWDCTEREREQkgQkzEREREZEEi5oOwNiCg4Mhl8sly4SFhSEsLMxEERERERHRoxQKBRQKhWSZwsJCE0Wjqd4nzDExMfD396/pMIiIiIhIQmUmMJVKJQICAkwU0QNckkFEREREJIEJMxERERGRBCbMREREREQSmDATEREREUlgwkxEREREJIEJMxERERGRBCbMREREREQSmDATEREREUlgwkxEREREJIEJMxERERGRBCbMREREREQSLGo6AGMLDg6GXC6XLFOZe5cTERERkfEoFAooFArJMoWFhSaKRlO9T5hjYmLg7+9f02EQERERkYTKTGAqlUoEBASYKKIHuCSDiIiIiEgCE2YiIiIiIglMmImIiIiIJDBhJiIiIiKSwISZiIiIiEgCE2YiIiIiIglMmImIiIiIJDBhJiIiIiKSwISZiIiIiEgCE2YiIiIiIglMmImIiIiIJFjUdADGFhwcDLlcLlmmMvcuJyIiIiLjUSgUUCgUkmUKCwtNFI2mep8wx8TEwN/fv6bDICIiIiIJlZnAVCqVCAgIMFFED3BJBhERERGRBCbMREREREQSmDATEREREUmocsJ85coVhIaGolu3brC3t4evry9CQ0Nx6dIlreVv3ryJSZMmoVWrVpDL5fDx8cHs2bMlF29XpQ4RERERkSFV6UN/O3bswPPPP4+cnBzIZDK4uLjg7NmzOHPmDGJiYrBixQo8//zz6vIpKSno3bs3UlNTAQBOTk64cOECoqKisHv3buzduxfW1tYafVSlDhERERGRoek9w3zv3j2EhYUhJycH48aNQ2ZmJlJTU5GZmYlp06YhLy8PEydOxI0bN9R1xo8fj9TUVAwZMgTJycnIzMyEUqmEu7s74uLiMG/evHL9VKUOEREREZGh6Z0wr1+/HklJSWjfvj2WL18OR0dHAICjoyO++uorjBkzBnfv3sWCBQsAACdOnMDu3bvh4uKC6OhotG7dGgDQvXt3bNiwAQCwePFijWUWValDRERERGQMeifMZ86cAQC89NJLkMlk5c6PGzcOQFnSCwBbtmwBAIwaNQpNmjTRKNuzZ0907twZWVlZOHz4sPp4VeoQERERERmD3gnz5cuXAUA96/soNzc3AEBycjIAIC4uDgAwfPhwreVVx1XlqlqHiIiIiMgY9P7Q39tvv42xY8eiZ8+eWs8fO3YMAODu7g4AuHjxIgDAy8tLa3lPT08AQFJSkvpYVeoQERERERmD3glz7969dZ7LysrCxx9/DODBLHB6ejqAsl0utGncuDEAIC0tTX2sKnV0yc3NRXZ2doXlKmJtbc1dOYiIiIiqoKioCEVFRdVuJzc31wDR6K9K28ppc+nSJTz//PNISkpC8+bN8dprrwEA8vPzATxIch+lOq4qV9U6ugwcOLCSz0BaREQEIiMjDdIWERERUUMyf/58zJkzp6bDqLJqJ8z37t3DggULMHfuXOTn58PW1habN29WJ7VCCI2vjzI3NwcAlJSUqI9VpY4u+/fvh5+fX+WejATOLhMRERFVTXh4OKZNm1btdhISEgw2GaqPaiXMZ8+exZgxY/D3338DADp27Ih169bB19dXXcbW1hbZ2dnIzMzUusRCNUtsZ2dXrTq62Nvbw8HBQZ+nRUREREQGZKilrfb29gaIRn9VvjX2ihUr0KNHD/z999+wsbFBZGQklEqlRrIMAM2aNQMAZGZmam3n1q1bAICmTZtWqw4RERERkTFUKWGOiYnB+PHjUVBQgIEDB+Ls2bOIiIiAXC4vV9bb2xsAkJiYqLWt06dPa5Srah0iIiIiImPQO2FOSUnBK6+8AiEEpkyZgj/++ANt2rTRWb5Pnz4AgJ07d2o9v2PHDgBA3759q1WHiIiIiMgY9E6Yly9fjvz8fAwfPhyLFi2CmZl0E0FBQQDK7t6XkZGhce7o0aM4d+4cnJycMGDAgGrVISIiIiIyBr0T5ujoaADA9OnTK1Xez88PgYGByMjIQEhICK5evQoAUCqVCA4OBgBMnTpVYzlHVeoQERERERmDXrtklJaW4tKlSwCAV199FZaWljrL+vr6YtOmTQCAZcuWoU+fPtizZw88PDzg5OSErKwsAED//v0RHh5ern5V6hARERERGZpeCfONGzdw7949AMCVK1ckyz68HZyHhwfi4+MRERGB2NhY3L59G97e3hg7diw++OADWFlZlatflTpERERERIamV8LcqlUrnTcTqYirqyuWLl1q9DpERERERIZU5X2YiYiIiIgaAibMREREREQSqnVr7LogODi4wt00wsLCEBYWZqKIiIiIiOhRCoUCCoVCskxhYaGJotFU7xPmmJgY+Pv713QYRERERCShMhOYSqUSAQEBJoroAS7JICIiIiKSwISZiIiIiEgCE2YiIiIiIglMmImIiIiIJDBhJiIiIiKSwISZiIiIiEgCE2YiIiIiIglMmImIiIiIJDBhJiIiIiKSwISZiIiIiEgCE2YiIiIiIglMmImIiIiIJFjUdADGFhwcDLlcLlkmLCwMYWFhJoqIiIiIiB6lUCigUCgkyxQWFpooGk31PmGOiYmBv79/TYdBRERERBIqM4GpVCoREBBgooge4JIMIiIiIiIJTJiJiIiIiCQwYSYiIiIiksCEmYiIiIhIAhNmIiIiIiIJTJiJiIiIiCQwYSYiIiIiksCEmYiIiIhIAhNmIiIiIiIJTJiJiIiIiCQwYSYiIiIikmBR0wEYW3BwMORyuWSZyty7nIiIiIiMR6FQQKFQSJYpLCw0UTSa6n3CHBMTA39//5oOg4iIiIgkVGYCU6lUIiAgwEQRPcAlGUREREREEpgwExERERFJYMJMRERERCSBCTMRERERkQQmzEREREREEpgwExERERFJYMJMRERERCSBCTMRERERkQQmzEREREREEpgwExERERFJYMJMRERERCTBoqYDMLbg4GDI5XLJMpW5dzkRERERGY9CoYBCoZAsU1hYaKJoNNX7hDkmJgb+/v41HQYRERERSajMBKZSqURAQICJInqASzKIiIiIiCQwYSYiIiIiksCEmYiIiIhIgkES5rVr10Imk+H8+fOGaE7t5s2bmDRpElq1agW5XA4fHx/Mnj27xhZ8ExEREVHDY5CE+ZdffpE8P3fuXMhkMsnH7du3NeqkpKTA398fP/zwA65fvw4bGxtcuHABUVFRePzxx1FUVGSI0ImIiIiIJFUrYRZC4LvvvsPWrVsly124cAEA0LJlS3h5eWl9mJlphjJ+/HikpqZiyJAhSE5ORmZmJpRKJdzd3REXF4d58+ZVJ3QiIiIiokqp0rZyu3fvxi+//IKDBw+qk2EpFy9eBAAcOHAA7dq1q7D8iRMnsHv3bri4uCA6OhpNmjQBAHTv3h0bNmxAr169sHjxYsycObPCPZaJiIiIiKqjSjPMsbGx+PHHHyuVLANlM8zW1tZo3bp1pcpv2bIFADBq1Ch1sqzSs2dPdO7cGVlZWTh8+LB+gRMRERER6alKCfP06dORkJCgfri5ueksm5WVhdu3b8PLywvm5uaVaj8uLg4AMHz4cK3nVcdV5YiIiIiIjKVKSzLc3Nw0kmQrKyudZVWz0D4+PtiwYQN++uknXL58GW3btkWPHj3w5ptvwsHBQaOOagmHl5eX1jY9PT0BAElJSVUJn4iIiIio0ox+a2xV8hsbG4tNmzapj588eRKbN2/G0qVLER0djT59+qjPpaenAwCcnJy0ttm4cWMAQFpaWoX95+bmIjs7u6rhq1lbW8Pa2rra7RARERE1NEVFRQbZ4Sw3N9cA0ejP6Amzaoa5tLQUc+bMwbPPPgt3d3ckJCRgxowZOHbsGMaMGYOzZ8/CxsYGAJCfnw/gQWL8KNVxVTkpAwcONMTTQEREBCIjIw3SFhEREVFDMn/+fMyZM6emw6gyoyfMLVq0QEhICIKCghASEqI+PnDgQBw6dAi+vr5ITEzEokWLMGPGDABl29U9/PVRqrXQJSUlFfa/f/9++Pn5VfNZgLPLRERERFUUHh6OadOmVbudhIQEg02G6sPoCfOkSZMwadIkrecsLS0xffp0TJw4EUeOHFEft7W1RXZ2NjIzM7Uuy1DNLNvZ2VXYv729fbk10kRERERkOoZa2mpvb2+AaPRnkDv9VYevry8A4OzZs+pjzZo1AwBkZmZqrXPr1i0AQNOmTY0cHRERERE1dDWeMNva2gIAGjVqpD7m7e0NAEhMTNRa5/Tp0xrliIiIiIiMxagJc15eHrp06YKuXbsiLy9PaxlVUtypUyf1MdWOGTt37tRaZ8eOHQCAvn37GjJcIiIiIqJyjJow29nZoXnz5jh16hRWrFihtYxCoQCguZtFUFAQgLI7/mVkZGiUP3r0KM6dOwcnJycMGDDASJETEREREZUx+pKM119/HQAwY8YMrF27Vr3zRVpaGkJDQ7Fv3z50794doaGh6jp+fn4IDAxERkYGQkJCcPXqVQCAUqlEcHAwAGDq1KmQy+XGDp+IiIiIGjijJ8zPPfccwsLCUFBQgLFjx8LW1hbNmzdHixYtsGrVKnh7e2PNmjUwM9MMZdmyZXB1dcWePXvg4eGBxo0bIyAgANeuXUP//v0RHh5u7NCJiIiIiEzzob/Fixdj8+bNGDRoEJydnVFYWIh+/frhww8/xIkTJ9C5c+dydTw8PBAfH4+JEyfCzc0NBQUF8Pb2RmRkJHbt2iV5O24iIiIiIkMxyD7Mly9frrBMUFCQem1yZbm6umLp0qVVDYuIiIiIqNpqfFs5IiIiIqLajAkzEREREZEEo98au6YFBwdXuJtGWFgYwsLCTBQRERERET1KoVCotxvWpbCw0ETRaKr3CXNMTAz8/f1rOgwiIiIiklCZCUylUomAgAATRfQAl2QQEREREUlgwkxEREREJIEJMxERERGRBCbMREREREQSmDATEREREUlgwkxEREREJIEJMxERERGRBCbMREREREQSmDATEREREUlgwkxEREREJIEJMxERERGRBCbMREREREQSLGo6AGMLDg6GXC6XLBMWFoawsDATRUREREREj1IoFFAoFJJlCgsLTRSNpnqfMMfExMDf37+mwyAiIiIiCZWZwFQqlQgICDBRRA9wSQYRERERkQQmzEREREREEur9kgyi+uj3yI9xPycbFo0c8FTkzJoOh4iIqF5jwkxUB8k3fg6L7Bzcd2gEMGEmIiIyKi7JIKqDbJCv8ZWIiIiMhwkzEREREZEEJsxERERERBKYMBMRERERSWDCTEREREQkgQkzEREREZEEJsxERERERBLq/T7MwcHBkMvlkmUqc+9yIiIiIjIehUIBhUIhWaawsNBE0Wiq9wlzTEwM/P39azoMIiIiIpJQmQlMpVKJgIAAE0X0AJdkEBERERFJYMJMRERERCSBCTMRERERkYR6v4aZqCbcOpeEYrs4k/R1+oBx+3Fs7gL39p5G7YOIiKg2Y8JMZECNmjnDzBIo/iYKtxBltH4sHczV3996+TGj9QMA1yxtgK1/M2kmIqIGiwkzkQG5erZC4/fscMPlfdyXexitn7T3x6u/b7VkpdH6uXUuCfgmCnfTbjFhJiKiBosJM5EhWTWBvKk92t37ArhnvG7SHvreJ+dNo/XjKkpwHIB50S2j9UFERFTbMWEmMiQ7d2D4MaD4tnH7mdfzwfeB+43WTfq+rQBmw/z+XaP1QUREVNsxYSYyNDv3soepNPYzWtP35X8brW0iIqK6gtvKERERERFJYMJMRERERCSh3i/JCA4OhlwulyxTmXuXExEREZHxKBQKKBQKyTKFhYUmikZTvU+YY2Ji4O/vX9NhEBEREZGEykxgKpVKBAQEmCiiB7gkg4iIiIhIAhNmIiIiIiIJTJiJiIiIiCQYJGFeu3YtZDIZzp8/r7PMzZs3MWnSJLRq1QpyuRw+Pj6YPXu25OLtqtQhIiIiIjIkg3zo75dffpE8n5KSgt69eyM1NRUA4OTkhAsXLiAqKgq7d+/G3r17YW1tXe06RERERESGVq0ZZiEEvvvuO2zdulWy3Pjx45GamoohQ4YgOTkZmZmZUCqVcHd3R1xcHObNm2eQOkREREREhlalhHn37t0YP3482rdvj9dff12y7IkTJ7B79264uLggOjoarVu3BgB0794dGzZsAAAsXrxYY5lFVeoQNSRugxqjzVAruA1qXNOhEBER1XtVWpIRGxuLH3/8sVJlt2zZAgAYNWoUmjRponGuZ8+e6Ny5M86cOYPDhw9jyJAhVa5D1JB4hs0G7uUAlo1qOhQiIqJ6r0ozzNOnT0dCQoL64ebmprNsXFwcAGD48OFaz6uOq8pVtQ5Rg9J+CuAbXvaViIiIjKpKM8xubm4aSbKVlZXOshcvXgQAeHl5aT3v6ekJAEhKSqpWHSIiIiIiYzD6rbHT09MBlO1yoU3jxmVrMNPS0qpVR5fc3FxkZ2dXNlydrK2tuSsHERERURUUFRWhqKio2u3k5uYaIBr9GT1hzs/PB/AgyX2U6riqXFXr6DJw4MDKByshIiICkZGRBmmLiIiIqCGZP38+5syZU9NhVJnRE2YhhMbXR5mbmwMASkpKqlVHl/3798PPz6/S8erC2WUiIiKiqgkPD8e0adOq3U5CQoLBJkP1YfSE2dbWFtnZ2cjMzNS6xEI1S2xnZ1etOrrY29vDwcGhasETERERUbUZammrvb29AaLRn0FujS2lWbNmAIDMzEyt52/dugUAaNq0abXqEBEREREZg9ETZm9vbwBAYmKi1vOnT5/WKFfVOkRERERExmD0hLlPnz4AgJ07d2o9v2PHDgBA3759q1WHiIiIiMgYjJ4wBwUFASi7e19GRobGuaNHj+LcuXNwcnLCgAEDqlWHiIiIiMgYjJ4w+/n5ITAwEBkZGQgJCcHVq1cBAEqlEsHBwQCAqVOnQi6XV6sOEREREZExGH2XDABYtmwZ+vTpgz179sDDwwNOTk7IysoCAPTv3x/h4eEGqUNEREREZGhGn2EGAA8PD8THx2PixIlwc3NDQUEBvL29ERkZiV27dmm9tXZV6hARERERGZpBZpgvX75cYRlXV1csXbpUr3arUoeIiIiIyJBMMsNMRERERFRXMWEmIiIiIpJgkg/91aTg4OAKd9MICwtDWFiYiSIiIiIiokcpFAooFArJMoWFhSaKRlO9T5hjYmLg7+9f02EQERERkYTKTGAqlUoEBASYKKIHuCSDiIiIiEgCE2YiIiIiIglMmImIiIiIJDBhJiIiIiKSwISZiIiIiEgCE2YiIiIiIglMmImIiIiIJDBhJiIiIiKSUO9vXEJEdcT5xcC9HMCyEdB+Sk1HQ0REpMaEmYhqh0QFUHADsHFjwkxERLUKl2QQEREREUngDDMR1QpJu25Dll8EYXsbnqNqOhoiIqIH6n3CHBwcDLlcLlkmLCwMYWFhJoqIiLS5sS8T97JLYOmQCc+aDoaIiExOoVBAoVBIliksLDRRNJrqfcIcExMDf3//mg6DiIiIiCRUZgJTqVQiICDARBE9wDXMREREREQSmDATEREREUlgwkxEREREJIEJMxERERGRBCbMREREREQSmDATEREREUmo99vKEVH1WRSmAJkJpuvQ2H1ZNQHs3I3bBxER1RtMmIlIpxILRwBAs8ufAve+MF3HuwYat31zW2D4MSbNRERUKUyYiUinEmsXAMDNjt+iUZ+uxu1sXs8H3wfuN14/2YnA0YlA8W0mzEREVClMmImoQimXi1FsV2Cy/k6fMl5fVnmF8MgshdxoPRARUX3DhJmIdHJs7oJrljaw+nwSbhm5L0sHc/X3t15+zKh93bAE2gdcg2sPP6P2Q0RE9UO9T5iDg4Mhl0vPJVXm3uVEDZF7e09g69+4m2bsdBnInDJA/b3L6sNG6ycrfjuKv4lCTvoduBqtFyIi0pdCoYBCoZAsU1hYaKJoNNX7hDkmJgb+/v41HQZRneXe3rMscTaygw997zugr9H6Scy7gGtGa52IiKqqMhOYSqUSAQEBJoroAe7DTEREREQkgQkzEREREZEEJsxERERERBKYMBMRERERSWDCTEREREQkgQkzEdUKBbDV+EpERFRbMGEmolqhUNhpfCUiIqotmDATEREREUmo9zcuIaI64rkwZOVkw6KRQ01HQkREpIEJMxHVCk9FzqzpEIiIiLTikgwiIiIiIgn1foY5ODgYcrlcskxl7l1ORERERMajUCigUCgkyxQWFpooGk31PmGOiYmBv79/TYdBRERERBIqM4GpVCoREBBgooge4JIMIiIiIiIJTJiJiIiIiCQwYSYiIiIiklCrE+abN29i0qRJaNWqFeRyOXx8fDB79uwaW/BNRERERA2PyRLmuXPnQiaTST5u376tLp+SkgJ/f3/88MMPuH79OmxsbHDhwgVERUXh8ccfR1FRkalCJyIiIqIGzGQJ84ULFwAALVu2hJeXl9aHmdmDcMaPH4/U1FQMGTIEycnJyMzMhFKphLu7O+Li4jBv3jxThU5EREREDZjJtpW7ePEiAODAgQNo166dZNkTJ05g9+7dcHFxQXR0NJo0aQIA6N69OzZs2IBevXph8eLFmDlzZoV7LBMRERERVYdJZ5itra3RunXrCstu2bIFADBq1Ch1sqzSs2dPdO7cGVlZWTh8+LBRYiUiIiIiUjFJwpyVlYXbt2/Dy8sL5ubmFZaPi4sDAAwfPlzredVxVTkiIiIiImMxyZIM1fplHx8fbNiwAT/99BMuX76Mtm3bokePHnjzzTfh4OCgLq9avuHl5aW1PU9PTwBAUlKSkSMnIiIioobOJAmzKgGOjY3Fpk2b1MdPnjyJzZs3Y+nSpYiOjkafPn0AAOnp6QAAJycnre01btwYAJCWllZh37m5ucjOzq5O+AAAa2trWFtbV7sdIiIiooamqKjIIDuc5ebmGiAa/Zl0hrm0tBRz5szBs88+C3d3dyQkJGDGjBk4duwYxowZg7Nnz8LGxgb5+fkAHiTGj1IdV5WTMnDgQIM8h4iICERGRhqkLSIiIqKGZP78+ZgzZ05Nh1FlJkmYW7RogZCQEAQFBSEkJER9fODAgTh06BB8fX2RmJiIRYsWYcaMGRBCAID666NU66BLSkoq7Hv//v3w8/Or9nPg7DIRERFR1YSHh2PatGnVbichIcFgk6H6MEnCPGnSJEyaNEnrOUtLS0yfPh0TJ07EkSNHAAC2trbIzs5GZmam1mUZqpllOzu7Cvu2t7fXWB9NRERERKZlqKWt9vb2BohGf7Xi1ti+vr4AgLNnzwIAmjVrBgDIzMzUWv7WrVsAgKZNm5ogOiIiIiJqyGpFwmxrawsAaNSoEQDA29sbAJCYmKi1/OnTpzXKERHVNinLFuDS15FIWbagpkMhIqJqMnrCnJeXhy5duqBr167Iy8vTWkaVGHfq1AkA1Ltl7Ny5U2v5HTt2AAD69u1r6HCJiAzi/LdfIfmbuTj/7Vc1HQoREVWT0RNmOzs7NG/eHKdOncKKFSu0llEoFAAe7GgRFBQEoOyOfxkZGRpljx49inPnzsHJyQkDBgwwYuRERFVXcE9ofCUiorrLJEsyXn/9dQDAjBkzsHbtWvXuF2lpaQgNDcW+ffvQvXt3hIaGAgD8/PwQGBiIjIwMhISE4OrVqwAApVKJ4OBgAMDUqVMhl8tNET4RERERNWAmSZife+45hIWFoaCgAGPHjoWtrS2aN2+OFi1aYNWqVfD29saaNWtgZvYgnGXLlsHV1RV79uyBh4cHGjdujICAAFy7dg39+/dHeHi4KUInIqoSuSxP4ysREdVdJvvQ3+LFi7F582YMGjQIzs7OKCwsRL9+/fDhhx/ixIkT6Ny5s0Z5Dw8PxMfHY+LEiXBzc0NBQQG8vb0RGRmJXbt2wcrKylShExHpzQb5Gl+JiKjuMsk+zCpBQUHq9cmV4erqiqVLlxoxIiIiIiIiabViWzkiIiIiotrKpDPMRES1RXFKMnJOK03Slyn6sWzcFPKWHkbvh4ioIar3CXNwcHCFu2mEhYUhLCzMRBERUU0yc3SCmSVwa34kbiHSaP1YOpirvz8+sofR+lExs7FFn91nmTQTUZ2lUCjUWw3rUlhYaKJoNNX7hDkmJgb+/v41HQYR1RKWzVugz3t2UDp/A4fmHY3WT+aUB/vEu6w+bLR+AOB+8nncmf0q7mVmMGEmojqrMhOYSqUSAQEBJorogXqfMBMRPczeygzyxmZYcasZLtxoarR+5v7vqwAw5YTx+gGAFmlpmATgdu59NDJqT0REDRMTZiJqUJrYl/23N3fAXRTbZhqtn5TlZV9lAFaNNF4/AHBdeQeFa4Hc4hKj9kNE1FAxYSaihsWqCWBuC9d/jPu5hZSHvm8dH2jUvpyvleA4APOiW0bth4iooWLCTEQNi507MPwYUHzbuP3M6/ng+8D9Ru0qfd9WALNhfv+uUfshImqomDATUcNj5172MJXGfkZt/r78b6O2T0TU0PHGJUREREREEjjDTERElXN+MXAvB7BsBLSfUtPREBGZDBNmIiIjaNbfCVZFOSi2rj8bvSUp5kKWnw1h6wDP/zBhJqKGgwkzEZEReDzuDNuSYuSbO9d0KAZzY18m7mWXwNIhE541HQwRkQlxDTMRkRHYWplpfCUiorqLM8xERMbgE/ZgvS8REdVpTJiJiIyBH4ojIqo36n3CHBwcDLlcLlkmLCwMYWHGvesXEREREemmUCigUCgkyxQWFpooGk31PmGOiYmBv79/TYdBRGR0FoUpQGaCaTozdj9WTUx7cxkiqnGVmcBUKpUICAgwUUQP1PuEmYioviuxcAQANLv8KXDvC9N0umugcds3ty27hTmTZiKqBZgwExHVcSXWLgCAk7J34dLImBu+jVd/l9hokdF6sShMgdutzyAvvs2EmYhqBSbMRER1nGNzF1yztAG+icI1I/Zj6WCu/v7a66FG7AlIsQTaB1yDaw8/o/ZDRFQZTJiJiOo49/aewNa/cTftllH7yZwyQP29y+rDRusnK347ir+JQk76HbgarRciospjwkxEVA+4t/csS5yN6OBD3/sO6Gu0fhLzLhh1ppyISF+8BRURERERkQQmzEREREREEpgwExFRpRTAVuMrEVFDwTXMRERUKYXPzsD9nGxYNHKo6VCIiEyKCTMREVXKU5EzazoEIqIawSUZREREREQS6v0Mc3BwMORyuWSZyty7nIiIiIiMR6FQQKFQSJYpLCw0UTSa6n3CHBMTA39//5oOg4iIiIgkVGYCU6lUIiAgwEQRPcAlGUREREREEpgwExERERFJYMJMRERERCSBCTMRERERkYR6/6E/IiIiXX6P/Fh9MxbuM01EujBhJiKiBku+8XNYZOfgvkMjoD4kzOcXA/dyAMtGQPspNR0NUb3BhJmIiBosG+Tj3v++1guJCqDgBmDjxoSZyICYMBMREdUTSbtuQ5ZfBGF7G56jajoaovqDCTMREVE9cWNfJu5ll8DSIROeNR0MUT3ChJmIiGqlW+eSUGwXZ7L+Th8wbl+OzV3g3p5pLFFdxISZiIhqlUbNnGFmCRR/E4VbiDJqX5YO5urvb738mFH7umFpDYtf1sPVs5VR+1HLTDB+H1ZNADt34/dDVMPqfcIcHBwMuVwuWaYy9y4nIiLTcO3YDU7vN8X9bON/EC9hZZH6+55v2Rqtn7xbpTj7ayFkMS8gx8U0t0DIWdHP6H1YONjCZkw8k2YyCIVCAYVCIVmmsLDQRNFoqvcJc0xMDPz9/Ws6DCIiqiw797IkrPi28fta2VP9baNxh4zWTW7SNdzf8DzO/mrcX/YPz5gf/4/x/+Aws8xHe7+TcO1hvIQ5bsYoiLxsyOwc0PfzLUbrh2peZSYwlUolAgICTBTRA/U+YSYiojrIzt30s5aN/YzWtGsPP9zfehp3024ZrQ8AyJwyQP29y+rDRu0rK347ir+JQk76HbgasZ/727f/74OM5sDnRuyISAITZiIiarDcBjWGLD8bwtbB6H25t/c0+of+Dj70ve+AvkbtKzHvAq4ZtQei2oMJMxERNVieYbMf3BmvHiiALSyQgwIYbz32o+6e/hOJJuor8b+rjdq+nZsnWnYz7oc/qW6q9QnzzZs3ERERgW3btiEjIwMeHh4ICQnBhx9+WOGH+YiIiCTVs7vhFT47A/dzsmHRyPgz5nZunjCzBHIUS5GDpUbr5+F12ddeDzVaPwBgZgkg5iCTZj39Hvmx+ufuqfpwi3ktanXCnJKSgt69eyM1NRUA4OTkhAsXLiAqKgq7d+/G3r17YW1trbVucXGxxleqfYqKijB//nyEh4frHEeqWRyjuoHjVPuZaoxMmay07PYYEHMQeTeSjNpP2vvj1d+3WrLSaP2kJxzE0s+WYfqVc0yY9bVBAaecVOQ2agEY+WewpvK7Wp0wjx8/HqmpqRgyZAiWL1+O1q1b48SJEwgKCkJcXBzmzZuHqCjte3QyYa79ioqKMGfOHEybNo2/5GspjlHdwHGq/errGLXs9hhg5OTy4YTZZ8TLRusnN78Aq+8uw9v37hutj/pKLsvT+GpMTJgfceLECezevRsuLi6Ijo5GkyZNAADdu3fHhg0b0KtXLyxevBgzZ87k0gwiIqJ6ymL4cJj/b1s50t/V80lG353FBvm497+vxr5j5raYjTAzM0NQUBDWrVuHwMBAo/anUmsT5i1byvZaHDVqlDpZVunZsyc6d+6MM2fO4PDhwxgyZIjJ4lIoFAa/yUlDbtMY6spzryttGkNdee7Gej05Tg2zTWOoK8+9Om3q2nu5To/R+cUPPmxahXX0lX3uV88n4czIrrC6V1Bh2c05Ak83kukdCyB9x8zqtKvN3+kCpaVAbm4uhg8fjiZNmuDnn382euIsE0IIo/ZQRSNGjMD27duxfv16BAcHlzv/3nvv4auvvkJUVBQ++uijcucPHDiAgQMHYv/+/RgwYEC581XVqVMnnD171mDtVbbNxP+uxrXXQ9FqycpKvSVVU3HqIzs7G46Ojrh79y4cHAw3c1AXnntdaZNjZPg2jdEux6n2t8kxqv1tKjd8j4DgyYiP+Q7+z71msHa1xrmlI1BwA7BxA0b9Y5g2tTh9IA63Xn4MVm/PgksH6S0N/++1cGz7fr7esQBly2ZUe2U3/2y5wdrVZtqchYg9egJ79uzBwYMH8eWXXyI/P9/oiXOtnWG+ePEiAMDLy0vreU/PsoFPSjLuhw0qwjsQERER1R/mhVeBzATDNVhSWK69pJ3pkBUUQdikw7NfFfrS0qY28rt/AQC6ia/QKMdcsqxVaS58ct7UPxYA5v1tICsqhrC2gucjbVSnXW2aiLJ10k5OToiIiMDbb7+Nb775Bl9++aVRZ5xrbcKcnp4OoOwF0aZx48YAgLS0NK3nVfca37l2Ka4e2V7teCwtLGBpaYGcOxnYtGiu+vjtTf/F/dwSWNibI9V9rkQLuj3apja5F08ir0jg7sVk5CqVFbZZWFgIZSXK6cPQbebm5gIAEhISYG9vb7B268JzryttcowM36Yx2uU41f42OUa1v80zyWW3Yr8U+wWy478yWLv5GUU4GKV5E5nz2+/9L3e4jxuW+t9gRlub2hTcEbhUJJBj9gbcXbpLli20mA6lyxd6xwIA6LezLIk3l0Pp8oTWdouL76H43r2qtf+Qq/c+A3BB/W+pxDkmJsZwqwxELWVpaSkAiKysLK3nt2/fLgCIgQMHaj2/YsUKAYAPPvjggw8++OCDj3r2iI+P15r/Xb58WbRp00YAEI6OjgbKSoWotTPM4n9Lq4WOJdbm5mVvLZSUlGg9P3LkSKxYsQJubm4G2UXDysoKVlZW1W6HiIiIqKEpLi42yFZwP/74I1atWlXueFZWlnqGOT8/Hy4uLli/fn21+1OptQmzra0tsrOzkZmZqXVZRn5+PgDAzs5Oa/2mTZsiNDTUiBESERERkSkdOHBA49+PJspNmzbFb7/9hscff9yg/ZoZtDUDatasGQAgMzNT6/lbt8r2FGzatKnJYiIiIiKimpeVlYU5c+bA3d0dc+fOha2tLXbt2oW0tDSDJ8tALZ5h9vb2RlJSEhITE+Hv71/u/OnTp9XliIiIiKjhGDZsGEpLS402o/yoWjvD3KdPHwDAzp07tZ7fsWMHAKBvX/0/XUpEREREdU+/fv1gbm4OZ2dno84oP6rWJsxBQUEAyu74l5GRoXHu6NGjOHfuHJycnMptF3Lz5k1MmjQJrVq1glwuh4+PD2bPnq3eZo5qL46d8a1duxYymQznz5/XWaYq48CxM6zKjFNVcJyq58qVKwgNDUW3bt1gb28PX19fhIaG4tKlS1rL81oyPX3HqCo4RtW3d+9ejBo1Cu3atYODgwN69+6N8PBw5OXlaS3/8Gs+fPhwtGvXDq+99hr+9a9/6ezD4ONksP02jCAwMFAAEEOGDBEpKSlCCCHi4+NFq1atBAARGRmpUf7KlSuiRYsW6i1HnJyc1N/37dtXFBYW1sTTaJDmzJlT4ZYwGRkZ6vIcO9MYOXKkACDOnTun9XxVxoFjZ3gVjZO+15cQHKfq2r59u2jUqJEAIGQymWjevLmQyWQCgLCzsxPr1q3TKM9ryfT0HSNeRzXj008/VY+LpaWlcHFxUb+GrVu3FqmpqRrla8u1VKsT5itXrghXV1etT7h///6iqKhIo/zQoUPVCXZycrIQQgilUinc3d0FAPHRRx/VxNNokF566SUBQLRs2VJ4eXlpfdy5c0ddnmNnXKWlpWLJkiXq60dXIlaVceDYGU5lx0nf60sIjlN1FBcXC09PTwFAjBs3Tn1/gKysLDFt2jT1fq/Xr19X1+G1ZFpVGSNeR6aXnJwsrKyshIWFhfj2229FcXGxEEKIpKQk0adPHwFAjBkzRqNObbmWanXCLIQQN27cEBMnThRubm7C2tpaeHt7i8jIyHJ/HSiVSgFAuLi4lPuL8NixY+qEu6CgwJThN1iqH/ykpKQKy3LsjGfXrl3i1VdfFd7e3hqzJtoSsaqMA8fOMPQZJyH0u76E4DhV188//ywAiPbt24vS0tJy58eMGSMAiHfffVcIwWupJug7RkLwOqoJ06dPFwBEaGhouXOXL18WFhYWwszMTP0a1qZrqdauYVZxdXXF0qVLcf36dRQWFiIxMRERERGwtrbWKLdlyxYAwKhRo9CkSRONcz179kTnzp2RlZWFw4cPmyz2huzChQuwtrZG69atKyzLsTOe2NhY/Pjjj7hw4UKFZasyDhw7w9BnnAD9ri+A41RdZ86cAQC89NJLkMlk5c6PGzcOAHDixAkAvJZqgr5jBPA6qgmqz2U888wz5c61adMGXl5eKC0tRWJiIoDadS3V+oS5suLi4gAAw4cP13pedVxVjownKysLt2/fhpeXl/qOjFI4dsYzffp0JCQkqB9ubm46y1ZlHDh2hqHPOOl7fQEcp+q6fPkyAOhMrFTjlZycDIDXUk3Qd4x4HdWMO3fuwMnJCe7u7lrP29jYAACys7MB1K5rqdbuw6yvixcvAgC8vLy0nvf09AQAJCUlmSymhko1S+bj44MNGzbgp59+wuXLl9G2bVv06NEDb775JhwcHNTlOXbG4+bmppF8Sd3evSrjwLEzDH3GSd/rC+A4Vdfbb7+NsWPHomfPnlrPHzt2DADUSQCvJdPTd4x4HdWMgwcP6jx3+/ZtXLhwARYWFujQoQOA2nUt1ZuEOT09HQC03kYbABo3bgwASEtLM1VIDZbqhzU2NhabNm1SHz958iQ2b96MpUuXIjo6Wr3XNseudqjKOHDsTE/f6wvgOFVX7969dZ7LysrCxx9/DODBzBWvJdPTd4x4HdUOxcXFyMjIQEJCAqKiopCbm4vJkyer7+Jcm66lerMkIz8/H8CDF+JRquOqcmQ8qr/cS0tLMWfOHJw6dQpZWVnYt28fevXqhZSUFIwZMwYFBQUAOHa1RVXGgWNnevpeXwDHyVguXbqEIUOGICkpCc2bN8drr70GgNdSbaJrjHgd1Q7dunVDy5Yt8eSTT+LIkSMICwvDN998oz5fm66lepMwCyE0vj5KtUappKTEZDE1VC1atEBISAjWrFmD2bNnw9fXF46Ojhg4cCAOHToEHx8fJCcnY9GiRQA4drVFVcaBY2d6+l5fAMfJ0O7du4fPPvsMXbp0gVKphK2tLTZv3qz+RcxrqeZVNEa8jmoHDw8PtGzZUv1BzZiYGGzcuFF9vjZdS/UmYba1tQUAZGZmaj2v+kvCzs7OZDE1VJMmTcIvv/yCkJCQcucsLS0xffp0AMCRI0cAcOxqi6qMA8fO9PS9vgCOkyGdPXsWPXr0wAcffID8/Hx07NgRR48e1XjrntdSzarMGPE6qh127NiBa9euIS8vDwsWLEBGRgbGjh2LP//8E0DtupbqTcLcrFkzALpfoFu3bgGAel0M1RxfX18AZf+pARy72qIq48Cxq30evb4AjpOhrFixAj169MDff/8NGxsbREZGQqlUql9zFV5LNaeyY1QRXkemZWNjg3feeQdTpkxBaWkpli1bBqB2XUv1JmH29vYGAPXefY86ffq0RjmqOaq//ho1agSAY1dbVGUcOHa1z6PXF8BxMoSYmBiMHz8eBQUFGDhwIM6ePYuIiAjI5fJyZXkt1Qx9xqgivI4MLz09Hd9//z1++uknnWUGDx4M4MH2f7XpWqo3CbPqrZadO3dqPb9jxw4AQN++fU0WU0OUl5eHLl26oGvXrsjLy9NaRvVD3KlTJwAcu9qiKuPAsTOtqlxfAMepulJSUvDKK69ACIEpU6bgjz/+QJs2bXSW57VkevqMEa+jmmFubo7JkydjwoQJOtcXZ2VlAXiwb3atupb0ui9gLXbixAkBQDRt2lSkp6drnDty5AhvWWlCQ4YMEQDEokWLtJ4fNGiQACCWL18uhODYmVKbNm103nK5KuPAsTMOqXHS9/oSguNUXbNnzxYAxPDhwytVnteS6ek7RryOaka7du0EALFnzx6t50eNGiUAiM8//1wIUbuupXqTMAshRGBgoAAghgwZIlJSUoQQQsTHx4tWrVoJACIyMrKGI2wYYmJiBABhY2Mjfv75Z1FaWiqEECI1NVW88sorAoDo3r27KCkpUdfh2JmGVCImRNXGgWNneFLjVJXrSwiOU3W0b99e8pe8NryWTEvfMeJ1VDO++OILAUC0a9dOHDhwQP263759W7z11lsCgGjevLlGoltbrqV6lTBfuXJFuLq6CgDqvyBU3/fv318UFRXVdIgNRlhYmPq1l8vlwsXFRf1vb29vcfr0aY3yHDvTqChhrso4cOwMr6Jx0vf6EoLjVFUlJSXC0tJSABCtW7cWXl5eOh9PP/20uh6vJdOp6hjxOjK9+/fviwEDBqhfM1tbW9GiRQv1vx0dHcX27ds16tSWa6leJcxCCHHjxg0xceJE4ebmJqytrYW3t7eIjIwUhYWFNR1ag7N582YxaNAg4ebmJhwcHES/fv3Ehx9+KHJzc7WW59gZX0WJmBBVGweOnWFVZpz0vb6E4DhVxdWrV9W/aCt69OjRQ6MuryXTqM4Y8ToyvZKSErFkyRLRv39/4erqKho1aiR69uwppkyZIlJTU7XWqQ3XkkwIHSuviYiIiIio/uySQURERERkDEyYiYiIiIgkMGEmIiIiIpLAhJmIiIiISAITZiIiIiIiCUyYiYiIiIgkMGEmIiIiIpLAhJmIiIiISAITZiIiIiIiCUyYiYiIiIgkMGEmIiIiIpLAhJmIiIiISAITZiIiIiIiCUyYiYiIiIgkMGEmIiIiIpLAhJmIiIiISAITZiIiIiIiCUyYiYiIiIgkMGEmIiIiIpLAhJmIiIiISAITZiIiIgBXrlyBTCaDTCbD/v37azocvcyZMwcymQxt27ZVH1u/fj3c3d3h7u6Or7/+ugajM526PIZUuzFhJiIiqofy8/Nx7do1XLt2DdnZ2TUdToM1btw4yGQyDB48uKZDoWpgwkxEREREJMGipgMgIiIiw3vllVfwyiuv1HQYRPUCZ5iJiIiIiCQwYSYiIqqkK1euYPLkyfD29oatrS2aN2+Ovn37YuHChbh7967Oenl5eVi0aBH69euHNm3aQC6Xw9XVFT169EB4eDhSUlIk+71//z6++OILBAQEwMHBAQ4ODggICMBXX32F4uJinbFKfQBOdS4+Ph4A8PPPP6Nfv35wdnZG48aN0bt3byxYsABFRUVa2xdCYPHixejVqxccHBzg5OSEAQMGYP369QCAWbNmQSaT4ZlnnpF8blKq+nobs83Y2Fg8+eSTaNGiBWxsbNCxY0cEBwfj2LFjGuVUa5dXrlwJANi3b5/6Nb9y5Yq6nOrYmTNnkJeXh6lTp6JFixaQyWTl+t6zZw+eeeYZuLm5wcbGBp06dUJISAiWLVsGIYTOmKs71hVxcXGBTCbDzz//jPv372PVqlUIDAxE8+bN0aRJEwwePBg//vhjldquNQQRERGJ5ORkAUAAEPv27St3/pdffhGOjo7qMo8+3NzcRHx8fLl6t27dEh4eHjrrARC2trbi+PHjWuO6evWqeOyxx3TW7dGjh5g2bZoAINq0aVPp56M6d+zYMTF+/Hid7T/22GPi3r17GnUzMzPFyJEjddYJCwsTM2fOFADE008/re9QVPn1NtYYCiFEYWGheOuttyTHccaMGeryoaGhOsslJyeXG4ejR4+KXr16aZR7uO933nlHyGQynW0OHTpUXLt2TWvs1Rnrily+fFld/7fffhP+/v462w8JCdGr7dqECTMREZGQTrZ+++03jQR1zZo1Ij4+XuzcuVO8//77wtraWgAQjRo1ElevXtWo+9RTTwkAwszMTEydOlXs3btXnD59Wuzfv1+Eh4cLS0tLAUB06dKlXEylpaWie/fu6r6DgoJEdHS0+Ouvv8SyZctE165dBQB1G1VJmMeMGSMAiKeeekrExMSIEydOiJ9++kl4e3uryygUCo26Q4YMUZ8bP368+P3338WxY8fE4sWLRcuWLQUA4e7uXuWEuaqvt7HGUAghJk+erK7/7LPPivXr14uEhASxbt060aNHD/W5DRs2CCGESEtLExcvXhTPPvusACB69+4tLl68KC5evKiRlKrq9ezZUwAQo0ePFj/99JM4evSousz06dPV5Xr37i1WrFgh4uPjxYYNG8RLL72kPterVy+tr2d1xroi0dHRAoCQyWSiQ4cOwsLCQrz99tti//794q+//hLffvutaNasmbr9TZs26dV+bcGEmYiISOhOtoqLi9UJxb///W9RUlJSru7ff/8t7Ozsys2ilZaWCnt7ewFAzJ49W2u/n3zyiTqhzs7O1ji3Zs0adUwzZ84sVzcnJ0cMHDhQXaYqCTMA8e6775Y7f+3aNdGoUSN1oqWyc+dOdb3Fixdrrde2bVt1GX0T5uq83sYYQyGE+Oeff4SFhUW5WWSVgoIC4efnJwCIf/3rXxrnVDPNgwYN0vp8Hx6HpUuXljt/+fJldTL/7LPPiqKionJlFixYoG5j3bp1kn3oM9aV8d5776nblsvlYsuWLeXKnD9/Xv1H3bBhw/Rqv7ZgwkxERCR0J1srV64UAISjo6PIzc3VWf/TTz8VAISNjY06qbl9+7Z46aWXxEsvvSQuX76std6ePXu0vlUvhBDdunUTAES7du10vlV+4sSJaiXMrq6uIj8/X2vbI0aMKJfsqRL0Ll26iNLSUq31fvjhhyonzNV5vY0xhkII8fLLLwsAolmzZjpfK9UfN5aWliIvL099vLIJc+fOnbW+nu+8844AIKysrERKSorWNkpLS0WnTp3Us+e6+tB3rCtjwIAB6vZ/++03neWef/55AUC0bt1afSwkJEQjmZd6vP3223rFZWjcVo6IiEjCiRMnAADdu3dHamqqznKenp4AgIKCAiQkJKBXr15wdnbGmjVrJNs/dOiQ1uOlpaU4d+4cAGDChAmwsND+K9vPzw+9evUq96GzygoKCoKNjY3Wc82bNy93TPV6hIaGav1gGgD8+9//xuTJk1FSUqJ3PNV5vY3VZkJCAgBg9OjROl+r4OBgdOnSBQBgbm6usw9dRowYofX1/OeffwAAgYGBcHd311pXJpNh3LhxmD59urq8NvqOdUVKS0uhVCoBAH379sVTTz2ls2yHDh0AQOP179atG5o2bar+961bt7Bu3Tr4+PjgiSee0Kj//PPP6x2fITFhJiIikpCYmAigbJcDLy+vStW5fft2uWPFxcVISEhAYmIirly5gosXL+L48eM4c+aM1jauXr2q3rWgffv2kv35+PhUOWH29vaudNlbt26p7xoo9VpYW1ujZcuWFe7+oY2hXm9DtSmEwMWLFwE8SKi1kcvl6NatW6Xa1sbNzU3rcVXfFcXdrl07AGU7sqSmpqJFixblyugz1pVx9uxZ5ObmAgBmzpwpWVZVztnZWX3sgw8+0CgTHR2NdevW4cUXX0RERIRBY60uJsxEREQSkpOT9a7z8PZkV69exaxZs7BhwwZ10qBiZ2eH3r174+jRo+XaSEtLU3+vK5lSadmypd4xqjRp0qTSZR9+LSqakXR1da1Swlzd19vQbaanpyM/Px9A2XMylsaNG2s9fu3atUr1/fDPSEpKitaEWZ+xrozjx4+rvx8wYIBk2fPnzwMAWrdurbPMX3/9BQAICAgwQHSGxX2YiYiIJKgSlZdffhmi7LM/FT5CQkIAlCUuffr0wapVq1BYWIigoCB8/vnn+O9//4vExETcvXsXn332mdZ+H377/ebNm5IxSi0zMKSHk7CHE3pt0tPTq9RHdV5vY7Tp7OysXg6TkZFRpedUGbqWt6j+GKpojB8eD2Mm9g9Tvavh5uaGRo0a6SxXUlKCkydPAgD69++vs5xqn2gmzERERHWMj48PgAdv6+vjk08+wY0bN9C0aVOcOnUKmzdvxvTp0zF8+HB4e3vD3Nwc9+7d01rX1dUVtra2AB7Mzuly4cIFvWOrCnd3d3VMly5d0lnu/v37uHr1apX6qM7rbYw2LSws1MsdpJ5zaWkpfvvtN/z2228V/oGjD9VSDNXSDF1U521sbNCqVSuD9S9FNcNcUX9r167F9evXAUDnjWyEEFAqlXBzczNZwq8PJsxEREQSOnXqBKDsg18P36HtUd9//z26d++OwMBA9V3X4uLiAABPPvmk+kNPj1KV0aZz584AgB9++AH379/XWubMmTOSbRiSTCZTx7Rq1Sqd5datW6fzD4GKVOf1Nlabqvrr1q3TeWfFP//8E08//TSefvpp5OTkSMajj44dOwIAdu7cqV6e8SghhPqOgh06dNA5W21IRUVF+PvvvwEAly9f1lmusLAQUVFRAIBevXqhb9++WstdvHgRd+/eRY8ePQwfrAEwYSYiIpIQGhqK5s2bo7CwEFOmTNGaMCUnJ2PWrFlISEhA586d1QmL6m1qXYlOQkICFixYoP73o0nxjBkzAJTNbGr7EFR+fj6mTp1aYcJoSKqYEhIS8P3335c7n56ejrlz51a5/eq83sZq87333gNQNo4ff/xxubpCCMyfPx9A2RIK1Yz2w0pLS6WfuA5vvfUWrKysUFxcjHfeeUfrHyILFizA6dOnAQDTp0+vUj/6SkhIUMeSnp6OtWvXliuTmZmJwMBAXLhwARYWFlAoFDrbU61frq0JM/dhJiIiEtL7Fj+8r7Cvr69YsWKF+Ouvv8TRo0fFggULhKurq3qf24f3yn34Dm2vv/66OHjwoDh16pSIjY0Vr7/+upDL5cLMzExdJiwsTJw+fVpdv7S0VAQEBKjPP/XUU+LXX38V8fHxYuXKlerbEKvuqleVfZhXrlyp8zXRtYdwnz591PUnTpwotmzZIv766y/x/fffi9atWwsAomPHjuqbbeirqq+3McZQJTg4WF0/ODhYbNiwQfz9998iNjZWDB8+XH3u559/1qj36quvqts9c+aMyMjI0HqnP6lxUN36HIDo27evWL16tVAqlWLjxo3i/9u7v1Bm2zgO4N8NbcaYVor8ObADZTKmOKFZUkoiRa1RSjmROJADURRla+RPSlLKwc44oTS1MhTFDpzggCP/4sSfGiHXc/C+W89e3HjMPO/zfD+1o93XdV+775Pv7q7797NYLIHvCgoKXqzl/Jl7/ZrR0dFAbeuIiAihUChEV1eXWF1dFV6vV0xOTgZ1EJyYmJCcz/8bFxcX33X+cGNgJiIiEtJh6+npSQwNDQU6rr30SUpKEl6vN2jc9fV1UGj478doNIqdnZ1AO2kAQqPRBM1xfHwc1BzipTkWFhbCGphPTk5EUVHRi+uJjIwUY2NjorOzUwAQVqv13ffgs9f7K+6h3+XlpWSjDblcLjo6Op6Nczgcz479uUHNe+7D7e2taG1tFTKZ7NXzl5WViePj4xfHf0Vgrq+vFwBETU2N6OnpeXVdGo1GzM7OvjmfvyHO2dnZu84fbtySQURE9AaZTIb29nZsb2/DarUiLS0NCoUCSUlJKC4uhs1mw8HBAXJzc4PGqdVqbG1tobu7GwaDAWq1GvHx8SgsLMTQ0BA2NjaQnZ2N+fl55OTkQKVSwWw2B82RnJwMt9sNu90Oo9GIuLg4qFQq6PV6DAwMYH19HRqNJoxX458XEt1uN/r7+5GVlQWlUgmtVovKykqsra2hpaUl8JKXVPWE1/zq9f7KOePj4+F0OuF0OmE2m6HVahEdHQ29Xo+6ujpsbm7CZrM9G9fS0oLm5mYkJiZCqVQiPT0dUVFRH7oeSqUSIyMjcLlcaGxshNFoRExMDDIzM1FbW4vp6WksLS29WX4wlPwVMvLz89Hb24upqSkYDAaoVCokJCQgLy8PfX192N3dhdVqlZxL/PvCX0pKyi81UAkHmRBh3PhEREREfwWTyYSVlRXY7fbAHmD6M1xdXSEhIQFCCCwvL6O0tPRT8+3v7yMzMxNVVVWYn58P0SpDi0+YiYiI6N3Gx8fR2NiI4eHhV4+5uLgIlBzT6/XhWhqFydbWVuBF01DUTP6dG5b4sdMfERERvdvd3R1mZmagVqvR0NDwYve4wcFB+Hw+xMbGwmQyhX+R9KX8f4YyMjJe7VD4Ef6GJb9thQzwCTMRERF9QG1tLTQaDW5ublBWVgaPx4OHhwc8Pj5ib28PTU1NcDgcAIC2tjYolcpvXjGF2s/7l0Ph//CEmXuYiYiI6ENcLheqq6vh8/kAAHK5/FnXwvLycszNzTEw/4FSU1NxdHT0V+1PZ2AmIiKiDzs/P4fdbofH48Hh4SHu7++h0+mg0+lQUVEBi8WCiIiI714mhdjp6WmgGofb7UZJSck3ryg8GJiJiIiIiCRwDzMRERERkQQGZiIiIiIiCQzMREREREQSGJiJiIiIiCQwMBMRERERSWBgJiIiIiKSwMBMRERERCSBgZmIiIiISAIDMxERERGRBAZmIiIiIiIJPwB0PiddmKn3GQAAAABJRU5ErkJggg==", - "text/plain": [ - "

" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "h = hist.new.Regular(12, 0, 300, label=\"leading electron $p_T$\").StrCat([], name=\"variation\", growth=True).Weight()\n", - "\n", - "for variation in [\"NOSYS\"] + events.systematic_names[0:2]:\n", - " # print(variation)\n", - " event_view = events if variation == \"NOSYS\" else events[variation]\n", - " h.fill(event_view.el.pt[:, 0] / 1_000, variation=variation)\n", - "\n", - "\n", - "fig, ax = plt.subplots()\n", - "for variation in h.axes[1]:\n", - " h[:, variation].plot(histtype=\"step\", label=variation, ax=ax)\n", - "ax.legend()" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "e25b571d-abca-43ef-95a2-08bbf51eab91", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# with uproot, manually\n", - "f = uproot.open(fileset[\"ttbar\"][\"files\"])\n", - "arr = f.arrays([\"jet_pt_NOSYS\", \"jet_eta\", \"jet_phi\", \"jet_e_NOSYS\", \"jet_pt_JET_JER_EffectiveNP_1__1up\", \"jet_e_JET_JER_EffectiveNP_1__1up\"])\n", - "jets = ak.zip({\"pt\": arr[\"jet_pt_NOSYS\"], \"eta\": arr[\"jet_eta\"], \"phi\": arr[\"jet_phi\"], \"energy\": arr[\"jet_e_NOSYS\"]}, with_name=\"PtEtaPhiECandidate\")\n", - "ak.array_equal(jets.pt, events.jet.pt, check_parameters=False)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "73057c54-9cd3-4929-b4f8-0e7c5bb19caf", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# compare systematic variation\n", - "jets_JER1 = ak.zip({\"pt\": arr[\"jet_pt_JET_JER_EffectiveNP_1__1up\"], \"eta\": arr[\"jet_eta\"], \"phi\": arr[\"jet_phi\"], \"energy\": arr[\"jet_e_JET_JER_EffectiveNP_1__1up\"]}, with_name=\"PtEtaPhiECandidate\")\n", - "ak.array_equal(jets_JER1.pt, events[\"JET_JER_EffectiveNP_1__1up\"].jet.pt, check_parameters=False)" - ] - }, - { - "cell_type": "markdown", - "id": "6d12c10f-28fa-46df-a107-5c4e7a709d8a", - "metadata": {}, - "source": [ - "# processor approach" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8260deb5-2111-4a1f-ba97-69ac29555c0b", - "metadata": {}, - "outputs": [], - "source": [ - "# coffea processor version\n", - "from coffea import processor\n", - "\n", - "\n", - "class Analysis(processor.ProcessorABC):\n", - " def __init__(self):\n", - " self.h = hist.new.Regular(12, 0, 300, label=\"leading jet $p_T$\").\\\n", - " StrCat([], name=\"dsid\", growth=True).StrCat([], name=\"variation\", growth=True).\\\n", - " Weight()\n", - "\n", - " def process(self, events):\n", - " f = uproot.open(events.metadata[\"filename\"])\n", - " sim_type, mc_campaign, dsid, etag = f[\"metadata\"].axes[0]\n", - " sumw = float(f[f\"CutBookkeeper_{dsid}_284500_NOSYS\"].values()[1]) # initial sum of weights\n", - " systematics_from_hist = list(f[\"listOfSystematics\"].axes[0])\n", - " list_of_variations = [\"NOSYS\"] + events.systematic_names\n", - " # ensure systematics in schema and in histogram match\n", - " assert sorted(systematics_from_hist) == sorted(list_of_variations) \n", - "\n", - " # run over subset of systematics\n", - " for variation in [\"NOSYS\"] + [sys for sys in events.systematic_names if sys.startswith(\"JET_JER_EffectiveNP_1_\")]:\n", - " print(variation)\n", - " event_view = events if variation == \"NOSYS\" else events[variation]\n", - " self.h.fill(event_view.jet.pt[:, 0] / 1_000, dsid=dsid, variation=variation, weight=event_view.weight.mc)\n", - " return {\n", - " \"hist\": self.h,\n", - " \"meta\": {\n", - " \"sumw\": {dsid: {(events.metadata[\"fileuuid\"], sumw)}}} # sumw in set to avoid summing\n", - " } \n", - "\n", - " def postprocess(self, accumulator):\n", - " # normalize histograms\n", - " # https://topcptoolkit.docs.cern.ch/latest/starting/running_local/#sum-of-weights\n", - " for dsid in accumulator[\"hist\"].axes[1]:\n", - " norm = get_xsec_norm(dsid) / sum([sumw for uuid, sumw in accumulator[\"meta\"][\"sumw\"][dsid]])\n", - " accumulator[\"hist\"][:, dsid, :] = np.stack([accumulator[\"hist\"][:, dsid, :].values()*norm, accumulator[\"hist\"][:, dsid, :].variances()*norm**2], axis=-1)\n", - "\n", - "\n", - "run = processor.Runner(\n", - " executor = processor.IterativeExecutor(),\n", - " schema=NtupleSchema,\n", - " savemetrics=True,\n", - " chunksize=500 # tiny to simulate multiple chunks\n", - ")\n", - "\n", - "samples = run.preprocess(fileset)\n", - "\n", - "out, report = run(samples, processor_instance=Analysis())\n", - "\n", - "out, report" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "cd64d5d4-977d-45de-a176-1178d7c04347", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
[[0, 0, 0, 0],\n",
-       " [0, 0, 0, 0, 0],\n",
-       " [0, 0, 0, 0],\n",
-       " [0, 0, 0, 0, 0, 0],\n",
-       " [0, 0, 0, 0],\n",
-       " [0, 0, 0, 0, 0],\n",
-       " [0, 0, 0, 0],\n",
-       " [0, 0, 0, 0],\n",
-       " [0, 0, 0, 0],\n",
-       " [0, 0, 0, 0, 0, 0],\n",
-       " ...,\n",
-       " [0, 0, 0, 0],\n",
-       " [0, 0, 0, 0],\n",
-       " [0, 0, 0, 0, 0, 0],\n",
-       " [0, 0, 0, 0, 0],\n",
-       " [0, 0, 0, 0],\n",
-       " [0, 0, 0, 0],\n",
-       " [0, 0, 0, 0, 0],\n",
-       " [0, 0, 0, 0],\n",
-       " [0, 0, 0, 0, 0, 0, 0]]\n",
-       "-----------------------\n",
-       "backend: cpu\n",
-       "nbytes: 23.1 kB\n",
-       "type: 857 * var * float32
" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "f = uproot.open(\"410470.root\")\n", - "arr = f[\"reco\"].arrays([\"jet_pt_JET_JER_EffectiveNP_1__1up\", \"jet_pt_JET_JER_EffectiveNP_1__1down\", \"jet_pt_NOSYS\"])\n", - "arr[\"jet_pt_JET_JER_EffectiveNP_1__1down\"] - arr[\"jet_pt_NOSYS\"] # this is surprisingly the same\n", - "# arr[\"jet_pt_JET_JER_EffectiveNP_1__1up\"] - arr[\"jet_pt_NOSYS\"]" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "91dc1db8-0786-407a-bf79-6c8b74c8b3c5", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1 JET_JER_EffectiveNP_1_PseudoData__1down\n", - "2 JET_JER_EffectiveNP_1_PseudoData__1up\n", - "3 JET_JER_EffectiveNP_1__1down\n", - "4 JET_JER_EffectiveNP_1__1up\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/1b/0v72djfs4h18xh9fxml_1c3w0000gn/T/ipykernel_15773/1956051113.py:18: RuntimeWarning: invalid value encountered in divide\n", - " ratio = (h[:, dsid, variation].values() / h[:, dsid, \"NOSYS\"].values())\n" - ] - }, - { - "data": { - "text/plain": [ - "(0.8, 1.2)" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAysAAAJjCAYAAAAMK47pAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjUsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvWftoOwAAAAlwSFlzAAAPYQAAD2EBqD+naQAA2BpJREFUeJzs3XdYU+fbB/BvGDKVuEAtKCguHAUU1NoqDpS6sIpVcc9WsWq1ojgqaK27Lqh14WxtFRRnXweKo+JEnKA4cCKCi40C5/2DX6IxARISwvD7ua5c4jnPeZ47JxHPfc4zRIIgCCAiIiIiIiphdIo7ACIiIiIiIkWYrBARERERUYnEZIWIiIiIiEokJitERERERFQiMVkhIiIiIqISickKERERERGVSExWiIiIiIioRGKyQkREREREJRKTFZIzZswYODk5FXcYRERERPSJY7JCMg4fPow//vijuMMgIiIiImKyQu+9efMGI0aMQIUKFYo7FCIiIiIiJiulzV9//QWRSIRbt27lWy4uLg6jR4+GpaUlDA0NUa9ePfz888/IyMjI85jx48ejTp066Nmzp4ajJiIiIiJSHZOVUmb79u0Flnn48CEcHR2xbt06PHnyBEZGRoiJicHcuXPRvn17ZGZmyh2zZ88e7Nq1Cxs3boSODr8WRERERFT8eFVaSgiCgD/++AP79+8vsOyIESPw7NkzdOjQAbGxsXj16hUiIiJgZWWF8PBw/PLLLzLlExMTMXr0aCxevBg2NjZF9RaIiIiIiFQiEgRBKO4gKG9Hjx7F9u3bcerUKcTExEi3R0dHo379+nLlL1++DEdHR5ibm+PmzZuoXLmydN+FCxfg7OwMsViMuLg4GBoaAgD69OmDN2/e4PDhwwCAYcOG4fr167hw4UIRvzsiIiIiorzpFXcAlL8DBw4gMDBQ6fL79u0DAHTv3l0mUQEAJycnNGrUCDdu3MB///2HDh06IDg4GP/++y8uXLiA1NRUAMC7d++QnZ2N1NRU6Ovro1y5cpp7Q0RERERESmI3sBJuypQpiIyMlL5q1KiRb/nw8HAAgJubm8L9ku2SctevX0dqairs7OxgamoKU1NT/Pnnn7h8+TJMTU0xd+5cDb4bIiIiIiLl8clKCVejRg2ZBKWgpxx37twBANja2ircX6dOHQDA3bt3AQDDhw9Hx44dZcrMmzcP9+7dw4YNG2BlZVXo2ImIiIiI1MFkRctu3LgBOzs7iEQime2PHz9G+fLlYWZmplb9CQkJAACxWKxwf8WKFQEA8fHxAAArKyu5hMTCwgIJCQlo3bq1WrEQEREREamD3cC06OrVq3BycsL48eNltsfFxaF9+/bo3r071J3vIC0tDcD7pORjku2SckREREREJRWfrGiRnZ0d3Nzc4O/vDyMjIyxatAgJCQno2LEj7t27h19++UXuiYuqJMlOXkmPrq4uACA7OzvPOjZu3KhWDEREREREmsBkRYv09PTw999/45tvvsHixYshCAKOHDmC6OhobNq0Cd9++63abRgbGyMpKQmvXr1S2BVM8kTFxMRE7baIiIiIiIoSu4FpWbly5RAcHIwOHTpgyZIluHLlCv744w8MGjRII/VXrVoVAPDq1SuF+58/fw4AqFKlikbaIyIiIiIqKkxWikFWVpbMmJGkpCSN1V23bl0AwO3btxXuv379ukw5IiIiIqKSismKlqWnp6Nbt24IDw/H3Llz0apVK/z000/4/fffNVJ/y5YtAUC6Gv3HDh06BABo1aqVRtojIiIiIioqZTZZefDgAYYOHYrPP/8cpqamaNy4MYYOHYp79+4VW0yZmZlwd3fHiRMn8Msvv2DmzJn4999/0axZM4wbN06llerz4u7uDiB3JfvExESZfefOnUN0dDTEYjHatGmjdltEREREREWpTCYrhw4dQpMmTbB582Zcu3YNpqamuHnzJjZv3oymTZti586dStc1Z84ciESifF8vXrxQqq47d+7g3LlzmDFjBmbMmAEAMDMzw+HDh9GkSRP8/fffak9dbG9vD1dXVyQmJqJfv3549OgRACAiIgIeHh4AgIkTJ8LQ0FCtdoiIiIiIippIUPfquIR59+4dGjZsiLt372LYsGFYtmwZzMzM8ObNG8yZMwe//fYbzMzMcPPmTZmV4fMyaNAgbNu2DZ999hmMjIwUljl//nye65p8LDY2FtbW1nLbExISYGJiAmNj43yPt7GxQWxsLKKjo1G/fn2FZR4+fIiWLVsiLi4OQO4Cka9fvwYAfPXVVzh69CjKlSunVLxERERERMWlzE1dvHPnTty9exf169fHhg0bpOuWmJmZYenSpYiLi8P27dvx22+/YcmSJQXWd+fOHQDAyZMnUbt2bbXjU5SoAO9n8dKEmjVr4tKlS5g9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00REREREVMaplaxMnjwZIpFI+vecnBxERUUhOjo6z2MEQWCyQkREREREBVIrWWnbtq1MskJERERERKQpaiUrx48f11QcREREREREMtRKVoiI1HX0WiNk5zSGro6Ajt2LOxoiIiIqSZisEFGxulfpK7wrXwn6yS+LOxQiIiIqYdRKVh49elToY62srNRpmojKiLRIMbJExngn5BR3KERERFTCqJWsWFtbF+o4kUiErKwsdZomojIi7UpF5KTqQ8dEX6XjdkS8QurbHJiU08G3jhWLKDoiIiIqTmolK4IgaPW40srDwwOGhob5lvHy8oKXl5eWIiIq/XZcfo3ElCxUMdVjskJERKSGgIAABAQE5FsmIyNDS9HIUmsF+7CwsHxfu3fvxuLFi/HVV18BABwdHfHo0aNP7qlKUFAQbt68me+LiQpR2eDn5weRSAQXF5c8yzx48AAikQg//vij3L7Tp0+jb9++sLS0hIGBAapXr45u3bph7969+bYbGRmJb7/9FvXr14exsTHq1q0Ld3d3nD59WqZcQEAARCIRnJ2d871xNHr0aIhEIkybNk1me1hYGLp3747atWvD2NgYdnZ26N+/P65du5ZvfEREVHJ5eXkVeK0aFBRULLGplay0adMm35e7uzsmT56MEydOYMeOHbhy5Qrc3NyQmZmpqfiJiEqkEydO4M8//1S6fHZ2Nnx9fdG2bVvs3r0bNWrUwIABA1CnTh0cO3YM7u7u+O6775Ceni537KZNm9CsWTPs27cP9erVw6BBg1C/fn0cOXIEX331FebNmyct+/3338PBwQEXLlzAtm3bFMZy8+ZNBAYGonr16pg5c6Z0+5w5c9CuXTucOnUKDg4OGDhwICwtLREUFAR7e3ts3bpVhTNERERUMLWSFVV4eHhgxowZuHHjBpYuXaqtZomIioVIJMJPP/2EN2/eKFV+woQJ8PPzwxdffIEHDx7g/PnzCAwMxOnTpxEfH49vvvkGa9euhYeHh8xxT58+hZeXF2rVqoXbt29j3759WLNmDfbv34/79+/j888/x+zZs3HlyhUAgK6urvTpio+PD9LS0uRi8fb2RnZ2NhYtWgRTU1MAQEREBPz8/ODs7Ix79+4hODgYa9euxeHDhxEdHY3q1atj7NixePbsmZpnjoiI6D2tJSsA0KtXLwDAP//8o81miYi0buTIkXj27Bl+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MzMVlsvKyoKfnx+CgoIgEokwatQodZot0KFDh9CkSRNs3rwZ165dg6mpKW7evInNmzejadOm2Llzp9J1PXz4EI6Ojli3bh2ePHkCIyMjxMTEYO7cuWjfvn2e75mIPi1jx46FWCyWGYwL5CYxJdHDhw8hFoulg74ltDk1paRLU35duIqL5EIlMDAQgiAofJ07dw4AUK1aNWRkZCA1NVUjbZuamqJTp044evQo0tLSEBwcDCB37M3H8R07dizP+P75559823Fzc0OvXr2wf//+ApOVss7IyAhz587FkydPcP78eSxcuBDly5fHnDlzpNcsmjjnAGS68VStWhXlypVDXFycwrIfdyGsXr16nt0KJdvzSnwUefToEe7evSuT3GzYsAEDBgxAgwYNcODAAcTFxeH169dKP728fv06WrdujeTkZGzZsgV37txBamoqTp8+XeKewknGiSg6/4rOvaLtQO44nRcvXsice1dXV6Snp+PixYs4c+aMtJtZmzZtkJSUhGvXruH06dNo3bq1XDfK0nDDS5vUSla6du2KH374AYIgYOHChahVqxYmTJiAlStXYufOnVi9ejWmTJmCOnXqYM6cOQCAfv36yfXN06R3797By8sLycnJGDZsGF69eoVnz57h1atXmDRpElJTUzFq1ChphlyQESNG4NmzZ+jQoQNiY2Px6tUrREREwMrKCuHh4Sr3DSWissnMzAzA+zt1EpK7sTVq1NB6TPkpCfFK7lAWZsrVoiYZJH3p0iW5fS9fvsTSpUulCwpKyoaHh8uVbd++faGeGvXu3Rvp6ek4cuQIdu3aBWdnZ5mB2/nFd//+fSxdulSpyWyWL18OExMTjB8/XmaGok/Jy5cv4efnh2PHjkFHRwdOTk7w9vbG9evXUa9ePenMbIU55x8n/3FxcTLXHzo6OrCxscGZM2fkzn9ycrLcUg916tRBVFSU3LgFyV36qlWrqvSEb+XKlcjKysLYsWOl27Zv347q1asjJCQEXbp0QbVqud1sHz58qFSdISEhSE9Px86dOzFgwADUqVMHurq6ePv2rUrjt7RBMvbo6NGjcvskU4tLSLrGKeraeebMGWRlZcmMZZKMWzl48CAiIyOlUxl/9dVXAHLHoUVHR8vMAkaKqZWsAMDixYvx3XffQVdXF8+fP4e/vz9+/PFH9OvXD+PGjcNvv/2GR48eQRAE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UYnEZIWIiIiIiEokJitERERERFQiMVkhIiIiIqISickKERERERGVSHrFHcCnwMPDA4aGhvmW8fLygpeXl5YiIqJPSU6aHn5ttU/r7Wq7TR3Dd5h2vJdW2yQiKgsCAgIQEBCQb5mMjAwtRSOLyYoWBAUFwdHRsbjDIKJPlSBCTqp2ft3rmLyT/qytNomISD3K3DSPiIhAs2bNtBTRe/yfhIiojNI1fPvB30Rab1/HJEsr7eSk6QKC9t8fEREVPSYrRERl1NRJs4D0p4BIBzCsppU2f/11ofTn6dO9tdZmTqo+AEEr7RERkfYwWSEiKuuEnNykRduKo00iIipTmKwQEZVVhubF275RjeJtn4iISj0mK0REZZXrCe23+eve9z93j9J+m0REVKZwnRUiIiIiIiqRmKwQEREREVGJxGSFiIiIiIhKJCYrRERERERUIjFZISIiIiKiEonJChERERERlUhMVoiIiIiIqERiskJERERERCUSF4XUAg8PDxgaGuZbxsvLC15eXlqKiIiIiIgoV0BAAAICAvItk5GRoaVoZDFZ0YKgoCA4OjoWdxhERERERHKUuWkeERGBZs2aaSmi99gNjIiIiIiISiQ+WSEiIo2xqhuBd2/LQb/cWwA9ijscIiIq5ZisEBGRxgzq8w+Q/hQwqgHAt7jDISKiUo7JChERaU49L+BdMqBfvrgjISKiMoDJChERaU79ccUdARERlSEcYE9ERERERCUSkxUiIiIiIiqRmKwQEREREVGJxGSFiIiIiIhKJCYrRERERERUIjFZISIiIiKiEonJChERERERlUhcZ0ULPDw8YGhomG8ZLy8veHl5aSkiIiIiIqJcAQEBCAgIyLdMRkaGlqKRxWRFC4KCguDo6FjcYRARERERyVHmpnlERASaNWumpYjeYzcwIiIiIiIqkZisEBERERFRicRkhYiIiIiISiQmK0REREREVCJ9EsnKX3/9BZFIhFu3bhXq+Li4OIwePRqWlpYwNDREvXr18PPPPxfbrAhERERERJ+CT2I2sO3btxf62IcPH6JFixZ49uwZAEAsFiMmJgZz587F0aNHcfz4cRgYGGgqVCIiIiIi+p8y/WRFEAT88ccf2L9/f6HrGDFiBJ49e4YOHTogNjYWr169QkREBKysrBAeHo5ffvlFgxETEREREZFEmUxWjh49ihEjRqB+/foY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OzutG0H+/e9/x9dff93gYmXVqlWYM2eO5vcuXbrg5MmTcHFxMWrsjdGuXTtcvXrVoPNurBUPAyMiIiIiq/bggw/i0qVLWL58OX7++WdcvHgR5eXlCA4ORkBAAMaMGYMnnngCdnZ2DR7TwcFBc2Wv4cOHY+HChWYtVDIzMzU387TkPSHGxj0rRERERERkkXjOChERERERWSQWK0REREREZJFYrBARERERkUVisUJERERERBaJxQoREREREVkkFitERERERGSRWKwQEREREZFFYrFCREREREQWicUKERERERFZpGZRrGzatAkymQx//PGHQctfvnwZUVFRuOeee+Dq6oqePXsiKioKFy9eNHKkRERERERUo1kUK5s3bzZ42X379iE4OBhffvklfv/9d7i6uuLs2bP48ssv0atXL2zbts2IkRIRERERUQ2bLlaEEPjkk0+we/dug5avqKhAdHQ0CgsLMW3aNOTm5iIrKwu5ubl48cUXUVxcjKeffhoZGRlGjpyIiIiIiGyyWElISMCMGTPQtWtXPPfccwaPs23bNqSmpqJr1674/PPP4eHhAQDw8PDA+++/j4kTJyI/Px8rVqwwVuhERERERPQXmyxWvvvuO3zxxRdISUlp0jhnzpwBAEyaNAkymUynfdq0aQCAEydONGkeIiIiIiLSZZPFyty5c5GcnKx5+Pv7GzTOpUuXAAAdOnTQ214zblpamkHjExERERFR7ezNHYAp+Pv7axUoDg4OBo0ze/ZsPPnkk+jXr5/e9qNHjwIA2rVrZ9D4RERERERUO5ssVoxlwIABtbbl5eXhrbfeAgCMGjVKqpCIiIiIiJoNFisGuHjxIh599FGkpqaidevWePbZZ/X2u3HjBnbv3g1/f38olcomz+vg4GDwXiIiIiIian7Ky8tRXl7e5HFUKhUyMjIwZswYeHt7GyGyhmGx0ggVFRVYsWIF3njjDZSUlMDZ2Rk7d+6El5eX3v67d+/WnIRPRERERGTt1q5di6ioKMnmY7HSQGfPnsXEiRNx6tQpAED37t2xdetW9OzZs9Zlas6bWbVqFXr37t3kGO7esxIREYH4+Pgmj6uPtY5tyvGLiooQFhaGgwcPwtXV1ejjW+s6t8axrTmXph7fGse25nxybF1F349H2Lx0HHy7PVwf3GH08S1ivfz8D0CVAyhbAUO3G3dsA5hs22wO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1cGA6vNZjhw5grfeegtHjhyBm5sbBg8ejIULF8LV1bVpERMRERERUbNgcLHyySefIDIyEp6engAALy8vrfZ27drhk08+aVJwRERERETUfBlcrDz//PN44YUXMHbsWERFReGhhx6CTCYzZmw2IyIiAkqlss4+0dHRiI6OligiIiIiIqJqcXFxiIuLq7NPTna2RNFoa9JhYGVlZdi2bRu2bdsGX19fTJkyBVOmTNG67woB8fHxCAkJMXcYREREZEGKCt2x6oED5g7DZIoK3c0dAjVQQ740XzD/Vby17D2JIrrN4GLl2LFj2LJlC7Zt24bLly8jMzMT7733Ht577z3069cP06ZNw+OPP645TIyIiIiIbhNCjsLsMnOHYUIGX8eJSMPgYiU0NBShoaF47733cOTIEU3hkpGRgaNHj+LYsWOYM2cOxo0bh6lTp/IwMSIiIiIArq6FgKgCZHaAsrW5wzEd1XVAVMHVtcTckZAVa9JhYDUGDhyIgQMHYsWKFTh06BD+85//4Ouvv8b169exZcsWbN26lYeJEREREQGYEb0SKM0AnPyB8HPmDsd0dnW//TrxjLmjIStl1P1zMpkMQ4YMQVxcHK5du4b9+/fj6aefRosWLTSHiQUHBxtzSiIiIiIislFG2bOij1wuR1hYGCoqKlBeXo4NGzZArVabajoiIiIiIrIxRi9WVCoV9u3bh+3bt2P37t3Iz88HAAghYGdnh2HDhhl7SiIiIiIiskFGKVaKioqwe/dufP311/jvf/+LkpLqE6mEEJDJZBg8eDAiIyPx6KOPwsfHxxhTEhERERGRjTO4WLl16xa+/fZbbN++HQkJCSgvLwdQXaAA1VcLi4yMxOOPP462bdsaJ1oiIiIiImo2DC5WfH19UVVVBeB2gdKjRw9ERkYiMjISXbp0MU6ERERERETULBlcrFRWVgIAunTpoilQevToYbTAiIiIiIioeTO4WHnppZcQGRmJ0NBQY8ZDREREREQEoAnFyvLly40ZBxERERERkRaj3hSSiIiIiIjIWEx2U0i6LSIiAkqlss4+0dHRiI6OligiIiIiIqJqcXFxiIuLq7NPTna2RNFoY7Eigfj4eISEhJg7DCIiIiIiHQ350nzB/Ffx1rL3JIroNh4GRkREREREFonFChERERERWSQWK0REREREZJFYrBARERERkUVisUJERERE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1myjtX24NSRnzLP0GprPxm6zQjCfUikvLxddunQRAMS0adM09zzLy8sTL774ogAgPDw8xLVr1zTLcPu0TIbkktum5UpLSxMODg7C3t5efPTRR6K8vFwIIURqaqoYOHCgACAmTpyotYylbJs2WawIIURGRoZ4+umnhb+/v3B0dBSBgYFiyZIleiu6uooVIYT48ccfxdixY0VAQIBwdnYWvXr1ElOnThUpKSla/ZKSkgQA4ePjo/PNwdGjRzWFU2lpqfFeKDVZzUaamppab1/m2DLs379fTJ8+XQQGBmp9Y6fvw60hOWOepdWYfArRuG1WCOZTSl999ZUAILp27SrUarVO+8SJEwUA8dJLLwkhuH1assbmUghum5Zs7ty5AoCIiorSabt06ZKwt7cXcrlcs64tadu0uXNWavj5+WH16tW4du0aVCoV/vzzTyxevBiOjo46fcVfJ9FPnTpV71j3338/du7ciZSUFBQXF+PkyZNYt24dAgICtPrVnNsSHh6Oli1barX169cPPXr0QF5eHn799VcjvUoyhpSUFDg6OqJDhw719mWOLcN3332HL774AikpKfX2NSRnzLO0GpNPoHHbLMB8SunMmTMAgEmTJkEmk+m0T5s2DQA0N1vm9mm5GptLgNumJas5B3D8+PE6bR07dkRAQADUarXmarqWtG3abLFiDocPHwYAjBo1Sm97zfM1/cj88vLycPPmTQQEBMDOzq7e/syxZZg7dy6Sk5M1D39//1r7GpIz5llajclnY7dZgPmU0qVLlwCg1g+rNblNS0sDwO3TkjU2l9w2LdutW7fg6emJdu3a6W13cnICABQUFACwrG3T5u5gb04XLlwAAJ09LjW6dOkCAEhNTZUsJqpbzTe5QUFB2L59OzZu3IhLly6hU6dO6Nu3L/7v//5P69LUzLFl8Pf31/pA6+DgUGtfQ3LGPEurMfls7DYLMJ9Smj17Np588kn069dPb/vRo0cBQPOBidun5WpsLrltWrZffvml1rabN28iJSUF9vb26NatGwDL2jZZrBhRTk4OAMDT01Nvu5eXFwDg+vXrUoVE9ajZsL777jvs2LFD8/zJkyexc+dOrF69Glu2bNHcv4c5tj6G5Ix5tlyN3WYB5lNKAwYMqLUtLy8Pb731FoDb37By+7Rcjc0lt03rUl5ejhs3biA5ORkxMTEoKirCzJkz4e3tDcCytk0eBmZEJSUlAG4n4241z9f0I/Or+SZIrVZj6dKl+P3335GXl4effvoJ/fv3R3p6OiZOnIjS0lIAzLE1MiRnzLPlauw2CzCfluDixYsYMWIEUlNT0bp1azz77LMAuH1ao9pyyW3Tutxzzz1o06YNRo8ejSNHjiA6OhqrVq3StFvStslixYjEX3e0F7Xc8b7mGM6qqirJYqK6+fr6IjIyEhs2bMCiRYvQs2dPeHh4ICwsDIcOHUJQUBDS0tLw4YcfAmCOrZEhOWOeLVdjt1mA+TSniooKvPvuuwgODkZSUhKcnZ2xc+dOzYcWbp/Wo75cctu0Lu3bt0ebNm00F0+Ij4/X3OwcsKxtk8WKETk7OwMAcnNz9bbXVJIuLi6SxUR1e+aZZ7B582ZERkbqtCkUCsydOxcAcOTIEQDMsTUyJGfMs+Vq7DYLMJ/mcvbsWfTt2xevvfYaSkpK0L17d/z2229ahwFx+7QODcklt03rsm/fPly9ehXFxcVYsWIFbty4gSeffBL/+9//AFjWtslixYhatWoFoPYkZWdnA4DmeECyfD179gRQ/UYNMMfWyJCcMc/W6+5tFmA+zWHt2rXo27cvTp06BScnJyxZsgRJSUma/NTg9mn5GprL+nDbtExOTk544YUXMGvWLKjVanz22WcALGvbZLFiRIGBgQCguUb13U6fPq3VjyxfzbcEbm5uAJhja2RIzphn63X3Ngswn1KLj4/HjBkzUFpairCwMJw9exaLFy+GUqnU6cvt07I1Jpf14bZpPjk5Ofj000+xcePGWvsMGzYMwO1LUVvStslixYhqdod+//33etv37dsHABg0aJBkMVHtiouLERwcjF69eqG4uFhvn5oN7m9/+xsA5tgaGZIz5tkyGbLNAsynlNLT0zF16lQIITBr1iwcOHAAHTt2rLU/t0/L1Zhcctu0bHZ2dpg5cyaeeuqpWs8nycvLA3D7/jkWtW026n73VKcTJ04IAMLb21vk5ORotR05ckQAEJ6enqK0tNRMEdLdRowYIQCIDz/8UG/7/fffLwCIzz//XAjBHFuqjh07CgDi/PnzOm2G5Ix5Nq+68tnYbVYI5lNKixYtEgDEqFGjGtSf26flamwuuW1ats6dOwsA4ocfftDbHh4eLgCI9957TwhhWdsmixUjGzlypAAgRowYIdLT04UQQiQmJoq2bdsKAGLJkiVmjpDuFB8fLwAIJycn8dVXXwm1Wi2EECIrK0tMnTpVABB9+vQRVVVVmmWYY8tT14dbIQzLGfNsPnXl05BtVgjmUypdu3at8wORPtw+LVNjc8lt07ItX75cABCdO3cWP//8syY/N2/eFP/85z8FANG6dWutIsNStk0WK0Z2+fJl4efnJwBoKsian4cMGSLKysrMHSLdJTo6WpMjpVIpfHx8NL8HBgaK06dPa/Vnji1PfcWKITljns2nvnw2dpsVgvmUQlVVlVAoFAKA6NChgwgICKj1MW7cOM1y3D4tj6G55LZpuSorK8XQoUM169bZ2Vn4+vpqfvfw8BB79+7VWsZStk0WKyaQkZEhnn76aeHv7y8cHR1FYGCgWLJkiVCpVOYOjWqxc+dOcf/99wt/f3/h7u4u7rvvPvH666+LoqIivf2ZY8tS34dbIQzLGfNsHg3JZ2O3WSGYT1O7cuWK5kNJfY++fftqLcvt07I0JZfcNi1XVVWV+Pjjj8WQIUOEn5+fcHNzE/369ROzZs0SWVlZepexhG1TJkQtZ9oQERERERGZEa8GRkREREREFonFChERERERWSQWK0REREREZJFYrBARERERkUVisUJERERERBaJxQoREREREVkkFitERERERGSRWKwQEREREZFFYrFCREREREQWicUKERERERFZJBYrRERERERkkVisEBERERGRRWKxQkREREREFun/AeiuR7CEOVMkAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# note! JER systematics need to be redone to properly take into account pseudodata variations\n", - "\n", - "dsid = \"410470\"\n", - "h = out[\"hist\"]\n", - "\n", - "fig, (ax1, ax2) = plt.subplots(nrows=2, height_ratios=(3, 1), constrained_layout=True, sharex=True)\n", - "h[:, dsid, :].plot(ax=ax1, linewidth=2)\n", - "ax1.legend()\n", - "ax1.set_ylabel(\"count\")\n", - "\n", - "edges = h[:, dsid, :].axes[0].edges\n", - "ax2.plot(edges, [1]*len(edges), color=\"black\", linestyle=\"dashed\", linewidth=1)\n", - "for ivar, variation in enumerate(h.axes[2]):\n", - " if variation == \"NOSYS\":\n", - " continue\n", - " print(ivar, variation)\n", - " # print(h[:, dsid, variation], \n", - " ratio = (h[:, dsid, variation].values() / h[:, dsid, \"NOSYS\"].values())\n", - " ax2.stairs(ratio, edges, color=f\"C{ivar}\", linewidth=2)\n", - "ax2.set_ylabel(\"var/nom\")\n", - "ax2.set_ylim([0.8, 1.2])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "69b3a743-ffec-45d3-83f0-c8a9b390905f", - "metadata": {}, - "outputs": [], - "source": [ - "# saving preprocessing output\n", - "import base64\n", - "import dataclasses\n", - "import json\n", - "\n", - "\n", - "def write_samples(samples, fname):\n", - " # encode bytes\n", - " serializable = []\n", - " for s in samples:\n", - " chunk = dataclasses.asdict(s)\n", - " chunk[\"fileuuid\"] = base64.b64encode(chunk[\"fileuuid\"]).decode(\"ascii\")\n", - " serializable.append(chunk)\n", - " \n", - " with open(fname, \"w\") as f:\n", - " json.dump(serializable, f)\n", - "\n", - "\n", - "def read_samples(fname):\n", - " with open(fname) as f:\n", - " samples = json.load(f)\n", - " \n", - " # decode bytes\n", - " for i in range(len(samples)):\n", - " samples[i][\"fileuuid\"] = base64.b64decode(samples[i][\"fileuuid\"])\n", - " samples[i] = coffea.processor.executor.WorkItem(**samples[i])\n", - "\n", - " return samples\n", - "\n", - "\n", - "samples = run.preprocess(fileset)\n", - "write_samples(samples, \"samples.json\")\n", - "samples = read_samples(\"samples.json\")\n", - "\n", - "samples" - ] - } - ], - "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.13.5" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/atlas/utils.py b/atlas/utils.py new file mode 100644 index 0000000..9e81e04 --- /dev/null +++ b/atlas/utils.py @@ -0,0 +1,113 @@ +# saving preprocessing output +import base64 +import dataclasses +import re + +import coffea + + +################################################## +### fileset saving / loading +################################################## + +def preprocess_to_json(samples): + # encode bytes + serializable = [] + for s in samples: + chunk = dataclasses.asdict(s) + chunk["fileuuid"] = base64.b64encode(chunk["fileuuid"]).decode("ascii") + serializable.append(chunk) + + return serializable + + +def json_to_preprocess(samples): + # decode bytes + for i in range(len(samples)): + samples[i]["fileuuid"] = base64.b64decode(samples[i]["fileuuid"]) + samples[i] = coffea.processor.executor.WorkItem(**samples[i]) + + return samples + + +################################################## +### container and sample handling +################################################## + +def dsid_rtag_campaign(name: str) -> tuple[str, str, str]: + """extract information from container name""" + data_tag = re.findall(r":(data\d+)_", name) + if data_tag: + return None, None, data_tag[0] + + dsid = re.findall(r".(\d{6}).", name)[0] + rtag = re.findall(r"_(r\d+)_", name)[0] + + if rtag in ["r13167", "r14859", "r13297", "r14862"]: + campaign = "mc20a" + elif rtag in ["r13144", "r14860", "r13298", "r14863"]: + campaign = "mc20d" + elif rtag in ["r13145", "r14861", "r13299", "r14864"]: + campaign = "mc20e" + elif rtag in ["r14622", "r15540"]: + campaign = "mc23a" + elif rtag in ["r15224", "r15530"]: + campaign = "mc23d" + elif rtag in ["r16083"]: + campaign = "mc23e" + else: + print("cannot classify", name) + campaign = None + + return dsid, rtag, campaign + + +def integrated_luminosity(campaign: str) -> float: + """get integrated luminosity in pb for each MC campaign""" + lumi = { + "mc20a": 3244.54 + 33402.2, + "mc20d": 44630.6, + "mc20e": 58791.6, + "mc23a": 26328.8, + "mc23d": 25204.3, + "mc23e": 109376.0 + }[campaign] + return lumi + + +# cache for large x-sec information dicts +MC16_XSEC_DICT = None +MC23_XSEC_DICT = None + + +def sample_xs(campaign: str, dsid: str) -> float: + """get product of sample cross-section, filter efficiency and k-factor""" + global MC16_XSEC_DICT + global MC23_XSEC_DICT + + # extracting this information is expensive, so do it once and cache + if "mc20" in campaign: + if MC16_XSEC_DICT is None: + # in case of no cvmfs: https://atlas-groupdata.web.cern.ch/atlas-groupdata/dev/PMGTools/PMGxsecDB_mc16.txt + with open("/cvmfs/atlas.cern.ch/repo/sw/database/GroupData/dev/PMGTools/PMGxsecDB_mc16.txt") as f: + content = f.readlines() + + MC16_XSEC_DICT = dict([(line.split("\t\t")[0], (line.split("\t\t")[2:5])) for line in content[1:]]) + + xsec_dict = MC16_XSEC_DICT + + elif "mc23" in campaign: + if MC23_XSEC_DICT is None: + # in case of no cvmfs: https://atlas-groupdata.web.cern.ch/atlas-groupdata/dev/PMGTools/PMGxsecDB_mc23.txt + with open("/cvmfs/atlas.cern.ch/repo/sw/database/GroupData/dev/PMGTools/PMGxsecDB_mc23.txt") as f: + content = f.readlines() + + MC23_XSEC_DICT = dict([(line.split("\t\t")[0], (line.split("\t\t")[2:5])) for line in content[1:]]) + + xsec_dict = MC23_XSEC_DICT + + else: + raise ValueError("cannot parse campaign") + + # return x-sec [pb] * filter efficiency * k-factor + return float(xsec_dict[dsid][0]) * float(xsec_dict[dsid][1]) * float(xsec_dict[dsid][2]) From 8cd80794aecbe2e25c999fa412a2fe227bb1cf36 Mon Sep 17 00:00:00 2001 From: Alexander Held Date: Thu, 30 Oct 2025 11:12:13 +0100 Subject: [PATCH 6/9] add caching notebook --- .../ntuple_production/cache_everything.ipynb | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 atlas/ntuple_production/cache_everything.ipynb diff --git a/atlas/ntuple_production/cache_everything.ipynb b/atlas/ntuple_production/cache_everything.ipynb new file mode 100644 index 0000000..2c6afc2 --- /dev/null +++ b/atlas/ntuple_production/cache_everything.ipynb @@ -0,0 +1,85 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "ff6ca0fb-e358-4dbe-9951-e5167758d030", + "metadata": {}, + "outputs": [], + "source": [ + "import datetime\n", + "import gzip\n", + "import json\n", + "import time\n", + "import os\n", + "\n", + "import dask\n", + "from dask.distributed import Client\n", + "\n", + "client = Client(\"tls://localhost:8786\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d55ec891-e0c2-4f43-ba35-2077ecafcc07", + "metadata": {}, + "outputs": [], + "source": [ + "fname = \"../ntuple_production/file_metadata.json.gz\"\n", + "with gzip.open(fname) as f:\n", + " dataset_info = json.loads(f.read().decode())\n", + "\n", + "all_files = []\n", + "for containers_for_category in dataset_info.values():\n", + " for container, metadata in containers_for_category.items():\n", + " if metadata[\"files_output\"] is None:\n", + " continue\n", + "\n", + " all_files += metadata[\"files_output\"]\n", + "\n", + "len(all_files)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1c5cb8c1-ebf6-41f7-a12d-feff9a0456b8", + "metadata": {}, + "outputs": [], + "source": [ + "def run_xrdcp(fname):\n", + " t0 = time.perf_counter()\n", + " os.system(f\"xrdcp {fname} /dev/null -f\")\n", + " t1 = time.perf_counter()\n", + " time_finished = datetime.datetime.now()\n", + " return {\"runtime\": t1-t0, \"time_finished\": time_finished}\n", + "\n", + "\n", + "tasks = [dask.delayed(run_xrdcp)(fname) for fname in all_files]\n", + "_ = dask.compute(*tasks)" + ] + } + ], + "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.12.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 9577fa8087fbb877dccfd9658dea2774cc166c2d Mon Sep 17 00:00:00 2001 From: Alexander Held Date: Thu, 30 Oct 2025 13:36:39 +0100 Subject: [PATCH 7/9] support data and stacked plot --- atlas/analysis.ipynb | 92 ++++++++++++++++++++++++++++++++------------ atlas/utils.py | 24 ++++++++---- 2 files changed, 85 insertions(+), 31 deletions(-) diff --git a/atlas/analysis.ipynb b/atlas/analysis.ipynb index 0fedd23..07491d5 100644 --- a/atlas/analysis.ipynb +++ b/atlas/analysis.ipynb @@ -7,7 +7,11 @@ "metadata": {}, "outputs": [], "source": [ - "# ! pip install --upgrade atlas_schema" + "# ! pip install --upgrade atlas_schema\n", + "# ! pip install --upgrade git+https://github.com/scikit-hep/mplhep.git\n", + "\n", + "# import importlib\n", + "# importlib.reload(utils)" ] }, { @@ -72,21 +76,18 @@ "for containers_for_category in dataset_info.values():\n", " for container, metadata in containers_for_category.items():\n", " if metadata[\"files_output\"] is None:\n", - " print(f\"skipping missing {container}\")\n", + " # print(f\"skipping missing {container}\")\n", " continue\n", "\n", - " if \"data\" in container:\n", - " print(f\"skipping data {container}\")\n", - " continue # TODO add back data\n", - "\n", " dsid, _, campaign = utils.dsid_rtag_campaign(container)\n", " weight_xs = utils.sample_xs(campaign, dsid)\n", " lumi = utils.integrated_luminosity(campaign)\n", + " # TODO remove limit of nfiles per container\n", " fileset[container] = {\"files\": dict((path, \"reco\") for path in metadata[\"files_output\"][:5]), \"metadata\": {\"dsid\": dsid, \"campaign\": campaign, \"weight_xs\": weight_xs, \"lumi\": lumi}}\n", "\n", "# minimal fileset for debugging\n", - "fileset = {\"mc20_13TeV.601352.PhPy8EG_tW_dyn_DR_incl_antitop.deriv.DAOD_PHYSLITE.e8547_s4231_r13144_p6697\": fileset[\"mc20_13TeV.601352.PhPy8EG_tW_dyn_DR_incl_antitop.deriv.DAOD_PHYSLITE.e8547_s4231_r13144_p6697\"]}\n", - "fileset" + "# fileset = {\"mc20_13TeV.601352.PhPy8EG_tW_dyn_DR_incl_antitop.deriv.DAOD_PHYSLITE.e8547_s4231_r13144_p6697\": fileset[\"mc20_13TeV.601352.PhPy8EG_tW_dyn_DR_incl_antitop.deriv.DAOD_PHYSLITE.e8547_s4231_r13144_p6697\"]}\n", + "# fileset" ] }, { @@ -142,13 +143,13 @@ "outputs": [], "source": [ "run = processor.Runner(\n", - " # executor = processor.DaskExecutor(client=client),\n", - " executor = processor.IterativeExecutor(),\n", + " executor = processor.DaskExecutor(client=client),\n", + " # executor = processor.IterativeExecutor(),\n", " schema=NtupleSchema,\n", " savemetrics=True,\n", " chunksize=50_000,\n", " skipbadfiles=True,\n", - " maxchunks=1\n", + " # maxchunks=1\n", ")\n", "\n", "preprocess_output = run.preprocess(fileset)\n", @@ -196,24 +197,25 @@ "\n", " # ensure systematics in schema and in histogram match\n", " # systematics_from_hist = list(f[\"listOfSystematics\"].axes[0])\n", - " # assert sorted(systematics_from_hist) == sorted(events.systematic_names) \n", + " # assert sorted(systematics_from_hist) == sorted(events.systematic_names)\n", "\n", - " sumw = float(f[f.keys(filter_name=\"CutBookkeeper*NOSYS\")[0]].values()[1]) # initial sum of weights\n", + " if events.metadata[\"dsid\"] != \"data\":\n", + " sumw = float(f[f.keys(filter_name=\"CutBookkeeper*NOSYS\")[0]].values()[1]) # initial sum of weights\n", + " else:\n", + " sumw = 1.0 # for data\n", "\n", " for variation in events.systematic_names:\n", " if variation != \"NOSYS\" and \"EG_SCALE_ALL\" not in variation:\n", " continue\n", "\n", - " print(variation)\n", - "\n", " cut = events[variation][\"pass\"][\"ejets\"] == 1\n", - " weight = events[variation][cut==1].weight.mc * events.metadata[\"weight_xs\"] * events.metadata[\"lumi\"]\n", - " self.h.fill(events[variation][cut==1].el.pt[:, 0] / 1_000, dsid=str(dsid), variation=variation, weight=weight)\n", + " weight = (events[variation][cut==1].weight.mc if events.metadata[\"dsid\"] != \"data\" else 1.0) * events.metadata[\"weight_xs\"] * events.metadata[\"lumi\"]\n", + " self.h.fill(events[variation][cut==1].el.pt[:, 0] / 1_000, dsid=events.metadata[\"dsid\"], variation=variation, weight=weight)\n", "\n", " return {\n", " \"hist\": self.h,\n", " \"meta\": {\n", - " \"sumw\": {dsid: {(events.metadata[\"fileuuid\"], sumw)}}} # sumw in a set to avoid summing multiple times per file\n", + " \"sumw\": {events.metadata[\"dsid\"]: {(events.metadata[\"fileuuid\"], sumw)}}} # sumw in a set to avoid summing multiple times per file\n", " }\n", "\n", " def postprocess(self, accumulator):\n", @@ -225,20 +227,62 @@ "\n", "\n", "out, report = run(preprocess_output, processor_instance=Analysis())\n", - "out, report" + "report" ] }, { "cell_type": "code", "execution_count": null, - "id": "34321284-9b74-41ad-b41c-0756f26de58e", + "id": "9575019b-d1a5-4a8e-9d5a-32d0d8bd0919", "metadata": {}, "outputs": [], "source": [ - "fig, ax = plt.subplots()\n", - "out[\"hist\"][:, :, \"NOSYS\"].stack(\"dsid\").plot(ax=ax, stack=True, histtype=\"fill\", linewidth=1)\n", - "ax.set_title(\"4j1b e+jets\")\n", - "_ = ax.legend()" + "print(f\"data read: {report[\"bytesread\"] / 1000**3:.2f} GB in {report[\"chunks\"]} chunks\")\n", + "print(f\"average event rate using \\'processtime\\': {report[\"entries\"] / 1000 / report[\"processtime\"]:.2f} kHz\")\n", + "print(f\"average data rate using \\'processtime\\': {report[\"bytesread\"] / 1000**3 * 8 / report[\"processtime\"]:.2f} Gbps\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "982cce52-7f5c-4126-a5cc-6a4dfee70732", + "metadata": {}, + "outputs": [], + "source": [ + "mc_stack = []\n", + "labels = []\n", + "for key in dataset_info:\n", + " dsids = []\n", + " for container in dataset_info[key]:\n", + " dsids.append(container.split(\".\")[1])\n", + "\n", + " dsids = sorted(set(dsids))\n", + " print(key, dsids)\n", + "\n", + " if key in [\"data\", \"ttbar_H7\", \"ttbar_hdamp\", \"ttbar_pthard\", \"Wt_DS\", \"Wt_H7\", \"Wt_pthard\"]:\n", + " continue # data drawn separately, skip MC modeling variations\n", + "\n", + " try:\n", + " mc_stack.append(out[\"hist\"][:, :, \"NOSYS\"].integrate(\"dsid\", dsids))\n", + " labels.append(key)\n", + " except KeyError as e:\n", + " print(f\" [ERROR] missing DSID (no files available?): {key}, {dsids}, {e}\")\n", + "\n", + "fig, ax1, ax2 = mplhep.data_model(\n", + " data_hist=out[\"hist\"][:, \"data\", \"NOSYS\"]*450,\n", + " stacked_components=mc_stack,\n", + " stacked_labels=labels,\n", + " # https://scikit-hep.org/mplhep/gallery/model_with_stacked_and_unstacked_histograms_components/\n", + " # unstacked_components=[],\n", + " # unstacked_labels=[],\n", + " xlabel=out[\"hist\"].axes[0].label,\n", + " ylabel=\"Entries\",\n", + ")\n", + "\n", + "mplhep.atlas.label(\"Internal\", ax=ax1, data=True, lumi=f\"{utils.integrated_luminosity(\"\", total=True) / 1000:.0f}\", com=\"13 \\\\ / \\\\ 13.6\")\n", + "mplhep.mpl_magic(ax=ax1)\n", + "\n", + "# compare to e.g. https://atlas.web.cern.ch/Atlas/GROUPS/PHYSICS/PAPERS/HDBS-2020-11/fig_02a.png" ] } ], diff --git a/atlas/utils.py b/atlas/utils.py index 9e81e04..e570c5e 100644 --- a/atlas/utils.py +++ b/atlas/utils.py @@ -38,7 +38,7 @@ def dsid_rtag_campaign(name: str) -> tuple[str, str, str]: """extract information from container name""" data_tag = re.findall(r":(data\d+)_", name) if data_tag: - return None, None, data_tag[0] + return "data", None, data_tag[0] dsid = re.findall(r".(\d{6}).", name)[0] rtag = re.findall(r"_(r\d+)_", name)[0] @@ -62,17 +62,24 @@ def dsid_rtag_campaign(name: str) -> tuple[str, str, str]: return dsid, rtag, campaign -def integrated_luminosity(campaign: str) -> float: +def integrated_luminosity(campaign: str, total=False) -> float: """get integrated luminosity in pb for each MC campaign""" - lumi = { + if "data" in campaign: + return 1.0 + + lumi_dict = { "mc20a": 3244.54 + 33402.2, "mc20d": 44630.6, "mc20e": 58791.6, "mc23a": 26328.8, "mc23d": 25204.3, - "mc23e": 109376.0 - }[campaign] - return lumi + "mc23e": 109376.0, + } + + if total: + return sum(lumi_dict.values()) + + return lumi_dict[campaign] # cache for large x-sec information dicts @@ -106,8 +113,11 @@ def sample_xs(campaign: str, dsid: str) -> float: xsec_dict = MC23_XSEC_DICT + elif "data" in campaign: + return 1.0 + else: - raise ValueError("cannot parse campaign") + raise ValueError(f"cannot parse campaign {campaign}") # return x-sec [pb] * filter efficiency * k-factor return float(xsec_dict[dsid][0]) * float(xsec_dict[dsid][1]) * float(xsec_dict[dsid][2]) From 28b9ac57f7e85dc7bec3a8a2fd2f7cbe64107f07 Mon Sep 17 00:00:00 2001 From: Alexander Held Date: Thu, 30 Oct 2025 20:59:01 +0100 Subject: [PATCH 8/9] fix support for data and campign-specific normalization --- atlas/analysis.ipynb | 92 +++++++++++++++++++++++++++++++++----------- 1 file changed, 69 insertions(+), 23 deletions(-) diff --git a/atlas/analysis.ipynb b/atlas/analysis.ipynb index 07491d5..af4440f 100644 --- a/atlas/analysis.ipynb +++ b/atlas/analysis.ipynb @@ -24,6 +24,7 @@ "import gzip\n", "import json\n", "import re\n", + "import time\n", "\n", "import awkward as ak\n", "import dask\n", @@ -80,10 +81,14 @@ " continue\n", "\n", " dsid, _, campaign = utils.dsid_rtag_campaign(container)\n", + "\n", + " # debugging shortcuts\n", + " # if campaign not in [\"mc20a\", \"data15\", \"data16\"]: continue\n", + " # if \"601352\" not in dsid: continue\n", + "\n", " weight_xs = utils.sample_xs(campaign, dsid)\n", " lumi = utils.integrated_luminosity(campaign)\n", - " # TODO remove limit of nfiles per container\n", - " fileset[container] = {\"files\": dict((path, \"reco\") for path in metadata[\"files_output\"][:5]), \"metadata\": {\"dsid\": dsid, \"campaign\": campaign, \"weight_xs\": weight_xs, \"lumi\": lumi}}\n", + " fileset[container] = {\"files\": dict((path, \"reco\") for path in metadata[\"files_output\"]), \"metadata\": {\"dsid\": dsid, \"campaign\": campaign, \"weight_xs\": weight_xs, \"lumi\": lumi}}\n", "\n", "# minimal fileset for debugging\n", "# fileset = {\"mc20_13TeV.601352.PhPy8EG_tW_dyn_DR_incl_antitop.deriv.DAOD_PHYSLITE.e8547_s4231_r13144_p6697\": fileset[\"mc20_13TeV.601352.PhPy8EG_tW_dyn_DR_incl_antitop.deriv.DAOD_PHYSLITE.e8547_s4231_r13144_p6697\"]}\n", @@ -147,7 +152,7 @@ " # executor = processor.IterativeExecutor(),\n", " schema=NtupleSchema,\n", " savemetrics=True,\n", - " chunksize=50_000,\n", + " chunksize=100_000,\n", " skipbadfiles=True,\n", " # maxchunks=1\n", ")\n", @@ -183,7 +188,7 @@ "class Analysis(processor.ProcessorABC):\n", " def __init__(self):\n", " self.h = hist.new.Regular(30, 0, 300, label=\"leading electron $p_T$\").\\\n", - " StrCat([], name=\"dsid\", growth=True).\\\n", + " StrCat([], name=\"dsid_and_campaign\", growth=True).\\\n", " StrCat([], name=\"variation\", growth=True).\\\n", " Weight()\n", "\n", @@ -199,10 +204,13 @@ " # systematics_from_hist = list(f[\"listOfSystematics\"].axes[0])\n", " # assert sorted(systematics_from_hist) == sorted(events.systematic_names)\n", "\n", + " # categorize events by DSID and campaign with a single histogram axis\n", + " dsid_and_campaign = f\"{events.metadata[\"dsid\"]}_{events.metadata[\"campaign\"]}\"\n", + "\n", " if events.metadata[\"dsid\"] != \"data\":\n", " sumw = float(f[f.keys(filter_name=\"CutBookkeeper*NOSYS\")[0]].values()[1]) # initial sum of weights\n", " else:\n", - " sumw = 1.0 # for data\n", + " sumw = None # no normalization for data\n", "\n", " for variation in events.systematic_names:\n", " if variation != \"NOSYS\" and \"EG_SCALE_ALL\" not in variation:\n", @@ -210,26 +218,41 @@ "\n", " cut = events[variation][\"pass\"][\"ejets\"] == 1\n", " weight = (events[variation][cut==1].weight.mc if events.metadata[\"dsid\"] != \"data\" else 1.0) * events.metadata[\"weight_xs\"] * events.metadata[\"lumi\"]\n", - " self.h.fill(events[variation][cut==1].el.pt[:, 0] / 1_000, dsid=events.metadata[\"dsid\"], variation=variation, weight=weight)\n", + " self.h.fill(events[variation][cut==1].el.pt[:, 0] / 1_000, dsid_and_campaign=dsid_and_campaign, variation=variation, weight=weight)\n", "\n", " return {\n", " \"hist\": self.h,\n", " \"meta\": {\n", - " \"sumw\": {events.metadata[\"dsid\"]: {(events.metadata[\"fileuuid\"], sumw)}}} # sumw in a set to avoid summing multiple times per file\n", + " \"sumw\": {(events.metadata[\"dsid\"], events.metadata[\"campaign\"]): {(events.metadata[\"fileuuid\"], sumw)}}} # sumw in a set to avoid summing multiple times per file\n", " }\n", "\n", " def postprocess(self, accumulator):\n", " # normalize histograms\n", " # https://topcptoolkit.docs.cern.ch/latest/starting/running_local/#sum-of-weights\n", - " for dsid in accumulator[\"hist\"].axes[1]:\n", - " norm = 1 / sum([sumw for uuid, sumw in accumulator[\"meta\"][\"sumw\"][dsid]])\n", - " accumulator[\"hist\"][:, dsid, :] = np.stack([accumulator[\"hist\"][:, dsid, :].values()*norm, accumulator[\"hist\"][:, dsid, :].variances()*norm**2], axis=-1)\n", + " for dsid_and_campaign in accumulator[\"hist\"].axes[1]:\n", + " dsid, campaign = dsid_and_campaign.split(\"_\")\n", + " if dsid == \"data\":\n", + " continue # no normalization for data by total number of weighted events\n", + " norm = 1 / sum([sumw for uuid, sumw in accumulator[\"meta\"][\"sumw\"][(dsid, campaign)]])\n", + " count_normalized = accumulator[\"hist\"][:, dsid_and_campaign, :].values()*norm\n", + " variance_normalized = accumulator[\"hist\"][:, dsid_and_campaign, :].variances()*norm**2\n", + " accumulator[\"hist\"][:, dsid_and_campaign, :] = np.stack([count_normalized, variance_normalized], axis=-1)\n", "\n", "\n", + "t0 = time.perf_counter()\n", "out, report = run(preprocess_output, processor_instance=Analysis())\n", + "t1 = time.perf_counter()\n", "report" ] }, + { + "cell_type": "markdown", + "id": "8663e9ff-f8bb-43a0-8978-f2d430d2bbbd", + "metadata": {}, + "source": [ + "track XCache egress: [link](https://grafana.mwt2.org/d/EKefjM-Sz/af-network-200gbps-challenge?var-cnode=c111_af_uchicago_edu&var-cnode=c112_af_uchicago_edu&var-cnode=c113_af_uchicago_edu&var-cnode=c114_af_uchicago_edu&var-cnode=c115_af_uchicago_edu&viewPanel=195&kiosk=true&orgId=1&from=now-1h&to=now&timezone=browser&refresh=5s)" + ] + }, { "cell_type": "code", "execution_count": null, @@ -238,8 +261,12 @@ "outputs": [], "source": [ "print(f\"data read: {report[\"bytesread\"] / 1000**3:.2f} GB in {report[\"chunks\"]} chunks\")\n", - "print(f\"average event rate using \\'processtime\\': {report[\"entries\"] / 1000 / report[\"processtime\"]:.2f} kHz\")\n", - "print(f\"average data rate using \\'processtime\\': {report[\"bytesread\"] / 1000**3 * 8 / report[\"processtime\"]:.2f} Gbps\")" + "\n", + "print(f\"core-average event rate using \\'processtime\\': {report[\"entries\"] / 1000 / report[\"processtime\"]:.2f} kHz\")\n", + "print(f\"core-average data rate using \\'processtime\\': {report[\"bytesread\"] / 1000**3 * 8 / report[\"processtime\"]:.2f} Gbps\")\n", + "\n", + "print(f\"average event rate using walltime: {report[\"entries\"] / 1000 / (t1 - t0):.2f} kHz\")\n", + "print(f\"average data rate using walltime: {report[\"bytesread\"] / 1000**3 * 8 / (t1 - t0):.2f} Gbps\")" ] }, { @@ -257,19 +284,17 @@ " dsids.append(container.split(\".\")[1])\n", "\n", " dsids = sorted(set(dsids))\n", - " print(key, dsids)\n", + " dsids_in_hist = [dc for dc in out[\"hist\"].axes[1] if dc.split(\"_\")[0] in dsids]\n", + " print(f\"{key}:\\n - expect {dsids}\\n - have {dsids_in_hist}\")\n", "\n", - " if key in [\"data\", \"ttbar_H7\", \"ttbar_hdamp\", \"ttbar_pthard\", \"Wt_DS\", \"Wt_H7\", \"Wt_pthard\"]:\n", - " continue # data drawn separately, skip MC modeling variations\n", + " if key in [\"data\", \"ttbar_H7\", \"ttbar_hdamp\", \"ttbar_pthard\", \"Wt_DS\", \"Wt_H7\", \"Wt_pthard\"] or len(dsids_in_hist) == 0:\n", + " continue # data drawn separately, skip MC modeling variations and skip empty categories\n", "\n", - " try:\n", - " mc_stack.append(out[\"hist\"][:, :, \"NOSYS\"].integrate(\"dsid\", dsids))\n", - " labels.append(key)\n", - " except KeyError as e:\n", - " print(f\" [ERROR] missing DSID (no files available?): {key}, {dsids}, {e}\")\n", + " mc_stack.append(out[\"hist\"][:, :, \"NOSYS\"].integrate(\"dsid_and_campaign\", dsids_in_hist))\n", + " labels.append(key)\n", "\n", "fig, ax1, ax2 = mplhep.data_model(\n", - " data_hist=out[\"hist\"][:, \"data\", \"NOSYS\"]*450,\n", + " data_hist=out[\"hist\"].integrate(\"dsid_and_campaign\", [dc for dc in out[\"hist\"].axes[1] if \"data\" in dc])[:, \"NOSYS\"],\n", " stacked_components=mc_stack,\n", " stacked_labels=labels,\n", " # https://scikit-hep.org/mplhep/gallery/model_with_stacked_and_unstacked_histograms_components/\n", @@ -279,10 +304,31 @@ " ylabel=\"Entries\",\n", ")\n", "\n", - "mplhep.atlas.label(\"Internal\", ax=ax1, data=True, lumi=f\"{utils.integrated_luminosity(\"\", total=True) / 1000:.0f}\", com=\"13 \\\\ / \\\\ 13.6\")\n", + "mplhep.atlas.label(\"Internal\", ax=ax1, data=True, lumi=f\"{utils.integrated_luminosity(\"\", total=True) / 1000:.0f}\", com=\"13/ \\\\ 13.6 \\\\ TeV\")\n", "mplhep.mpl_magic(ax=ax1)\n", + "ax2.set_ylim([0.5, 1.5])\n", + "\n", + "# compare to e.g. https://atlas.web.cern.ch/Atlas/GROUPS/PHYSICS/PAPERS/HDBS-2020-11/fig_02a.png\n", + "fig.savefig(\"el_pt.png\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b2e3efe0-f724-4206-b233-202a51729014", + "metadata": {}, + "outputs": [], + "source": [ + "# save to disk\n", + "import uhi.io.json\n", + "\n", + "with gzip.open(\"hist.json.gz\", \"w\") as f:\n", + " f.write(json.dumps(out[\"hist\"], default=uhi.io.json.default).encode(\"utf-8\"))\n", + "\n", + "with gzip.open(\"hist.json.gz\") as f:\n", + " h = hist.Hist(json.loads(f.read(), object_hook=uhi.io.json.object_hook))\n", "\n", - "# compare to e.g. https://atlas.web.cern.ch/Atlas/GROUPS/PHYSICS/PAPERS/HDBS-2020-11/fig_02a.png" + "h[:, \"data_data15\", \"NOSYS\"]" ] } ], From 6e46f17b9de703d303a9e82a72082a813dfb95da Mon Sep 17 00:00:00 2001 From: Alexander Held Date: Thu, 30 Oct 2025 21:18:15 +0100 Subject: [PATCH 9/9] harmonize formatting --- atlas/ntuple_production/input_containers.py | 144 +++++++++----------- 1 file changed, 67 insertions(+), 77 deletions(-) diff --git a/atlas/ntuple_production/input_containers.py b/atlas/ntuple_production/input_containers.py index 7ad7786..374aedf 100644 --- a/atlas/ntuple_production/input_containers.py +++ b/atlas/ntuple_production/input_containers.py @@ -507,9 +507,9 @@ ], # - # signal ttbar->WH+->nlcs + # signal ttbar -> W(lnu)bH+(cs)b, e.g. https://atlas.web.cern.ch/Atlas/GROUPS/PHYSICS/PAPERS/HDBS-2020-11/ # - "signal_hplus": [ + "Hplus_cs": [ # rucio list-dids mc20_13TeV:*ttbar_Hplus_cs_mhc*PHYSLITE* # 20 GeV H+ "mc20_13TeV.561488.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc20.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", @@ -543,83 +543,73 @@ "mc20_13TeV.561502.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc130.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", "mc20_13TeV.561502.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc130.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", "mc20_13TeV.561502.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cs_mhc130.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # mc23 not available ], - - "Hplus_cb": [ - ##Run 2 (mc20 a, d and e) - # 20 GeV H+ - "mc20_13TeV:mc20_13TeV.561444.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc20.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561444.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc20.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561444.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc20.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", - - # 30 GeV H+ - "mc20_13TeV:mc20_13TeV.561446.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc30.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561446.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc30.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561446.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc30.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", - - # 45 GeV H+ - "mc20_13TeV:mc20_13TeV.561448.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc45.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561448.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc45.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561448.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc45.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", - - # 60 GeV H+ - "mc20_13TeV:mc20_13TeV.561450.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc60.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561450.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc60.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561450.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc60.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", - - # 80 GeV H+ - "mc20_13TeV:mc20_13TeV.561452.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc80.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561452.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc80.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561452.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc80.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", - - # 100 GeV H+ - "mc20_13TeV:mc20_13TeV.561454.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc100.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561454.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc100.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561454.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc100.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", - - # 120 GeV H+ - "mc20_13TeV:mc20_13TeV.561456.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc120.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561456.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc120.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561456.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc120.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", - - # 130 GeV H+ - "mc20_13TeV:mc20_13TeV.561458.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc130.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", - "mc20_13TeV:mc20_13TeV.561458.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc130.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", - "mc20_13TeV:mc20_13TeV.561458.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc130.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", - - ##Run 3 (mc23a and d) - # 20 GeV H+ - "mc23_13p6TeV:mc23_13p6TeV.561444.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc20.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", - "mc23_13p6TeV:mc23_13p6TeV.561444.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc20.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", - # 30 GeV H+ - "mc23_13p6TeV:mc23_13p6TeV.561446.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc30.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", - "mc23_13p6TeV:mc23_13p6TeV.561446.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc30.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", - - # 45 GeV H+ - "mc23_13p6TeV:mc23_13p6TeV.561448.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc45.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", - "mc23_13p6TeV:mc23_13p6TeV.561448.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc45.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", - - # 60 GeV H+ - "mc23_13p6TeV:mc23_13p6TeV.561450.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc60.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", - "mc23_13p6TeV:mc23_13p6TeV.561450.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc60.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", - - # 80 GeV H+ - "mc23_13p6TeV:mc23_13p6TeV.561452.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc80.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", - "mc23_13p6TeV:mc23_13p6TeV.561452.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc80.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", - - # 100 GeV H+ - "mc23_13p6TeV:mc23_13p6TeV.561454.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc100.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", - "mc23_13p6TeV:mc23_13p6TeV.561454.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc100.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", - - # 120 GeV H+ - "mc23_13p6TeV:mc23_13p6TeV.561456.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc120.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", - "mc23_13p6TeV:mc23_13p6TeV.561456.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc120.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", - - # 130 GeV H+ - "mc23_13p6TeV:mc23_13p6TeV.561458.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc130.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", - "mc23_13p6TeV:mc23_13p6TeV.561458.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc130.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", -] + # + # signal ttbar -> W(lnu)bH+(cb)b, e.g. https://atlas.web.cern.ch/Atlas/GROUPS/PHYSICS/PAPERS/HDBS-2019-24/ + # + "Hplus_cb": [ + # rucio list-dids mc20_13TeV:*ttbar_Hplus_cb_*PHYSLITE* + # 20 GeV H+ + "mc20_13TeV.561444.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc20.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561444.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc20.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561444.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc20.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # 30 GeV H+ + "mc20_13TeV.561446.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc30.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561446.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc30.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561446.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc30.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # 45 GeV H+ + "mc20_13TeV.561448.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc45.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561448.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc45.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561448.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc45.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # 60 GeV H+ + "mc20_13TeV.561450.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc60.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561450.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc60.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561450.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc60.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # 80 GeV H+ + "mc20_13TeV.561452.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc80.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561452.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc80.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561452.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc80.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # 100 Gev H+ + "mc20_13TeV.561454.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc100.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561454.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc100.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561454.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc100.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # 120 GeV H+ + "mc20_13TeV.561456.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc120.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561456.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc120.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561456.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc120.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # 130 GeV H+ + "mc20_13TeV.561458.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc130.deriv.DAOD_PHYSLITE.e8579_a907_r14859_p6697", + "mc20_13TeV.561458.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc130.deriv.DAOD_PHYSLITE.e8579_a907_r14860_p6697", + "mc20_13TeV.561458.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc130.deriv.DAOD_PHYSLITE.e8579_a907_r14861_p6697", + # rucio list-dids mc23_13p6TeV:*ttbar_Hplus_cb_*PHYSLITE* + # not available in mc23e + # 20 GeV H+ + "mc23_13p6TeV.561444.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc20.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", + "mc23_13p6TeV.561444.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc20.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", + # 30 GeV H+ + "mc23_13p6TeV.561446.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc30.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", + "mc23_13p6TeV.561446.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc30.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", + # 45 GeV H+ + "mc23_13p6TeV.561448.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc45.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", + "mc23_13p6TeV.561448.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc45.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", + # 60 GeV H+ + "mc23_13p6TeV.561450.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc60.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", + "mc23_13p6TeV.561450.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc60.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", + # 80 GeV H+ + "mc23_13p6TeV.561452.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc80.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", + "mc23_13p6TeV.561452.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc80.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", + # 100 GeV H+ + "mc23_13p6TeV.561454.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc100.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", + "mc23_13p6TeV.561454.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc100.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", + # 120 GeV H+ + "mc23_13p6TeV.561456.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc120.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", + "mc23_13p6TeV.561456.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc120.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", + # 130 GeV H+ + "mc23_13p6TeV.561458.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc130.deriv.DAOD_PHYSLITE.e8579_a910_r15540_p6697", + "mc23_13p6TeV.561458.aMCPy8EG_NNPDF30NLO_ttbar_Hplus_cb_mhc130.deriv.DAOD_PHYSLITE.e8579_a911_r15530_p6697", + ], }