Skip to content

Commit

Permalink
updates to the hbbhww processes
Browse files Browse the repository at this point in the history
  • Loading branch information
mafrahm committed Jan 11, 2024
1 parent 1f934fb commit 9999948
Showing 1 changed file with 90 additions and 84 deletions.
174 changes: 90 additions & 84 deletions cmsdb/processes/hh2bbww.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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
#
Expand Down

0 comments on commit 9999948

Please sign in to comment.