|
ATLAS Offline Software
|
Go to the documentation of this file.
3 from AthenaCommon
import Logging
4 from ..powheg_V2
import PowhegV2
5 from ..external
import ExternalMadSpin
8 logger = Logging.logging.getLogger(
"PowhegControl")
14 _decay_mode_lookup = {
15 "t t~ z > all [MadSpin]" :
"00000",
16 't t~ z > all' :
'22222',
17 't t~ z > b j j b~ j j emu+ emu-' :
'00022',
18 't t~ z > b l+ vl b~ l- vl~ emu+ emu-' :
'22200',
19 "t t~ z > b emu+ vemu b~ emu- vemu~ emu+ emu-":
"22000",
20 't t~ z > semileptonic + emu+ emu-':
'11111',
21 't t~ z > undecayed' :
'00000',
28 Powheg interface for ttZ production.
30 Reference for this process: https://arxiv.org/abs/2112.08892
32 @author Timothee Theveneaux-Pelzer <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 Gen_tf.
41 super(ttZ, self).
__init__(base_directory,
"ttZ", **kwargs)
119 self.
add_keyword(
"topdecaymode",
"t t~ z > all", name=
"decay_mode")
134 Retrives nlox parameters file, copy it in local directory, and edit some of the parameters
140 original = os.path.dirname(self.
executable) +
'/testrun/nlox_parameters.par'
141 shutil.copyfile(original,
'./nlox_parameters.par-old')
145 with open(
'./nlox_parameters.par-old')
as f:
146 lines = f.readlines()
159 with open(
'./nlox_parameters.par',
'w')
as f:
161 for pattern, replacement
in update_dict.items():
163 line = replacement+
'\n'
166 logger.info(
'New file ./nlox_parameters.par created locally with updated parameters')
170 Validate decay_mode keywords and translate them from ATLAS input to Powheg input
175 logger.warning(error_message)
176 raise ValueError(error_message)
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.
validation_functions
List of validation functions to run before preparing runcard.
def get_nlox_params_file(self)
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.
def validate_decays(self)
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.