HS3 plugin for spey interface
Project description
spey-hs3: HS3 Statistical Models in spey
- pyhs3
- Giordon's talk on pyhs3
- Example published hist factory for hs3 in hepdata
- convert hs3 to pyhf
How to use Spey-HS3 plug-in
simple_hs3 = {
"metadata": {"hs3_version": "0.2"},
"distributions": [
{
"name": "channel",
"type": "histfactory_dist",
"axes": [{"name": "obs", "edges": [0.0, 1.0, 2.0]}],
"samples": [
{
"name": "bkg",
"data": {"contents": [40.0, 60.0], "errors": [0.0, 0.0]},
"modifiers": [
{
"name": "mu_bkg",
"type": "normfactor",
"parameter": "mu_bkg",
},
{
"name": "bkg_sys",
"type": "normsys",
"parameter": "alpha_bkg",
"data": {"lo": 0.90, "hi": 1.10},
},
],
}
],
}
],
"parameter_points": [
{
"name": "nominal",
"parameters": [
{"name": "mu", "value": 1.0},
{"name": "mu_bkg", "value": 1.0, "const": True},
{"name": "alpha_bkg", "value": 0.0},
],
}
],
"domains": [
{
"name": "model_domain",
"type": "product_domain",
"axes": [
{"name": "mu", "min": -5.0, "max": 10.0},
{"name": "mu_bkg", "min": 0.0, "max": 3.0},
{"name": "alpha_bkg", "min": -5.0, "max": 5.0},
],
}
],
"data": [
{
"name": "observed",
"type": "binned",
"contents": [53, 57],
"axes": [{"name": "obs", "edges": [0.0, 1.0, 2.0]}],
}
],
"likelihoods": [{"name": "L", "distributions": ["channel"], "data": ["observed"]}],
"analyses": [
{
"name": "demo",
"likelihood": "L",
"domains": ["model_domain"],
"parameters_of_interest": ["mu"],
"init": "nominal",
}
],
}
# Signal: 5 events in each bin (injected as a new sample)
simple_signal = {"channel": {"signal": [5.0, 5.0]}}
HS3 = spey.get_backend("hs3")
simple_model = HS3(
hs3_dict=simple_hs3,
signal_yields=simple_signal,
mode="FAST_COMPILE",
)
cls_s_obs = simple_model.exclusion_confidence_level(
expected=spey.ExpectationType.observed
)
cls_s_exp = simple_model.exclusion_confidence_level(expected=spey.ExpectationType.apriori)
print(f"Observed CLs (mu=1) = {cls_s_obs[0]:.4f}")
print(f"Expected CLs (mu=1) = {cls_s_exp[2]:.4f}")
# Observed CLs (mu=1) = 0.2361
# Expected CLs (mu=1) = 0.5299
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
spey_hs3-0.0.1b1.tar.gz
(16.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spey_hs3-0.0.1b1.tar.gz.
File metadata
- Download URL: spey_hs3-0.0.1b1.tar.gz
- Upload date:
- Size: 16.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e8c2766554a6d4e2e378849f8a345482d8b154d63cb1cdf27f9d1e5a53ba2ac
|
|
| MD5 |
de536f934093b3e03d8c20a7d8748e20
|
|
| BLAKE2b-256 |
0c17d8e181f95602365f71e11000d339119e8f3e9980651bb9f982a644651703
|
File details
Details for the file spey_hs3-0.0.1b1-py3-none-any.whl.
File metadata
- Download URL: spey_hs3-0.0.1b1-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ed0726f7dd661f47f3ab7e668a4dc6ee5a33be11300000f207710deac6cbcf0
|
|
| MD5 |
93dff5422c2ebeb2d7cca68cbbc3de24
|
|
| BLAKE2b-256 |
a37448e0ab2aca8bcdfcda214e00de85c8032bfbf8561e453ed36a3d6a2b472c
|