{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "dd3c9519", "metadata": {}, "source": [ "# 2 to 2 process" ] }, { "cell_type": "code", "execution_count": 1, "id": "b35a693f", "metadata": {}, "outputs": [], "source": [ "from smpl_io import io" ] }, { "cell_type": "code", "execution_count": 2, "id": "8fdd58fc", "metadata": {}, "outputs": [], "source": [ "from pyfeyn2.interface.qgraf import style\n", "import itertools as it\n", "import re" ] }, { "cell_type": "code", "execution_count": 5, "id": "d0e15307", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/home/apn/.local/bin/qgraf-3.6.5 qgraf.dat\n", "\n", " --------------------------------------------------------------\n", " qgraf-3.6.5\n", " --------------------------------------------------------------\n", "\n", " output= 'output.out' ;\n", " style= 'tmp.sty' ;\n", " model = 'tmp.model';\n", " in= nu_e[p1], nu_e_bar[p2];\n", " out= nu_e[p3], nu_e_bar[p4];\n", " loops= 1;\n", " loop_momentum= l;\n", " options= notadpole,onshell;\n", "\n", " --------------------------------------------------------------\n", "\n", " #loops v-degrees #diagrams\n", "\n", " 1\n", " - 4^2 .... 0\n", " 3^2 4^1 .... 0\n", " 3^4 - .... 24\n", "\n", "\n", " total = 24 connected diagrams\n", "\n" ] } ], "source": [ "from pyqgraf import qgraf, model\n", "qgraf.install(\"3.6.5\")\n", "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)" ] }, { "cell_type": "code", "execution_count": 8, "id": "23fe988d", "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "single photon diags 8\n" ] }, { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[8], line 51\u001b[0m\n\u001b[1;32m 49\u001b[0m t \u001b[38;5;241m=\u001b[39m TikzFeynmanRender(d)\n\u001b[1;32m 50\u001b[0m \u001b[38;5;66;03m#print(t.get_src())\u001b[39;00m\n\u001b[0;32m---> 51\u001b[0m \u001b[43mt\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrender\u001b[49m\u001b[43m(\u001b[49m\u001b[43mshow\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[1;32m 52\u001b[0m \u001b[38;5;66;03m#break\u001b[39;00m\n", "File \u001b[0;32m~/data/de.neuwirthinformatik.Alexander/Development/git/pyfeyn2/pyfeyn2/render/latex/latex.py:55\u001b[0m, in \u001b[0;36mLatexRender.render\u001b[0;34m(self, file, show, resolution, width, height, clean_up)\u001b[0m\n\u001b[1;32m 53\u001b[0m file \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtmp\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 54\u001b[0m file \u001b[38;5;241m=\u001b[39m re\u001b[38;5;241m.\u001b[39msub(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124m.pdf$\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m\"\u001b[39m, file\u001b[38;5;241m.\u001b[39mstrip())\n\u001b[0;32m---> 55\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgenerate_pdf\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 56\u001b[0m \u001b[43m \u001b[49m\u001b[43mfile\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 57\u001b[0m \u001b[43m \u001b[49m\u001b[43mclean_tex\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mclean_up\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 58\u001b[0m \u001b[43m \u001b[49m\u001b[43mcompiler\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mlualatex\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 59\u001b[0m \u001b[43m \u001b[49m\u001b[43mcompiler_args\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m-shell-escape\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 60\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 61\u001b[0m wi \u001b[38;5;241m=\u001b[39m WImage(\n\u001b[1;32m 62\u001b[0m filename\u001b[38;5;241m=\u001b[39mfile \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m.pdf\u001b[39m\u001b[38;5;124m\"\u001b[39m, resolution\u001b[38;5;241m=\u001b[39mresolution, width\u001b[38;5;241m=\u001b[39mwidth, height\u001b[38;5;241m=\u001b[39mheight\n\u001b[1;32m 63\u001b[0m )\n\u001b[1;32m 64\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m delete:\n", "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/pyfeyn2-CEvJ4jFG-py3.9/lib/python3.9/site-packages/pylatex/document.py:250\u001b[0m, in \u001b[0;36mDocument.generate_pdf\u001b[0;34m(self, filepath, clean, clean_tex, compiler, compiler_args, silent)\u001b[0m\n\u001b[1;32m 247\u001b[0m command \u001b[38;5;241m=\u001b[39m [compiler] \u001b[38;5;241m+\u001b[39m arguments \u001b[38;5;241m+\u001b[39m compiler_args \u001b[38;5;241m+\u001b[39m main_arguments\n\u001b[1;32m 249\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 250\u001b[0m output \u001b[38;5;241m=\u001b[39m \u001b[43msubprocess\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcheck_output\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcommand\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 251\u001b[0m \u001b[43m \u001b[49m\u001b[43mstderr\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msubprocess\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mSTDOUT\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 252\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mcheck_output_kwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 253\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (\u001b[38;5;167;01mOSError\u001b[39;00m, \u001b[38;5;167;01mIOError\u001b[39;00m) \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 254\u001b[0m \u001b[38;5;66;03m# Use FileNotFoundError when python 2 is dropped\u001b[39;00m\n\u001b[1;32m 255\u001b[0m os_error \u001b[38;5;241m=\u001b[39m e\n", "File \u001b[0;32m/usr/lib/python3.9/subprocess.py:424\u001b[0m, in \u001b[0;36mcheck_output\u001b[0;34m(timeout, *popenargs, **kwargs)\u001b[0m\n\u001b[1;32m 421\u001b[0m empty \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mb\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 422\u001b[0m kwargs[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124minput\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m=\u001b[39m empty\n\u001b[0;32m--> 424\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mpopenargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstdout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mPIPE\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcheck\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 425\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mstdout\n", "File \u001b[0;32m/usr/lib/python3.9/subprocess.py:507\u001b[0m, in \u001b[0;36mrun\u001b[0;34m(input, capture_output, timeout, check, *popenargs, **kwargs)\u001b[0m\n\u001b[1;32m 505\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m Popen(\u001b[38;5;241m*\u001b[39mpopenargs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;28;01mas\u001b[39;00m process:\n\u001b[1;32m 506\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 507\u001b[0m stdout, stderr \u001b[38;5;241m=\u001b[39m \u001b[43mprocess\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcommunicate\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 508\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m TimeoutExpired \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[1;32m 509\u001b[0m process\u001b[38;5;241m.\u001b[39mkill()\n", "File \u001b[0;32m/usr/lib/python3.9/subprocess.py:1121\u001b[0m, in \u001b[0;36mPopen.communicate\u001b[0;34m(self, input, timeout)\u001b[0m\n\u001b[1;32m 1119\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_stdin_write(\u001b[38;5;28minput\u001b[39m)\n\u001b[1;32m 1120\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstdout:\n\u001b[0;32m-> 1121\u001b[0m stdout \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstdout\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1122\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstdout\u001b[38;5;241m.\u001b[39mclose()\n\u001b[1;32m 1123\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstderr:\n", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] } ], "source": [ "from pathlib import Path\n", "import subprocess\n", "import shlex\n", "\n", "from xsdata.formats.dataclass.parsers import XmlParser\n", "from pyfeyn2.render.latex.feynmp import FeynmpRender\n", "from pyfeyn2.render.latex.tikzfeynman import TikzFeynmanRender\n", "from pyfeyn2.render.pyx.pyxrender import PyxRender\n", "from pyfeyn2.feynmandiagram import FeynML\n", "\n", "from pyfeyn2.auto.bend import auto_bend\n", "from pyfeyn2.auto.label import auto_label\n", "from pyfeyn2.auto.position import feynman_adjust_points\n", "\n", "parser = XmlParser()\n", "fml = parser.from_string(xml_string, FeynML)\n", "\n", "def filter_diag(d):\n", " count = 0\n", " ecount = 0\n", " for p in d.propagators:\n", " if p.pdgid == 22:\n", " count +=1\n", " if p.pdgid == 11:\n", " ecount +=1\n", " if count >=0 and ecount >=2:\n", " return True\n", " return False\n", "\n", "ccount=0 \n", "for d in fml.diagrams:\n", " if filter_diag(d):\n", " ccount +=1\n", "print(\"single photon diags\", ccount)\n", "\n", "for d in fml.diagrams:\n", " if filter_diag(d):\n", " d.legs[0].with_xy(-2,2)\n", " d.legs[1].with_xy(-2,-2)\n", " d.legs[2].with_xy(2,2)\n", " d.legs[3].with_xy(2,-2)\n", " #d.get_point(d.legs[0].target).with_xy(-1,0)\n", " #d.get_point(d.legs[1].target).with_xy(1,0)\n", " d = feynman_adjust_points(d,size=15,override_vertices=False)\n", " auto_bend(d)\n", " auto_label(d.propagators)\n", " auto_label(d.legs)\n", " #print(d)\n", " t = TikzFeynmanRender(d)\n", " #print(t.get_src())\n", " t.render(show=True)\n", " #break" ] }, { "cell_type": "code", "execution_count": 7, "id": "ab4399ea", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert1\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert2\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert2\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert3\n", " Vert1\n", " \n", " -p1-p2\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert2\n", " \n", " p3+p4\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert4\n", " Vert3\n", " \n", " l1-p1-p2\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert3\n", " Vert4\n", " \n", " l1\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert1\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert2\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert2\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert3\n", " Vert1\n", " \n", " -p1-p2\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert2\n", " \n", " p3+p4\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert4\n", " Vert3\n", " \n", " l1-p1-p2\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert3\n", " Vert4\n", " \n", " l1\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert1\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert2\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert2\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert3\n", " Vert1\n", " \n", " -p1-p2\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert2\n", " \n", " p3+p4\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert4\n", " Vert3\n", " \n", " l1-p1-p2\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert3\n", " Vert4\n", " \n", " l1\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert2\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert1\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert2\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert3\n", " Vert1\n", " \n", " -p1+p3\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert2\n", " \n", " -p2+p4\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert4\n", " Vert3\n", " \n", " l1-p1+p3\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert3\n", " Vert4\n", " \n", " l1\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert2\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert1\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert2\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert3\n", " Vert1\n", " \n", " -p1+p3\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert2\n", " \n", " -p2+p4\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert4\n", " Vert3\n", " \n", " l1-p1+p3\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert3\n", " Vert4\n", " \n", " l1\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert2\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert1\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert2\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert3\n", " Vert1\n", " \n", " -p1+p3\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert2\n", " \n", " -p2+p4\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert4\n", " Vert3\n", " \n", " l1-p1+p3\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert3\n", " Vert4\n", " \n", " l1\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert1\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert2\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert3\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert1\n", " \n", " -p1-p2\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert3\n", " Vert2\n", " \n", " -l1\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert2\n", " Vert4\n", " \n", " -l1-p3\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert4\n", " Vert3\n", " \n", " -l1+p4\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert1\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert2\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert3\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert1\n", " \n", " -p1-p2\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert2\n", " Vert3\n", " \n", " l1\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert4\n", " Vert2\n", " \n", " l1+p3\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert3\n", " Vert4\n", " \n", " l1-p4\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert1\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert2\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert3\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert1\n", " \n", " -p1-p2\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert3\n", " Vert2\n", " \n", " -l1\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert4\n", " Vert2\n", " \n", " l1+p3\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert3\n", " Vert4\n", " \n", " l1-p4\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert2\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert1\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert3\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert1\n", " \n", " -p1+p3\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert3\n", " Vert2\n", " \n", " -l1\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert2\n", " Vert4\n", " \n", " -l1+p2\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert4\n", " Vert3\n", " \n", " -l1+p4\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert2\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert1\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert3\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert1\n", " \n", " -p1+p3\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert2\n", " Vert3\n", " \n", " l1\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert4\n", " Vert2\n", " \n", " l1-p2\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert3\n", " Vert4\n", " \n", " l1-p4\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert2\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert1\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert3\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert1\n", " \n", " -p1+p3\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert3\n", " Vert2\n", " \n", " -l1\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert4\n", " Vert2\n", " \n", " l1-p2\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert3\n", " Vert4\n", " \n", " l1-p4\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert2\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert1\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert3\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert1\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert1\n", " \n", " -p2+p4\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert2\n", " Vert3\n", " \n", " l1\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert4\n", " Vert2\n", " \n", " l1-p1\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert3\n", " Vert4\n", " \n", " l1-p3\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert2\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert1\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert3\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert1\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert1\n", " \n", " -p2+p4\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert3\n", " Vert2\n", " \n", " -l1\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert2\n", " Vert4\n", " \n", " -l1+p1\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert4\n", " Vert3\n", " \n", " -l1+p3\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert2\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert1\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert3\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert1\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert1\n", " \n", " -p2+p4\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert3\n", " Vert2\n", " \n", " -l1\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert2\n", " Vert4\n", " \n", " -l1+p1\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert4\n", " Vert3\n", " \n", " -l1+p3\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert2\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert3\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert1\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert1\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert1\n", " \n", " p3+p4\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert2\n", " Vert3\n", " \n", " l1\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert4\n", " Vert2\n", " \n", " l1-p1\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert3\n", " Vert4\n", " \n", " l1+p2\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert2\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert3\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert1\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert1\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert1\n", " \n", " p3+p4\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert3\n", " Vert2\n", " \n", " -l1\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert2\n", " Vert4\n", " \n", " -l1+p1\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert4\n", " Vert3\n", " \n", " -l1-p2\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert2\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert3\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert1\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert1\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert1\n", " \n", " p3+p4\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert3\n", " Vert2\n", " \n", " -l1\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert2\n", " Vert4\n", " \n", " -l1+p1\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert4\n", " Vert3\n", " \n", " -l1-p2\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert2\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert3\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert4\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " e_minus\n", " Vert1\n", " Vert2\n", " \n", " l1\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert3\n", " Vert1\n", " \n", " l1-p1\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert2\n", " Vert4\n", " \n", " l1+p2\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert4\n", " Vert3\n", " \n", " l1-p1+p3\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert2\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert3\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert4\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " Vert1\n", " Vert2\n", " \n", " l1\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert3\n", " Vert1\n", " \n", " l1-p1\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert2\n", " \n", " -l1-p2\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert4\n", " Vert3\n", " \n", " l1-p1+p3\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert2\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert3\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert4\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " W_minus\n", " Vert2\n", " Vert1\n", " \n", " -l1\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert1\n", " Vert3\n", " \n", " -l1+p1\n", " \n", " \n", "\n", " \n", " e_minus\n", " Vert4\n", " Vert2\n", " \n", " -l1-p2\n", " \n", " \n", "\n", " \n", " W_minus\n", " Vert3\n", " Vert4\n", " \n", " -l1+p1-p3\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert2\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert3\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert4\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " Z_0\n", " Vert2\n", " Vert1\n", " \n", " -l1\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert1\n", " Vert3\n", " \n", " -l1+p1\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert4\n", " Vert2\n", " \n", " -l1-p2\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert3\n", " \n", " l1-p1+p3\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert2\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert4\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert3\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " Vert1\n", " Vert2\n", " \n", " l1\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert3\n", " Vert1\n", " \n", " l1-p1\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert2\n", " \n", " -l1-p2\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert3\n", " Vert4\n", " \n", " -l1+p1-p4\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " incoming\n", " Vert1\n", " \n", " p1\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " incoming\n", " Vert4\n", " \n", " p2\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " outgoing\n", " Vert2\n", " \n", " p3\n", " \n", " \n", "\n", " \n", " nu_e_bar\n", " outgoing\n", " Vert3\n", " \n", " p4\n", " \n", " \n", "\n", "\n", "\n", " \n", " nu_e\n", " Vert1\n", " Vert2\n", " \n", " l1\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert3\n", " Vert1\n", " \n", " l1-p1\n", " \n", " \n", "\n", " \n", " Z_0\n", " Vert4\n", " Vert2\n", " \n", " -l1+p3\n", " \n", " \n", "\n", " \n", " nu_e\n", " Vert3\n", " Vert4\n", " \n", " -l1+p1-p4\n", " \n", " \n", "\n", "\n", " \n", "\n", "\n", "\n", "\n" ] } ], "source": [ "print(xml_string)" ] }, { "cell_type": "code", "execution_count": null, "id": "6cb264a7", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.16" } }, "nbformat": 4, "nbformat_minor": 5 }