Feynman diagram for double Higgs production
Source code name: "feynman_doubleHiggs.py"
Programming language: Python
Topic: Physics/HEP
https://datamelt.org/code/cache/feynman_doubleHiggs_7579.py
To run this script using the DMelt IDE, copy the above URL link to the menu [File]→[Read script from URL] of the DMelt IDE.

``````

from java.awt import *
from jhplot import *

# position of the diagram on the canvas
Xpos=0.2
Ypos=0.22

c1=HPlotJa("Diagram",600,400,1,1,0)
c1.setGTitle("Feynman diagram for 2 Higgs to 4 τ", Color.blue)
c1.visible()
c1.showEditor(False)

# upper V shape
# start position x=0.05, y=0.1
gl=Diagram.FLine(Xpos,Ypos)
gl.setRelWH(0.15,0.1,"NDC")
gl.setStroke(2)

gl=Diagram.FLine(Xpos+0.15,Ypos)
gl.setRelWH(0.15,-0.1,"NDC")
gl.setStroke(2)

# lower V  shape
gl=Diagram.FLine(Xpos,Ypos+0.4)
gl.setRelWH(0.15,-0.1,"NDC")
gl.setStroke(2)

gl=Diagram.FLine(Xpos+0.15,Ypos+0.4)
gl.setRelWH(0.15,0.1,"NDC")
gl.setStroke(2)

# show blob at the center
gl=Diagram.Vertex(0, Xpos+0.15,Ypos+0.25)
gl.setRelWH(0.01,0.01,"NDC")

# vertical line like photon
gl=Diagram.PLine(Xpos+0.15,Ypos+0.1)
gl.setRelWH(0.0,0.3,"NDC")
gl.setStroke(2)

# horizontal dottedline for eta
gl=Diagram.SLine(Xpos+0.15,Ypos+0.25)
gl.setRelWH(0.2,0.0,"NDC")
gl.setArrow(False)
gl.setStroke(2)

# show blob at the end of horisonla line
gl=Diagram.Vertex(0, Xpos+0.35,Ypos+0.25)
gl.setRelWH(0.01,0.01,"NDC")

# show eta decay to Higgs
gl=Diagram.SLine(Xpos+0.35,Ypos+0.25)
gl.setRelWH(0.1,0.1,"NDC")
gl.setArrow(False);
gl.setStroke(2)

# show eta decay to Higgs
gl=Diagram.SLine(Xpos+0.35,Ypos+0.15)
gl.setRelWH(0.1,-0.1,"NDC")
gl.setArrow(False);
gl.setStroke(2)

# show upper higgs decay to tau
# upper fermion line
gl=Diagram.FLine(Xpos+0.45,Ypos+0.3)
gl.setRelWH(0.1,-0.05,"NDC")
gl.setFlip(False)
gl.setStroke(2)

# lower fermin line
gl=Diagram.FLine(Xpos+0.45,Ypos+0.35)
gl.setRelWH(-0.1,-0.05,"NDC")
gl.setStroke(2)

# show apper fermin line
gl=Diagram.FLine(Xpos+0.45,Ypos+0.1)
gl.setRelWH(0.1,-0.05,"NDC")
gl.setStroke(2)

# show lower higgs decay to tau
gl=Diagram.FLine(Xpos+0.45,Ypos+0.15)
gl.setRelWH(-0.1,-0.05,"NDC")
gl.setStroke(2)

# show text
gl=Diagram.Text("η", Xpos+0.25, Ypos+0.2)

# show Higgs lines
gl=Diagram.Text("H^{ 0}", Xpos+0.35,Ypos+0.15)
gl=Diagram.Text("H^{ 0}", Xpos+0.35,Ypos+0.4)

# tau
t1=Diagram.Text("τ^{ +}", Xpos+0.57, Ypos+0.22)
t2=Diagram.Text("τ^{ -}", Xpos+0.57,Ypos+0.10)

# tau
t3=Diagram.Text("τ^{ -}", Xpos+0.57, Ypos+0.3)
t4=Diagram.Text("τ^{ +}", Xpos+0.57, Ypos+0.43)

# show text
gl=Diagram.Text("Z^{ 0}/W^{ ±}", Xpos,Ypos+0.18)