ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
python.processes.powheg.ZZj_MiNNLO.ZZj_MiNNLO Class Reference

Default Powheg configuration for Z-boson pair production plus one jet using MiNNLOPS. More...

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

Public Member Functions

def __init__ (self, base_directory, **kwargs)
 Constructor: all process options are set here. More...
 
def validate_decays (self)
 Validate the various decay mode keywords. More...
 
def default_PDFs (self)
 Default PDFs for this process. More...
 
def default_PDFs_nnlo (self)
 Default PDFs for this process. More...
 
def default_PDFs_nnlo_nf_4 (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

 reweight_for_MiNNLO
 
 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 plus one jet using MiNNLOPS.

Create a configurable object with all applicable Powheg options.

Author
Guglielmo Frattari gugli.nosp@m.elmo.nosp@m..frat.nosp@m.tari.nosp@m.@cern.nosp@m..ch

Definition at line 10 of file ZZj_MiNNLO.py.

Constructor & Destructor Documentation

◆ __init__()

def python.processes.powheg.ZZj_MiNNLO.ZZj_MiNNLO.__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 ZZj_MiNNLO.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(ZZj_MiNNLO, self).__init__(base_directory, "ZZJ", **kwargs)
25 
26  # Add parameter validation functions
27  self.validation_functions.append("validate_decays")
28 
29  # Add flag for the MiNNLO reweight
30  self.reweight_for_MiNNLO = True
31 
32 
33  self.allowed_decay_modes = ["z z > e- e+ mu- mu+",
34  "z z > e- e+ tau- tau+",
35  "z z > mu- mu+ tau- tau+",
36  "z z > l- l+ l'- l'+",
37  "z z > e- e+ e- e+",
38  "z z > mu- mu+ mu- mu+",
39  "z z > tau- tau+ tau- tau+",
40  "z z > l- l+ l- l+",
41  "z z > e- e+ e- e+ / mu- mu+ mu- mu+",
42  "z z > e- e+ vl vl~",
43  "z z > mu- mu+ vl vl~",
44  "z z > tau- tau+ vl vl~",
45  "z z > l- l+ vl vl~",
46  "z z > e- e+ vl vl~ / mu- mu+ vl vl~",
47  "z z (+ w w) > e- e+ vl vl~",
48  "z z (+ w w) > mu- mu+ vl vl~",
49  "z z (+ w w) > tau- tau+ vl vl~",
50  "z z (+ w w) > l- l+ vl vl~",
51  "z z (+ w w) > e- e+ vl vl~ / mu- mu+ vl vl~",
52  "z z > j j j' j'",
53  "z z > j j j j",
54  "z z > l- l+ j j",
55  "z z > j j vl vl~"]
56 
57  # Add all keywords for this process, overriding defaults if required
58  self.add_keyword("ih1")
59  self.add_keyword("ih2")
60  self.add_keyword("lhans1", self.default_PDFs)
61  self.add_keyword("lhans2", self.default_PDFs)
62  self.add_keyword("alphas_from_pdf", 1)
63  self.add_keyword("fixedscale", 0)
64  self.add_keyword("whichscale", 1)
65  self.add_keyword("minlo", 1)
66  self.add_keyword("minnlo", 1)
67  self.add_keyword("modlog_p", "-1d0")
68  self.add_keyword("Q0", "0d0")
69  self.add_keyword("largeptscales", 1)
70  self.add_keyword("smartMiNLO", 1)
71  self.add_keyword("run_mode", 4)
72  self.add_keyword("rwl_group_events", 1)
73  self.add_keyword("renscfact", self.default_scales[1])
74  self.add_keyword("facscfact", self.default_scales[0])
75  self.add_keyword("storeinfo_rwgt", 1)
76  self.add_keyword("rwl_file")
77  self.add_keyword("ewscheme")
78  self.add_keyword("gfermi")
79  self.add_keyword("zmass")
80  self.add_keyword("wmass")
81  self.add_keyword("hmass")
82  self.add_keyword("tmass")
83  self.add_keyword("bmass", 0)
84  self.add_keyword("zwidth")
85  self.add_keyword("wwidth")
86  self.add_keyword("twidth")
87  self.add_keyword("hwidth")
88  self.add_keyword("e-e+mu-mu+", 1, name="decay_mode", hidden=False)
89  self.add_keyword("e-e+tau-tau+")
90  self.add_keyword("mu-mu+tau-tau+")
91  self.add_keyword("4l_DF")
92  self.add_keyword("e-e+e-e+")
93  self.add_keyword("mu-mu+mu-mu+")
94  self.add_keyword("tau-tau+tau-tau+")
95  self.add_keyword("4l_SF")
96  self.add_keyword("4l_notau_SF")
97  self.add_keyword("e-e+nunu_DF")
98  self.add_keyword("mu-mu+nunu_DF")
99  self.add_keyword("tau-tau+nunu_DF")
100  self.add_keyword("2l2nu_DF")
101  self.add_keyword("2l2nu_notau_DF")
102  self.add_keyword("n_neutrinos_DF")
103  self.add_keyword("e-e+nunu_SF")
104  self.add_keyword("mu-mu+nunu_SF")
105  self.add_keyword("tau-tau+nunu_SF")
106  self.add_keyword("2l2nu_SF")
107  self.add_keyword("2l2nu_notau_SF")
108  self.add_keyword("4q_DF")
109  self.add_keyword("4q_SF")
110  self.add_keyword("2l2q")
111  self.add_keyword("2q2nu")
112  self.add_keyword("massive_leptons", 0)
113  self.add_keyword("e_mass", 0.000511)
114  self.add_keyword("mu_mass", 0.1057)
115  self.add_keyword("tau_mass", 1.777)
116  self.add_keyword("c_mass", 1.40)
117  self.add_keyword("b_mass", 4.92)
118  self.add_keyword("bornktmin", 0.26)
119  self.add_keyword("mll_min", 60)
120  self.add_keyword("mll_max", 120)
121  self.add_keyword("m4lcut", 4)
122  self.add_keyword("use-old-grid", 1)
123  self.add_keyword("ncall1", 30000)
124  self.add_keyword("itmx1", 1)
125  self.add_keyword("ncall2", 30000)
126  self.add_keyword("itmx2", 1)
127  self.add_keyword("foldcsi", 1)
128  self.add_keyword("foldy", 1)
129  self.add_keyword("foldphi", 1)
130  self.add_keyword("testplots", 0)
131  self.add_keyword("use-old-ubound", 1)
132  self.add_keyword("nubound", 50000)
133  self.add_keyword("storemintupb", 1)
134  self.add_keyword("xupbound", 2)
135  self.add_keyword("mintupbratlim", 1000)
136  self.add_keyword("ubexcess_correct", 1)
137  # self.add_keyword("btildeviol")
138  # self.add_keyword("corr_btilde")
139  # self.add_keyword("corr_remnant")
140  self.add_keyword("colltest", 0)
141  self.add_keyword("softtest", 0)
142  self.add_keyword("withdamp", 1)
143  self.add_keyword("smartsig", 1)
144  self.add_keyword("fastbtlbound", 1)
145  self.add_keyword("check_bad_st1")
146  self.add_keyword("check_bad_st2")
147  self.add_keyword("manyseeds")
148  self.add_keyword("parallelstage")
149  self.add_keyword("maxseeds")
150  self.add_keyword("xgriditeration")
151 

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

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

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

Definition at line 242 of file powheg_base.py.

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

def python.processes.powheg_RES.PowhegRES.default_PDFs (   self)
inherited

Default PDFs for this process.

Reimplemented from python.processes.powheg_base.PowhegBase.

Definition at line 28 of file powheg_RES.py.

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

◆ default_PDFs_nnlo()

def python.processes.powheg_RES.PowhegRES.default_PDFs_nnlo (   self)
inherited

Default PDFs for this process.

Definition at line 43 of file powheg_RES.py.

43  def default_PDFs_nnlo(self):
44  """! Default PDFs for this process."""
45  __PDF_list = list(range(261000, 261101)) # NNPDF30_nnlo_as_0118 central with eigensets
46  __PDF_list += [270000, 269000] # NNPDF30_nnlo_as_0119 and NNPDF30_nnlo_as_0117
47  # __PDF_list += [303200] # NNPDF30_nnlo_as_0118_hessian
48  __PDF_list += [27400] # MSHT20nnlo_as118
49  __PDF_list += [14000] # CT18NNLO
50  __PDF_list += [304400] # NNPDF31_nnlo_as_0118_hessian
51  __PDF_list += [331500] # NNPDF40_nnlo_as_01180_hessian
52  __PDF_list += [14200, 14300, 14100] # CT18ANNLO, CT18XNNLO and CT18ZNNLO
53  __PDF_list += list(range(93300, 93343)) # PDF4LHC21_40_pdfas with eigensets
54  # __PDF_list += [338500, 338520, 338540] # NNPDF40MC_lo_as_01180, NNPDF40MC_nlo_as_01180, NNPDF40MC_nnlo_as_01180
55  return __PDF_list
56 

◆ default_PDFs_nnlo_nf_4()

def python.processes.powheg_RES.PowhegRES.default_PDFs_nnlo_nf_4 (   self)
inherited

Default PDFs for this process.

Definition at line 58 of file powheg_RES.py.

58  def default_PDFs_nnlo_nf_4(self):
59  """! Default PDFs for this process."""
60  __PDF_list = list(range(261400, 261501)) # NNPDF30_nnlo_as_0118_nf_4 central with eigensets
61  __PDF_list += [266400, 265400] # NNPDF30_nnlo_as_0119_nf_4 and NNPDF30_nnlo_as_0117_nf_4
62  # __PDF_list += [303200] # NNPDF30_nnlo_as_0118_hessian
63  __PDF_list += [28300] # MSHT20nnlo_nf4
64  __PDF_list += [14084] # CT18NNLO_NF4
65  __PDF_list += [320900] # NNPDF31_nnlo_as_0118_nf_4
66  __PDF_list += [334300] # NNPDF40_nnlo_as_01180_nf_4
67  __PDF_list += list(range(93700, 93743)) # PDF4LHC21_40_pdfas_nf4 with eigensets
68  return __PDF_list
69 

◆ default_scales()

def python.processes.powheg_RES.PowhegRES.default_scales (   self)
inherited

Default scale variations for this process.

Reimplemented from python.processes.powheg_base.PowhegBase.

Definition at line 71 of file powheg_RES.py.

71  def default_scales(self):
72  """! Default scale variations for this process."""
73  return [[1.0, 1.0, 1.0, 0.5, 0.5, 2.0, 2.0],\
74  [1.0, 0.5, 2.0, 0.5, 1.0, 1.0, 2.0]]
75 

◆ 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_RES.PowhegRES.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 77 of file powheg_RES.py.

77  def files_for_cleanup(self):
78  """! Wildcarded list of files created by this process that can be deleted."""
79  return [
80  "allborn_equiv",
81  "FlavRegList",
82  "mint*.top",
83  "parameters.ol",
84  "pwg*.top",
85  "pwgboundviolations*.dat",
86  "pwgcounters*.dat",
87  "pwgseeds.dat",
88  "pwhg_checklimits",
89  "sigreal_btl0_equiv",
90  "sigregular_equiv",
91  "sigvirtual_equiv"
92  ]
93 
94 

◆ 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_RES.PowhegRES.integration_file_names (   self)
inherited

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

Reimplemented from python.processes.powheg_base.PowhegBase.

Definition at line 96 of file powheg_RES.py.

96  def integration_file_names(self):
97  """! Wildcarded list of integration files that might be created by this process."""
98  return [
99  "pwg*upb*.dat",
100  "pwg*xgrid*.dat",
101  "pwgfullgrid*.dat",
102  "pwggrid*.dat",
103  "pwgubound*.dat",
104  "pwg*stat.dat",
105  ]
106 

◆ mandatory_integration_file_names()

def python.processes.powheg_RES.PowhegRES.mandatory_integration_file_names (   self)
inherited

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

Reimplemented from python.processes.powheg_base.PowhegBase.

Definition at line 108 of file powheg_RES.py.

109  """! Wildcarded list of integration files that are needed for this process."""
110  return self.integration_file_names
111 

◆ modify_parameter()

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

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_RES.PowhegRES.powheg_version (   self)
inherited

Version of PowhegBox process.

Reimplemented from python.processes.powheg_base.PowhegBase.

Definition at line 113 of file powheg_RES.py.

113  def powheg_version(self):
114  """! Version of PowhegBox process."""
115  return "RES"
116 

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

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

def python.processes.powheg_RES.PowhegRES.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 117 of file powheg_RES.py.

117  def stage_is_completed(self, stage):
118  """! Set whether the specified POWHEG-BOX generation stage is complete."""
119  if stage == 1:
120  required_files = ["pwg*xgrid*.dat"]
121  elif stage == 2:
122  required_files = ["pwg*upb*.dat", "pwggrid*.dat"]
123  elif stage == 3:
124  required_files = ["pwgfullgrid*.dat", "pwgubound*.dat"]
125  else:
126  return False
127 
128  # Check that required files have been found
129  for required_file in required_files:
130  if not glob.glob(required_file):
131  return False
132  return True

◆ validate_decays()

def python.processes.powheg.ZZj_MiNNLO.ZZj_MiNNLO.validate_decays (   self)

Validate the various decay mode keywords.

Definition at line 152 of file ZZj_MiNNLO.py.

152  def validate_decays(self):
153  """! Validate the various decay mode keywords."""
154  self.expose() # convenience call to simplify syntax
155  self.check_decay_mode(self.decay_mode, self.allowed_decay_modes)
156  # Enable appropriate decay mode
157  list(self.parameters_by_keyword("e-e+mu-mu+"))[0].value = 0
158  __decay_mode_lookup = {
159  "z z > l- l+ l'- l'+" : "4l_DF",
160  "z z > e- e+ mu- mu+": "e-e+mu-mu+",
161  "z z > e- e+ tau- tau+": "e-e+tau-tau+",
162  "z z > mu- mu+ tau- tau+": "mu-mu+tau-tau+",
163  "z z > e- e+ e- e+": "e-e+e-e+",
164  "z z > mu- mu+ mu- mu+": "mu-mu+mu-mu+",
165  "z z > tau- tau+ tau- tau+": "tau-tau+tau-tau+",
166  "z z > l- l+ l- l+": "4l_SF",
167  "z z > e- e+ e- e+ / mu- mu+ mu- mu+": "4l_notau_SF",
168  "z z > e- e+ vl vl~": "e-e+nunu_DF",
169  "z z > mu- mu+ vl vl~": "mu-mu+nunu_DF",
170  "z z > tau- tau+ vl vl~": "tau-tau+nunu_DF",
171  "z z > l- l+ vl vl~": "2l2nu_DF",
172  "z z > e- e+ vl vl~ / mu- mu+ vl vl~": "2l2nu_notau_DF",
173  "z z (+ w w) > e- e+ vl vl~": "e-e+nunu_SF",
174  "z z (+ w w) > mu- mu+ vl vl~": "mu-mu+nunu_SF",
175  "z z (+ w w) > tau- tau+ vl vl~": "tau-tau+nunu_SF",
176  "z z (+ w w) > l- l+ vl vl~": "2l2nu_SF",
177  "z z (+ w w) > e- e+ vl vl~ / mu- mu+ vl vl~": "2l2nu_notau_SF",
178  "z z > j j j' j'": "4q_DF",
179  "z z > j j j j": "4q_SF",
180  "z z > l- l+ j j": "2l2q",
181  "z z > j j vl vl~": "2q2nu"}
182 
183  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 220 of file powheg_base.py.

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

def 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

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.ZZj_MiNNLO.ZZj_MiNNLO.allowed_decay_modes

List of allowed decay modes.

Definition at line 33 of file ZZj_MiNNLO.py.

◆ cores

python.processes.powheg_base.PowhegBase.cores
inherited

Number of cores to use.

Definition at line 118 of file powheg_base.py.

◆ error_output

python.processes.powheg_base.PowhegBase.error_output
inherited

Definition at line 150 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 124 of file powheg_base.py.

◆ info_output

python.processes.powheg_base.PowhegBase.info_output
inherited

Definition at line 149 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 139 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 154 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 115 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 105 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 145 of file powheg_base.py.

◆ reweight_for_MiNNLO

python.processes.powheg.ZZj_MiNNLO.ZZj_MiNNLO.reweight_for_MiNNLO

Definition at line 30 of file ZZj_MiNNLO.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 142 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 127 of file powheg_base.py.

◆ warning_output

python.processes.powheg_base.PowhegBase.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:
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:215
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:156
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
python.processes.powheg_base.PowhegBase.check_using_integration_files
def check_using_integration_files(self)
Definition: powheg_base.py:242
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.configurable.Configurable.has_parameter
def has_parameter(self, parameter)
Definition: configurable.py:54
python.processes.powheg.ZZj_MiNNLO.ZZj_MiNNLO.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZj_MiNNLO.py:18
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:198
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:283
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.ZZj_MiNNLO.ZZj_MiNNLO.validate_decays
def validate_decays(self)
Validate the various decay mode keywords.
Definition: ZZj_MiNNLO.py:152
python.processes.powheg_RES.PowhegRES.default_PDFs
def default_PDFs(self)
Default PDFs for this process.
Definition: powheg_RES.py:28
python.processes.powheg_RES.PowhegRES.default_scales
def default_scales(self)
Default scale variations for this process.
Definition: powheg_RES.py:71
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:231
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:220
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
python.processes.powheg_RES.PowhegRES.default_PDFs_nnlo
def default_PDFs_nnlo(self)
Default PDFs for this process.
Definition: powheg_RES.py:43
python.processes.powheg_RES.PowhegRES.powheg_version
def powheg_version(self)
Version of PowhegBox process.
Definition: powheg_RES.py:113
python.processes.powheg_RES.PowhegRES.files_for_cleanup
def files_for_cleanup(self)
Wildcarded list of files created by this process that can be deleted.
Definition: powheg_RES.py:77
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
python.processes.powheg_base.PowhegBase.modify_parameter
def modify_parameter(self, stage=0)
Definition: powheg_base.py:267
python.processes.powheg_RES.PowhegRES.default_PDFs_nnlo_nf_4
def default_PDFs_nnlo_nf_4(self)
Default PDFs for this process.
Definition: powheg_RES.py:58
python.processes.powheg_RES.PowhegRES.mandatory_integration_file_names
def mandatory_integration_file_names(self)
Wildcarded list of integration files that are needed for this process.
Definition: powheg_RES.py:108
python.processes.configurable.Configurable.has_keyword
def has_keyword(self, keyword)
Definition: configurable.py:51
python.processes.powheg_RES.PowhegRES.integration_file_names
def integration_file_names(self)
Wildcarded list of integration files that might be created by this process.
Definition: powheg_RES.py:96
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
python.processes.powheg_RES.PowhegRES.stage_is_completed
def stage_is_completed(self, stage)
Set whether the specified POWHEG-BOX generation stage is complete.
Definition: powheg_RES.py:117
python.LArMinBiasAlgConfig.float
float
Definition: LArMinBiasAlgConfig.py:65