|
ATLAS Offline Software
|
Go to the documentation of this file.
3 from AthenaCommon
import Logging
4 from ..powheg_V2
import PowhegV2
8 logger = Logging.logging.getLogger(
"PowhegControl")
13 Powheg configuration for W boson production in Standard Model Effective Field Theory
15 This process is an implementation of the W+/- cross sections pp -> W -> l v by SMEFT operators
17 It includes 196 SMEFT coefficients that the user can set. For symmetry, the authors included coefficients
18 for operators involving top-quarks. These should not be used as they are only relevant when initial-state
19 tops are considered, which is never the case.
21 Publication (please cite if using this process): https://arxiv.org/abs/1804.07407 https://arxiv.org/abs/1703.04751
22 Brief manual (highly recommended reading if using this process): accessible on LXPlus etc. at $POWHEGPATH/POWHEG-BOX-V2/W_smeft/Docs/manual-BOX-W_smeft.pdf
24 @author Timoth\'ee Theveneaux-Pelzer <tpelzer@cern.ch>
29 Constructor: all process options are set here.
31 @param base_directory: path to PowhegBox code.
32 @param kwargs dictionary of arguments from Generate_tf.
34 super(W_SMEFT, self).
__init__(base_directory,
"W_smeft", **kwargs)
40 self.
allowed_decay_modes = [
"w- > e- ve~",
"w- > mu- vm~",
"w- > tau- vt~",
"w+ > e+ ve",
"w+ > mu+ vm",
"w+ > tau+ vt"]
137 for coefficient_name
in [
"ReGEw",
"ImGEw"]:
139 for coefficient
in [
"ReGUw_{flavours}",
"ImGUw_{flavours}",
"ReLeQu3_{flavours}",
"ImLeQu3_{flavours}",
"ReLeQu_{flavours}",
"ImLeQu_{flavours}"]:
140 for flavours
in [
"{}{}".
format(*x)
for x
in itertools.product([
"u",
"c",
"t"], repeat=2)]:
141 coefficient_name = coefficient.format(flavours=flavours)
143 for coefficient
in [
"ReGDw_{flavours}",
"ImGDw_{flavours}",
"ReLedQ_{flavours}",
"ImLedQ_{flavours}"]:
144 for flavours
in [
"{}{}".
format(*x)
for x
in itertools.product([
"d",
"s",
"b"], repeat=2)]:
145 coefficient_name = coefficient.format(flavours=flavours)
147 for coefficient
in [
"QphiU_{flavours}",
"QLu_{flavours}"]:
148 for flavours
in [
"uu",
"uc",
"ut",
"cc",
"ct",
"tt"]:
149 coefficient_name = coefficient.format(flavours=flavours)
151 for coefficient
in [
"QphiD_{flavours}",
"QLd_{flavours}"]:
152 for flavours
in [
"dd",
"ds",
"db",
"ss",
"sb",
"bb"]:
153 coefficient_name = coefficient.format(flavours=flavours)
155 for coefficient
in [
"ReXi_{flavours}",
"ImXi_{flavours}"]:
156 for flavours
in [
"{}{}".
format(*x)
for x
in itertools.product([
"u",
"c",
"t"], [
"d",
"s",
"b"])]:
157 coefficient_name = coefficient.format(flavours=flavours)
163 """! Validate vdecaymode keyword."""
168 __decay_mode_lookup = {
"e- ve~": 1,
"mu- vm~": 2,
"tau- vt~": 3,
"e+ ve": 1,
"mu+ vm": 2,
"tau+ vt": 3}
def expose(self)
Add all names to the interface of this object.
def parameters_by_name(self, name)
Retrieve all parameters that use a given name.
def default_scales(self)
Default scale variations for this process.
def validate_decays(self)
Validate vdecaymode 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.
allowed_decay_modes
List of allowed decay modes.
def parameters_by_keyword(self, keyword)
Retrieve all parameters that use a given keyword.
validation_functions
List of validation functions to run before preparing runcard.
def 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.
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
def default_PDFs(self)
Default PDFs for this process.
Powheg configuration for W boson production in Standard Model Effective Field Theory.
Base class for PowhegBox V2 processes.