# momentum-dependent form factor in NLO calculation

Asked by Yingying Li on 2020-06-16

Dear authors:

I am using the SM_NLO package from http://feynrules.irmp.ucl.ac.be/wiki/StandardModel. There I want to add a momentum dependent Yukawa coupling using the Fortran Way method

Modifying the top Yukawa vertices in the vertices.py file:

V_43 = Vertex(name = 'V_43',
particles = [ P.t__tilde__, P.t, P.H ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFF1, L.FFF2 ],
couplings = {(0,0):C.GC_77,(0,1):C.GC_77})
with FFF1, FFF2 defined in the lorentz.py file as:
FFF1 = Lorentz(name = 'FFF1',
spins = [ 2, 2, 1 ],
structure = 'FormFactor*ProjM(2,1)')
FFF2 = Lorentz(name = 'FFF2',
spins = [ 2, 2, 1 ],
structure = 'FormFactor*ProjP(2,1)')

Then I put FormFactor = 1 to generate the gg->h at NLO with MadGraph. Since FormFactor =1, I should get the cross section to match the one I got without doing the above modifications (SM value). However, I got a way larger cross section. Is this related to some tricky counter-term in the model package? How should I put in the form factor coherently for NLO simulation?

Yingying

## Question information

Language:
English Edit question
Status:
Expired
For:
Assignee:
No assignee Edit question
Last query:
2020-06-17
2020-07-02
 Olivier Mattelaer (olivier-mattelaer) said on 2020-06-16: #1

Dear Yingying,

1. g g > h is a Loop induced process, the precision of that process is a LO accurate (and very inacurate actually).

2. In the loop_sm model, I have the following interaction:
V_56 = Vertex(name = 'V_56',
particles = [ P.t__tilde__, P.t, P.H ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFS1 ],
couplings = {(0,0):C.GC_37})
with
FFS1 = Lorentz(name = 'FFS1',
spins = [ 2, 2, 1 ],
structure = 'Identity(2,1)')

GC_37 = Coupling(name = 'GC_37',
value = '-((complex(0,1)*yt)/cmath.sqrt(2))',
order = {'QED':1})

Nothing seems to match your implementation.

3. Do not forget to do your implementation of the form-factor in d-dimension and to extract the singular piece to modify the R2 counter-term with the associated form-factor. If your implementation modifes the R1 counter-term this can not be implemented.

> How should I put in the form factor coherently for NLO simulation?

@NLO, it sounds crazy to use form-factor. Form-Factor are typically dirty bit and do not match very well with accuracy like it is required for NLO computation. Since you are here actually at LO, It already makes more sense but you need to really understand how the loop computation is performed in order to edit the model coherently. I'm not aware of anyone trying to do that so far.

> On 16 Jun 2020, at 08:05, Yingying Li <email address hidden> wrote:
>
> New question #691340 on MadGraph5_aMC@NLO:
>
> Dear authors:
>
> I am using the SM_NLO package from http://feynrules.irmp.ucl.ac.be/wiki/StandardModel. There I want to add a momentum dependent Yukawa coupling using the Fortran Way method
>
> Modifying the top Yukawa vertices in the vertices.py file:
>
> V_43 = Vertex(name = 'V_43',
> particles = [ P.t__tilde__, P.t, P.H ],
> color = [ 'Identity(1,2)' ],
> lorentz = [ L.FFF1, L.FFF2 ],
> couplings = {(0,0):C.GC_77,(0,1):C.GC_77})
> with FFF1, FFF2 defined in the lorentz.py file as:
> FFF1 = Lorentz(name = 'FFF1',
> spins = [ 2, 2, 1 ],
> structure = 'FormFactor*ProjM(2,1)')
> FFF2 = Lorentz(name = 'FFF2',
> spins = [ 2, 2, 1 ],
> structure = 'FormFactor*ProjP(2,1)')
>
> Then I put FormFactor = 1 to generate the gg->h at NLO with MadGraph. Since FormFactor =1, I should get the cross section to match the one I got without doing the above modifications (SM value). However, I got a way larger cross section. Is this related to some tricky counter-term in the model package? How should I put in the form factor coherently for NLO simulation?
>
>
> Yingying
>
> --

 Yingying Li (toodlesli) said on 2020-06-16: #2

Hi Olivier,

Thanks a lot for your detailed answer! I was originally using SM_NLO ufo model. But when I change to loop_sm, with the following modification:

V_56 = Vertex(name = 'V_56',
particles = [ P.t__tilde__, P.t, P.H ],
color = [ 'Identity(1,2)' ],
lorentz = [ L.FFF ],
couplings = {(0,0):C.GC_37})
with
FFF = Lorentz(name = 'FFF',
spins = [ 2, 2, 1 ],
structure = 'FormFactor(P(-1,1)*P(-1,1),P(-1,2)*P(-1,2),P(-1,3)*P(-1,3))*Identity(2,1)')

and FormFactor(P(-1,1)*P(-1,1),P(-1,2)*P(-1,2),P(-1,3)*P(-1,3)) is defined to be one as follows:

double complex function FormFactor(s1,s2,s3)
implicit none
include 'input.inc' ! include all model parameter
INCLUDE 'coupl.inc'

real*8 s1, s2, s3

FormFactorTwo = 1
return
end

I still get a much larger cross section compared with the one without those modification. What could be the reason for this?

Are there examples to implement the form-factor in d-dimension and to extract singular pieces? Can I eventually put FormFactor(s1,s2,s3) as some polynomial function of (s1, s2, s3) safely?

Thanks a lot!

Yingying

 Olivier Mattelaer (olivier-mattelaer) said on 2020-06-17: #3

Hi,

> FormFactorTwo = 1

This should be FormFactor no?

> What could be the reason for this?

I do not know,

> Are there examples to implement the form-factor in d-dimension and to
> extract singular pieces? Can I eventually put FormFactor(s1,s2,s3) as
> some polynomial function of (s1, s2, s3) safely?

I'm not aware of any study on that direction you are on uncharted territory.

Cheers,

Olivier

> On 17 Jun 2020, at 00:10, Yingying Li <email address hidden> wrote:
>
> Question #691340 on MadGraph5_aMC@NLO changed:
>
>
> Yingying Li is still having a problem:
> Hi Olivier,
>
> Thanks a lot for your detailed answer! I was originally using SM_NLO ufo
> model. But when I change to loop_sm, with the following modification:
>
> V_56 = Vertex(name = 'V_56',
> particles = [ P.t__tilde__, P.t, P.H ],
> color = [ 'Identity(1,2)' ],
> lorentz = [ L.FFF ],
> couplings = {(0,0):C.GC_37})
> with
> FFF = Lorentz(name = 'FFF',
> spins = [ 2, 2, 1 ],
> structure = 'FormFactor(P(-1,1)*P(-1,1),P(-1,2)*P(-1,2),P(-1,3)*P(-1,3))*Identity(2,1)')
>
> and FormFactor(P(-1,1)*P(-1,1),P(-1,2)*P(-1,2),P(-1,3)*P(-1,3)) is
> defined to be one as follows:
>
> double complex function FormFactor(s1,s2,s3)
> implicit none
> include 'input.inc' ! include all model parameter
> INCLUDE 'coupl.inc'
>
> real*8 s1, s2, s3
>
> FormFactorTwo = 1
> return
> end
>
> I still get a much larger cross section compared with the one without
> those modification. What could be the reason for this?
>
> Are there examples to implement the form-factor in d-dimension and to
> extract singular pieces? Can I eventually put FormFactor(s1,s2,s3) as
> some polynomial function of (s1, s2, s3) safely?
>
> Thanks a lot!
>
> Yingying
>
> --

 Yingying Li (toodlesli) said on 2020-06-17: #4

Hi Olivier,

Yes, it is a typo, should be FormFactor=1.

Thanks a lot for your answer. In this case, I will try to calculate the cross section by hand...

Best,
Yingying

 Olivier Mattelaer (olivier-mattelaer) said on 2020-07-02: #5