|
ATLAS Offline Software
|
Go to the documentation of this file.
3 from AthenaCommon
import Logging
4 from ..powheg_RES
import PowhegRES
5 from ..external
import ExternalMadSpin
8 logger = Logging.logging.getLogger(
"PowhegControl")
16 _decay_mode_lookup = {
17 "t t~ > all [MadSpin]" :
"00000",
18 "t t~ > all":
"22222",
19 "t t~ > b j j b~ j j":
"00022",
20 "t t~ > b l+ vl b~ l- vl~":
"22200",
21 "t t~ > b emu+ vemu b~ emu- vemu~":
"22000",
22 "t t~ > semileptonic":
"11111",
23 "t t~ > undecayed" :
"00000",
30 Powheg interface for top-antitop-bottom-antibottom production.
31 The top quarks may be left undecayed, or their decays (including spin correlations)
32 can be generated by Powheg or using MadSpin.
34 Reference for this process: https://arxiv.org/abs/1802.00426
36 @author Stefan Richter <stefan.richter@cern.ch>
40 """! Constructor: all process options are set here.
42 @param base_directory: path to PowhegBox code.
43 @param kwargs dictionary of arguments from Generate_tf.
45 super(ttbb, self).
__init__(base_directory,
"ttbb", **kwargs)
54 Due to an apparent bug in PowhegBox, the *INTEGRATION* for this Powheg process (ttbb)
55 requires running at least two (computer) processes in parallel. Please configure Athena
56 to do so, e.g. by setting the environment variable ATHENA_CORE_NUMBER to 2 or a higher
57 number. In Bash, do e.g.: 'export ATHENA_CORE_NUMBER=4'.
59 logger.info(info_message)
129 self.
add_keyword(
"topdecaymode",
"t t~ > all [MadSpin]", name=
"decay_mode")
142 Validate semileptonic and topdecaymode keywords and translate them from ATLAS input to Powheg input
146 error_message =
"Decay mode '{given}' not recognised, valid choices are: '{choices}'!".
format(given=self.decay_mode, choices=
"', '".
join(self.
allowed_decay_modes))
147 logger.warning(error_message)
148 raise ValueError(error_message)
152 if "MadSpin" in self.decay_mode:
156 if "semileptonic" in self.decay_mode:
def expose(self)
Add all names to the interface of this object.
def validate_decays(self)
def add_algorithm(self, alg_or_process)
Add an algorithm or external process to the sequence.
def default_scales(self)
Default scale variations for this process.
def add_keyword(self, keyword, value=None, name=None, frozen=None, hidden=None, description=None, **kwargs)
Register configurable parameter that is exposed to the user.
Class for running external MadSpin process.
def parameters_by_keyword(self, keyword)
Retrieve all parameters that use a given keyword.
validation_functions
List of validation functions to run before preparing runcard.
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
std::vector< typename T::value_type > sorted(T begin, T end)
Helper function to create a sorted vector from an unsorted one.
std::string join(const std::vector< std::string > &v, const char c=',')
externals
List of external processes to schedule.
def default_PDFs(self)
Default PDFs for this process.
cores
Number of cores to use.
def manually_set_openloops_paths(self)
Base class for PowhegBox RES processes.