42 def __init__(self, name, metadata, numerators):
43 self.name = name
44
45 self.sumHisto = None
46
47 for key, histo in numerators.items():
48 denominator = 1.0
49 try:
50 if metadata['multiSliceDiJet']:
51 denominator = metadata['n_evts_weighted'+key]
52 else:
53 denominator = metadata['normalisation'+key]
54 except KeyError:
55 log.error(f"Key {key} not found in slice denominator dictionary")
56 histo.Scale(1/denominator)
57 if self.sumHisto is None:
58 self.sumHisto = histo
59 else:
60 self.sumHisto.Add(histo)
61 if metadata['doBinomialCorrection']: self.sumHisto = apply_pileup_correction(self.sumHisto, metadata)
62
63