Écrire ou importer une théorie
TreeLevel ne connaît aucune règle de Feynman par cœur : il les dérive du lagrangien que vous lui donnez. Deux façons de le lui donner — un fichier .feyn dans un langage minuscule, ou un dossier UFO produit par FeynRules.
Le principe
On déclare les champs (spin, masse, largeur, charge, couleur) et les paramètres, puis on écrit le lagrangien d'interaction terme par terme. Les termes cinétiques ne s'écrivent pas : les propagateurs découlent des déclarations et de la jauge choisie. Chaque terme à trois champs ou plus devient un vertex :
V = i × Σbijections pattes ↔ champs (terme sans ses champs, ∂μ → −i pμ, toutes impulsions entrantes)
La somme sur les façons d'attacher les pattes aux champs produit les facteurs combinatoires (−λ/4! φ⁴ donne −iλ), les symétrisations des vertex à bosons identiques, et pour les fermions de Majorana ou les couplages avec C la combinaison Γ + Γ′ de Denner.
Le langage .feyn
model QED
gauge feynman # feynman | unitary
param ee = 0.313451, Me = 0.000511 # paramètres, valeur numérique optionnelle
cparam V = 0.97 # paramètre complexe ; conj(V) est son conjugué
field e : dirac, mass Me, charge -1, pdg 11, label "e"
field mu : dirac, mass MMU, charge -1, pdg 13, label "μ"
field A : vector, pdg 22, label "γ"
field Z : vector, mass MZ, width WZ # la largeur entre dans le propagateur
field u : dirac, mass MU, charge 2/3, color 3
field G : vector, color 8 # octet : gluon
field N : majorana, mass MN # sa propre antiparticule
field h : scalar, mass MH
field Gp : scalar, mass MW, charge 1, goldstone
family lep = { e, mu } # champs de même structure
array Q[lep] = { -1, -1 } # paramètres indexés par famille
define W3[mu] = cw Z[mu] + sw A[mu] # macro ; ses indices muets sont renommés à chaque usage
L += sum(i in lep) ee Q[i] lep[i]~[a] gamma[nu][a,b] lep[i][b] A[nu]
L += gs u~[a,k] gamma[nu][a,b] T[c,k,l] u[b,l] G[nu,c]
L += -gs f[a,b,c] (del[mu] G[nu,a]) G[mu,b] G[nu,c]
L += -lam/24 h h h h # −λ/4! φ⁴ → vertex −iλ
- Indices. Un nom d'indice répété dans un terme est contracté. Les champs portent leurs indices dans l'ordre : spineur, puis couleur (
u[a,k]) ; Lorentz, puis couleur adjointe (G[mu,c]). Le type d'un indice (Lorentz, spineur, triplet, octet) se déduit de sa place. - Conjugaison.
X~est le conjugué du champX:e~est ē,W~annihile un W⁻ siWannihile un W⁺. Pour un champ auto-conjugué (γ, Z, h, Majorana) le tilde est sans objet. - Tenseurs intégrés.
g(métrique),delta,gamma,gamma5,PL,PR,C(conjugaison de charge),T(Gell-Mann/2),f(constantes de structure),eps— Levi-Civita de Lorentz avec quatre indices, de couleur avec trois. - Dérivées et constantes.
del[mu] X;I;sqrt2; exposants^2sur les paramètres et les nombres (un champ se répète :h h h h) ;conj(...). - Fermions. Écrivez les bilinéaires dans l'ordre naturel, ψ̄ Γ χ (le champ « ligne » avant le champ « colonne »).
majoranadéclare un champ auto-conjugué de spin ½ : N̄ γμ γ⁵ N donne 2γμγ⁵ et N̄ γμ N s'annule, comme il se doit. - Conventions. Vertex = i × terme, impulsions entrantes,
del[mu] → -I p[mu]. Le Modèle standard intégré suit celles de FeynRules (D = ∂ − i g T A, Φ = (−iG⁺, (v + h + iG⁰)/√2), jauge de Feynman) ; ses 129 vertex coïncident avec ceux de l'UFOsmde MadGraph.
Les erreurs de syntaxe, d'indices (un même nom utilisé comme spineur et comme couleur) ou de structure (une matrice C qui ne relie pas deux champs fermioniques) sont rapportées, en anglais, avec leur numéro de ligne dans l'onglet Théorie.
Exemple : ajouter un Z′ au Modèle standard
- Dans la palette, modèle
StandardModel, bouton Dupliquer. Le nouveau modèle « StandardModel copie » est sélectionné ; renommez-le SM-Zprime. - Onglet Théorie. Ajoutez sous les paramètres et les champs :
param gZp = 0.3, MZp = 3000, WZp = 30 field Zp : vector, mass MZp, width WZp, label "Z′" # couplage vectoriel universel aux leptons chargés L += sum(i in lep) gZp lep[i]~[a] gamma[nu][a,b] lep[i][b] Zp[nu] - Appliquer. Le Z′ apparaît dans la palette, la liste des vertex compte trois entrées de plus.
- Dessinez e⁺e⁻ → μ⁺μ⁻, Générer : trois diagrammes (γ, Z, Z′). Tracez σ de 200 à 5 000 GeV en échelle log : le pic à 3 TeV a la largeur que vous avez déclarée. Pour une largeur cohérente, dessinez Z′ → e⁺e⁻ et lisez Γ dans l'onglet Calcul, puis reportez-la (× le nombre de canaux) dans
WZp.
Couplages violant le nombre fermionique
Diquarks, leptoquarks, bosons X et Y d'une théorie grand-unifiée, termes de Majorana avec des champs de Dirac : ces couplages relient deux champs « dans le même sens » — deux ψ ou deux ψ̄ — au moyen de la matrice de conjugaison de charge C = iγ²γ⁰ (Cᵀ = −C, CγμᵀC⁻¹ = −γμ) :
# ψᵀ C Γ χ = ψ̄ᶜ Γ χ (ψᶜ = C ψ̄ᵀ, ψ̄ᶜ = ψᵀ C)
L += -g5/sqrt2 d[a,k] C[a,b] gamma[mu][b,c] PL[c,d] e[d] X[mu,k]
# ψ̄ Γ C χ̄ᵀ = ψ̄ Γ χᶜ (son hermitien conjugué)
L += -g5/sqrt2 e~[a] gamma[mu][a,b] PL[b,c] C[c,d] d~[d,k] X~[mu,k]
# diquark : ε de couleur, deux fois le même champ → règle Γ + Γ′
L += -g5/sqrt2 eps[k,l,m] u~[a,l] gamma[mu][a,b] PL[b,c] C[c,d] u~[d,m] X[mu,k]
TreeLevel absorbe C dans la règle du vertex : la règle est Γ entre la patte « ligne » (ψ, ou ψ̄) et la patte « colonne », et c'est le flux fermionique — orienté chaîne par chaîne selon Denner, Eck, Hahn et Küblbeck — qui porte la conjugaison : Γ′ = CΓᵀC⁻¹ quand un vertex est traversé à rebours, S(−p) pour un propagateur remonté, spineurs u, v, ū, v̄ selon la position dans la chaîne et non selon particule/antiparticule. Le résultat ne dépend pas de l'orientation choisie ; les tests le vérifient sur chaque processus.
Deux identités que le moteur reproduit et qui servent de garde-fou : εklm ūl γμPL C ūmᵀ = εklm ūl γμPR C ūmᵀ (le diquark de X couple les deux chiralités, d'où Γ(X → uu) = Γ(X → e⁺d̄)), et le couplage diquark axial ε ū γμγ⁵ C ūᵀ est identiquement nul, comme le couplage vectoriel d'un Majorana.
Importer un UFO
Le format UFO (Universal FeynRules Output) est le dossier Python que FeynRules produit pour MadGraph et les autres générateurs : particles.py, parameters.py, couplings.py, lorentz.py, vertices.py… TreeLevel le lit nativement, sans Python : un petit lecteur de Python déclaratif évalue les paramètres internes (fonctions cmath, matrices de mélange, expressions complexes), reconnaît les fermions auto-conjugués comme Majorana, et traduit chaque structure de Lorentz et de couleur en une règle.
- Récupérez un dossier UFO : dans une installation MadGraph (
models/sm,models/MSSM_SLHA2…) ou sur la base de modèles FeynRules. - Palette › Modèle › 📁 Importer un dossier UFO. L'import prend une fraction de seconde ; le rapport indique champs, vertex, paramètres et, le cas échéant, les vertex ignorés et pourquoi.
- Le modèle est dans Mes modèles, prêt pour la palette, la génération, les calculs numériques et symboliques. L'onglet Théorie en donne les Notes d'import.
Conventions appliquées, établies sur l'UFO sm de MadGraph (129/129 vertex identiques au Modèle standard dérivé) : listes de particules et impulsions toutes sortantes, Gamma(mu,i,j) = (γμ)ij avec i côté ψ̄, ProjM = PL, T(a,i,j) = (Ta)ij, Epsilon de couleur à trois indices. Le MSSM_SLHA2 s'importe entièrement (50 champs, 1 572 paramètres, 822 vertex) ; ses neutralinos et son gluino sont traités en Majorana.
Un modèle importé garde ses règles telles quelles : il n'a pas de lagrangien à éditer dans TreeLevel. Les structures de Lorentz à quatre fermions (contact) et les vertex avec C dans l'UFO ne sont pas encore traduits ; ils sont listés dans les notes d'import.
FeynRules, .fr, UFO, .feyn : qui fait quoi
| Fichier | Nature | Ce qu'en fait TreeLevel |
|---|---|---|
.fr | Source Mathematica de FeynRules : champs, paramètres, lagrangien en notation Mathematica. | Pas lu directement (il faudrait Mathematica). FeynRules l'exporte en UFO. |
| dossier UFO | Règles de Feynman déjà dérivées, en Python déclaratif. | Importé nativement. |
.feyn | Le langage de TreeLevel : mêmes ingrédients qu'un .fr, en plus concis. | Dérivé à la volée ; éditable dans l'app. |
.feyndiag | Document TreeLevel. | Théorie + diagrammes d'un processus. |
Traduire un .fr en .feyn se fait à la main aujourd'hui, et c'est souvent l'affaire d'une heure pour un modèle de taille raisonnable : les conventions (Dμ, projecteurs, normalisations) sont les mêmes. Le chemin recommandé pour un gros modèle reste .fr → UFO → import.