def benchmark_sv(self, pto): """Scale Variation""" th = self.vfns_theory.copy() th.update({"PTO": [pto], "XIR": [0.7071067811865475, 1.4142135623730951]}) self.run( cartesian_product(th), operators.build(operators.apfel_config), ["ToyLH"] )
def benchmark_plain(self, pto): """Plain configuration""" th = self.vfns_theory.copy() th.update({"PTO": [pto]}) self.run( cartesian_product(th), operators.build(operators.apfel_config), ["ToyLH"] )
def benchmark_sv(self, pto): """Scale Variation""" th = self.zm_theory.copy() th.update({ "PTO": [pto], "fact_to_ren_scale_ratio": [np.sqrt(0.5), np.sqrt(2.0)], }) self.run(cartesian_product(th), operators.build(operators.pegasus_config), ["ToyLH"])
def benchmark_kthr(self, pto): """Threshold scale different from heavy quark mass""" th = self.vfns_theory.copy() th.update( { "PTO": [pto], "kcThr": [1.23], "kbThr": [1.45], } ) self.run( cartesian_product(th), operators.build(operators.apfel_config), ["ToyLH"] )
def benchmark_sv(self, pto): """Scale Variation""" ts = [] th = self.ffns_theory.copy() th.update( { "PTO": [pto], "XIR": [np.sqrt(0.5)], "fact_to_ren_scale_ratio": [np.sqrt(2.0)], } ) ts.extend(cartesian_product(th)) th = self.ffns_theory.copy() th.update( { "PTO": [pto], "XIR": [np.sqrt(2.0)], "fact_to_ren_scale_ratio": [np.sqrt(0.5)], } ) ts.extend(cartesian_product(th)) self.run(ts, operators.build(operators.apfel_config), ["ToyLH"])
def build(update=None): """ Generate all operator card updates Parameters ---------- update : dict base modifiers Returns ------- cards : list(dict) list of update """ cards = [] if update is None: update = {} for c in cartesian_product(update): card = dict() card.update(c) cards.append(card) return cards