Skip to content

Commit

Permalink
add links and correct values branching ratios W, Z and H
Browse files Browse the repository at this point in the history
  • Loading branch information
nprouvost committed Feb 19, 2024
1 parent 04a894c commit 729f626
Showing 1 changed file with 38 additions and 8 deletions.
46 changes: 38 additions & 8 deletions cmsdb/constants/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,17 @@
Scientific constants.
"""

from scinum import Number, Correlation
from scinum import Number, Correlation, combine_uncertainties

from cmsdb.util import DotDict


# misc
n_leps = Number(3)

# Z and W branching ratios and masses from
# https://pdg.lbl.gov/2023/tables/contents_tables.html
# Cut-off date for Listings/Summary Tables was Jan. 15, 2023, content of the 2023 Review of Particle Physics

# masses
m_z = Number(91.1876, {"z_mass": 0.0021})

Expand All @@ -23,22 +26,49 @@
br_ww = DotDict(
fh=br_w.had ** 2,
dl=br_w.lep ** 2,
sl=2 * ((br_w.had * Correlation(br_w_had=-1)) * br_w.lep),
sl=2 * ((br_w.had * Correlation(br_w_had=-1)) * br_w.lep), # what does this correlation term do?
)

br_z = DotDict(
qq=Number(0.69911, {"br_z_qq": 0.00056}),
clep=Number(0.033658, {"br_z_clep": 0.000023}) * n_leps,
)

# higgs branching ratios from lhchwg, taken for mH = 125GeV
# https://twiki.cern.ch/twiki/bin/view/LHCPhysics/CERNYellowReportPageBR?rev=23

# explanation on uncertainties and how to combine them:
# https://cds.cern.ch/record/1416519/files/CERN-2012-002.pdf?version=1
# section 2.1.3 : procedure to determine uncertainties


br_h_ww_full = Number(0.2137, {"theo": (0.0099j, 0.0099j), "m_q": (0.0099j, 0.0098j), "alpha_s": (0.0066j, 0.0063j)})
br_h_zz_full = Number(0.02619, {"theo": (0.0099j, 0.0099j), "m_q": (0.0099j, 0.0098j), "alpha_s": (0.0066j, 0.0063j)})
br_h_gg_full = Number(0.002270, {"theo": (0.0173j, 0.0172j), "m_q": (0.0093j, 0.0099j), "alpha_s": (0.0061j, 0.0062j)})
br_h_bb_full = Number(0.5824, {"theo": (0.0065j, 0.0065j), "m_q": (0.0072j, 0.0074j), "alpha_s": (0.0078j, 0.0080j)})
br_h_tt_full = Number(0.06272, {"theo": (0.0117j, 0.0116j), "m_q": (0.0098j, 0.0099j), "alpha_s": (0.0062j, 0.0062j)})


def combine_uncertainties_higgs_br(number: Number):
parametric_uncertainties = {
direction: combine_uncertainties("+", number.u("m_q", direction), number.u("alpha_s", direction), rho=0)
for direction in ["up", "down"]
}
return (
combine_uncertainties("+", number.u("theo", direction), parametric_uncertainties[direction], rho=1)
for direction in ["up", "down"]
)


br_h = DotDict(
ww=Number(0.2152, {"br_h_ww": (0.0153j, 0.0152j)}),
zz=Number(0.02641, {"br_h_zz": (0.0153j, 0.0152j)}),
gg=Number(0.002270, {"br_h_gg": (0.0205j, 0.0209j)}),
bb=Number(0.5809, {"br_h_bb": (0.0124j, 0.0126j)}),
tt=Number(0.06256, {"br_h_tt": (0.0165j, 0.0163j)}),
ww=Number(br_h_ww_full.n, {"br_h_ww": tuple(combine_uncertainties_higgs_br(br_h_ww_full))}),
zz=Number(br_h_zz_full.n, {"br_h_zz": tuple(combine_uncertainties_higgs_br(br_h_zz_full))}),
gg=Number(br_h_gg_full.n, {"br_h_gg": tuple(combine_uncertainties_higgs_br(br_h_gg_full))}),
bb=Number(br_h_bb_full.n, {"br_h_bb": tuple(combine_uncertainties_higgs_br(br_h_bb_full))}),
tt=Number(br_h_tt_full.n, {"br_h_tt": tuple(combine_uncertainties_higgs_br(br_h_tt_full))}),
)


br_hh = DotDict(
bbbb=br_h.bb ** 2,
bbvv=2 * br_h.bb * (br_h.ww + br_h.zz),
Expand Down

0 comments on commit 729f626

Please sign in to comment.