2 to 2 process

[1]:
from smpl_io import io
[2]:
from pyfeyn2.interface.qgraf import style
import itertools as it
import re
[5]:
from pyqgraf import qgraf, model
qgraf.install("3.6.5")
xml_string = qgraf.run("nu_e[p1], nu_e_bar[p2]", "nu_e[p3], nu_e_bar[p4]",loops=1,loop_momentum="l",model = model.gws_UnitaryGauge_reduced, style=style)
/home/apn/.local/bin/qgraf-3.6.5 qgraf.dat

 --------------------------------------------------------------
                          qgraf-3.6.5
 --------------------------------------------------------------

  output= 'output.out' ;
  style= 'tmp.sty' ;
  model = 'tmp.model';
  in= nu_e[p1], nu_e_bar[p2];
  out= nu_e[p3], nu_e_bar[p4];
  loops= 1;
  loop_momentum= l;
  options= notadpole,onshell;

 --------------------------------------------------------------

   #loops    v-degrees          #diagrams

      1
              -   4^2     ....     0
             3^2  4^1     ....     0
             3^4   -      ....     24


        total =  24 connected diagrams

[8]:
from pathlib import Path
import subprocess
import shlex

from xsdata.formats.dataclass.parsers import XmlParser
from pyfeyn2.render.latex.feynmp import FeynmpRender
from pyfeyn2.render.latex.tikzfeynman import TikzFeynmanRender
from pyfeyn2.render.pyx.pyxrender import PyxRender
from pyfeyn2.feynmandiagram import FeynML

from pyfeyn2.auto.bend import auto_bend
from pyfeyn2.auto.label import auto_label
from pyfeyn2.auto.position import feynman_adjust_points

parser = XmlParser()
fml = parser.from_string(xml_string, FeynML)

def filter_diag(d):
    count = 0
    ecount = 0
    for p in d.propagators:
        if p.pdgid == 22:
            count +=1
        if p.pdgid == 11:
            ecount +=1
    if count >=0 and ecount >=2:
        return True
    return False

ccount=0
for d in fml.diagrams:
    if filter_diag(d):
        ccount +=1
print("single photon diags", ccount)

for d in fml.diagrams:
    if filter_diag(d):
        d.legs[0].with_xy(-2,2)
        d.legs[1].with_xy(-2,-2)
        d.legs[2].with_xy(2,2)
        d.legs[3].with_xy(2,-2)
        #d.get_point(d.legs[0].target).with_xy(-1,0)
        #d.get_point(d.legs[1].target).with_xy(1,0)
        d = feynman_adjust_points(d,size=15,override_vertices=False)
        auto_bend(d)
        auto_label(d.propagators)
        auto_label(d.legs)
        #print(d)
        t = TikzFeynmanRender(d)
        #print(t.get_src())
        t.render(show=True)
        #break
single photon diags 8
../../../_images/interfaces_qgraf_2_to_2_qgraf_2to2_4_1.png
../../../_images/interfaces_qgraf_2_to_2_qgraf_2to2_4_2.png
---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
Cell In[8], line 51
     49 t = TikzFeynmanRender(d)
     50 #print(t.get_src())
---> 51 t.render(show=True)
     52 #break

File ~/data/de.neuwirthinformatik.Alexander/Development/git/pyfeyn2/pyfeyn2/render/latex/latex.py:55, in LatexRender.render(self, file, show, resolution, width, height, clean_up)
     53     file = "tmp"
     54 file = re.sub("\.pdf$", "", file.strip())
---> 55 self.generate_pdf(
     56     file,
     57     clean_tex=clean_up,
     58     compiler="lualatex",
     59     compiler_args=["-shell-escape"],
     60 )
     61 wi = WImage(
     62     filename=file + ".pdf", resolution=resolution, width=width, height=height
     63 )
     64 if delete:

File ~/.cache/pypoetry/virtualenvs/pyfeyn2-CEvJ4jFG-py3.9/lib/python3.9/site-packages/pylatex/document.py:250, in Document.generate_pdf(self, filepath, clean, clean_tex, compiler, compiler_args, silent)
    247 command = [compiler] + arguments + compiler_args + main_arguments
    249 try:
--> 250     output = subprocess.check_output(command,
    251                                      stderr=subprocess.STDOUT,
    252                                      **check_output_kwargs)
    253 except (OSError, IOError) as e:
    254     # Use FileNotFoundError when python 2 is dropped
    255     os_error = e

File /usr/lib/python3.9/subprocess.py:424, in check_output(timeout, *popenargs, **kwargs)
    421         empty = b''
    422     kwargs['input'] = empty
--> 424 return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
    425            **kwargs).stdout

File /usr/lib/python3.9/subprocess.py:507, in run(input, capture_output, timeout, check, *popenargs, **kwargs)
    505 with Popen(*popenargs, **kwargs) as process:
    506     try:
--> 507         stdout, stderr = process.communicate(input, timeout=timeout)
    508     except TimeoutExpired as exc:
    509         process.kill()

File /usr/lib/python3.9/subprocess.py:1121, in Popen.communicate(self, input, timeout)
   1119     self._stdin_write(input)
   1120 elif self.stdout:
-> 1121     stdout = self.stdout.read()
   1122     self.stdout.close()
   1123 elif self.stderr:

KeyboardInterrupt:
[7]:
print(xml_string)
<!--
 file generated by qgraf-3.6.5

  output= 'output.out' ;
  style= 'tmp.sty' ;
  model = 'tmp.model';
  in= nu_e[p1], nu_e_bar[p2];
  out= nu_e[p3], nu_e_bar[p4];
  loops= 1;
  loop_momentum= l;
  options= notadpole,onshell;


 You must add x= and y= with suitable vertex positions.
 Some lines may need manual bending to render properly.
-->
<feynml>

 <diagram
          id="Diagram1"
          incoming="2"
          outgoing="2"
          sign="-"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert2</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert2</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert3</source>
        <target>Vert1</target>
        <momentum>
          <name>-p1-p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>p3+p4</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>e_minus</name>
        <source>Vert4</source>
        <target>Vert3</target>
        <momentum>
          <name>l1-p1-p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>e_minus</name>
        <source>Vert3</source>
        <target>Vert4</target>
        <momentum>
          <name>l1</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram2"
          incoming="2"
          outgoing="2"
          sign="-"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert2</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert2</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert3</source>
        <target>Vert1</target>
        <momentum>
          <name>-p1-p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>p3+p4</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>nu_e</name>
        <source>Vert4</source>
        <target>Vert3</target>
        <momentum>
          <name>l1-p1-p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>nu_e</name>
        <source>Vert3</source>
        <target>Vert4</target>
        <momentum>
          <name>l1</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram3"
          incoming="2"
          outgoing="2"
          sign="+"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert2</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert2</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert3</source>
        <target>Vert1</target>
        <momentum>
          <name>-p1-p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>p3+p4</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>W_minus</name>
        <source>Vert4</source>
        <target>Vert3</target>
        <momentum>
          <name>l1-p1-p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>W_minus</name>
        <source>Vert3</source>
        <target>Vert4</target>
        <momentum>
          <name>l1</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram4"
          incoming="2"
          outgoing="2"
          sign="+"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert1</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert2</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert3</source>
        <target>Vert1</target>
        <momentum>
          <name>-p1+p3</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>-p2+p4</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>e_minus</name>
        <source>Vert4</source>
        <target>Vert3</target>
        <momentum>
          <name>l1-p1+p3</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>e_minus</name>
        <source>Vert3</source>
        <target>Vert4</target>
        <momentum>
          <name>l1</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram5"
          incoming="2"
          outgoing="2"
          sign="+"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert1</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert2</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert3</source>
        <target>Vert1</target>
        <momentum>
          <name>-p1+p3</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>-p2+p4</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>nu_e</name>
        <source>Vert4</source>
        <target>Vert3</target>
        <momentum>
          <name>l1-p1+p3</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>nu_e</name>
        <source>Vert3</source>
        <target>Vert4</target>
        <momentum>
          <name>l1</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram6"
          incoming="2"
          outgoing="2"
          sign="-"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert1</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert2</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert3</source>
        <target>Vert1</target>
        <momentum>
          <name>-p1+p3</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>-p2+p4</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>W_minus</name>
        <source>Vert4</source>
        <target>Vert3</target>
        <momentum>
          <name>l1-p1+p3</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>W_minus</name>
        <source>Vert3</source>
        <target>Vert4</target>
        <momentum>
          <name>l1</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram7"
          incoming="2"
          outgoing="2"
          sign="+"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert2</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert3</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert1</target>
        <momentum>
          <name>-p1-p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>e_minus</name>
        <source>Vert3</source>
        <target>Vert2</target>
        <momentum>
          <name>-l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>W_minus</name>
        <source>Vert2</source>
        <target>Vert4</target>
        <momentum>
          <name>-l1-p3</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>W_minus</name>
        <source>Vert4</source>
        <target>Vert3</target>
        <momentum>
          <name>-l1+p4</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram8"
          incoming="2"
          outgoing="2"
          sign="+"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert2</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert3</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert1</target>
        <momentum>
          <name>-p1-p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>W_minus</name>
        <source>Vert2</source>
        <target>Vert3</target>
        <momentum>
          <name>l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>e_minus</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>l1+p3</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>e_minus</name>
        <source>Vert3</source>
        <target>Vert4</target>
        <momentum>
          <name>l1-p4</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram9"
          incoming="2"
          outgoing="2"
          sign="+"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert2</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert3</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert1</target>
        <momentum>
          <name>-p1-p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>Z_0</name>
        <source>Vert3</source>
        <target>Vert2</target>
        <momentum>
          <name>-l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>nu_e</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>l1+p3</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>nu_e</name>
        <source>Vert3</source>
        <target>Vert4</target>
        <momentum>
          <name>l1-p4</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram10"
          incoming="2"
          outgoing="2"
          sign="-"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert1</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert3</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert1</target>
        <momentum>
          <name>-p1+p3</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>e_minus</name>
        <source>Vert3</source>
        <target>Vert2</target>
        <momentum>
          <name>-l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>W_minus</name>
        <source>Vert2</source>
        <target>Vert4</target>
        <momentum>
          <name>-l1+p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>W_minus</name>
        <source>Vert4</source>
        <target>Vert3</target>
        <momentum>
          <name>-l1+p4</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram11"
          incoming="2"
          outgoing="2"
          sign="-"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert1</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert3</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert1</target>
        <momentum>
          <name>-p1+p3</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>W_minus</name>
        <source>Vert2</source>
        <target>Vert3</target>
        <momentum>
          <name>l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>e_minus</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>l1-p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>e_minus</name>
        <source>Vert3</source>
        <target>Vert4</target>
        <momentum>
          <name>l1-p4</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram12"
          incoming="2"
          outgoing="2"
          sign="-"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert1</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert3</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert1</target>
        <momentum>
          <name>-p1+p3</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>Z_0</name>
        <source>Vert3</source>
        <target>Vert2</target>
        <momentum>
          <name>-l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>nu_e</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>l1-p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>nu_e</name>
        <source>Vert3</source>
        <target>Vert4</target>
        <momentum>
          <name>l1-p4</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram13"
          incoming="2"
          outgoing="2"
          sign="-"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert3</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert1</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert1</target>
        <momentum>
          <name>-p2+p4</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>e_minus</name>
        <source>Vert2</source>
        <target>Vert3</target>
        <momentum>
          <name>l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>W_minus</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>l1-p1</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>W_minus</name>
        <source>Vert3</source>
        <target>Vert4</target>
        <momentum>
          <name>l1-p3</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram14"
          incoming="2"
          outgoing="2"
          sign="-"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert3</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert1</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert1</target>
        <momentum>
          <name>-p2+p4</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>W_minus</name>
        <source>Vert3</source>
        <target>Vert2</target>
        <momentum>
          <name>-l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>e_minus</name>
        <source>Vert2</source>
        <target>Vert4</target>
        <momentum>
          <name>-l1+p1</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>e_minus</name>
        <source>Vert4</source>
        <target>Vert3</target>
        <momentum>
          <name>-l1+p3</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram15"
          incoming="2"
          outgoing="2"
          sign="-"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert3</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert1</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert1</target>
        <momentum>
          <name>-p2+p4</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>Z_0</name>
        <source>Vert3</source>
        <target>Vert2</target>
        <momentum>
          <name>-l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>nu_e</name>
        <source>Vert2</source>
        <target>Vert4</target>
        <momentum>
          <name>-l1+p1</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>nu_e</name>
        <source>Vert4</source>
        <target>Vert3</target>
        <momentum>
          <name>-l1+p3</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram16"
          incoming="2"
          outgoing="2"
          sign="+"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert3</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert1</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert1</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert1</target>
        <momentum>
          <name>p3+p4</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>e_minus</name>
        <source>Vert2</source>
        <target>Vert3</target>
        <momentum>
          <name>l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>W_minus</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>l1-p1</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>W_minus</name>
        <source>Vert3</source>
        <target>Vert4</target>
        <momentum>
          <name>l1+p2</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram17"
          incoming="2"
          outgoing="2"
          sign="+"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert3</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert1</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert1</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert1</target>
        <momentum>
          <name>p3+p4</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>W_minus</name>
        <source>Vert3</source>
        <target>Vert2</target>
        <momentum>
          <name>-l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>e_minus</name>
        <source>Vert2</source>
        <target>Vert4</target>
        <momentum>
          <name>-l1+p1</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>e_minus</name>
        <source>Vert4</source>
        <target>Vert3</target>
        <momentum>
          <name>-l1-p2</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram18"
          incoming="2"
          outgoing="2"
          sign="+"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert3</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert1</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert1</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert1</target>
        <momentum>
          <name>p3+p4</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>Z_0</name>
        <source>Vert3</source>
        <target>Vert2</target>
        <momentum>
          <name>-l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>nu_e</name>
        <source>Vert2</source>
        <target>Vert4</target>
        <momentum>
          <name>-l1+p1</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>nu_e</name>
        <source>Vert4</source>
        <target>Vert3</target>
        <momentum>
          <name>-l1-p2</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram19"
          incoming="2"
          outgoing="2"
          sign="+"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert3</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert4</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>e_minus</name>
        <source>Vert1</source>
        <target>Vert2</target>
        <momentum>
          <name>l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>W_minus</name>
        <source>Vert3</source>
        <target>Vert1</target>
        <momentum>
          <name>l1-p1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>W_minus</name>
        <source>Vert2</source>
        <target>Vert4</target>
        <momentum>
          <name>l1+p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>e_minus</name>
        <source>Vert4</source>
        <target>Vert3</target>
        <momentum>
          <name>l1-p1+p3</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram20"
          incoming="2"
          outgoing="2"
          sign="+"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert3</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert4</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>nu_e</name>
        <source>Vert1</source>
        <target>Vert2</target>
        <momentum>
          <name>l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>Z_0</name>
        <source>Vert3</source>
        <target>Vert1</target>
        <momentum>
          <name>l1-p1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>-l1-p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>nu_e</name>
        <source>Vert4</source>
        <target>Vert3</target>
        <momentum>
          <name>l1-p1+p3</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram21"
          incoming="2"
          outgoing="2"
          sign="-"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert3</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert4</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>W_minus</name>
        <source>Vert2</source>
        <target>Vert1</target>
        <momentum>
          <name>-l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>e_minus</name>
        <source>Vert1</source>
        <target>Vert3</target>
        <momentum>
          <name>-l1+p1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>e_minus</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>-l1-p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>W_minus</name>
        <source>Vert3</source>
        <target>Vert4</target>
        <momentum>
          <name>-l1+p1-p3</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram22"
          incoming="2"
          outgoing="2"
          sign="-"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert3</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert4</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>Z_0</name>
        <source>Vert2</source>
        <target>Vert1</target>
        <momentum>
          <name>-l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>nu_e</name>
        <source>Vert1</source>
        <target>Vert3</target>
        <momentum>
          <name>-l1+p1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>nu_e</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>-l1-p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert3</target>
        <momentum>
          <name>l1-p1+p3</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram23"
          incoming="2"
          outgoing="2"
          sign="+"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert2</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert4</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert3</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>nu_e</name>
        <source>Vert1</source>
        <target>Vert2</target>
        <momentum>
          <name>l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>Z_0</name>
        <source>Vert3</source>
        <target>Vert1</target>
        <momentum>
          <name>l1-p1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>-l1-p2</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>nu_e</name>
        <source>Vert3</source>
        <target>Vert4</target>
        <momentum>
          <name>-l1+p1-p4</name>
        </momentum>
  </propagator>


 </diagram>

 <diagram
          id="Diagram24"
          incoming="2"
          outgoing="2"
          sign="-"
          symmmetry_factor="1"
 >


  <vertex id="Vert1">
  </vertex>

  <vertex id="Vert2">
  </vertex>

  <vertex id="Vert3">
  </vertex>

  <vertex id="Vert4">
  </vertex>



  <leg id="In1">
        <name>nu_e</name>
        <sense>incoming</sense>
        <target>Vert1</target>
        <momentum>
          <name>p1</name>
        </momentum>
  </leg>

  <leg id="In2">
        <name>nu_e_bar</name>
        <sense>incoming</sense>
        <target>Vert4</target>
        <momentum>
          <name>p2</name>
        </momentum>
  </leg>



  <leg id="Out1">
        <name>nu_e</name>
        <sense>outgoing</sense>
        <target>Vert2</target>
        <momentum>
          <name>p3</name>
        </momentum>
  </leg>

  <leg id="Out2">
        <name>nu_e_bar</name>
        <sense>outgoing</sense>
        <target>Vert3</target>
        <momentum>
          <name>p4</name>
        </momentum>
  </leg>



  <propagator id="Prop1">
        <name>nu_e</name>
        <source>Vert1</source>
        <target>Vert2</target>
        <momentum>
          <name>l1</name>
        </momentum>
  </propagator>

  <propagator id="Prop2">
        <name>Z_0</name>
        <source>Vert3</source>
        <target>Vert1</target>
        <momentum>
          <name>l1-p1</name>
        </momentum>
  </propagator>

  <propagator id="Prop3">
        <name>Z_0</name>
        <source>Vert4</source>
        <target>Vert2</target>
        <momentum>
          <name>-l1+p3</name>
        </momentum>
  </propagator>

  <propagator id="Prop4">
        <name>nu_e</name>
        <source>Vert3</source>
        <target>Vert4</target>
        <momentum>
          <name>-l1+p1-p4</name>
        </momentum>
  </propagator>


 </diagram>
</feynml>

<!-- end -->

[ ]: