From 99999486e9170ef58d8c306fa58356883620fd40 Mon Sep 17 00:00:00 2001 From: Mathis Frahm Date: Thu, 11 Jan 2024 16:20:01 +0100 Subject: [PATCH] updates to the hbbhww processes --- cmsdb/processes/hh2bbww.py | 174 +++++++++++++++++++------------------ 1 file changed, 90 insertions(+), 84 deletions(-) diff --git a/cmsdb/processes/hh2bbww.py b/cmsdb/processes/hh2bbww.py index 5547d917..ab35eefd 100644 --- a/cmsdb/processes/hh2bbww.py +++ b/cmsdb/processes/hh2bbww.py @@ -49,6 +49,8 @@ from scinum import Number +import order as od + import cmsdb.constants as const from cmsdb.processes.higgs import ( hh_ggf, ggHH_kl_0_kt_1, ggHH_kl_1_kt_1, ggHH_kl_2p45_kt_1, ggHH_kl_5_kt_1, @@ -57,263 +59,267 @@ radion_hh_ggf, graviton_hh_ggf, ) +# +# Helper +# + +br_bbww_sl = const.br_hh.bbww * const.br_ww.sl +br_bbww_dl = const.br_hh.bbww * const.br_ww.dl + + +def multiply_xsecs(base_proc: od.Process, factor: float): + """ + Helper to multiply all cross sections of a base process *base_proc* + with some value *factor* + """ + xsecs = { + ecm: base_proc.get_xsec(ecm) * factor + for ecm in base_proc.xsecs.keys() + } + return xsecs + # # HH -> bbWW -> bbWWqqlnu # +ggHH_hbbhww = hh_ggf.add_process( + name="ggHH_hbbhww", + id=21200, + label=r"$HH_{ggf} \rightarrow bbWW$", +) + +qqHH_hbbhww = hh_vbf.add_process( + name="qqHH_hbbhww", + id=21201, + label=r"$HH_{vbf} \rightarrow bbWW$", +) + # # ggf, single lepton # -ggHH_sl_hbbhww = hh_ggf.add_process( +ggHH_sl_hbbhww = ggHH_hbbhww.add_process( name="ggHH_sl_hbbhww", id=21210, label=r"$HH_{ggf} \rightarrow bbWW(qql\nu)$", - xsecs={ - 13: hh_ggf.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl, - }, ) ggHH_kl_0_kt_1_sl_hbbhww = ggHH_kl_0_kt_1.add_process( name="ggHH_kl_0_kt_1_sl_hbbhww", id=21211, label=r"$HH_{ggf}^{\kappa\lambda=0} \rightarrow bbWW(qql\nu)$", - xsecs={ - 13: ggHH_kl_0_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl, - }, + xsecs=multiply_xsecs(ggHH_kl_0_kt_1, br_bbww_sl), ) ggHH_kl_1_kt_1_sl_hbbhww = ggHH_kl_1_kt_1.add_process( name="ggHH_kl_1_kt_1_sl_hbbhww", label=r"$HH_{ggf}^{\kappa\lambda=1} \rightarrow bbWW(qql\nu)$", id=21212, - xsecs={ - 13: ggHH_kl_1_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl, - }, + xsecs=multiply_xsecs(ggHH_kl_1_kt_1, br_bbww_sl), ) ggHH_kl_2p45_kt_1_sl_hbbhww = ggHH_kl_2p45_kt_1.add_process( name="ggHH_kl_2p45_kt_1_sl_hbbhww", label=r"$HH_{ggf}^{\kappa\lambda=2.45} \rightarrow bbWW(qql\nu)$", id=21213, - xsecs={ - 13: ggHH_kl_2p45_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl, - }, + xsecs=multiply_xsecs(ggHH_kl_2p45_kt_1, br_bbww_sl), ) ggHH_kl_5_kt_1_sl_hbbhww = ggHH_kl_5_kt_1.add_process( name="ggHH_kl_5_kt_1_sl_hbbhww", label=r"$HH_{ggf}^{\kappa\lambda=5} \rightarrow bbWW(qql\nu)$", id=21214, - xsecs={ - 13: ggHH_kl_5_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl, - }, + xsecs=multiply_xsecs(ggHH_kl_5_kt_1, br_bbww_sl), ) +# add process dependencies +ggHH_sl_hbbhww.add_process(ggHH_kl_0_kt_1_sl_hbbhww) +ggHH_sl_hbbhww.add_process(ggHH_kl_1_kt_1_sl_hbbhww) +ggHH_sl_hbbhww.add_process(ggHH_kl_2p45_kt_1_sl_hbbhww) +ggHH_sl_hbbhww.add_process(ggHH_kl_5_kt_1_sl_hbbhww) + # # ggf, dilepton # -ggHH_dl_hbbhww = hh_ggf.add_process( +ggHH_dl_hbbhww = ggHH_hbbhww.add_process( name="ggHH_dl_hbbhww", id=21220, label=r"$HH_{ggf} \rightarrow bbWW(l\nu l\nu)$", - xsecs={ - 13: hh_ggf.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl, - }, ) ggHH_kl_0_kt_1_dl_hbbhww = ggHH_kl_0_kt_1.add_process( name="ggHH_kl_0_kt_1_dl_hbbhww", id=21221, label=r"$HH_{ggf}^{\kappa\lambda=0} \rightarrow bbWW(l\nu l\nu)$", - xsecs={ - 13: ggHH_kl_0_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl, - }, + xsecs=multiply_xsecs(ggHH_kl_0_kt_1, br_bbww_dl), ) ggHH_kl_1_kt_1_dl_hbbhww = ggHH_kl_1_kt_1.add_process( name="ggHH_kl_1_kt_1_dl_hbbhww", label=r"$HH_{ggf}^{\kappa\lambda=1} \rightarrow bbWW(l\nu l\nu)$", id=21222, - xsecs={ - 13: ggHH_kl_1_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl, - }, + xsecs=multiply_xsecs(ggHH_kl_1_kt_1, br_bbww_dl), ) ggHH_kl_2p45_kt_1_dl_hbbhww = ggHH_kl_2p45_kt_1.add_process( name="ggHH_kl_2p45_kt_1_dl_hbbhww", label=r"$HH_{ggf}^{\kappa\lambda=2.45} \rightarrow bbWW(l\nu l\nu)$", id=21223, - xsecs={ - 13: ggHH_kl_2p45_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl, - }, + xsecs=multiply_xsecs(ggHH_kl_2p45_kt_1, br_bbww_dl), ) ggHH_kl_5_kt_1_dl_hbbhww = ggHH_kl_5_kt_1.add_process( name="ggHH_kl_5_kt_1_dl_hbbhww", label=r"$HH_{ggf}^{\kappa\lambda=5} \rightarrow bbWW(l\nu l\nu)$", id=21224, - xsecs={ - 13: ggHH_kl_5_kt_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl, - }, + xsecs=multiply_xsecs(ggHH_kl_5_kt_1, br_bbww_dl), ) + +# add process dependencies +ggHH_dl_hbbhww.add_process(ggHH_kl_0_kt_1_dl_hbbhww) +ggHH_dl_hbbhww.add_process(ggHH_kl_1_kt_1_dl_hbbhww) +ggHH_dl_hbbhww.add_process(ggHH_kl_2p45_kt_1_dl_hbbhww) +ggHH_dl_hbbhww.add_process(ggHH_kl_5_kt_1_dl_hbbhww) + # # VBF, single lepton # -qqHH_sl_hbbhww = hh_vbf.add_process( +qqHH_sl_hbbhww = qqHH_hbbhww.add_process( name="qqHH_sl_hbbhww", label=r"$HH_{vbf} \rightarrow bbWW(qql\nu)$", id=22210, - xsecs={ - 13: hh_vbf.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl, - }, ) qqHH_CV_1_C2V_1_kl_1_sl_hbbhww = qqHH_CV_1_C2V_1_kl_1.add_process( name="qqHH_CV_1_C2V_1_kl_1_sl_hbbhww", label=r"$HH_{vbf}^{1,1,1} \rightarrow bbWW(qql\nu)$", id=22211, - xsecs={ - 13: qqHH_CV_1_C2V_1_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl, - }, + xsecs=multiply_xsecs(qqHH_CV_1_C2V_1_kl_1, br_bbww_sl), ) qqHH_CV_1_C2V_1_kl_0_sl_hbbhww = qqHH_CV_1_C2V_1_kl_0.add_process( name="qqHH_CV_1_C2V_1_kl_0_sl_hbbhww", label=r"$HH_{vbf}^{1,1,0} \rightarrow bbWW(qql\nu)$", id=22212, - xsecs={ - 13: qqHH_CV_1_C2V_1_kl_0.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl, - }, + xsecs=multiply_xsecs(qqHH_CV_1_C2V_1_kl_0, br_bbww_sl), ) qqHH_CV_1_C2V_1_kl_2_sl_hbbhww = qqHH_CV_1_C2V_1_kl_2.add_process( name="qqHH_CV_1_C2V_1_kl_2_sl_hbbhww", label=r"$HH_{vbf}^{1,1,2} \rightarrow bbWW(qql\nu)$", id=22213, - xsecs={ - 13: qqHH_CV_1_C2V_1_kl_2.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl, - }, + xsecs=multiply_xsecs(qqHH_CV_1_C2V_1_kl_2, br_bbww_sl), ) qqHH_CV_1_C2V_0_kl_1_sl_hbbhww = qqHH_CV_1_C2V_0_kl_1.add_process( name="qqHH_CV_1_C2V_0_kl_1_sl_hbbhww", label=r"$HH_{vbf}^{1,0,1} \rightarrow bbWW(qql\nu)$", id=22214, - xsecs={ - 13: qqHH_CV_1_C2V_0_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl, - }, + xsecs=multiply_xsecs(qqHH_CV_1_C2V_0_kl_1, br_bbww_sl), ) qqHH_CV_1_C2V_2_kl_1_sl_hbbhww = qqHH_CV_1_C2V_2_kl_1.add_process( name="qqHH_CV_1_C2V_2_kl_1_sl_hbbhww", label=r"$HH_{vbf}^{1,2,1} \rightarrow bbWW(qql\nu)$", id=22215, - xsecs={ - 13: qqHH_CV_1_C2V_2_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl, - }, + xsecs=multiply_xsecs(qqHH_CV_1_C2V_2_kl_1, br_bbww_sl), ) - qqHH_CV_0p5_C2V_1_kl_1_sl_hbbhww = qqHH_CV_0p5_C2V_1_kl_1.add_process( name="qqHH_CV_0p5_C2V_1_kl_1_sl_hbbhww", label=r"$HH_{vbf}^{0.5,1,1} \rightarrow bbWW(qql\nu)$", id=22216, - xsecs={ - 13: qqHH_CV_0p5_C2V_1_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl, - }, + xsecs=multiply_xsecs(qqHH_CV_0p5_C2V_1_kl_1, br_bbww_sl), ) qqHH_CV_1p5_C2V_1_kl_1_sl_hbbhww = qqHH_CV_1p5_C2V_1_kl_1.add_process( name="qqHH_CV_1p5_C2V_1_kl_1_sl_hbbhww", label=r"$HH_{vbf}^{1.5,1,1} \rightarrow bbWW(qql\nu)$", id=22217, - xsecs={ - 13: qqHH_CV_1p5_C2V_1_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.sl, - }, + xsecs=multiply_xsecs(qqHH_CV_1p5_C2V_1_kl_1, br_bbww_sl), ) +# add process dependencies +qqHH_sl_hbbhww.add_process(qqHH_CV_1_C2V_1_kl_1_sl_hbbhww) +qqHH_sl_hbbhww.add_process(qqHH_CV_1_C2V_1_kl_0_sl_hbbhww) +qqHH_sl_hbbhww.add_process(qqHH_CV_1_C2V_1_kl_2_sl_hbbhww) +qqHH_sl_hbbhww.add_process(qqHH_CV_1_C2V_0_kl_1_sl_hbbhww) +qqHH_sl_hbbhww.add_process(qqHH_CV_1_C2V_2_kl_1_sl_hbbhww) +qqHH_sl_hbbhww.add_process(qqHH_CV_0p5_C2V_1_kl_1_sl_hbbhww) +qqHH_sl_hbbhww.add_process(qqHH_CV_1p5_C2V_1_kl_1_sl_hbbhww) + # # VBF, dilepton # -qqHH_dl_hbbhww = hh_vbf.add_process( +qqHH_dl_hbbhww = qqHH_hbbhww.add_process( name="qqHH_dl_hbbhww", label=r"$HH_{vbf} \rightarrow bbWW(l\nu l\nu)$", id=22220, - xsecs={ - 13: hh_vbf.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl, - }, ) qqHH_CV_1_C2V_1_kl_1_dl_hbbhww = qqHH_CV_1_C2V_1_kl_1.add_process( name="qqHH_CV_1_C2V_1_kl_1_dl_hbbhww", label=r"$HH_{vbf}^{1,1,1} \rightarrow bbWW(l\nu l\nu)$", id=22221, - xsecs={ - 13: qqHH_CV_1_C2V_1_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl, - }, + xsecs=multiply_xsecs(qqHH_CV_1_C2V_1_kl_1, br_bbww_sl), ) qqHH_CV_1_C2V_1_kl_0_dl_hbbhww = qqHH_CV_1_C2V_1_kl_0.add_process( name="qqHH_CV_1_C2V_1_kl_0_dl_hbbhww", label=r"$HH_{vbf}^{1,1,0} \rightarrow bbWW(l\nu l\nu)$", id=22222, - xsecs={ - 13: qqHH_CV_1_C2V_1_kl_0.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl, - }, + xsecs=multiply_xsecs(qqHH_CV_1_C2V_1_kl_0, br_bbww_sl), ) qqHH_CV_1_C2V_1_kl_2_dl_hbbhww = qqHH_CV_1_C2V_1_kl_2.add_process( name="qqHH_CV_1_C2V_1_kl_2_dl_hbbhww", label=r"$HH_{vbf}^{1,1,2} \rightarrow bbWW(l\nu l\nu)$", id=22223, - xsecs={ - 13: qqHH_CV_1_C2V_1_kl_2.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl, - }, + xsecs=multiply_xsecs(qqHH_CV_1_C2V_1_kl_2, br_bbww_sl), ) qqHH_CV_1_C2V_0_kl_1_dl_hbbhww = qqHH_CV_1_C2V_0_kl_1.add_process( name="qqHH_CV_1_C2V_0_kl_1_dl_hbbhww", label=r"$HH_{vbf}^{1,0,1} \rightarrow bbWW(l\nu l\nu)$", id=22224, - xsecs={ - 13: qqHH_CV_1_C2V_0_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl, - }, + xsecs=multiply_xsecs(qqHH_CV_1_C2V_0_kl_1, br_bbww_sl), ) qqHH_CV_1_C2V_2_kl_1_dl_hbbhww = qqHH_CV_1_C2V_2_kl_1.add_process( name="qqHH_CV_1_C2V_2_kl_1_dl_hbbhww", label=r"$HH_{vbf}^{1,2,1} \rightarrow bbWW(l\nu l\nu)$", id=22225, - xsecs={ - 13: qqHH_CV_1_C2V_2_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl, - }, + xsecs=multiply_xsecs(qqHH_CV_1_C2V_2_kl_1, br_bbww_sl), ) - qqHH_CV_0p5_C2V_1_kl_1_dl_hbbhww = qqHH_CV_0p5_C2V_1_kl_1.add_process( name="qqHH_CV_0p5_C2V_1_kl_1_dl_hbbhww", label=r"$HH_{vbf}^{0.5,1,1} \rightarrow bbWW(l\nu l\nu)$", id=22226, - xsecs={ - 13: qqHH_CV_0p5_C2V_1_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl, - }, + xsecs=multiply_xsecs(qqHH_CV_0p5_C2V_1_kl_1, br_bbww_sl), ) qqHH_CV_1p5_C2V_1_kl_1_dl_hbbhww = qqHH_CV_1p5_C2V_1_kl_1.add_process( name="qqHH_CV_1p5_C2V_1_kl_1_dl_hbbhww", label=r"$HH_{vbf}^{1.5,1,1} \rightarrow bbWW(l\nu l\nu)$", id=22227, - xsecs={ - 13: qqHH_CV_1p5_C2V_1_kl_1.get_xsec(13) * const.br_hh.bbww * const.br_ww.dl, - }, + xsecs=multiply_xsecs(qqHH_CV_1p5_C2V_1_kl_1, br_bbww_sl), ) +# add process dependencies +qqHH_dl_hbbhww.add_process(qqHH_CV_1_C2V_1_kl_1_dl_hbbhww) +qqHH_dl_hbbhww.add_process(qqHH_CV_1_C2V_1_kl_0_dl_hbbhww) +qqHH_dl_hbbhww.add_process(qqHH_CV_1_C2V_1_kl_2_dl_hbbhww) +qqHH_dl_hbbhww.add_process(qqHH_CV_1_C2V_0_kl_1_dl_hbbhww) +qqHH_dl_hbbhww.add_process(qqHH_CV_1_C2V_2_kl_1_dl_hbbhww) +qqHH_dl_hbbhww.add_process(qqHH_CV_0p5_C2V_1_kl_1_dl_hbbhww) +qqHH_dl_hbbhww.add_process(qqHH_CV_1p5_C2V_1_kl_1_dl_hbbhww) + # # ggF -> radion -> HH #