UFO problem with model loop_qcd_qed_sm

Asked by Swapan Kumar Majhi

I am trying to load UFO model file from Madgraph5 but it is giving syntax error but the same model file runs on Madgraph5.
Here are the error details:
| Model: Generating model 'loop_qcd_qed_sm' from UFO sources
| Model: Searching for UFO sources in '/home/swapan/hep_packages/MG5_aMC_v3_4_2/models'
| Model: Found UFO sources for model 'loop_qcd_qed_sm'
Fatal error: exception Invalid_argument("/home/swapan/hep_packages/MG5_aMC_v3_4_2/models/loop_qcd_qed_sm/particles.py:361.0-361.29: syntax error (syntax error)")
| command: /home/swapan/hep_packages/whizard_build/bin/omega_UFO.opt -model:UFO_dir /home/swapan/hep_packages/MG5_aMC_v3_4_2/models/loop_qcd_qed_sm -model:exec -model:write_WHIZARD > loop_qcd_qed_sm.ufo.mdl
| Return code = 512
******************************************************************************
******************************************************************************
*** FATAL ERROR: System command returned with nonzero status code
******************************************************************************
The problem is in the line number 361 as below but I could not figure out.

347 G__plus__ = Particle(pdg_code = 251,
348 name = 'G+',
349 antiname = 'G-',
350 spin = 1,
351 color = 1,
352 mass = Param.MW,
353 width = Param.WW,
354 texname = 'G+',
355 antitexname = 'G+',
356 goldstoneboson = True,
357 charge = 1,
358 GhostNumber = 0,
359 LeptonNumber = 0)
360
361 G__minus__ = G__plus__.anti()
362

Question information

Language:
English Edit question
Status:
Solved
For:
WHIZARD Edit question
Assignee:
Thorsten Ohl Edit question
Last query:
Last reply:
Revision history for this message
Thorsten Ohl (thomega) said :
#1

This error message is often misleading: please tell me what comes *after* line 361.
I have the suspicion that there will be some statements that are not compatible with
the original UFO standard.

This is probably not a problem, since you might be able to just delete them or comment them out.

It would be helpful if you could send us the complete UFO directory or a link to it.

Revision history for this message
Swapan Kumar Majhi (majhi-majhi) said :
#2

Thank you Thorsten.
Here is the details of particles.py file

# This file was automatically created by FeynRules $Revision: 999 $
# Mathematica version: 7.0 for Linux x86 (64-bit) (February 18, 2009)
# Date: Mon 30 Jan 2012 19:57:04

from __future__ import division
from object_library import all_particles, Particle
import parameters as Param
import CT_parameters as CTParam

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)

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)

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)

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)

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)

ghA__tilde__ = ghA.anti()

ghZ = Particle(pdg_code = 9000002,
               name = 'ghZ',
               antiname = 'ghZ~',
               spin = -1,
               color = 1,
               mass = Param.MZ,
               width = Param.ZERO,
               texname = 'ghZ',
               antitexname = 'ghZ',
               charge = 0,
               GhostNumber = 1,
               LeptonNumber = 0)

ghZ__tilde__ = ghZ.anti()

ghWp = Particle(pdg_code = 9000003,
                name = 'ghWp',
                antiname = 'ghWp~',
                spin = -1,
                color = 1,
                mass = Param.MW,
                width = Param.ZERO,
                texname = 'ghWp',
                antitexname = 'ghWp',
                charge = 1,
                GhostNumber = 1,
                LeptonNumber = 0)

ghWp__tilde__ = ghWp.anti()

ghWm = Particle(pdg_code = 9000004,
                name = 'ghWm',
                antiname = 'ghWm~',
                spin = -1,
                color = 1,
                mass = Param.MW,
                width = Param.ZERO,
                texname = 'ghWm',
                antitexname = 'ghWm',
                charge = -1,
                GhostNumber = 1,
                LeptonNumber = 0)

ghWm__tilde__ = ghWm.anti()

ghG = Particle(pdg_code = 9000005,
              name = 'ghG',
              antiname = 'ghG~',
              spin = -1,
              color = 8,
              mass = Param.ZERO,
              width = Param.ZERO,
              texname = 'ghG',
              antitexname = 'ghG',
              charge = 0,
              GhostNumber = 1,
              LeptonNumber = 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)

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)

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)

vt__tilde__ = vt.anti()

e__minus__ = Particle(pdg_code = 11,
                      name = 'e-',
                      antiname = 'e+',
                      spin = 2,
                      color = 1,
                      mass = Param.Me,
                      width = Param.ZERO,
                      texname = 'e-',
                      antitexname = 'e-',
                      charge = -1,
                      GhostNumber = 0,
                      LeptonNumber = 1)

e__plus__ = e__minus__.anti()

m__minus__ = Particle(pdg_code = 13,
                       name = 'm-',
                       antiname = 'm+',
                       spin = 2,
                       color = 1,
                       mass = Param.MM,
                       width = Param.ZERO,
                       texname = 'm-',
                       antitexname = 'm-',
                       charge = -1,
                       GhostNumber = 0,
                       LeptonNumber = 1)

m__plus__ = m__minus__.anti()

tt__minus__ = Particle(pdg_code = 15,
                       name = 'tt-',
                       antiname = 'tt+',
                       spin = 2,
                       color = 1,
                       mass = Param.MTA,
                       width = Param.ZERO,
                       texname = 'tt-',
                       antitexname = 'tt-',
                       charge = -1,
                       GhostNumber = 0,
                       LeptonNumber = 1)

tt__plus__ = tt__minus__.anti()

u = Particle(pdg_code = 2,
             name = 'u',
             antiname = 'u~',
             spin = 2,
             color = 3,
             mass = Param.MU,
             width = Param.ZERO,
             texname = 'u',
             antitexname = 'u',
             charge = 2/3,
             GhostNumber = 0,
             LeptonNumber = 0)

u__tilde__ = u.anti()

c = Particle(pdg_code = 4,
             name = 'c',
             antiname = 'c~',
             spin = 2,
             color = 3,
             mass = Param.MC,
             width = Param.ZERO,
             texname = 'c',
             antitexname = 'c',
             charge = 2/3,
             GhostNumber = 0,
             LeptonNumber = 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)

t__tilde__ = t.anti()

d = Particle(pdg_code = 1,
             name = 'd',
             antiname = 'd~',
             spin = 2,
             color = 3,
             mass = Param.MD,
             width = Param.ZERO,
             texname = 'd',
             antitexname = 'd',
             charge = -1/3,
             GhostNumber = 0,
             LeptonNumber = 0)

d__tilde__ = d.anti()

s = Particle(pdg_code = 3,
             name = 's',
             antiname = 's~',
             spin = 2,
             color = 3,
             mass = Param.MS,
             width = Param.ZERO,
             texname = 's',
             antitexname = 's',
             charge = -1/3,
             GhostNumber = 0,
             LeptonNumber = 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)

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)

G0 = Particle(pdg_code = 250,
              name = 'G0',
              antiname = 'G0',
              spin = 1,
              color = 1,
              mass = Param.MZ,
              width = Param.WZ,
              texname = 'G0',
              antitexname = 'G0',
              goldstoneboson = True,
              charge = 0,
              GhostNumber = 0,
              LeptonNumber = 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+',
                     goldstoneboson = True,
                     charge = 1,
                     GhostNumber = 0,
                     LeptonNumber = 0)

G__minus__ = G__plus__.anti()

# Wavefunction renormalization

u.loop_particles = [[[2,21]]]
u.counterterm = {(1,0,0):CTParam.qWcft_UV.value}

d.loop_particles = [[[1,21]]]
d.counterterm = {(1,0,0):CTParam.qWcft_UV.value}

s.loop_particles = [[[3,21]]]
s.counterterm = {(1,0,0):CTParam.qWcft_UV.value}

c.loop_particles = [[[4,21]]]
c.counterterm = {(1,0,0):CTParam.qWcft_UV.value}

b.loop_particles = [[[5,21]]]
b.counterterm = {(1,0,0):CTParam.bWcft_UV.value}

t.loop_particles = [[[6,21]]]
t.counterterm = {(1,0,0):CTParam.tWcft_UV.value}

G.loop_particles = [[[5]],[[6]],[[1],[2],[3],[4]],[[21]]]
G.counterterm = {(1,0,0):CTParam.GWcft_UV_b.value,(1,0,1):CTParam.GWcft_UV_t.value,(1,0,2):CTParam.GWcft_UV_q.value,(1,0,3):CTParam.GWcft_UV_g.value}

Param.MB.loop_particles= [[[5,21]]]
Param.MB.counterterm = {(1,0,0):CTParam.bMass_UV.value}

Param.MT.loop_particles= [[[6,21]]]
Param.MT.counterterm = {(1,0,0):CTParam.tMass_UV.value}

Param.G.loop_particles = [[[1],[2],[3],[4]],[[5]],[[6]],[[21]]],
Param.G.counterterm = {(1,0,0):CTParam.G_UVq.value,(1,0,1):CTParam.G_UVb.value,(1,0,2):CTParam.G_UVt.value,(1,0,3):CTParam.G_UVg.value}

Revision history for this message
Juergen Reuter (j.r.reuter) said :
#3

@Thorsten: the loop_qcd_qed_sm which is the NLO counterterm model for NLO QCD+EW corrections, can be found here:
https://madgraph.mi.infn.it/Downloads/models/loop_qcd_qed_sm.tgz
Indeed, it has the same issues as the loop_sm (which is only for NLO QCD)

Revision history for this message
Swapan Kumar Majhi (majhi-majhi) said :
#4

It is giving same errors as earlier.

If I take a simplest model file for only standard model SM (ufo) file from Madgraph5,
I am getting some different errors:

Here is my input file:
model = sm ( ufo ("/home/swapan/hep_packages/MG5_aMC_v3_4_2/models"))

process nlo_eEtT = "e+", "e-" => "t", "t~" { nlo_calculation = full }
!process nlo_eEtT = e1, E1 => t, T { nlo_calculation = full }

sqrts = 500 GeV

integrate (nlo_eEtT)

The errors are following:

| Model: Generating model 'sm' from UFO sources
| Model: Searching for UFO sources in '/home/swapan/hep_packages/MG5_aMC_v3_4_2/models'
| Model: Found UFO sources for model 'sm'
| Model: Model file 'sm.ufo.mdl' generated
| Reading model file 'sm.ufo.mdl'
| Switching to model 'sm' (generated from UFO source)
******************************************************************************
******************************************************************************
*** FATAL ERROR: No particle with name e2 is contained in model sm
******************************************************************************

If I give the second definition of process in the input file giving other errors:

| Model: Searching for UFO sources in '/home/swapan/hep_packages/MG5_aMC_v3_4_2/models'
| Model: Found UFO sources for model 'sm'
| Model: Model file 'sm.ufo.mdl' generated
| Reading model file 'sm.ufo.mdl'
| Switching to model 'sm' (generated from UFO source)
+ IDENTIFIER <variable> = e1
******************************************************************************
*** ERROR: This PDG-array variable is undefined at this point
******************************************************************************
| (WHIZARD run continues)
+ IDENTIFIER <variable> = E1
******************************************************************************
*** ERROR: This PDG-array variable is undefined at this point
******************************************************************************
| (WHIZARD run continues)
+ IDENTIFIER <variable> = T
******************************************************************************
*** ERROR: This PDG-array variable is undefined at this point
******************************************************************************
| (WHIZARD run continues)
******************************************************************************
******************************************************************************
*** FATAL ERROR: No particle with name e2 is contained in model sm
******************************************************************************

Revision history for this message
Juergen Reuter (j.r.reuter) said :
#5

Two things here:
(1) the problem with particle names is trivial and is explained here:
https://answers.launchpad.net/whizard/+question/708077
(2) For the moment, NLO calculations are only possible with Openloops matrix elements, not with O'Mega matrix elements via UFO models. We are working on a possibility to allow (general) UFO NLO models via GoSam as matrix element provider, but this not
ready yet.
Cheers,
   JRR (Juergen)

Revision history for this message
Thorsten Ohl (thomega) said :
#6

That's what I expected. You can comment out or delete everything after

  # Wavefunction renormalization

Whizard will not use it anyway.

In addition, OMega/Whizard doesn't like backslash continuations. I might add support for
them, but in the meantime, please use the patch

--- lorentz.py.orig 2017-06-02 15:26:41.000000000 +0200
+++ lorentz.py 2023-10-05 11:42:51.052764014 +0200
@@ -72,8 +72,7 @@

 R2RGA_VVVV10 = Lorentz(name = 'R2RGA_VVVV10',
                        spins = [ 3, 3, 3, 3 ],
- structure = 'Metric(1,4)*Metric(2,3) + Metric(1,3)*Metric(2,4)\
- + Metric(1,2)*Metric(3,4)')
+ structure = 'Metric(1,4)*Metric(2,3) + Metric(1,3)*Metric(2,4) + Metric(1,2)*Metric(3,4)')

 R2RGA_VVVV2 = Lorentz(name = 'R2RGA_VVVV2',
                       spins = [ 3, 3, 3, 3 ],

Finally, there is indeed a bug in the current Whizard version: in the corresponding
parameters.py there are probably lines of the form

  value = '(3.0/2.0)*(-(ee*sw)/(6.*cw))-(1.0/2.0)*((cw*ee)/(2.*sw))',

that will be translated incorrectly (not enough parentheses will be written
to the Whizard model file). A bugfix has been committed and will
be released *very* soon (maybe tomorrow).

Until then, you can work around this bug by using the patch

--- parameters.py.orig 2023-10-05 11:30:27.334668934 +0200
+++ parameters.py 2023-10-05 11:36:57.717924611 +0200
@@ -385,7 +385,7 @@
 CKM13 = Parameter(name = 'CKM13',
                   nature = 'internal',
                   type = 'complex',
- value = 'AWS*lamWS**3*(-(etaWS*complex(0,1)) + rhoWS)',
+ value = 'AWS*lamWS**3*((etaWS*complex(0,-1)) + rhoWS)',
                   texname = '\\text{CKM13}')

 CKM21 = Parameter(name = 'CKM21',
@@ -434,7 +434,7 @@
                nature = 'internal',
                type = 'complex',
                value = '-aEW*MZ**2*cmath.pi/(cmath.sqrt(2)*MW**2*(MW**2 - MZ**2))',
- texname = 'G_f',)
+ texname = 'G_f')

 ee = Parameter(name = 'ee',
                nature = 'internal',
@@ -765,25 +765,25 @@
 AxialZUp = Parameter(name = 'AxialZUp',
               nature = 'internal',
               type = 'real',
- value = '(3.0/2.0)*(-(ee*sw)/(6.*cw))-(1.0/2.0)*((cw*ee)/(2.*sw))',
+ value = '(3.0/2.0)*(-1)*(ee*sw)/(6.*cw)-(1.0/2.0)*((cw*ee)/(2.*sw))',
               texname = 'AxialZUp')

 AxialZDown = Parameter(name = 'AxialZDown',
               nature = 'internal',
               type = 'real',
- value = '(-1.0/2.0)*(-(cw*ee)/(2.*sw))+(-3.0/2.0)*(-(ee*sw)/(6.*cw))',
+ value = '(-1.0/2.0)*(-1)*(cw*ee)/(2.*sw)+(-3.0/2.0)*(-1)*(ee*sw)/(6.*cw)',
               texname = 'AxialZdown')

 VectorZUp = Parameter(name = 'VectorZUp',
               nature = 'internal',
               type = 'real',
- value = '(1.0/2.0)*((cw*ee)/(2.*sw))+(5.0/2.0)*(-(ee*sw)/(6.*cw))',
+ value = '(1.0/2.0)*((cw*ee)/(2.*sw))+(5.0/2.0)*(-1)*(ee*sw)/(6.*cw)',
               texname = 'AxialZUp')

 VectorZDown = Parameter(name = 'VectorZDown',
               nature = 'internal',
               type = 'real',
- value = '(1.0/2.0)*(-(cw*ee)/(2.*sw))+(-1.0/2.0)*(-(ee*sw)/(6.*cw))',
+ value = '(1.0/2.0)*(-1)*(cw*ee)/(2.*sw)+(-1.0/2.0)*(-1)*(ee*sw)/(6.*cw)',
               texname = 'AxialZdown')

 AxialG0Up1 = Parameter(name = 'AxialG0Up1',

Revision history for this message
Swapan Kumar Majhi (majhi-majhi) said :
#7

Thanks for for the.
Now I am facing some different problems.

1) I am using loop_sm UFO model file. It is giving some error
in lorentz structure as follows:

Model: Found UFO sources for model 'loop_sm'
UFO.Lorentz: stripping unused structure ProjM(2,1)ProjP(2,1)
UFO.Lorentz: stripping unused structure Metric(1,4)*Metric(2,3)Metric(1,3)*Metric(2,4)Metric(1,2)*Metric(3,4)
UFO.Lorentz: stripping unused structure Metric(1,4)*Metric(2,3)
UFO.Lorentz: stripping unused structure Metric(1,3)*Metric(2,4)
UFO.Lorentz: stripping unused structure Metric(1,2)*Metric(3,4)
UFO.Lorentz: stripping unused structure Metric(1,2)*Metric(3,4)
UFO.Lorentz: stripping unused structure Metric(1,3)*Metric(2,4)
UFO.Lorentz: stripping unused structure Metric(1,4)*Metric(2,3)
UFO.Lorentz: stripping unused structure Epsilon(4,1,2,3)
UFO.Lorentz: stripping unused structure Metric(1,2)
UFO.Lorentz: stripping unused structure Metric(1,2)*Metric(3,4)Metric(1,3)*Metric(2,4)Metric(1,4)*Metric(2,3)
UFO.Lorentz: stripping unused structure Epsilon(3,1,2,-1)*P(-1,2)-1*Epsilon(3,1,2,-1)*P(-1,1)
UFO.Lorentz: stripping unused structure Metric(1,2)*P(1)**2
UFO.Lorentz: stripping unused structure P(1,1)*P(2,1)
UFO.Lorentz: stripping unused structure Metric(1,2)
UFO.Lorentz: stripping unused structure Gamma(-1,2,1)*P(-1,1)
UFO.Lorentz: stripping unused structure Identity(1,2)
UFO.Lorentz.lorentz_reps_of_structure: AMBIGUOUS!
UFO.Lorentz.lorentz_reps_of_structure: [Scalar; Scalar; Scalar]
UFO.Lorentz.lorentz_reps_of_structure: [Scalar; Scalar; Scalar; Scalar]
Fatal error: exception Invalid_argument("UFO.Lorentz.of_lorentz_tensor: Ambiguous")
| command: /home/swapan/hep_packages/whizard_build/bin/omega_UFO.opt -model:UFO_dir /home/swapan/hep_packages/whizard_build/share/whizard/models/UFO/loop_sm -model:exec -model:write_WHIZARD > loop_sm.ufo.mdl
| Return code = 512
******************************************************************************
******************************************************************************
*** FATAL ERROR: System command returned with nonzero status code
******************************************************************************
******************************************************************************
WHIZARD run aborted.

2) Another case I am using loop_qcd_qed_sm UFO model file.
It is running fine when I calculate LO for e+e- -> t t~ but
 giving error when I calculate NLO:

Model: Found UFO sources for model 'loop_qcd_qed_sm'
UFO.Lorentz: stripping unused structure Identity(2,1)
UFO.Lorentz: stripping unused structure Gamma(3,2,-1)*ProjP(-1,1)
UFO.Lorentz: stripping unused structure P(3,1)
UFO.Lorentz: stripping unused structure Metric(1,4)*Metric(2,3)Metric(1,3)*Metric(2,4)Metric(1,2)*Metric(3,4)
UFO.Lorentz: stripping unused structure Metric(1,4)*Metric(2,3)
UFO.Lorentz: stripping unused structure Metric(1,3)*Metric(2,4)
UFO.Lorentz: stripping unused structure Metric(1,2)*Metric(3,4)
UFO.Lorentz: stripping unused structure Metric(1,2)*Metric(3,4)
UFO.Lorentz: stripping unused structure Metric(1,3)*Metric(2,4)
UFO.Lorentz: stripping unused structure Metric(1,4)*Metric(2,3)
UFO.Lorentz: stripping unused structure Epsilon(4,1,2,3)
UFO.Lorentz: stripping unused structure Metric(1,2)
UFO.Lorentz: stripping unused structure Metric(1,2)*Metric(3,4)Metric(1,3)*Metric(2,4)Metric(1,4)*Metric(2,3)
UFO.Lorentz: stripping unused structure Epsilon(3,1,2,-1)*P(-1,2)-1*Epsilon(3,1,2,-1)*P(-1,1)
UFO.Lorentz: stripping unused structure Metric(1,2)*P(1)**2
UFO.Lorentz: stripping unused structure P(1,1)*P(2,1)
UFO.Lorentz: stripping unused structure Metric(1,2)
UFO.Lorentz: stripping unused structure Gamma(-1,2,1)*P(-1,1)
UFO.Lorentz: stripping unused structure Identity(1,2)
UFO.Lorentz: stripping unused structure Gamma(-1,2,-2)*ProjP(-2,1)*P(-1,1)
UFO.Lorentz: stripping unused structure Gamma(-1,2,-2)*ProjM(-2,1)*P(-1,1)
UFO.Lorentz: stripping unused structure 1
UFO.Lorentz: stripping unused structure P(1)**2
UFO.Lorentz: stripping unused structure Metric(1,2)*Metric(3,4)Metric(1,3)*Metric(2,4)Metric(1,4)*Metric(2,3)
UFO.Lorentz: stripping unused structure Metric(1,2)*Metric(3,4)
UFO.Lorentz: stripping unused structure Metric(1,3)*Metric(2,4)Metric(1,4)*Metric(2,3)
UFO.Lorentz: stripping unused structure Metric(1,2)*P(3,2)-1*Metric(1,2)*P(3,1)Metric(2,3)*P(1,3)-1*Metric(2,3)*P(1,2)Metric(3,1)*P(2,1)-1*Metric(3,1)*P(2,3)
UFO.Lorentz: stripping unused structure P(3,1)-1*P(3,2)
UFO.Lorentz: stripping unused structure P(2,1)
UFO.Lorentz: stripping unused structure P(2,2)
UFO.Lorentz: stripping unused structure 1
UFO.Lorentz: stripping unused structure 1
UFO.Lorentz: stripping unused structure Metric(3,4)
UFO.Lorentz: stripping unused structure -1*P(1)**2
UFO.Lorentz: stripping unused structure 1
UFO.Lorentz: stripping unused structure Metric(2,3)
UFO.Lorentz: stripping unused structure 1
UFO.Lorentz: stripping unused structure -1*Metric(1,2)*P(1)**2
UFO.Lorentz: stripping unused structure Metric(1,2)
UFO.Lorentz: stripping unused structure -1*P(1,1)*P(2,1)
UFO.Lorentz: stripping unused structure Metric(1,2)*Metric(3,4)
UFO.Lorentz: stripping unused structure Metric(1,3)*Metric(2,4)
UFO.Lorentz: stripping unused structure Metric(1,4)*Metric(2,3)
UFO.Lorentz: stripping unused structure ProjM(2,1)
UFO.Lorentz: stripping unused structure ProjP(2,1)
UFO.Lorentz: stripping unused structure P(3,1)
UFO.Lorentz: stripping unused structure P(3,2)
UFO.Lorentz: stripping unused structure ProjM(2,1)
UFO.Lorentz: stripping unused structure ProjP(2,1)
UFO.Lorentz: stripping unused structure Gamma(-1,2,-2)*ProjM(-2,1)*P(-1,1)
UFO.Lorentz: stripping unused structure Gamma(-1,2,-2)*ProjP(-2,1)*P(-1,2)
UFO.Lorentz: stripping unused structure Gamma(3,2,-1)*ProjM(-1,1)
UFO.Lorentz: stripping unused structure Gamma(3,2,-1)*ProjP(-1,1)
| Model: Model file 'loop_qcd_qed_sm.ufo.mdl' generated
| Reading model file 'loop_qcd_qed_sm.ufo.mdl'
| Switching to model 'loop_qcd_qed_sm' (generated from UFO source)
******************************************************************************
******************************************************************************
*** FATAL ERROR: No particle with name e2 is contained in model loop_qcd_qed_sm
******************************************************************************
******************************************************************************
WHIZARD run aborted.

Any suggestions?

Revision history for this message
Thorsten Ohl (thomega) said :
#8

re: 1) this is a bug in the UFO model. The four goldstone boson vertex is assigned a
            Lorentz structure for a three scalars. Madgraph appears not to catch such errors,
            O'Mega is more strict (the error message could be more verbose).

           The fix is just one character:

--- loop_sm_UFO/vertices.py.orig 2023-07-11 09:11:32.000000000 +0200
+++ loop_sm_UFO/vertices.py 2023-11-07 14:00:00.188939829 +0100
@@ -456,7 +456,7 @@
 V_1001 = Vertex(name = 'V_1001',
              particles = [ P.G0, P.G0, P.G0, P.G0 ],
              color = [ '1' ],
- lorentz = [ L.SSS1 ],
+ lorentz = [ L.SSSS1 ],
              couplings = {(0,0):C.GC_1033})

 V_1002 = Vertex(name = 'V_1002',

re: 2) at the moment, Whizard can not yet use UFO files at NLO.

Revision history for this message
Swapan Kumar Majhi (majhi-majhi) said :
#9

Thanks a lot. Thats solve the problem.
But then I wonder how whizard do the NLO calculation?
Do they have own model file?

Revision history for this message
Juergen Reuter (j.r.reuter) said :
#10

Hi Swapan,
for the moment, Whizard only does NLO for SM. NLO for BSM models with UFO models is work in progress and is planned to be available early in 2024.
Cheers,
    JRR

Revision history for this message
Juergen Reuter (j.r.reuter) said :
#11

This question has been answered. For different questions, please open a new issue.