4from AthenaCommon
import Logging
5from .external_base
import ExternalBase
8logger = Logging.logging.getLogger(
"PowhegControl")
12 """! Class for running external MadSpin process.
14 @author James Robinson <james.robinson@cern.ch>
20 @param process MadSpin process description string.
22 super(ExternalMadSpin, self).
__init__(
"MadSpin", os.environ[
"MADPATH"],
"MadSpin",
"madspin")
62 """! Report whether the MadSpin process should be scheduled.
64 @param process PowhegBox process.
69 logger.warning(
"MadSpin not enabled")
73 logger.info(
"Powheg top quark decays are enabled. MadSpin will not be used for decays.")
77 logger.warning(
"Could not interpret 'MadSpin_decays' argument as a list of allowed decays!")
81 logger.warning(
"No MadSpin decays specified, so defaults will be used.")
82 for decay
in (
"t > w+ b, w+ > l+ vl",
"t~ > w- b~, w- > l- vl~",
"t > w+ b, w+ > j j",
"t~ > w- b~, w- > j j"):
83 logger.info(
"... adding MadSpin decay: 'decay {0}'".format(decay))
84 list(self.
parameters_by_name(
"MadSpin_decays"))[0].value.append(
"decay {0}".format(decay))
add_keyword(self, keyword, value=None, name=None, frozen=None, hidden=None, description=None, **kwargs)
Register configurable parameter that is exposed to the user.
expose(self)
Add all names to the interface of this object.
parameters_by_name(self, name)
Retrieve all parameters that use a given name.
Base class for external processes.
Class for running external MadSpin process.
powheg_top_decays_enabled
__init__(self, process)
Constructor.
needs_scheduling(self, process)
Report whether the MadSpin process should be scheduled.