diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8350189c..ba9548a7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,18 +5,18 @@ ci: repos: - repo: https://github.com/psf/black-pre-commit-mirror - rev: "24.3.0" + rev: "24.8.0" hooks: - id: black-jupyter - repo: https://github.com/adamchainz/blacken-docs - rev: "1.16.0" + rev: "1.18.0" hooks: - id: blacken-docs additional_dependencies: [black==23.*] - repo: https://github.com/pre-commit/pre-commit-hooks - rev: "v4.5.0" + rev: "v5.0.0" hooks: - id: check-added-large-files args: ["--maxkb=10000"] @@ -47,7 +47,7 @@ repos: # args: [--prose-wrap=always] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: "v0.3.4" + rev: "v0.6.9" hooks: - id: ruff args: ["--fix", "--show-fixes"] @@ -63,7 +63,7 @@ repos: # - pytest - repo: https://github.com/codespell-project/codespell - rev: "v2.2.6" + rev: "v2.3.0" hooks: - id: codespell types_or: [python, rst, markdown] @@ -84,12 +84,12 @@ repos: # exclude: .pre-commit-config.yaml - repo: https://github.com/abravalheri/validate-pyproject - rev: v0.16 + rev: v0.20.2 hooks: - id: validate-pyproject - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.28.1 + rev: 0.29.3 hooks: - id: check-dependabot - id: check-github-workflows diff --git a/CheckOutputs.ipynb b/CheckOutputs.ipynb index 83977d5d..16b5b949 100644 --- a/CheckOutputs.ipynb +++ b/CheckOutputs.ipynb @@ -6,6 +6,8 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", "import pandas as pd" ] }, diff --git a/src/HH4b/BDT/BDTSemiBoosted.ipynb b/src/HH4b/BDT/BDTSemiBoosted.ipynb index 0a351a0b..7c2f6c44 100644 --- a/src/HH4b/BDT/BDTSemiBoosted.ipynb +++ b/src/HH4b/BDT/BDTSemiBoosted.ipynb @@ -15,17 +15,17 @@ "metadata": {}, "outputs": [], "source": [ - "import pandas as pd\n", + "from __future__ import annotations\n", + "\n", + "import matplotlib.pyplot as plt\n", "import numpy as np\n", + "import pandas as pd\n", + "import vector\n", + "from sklearn.metrics import auc, roc_curve\n", "from sklearn.model_selection import train_test_split\n", "from xgboost import XGBClassifier\n", - "from sklearn.metrics import accuracy_score, roc_auc_score\n", - "import HH4b.utils as utils\n", - "import HH4b.plotting as plotting\n", - "from sklearn.metrics import roc_curve, auc\n", - "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", - "import vector" + "\n", + "import HH4b.utils as utils" ] }, { @@ -563,7 +563,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] diff --git a/src/HH4b/BDT/BDT_HH4b.ipynb b/src/HH4b/BDT/BDT_HH4b.ipynb index d8a66348..83ef1f6a 100644 --- a/src/HH4b/BDT/BDT_HH4b.ipynb +++ b/src/HH4b/BDT/BDT_HH4b.ipynb @@ -15,17 +15,17 @@ "metadata": {}, "outputs": [], "source": [ - "import pandas as pd\n", + "from __future__ import annotations\n", + "\n", + "import matplotlib.pyplot as plt\n", "import numpy as np\n", + "import pandas as pd\n", + "import vector\n", + "from sklearn.metrics import auc, roc_curve\n", "from sklearn.model_selection import train_test_split\n", "from xgboost import XGBClassifier\n", - "from sklearn.metrics import accuracy_score, roc_auc_score\n", - "import HH4b.utils as utils\n", - "import HH4b.plotting as plotting\n", - "from sklearn.metrics import roc_curve, auc\n", - "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", - "import vector" + "\n", + "import HH4b.utils as utils" ] }, { @@ -136,7 +136,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] diff --git a/src/HH4b/BDT/BDT_HH4b_Collin_Soper_Angle.ipynb b/src/HH4b/BDT/BDT_HH4b_Collin_Soper_Angle.ipynb index 3b721311..fb9fb2e4 100644 --- a/src/HH4b/BDT/BDT_HH4b_Collin_Soper_Angle.ipynb +++ b/src/HH4b/BDT/BDT_HH4b_Collin_Soper_Angle.ipynb @@ -15,17 +15,17 @@ "metadata": {}, "outputs": [], "source": [ - "import pandas as pd\n", + "from __future__ import annotations\n", + "\n", + "import matplotlib.pyplot as plt\n", "import numpy as np\n", + "import pandas as pd\n", + "import vector\n", + "from sklearn.metrics import auc, roc_curve\n", "from sklearn.model_selection import train_test_split\n", "from xgboost import XGBClassifier\n", - "from sklearn.metrics import accuracy_score, roc_auc_score\n", - "import HH4b.utils as utils\n", - "import HH4b.plotting as plotting\n", - "from sklearn.metrics import roc_curve, auc\n", - "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", - "import vector" + "\n", + "import HH4b.utils as utils" ] }, { @@ -563,7 +563,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] diff --git a/src/HH4b/boosted/BDTRun2Check.ipynb b/src/HH4b/boosted/BDTRun2Check.ipynb index 396beadd..2e127245 100644 --- a/src/HH4b/boosted/BDTRun2Check.ipynb +++ b/src/HH4b/boosted/BDTRun2Check.ipynb @@ -6,16 +6,18 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", "import os\n", + "import pickle\n", + "\n", + "import numpy as np\n", "import pandas as pd\n", "import uproot\n", - "import numpy as np\n", - "import pickle\n", "import vector\n", "\n", "from HH4b.postprocessing import bb_assignment\n", - "from HH4b.utils import ShapeVar, CUT_MAX_VAL, load_samples\n", - "from HH4b.utils import get_feat, make_vector" + "from HH4b.utils import get_feat, load_samples, make_vector" ] }, { @@ -766,8 +768,8 @@ "source": [ "import hist\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", "\n", "hep.style.use([\"CMS\", \"firamath\"])\n", "\n", diff --git a/src/HH4b/boosted/BDT_boosted.ipynb b/src/HH4b/boosted/BDT_boosted.ipynb index 666920cd..c5a31ccf 100644 --- a/src/HH4b/boosted/BDT_boosted.ipynb +++ b/src/HH4b/boosted/BDT_boosted.ipynb @@ -16,27 +16,20 @@ } ], "source": [ - "import pandas as pd\n", - "import numpy as np\n", + "from __future__ import annotations\n", "\n", "import hist\n", - "import pickle\n", - "\n", - "from sklearn.model_selection import train_test_split\n", - "from xgboost import XGBClassifier\n", - "from sklearn.metrics import accuracy_score, roc_auc_score\n", - "from sklearn.metrics import roc_curve, auc\n", - "\n", - "import HH4b.utils as utils\n", - "import HH4b.plotting as plotting\n", - "\n", "import matplotlib.pyplot as plt\n", + "import matplotlib.ticker as mticker\n", "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", "import vector\n", + "from sklearn.metrics import accuracy_score, auc, roc_auc_score, roc_curve\n", + "from sklearn.model_selection import train_test_split\n", + "from xgboost import XGBClassifier\n", "\n", - "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", - "import matplotlib.ticker as mticker\n", + "import HH4b.utils as utils\n", "\n", "hep.style.use([\"CMS\", \"firamath\"])\n", "\n", diff --git a/src/HH4b/boosted/DataMCPlots2018.ipynb b/src/HH4b/boosted/DataMCPlots2018.ipynb index e881c6fe..3a28f6c5 100644 --- a/src/HH4b/boosted/DataMCPlots2018.ipynb +++ b/src/HH4b/boosted/DataMCPlots2018.ipynb @@ -24,11 +24,12 @@ "outputs": [], "source": [ "# import utilities for post-process\n", - "import utils\n", + "from __future__ import annotations\n", "\n", - "import vector\n", + "import numpy as np\n", "import pandas as pd\n", - "import numpy as np" + "import utils\n", + "import vector" ] }, { @@ -278,7 +279,7 @@ "source": [ "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "print(keys_loaded)" ] }, diff --git a/src/HH4b/boosted/FitB_0.95.ipynb b/src/HH4b/boosted/FitB_0.95.ipynb index 4d04a6c5..cd1364ab 100644 --- a/src/HH4b/boosted/FitB_0.95.ipynb +++ b/src/HH4b/boosted/FitB_0.95.ipynb @@ -20,25 +20,17 @@ "metadata": {}, "outputs": [], "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "import vector\n", - "import os\n", - "from xgboost import XGBClassifier\n", - "from pathlib import Path\n", + "from __future__ import annotations\n", "\n", - "import HH4b.utils as utils\n", - "from HH4b.utils import ShapeVar\n", - "import HH4b.plotting as plotting\n", - "from HH4b.postprocessing import PostProcess, Region\n", - "import HH4b.postprocessing as postprocessing\n", - "from HH4b.hh_vars import samples, years, samples_run3\n", + "from pathlib import Path\n", "\n", - "import hist\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", - "import importlib\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "import HH4b.plotting as plotting\n", + "from HH4b.hh_vars import samples\n", "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", "formatter.set_powerlimits((-3, 3))" @@ -281,10 +273,7 @@ "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "\n", - "from matplotlib import cm\n", - "from matplotlib.ticker import LinearLocator" + "import numpy as np" ] }, { @@ -317,7 +306,7 @@ "\n", "# select data in the plotting region\n", "Txbb_cond = Txbb >= txbb_low\n", - "BDT_cond = BDT >= bdt_low\n", + "BDT_cond = bdt_low <= BDT\n", "cond = Txbb_cond & BDT_cond\n", "\n", "Txbb = Txbb[cond]\n", @@ -1464,7 +1453,7 @@ "\n", "# select data in the plotting region\n", "Txbb_cond = Txbb >= txbb_low\n", - "BDT_cond = BDT >= bdt_low\n", + "BDT_cond = bdt_low <= BDT\n", "cond = Txbb_cond & BDT_cond\n", "\n", "Txbb = Txbb[cond]\n", diff --git a/src/HH4b/boosted/FitB_0.95_PoissonCDF_separate.ipynb b/src/HH4b/boosted/FitB_0.95_PoissonCDF_separate.ipynb index 16169361..cd84892e 100644 --- a/src/HH4b/boosted/FitB_0.95_PoissonCDF_separate.ipynb +++ b/src/HH4b/boosted/FitB_0.95_PoissonCDF_separate.ipynb @@ -13,6 +13,8 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", "B_max = 150435.0 # obtained from nevents_regionB at (0,0)" ] }, @@ -29,25 +31,11 @@ "metadata": {}, "outputs": [], "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "import vector\n", - "import os\n", - "from xgboost import XGBClassifier\n", - "from pathlib import Path\n", - "\n", - "import HH4b.utils as utils\n", - "from HH4b.utils import ShapeVar\n", - "import HH4b.plotting as plotting\n", - "from HH4b.postprocessing import PostProcess, Region\n", - "import HH4b.postprocessing as postprocessing\n", - "from HH4b.hh_vars import samples, years, samples_run3\n", - "\n", - "import hist\n", + "\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", - "import importlib\n", + "import numpy as np\n", + "import pandas as pd\n", "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", "formatter.set_powerlimits((-3, 3))" @@ -85,10 +73,7 @@ "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "\n", - "from matplotlib import cm\n", - "from matplotlib.ticker import LinearLocator" + "import numpy as np" ] }, { @@ -121,7 +106,7 @@ "\n", "# select data in the plotting region\n", "Txbb_cond = Txbb >= txbb_low\n", - "BDT_cond = BDT >= bdt_low\n", + "BDT_cond = bdt_low <= BDT\n", "cond = Txbb_cond & BDT_cond\n", "\n", "Txbb = Txbb[cond]\n", @@ -243,8 +228,8 @@ "metadata": {}, "outputs": [], "source": [ - "from scipy.special import gammainc, gamma\n", - "from scipy.optimize import curve_fit" + "from scipy.optimize import curve_fit\n", + "from scipy.special import gamma, gammainc" ] }, { diff --git a/src/HH4b/boosted/FitToys.ipynb b/src/HH4b/boosted/FitToys.ipynb index 0acffbd5..708c6d86 100644 --- a/src/HH4b/boosted/FitToys.ipynb +++ b/src/HH4b/boosted/FitToys.ipynb @@ -7,9 +7,12 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", "import os\n", - "import uproot\n", + "\n", "import numpy as np\n", + "import uproot\n", "\n", "\n", "def run_command(command, dry_run=False):\n", @@ -2054,7 +2057,7 @@ "r_dict = {}\n", "biases = [0]\n", "for bias in biases:\n", - " file_names = f\"/home/users/woodson/HH4b/src/HH4b/boosted/cards/toy_*/higgsCombineTest.FitDiagnostics.mH125.root\"\n", + " file_names = \"/home/users/woodson/HH4b/src/HH4b/boosted/cards/toy_*/higgsCombineTest.FitDiagnostics.mH125.root\"\n", " file = uproot.concatenate(file_names)\n", "\n", " r = np.array(file.limit)[::4]\n", @@ -2092,9 +2095,9 @@ } ], "source": [ - "from scipy import stats\n", "import matplotlib.pyplot as plt\n", "import mplhep as hep\n", + "from scipy import stats\n", "\n", "xrange = 4\n", "bins = 21\n", diff --git a/src/HH4b/boosted/Optimize_WP_with_SmoothB.ipynb b/src/HH4b/boosted/Optimize_WP_with_SmoothB.ipynb index 798744c4..eea3d581 100644 --- a/src/HH4b/boosted/Optimize_WP_with_SmoothB.ipynb +++ b/src/HH4b/boosted/Optimize_WP_with_SmoothB.ipynb @@ -13,25 +13,19 @@ "metadata": {}, "outputs": [], "source": [ - "import pandas as pd\n", + "from __future__ import annotations\n", + "\n", + "import importlib\n", + "from pathlib import Path\n", + "\n", + "import matplotlib.ticker as mticker\n", "import numpy as np\n", - "import vector\n", - "import os\n", + "import pandas as pd\n", "from xgboost import XGBClassifier\n", - "from pathlib import Path\n", "\n", - "import HH4b.utils as utils\n", - "from HH4b.utils import ShapeVar\n", - "import HH4b.plotting as plotting\n", - "from HH4b.postprocessing import PostProcess, Region\n", "import HH4b.postprocessing as postprocessing\n", - "from HH4b.hh_vars import samples, years, samples_run3\n", - "\n", - "import hist\n", - "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", - "import matplotlib.ticker as mticker\n", - "import importlib\n", + "from HH4b.hh_vars import samples, samples_run3, years\n", + "from HH4b.postprocessing import PostProcess\n", "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", "formatter.set_powerlimits((-3, 3))" @@ -398,7 +392,7 @@ "metadata": {}, "outputs": [], "source": [ - "from scipy.special import gammainc, gamma" + "from scipy.special import gamma, gammainc" ] }, { diff --git a/src/HH4b/boosted/PNetMass.ipynb b/src/HH4b/boosted/PNetMass.ipynb index 78ddc7d0..2b381cf2 100644 --- a/src/HH4b/boosted/PNetMass.ipynb +++ b/src/HH4b/boosted/PNetMass.ipynb @@ -6,16 +6,13 @@ "metadata": {}, "outputs": [], "source": [ - "import hist\n", - "import os\n", - "from HH4b import utils\n", - "from HH4b.postprocessing import Region, weight_shifts, bb_assignment\n", - "import pandas as pd\n", - "import mplhep as hep\n", + "from __future__ import annotations\n", "\n", + "import hist\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", + "import pandas as pd\n", "\n", "hep.style.use([\"CMS\", \"firamath\"])\n", "\n", @@ -56,13 +53,13 @@ " ]\n", "]\n", "\n", - "data_dir = f\"/eos/uscms/store/user/cmantill/bbbb/skimmer/23Nov11_v12/\"\n", + "data_dir = \"/eos/uscms/store/user/cmantill/bbbb/skimmer/23Nov11_v12/\"\n", "events = pd.read_parquet(f\"{data_dir}/{year}/{sample}/parquet\", filters=filters)\n", "\n", - "data_dir_noraw = f\"/eos/uscms/store/user/rkansal/bbbb/skimmer/23Nov9_v12/\"\n", + "data_dir_noraw = \"/eos/uscms/store/user/rkansal/bbbb/skimmer/23Nov9_v12/\"\n", "events_noraw = pd.read_parquet(f\"{data_dir_noraw}/{year}/{sample}/parquet\", filters=filters)\n", "\n", - "data_dir_v11 = f\"/eos/uscms/store/user/cmantill/bbbb/skimmer/23Nov11_v11/\"\n", + "data_dir_v11 = \"/eos/uscms/store/user/cmantill/bbbb/skimmer/23Nov11_v11/\"\n", "events_v11 = pd.read_parquet(f\"{data_dir_v11}/{year}/{sample}/parquet\", filters=filters)" ] }, diff --git a/src/HH4b/boosted/ParticleNetCheck.ipynb b/src/HH4b/boosted/ParticleNetCheck.ipynb index de7da7c3..59a87313 100644 --- a/src/HH4b/boosted/ParticleNetCheck.ipynb +++ b/src/HH4b/boosted/ParticleNetCheck.ipynb @@ -6,16 +6,17 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", "import os\n", "import sys\n", "\n", "sys.path.append(\"..\")\n", - "import numpy as np\n", - "import pandas as pd\n", - "\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", "\n", "plt.style.use(hep.style.CMS)\n", "hep.style.use(\"CMS\")\n", @@ -33,10 +34,7 @@ "import sys\n", "\n", "import utils\n", - "import plotting\n", - "from postprocessing.postprocessing import Region, weight_shifts\n", - "from utils import ShapeVar, CUT_MAX_VAL\n", - "from hh_vars import samples, data_key, bg_keys, sig_keys" + "from hh_vars import bg_keys, data_key, samples, sig_keys" ] }, { diff --git a/src/HH4b/boosted/PicoAODBDTInference.ipynb b/src/HH4b/boosted/PicoAODBDTInference.ipynb index e1b2f600..ad97473a 100644 --- a/src/HH4b/boosted/PicoAODBDTInference.ipynb +++ b/src/HH4b/boosted/PicoAODBDTInference.ipynb @@ -6,16 +6,17 @@ "metadata": {}, "outputs": [], "source": [ - "import xgboost as xgb\n", - "from coffea import nanoevents\n", - "from coffea.nanoevents.methods.base import NanoEventsArray\n", + "from __future__ import annotations\n", + "\n", "import awkward as ak\n", - "import vector\n", - "import pandas as pd\n", - "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", "import uproot\n", + "import vector\n", + "import xgboost as xgb\n", + "from coffea import nanoevents\n", "\n", "plt.style.use(hep.style.CMS)\n", "\n", diff --git a/src/HH4b/boosted/Plots.ipynb b/src/HH4b/boosted/Plots.ipynb index 9a7927a7..9321c6dc 100644 --- a/src/HH4b/boosted/Plots.ipynb +++ b/src/HH4b/boosted/Plots.ipynb @@ -6,10 +6,13 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", + "import os\n", + "\n", "import numpy as np\n", "import pandas as pd\n", - "import vector\n", - "import os" + "import vector" ] }, { diff --git a/src/HH4b/boosted/PostProcessBL.ipynb b/src/HH4b/boosted/PostProcessBL.ipynb index 590589c7..2ee178ed 100644 --- a/src/HH4b/boosted/PostProcessBL.ipynb +++ b/src/HH4b/boosted/PostProcessBL.ipynb @@ -13,25 +13,21 @@ "metadata": {}, "outputs": [], "source": [ - "import pandas as pd\n", + "from __future__ import annotations\n", + "\n", + "import importlib\n", + "from pathlib import Path\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.ticker as mticker\n", "import numpy as np\n", - "import vector\n", - "import os\n", + "import pandas as pd\n", "from xgboost import XGBClassifier\n", - "from pathlib import Path\n", "\n", - "import HH4b.utils as utils\n", - "from HH4b.utils import ShapeVar\n", "import HH4b.plotting as plotting\n", - "from HH4b.postprocessing import PostProcess, Region\n", "import HH4b.postprocessing as postprocessing\n", - "from HH4b.hh_vars import samples, years, samples_run3\n", - "\n", - "import hist\n", - "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", - "import matplotlib.ticker as mticker\n", - "import importlib\n", + "from HH4b.hh_vars import samples, samples_run3, years\n", + "from HH4b.postprocessing import PostProcess\n", "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", "formatter.set_powerlimits((-3, 3))" diff --git a/src/HH4b/boosted/PostProcessRK.ipynb b/src/HH4b/boosted/PostProcessRK.ipynb index 1863b8d9..762ac4da 100644 --- a/src/HH4b/boosted/PostProcessRK.ipynb +++ b/src/HH4b/boosted/PostProcessRK.ipynb @@ -13,25 +13,21 @@ "metadata": {}, "outputs": [], "source": [ - "import pandas as pd\n", + "from __future__ import annotations\n", + "\n", + "import importlib\n", + "from pathlib import Path\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.ticker as mticker\n", "import numpy as np\n", - "import vector\n", - "import os\n", + "import pandas as pd\n", "from xgboost import XGBClassifier\n", - "from pathlib import Path\n", "\n", - "import HH4b.utils as utils\n", - "from HH4b.utils import ShapeVar\n", "import HH4b.plotting as plotting\n", - "from HH4b.postprocessing import PostProcess, Region\n", "import HH4b.postprocessing as postprocessing\n", - "from HH4b.hh_vars import samples, years, samples_run3\n", - "\n", - "import hist\n", - "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", - "import matplotlib.ticker as mticker\n", - "import importlib\n", + "from HH4b.hh_vars import samples, samples_run3, years\n", + "from HH4b.postprocessing import PostProcess\n", "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", "formatter.set_powerlimits((-3, 3))" diff --git a/src/HH4b/boosted/PostProcessTT.ipynb b/src/HH4b/boosted/PostProcessTT.ipynb index 846543dd..aacc8dae 100644 --- a/src/HH4b/boosted/PostProcessTT.ipynb +++ b/src/HH4b/boosted/PostProcessTT.ipynb @@ -6,27 +6,23 @@ "metadata": {}, "outputs": [], "source": [ - "import pandas as pd\n", + "from __future__ import annotations\n", + "\n", + "import os\n", + "\n", + "import matplotlib.ticker as mticker\n", "import numpy as np\n", + "import pandas as pd\n", "import vector\n", - "import os\n", "from xgboost import XGBClassifier\n", "\n", + "import HH4b.plotting as plotting\n", "import HH4b.utils as utils\n", "from HH4b.utils import ShapeVar\n", - "import HH4b.plotting as plotting\n", - "import HH4b.postprocessing as postprocessing\n", - "from HH4b.postprocessing import Region\n", - "\n", - "import hist\n", - "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", - "import matplotlib.ticker as mticker\n", "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", "formatter.set_powerlimits((-3, 3))\n", "\n", - "from HH4b.postprocessing import load_columns_legacy\n", "from HH4b.postprocessing.PostProcess import add_bdt_scores" ] }, diff --git a/src/HH4b/boosted/PostProcessWithBDT.ipynb b/src/HH4b/boosted/PostProcessWithBDT.ipynb index 41b62782..5370731d 100644 --- a/src/HH4b/boosted/PostProcessWithBDT.ipynb +++ b/src/HH4b/boosted/PostProcessWithBDT.ipynb @@ -6,22 +6,23 @@ "metadata": {}, "outputs": [], "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "import vector\n", + "from __future__ import annotations\n", + "\n", "import os\n", + "\n", + "import hist\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", "from xgboost import XGBClassifier\n", "\n", - "import HH4b.utils as utils\n", - "from HH4b.utils import ShapeVar\n", "import HH4b.plotting as plotting\n", "import HH4b.postprocessing as postprocessing\n", + "import HH4b.utils as utils\n", "from HH4b.postprocessing import Region\n", - "\n", - "import hist\n", - "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", - "import matplotlib.ticker as mticker\n", + "from HH4b.utils import ShapeVar\n", "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", "formatter.set_powerlimits((-3, 3))" diff --git a/src/HH4b/boosted/ROCCurvesRun2Check.ipynb b/src/HH4b/boosted/ROCCurvesRun2Check.ipynb index 15c5ebf1..772c11a9 100644 --- a/src/HH4b/boosted/ROCCurvesRun2Check.ipynb +++ b/src/HH4b/boosted/ROCCurvesRun2Check.ipynb @@ -6,14 +6,14 @@ "metadata": {}, "outputs": [], "source": [ - "import os\n", - "import pandas as pd\n", - "import uproot\n", + "from __future__ import annotations\n", + "\n", "import numpy as np\n", - "import pickle\n", - "import vector\n", - "from sklearn.metrics import roc_curve, auc\n", + "import pandas as pd\n", "import scipy\n", + "import uproot\n", + "from sklearn.metrics import roc_curve\n", + "\n", "from HH4b import plotting" ] }, @@ -32,8 +32,8 @@ "source": [ "import hist\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", "\n", "from HH4b import plotting\n", "\n", diff --git a/src/HH4b/boosted/ROCCurvesRun3Check.ipynb b/src/HH4b/boosted/ROCCurvesRun3Check.ipynb index 4094ecd5..e61a3fb3 100644 --- a/src/HH4b/boosted/ROCCurvesRun3Check.ipynb +++ b/src/HH4b/boosted/ROCCurvesRun3Check.ipynb @@ -6,14 +6,14 @@ "metadata": {}, "outputs": [], "source": [ - "import os\n", - "import pandas as pd\n", - "import uproot\n", + "from __future__ import annotations\n", + "\n", "import numpy as np\n", - "import pickle\n", - "import vector\n", - "from sklearn.metrics import roc_curve, auc\n", + "import pandas as pd\n", "import scipy\n", + "import vector\n", + "from sklearn.metrics import roc_curve\n", + "\n", "import HH4b.utils as utils" ] }, @@ -32,8 +32,8 @@ "source": [ "import hist\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", "\n", "hep.style.use([\"CMS\", \"firamath\"])\n", "\n", diff --git a/src/HH4b/boosted/ROCCurvesRun3PNet.ipynb b/src/HH4b/boosted/ROCCurvesRun3PNet.ipynb index 8ad98f3a..8dff40e6 100644 --- a/src/HH4b/boosted/ROCCurvesRun3PNet.ipynb +++ b/src/HH4b/boosted/ROCCurvesRun3PNet.ipynb @@ -15,17 +15,15 @@ "metadata": {}, "outputs": [], "source": [ - "import os\n", + "from __future__ import annotations\n", + "\n", "from pathlib import Path\n", - "import pandas as pd\n", - "import uproot\n", + "\n", "import numpy as np\n", - "import pickle\n", - "import vector\n", - "from sklearn.metrics import roc_curve, auc\n", - "import scipy\n", + "import pandas as pd\n", + "from sklearn.metrics import roc_curve\n", "\n", - "from HH4b import utils, plotting" + "from HH4b import plotting, utils" ] }, { @@ -43,8 +41,8 @@ "source": [ "import hist\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", "\n", "hep.style.use([\"CMS\", \"firamath\"])\n", "\n", @@ -354,7 +352,7 @@ " density=True,\n", " color=bkg_colors[key],\n", " )\n", - " ax.legend(title=f\"Xbb AK8 Jet 1 \\n \" + r\"p$_T$ > 300\")\n", + " ax.legend(title=\"Xbb AK8 Jet 1 \\n \" + r\"p$_T$ > 300\")\n", " ax.set_ylabel(\"Density\")\n", " ax.set_title(\"ParticleNetXbb v12\")\n", " ax.set_yscale(\"log\")\n", diff --git a/src/HH4b/boosted/Regression_study.ipynb b/src/HH4b/boosted/Regression_study.ipynb index b92ec88c..dda3de05 100644 --- a/src/HH4b/boosted/Regression_study.ipynb +++ b/src/HH4b/boosted/Regression_study.ipynb @@ -6,20 +6,17 @@ "metadata": {}, "outputs": [], "source": [ - "import uproot\n", - "import os\n", - "import pickle\n", - "import numpy as np\n", - "import pandas as pd\n", - "\n", - "from HH4b.utils import load_samples, format_columns\n", + "from __future__ import annotations\n", "\n", - "import mplhep as hep\n", - "import matplotlib.ticker as mticker\n", + "import hist\n", "import matplotlib.pyplot as plt\n", - "from matplotlib.lines import Line2D\n", + "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", + "import uproot\n", "\n", - "import hist\n", + "from HH4b.utils import format_columns, load_samples\n", "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", "formatter.set_powerlimits((-3, 3))\n", @@ -52,7 +49,7 @@ "year = \"2022EE\"\n", "\n", "sample_dirs = {\n", - " f\"../../../../data/skimmer/24Apr23LegacyLowerThresholds_v12_private_signal/\": {\n", + " \"../../../../data/skimmer/24Apr23LegacyLowerThresholds_v12_private_signal/\": {\n", " \"hh4b_v12_private\": [\"GluGlutoHHto4B_kl-1p00_kt-1p00_c2-0p00_TuneCP5_13p6TeV\"],\n", " \"ttbar_v12_private\": [\"TTto4Q\", \"TTtoLNu2Q\"],\n", " },\n", @@ -100,7 +97,7 @@ "outputs": [], "source": [ "year = \"2018\"\n", - "path_to_dir_run2 = f\"../../../../data/skimmer/20211209_regression/\"\n", + "path_to_dir_run2 = \"../../../../data/skimmer/20211209_regression/\"\n", "samples_run2 = {\n", " \"hh4b_run2\": [\n", " \"GluGluToHHTo4B_node_cHHH1_TuneCP5_PSWeights_13TeV-powheg-pythia8_1pb_weighted_Testing_BDTs.root\",\n", @@ -363,21 +360,21 @@ "hep.histplot(\n", " h1[{\"massversion\": \"msd\", \"version\": \"hh4b_v12_private\"}],\n", " ax=ax,\n", - " label=f\"Sofdrop\",\n", + " label=\"Sofdrop\",\n", " color=\"k\",\n", " density=True,\n", ")\n", "hep.histplot(\n", " h1[{\"massversion\": \"pnet_mass\", \"version\": \"hh4b_v12_private\"}],\n", " ax=ax,\n", - " label=f\"PNet Run-2 training\",\n", + " label=\"PNet Run-2 training\",\n", " color=\"b\",\n", " density=True,\n", ")\n", "hep.histplot(\n", " h1[{\"massversion\": \"pnet_mass_v12\", \"version\": \"hh4b_v12_private\"}],\n", " ax=ax,\n", - " label=f\"PNet v12 training\",\n", + " label=\"PNet v12 training\",\n", " color=\"r\",\n", " density=True,\n", ")\n", @@ -396,21 +393,21 @@ "hep.histplot(\n", " h2[{\"massversion\": \"msd\", \"version\": \"hh4b_v12_private\"}],\n", " ax=ax,\n", - " label=f\"Sofdrop\",\n", + " label=\"Sofdrop\",\n", " color=\"k\",\n", " density=True,\n", ")\n", "hep.histplot(\n", " h2[{\"massversion\": \"pnet_mass\", \"version\": \"hh4b_v12_private\"}],\n", " ax=ax,\n", - " label=f\"PNet Run-2 training\",\n", + " label=\"PNet Run-2 training\",\n", " color=\"b\",\n", " density=True,\n", ")\n", "hep.histplot(\n", " h2[{\"massversion\": \"pnet_mass_v12\", \"version\": \"hh4b_v12_private\"}],\n", " ax=ax,\n", - " label=f\"PNet v12 training\",\n", + " label=\"PNet v12 training\",\n", " color=\"r\",\n", " density=True,\n", ")\n", @@ -436,14 +433,14 @@ "hep.histplot(\n", " h1[{\"massversion\": \"msd\", \"version\": \"hh4b_run2\"}],\n", " ax=ax,\n", - " label=f\"Sofdrop\",\n", + " label=\"Sofdrop\",\n", " color=\"k\",\n", " density=True,\n", ")\n", "hep.histplot(\n", " h1[{\"massversion\": \"pnet_mass\", \"version\": \"hh4b_run2\"}],\n", " ax=ax,\n", - " label=f\"PNet Run-2 training\",\n", + " label=\"PNet Run-2 training\",\n", " color=\"b\",\n", " density=True,\n", ")\n", @@ -462,14 +459,14 @@ "hep.histplot(\n", " h2[{\"massversion\": \"msd\", \"version\": \"hh4b_run2\"}],\n", " ax=ax,\n", - " label=f\"Sofdrop\",\n", + " label=\"Sofdrop\",\n", " color=\"k\",\n", " density=True,\n", ")\n", "hep.histplot(\n", " h2[{\"massversion\": \"pnet_mass\", \"version\": \"hh4b_run2\"}],\n", " ax=ax,\n", - " label=f\"PNet Run-2 training\",\n", + " label=\"PNet Run-2 training\",\n", " color=\"b\",\n", " density=True,\n", ")\n", @@ -495,14 +492,14 @@ "hep.histplot(\n", " h1[{\"massversion\": \"pnet_mass\", \"version\": \"hh4b_run2\"}],\n", " ax=ax,\n", - " label=f\"PNet Run-2 training on Run-2\",\n", + " label=\"PNet Run-2 training on Run-2\",\n", " color=\"k\",\n", " density=True,\n", ")\n", "hep.histplot(\n", " h1[{\"massversion\": \"pnet_mass\", \"version\": \"hh4b_v12_private\"}],\n", " ax=ax,\n", - " label=f\"PNet Run-2 training on Run-3\",\n", + " label=\"PNet Run-2 training on Run-3\",\n", " color=\"b\",\n", " density=True,\n", ")\n", @@ -529,14 +526,14 @@ "hep.histplot(\n", " h2[{\"massversion\": \"pnet_mass\", \"version\": \"hh4b_run2\"}],\n", " ax=ax,\n", - " label=f\"PNet Run-2 training on Run-2\",\n", + " label=\"PNet Run-2 training on Run-2\",\n", " color=\"k\",\n", " density=True,\n", ")\n", "hep.histplot(\n", " h2[{\"massversion\": \"pnet_mass\", \"version\": \"hh4b_v12_private\"}],\n", " ax=ax,\n", - " label=f\"PNet Run-2 training on Run-3\",\n", + " label=\"PNet Run-2 training on Run-3\",\n", " color=\"b\",\n", " density=True,\n", ")\n", @@ -569,21 +566,21 @@ "hep.histplot(\n", " h1[{\"massversion\": \"pnet_mass\", \"version\": \"ttbar_run2\"}],\n", " ax=ax,\n", - " label=f\"PNet Run-2 training on Run-2\",\n", + " label=\"PNet Run-2 training on Run-2\",\n", " color=\"k\",\n", " density=True,\n", ")\n", "hep.histplot(\n", " h1[{\"massversion\": \"pnet_mass\", \"version\": \"ttbar_v12_private\"}],\n", " ax=ax,\n", - " label=f\"PNet Run-2 training on Run-3\",\n", + " label=\"PNet Run-2 training on Run-3\",\n", " color=\"b\",\n", " density=True,\n", ")\n", "hep.histplot(\n", " h1[{\"massversion\": \"pnet_mass_v12\", \"version\": \"ttbar_v12_private\"}],\n", " ax=ax,\n", - " label=f\"PNet v12 training on Run-3\",\n", + " label=\"PNet v12 training on Run-3\",\n", " color=\"r\",\n", " density=True,\n", ")\n", @@ -603,21 +600,21 @@ "hep.histplot(\n", " h2[{\"massversion\": \"pnet_mass\", \"version\": \"ttbar_run2\"}],\n", " ax=ax,\n", - " label=f\"PNet Run-2 training on Run-2\",\n", + " label=\"PNet Run-2 training on Run-2\",\n", " color=\"k\",\n", " density=True,\n", ")\n", "hep.histplot(\n", " h2[{\"massversion\": \"pnet_mass\", \"version\": \"ttbar_v12_private\"}],\n", " ax=ax,\n", - " label=f\"PNet Run-2 training on Run-3\",\n", + " label=\"PNet Run-2 training on Run-3\",\n", " color=\"b\",\n", " density=True,\n", ")\n", "hep.histplot(\n", " h2[{\"massversion\": \"pnet_mass_v12\", \"version\": \"ttbar_v12_private\"}],\n", " ax=ax,\n", - " label=f\"PNet v12 training on Run-3\",\n", + " label=\"PNet v12 training on Run-3\",\n", " color=\"r\",\n", " density=True,\n", ")\n", diff --git a/src/HH4b/boosted/Run3NanoTest.ipynb b/src/HH4b/boosted/Run3NanoTest.ipynb index a45b6a91..22ebe2bd 100644 --- a/src/HH4b/boosted/Run3NanoTest.ipynb +++ b/src/HH4b/boosted/Run3NanoTest.ipynb @@ -6,9 +6,9 @@ "metadata": {}, "outputs": [], "source": [ - "from coffea import nanoevents\n", - "from coffea.nanoevents.methods.base import NanoEventsArray\n", - "import awkward as ak" + "from __future__ import annotations\n", + "\n", + "from coffea import nanoevents" ] }, { diff --git a/src/HH4b/boosted/Sculpting.ipynb b/src/HH4b/boosted/Sculpting.ipynb index 78b0b2e4..a2594a2a 100644 --- a/src/HH4b/boosted/Sculpting.ipynb +++ b/src/HH4b/boosted/Sculpting.ipynb @@ -6,19 +6,19 @@ "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", - "from HH4b import utils\n", - "from HH4b import postprocessing\n", - "import xgboost as xgb\n", + "from __future__ import annotations\n", + "\n", "import importlib\n", - "import hist\n", "import os\n", "\n", - "import mplhep as hep\n", - "import matplotlib.ticker as mticker\n", + "import hist\n", "import matplotlib.pyplot as plt\n", - "from matplotlib.lines import Line2D\n", + "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import xgboost as xgb\n", "\n", + "from HH4b import postprocessing\n", "from HH4b.postprocessing.PostProcess import add_bdt_scores\n", "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", diff --git a/src/HH4b/boosted/SignalChecks.ipynb b/src/HH4b/boosted/SignalChecks.ipynb index 32e658f0..29b25b51 100644 --- a/src/HH4b/boosted/SignalChecks.ipynb +++ b/src/HH4b/boosted/SignalChecks.ipynb @@ -6,12 +6,13 @@ "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", - "import pandas as pd\n", + "from __future__ import annotations\n", "\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", "\n", "hep.style.use([\"CMS\", \"firamath\"])\n", "\n", @@ -41,12 +42,12 @@ "\n", "sys.path.append(\"..\")\n", "\n", - "import hist\n", "import os\n", + "\n", + "import hist\n", "import utils\n", - "from postprocessing.postprocessing import Region, weight_shifts, bb_assignment\n", - "from utils import ShapeVar, CUT_MAX_VAL\n", - "from hh_vars import samples, data_key, bg_keys, sig_keys" + "from hh_vars import data_key, samples, sig_keys\n", + "from postprocessing.postprocessing import bb_assignment" ] }, { @@ -761,7 +762,7 @@ "cat_axis = hist.axis.StrCategory([], name=\"cat\", growth=True)\n", "hist_m = hist.Hist(mass_axis, cat_axis)\n", "\n", - "for key in plots.keys():\n", + "for key in plots:\n", " weight = utils.get_feat(events_dict[sig_key], \"weight\")\n", " pu_weight = utils.get_feat(events_dict[sig_key], \"weight\")\n", " if key == \"hh4b\":\n", diff --git a/src/HH4b/boosted/SignalCheckvsRun2.ipynb b/src/HH4b/boosted/SignalCheckvsRun2.ipynb index 618a3d64..19a02617 100644 --- a/src/HH4b/boosted/SignalCheckvsRun2.ipynb +++ b/src/HH4b/boosted/SignalCheckvsRun2.ipynb @@ -15,18 +15,18 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", "import os\n", "import pickle\n", "from collections import OrderedDict\n", - "import coffea\n", + "\n", + "import awkward as ak\n", + "import numpy as np\n", "from coffea import nanoevents\n", "from coffea.lookup_tools.dense_lookup import dense_lookup\n", - "import numpy as np\n", - "import awkward as ak\n", - "import pandas as pd\n", - "from hist.intervals import ratio_uncertainty, clopper_pearson_interval\n", - "import hist\n", - "from hist import Hist" + "from hist import Hist\n", + "from hist.intervals import ratio_uncertainty" ] }, { @@ -37,7 +37,6 @@ "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as mticker\n", - "import hist\n", "import mplhep as hep\n", "\n", "hep.style.use([\"CMS\"])\n", diff --git a/src/HH4b/boosted/TTCheckvsRun2.ipynb b/src/HH4b/boosted/TTCheckvsRun2.ipynb index 6dfda8cd..724145ad 100644 --- a/src/HH4b/boosted/TTCheckvsRun2.ipynb +++ b/src/HH4b/boosted/TTCheckvsRun2.ipynb @@ -6,20 +6,20 @@ "metadata": {}, "outputs": [], "source": [ - "import os\n", + "from __future__ import annotations\n", "\n", + "import os\n", + "import pickle\n", "from collections import OrderedDict\n", - "from coffea import nanoevents\n", - "from coffea.lookup_tools.dense_lookup import dense_lookup\n", "\n", - "import numpy as np\n", "import awkward as ak\n", - "import pickle\n", - "\n", + "import hist\n", "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as mticker\n", - "import hist\n", "import mplhep as hep\n", + "import numpy as np\n", + "from coffea import nanoevents\n", + "from coffea.lookup_tools.dense_lookup import dense_lookup\n", "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", "formatter.set_powerlimits((-3, 3))\n", diff --git a/src/HH4b/boosted/Toys.ipynb b/src/HH4b/boosted/Toys.ipynb index 25e27a21..ab1b3175 100644 --- a/src/HH4b/boosted/Toys.ipynb +++ b/src/HH4b/boosted/Toys.ipynb @@ -6,17 +6,19 @@ "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", - "from HH4b import utils\n", - "from HH4b.postprocessing import load_columns_legacy\n", - "import xgboost as xgb\n", + "from __future__ import annotations\n", + "\n", "import importlib\n", - "import hist\n", "\n", - "import mplhep as hep\n", - "import matplotlib.ticker as mticker\n", + "import hist\n", "import matplotlib.pyplot as plt\n", - "from matplotlib.lines import Line2D\n", + "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import xgboost as xgb\n", + "\n", + "from HH4b import utils\n", + "from HH4b.postprocessing import load_columns_legacy\n", "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", "formatter.set_powerlimits((-3, 3))\n", @@ -107,7 +109,7 @@ " # inference\n", " bdt_events[\"bdt_score\"] = preds[:, 0]\n", "\n", - " bdt_events[\"H2PNetMass\"] = events[f\"bbFatJetPNetMassLegacy\"][1]\n", + " bdt_events[\"H2PNetMass\"] = events[\"bbFatJetPNetMassLegacy\"][1]\n", " bdt_events[\"H1Msd\"] = events[\"bbFatJetMsd\"][0]\n", " bdt_events[\"H1TXbb\"] = events[f\"bbFatJetPNetTXbb{legacy_label}\"][0]\n", " bdt_events[\"H2TXbb\"] = events[f\"bbFatJetPNetTXbb{legacy_label}\"][1]\n", @@ -328,7 +330,7 @@ "outputs": [], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(6, 5))\n", - "hep.histplot((h_mass_sig * scale_signal_by_bdt_cut[0.9]))" + "hep.histplot(h_mass_sig * scale_signal_by_bdt_cut[0.9])" ] }, { @@ -783,7 +785,7 @@ " # capsize=1,\n", " # yerr=True\n", " )\n", - "ax.set_xlabel(f\"Difference w.r.t expected\" + r\"S/$\\sqrt{S+B}$\")\n", + "ax.set_xlabel(\"Difference w.r.t expected\" + r\"S/$\\sqrt{S+B}$\")\n", "ax.set_title(r\"Injected S, S/$\\sqrt{S+B} \\sim$ 3\")\n", "ax.legend()" ] diff --git a/src/HH4b/boosted/VJets.ipynb b/src/HH4b/boosted/VJets.ipynb index e227e527..6a27ee0d 100644 --- a/src/HH4b/boosted/VJets.ipynb +++ b/src/HH4b/boosted/VJets.ipynb @@ -6,14 +6,14 @@ "metadata": {}, "outputs": [], "source": [ - "import HH4b.utils as utils\n", + "from __future__ import annotations\n", "\n", - "import mplhep as hep\n", - "import matplotlib.ticker as mticker\n", + "import hist\n", "import matplotlib.pyplot as plt\n", - "from matplotlib.lines import Line2D\n", + "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", "\n", - "import hist\n", + "import HH4b.utils as utils\n", "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", "formatter.set_powerlimits((-3, 3))\n", @@ -173,7 +173,7 @@ " fig, ax = plt.subplots(1, 1, figsize=(6, 5))\n", " for hkey, h in hists.items():\n", " hep.histplot(h, ax=ax, label=labels[hkey], density=density)\n", - " ax.legend(title=f\"Pre-Selection\")\n", + " ax.legend(title=\"Pre-Selection\")\n", " if density:\n", " ax.set_ylabel(\"Density\")\n", " else:\n", diff --git a/src/HH4b/boosted/correlations.ipynb b/src/HH4b/boosted/correlations.ipynb index 356f17c9..276f072a 100644 --- a/src/HH4b/boosted/correlations.ipynb +++ b/src/HH4b/boosted/correlations.ipynb @@ -6,20 +6,22 @@ "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", - "from HH4b import utils\n", - "from HH4b import postprocessing\n", - "import xgboost as xgb\n", + "from __future__ import annotations\n", + "\n", "import importlib\n", - "import hist\n", "import os\n", - "import mplhep as hep\n", + "\n", + "import hist\n", "import matplotlib.pyplot as plt\n", - "from HH4b.postprocessing.PostProcess import add_bdt_scores\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import xgboost as xgb\n", + "\n", "import HH4b\n", + "from HH4b import postprocessing\n", + "from HH4b.postprocessing.PostProcess import add_bdt_scores\n", "\n", "plt.style.use(hep.style.ROOT)\n", - "from HH4b.hh_vars import txbbsfs_decorr_pt_bins, txbbsfs_decorr_txbb_wps\n", "import json" ] }, @@ -351,7 +353,7 @@ " \"WP5\": [0.95, 0.975],\n", " \"WP6\": [0.92, 0.95],\n", "}\n", - "for wp in range(0, 2):\n", + "for wp in range(2):\n", " y_new[wp] = []\n", " yerr_low_new[wp] = []\n", " yerr_high_new[wp] = []\n", @@ -384,7 +386,7 @@ "# vertical line at each ptbin\n", "for ptbin in ptbins[:-1]:\n", " plt.axvline(ptbin, color=\"gray\", linestyle=\"-\", alpha=0.5)\n", - "for wp in range(0, 2):\n", + "for wp in range(2):\n", " plt.errorbar(\n", " y=y_new[wp],\n", " x=ptbins_new[:-1] + (wp + 1) * 5,\n", @@ -434,7 +436,7 @@ " yerr_high_new[i].append(\n", " txbb_sf_new[f\"WP{wp+1}_pt{ptbins[i]}to{ptbins[i+1]}\"][\"final\"][\"high\"]\n", " )\n", - " for wp in reversed(range(0, 2)):\n", + " for wp in reversed(range(2)):\n", " for j in range(len(ptbins_new) - 1):\n", " if ptbins[i] >= ptbins_new[j] and ptbins[i + 1] <= ptbins_new[j + 1]:\n", " y_new[i].append(\n", @@ -522,7 +524,7 @@ " \"WP2\": [0.95, 0.975],\n", " \"WP3\": [0.92, 0.95],\n", "}\n", - "for wp in range(0, 3):\n", + "for wp in range(3):\n", " y_old.append([])\n", " yerr_low_old.append([])\n", " yerr_high_old.append([])\n", @@ -537,7 +539,7 @@ "# vertical line at each ptbin\n", "for ptbin in ptbins[:-1]:\n", " plt.axvline(ptbin, color=\"gray\", linestyle=\"-\", alpha=0.5)\n", - "for wp in range(0, 3):\n", + "for wp in range(3):\n", " plt.errorbar(\n", " y=y_old[wp],\n", " x=ptbins[:-1] + (wp + 3) * 5,\n", diff --git a/src/HH4b/boosted/trigger_objects.ipynb b/src/HH4b/boosted/trigger_objects.ipynb index ee506af6..d606245d 100644 --- a/src/HH4b/boosted/trigger_objects.ipynb +++ b/src/HH4b/boosted/trigger_objects.ipynb @@ -15,6 +15,7 @@ "### hltAK8SinglePFJets250SoftDropMass40\n", "### hltAK8PFJets250SoftDropMass40\n", "# hltAK8SinglePFJets250SoftDropMass40BTagParticleNetBB0p35\n", + "from __future__ import annotations\n", "\n", "triggerObj_bits = {\n", " \"hltAK8PFJetsCorrected\": 1, # 1 fatjet\n", diff --git a/src/HH4b/boosted/trigger_sfs.ipynb b/src/HH4b/boosted/trigger_sfs.ipynb index 0ba50489..77236824 100644 --- a/src/HH4b/boosted/trigger_sfs.ipynb +++ b/src/HH4b/boosted/trigger_sfs.ipynb @@ -13,18 +13,18 @@ "metadata": {}, "outputs": [], "source": [ - "import coffea\n", - "from hist import Hist\n", + "from __future__ import annotations\n", + "\n", "from os import listdir\n", "from os.path import exists\n", - "from typing import Union, List\n", - "import pandas as pd\n", - "import numpy as np\n", - "import mplhep as hep\n", - "from hist.intervals import clopper_pearson_interval\n", - "import math\n", + "from typing import List, Union\n", "\n", "import matplotlib.pyplot as plt\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", + "from hist import Hist\n", + "from hist.intervals import clopper_pearson_interval\n", "\n", "plt.rcParams.update({\"font.size\": 11})\n", "plt.style.use(hep.style.CMS)" @@ -63,7 +63,7 @@ "outputs": [], "source": [ "year = \"2022EE\"\n", - "data_dir = f\"/eos/uscms/store/user/cmantill/bbbb/trigger_boosted/Aug15/\"\n", + "data_dir = \"/eos/uscms/store/user/cmantill/bbbb/trigger_boosted/Aug15/\"\n", "samples = {\n", " \"data\": [\"Run2022E\", \"Run2022F\", \"Run2022G\"],\n", " \"ttbar\": [\"TTtoLNu2Q\"],\n", diff --git a/src/HH4b/boosted/trigger_signal.ipynb b/src/HH4b/boosted/trigger_signal.ipynb index 94e9d997..7aed50e3 100644 --- a/src/HH4b/boosted/trigger_signal.ipynb +++ b/src/HH4b/boosted/trigger_signal.ipynb @@ -6,19 +6,20 @@ "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", - "import pandas as pd\n", + "from __future__ import annotations\n", + "\n", "from os import listdir\n", "from os.path import exists\n", - "from typing import Union, List\n", - "from hist import Hist\n", - "from hist.intervals import clopper_pearson_interval\n", - "import vector\n", + "from typing import List, Union\n", "\n", + "import hist\n", "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as mticker\n", - "import hist\n", "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", + "import vector\n", + "from hist.intervals import clopper_pearson_interval\n", "\n", "hep.style.use([\"CMS\", \"firamath\"])\n", "\n", @@ -29,9 +30,7 @@ "plt.rcParams[\"grid.color\"] = \"#CCCCCC\"\n", "plt.rcParams[\"grid.linewidth\"] = 0.5\n", "plt.rcParams[\"figure.edgecolor\"] = \"none\"\n", - "\n", - "\n", - "import sys" + "\n" ] }, { @@ -233,7 +232,7 @@ "hmhh = hist.Hist(mhh_axis, cat_axis, sample_axis)\n", "hpt = hist.Hist(fjpt_axis, cat_axis, sample_axis)\n", "\n", - "for sample in events_dict.keys():\n", + "for sample in events_dict:\n", " events = events_dict[sample]\n", " ht = events[\"ht\"][0]\n", " pt_0 = events[\"ak8FatJetPt\"][0]\n", diff --git a/src/HH4b/boosted/trigger_study.ipynb b/src/HH4b/boosted/trigger_study.ipynb index 5b2c4a08..04a8d672 100644 --- a/src/HH4b/boosted/trigger_study.ipynb +++ b/src/HH4b/boosted/trigger_study.ipynb @@ -6,20 +6,20 @@ "metadata": {}, "outputs": [], "source": [ - "import coffea\n", - "from hist import Hist\n", - "from os import listdir\n", - "from os.path import exists\n", - "from typing import Union, List\n", - "import pandas as pd\n", - "import numpy as np\n", - "import mplhep as hep\n", - "from hist.intervals import clopper_pearson_interval\n", - "import math\n", + "from __future__ import annotations\n", "\n", + "import math\n", "import os\n", + "from os import listdir\n", + "from os.path import exists\n", + "from typing import List, Union\n", "\n", "import matplotlib.pyplot as plt\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", + "from hist import Hist\n", + "from hist.intervals import clopper_pearson_interval\n", "\n", "plt.rcParams.update({\"font.size\": 11})\n", "plt.style.use(hep.style.CMS)" @@ -66,7 +66,7 @@ "\n", "# data_dir = f\"/eos/uscms/store/user/cmantill/bbbb/trigger_boosted/Aug15/\"\n", "# data_dir = f\"/eos/uscms/store/user/cmantill/bbbb/trigger_boosted/Nov7_v12/\"\n", - "data_dir = f\"/eos/uscms/store/user/cmantill/bbbb/trigger_boosted/23Nov9_v11_v11/\"\n", + "data_dir = \"/eos/uscms/store/user/cmantill/bbbb/trigger_boosted/23Nov9_v11_v11/\"\n", "\n", "samples = {\n", " \"2022EE\": {\n", @@ -491,7 +491,7 @@ "for trigger_label in trigger_info[\"data\"].keys():\n", " for i, _ in enumerate(trigger_info[\"data\"][trigger_label]):\n", " fig, ax = plt.subplots(1, 1, figsize=(8, 6))\n", - " for key in trigger_info.keys():\n", + " for key in trigger_info:\n", " numerator, denominator, label, title = trigger_info[key][trigger_label][i]\n", " hep.histplot(\n", " numerator / denominator,\n", @@ -556,7 +556,7 @@ " ax.set_title(f\"{title}\\n{label}\", fontsize=10, y=1.0, pad=25)\n", "\n", "\n", - "for key in trigger_info_2d.keys():\n", + "for key in trigger_info_2d:\n", " for trigger_label, info in trigger_info_2d[key].items():\n", " for i in info:\n", " numerator, denominator, label, title = i\n", diff --git a/src/HH4b/boosted/trigger_study_rk.ipynb b/src/HH4b/boosted/trigger_study_rk.ipynb index 4307229e..c6ec05d2 100644 --- a/src/HH4b/boosted/trigger_study_rk.ipynb +++ b/src/HH4b/boosted/trigger_study_rk.ipynb @@ -6,24 +6,21 @@ "metadata": {}, "outputs": [], "source": [ - "import coffea\n", - "from hist import Hist\n", - "from hist.intervals import clopper_pearson_interval\n", + "from __future__ import annotations\n", "\n", - "import os\n", - "from os import listdir\n", "from copy import deepcopy\n", + "from os import listdir\n", "from pathlib import Path\n", - "from typing import Union, List\n", - "import pandas as pd\n", - "import numpy as np\n", - "\n", - "import math\n", - "from HH4b import utils, hh_vars, plotting\n", - "from HH4b.utils import ShapeVar\n", "\n", "import matplotlib.pyplot as plt\n", "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", + "from hist import Hist\n", + "from hist.intervals import clopper_pearson_interval\n", + "\n", + "from HH4b import hh_vars, plotting, utils\n", + "from HH4b.utils import ShapeVar\n", "\n", "plt.rcParams.update({\"font.size\": 24})\n", "plt.style.use(hep.style.CMS)" @@ -70,7 +67,7 @@ "year = \"2022EE\"\n", "\n", "# data_dir = f\"/eos/uscms/store/user/cmantill/bbbb/trigger_boosted/Aug15/\"\n", - "data_dir = f\"/eos/uscms/store/user/cmantill/bbbb/trigger_boosted/23Nov9_v11_v11/\"\n", + "data_dir = \"/eos/uscms/store/user/cmantill/bbbb/trigger_boosted/23Nov9_v11_v11/\"\n", "\n", "samples = {\n", " \"2022EE\": {\n", @@ -202,6 +199,7 @@ "outputs": [], "source": [ "from dataclasses import dataclass, field\n", + "\n", "from numpy.typing import ArrayLike\n", "\n", "\n", @@ -265,7 +263,7 @@ "outputs": [], "source": [ "fill_events = {\n", - " \"data\": f\"Data\",\n", + " \"data\": \"Data\",\n", " \"ttbar\": r\"$t\\bar{t}$\",\n", "}\n", "\n", diff --git a/src/HH4b/boosted/v11v12Check.ipynb b/src/HH4b/boosted/v11v12Check.ipynb index 035dfcd0..9c38c913 100644 --- a/src/HH4b/boosted/v11v12Check.ipynb +++ b/src/HH4b/boosted/v11v12Check.ipynb @@ -6,19 +6,15 @@ "metadata": {}, "outputs": [], "source": [ - "import uproot\n", - "import os\n", - "import pickle\n", - "import coffea\n", + "from __future__ import annotations\n", "\n", - "from HH4b.utils import load_samples, get_feat, format_columns\n", + "import os\n", "\n", + "import awkward as ak\n", + "import numpy as np\n", "from coffea import nanoevents\n", - "from coffea.lookup_tools.dense_lookup import dense_lookup\n", "\n", - "import numpy as np\n", - "import awkward as ak\n", - "import pandas as pd" + "from HH4b.utils import get_feat, load_samples" ] }, { @@ -27,13 +23,12 @@ "metadata": {}, "outputs": [], "source": [ - "import mplhep as hep\n", - "import matplotlib.ticker as mticker\n", + "import hist\n", "import matplotlib.pyplot as plt\n", + "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", "from matplotlib.lines import Line2D\n", "\n", - "import hist\n", - "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", "formatter.set_powerlimits((-3, 3))\n", "plt.rcParams.update({\"font.size\": 12})\n", @@ -339,21 +334,21 @@ " hep.histplot(\n", " h[{\"version\": \"v11\", \"massversion\": \"msd\"}],\n", " ax=ax,\n", - " label=f\"Sofdrop v11\",\n", + " label=\"Sofdrop v11\",\n", " density=True,\n", " color=\"k\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v11\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v11\",\n", + " label=\"PNet mass v11\",\n", " density=True,\n", " color=\"r\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v12\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v12\",\n", + " label=\"PNet mass v12\",\n", " density=True,\n", " color=\"b\",\n", " )\n", @@ -470,21 +465,21 @@ " hep.histplot(\n", " h[{\"version\": \"v11\", \"massversion\": \"msd\"}],\n", " ax=ax,\n", - " label=f\"Sofdrop v11\",\n", + " label=\"Sofdrop v11\",\n", " density=True,\n", " color=\"k\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v11\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v11\",\n", + " label=\"PNet mass v11\",\n", " density=True,\n", " color=\"r\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v12\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v12\",\n", + " label=\"PNet mass v12\",\n", " density=True,\n", " color=\"b\",\n", " )\n", @@ -585,8 +580,8 @@ " # mask fatjet xbb\n", " xbb_0 = events[\"bbFatJetPNetXbb\"].to_numpy()[:, 0]\n", " xbb_1 = events[\"bbFatJetPNetXbb\"].to_numpy()[:, 1]\n", - " mask_1 = mask_1 & ((xbb_0 > 0.95))\n", - " mask_2 = mask_2 & ((xbb_1 > 0.95))\n", + " mask_1 = mask_1 & (xbb_0 > 0.95)\n", + " mask_2 = mask_2 & (xbb_1 > 0.95)\n", "\n", " for mass_label, var in mass_versions.items():\n", " val_0 = get_feat(events, f\"{var}0\")[mask_1] / 125\n", @@ -605,21 +600,21 @@ " hep.histplot(\n", " h[{\"version\": \"v11\", \"massversion\": \"msd\"}],\n", " ax=ax,\n", - " label=f\"Sofdrop v11\",\n", + " label=\"Sofdrop v11\",\n", " density=True,\n", " color=\"k\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v11\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v11\",\n", + " label=\"PNet mass v11\",\n", " density=True,\n", " color=\"r\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v12\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v12\",\n", + " label=\"PNet mass v12\",\n", " density=True,\n", " color=\"b\",\n", " )\n", @@ -709,8 +704,8 @@ " # mask fatjet xbb\n", " xbb_0 = events[\"bbFatJetPNetXbb\"].to_numpy()[:, 0]\n", " xbb_1 = events[\"bbFatJetPNetXbb\"].to_numpy()[:, 1]\n", - " mask_1 = mask_1 & ((xbb_0 > 0.95))\n", - " mask_2 = mask_2 & ((xbb_1 > 0.95))\n", + " mask_1 = mask_1 & (xbb_0 > 0.95)\n", + " mask_2 = mask_2 & (xbb_1 > 0.95)\n", "\n", " for mass_label, var in mass_versions.items():\n", " val_0 = get_feat(events, f\"{var}0\")[mask_1] / 125\n", @@ -730,21 +725,21 @@ " hep.histplot(\n", " h[{\"version\": \"v11\", \"massversion\": \"msd\"}],\n", " ax=ax,\n", - " label=f\"Sofdrop v11\",\n", + " label=\"Sofdrop v11\",\n", " density=True,\n", " color=\"k\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v11\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v11\",\n", + " label=\"PNet mass v11\",\n", " density=True,\n", " color=\"r\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v12\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v12\",\n", + " label=\"PNet mass v12\",\n", " density=True,\n", " color=\"b\",\n", " )\n", @@ -846,8 +841,8 @@ " # mask fatjet xbb\n", " xbb_0 = events[\"bbFatJetPNetXbb\"].to_numpy()[:, 0]\n", " xbb_1 = events[\"bbFatJetPNetXbb\"].to_numpy()[:, 1]\n", - " mask_1 = mask_1 & ((xbb_0 > 0.95))\n", - " mask_2 = mask_2 & ((xbb_0 > 0.95))\n", + " mask_1 = mask_1 & (xbb_0 > 0.95)\n", + " mask_2 = mask_2 & (xbb_0 > 0.95)\n", "\n", " for mass_label, var in mass_versions.items():\n", " val_0 = get_feat(events, f\"{var}0\")[mask_1] / 125\n", @@ -867,25 +862,25 @@ " hep.histplot(\n", " h[{\"version\": \"v11\", \"massversion\": \"msd\"}],\n", " ax=ax,\n", - " label=f\"Sofdrop v11\",\n", + " label=\"Sofdrop v11\",\n", " density=True,\n", " color=\"k\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v11\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v11\",\n", + " label=\"PNet mass v11\",\n", " density=True,\n", " color=\"r\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v12\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v12\",\n", + " label=\"PNet mass v12\",\n", " density=True,\n", " color=\"b\",\n", " )\n", - " ax.legend(title=f\"Xbb AK8 Jet {i} \\n \" + ptbin_str + f\"\\n Xbb$_0$ > 0.95\")\n", + " ax.legend(title=f\"Xbb AK8 Jet {i} \\n \" + ptbin_str + \"\\n Xbb$_0$ > 0.95\")\n", " ax.set_ylabel(\"Density\")\n", " ax.set_title(\"GluGlutoHHto4B_kl-1p00_kt-1p00_c2-0p00 (2022EE)\")\n", " ax.xaxis.grid(True, which=\"major\")\n", @@ -954,10 +949,10 @@ " # mask fatjet xbb\n", " xbb_0 = events[\"bbFatJetPNetXbb\"].to_numpy()[:, 0]\n", " xbb_1 = events[\"bbFatJetPNetXbb\"].to_numpy()[:, 1]\n", - " mask_1 = mask_1 & ((xbb_0 > 0.95))\n", - " mask_2 = mask_2 & ((xbb_0 > 0.95))\n", + " mask_1 = mask_1 & (xbb_0 > 0.95)\n", + " mask_2 = mask_2 & (xbb_0 > 0.95)\n", "\n", - " msd_1 = get_feat(events, f\"bbFatJetMsd1\")[mask_2]\n", + " msd_1 = get_feat(events, \"bbFatJetMsd1\")[mask_2]\n", "\n", " for mass_label, var in mass_versions.items():\n", " val_0 = get_feat(events, f\"{var}0\")[mask_1]\n", @@ -969,11 +964,11 @@ " h1.fill(msd_1[low_val_1], \"msd\")\n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(6, 5))\n", - "hep.histplot(h1[{\"massversion\": \"msd\"}], ax=ax, label=f\"Sofdrop v12\", color=\"k\", density=True)\n", + "hep.histplot(h1[{\"massversion\": \"msd\"}], ax=ax, label=\"Sofdrop v12\", color=\"k\", density=True)\n", "hep.histplot(\n", - " h1[{\"massversion\": \"pnet_mass\"}], ax=ax, label=f\"PNet mass v12\", color=\"b\", density=True\n", + " h1[{\"massversion\": \"pnet_mass\"}], ax=ax, label=\"PNet mass v12\", color=\"b\", density=True\n", ")\n", - "ax.legend(title=f\"Xbb AK8 Jet {i} \\n \" + ptbin_str + f\"\\n Xbb$_0$ > 0.95\")\n", + "ax.legend(title=f\"Xbb AK8 Jet {i} \\n \" + ptbin_str + \"\\n Xbb$_0$ > 0.95\")\n", "ax.set_ylabel(\"Density\")\n", "ax.set_xlabel(\"Mass [GeV]\")\n", "ax.set_title(\"Corresponding mass values (2022EE)\")\n", @@ -1232,7 +1227,7 @@ " plt.yscale(\"log\")\n", " plt.xlabel(\"Signal efficiency\")\n", " plt.ylabel(\"Background efficiency\")\n", - " plt.suptitle(f\"Xbb FatJets (0, 1) PNetXbb\", y=0.95)\n", + " plt.suptitle(\"Xbb FatJets (0, 1) PNetXbb\", y=0.95)\n", " # plt.title(cut_labels[cutstr], fontsize=20)\n", " plt.xlim([0.1, 1])\n", " plt.ylim([0.001, 1])\n", @@ -1367,7 +1362,7 @@ " plt.yscale(\"log\")\n", " plt.xlabel(\"Signal efficiency\")\n", " plt.ylabel(\"Background efficiency\")\n", - " plt.suptitle(f\"Xbb FatJets (0) PNetXbb\", y=0.95)\n", + " plt.suptitle(\"Xbb FatJets (0) PNetXbb\", y=0.95)\n", " # plt.title(cut_labels[cutstr], fontsize=20)\n", " plt.text(0.6, 0.5, \"NanoAOD v11\", color=\"red\")\n", " plt.text(0.6, 0.3, \"NanoAOD v12\", color=\"b\")\n", @@ -1762,21 +1757,21 @@ " hep.histplot(\n", " h[{\"version\": \"v11\", \"sample\": \"hh4b\", \"massversion\": \"msd\"}],\n", " ax=ax,\n", - " label=f\"Sofdrop v11\",\n", + " label=\"Sofdrop v11\",\n", " density=True,\n", " color=\"k\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v11\", \"sample\": \"hh4b\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v11\",\n", + " label=\"PNet mass v11\",\n", " density=True,\n", " color=\"r\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v12\", \"sample\": \"hh4b\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v12\",\n", + " label=\"PNet mass v12\",\n", " density=True,\n", " color=\"b\",\n", " )\n", @@ -1866,19 +1861,19 @@ " hep.histplot(\n", " h[{\"version\": \"v11\", \"sample\": \"hh4b\", \"massversion\": \"msd\"}],\n", " ax=ax,\n", - " label=f\"Sofdrop v11\",\n", + " label=\"Sofdrop v11\",\n", " color=\"k\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v11\", \"sample\": \"hh4b\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v11\",\n", + " label=\"PNet mass v11\",\n", " color=\"r\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v12\", \"sample\": \"hh4b\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v12\",\n", + " label=\"PNet mass v12\",\n", " color=\"b\",\n", " )\n", " # ax.legend(title=f\"Xbb AK8 Jet {i} \\n \" + r\"300 < p$_T$ < 600\" + f\"\\n Xbb$_{i}$ v12 > 0.938\" + f\"\\n | Xbb$_{i}$ v11 > 0.974\")\n", @@ -2303,7 +2298,7 @@ "metadata": {}, "outputs": [], "source": [ - "events_dict[f\"hh4b\"]" + "events_dict[\"hh4b\"]" ] }, { @@ -2340,7 +2335,7 @@ " }\n", "\n", " for version in [\"v11\", \"v12\"]:\n", - " events = events_dict[f\"hh4b\"]\n", + " events = events_dict[\"hh4b\"]\n", "\n", " # is fatjet (0,1) matched\n", " m_0 = events[\"bbFatJetHiggsMatch\"].to_numpy()[:, 0]\n", @@ -2365,12 +2360,12 @@ " # mask fatjet xbb\n", " xbb_var = \"bbFatJetPNetXbb\"\n", " if version == \"v11\":\n", - " xbb_var = f\"bbFatJetPNetXbbLegacy\"\n", + " xbb_var = \"bbFatJetPNetXbbLegacy\"\n", "\n", " xbb_0 = events[xbb_var].to_numpy()[:, 0]\n", " xbb_1 = events[xbb_var].to_numpy()[:, 1]\n", - " mask_1 = mask_1 & ((xbb_0 > 0.95))\n", - " mask_2 = mask_2 & ((xbb_0 > 0.95))\n", + " mask_1 = mask_1 & (xbb_0 > 0.95)\n", + " mask_2 = mask_2 & (xbb_0 > 0.95)\n", "\n", " msd_0 = events[\"bbFatJetMsd\"].to_numpy()[:, 0]\n", " msd_1 = events[\"bbFatJetMsd\"].to_numpy()[:, 1]\n", @@ -2407,21 +2402,21 @@ " hep.histplot(\n", " h[{\"version\": \"v11\", \"massversion\": \"msd\"}],\n", " ax=ax,\n", - " label=f\"Sofdrop v11\",\n", + " label=\"Sofdrop v11\",\n", " density=True,\n", " color=\"k\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v11\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v11\",\n", + " label=\"PNet mass v11\",\n", " density=True,\n", " color=\"r\",\n", " )\n", " hep.histplot(\n", " h[{\"version\": \"v12\", \"massversion\": \"pnet_mass\"}],\n", " ax=ax,\n", - " label=f\"PNet mass v12\",\n", + " label=\"PNet mass v12\",\n", " density=True,\n", " color=\"b\",\n", " )\n", @@ -2429,7 +2424,7 @@ " ax.legend(\n", " title=f\"Xbb AK8 Jet {i} \\n \"\n", " + ptbin_str\n", - " + f\"\\n Xbb$_0$ > 0.95\"\n", + " + \"\\n Xbb$_0$ > 0.95\"\n", " + \"\\n 50 < m$_{reg}$ < 200\"\n", " )\n", " ax.set_ylabel(\"Density\")\n", @@ -2482,7 +2477,7 @@ " if version == \"v11\":\n", " mreg_var = f\"{mreg_var}Legacy\"\n", "\n", - " events = events_dict[f\"hh4b\"]\n", + " events = events_dict[\"hh4b\"]\n", "\n", " jidx = 0\n", " # jidx = 1\n", @@ -2517,7 +2512,7 @@ "\n", " sig_jets_score = score[mask]\n", "\n", - " events = events_dict[f\"qcd\"]\n", + " events = events_dict[\"qcd\"]\n", "\n", " pt = events[\"bbFatJetPt\"].to_numpy()[:, jidx]\n", " msd = events[\"bbFatJetMsd\"].to_numpy()[:, jidx]\n", @@ -2825,8 +2820,8 @@ "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", "\n", "hep.style.use(\"CMS\")\n", "\n", diff --git a/src/HH4b/boosted/v11vsv12_mreg.ipynb b/src/HH4b/boosted/v11vsv12_mreg.ipynb index 996c5a8d..be5d354d 100644 --- a/src/HH4b/boosted/v11vsv12_mreg.ipynb +++ b/src/HH4b/boosted/v11vsv12_mreg.ipynb @@ -13,26 +13,12 @@ "metadata": {}, "outputs": [], "source": [ - "import uproot\n", - "import os\n", - "import pickle\n", - "import coffea\n", + "from __future__ import annotations\n", "\n", - "from HH4b.utils import load_samples, get_feat, format_columns\n", - "\n", - "from coffea import nanoevents\n", - "from coffea.lookup_tools.dense_lookup import dense_lookup\n", - "\n", - "import numpy as np\n", - "import awkward as ak\n", - "import pandas as pd\n", - "\n", - "import mplhep as hep\n", - "import matplotlib.ticker as mticker\n", "import matplotlib.pyplot as plt\n", - "from matplotlib.lines import Line2D\n", + "import matplotlib.ticker as mticker\n", "\n", - "import hist\n", + "from HH4b.utils import format_columns, load_samples\n", "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", "formatter.set_powerlimits((-3, 3))\n", diff --git a/src/HH4b/combine/binder/BiasTest.ipynb b/src/HH4b/combine/binder/BiasTest.ipynb index db87f81d..9cf32de9 100644 --- a/src/HH4b/combine/binder/BiasTest.ipynb +++ b/src/HH4b/combine/binder/BiasTest.ipynb @@ -6,13 +6,15 @@ "metadata": {}, "outputs": [], "source": [ - "from typing import List\n", - "import uproot\n", - "import numpy as np\n", + "from __future__ import annotations\n", + "\n", + "from pathlib import Path\n", + "\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", - "from pathlib import Path\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import uproot\n", "\n", "plt.style.use(hep.style.CMS)\n", "hep.style.use(\"CMS\")\n", diff --git a/src/HH4b/combine/binder/FTest.ipynb b/src/HH4b/combine/binder/FTest.ipynb index 61c2dc3e..012c5afc 100644 --- a/src/HH4b/combine/binder/FTest.ipynb +++ b/src/HH4b/combine/binder/FTest.ipynb @@ -6,13 +6,16 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", + "from pathlib import Path\n", "from typing import List\n", - "import uproot\n", - "import numpy as np\n", + "\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", - "from pathlib import Path\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import uproot\n", "\n", "plt.style.use(hep.style.CMS)\n", "hep.style.use(\"CMS\")\n", @@ -91,7 +94,7 @@ " )\n", " tdict[\"data\"][tflabel] = file[\"limit\"][0]\n", "\n", - " if not nTF == o1:\n", + " if nTF != o1:\n", " tdict[\"ftoys\"][tflabel] = F_statistic(\n", " tdict[\"toys\"][tlabel], tdict[\"toys\"][tflabel], o1, nTF\n", " )\n", @@ -230,7 +233,7 @@ "\n", "\n", "data_ts, toy_ts = tdict[\"data\"], tdict[\"toys\"]\n", - "plot_tests(data_ts, toy_ts, \"gof_combined\", fit=\"chi2\", title=f\"GOF test, combined\", bins=20)" + "plot_tests(data_ts, toy_ts, \"gof_combined\", fit=\"chi2\", title=\"GOF test, combined\", bins=20)" ] }, { diff --git a/src/HH4b/combine/binder/VBFPlots.ipynb b/src/HH4b/combine/binder/VBFPlots.ipynb index 7586ad66..9e8c069d 100644 --- a/src/HH4b/combine/binder/VBFPlots.ipynb +++ b/src/HH4b/combine/binder/VBFPlots.ipynb @@ -6,30 +6,19 @@ "metadata": {}, "outputs": [], "source": [ - "import uproot\n", + "from __future__ import annotations\n", + "\n", "import awkward as ak\n", "from coffea import nanoevents\n", - "from coffea.nanoevents.methods.base import NanoEventsArray\n", - "from coffea.analysis_tools import Weights, PackedSelection\n", - "from coffea.nanoevents.methods import nanoaod\n", "from coffea.nanoevents.methods import vector\n", "\n", "ak.behavior.update(vector.behavior)\n", "\n", - "import pickle, json, gzip\n", - "import numpy as np\n", - "\n", - "from typing import Optional, List, Dict\n", - "from copy import copy\n", + "from pathlib import Path\n", "\n", "import matplotlib.pyplot as plt\n", "import mplhep as hep\n", - "from matplotlib import colors\n", - "\n", - "from tqdm import tqdm\n", - "\n", - "from pathlib import Path\n", - "import os\n", + "import numpy as np\n", "\n", "plt.rcParams.update({\"font.size\": 16})\n", "plt.style.use(hep.style.CMS)" @@ -61,7 +50,6 @@ "metadata": {}, "outputs": [], "source": [ - "import glob\n", "\n", "samples = {\n", " \"VBF_HHto4B_CV_1_C2V_1_C3_1\": \"src/HH4b/combine/binder/vbf/all.root\",\n", diff --git a/src/HH4b/combine/binder/VBFXsec.ipynb b/src/HH4b/combine/binder/VBFXsec.ipynb index 18dd160d..04b61536 100644 --- a/src/HH4b/combine/binder/VBFXsec.ipynb +++ b/src/HH4b/combine/binder/VBFXsec.ipynb @@ -6,9 +6,11 @@ "metadata": {}, "outputs": [], "source": [ - "from pathlib import Path\n", - "import numpy as np\n", - "from collections import OrderedDict" + "from __future__ import annotations\n", + "\n", + "from collections import OrderedDict\n", + "\n", + "import numpy as np" ] }, { @@ -105,7 +107,7 @@ ")\n", "\n", "# the vector of symbolic sample cross sections\n", - "s = sympy.Matrix([[sympy.Symbol(\"xs{}\".format(i))] for i in range(len(csamples))])\n", + "s = sympy.Matrix([[sympy.Symbol(f\"xs{i}\")] for i in range(len(csamples))])\n", "\n", "# actual computation, i.e., matrix inversion and multiplications with vectors\n", "M_inv = M.pinv()\n", diff --git a/src/HH4b/corrections/trigger_sfs.ipynb b/src/HH4b/corrections/trigger_sfs.ipynb index 5819fa02..229d1583 100644 --- a/src/HH4b/corrections/trigger_sfs.ipynb +++ b/src/HH4b/corrections/trigger_sfs.ipynb @@ -13,18 +13,18 @@ "metadata": {}, "outputs": [], "source": [ - "import coffea\n", - "from hist import Hist\n", + "from __future__ import annotations\n", + "\n", "from os import listdir\n", "from os.path import exists\n", - "from typing import Union, List\n", - "import pandas as pd\n", - "import numpy as np\n", - "import mplhep as hep\n", - "from hist.intervals import clopper_pearson_interval\n", - "import math\n", + "from typing import List, Union\n", "\n", "import matplotlib.pyplot as plt\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", + "from hist import Hist\n", + "from hist.intervals import clopper_pearson_interval\n", "\n", "plt.rcParams.update({\"font.size\": 11})\n", "plt.style.use(hep.style.CMS)" @@ -74,7 +74,7 @@ ], "source": [ "year = \"2022EE\"\n", - "data_dir = f\"/eos/uscms/store/user/cmantill/bbbb/trigger_boosted/Aug15/\"\n", + "data_dir = \"/eos/uscms/store/user/cmantill/bbbb/trigger_boosted/Aug15/\"\n", "samples = {\n", " \"data\": [\"Run2022E\", \"Run2022F\", \"Run2022G\"],\n", " \"ttbar\": [\"TTtoLNu2Q\"],\n", diff --git a/src/HH4b/jsmr/jmsr_prototype.ipynb b/src/HH4b/jsmr/jmsr_prototype.ipynb index 6bb934ac..2f599e73 100644 --- a/src/HH4b/jsmr/jmsr_prototype.ipynb +++ b/src/HH4b/jsmr/jmsr_prototype.ipynb @@ -15,16 +15,14 @@ "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "\n", + "from __future__ import annotations\n", "\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", "import vector\n", "\n", - "import HH4b.utils as utils\n", - "import HH4b.plotting as plotting" + "import HH4b.utils as utils" ] }, { @@ -114,7 +112,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] diff --git a/src/HH4b/jsmr/jmsr_prototype_sdmass.ipynb b/src/HH4b/jsmr/jmsr_prototype_sdmass.ipynb index fe81d410..43cbe30c 100644 --- a/src/HH4b/jsmr/jmsr_prototype_sdmass.ipynb +++ b/src/HH4b/jsmr/jmsr_prototype_sdmass.ipynb @@ -15,16 +15,14 @@ "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "\n", + "from __future__ import annotations\n", "\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", "import vector\n", "\n", - "import HH4b.utils as utils\n", - "import HH4b.plotting as plotting" + "import HH4b.utils as utils" ] }, { @@ -114,7 +112,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] diff --git a/src/HH4b/jsmr/jmsr_ratioplot.ipynb b/src/HH4b/jsmr/jmsr_ratioplot.ipynb index 08467586..b63c17de 100644 --- a/src/HH4b/jsmr/jmsr_ratioplot.ipynb +++ b/src/HH4b/jsmr/jmsr_ratioplot.ipynb @@ -15,17 +15,15 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", "import numpy as np\n", "import pandas as pd\n", - "\n", - "\n", - "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import vector\n", "\n", + "import HH4b.plotting as plotting\n", "import HH4b.utils as utils\n", - "from HH4b.utils import ShapeVar\n", - "import HH4b.plotting as plotting" + "from HH4b.utils import ShapeVar" ] }, { @@ -120,7 +118,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] diff --git a/src/HH4b/jsmr/jmsr_templates.ipynb b/src/HH4b/jsmr/jmsr_templates.ipynb index 9903840f..8d4b68e4 100644 --- a/src/HH4b/jsmr/jmsr_templates.ipynb +++ b/src/HH4b/jsmr/jmsr_templates.ipynb @@ -6,29 +6,21 @@ "metadata": {}, "outputs": [], "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "import vector\n", + "from __future__ import annotations\n", + "\n", "import os\n", + "\n", + "import matplotlib.ticker as mticker\n", + "import numpy as np\n", + "import pandas as pd\n", "import uproot\n", - "from xgboost import XGBClassifier\n", "\n", + "import HH4b.plotting as plotting\n", "import HH4b.utils as utils\n", "from HH4b.utils import ShapeVar\n", - "import HH4b.plotting as plotting\n", - "import HH4b.postprocessing as postprocessing\n", - "from HH4b.postprocessing import Region\n", - "\n", - "import hist\n", - "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", - "import matplotlib.ticker as mticker\n", "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", - "formatter.set_powerlimits((-3, 3))\n", - "\n", - "from HH4b.postprocessing import load_columns_legacy\n", - "from HH4b.postprocessing.PostProcess import add_bdt_scores" + "formatter.set_powerlimits((-3, 3))\n" ] }, { @@ -315,7 +307,7 @@ "top_matched = ((has_2_daughter_qs) & (has_1_b))[:, 0]\n", "W_matched = ((has_2_daughter_qs) & (~has_1_b))[:, 0]\n", "W_matched_tight = W_matched & vpt_matched & vmass_matched\n", - "unmatched = ((~has_2_daughter_qs))[:, 0] | (W_matched & ~W_matched_tight)" + "unmatched = (~has_2_daughter_qs)[:, 0] | (W_matched & ~W_matched_tight)" ] }, { @@ -384,7 +376,7 @@ " top_matched = ((has_2_daughter_qs) & (has_1_b))[:, 0]\n", " W_matched = ((has_2_daughter_qs) & (~has_1_b))[:, 0]\n", " W_matched_tight = W_matched & vpt_matched & vmass_matched\n", - " unmatched = ((~has_2_daughter_qs))[:, 0] | (W_matched & ~W_matched_tight)\n", + " unmatched = (~has_2_daughter_qs)[:, 0] | (W_matched & ~W_matched_tight)\n", "\n", " ev_dataframe_dict = {\n", " **ev_dataframe_dict,\n", @@ -570,18 +562,18 @@ " def save_to_file(out_file, hists_pass, hists_fail):\n", " f_out = uproot.recreate(out_file)\n", " var = \"WPNetMass\"\n", - " f_out[f\"data_obs_pass_nominal\"] = hists_pass[var][{\"Sample\": \"data\"}]\n", - " f_out[f\"data_obs_fail_nominal\"] = hists_fail[var][{\"Sample\": \"data\"}]\n", + " f_out[\"data_obs_pass_nominal\"] = hists_pass[var][{\"Sample\": \"data\"}]\n", + " f_out[\"data_obs_fail_nominal\"] = hists_fail[var][{\"Sample\": \"data\"}]\n", "\n", " # matched\n", - " f_out[f\"catp2_pass_nominal\"] = sum(\n", + " f_out[\"catp2_pass_nominal\"] = sum(\n", " [\n", " hists_pass[var][{\"Sample\": sample}]\n", " for sample in hists_pass[var].axes[0]\n", " if sample in [\"W_matched\", \"singletop\"]\n", " ]\n", " )\n", - " f_out[f\"catp2_fail_nominal\"] = sum(\n", + " f_out[\"catp2_fail_nominal\"] = sum(\n", " [\n", " hists_fail[var][{\"Sample\": sample}]\n", " for sample in hists_fail[var].axes[0]\n", @@ -590,14 +582,14 @@ " )\n", "\n", " # unmatched\n", - " f_out[f\"catp1_pass_nominal\"] = sum(\n", + " f_out[\"catp1_pass_nominal\"] = sum(\n", " [\n", " hists_pass[var][{\"Sample\": sample}]\n", " for sample in hists_pass[var].axes[0]\n", " if sample in [\"top_matched\", \"unmatched\", \"diboson\", \"qcd\", \"vjetslnu\"]\n", " ]\n", " )\n", - " f_out[f\"catp1_fail_nominal\"] = sum(\n", + " f_out[\"catp1_fail_nominal\"] = sum(\n", " [\n", " hists_fail[var][{\"Sample\": sample}]\n", " for sample in hists_fail[var].axes[0]\n", diff --git a/src/HH4b/jsmr/jsmr_after_tau21.ipynb b/src/HH4b/jsmr/jsmr_after_tau21.ipynb index 249bc532..420498fa 100644 --- a/src/HH4b/jsmr/jsmr_after_tau21.ipynb +++ b/src/HH4b/jsmr/jsmr_after_tau21.ipynb @@ -15,17 +15,15 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", "import numpy as np\n", "import pandas as pd\n", - "\n", - "\n", - "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import vector\n", "\n", + "import HH4b.plotting as plotting\n", "import HH4b.utils as utils\n", - "from HH4b.utils import ShapeVar\n", - "import HH4b.plotting as plotting" + "from HH4b.utils import ShapeVar" ] }, { @@ -159,7 +157,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] @@ -246,7 +244,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] diff --git a/src/HH4b/jsmr/tau21_wp_sota.ipynb b/src/HH4b/jsmr/tau21_wp_sota.ipynb index b2a7e88d..74e04cfb 100644 --- a/src/HH4b/jsmr/tau21_wp_sota.ipynb +++ b/src/HH4b/jsmr/tau21_wp_sota.ipynb @@ -15,17 +15,16 @@ "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "\n", + "from __future__ import annotations\n", "\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", "import vector\n", "\n", + "import HH4b.plotting as plotting\n", "import HH4b.utils as utils\n", - "from HH4b.utils import ShapeVar\n", - "import HH4b.plotting as plotting" + "from HH4b.utils import ShapeVar" ] }, { @@ -159,7 +158,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] @@ -238,7 +237,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] @@ -264,7 +263,7 @@ " sort_by_fj_pt = np.argsort(fatjets.pt, axis=1)[:, ::-1]\n", " fj_sorted = np.take_along_axis(fatjets, sort_by_fj_pt, axis=1)\n", " leading_fj = fj_sorted[:, 0]\n", - " return events[leading_fj.M > greater_than]" + " return events[greater_than < leading_fj.M]" ] }, { diff --git a/src/HH4b/overlap/EventList.ipynb b/src/HH4b/overlap/EventList.ipynb index 3633724b..0d9b0d4c 100644 --- a/src/HH4b/overlap/EventList.ipynb +++ b/src/HH4b/overlap/EventList.ipynb @@ -7,12 +7,16 @@ "outputs": [], "source": [ "# automatically reloads imported files on edits\n", + "from __future__ import annotations\n", + "\n", "%load_ext autoreload\n", "%autoreload 2\n", "\n", - "import pandas as pd\n", - "import numpy as np\n", "from argparse import Namespace\n", + "\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", "from HH4b.postprocessing.PostProcess import load_process_run3_samples" ] }, @@ -93,8 +97,8 @@ "metadata": {}, "outputs": [], "source": [ - "import uproot\n", "import pandas as pd\n", + "import uproot\n", "\n", "# select columns to extract for eventlist\n", "eventlist_dict = [\"event\", \"bdt_score\", \"bdt_score_vbf\", \"H2TXbb\", \"H2Msd\", \"run\", \"H2PNetMass\"]\n", diff --git a/src/HH4b/overlap/Overlap.ipynb b/src/HH4b/overlap/Overlap.ipynb index d24dd85d..cccf9a92 100644 --- a/src/HH4b/overlap/Overlap.ipynb +++ b/src/HH4b/overlap/Overlap.ipynb @@ -13,14 +13,12 @@ "metadata": {}, "outputs": [], "source": [ - "import uproot\n", - "import pandas as pd\n", - "import numpy as np\n", - "\n", - "from HH4b.utils import load_samples, format_columns\n", + "from __future__ import annotations\n", "\n", - "import xgboost as xgb\n", - "from xgboost import XGBClassifier" + "import numpy as np\n", + "import pandas as pd\n", + "import uproot\n", + "from xgboost import XGBClassifier\n" ] }, { @@ -36,7 +34,6 @@ "hep.style.use([\"CMS\", \"firamath\"])\n", "import matplotlib.ticker as mticker\n", "\n", - "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", "formatter.set_powerlimits((-3, 3))\n", "plt.rcParams.update({\"font.size\": 12})\n", diff --git a/src/HH4b/postprocessing/CombineTemplates.ipynb b/src/HH4b/postprocessing/CombineTemplates.ipynb index 2a4c126c..c82d3b8c 100644 --- a/src/HH4b/postprocessing/CombineTemplates.ipynb +++ b/src/HH4b/postprocessing/CombineTemplates.ipynb @@ -15,18 +15,19 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", "import pickle\n", - "import json\n", + "import warnings\n", "from pathlib import Path\n", + "\n", "import hist\n", - "from hist import Hist\n", - "import warnings\n", "import numpy as np\n", + "from hist import Hist\n", "\n", - "\n", - "from HH4b.hh_vars import jecs, jmsr, bg_keys, sig_keys, LUMI, years\n", - "from HH4b import utils, plotting, postprocessing\n", - "from HH4b.postprocessing import datacardHelpers, Region, weight_shifts" + "from HH4b import plotting, utils\n", + "from HH4b.hh_vars import jecs, jmsr\n", + "from HH4b.postprocessing import Region, weight_shifts" ] }, { @@ -151,7 +152,6 @@ "metadata": {}, "outputs": [], "source": [ - "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as mticker\n", "import mplhep as hep\n", @@ -247,9 +247,8 @@ "metadata": {}, "outputs": [], "source": [ - "from rhalphalib import MorphHistW2\n", - "from HH4b.postprocessing.datacardHelpers import smass, smorph\n", "from HH4b.hh_vars import jmsr_values\n", + "from HH4b.postprocessing.datacardHelpers import smorph\n", "\n", "jms_values = jmsr_values[\"JMS\"]\n", "jmr_values = jmsr_values[\"JMR\"]" diff --git a/src/HH4b/postprocessing/PlotFits.ipynb b/src/HH4b/postprocessing/PlotFits.ipynb index 311e308e..13834e41 100644 --- a/src/HH4b/postprocessing/PlotFits.ipynb +++ b/src/HH4b/postprocessing/PlotFits.ipynb @@ -6,18 +6,18 @@ "metadata": {}, "outputs": [], "source": [ - "import argparse\n", - "import os\n", - "from pathlib import Path\n", + "from __future__ import annotations\n", + "\n", "from collections import OrderedDict\n", + "from pathlib import Path\n", "\n", "import hist\n", "import numpy as np\n", "import uproot\n", "\n", "from HH4b import plotting\n", - "from HH4b.utils import ShapeVar\n", - "from HH4b.hh_vars import data_key" + "from HH4b.hh_vars import data_key\n", + "from HH4b.utils import ShapeVar" ] }, { diff --git a/src/HH4b/postprocessing/PlotFitsSubtracted.ipynb b/src/HH4b/postprocessing/PlotFitsSubtracted.ipynb index 81337867..8f239f36 100644 --- a/src/HH4b/postprocessing/PlotFitsSubtracted.ipynb +++ b/src/HH4b/postprocessing/PlotFitsSubtracted.ipynb @@ -6,16 +6,18 @@ "metadata": {}, "outputs": [], "source": [ - "from pathlib import Path\n", + "from __future__ import annotations\n", + "\n", "from collections import OrderedDict\n", + "from pathlib import Path\n", "\n", "import hist\n", "import numpy as np\n", "import uproot\n", "\n", "from HH4b import plotting\n", - "from HH4b.utils import ShapeVar\n", - "from HH4b.hh_vars import data_key" + "from HH4b.hh_vars import data_key\n", + "from HH4b.utils import ShapeVar" ] }, { diff --git a/src/HH4b/postprocessing/PlotFoM.ipynb b/src/HH4b/postprocessing/PlotFoM.ipynb index b50b2619..34d6db79 100644 --- a/src/HH4b/postprocessing/PlotFoM.ipynb +++ b/src/HH4b/postprocessing/PlotFoM.ipynb @@ -6,8 +6,10 @@ "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", + "from __future__ import annotations\n", + "\n", "import hist\n", + "import numpy as np\n", "\n", "%load_ext autoreload\n", "%autoreload 2" @@ -109,11 +111,9 @@ "metadata": {}, "outputs": [], "source": [ - "import matplotlib.pyplot as plt\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as mticker\n", - "\n", "import mplhep as hep\n", "from tqdm import tqdm\n", "\n", @@ -177,7 +177,7 @@ "outputs": [], "source": [ "plot_dir = \".\"\n", - "name = f\"fom_bin1_abcd_mass105-110\"\n", + "name = \"fom_bin1_abcd_mass105-110\"\n", "plot_fom(h_sb, plot_dir, name=name, fontsize=2.0, show=True, label=\"Fig Of Merit\")\n", "plot_fom(h_b, plot_dir, name=f\"{name}_bkg\", fontsize=2.0, show=True, label=\"Background Pred.\")\n", "plot_fom(h_b_unc, plot_dir, name=f\"{name}_bkgunc\", fontsize=2.0, show=True, label=\"Background Unc.\")\n", diff --git a/src/HH4b/postprocessing/PostProcess.ipynb b/src/HH4b/postprocessing/PostProcess.ipynb index 1c6cd3d2..dc995c5c 100644 --- a/src/HH4b/postprocessing/PostProcess.ipynb +++ b/src/HH4b/postprocessing/PostProcess.ipynb @@ -17,24 +17,24 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", "import os\n", "import pickle\n", - "from HH4b import utils, plotting, postprocessing\n", - "from HH4b.postprocessing import Region, weight_shifts\n", - "from HH4b.utils import ShapeVar, CUT_MAX_VAL\n", - "from HH4b.hh_vars import samples, data_key, bg_keys, sig_keys, LUMI\n", - "\n", + "from copy import deepcopy\n", "from pathlib import Path\n", - "from hist import Hist\n", - "\n", - "import numpy as np\n", - "import pandas as pd\n", "\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", + "from hist import Hist\n", "\n", - "from copy import deepcopy\n", + "from HH4b import plotting, postprocessing, utils\n", + "from HH4b.hh_vars import LUMI, bg_keys, data_key, samples, sig_keys\n", + "from HH4b.postprocessing import Region\n", + "from HH4b.utils import CUT_MAX_VAL, ShapeVar\n", "\n", "plt.style.use(hep.style.CMS)\n", "hep.style.use(\"CMS\")\n", @@ -977,7 +977,6 @@ "source": [ "from sklearn.metrics import roc_curve\n", "\n", - "\n", "bg_skip = 4\n", "sig_key = \"gghtobb\"\n", "bg_keys = [\"qcd\"] # add ttbar too?\n", diff --git a/src/HH4b/postprocessing/PostProcess2018.ipynb b/src/HH4b/postprocessing/PostProcess2018.ipynb index c989fcf1..afd246b3 100644 --- a/src/HH4b/postprocessing/PostProcess2018.ipynb +++ b/src/HH4b/postprocessing/PostProcess2018.ipynb @@ -17,20 +17,21 @@ "metadata": {}, "outputs": [], "source": [ - "import os\n", - "from HH4b import utils, plotting, postprocessing\n", - "from HH4b.postprocessing import Region, weight_shifts\n", - "from HH4b.utils import ShapeVar, CUT_MAX_VAL\n", - "from HH4b.hh_vars import data_key, bg_keys, sig_keys, LUMI\n", + "from __future__ import annotations\n", "\n", - "import numpy as np\n", - "import pandas as pd\n", + "import os\n", + "from copy import deepcopy\n", "\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", "\n", - "from copy import deepcopy\n", + "from HH4b import plotting, postprocessing, utils\n", + "from HH4b.hh_vars import LUMI, bg_keys, data_key, sig_keys\n", + "from HH4b.postprocessing import Region\n", + "from HH4b.utils import CUT_MAX_VAL, ShapeVar\n", "\n", "plt.style.use(hep.style.CMS)\n", "hep.style.use(\"CMS\")\n", @@ -1201,8 +1202,8 @@ "metadata": {}, "outputs": [], "source": [ + "\n", "import vector\n", - "import itertools\n", "\n", "vector.register_awkward()\n", "\n", @@ -1708,8 +1709,8 @@ "source": [ "import hist\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", "\n", "hep.style.use([\"CMS\", \"firamath\"])\n", "\n", diff --git a/src/HH4b/postprocessing/PostProcess_TTbar.ipynb b/src/HH4b/postprocessing/PostProcess_TTbar.ipynb index e5c2a309..358ac1a3 100644 --- a/src/HH4b/postprocessing/PostProcess_TTbar.ipynb +++ b/src/HH4b/postprocessing/PostProcess_TTbar.ipynb @@ -17,24 +17,24 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", "import os\n", "import pickle\n", - "from HH4b import utils, plotting, postprocessing\n", - "from HH4b.postprocessing import Region, weight_shifts\n", - "from HH4b.utils import ShapeVar, CUT_MAX_VAL\n", - "from HH4b.hh_vars import samples, data_key, bg_keys, sig_keys, LUMI\n", - "\n", + "from copy import deepcopy\n", "from pathlib import Path\n", - "from hist import Hist\n", - "\n", - "import numpy as np\n", - "import pandas as pd\n", "\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", + "from hist import Hist\n", "\n", - "from copy import deepcopy\n", + "from HH4b import plotting, postprocessing, utils\n", + "from HH4b.hh_vars import LUMI, bg_keys, data_key, samples, sig_keys\n", + "from HH4b.postprocessing import Region\n", + "from HH4b.utils import CUT_MAX_VAL, ShapeVar\n", "\n", "plt.style.use(hep.style.CMS)\n", "hep.style.use(\"CMS\")\n", @@ -1525,7 +1525,6 @@ "source": [ "from sklearn.metrics import roc_curve\n", "\n", - "\n", "bg_skip = 4\n", "sig_key = \"gghtobb\"\n", "bg_keys = [\"qcd\"] # add ttbar too?\n", diff --git a/src/HH4b/postprocessing/PostProcess_TTbarSFs.ipynb b/src/HH4b/postprocessing/PostProcess_TTbarSFs.ipynb index 65e2137b..6cf236d8 100644 --- a/src/HH4b/postprocessing/PostProcess_TTbarSFs.ipynb +++ b/src/HH4b/postprocessing/PostProcess_TTbarSFs.ipynb @@ -17,24 +17,21 @@ "metadata": {}, "outputs": [], "source": [ - "import os\n", - "import pickle\n", - "from HH4b import utils, plotting, postprocessing\n", - "from HH4b.postprocessing import Region, weight_shifts\n", - "from HH4b.utils import ShapeVar, CUT_MAX_VAL\n", - "from HH4b.hh_vars import samples, data_key, bg_keys, sig_keys, LUMI\n", + "from __future__ import annotations\n", "\n", + "import os\n", + "from copy import deepcopy\n", "from pathlib import Path\n", - "from hist import Hist\n", - "\n", - "import numpy as np\n", - "import pandas as pd\n", "\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", "\n", - "from copy import deepcopy\n", + "from HH4b import plotting, utils\n", + "from HH4b.hh_vars import bg_keys, data_key, samples, sig_keys\n", + "from HH4b.utils import ShapeVar\n", "\n", "plt.style.use(hep.style.CMS)\n", "hep.style.use(\"CMS\")\n", diff --git a/src/HH4b/processors/GenSelection.ipynb b/src/HH4b/processors/GenSelection.ipynb index 236086d1..e3b3781e 100644 --- a/src/HH4b/processors/GenSelection.ipynb +++ b/src/HH4b/processors/GenSelection.ipynb @@ -6,33 +6,22 @@ "metadata": {}, "outputs": [], "source": [ - "import uproot\n", + "from __future__ import annotations\n", + "\n", "import awkward as ak\n", "from coffea import nanoevents\n", - "from coffea.nanoevents.methods.base import NanoEventsArray\n", - "from coffea.analysis_tools import Weights, PackedSelection\n", - "from coffea.nanoevents.methods import nanoaod\n", + "from coffea.analysis_tools import PackedSelection\n", "from coffea.nanoevents.methods import vector\n", - "from coffea.lookup_tools.dense_lookup import dense_lookup\n", "\n", "ak.behavior.update(vector.behavior)\n", "\n", - "import pickle, json, gzip\n", - "import numpy as np\n", - "\n", - "from typing import Optional, List, Dict\n", - "from copy import copy\n", + "import os\n", + "import pickle\n", "\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", - "from matplotlib import colors\n", - "\n", - "from tqdm import tqdm\n", - "\n", - "import os\n", + "import numpy as np\n", "\n", "# import corrections\n", - "import correctionlib\n", "\n", "# import utils" ] diff --git a/src/HH4b/semiboosted/CategorizeRecoByGen.ipynb b/src/HH4b/semiboosted/CategorizeRecoByGen.ipynb index 53b6eac8..1bfa7925 100644 --- a/src/HH4b/semiboosted/CategorizeRecoByGen.ipynb +++ b/src/HH4b/semiboosted/CategorizeRecoByGen.ipynb @@ -16,16 +16,14 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", + "import hist\n", "import numpy as np\n", "import pandas as pd\n", "import vector\n", - "import os\n", - "import hist\n", - "import awkward as ak\n", "\n", - "vector.register_awkward()\n", - "\n", - "from itertools import permutations" + "vector.register_awkward()\n" ] }, { @@ -37,10 +35,10 @@ "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as mticker\n", - "from matplotlib.lines import Line2D\n", "\n", "# mplhep for CMS-style plots\n", "import mplhep as hep\n", + "from matplotlib.lines import Line2D\n", "\n", "plt.style.use(hep.style.CMS)\n", "hep.style.use(\"CMS\")\n", diff --git a/src/HH4b/semiboosted/Matching efficiency.ipynb b/src/HH4b/semiboosted/Matching efficiency.ipynb index 161b1f92..0ac19a1a 100644 --- a/src/HH4b/semiboosted/Matching efficiency.ipynb +++ b/src/HH4b/semiboosted/Matching efficiency.ipynb @@ -7,11 +7,13 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", + "import os\n", + "\n", "import numpy as np\n", "import pandas as pd\n", "import vector\n", - "import os\n", - "import awkward as ak\n", "\n", "vector.register_awkward()" ] @@ -23,12 +25,12 @@ "metadata": {}, "outputs": [], "source": [ + "import hist\n", "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as mticker\n", "\n", "# mplhep for CMS-style plots\n", "import mplhep as hep\n", - "import hist\n", "from coffea.hist.plot import clopper_pearson_interval\n", "\n", "plt.style.use(hep.style.CMS)\n", diff --git a/src/HH4b/semiboosted/MatchingEfficiency.ipynb b/src/HH4b/semiboosted/MatchingEfficiency.ipynb index 3eb47baa..fecf57e9 100644 --- a/src/HH4b/semiboosted/MatchingEfficiency.ipynb +++ b/src/HH4b/semiboosted/MatchingEfficiency.ipynb @@ -7,11 +7,13 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", + "import os\n", + "\n", "import numpy as np\n", "import pandas as pd\n", "import vector\n", - "import os\n", - "import awkward as ak\n", "\n", "vector.register_awkward()" ] @@ -23,12 +25,12 @@ "metadata": {}, "outputs": [], "source": [ + "import hist\n", "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as mticker\n", "\n", "# mplhep for CMS-style plots\n", "import mplhep as hep\n", - "import hist\n", "from coffea.hist.plot import clopper_pearson_interval\n", "\n", "plt.style.use(hep.style.CMS)\n", diff --git a/src/HH4b/semiboosted/MatchingYields.ipynb b/src/HH4b/semiboosted/MatchingYields.ipynb index aa75268f..4f5e44b1 100644 --- a/src/HH4b/semiboosted/MatchingYields.ipynb +++ b/src/HH4b/semiboosted/MatchingYields.ipynb @@ -6,12 +6,13 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", + "import awkward as ak\n", + "import hist\n", "import numpy as np\n", "import pandas as pd\n", "import vector\n", - "import os\n", - "import hist\n", - "import awkward as ak\n", "\n", "vector.register_awkward()" ] diff --git a/src/HH4b/semiboosted/MatchingYields_Billy.ipynb b/src/HH4b/semiboosted/MatchingYields_Billy.ipynb index d34bdfa7..68d9e41e 100644 --- a/src/HH4b/semiboosted/MatchingYields_Billy.ipynb +++ b/src/HH4b/semiboosted/MatchingYields_Billy.ipynb @@ -6,16 +6,15 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", + "import awkward as ak\n", + "import hist\n", "import numpy as np\n", "import pandas as pd\n", "import vector\n", - "import os\n", - "import hist\n", - "import awkward as ak\n", - "\n", - "vector.register_awkward()\n", "\n", - "from itertools import permutations" + "vector.register_awkward()\n" ] }, { diff --git a/src/HH4b/semiboosted/MatchingYields_Oct3.ipynb b/src/HH4b/semiboosted/MatchingYields_Oct3.ipynb index 7d2f5025..4fe65d60 100644 --- a/src/HH4b/semiboosted/MatchingYields_Oct3.ipynb +++ b/src/HH4b/semiboosted/MatchingYields_Oct3.ipynb @@ -6,12 +6,13 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", + "import awkward as ak\n", + "import hist\n", "import numpy as np\n", "import pandas as pd\n", "import vector\n", - "import os\n", - "import hist\n", - "import awkward as ak\n", "\n", "vector.register_awkward()" ] @@ -33,13 +34,13 @@ "metadata": {}, "outputs": [], "source": [ + "import matplotlib.patches as mpatches\n", "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as mticker\n", - "from matplotlib.lines import Line2D\n", - "import matplotlib.patches as mpatches\n", "\n", "# mplhep for CMS-style plots\n", "import mplhep as hep\n", + "from matplotlib.lines import Line2D\n", "\n", "plt.style.use(hep.style.CMS)\n", "hep.style.use(\"CMS\")\n", diff --git a/src/HH4b/semiboosted/PairingDeltaR.ipynb b/src/HH4b/semiboosted/PairingDeltaR.ipynb index 61d90dbe..89d4bcd2 100644 --- a/src/HH4b/semiboosted/PairingDeltaR.ipynb +++ b/src/HH4b/semiboosted/PairingDeltaR.ipynb @@ -24,14 +24,13 @@ "outputs": [], "source": [ "# import utilities for post-process\n", - "import utils\n", - "import numpy as np\n", + "from __future__ import annotations\n", "\n", - "import matplotlib.pyplot as plt\n", "import hist\n", - "import mplhep\n", - "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", "import pandas as pd\n", + "import utils\n", "import vector" ] }, diff --git a/src/HH4b/semiboosted/PairingEfficiency.ipynb b/src/HH4b/semiboosted/PairingEfficiency.ipynb index a08387af..4a41949f 100644 --- a/src/HH4b/semiboosted/PairingEfficiency.ipynb +++ b/src/HH4b/semiboosted/PairingEfficiency.ipynb @@ -6,9 +6,10 @@ "metadata": {}, "outputs": [], "source": [ - "import mplhep\n", - "import matplotlib.pyplot as plt\n", + "from __future__ import annotations\n", + "\n", "import hist\n", + "import matplotlib.pyplot as plt\n", "import mplhep\n", "\n", "mplhep.style.use([\"CMS\", \"fira\", \"firamath\"])\n", @@ -30,10 +31,10 @@ "\n", "sys.path.append(\"..\")\n", "\n", - "import utils\n", - "import vector\n", + "import numpy as np\n", "import pandas as pd\n", - "import numpy as np" + "import utils\n", + "import vector" ] }, { @@ -80,7 +81,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] @@ -536,10 +537,10 @@ "h.fill(btag=b_outside[:, 3], jet=\"3\")\n", "\n", "fig, ax = plt.subplots(figsize=(8, 8))\n", - "h[{\"jet\": \"0\"}].plot1d(label=f\"AK4 b-0\", ax=ax, density=True, flow=\"none\")\n", - "h[{\"jet\": \"1\"}].plot1d(label=f\"AK4 b-1\", ax=ax, density=True, flow=\"none\")\n", - "h[{\"jet\": \"2\"}].plot1d(label=f\"AK4 b-2\", ax=ax, density=True, flow=\"none\")\n", - "h[{\"jet\": \"3\"}].plot1d(label=f\"AK4 b-3\", ax=ax, density=True, flow=\"none\")\n", + "h[{\"jet\": \"0\"}].plot1d(label=\"AK4 b-0\", ax=ax, density=True, flow=\"none\")\n", + "h[{\"jet\": \"1\"}].plot1d(label=\"AK4 b-1\", ax=ax, density=True, flow=\"none\")\n", + "h[{\"jet\": \"2\"}].plot1d(label=\"AK4 b-2\", ax=ax, density=True, flow=\"none\")\n", + "h[{\"jet\": \"3\"}].plot1d(label=\"AK4 b-3\", ax=ax, density=True, flow=\"none\")\n", "ax.legend(title=\"Jets outside fJ\")" ] }, @@ -801,8 +802,8 @@ "h.fill(btag=b_1, jet=\"1\")\n", "\n", "fig, ax = plt.subplots(figsize=(8, 8))\n", - "h[{\"jet\": \"0\"}].plot1d(label=f\"AK4 b-0\", ax=ax)\n", - "h[{\"jet\": \"1\"}].plot1d(label=f\"AK4 b-1\", ax=ax)\n", + "h[{\"jet\": \"0\"}].plot1d(label=\"AK4 b-0\", ax=ax)\n", + "h[{\"jet\": \"1\"}].plot1d(label=\"AK4 b-1\", ax=ax)\n", "ax.legend(title=\"Jets outside fJ\")" ] }, @@ -1033,38 +1034,38 @@ " h_fj.fill(dijet_mass=fatjet.mass, pair=\"bb\", sample_name=key)\n", "\n", "fig, ax = plt.subplots(figsize=(8, 8))\n", - "h[{\"pair\": \"b\", \"sample_name\": \"hh4b\"}].plot1d(label=f\"cHHH=1\", ax=ax, flow=\"none\")\n", - "h[{\"pair\": \"b\", \"sample_name\": \"hh4b-c2p45\"}].plot1d(label=f\"cHHH=2.45\", ax=ax, flow=\"none\")\n", - "h[{\"pair\": \"b\", \"sample_name\": \"hh4b-c5\"}].plot1d(label=f\"cHHH=5\", ax=ax, flow=\"none\")\n", - "h[{\"pair\": \"b\", \"sample_name\": \"hh4b-c0\"}].plot1d(label=f\"cHHH=0\", ax=ax, flow=\"none\")\n", + "h[{\"pair\": \"b\", \"sample_name\": \"hh4b\"}].plot1d(label=\"cHHH=1\", ax=ax, flow=\"none\")\n", + "h[{\"pair\": \"b\", \"sample_name\": \"hh4b-c2p45\"}].plot1d(label=\"cHHH=2.45\", ax=ax, flow=\"none\")\n", + "h[{\"pair\": \"b\", \"sample_name\": \"hh4b-c5\"}].plot1d(label=\"cHHH=5\", ax=ax, flow=\"none\")\n", + "h[{\"pair\": \"b\", \"sample_name\": \"hh4b-c0\"}].plot1d(label=\"cHHH=0\", ax=ax, flow=\"none\")\n", "ax.legend(title=\"Pairing (b)\")\n", "\n", "fig, ax = plt.subplots(figsize=(8, 8))\n", - "h[{\"pair\": \"dhh\", \"sample_name\": \"hh4b\"}].plot1d(label=f\"cHHH=1\", ax=ax, flow=\"none\")\n", - "h[{\"pair\": \"dhh\", \"sample_name\": \"hh4b-c2p45\"}].plot1d(label=f\"cHHH=2.45\", ax=ax, flow=\"none\")\n", - "h[{\"pair\": \"dhh\", \"sample_name\": \"hh4b-c5\"}].plot1d(label=f\"cHHH=5\", ax=ax, flow=\"none\")\n", - "h[{\"pair\": \"dhh\", \"sample_name\": \"hh4b-c0\"}].plot1d(label=f\"cHHH=0\", ax=ax, flow=\"none\")\n", + "h[{\"pair\": \"dhh\", \"sample_name\": \"hh4b\"}].plot1d(label=\"cHHH=1\", ax=ax, flow=\"none\")\n", + "h[{\"pair\": \"dhh\", \"sample_name\": \"hh4b-c2p45\"}].plot1d(label=\"cHHH=2.45\", ax=ax, flow=\"none\")\n", + "h[{\"pair\": \"dhh\", \"sample_name\": \"hh4b-c5\"}].plot1d(label=\"cHHH=5\", ax=ax, flow=\"none\")\n", + "h[{\"pair\": \"dhh\", \"sample_name\": \"hh4b-c0\"}].plot1d(label=\"cHHH=0\", ax=ax, flow=\"none\")\n", "ax.legend(title=\"Pairing (dhh)\")\n", "\n", "fig, ax = plt.subplots(figsize=(8, 8))\n", - "h[{\"pair\": \"chi2\", \"sample_name\": \"hh4b\"}].plot1d(label=f\"cHHH=1\", ax=ax, flow=\"none\")\n", - "h[{\"pair\": \"chi2\", \"sample_name\": \"hh4b-c2p45\"}].plot1d(label=f\"cHHH=2.45\", ax=ax, flow=\"none\")\n", - "h[{\"pair\": \"chi2\", \"sample_name\": \"hh4b-c5\"}].plot1d(label=f\"cHHH=5\", ax=ax, flow=\"none\")\n", - "h[{\"pair\": \"chi2\", \"sample_name\": \"hh4b-c0\"}].plot1d(label=f\"cHHH=0\", ax=ax, flow=\"none\")\n", + "h[{\"pair\": \"chi2\", \"sample_name\": \"hh4b\"}].plot1d(label=\"cHHH=1\", ax=ax, flow=\"none\")\n", + "h[{\"pair\": \"chi2\", \"sample_name\": \"hh4b-c2p45\"}].plot1d(label=\"cHHH=2.45\", ax=ax, flow=\"none\")\n", + "h[{\"pair\": \"chi2\", \"sample_name\": \"hh4b-c5\"}].plot1d(label=\"cHHH=5\", ax=ax, flow=\"none\")\n", + "h[{\"pair\": \"chi2\", \"sample_name\": \"hh4b-c0\"}].plot1d(label=\"cHHH=0\", ax=ax, flow=\"none\")\n", "ax.legend(title=\"Pairing (chi2)\")\n", "\n", "fig, ax = plt.subplots(figsize=(8, 8))\n", - "h_fj[{\"pair\": \"bb\", \"sample_name\": \"hh4b\"}].plot1d(label=f\"cHHH=1\", ax=ax, flow=\"none\")\n", - "h_fj[{\"pair\": \"bb\", \"sample_name\": \"hh4b-c2p45\"}].plot1d(label=f\"cHHH=2.45\", ax=ax, flow=\"none\")\n", - "h_fj[{\"pair\": \"bb\", \"sample_name\": \"hh4b-c5\"}].plot1d(label=f\"cHHH=5\", ax=ax, flow=\"none\")\n", - "h_fj[{\"pair\": \"bb\", \"sample_name\": \"hh4b-c0\"}].plot1d(label=f\"cHHH=0\", ax=ax, flow=\"none\")\n", + "h_fj[{\"pair\": \"bb\", \"sample_name\": \"hh4b\"}].plot1d(label=\"cHHH=1\", ax=ax, flow=\"none\")\n", + "h_fj[{\"pair\": \"bb\", \"sample_name\": \"hh4b-c2p45\"}].plot1d(label=\"cHHH=2.45\", ax=ax, flow=\"none\")\n", + "h_fj[{\"pair\": \"bb\", \"sample_name\": \"hh4b-c5\"}].plot1d(label=\"cHHH=5\", ax=ax, flow=\"none\")\n", + "h_fj[{\"pair\": \"bb\", \"sample_name\": \"hh4b-c0\"}].plot1d(label=\"cHHH=0\", ax=ax, flow=\"none\")\n", "ax.legend(title=\"FatJet\")\n", "\n", "fig, ax = plt.subplots(figsize=(8, 8))\n", - "h_hh[{\"pair\": \"b\", \"sample_name\": \"hh4b\"}].plot1d(label=f\"cHHH=1\", ax=ax, flow=\"none\")\n", - "h_hh[{\"pair\": \"b\", \"sample_name\": \"hh4b-c2p45\"}].plot1d(label=f\"cHHH=2.45\", ax=ax, flow=\"none\")\n", - "h_hh[{\"pair\": \"b\", \"sample_name\": \"hh4b-c5\"}].plot1d(label=f\"cHHH=5\", ax=ax, flow=\"none\")\n", - "h_hh[{\"pair\": \"b\", \"sample_name\": \"hh4b-c0\"}].plot1d(label=f\"cHHH=0\", ax=ax, flow=\"none\")\n", + "h_hh[{\"pair\": \"b\", \"sample_name\": \"hh4b\"}].plot1d(label=\"cHHH=1\", ax=ax, flow=\"none\")\n", + "h_hh[{\"pair\": \"b\", \"sample_name\": \"hh4b-c2p45\"}].plot1d(label=\"cHHH=2.45\", ax=ax, flow=\"none\")\n", + "h_hh[{\"pair\": \"b\", \"sample_name\": \"hh4b-c5\"}].plot1d(label=\"cHHH=5\", ax=ax, flow=\"none\")\n", + "h_hh[{\"pair\": \"b\", \"sample_name\": \"hh4b-c0\"}].plot1d(label=\"cHHH=0\", ax=ax, flow=\"none\")\n", "ax.legend(title=\"Pairing (b)\")" ] }, @@ -1132,7 +1133,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] @@ -1171,9 +1172,9 @@ "outputs": [], "source": [ "fig, ax = plt.subplots(figsize=(8, 8))\n", - "h[{\"pair\": \"b\", \"sample_name\": \"qcd\"}].plot1d(label=f\"QCD bb\", ax=ax, flow=\"none\")\n", - "h[{\"pair\": \"chi2\", \"sample_name\": \"qcd\"}].plot1d(label=f\"QCD chi2\", ax=ax, flow=\"none\")\n", - "h[{\"pair\": \"dhh\", \"sample_name\": \"qcd\"}].plot1d(label=f\"QCD dhh\", ax=ax, flow=\"none\")\n", + "h[{\"pair\": \"b\", \"sample_name\": \"qcd\"}].plot1d(label=\"QCD bb\", ax=ax, flow=\"none\")\n", + "h[{\"pair\": \"chi2\", \"sample_name\": \"qcd\"}].plot1d(label=\"QCD chi2\", ax=ax, flow=\"none\")\n", + "h[{\"pair\": \"dhh\", \"sample_name\": \"qcd\"}].plot1d(label=\"QCD dhh\", ax=ax, flow=\"none\")\n", "ax.legend(title=\"QCD\")" ] } diff --git a/src/HH4b/semiboosted/PairingStudy.ipynb b/src/HH4b/semiboosted/PairingStudy.ipynb index 55f39bfe..ae90eb13 100644 --- a/src/HH4b/semiboosted/PairingStudy.ipynb +++ b/src/HH4b/semiboosted/PairingStudy.ipynb @@ -6,9 +6,11 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", "import awkward as ak\n", "import numpy as np\n", - "from coffea.nanoevents import NanoEventsFactory, NanoAODSchema" + "from coffea.nanoevents import NanoAODSchema, NanoEventsFactory" ] }, { @@ -17,11 +19,10 @@ "metadata": {}, "outputs": [], "source": [ - "import mplhep\n", - "import matplotlib.pyplot as plt\n", "import hist\n", - "import mplhep\n", "import matplotlib as mpl\n", + "import matplotlib.pyplot as plt\n", + "import mplhep\n", "\n", "mpl.rcParams[\"lines.linewidth\"] = 2\n", "mpl.rcParams[\"grid.color\"] = \"#CCCCCC\"\n", @@ -81,7 +82,6 @@ "from processors.objects import *\n", "from processors.utils import P4, pad_val\n", "\n", - "\n", "year = \"2018\"\n", "isData = not hasattr(events, \"genWeight\")\n", "\n", @@ -127,9 +127,10 @@ "metadata": {}, "outputs": [], "source": [ - "import vector\n", "import itertools\n", "\n", + "import vector\n", + "\n", "vector.register_awkward()\n", "\n", "method = \"dhh\"\n", @@ -251,8 +252,8 @@ "metadata": {}, "outputs": [], "source": [ - "import matplotlib.pyplot as plt\n", "import hist\n", + "import matplotlib.pyplot as plt\n", "\n", "dijet_mass_axis = hist.axis.Regular(20, 60, 200, name=\"dijet_mass\", label=\"Dijet Mass [GeV]\")\n", "pair_axis = hist.axis.StrCategory([], name=\"pair\", growth=True)\n", @@ -376,7 +377,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] diff --git a/src/HH4b/semiboosted/PostProcessSemiBoosted.ipynb b/src/HH4b/semiboosted/PostProcessSemiBoosted.ipynb index 1ad9ddc6..ef124bb0 100644 --- a/src/HH4b/semiboosted/PostProcessSemiBoosted.ipynb +++ b/src/HH4b/semiboosted/PostProcessSemiBoosted.ipynb @@ -13,20 +13,21 @@ "metadata": {}, "outputs": [], "source": [ - "import os\n", - "from HH4b import utils, plotting, postprocessing\n", - "from HH4b.postprocessing import Region, weight_shifts\n", - "from HH4b.utils import ShapeVar, CUT_MAX_VAL\n", - "from HH4b.hh_vars import samples, data_key, bg_keys, sig_keys, LUMI\n", + "from __future__ import annotations\n", "\n", - "import numpy as np\n", - "import pandas as pd\n", + "import os\n", + "from copy import deepcopy\n", "\n", "import matplotlib.pyplot as plt\n", - "import mplhep as hep\n", "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", + "import numpy as np\n", + "import pandas as pd\n", "\n", - "from copy import deepcopy\n", + "from HH4b import plotting, postprocessing, utils\n", + "from HH4b.hh_vars import bg_keys, samples\n", + "from HH4b.postprocessing import Region\n", + "from HH4b.utils import CUT_MAX_VAL, ShapeVar\n", "\n", "plt.style.use(hep.style.CMS)\n", "hep.style.use(\"CMS\")\n", @@ -261,6 +262,7 @@ "\n", "import hist\n", "from matplotlib.lines import Line2D\n", + "\n", "from HH4b.plotting import color_by_sample\n", "\n", "color_by_sample[\"qcd\"] = \"orange\"\n", @@ -422,7 +424,7 @@ " \"nbjetsDT\": nbjets_deepjet_tight,\n", " }\n", "\n", - " for var in hists.keys():\n", + " for var in hists:\n", " hists[var].fill(vars[var], key)" ] }, @@ -457,7 +459,7 @@ "\n", "_ = os.system(f\"mkdir -p {plot_dir}/{sel_dir}\")\n", "\n", - "for var in hists.keys():\n", + "for var in hists:\n", " fig, ax = plt.subplots(1, 1, figsize=(6, 4))\n", " legend_elements = []\n", " for key in sample_keys:\n", diff --git a/src/HH4b/semiboosted/ReconstructibleHiggs.ipynb b/src/HH4b/semiboosted/ReconstructibleHiggs.ipynb index 7687856c..e5f70ce1 100644 --- a/src/HH4b/semiboosted/ReconstructibleHiggs.ipynb +++ b/src/HH4b/semiboosted/ReconstructibleHiggs.ipynb @@ -6,6 +6,8 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", "import sys\n", "\n", "sys.path.append(\"..\")\n", @@ -19,11 +21,11 @@ "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", "import hist\n", - "import mplhep\n", "import matplotlib as mpl\n", + "import matplotlib.pyplot as plt\n", + "import mplhep\n", + "import numpy as np\n", "\n", "mpl.rcParams[\"lines.linewidth\"] = 2\n", "mpl.rcParams[\"grid.color\"] = \"#CCCCCC\"\n", @@ -66,7 +68,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] diff --git a/src/HH4b/semiboosted/SPANetSemiBoosted.ipynb b/src/HH4b/semiboosted/SPANetSemiBoosted.ipynb index 8a8b735a..de621580 100644 --- a/src/HH4b/semiboosted/SPANetSemiBoosted.ipynb +++ b/src/HH4b/semiboosted/SPANetSemiBoosted.ipynb @@ -7,6 +7,8 @@ "outputs": [], "source": [ "# automatically reloads imported files on edits\n", + "from __future__ import annotations\n", + "\n", "%load_ext autoreload\n", "%autoreload 2" ] @@ -17,14 +19,15 @@ "metadata": {}, "outputs": [], "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "import vector\n", + "import math\n", "import os\n", "from copy import deepcopy\n", - "from HH4b.matching_study import predict_spanet_hhh\n", + "\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", "from HH4b import utils\n", - "import math" + "from HH4b.matching_study import predict_spanet_hhh" ] }, { @@ -33,13 +36,12 @@ "metadata": {}, "outputs": [], "source": [ - "import mplhep as hep\n", - "import matplotlib.ticker as mticker\n", + "import hist\n", "import matplotlib.pyplot as plt\n", + "import matplotlib.ticker as mticker\n", + "import mplhep as hep\n", "from matplotlib.lines import Line2D\n", "\n", - "import hist\n", - "\n", "hep.style.use([\"CMS\", \"firamath\"])\n", "\n", "formatter = mticker.ScalarFormatter(useMathText=True)\n", @@ -480,7 +482,7 @@ "for i, sample in enumerate([\"hh4b\", \"hh4b-pt300-m50\"]):\n", " for j, prob in enumerate(color_by_class.keys()):\n", " legend_elements = []\n", - " for key in linestyle_by_class.keys():\n", + " for key in linestyle_by_class:\n", " hep.histplot(\n", " h[{\"higgs\": key, \"prob\": prob, \"sample\": sample}],\n", " density=True,\n", @@ -566,7 +568,7 @@ " \"0bh1h\": \"black\",\n", " \"0bh0h\": \"black\",\n", "}\n", - "for key in color_by_prob.keys():\n", + "for key in color_by_prob:\n", " hep.histplot(\n", " h[{\"class\": key}],\n", " density=True,\n", diff --git a/src/HH4b/semiboosted/SemiBoostedVariables.ipynb b/src/HH4b/semiboosted/SemiBoostedVariables.ipynb index fbdc87fc..61941da5 100644 --- a/src/HH4b/semiboosted/SemiBoostedVariables.ipynb +++ b/src/HH4b/semiboosted/SemiBoostedVariables.ipynb @@ -6,10 +6,8 @@ "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "import hist\n", - "import mplhep\n", + "from __future__ import annotations\n", + "\n", "import matplotlib as mpl\n", "\n", "mpl.rcParams[\"lines.linewidth\"] = 2\n", @@ -17,11 +15,11 @@ "mpl.rcParams[\"grid.linewidth\"] = 0.5\n", "mpl.rcParams[\"figure.edgecolor\"] = \"none\"\n", "\n", + "import sys\n", + "\n", "import pandas as pd\n", "import vector\n", "\n", - "import sys\n", - "\n", "sys.path.append(\"..\")\n", "\n", "import utils" @@ -125,7 +123,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] diff --git a/src/HH4b/semiboosted/TriggerEfficiency.ipynb b/src/HH4b/semiboosted/TriggerEfficiency.ipynb index bc3b1c50..ef5a47cb 100644 --- a/src/HH4b/semiboosted/TriggerEfficiency.ipynb +++ b/src/HH4b/semiboosted/TriggerEfficiency.ipynb @@ -6,8 +6,10 @@ "metadata": {}, "outputs": [], "source": [ - "import matplotlib.pyplot as plt\n", + "from __future__ import annotations\n", + "\n", "import hist\n", + "import matplotlib.pyplot as plt\n", "import mplhep\n", "\n", "mplhep.style.use([\"CMS\", \"fira\", \"firamath\"])\n", @@ -22,10 +24,11 @@ "\n", "sys.path.append(\"..\")\n", "\n", - "from HH4b import utils\n", - "import vector\n", + "import numpy as np\n", "import pandas as pd\n", - "import numpy as np" + "import vector\n", + "\n", + "from HH4b import utils" ] }, { @@ -56,7 +59,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] @@ -394,7 +397,7 @@ "\n", "samples_loaded = list(events_dict.keys())\n", "keys_loaded = list(events_dict[samples_loaded[0]].keys())\n", - "print(f\"Keys in events_dict\")\n", + "print(\"Keys in events_dict\")\n", "for i in keys_loaded:\n", " print(i)" ] diff --git a/src/HH4b/semiboosted/TruthStudy.ipynb b/src/HH4b/semiboosted/TruthStudy.ipynb index ea3a1f8a..0b75e962 100644 --- a/src/HH4b/semiboosted/TruthStudy.ipynb +++ b/src/HH4b/semiboosted/TruthStudy.ipynb @@ -6,11 +6,13 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", + "import os\n", + "\n", "import numpy as np\n", "import pandas as pd\n", "import vector\n", - "import os\n", - "import awkward as ak\n", "\n", "vector.register_awkward()" ] @@ -21,12 +23,12 @@ "metadata": {}, "outputs": [], "source": [ + "import hist\n", "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as mticker\n", "\n", "# mplhep for CMS-style plots\n", "import mplhep as hep\n", - "import hist\n", "from coffea.hist.plot import clopper_pearson_interval\n", "\n", "plt.style.use(hep.style.CMS)\n", @@ -170,13 +172,13 @@ "outputs": [], "source": [ "# plot Higgs pT\n", - "plot_higgs_hist(gen_higgs.pt, np.linspace(0, 800, 26), rf\"Higgs $p_T$ (GeV)\", \"higgspt\")\n", + "plot_higgs_hist(gen_higgs.pt, np.linspace(0, 800, 26), r\"Higgs $p_T$ (GeV)\", \"higgspt\")\n", "# plot Higgs-b-quark dR\n", "plot_higgs_hist(\n", - " bh_dR, np.linspace(0, 2, 26), rf\"$\\Delta R$ between Higgs and daughter $b$-quarks\", \"bh_dR\"\n", + " bh_dR, np.linspace(0, 2, 26), r\"$\\Delta R$ between Higgs and daughter $b$-quarks\", \"bh_dR\"\n", ")\n", "# plot Higgs-b-quark dR\n", - "plot_higgs_hist(bs_dR, np.linspace(0, 4, 26), rf\"$\\Delta R$ between daughter $b$-quarks\", \"bs_dR\")" + "plot_higgs_hist(bs_dR, np.linspace(0, 4, 26), r\"$\\Delta R$ between daughter $b$-quarks\", \"bs_dR\")" ] }, { @@ -233,8 +235,8 @@ " x_vals=gen_higgs.pt,\n", " y_vals=bs_dR,\n", " bins=[np.linspace(0, 800, 26), np.linspace(0, 4, 26)],\n", - " x_label=rf\"Higgs $p_T$ (GeV)\",\n", - " y_label=rf\"$\\Delta R$ between daughter $b$-quarks\",\n", + " x_label=r\"Higgs $p_T$ (GeV)\",\n", + " y_label=r\"$\\Delta R$ between daughter $b$-quarks\",\n", " filename=\"bs_DR_vs_higgspt\",\n", ")" ] @@ -314,13 +316,13 @@ " fj_mwh2.pt.reshape(-1),\n", " (20, 20),\n", ")\n", - "ax[0].set_xlabel(rf\"Matched AK8Jet $p_T$ (GeV)\")\n", - "ax[0].set_ylabel(rf\"Matched Higgs $p_T$ (GeV)\")\n", - "ax[0].set_title(f\"Higgs 1\")\n", + "ax[0].set_xlabel(r\"Matched AK8Jet $p_T$ (GeV)\")\n", + "ax[0].set_ylabel(r\"Matched Higgs $p_T$ (GeV)\")\n", + "ax[0].set_title(\"Higgs 1\")\n", "\n", - "ax[1].set_xlabel(rf\"Matched AK8Jet $p_T$ (GeV)\")\n", - "ax[1].set_ylabel(rf\"Matched Higgs $p_T$ (GeV)\")\n", - "ax[1].set_title(f\"Higgs 2\")\n", + "ax[1].set_xlabel(r\"Matched AK8Jet $p_T$ (GeV)\")\n", + "ax[1].set_ylabel(r\"Matched Higgs $p_T$ (GeV)\")\n", + "ax[1].set_title(\"Higgs 2\")\n", "\n", "# hep.cms.label(\"Work in Progress\", year=\"2022\", com=\"13.6\", ax=ax)\n", "plt.savefig(f\"{plot_dir}/H_pt_vs_fj_pt.jpg\", bbox_inches=\"tight\")\n", @@ -375,8 +377,8 @@ " (np.arange(0, 3, 0.1), np.arange(0, 3, 0.1)),\n", ")\n", "\n", - "ax.set_xlabel(rf\"$\\Delta R$ between Higgs 1 and daughter $b$-quarks\")\n", - "ax.set_ylabel(rf\"$\\Delta R$ between Higgs 2 and daughter $b$-quarks\")\n", + "ax.set_xlabel(r\"$\\Delta R$ between Higgs 1 and daughter $b$-quarks\")\n", + "ax.set_ylabel(r\"$\\Delta R$ between Higgs 2 and daughter $b$-quarks\")\n", "\n", "# hep.cms.label(\"Work in Progress\", year=\"2022\", com=\"13.6\", ax=ax)\n", "plt.savefig(f\"{plot_dir}/bh_dR_H1_vs_H2.jpg\", bbox_inches=\"tight\")\n", @@ -397,12 +399,12 @@ "outputs": [], "source": [ "fig, ax = plt.subplots(figsize=(10, 8))\n", - "ax.hist(fj_mwh1.pt, bins=np.arange(0, 800, 100), histtype=\"step\", label=f\"AK8Jet\")\n", - "ax.hist(gen_higgs[:, 0].pt, bins=np.arange(0, 800, 100), histtype=\"step\", label=f\"Higgs 1\")\n", + "ax.hist(fj_mwh1.pt, bins=np.arange(0, 800, 100), histtype=\"step\", label=\"AK8Jet\")\n", + "ax.hist(gen_higgs[:, 0].pt, bins=np.arange(0, 800, 100), histtype=\"step\", label=\"Higgs 1\")\n", "ax.legend()\n", "hep.cms.label(\"Work in Progress\", year=\"2022\", com=\"13.6\", ax=ax)\n", - "ax.set_xlabel(rf\"$p_T$ (GeV)\")\n", - "ax.set_ylabel(rf\"Number of Events\")\n", + "ax.set_xlabel(r\"$p_T$ (GeV)\")\n", + "ax.set_ylabel(r\"Number of Events\")\n", "\n", "print(np.histogram(fj_mwh1.pt, bins=np.arange(0, 800, 100)))\n", "print(np.histogram(gen_higgs[:, 0].pt, bins=np.arange(0, 800, 100)))" @@ -415,12 +417,12 @@ "outputs": [], "source": [ "fig, ax = plt.subplots(figsize=(10, 8))\n", - "ax.hist(fj_mwh2.pt, bins=np.arange(0, 1000, 100), histtype=\"step\", label=f\"AK8Jet\")\n", - "ax.hist(gen_higgs[:, 1].pt, bins=np.arange(0, 1000, 100), histtype=\"step\", label=f\"Higgs 2\")\n", + "ax.hist(fj_mwh2.pt, bins=np.arange(0, 1000, 100), histtype=\"step\", label=\"AK8Jet\")\n", + "ax.hist(gen_higgs[:, 1].pt, bins=np.arange(0, 1000, 100), histtype=\"step\", label=\"Higgs 2\")\n", "ax.legend()\n", "hep.cms.label(\"Work in Progress\", year=\"2022\", com=\"13.6\", ax=ax)\n", - "ax.set_xlabel(rf\"$p_T$ (GeV)\")\n", - "ax.set_ylabel(rf\"Number of Events\")\n", + "ax.set_xlabel(r\"$p_T$ (GeV)\")\n", + "ax.set_ylabel(r\"Number of Events\")\n", "\n", "print(fj_mwh1.shape)" ] @@ -811,7 +813,7 @@ "res_jet_per_bin = []\n", "res_fj_per_bin = []\n", "\n", - "for i in range(0, bins.shape[0] - 1):\n", + "for i in range(bins.shape[0] - 1):\n", " edge_left = bins[i]\n", " edge_right = bins[i + 1]\n", " bin_centers.append((edge_left + edge_right) / 2)\n", @@ -829,7 +831,7 @@ " x=bin_centers,\n", " y=res_jet_steps,\n", " yerr=res_jet_err,\n", - " label=f\"AK4Jet\",\n", + " label=\"AK4Jet\",\n", " drawstyle=\"steps-mid\",\n", " capsize=10,\n", ") # ,barsabove=True)\n", @@ -837,15 +839,15 @@ " x=bin_centers,\n", " y=res_fj_steps,\n", " yerr=res_fj_err,\n", - " label=f\"AK8Jet\",\n", + " label=\"AK8Jet\",\n", " drawstyle=\"steps-mid\",\n", " capsize=10,\n", ")\n", "ax.legend()\n", "# hep.cms.label(\"Work in Progress\", year=\"2022\", com=\"13.6\", ax=ax)\n", - "ax.set_title(rf\"Average Mass Resolution of H1\")\n", - "ax.set_xlabel(rf\"Higgs $p_T$ (GeV)\")\n", - "ax.set_ylabel(rf\"Average Mass Resolution\")\n", + "ax.set_title(r\"Average Mass Resolution of H1\")\n", + "ax.set_xlabel(r\"Higgs $p_T$ (GeV)\")\n", + "ax.set_ylabel(r\"Average Mass Resolution\")\n", "plt.savefig(f\"{plot_dir}/res_H1.jpg\")" ] }, @@ -880,7 +882,7 @@ "res_jet_per_bin = []\n", "res_fj_per_bin = []\n", "\n", - "for i in range(0, bins.shape[0] - 1):\n", + "for i in range(bins.shape[0] - 1):\n", " edge_left = bins[i]\n", " edge_right = bins[i + 1]\n", " bin_centers.append((edge_left + edge_right) / 2)\n", @@ -898,7 +900,7 @@ " x=bin_centers,\n", " y=res_jet_steps,\n", " yerr=res_jet_err,\n", - " label=f\"AK4Jet\",\n", + " label=\"AK4Jet\",\n", " drawstyle=\"steps-mid\",\n", " capsize=10,\n", ") # ,barsabove=True)\n", @@ -906,15 +908,15 @@ " x=bin_centers,\n", " y=res_fj_steps,\n", " yerr=res_fj_err,\n", - " label=f\"AK8Jet\",\n", + " label=\"AK8Jet\",\n", " drawstyle=\"steps-mid\",\n", " capsize=10,\n", ")\n", "ax.legend()\n", "# hep.cms.label(\"Work in Progress\", year=\"2022\", com=\"13.6\", ax=ax)\n", - "ax.set_title(rf\"Average Mass Resolution of H2\")\n", - "ax.set_xlabel(rf\"Higgs $p_T$ (GeV)\")\n", - "ax.set_ylabel(rf\"Average Mass Resolution\")\n", + "ax.set_title(r\"Average Mass Resolution of H2\")\n", + "ax.set_xlabel(r\"Higgs $p_T$ (GeV)\")\n", + "ax.set_ylabel(r\"Average Mass Resolution\")\n", "plt.savefig(f\"{plot_dir}/res_H2.jpg\")" ] }, @@ -1053,13 +1055,13 @@ " fj_mwh2.pt.reshape(-1),\n", " (20, 20),\n", ")\n", - "ax[0].set_xlabel(rf\"Matched AK8Jet $p_T$ (GeV)\")\n", - "ax[0].set_ylabel(rf\"Matched Higgs $p_T$ (GeV)\")\n", - "ax[0].set_title(f\"Higgs 1\")\n", + "ax[0].set_xlabel(r\"Matched AK8Jet $p_T$ (GeV)\")\n", + "ax[0].set_ylabel(r\"Matched Higgs $p_T$ (GeV)\")\n", + "ax[0].set_title(\"Higgs 1\")\n", "\n", - "ax[1].set_xlabel(rf\"Matched AK8Jet $p_T$ (GeV)\")\n", - "ax[1].set_ylabel(rf\"Matched Higgs $p_T$ (GeV)\")\n", - "ax[1].set_title(f\"Higgs 2\")\n", + "ax[1].set_xlabel(r\"Matched AK8Jet $p_T$ (GeV)\")\n", + "ax[1].set_ylabel(r\"Matched Higgs $p_T$ (GeV)\")\n", + "ax[1].set_title(\"Higgs 2\")\n", "\n", "# hep.cms.label(\"Work in Progress\", year=\"2022\", com=\"13.6\", ax=ax)\n", "plt.savefig(f\"{plot_dir}/H_pt_vs_fj_pt.jpg\", bbox_inches=\"tight\")\n", diff --git a/src/HH4b/semiboosted/ooc-semiboosted.ipynb b/src/HH4b/semiboosted/ooc-semiboosted.ipynb index 3872a238..6910e98b 100644 --- a/src/HH4b/semiboosted/ooc-semiboosted.ipynb +++ b/src/HH4b/semiboosted/ooc-semiboosted.ipynb @@ -20,16 +20,15 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", + "import awkward as ak\n", + "import hist\n", "import numpy as np\n", "import pandas as pd\n", "import vector\n", - "import os\n", - "import hist\n", - "import awkward as ak\n", - "\n", - "vector.register_awkward()\n", "\n", - "from itertools import permutations" + "vector.register_awkward()\n" ] }, { @@ -41,10 +40,10 @@ "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as mticker\n", - "from matplotlib.lines import Line2D\n", "\n", "# mplhep for CMS-style plots\n", "import mplhep as hep\n", + "from matplotlib.lines import Line2D\n", "\n", "plt.style.use(hep.style.CMS)\n", "hep.style.use(\"CMS\")\n", diff --git a/src/HH4b/semiboosted/ooc.ipynb b/src/HH4b/semiboosted/ooc.ipynb index a564fd44..d4a57e48 100644 --- a/src/HH4b/semiboosted/ooc.ipynb +++ b/src/HH4b/semiboosted/ooc.ipynb @@ -20,6 +20,8 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", "%pip install --upgrade awkward" ] }, @@ -30,16 +32,14 @@ "metadata": {}, "outputs": [], "source": [ + "\n", + "import awkward as ak\n", + "import hist\n", "import numpy as np\n", "import pandas as pd\n", "import vector\n", - "import os\n", - "import hist\n", - "import awkward as ak\n", - "\n", - "vector.register_awkward()\n", "\n", - "from itertools import permutations" + "vector.register_awkward()\n" ] }, { @@ -51,10 +51,10 @@ "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as mticker\n", - "from matplotlib.lines import Line2D\n", "\n", "# mplhep for CMS-style plots\n", "import mplhep as hep\n", + "from matplotlib.lines import Line2D\n", "\n", "plt.style.use(hep.style.CMS)\n", "hep.style.use(\"CMS\")\n", diff --git a/src/HH4b/semiboosted/ooc_genJet_matching.ipynb b/src/HH4b/semiboosted/ooc_genJet_matching.ipynb index 0275ce2b..2a06ba0d 100644 --- a/src/HH4b/semiboosted/ooc_genJet_matching.ipynb +++ b/src/HH4b/semiboosted/ooc_genJet_matching.ipynb @@ -15,16 +15,14 @@ "metadata": {}, "outputs": [], "source": [ + "from __future__ import annotations\n", + "\n", + "import hist\n", "import numpy as np\n", "import pandas as pd\n", "import vector\n", - "import os\n", - "import hist\n", - "import awkward as ak\n", "\n", - "vector.register_awkward()\n", - "\n", - "from itertools import permutations" + "vector.register_awkward()\n" ] }, { @@ -36,10 +34,10 @@ "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as mticker\n", - "from matplotlib.lines import Line2D\n", "\n", "# mplhep for CMS-style plots\n", "import mplhep as hep\n", + "from matplotlib.lines import Line2D\n", "\n", "plt.style.use(hep.style.CMS)\n", "hep.style.use(\"CMS\")\n",