ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
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 Member Functions

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

Public Attributes

 allowed_decay_modes
 List of allowed decay modes. More...
 
 executable
 Powheg executable that will be used. More...
 
 process_revision
 Add to Python path "python" directory on POWHEG process directory. More...
 
 powhegbox_revision
 Log the PowhegBox version and process-code revision for AMI etc. More...
 
 cores
 Number of cores to use. More...
 
 algorithms
 List of additional algorithms to schedule. More...
 
 externals
 List of external processes to schedule. More...
 
 validation_functions
 List of validation functions to run before preparing runcard. More...
 
 is_reweightable
 Switch to determine whether reweighting is allowed. More...
 
 use_XML_reweighting
 Switch to determine whether XML reweighting should be used. More...
 
 remove_oldStyle_rwt_comments
 Switch to determine if the #rwgt and #pdf comments should be kept in lhe files despite using xml reweighting. More...
 
 warning_output
 Special treatment for some log messages. More...
 
 info_output
 
 error_output
 
 parameterStageDict
 Dictionary used to change parameters of the Powheg input. More...
 
 parameters
 List of available parameters. More...
 

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.

Constructor & Destructor Documentation

◆ __init__()

def 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()

def 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 148 of file powheg_base.py.

148  def add_algorithm(self, alg_or_process):
149  """! Add an algorithm or external process to the sequence.
150 
151  @param process Algorithm or external process to add.
152  """
153  # Either add to the list of algorithms to schedule
154  if isinstance(alg_or_process, str):
155  self.algorithms.append(alg_or_process)
156  # ... or add as an external process
157  else:
158  self.externals[alg_or_process.name] = alg_or_process
159 

◆ add_keyword()

def 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()

def 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 223 of file powheg_base.py.

223  def check_decay_mode(self, decay_mode, allowed_decay_modes=None):
224  """! Check whether a decay mode is allowed an raise an exception if it is not."""
225  if allowed_decay_modes is None:
226  allowed_decay_modes = self.allowed_decay_modes
227  if decay_mode not in allowed_decay_modes:
228  logger.warning("Decay mode {} not recognised!".format(decay_mode))
229  logger.info("Allowed decay modes are:")
230  for allowed_decay_mode in allowed_decay_modes:
231  logger.info("... {}".format(allowed_decay_mode))
232  raise ValueError("Decay mode {} not recognised!".format(decay_mode))
233 

◆ check_using_integration_files()

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

Definition at line 234 of file powheg_base.py.

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

◆ default_PDFs()

def 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()

def 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()

def 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()

def 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()

def 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()

def 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()

def 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()

def 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()

def 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()

def 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.

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()

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

Definition at line 259 of file powheg_base.py.

259  def modify_parameter(self, stage = 0):
260 
261  #skip modifying if dict is empty
262  if not bool(self.parameterStageDict):
263  return
264 
265  logger.info("Modifying parameters for the stages : {0}".format(self.parameterStageDict))
266 
267 
268  for key in self.parameterStageDict:
269  settingsList = self.parameterStageDict[key]
270  if abs(settingsList[2] - stage) <=1e-09:
271  self.set_parameter_in_config(key,settingsList[1])
272  else:
273  self.set_parameter_in_config(key,settingsList[0])
274 

◆ openloops_error()

def 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()

def 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()

def 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()

def 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()

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

Scale calculation parameters by n_cores.

Definition at line 190 of file powheg_base.py.

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

◆ set_parameter_in_config()

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

Definition at line 275 of file powheg_base.py.

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

◆ stage_is_completed()

def 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.

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()

def 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()

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

Validate integration keywords by forcing to integer values.

Definition at line 212 of file powheg_base.py.

213  """! Validate integration keywords by forcing to integer values."""
214  self.expose() # convenience call to simplify syntax
215  for name in ("foldcsi", "foldphi", "foldy", "itmx1", "itmx2", "ncall1", "ncall2", "nEvents"):
216  for parameter in self.parameters_by_name(name):
217  try:
218  parameter.value = int(parameter.value)
219  except TypeError:
220  logger.fatal("Failed to validate {} with value {}".format(name, parameter.value))
221  raise
222 

◆ validate_parameters()

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

Validate any parameters which need it before preparing runcard.

Definition at line 207 of file powheg_base.py.

207  def validate_parameters(self):
208  """! Validate any parameters which need it before preparing runcard."""
209  for function_name in self.validation_functions:
210  getattr(self, function_name)()
211 

Member Data Documentation

◆ algorithms

python.processes.powheg_base.PowhegBase.algorithms
inherited

List of additional algorithms to schedule.

Definition at line 113 of file powheg_base.py.

◆ allowed_decay_modes

python.processes.powheg.ZZ.ZZ.allowed_decay_modes

List of allowed decay modes.

Definition at line 30 of file ZZ.py.

◆ cores

python.processes.powheg_base.PowhegBase.cores
inherited

Number of cores to use.

Definition at line 110 of file powheg_base.py.

◆ error_output

python.processes.powheg_base.PowhegBase.error_output
inherited

Definition at line 142 of file powheg_base.py.

◆ executable

python.processes.powheg_base.PowhegBase.executable
inherited

Powheg executable that will be used.

Definition at line 72 of file powheg_base.py.

◆ externals

python.processes.powheg_base.PowhegBase.externals
inherited

List of external processes to schedule.

Definition at line 116 of file powheg_base.py.

◆ info_output

python.processes.powheg_base.PowhegBase.info_output
inherited

Definition at line 141 of file powheg_base.py.

◆ is_reweightable

python.processes.powheg_base.PowhegBase.is_reweightable
inherited

Switch to determine whether reweighting is allowed.

Definition at line 131 of file powheg_base.py.

◆ parameters

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 146 of file powheg_base.py.

◆ powhegbox_revision

python.processes.powheg_base.PowhegBase.powhegbox_revision
inherited

Log the PowhegBox version and process-code revision for AMI etc.

Also set environment variable POWHEGVER to this contain this information SVN revision of PowhegBox code

Definition at line 107 of file powheg_base.py.

◆ process_revision

python.processes.powheg_base.PowhegBase.process_revision
inherited

Add to Python path "python" directory on POWHEG process directory.

Add other locations of the libraries OpenLoops SVN revision of process code

Definition at line 97 of file powheg_base.py.

◆ remove_oldStyle_rwt_comments

python.processes.powheg_base.PowhegBase.remove_oldStyle_rwt_comments
inherited

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

Definition at line 137 of file powheg_base.py.

◆ use_XML_reweighting

python.processes.powheg_base.PowhegBase.use_XML_reweighting
inherited

Switch to determine whether XML reweighting should be used.

Definition at line 134 of file powheg_base.py.

◆ validation_functions

python.processes.powheg_base.PowhegBase.validation_functions
inherited

List of validation functions to run before preparing runcard.

Definition at line 119 of file powheg_base.py.

◆ warning_output

python.processes.powheg_base.PowhegBase.warning_output
inherited

Special treatment for some log messages.

Definition at line 140 of file powheg_base.py.


The documentation for this class was generated from the following file:
python.processes.configurable.Configurable.expose
def expose(self)
Add all names to the interface of this object.
Definition: configurable.py:46
python.processes.powheg_base.PowhegBase.hoppet_info
def hoppet_info(self)
Definition: powheg_base.py:23
python.processes.powheg_base.PowhegBase.validate_parameters
def validate_parameters(self)
Validate any parameters which need it before preparing runcard.
Definition: powheg_base.py:207
python.processes.powheg_base.PowhegBase.add_algorithm
def add_algorithm(self, alg_or_process)
Add an algorithm or external process to the sequence.
Definition: powheg_base.py:148
python.processes.powheg_base.PowhegBase.hoppet_warning
def hoppet_warning(self)
Definition: powheg_base.py:44
vtune_athena.format
format
Definition: vtune_athena.py:14
python.processes.configurable.Configurable.parameters_by_name
def parameters_by_name(self, name)
Retrieve all parameters that use a given name.
Definition: configurable.py:64
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
python.processes.powheg_base.PowhegBase.check_using_integration_files
def check_using_integration_files(self)
Definition: powheg_base.py:234
python.processes.configurable.Configurable.add_keyword
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.
Definition: configurable.py:21
python.processes.powheg_V2.PowhegV2.files_for_cleanup
def files_for_cleanup(self)
Wildcarded list of files created by this process that can be deleted.
Definition: powheg_V2.py:48
python.processes.configurable.Configurable.has_parameter
def has_parameter(self, parameter)
Definition: configurable.py:54
python.processes.powheg_base.PowhegBase.prepare_to_parallelise
def prepare_to_parallelise(self, n_cores)
Scale calculation parameters by n_cores.
Definition: powheg_base.py:190
dumpHVPathFromNtuple.append
bool append
Definition: dumpHVPathFromNtuple.py:91
python.processes.powheg_base.PowhegBase.openloops_error
def openloops_error(self)
Definition: powheg_base.py:51
python.processes.powheg_base.PowhegBase.set_parameter_in_config
def set_parameter_in_config(self, key, value)
Definition: powheg_base.py:275
python.processes.configurable.Configurable.parameters_by_keyword
def parameters_by_keyword(self, keyword)
Retrieve all parameters that use a given keyword.
Definition: configurable.py:57
python.processes.powheg.ZZ.ZZ.validate_decays
def validate_decays(self)
Validate idvecbos and vdecaymode keywords.
Definition: ZZ.py:158
python.processes.powheg_V2.PowhegV2.powheg_version
def powheg_version(self)
Version of PowhegBox process.
Definition: powheg_V2.py:93
python.processes.powheg_base.PowhegBase.check_decay_mode
def 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.
Definition: powheg_base.py:223
python.processes.powheg_base.PowhegBase.validate_integration_parameters
def validate_integration_parameters(self)
Validate integration keywords by forcing to integer values.
Definition: powheg_base.py:212
python.processes.powheg_V2.PowhegV2.default_scales
def default_scales(self)
Default scale variations for this process.
Definition: powheg_V2.py:42
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
python.processes.powheg_V2.PowhegV2.mandatory_integration_file_names
def mandatory_integration_file_names(self)
Wildcarded list of integration files that are needed for this process.
Definition: powheg_V2.py:81
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18
python.processes.powheg_base.PowhegBase.modify_parameter
def modify_parameter(self, stage=0)
Definition: powheg_base.py:259
python.processes.powheg_V2.PowhegV2.integration_file_names
def integration_file_names(self)
Wildcarded list of integration files that might be created by this process.
Definition: powheg_V2.py:68
python.processes.powheg_V2.PowhegV2.default_PDFs
def default_PDFs(self)
Default PDFs for this process.
Definition: powheg_V2.py:27
python.processes.configurable.Configurable.has_keyword
def has_keyword(self, keyword)
Definition: configurable.py:51
python.processes.powheg_V2.PowhegV2.stage_is_completed
def stage_is_completed(self, stage)
Set whether the specified POWHEG-BOX generation stage is complete.
Definition: powheg_V2.py:97
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
readCCLHist.float
float
Definition: readCCLHist.py:83