4from AthenaCommon
import Logging
5from ..external
import ExternalPHOTOS
6from ..powheg_V2
import PowhegV2
9logger = Logging.logging.getLogger(
"PowhegControl")
13 """! Default Powheg configuration for single Z-boson production with electroweak corrections.
15 Create a configurable object with all applicable Powheg options.
17 @author James Robinson <james.robinson@cern.ch>
21 """! Constructor: all process options are set here.
23 @param base_directory: path to PowhegBox code.
24 @param kwargs dictionary of arguments from Generate_tf.
26 super(Z_EW, self).
__init__(base_directory,
"Z_ew-BMNNPV", **kwargs)
189 """! Validate vdecaymode keyword and check that 'no_ew' is compatible with 'PHOTOS_enabled'."""
192 logger.error(
"Attempting to run with native PHOTOS disabled but with EW corrections on.")
193 logger.error(
"This would require any later PHOTOS generation to run in vetoed mode.")
194 logger.error(
"Please change 'PHOTOS_enabled' and/or 'no_ew' in your jobOptions.")
195 raise ValueError(
"Incompatible options. Please change 'PHOTOS_enabled' and/or 'no_ew' in your jobOptions.")
197 if not os.path.isfile(self.
externals[
"PHOTOS"].executable):
198 logger.error(
"Attempting to configure native PHOTOS but executable not found at {0}".format(self.
externals[
"PHOTOS"].executable))
199 logger.error(
"Please consider changing 'PHOTOS_enabled' in your jobOptions")
200 raise IOError(
"Could not find PHOTOS executable: {0}".format(self.
externals[
"PHOTOS"].executable))
204 __decay_mode_lookup = {
"e+ e-": 11,
"mu+ mu-": 13,
"tau+ tau-": 15}
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.
parameters_by_keyword(self, keyword)
Retrieve all parameters that use a given keyword.
Class for running external PHOTOS process.
Default Powheg configuration for single Z-boson production with electroweak corrections.
__init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
validate_decays(self)
Validate vdecaymode keyword and check that 'no_ew' is compatible with 'PHOTOS_enabled'.
list allowed_decay_modes
List of allowed decay modes.
Base class for PowhegBox V2 processes.
dict externals
List of external processes to schedule.
list validation_functions
List of validation functions to run before preparing runcard.
add_algorithm(self, alg_or_process)
Add an algorithm or external process to the sequence.
check_decay_mode(self, decay_mode, allowed_decay_modes=None)
Check whether a decay mode is allowed an raise an exception if it is not.
default_scales(self)
Default scale variations for this process.
std::vector< std::string > split(const std::string &s, const std::string &t=":")