Skip to content
Snippets Groups Projects
Commit c21a15b0 authored by Maxim Gonchar's avatar Maxim Gonchar
Browse files

Squashed 'subtrees/dagflow/' changes from 7cbf4e41a..a907500f0

a907500f0 feat: load_parameters, create multiple nuisance χ² parts based on the name

git-subtree-dir: subtrees/dagflow
git-subtree-split: a907500f0b7d4e467d97db14bcf598bc113c0d12
parent a30a7897
No related branches found
No related tags found
No related merge requests found
......@@ -202,17 +202,21 @@ def load_parameters(acfg):
subkeys = cfg['replicate']
normpars = []
normpars = {}
for key_general, varcfg in iterate_varcfgs(cfg):
key_general_str = '.'.join(key_general)
varcfg.setdefault(state, True)
normpars_i = normpars.setdefault(key_general[0], [])
for subkey in subkeys:
key = key_general + subkey
key_str = '.'.join(key)
label = varcfg['label']
subkey_str = '.'.join(subkey)
label = varcfg['label'].copy()
label['key'] = key_str
label.setdefault('text', key_str)
varcfg.setdefault(state, True)
par = Parameters.from_numbers(**varcfg)
if par.is_constrained:
target = ('constrained', path)
......@@ -221,22 +225,23 @@ def load_parameters(acfg):
else:
target = ('free', path)
ret[('parameter_node',)+target+key] = par
ret[('parameter_node',)+target+key] = par
ptarget = ('parameter', target)
for subpar in par.parameters:
ret[ptarget+key] = subpar
ptarget = ('parameter', target)
for subpar in par.parameters:
ret[ptarget+key] = subpar
ntarget = ('parameter', 'normalized', path)
for subpar in par.norm_parameters:
ret[ntarget+key] = subpar
ntarget = ('parameter', 'normalized', path)
for subpar in par.norm_parameters:
ret[ntarget+key] = subpar
normpars.append(subpar)
normpars_i.append(subpar)
if normpars:
ssq = SumSq(f'nuisance for {pathstr}')
(n.output for n in normpars) >> ssq
ssq.close()
ret[('stat', 'nuisance_parts', path)] = ssq
for name, np in normpars.items():
if np:
ssq = SumSq(f'nuisance for {pathstr}.{name}')
(n.output for n in np) >> ssq
ssq.close()
ret[('stat', 'nuisance_parts', path, name)] = ssq
return ret
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment