feynlag.export.ufo.writer.write_ufo

feynlag.export.ufo.writer.write_ufo(path, model_name, parameters, particles, bosonic_vertices=(), vvv=None, vvvv=None, fermion_vertices=(), four_fermion_vertices=(), vvv_colors=None, vvvv_colors=None)[source]

Write a UFO model directory.

Parameters:
  • path – output directory.

  • model_name – UFO model name.

  • parameters – ParameterSet (externals need numeric values; internals need defined expr).

  • particles – iterable of UFOParticle.

  • bosonic_vertices – feynlag Vertex objects (SSS/SSSS/VSS/VVS/VVSS) — color-singlet only (see _UFOBuilder.add_bosonic_vertex()).

  • vvv – dict {(V1,V2,V3): coupling} (one representative ordering per boson triple), e.g. from cubic_couplings for an EWSB-rotated, color-singlet physical basis (Wp/Wm/Z/A-style). An unbroken non-abelian self-coupling (e.g. ggg) is instead ONE physical particle repeated three times, still expressible as a single-entry {(g,g,g): coupling} dict — pair it with vvv_colors.

  • vvvv – dict {(V1,V2,V3,V4): {lorentz-name: coupling}}.

  • vvvv_colors (vvv_colors /) – optional {key: color-string} / {key: {lorentz-name: color-string}} matching vvv/ vvvv’s keys, for non-singlet (color-tensor) structures — defaults to broadcasting the singlet '1' when a key is absent (see _UFOBuilder.add_vvv_vertex()/ _UFOBuilder.add_vvvv_vertex()).

  • fermion_vertices – iterable of dicts with keys bar, field, bosons, left, right (flavor-resolved symbols), and optionally color (default '1'; e.g. 'T(3,2,1)' for a qqg vertex).

  • four_fermion_vertices – iterable of dicts with keys bar1, field1, bar2, field2 (the two Dirac chains’ legs), couplings ({(chain1, chain2): coefficient}, see _UFOBuilder.add_four_fermion_vertex()), and optionally color (default '1').

Returns:

the written path.