Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added data/lhc-hxswg/Higgs_cross_sections_YR5.xlsx
Binary file not shown.
1 change: 1 addition & 0 deletions data/lhc-hxswg/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
This folder contains easily accessible numbers for (B)SM Higgs predictions from the [LHCHXSWG](https://twiki.cern.ch/twiki/bin/view/LHCPhysics/LHCHXSWG).

Cross-sections and Branching ratios are sourced from the excel spreadsheet [here](https://twiki.cern.ch/twiki/pub/LHCPhysics/LHCHXSWG/Higgs_XSBR_YR4_update.xlsx), which you will also find in this directory.
YC5 cross-sections and citation in the spreadsheet [here](https://gitlab.cern.ch/LHCHIGGSXS/LHCHXSWG1/crosssections/-/blob/master/Higgs_cross_sections.xlsx?ref_type=heads)

For the coupling modifiers (kappa framework), under the `couplings` directory, the coefficients for the scaling functions are taken from the [this Twiki](https://twiki.cern.ch/twiki/bin/view/LHCPhysics/LHCHXSWG2KAPPA).

Expand Down
158 changes: 155 additions & 3 deletions data/lhc-hxswg/makeSMtables.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import logging
import sys
import os, sys

from openpyxl import load_workbook
Comment on lines 1 to +4

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Missing xlrd import causes NameError for legacy .xls files.

The code references xlrd at lines 301 and 304, but it is never imported. This will raise a NameError at runtime when attempting to open a non-.xlsx file.

🐛 Proposed fix: Add conditional import for xlrd
 import logging
 import os, sys
 
 from openpyxl import load_workbook
+
+try:
+    import xlrd
+except ImportError:
+    xlrd = None
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
import logging
import sys
import os, sys
from openpyxl import load_workbook
import logging
import os, sys
from openpyxl import load_workbook
try:
import xlrd
except ImportError:
xlrd = None
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@data/lhc-hxswg/makeSMtables.py` around lines 1 - 4, The code calls xlrd when
handling legacy .xls workbooks but never imports it, causing a NameError; add a
conditional (lazy) import of xlrd right before the .xls handling path so xlrd is
only required for legacy files, e.g., in the branch that decides between
load_workbook and xlrd (the logic around the .xls/.xlsx handling where xlrd is
referenced) import xlrd inside a try/except ImportError and raise a clear error
instructing the user to install xlrd if missing; ensure the import name is
exactly xlrd so the existing references resolve.


import xlrd

stdHeading = ("mH_GeV", "XS_pb", "Sca_Hi", "Sca_Lo", "Pdf_alpha_s", "Pdf", "alpha_s")
xsecGroups = {
Expand Down Expand Up @@ -38,7 +39,29 @@
"WplusH": {"col": "CO", "heading": reducedHeading},
}


#mH_GeV XS_pb Scale_pos Scale_neg Gauss PDF_plus_alpha_s PDF alpha_S
stdHeadingYR5 = ("mH_GeV", "XS_pb", "Sca_Hi", "Sca_Lo", "Pdf_alpha_S", "Total_Hi", "Total_Lo")
xsecGroupsYR5 = {
"ggH": { "col": "A", "heading": ("mH_GeV","XS_pb", "Sca_Hi", "Sca_Lo", "Pdf_TH", "Gauss", "Pdf_alpha_s", "Total_Hi","Total_Lo","Total_Gauss")},
"VBF": {"col": "L", "heading": stdHeadingYR5},
"WH" : {"col": "T", "heading": stdHeadingYR5 + ("XS_WplusH_pb", "XS_WminusH_pb")},
#"WplusH": {"col": "AA", "heading": ("XS_pb",)},
#"WminusH": {"col": "AB", "heading": ("XS_pb",)},
"ZH" : {"col": "AD", "heading": stdHeadingYR5 + ("XS_ggZH_pb",)},
#"ggZH" : {"col": "AK", "heading": ("XS_pb")},
"ttH" : {"col": "AM", "heading": stdHeadingYR5},
"bbH" : {"col": "AU", "heading": stdHeadingYR5},
"tH_tchan" : {"col": "BM", "heading": stdHeadingYR5 + ("XS_tH_pb", "XS_tbarH_pb")},
"tH_schan" : {"col": "BC", "heading": stdHeadingYR5 + ("XS_tH_pb", "XS_tbarH_pb")},
"tH_Wassoc" : {"col": "BW", "heading": stdHeadingYR5 },
}

specsYR5 = { key: {"rows": (6, 19), "groups": xsecGroupsYR5} for key in ["7 TeV", "8 TeV", "13 TeV", "13.6 TeV","14 TeV"] }


specs = {

"YR4 SM 7TeV": {
"rows": (6, 43),
"groups": xsecGroups,
Expand Down Expand Up @@ -183,6 +206,50 @@
#'sm/xs/7TeV/7TeV-ggH.txt'
}

## Add YR5 as well
specs = {**specs, **specsYR5}

def find_starting_points(o):
import string

def find_col_by_substring(vals, cols, offset, needle):
idx = next((i for i, val in enumerate(vals) if needle in str(val)), None)
if idx is None:
return None
return cols[idx + offset]

cols = [ x+c for x in ["","A","B","C"] for c in string.ascii_uppercase ]
d = {
"What": {"col": "A", "heading": cols }
}
specs = { key: {"rows": (2,2), "groups": d} for key in ["7 TeV", "8 TeV", "13 TeV", "13.6 TeV","14 TeV"] }
f = open_workbook(o.input)
for s in f.sheets():
spec = specs.get(s.name)
if spec is None:
logging.info("Skipping sheet [%s]: I do not have parsing rules for it.", s.name)
continue
logging.info("Processing sheet [" + s.name + "]")
for group, props in spec["groups"].items():
logging.info("Processing [" + group + "] in [" + s.name + "]")
# open output
# dump heading
heading = props["heading"]
startRow, endRow = spec["rows"]
startings={}
for r in range(startRow - 1, endRow):
offset = col2num(props["col"]) - 1
vals = s.row_values(r)[offset : offset + len(heading)]
print(vals)
for key in ['ggF', 'VBF', 'WH', 'ZH', 'ttH', 'bbH', 'tH (s-ch', 'tH (t-ch', 'tH (W-ass']:
col = find_col_by_substring(vals, cols, offset, key)
if col is not None:
startings[key] = col
print('------------------------------------------------------------')
print(s.name, startings)
print('------------------------------------------------------------')
print("==============================================================")


# import prettytable
def print_table(table):
Expand All @@ -207,6 +274,36 @@ def col2num(col_str):
# f = xlrd.open_workbook(file_contents=response.read())


class OpenPyXLSheet(object):
def __init__(self, ws):
self.name = ws.title
# values_only=True returns plain Python values; normalize None to ''
self._rows = [list(row) for row in ws.iter_rows(values_only=True)]

def row_values(self, idx):
row = self._rows[idx]
return ["" if v is None else v for v in row]


class OpenPyXLBook(object):
def __init__(self, wb):
self._sheets = [OpenPyXLSheet(ws) for ws in wb.worksheets]

def sheets(self):
return self._sheets


def open_workbook(path):
if path.lower().endswith(".xlsx"):
wb = load_workbook(filename=path, data_only=True, read_only=True)
return OpenPyXLBook(wb)

if xlrd is None:
raise RuntimeError("Legacy .xls input requires xlrd, but xlrd is not installed.")

return xlrd.open_workbook(path)


def formatval(v):
try:
# This is to remove pesky unicode symbols like \pm
Expand All @@ -217,7 +314,7 @@ def formatval(v):


def main(o):
f = xlrd.open_workbook(o.input)
f = open_workbook(o.input)
for s in f.sheets():
try:
spec = specs[s.name]
Expand Down Expand Up @@ -247,6 +344,54 @@ def main(o):

print_table(table)

if o.write:
# sm/xs/13TeV/13TeV-tHW.txt
sqrtS = s.name.replace(" ", "").replace(".", "p")
#13TeV-WH.txt 13TeV-ZH.txt 13TeV-bbH.txt 13TeV-ggH-NNLO-NLL.txt 13TeV-ggH.txt 13TeV-ggZH.txt 13TeV-tHW.txt 13TeV-tHq.txt 13TeV-ttH.txt 13TeV-vbfH.txt
procname = group[:]
if group == 'VBF': procname = 'vbfH'
if group == 'ZH': procname = 'ZH'
if group == 'tH_Wassoc': procname = 'tHW'

if True: ## thisi is the default behaviour
os.makedirs(f"sm/xs/{sqrtS}", exist_ok=True)
outname = f"sm/xs/{sqrtS}/{sqrtS}-{procname}.txt"
with open(outname, "w") as out:
for line in table:
out.write(" ".join(line) + "\n")
if group == 'tH_Wassoc' and sqrtS in ["7TeV", "8TeV"]:
## add 120 and 130 as duplicate of 125
for mh in [120, 130]:
line2 = list(table[1][:])
line2[0] = str(mh)
line2[1] = table[1][1] ## tHW XS_pb
out.write(" ".join(line2) + "\n")

if group == 'ZH':
outname = f"sm/xs/{sqrtS}/{sqrtS}-ggZH.txt"
with open(outname, "w") as out:
heading = ["mH_GeV","XS_pb" , "Sca_Hi" , "Sca_Lo" , "Pdf_alpha_S" ]
for idx,line in enumerate(table):
if idx == 0:
out.write(" ".join(heading) + "\n")
else:
line2 = list(line[:5])
line2[1] = line[7] ## ggZH XS_pb
out.write(" ".join(line2) + "\n")
#outname = f"sm/xs/{sqrtS}/{sqrtS}-qqZH.txt"
#with open(outname, "w") as out:
# heading = ["mH_GeV","XS_pb" , "Sca_Hi" , "Sca_Lo" , "Pdf_alpha_S" ]
# for idx,line in enumerate(table):
# if idx == 0:
# out.write(" ".join(heading) + "\n")
# else:
# line2 = list(line[:5])
# line2[1] = formatval( float(line[1])-float(line[7]) ) ## ZH - ggZH XS_pb
# out.write(" ".join(line2) + "\n")

#13TeV-WH.txt 13TeV-ZH.txt 13TeV-bbH.txt 13TeV-ggH-NNLO-NLL.txt 13TeV-ggH.txt 13TeV-ggZH.txt 13TeV-tHW.txt 13TeV-tHq.txt 13TeV-ttH.txt 13TeV-vbfH.txt README.txt



if __name__ == "__main__":
from optparse import OptionParser
Expand All @@ -262,6 +407,9 @@ def main(o):
help="Set the minimum logging level.",
)

parser.add_option("-x","--find-starting-points", action="store_true", help="Find the starting points for the tables, and exit.", default=False)
parser.add_option("-w","--write", action="store_true", help="Write",default=False)

o, args = parser.parse_args()

if not o.input:
Expand All @@ -271,4 +419,8 @@ def main(o):

logging.debug("%s" % str(o))

if o.find_starting_points:
print("Finding starting points for the tables...")
sys.exit(find_starting_points(o))

sys.exit(main(o))
28 changes: 19 additions & 9 deletions data/lhc-hxswg/sm/makeAllSMSplines.C
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

const std::string location = "./"; //"$CMSSW_BASE/src/HiggsAnalysis/CombinedLimit/data/lhc-hxswg/sm/";
const int nxs = 9;
const int nxs = 10;
const int nbr = 11;
const int nbr4f = 14;

Expand Down Expand Up @@ -35,32 +35,42 @@ void makeBRSplines(){
fout->Close();
}

char* formatSqrtS(float sqrts){
if (fabs(sqrts - 13.6)<0.001) return Form("13p6TeV");
return Form("%dTeV",(int)sqrts);
}

void makeXSSplines(int sqrts=13){

TFile *fout = new TFile(Form("sm_yr4_%dTeV.root",sqrts),"RECREATE");
RooWorkspace ws(Form("xs_%dTeV",sqrts),Form("xs_%dTeV",sqrts));
TFile *fout = new TFile(Form("sm_yr5_%s.root",formatSqrtS(sqrts)),"RECREATE");
RooWorkspace ws(Form("xs_%s",formatSqrtS(sqrts)),Form("xs_%s",formatSqrtS(sqrts)));

RooRealVar MH("MH","MH",125.09,120,130); MH.setConstant();

std::string xs[nxs] = {"WH","ZH","bbH","ggH","ttH","vbfH","ggZH","tHW","tHq"};
//std::string xs[nxs] = {"WH","ZH","bbH","ggH","ttH","vbfH","ggZH","tHW","tHq","qqZH"};
std::string xs[nxs] = {"WH","ZH","bbH","ggH","ttH","vbfH","ggZH","tHW","tH_schan", "tH_tchan"};

for (int xsi=0;xsi<nxs;xsi++){
std::string name = xs[xsi];
if (name=="WH"){
RooSpline1D splineP(Form("WplusH_%dTeV",sqrts),Form("file %dTeV/%dTeV-%s.txt, x=%d, y=%d",sqrts,sqrts,name.c_str(),0,7),MH,Form("%s/xs/%dTeV/%dTeV-%s.txt",location.c_str(),sqrts,sqrts,name.c_str()),0,7,1,"CSPLINE");
RooSpline1D splineM(Form("WminusH_%dTeV",sqrts),Form("file %dTeV/%dTeV-%s.txt, x=%d, y=%d",sqrts,sqrts,name.c_str(),0,8),MH,Form("%s/xs/%dTeV/%dTeV-%s.txt",location.c_str(),sqrts,sqrts,name.c_str()),0,8,1,"CSPLINE");
RooSpline1D splineP(Form("WplusH_%s",formatSqrtS(sqrts)),Form("file %s/%s-%s.txt, x=%d, y=%d",formatSqrtS(sqrts),formatSqrtS(sqrts),name.c_str(),0,7),MH,Form("%s/xs/%s/%s-%s.txt",location.c_str(),formatSqrtS(sqrts),formatSqrtS(sqrts),name.c_str()),0,7,1,"CSPLINE");
RooSpline1D splineM(Form("WminusH_%s",formatSqrtS(sqrts)),Form("file %s/%s-%s.txt, x=%d, y=%d",formatSqrtS(sqrts),formatSqrtS(sqrts),name.c_str(),0,8),MH,Form("%s/xs/%s/%s-%s.txt",location.c_str(),formatSqrtS(sqrts),formatSqrtS(sqrts),name.c_str()),0,8,1,"CSPLINE");
ws.import(splineM);
ws.import(splineP);

}
RooSpline1D spline(Form("%s_%dTeV",name.c_str(),sqrts),Form("file %dTeV/%dTeV-%s.txt, x=%d, y=%d",sqrts,sqrts,name.c_str(),0,1),MH,Form("%s/xs/%dTeV/%dTeV-%s.txt",location.c_str(),sqrts,sqrts,name.c_str()),0,1,1,"CSPLINE");
RooSpline1D spline(Form("%s_%s",name.c_str(),formatSqrtS(sqrts)),Form("file %s/%s-%s.txt, x=%d, y=%d",formatSqrtS(sqrts),formatSqrtS(sqrts),name.c_str(),0,1),MH,Form("%s/xs/%s/%s-%s.txt",location.c_str(),formatSqrtS(sqrts),formatSqrtS(sqrts),name.c_str()),0,1,1,"CSPLINE");
ws.import(spline);
}

// make the spline for qqZH
RooFormulaVar spline_qqZH(Form("qqZH_%dTeV",sqrts),Form("qqZH (ZH-ggZH) - %dTeV",sqrts),"@0-@1",RooArgList(*ws.function(Form("ZH_%dTeV",sqrts)),*ws.function(Form("ggZH_%dTeV",sqrts))));
RooFormulaVar spline_qqZH(Form("qqZH_%s",formatSqrtS(sqrts)),Form("qqZH (ZH-ggZH) - %s",formatSqrtS(sqrts)),"@0-@1",RooArgList(*ws.function(Form("ZH_%s",formatSqrtS(sqrts))),*ws.function(Form("ggZH_%s",formatSqrtS(sqrts)))));
ws.import(spline_qqZH);


//make tHq splines as tHq = tH_schan + tH_tchan
RooFormulaVar spline_tHq(Form("tHq_%s",formatSqrtS(sqrts)),Form("tHq (tH_schan + tH_tchan) - %s",formatSqrtS(sqrts)),"@0+@1",RooArgList(*ws.function(Form("tH_schan_%s",formatSqrtS(sqrts))),*ws.function(Form("tH_tchan_%s",formatSqrtS(sqrts)))));
ws.import(spline_tHq);

ws.Print();
fout->cd();
ws.Write();
Expand Down
Binary file added data/lhc-hxswg/sm/sm_yr5_13TeV.root
Binary file not shown.
Binary file added data/lhc-hxswg/sm/sm_yr5_14TeV.root
Binary file not shown.
Binary file added data/lhc-hxswg/sm/sm_yr5_7TeV.root
Binary file not shown.
Binary file added data/lhc-hxswg/sm/sm_yr5_8TeV.root
Binary file not shown.
54 changes: 15 additions & 39 deletions data/lhc-hxswg/sm/xs/13TeV/13TeV-WH.txt
Original file line number Diff line number Diff line change
@@ -1,39 +1,15 @@
mH_GeV XS_pb Scale_pos Scale_neg PDF_plus_alpha_s PDF alpha_S XS_W_plus_pb XS_W_minus_pb
120.00 1.565E+00 +0.5 -0.6 1.8 1.6 0.9 9.560E-01 6.092E-01
120.50 1.545E+00 +0.5 -0.7 1.8 1.6 0.9 9.442E-01 6.007E-01
121.00 1.525E+00 +0.5 -0.7 1.8 1.7 0.9 9.323E-01 5.924E-01
121.50 1.505E+00 +0.4 -0.7 1.8 1.7 0.9 9.204E-01 5.845E-01
122.00 1.485E+00 +0.4 -0.7 1.8 1.7 0.9 9.086E-01 5.764E-01
122.50 1.466E+00 +0.5 -0.8 1.9 1.7 0.9 8.968E-01 5.693E-01
123.00 1.446E+00 +0.6 -0.7 1.9 1.7 0.9 8.840E-01 5.618E-01
123.50 1.427E+00 +0.6 -0.7 1.9 1.7 0.9 8.722E-01 5.545E-01
124.00 1.408E+00 +0.6 -0.6 1.9 1.7 0.9 8.612E-01 5.465E-01
124.10 1.404E+00 +0.5 -0.6 1.9 1.7 0.9 8.590E-01 5.454E-01
124.20 1.401E+00 +0.5 -0.6 1.9 1.7 0.9 8.568E-01 5.440E-01
124.30 1.398E+00 +0.6 -0.7 1.9 1.7 0.9 8.548E-01 5.429E-01
124.40 1.394E+00 +0.5 -0.7 1.9 1.7 0.9 8.527E-01 5.415E-01
124.50 1.390E+00 +0.6 -0.6 1.9 1.7 0.9 8.500E-01 5.395E-01
124.60 1.387E+00 +0.5 -0.7 1.9 1.7 0.9 8.487E-01 5.386E-01
124.70 1.383E+00 +0.5 -0.7 1.9 1.7 0.9 8.463E-01 5.372E-01
124.80 1.380E+00 +0.5 -0.8 1.9 1.7 0.9 8.441E-01 5.360E-01
124.90 1.376E+00 +0.5 -0.7 1.9 1.7 0.9 8.418E-01 5.345E-01
125.00 1.373E+00 +0.5 -0.7 1.9 1.7 0.9 8.399E-01 5.327E-01
125.09 1.369E+00 +0.5 -0.7 1.9 1.7 0.9 8.380E-01 5.313E-01
125.10 1.369E+00 +0.5 -0.7 1.9 1.7 0.9 8.377E-01 5.313E-01
125.20 1.365E+00 +0.6 -0.7 1.9 1.7 0.9 8.355E-01 5.297E-01
125.30 1.362E+00 +0.6 -0.7 1.9 1.7 0.9 8.334E-01 5.282E-01
125.40 1.358E+00 +0.6 -0.7 1.9 1.7 0.9 8.313E-01 5.272E-01
125.50 1.355E+00 +0.5 -0.7 1.9 1.7 0.9 8.291E-01 5.259E-01
125.60 1.351E+00 +0.5 -0.6 1.9 1.7 0.9 8.270E-01 5.243E-01
125.70 1.347E+00 +0.5 -0.6 1.9 1.7 0.9 8.243E-01 5.231E-01
125.80 1.344E+00 +0.6 -0.7 1.9 1.7 0.9 8.224E-01 5.217E-01
125.90 1.341E+00 +0.5 -0.8 1.9 1.7 0.9 8.212E-01 5.202E-01
126.00 1.337E+00 +0.6 -0.8 1.9 1.7 0.9 8.184E-01 5.187E-01
126.50 1.320E+00 +0.6 -0.7 1.9 1.7 0.9 8.080E-01 5.123E-01
127.00 1.304E+00 +0.5 -0.7 1.8 1.7 0.9 7.987E-01 5.051E-01
127.50 1.287E+00 +0.6 -0.7 1.8 1.7 0.9 7.879E-01 4.988E-01
128.00 1.271E+00 +0.5 -0.7 1.8 1.7 0.9 7.785E-01 4.923E-01
128.50 1.255E+00 +0.5 -0.7 1.8 1.7 0.9 7.686E-01 4.863E-01
129.00 1.239E+00 +0.5 -0.7 1.8 1.7 0.9 7.593E-01 4.801E-01
129.50 1.224E+00 +0.5 -0.7 1.8 1.7 0.9 7.500E-01 4.738E-01
130.00 1.209E+00 +0.4 -0.7 1.8 1.7 0.9 7.413E-01 4.676E-01
mH_GeV XS_pb Sca_Hi Sca_Lo Pdf_alpha_S Total_Hi Total_Lo XS_WplusH_pb XS_WminusH_pb
+120 +1.577 +0.462 -0.737 +1.878 +1.93399276110331 -2.01743723570276 +0.96758 +0.60942
+122 +1.49564 +0.478 -0.738 +1.878 +1.9378771890912 -2.01780276538615 +0.91838 +0.57726
+124 +1.41948 +0.492 -0.74 +1.875 +1.93847594774864 -2.01574427941641 +0.87229 +0.54719
+124.6 +1.39766 +0.48 -0.751 +1.884 +1.94418517636567 -2.02816592023434 +0.85909 +0.53857
+124.8 +1.3903 +0.484 -0.748 +1.88 +1.94130265543526 -2.02333981327902 +0.85464 +0.53566
+125 +1.383 +0.495 -0.746 +1.876 +1.9402064323159 -2.01888385005181 +0.8502 +0.5328
+125.09 +1.37987 +0.49 -0.747 +1.884 +1.94667819631289 -2.02668818519278 +0.84835 +0.53152
+125.2 +1.37605 +0.485 -0.751 +1.883 +1.94445725075148 -2.02723703596792 +0.846 +0.53005
+125.3 +1.3724 +0.492 -0.749 +1.887 +1.9500853827461 -2.03021427440554 +0.84378 +0.52862
+125.38 +1.36958 +0.494 -0.748 +1.887 +1.95059093610116 -2.0298455606277 +0.84204 +0.52754
+125.6 +1.3618 +0.483 -0.748 +1.881 +1.9420221419953 -2.02426900386288 +0.83732 +0.52448
+126 +1.34784 +0.497 -0.751 +1.884 +1.94845194962565 -2.02816592023434 +0.82888 +0.51896
+128 +1.28052 +0.504 -0.754 +1.891 +1.95701226363046 -2.03577921199721 +0.78806 +0.49246
+130 +1.21702 +0.507 -0.759 +1.902 +1.96841382844157 -2.04784887137699 +0.74959 +0.46743
54 changes: 15 additions & 39 deletions data/lhc-hxswg/sm/xs/13TeV/13TeV-ZH.txt
Original file line number Diff line number Diff line change
@@ -1,39 +1,15 @@
mH_GeV XS_pb Scale_pos Scale_neg PDF_plus_alpha_s PDF alpha_S
120.00 9.939E-01 +3.4 -3.0 1.6 1.3 1.0
120.50 9.829E-01 +3.4 -3.0 1.6 1.3 1.0
121.00 9.705E-01 +3.5 -3.0 1.6 1.3 1.0
121.50 9.591E-01 +3.6 -3.0 1.6 1.3 1.0
122.00 9.485E-01 +3.6 -3.0 1.6 1.3 1.0
122.50 9.371E-01 +3.6 -3.0 1.6 1.3 0.9
123.00 9.266E-01 +3.6 -3.1 1.6 1.3 0.9
123.50 9.157E-01 +3.5 -3.1 1.6 1.3 0.9
124.00 9.051E-01 +3.6 -3.1 1.6 1.3 0.9
124.10 9.037E-01 +3.7 -3.2 1.6 1.3 0.9
124.20 9.008E-01 +3.8 -3.0 1.6 1.3 0.9
124.30 8.988E-01 +3.7 -3.1 1.6 1.3 0.9
124.40 8.964E-01 +3.7 -3.0 1.6 1.3 0.9
124.50 8.943E-01 +3.8 -3.0 1.6 1.3 0.9
124.60 8.923E-01 +3.8 -3.0 1.6 1.3 0.9
124.70 8.902E-01 +3.8 -3.1 1.6 1.3 0.9
124.80 8.884E-01 +3.7 -3.1 1.6 1.3 0.9
124.90 8.858E-01 +3.9 -3.1 1.6 1.3 0.9
125.00 8.839E-01 +3.8 -3.1 1.6 1.3 0.9
125.09 8.824E-01 +3.8 -3.0 1.6 1.3 0.9
125.10 8.819E-01 +3.9 -3.0 1.6 1.3 0.9
125.20 8.800E-01 +3.8 -3.1 1.6 1.3 0.9
125.30 8.783E-01 +3.8 -3.1 1.6 1.3 0.9
125.40 8.767E-01 +3.8 -3.1 1.6 1.3 0.9
125.50 8.744E-01 +3.7 -3.1 1.6 1.3 0.9
125.60 8.728E-01 +3.8 -3.1 1.6 1.3 0.9
125.70 8.703E-01 +3.8 -3.0 1.6 1.3 0.9
125.80 8.690E-01 +3.7 -3.2 1.6 1.3 0.9
125.90 8.668E-01 +3.8 -3.1 1.6 1.3 0.9
126.00 8.649E-01 +3.8 -3.1 1.6 1.3 0.9
126.50 8.549E-01 +3.7 -3.2 1.6 1.3 0.9
127.00 8.446E-01 +3.7 -3.2 1.6 1.3 0.9
127.50 8.350E-01 +3.8 -3.2 1.6 1.3 0.9
128.00 8.255E-01 +3.9 -3.1 1.6 1.3 0.9
128.50 8.161E-01 +3.9 -3.2 1.6 1.3 0.9
129.00 8.073E-01 +3.8 -3.2 1.6 1.3 0.9
129.50 7.980E-01 +3.9 -3.2 1.6 1.3 0.9
130.00 7.899E-01 +3.9 -3.2 1.6 1.3 0.9
mH_GeV XS_pb Sca_Hi Sca_Lo Pdf_alpha_S Total_Hi Total_Lo XS_ggZH_pb
+120 +0.999 +2.8 -2.5 +1.66 +3.2550883244545 -3.0009331881933 +0.1252
+122 +0.953 +2.8 -2.5 +1.66 +3.2550883244545 -3.0009331881933 +0.1225
+124 +0.909 +2.9 -2.5 +1.65 +3.33654012414057 -2.99541316015003 +0.1198
+124.6 +0.896 +2.9 -2.5 +1.66 +3.34149667065523 -3.0009331881933 +0.119
+124.8 +0.892 +2.9 -2.5 +1.66 +3.34149667065523 -3.0009331881933 +0.1187
+125 +0.888 +2.9 -2.6 +1.65 +3.33654012414057 -3.07936681803256 +0.1184
+125.09 +0.886 +2.9 -2.6 +1.65 +3.33654012414057 -3.07936681803256 +0.1183
+125.2 +0.884 +2.9 -2.6 +1.65 +3.33654012414057 -3.07936681803256 +0.1182
+125.3 +0.882 +2.9 -2.6 +1.64 +3.3316062192282 -3.07402016909454 +0.118
+125.38 +0.88 +2.9 -2.6 +1.65 +3.33654012414057 -3.07936681803256 +0.1179
+125.6 +0.876 +2.9 -2.6 +1.65 +3.33654012414057 -3.07936681803256 +0.1176
+126 +0.868 +2.9 -2.6 +1.65 +3.33654012414057 -3.07936681803256 +0.1171
+128 +0.829 +3 -2.6 +1.65 +3.423813663154 -3.07936681803256 +0.1144
+130 +0.792 +3.054 -2.6 +1.66 +3.47599136937939 -3.08473661760611 +0.1117
Loading
Loading