Class for running external VBFNLO process.
More...
|
def | __init__ (self, vector_boson, allowed_decay_modes) |
| Constructor. More...
|
|
def | needs_scheduling (self, process) |
| Report whether the VBFNLO process should be scheduled. More...
|
|
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...
|
|
Class for running external VBFNLO process.
- Author
- James Robinson james.nosp@m..rob.nosp@m.inson.nosp@m.@cer.nosp@m.n.ch
Definition at line 10 of file external_vbf_nlo.py.
◆ __init__()
def python.processes.external.external_vbf_nlo.ExternalVBFNLO.__init__ |
( |
|
self, |
|
|
|
vector_boson, |
|
|
|
allowed_decay_modes |
|
) |
| |
Constructor.
- Parameters
-
Definition at line 16 of file external_vbf_nlo.py.
16 def __init__(self, vector_boson, allowed_decay_modes):
19 @param process VBFNLO process
21 super(ExternalVBFNLO, self).
__init__(
"VBFNLO")
24 self.allowed_decay_modes = allowed_decay_modes
27 self.add_keyword(
"alphaem_inv")
28 self.add_keyword(
"vdecaymode",
list(self.allowed_decay_modes)[0], name=
"decay_mode", description=
"{} boson decay mode. [{}]".
format(vector_boson, allowed_decay_modes))
29 self.add_keyword(
"G_F")
30 self.add_keyword(
"mass_b")
31 self.add_keyword(
"mass_c")
32 self.add_keyword(
"mass_H")
33 self.add_keyword(
"mass_t")
34 self.add_keyword(
"mass_tau")
35 self.add_keyword(
"mass_W")
36 self.add_keyword(
"mass_Z")
37 self.add_keyword(
"sthw2")
38 self.add_keyword(
"width_H")
◆ 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
-
keyword | Powheg keyword that gets written to the runcard. |
value | Value of the parameter. |
name | Configurable parameter name exposed to the user. |
hidden | True if this parameter should be hidden from the user. |
frozen | True if this parameter cannot be changed. |
description | Description for the run card. |
parameter | Name 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.
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.
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))
◆ 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.
47 """! Add all names to the interface of this object."""
48 for parameter
in self.parameters:
49 setattr(self, parameter.name, parameter.value)
◆ has_keyword()
def python.processes.configurable.Configurable.has_keyword |
( |
|
self, |
|
|
|
keyword |
|
) |
| |
|
inherited |
Definition at line 51 of file configurable.py.
52 return (len(
list(self.parameters_by_keyword(keyword))) > 0)
◆ has_parameter()
def python.processes.configurable.Configurable.has_parameter |
( |
|
self, |
|
|
|
parameter |
|
) |
| |
|
inherited |
Definition at line 54 of file configurable.py.
55 return (len(
list(self.parameters_by_name(parameter))) > 0)
◆ needs_scheduling()
def python.processes.external.external_vbf_nlo.ExternalVBFNLO.needs_scheduling |
( |
|
self, |
|
|
|
process |
|
) |
| |
Report whether the VBFNLO process should be scheduled.
- Parameters
-
process | PowhegBox process. |
Reimplemented from python.processes.external.external_base.ExternalBase.
Definition at line 40 of file external_vbf_nlo.py.
40 def needs_scheduling(self, process):
41 """! Report whether the VBFNLO process should be scheduled.
43 @param process PowhegBox process.
46 if self.decay_mode
not in self.allowed_decay_modes:
47 logger.fatal(
"Decay mode {} not recognised!".
format(self.decay_mode))
48 raise ValueError(
"VBF NLO cannot be correctly configured.")
50 __vector_boson_type = self.decay_mode.
split(
">")[0].strip()
52 if __vector_boson_type
in [
"w+",
"w-",
"z"]
and __vector_boson_decay ==
"tau":
53 logger.warning(
"Powheg/VBFNLO does support directly tau decays for VBF W, Z production")
54 logger.warning(
"Ask to generate muon decays and hack the LHE files - make sure to validate!")
55 __vector_boson_decay =
"mu"
56 process.add_algorithm(
"mu2tau")
58 VBF_runcard_entries = [(
"PROC_ID", {
"z": 120,
"w+": 130,
"w-": 140}[__vector_boson_type],
"{} boson".
format(__vector_boson_type)),
59 (
"DECAYMODE", {
"e": 11,
"mu": 13}[__vector_boson_decay], self.decay_mode),
60 (
"HMASS", self.mass_H,
list(self.parameters_by_name(
"mass_H"))[0].description),
61 (
"HWIDTH", self.width_H,
list(self.parameters_by_name(
"width_H"))[0].description),
62 (
"EWSCHEME", 4,
"Explicitly specify all EW parameters"),
63 (
"ANOM_CPL", 0,
"Disable anomalous couplings as these are not supported by the authors"),
64 (
"TOPMASS", self.mass_t,
list(self.parameters_by_name(
"mass_t"))[0].description),
65 (
"TAU_MASS", self.mass_tau,
list(self.parameters_by_name(
"mass_tau"))[0].description),
66 (
"BOTTOMMASS", self.mass_b,
list(self.parameters_by_name(
"mass_b"))[0].description),
67 (
"CHARMMASS", self.mass_c,
list(self.parameters_by_name(
"mass_c"))[0].description),
68 (
"FERMI_CONST", self.G_F,
list(self.parameters_by_name(
"G_F"))[0].description),
69 (
"INVALFA", self.alphaem_inv,
list(self.parameters_by_name(
"alphaem_inv"))[0].description),
70 (
"SIN2W", self.sthw2,
list(self.parameters_by_name(
"sthw2"))[0].description),
71 (
"WMASS", self.mass_W,
list(self.parameters_by_name(
"mass_W"))[0].description),
72 (
"ZMASS", self.mass_Z,
list(self.parameters_by_name(
"mass_Z"))[0].description)]
74 with open(
"vbfnlo.input",
"w")
as f:
75 for runcard_entry
in VBF_runcard_entries:
76 f.write(
"{:<15} {:<15} ! {}\n".
format(*runcard_entry))
◆ parameters_by_keyword()
def python.processes.configurable.Configurable.parameters_by_keyword |
( |
|
self, |
|
|
|
keyword |
|
) |
| |
|
inherited |
Retrieve all parameters that use a given keyword.
- Parameters
-
keyword | Powheg keyword that gets written to the runcard. |
Definition at line 57 of file configurable.py.
58 """! Retrieve all parameters that use a given keyword.
60 @param keyword Powheg keyword that gets written to the runcard.
62 return [p
for p
in self.parameters
if p.keyword == keyword]
◆ parameters_by_name()
def python.processes.configurable.Configurable.parameters_by_name |
( |
|
self, |
|
|
|
name |
|
) |
| |
|
inherited |
Retrieve all parameters that use a given name.
- Parameters
-
Definition at line 64 of file configurable.py.
65 """! Retrieve all parameters that use a given name.
67 @param name Configurable parameter name exposed to the user.
69 return [p
for p
in self.parameters
if p.name == name]
◆ allowed_decay_modes
python.processes.external.external_vbf_nlo.ExternalVBFNLO.allowed_decay_modes |
◆ executable
python.processes.external.external_base.ExternalBase.executable |
|
inherited |
◆ name
python.processes.external.external_base.ExternalBase.name |
|
inherited |
◆ parameters
python.processes.configurable.Configurable.parameters |
|
inherited |
The documentation for this class was generated from the following file:
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.