From cf2dd3a90280f07df919ca91ab67b2ee21c32996 Mon Sep 17 00:00:00 2001 From: Bogdan Wiederspan Date: Mon, 20 Jan 2025 17:17:13 +0100 Subject: [PATCH 01/13] added dijet dilep dilepjet variables, as well as single lepon variables. added a default variables group to produce create standard controll plots faster. --- hbt/config/configs_hbt.py | 14 +- hbt/config/variables.py | 442 +++++++++++++++++++++++++++++++++----- law_outputs.cfg | 16 +- 3 files changed, 417 insertions(+), 55 deletions(-) diff --git a/hbt/config/configs_hbt.py b/hbt/config/configs_hbt.py index 4bca7841..2f3237cd 100644 --- a/hbt/config/configs_hbt.py +++ b/hbt/config/configs_hbt.py @@ -524,7 +524,19 @@ def if_not_era(*, values: list[str | None] | None = None, **kwargs) -> list[str] # variable groups for conveniently looping over certain variables # (used during plotting) - cfg.x.variable_groups = {} + cfg.x.variable_groups = { + "hh" : (hh := [f"hh_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr"]]), + "dilep": (dilep := [f"dilep_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr"]]), + "dijet": (dijet := [f"dijet_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr"]]), + "default": [ + *dijet, + *dilep, + *hh, + "mu1_pt","mu1_eta","mu1_phi","mu2_pt","mu2_eta","mu2_phi", + "e1_pt","e1_eta","e1_phi","e2_pt","e2_eta","e2_phi", + "tau1_pt","tau1_eta","tau1_phi","tau2_pt","tau2_eta","tau2_phi", + ], + } # shift groups for conveniently looping over certain shifts # (used during plotting) diff --git a/hbt/config/variables.py b/hbt/config/variables.py index 2f746224..5980fd50 100644 --- a/hbt/config/variables.py +++ b/hbt/config/variables.py @@ -3,6 +3,7 @@ """ Definition of variables. """ +from functools import partial import order as od @@ -64,7 +65,6 @@ def add_variables(config: od.Config) -> None: config, name="jet_pt", expression="Jet.pt", - null_value=EMPTY_FLOAT, binning=(40, 0.0, 400.0), unit="GeV", x_title=r"all Jet $p_{T}$", @@ -73,7 +73,6 @@ def add_variables(config: od.Config) -> None: config, name="jet1_pt", expression="Jet.pt[:,0]", - null_value=EMPTY_FLOAT, binning=(40, 0.0, 400.0), unit="GeV", x_title=r"Jet 1 $p_{T}$", @@ -82,42 +81,44 @@ def add_variables(config: od.Config) -> None: config, name="jet1_eta", expression="Jet.eta[:,0]", - null_value=EMPTY_FLOAT, binning=(30, -3.0, 3.0), x_title=r"Jet 1 $\eta$", ) + add_variable( + config, + name="jet1_phi", + expression="Jet.phi[:,0]", + binning=(33, -3.3, 3.3), + x_title=r"Jet 1 $\phi$", + ) add_variable( config, name="jet2_pt", expression="Jet.pt[:,1]", - null_value=EMPTY_FLOAT, binning=(40, 0.0, 400.0), unit="GeV", x_title=r"Jet 2 $p_{T}$", ) add_variable( config, - name="met_phi", - expression="PuppiMET.phi", - null_value=EMPTY_FLOAT, - binning=(33, -3.3, 3.3), - x_title=r"MET $\phi$", + name="jet2_eta", + expression="Jet.eta[:,1]", + binning=(30, -3.0, 3.0), + x_title=r"Jet 2 $\eta$", ) add_variable( config, - name="e1_pt", - expression="Electron.pt[:, 0]", - null_value=EMPTY_FLOAT, - binning=(40, 0, 400), - x_title=r"Leading electron p$_{T}$", + name="jet2_phi", + expression="Jet.phi[:,1]", + binning=(33, -3.3, 3.3), + x_title=r"Jet 2 $\phi$", ) add_variable( config, - name="mu1_pt", - expression="Muon.pt[:,0]", - null_value=EMPTY_FLOAT, - binning=(40, 0, 400), - x_title=r"Leading muon p$_{T}$", + name="met_phi", + expression="PuppiMET.phi", + binning=(33, -3.3, 3.3), + x_title=r"MET $\phi$", ) # weights @@ -213,31 +214,6 @@ def add_variables(config: od.Config) -> None: ) # variables of interest - add_variable( - config, - name="hh_mass", - expression="hh.mass", - binning=(20, 250, 750.0), - unit="GeV", - x_title=r"$m_{hh}$", - ) - add_variable( - config, - name="hh_pt", - expression="hh.pt", - binning=(100, 0, 500.0), - unit="GeV", - x_title=r"$p_T$", - ) - add_variable( - config, - name="hh_eta", - expression="hh.eta", - binning=(100, -3.0, 3.0), - unit="GeV", - x_title=r"$\eta$", - ) - add_variable( config, name="ditau_mass", @@ -277,7 +253,7 @@ def add_variables(config: od.Config) -> None: expression="diBJet.pt", binning=(100, 0, 500.0), unit="GeV", - x_title=r"$p_T$", + x_title=r"$p_{T}$", ) add_variable( config, @@ -288,23 +264,384 @@ def add_variables(config: od.Config) -> None: x_title=r"$\eta$", ) - def dilep_mass_test(events): + # build variables for dilepton, dijet, and hh + def delta_r12(vectors): + # delta r between first two elements + import awkward as ak + dr = ak.firsts(vectors[:, :1], axis=1).delta_r(ak.firsts(vectors[:, 1:2], axis=1)) + return ak.fill_none(dr, EMPTY_FLOAT) + + def build_dilep(events, which=None): import awkward as ak leps = ak.concatenate([events.Electron * 1, events.Muon * 1, events.Tau * 1], axis=1)[:, :2] + if which == "dr": + return delta_r12(leps) dilep = leps.sum(axis=1) - return dilep.mass + if which is None: + return dilep * 1 + if which == "mass": + return dilep.mass + if which == "pt": + return dilep.pt + if which == "eta": + return dilep.eta + if which == "abs_eta": + return abs(dilep.eta) + if which == "phi": + return dilep.phi + if which == "energy": + return dilep.energy + raise ValueError(f"Unknown which: {which}") + + build_dilep.inputs = ["{Electron,Muon,Tau}.{pt,eta,phi,mass}"] + + def build_dijet(events, which=None): + import awkward as ak + jets = events.Jet[:, :2] + if which == "dr": + return delta_r12(jets) + dijet = jets.sum(axis=1) + if which is None: + return dijet * 1 + if which == "mass": + return dijet.mass + if which == "pt": + return dijet.pt + if which == "eta": + return dijet.eta + if which == "abs_eta": + return abs(dijet.eta) + if which == "phi": + return dijet.phi + if which == "energy": + return dijet.energy + raise ValueError(f"Unknown which: {which}") + + build_dijet.inputs = ["Jet.{pt,eta,phi,mass}"] + def build_hh(events, which=None): + import awkward as ak + dijet = build_dijet(events) + dilep = build_dilep(events) + hs = ak.concatenate([dijet[..., None], dilep[..., None]], axis=1) + if which == "dr": + return delta_r12(hs) + hh = hs.sum(axis=1) + if which is None: + return hh * 1 + if which == "mass": + return hh.mass + if which == "pt": + return hh.pt + if which == "eta": + return hh.eta + if which == "abs_eta": + return abs(hh.eta) + if which == "phi": + return hh.phi + if which == "energy": + return hh.energy + raise ValueError(f"Unknown which: {which}") + + build_hh.inputs = build_dijet.inputs + build_dilep.inputs + + # dijet variables + add_variable( + config, + name="dijet_energy", + expression=partial(build_dijet, which="energy"), + aux={"inputs": build_dijet.inputs}, + binning=(40, 40, 300), + unit="GeV", + x_title=r"$E_{jj}$", + ) + add_variable( + config, + name="dijet_mass", + expression=partial(build_dijet, which="mass"), + aux={"inputs": build_dijet.inputs}, + binning=(30, 0, 300), + unit="GeV", + x_title=r"$m_{jj}$", + ) + add_variable( + config, + name="dijet_pt", + expression=partial(build_dijet, which="pt"), + aux={"inputs": build_dijet.inputs}, + binning=(40, 0, 200), + unit="GeV", + x_title=r"$p_{T,jj}$", + ) + add_variable( + config, + name="dijet_eta", + expression=partial(build_dijet, which="eta"), + aux={"inputs": build_dijet.inputs}, + binning=(50, -5, 5), + unit="GeV", + x_title=r"$\eta_{jj}$", + ) + add_variable( + config, + name="dijet_phi", + expression=partial(build_dijet, which="phi"), + aux={"inputs": build_dijet.inputs}, + binning=(32, -3.2, 3.2), + unit="GeV", + x_title=r"$\phi_{jj}$", + ) + add_variable( + config, + name="dijet_dr", + expression=partial(build_dijet, which="dr"), + aux={"inputs": build_dijet.inputs}, + binning=(30, 0, 6), + x_title=r"$\Delta R_{jj}$", + ) + + # dilepton variables + add_variable( + config, + name="dilep_energy", + expression=partial(build_dilep, which="energy"), + aux={"inputs": build_dilep.inputs}, + binning=(40, 40, 300), + unit="GeV", + x_title=r"$E_{ll}$", + ) add_variable( config, name="dilep_mass", - expression=dilep_mass_test, - aux={ - "inputs": ["{Electron,Muon,Tau}.{pt,eta,phi,mass}"], - }, + expression=partial(build_dilep, which="mass"), + aux={"inputs": build_dilep.inputs}, binning=(40, 40, 120), unit="GeV", x_title=r"$m_{ll}$", ) + add_variable( + config, + name="dilep_pt", + expression=partial(build_dilep, which="pt"), + aux={"inputs": build_dilep.inputs}, + binning=(40, 0, 200), + unit="GeV", + x_title=r"$p_{T,ll}$", + ) + add_variable( + config, + name="dilep_eta", + expression=partial(build_dilep, which="eta"), + aux={"inputs": build_dilep.inputs}, + binning=(50, -5, 5), + unit="GeV", + x_title=r"$\eta_{ll}$", + ) + add_variable( + config, + name="dilep_phi", + expression=partial(build_dilep, which="phi"), + aux={"inputs": build_dilep.inputs}, + binning=(32, -3.2, 3.2), + unit="GeV", + x_title=r"$\phi_{ll}$", + ) + add_variable( + config, + name="dilep_dr", + expression=partial(build_dilep, which="dr"), + aux={"inputs": build_dilep.inputs}, + binning=(30, 0, 6), + x_title=r"$\Delta R_{ll}$", + ) + + # hh variables + add_variable( + config, + name="hh_energy", + expression=partial(build_hh, which="energy"), + aux={"inputs": build_hh.inputs}, + binning=(40, 100, 800), + unit="GeV", + x_title=r"$E_{ll,jj}$", + ) + add_variable( + config, + name="hh_mass", + expression=partial(build_hh, which="mass"), + aux={"inputs": build_hh.inputs}, + binning=(50, 0, 1000), + unit="GeV", + x_title=r"$m_{ll,jj}$", + ) + add_variable( + config, + name="hh_pt", + expression=partial(build_hh, which="pt"), + aux={"inputs": build_hh.inputs}, + binning=(40, 0, 400), + unit="GeV", + x_title=r"$p_{T}_{ll,jj}$", + ) + add_variable( + config, + name="hh_eta", + expression=partial(build_hh, which="eta"), + aux={"inputs": build_hh.inputs}, + binning=(50, -5, 5), + unit="GeV", + x_title=r"$\eta_{ll,jj}$", + ) + add_variable( + config, + name="hh_phi", + expression=partial(build_hh, which="phi"), + aux={"inputs": build_hh.inputs}, + binning=(32, -3.2, 3.2), + unit="GeV", + x_title=r"$\phi_{ll,jj}$", + ) + add_variable( + config, + name="hh_dr", + expression=partial(build_hh, which="dr"), + aux={"inputs": build_hh.inputs}, + binning=(30, 0, 6), + x_title=r"$\Delta R_{ll,jj}$", + ) + + # single lepton variables + # single electron + add_variable( + config, + name="e1_pt", + expression="Electron.pt[:, 0]", + binning=(40, 0, 150), + x_title=r"Leading electron p$_{T}$", + ) + add_variable( + config, + name="e2_pt", + expression="Electron.pt[:,1]", + binning=(30, 0, 150), + x_title=r"Subleading electron p_{T}$", + ) + add_variable( + config, + name="e1_eta", + expression="Electron.eta[:,0]", + binning=(25, -2.5, 2.5), + x_title=r"Leading electron \eta$", + ) + add_variable( + config, + name="e2_eta", + expression="Electron.eta[:,1]", + binning=(25, -2.5, 2.5), + x_title=r"Subleading electron \eta$", + ) + add_variable( + config, + name="e1_phi", + expression="Electron.phi[:,0]", + binning=(32, -3.2, 3.2), + x_title=r"Leading electron \phi$", + ) + add_variable( + config, + name="e2_phi", + expression="Electron.phi[:,1]", + binning=(32, -3.2, 3.2), + x_title=r"Subleading electron \phi$", + ) + + # single tau + add_variable( + config, + name="tau1_pt", + expression="Tau.pt[:, 0]", + binning=(40, 0, 150), + x_title=r"Leading tau p$_{T}$", + ) + add_variable( + config, + name="tau2_pt", + expression="Tau.pt[:,1]", + binning=(30, 0, 150), + x_title=r"Subleading tau p_{T}$", + ) + add_variable( + config, + name="tau1_eta", + expression="Tau.eta[:,0]", + binning=(25, -2.5, 2.5), + x_title=r"Leading tau \eta$", + ) + add_variable( + config, + name="tau2_eta", + expression="Tau.eta[:,1]", + binning=(25, -2.5, 2.5), + x_title=r"Subleading tau \eta$", + ) + add_variable( + config, + name="tau1_phi", + expression="Tau.phi[:,0]", + binning=(32, -3.2, 3.2), + x_title=r"Leading tau \phi$", + ) + add_variable( + config, + name="tau2_phi", + expression="Tau.phi[:,1]", + binning=(32, -3.2, 3.2), + x_title=r"Subleading tau \phi$", + ) + + # single mu + add_variable( + config, + name="mu1_pt", + expression="Muon.pt[:,0]", + binning=(30, 0, 150), + x_title=r"Leading muon p_{T}$", + ) + add_variable( + config, + name="mu2_pt", + expression="Muon.pt[:,1]", + binning=(30, 0, 150), + x_title=r"Subleading muon p_{T}$", + ) + add_variable( + config, + name="mu1_eta", + expression="Muon.eta[:,0]", + binning=(25, -2.5, 2.5), + x_title=r"Leading muon \eta$", + ) + add_variable( + config, + name="mu2_eta", + expression="Muon.eta[:,1]", + binning=(25, -2.5, 2.5), + x_title=r"Subleading muon \eta$", + ) + add_variable( + config, + name="mu1_phi", + expression="Muon.phi[:,0]", + binning=(32, -3.2, 3.2), + x_title=r"Leading muon \phi$", + ) + add_variable( + config, + name="mu2_phi", + expression="Muon.phi[:,1]", + binning=(32, -3.2, 3.2), + x_title=r"Subleading muon \phi$", + ) for proc in ["hh", "tt", "dy"]: # outputs of the resonant pDNN at SM-like mass and spin values @@ -333,9 +670,10 @@ def dilep_mass_test(events): x_title=rf"{proc.upper()} output node, res. DNN", ) - # helper to add a variable to the config with some defaults def add_variable(config: od.Config, *args, **kwargs) -> od.Variable: + kwargs.setdefault("null_value", EMPTY_FLOAT) + # create the variable variable = config.add_variable(*args, **kwargs) diff --git a/law_outputs.cfg b/law_outputs.cfg index c3362519..22ec81bc 100644 --- a/law_outputs.cfg +++ b/law_outputs.cfg @@ -23,10 +23,20 @@ lfn_sources: wlcg_fs_desy_store, wlcg_fs_infn_redirector, wlcg_fs_global_redirec 22pre_fs_dust: local, local_fs_dust_nprouvos 22pre_v1?__cf.{Calibrate,Select,Reduce}Events: &::22pre_fs_dcache 22pre_v1?__cf.MergeReducedEvents: &::22pre_fs_dust +<<<<<<< Updated upstream 22pre_v1?__cf.Merge{Reduction,Selection}Stats: &::22pre_fs_dust 22pre_v1?__cf.{Produce,Unite}Columns: &::22pre_fs_dust 22pre_v1?__cf.*ML*: &::22pre_fs_dust 22pre_v1?__cf.{Create,Merge,MergeShifted}Histograms: &::22pre_fs_dust +======= +22pre_v1?__cf.MergeReductionStats: &::22pre_fs_dust +22pre_v1?__cf.MergeSelectionStats: &::22pre_fs_dust +22pre_v1?__cf.ProduceColumns: &::22pre_fs_dust +22pre_v1?__cf.UniteColumns: &::22pre_fs_dust +22pre_v1?__cf.CreateHistograms: &::22pre_fs_dust +22pre_v1?__cf.MergeHistograms: local, local_fs_dust_bwieders +22pre_v1?__cf.MergeShiftedHistograms: local, local_fs_dust_bwieders +>>>>>>> Stashed changes 22pre_v1?__cf.CreateDatacards: &::22pre_fs_dust ; 22post 22post_fs_dcache: wlcg_mirrored, local_fs_desy_aalvesan, wlcg_fs_desy_aalvesan @@ -77,18 +87,20 @@ cf.ReduceEvents: wlcg cf.MergeReductionStats: wlcg cf.MergeReducedEvents: wlcg cf.ProduceColumns: wlcg -cf.CreatePileupWeights: wlcg cf.PrepareMLEvents: wlcg cf.MergeMLEvents: wlcg cf.MLTraining: local cf.MLEvaluation: wlcg cf.UniteColumns: wlcg +<<<<<<< Updated upstream cf.CreateSyncFile: local +======= +>>>>>>> Stashed changes [versions] -# for first plots (16.1.2025) +# for first plots (17.1.2025) 22pre_v14__cf.CalibrateEvents: prod4 22pre_v14__cf.{SelectEvents,MergeSelectionStats,ReduceEvents,MergeReductionStats,ProvideReducedEvents}: prod4 22pre_v14__cf.ProduceColumns: prod4 From 4a0f3d07b179dd22f59fe923a0681d9dac82bd90 Mon Sep 17 00:00:00 2001 From: Bogdan Wiederspan Date: Mon, 20 Jan 2025 17:19:18 +0100 Subject: [PATCH 02/13] removed merge conflict --- law_outputs.cfg | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/law_outputs.cfg b/law_outputs.cfg index 22ec81bc..f25268ea 100644 --- a/law_outputs.cfg +++ b/law_outputs.cfg @@ -23,20 +23,10 @@ lfn_sources: wlcg_fs_desy_store, wlcg_fs_infn_redirector, wlcg_fs_global_redirec 22pre_fs_dust: local, local_fs_dust_nprouvos 22pre_v1?__cf.{Calibrate,Select,Reduce}Events: &::22pre_fs_dcache 22pre_v1?__cf.MergeReducedEvents: &::22pre_fs_dust -<<<<<<< Updated upstream 22pre_v1?__cf.Merge{Reduction,Selection}Stats: &::22pre_fs_dust 22pre_v1?__cf.{Produce,Unite}Columns: &::22pre_fs_dust 22pre_v1?__cf.*ML*: &::22pre_fs_dust 22pre_v1?__cf.{Create,Merge,MergeShifted}Histograms: &::22pre_fs_dust -======= -22pre_v1?__cf.MergeReductionStats: &::22pre_fs_dust -22pre_v1?__cf.MergeSelectionStats: &::22pre_fs_dust -22pre_v1?__cf.ProduceColumns: &::22pre_fs_dust -22pre_v1?__cf.UniteColumns: &::22pre_fs_dust -22pre_v1?__cf.CreateHistograms: &::22pre_fs_dust -22pre_v1?__cf.MergeHistograms: local, local_fs_dust_bwieders -22pre_v1?__cf.MergeShiftedHistograms: local, local_fs_dust_bwieders ->>>>>>> Stashed changes 22pre_v1?__cf.CreateDatacards: &::22pre_fs_dust ; 22post 22post_fs_dcache: wlcg_mirrored, local_fs_desy_aalvesan, wlcg_fs_desy_aalvesan @@ -92,10 +82,6 @@ cf.MergeMLEvents: wlcg cf.MLTraining: local cf.MLEvaluation: wlcg cf.UniteColumns: wlcg -<<<<<<< Updated upstream -cf.CreateSyncFile: local -======= ->>>>>>> Stashed changes [versions] From 2b52b244f4ae8d3d9f60b139beb7bbfb4ef9e6c7 Mon Sep 17 00:00:00 2001 From: Bogdan Wiederspan Date: Mon, 20 Jan 2025 17:22:41 +0100 Subject: [PATCH 03/13] linting --- hbt/config/configs_hbt.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hbt/config/configs_hbt.py b/hbt/config/configs_hbt.py index 2f3237cd..fd3599ba 100644 --- a/hbt/config/configs_hbt.py +++ b/hbt/config/configs_hbt.py @@ -525,16 +525,16 @@ def if_not_era(*, values: list[str | None] | None = None, **kwargs) -> list[str] # variable groups for conveniently looping over certain variables # (used during plotting) cfg.x.variable_groups = { - "hh" : (hh := [f"hh_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr"]]), - "dilep": (dilep := [f"dilep_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr"]]), - "dijet": (dijet := [f"dijet_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr"]]), + "hh": (hh := [f"hh_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr",]]), + "dilep": (dilep := [f"dilep_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr",]]), + "dijet": (dijet := [f"dijet_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr",]]), "default": [ *dijet, *dilep, *hh, - "mu1_pt","mu1_eta","mu1_phi","mu2_pt","mu2_eta","mu2_phi", - "e1_pt","e1_eta","e1_phi","e2_pt","e2_eta","e2_phi", - "tau1_pt","tau1_eta","tau1_phi","tau2_pt","tau2_eta","tau2_phi", + "mu1_pt", "mu1_eta", "mu1_phi", "mu2_pt", "mu2_eta", "mu2_phi", + "e1_pt", "e1_eta", "e1_phi", "e2_pt", "e2_eta", "e2_phi", + "tau1_pt", "tau1_eta", "tau1_phi", "tau2_pt", "tau2_eta", "tau2_phi", ], } From 3a397a72e3082e8972f95c59c38609276cd99f84 Mon Sep 17 00:00:00 2001 From: Bogdan Wiederspan Date: Mon, 20 Jan 2025 17:23:28 +0100 Subject: [PATCH 04/13] intendation fix --- hbt/config/variables.py | 2 +- law_outputs.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hbt/config/variables.py b/hbt/config/variables.py index 5980fd50..e5e65348 100644 --- a/hbt/config/variables.py +++ b/hbt/config/variables.py @@ -556,7 +556,7 @@ def build_hh(events, which=None): ) # single tau - add_variable( + add_variable( config, name="tau1_pt", expression="Tau.pt[:, 0]", diff --git a/law_outputs.cfg b/law_outputs.cfg index f25268ea..99b044a5 100644 --- a/law_outputs.cfg +++ b/law_outputs.cfg @@ -86,7 +86,7 @@ cf.UniteColumns: wlcg [versions] -# for first plots (17.1.2025) +# for first plots (16.1.2025) 22pre_v14__cf.CalibrateEvents: prod4 22pre_v14__cf.{SelectEvents,MergeSelectionStats,ReduceEvents,MergeReductionStats,ProvideReducedEvents}: prod4 22pre_v14__cf.ProduceColumns: prod4 From 8e976b06e99ca9ae9a44381cf3afd9d621e86915 Mon Sep 17 00:00:00 2001 From: Bogdan Wiederspan Date: Mon, 20 Jan 2025 17:32:06 +0100 Subject: [PATCH 05/13] linting again --- hbt/config/configs_hbt.py | 6 +++--- hbt/config/variables.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hbt/config/configs_hbt.py b/hbt/config/configs_hbt.py index fd3599ba..8369d4b8 100644 --- a/hbt/config/configs_hbt.py +++ b/hbt/config/configs_hbt.py @@ -525,9 +525,9 @@ def if_not_era(*, values: list[str | None] | None = None, **kwargs) -> list[str] # variable groups for conveniently looping over certain variables # (used during plotting) cfg.x.variable_groups = { - "hh": (hh := [f"hh_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr",]]), - "dilep": (dilep := [f"dilep_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr",]]), - "dijet": (dijet := [f"dijet_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr",]]), + "hh": (hh := [f"hh_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr"]]), + "dilep": (dilep := [f"dilep_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr"]]), + "dijet": (dijet := [f"dijet_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr"]]), "default": [ *dijet, *dilep, diff --git a/hbt/config/variables.py b/hbt/config/variables.py index e5e65348..24a28029 100644 --- a/hbt/config/variables.py +++ b/hbt/config/variables.py @@ -296,7 +296,6 @@ def build_dilep(events, which=None): build_dilep.inputs = ["{Electron,Muon,Tau}.{pt,eta,phi,mass}"] def build_dijet(events, which=None): - import awkward as ak jets = events.Jet[:, :2] if which == "dr": return delta_r12(jets) @@ -670,6 +669,7 @@ def build_hh(events, which=None): x_title=rf"{proc.upper()} output node, res. DNN", ) + # helper to add a variable to the config with some defaults def add_variable(config: od.Config, *args, **kwargs) -> od.Variable: kwargs.setdefault("null_value", EMPTY_FLOAT) From e6284264e0eada8e71824fa0587b8cdb6ec1d45b Mon Sep 17 00:00:00 2001 From: Bogdan Wiederspan Date: Mon, 20 Jan 2025 17:22:41 +0100 Subject: [PATCH 06/13] fix linting and wrong intend --- hbt/config/configs_hbt.py | 8 ++++---- hbt/config/variables.py | 4 ++-- law_outputs.cfg | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/hbt/config/configs_hbt.py b/hbt/config/configs_hbt.py index 2f3237cd..8369d4b8 100644 --- a/hbt/config/configs_hbt.py +++ b/hbt/config/configs_hbt.py @@ -525,16 +525,16 @@ def if_not_era(*, values: list[str | None] | None = None, **kwargs) -> list[str] # variable groups for conveniently looping over certain variables # (used during plotting) cfg.x.variable_groups = { - "hh" : (hh := [f"hh_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr"]]), + "hh": (hh := [f"hh_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr"]]), "dilep": (dilep := [f"dilep_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr"]]), "dijet": (dijet := [f"dijet_{var}" for var in ["energy", "mass", "pt", "eta", "phi", "dr"]]), "default": [ *dijet, *dilep, *hh, - "mu1_pt","mu1_eta","mu1_phi","mu2_pt","mu2_eta","mu2_phi", - "e1_pt","e1_eta","e1_phi","e2_pt","e2_eta","e2_phi", - "tau1_pt","tau1_eta","tau1_phi","tau2_pt","tau2_eta","tau2_phi", + "mu1_pt", "mu1_eta", "mu1_phi", "mu2_pt", "mu2_eta", "mu2_phi", + "e1_pt", "e1_eta", "e1_phi", "e2_pt", "e2_eta", "e2_phi", + "tau1_pt", "tau1_eta", "tau1_phi", "tau2_pt", "tau2_eta", "tau2_phi", ], } diff --git a/hbt/config/variables.py b/hbt/config/variables.py index 5980fd50..24a28029 100644 --- a/hbt/config/variables.py +++ b/hbt/config/variables.py @@ -296,7 +296,6 @@ def build_dilep(events, which=None): build_dilep.inputs = ["{Electron,Muon,Tau}.{pt,eta,phi,mass}"] def build_dijet(events, which=None): - import awkward as ak jets = events.Jet[:, :2] if which == "dr": return delta_r12(jets) @@ -556,7 +555,7 @@ def build_hh(events, which=None): ) # single tau - add_variable( + add_variable( config, name="tau1_pt", expression="Tau.pt[:, 0]", @@ -670,6 +669,7 @@ def build_hh(events, which=None): x_title=rf"{proc.upper()} output node, res. DNN", ) + # helper to add a variable to the config with some defaults def add_variable(config: od.Config, *args, **kwargs) -> od.Variable: kwargs.setdefault("null_value", EMPTY_FLOAT) diff --git a/law_outputs.cfg b/law_outputs.cfg index f25268ea..99b044a5 100644 --- a/law_outputs.cfg +++ b/law_outputs.cfg @@ -86,7 +86,7 @@ cf.UniteColumns: wlcg [versions] -# for first plots (17.1.2025) +# for first plots (16.1.2025) 22pre_v14__cf.CalibrateEvents: prod4 22pre_v14__cf.{SelectEvents,MergeSelectionStats,ReduceEvents,MergeReductionStats,ProvideReducedEvents}: prod4 22pre_v14__cf.ProduceColumns: prod4 From ba9320f9b99cb6c6a3bfd18cbbabedc65a94fdad Mon Sep 17 00:00:00 2001 From: Bogdan-Wiederspan <79155113+Bogdan-Wiederspan@users.noreply.github.com> Date: Mon, 20 Jan 2025 17:46:24 +0100 Subject: [PATCH 07/13] reset law_outputs.cfg --- law_outputs.cfg | 2 ++ 1 file changed, 2 insertions(+) diff --git a/law_outputs.cfg b/law_outputs.cfg index 99b044a5..c3362519 100644 --- a/law_outputs.cfg +++ b/law_outputs.cfg @@ -77,11 +77,13 @@ cf.ReduceEvents: wlcg cf.MergeReductionStats: wlcg cf.MergeReducedEvents: wlcg cf.ProduceColumns: wlcg +cf.CreatePileupWeights: wlcg cf.PrepareMLEvents: wlcg cf.MergeMLEvents: wlcg cf.MLTraining: local cf.MLEvaluation: wlcg cf.UniteColumns: wlcg +cf.CreateSyncFile: local [versions] From 45e1378d6a4f9d7704a822e3947aa66f5ce52161 Mon Sep 17 00:00:00 2001 From: Bogdan-Wiederspan <79155113+Bogdan-Wiederspan@users.noreply.github.com> Date: Tue, 21 Jan 2025 14:08:14 +0100 Subject: [PATCH 08/13] Apply suggestions from code review add suggestions Co-authored-by: Nathan Prouvost <49162277+nprouvost@users.noreply.github.com> --- hbt/config/variables.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hbt/config/variables.py b/hbt/config/variables.py index 24a28029..8752aca3 100644 --- a/hbt/config/variables.py +++ b/hbt/config/variables.py @@ -88,7 +88,7 @@ def add_variables(config: od.Config) -> None: config, name="jet1_phi", expression="Jet.phi[:,0]", - binning=(33, -3.3, 3.3), + binning=(34, -3.3, 3.3), x_title=r"Jet 1 $\phi$", ) add_variable( @@ -378,7 +378,6 @@ def build_hh(events, which=None): expression=partial(build_dijet, which="eta"), aux={"inputs": build_dijet.inputs}, binning=(50, -5, 5), - unit="GeV", x_title=r"$\eta_{jj}$", ) add_variable( @@ -387,7 +386,6 @@ def build_hh(events, which=None): expression=partial(build_dijet, which="phi"), aux={"inputs": build_dijet.inputs}, binning=(32, -3.2, 3.2), - unit="GeV", x_title=r"$\phi_{jj}$", ) add_variable( From 7333fe70a88412f357b828714a0e80e970ca1336 Mon Sep 17 00:00:00 2001 From: Bogdan Wiederspan Date: Tue, 21 Jan 2025 14:22:57 +0100 Subject: [PATCH 09/13] changes binning of phis and moved import to global namespace --- hbt/config/variables.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/hbt/config/variables.py b/hbt/config/variables.py index 8752aca3..46a33796 100644 --- a/hbt/config/variables.py +++ b/hbt/config/variables.py @@ -8,6 +8,9 @@ import order as od from columnflow.columnar_util import EMPTY_FLOAT +from columnflow.util import maybe_import + +ak = maybe_import("awkward") def add_variables(config: od.Config) -> None: @@ -110,14 +113,14 @@ def add_variables(config: od.Config) -> None: config, name="jet2_phi", expression="Jet.phi[:,1]", - binning=(33, -3.3, 3.3), + binning=(34, -3.3, 3.3), x_title=r"Jet 2 $\phi$", ) add_variable( config, name="met_phi", expression="PuppiMET.phi", - binning=(33, -3.3, 3.3), + binning=(34, -3.3, 3.3), x_title=r"MET $\phi$", ) @@ -201,7 +204,7 @@ def add_variables(config: od.Config) -> None: config, name="cf_jet1_phi", expression="cutflow.jet1_phi", - binning=(32, -3.2, 3.2), + binning=(34, -3.3, 3.3), x_title=r"Jet 1 $\phi$", ) add_variable( @@ -267,12 +270,10 @@ def add_variables(config: od.Config) -> None: # build variables for dilepton, dijet, and hh def delta_r12(vectors): # delta r between first two elements - import awkward as ak dr = ak.firsts(vectors[:, :1], axis=1).delta_r(ak.firsts(vectors[:, 1:2], axis=1)) return ak.fill_none(dr, EMPTY_FLOAT) def build_dilep(events, which=None): - import awkward as ak leps = ak.concatenate([events.Electron * 1, events.Muon * 1, events.Tau * 1], axis=1)[:, :2] if which == "dr": return delta_r12(leps) @@ -319,7 +320,6 @@ def build_dijet(events, which=None): build_dijet.inputs = ["Jet.{pt,eta,phi,mass}"] def build_hh(events, which=None): - import awkward as ak dijet = build_dijet(events) dilep = build_dilep(events) hs = ak.concatenate([dijet[..., None], dilep[..., None]], axis=1) @@ -385,7 +385,7 @@ def build_hh(events, which=None): name="dijet_phi", expression=partial(build_dijet, which="phi"), aux={"inputs": build_dijet.inputs}, - binning=(32, -3.2, 3.2), + binning=(34, -3.3, 3.3), x_title=r"$\phi_{jj}$", ) add_variable( @@ -439,7 +439,7 @@ def build_hh(events, which=None): name="dilep_phi", expression=partial(build_dilep, which="phi"), aux={"inputs": build_dilep.inputs}, - binning=(32, -3.2, 3.2), + binning=(34, -3.3, 3.3), unit="GeV", x_title=r"$\phi_{ll}$", ) @@ -494,7 +494,7 @@ def build_hh(events, which=None): name="hh_phi", expression=partial(build_hh, which="phi"), aux={"inputs": build_hh.inputs}, - binning=(32, -3.2, 3.2), + binning=(34, -3.3, 3.3), unit="GeV", x_title=r"$\phi_{ll,jj}$", ) @@ -541,14 +541,14 @@ def build_hh(events, which=None): config, name="e1_phi", expression="Electron.phi[:,0]", - binning=(32, -3.2, 3.2), + binning=(34, -3.3, 3.3), x_title=r"Leading electron \phi$", ) add_variable( config, name="e2_phi", expression="Electron.phi[:,1]", - binning=(32, -3.2, 3.2), + binning=(34, -3.3, 3.3), x_title=r"Subleading electron \phi$", ) @@ -585,14 +585,14 @@ def build_hh(events, which=None): config, name="tau1_phi", expression="Tau.phi[:,0]", - binning=(32, -3.2, 3.2), + binning=(34, -3.3, 3.3), x_title=r"Leading tau \phi$", ) add_variable( config, name="tau2_phi", expression="Tau.phi[:,1]", - binning=(32, -3.2, 3.2), + binning=(34, -3.3, 3.3), x_title=r"Subleading tau \phi$", ) @@ -629,14 +629,14 @@ def build_hh(events, which=None): config, name="mu1_phi", expression="Muon.phi[:,0]", - binning=(32, -3.2, 3.2), + binning=(34, -3.3, 3.3), x_title=r"Leading muon \phi$", ) add_variable( config, name="mu2_phi", expression="Muon.phi[:,1]", - binning=(32, -3.2, 3.2), + binning=(34, -3.3, 3.3), x_title=r"Subleading muon \phi$", ) From 7d1a5761a9fdf70eccfd53c4cf441ebb9bf147dc Mon Sep 17 00:00:00 2001 From: Bogdan Wiederspan Date: Tue, 21 Jan 2025 14:29:31 +0100 Subject: [PATCH 10/13] corrected latex labels --- hbt/config/variables.py | 54 ++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/hbt/config/variables.py b/hbt/config/variables.py index 46a33796..6b37dc69 100644 --- a/hbt/config/variables.py +++ b/hbt/config/variables.py @@ -78,21 +78,21 @@ def add_variables(config: od.Config) -> None: expression="Jet.pt[:,0]", binning=(40, 0.0, 400.0), unit="GeV", - x_title=r"Jet 1 $p_{T}$", + x_title=r"Leading jet $p_{T}$", ) add_variable( config, name="jet1_eta", expression="Jet.eta[:,0]", binning=(30, -3.0, 3.0), - x_title=r"Jet 1 $\eta$", + x_title=r"Leading jet $\eta$", ) add_variable( config, name="jet1_phi", expression="Jet.phi[:,0]", binning=(34, -3.3, 3.3), - x_title=r"Jet 1 $\phi$", + x_title=r"Leading jet $\phi$", ) add_variable( config, @@ -100,21 +100,21 @@ def add_variables(config: od.Config) -> None: expression="Jet.pt[:,1]", binning=(40, 0.0, 400.0), unit="GeV", - x_title=r"Jet 2 $p_{T}$", + x_title=r"Subleading jet $p_{T}$", ) add_variable( config, name="jet2_eta", expression="Jet.eta[:,1]", binning=(30, -3.0, 3.0), - x_title=r"Jet 2 $\eta$", + x_title=r"Subleading jet $\eta$", ) add_variable( config, name="jet2_phi", expression="Jet.phi[:,1]", binning=(34, -3.3, 3.3), - x_title=r"Jet 2 $\phi$", + x_title=r"Subleading jet $\phi$", ) add_variable( config, @@ -191,21 +191,21 @@ def add_variables(config: od.Config) -> None: expression="cutflow.jet1_pt", binning=(40, 0.0, 400.0), unit="GeV", - x_title=r"Jet 1 $p_{T}$", + x_title=r"Leading jet $p_{T}$", ) add_variable( config, name="cf_jet1_eta", expression="cutflow.jet1_eta", binning=(40, -5.0, 5.0), - x_title=r"Jet 1 $\eta$", + x_title=r"Leading jet $\eta$", ) add_variable( config, name="cf_jet1_phi", expression="cutflow.jet1_phi", binning=(34, -3.3, 3.3), - x_title=r"Jet 1 $\phi$", + x_title=r"Leading jet $\phi$", ) add_variable( config, @@ -213,7 +213,7 @@ def add_variables(config: od.Config) -> None: expression="cutflow.jet2_pt", binning=(40, 0.0, 400.0), unit="GeV", - x_title=r"Jet 2 $p_{T}$", + x_title=r"Subleading jet $p_{T}$", ) # variables of interest @@ -514,42 +514,42 @@ def build_hh(events, which=None): name="e1_pt", expression="Electron.pt[:, 0]", binning=(40, 0, 150), - x_title=r"Leading electron p$_{T}$", + x_title=r"Leading electron $p_{T}$", ) add_variable( config, name="e2_pt", expression="Electron.pt[:,1]", binning=(30, 0, 150), - x_title=r"Subleading electron p_{T}$", + x_title=r"Subleading electron $p_{T}$", ) add_variable( config, name="e1_eta", expression="Electron.eta[:,0]", binning=(25, -2.5, 2.5), - x_title=r"Leading electron \eta$", + x_title=r"Leading electron $\eta$", ) add_variable( config, name="e2_eta", expression="Electron.eta[:,1]", binning=(25, -2.5, 2.5), - x_title=r"Subleading electron \eta$", + x_title=r"Subleading electron $\eta$", ) add_variable( config, name="e1_phi", expression="Electron.phi[:,0]", binning=(34, -3.3, 3.3), - x_title=r"Leading electron \phi$", + x_title=r"Leading electron $\phi$", ) add_variable( config, name="e2_phi", expression="Electron.phi[:,1]", binning=(34, -3.3, 3.3), - x_title=r"Subleading electron \phi$", + x_title=r"Subleading electron $\phi$", ) # single tau @@ -565,35 +565,35 @@ def build_hh(events, which=None): name="tau2_pt", expression="Tau.pt[:,1]", binning=(30, 0, 150), - x_title=r"Subleading tau p_{T}$", + x_title=r"Subleading tau $p_{T}$", ) add_variable( config, name="tau1_eta", expression="Tau.eta[:,0]", binning=(25, -2.5, 2.5), - x_title=r"Leading tau \eta$", + x_title=r"Leading tau $\eta$", ) add_variable( config, name="tau2_eta", expression="Tau.eta[:,1]", binning=(25, -2.5, 2.5), - x_title=r"Subleading tau \eta$", + x_title=r"Subleading tau $\eta$", ) add_variable( config, name="tau1_phi", expression="Tau.phi[:,0]", binning=(34, -3.3, 3.3), - x_title=r"Leading tau \phi$", + x_title=r"Leading tau $\phi$", ) add_variable( config, name="tau2_phi", expression="Tau.phi[:,1]", binning=(34, -3.3, 3.3), - x_title=r"Subleading tau \phi$", + x_title=r"Subleading tau $\phi$", ) # single mu @@ -602,42 +602,42 @@ def build_hh(events, which=None): name="mu1_pt", expression="Muon.pt[:,0]", binning=(30, 0, 150), - x_title=r"Leading muon p_{T}$", + x_title=r"Leading muon $p_{T}$", ) add_variable( config, name="mu2_pt", expression="Muon.pt[:,1]", binning=(30, 0, 150), - x_title=r"Subleading muon p_{T}$", + x_title=r"Subleading muon $p_{T}$", ) add_variable( config, name="mu1_eta", expression="Muon.eta[:,0]", binning=(25, -2.5, 2.5), - x_title=r"Leading muon \eta$", + x_title=r"Leading muon $\eta$", ) add_variable( config, name="mu2_eta", expression="Muon.eta[:,1]", binning=(25, -2.5, 2.5), - x_title=r"Subleading muon \eta$", + x_title=r"Subleading muon $\eta$", ) add_variable( config, name="mu1_phi", expression="Muon.phi[:,0]", binning=(34, -3.3, 3.3), - x_title=r"Leading muon \phi$", + x_title=r"Leading muon $\phi$", ) add_variable( config, name="mu2_phi", expression="Muon.phi[:,1]", binning=(34, -3.3, 3.3), - x_title=r"Subleading muon \phi$", + x_title=r"Subleading muon $\phi$", ) for proc in ["hh", "tt", "dy"]: From d443d326fc82064ce45c5bb40b2b3ca365bcb1a6 Mon Sep 17 00:00:00 2001 From: Bogdan Wiederspan Date: Tue, 21 Jan 2025 15:06:32 +0100 Subject: [PATCH 11/13] switches jets in build_di_jets of higgs with 2 hhbtagged jets --- hbt/config/variables.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hbt/config/variables.py b/hbt/config/variables.py index 6b37dc69..ba94fcae 100644 --- a/hbt/config/variables.py +++ b/hbt/config/variables.py @@ -297,10 +297,10 @@ def build_dilep(events, which=None): build_dilep.inputs = ["{Electron,Muon,Tau}.{pt,eta,phi,mass}"] def build_dijet(events, which=None): - jets = events.Jet[:, :2] + hhbjets = events.HHBJet[:, :2] if which == "dr": - return delta_r12(jets) - dijet = jets.sum(axis=1) + return delta_r12(hhbjets) + dijet = hhbjets.sum(axis=1) if which is None: return dijet * 1 if which == "mass": From 856c47c61a6e03b7addbcd4e65cca294e4e2a472 Mon Sep 17 00:00:00 2001 From: Bogdan-Wiederspan <79155113+Bogdan-Wiederspan@users.noreply.github.com> Date: Tue, 21 Jan 2025 15:58:17 +0100 Subject: [PATCH 12/13] Apply suggestions from code review changed binning according to suggestions from nathan Co-authored-by: Nathan Prouvost <49162277+nprouvost@users.noreply.github.com> --- hbt/config/variables.py | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/hbt/config/variables.py b/hbt/config/variables.py index ba94fcae..7575eae3 100644 --- a/hbt/config/variables.py +++ b/hbt/config/variables.py @@ -204,7 +204,7 @@ def add_variables(config: od.Config) -> None: config, name="cf_jet1_phi", expression="cutflow.jet1_phi", - binning=(34, -3.3, 3.3), + binning=(66, -3.3, 3.3), x_title=r"Leading jet $\phi$", ) add_variable( @@ -317,7 +317,7 @@ def build_dijet(events, which=None): return dijet.energy raise ValueError(f"Unknown which: {which}") - build_dijet.inputs = ["Jet.{pt,eta,phi,mass}"] + build_dijet.inputs = ["HHBJet.{pt,eta,phi,mass}"] def build_hh(events, which=None): dijet = build_dijet(events) @@ -385,7 +385,7 @@ def build_hh(events, which=None): name="dijet_phi", expression=partial(build_dijet, which="phi"), aux={"inputs": build_dijet.inputs}, - binning=(34, -3.3, 3.3), + binning=(66, -3.3, 3.3), x_title=r"$\phi_{jj}$", ) add_variable( @@ -439,7 +439,7 @@ def build_hh(events, which=None): name="dilep_phi", expression=partial(build_dilep, which="phi"), aux={"inputs": build_dilep.inputs}, - binning=(34, -3.3, 3.3), + binning=(66, -3.3, 3.3), unit="GeV", x_title=r"$\phi_{ll}$", ) @@ -458,7 +458,7 @@ def build_hh(events, which=None): name="hh_energy", expression=partial(build_hh, which="energy"), aux={"inputs": build_hh.inputs}, - binning=(40, 100, 800), + binning=(35, 100, 800), unit="GeV", x_title=r"$E_{ll,jj}$", ) @@ -494,7 +494,7 @@ def build_hh(events, which=None): name="hh_phi", expression=partial(build_hh, which="phi"), aux={"inputs": build_hh.inputs}, - binning=(34, -3.3, 3.3), + binning=(66, -3.3, 3.3), unit="GeV", x_title=r"$\phi_{ll,jj}$", ) @@ -513,7 +513,7 @@ def build_hh(events, which=None): config, name="e1_pt", expression="Electron.pt[:, 0]", - binning=(40, 0, 150), + binning=(30, 0, 150), x_title=r"Leading electron $p_{T}$", ) add_variable( @@ -527,28 +527,28 @@ def build_hh(events, which=None): config, name="e1_eta", expression="Electron.eta[:,0]", - binning=(25, -2.5, 2.5), + binning=(50, -2.5, 2.5), x_title=r"Leading electron $\eta$", ) add_variable( config, name="e2_eta", expression="Electron.eta[:,1]", - binning=(25, -2.5, 2.5), + binning=(50, -2.5, 2.5), x_title=r"Subleading electron $\eta$", ) add_variable( config, name="e1_phi", expression="Electron.phi[:,0]", - binning=(34, -3.3, 3.3), + binning=(66, -3.3, 3.3), x_title=r"Leading electron $\phi$", ) add_variable( config, name="e2_phi", expression="Electron.phi[:,1]", - binning=(34, -3.3, 3.3), + binning=(66, -3.3, 3.3), x_title=r"Subleading electron $\phi$", ) @@ -557,7 +557,7 @@ def build_hh(events, which=None): config, name="tau1_pt", expression="Tau.pt[:, 0]", - binning=(40, 0, 150), + binning=(30, 0, 150), x_title=r"Leading tau p$_{T}$", ) add_variable( @@ -571,28 +571,28 @@ def build_hh(events, which=None): config, name="tau1_eta", expression="Tau.eta[:,0]", - binning=(25, -2.5, 2.5), + binning=(50, -2.5, 2.5), x_title=r"Leading tau $\eta$", ) add_variable( config, name="tau2_eta", expression="Tau.eta[:,1]", - binning=(25, -2.5, 2.5), + binning=(50, -2.5, 2.5), x_title=r"Subleading tau $\eta$", ) add_variable( config, name="tau1_phi", expression="Tau.phi[:,0]", - binning=(34, -3.3, 3.3), + binning=(66, -3.3, 3.3), x_title=r"Leading tau $\phi$", ) add_variable( config, name="tau2_phi", expression="Tau.phi[:,1]", - binning=(34, -3.3, 3.3), + binning=(66, -3.3, 3.3), x_title=r"Subleading tau $\phi$", ) @@ -615,28 +615,28 @@ def build_hh(events, which=None): config, name="mu1_eta", expression="Muon.eta[:,0]", - binning=(25, -2.5, 2.5), + binning=(50, -2.5, 2.5), x_title=r"Leading muon $\eta$", ) add_variable( config, name="mu2_eta", expression="Muon.eta[:,1]", - binning=(25, -2.5, 2.5), + binning=(50, -2.5, 2.5), x_title=r"Subleading muon $\eta$", ) add_variable( config, name="mu1_phi", expression="Muon.phi[:,0]", - binning=(34, -3.3, 3.3), + binning=(66, -3.3, 3.3), x_title=r"Leading muon $\phi$", ) add_variable( config, name="mu2_phi", expression="Muon.phi[:,1]", - binning=(34, -3.3, 3.3), + binning=(66, -3.3, 3.3), x_title=r"Subleading muon $\phi$", ) From ed5955994d123944d503a347a6cf379ce427999a Mon Sep 17 00:00:00 2001 From: Nathan Prouvost <49162277+nprouvost@users.noreply.github.com> Date: Tue, 21 Jan 2025 16:13:27 +0100 Subject: [PATCH 13/13] Apply suggestions from code review --- hbt/config/variables.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hbt/config/variables.py b/hbt/config/variables.py index 7575eae3..2d0cbfbc 100644 --- a/hbt/config/variables.py +++ b/hbt/config/variables.py @@ -91,7 +91,7 @@ def add_variables(config: od.Config) -> None: config, name="jet1_phi", expression="Jet.phi[:,0]", - binning=(34, -3.3, 3.3), + binning=(66, -3.3, 3.3), x_title=r"Leading jet $\phi$", ) add_variable( @@ -113,14 +113,14 @@ def add_variables(config: od.Config) -> None: config, name="jet2_phi", expression="Jet.phi[:,1]", - binning=(34, -3.3, 3.3), + binning=(66, -3.3, 3.3), x_title=r"Subleading jet $\phi$", ) add_variable( config, name="met_phi", expression="PuppiMET.phi", - binning=(34, -3.3, 3.3), + binning=(66, -3.3, 3.3), x_title=r"MET $\phi$", )