예제 #1
0
import matplotlib

from feynman import Diagram

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, .6), marker='')
in2 = diagram.verticle(xy=(.1, .4), marker='')
v1 = diagram.verticle(xy=(.4, .6))
v2 = diagram.verticle(xy=(.4, .4))
v3 = diagram.verticle(xy=(.6, .5))
v4 = diagram.verticle(xy=(.34, .5), marker='')
higgsout = diagram.verticle(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()
fig.savefig('pdf/ggF-EFT.pdf', bbox_inches='tight')
예제 #2
0
import matplotlib.pyplot as plt
from feynman import Diagram

fig = plt.figure(figsize=(8,2))
ax = fig.add_subplot(111, frameon=False)

ax.set_xlim(0, 2)
ax.set_ylim(0, .5)

W_style = dict(style='double wiggly elliptic', nwiggles=5)
G_style = dict(style='double', arrow=True, arrow_param={'width':0.05})

# Sigma operator
D = Diagram(ax)

v01 = D.verticle([.2, .175])
v02 = D.verticle(v01.xy, dx=.3)

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

# Equal sign
D.text(v02.x+.2, v02.y, "=", fontsize=30)

# GW convolution
v21 = D.verticle(v02.xy, dxy=[0.4, -0.07])
v22 = D.verticle(v21.xy, dx=0.8)

l21 = D.line(v21, v22, **G_style)
l22 = D.line(v21, v22, **W_style)
예제 #3
0
import matplotlib

from feynman import Diagram

fig = matplotlib.pyplot.figure(figsize=(1., 1.))
ax = fig.add_axes([0, 0, 10, 10], frameon=False)
diagram = Diagram(ax)
#diagram.text(.5,0.9,"Gluon-Gluon Fusion (ggF)",fontsize=40)
in1 = diagram.verticle(xy=(.1, .7), marker='')
in2 = diagram.verticle(xy=(.1, .3), marker='')
v1 = diagram.verticle(xy=(.4, .7))
v2 = diagram.verticle(xy=(.4, .3))
v3 = diagram.verticle(xy=(.6, .5))
higgsout = diagram.verticle(xy=(.9, .5))

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

g1 = diagram.line(in1, v1, **gluon_style)
g2 = diagram.line(in2, v2, **gluon_style)
t1 = diagram.line(v1, v2)
t2 = diagram.line(v2, v3)
t3 = diagram.line(v3, v1)
higgs = diagram.line(v3, higgsout, arrow=False, style='dashed')

g1.text("g", fontsize=30)
g2.text("g", fontsize=30)
t1.text("t", fontsize=30)
t2.text("t", fontsize=30)
t3.text(r"$\bar{\mathrm{t}}$", fontsize=35)
higgs.text("H", fontsize=30)
예제 #4
0
ax.set_xlim(0, 2)
ax.set_ylim(0, .5)

y0 = 0.175

opwidth = 0.3
linlen = 0.8

W_style = dict(style='double wiggly elliptic', nwiggles=5)
G_style = dict(style='double', arrow=True, arrow_param={'width': 0.05})

D = Diagram(ax)

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
예제 #5
0
파일: VBF-LO.py 프로젝트: bruneval/feynman
import matplotlib

from feynman import Diagram

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, .8), marker='')
in2 = diagram.verticle(xy=(.1, .2), marker='')
v1 = diagram.verticle(xy=(.5, .7))
v2 = diagram.verticle(xy=(.5, .3))
v3 = diagram.verticle(xy=(.5, .5))
out1 = diagram.verticle(xy=(.9, .8), marker='')
out2 = diagram.verticle(xy=(.9, .2), marker='')
higgsout = diagram.verticle(xy=(.9, .5))

q1 = diagram.line(in1, v1, arrow=False)
q2 = diagram.line(in2, v2, arrow=False)
wz1 = diagram.line(v1, v3, style='wiggly')
wz2 = diagram.line(v2, v3, style='wiggly')
higgs = diagram.line(v3, higgsout, style='dashed', arrow=False)
q3 = diagram.line(v1, out1, arrow=False)
q4 = diagram.line(v2, out2, arrow=False)

q1.text(r"$\bar{q}$", fontsize=30)
q2.text("$Q$", fontsize=30)
diagram.text(v3.xy[0] + 0.12, v3.xy[1] + 0.11, "$Z/W^\pm$", fontsize=30)
wz2.text("$Z/W^\pm$", fontsize=30)
q3.text(r"$\bar{q}$", fontsize=30)
q4.text("$Q$", fontsize=30)
higgsout.text("$H$", fontsize=30)
예제 #6
0
y0 = .75 / 2

side = 0.3
gammalen = side * np.sqrt(3) / 2
linlen = 0.4
tail_marker = 'o'

W_style = dict(style = 'double wiggly', nwiggles=2)
v_style = dict(style = 'simple wiggly', nwiggles=2)
G_style = dict(style = 'double',  arrow=True, arrow_param={'width':0.05})

D = Diagram(ax)

xy = [0.2, y0]

v01 = D.verticle(xy, dy= side/2)
v02 = D.verticle(xy, dy=-side/2)
v03 = D.verticle(xy, dx=gammalen)
gamma0 = D.operator([v01,v02,v03])
gamma0.text("$\Gamma$")

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

v30 = D.verticle([1.05, y0])

# Create a three-verticle dot.
n1 = np.array([-np.sqrt(3)/6, .5])
n2 = np.array([-np.sqrt(3)/6,-.5])
n3 = np.array([ np.sqrt(3)/3, .0])

chunkdist = .05
예제 #7
0
side = 0.3
gammalen = side * np.sqrt(3) / 2
linlen = 0.4
opwidth = 0.3
obj_spacing = .23
tail_marker = 'o'

W_style = dict(style='double wiggly', nwiggles=2)
v_style = dict(style='simple wiggly', nwiggles=2)
G_style = dict(style='double', 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)
epsilon = D.operator([v01, v02], c=1.1)
epsilon.text("$\\varepsilon$", fontsize=50)

D.text(v02.xy[0] + obj_spacing, y0, "=", fontsize=30)

v30 = D.verticle(v02.xy, dx=2 * obj_spacing)

n1 = np.array([-1., 0.])
n2 = np.array([1., 0.])

chunkdist = .03
v310 = D.verticle(v30.xy, dxy=n1 * chunkdist, marker='')
v320 = D.verticle(v30.xy, dxy=n2 * chunkdist, marker='')
예제 #8
0
y0 = 0.75 / 2

opwidth = 0.3
linlen = 0.4
tail_marker = "o"

W_style = dict(style="double wiggly", nwiggles=2)
v_style = dict(style="simple wiggly", nwiggles=2)

D = Diagram(ax)

arrowparam = dict(width=0.05)

xy = [0.2, y0]
v01 = D.verticle(xy, marker=tail_marker)
xy[0] += linlen
v02 = D.verticle(v01.xy, dx=linlen, marker=tail_marker)
W = D.line(v01, v02, **W_style)

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

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

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

xy = [0.9, y0]
v21 = D.verticle(xy, marker=tail_marker)
v22 = D.verticle(v21.xy, dx=linlen, marker=tail_marker)
v = D.line(v21, v22, **v_style)
v.text("$v$", **text_prop)
예제 #9
0
ax.set_xlim(0, 2.5)
ax.set_ylim(0, .3)

y0 = sum(ax.get_ylim()) / 2
l = 0.4

x0 = .05

G_style = dict(arrow=True, arrow_param={'width':0.05}, style = 'double')
G0_style = dict(arrow=True, arrow_param={'width':0.05}, style = 'simple')

D = Diagram(ax)

x = x0
v01 = D.verticle(xy=(x,y0))
v02 = D.verticle(v01.xy, dx=l)
G = D.line(v01, v02, **G_style)

text_prop = dict(y=0.05, fontsize=20)
G.text("$G$", **text_prop)

x = x0 + .55
D.text(x, y0, "=", fontsize=30)

x = x0 + .7
v21 = D.verticle(xy=(x,y0))
v22 = D.verticle(v21.xy, dx=l)
G0 = D.line(v21, v22, **G0_style)
G0.text("$G_0$", **text_prop)
예제 #10
0
side = 0.3
gammalen = side * np.sqrt(3) / 2
linlen = 0.4
tail_marker = 'o'

W_style = dict(style = 'double wiggly', nwiggles=2)
v_style = dict(style = 'simple wiggly', nwiggles=2)
G_style = dict(style = 'double',  arrow=True, arrow_param={'width':0.05})

D = Diagram(ax)

arrow_param = dict(width=0.05)

xy = [0.2, y0]

v01 = D.verticle(xy, dy= side/2)
v02 = D.verticle(xy, dy=-side/2)
v03 = D.verticle(xy, dx=gammalen)
gamma0 = D.operator([v01,v02,v03])
gamma0.text("$\Gamma$")

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

v30 = D.verticle([1.05, y0])


n1 = np.array([-np.sqrt(3)/6, .5])
n2 = np.array([-np.sqrt(3)/6,-.5])
n3 = np.array([ np.sqrt(3)/3, .0])

chunkdist = .05
예제 #11
0
import matplotlib

from feynman import Diagram

fig = matplotlib.pyplot.figure(figsize=(1., 1.))
ax = fig.add_axes([0, 0, 10, 10], frameon=False)
diagram = Diagram(ax)
#diagram.text(.5,0.9,"Gluon-Gluon Fusion (ggF)",fontsize=40)
in1 = diagram.verticle(xy=(.1, .7), marker='')
in2 = diagram.verticle(xy=(.1, .3), marker='')
v1 = diagram.verticle(xy=(.3, .7))
v2 = diagram.verticle(xy=(.3, .3))
v3 = diagram.verticle(xy=(.5, .5))
higgsout = diagram.verticle(xy=(.65, .5))
zout1 = diagram.verticle(xy=(.9, .7), marker='')
zout2 = diagram.verticle(xy=(.9, .3), marker='')

gluon_style = dict(style='linear loopy', xamp=.025, yamp=.035, nloops=4)

g1 = diagram.line(in1, v1, **gluon_style)
g2 = diagram.line(in2, v2, **gluon_style)
t1 = diagram.line(v1, v2)
t2 = diagram.line(v2, v3)
t3 = diagram.line(v3, v1)
higgs = diagram.line(v3, higgsout, arrow=False, style='dashed')
z1 = diagram.line(higgsout, zout1, arrow=False, style='wiggly')
z2 = diagram.line(zout2, higgsout, arrow=False, style='wiggly')

g1.text("$g$", fontsize=30)
g2.text("$g$", fontsize=30)
diagram.text(zout1.xy[0] + .025, zout1.xy[1], "$Z$", fontsize=30)
예제 #12
0
ax.set_xlim(0, 2.5)
ax.set_ylim(0, .3)

y0 = sum(ax.get_ylim()) / 2
l = 0.4

x0 = .05

G_style = dict(arrow=True, arrow_param={'width': 0.05}, style='double')
G0_style = dict(arrow=True, arrow_param={'width': 0.05}, style='simple')

D = Diagram(ax)

x = x0
v01 = D.verticle(xy=(x, y0))
v02 = D.verticle(v01.xy, dx=l)
G = D.line(v01, v02, **G_style)

text_prop = dict(y=0.05, fontsize=20)
G.text("$G$", **text_prop)

x = x0 + .55
D.text(x, y0, "=", fontsize=30)

x = x0 + .7
v21 = D.verticle(xy=(x, y0))
v22 = D.verticle(v21.xy, dx=l)
G0 = D.line(v21, v22, **G0_style)
G0.text("$G_0$", **text_prop)
예제 #13
0
ax.set_xlim(0, 3)
ax.set_ylim(0, .75)

y0 = .75 / 2

opwidth = 0.3
linlen = 0.4

W_style = dict(style='double wiggly', nwiggles=2)
v_style = dict(style='simple wiggly', nwiggles=2)

# 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)
예제 #14
0
파일: fock.py 프로젝트: jornada/feynman
"""Create the Fock interaction diagram."""

from feynman import Diagram

diagram = Diagram()

v1 = diagram.verticle(xy=(.1,.5), marker='')
v2 = diagram.verticle(xy=(.3,.5))
v3 = diagram.verticle(xy=(.7,.5))
v4 = diagram.verticle(xy=(.9,.5), marker='')

l12 = diagram.line(v1, v2, arrow=True)
w23 = diagram.line(v2, v3, pathtype='elliptic', linestyle='wiggly')
l23 = diagram.line(v2, v3, arrow=True)
l34 = diagram.line(v3, v4, arrow=True)

l12.text("p")
w23.text("q")
l23.text("p-q")
l34.text("p")

diagram.plot()
diagram.show()
예제 #15
0
side = 0.3
gammalen = side * np.sqrt(3) / 2
linlen = 0.4
opwidth = 0.3
obj_spacing = .23
tail_marker = 'o'

W_style = dict(style='double wiggly', nwiggles=2)
v_style = dict(style='simple wiggly', nwiggles=2)
G_style = dict(style='double',  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)
epsilon = D.operator([v01,v02], c=1.1)
epsilon.text("$\\varepsilon$", fontsize=50)

D.text(v02.xy[0]+obj_spacing, y0, "=", fontsize=30)

v30 = D.verticle(v02.xy, dx=2*obj_spacing)

n1 = np.array([-1.,0.])
n2 = np.array([ 1.,0.])

chunkdist = .03
v310 = D.verticle(v30.xy, dxy=n1*chunkdist, marker='')
v320 = D.verticle(v30.xy, dxy=n2*chunkdist, marker='')
예제 #16
0
side = 0.3
gammalen = side * np.sqrt(3) / 2
linlen = 0.4
tail_marker = 'o'

W_style = dict(style='double wiggly', nwiggles=2)
v_style = dict(style='simple wiggly', nwiggles=2)
G_style = dict(style='double', arrow=True, arrow_param={'width': 0.05})

D = Diagram(ax)

arrow_param = dict(width=0.05)

xy = [0.2, y0]

v01 = D.verticle(xy, dy=side / 2)
v02 = D.verticle(xy, dy=-side / 2)
v03 = D.verticle(xy, dx=gammalen)
gamma0 = D.operator([v01, v02, v03])
gamma0.text("$\Gamma$")

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

v30 = D.verticle([1.05, y0])

n1 = np.array([-np.sqrt(3) / 6, .5])
n2 = np.array([-np.sqrt(3) / 6, -.5])
n3 = np.array([np.sqrt(3) / 3, .0])

chunkdist = .05
v310 = D.verticle(v30.xy, dxy=n1 * chunkdist, marker='')
예제 #17
0
파일: VH.py 프로젝트: bruneval/feynman
import matplotlib

from feynman import Diagram

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

diagram = Diagram(ax)
diagram.text(.4, 0.9, "Associated Vector Boson", fontsize=40)
diagram.text(.6, 0.83, "(VH or 'Higgs Strahlung')", fontsize=40)
in1 = diagram.verticle(xy=(.1, .75), marker='')
in2 = diagram.verticle(xy=(.1, .25), marker='')
v1 = diagram.verticle(xy=(.35, .5))
v2 = diagram.verticle(xy=(.65, .5))
higgsout = diagram.verticle(xy=(.9, .75))
out1 = diagram.verticle(xy=(.9, .25), marker='')

q1 = diagram.line(in1, v1)
q2 = diagram.line(v1, in2)
wz1 = diagram.line(v1, v2, style='wiggly')
wz2 = diagram.line(v2, out1, style='wiggly')
higgs = diagram.line(v2, higgsout, arrow=False, style='dashed')

q1.text("q", fontsize=30)
q2.text(r"$\bar{\mathrm{q}}$", fontsize=30)
diagram.text(0.5, 0.55, "$Z/W^\pm$", fontsize=30)
diagram.text(0.69, 0.35, "$Z/W^\pm$", fontsize=30)
higgs.text("H", fontsize=30)

diagram.plot()
fig.savefig('pdf/VH.pdf', bbox_inches='tight')
예제 #18
0
ax.set_xlim(0, 2)
ax.set_ylim(0, .5)

y0 = 0.175

opwidth = 0.3
linlen = 0.8

W_style = dict(style='double wiggly elliptic', nwiggles=5)
G_style = dict(style='double', arrow=True, arrow_param={'width':0.05})

D = Diagram(ax)

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
예제 #19
0
ax.set_xlim(0, 3)
ax.set_ylim(0, .75)

y0 = .75 / 2

opwidth = 0.3
linlen = 0.4

W_style = dict(style='double wiggly', nwiggles=2)
v_style = dict(style='simple wiggly', nwiggles=2)

# 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)
예제 #20
0
"""Create the Fock interaction diagram."""

import matplotlib.pyplot as plt
from feynman import Diagram

diagram = Diagram()

v1 = diagram.verticle(xy=(.1, .5), marker='')
v2 = diagram.verticle(xy=(.3, .5))
v3 = diagram.verticle(xy=(.7, .5))
v4 = diagram.verticle(xy=(.9, .5), marker='')

l12 = diagram.line(v1, v2, arrow=True)
w23 = diagram.line(v2, v3, style='elliptic wiggly')
l23 = diagram.line(v2, v3, arrow=True)
l34 = diagram.line(v3, v4, arrow=True)

l12.text("p")
w23.text("q")
l23.text("p-q")
l34.text("p")

diagram.plot()
plt.savefig('pdf/fock.pdf')
diagram.show()
예제 #21
0
y0 = sum(ax.get_ylim()) / 2

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)

xy[0] += linlen
xy[1] += Gamma_width / 2
v22 = D.verticle(xy)

xy[1] += - Gamma_width
v23 = D.verticle(xy)
예제 #22
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')
예제 #23
0
D.x0 = 0.2
D.y0 = sum(D.ax.get_ylim()) * .35

# Various size
opwidth = 1.
linlen = 2.
objspace = .8
wiggle_amplitude=.1

# Line styles
Ph_style = dict(style='elliptic loopy', ellipse_spread=.6, xamp=.10, yamp=-.15, nloops=15)
DW_style = dict(style='circular loopy', circle_radius=.7, xamp=.10, yamp=.15, nloops=18)
G_style = dict(style='simple', arrow=True, arrow_param={'width':0.15, 'length': .3})

# Item 1
v1 = D.verticle([D.x0, D.y0])
v2 = D.verticle(v1.xy, dx=opwidth)
Sigma = D.operator([v1,v2])
Sigma.text("$\Sigma^{ep}$")

# Item 2
D.text(v2.x + objspace, D.y0, "=", fontsize=30)

# Item 3
v1 = D.verticle([v2.x + 2 * objspace,  D.y0 - 0.3])
v2 = D.verticle(v1.xy, dx=linlen)
G = D.line(v1, v2, **G_style)
Ph = D.line(v1, v2, **Ph_style)

# Item 2
D.text(v2.x + objspace, D.y0, "+", fontsize=30)
예제 #24
0
y0 = sum(ax.get_ylim()) / 2

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')
예제 #25
0
import matplotlib

from feynman import Diagram

fig = matplotlib.pyplot.figure(figsize=(1., 1.))
ax = fig.add_axes([0, 0, 10, 10], frameon=False)
diagram = Diagram(ax)
#diagram.text(.5,0.9,r"Vector Boson Fusion (VBF) Higgs $\rightarrow\tau\tau$",fontsize=40)
in1 = diagram.verticle(xy=(.1, .8), marker='')
in2 = diagram.verticle(xy=(.1, .2), marker='')
v1 = diagram.verticle(xy=(.3, .7))
v2 = diagram.verticle(xy=(.3, .3))
v3 = diagram.verticle(xy=(.5, .5))
out1 = diagram.verticle(xy=(.9, .8), marker='')
out2 = diagram.verticle(xy=(.9, .2), marker='')
higgsf = diagram.verticle(xy=(.7, .5))
tau1 = diagram.verticle(xy=(.9, .7), marker='')
tau2 = diagram.verticle(xy=(.9, .3), marker='')

q1 = diagram.line(in1, v1, arrow=False)
q2 = diagram.line(in2, v2, arrow=False)
wz1 = diagram.line(v1, v3, style='wiggly')
wz2 = diagram.line(v2, v3, style='wiggly')
higgs = diagram.line(v3, higgsf, style='dashed', arrow=False)
q3 = diagram.line(v1, out1, arrow=False)
q4 = diagram.line(v2, out2, arrow=False)
t1 = diagram.line(higgsf, tau1)
t2 = diagram.line(tau2, higgsf)

q1.text("$q_1$", fontsize=30)
q2.text("$q_2$", fontsize=30)
예제 #26
0
import matplotlib

from feynman import Diagram

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)
예제 #27
0
y0 = .75 / 2

opwidth = 0.3
linlen = 0.4
tail_marker = 'o'

W_style = dict(style='double wiggly', nwiggles=2)
v_style = dict(style='simple wiggly', nwiggles=2)

D = Diagram(ax)

arrowparam = dict(width=0.05)

xy = [0.2, y0]
v01 = D.verticle(xy, marker=tail_marker)
xy[0] += linlen
v02 = D.verticle(v01.xy, dx=linlen, marker=tail_marker)
W = D.line(v01, v02, **W_style)

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

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

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

xy = [0.9, y0]
v21 = D.verticle(xy, marker=tail_marker)
v22 = D.verticle(v21.xy, dx=linlen, marker=tail_marker)
v = D.line(v21, v22, **v_style)
v.text("$v$", **text_prop)