Skip to content

Commit 83645d6

Browse files
committed
fix typo
1 parent 1eedbe4 commit 83645d6

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/pyhf/contrib/extended_modifiers/purefunc.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,14 @@ def __init__(self, pdfconfig):
1313
self.config = pdfconfig
1414
self.required_parsets = {}
1515
self.builder_data = {'local': {},'global': {'symbols': set()}}
16+
self.encountered_expressions = {}
1617

1718
def collect(self, thismod, nom):
1819
maskval = True if thismod else False
1920
mask = [maskval] * len(nom)
2021
return {'mask': mask}
2122

22-
def require_synbols_as_scalars(self, symbols):
23+
def require_symbols_as_scalars(self, symbols):
2324
param_spec = {
2425
p:
2526
[{
@@ -52,15 +53,16 @@ def append(self, key, channel, sample, thismod, defined_samp):
5253
parsed = parser.parse_expr(formula)
5354
free_symbols = parsed.free_symbols
5455
for x in free_symbols:
55-
self.builder_data['global'].setdefault('symbols',set()).add(x)
56+
if x not in self.encountered_expressions:
57+
self.builder_data['global'].setdefault('symbols',set()).add(x)
5658
else:
5759
parsed = None
5860
self.builder_data['local'].setdefault(key,{}).setdefault(sample,{}).setdefault('channels',{}).setdefault(channel,{})['parsed'] = parsed
5961

6062
def finalize(self):
6163
list_of_symbols = [str(x) for x in self.builder_data['global']['symbols']]
6264

63-
self.required_parsets = self.require_synbols_as_scalars(list_of_symbols)
65+
self.required_parsets = self.require_symbols_as_scalars(list_of_symbols)
6466

6567
self.builder_data['global']['symbol_names'] = list_of_symbols
6668
for modname, modspec in self.builder_data['local'].items():

0 commit comments

Comments
 (0)