|
ATLAS Offline Software
|
Go to the documentation of this file.
3 from AthenaCommon
import Logging
4 from ...parameters
import powheg_atlas_common
5 from ..powheg_V2
import PowhegV2
6 from ..external
import ExternalMadSpin
9 logger = Logging.logging.getLogger(
"PowhegControl")
14 _decay_mode_lookup = {
15 "t t~ t t~ > all [MadSpin]" :
"00000",
16 "t t~ t t~ > all":
"44444",
17 "t t~ t t~ > 4l":
"44400",
18 "t t~ t t~ > 3l4l":
"4",
19 "t t~ t t~ > 2lSS":
"3",
20 "t t~ t t~ > 2lOS":
"2",
21 "t t~ t t~ > 1l":
"1",
22 "t t~ t t~ > allhad":
"00044",
23 "t t~ t t~ > undecayed":
"00000"
25 _signature_lookup = [
"4",
"3",
"2",
"1" ]
28 """! Default Powheg configuration for 4 tops production.
30 Create a configurable object with all applicable Powheg options.
32 @author James Robinson <tpelzer@cern.ch>
36 """! Constructor: all process options are set here.
38 @param base_directory: path to PowhegBox code.
39 @param kwargs dictionary of arguments from Generate_tf.
41 super(fourtops, self).
__init__(base_directory,
"fourtops", **kwargs)
46 logger.warning(
"Applying manual, hard-coded fixes for library paths")
47 OLPath = os.path.dirname(self.
executable)+
"/obj-gfortran"
48 os.environ[
'OpenLoopsPath'] = OLPath
49 logger.info(
"OpenLoopsPath defined as = {0}".
format(os.getenv(
'OpenLoopsPath')))
145 self.
add_keyword(
"tmass", powheg_atlas_common.mass.t, name=
"mass_t", description=
"top quark mass in GeV")
176 self.
add_keyword(
"topdecaymode",
"t t~ > all [MadSpin]", name=
"decay_mode")
189 Validate semileptonic and topdecaymode keywords and translate them from ATLAS input to Powheg input
193 error_message =
"Decay mode '{given}' not recognised, valid choices are: '{choices}'!".
format(given=self.decay_mode, choices=
"', '".
join(self.
allowed_decay_modes))
194 logger.warning(error_message)
195 raise ValueError(error_message)
199 if "MadSpin" in self.decay_mode:
204 if _decay_mode_lookup[self.decay_mode]
in _signature_lookup:
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
def expose(self)
Add all names to the interface of this object.
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.
Default Powheg configuration for 4 tops production.
def validate_decays(self)
validation_functions
List of validation functions to run before preparing runcard.
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.
Base class for PowhegBox V2 processes.
executable
Powheg executable that will be used.