Modification of fermionic propagator in UFO
Hello,
I am trying to modify the propagator (obtained from FeynRules) in "propagators.py" file generated within the UFO model. I have named it as F2 and used it as the propagator of a specific particle in the "particles.py" file by the command " propagator = prop.F2 ".
The fermionic propagator already defined in the file is as follows
-------------- Fermionic Propagator --------------
F = Propagator(name = "F",
)
denominator = "P('mu', id) * P('mu', id) - Mass(id) * Mass(id) + complex(0,1) * Mass(id) * Width(id)"
-------
I want to modify the denominator keeping the numerator (\slashed{p} + m) same. The modification of the denominator ( new variable "denominator2") is given below
-------------- Modified Fermionic Propagator --------------
F2 = Propagator(name = "F2",
)
denominator2 = "P('mu', id) * P('mu', id) - Mass(id) * Mass(id) + complex(0,1) * (%s)" % factor
-------
where the "factor" variable contains a Heaviside Theta function of the four-momentum p. To implement the theta function, I have used the command "cond" (in "function_
-------------- "cond" command --------------
cond = Function(name = 'cond',
-------
The "factor" is given below
-------------- factor --------------
factor = "cond(P('mu', id) * P('mu', id) * P('mu', id) * P('mu', id) + MT*MT*MT*MT + Mps*Mps*Mps*Mps - 2*P('mu', id) * P('mu', id)*MT*MT - 2*P('mu', id) * P('mu', id)*Mps*Mps - 2*Mps*Mps*MT*MT, gstar*gstar/(50.29) * sqrt(P('mu', id) * P('mu', id) * P('mu', id) * P('mu', id) + MT*MT*MT*MT + Mps*Mps*Mps*Mps - 2*P('mu', id) * P('mu', id)*MT*MT - 2*P('mu', id) * P('mu', id)*Mps*Mps - 2*Mps*Mps*MT*MT)* (P('mu', id) * P('mu', id) + MT*MT - Mps*Mps + 2*MX*MT) / (P('mu', id) * P('mu', id)), Mass(id) * Width(id))"
-------
I have tried using 0 if the condition is false and it results in an immensely large unphysical cross-section. So I used the usual "Mass(id) * Width(id)" expression to avoid unphysical cross-sections while calculation. In this case, the condition never gets satisfied (resulting in the False condition) and I get a similar result if I have used the default propagator.
Kindly guide me through the necessary changes to be made in the modified propagator.
Thanks,
Rohan
Question information
- Language:
- English Edit question
- Status:
- Solved
- Assignee:
- No assignee Edit question
- Solved by:
- Olivier Mattelaer
- Solved:
- Last query:
- Last reply: