Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • osalin/MadGraphModels
  • dwilson/MadGraphModels
  • zhiliang/MadGraphModels
  • dtimoshy/MadGraphModels
  • zewolffs/MadGraphModels
  • kbehr/MadGraphModels
  • yian/MadGraphModels
  • zhuolinz/MadGraphModels
  • shwahdan/MadGraphModels
  • sargyrop/MadGraphModels
  • dbaronmo/MadGraphModels
  • danning/MadGraphModels
  • kgranado/MadGraphModels
  • gfrattar/MadGraphModels
  • tkohno/MadGraphModels
  • atlas-generators-team/MadGraphModels
16 results
Show changes
Commits on Source (161)
Showing
with 2922 additions and 432 deletions
......@@ -13,5 +13,7 @@
*/.*
# Ignore caches
*/__pycache__
# Ignore the py.py cache in case they ran in this directory
py.py
# Ignore the *actual* updated model list
model_list_updated.txt
\ No newline at end of file
# Just the one stage really
stages:
- test
# test the commit using exactly the pre-commit hook
DocumentationCheck:
image: gitlab-registry.cern.ch/ci-tools/ci-worker:cc7
image: registry.cern.ch/docker.io/atlasadc/atlas-grid-almalinux9
stage: test
script:
- ./pre-commit.sh
Requestor: Malak Ait Tamlihat
Content: New model including new real scalar S in a two Higgs-doublet model (2HDM)
Source: Mukesh Kumar [mukesh.kumar@cern.ch]
Papers: https://inspirehep.net/literature/1467465
# This file was automatically created by FeynRules 2.3.32
# Mathematica version: 11.1.1 for Linux x86 (64-bit) (April 18, 2017)
# Date: Tue 14 Sep 2021 18:00:28
from object_library import all_couplings, Coupling
from function_library import complexconjugate, re, im, csc, sec, acsc, asec, cot
# This file was automatically created by FeynRules 2.3.32
# Mathematica version: 11.1.1 for Linux x86 (64-bit) (April 18, 2017)
# Date: Tue 14 Sep 2021 18:00:11
#
# This is the logfile for the model THDMS-Eft
# Authors: N. Christensen, C. Duhr, B. Fuks
# Model version: 1.4.7
# Checking the Quantum numbers
* Electric charge defined.
# Checking the Lagrangians
* All Lagrangians are ok.
#
# Particle definitions
#
* No particles removed. All particles correspond to GenInt setup.
# Automatically assigned PDG numbers
* Assigned PDG number 9000001 to particle ghA
* Assigned PDG number 9000002 to particle ghZ
* Assigned PDG number 9000003 to particle ghWp
* Assigned PDG number 9000004 to particle ghWm
# Compulsory PDG codes:
* Class SM leptons complete.
* Class SM neutrinos complete.
* Class SM quarks complete.
* Class SM gauge bosons complete.
#
# Parameter definitions
#
* All parameters are ok.
# Vertices
* Calling FeynmanRules for 2 Lagrangians.
* Number of classes vertices: 48
* Number of flavored vertices: 78
* Saved vertices in InterfaceRun[ 1 ].
* Checked QNumber conservation.
- Quantum number GhostNumber conserved in all vertices.
- Quantum number LeptonNumber conserved in all vertices.
- Quantum number Q conserved in all vertices.
- Quantum number Y conserved in all vertices.
* particles.py written.
* parameters.py written.
#
# Vertex definitions
#
* 78 vertices written.
* vertices.py written.
#
# Lorentz structure definitions
#
* 27 lorentz structures written.
* lorentz.py written.
#
# Coupling definitions
#
* 55 couplings written.
* couplings.py written.
#
# Coupling order definitions
#
* 0 couplings orders written.
* coupling_orders.py written.
#
# Decay definitions
#
* 9 decays written.
* decay.py not written
#
# CTCoupling definitions
#
* 0 CTcouplings written.
* CT_couplings.py written.
import object_library
import particles
import couplings
import lorentz
import parameters
import vertices
import coupling_orders
import write_param_card
import propagators
import function_library
all_particles = particles.all_particles
all_vertices = vertices.all_vertices
all_couplings = couplings.all_couplings
all_lorentz = lorentz.all_lorentz
all_parameters = parameters.all_parameters
all_orders = coupling_orders.all_orders
all_functions = function_library.all_functions
all_propagators = propagators.all_propagators
try:
import decays
except ImportError:
pass
else:
all_decays = decays.all_decays
try:
import form_factors
except ImportError:
pass
else:
all_form_factors = form_factors.all_form_factors
try:
import CT_vertices
except ImportError:
pass
else:
all_CTvertices = CT_vertices.all_CTvertices
gauge = [0]
__author__ = "N. Christensen, C. Duhr, B. Fuks"
__date__ = "28. 09. 2016"
__version__= "1.4.7"
# This file was automatically created by FeynRules 2.3.32
# Mathematica version: 11.1.1 for Linux x86 (64-bit) (April 18, 2017)
# Date: Tue 14 Sep 2021 18:00:28
from object_library import all_orders, CouplingOrder
HIW = CouplingOrder(name = 'HIW',
expansion_order = 99,
hierarchy = 1)
QCD = CouplingOrder(name = 'QCD',
expansion_order = 99,
hierarchy = 1)
QED = CouplingOrder(name = 'QED',
expansion_order = 99,
hierarchy = 2)
QNP = CouplingOrder(name = 'QNP',
expansion_order = 99,
hierarchy = 1)
# This file was automatically created by FeynRules 2.3.32
# Mathematica version: 11.1.1 for Linux x86 (64-bit) (April 18, 2017)
# Date: Tue 14 Sep 2021 18:00:28
from object_library import all_couplings, Coupling
from function_library import complexconjugate, re, im, csc, sec, acsc, asec, cot
GC_1 = Coupling(name = 'GC_1',
value = '-(ee*complex(0,1))/3.',
order = {'QED':1})
GC_2 = Coupling(name = 'GC_2',
value = '(2*ee*complex(0,1))/3.',
order = {'QED':1})
GC_3 = Coupling(name = 'GC_3',
value = '-(ee*complex(0,1))',
order = {'QED':1})
GC_4 = Coupling(name = 'GC_4',
value = 'ee*complex(0,1)',
order = {'QED':1})
GC_5 = Coupling(name = 'GC_5',
value = 'ee**2*complex(0,1)',
order = {'QED':2})
GC_6 = Coupling(name = 'GC_6',
value = '-G',
order = {'QCD':1})
GC_7 = Coupling(name = 'GC_7',
value = 'complex(0,1)*G',
order = {'QCD':1})
GC_8 = Coupling(name = 'GC_8',
value = 'complex(0,1)*G**2',
order = {'QCD':2})
GC_9 = Coupling(name = 'GC_9',
value = '-(complex(0,1)*Gh2)',
order = {'HIW':1})
GC_10 = Coupling(name = 'GC_10',
value = '-(complex(0,1)*GhSM)',
order = {'HIW':1})
GC_11 = Coupling(name = 'GC_11',
value = 'complex(0,1)*GhSM',
order = {'HIW':1})
GC_12 = Coupling(name = 'GC_12',
value = '(complex(0,1)*GphiR)/8.',
order = {'QNP':1})
GC_13 = Coupling(name = 'GC_13',
value = '(G*GphiR)/4.',
order = {'QCD':1,'QNP':1})
GC_14 = Coupling(name = 'GC_14',
value = '-(ee*kzrh)/(2.*cw)',
order = {'QED':1,'QNP':1})
GC_15 = Coupling(name = 'GC_15',
value = '-6*complex(0,1)*kpV**4*lam',
order = {'QED':2,'QNP':4})
GC_16 = Coupling(name = 'GC_16',
value = '-((ee**2*complex(0,1))/sw**2)',
order = {'QED':2})
GC_17 = Coupling(name = 'GC_17',
value = '(cw**2*ee**2*complex(0,1))/sw**2',
order = {'QED':2})
GC_18 = Coupling(name = 'GC_18',
value = '(ee**2*complex(0,1)*kpV**2)/(2.*sw**2)',
order = {'QED':2,'QNP':2})
GC_19 = Coupling(name = 'GC_19',
value = '(ee*complex(0,1))/(sw*cmath.sqrt(2))',
order = {'QED':1})
GC_20 = Coupling(name = 'GC_20',
value = '(CKM1x1*ee*complex(0,1))/(sw*cmath.sqrt(2))',
order = {'QED':1})
GC_21 = Coupling(name = 'GC_21',
value = '(CKM1x2*ee*complex(0,1))/(sw*cmath.sqrt(2))',
order = {'QED':1})
GC_22 = Coupling(name = 'GC_22',
value = '(CKM2x1*ee*complex(0,1))/(sw*cmath.sqrt(2))',
order = {'QED':1})
GC_23 = Coupling(name = 'GC_23',
value = '(CKM2x2*ee*complex(0,1))/(sw*cmath.sqrt(2))',
order = {'QED':1})
GC_24 = Coupling(name = 'GC_24',
value = '(cw*ee*complex(0,1))/(2.*sw)',
order = {'QED':1})
GC_25 = Coupling(name = 'GC_25',
value = '(cw*ee*complex(0,1))/sw',
order = {'QED':1})
GC_26 = Coupling(name = 'GC_26',
value = '(-2*cw*ee**2*complex(0,1))/sw',
order = {'QED':2})
GC_27 = Coupling(name = 'GC_27',
value = '-(ee*complex(0,1)*sw)/(6.*cw)',
order = {'QED':1})
GC_28 = Coupling(name = 'GC_28',
value = '(ee*complex(0,1)*sw)/(3.*cw)',
order = {'QED':1})
GC_29 = Coupling(name = 'GC_29',
value = '(ee*complex(0,1)*sw)/cw',
order = {'QED':1})
GC_30 = Coupling(name = 'GC_30',
value = '-(cw*ee*complex(0,1))/(2.*sw) - (ee*complex(0,1)*sw)/(6.*cw)',
order = {'QED':1})
GC_31 = Coupling(name = 'GC_31',
value = '-(cw*ee*complex(0,1))/(2.*sw) + (ee*complex(0,1)*sw)/(2.*cw)',
order = {'QED':1})
GC_32 = Coupling(name = 'GC_32',
value = '(cw*ee*complex(0,1))/(2.*sw) + (ee*complex(0,1)*sw)/(2.*cw)',
order = {'QED':1})
GC_33 = Coupling(name = 'GC_33',
value = 'ee**2*complex(0,1)*kpV**2 + (cw**2*ee**2*complex(0,1)*kpV**2)/(2.*sw**2) + (ee**2*complex(0,1)*kpV**2*sw**2)/(2.*cw**2)',
order = {'QED':2,'QNP':2})
GC_34 = Coupling(name = 'GC_34',
value = '-((complex(0,1)*GH)/vev)',
order = {'QED':1,'QNP':1})
GC_35 = Coupling(name = 'GC_35',
value = '-((G*GH)/vev)',
order = {'QCD':1,'QED':1,'QNP':1})
GC_36 = Coupling(name = 'GC_36',
value = '(complex(0,1)*G**2*GH)/vev',
order = {'QCD':2,'QED':1,'QNP':1})
GC_37 = Coupling(name = 'GC_37',
value = '-((btb*complex(0,1)*MB)/vev)',
order = {'QED':1,'QNP':1})
GC_38 = Coupling(name = 'GC_38',
value = '-((btbR*complex(0,1)*MB)/vev)',
order = {'QED':1,'QNP':1})
GC_39 = Coupling(name = 'GC_39',
value = '-((bttR*complex(0,1)*MT)/vev)',
order = {'QED':1,'QNP':1})
GC_40 = Coupling(name = 'GC_40',
value = '-((bta*complex(0,1)*MTA)/vev)',
order = {'QED':1,'QNP':1})
GC_41 = Coupling(name = 'GC_41',
value = '(2*complex(0,1)*kVV*MW**2)/vev',
order = {'QED':1})
GC_42 = Coupling(name = 'GC_42',
value = '(2*complex(0,1)*kVV*MZ**2)/vev',
order = {'QED':1})
GC_43 = Coupling(name = 'GC_43',
value = '-2*complex(0,1)*gHHR*lam*vev',
order = {'QED':1,'QNP':1})
GC_44 = Coupling(name = 'GC_44',
value = '-(complex(0,1)*gHRS*lam*vev)',
order = {'QED':1,'QNP':1})
GC_45 = Coupling(name = 'GC_45',
value = '-2*complex(0,1)*gRSS*lam*vev',
order = {'QED':1,'QNP':1})
GC_46 = Coupling(name = 'GC_46',
value = '-6*complex(0,1)*kpV**3*lam*vev',
order = {'QED':1,'QNP':3})
GC_47 = Coupling(name = 'GC_47',
value = '(ee**2*complex(0,1)*kpV*vev)/(2.*sw**2)',
order = {'QED':1,'QNP':1})
GC_48 = Coupling(name = 'GC_48',
value = 'ee**2*complex(0,1)*kpV*vev + (cw**2*ee**2*complex(0,1)*kpV*vev)/(2.*sw**2) + (ee**2*complex(0,1)*kpV*sw**2*vev)/(2.*cw**2)',
order = {'QED':1,'QNP':1})
GC_49 = Coupling(name = 'GC_49',
value = '-((complex(0,1)*kpV*yb)/cmath.sqrt(2))',
order = {'QED':1,'QNP':1})
GC_50 = Coupling(name = 'GC_50',
value = '-((complex(0,1)*kpV*yt)/cmath.sqrt(2))',
order = {'QED':1,'QNP':1})
GC_51 = Coupling(name = 'GC_51',
value = '-((complex(0,1)*kpV*ytau)/cmath.sqrt(2))',
order = {'QED':1,'QNP':1})
GC_52 = Coupling(name = 'GC_52',
value = '(ee*complex(0,1)*complexconjugate(CKM1x1))/(sw*cmath.sqrt(2))',
order = {'QED':1})
GC_53 = Coupling(name = 'GC_53',
value = '(ee*complex(0,1)*complexconjugate(CKM1x2))/(sw*cmath.sqrt(2))',
order = {'QED':1})
GC_54 = Coupling(name = 'GC_54',
value = '(ee*complex(0,1)*complexconjugate(CKM2x1))/(sw*cmath.sqrt(2))',
order = {'QED':1})
GC_55 = Coupling(name = 'GC_55',
value = '(ee*complex(0,1)*complexconjugate(CKM2x2))/(sw*cmath.sqrt(2))',
order = {'QED':1})
# This file was automatically created by FeynRules 2.3.32
# Mathematica version: 11.1.1 for Linux x86 (64-bit) (April 18, 2017)
# Date: Tue 14 Sep 2021 18:00:28
from object_library import all_decays, Decay
import particles as P
Decay_b = Decay(name = 'Decay_b',
particle = P.b,
partial_widths = {(P.W__minus__,P.t):'(((3*ee**2*MB**2)/(2.*sw**2) + (3*ee**2*MT**2)/(2.*sw**2) + (3*ee**2*MB**4)/(2.*MW**2*sw**2) - (3*ee**2*MB**2*MT**2)/(MW**2*sw**2) + (3*ee**2*MT**4)/(2.*MW**2*sw**2) - (3*ee**2*MW**2)/sw**2)*cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4))/(96.*cmath.pi*abs(MB)**3)'})
Decay_H = Decay(name = 'Decay_H',
particle = P.H,
partial_widths = {(P.a,P.a):'(GhSM**2*MH**6)/(64.*cmath.pi*abs(MH)**3)',
(P.b,P.b__tilde__):'((-12*kpV**2*MB**2*yb**2 + 3*kpV**2*MH**2*yb**2)*cmath.sqrt(-4*MB**2*MH**2 + MH**4))/(16.*cmath.pi*abs(MH)**3)',
(P.h2,P.h3):'(gHRS**2*lam**2*vev**2*cmath.sqrt(MH**4 - 2*MH**2*Mh2**2 + Mh2**4 - 2*MH**2*Mh3**2 - 2*Mh2**2*Mh3**2 + Mh3**4))/(16.*cmath.pi*abs(MH)**3)',
(P.t,P.t__tilde__):'((3*kpV**2*MH**2*yt**2 - 12*kpV**2*MT**2*yt**2)*cmath.sqrt(MH**4 - 4*MH**2*MT**2))/(16.*cmath.pi*abs(MH)**3)',
(P.ta__minus__,P.ta__plus__):'((kpV**2*MH**2*ytau**2 - 4*kpV**2*MTA**2*ytau**2)*cmath.sqrt(MH**4 - 4*MH**2*MTA**2))/(16.*cmath.pi*abs(MH)**3)',
(P.W__minus__,P.W__plus__):'(((3*ee**4*kpV**2*vev**2)/(4.*sw**4) + (ee**4*kpV**2*MH**4*vev**2)/(16.*MW**4*sw**4) - (ee**4*kpV**2*MH**2*vev**2)/(4.*MW**2*sw**4))*cmath.sqrt(MH**4 - 4*MH**2*MW**2))/(16.*cmath.pi*abs(MH)**3)',
(P.Z,P.Z):'(((9*ee**4*kpV**2*vev**2)/2. + (3*ee**4*kpV**2*MH**4*vev**2)/(8.*MZ**4) - (3*ee**4*kpV**2*MH**2*vev**2)/(2.*MZ**2) + (3*cw**4*ee**4*kpV**2*vev**2)/(4.*sw**4) + (cw**4*ee**4*kpV**2*MH**4*vev**2)/(16.*MZ**4*sw**4) - (cw**4*ee**4*kpV**2*MH**2*vev**2)/(4.*MZ**2*sw**4) + (3*cw**2*ee**4*kpV**2*vev**2)/sw**2 + (cw**2*ee**4*kpV**2*MH**4*vev**2)/(4.*MZ**4*sw**2) - (cw**2*ee**4*kpV**2*MH**2*vev**2)/(MZ**2*sw**2) + (3*ee**4*kpV**2*sw**2*vev**2)/cw**2 + (ee**4*kpV**2*MH**4*sw**2*vev**2)/(4.*cw**2*MZ**4) - (ee**4*kpV**2*MH**2*sw**2*vev**2)/(cw**2*MZ**2) + (3*ee**4*kpV**2*sw**4*vev**2)/(4.*cw**4) + (ee**4*kpV**2*MH**4*sw**4*vev**2)/(16.*cw**4*MZ**4) - (ee**4*kpV**2*MH**2*sw**4*vev**2)/(4.*cw**4*MZ**2))*cmath.sqrt(MH**4 - 4*MH**2*MZ**2))/(32.*cmath.pi*abs(MH)**3)'})
Decay_h2 = Decay(name = 'Decay_h2',
particle = P.h2,
partial_widths = {(P.a,P.a):'(Gh2**2*Mh2**6)/(64.*cmath.pi*abs(Mh2)**3)',
(P.b,P.b__tilde__):'(((-24*btb**2*MB**4)/vev**2 + (6*btb**2*MB**2*Mh2**2)/vev**2)*cmath.sqrt(-4*MB**2*Mh2**2 + Mh2**4))/(16.*cmath.pi*abs(Mh2)**3)',
(P.H,P.h3):'(gHRS**2*lam**2*vev**2*cmath.sqrt(MH**4 - 2*MH**2*Mh2**2 + Mh2**4 - 2*MH**2*Mh3**2 - 2*Mh2**2*Mh3**2 + Mh3**4))/(16.*cmath.pi*abs(Mh2)**3)',
(P.ta__minus__,P.ta__plus__):'(((2*bta**2*Mh2**2*MTA**2)/vev**2 - (8*bta**2*MTA**4)/vev**2)*cmath.sqrt(Mh2**4 - 4*Mh2**2*MTA**2))/(16.*cmath.pi*abs(Mh2)**3)',
(P.W__minus__,P.W__plus__):'(((kVV**2*Mh2**4)/vev**2 - (4*kVV**2*Mh2**2*MW**2)/vev**2 + (12*kVV**2*MW**4)/vev**2)*cmath.sqrt(Mh2**4 - 4*Mh2**2*MW**2))/(16.*cmath.pi*abs(Mh2)**3)',
(P.Z,P.Z):'(((kVV**2*Mh2**4)/vev**2 - (4*kVV**2*Mh2**2*MZ**2)/vev**2 + (12*kVV**2*MZ**4)/vev**2)*cmath.sqrt(Mh2**4 - 4*Mh2**2*MZ**2))/(32.*cmath.pi*abs(Mh2)**3)'})
Decay_h3 = Decay(name = 'Decay_h3',
particle = P.h3,
partial_widths = {(P.g,P.g):'(GH**2*Mh3**6)/(8.*cmath.pi*vev**2*abs(Mh3)**3)',
(P.H,P.H):'(gHHR**2*lam**2*vev**2*cmath.sqrt(-4*MH**2*Mh3**2 + Mh3**4))/(8.*cmath.pi*abs(Mh3)**3)',
(P.H,P.h2):'(gHRS**2*lam**2*vev**2*cmath.sqrt(MH**4 - 2*MH**2*Mh2**2 + Mh2**4 - 2*MH**2*Mh3**2 - 2*Mh2**2*Mh3**2 + Mh3**4))/(16.*cmath.pi*abs(Mh3)**3)',
(P.h2,P.h2):'(gRSS**2*lam**2*vev**2*cmath.sqrt(-4*Mh2**2*Mh3**2 + Mh3**4))/(8.*cmath.pi*abs(Mh3)**3)'})
Decay_r = Decay(name = 'Decay_r',
particle = P.r,
partial_widths = {(P.b,P.b__tilde__):'(((-24*btbR**2*MB**4)/vev**2 + (6*btbR**2*MB**2*MR**2)/vev**2)*cmath.sqrt(-4*MB**2*MR**2 + MR**4))/(16.*cmath.pi*abs(MR)**3)',
(P.g,P.g):'(GphiR**2*MR**6)/(8.*cmath.pi*abs(MR)**3)',
(P.t,P.t__tilde__):'(((6*bttR**2*MR**2*MT**2)/vev**2 - (24*bttR**2*MT**4)/vev**2)*cmath.sqrt(MR**4 - 4*MR**2*MT**2))/(16.*cmath.pi*abs(MR)**3)'})
Decay_t = Decay(name = 'Decay_t',
particle = P.t,
partial_widths = {(P.W__plus__,P.b):'(((3*ee**2*MB**2)/(2.*sw**2) + (3*ee**2*MT**2)/(2.*sw**2) + (3*ee**2*MB**4)/(2.*MW**2*sw**2) - (3*ee**2*MB**2*MT**2)/(MW**2*sw**2) + (3*ee**2*MT**4)/(2.*MW**2*sw**2) - (3*ee**2*MW**2)/sw**2)*cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4))/(96.*cmath.pi*abs(MT)**3)'})
Decay_ta__minus__ = Decay(name = 'Decay_ta__minus__',
particle = P.ta__minus__,
partial_widths = {(P.W__minus__,P.vt):'((MTA**2 - MW**2)*((ee**2*MTA**2)/(2.*sw**2) + (ee**2*MTA**4)/(2.*MW**2*sw**2) - (ee**2*MW**2)/sw**2))/(32.*cmath.pi*abs(MTA)**3)'})
Decay_W__plus__ = Decay(name = 'Decay_W__plus__',
particle = P.W__plus__,
partial_widths = {(P.c,P.d__tilde__):'(CKM2x1*ee**2*MW**4*complexconjugate(CKM2x1))/(16.*cmath.pi*sw**2*abs(MW)**3)',
(P.c,P.s__tilde__):'(CKM2x2*ee**2*MW**4*complexconjugate(CKM2x2))/(16.*cmath.pi*sw**2*abs(MW)**3)',
(P.t,P.b__tilde__):'(((-3*ee**2*MB**2)/(2.*sw**2) - (3*ee**2*MT**2)/(2.*sw**2) - (3*ee**2*MB**4)/(2.*MW**2*sw**2) + (3*ee**2*MB**2*MT**2)/(MW**2*sw**2) - (3*ee**2*MT**4)/(2.*MW**2*sw**2) + (3*ee**2*MW**2)/sw**2)*cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4))/(48.*cmath.pi*abs(MW)**3)',
(P.u,P.d__tilde__):'(CKM1x1*ee**2*MW**4*complexconjugate(CKM1x1))/(16.*cmath.pi*sw**2*abs(MW)**3)',
(P.u,P.s__tilde__):'(CKM1x2*ee**2*MW**4*complexconjugate(CKM1x2))/(16.*cmath.pi*sw**2*abs(MW)**3)',
(P.ve,P.e__plus__):'(ee**2*MW**4)/(48.*cmath.pi*sw**2*abs(MW)**3)',
(P.vm,P.mu__plus__):'(ee**2*MW**4)/(48.*cmath.pi*sw**2*abs(MW)**3)',
(P.vt,P.ta__plus__):'((-MTA**2 + MW**2)*(-(ee**2*MTA**2)/(2.*sw**2) - (ee**2*MTA**4)/(2.*MW**2*sw**2) + (ee**2*MW**2)/sw**2))/(48.*cmath.pi*abs(MW)**3)'})
Decay_Z = Decay(name = 'Decay_Z',
particle = P.Z,
partial_widths = {(P.b,P.b__tilde__):'((-7*ee**2*MB**2 + ee**2*MZ**2 - (3*cw**2*ee**2*MB**2)/(2.*sw**2) + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) - (17*ee**2*MB**2*sw**2)/(6.*cw**2) + (5*ee**2*MZ**2*sw**2)/(6.*cw**2))*cmath.sqrt(-4*MB**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
(P.c,P.c__tilde__):'(MZ**2*(-(ee**2*MZ**2) + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) + (17*ee**2*MZ**2*sw**2)/(6.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)',
(P.d,P.d__tilde__):'(MZ**2*(ee**2*MZ**2 + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) + (5*ee**2*MZ**2*sw**2)/(6.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)',
(P.e__minus__,P.e__plus__):'(MZ**2*(-(ee**2*MZ**2) + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (5*ee**2*MZ**2*sw**2)/(2.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)',
(P.mu__minus__,P.mu__plus__):'(MZ**2*(-(ee**2*MZ**2) + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (5*ee**2*MZ**2*sw**2)/(2.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)',
(P.s,P.s__tilde__):'(MZ**2*(ee**2*MZ**2 + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) + (5*ee**2*MZ**2*sw**2)/(6.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)',
(P.t,P.t__tilde__):'((-11*ee**2*MT**2 - ee**2*MZ**2 - (3*cw**2*ee**2*MT**2)/(2.*sw**2) + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) + (7*ee**2*MT**2*sw**2)/(6.*cw**2) + (17*ee**2*MZ**2*sw**2)/(6.*cw**2))*cmath.sqrt(-4*MT**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
(P.ta__minus__,P.ta__plus__):'((-5*ee**2*MTA**2 - ee**2*MZ**2 - (cw**2*ee**2*MTA**2)/(2.*sw**2) + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (7*ee**2*MTA**2*sw**2)/(2.*cw**2) + (5*ee**2*MZ**2*sw**2)/(2.*cw**2))*cmath.sqrt(-4*MTA**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
(P.u,P.u__tilde__):'(MZ**2*(-(ee**2*MZ**2) + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) + (17*ee**2*MZ**2*sw**2)/(6.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)',
(P.ve,P.ve__tilde__):'(MZ**2*(ee**2*MZ**2 + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (ee**2*MZ**2*sw**2)/(2.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)',
(P.vm,P.vm__tilde__):'(MZ**2*(ee**2*MZ**2 + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (ee**2*MZ**2*sw**2)/(2.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)',
(P.vt,P.vt__tilde__):'(MZ**2*(ee**2*MZ**2 + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (ee**2*MZ**2*sw**2)/(2.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)',
(P.W__minus__,P.W__plus__):'(((-12*cw**2*ee**2*MW**2)/sw**2 - (17*cw**2*ee**2*MZ**2)/sw**2 + (4*cw**2*ee**2*MZ**4)/(MW**2*sw**2) + (cw**2*ee**2*MZ**6)/(4.*MW**4*sw**2))*cmath.sqrt(-4*MW**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)'})
# This file is part of the UFO.
#
# This file contains definitions for functions that
# are extensions of the cmath library, and correspond
# either to functions that are in cmath, but inconvenient
# to access from there (e.g. z.conjugate()),
# or functions that are simply not defined.
#
#
__date__ = "22 July 2010"
__author__ = "claude.duhr@durham.ac.uk"
import cmath
from object_library import all_functions, Function
#
# shortcuts for functions from cmath
#
complexconjugate = Function(name = 'complexconjugate',
arguments = ('z',),
expression = 'z.conjugate()')
re = Function(name = 're',
arguments = ('z',),
expression = 'z.real')
im = Function(name = 'im',
arguments = ('z',),
expression = 'z.imag')
# New functions (trigonometric)
sec = Function(name = 'sec',
arguments = ('z',),
expression = '1./cmath.cos(z.real)')
asec = Function(name = 'asec',
arguments = ('z',),
expression = 'cmath.acos(1./(z.real))')
csc = Function(name = 'csc',
arguments = ('z',),
expression = '1./cmath.sin(z.real)')
acsc = Function(name = 'acsc',
arguments = ('z',),
expression = 'cmath.asin(1./(z.real))')
cot = Function(name = 'cot',
arguments = ('z',),
expression = '1./cmath.tan(z.real)')
# Heaviside theta function
theta_function = Function(name = 'theta_function',
arguments = ('x','y','z'),
expression = 'y if x else z')
# Auxiliary functions for NLO
cond = Function(name = 'cond',
arguments = ('condition','ExprTrue','ExprFalse'),
expression = '(ExprTrue if condition==0.0 else ExprFalse)')
reglog = Function(name = 'reglog',
arguments = ('z'),
expression = '(0.0 if z==0.0 else cmath.log(z.real))')
# This file was automatically created by FeynRules 2.3.32
# Mathematica version: 11.1.1 for Linux x86 (64-bit) (April 18, 2017)
# Date: Tue 14 Sep 2021 18:00:28
from object_library import all_lorentz, Lorentz
from function_library import complexconjugate, re, im, csc, sec, acsc, asec, cot
try:
import form_factors as ForFac
except ImportError:
pass
UUV1 = Lorentz(name = 'UUV1',
spins = [ -1, -1, 3 ],
structure = 'P(3,2) + P(3,3)')
SSS1 = Lorentz(name = 'SSS1',
spins = [ 1, 1, 1 ],
structure = '1')
FFS1 = Lorentz(name = 'FFS1',
spins = [ 2, 2, 1 ],
structure = 'Identity(2,1)')
FFS2 = Lorentz(name = 'FFS2',
spins = [ 2, 2, 1 ],
structure = 'ProjM(2,1) + ProjP(2,1)')
FFV1 = Lorentz(name = 'FFV1',
spins = [ 2, 2, 3 ],
structure = 'Gamma(3,2,1)')
FFV2 = Lorentz(name = 'FFV2',
spins = [ 2, 2, 3 ],
structure = 'Gamma(3,2,-1)*ProjM(-1,1)')
FFV3 = Lorentz(name = 'FFV3',
spins = [ 2, 2, 3 ],
structure = 'Gamma(3,2,-1)*ProjP(-1,1)')
FFV4 = Lorentz(name = 'FFV4',
spins = [ 2, 2, 3 ],
structure = 'Gamma(3,2,-1)*ProjM(-1,1) + 4*Gamma(3,2,-1)*ProjP(-1,1)')
VSS1 = Lorentz(name = 'VSS1',
spins = [ 3, 1, 1 ],
structure = 'P(1,2) + P(1,3)')
VVS1 = Lorentz(name = 'VVS1',
spins = [ 3, 3, 1 ],
structure = 'P(1,2)*P(2,1)')
VVS2 = Lorentz(name = 'VVS2',
spins = [ 3, 3, 1 ],
structure = '-4*Epsilon(1,2,-1,-2)*P(-2,2)*P(-1,1) + 4*Epsilon(1,2,-1,-2)*P(-2,1)*P(-1,2)')
VVS3 = Lorentz(name = 'VVS3',
spins = [ 3, 3, 1 ],
structure = 'Metric(1,2)')
VVS4 = Lorentz(name = 'VVS4',
spins = [ 3, 3, 1 ],
structure = 'P(-1,1)*P(-1,2)*Metric(1,2)')
VVS5 = Lorentz(name = 'VVS5',
spins = [ 3, 3, 1 ],
structure = 'P(1,2)*P(2,1) - P(-1,1)*P(-1,2)*Metric(1,2)')
VVV1 = Lorentz(name = 'VVV1',
spins = [ 3, 3, 3 ],
structure = 'P(3,1)*Metric(1,2) - P(3,2)*Metric(1,2) - P(2,1)*Metric(1,3) + P(2,3)*Metric(1,3) + P(1,2)*Metric(2,3) - P(1,3)*Metric(2,3)')
SSSS1 = Lorentz(name = 'SSSS1',
spins = [ 1, 1, 1, 1 ],
structure = '1')
VVSS1 = Lorentz(name = 'VVSS1',
spins = [ 3, 3, 1, 1 ],
structure = 'Metric(1,2)')
VVVS1 = Lorentz(name = 'VVVS1',
spins = [ 3, 3, 3, 1 ],
structure = '-4*Epsilon(1,2,3,-1)*P(-1,1) - 4*Epsilon(1,2,3,-1)*P(-1,2) - 4*Epsilon(1,2,3,-1)*P(-1,3)')
VVVS2 = Lorentz(name = 'VVVS2',
spins = [ 3, 3, 3, 1 ],
structure = 'P(3,1)*Metric(1,2) - P(3,2)*Metric(1,2) - P(2,1)*Metric(1,3) + P(2,3)*Metric(1,3) + P(1,2)*Metric(2,3) - P(1,3)*Metric(2,3)')
VVVV1 = Lorentz(name = 'VVVV1',
spins = [ 3, 3, 3, 3 ],
structure = 'Metric(1,4)*Metric(2,3) - Metric(1,3)*Metric(2,4)')
VVVV2 = Lorentz(name = 'VVVV2',
spins = [ 3, 3, 3, 3 ],
structure = 'Metric(1,4)*Metric(2,3) + Metric(1,3)*Metric(2,4) - 2*Metric(1,2)*Metric(3,4)')
VVVV3 = Lorentz(name = 'VVVV3',
spins = [ 3, 3, 3, 3 ],
structure = 'Metric(1,4)*Metric(2,3) - Metric(1,2)*Metric(3,4)')
VVVV4 = Lorentz(name = 'VVVV4',
spins = [ 3, 3, 3, 3 ],
structure = 'Metric(1,3)*Metric(2,4) - Metric(1,2)*Metric(3,4)')
VVVV5 = Lorentz(name = 'VVVV5',
spins = [ 3, 3, 3, 3 ],
structure = 'Metric(1,4)*Metric(2,3) - (Metric(1,3)*Metric(2,4))/2. - (Metric(1,2)*Metric(3,4))/2.')
VVVVS1 = Lorentz(name = 'VVVVS1',
spins = [ 3, 3, 3, 3, 1 ],
structure = 'Metric(1,4)*Metric(2,3) - Metric(1,3)*Metric(2,4)')
VVVVS2 = Lorentz(name = 'VVVVS2',
spins = [ 3, 3, 3, 3, 1 ],
structure = 'Metric(1,4)*Metric(2,3) - Metric(1,2)*Metric(3,4)')
VVVVS3 = Lorentz(name = 'VVVVS3',
spins = [ 3, 3, 3, 3, 1 ],
structure = 'Metric(1,3)*Metric(2,4) - Metric(1,2)*Metric(3,4)')
##
##
## Feynrules Header
##
##
##
##
##
import cmath
import re
class UFOError(Exception):
"""Exception raised if when inconsistencies are detected in the UFO model."""
pass
class UFOBaseClass(object):
"""The class from which all FeynRules classes are derived."""
require_args = []
def __init__(self, *args, **options):
assert(len(self.require_args) == len (args))
for i, name in enumerate(self.require_args):
setattr(self, name, args[i])
for (option, value) in options.items():
setattr(self, option, value)
def get(self, name):
return getattr(self, name)
def set(self, name, value):
setattr(self, name, value)
def get_all(self):
"""Return a dictionary containing all the information of the object"""
return self.__dict__
def __str__(self):
return self.name
def nice_string(self):
""" return string with the full information """
return '\n'.join(['%s \t: %s' %(name, value) for name, value in self.__dict__.items()])
def __repr__(self):
replacements = [
('+','__plus__'),
('-','__minus__'),
('@','__at__'),
('!','__exclam__'),
('?','__quest__'),
('*','__star__'),
('~','__tilde__')
]
text = self.name
for orig,sub in replacements:
text = text.replace(orig,sub)
return text
all_particles = []
class Particle(UFOBaseClass):
"""A standard Particle"""
require_args=['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname', 'charge']
require_args_all = ['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname','counterterm','charge', 'line', 'propagating', 'goldstoneboson', 'propagator']
def __init__(self, pdg_code, name, antiname, spin, color, mass, width, texname,
antitexname, charge , line=None, propagating=True, counterterm=None, goldstoneboson=False,
propagator=None, **options):
args= (pdg_code, name, antiname, spin, color, mass, width, texname,
antitexname, float(charge))
UFOBaseClass.__init__(self, *args, **options)
global all_particles
all_particles.append(self)
self.propagating = propagating
self.goldstoneboson= goldstoneboson
self.selfconjugate = (name == antiname)
if not line:
self.line = self.find_line_type()
else:
self.line = line
if propagator:
if isinstance(propagator, dict):
self.propagator = propagator
else:
self.propagator = {0: propagator, 1: propagator}
def find_line_type(self):
""" find how we draw a line if not defined
valid output: dashed/straight/wavy/curly/double/swavy/scurly
"""
spin = self.spin
color = self.color
#use default
if spin == 1:
return 'dashed'
elif spin == 2:
if not self.selfconjugate:
return 'straight'
elif color == 1:
return 'swavy'
else:
return 'scurly'
elif spin == 3:
if color == 1:
return 'wavy'
else:
return 'curly'
elif spin == 5:
return 'double'
elif spin == -1:
return 'dotted'
else:
return 'dashed' # not supported yet
def anti(self):
if self.selfconjugate:
raise Exception('%s has no anti particle.' % self.name)
outdic = {}
for k,v in self.__dict__.items():
if k not in self.require_args_all:
outdic[k] = -v
if self.color in [1,8]:
newcolor = self.color
else:
newcolor = -self.color
return Particle(-self.pdg_code, self.antiname, self.name, self.spin, newcolor, self.mass, self.width,
self.antitexname, self.texname, -self.charge, self.line, self.propagating, self.goldstoneboson, **outdic)
all_parameters = []
class Parameter(UFOBaseClass):
require_args=['name', 'nature', 'type', 'value', 'texname']
def __init__(self, name, nature, type, value, texname, lhablock=None, lhacode=None):
args = (name,nature,type,value,texname)
UFOBaseClass.__init__(self, *args)
args=(name,nature,type,value,texname)
global all_parameters
all_parameters.append(self)
if (lhablock is None or lhacode is None) and nature == 'external':
raise Exception('Need LHA information for external parameter "%s".' % name)
self.lhablock = lhablock
self.lhacode = lhacode
all_CTparameters = []
class CTParameter(UFOBaseClass):
require_args=['name', 'type', 'value', 'texname']
def __init__(self, name, type, value, texname):
args = (name,type,value,texname)
UFOBaseClass.__init__(self, *args)
global all_CTparameters
all_CTparameters.append(self)
def finite(self):
try:
return self.value[0]
except KeyError:
return 'ZERO'
def pole(self, x):
try:
return self.value[-x]
except KeyError:
return 'ZERO'
all_vertices = []
class Vertex(UFOBaseClass):
require_args=['name', 'particles', 'color', 'lorentz', 'couplings']
def __init__(self, name, particles, color, lorentz, couplings, **opt):
args = (name, particles, color, lorentz, couplings)
UFOBaseClass.__init__(self, *args, **opt)
args=(particles,color,lorentz,couplings)
global all_vertices
all_vertices.append(self)
all_CTvertices = []
class CTVertex(UFOBaseClass):
require_args=['name', 'particles', 'color', 'lorentz', 'couplings', 'type', 'loop_particles']
def __init__(self, name, particles, color, lorentz, couplings, type, loop_particles, **opt):
args = (name, particles, color, lorentz, couplings, type, loop_particles)
UFOBaseClass.__init__(self, *args, **opt)
args=(particles,color,lorentz,couplings, type, loop_particles)
global all_CTvertices
all_CTvertices.append(self)
all_couplings = []
class Coupling(UFOBaseClass):
require_args=['name', 'value', 'order']
require_args_all=['name', 'value', 'order', 'loop_particles', 'counterterm']
def __init__(self, name, value, order, **opt):
args =(name, value, order)
UFOBaseClass.__init__(self, *args, **opt)
global all_couplings
all_couplings.append(self)
def value(self):
return self.pole(0)
def pole(self, x):
""" the self.value attribute can be a dictionary directly specifying the Laurent serie using normal
parameter or just a string which can possibly contain CTparameter defining the Laurent serie."""
if isinstance(self.value,dict):
if -x in self.value.keys():
return self.value[-x]
else:
return 'ZERO'
CTparam=None
for param in all_CTparameters:
pattern=re.compile(r"(?P<first>\A|\*|\+|\-|\()(?P<name>"+param.name+r")(?P<second>\Z|\*|\+|\-|\))")
numberOfMatches=len(pattern.findall(self.value))
if numberOfMatches==1:
if not CTparam:
CTparam=param
else:
raise UFOError("UFO does not support yet more than one occurence of CTParameters in the couplings values.")
elif numberOfMatches>1:
raise UFOError("UFO does not support yet more than one occurence of CTParameters in the couplings values.")
if not CTparam:
if x==0:
return self.value
else:
return 'ZERO'
else:
if CTparam.pole(x)=='ZERO':
return 'ZERO'
else:
def substitution(matchedObj):
return matchedObj.group('first')+"("+CTparam.pole(x)+")"+matchedObj.group('second')
pattern=re.compile(r"(?P<first>\A|\*|\+|\-|\()(?P<name>"+CTparam.name+r")(?P<second>\Z|\*|\+|\-|\))")
return pattern.sub(substitution,self.value)
all_lorentz = []
class Lorentz(UFOBaseClass):
require_args=['name','spins','structure']
def __init__(self, name, spins, structure='external', **opt):
args = (name, spins, structure)
UFOBaseClass.__init__(self, *args, **opt)
global all_lorentz
all_lorentz.append(self)
all_functions = []
class Function(object):
def __init__(self, name, arguments, expression):
global all_functions
all_functions.append(self)
self.name = name
self.arguments = arguments
self.expr = expression
def __call__(self, *opt):
for i, arg in enumerate(self.arguments):
exec('%s = %s' % (arg, opt[i] ))
return eval(self.expr)
all_orders = []
class CouplingOrder(object):
def __init__(self, name, expansion_order, hierarchy, perturbative_expansion = 0):
global all_orders
all_orders.append(self)
self.name = name
self.expansion_order = expansion_order
self.hierarchy = hierarchy
self.perturbative_expansion = perturbative_expansion
all_decays = []
class Decay(UFOBaseClass):
require_args = ['particle','partial_widths']
def __init__(self, particle, partial_widths, **opt):
args = (particle, partial_widths)
UFOBaseClass.__init__(self, *args, **opt)
global all_decays
all_decays.append(self)
# Add the information directly to the particle
particle.partial_widths = partial_widths
all_form_factors = []
class FormFactor(UFOBaseClass):
require_args = ['name','type','value']
def __init__(self, name, type, value, **opt):
args = (name, type, value)
UFOBaseClass.__init__(self, *args, **opt)
global all_form_factors
all_form_factors.append(self)
all_propagators = []
class Propagator(UFOBaseClass):
require_args = ['name','numerator','denominator']
def __init__(self, name, numerator, denominator=None, **opt):
args = (name, numerator, denominator)
UFOBaseClass.__init__(self, *args, **opt)
global all_propagators
all_propagators.append(self)
# This file was automatically created by FeynRules 2.3.32
# Mathematica version: 11.1.1 for Linux x86 (64-bit) (April 18, 2017)
# Date: Tue 14 Sep 2021 18:00:28
from object_library import all_parameters, Parameter
from function_library import complexconjugate, re, im, csc, sec, acsc, asec, cot
# This is a default parameter object representing 0.
ZERO = Parameter(name = 'ZERO',
nature = 'internal',
type = 'real',
value = '0.0',
texname = '0')
# User-defined parameters.
cabi = Parameter(name = 'cabi',
nature = 'external',
type = 'real',
value = 0.227736,
texname = '\\theta _c',
lhablock = 'CKMBLOCK',
lhacode = [ 1 ])
kpV = Parameter(name = 'kpV',
nature = 'external',
type = 'real',
value = 0.7,
texname = 'k_v',
lhablock = 'HINPUTS',
lhacode = [ 1 ])
btb = Parameter(name = 'btb',
nature = 'external',
type = 'real',
value = 1.,
texname = '\\text{btb}',
lhablock = 'HINPUTS',
lhacode = [ 2 ])
bta = Parameter(name = 'bta',
nature = 'external',
type = 'real',
value = 1.,
texname = '\\text{bta}',
lhablock = 'HINPUTS',
lhacode = [ 3 ])
gHHR = Parameter(name = 'gHHR',
nature = 'external',
type = 'real',
value = 1.,
texname = 'g_{\\text{HHR}}',
lhablock = 'HINPUTS',
lhacode = [ 4 ])
gHRS = Parameter(name = 'gHRS',
nature = 'external',
type = 'real',
value = 1.,
texname = 'g_{\\text{HRS}}',
lhablock = 'HINPUTS',
lhacode = [ 5 ])
gRSS = Parameter(name = 'gRSS',
nature = 'external',
type = 'real',
value = 1.,
texname = 'g_{\\text{RSS}}',
lhablock = 'HINPUTS',
lhacode = [ 6 ])
GphiR = Parameter(name = 'GphiR',
nature = 'external',
type = 'real',
value = 1.,
texname = 'g_{\\text{phiR}}',
lhablock = 'HINPUTS',
lhacode = [ 7 ])
bttR = Parameter(name = 'bttR',
nature = 'external',
type = 'real',
value = 1.,
texname = 'b_{\\text{tt}}',
lhablock = 'HINPUTS',
lhacode = [ 8 ])
btbR = Parameter(name = 'btbR',
nature = 'external',
type = 'real',
value = 1.,
texname = 'b_{\\text{tb}}',
lhablock = 'HINPUTS',
lhacode = [ 9 ])
GH = Parameter(name = 'GH',
nature = 'external',
type = 'real',
value = 1.,
texname = 'g_{\\text{h3}}',
lhablock = 'HINPUTS',
lhacode = [ 10 ])
kzrh = Parameter(name = 'kzrh',
nature = 'external',
type = 'real',
value = 1.,
texname = 'k_{\\text{zrh}}',
lhablock = 'HINPUTS',
lhacode = [ 11 ])
aEWM1 = Parameter(name = 'aEWM1',
nature = 'external',
type = 'real',
value = 127.9,
texname = '\\text{aEWM1}',
lhablock = 'SMINPUTS',
lhacode = [ 1 ])
Gf = Parameter(name = 'Gf',
nature = 'external',
type = 'real',
value = 0.0000116637,
texname = 'G_f',
lhablock = 'SMINPUTS',
lhacode = [ 2 ])
aS = Parameter(name = 'aS',
nature = 'external',
type = 'real',
value = 0.1184,
texname = '\\alpha _s',
lhablock = 'SMINPUTS',
lhacode = [ 3 ])
ymb = Parameter(name = 'ymb',
nature = 'external',
type = 'real',
value = 4.7,
texname = '\\text{ymb}',
lhablock = 'YUKAWA',
lhacode = [ 5 ])
ymt = Parameter(name = 'ymt',
nature = 'external',
type = 'real',
value = 172,
texname = '\\text{ymt}',
lhablock = 'YUKAWA',
lhacode = [ 6 ])
ymtau = Parameter(name = 'ymtau',
nature = 'external',
type = 'real',
value = 1.777,
texname = '\\text{ymtau}',
lhablock = 'YUKAWA',
lhacode = [ 15 ])
MZ = Parameter(name = 'MZ',
nature = 'external',
type = 'real',
value = 91.1876,
texname = '\\text{MZ}',
lhablock = 'MASS',
lhacode = [ 23 ])
MTA = Parameter(name = 'MTA',
nature = 'external',
type = 'real',
value = 1.777,
texname = '\\text{MTA}',
lhablock = 'MASS',
lhacode = [ 15 ])
MT = Parameter(name = 'MT',
nature = 'external',
type = 'real',
value = 172,
texname = '\\text{MT}',
lhablock = 'MASS',
lhacode = [ 6 ])
MB = Parameter(name = 'MB',
nature = 'external',
type = 'real',
value = 4.7,
texname = '\\text{MB}',
lhablock = 'MASS',
lhacode = [ 5 ])
MH = Parameter(name = 'MH',
nature = 'external',
type = 'real',
value = 125,
texname = '\\text{MH}',
lhablock = 'MASS',
lhacode = [ 25 ])
Mh3 = Parameter(name = 'Mh3',
nature = 'external',
type = 'real',
value = 270.,
texname = '\\text{Mh3}',
lhablock = 'MASS',
lhacode = [ 36 ])
Mh2 = Parameter(name = 'Mh2',
nature = 'external',
type = 'real',
value = 150.,
texname = '\\text{Mh2}',
lhablock = 'MASS',
lhacode = [ 35 ])
MR = Parameter(name = 'MR',
nature = 'external',
type = 'real',
value = 400.,
texname = '\\text{MR}',
lhablock = 'MASS',
lhacode = [ 40 ])
WZ = Parameter(name = 'WZ',
nature = 'external',
type = 'real',
value = 2.4952,
texname = '\\text{WZ}',
lhablock = 'DECAY',
lhacode = [ 23 ])
WW = Parameter(name = 'WW',
nature = 'external',
type = 'real',
value = 2.085,
texname = '\\text{WW}',
lhablock = 'DECAY',
lhacode = [ 24 ])
WTA = Parameter(name = 'WTA',
nature = 'external',
type = 'real',
value = 2.265e-12,
texname = '\\text{WTA}',
lhablock = 'DECAY',
lhacode = [ 15 ])
WT = Parameter(name = 'WT',
nature = 'external',
type = 'real',
value = 1.50833649,
texname = '\\text{WT}',
lhablock = 'DECAY',
lhacode = [ 6 ])
WH = Parameter(name = 'WH',
nature = 'external',
type = 'real',
value = 0.00407,
texname = '\\text{WH}',
lhablock = 'DECAY',
lhacode = [ 25 ])
Wh3 = Parameter(name = 'Wh3',
nature = 'external',
type = 'real',
value = 3.4952,
texname = '\\text{Wh3}',
lhablock = 'DECAY',
lhacode = [ 36 ])
Wh2 = Parameter(name = 'Wh2',
nature = 'external',
type = 'real',
value = 0.006382339,
texname = '\\text{Wh2}',
lhablock = 'DECAY',
lhacode = [ 35 ])
WR = Parameter(name = 'WR',
nature = 'external',
type = 'real',
value = 0.006382339,
texname = '\\text{WR}',
lhablock = 'DECAY',
lhacode = [ 40 ])
CKM1x1 = Parameter(name = 'CKM1x1',
nature = 'internal',
type = 'complex',
value = 'cmath.cos(cabi)',
texname = '\\text{CKM1x1}')
CKM1x2 = Parameter(name = 'CKM1x2',
nature = 'internal',
type = 'complex',
value = 'cmath.sin(cabi)',
texname = '\\text{CKM1x2}')
CKM2x1 = Parameter(name = 'CKM2x1',
nature = 'internal',
type = 'complex',
value = '-cmath.sin(cabi)',
texname = '\\text{CKM2x1}')
CKM2x2 = Parameter(name = 'CKM2x2',
nature = 'internal',
type = 'complex',
value = 'cmath.cos(cabi)',
texname = '\\text{CKM2x2}')
kVV = Parameter(name = 'kVV',
nature = 'internal',
type = 'real',
value = 'cmath.sqrt(1. - kpV**2)',
texname = 'k_{\\text{vv}}')
aEW = Parameter(name = 'aEW',
nature = 'internal',
type = 'real',
value = '1/aEWM1',
texname = '\\alpha _{\\text{EW}}')
G = Parameter(name = 'G',
nature = 'internal',
type = 'real',
value = '2*cmath.sqrt(aS)*cmath.sqrt(cmath.pi)',
texname = 'G')
MW = Parameter(name = 'MW',
nature = 'internal',
type = 'real',
value = 'cmath.sqrt(MZ**2/2. + cmath.sqrt(MZ**4/4. - (aEW*cmath.pi*MZ**2)/(Gf*cmath.sqrt(2))))',
texname = 'M_W')
ee = Parameter(name = 'ee',
nature = 'internal',
type = 'real',
value = '2*cmath.sqrt(aEW)*cmath.sqrt(cmath.pi)',
texname = 'e')
sw2 = Parameter(name = 'sw2',
nature = 'internal',
type = 'real',
value = '1 - MW**2/MZ**2',
texname = '\\text{sw2}')
cw = Parameter(name = 'cw',
nature = 'internal',
type = 'real',
value = 'cmath.sqrt(1 - sw2)',
texname = 'c_w')
sw = Parameter(name = 'sw',
nature = 'internal',
type = 'real',
value = 'cmath.sqrt(sw2)',
texname = 's_w')
g1 = Parameter(name = 'g1',
nature = 'internal',
type = 'real',
value = 'ee/cw',
texname = 'g_1')
gw = Parameter(name = 'gw',
nature = 'internal',
type = 'real',
value = 'ee/sw',
texname = 'g_w')
vev = Parameter(name = 'vev',
nature = 'internal',
type = 'real',
value = '(2*MW*sw)/ee',
texname = '\\text{vev}')
Gh2 = Parameter(name = 'Gh2',
nature = 'internal',
type = 'real',
value = '(47*ee**2*(1 - (2*Mh2**4)/(987.*MT**4) - (14*Mh2**2)/(705.*MT**2) + (213*Mh2**12)/(2.634632e7*MW**12) + (5*Mh2**10)/(119756.*MW**10) + (41*Mh2**8)/(180950.*MW**8) + (87*Mh2**6)/(65800.*MW**6) + (57*Mh2**4)/(6580.*MW**4) + (33*Mh2**2)/(470.*MW**2)))/(72.*cmath.pi**2*vev)',
texname = 'g_{\\text{h2}}')
GhSM = Parameter(name = 'GhSM',
nature = 'internal',
type = 'real',
value = '(47*ee**2*(1 - (2*MH**4)/(987.*MT**4) - (14*MH**2)/(705.*MT**2) + (213*MH**12)/(2.634632e7*MW**12) + (5*MH**10)/(119756.*MW**10) + (41*MH**8)/(180950.*MW**8) + (87*MH**6)/(65800.*MW**6) + (57*MH**4)/(6580.*MW**4) + (33*MH**2)/(470.*MW**2)))/(72.*cmath.pi**2*vev)',
texname = 'g_{\\text{hSM}}')
lam = Parameter(name = 'lam',
nature = 'internal',
type = 'real',
value = 'MH**2/(2.*vev**2)',
texname = '\\text{lam}')
yb = Parameter(name = 'yb',
nature = 'internal',
type = 'real',
value = '(ymb*cmath.sqrt(2))/vev',
texname = '\\text{yb}')
yt = Parameter(name = 'yt',
nature = 'internal',
type = 'real',
value = '(ymt*cmath.sqrt(2))/vev',
texname = '\\text{yt}')
ytau = Parameter(name = 'ytau',
nature = 'internal',
type = 'real',
value = '(ymtau*cmath.sqrt(2))/vev',
texname = '\\text{ytau}')
muH = Parameter(name = 'muH',
nature = 'internal',
type = 'real',
value = 'cmath.sqrt(lam*vev**2)',
texname = '\\mu')
# This file was automatically created by FeynRules 2.3.32
# Mathematica version: 11.1.1 for Linux x86 (64-bit) (April 18, 2017)
# Date: Tue 14 Sep 2021 18:00:28
from __future__ import division
from object_library import all_particles, Particle
import parameters as Param
import propagators as Prop
a = Particle(pdg_code = 22,
name = 'a',
antiname = 'a',
spin = 3,
color = 1,
mass = Param.ZERO,
width = Param.ZERO,
texname = 'a',
antitexname = 'a',
charge = 0,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
Z = Particle(pdg_code = 23,
name = 'Z',
antiname = 'Z',
spin = 3,
color = 1,
mass = Param.MZ,
width = Param.WZ,
texname = 'Z',
antitexname = 'Z',
charge = 0,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
W__plus__ = Particle(pdg_code = 24,
name = 'W+',
antiname = 'W-',
spin = 3,
color = 1,
mass = Param.MW,
width = Param.WW,
texname = 'W+',
antitexname = 'W-',
charge = 1,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
W__minus__ = W__plus__.anti()
g = Particle(pdg_code = 21,
name = 'g',
antiname = 'g',
spin = 3,
color = 8,
mass = Param.ZERO,
width = Param.ZERO,
texname = 'g',
antitexname = 'g',
charge = 0,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
ghA = Particle(pdg_code = 9000001,
name = 'ghA',
antiname = 'ghA~',
spin = -1,
color = 1,
mass = Param.ZERO,
width = Param.ZERO,
texname = 'ghA',
antitexname = 'ghA~',
charge = 0,
GhostNumber = 1,
LeptonNumber = 0,
Y = 0)
ghA__tilde__ = ghA.anti()
ghZ = Particle(pdg_code = 9000002,
name = 'ghZ',
antiname = 'ghZ~',
spin = -1,
color = 1,
mass = Param.MZ,
width = Param.WZ,
texname = 'ghZ',
antitexname = 'ghZ~',
charge = 0,
GhostNumber = 1,
LeptonNumber = 0,
Y = 0)
ghZ__tilde__ = ghZ.anti()
ghWp = Particle(pdg_code = 9000003,
name = 'ghWp',
antiname = 'ghWp~',
spin = -1,
color = 1,
mass = Param.MW,
width = Param.WW,
texname = 'ghWp',
antitexname = 'ghWp~',
charge = 1,
GhostNumber = 1,
LeptonNumber = 0,
Y = 0)
ghWp__tilde__ = ghWp.anti()
ghWm = Particle(pdg_code = 9000004,
name = 'ghWm',
antiname = 'ghWm~',
spin = -1,
color = 1,
mass = Param.MW,
width = Param.WW,
texname = 'ghWm',
antitexname = 'ghWm~',
charge = -1,
GhostNumber = 1,
LeptonNumber = 0,
Y = 0)
ghWm__tilde__ = ghWm.anti()
ghG = Particle(pdg_code = 82,
name = 'ghG',
antiname = 'ghG~',
spin = -1,
color = 8,
mass = Param.ZERO,
width = Param.ZERO,
texname = 'ghG',
antitexname = 'ghG~',
charge = 0,
GhostNumber = 1,
LeptonNumber = 0,
Y = 0)
ghG__tilde__ = ghG.anti()
ve = Particle(pdg_code = 12,
name = 've',
antiname = 've~',
spin = 2,
color = 1,
mass = Param.ZERO,
width = Param.ZERO,
texname = 've',
antitexname = 've~',
charge = 0,
GhostNumber = 0,
LeptonNumber = 1,
Y = 0)
ve__tilde__ = ve.anti()
vm = Particle(pdg_code = 14,
name = 'vm',
antiname = 'vm~',
spin = 2,
color = 1,
mass = Param.ZERO,
width = Param.ZERO,
texname = 'vm',
antitexname = 'vm~',
charge = 0,
GhostNumber = 0,
LeptonNumber = 1,
Y = 0)
vm__tilde__ = vm.anti()
vt = Particle(pdg_code = 16,
name = 'vt',
antiname = 'vt~',
spin = 2,
color = 1,
mass = Param.ZERO,
width = Param.ZERO,
texname = 'vt',
antitexname = 'vt~',
charge = 0,
GhostNumber = 0,
LeptonNumber = 1,
Y = 0)
vt__tilde__ = vt.anti()
e__minus__ = Particle(pdg_code = 11,
name = 'e-',
antiname = 'e+',
spin = 2,
color = 1,
mass = Param.ZERO,
width = Param.ZERO,
texname = 'e-',
antitexname = 'e+',
charge = -1,
GhostNumber = 0,
LeptonNumber = 1,
Y = 0)
e__plus__ = e__minus__.anti()
mu__minus__ = Particle(pdg_code = 13,
name = 'mu-',
antiname = 'mu+',
spin = 2,
color = 1,
mass = Param.ZERO,
width = Param.ZERO,
texname = 'mu-',
antitexname = 'mu+',
charge = -1,
GhostNumber = 0,
LeptonNumber = 1,
Y = 0)
mu__plus__ = mu__minus__.anti()
ta__minus__ = Particle(pdg_code = 15,
name = 'ta-',
antiname = 'ta+',
spin = 2,
color = 1,
mass = Param.MTA,
width = Param.WTA,
texname = 'ta-',
antitexname = 'ta+',
charge = -1,
GhostNumber = 0,
LeptonNumber = 1,
Y = 0)
ta__plus__ = ta__minus__.anti()
u = Particle(pdg_code = 2,
name = 'u',
antiname = 'u~',
spin = 2,
color = 3,
mass = Param.ZERO,
width = Param.ZERO,
texname = 'u',
antitexname = 'u~',
charge = 2/3,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
u__tilde__ = u.anti()
c = Particle(pdg_code = 4,
name = 'c',
antiname = 'c~',
spin = 2,
color = 3,
mass = Param.ZERO,
width = Param.ZERO,
texname = 'c',
antitexname = 'c~',
charge = 2/3,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
c__tilde__ = c.anti()
t = Particle(pdg_code = 6,
name = 't',
antiname = 't~',
spin = 2,
color = 3,
mass = Param.MT,
width = Param.WT,
texname = 't',
antitexname = 't~',
charge = 2/3,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
t__tilde__ = t.anti()
d = Particle(pdg_code = 1,
name = 'd',
antiname = 'd~',
spin = 2,
color = 3,
mass = Param.ZERO,
width = Param.ZERO,
texname = 'd',
antitexname = 'd~',
charge = -1/3,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
d__tilde__ = d.anti()
s = Particle(pdg_code = 3,
name = 's',
antiname = 's~',
spin = 2,
color = 3,
mass = Param.ZERO,
width = Param.ZERO,
texname = 's',
antitexname = 's~',
charge = -1/3,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
s__tilde__ = s.anti()
b = Particle(pdg_code = 5,
name = 'b',
antiname = 'b~',
spin = 2,
color = 3,
mass = Param.MB,
width = Param.ZERO,
texname = 'b',
antitexname = 'b~',
charge = -1/3,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
b__tilde__ = b.anti()
H = Particle(pdg_code = 25,
name = 'H',
antiname = 'H',
spin = 1,
color = 1,
mass = Param.MH,
width = Param.WH,
texname = 'H',
antitexname = 'H',
charge = 0,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
G0 = Particle(pdg_code = 250,
name = 'G0',
antiname = 'G0',
spin = 1,
color = 1,
mass = Param.MZ,
width = Param.WZ,
texname = 'G0',
antitexname = 'G0',
goldstone = True,
charge = 0,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
G__plus__ = Particle(pdg_code = 251,
name = 'G+',
antiname = 'G-',
spin = 1,
color = 1,
mass = Param.MW,
width = Param.WW,
texname = 'G+',
antitexname = 'G-',
goldstone = True,
charge = 1,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
G__minus__ = G__plus__.anti()
h3 = Particle(pdg_code = 36,
name = 'h3',
antiname = 'h3',
spin = 1,
color = 1,
mass = Param.Mh3,
width = Param.Wh3,
texname = 'h3',
antitexname = 'h3',
charge = 0,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
h2 = Particle(pdg_code = 35,
name = 'h2',
antiname = 'h2',
spin = 1,
color = 1,
mass = Param.Mh2,
width = Param.Wh2,
texname = 'h2',
antitexname = 'h2',
charge = 0,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
r = Particle(pdg_code = 40,
name = 'r',
antiname = 'r',
spin = 1,
color = 1,
mass = Param.MR,
width = Param.WR,
texname = 'r',
antitexname = 'r',
charge = 0,
GhostNumber = 0,
LeptonNumber = 0,
Y = 0)
# This file was automatically created by FeynRules 2.0 (static file)
# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010)
# Date: Mon 1 Oct 2012 14:58:26
from object_library import all_propagators, Propagator
# define only once the denominator since this is always the same
denominator = "P('mu', id) * P('mu', id) - Mass(id) * Mass(id) + complex(0,1) * Mass(id) * Width(id)"
# propagator for the scalar
S = Propagator(name = "S",
numerator = "complex(0,1)",
denominator = denominator
)
# propagator for the incoming fermion # the one for the outcomming is computed on the flight
F = Propagator(name = "F",
numerator = "complex(0,1) * (Gamma('mu', 1, 2) * P('mu', id) + Mass(id) * Identity(1, 2))",
denominator = denominator
)
# massive vector in the unitary gauge, can't be use for massless particles
V1 = Propagator(name = "V1",
numerator = "complex(0,1) * (-1 * Metric(1, 2) + Metric(1,'mu')* P('mu', id) * P(2, id) / Mass(id)**2 ",
denominator = denominator
)
# massless vector and massive vector in unitary gauge
V2 = Propagator(name = "V2",
numerator = "complex(0,-1) * Metric(1, 2)",
denominator = "P('mu', id) * P('mu', id)"
)
# This file was automatically created by FeynRules 2.3.32
# Mathematica version: 11.1.1 for Linux x86 (64-bit) (April 18, 2017)
# Date: Tue 14 Sep 2021 18:00:28
from object_library import all_vertices, Vertex
import particles as P
import couplings as C
import lorentz as L
V_1 = Vertex(name = 'V_1',
particles = [ P.H, P.H, P.H, P.H ],
color = [ '1' ],
lorentz = [ L.SSSS1 ],
couplings = {(0,0):C.GC_15})
V_2 = Vertex(name = 'V_2',
particles = [ P.H, P.H, P.H ],
color = [ '1' ],
lorentz = [ L.SSS1 ],
couplings = {(0,0):C.GC_46})
V_3 = Vertex(name = 'V_3',
particles = [ P.ghG, P.ghG__tilde__, P.g ],
color = [ 'f(1,2,3)' ],
lorentz = [ L.UUV1 ],
couplings = {(0,0):C.GC_6})
V_4 = Vertex(name = 'V_4',
particles = [ P.g, P.g, P.g ],
color = [ 'f(1,2,3)' ],
lorentz = [ L.VVV1 ],
couplings = {(0,0):C.GC_6})
V_5 = Vertex(name = 'V_5',
particles = [ P.g, P.g, P.g, P.g ],
color = [ 'f(-1,1,2)*f(3,4,-1)', 'f(-1,1,3)*f(2,4,-1)', 'f(-1,1,4)*f(2,3,-1)' ],
lorentz = [ L.VVVV1, L.VVVV3, L.VVVV4 ],
couplings = {(1,1):C.GC_8,(0,0):C.GC_8,(2,2):C.GC_8})
V_6 = Vertex(name = 'V_6',
particles = [ P.b__tilde__, P.b, P.H ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFS2 ],
couplings = {(0,0):C.GC_49})
V_7 = Vertex(name = 'V_7',
particles = [ P.ta__plus__, P.ta__minus__, P.H ],
color = [ '1' ],
lorentz = [ L.FFS2 ],
couplings = {(0,0):C.GC_51})
V_8 = Vertex(name = 'V_8',
particles = [ P.t__tilde__, P.t, P.H ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFS2 ],
couplings = {(0,0):C.GC_50})
V_9 = Vertex(name = 'V_9',
particles = [ P.a, P.W__minus__, P.W__plus__ ],
color = [ '1' ],
lorentz = [ L.VVV1 ],
couplings = {(0,0):C.GC_4})
V_10 = Vertex(name = 'V_10',
particles = [ P.W__minus__, P.W__plus__, P.H, P.H ],
color = [ '1' ],
lorentz = [ L.VVSS1 ],
couplings = {(0,0):C.GC_18})
V_11 = Vertex(name = 'V_11',
particles = [ P.W__minus__, P.W__plus__, P.H ],
color = [ '1' ],
lorentz = [ L.VVS3 ],
couplings = {(0,0):C.GC_47})
V_12 = Vertex(name = 'V_12',
particles = [ P.a, P.a, P.W__minus__, P.W__plus__ ],
color = [ '1' ],
lorentz = [ L.VVVV2 ],
couplings = {(0,0):C.GC_5})
V_13 = Vertex(name = 'V_13',
particles = [ P.W__minus__, P.W__plus__, P.Z ],
color = [ '1' ],
lorentz = [ L.VVV1 ],
couplings = {(0,0):C.GC_25})
V_14 = Vertex(name = 'V_14',
particles = [ P.W__minus__, P.W__minus__, P.W__plus__, P.W__plus__ ],
color = [ '1' ],
lorentz = [ L.VVVV2 ],
couplings = {(0,0):C.GC_16})
V_15 = Vertex(name = 'V_15',
particles = [ P.a, P.W__minus__, P.W__plus__, P.Z ],
color = [ '1' ],
lorentz = [ L.VVVV5 ],
couplings = {(0,0):C.GC_26})
V_16 = Vertex(name = 'V_16',
particles = [ P.Z, P.Z, P.H, P.H ],
color = [ '1' ],
lorentz = [ L.VVSS1 ],
couplings = {(0,0):C.GC_33})
V_17 = Vertex(name = 'V_17',
particles = [ P.Z, P.Z, P.H ],
color = [ '1' ],
lorentz = [ L.VVS3 ],
couplings = {(0,0):C.GC_48})
V_18 = Vertex(name = 'V_18',
particles = [ P.W__minus__, P.W__plus__, P.Z, P.Z ],
color = [ '1' ],
lorentz = [ L.VVVV2 ],
couplings = {(0,0):C.GC_17})
V_19 = Vertex(name = 'V_19',
particles = [ P.e__plus__, P.e__minus__, P.a ],
color = [ '1' ],
lorentz = [ L.FFV1 ],
couplings = {(0,0):C.GC_3})
V_20 = Vertex(name = 'V_20',
particles = [ P.mu__plus__, P.mu__minus__, P.a ],
color = [ '1' ],
lorentz = [ L.FFV1 ],
couplings = {(0,0):C.GC_3})
V_21 = Vertex(name = 'V_21',
particles = [ P.ta__plus__, P.ta__minus__, P.a ],
color = [ '1' ],
lorentz = [ L.FFV1 ],
couplings = {(0,0):C.GC_3})
V_22 = Vertex(name = 'V_22',
particles = [ P.u__tilde__, P.u, P.a ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV1 ],
couplings = {(0,0):C.GC_2})
V_23 = Vertex(name = 'V_23',
particles = [ P.c__tilde__, P.c, P.a ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV1 ],
couplings = {(0,0):C.GC_2})
V_24 = Vertex(name = 'V_24',
particles = [ P.t__tilde__, P.t, P.a ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV1 ],
couplings = {(0,0):C.GC_2})
V_25 = Vertex(name = 'V_25',
particles = [ P.d__tilde__, P.d, P.a ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV1 ],
couplings = {(0,0):C.GC_1})
V_26 = Vertex(name = 'V_26',
particles = [ P.s__tilde__, P.s, P.a ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV1 ],
couplings = {(0,0):C.GC_1})
V_27 = Vertex(name = 'V_27',
particles = [ P.b__tilde__, P.b, P.a ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV1 ],
couplings = {(0,0):C.GC_1})
V_28 = Vertex(name = 'V_28',
particles = [ P.u__tilde__, P.u, P.g ],
color = [ 'T(3,2,1)' ],
lorentz = [ L.FFV1 ],
couplings = {(0,0):C.GC_7})
V_29 = Vertex(name = 'V_29',
particles = [ P.c__tilde__, P.c, P.g ],
color = [ 'T(3,2,1)' ],
lorentz = [ L.FFV1 ],
couplings = {(0,0):C.GC_7})
V_30 = Vertex(name = 'V_30',
particles = [ P.t__tilde__, P.t, P.g ],
color = [ 'T(3,2,1)' ],
lorentz = [ L.FFV1 ],
couplings = {(0,0):C.GC_7})
V_31 = Vertex(name = 'V_31',
particles = [ P.d__tilde__, P.d, P.g ],
color = [ 'T(3,2,1)' ],
lorentz = [ L.FFV1 ],
couplings = {(0,0):C.GC_7})
V_32 = Vertex(name = 'V_32',
particles = [ P.s__tilde__, P.s, P.g ],
color = [ 'T(3,2,1)' ],
lorentz = [ L.FFV1 ],
couplings = {(0,0):C.GC_7})
V_33 = Vertex(name = 'V_33',
particles = [ P.b__tilde__, P.b, P.g ],
color = [ 'T(3,2,1)' ],
lorentz = [ L.FFV1 ],
couplings = {(0,0):C.GC_7})
V_34 = Vertex(name = 'V_34',
particles = [ P.d__tilde__, P.u, P.W__minus__ ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_20})
V_35 = Vertex(name = 'V_35',
particles = [ P.s__tilde__, P.u, P.W__minus__ ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_21})
V_36 = Vertex(name = 'V_36',
particles = [ P.d__tilde__, P.c, P.W__minus__ ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_22})
V_37 = Vertex(name = 'V_37',
particles = [ P.s__tilde__, P.c, P.W__minus__ ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_23})
V_38 = Vertex(name = 'V_38',
particles = [ P.b__tilde__, P.t, P.W__minus__ ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_19})
V_39 = Vertex(name = 'V_39',
particles = [ P.u__tilde__, P.d, P.W__plus__ ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_52})
V_40 = Vertex(name = 'V_40',
particles = [ P.c__tilde__, P.d, P.W__plus__ ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_54})
V_41 = Vertex(name = 'V_41',
particles = [ P.u__tilde__, P.s, P.W__plus__ ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_53})
V_42 = Vertex(name = 'V_42',
particles = [ P.c__tilde__, P.s, P.W__plus__ ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_55})
V_43 = Vertex(name = 'V_43',
particles = [ P.t__tilde__, P.b, P.W__plus__ ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_19})
V_44 = Vertex(name = 'V_44',
particles = [ P.e__plus__, P.ve, P.W__minus__ ],
color = [ '1' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_19})
V_45 = Vertex(name = 'V_45',
particles = [ P.mu__plus__, P.vm, P.W__minus__ ],
color = [ '1' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_19})
V_46 = Vertex(name = 'V_46',
particles = [ P.ta__plus__, P.vt, P.W__minus__ ],
color = [ '1' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_19})
V_47 = Vertex(name = 'V_47',
particles = [ P.ve__tilde__, P.e__minus__, P.W__plus__ ],
color = [ '1' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_19})
V_48 = Vertex(name = 'V_48',
particles = [ P.vm__tilde__, P.mu__minus__, P.W__plus__ ],
color = [ '1' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_19})
V_49 = Vertex(name = 'V_49',
particles = [ P.vt__tilde__, P.ta__minus__, P.W__plus__ ],
color = [ '1' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_19})
V_50 = Vertex(name = 'V_50',
particles = [ P.u__tilde__, P.u, P.Z ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2, L.FFV4 ],
couplings = {(0,0):C.GC_24,(0,1):C.GC_27})
V_51 = Vertex(name = 'V_51',
particles = [ P.c__tilde__, P.c, P.Z ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2, L.FFV4 ],
couplings = {(0,0):C.GC_24,(0,1):C.GC_27})
V_52 = Vertex(name = 'V_52',
particles = [ P.t__tilde__, P.t, P.Z ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2, L.FFV4 ],
couplings = {(0,0):C.GC_24,(0,1):C.GC_27})
V_53 = Vertex(name = 'V_53',
particles = [ P.d__tilde__, P.d, P.Z ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2, L.FFV3 ],
couplings = {(0,0):C.GC_30,(0,1):C.GC_28})
V_54 = Vertex(name = 'V_54',
particles = [ P.s__tilde__, P.s, P.Z ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2, L.FFV3 ],
couplings = {(0,0):C.GC_30,(0,1):C.GC_28})
V_55 = Vertex(name = 'V_55',
particles = [ P.b__tilde__, P.b, P.Z ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFV2, L.FFV3 ],
couplings = {(0,0):C.GC_30,(0,1):C.GC_28})
V_56 = Vertex(name = 'V_56',
particles = [ P.ve__tilde__, P.ve, P.Z ],
color = [ '1' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_32})
V_57 = Vertex(name = 'V_57',
particles = [ P.vm__tilde__, P.vm, P.Z ],
color = [ '1' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_32})
V_58 = Vertex(name = 'V_58',
particles = [ P.vt__tilde__, P.vt, P.Z ],
color = [ '1' ],
lorentz = [ L.FFV2 ],
couplings = {(0,0):C.GC_32})
V_59 = Vertex(name = 'V_59',
particles = [ P.e__plus__, P.e__minus__, P.Z ],
color = [ '1' ],
lorentz = [ L.FFV2, L.FFV3 ],
couplings = {(0,0):C.GC_31,(0,1):C.GC_29})
V_60 = Vertex(name = 'V_60',
particles = [ P.mu__plus__, P.mu__minus__, P.Z ],
color = [ '1' ],
lorentz = [ L.FFV2, L.FFV3 ],
couplings = {(0,0):C.GC_31,(0,1):C.GC_29})
V_61 = Vertex(name = 'V_61',
particles = [ P.ta__plus__, P.ta__minus__, P.Z ],
color = [ '1' ],
lorentz = [ L.FFV2, L.FFV3 ],
couplings = {(0,0):C.GC_31,(0,1):C.GC_29})
V_62 = Vertex(name = 'V_62',
particles = [ P.H, P.H, P.h3 ],
color = [ '1' ],
lorentz = [ L.SSS1 ],
couplings = {(0,0):C.GC_43})
V_63 = Vertex(name = 'V_63',
particles = [ P.H, P.h2, P.h3 ],
color = [ '1' ],
lorentz = [ L.SSS1 ],
couplings = {(0,0):C.GC_44})
V_64 = Vertex(name = 'V_64',
particles = [ P.h2, P.h2, P.h3 ],
color = [ '1' ],
lorentz = [ L.SSS1 ],
couplings = {(0,0):C.GC_45})
V_65 = Vertex(name = 'V_65',
particles = [ P.a, P.a, P.H ],
color = [ '1' ],
lorentz = [ L.VVS1, L.VVS4 ],
couplings = {(0,0):C.GC_10,(0,1):C.GC_11})
V_66 = Vertex(name = 'V_66',
particles = [ P.a, P.a, P.h2 ],
color = [ '1' ],
lorentz = [ L.VVS5 ],
couplings = {(0,0):C.GC_9})
V_67 = Vertex(name = 'V_67',
particles = [ P.g, P.g, P.h3 ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.VVS5 ],
couplings = {(0,0):C.GC_34})
V_68 = Vertex(name = 'V_68',
particles = [ P.b__tilde__, P.b, P.h2 ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFS1 ],
couplings = {(0,0):C.GC_37})
V_69 = Vertex(name = 'V_69',
particles = [ P.b__tilde__, P.b, P.r ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFS1 ],
couplings = {(0,0):C.GC_38})
V_70 = Vertex(name = 'V_70',
particles = [ P.ta__plus__, P.ta__minus__, P.h2 ],
color = [ '1' ],
lorentz = [ L.FFS1 ],
couplings = {(0,0):C.GC_40})
V_71 = Vertex(name = 'V_71',
particles = [ P.t__tilde__, P.t, P.r ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFS1 ],
couplings = {(0,0):C.GC_39})
V_72 = Vertex(name = 'V_72',
particles = [ P.g, P.g, P.r ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.VVS2 ],
couplings = {(0,0):C.GC_12})
V_73 = Vertex(name = 'V_73',
particles = [ P.g, P.g, P.g, P.r ],
color = [ 'f(1,2,3)' ],
lorentz = [ L.VVVS1 ],
couplings = {(0,0):C.GC_13})
V_74 = Vertex(name = 'V_74',
particles = [ P.g, P.g, P.g, P.h3 ],
color = [ 'f(1,2,3)' ],
lorentz = [ L.VVVS2 ],
couplings = {(0,0):C.GC_35})
V_75 = Vertex(name = 'V_75',
particles = [ P.g, P.g, P.g, P.g, P.h3 ],
color = [ 'f(-1,1,2)*f(3,4,-1)', 'f(-1,1,3)*f(2,4,-1)', 'f(-1,1,4)*f(2,3,-1)' ],
lorentz = [ L.VVVVS1, L.VVVVS2, L.VVVVS3 ],
couplings = {(1,1):C.GC_36,(0,0):C.GC_36,(2,2):C.GC_36})
V_76 = Vertex(name = 'V_76',
particles = [ P.W__minus__, P.W__plus__, P.h2 ],
color = [ '1' ],
lorentz = [ L.VVS3 ],
couplings = {(0,0):C.GC_41})
V_77 = Vertex(name = 'V_77',
particles = [ P.Z, P.h3, P.r ],
color = [ '1' ],
lorentz = [ L.VSS1 ],
couplings = {(0,0):C.GC_14})
V_78 = Vertex(name = 'V_78',
particles = [ P.Z, P.Z, P.h2 ],
color = [ '1' ],
lorentz = [ L.VVS3 ],
couplings = {(0,0):C.GC_42})
File moved
This diff is collapsed.
This diff is collapsed.
# This file was automatically created by FeynRules 2.3.34
# Mathematica version: 12.0.0 for Mac OS X x86 (64-bit) (April 7, 2019)
# Date: Tue 15 Oct 2019 22:22:58
# Date: Wed 26 Jun 2024 14:36:21
from object_library import all_lorentz, Lorentz
......@@ -48,6 +48,10 @@ FFV3 = Lorentz(name = 'FFV3',
spins = [ 2, 2, 3 ],
structure = 'Gamma(3,2,-1)*ProjP(-1,1)')
FFV4 = Lorentz(name = 'FFV4',
spins = [ 2, 2, 3 ],
structure = '1.*Gamma(3,2,-1)*ProjM(-1,1) + 1.*Gamma(3,2,-1)*ProjP(-1,1)')
VSS1 = Lorentz(name = 'VSS1',
spins = [ 3, 1, 1 ],
structure = 'P(1,2) - P(1,3)')
......@@ -68,9 +72,9 @@ VVV1 = Lorentz(name = 'VVV1',
spins = [ 3, 3, 3 ],
structure = 'P(3,1)*Metric(1,2) - P(3,2)*Metric(1,2) - P(2,1)*Metric(1,3) + P(2,3)*Metric(1,3) + P(1,2)*Metric(2,3) - P(1,3)*Metric(2,3)')
SSSS1 = Lorentz(name = 'SSSS1',
spins = [ 1, 1, 1, 1 ],
structure = '1')
FFSS1 = Lorentz(name = 'FFSS1',
spins = [ 2, 2, 1, 1 ],
structure = 'Identity(2,1)')
VVSS1 = Lorentz(name = 'VVSS1',
spins = [ 3, 3, 1, 1 ],
......@@ -85,37 +89,29 @@ VVVS2 = Lorentz(name = 'VVVS2',
structure = 'P(3,1)*Metric(1,2) - P(3,2)*Metric(1,2) - P(2,1)*Metric(1,3) + P(2,3)*Metric(1,3) + P(1,2)*Metric(2,3) - P(1,3)*Metric(2,3)')
VVVV1 = Lorentz(name = 'VVVV1',
spins = [ 3, 3, 3, 3 ],
structure = 'Metric(1,4)*Metric(2,3)')
VVVV2 = Lorentz(name = 'VVVV2',
spins = [ 3, 3, 3, 3 ],
structure = 'Metric(1,3)*Metric(2,4)')
VVVV3 = Lorentz(name = 'VVVV3',
spins = [ 3, 3, 3, 3 ],
structure = 'Metric(1,4)*Metric(2,3) - Metric(1,3)*Metric(2,4)')
VVVV4 = Lorentz(name = 'VVVV4',
spins = [ 3, 3, 3, 3 ],
structure = 'Metric(1,2)*Metric(3,4)')
VVVV5 = Lorentz(name = 'VVVV5',
VVVV2 = Lorentz(name = 'VVVV2',
spins = [ 3, 3, 3, 3 ],
structure = 'Metric(1,4)*Metric(2,3) + Metric(1,3)*Metric(2,4) - 2*Metric(1,2)*Metric(3,4)')
VVVV6 = Lorentz(name = 'VVVV6',
VVVV3 = Lorentz(name = 'VVVV3',
spins = [ 3, 3, 3, 3 ],
structure = 'Metric(1,4)*Metric(2,3) - Metric(1,2)*Metric(3,4)')
VVVV7 = Lorentz(name = 'VVVV7',
VVVV4 = Lorentz(name = 'VVVV4',
spins = [ 3, 3, 3, 3 ],
structure = 'Metric(1,3)*Metric(2,4) - Metric(1,2)*Metric(3,4)')
VVVV8 = Lorentz(name = 'VVVV8',
VVVV5 = Lorentz(name = 'VVVV5',
spins = [ 3, 3, 3, 3 ],
structure = 'Metric(1,4)*Metric(2,3) - (Metric(1,3)*Metric(2,4))/2. - (Metric(1,2)*Metric(3,4))/2.')
FFSSS1 = Lorentz(name = 'FFSSS1',
spins = [ 2, 2, 1, 1, 1 ],
structure = 'Identity(2,1)')
VVVVS1 = Lorentz(name = 'VVVVS1',
spins = [ 3, 3, 3, 3, 1 ],
structure = 'Metric(1,4)*Metric(2,3) - Metric(1,3)*Metric(2,4)')
......