Exemple #1
0
def get_diagram_one(ax, fermion_style, boson_style, vertex_style):

    D = Diagram(ax)

    w = 0.75
    xy0 = [0.5 - w/2, 0.25]
    v1 = D.vertex(xy0, **vertex_style)
    v2 = D.vertex(v1.xy, dx=w, **vertex_style)
    G = D.line(v1, v2, **fermion_style)
    B = D.line(v1, v2, **boson_style)

    # In case the axes get smaller (you have more diagrams), you might want to change the scale
    D.scale(1.0)

    D.plot()
    return D
Exemple #2
0
def get_diagram_one(ax, fermion_style, boson_style, vertex_style):

    D = Diagram(ax)

    w = 0.75
    xy0 = [0.5 - w / 2, 0.25]
    v1 = D.vertex(xy0, **vertex_style)
    v2 = D.vertex(v1.xy, dx=w, **vertex_style)
    G = D.line(v1, v2, **fermion_style)
    B = D.line(v1, v2, **boson_style)

    # In case the axes get smaller (you have more diagrams), you might want to change the scale
    D.scale(1.0)

    D.plot()
    return D
Exemple #3
0
fig = matplotlib.pyplot.figure(figsize=(1., 1.))
ax = fig.add_axes([0, 0, 10, 10], frameon=False)

diagram = Diagram(ax)
in1 = diagram.verticle(xy=(.1, .5))
in2 = diagram.verticle(xy=(.4, .5))
v1 = diagram.verticle(xy=(.65, .65))
v2 = diagram.verticle(xy=(.65, .35))
out1 = diagram.verticle(xy=(.9, .65), marker='')
out2 = diagram.verticle(xy=(.9, .35), marker='')

higgs = diagram.line(in1, in2, arrow=False, style='dashed')
nu1 = diagram.line(v1, in2)
nu2 = diagram.line(in2, v2)
w = diagram.line(v1, v2, style='wiggly')
lep = diagram.line(out1, v1)
tau = diagram.line(v2, out2)

nu1.text(r"$\nu_\ell$", fontsize=40)
nu2.text(r"$\nu_\tau$", fontsize=40)
lep.text(r"$\ell^+$", fontsize=40)
tau.text(r"$\tau^-$", fontsize=40)
#w.text(r"W$^\pm$",fontsize=40)
diagram.text(0.72, 0.5, "$W^\pm$", fontsize=40)
#diagram.text(0.69,0.35,"$Z/W^\pm$",fontsize=30)
higgs.text("H", fontsize=40)

diagram.plot()
fig.savefig('pdf/LFV.pdf', bbox_inches='tight')
Exemple #4
0
xy = [0.2, y0]
v01 = D.verticle(xy)

xy[0] += opwidth
v02 = D.verticle(xy)

Sigma = D.operator([v01, v02])
Sigma.text("$\Sigma$")

D.text(.70, y0, "=", fontsize=30)

xy[1] = y0 - 0.07

xy[0] = 0.9
v21 = D.verticle(xy)

xy[0] += linlen
v22 = D.verticle(xy)

l21 = D.line(v21, v22, **G_style)
l22 = D.line(v21, v22, **W_style)

l21.text("G", y=.05)
l22.text("W", y=-.1)

D.plot()

fig.savefig('pdf/gw-Sigma.pdf')
fig.savefig('pdf/gw-Sigma.png')
Exemple #5
0
opwidth = 0.3
linlen = 0.8
tail_marker = 'o'
Gamma_width = .3

W_style = dict(style='double wiggly', nwiggles=4)
G_style = dict(style='double elliptic',
                ellipse_excentricity=-1.2, ellipse_spread=.3,
                arrow=True, arrow_param={'width':0.05})

D = Diagram(ax)

xy = [0.2, y0]
v01 = D.verticle(xy)
v02 = D.verticle(v01.xy, dx=opwidth)
P = D.operator([v01,v02], c=1.3)
P.text("$P$")

D.text(.70, y0, "=", fontsize=30)

xy[0] = 0.9
v21 = D.verticle(xy)
v22 = D.verticle(xy, dx=linlen)

l21 = D.line(v22, v21, **G_style)
l21 = D.line(v21, v22, **G_style)

D.plot()
fig.savefig('pdf/gw-P.pdf')

Exemple #6
0
from feynman import Diagram

fig = plt.figure(figsize=(10.,10.))
ax = fig.add_axes([0,0,1,1], frameon=False)

diagram = Diagram(ax)
in1 = diagram.vertex(xy=(.1,.6), marker='')
in2= diagram.vertex(xy=(.1,.4), marker='')
v1 = diagram.vertex(xy=(.4,.6))
v2 = diagram.vertex(xy=(.4,.4))
v3 = diagram.vertex(xy=(.6,.5))
v4 = diagram.vertex(xy=(.34,.5), marker='')
higgsout = diagram.vertex(xy=(.9,.5))
epsilon = diagram.operator([v4,v3], c=1.1)
epsilon.text("Effective \n coupling", fontsize=30)

gluon_up_style = dict(style='linear loopy', xamp=.025, yamp=.035, nloops=7)
gluon_down_style = dict(style='linear loopy', xamp=.025, yamp=-.035, nloops=7)

g1 = diagram.line(in1, v1, **gluon_up_style)
g2 = diagram.line(in2, v2, **gluon_down_style)

higgs = diagram.line(v3, higgsout, arrow=False, style='dashed')

g1.text("g",fontsize=30)
diagram.text(v4.xy[0]-.08, v4.xy[1]-.05, "g",fontsize=35)
higgs.text("H",fontsize=30)

diagram.plot()
plt.show()
Exemple #7
0
# First diagram
D1 = Diagram(ax)

xy = [0.2, y0]
v01 = D1.verticle(xy)

xy[0] += linlen
v02 = D1.verticle(v01.xy, dx=linlen)

W = D1.line(v01, v02, **W_style)

text_prop = dict(y=0.06, fontsize=22)

W.text("$W$", **text_prop)

D1.text(.75, y0, "=", fontsize=30)

xy = [0.9, y0]
v11 = D1.verticle(xy)
v13 = D1.verticle(v11.xy, dx=opwidth)
v14 = D1.verticle(v13.xy, dx=linlen)

O = D1.operator([v11, v13], c=1.1)
O.text("${\\varepsilon^{-1}}$", x=.0, y=.01, fontsize=35)
D1.line(v13, v14, **v_style)

D1.plot()

fig.savefig('pdf/gw-W.pdf')
Exemple #8
0
# First diagram
D1 = Diagram(ax)

xy = [0.2, y0]
v01 = D1.verticle(xy)

xy[0] += linlen
v02 = D1.verticle(v01.xy, dx=linlen)

W = D1.line(v01, v02, **W_style)

text_prop = dict(y=0.06, fontsize=22)

W.text("$W$", **text_prop)

D1.text(.75, y0, "=", fontsize=30)

xy = [0.9, y0]
v11 = D1.verticle(xy)
v13 = D1.verticle(v11.xy, dx=opwidth)
v14 = D1.verticle(v13.xy, dx=linlen)

O = D1.operator([v11,v13], c=1.1)
O.text("${\\varepsilon^{-1}}$", x=.0, y=.01, fontsize=35)
D1.line(v13, v14, **v_style)

D1.plot()

fig.savefig('pdf/gw-W.pdf')