ATLAS Offline Software
Loading...
Searching...
No Matches
python.processes.powheg.ZZ.ZZ Class Reference

Default Powheg configuration for Z-boson pair production including interference for identical leptons. More...

Inheritance diagram for python.processes.powheg.ZZ.ZZ:
Collaboration diagram for python.processes.powheg.ZZ.ZZ:

Public Types

using result

Public Member Functions

 __init__ (self, base_directory, **kwargs)
 Constructor: all process options are set here.
 validate_decays (self)
 Validate idvecbos and vdecaymode keywords.
 default_PDFs (self)
 Default PDFs for this process.
 default_scales (self)
 Default scale variations for this process.
 files_for_cleanup (self)
 Wildcarded list of files created by this process that can be deleted.
 integration_file_names (self)
 Wildcarded list of integration files that might be created by this process.
 mandatory_integration_file_names (self)
 Wildcarded list of integration files that are needed for this process.
 powheg_version (self)
 Version of PowhegBox process.
 stage_is_completed (self, stage)
 Set whether the specified POWHEG-BOX generation stage is complete.
 hoppet_info (self)
 hoppet_warning (self)
 openloops_error (self)
 add_algorithm (self, alg_or_process)
 Add an algorithm or external process to the sequence.
 prepare_to_parallelise (self, n_cores)
 Scale calculation parameters by n_cores.
 validate_parameters (self)
 Validate any parameters which need it before preparing runcard.
 validate_integration_parameters (self)
 Validate integration keywords by forcing to integer values.
 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.
 check_using_integration_files (self)
 modify_parameter (self, stage=0)
 set_parameter_in_config (self, key, value)
 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.
 has_keyword (self, keyword)
 has_parameter (self, parameter)
 parameters_by_keyword (self, keyword)
 Retrieve all parameters that use a given keyword.
 parameters_by_name (self, name)
 Retrieve all parameters that use a given name.

Public Attributes

list allowed_decay_modes
 List of allowed decay modes.
 decay_mode
 executable = os.path.join(base_directory, version, executable_name, powheg_executable)
 Powheg executable that will be used.
 process_revision = check_svn_revision(os.path.dirname(self.executable))
 SVN revision of process code.
 powhegbox_revision = check_svn_revision(os.path.dirname(os.path.dirname(self.executable)))
 SVN revision of PowhegBox code.
 cores = cores
 Number of cores to use.
list algorithms = []
 List of additional algorithms to schedule.
dict externals = {}
 List of external processes to schedule.
list validation_functions = []
 List of validation functions to run before preparing runcard.
 is_reweightable = is_reweightable
 Switch to determine whether reweighting is allowed.
 use_XML_reweighting = None
 Switch to determine whether XML reweighting should be used.
 remove_oldStyle_rwt_comments = None
 Switch to determine if the #rwgt and #pdf comments should be kept in lhe files despite using xml reweighting.
 warning_output = warning_output
 Special treatment for some log messages.
 info_output = info_output
 error_output = error_output
dict parameterStageDict = {}
 Dictionary used to change parameters of the Powheg input.
list parameters = []
 List of available parameters.

Detailed Description

Default Powheg configuration for Z-boson pair production including interference for identical leptons.

Create a configurable object with all applicable Powheg options.

Author
James Robinson james.nosp@m..rob.nosp@m.inson.nosp@m.@cer.nosp@m.n.ch

Definition at line 10 of file ZZ.py.

Member Typedef Documentation

◆ result

using master_search< typenameEDMLIST::map, HLT::TypeInformation::get_cont, CONTAINER >::result
inherited

Definition at line 67 of file EDM_MasterSearch.h.

Constructor & Destructor Documentation

◆ __init__()

python.processes.powheg.ZZ.ZZ.__init__ ( self,
base_directory,
** kwargs )

Constructor: all process options are set here.

Parameters
base_directorypath to PowhegBox code.
kwargsdictionary of arguments from Generate_tf.

Definition at line 18 of file ZZ.py.

18 def __init__(self, base_directory, **kwargs):
19 """! Constructor: all process options are set here.
20
21 @param base_directory: path to PowhegBox code.
22 @param kwargs dictionary of arguments from Generate_tf.
23 """
24 super(ZZ, self).__init__(base_directory, "ZZ", **kwargs)
25
26 # Add parameter validation functions
27 self.validation_functions.append("validate_decays")
28
29
30 self.allowed_decay_modes = ["z z > e+ e- e+ e-", "z z > e+ e- tau+ tau-", "z z > j j j j", "z z > j j l+ l-",
31 "z z > l+ l- l'+ l'-", "z z > mu+ mu- e+ e-", "z z > mu+ mu- mu+ mu-",
32 "z z > tau+ tau- mu+ mu-", "z z > tau+ tau- tau+ tau-", "z z > v v~ e+ e-",
33 "z z > v v~ j j", "z z > v v~ l+ l-", "z z > v v~ mu+ mu-", "z z > v v~ tau+ tau-",
34 "z z > v v~ v' v'~"]
35
36 # Add all keywords for this process, overriding defaults if required
37 self.add_keyword("bornktmin")
38 self.add_keyword("bornonly")
39 self.add_keyword("bornsuppfact")
40 self.add_keyword("bornzerodamp")
41 self.add_keyword("bottomthr")
42 self.add_keyword("bottomthrpdf")
43 self.add_keyword("btildeborn")
44 self.add_keyword("btildecoll")
45 self.add_keyword("btildereal")
46 self.add_keyword("btildevirt")
47 self.add_keyword("btlscalect")
48 self.add_keyword("btlscalereal")
49 self.add_keyword("charmthr")
50 self.add_keyword("charmthrpdf")
51 self.add_keyword("check_bad_st1")
52 self.add_keyword("check_bad_st2")
53 self.add_keyword("clobberlhe")
54 self.add_keyword("colltest")
55 self.add_keyword("compress_lhe")
56 self.add_keyword("compress_upb")
57 self.add_keyword("compute_rwgt")
58 self.add_keyword("cutallpairs")
59 self.add_keyword("doublefsr")
60 self.add_keyword("dronly")
61 self.add_keyword("evenmaxrat")
62 self.add_keyword("facscfact", self.default_scales[0])
63 self.add_keyword("fastbtlbound")
64 self.add_keyword("fixedgrid")
65 self.add_keyword("fixedscale")
66 self.add_keyword("flg_debug")
67 self.add_keyword("foldcsi", 2)
68 self.add_keyword("foldphi")
69 self.add_keyword("foldy", 2)
70 self.add_keyword("fullrwgt")
71 self.add_keyword("fullrwgtmode")
72 self.add_keyword("hdamp")
73 self.add_keyword("hfact")
74 self.add_keyword("icsimax")
75 self.add_keyword("ih1")
76 self.add_keyword("ih2")
77 self.add_keyword("itmx1", 6)
78 self.add_keyword("itmx1rm")
79 self.add_keyword("itmx2", 6)
80 self.add_keyword("itmx2rm")
81 self.add_keyword("iupperfsr")
82 self.add_keyword("iupperisr")
83 self.add_keyword("iymax")
84 self.add_keyword("lhans1", self.default_PDFs)
85 self.add_keyword("lhans2", self.default_PDFs)
86 self.add_keyword("lhapdf6maxsets")
87 self.add_keyword("lhrwgt_descr")
88 self.add_keyword("lhrwgt_group_combine")
89 self.add_keyword("lhrwgt_group_name")
90 self.add_keyword("lhrwgt_id")
91 self.add_keyword("LOevents")
92 self.add_keyword("manyseeds")
93 self.add_keyword("max_io_bufsize")
94 self.add_keyword("maxseeds")
95 self.add_keyword("minlo")
96 self.add_keyword("mintupbratlim")
97 self.add_keyword("mintupbxless")
98 self.add_keyword("mllmin")
99 self.add_keyword("ncall1", 40000)
100 self.add_keyword("ncall1rm")
101 self.add_keyword("ncall2", 60000)
102 self.add_keyword("ncall2rm")
103 self.add_keyword("ncallfrominput")
104 self.add_keyword("noevents")
105 self.add_keyword("novirtual")
106 self.add_keyword("nubound", 20000)
107 self.add_keyword("olddij")
108 self.add_keyword("par_2gsupp")
109 self.add_keyword("par_diexp")
110 self.add_keyword("par_dijexp")
111 self.add_keyword("parallelstage")
112 self.add_keyword("pdfreweight")
113 self.add_keyword("ptsqmin")
114 self.add_keyword("ptsupp")
115 self.add_keyword("radregion")
116 self.add_keyword("rand1")
117 self.add_keyword("rand2")
118 self.add_keyword("renscfact", self.default_scales[1])
119 self.add_keyword("runningwidth")
120 self.add_keyword("rwl_add")
121 self.add_keyword("rwl_file")
122 self.add_keyword("rwl_format_rwgt")
123 self.add_keyword("rwl_group_events")
124 self.add_keyword("smartsig")
125 self.add_keyword("softtest")
126 self.add_keyword("stage2init")
127 self.add_keyword("storeinfo_rwgt")
128 self.add_keyword("storemintupb")
129 self.add_keyword("testplots")
130 self.add_keyword("testsuda")
131 self.add_keyword("ubexcess_correct")
132 self.add_keyword("ubsigmadetails")
133 self.add_keyword("use-old-grid")
134 self.add_keyword("use-old-ubound")
135 self.add_keyword("withdamp")
136 self.add_keyword("withinterference")
137 self.add_keyword("withnegweights")
138 self.add_keyword("withsubtr")
139 self.add_keyword("xgriditeration")
140 self.add_keyword("xupbound", 4)
141 self.add_keyword("zerowidth")
142 self.add_keyword("ZZeeee", self.allowed_decay_modes[0], name="decay_mode", hidden=False)
143 self.add_keyword("ZZeetautau")
144 self.add_keyword("ZZllll")
145 self.add_keyword("ZZmumuee")
146 self.add_keyword("ZZmumumumu")
147 self.add_keyword("ZZqqll")
148 self.add_keyword("ZZqqqq")
149 self.add_keyword("ZZtautaumumu")
150 self.add_keyword("ZZtautautautau")
151 self.add_keyword("ZZvvee")
152 self.add_keyword("ZZvvll")
153 self.add_keyword("ZZvvmumu")
154 self.add_keyword("ZZvvqq")
155 self.add_keyword("ZZvvtautau")
156 self.add_keyword("ZZvvvv")
157

Member Function Documentation

◆ add_algorithm()

python.processes.powheg_base.PowhegBase.add_algorithm ( self,
alg_or_process )
inherited

Add an algorithm or external process to the sequence.

Parameters
processAlgorithm or external process to add.

Definition at line 156 of file powheg_base.py.

156 def add_algorithm(self, alg_or_process):
157 """! Add an algorithm or external process to the sequence.
158
159 @param process Algorithm or external process to add.
160 """
161 # Either add to the list of algorithms to schedule
162 if isinstance(alg_or_process, str):
163 self.algorithms.append(alg_or_process)
164 # ... or add as an external process
165 else:
166 self.externals[alg_or_process.name] = alg_or_process
167

◆ add_keyword()

python.processes.configurable.Configurable.add_keyword ( self,
keyword,
value = None,
name = None,
frozen = None,
hidden = None,
description = None,
** kwargs )
inherited

Register configurable parameter that is exposed to the user.

Parameters
keywordPowheg keyword that gets written to the runcard.
valueValue of the parameter.
nameConfigurable parameter name exposed to the user.
hiddenTrue if this parameter should be hidden from the user.
frozenTrue if this parameter cannot be changed.
descriptionDescription for the run card.
parameterName used in the run card if different.

Definition at line 21 of file configurable.py.

21 def add_keyword(self, keyword, value=None, name=None, frozen=None, hidden=None, description=None, **kwargs):
22 """! Register configurable parameter that is exposed to the user.
23
24 @param keyword Powheg keyword that gets written to the runcard.
25 @param value Value of the parameter.
26 @param name Configurable parameter name exposed to the user.
27 @param hidden True if this parameter should be hidden from the user.
28 @param frozen True if this parameter cannot be changed.
29 @param description Description for the run card.
30 @param parameter Name used in the run card if different.
31 """
32 # Retrieve default settings from registry overriding if requested
33 defaults = Registry().get_defaults(keyword)
34 if value == defaults["value"] and value is not None and (hidden is not True):
35 if keyword not in ["ebeam1", "ebeam2"]:
36 logger.debug("Unnecessarily setting parameter {} to {} which is its default value!".format(keyword, value))
37 value = [value, defaults["value"]][value is None]
38 name = [name, defaults["name"]][name is None]
39 description = [description, defaults["description"]][description is None]
40 hidden = [hidden, defaults["hidden"]][hidden is None]
41 frozen = [frozen, defaults["frozen"]][frozen is None]
42 if keyword in [p.keyword for p in self.parameters]:
43 raise AttributeError("Keyword '{}' has already been defined for this process".format(keyword))
44 self.parameters.append(Parameter(keyword, name=name, value=value, frozen=frozen, hidden=hidden, description=description, **kwargs))
45

◆ check_decay_mode()

python.processes.powheg_base.PowhegBase.check_decay_mode ( self,
decay_mode,
allowed_decay_modes = None )
inherited

Check whether a decay mode is allowed an raise an exception if it is not.

Definition at line 231 of file powheg_base.py.

231 def check_decay_mode(self, decay_mode, allowed_decay_modes=None):
232 """! Check whether a decay mode is allowed an raise an exception if it is not."""
233 if allowed_decay_modes is None:
234 allowed_decay_modes = self.allowed_decay_modes
235 if decay_mode not in allowed_decay_modes:
236 logger.warning("Decay mode {} not recognised!".format(decay_mode))
237 logger.info("Allowed decay modes are:")
238 for allowed_decay_mode in allowed_decay_modes:
239 logger.info("... {}".format(allowed_decay_mode))
240 raise ValueError("Decay mode {} not recognised!".format(decay_mode))
241

◆ check_using_integration_files()

python.processes.powheg_base.PowhegBase.check_using_integration_files ( self)
inherited

Definition at line 242 of file powheg_base.py.

242 def check_using_integration_files(self):
243
244 search_strings = [] # list of filename patters to be searched for
245 found_files = [] # list of found files will be printed out for info
246 missing_patterns = [] # list of filename patters which hasn't been found but would be needed for pre-made integration grids
247 try:
248 search_strings = self.mandatory_integration_file_names
249 except AttributeError:
250 logger.fatal("No integration grid file name patterns defined for this process.")
251 raise
252 for s in search_strings:
253 found = glob.glob(s)
254 if found != []:
255 found_files += found
256 else:
257 missing_patterns.append(s)
258 if missing_patterns == []:
259 logger.info("Integration grid files found locally. Event generation shall continue, skipping the integration step.")
260 logger.info("Integration grid files found locally: {}".format(found_files))
261 else:
262 logger.info("Integration grid files needed were not found locally. Event generation shall continue, starting by the integration step.")
263 logger.info("Missing integration grid files with these patterns: {}".format(missing_patterns))
264 logger.info("Integration grid files found locally (if any): {}".format(found_files))
265
266

◆ default_PDFs()

python.processes.powheg_V2.PowhegV2.default_PDFs ( self)
inherited

Default PDFs for this process.

Reimplemented from python.processes.powheg_base.PowhegBase.

Definition at line 27 of file powheg_V2.py.

27 def default_PDFs(self):
28 """! Default PDFs for this process."""
29 __PDF_list = list(range(260000, 260101)) # NNPDF30_nlo_as_0118 central with eigensets
30 __PDF_list += [266000, 265000] # NNPDF30_nlo_as_0119 and NNPDF30_nlo_as_0117
31 __PDF_list += [303200] # NNPDF30_nnlo_as_0118_hessian
32 __PDF_list += [27400, 27100] # MSHT20nnlo_as118, MSHT20nlo_as118
33 __PDF_list += [14000, 14400] # CT18NNLO, CT18NLO
34 __PDF_list += [304400, 304200] # NNPDF31_nnlo_as_0118_hessian, NNPDF31_nlo_as_0118_hessian
35 __PDF_list += [331500, 331100] # NNPDF40_nnlo_as_01180_hessian, NNPDF40_nlo_as_01180
36 __PDF_list += [14200, 14300, 14100] # CT18ANNLO, CT18XNNLO and CT18ZNNLO
37 __PDF_list += list(range(93300, 93343)) # PDF4LHC21_40_pdfas with eigensets
38 __PDF_list += [338500, 338520, 338540] # NNPDF40MC_lo_as_01180, NNPDF40MC_nlo_as_01180, NNPDF40MC_nnlo_as_01180
39 return __PDF_list
40

◆ default_scales()

python.processes.powheg_V2.PowhegV2.default_scales ( self)
inherited

Default scale variations for this process.

Reimplemented from python.processes.powheg_base.PowhegBase.

Definition at line 42 of file powheg_V2.py.

42 def default_scales(self):
43 """! Default scale variations for this process."""
44 return [[1.0, 1.0, 1.0, 0.5, 0.5, 2.0, 2.0],\
45 [1.0, 0.5, 2.0, 0.5, 1.0, 1.0, 2.0]]
46

◆ expose()

python.processes.configurable.Configurable.expose ( self)
inherited

Add all names to the interface of this object.

Definition at line 46 of file configurable.py.

46 def expose(self):
47 """! Add all names to the interface of this object."""
48 for parameter in self.parameters:
49 setattr(self, parameter.name, parameter.value)
50

◆ files_for_cleanup()

python.processes.powheg_V2.PowhegV2.files_for_cleanup ( self)
inherited

Wildcarded list of files created by this process that can be deleted.

Reimplemented from python.processes.powheg_base.PowhegBase.

Definition at line 48 of file powheg_V2.py.

48 def files_for_cleanup(self):
49 """! Wildcarded list of files created by this process that can be deleted."""
50 return [
51 "bornequiv",
52 "FlavRegList",
53 "fort.18",
54 "mint_upb_btildeupb.top",
55 "mint_upb_remnupb.top",
56 "pwg*.top",
57 "pwgboundviolations*.dat",
58 "pwgcounters*.dat",
59 "pwgseeds.dat",
60 "pwgubsigma.dat",
61 "pwhg_checklimits",
62 "realequiv*",
63 "reweighting_input.xml",
64 "virtequiv"
65 ]
66

◆ has_keyword()

python.processes.configurable.Configurable.has_keyword ( self,
keyword )
inherited

Definition at line 51 of file configurable.py.

51 def has_keyword(self, keyword):
52 return (len(list(self.parameters_by_keyword(keyword))) > 0)
53

◆ has_parameter()

python.processes.configurable.Configurable.has_parameter ( self,
parameter )
inherited

Definition at line 54 of file configurable.py.

54 def has_parameter(self, parameter):
55 return (len(list(self.parameters_by_name(parameter))) > 0)
56

◆ hoppet_info()

python.processes.powheg_base.PowhegBase.hoppet_info ( self)
inherited
Returns a list of strings to be treated as info messages in the log
They otherwise throw an error with HOPPET v. 1.2.0
Cf. AGENE-2016

Definition at line 23 of file powheg_base.py.

23 def hoppet_info(self):
24 '''
25 Returns a list of strings to be treated as info messages in the log
26 They otherwise throw an error with HOPPET v. 1.2.0
27 Cf. AGENE-2016
28 '''
29 return ["-----------------------------------------------------------",
30 "Welcome to HOPPET v. 1.2.0",
31 "Higher Order Perturbative Parton Evolution Toolkit",
32 "Written by Gavin P. Salam (2001-2012)",
33 "with contributions from Juan Rojo",
34 "Frederic Dreyer and Alexander Karlberg",
35 "It is made available under the GNU public license,",
36 "with the additional request that if you use it or any",
37 "derivative of it in scientific work then you should cite:",
38 "G.P. Salam & J. Rojo, CPC 180(2009)120 (arXiv:0804.3755).",
39 "You are also encouraged to cite the original references,",
40 "for LO, NLO and NNLO splitting functions, the QCD",
41 "1, 2 and 3 loop beta functions and the coupling and",
42 "PDF and coupling mass threshold matching functions."]
43

◆ hoppet_warning()

python.processes.powheg_base.PowhegBase.hoppet_warning ( self)
inherited
Returns a list of strings to be treated as warning messages in the log
They otherwise throw an error

Definition at line 44 of file powheg_base.py.

44 def hoppet_warning(self):
45 '''
46 Returns a list of strings to be treated as warning messages in the log
47 They otherwise throw an error
48 '''
49 return ["WARNING in InitMTMNNLO: using parametrisation (less accuracte) for A2PShg"]
50

◆ integration_file_names()

python.processes.powheg_V2.PowhegV2.integration_file_names ( self)
inherited

Wildcarded list of integration files that might be created by this process.

All files matching these patterns will be included in the gridpack.

Reimplemented from python.processes.powheg_base.PowhegBase.

Definition at line 68 of file powheg_V2.py.

68 def integration_file_names(self):
69 """! Wildcarded list of integration files that might be created by this process."""
70 """! All files matching these patterns will be included in the gridpack."""
71 return [
72 "pwg*xg*.dat",
73 "pwg*upb*.dat",
74 "pwggrid*.dat",
75 "pwgfullgrid*.dat",
76 "pwgubound*.dat",
77 "pwg*stat.dat",
78 ]
79

◆ mandatory_integration_file_names()

python.processes.powheg_V2.PowhegV2.mandatory_integration_file_names ( self)
inherited

Wildcarded list of integration files that are needed for this process.

If some of the patterns don't match any files before running, a warning will be made to inform that no pre-made integration grid will be used.

Reimplemented from python.processes.powheg_base.PowhegBase.

Definition at line 81 of file powheg_V2.py.

81 def mandatory_integration_file_names(self):
82 """! Wildcarded list of integration files that are needed for this process."""
83 """! If some of the patterns don't match any files before running, a warning will be made to inform that no pre-made integration grid will be used."""
84 return [
85 "pwg*xg*.dat",
86 #"pwg*upb*.dat", # not needed by ttj MiNNLO
87 "pwggrid*.dat",
88 #"pwgfullgrid*.dat", # not needed by ttj MiNNLO
89 "pwgubound*.dat",
90 ]
91

◆ modify_parameter()

python.processes.powheg_base.PowhegBase.modify_parameter ( self,
stage = 0 )
inherited

Definition at line 267 of file powheg_base.py.

267 def modify_parameter(self, stage = 0):
268
269 #skip modifying if dict is empty
270 if not bool(self.parameterStageDict):
271 return
272
273 logger.info("Modifying parameters for the stages : {0}".format(self.parameterStageDict))
274
275
276 for key in self.parameterStageDict:
277 settingsList = self.parameterStageDict[key]
278 if abs(settingsList[2] - stage) <=1e-09:
279 self.set_parameter_in_config(key,settingsList[1])
280 else:
281 self.set_parameter_in_config(key,settingsList[0])
282

◆ openloops_error()

python.processes.powheg_base.PowhegBase.openloops_error ( self)
inherited
Returns a list of strings to be treated as error messages in the log
They otherwise do not throw an error

Definition at line 51 of file powheg_base.py.

51 def openloops_error(self):
52 '''
53 Returns a list of strings to be treated as error messages in the log
54 They otherwise do not throw an error
55 '''
56 return ["[POWHEG-BOX+OpenLoops] Process not found!"]
57

◆ parameters_by_keyword()

python.processes.configurable.Configurable.parameters_by_keyword ( self,
keyword )
inherited

Retrieve all parameters that use a given keyword.

Parameters
keywordPowheg keyword that gets written to the runcard.

Definition at line 57 of file configurable.py.

57 def parameters_by_keyword(self, keyword):
58 """! Retrieve all parameters that use a given keyword.
59
60 @param keyword Powheg keyword that gets written to the runcard.
61 """
62 return [p for p in self.parameters if p.keyword == keyword]
63

◆ parameters_by_name()

python.processes.configurable.Configurable.parameters_by_name ( self,
name )
inherited

Retrieve all parameters that use a given name.

Parameters
nameConfigurable parameter name exposed to the user.

Definition at line 64 of file configurable.py.

64 def parameters_by_name(self, name):
65 """! Retrieve all parameters that use a given name.
66
67 @param name Configurable parameter name exposed to the user.
68 """
69 return [p for p in self.parameters if p.name == name]

◆ powheg_version()

python.processes.powheg_V2.PowhegV2.powheg_version ( self)
inherited

Version of PowhegBox process.

Reimplemented from python.processes.powheg_base.PowhegBase.

Definition at line 93 of file powheg_V2.py.

93 def powheg_version(self):
94 """! Version of PowhegBox process."""
95 return "V2"
96

◆ prepare_to_parallelise()

python.processes.powheg_base.PowhegBase.prepare_to_parallelise ( self,
n_cores )
inherited

Scale calculation parameters by n_cores.

Definition at line 198 of file powheg_base.py.

198 def prepare_to_parallelise(self, n_cores):
199 """! Scale calculation parameters by n_cores."""
200 __nEvents_unscaled = self.parameters_by_keyword("numevts")[0].value
201 for keyword in ["ncall1", "ncall1rm", "ncall2", "ncall2rm", "nubound", "numevts"]:
202 for parameter in self.parameters_by_keyword(keyword):
203 if int(parameter.value) > 0:
204 parameter.value = int(math.ceil(float(parameter.value) / n_cores))
205 __nEvents_scaled = self.parameters_by_keyword("numevts")[0].value
206 logger.info("Scaling number of events per job from {} down to {}".format(__nEvents_unscaled, __nEvents_scaled))
207 # Freeze parallelstage parameters before printing list for user
208 [parameter.freeze() for parameter in self.parameters_by_name("parallelstage")]
209

◆ set_parameter_in_config()

python.processes.powheg_base.PowhegBase.set_parameter_in_config ( self,
key,
value )
inherited

Definition at line 283 of file powheg_base.py.

283 def set_parameter_in_config(self, key, value):
284 FileParser("powheg.input").text_replace(key+".*", key+" {}".format(value))

◆ stage_is_completed()

python.processes.powheg_V2.PowhegV2.stage_is_completed ( self,
stage )
inherited

Set whether the specified POWHEG-BOX generation stage is complete.

Reimplemented from python.processes.powheg_base.PowhegBase.

Reimplemented in python.processes.powheg.ttj_MiNNLO.ttj_MiNNLO.

Definition at line 97 of file powheg_V2.py.

97 def stage_is_completed(self, stage):
98 """! Set whether the specified POWHEG-BOX generation stage is complete."""
99 if stage == 1:
100 required_files = ["pwg*xg*.dat"]
101 elif stage == 2:
102 required_files = ["pwg*upb*.dat", "pwggrid*.dat"]
103 elif stage == 3:
104 required_files = ["pwgfullgrid*.dat", "pwgubound*.dat"]
105 else:
106 return False
107
108 # Check that required files have been found
109 for required_file in required_files:
110 if not glob.glob(required_file):
111 return False
112 return True

◆ validate_decays()

python.processes.powheg.ZZ.ZZ.validate_decays ( self)

Validate idvecbos and vdecaymode keywords.

Definition at line 158 of file ZZ.py.

158 def validate_decays(self):
159 """! Validate idvecbos and vdecaymode keywords."""
160 # See https://docs.google.com/spreadsheets/d/1Aa7FwB74ppHbXles5LyHrKGlvUFi5PxbZC-Mrc3Lz90 for meanings
161 self.expose() # convenience call to simplify syntax
162 self.check_decay_mode(self.decay_mode, self.allowed_decay_modes)
163 # Enable appropriate decay mode
164 list(self.parameters_by_keyword("ZZeeee"))[0].value = 0 # disable the one used as a proxy for decay mode
165 __decay_mode_lookup = {"z z > e+ e- e+ e-": "ZZeeee",
166 "z z > e+ e- tau+ tau-": "ZZeetautau",
167 "z z > j j j j": "ZZqqqq",
168 "z z > j j l+ l-": "ZZqqll",
169 "z z > l+ l- l'+ l'-": "ZZllll",
170 "z z > mu+ mu- e+ e-": "ZZmumuee",
171 "z z > mu+ mu- mu+ mu-": "ZZmumumumu",
172 "z z > tau+ tau- mu+ mu-": "ZZtautaumumu",
173 "z z > tau+ tau- tau+ tau-": "ZZtautautautau",
174 "z z > v v~ e+ e-": "ZZvvee",
175 "z z > v v~ j j": "ZZvvqq",
176 "z z > v v~ l+ l-": "ZZvvll",
177 "z z > v v~ mu+ mu-": "ZZvvmumu",
178 "z z > v v~ tau+ tau-": "ZZvvtautau",
179 "z z > v v~ v' v'~": "ZZvvvv"}
180 list(self.parameters_by_keyword(__decay_mode_lookup[self.decay_mode]))[0].value = 1

◆ validate_integration_parameters()

python.processes.powheg_base.PowhegBase.validate_integration_parameters ( self)
inherited

Validate integration keywords by forcing to integer values.

Definition at line 220 of file powheg_base.py.

220 def validate_integration_parameters(self):
221 """! Validate integration keywords by forcing to integer values."""
222 self.expose() # convenience call to simplify syntax
223 for name in ("foldcsi", "foldphi", "foldy", "itmx1", "itmx2", "ncall1", "ncall2", "nEvents"):
224 for parameter in self.parameters_by_name(name):
225 try:
226 parameter.value = int(parameter.value)
227 except TypeError:
228 logger.fatal("Failed to validate {} with value {}".format(name, parameter.value))
229 raise
230

◆ validate_parameters()

python.processes.powheg_base.PowhegBase.validate_parameters ( self)
inherited

Validate any parameters which need it before preparing runcard.

Definition at line 215 of file powheg_base.py.

215 def validate_parameters(self):
216 """! Validate any parameters which need it before preparing runcard."""
217 for function_name in self.validation_functions:
218 getattr(self, function_name)()
219

Member Data Documentation

◆ algorithms

list python.processes.powheg_base.PowhegBase.algorithms = []
inherited

List of additional algorithms to schedule.

Definition at line 121 of file powheg_base.py.

◆ allowed_decay_modes

python.processes.powheg.ZZ.ZZ.allowed_decay_modes
Initial value:
= ["z z > e+ e- e+ e-", "z z > e+ e- tau+ tau-", "z z > j j j j", "z z > j j l+ l-",
"z z > l+ l- l'+ l'-", "z z > mu+ mu- e+ e-", "z z > mu+ mu- mu+ mu-",
"z z > tau+ tau- mu+ mu-", "z z > tau+ tau- tau+ tau-", "z z > v v~ e+ e-",
"z z > v v~ j j", "z z > v v~ l+ l-", "z z > v v~ mu+ mu-", "z z > v v~ tau+ tau-",
"z z > v v~ v' v'~"]

List of allowed decay modes.

Definition at line 30 of file ZZ.py.

◆ cores

python.processes.powheg_base.PowhegBase.cores = cores
inherited

Number of cores to use.

Definition at line 118 of file powheg_base.py.

◆ decay_mode

python.processes.powheg.ZZ.ZZ.decay_mode

Definition at line 162 of file ZZ.py.

◆ error_output

python.processes.powheg_base.PowhegBase.error_output = error_output
inherited

Definition at line 150 of file powheg_base.py.

◆ executable

python.processes.powheg_base.PowhegBase.executable = os.path.join(base_directory, version, executable_name, powheg_executable)
inherited

Powheg executable that will be used.

Definition at line 72 of file powheg_base.py.

◆ externals

dict python.processes.powheg_base.PowhegBase.externals = {}
inherited

List of external processes to schedule.

Definition at line 124 of file powheg_base.py.

◆ info_output

python.processes.powheg_base.PowhegBase.info_output = info_output
inherited

Definition at line 149 of file powheg_base.py.

◆ is_reweightable

python.processes.powheg_base.PowhegBase.is_reweightable = is_reweightable
inherited

Switch to determine whether reweighting is allowed.

Definition at line 139 of file powheg_base.py.

◆ parameters

list python.processes.configurable.Configurable.parameters = []
inherited

List of available parameters.

Definition at line 19 of file configurable.py.

◆ parameterStageDict

python.processes.powheg_base.PowhegBase.parameterStageDict = {}
inherited

Dictionary used to change parameters of the Powheg input.

The structure is: {"parameter" : [default_value, changed_value, parallelstage_to_changed_value]}

Definition at line 154 of file powheg_base.py.

◆ powhegbox_revision

python.processes.powheg_base.PowhegBase.powhegbox_revision = check_svn_revision(os.path.dirname(os.path.dirname(self.executable)))
inherited

SVN revision of PowhegBox code.

Definition at line 115 of file powheg_base.py.

◆ process_revision

python.processes.powheg_base.PowhegBase.process_revision = check_svn_revision(os.path.dirname(self.executable))
inherited

SVN revision of process code.

Definition at line 105 of file powheg_base.py.

◆ remove_oldStyle_rwt_comments

python.processes.powheg_base.PowhegBase.remove_oldStyle_rwt_comments = None
inherited

Switch to determine if the #rwgt and #pdf comments should be kept in lhe files despite using xml reweighting.

Definition at line 145 of file powheg_base.py.

◆ use_XML_reweighting

python.processes.powheg_base.PowhegBase.use_XML_reweighting = None
inherited

Switch to determine whether XML reweighting should be used.

Definition at line 142 of file powheg_base.py.

◆ validation_functions

list python.processes.powheg_base.PowhegBase.validation_functions = []
inherited

List of validation functions to run before preparing runcard.

Definition at line 127 of file powheg_base.py.

◆ warning_output

python.processes.powheg_base.PowhegBase.warning_output = warning_output
inherited

Special treatment for some log messages.

Definition at line 148 of file powheg_base.py.


The documentation for this class was generated from the following file: