1 | (* -------------------------------------------------------------------------------- |
---|
2 | Autogenerated by the preliminary FeynRules <-> WHIZARD automaton on 4/24/2010 , 15:46:53 |
---|
3 | FeynRules version: $Revision: 119 $ |
---|
4 | WHIZARD interface svn revision info: $Id: WhizardOmegaInterface.m 137 2010-04-23 23:22:18Z ChristianSpeckner $ |
---|
5 | Code generated for WHIZARD / O'Mega version 2.0 |
---|
6 | Model: Standard_Model |
---|
7 | Short model name: fr_sm_test |
---|
8 | Gauge: Unitarity |
---|
9 | Maximum number of couplings per FORTRAN module: 500 |
---|
10 | -------------------------------------------------------------------------------- *) |
---|
11 | |
---|
12 | type gauge = Unitarity | Feynman | Rxi |
---|
13 | |
---|
14 | module type Frules_options = |
---|
15 | sig |
---|
16 | val gauge: gauge |
---|
17 | val color: bool |
---|
18 | end |
---|
19 | |
---|
20 | module Implementation (Opts: Frules_options) = |
---|
21 | struct |
---|
22 | |
---|
23 | open Coupling |
---|
24 | |
---|
25 | (* The FeynRules classes with their members *) |
---|
26 | |
---|
27 | type f1_Vl = |
---|
28 | | Ve | Ve_bar | Vm | Vm_bar | Vt | Vt_bar |
---|
29 | type f2_L = |
---|
30 | | E_minus | E_plus | M_minus | M_plus | Tt_minus | Tt_plus |
---|
31 | type f3_Uq = |
---|
32 | | U | U_bar | C | C_bar | T | T_bar |
---|
33 | type f4_Dq = |
---|
34 | | D | D_bar | S | S_bar | B | B_bar |
---|
35 | type v1_A = |
---|
36 | | A_1 |
---|
37 | type v2_Z = |
---|
38 | | Z_1 |
---|
39 | type v3_W = |
---|
40 | | W_plus | W_minus |
---|
41 | type v4_G = |
---|
42 | | G_1 |
---|
43 | type s1_H = |
---|
44 | | H_1 |
---|
45 | type s2_Phi = |
---|
46 | | Phi0 |
---|
47 | type s3_Phi2 = |
---|
48 | | Phi_plus | Phi_minus |
---|
49 | |
---|
50 | (* The FeynRules lorentz types with the corresponding classes *) |
---|
51 | |
---|
52 | type scalar = |
---|
53 | | S1_H of s1_H | S2_Phi of s2_Phi | S3_Phi2 of s3_Phi2 |
---|
54 | type fermion = |
---|
55 | | F1_Vl of f1_Vl | F2_L of f2_L | F3_Uq of f3_Uq | F4_Dq of f4_Dq |
---|
56 | type vector = |
---|
57 | | V1_A of v1_A | V2_Z of v2_Z | V3_W of v3_W | V4_G of v4_G |
---|
58 | |
---|
59 | (* The actual flavor type *) |
---|
60 | |
---|
61 | type flavor = |
---|
62 | | FRS of scalar | FRF of fermion | FRV of vector |
---|
63 | |
---|
64 | (* Trampoline functions *) |
---|
65 | |
---|
66 | let fermion_of_f1_Vl c = F1_Vl c |
---|
67 | let fermion_of_f2_L c = F2_L c |
---|
68 | let fermion_of_f3_Uq c = F3_Uq c |
---|
69 | let fermion_of_f4_Dq c = F4_Dq c |
---|
70 | let vector_of_v1_A c = V1_A c |
---|
71 | let vector_of_v2_Z c = V2_Z c |
---|
72 | let vector_of_v3_W c = V3_W c |
---|
73 | let vector_of_v4_G c = V4_G c |
---|
74 | let scalar_of_s1_H c = S1_H c |
---|
75 | let scalar_of_s2_Phi c = S2_Phi c |
---|
76 | let scalar_of_s3_Phi2 c = S3_Phi2 c |
---|
77 | let flavor_of_scalar lt = FRS lt |
---|
78 | let flavor_of_fermion lt = FRF lt |
---|
79 | let flavor_of_vector lt = FRV lt |
---|
80 | |
---|
81 | (* Particle lists *) |
---|
82 | |
---|
83 | let f1_Vl_members = |
---|
84 | [Ve; Ve_bar; Vm; Vm_bar; Vt; Vt_bar;] |
---|
85 | let f2_L_members = |
---|
86 | [E_minus; E_plus; M_minus; M_plus; Tt_minus; Tt_plus;] |
---|
87 | let f3_Uq_members = |
---|
88 | [U; U_bar; C; C_bar; T; T_bar;] |
---|
89 | let f4_Dq_members = |
---|
90 | [D; D_bar; S; S_bar; B; B_bar;] |
---|
91 | let v1_A_members = |
---|
92 | [A_1;] |
---|
93 | let v2_Z_members = |
---|
94 | [Z_1;] |
---|
95 | let v3_W_members = |
---|
96 | [W_plus; W_minus;] |
---|
97 | let v4_G_members = |
---|
98 | [G_1;] |
---|
99 | let s1_H_members = |
---|
100 | [H_1;] |
---|
101 | let s2_Phi_members = |
---|
102 | [Phi0;] |
---|
103 | let s3_Phi2_members = |
---|
104 | [Phi_plus; Phi_minus;] |
---|
105 | let all_scalars = [] |
---|
106 | @ (List.map scalar_of_s1_H s1_H_members) |
---|
107 | @ (List.map scalar_of_s2_Phi s2_Phi_members) |
---|
108 | @ (List.map scalar_of_s3_Phi2 s3_Phi2_members) |
---|
109 | let all_fermions = [] |
---|
110 | @ (List.map fermion_of_f1_Vl f1_Vl_members) |
---|
111 | @ (List.map fermion_of_f2_L f2_L_members) |
---|
112 | @ (List.map fermion_of_f3_Uq f3_Uq_members) |
---|
113 | @ (List.map fermion_of_f4_Dq f4_Dq_members) |
---|
114 | let all_vectors = [] |
---|
115 | @ (List.map vector_of_v1_A v1_A_members) |
---|
116 | @ (List.map vector_of_v2_Z v2_Z_members) |
---|
117 | @ (List.map vector_of_v3_W v3_W_members) |
---|
118 | @ (List.map vector_of_v4_G v4_G_members) |
---|
119 | |
---|
120 | (* The conjugation operation on a single class *) |
---|
121 | |
---|
122 | let conjugate_f1_Vl = function |
---|
123 | | Ve -> Ve_bar | Ve_bar -> Ve | Vm -> Vm_bar | Vm_bar -> Vm | Vt -> Vt_bar |
---|
124 | | Vt_bar -> Vt |
---|
125 | let conjugate_f2_L = function |
---|
126 | | E_minus -> E_plus | E_plus -> E_minus | M_minus -> M_plus | M_plus -> M_minus |
---|
127 | | Tt_minus -> Tt_plus | Tt_plus -> Tt_minus |
---|
128 | let conjugate_f3_Uq = function |
---|
129 | | U -> U_bar | U_bar -> U | C -> C_bar | C_bar -> C | T -> T_bar | T_bar -> T |
---|
130 | let conjugate_f4_Dq = function |
---|
131 | | D -> D_bar | D_bar -> D | S -> S_bar | S_bar -> S | B -> B_bar | B_bar -> B |
---|
132 | let conjugate_v1_A = function |
---|
133 | | x -> x |
---|
134 | let conjugate_v2_Z = function |
---|
135 | | x -> x |
---|
136 | let conjugate_v3_W = function |
---|
137 | | W_plus -> W_minus | W_minus -> W_plus |
---|
138 | let conjugate_v4_G = function |
---|
139 | | x -> x |
---|
140 | let conjugate_s1_H = function |
---|
141 | | x -> x |
---|
142 | let conjugate_s2_Phi = function |
---|
143 | | x -> x |
---|
144 | let conjugate_s3_Phi2 = function |
---|
145 | | Phi_plus -> Phi_minus | Phi_minus -> Phi_plus |
---|
146 | |
---|
147 | (* The conjugation operation on a lorentz type *) |
---|
148 | |
---|
149 | let conjugate_scalar = function |
---|
150 | | S1_H x -> S1_H (conjugate_s1_H x) |
---|
151 | | S2_Phi x -> S2_Phi (conjugate_s2_Phi x) |
---|
152 | | S3_Phi2 x -> S3_Phi2 (conjugate_s3_Phi2 x) |
---|
153 | let conjugate_fermion = function |
---|
154 | | F1_Vl x -> F1_Vl (conjugate_f1_Vl x) |
---|
155 | | F2_L x -> F2_L (conjugate_f2_L x) |
---|
156 | | F3_Uq x -> F3_Uq (conjugate_f3_Uq x) |
---|
157 | | F4_Dq x -> F4_Dq (conjugate_f4_Dq x) |
---|
158 | let conjugate_vector = function |
---|
159 | | V1_A x -> V1_A (conjugate_v1_A x) |
---|
160 | | V2_Z x -> V2_Z (conjugate_v2_Z x) |
---|
161 | | V3_W x -> V3_W (conjugate_v3_W x) |
---|
162 | | V4_G x -> V4_G (conjugate_v4_G x) |
---|
163 | |
---|
164 | (* Conjugation for the masses *) |
---|
165 | |
---|
166 | let conjugate = function |
---|
167 | | FRS x -> FRS (conjugate_scalar x) |
---|
168 | | FRF x -> FRF (conjugate_fermion x) |
---|
169 | | FRV x -> FRV (conjugate_vector x) |
---|
170 | |
---|
171 | let color = function |
---|
172 | | FRS _ -> Color.Singlet |
---|
173 | | FRF x -> (match x with |
---|
174 | | F1_Vl _ -> Color.Singlet |
---|
175 | | F2_L _ -> Color.Singlet |
---|
176 | | F3_Uq x -> (match x with |
---|
177 | | U | C | T -> Color.SUN 3 | U_bar | C_bar | T_bar -> Color.SUN (-3)) |
---|
178 | | F4_Dq x -> (match x with |
---|
179 | | D | S | B -> Color.SUN 3 | D_bar | S_bar | B_bar -> Color.SUN (-3))) |
---|
180 | | FRV x -> (match x with |
---|
181 | | V1_A _ -> Color.Singlet |
---|
182 | | V2_Z _ -> Color.Singlet |
---|
183 | | V3_W _ -> Color.Singlet |
---|
184 | | V4_G G_1 -> Color.AdjSUN 3) |
---|
185 | |
---|
186 | let pdg = function |
---|
187 | | FRS x -> (match x with |
---|
188 | | S1_H H_1 -> 25 |
---|
189 | | S2_Phi Phi0 -> 250 |
---|
190 | | S3_Phi2 x -> (match x with |
---|
191 | | Phi_plus -> 251 | Phi_minus -> -251)) |
---|
192 | | FRF x -> (match x with |
---|
193 | | F1_Vl x -> (match x with |
---|
194 | | Ve -> 12 | Ve_bar -> -12 | Vm -> 14 | Vm_bar -> -14 | Vt -> 16 | Vt_bar -> -16) |
---|
195 | |
---|
196 | | F2_L x -> (match x with |
---|
197 | | E_minus -> 11 | E_plus -> -11 | M_minus -> 13 | M_plus -> -13 | Tt_minus -> 15 |
---|
198 | | Tt_plus -> -15) |
---|
199 | | F3_Uq x -> (match x with |
---|
200 | | U -> 2 | U_bar -> -2 | C -> 4 | C_bar -> -4 | T -> 6 | T_bar -> -6) |
---|
201 | | F4_Dq x -> (match x with |
---|
202 | | D -> 1 | D_bar -> -1 | S -> 3 | S_bar -> -3 | B -> 5 | B_bar -> -5)) |
---|
203 | | FRV x -> (match x with |
---|
204 | | V1_A A_1 -> 22 |
---|
205 | | V2_Z Z_1 -> 23 |
---|
206 | | V3_W x -> (match x with |
---|
207 | | W_plus -> 24 | W_minus -> -24) |
---|
208 | | V4_G G_1 -> 21) |
---|
209 | |
---|
210 | let lorentz = function |
---|
211 | | FRF x -> (match x with |
---|
212 | | F1_Vl x -> (match x with |
---|
213 | | Ve | Vm | Vt -> Spinor | Ve_bar | Vm_bar | Vt_bar -> ConjSpinor) |
---|
214 | | F2_L x -> (match x with |
---|
215 | | E_minus | M_minus | Tt_minus -> Spinor | E_plus | M_plus | Tt_plus -> ConjSpinor) |
---|
216 | |
---|
217 | | F3_Uq x -> (match x with |
---|
218 | | U | C | T -> Spinor | U_bar | C_bar | T_bar -> ConjSpinor) |
---|
219 | | F4_Dq x -> (match x with |
---|
220 | | D | S | B -> Spinor | D_bar | S_bar | B_bar -> ConjSpinor)) |
---|
221 | | FRV x -> (match x with |
---|
222 | | V1_A A_1 -> Vector |
---|
223 | | V2_Z Z_1 -> Massive_Vector |
---|
224 | | V3_W x -> (match x with |
---|
225 | | W_plus | W_minus -> Massive_Vector) |
---|
226 | | V4_G G_1 -> Vector) |
---|
227 | | FRS _ -> Scalar |
---|
228 | |
---|
229 | type gauge = Xi |
---|
230 | |
---|
231 | let propagator = |
---|
232 | let msg = "fr_sm_test.Implementation: invalid lorentz rep in propagator" in function |
---|
233 | | FRS _ -> Prop_Scalar |
---|
234 | | FRF x -> (match lorentz (FRF x) with |
---|
235 | | Spinor -> Prop_Spinor |
---|
236 | | ConjSpinor -> Prop_ConjSpinor |
---|
237 | | Majorana -> Prop_Majorana |
---|
238 | | _ -> invalid_arg msg) |
---|
239 | | FRV x -> (match Opts.gauge with |
---|
240 | | Unitarity -> (match lorentz (FRV x) with |
---|
241 | | Vector -> Prop_Feynman |
---|
242 | | Massive_Vector -> Prop_Unitarity |
---|
243 | | _ -> invalid_arg msg) |
---|
244 | | Feynman -> (match lorentz (FRV x) with |
---|
245 | | Vector -> Prop_Feynman |
---|
246 | | Massive_Vector -> Prop_Rxi Xi |
---|
247 | | _ -> invalid_arg msg) |
---|
248 | | Rxi -> (match lorentz (FRV x) with |
---|
249 | | Vector -> Prop_Gauge Xi |
---|
250 | | Massive_Vector -> Prop_Rxi Xi |
---|
251 | | _ -> invalid_arg msg)) |
---|
252 | |
---|
253 | let width_symbol = function |
---|
254 | | FRS x -> (match x with |
---|
255 | | S1_H H_1 -> "wh" |
---|
256 | | S2_Phi Phi0 -> "wphi" |
---|
257 | | S3_Phi2 x -> (match x with |
---|
258 | | Phi_plus -> "wphi2" | Phi_minus -> "wphi2")) |
---|
259 | | FRF x -> (match x with |
---|
260 | | F1_Vl _ -> "fr_zero" |
---|
261 | | F2_L _ -> "fr_zero" |
---|
262 | | F3_Uq x -> (match x with |
---|
263 | | T -> "wt" | T_bar -> "wt" | _ -> "fr_zero") |
---|
264 | | F4_Dq _ -> "fr_zero") |
---|
265 | | FRV x -> (match x with |
---|
266 | | V1_A _ -> "fr_zero" |
---|
267 | | V2_Z Z_1 -> "wz" |
---|
268 | | V3_W x -> (match x with |
---|
269 | | W_plus -> "ww" | W_minus -> "ww") |
---|
270 | | V4_G _ -> "fr_zero") |
---|
271 | |
---|
272 | let width x = match width_symbol x with |
---|
273 | | "0" -> Vanishing |
---|
274 | | _ -> Timelike |
---|
275 | |
---|
276 | let fermion x = (match lorentz x with |
---|
277 | | Spinor -> 1 | ConjSpinor -> -1 | Majorana -> 2 | _ -> 0) |
---|
278 | |
---|
279 | let colsymm _ = (0, false), (0, false) |
---|
280 | |
---|
281 | let flavors () = [] |
---|
282 | @ (List.map flavor_of_scalar all_scalars) |
---|
283 | @ (List.map flavor_of_fermion all_fermions) |
---|
284 | @ (List.map flavor_of_vector all_vectors) |
---|
285 | |
---|
286 | let external_flavors () = ["FeynRules autogenerated flavors", flavors ()] |
---|
287 | |
---|
288 | let goldstone _ = None |
---|
289 | |
---|
290 | let flavor_to_string = function |
---|
291 | | FRS x -> (match x with |
---|
292 | | S1_H H_1 -> "H" |
---|
293 | | S2_Phi Phi0 -> "phi0" |
---|
294 | | S3_Phi2 x -> (match x with |
---|
295 | | Phi_plus -> "phi+" | Phi_minus -> "phi-")) |
---|
296 | | FRF x -> (match x with |
---|
297 | | F1_Vl x -> (match x with |
---|
298 | | Ve -> "ve" | Ve_bar -> "ve~" | Vm -> "vm" | Vm_bar -> "vm~" | Vt -> "vt" |
---|
299 | | Vt_bar -> "vt~") |
---|
300 | | F2_L x -> (match x with |
---|
301 | | E_minus -> "e-" | E_plus -> "e+" | M_minus -> "m-" | M_plus -> "m+" |
---|
302 | | Tt_minus -> "tt-" | Tt_plus -> "tt+") |
---|
303 | | F3_Uq x -> (match x with |
---|
304 | | U -> "u" | U_bar -> "u~" | C -> "c" | C_bar -> "c~" | T -> "t" | T_bar -> "t~") |
---|
305 | |
---|
306 | | F4_Dq x -> (match x with |
---|
307 | | D -> "d" | D_bar -> "d~" | S -> "s" | S_bar -> "s~" | B -> "b" | B_bar -> "b~")) |
---|
308 | | FRV x -> (match x with |
---|
309 | | V1_A A_1 -> "A" |
---|
310 | | V2_Z Z_1 -> "Z" |
---|
311 | | V3_W x -> (match x with |
---|
312 | | W_plus -> "W+" | W_minus -> "W-") |
---|
313 | | V4_G G_1 -> "G") |
---|
314 | |
---|
315 | let flavor_to_TeX = function |
---|
316 | | FRS x -> (match x with |
---|
317 | | S1_H H_1 -> "\\phi" |
---|
318 | | S2_Phi Phi0 -> "phi0" |
---|
319 | | S3_Phi2 x -> (match x with |
---|
320 | | Phi_plus -> "\\phi^+" | Phi_minus -> "\\phi^-")) |
---|
321 | | FRF x -> (match x with |
---|
322 | | F1_Vl x -> (match x with |
---|
323 | | Ve -> "ve" | Ve_bar -> "ve~" | Vm -> "vm" | Vm_bar -> "vm~" | Vt -> "vt" |
---|
324 | | Vt_bar -> "vt~") |
---|
325 | | F2_L x -> (match x with |
---|
326 | | E_minus -> "e-" | E_plus -> "e+" | M_minus -> "m-" | M_plus -> "m+" |
---|
327 | | Tt_minus -> "tt-" | Tt_plus -> "tt+") |
---|
328 | | F3_Uq x -> (match x with |
---|
329 | | U -> "u" | U_bar -> "u~" | C -> "c" | C_bar -> "c~" | T -> "t" | T_bar -> "t~") |
---|
330 | |
---|
331 | | F4_Dq x -> (match x with |
---|
332 | | D -> "d" | D_bar -> "d~" | S -> "s" | S_bar -> "s~" | B -> "b" | B_bar -> "b~")) |
---|
333 | | FRV x -> (match x with |
---|
334 | | V1_A A_1 -> "A" |
---|
335 | | V2_Z Z_1 -> "Z" |
---|
336 | | V3_W x -> (match x with |
---|
337 | | W_plus -> "W+" | W_minus -> "W-") |
---|
338 | | V4_G G_1 -> "G") |
---|
339 | |
---|
340 | let flavor_of_string x = |
---|
341 | let dict = List.map (fun x -> (x, flavor_to_string x)) (flavors ()) |
---|
342 | in try |
---|
343 | fst (List.find (fun (_, y) -> (x = y)) dict) |
---|
344 | with |
---|
345 | Not_found -> invalid_arg "fr_sm_test.Implementation: flavor_of_string: invalid particle?" |
---|
346 | |
---|
347 | let flavor_symbol = function |
---|
348 | | FRS x -> (match x with |
---|
349 | | S1_H H_1 -> "h_1" |
---|
350 | | S2_Phi Phi0 -> "phi0" |
---|
351 | | S3_Phi2 x -> (match x with |
---|
352 | | Phi_plus -> "phi_plus" | Phi_minus -> "phi_minus")) |
---|
353 | | FRF x -> (match x with |
---|
354 | | F1_Vl x -> (match x with |
---|
355 | | Ve -> "ve" | Ve_bar -> "ve_bar" | Vm -> "vm" | Vm_bar -> "vm_bar" | Vt -> "vt" |
---|
356 | | Vt_bar -> "vt_bar") |
---|
357 | | F2_L x -> (match x with |
---|
358 | | E_minus -> "e_minus" | E_plus -> "e_plus" | M_minus -> "m_minus" |
---|
359 | | M_plus -> "m_plus" | Tt_minus -> "tt_minus" | Tt_plus -> "tt_plus") |
---|
360 | | F3_Uq x -> (match x with |
---|
361 | | U -> "u" | U_bar -> "u_bar" | C -> "c" | C_bar -> "c_bar" | T -> "t" |
---|
362 | | T_bar -> "t_bar") |
---|
363 | | F4_Dq x -> (match x with |
---|
364 | | D -> "d" | D_bar -> "d_bar" | S -> "s" | S_bar -> "s_bar" | B -> "b" |
---|
365 | | B_bar -> "b_bar")) |
---|
366 | | FRV x -> (match x with |
---|
367 | | V1_A A_1 -> "a_1" |
---|
368 | | V2_Z Z_1 -> "z_1" |
---|
369 | | V3_W x -> (match x with |
---|
370 | | W_plus -> "w_plus" | W_minus -> "w_minus") |
---|
371 | | V4_G G_1 -> "g_1") |
---|
372 | |
---|
373 | let gauge_symbol = function |
---|
374 | Xi -> (match Opts.gauge with |
---|
375 | | Unitarity -> invalid_arg |
---|
376 | "fr_sm_test.Implementation: requesting gauge symbol in unitarity gauge!" |
---|
377 | | Feynman -> "one" |
---|
378 | | Rxi -> "Rxi") |
---|
379 | |
---|
380 | let mass_symbol = function |
---|
381 | | FRS x -> (match x with |
---|
382 | | S1_H H_1 -> "mh" |
---|
383 | | S2_Phi Phi0 -> "mz" |
---|
384 | | S3_Phi2 x -> (match x with |
---|
385 | | Phi_plus -> "mw" | Phi_minus -> "mw")) |
---|
386 | | FRF x -> (match x with |
---|
387 | | F1_Vl _ -> "fr_zero" |
---|
388 | | F2_L x -> (match x with |
---|
389 | | E_minus -> "me" | E_plus -> "me" | M_minus -> "mm" | M_plus -> "mm" |
---|
390 | | Tt_minus -> "mta" | Tt_plus -> "mta") |
---|
391 | | F3_Uq x -> (match x with |
---|
392 | | U -> "mu" | U_bar -> "mu" | C -> "mc" | C_bar -> "mc" | T -> "mt" |
---|
393 | | T_bar -> "mt") |
---|
394 | | F4_Dq x -> (match x with |
---|
395 | | D -> "md" | D_bar -> "md" | S -> "ms" | S_bar -> "ms" | B -> "mb" |
---|
396 | | B_bar -> "mb")) |
---|
397 | | FRV x -> (match x with |
---|
398 | | V1_A _ -> "fr_zero" |
---|
399 | | V2_Z Z_1 -> "mz" |
---|
400 | | V3_W x -> (match x with |
---|
401 | | W_plus -> "mw" | W_minus -> "mw") |
---|
402 | | V4_G _ -> "fr_zero") |
---|
403 | |
---|
404 | (* Coupling constants and parameters *) |
---|
405 | |
---|
406 | type constant = |
---|
407 | | G_h_1_h_1_h_1_h_1 | G_h_1_h_1_h_1 | G_g_1_g_1_g_1_g_1 | G_b_bar_g_1_b |
---|
408 | | G_a_1_w_minus_w_plus | G_h_1_h_1_w_plus_w_minus | G_h_1_w_plus_w_minus |
---|
409 | | G_a_1_a_1_w_plus_w_minus | G_z_1_w_plus_w_minus |
---|
410 | | G_w_plus_w_plus_w_minus_w_minus | G_d_bar_h_1_d | G_s_bar_h_1_s |
---|
411 | | G_b_bar_h_1_b | G_e_plus_h_1_e_minus | G_m_plus_h_1_m_minus |
---|
412 | | G_tt_plus_h_1_tt_minus | G_u_bar_h_1_u | G_c_bar_h_1_c | G_t_bar_h_1_t |
---|
413 | | G_a_1_w_plus_w_minus_z_1 | G_h_1_h_1_z_1_z_1 | G_h_1_z_1_z_1 |
---|
414 | | G_w_plus_w_minus_z_1_z_1 | G_b_bar_a_1_b | G_e_plus_a_1_e_minus |
---|
415 | | G_c_bar_a_1_c | G_ve_bar_w_plus_e_minus | G_c_bar_w_plus_b | G_c_bar_w_plus_d |
---|
416 | | G_c_bar_w_plus_s | G_t_bar_w_plus_b | G_t_bar_w_plus_d | G_t_bar_w_plus_s |
---|
417 | | G_u_bar_w_plus_b | G_u_bar_w_plus_d | G_u_bar_w_plus_s | G_b_bar_w_minus_c |
---|
418 | | G_b_bar_w_minus_t | G_b_bar_w_minus_u | G_d_bar_w_minus_c | G_d_bar_w_minus_t |
---|
419 | | G_d_bar_w_minus_u | G_s_bar_w_minus_c | G_s_bar_w_minus_t | G_s_bar_w_minus_u |
---|
420 | | G_b_bar_z_1_b | G_e_plus_z_1_e_minus | G_c_bar_z_1_c | G_ve_bar_z_1_ve |
---|
421 | |
---|
422 | let parameters () = {input = []; derived = []; derived_arrays = []} |
---|
423 | |
---|
424 | let constant_symbol = function |
---|
425 | | G_h_1_h_1_h_1_h_1 -> "G_h_1_h_1_h_1_h_1" | G_h_1_h_1_h_1 -> "G_h_1_h_1_h_1" |
---|
426 | | G_g_1_g_1_g_1_g_1 -> "G_g_1_g_1_g_1_g_1" | G_b_bar_g_1_b -> "G_b_bar_g_1_b" |
---|
427 | | G_a_1_w_minus_w_plus -> "G_a_1_w_minus_w_plus" |
---|
428 | | G_h_1_h_1_w_plus_w_minus -> "G_h_1_h_1_w_plus_w_minus" |
---|
429 | | G_h_1_w_plus_w_minus -> "G_h_1_w_plus_w_minus" |
---|
430 | | G_a_1_a_1_w_plus_w_minus -> "G_a_1_a_1_w_plus_w_minus" |
---|
431 | | G_z_1_w_plus_w_minus -> "G_z_1_w_plus_w_minus" |
---|
432 | | G_w_plus_w_plus_w_minus_w_minus -> "G_w_plus_w_plus_w_minus_w_minus" |
---|
433 | | G_d_bar_h_1_d -> "G_d_bar_h_1_d" | G_s_bar_h_1_s -> "G_s_bar_h_1_s" |
---|
434 | | G_b_bar_h_1_b -> "G_b_bar_h_1_b" |
---|
435 | | G_e_plus_h_1_e_minus -> "G_e_plus_h_1_e_minus" |
---|
436 | | G_m_plus_h_1_m_minus -> "G_m_plus_h_1_m_minus" |
---|
437 | | G_tt_plus_h_1_tt_minus -> "G_tt_plus_h_1_tt_minus" |
---|
438 | | G_u_bar_h_1_u -> "G_u_bar_h_1_u" | G_c_bar_h_1_c -> "G_c_bar_h_1_c" |
---|
439 | | G_t_bar_h_1_t -> "G_t_bar_h_1_t" |
---|
440 | | G_a_1_w_plus_w_minus_z_1 -> "G_a_1_w_plus_w_minus_z_1" |
---|
441 | | G_h_1_h_1_z_1_z_1 -> "G_h_1_h_1_z_1_z_1" | G_h_1_z_1_z_1 -> "G_h_1_z_1_z_1" |
---|
442 | | G_w_plus_w_minus_z_1_z_1 -> "G_w_plus_w_minus_z_1_z_1" |
---|
443 | | G_b_bar_a_1_b -> "G_b_bar_a_1_b" |
---|
444 | | G_e_plus_a_1_e_minus -> "G_e_plus_a_1_e_minus" |
---|
445 | | G_c_bar_a_1_c -> "G_c_bar_a_1_c" |
---|
446 | | G_ve_bar_w_plus_e_minus -> "G_ve_bar_w_plus_e_minus" |
---|
447 | | G_c_bar_w_plus_b -> "G_c_bar_w_plus_b" |
---|
448 | | G_c_bar_w_plus_d -> "G_c_bar_w_plus_d" |
---|
449 | | G_c_bar_w_plus_s -> "G_c_bar_w_plus_s" |
---|
450 | | G_t_bar_w_plus_b -> "G_t_bar_w_plus_b" |
---|
451 | | G_t_bar_w_plus_d -> "G_t_bar_w_plus_d" |
---|
452 | | G_t_bar_w_plus_s -> "G_t_bar_w_plus_s" |
---|
453 | | G_u_bar_w_plus_b -> "G_u_bar_w_plus_b" |
---|
454 | | G_u_bar_w_plus_d -> "G_u_bar_w_plus_d" |
---|
455 | | G_u_bar_w_plus_s -> "G_u_bar_w_plus_s" |
---|
456 | | G_b_bar_w_minus_c -> "G_b_bar_w_minus_c" |
---|
457 | | G_b_bar_w_minus_t -> "G_b_bar_w_minus_t" |
---|
458 | | G_b_bar_w_minus_u -> "G_b_bar_w_minus_u" |
---|
459 | | G_d_bar_w_minus_c -> "G_d_bar_w_minus_c" |
---|
460 | | G_d_bar_w_minus_t -> "G_d_bar_w_minus_t" |
---|
461 | | G_d_bar_w_minus_u -> "G_d_bar_w_minus_u" |
---|
462 | | G_s_bar_w_minus_c -> "G_s_bar_w_minus_c" |
---|
463 | | G_s_bar_w_minus_t -> "G_s_bar_w_minus_t" |
---|
464 | | G_s_bar_w_minus_u -> "G_s_bar_w_minus_u" | G_b_bar_z_1_b -> "G_b_bar_z_1_b" |
---|
465 | | G_e_plus_z_1_e_minus -> "G_e_plus_z_1_e_minus" |
---|
466 | | G_c_bar_z_1_c -> "G_c_bar_z_1_c" | G_ve_bar_z_1_ve -> "G_ve_bar_z_1_ve" |
---|
467 | |
---|
468 | (* Vertices and fusions *) |
---|
469 | |
---|
470 | let max_degree () = 4 |
---|
471 | |
---|
472 | let gauge4 = Coupling.Vector4 [2, Coupling.C_13_42; (-1), Coupling.C_12_34; (-1), Coupling.C_14_23] |
---|
473 | |
---|
474 | let vertices_3 = [ |
---|
475 | (FRS (S1_H H_1), FRS (S1_H H_1), FRS (S1_H H_1)), |
---|
476 | Scalar_Scalar_Scalar 1, |
---|
477 | G_h_1_h_1_h_1 |
---|
478 | ; |
---|
479 | (FRV (V3_W W_minus), FRV (V3_W W_plus), FRV (V1_A A_1)), |
---|
480 | Dim4_Vector_Vector_Vector_T 1, |
---|
481 | G_a_1_w_minus_w_plus |
---|
482 | ; |
---|
483 | (FRV (V3_W W_plus), FRV (V1_A A_1), FRV (V3_W W_minus)), |
---|
484 | Dim4_Vector_Vector_Vector_T 1, |
---|
485 | G_a_1_w_minus_w_plus |
---|
486 | ; |
---|
487 | (FRV (V1_A A_1), FRV (V3_W W_minus), FRV (V3_W W_plus)), |
---|
488 | Dim4_Vector_Vector_Vector_T 1, |
---|
489 | G_a_1_w_minus_w_plus |
---|
490 | ; |
---|
491 | (FRS (S1_H H_1), FRV (V3_W W_plus), FRV (V3_W W_minus)), |
---|
492 | Scalar_Vector_Vector 1, |
---|
493 | G_h_1_w_plus_w_minus |
---|
494 | ; |
---|
495 | (FRV (V3_W W_plus), FRV (V3_W W_minus), FRV (V2_Z Z_1)), |
---|
496 | Dim4_Vector_Vector_Vector_T 1, |
---|
497 | G_z_1_w_plus_w_minus |
---|
498 | ; |
---|
499 | (FRV (V3_W W_minus), FRV (V2_Z Z_1), FRV (V3_W W_plus)), |
---|
500 | Dim4_Vector_Vector_Vector_T 1, |
---|
501 | G_z_1_w_plus_w_minus |
---|
502 | ; |
---|
503 | (FRV (V2_Z Z_1), FRV (V3_W W_plus), FRV (V3_W W_minus)), |
---|
504 | Dim4_Vector_Vector_Vector_T 1, |
---|
505 | G_z_1_w_plus_w_minus |
---|
506 | ; |
---|
507 | (FRF (F4_Dq D_bar), FRS (S1_H H_1), FRF (F4_Dq D)), |
---|
508 | Coupling.FBF (1, Coupling.Psibar, Coupling.S, Coupling.Psi), |
---|
509 | G_d_bar_h_1_d |
---|
510 | ; |
---|
511 | (FRF (F4_Dq S_bar), FRS (S1_H H_1), FRF (F4_Dq S)), |
---|
512 | Coupling.FBF (1, Coupling.Psibar, Coupling.S, Coupling.Psi), |
---|
513 | G_s_bar_h_1_s |
---|
514 | ; |
---|
515 | (FRF (F4_Dq B_bar), FRS (S1_H H_1), FRF (F4_Dq B)), |
---|
516 | Coupling.FBF (1, Coupling.Psibar, Coupling.S, Coupling.Psi), |
---|
517 | G_b_bar_h_1_b |
---|
518 | ; |
---|
519 | (FRF (F2_L E_plus), FRS (S1_H H_1), FRF (F2_L E_minus)), |
---|
520 | Coupling.FBF (1, Coupling.Psibar, Coupling.S, Coupling.Psi), |
---|
521 | G_e_plus_h_1_e_minus |
---|
522 | ; |
---|
523 | (FRF (F2_L M_plus), FRS (S1_H H_1), FRF (F2_L M_minus)), |
---|
524 | Coupling.FBF (1, Coupling.Psibar, Coupling.S, Coupling.Psi), |
---|
525 | G_m_plus_h_1_m_minus |
---|
526 | ; |
---|
527 | (FRF (F2_L Tt_plus), FRS (S1_H H_1), FRF (F2_L Tt_minus)), |
---|
528 | Coupling.FBF (1, Coupling.Psibar, Coupling.S, Coupling.Psi), |
---|
529 | G_tt_plus_h_1_tt_minus |
---|
530 | ; |
---|
531 | (FRF (F3_Uq U_bar), FRS (S1_H H_1), FRF (F3_Uq U)), |
---|
532 | Coupling.FBF (1, Coupling.Psibar, Coupling.S, Coupling.Psi), |
---|
533 | G_u_bar_h_1_u |
---|
534 | ; |
---|
535 | (FRF (F3_Uq C_bar), FRS (S1_H H_1), FRF (F3_Uq C)), |
---|
536 | Coupling.FBF (1, Coupling.Psibar, Coupling.S, Coupling.Psi), |
---|
537 | G_c_bar_h_1_c |
---|
538 | ; |
---|
539 | (FRF (F3_Uq T_bar), FRS (S1_H H_1), FRF (F3_Uq T)), |
---|
540 | Coupling.FBF (1, Coupling.Psibar, Coupling.S, Coupling.Psi), |
---|
541 | G_t_bar_h_1_t |
---|
542 | ; |
---|
543 | (FRS (S1_H H_1), FRV (V2_Z Z_1), FRV (V2_Z Z_1)), |
---|
544 | Scalar_Vector_Vector 1, |
---|
545 | G_h_1_z_1_z_1 |
---|
546 | ; |
---|
547 | (FRF (F4_Dq B_bar), FRV (V1_A A_1), FRF (F4_Dq B)), |
---|
548 | Coupling.FBF (1, Coupling.Psibar, Coupling.V, Coupling.Psi), |
---|
549 | G_b_bar_a_1_b |
---|
550 | ; |
---|
551 | (FRF (F4_Dq D_bar), FRV (V1_A A_1), FRF (F4_Dq D)), |
---|
552 | Coupling.FBF (1, Coupling.Psibar, Coupling.V, Coupling.Psi), |
---|
553 | G_b_bar_a_1_b |
---|
554 | ; |
---|
555 | (FRF (F4_Dq S_bar), FRV (V1_A A_1), FRF (F4_Dq S)), |
---|
556 | Coupling.FBF (1, Coupling.Psibar, Coupling.V, Coupling.Psi), |
---|
557 | G_b_bar_a_1_b |
---|
558 | ; |
---|
559 | (FRF (F2_L E_plus), FRV (V1_A A_1), FRF (F2_L E_minus)), |
---|
560 | Coupling.FBF (1, Coupling.Psibar, Coupling.V, Coupling.Psi), |
---|
561 | G_e_plus_a_1_e_minus |
---|
562 | ; |
---|
563 | (FRF (F2_L M_plus), FRV (V1_A A_1), FRF (F2_L M_minus)), |
---|
564 | Coupling.FBF (1, Coupling.Psibar, Coupling.V, Coupling.Psi), |
---|
565 | G_e_plus_a_1_e_minus |
---|
566 | ; |
---|
567 | (FRF (F2_L Tt_plus), FRV (V1_A A_1), FRF (F2_L Tt_minus)), |
---|
568 | Coupling.FBF (1, Coupling.Psibar, Coupling.V, Coupling.Psi), |
---|
569 | G_e_plus_a_1_e_minus |
---|
570 | ; |
---|
571 | (FRF (F3_Uq C_bar), FRV (V1_A A_1), FRF (F3_Uq C)), |
---|
572 | Coupling.FBF (1, Coupling.Psibar, Coupling.V, Coupling.Psi), |
---|
573 | G_c_bar_a_1_c |
---|
574 | ; |
---|
575 | (FRF (F3_Uq T_bar), FRV (V1_A A_1), FRF (F3_Uq T)), |
---|
576 | Coupling.FBF (1, Coupling.Psibar, Coupling.V, Coupling.Psi), |
---|
577 | G_c_bar_a_1_c |
---|
578 | ; |
---|
579 | (FRF (F3_Uq U_bar), FRV (V1_A A_1), FRF (F3_Uq U)), |
---|
580 | Coupling.FBF (1, Coupling.Psibar, Coupling.V, Coupling.Psi), |
---|
581 | G_c_bar_a_1_c |
---|
582 | ; |
---|
583 | (FRF (F1_Vl Ve_bar), FRV (V3_W W_plus), FRF (F2_L E_minus)), |
---|
584 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
585 | G_ve_bar_w_plus_e_minus |
---|
586 | ; |
---|
587 | (FRF (F1_Vl Vm_bar), FRV (V3_W W_plus), FRF (F2_L M_minus)), |
---|
588 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
589 | G_ve_bar_w_plus_e_minus |
---|
590 | ; |
---|
591 | (FRF (F1_Vl Vt_bar), FRV (V3_W W_plus), FRF (F2_L Tt_minus)), |
---|
592 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
593 | G_ve_bar_w_plus_e_minus |
---|
594 | ; |
---|
595 | (FRF (F3_Uq C_bar), FRV (V3_W W_plus), FRF (F4_Dq B)), |
---|
596 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
597 | G_c_bar_w_plus_b |
---|
598 | ; |
---|
599 | (FRF (F3_Uq C_bar), FRV (V3_W W_plus), FRF (F4_Dq D)), |
---|
600 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
601 | G_c_bar_w_plus_d |
---|
602 | ; |
---|
603 | (FRF (F3_Uq C_bar), FRV (V3_W W_plus), FRF (F4_Dq S)), |
---|
604 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
605 | G_c_bar_w_plus_s |
---|
606 | ; |
---|
607 | (FRF (F3_Uq T_bar), FRV (V3_W W_plus), FRF (F4_Dq B)), |
---|
608 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
609 | G_t_bar_w_plus_b |
---|
610 | ; |
---|
611 | (FRF (F3_Uq T_bar), FRV (V3_W W_plus), FRF (F4_Dq D)), |
---|
612 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
613 | G_t_bar_w_plus_d |
---|
614 | ; |
---|
615 | (FRF (F3_Uq T_bar), FRV (V3_W W_plus), FRF (F4_Dq S)), |
---|
616 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
617 | G_t_bar_w_plus_s |
---|
618 | ; |
---|
619 | (FRF (F3_Uq U_bar), FRV (V3_W W_plus), FRF (F4_Dq B)), |
---|
620 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
621 | G_u_bar_w_plus_b |
---|
622 | ; |
---|
623 | (FRF (F3_Uq U_bar), FRV (V3_W W_plus), FRF (F4_Dq D)), |
---|
624 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
625 | G_u_bar_w_plus_d |
---|
626 | ; |
---|
627 | (FRF (F3_Uq U_bar), FRV (V3_W W_plus), FRF (F4_Dq S)), |
---|
628 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
629 | G_u_bar_w_plus_s |
---|
630 | ; |
---|
631 | (FRF (F2_L E_plus), FRV (V3_W W_minus), FRF (F1_Vl Ve)), |
---|
632 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
633 | G_ve_bar_w_plus_e_minus |
---|
634 | ; |
---|
635 | (FRF (F2_L M_plus), FRV (V3_W W_minus), FRF (F1_Vl Vm)), |
---|
636 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
637 | G_ve_bar_w_plus_e_minus |
---|
638 | ; |
---|
639 | (FRF (F2_L Tt_plus), FRV (V3_W W_minus), FRF (F1_Vl Vt)), |
---|
640 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
641 | G_ve_bar_w_plus_e_minus |
---|
642 | ; |
---|
643 | (FRF (F4_Dq B_bar), FRV (V3_W W_minus), FRF (F3_Uq C)), |
---|
644 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
645 | G_b_bar_w_minus_c |
---|
646 | ; |
---|
647 | (FRF (F4_Dq B_bar), FRV (V3_W W_minus), FRF (F3_Uq T)), |
---|
648 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
649 | G_b_bar_w_minus_t |
---|
650 | ; |
---|
651 | (FRF (F4_Dq B_bar), FRV (V3_W W_minus), FRF (F3_Uq U)), |
---|
652 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
653 | G_b_bar_w_minus_u |
---|
654 | ; |
---|
655 | (FRF (F4_Dq D_bar), FRV (V3_W W_minus), FRF (F3_Uq C)), |
---|
656 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
657 | G_d_bar_w_minus_c |
---|
658 | ; |
---|
659 | (FRF (F4_Dq D_bar), FRV (V3_W W_minus), FRF (F3_Uq T)), |
---|
660 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
661 | G_d_bar_w_minus_t |
---|
662 | ; |
---|
663 | (FRF (F4_Dq D_bar), FRV (V3_W W_minus), FRF (F3_Uq U)), |
---|
664 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
665 | G_d_bar_w_minus_u |
---|
666 | ; |
---|
667 | (FRF (F4_Dq S_bar), FRV (V3_W W_minus), FRF (F3_Uq C)), |
---|
668 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
669 | G_s_bar_w_minus_c |
---|
670 | ; |
---|
671 | (FRF (F4_Dq S_bar), FRV (V3_W W_minus), FRF (F3_Uq T)), |
---|
672 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
673 | G_s_bar_w_minus_t |
---|
674 | ; |
---|
675 | (FRF (F4_Dq S_bar), FRV (V3_W W_minus), FRF (F3_Uq U)), |
---|
676 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
677 | G_s_bar_w_minus_u |
---|
678 | ; |
---|
679 | (FRF (F4_Dq B_bar), FRV (V2_Z Z_1), FRF (F4_Dq B)), |
---|
680 | Coupling.FBF (1, Coupling.Psibar, Coupling.VLR, Coupling.Psi), |
---|
681 | G_b_bar_z_1_b |
---|
682 | ; |
---|
683 | (FRF (F4_Dq D_bar), FRV (V2_Z Z_1), FRF (F4_Dq D)), |
---|
684 | Coupling.FBF (1, Coupling.Psibar, Coupling.VLR, Coupling.Psi), |
---|
685 | G_b_bar_z_1_b |
---|
686 | ; |
---|
687 | (FRF (F4_Dq S_bar), FRV (V2_Z Z_1), FRF (F4_Dq S)), |
---|
688 | Coupling.FBF (1, Coupling.Psibar, Coupling.VLR, Coupling.Psi), |
---|
689 | G_b_bar_z_1_b |
---|
690 | ; |
---|
691 | (FRF (F2_L E_plus), FRV (V2_Z Z_1), FRF (F2_L E_minus)), |
---|
692 | Coupling.FBF (1, Coupling.Psibar, Coupling.VLR, Coupling.Psi), |
---|
693 | G_e_plus_z_1_e_minus |
---|
694 | ; |
---|
695 | (FRF (F2_L M_plus), FRV (V2_Z Z_1), FRF (F2_L M_minus)), |
---|
696 | Coupling.FBF (1, Coupling.Psibar, Coupling.VLR, Coupling.Psi), |
---|
697 | G_e_plus_z_1_e_minus |
---|
698 | ; |
---|
699 | (FRF (F2_L Tt_plus), FRV (V2_Z Z_1), FRF (F2_L Tt_minus)), |
---|
700 | Coupling.FBF (1, Coupling.Psibar, Coupling.VLR, Coupling.Psi), |
---|
701 | G_e_plus_z_1_e_minus |
---|
702 | ; |
---|
703 | (FRF (F3_Uq C_bar), FRV (V2_Z Z_1), FRF (F3_Uq C)), |
---|
704 | Coupling.FBF (1, Coupling.Psibar, Coupling.VLR, Coupling.Psi), |
---|
705 | G_c_bar_z_1_c |
---|
706 | ; |
---|
707 | (FRF (F3_Uq T_bar), FRV (V2_Z Z_1), FRF (F3_Uq T)), |
---|
708 | Coupling.FBF (1, Coupling.Psibar, Coupling.VLR, Coupling.Psi), |
---|
709 | G_c_bar_z_1_c |
---|
710 | ; |
---|
711 | (FRF (F3_Uq U_bar), FRV (V2_Z Z_1), FRF (F3_Uq U)), |
---|
712 | Coupling.FBF (1, Coupling.Psibar, Coupling.VLR, Coupling.Psi), |
---|
713 | G_c_bar_z_1_c |
---|
714 | ; |
---|
715 | (FRF (F1_Vl Ve_bar), FRV (V2_Z Z_1), FRF (F1_Vl Ve)), |
---|
716 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
717 | G_ve_bar_z_1_ve |
---|
718 | ; |
---|
719 | (FRF (F1_Vl Vm_bar), FRV (V2_Z Z_1), FRF (F1_Vl Vm)), |
---|
720 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
721 | G_ve_bar_z_1_ve |
---|
722 | ; |
---|
723 | (FRF (F1_Vl Vt_bar), FRV (V2_Z Z_1), FRF (F1_Vl Vt)), |
---|
724 | Coupling.FBF (1, Coupling.Psibar, Coupling.VL, Coupling.Psi), |
---|
725 | G_ve_bar_z_1_ve |
---|
726 | ] |
---|
727 | |
---|
728 | let vertices_3_qcd = [ |
---|
729 | (FRF (F4_Dq B_bar), FRV (V4_G G_1), FRF (F4_Dq B)), |
---|
730 | Coupling.FBF (1, Coupling.Psibar, Coupling.V, Coupling.Psi), |
---|
731 | G_b_bar_g_1_b |
---|
732 | ; |
---|
733 | (FRF (F4_Dq D_bar), FRV (V4_G G_1), FRF (F4_Dq D)), |
---|
734 | Coupling.FBF (1, Coupling.Psibar, Coupling.V, Coupling.Psi), |
---|
735 | G_b_bar_g_1_b |
---|
736 | ; |
---|
737 | (FRF (F4_Dq S_bar), FRV (V4_G G_1), FRF (F4_Dq S)), |
---|
738 | Coupling.FBF (1, Coupling.Psibar, Coupling.V, Coupling.Psi), |
---|
739 | G_b_bar_g_1_b |
---|
740 | ; |
---|
741 | (FRF (F3_Uq C_bar), FRV (V4_G G_1), FRF (F3_Uq C)), |
---|
742 | Coupling.FBF (1, Coupling.Psibar, Coupling.V, Coupling.Psi), |
---|
743 | G_b_bar_g_1_b |
---|
744 | ; |
---|
745 | (FRF (F3_Uq T_bar), FRV (V4_G G_1), FRF (F3_Uq T)), |
---|
746 | Coupling.FBF (1, Coupling.Psibar, Coupling.V, Coupling.Psi), |
---|
747 | G_b_bar_g_1_b |
---|
748 | ; |
---|
749 | (FRF (F3_Uq U_bar), FRV (V4_G G_1), FRF (F3_Uq U)), |
---|
750 | Coupling.FBF (1, Coupling.Psibar, Coupling.V, Coupling.Psi), |
---|
751 | G_b_bar_g_1_b |
---|
752 | ] |
---|
753 | |
---|
754 | let vertices_4 = [ |
---|
755 | (FRS (S1_H H_1), FRS (S1_H H_1), FRS (S1_H H_1), FRS (S1_H H_1)), |
---|
756 | Scalar4 1, |
---|
757 | G_h_1_h_1_h_1_h_1 |
---|
758 | ; |
---|
759 | (FRS (S1_H H_1), FRS (S1_H H_1), FRV (V3_W W_plus), FRV (V3_W W_minus)), |
---|
760 | Scalar2_Vector2 1, |
---|
761 | G_h_1_h_1_w_plus_w_minus |
---|
762 | ; |
---|
763 | (FRV (V1_A A_1), FRV (V1_A A_1), FRV (V3_W W_plus), FRV (V3_W W_minus)), |
---|
764 | Vector4 [2, Coupling.C_12_34; -1, Coupling.C_13_42; -1, Coupling.C_14_23], |
---|
765 | G_a_1_a_1_w_plus_w_minus |
---|
766 | ; |
---|
767 | (FRV (V3_W W_plus), FRV (V3_W W_plus), FRV (V3_W W_minus), FRV (V3_W W_minus)), |
---|
768 | Vector4 [2, Coupling.C_12_34; -1, Coupling.C_13_42; -1, Coupling.C_14_23], |
---|
769 | G_w_plus_w_plus_w_minus_w_minus |
---|
770 | ; |
---|
771 | (FRV (V1_A A_1), FRV (V3_W W_plus), FRV (V3_W W_minus), FRV (V2_Z Z_1)), |
---|
772 | Vector4 [1, Coupling.C_12_34; 1, Coupling.C_13_42; -2, Coupling.C_14_23], |
---|
773 | G_a_1_w_plus_w_minus_z_1 |
---|
774 | ; |
---|
775 | (FRS (S1_H H_1), FRS (S1_H H_1), FRV (V2_Z Z_1), FRV (V2_Z Z_1)), |
---|
776 | Scalar2_Vector2 1, |
---|
777 | G_h_1_h_1_z_1_z_1 |
---|
778 | ; |
---|
779 | (FRV (V3_W W_plus), FRV (V3_W W_minus), FRV (V2_Z Z_1), FRV (V2_Z Z_1)), |
---|
780 | Vector4 [2, Coupling.C_12_34; -1, Coupling.C_13_42; -1, Coupling.C_14_23], |
---|
781 | G_w_plus_w_minus_z_1_z_1 |
---|
782 | ] |
---|
783 | |
---|
784 | let vertices_4_qcd = [ |
---|
785 | (FRV (V4_G G_1), FRV (V4_G G_1), FRV (V4_G G_1), FRV (V4_G G_1)), |
---|
786 | Vector4 [1, Coupling.C_12_34; -2, Coupling.C_13_42; 1, Coupling.C_14_23], |
---|
787 | G_g_1_g_1_g_1_g_1 |
---|
788 | ] |
---|
789 | |
---|
790 | let vertices_n = [] |
---|
791 | |
---|
792 | let vertices_n_qcd = [] |
---|
793 | |
---|
794 | let vertices () = ( |
---|
795 | vertices_3 @ (match Opts.color with true -> vertices_3_qcd | false -> []), |
---|
796 | vertices_4 @ (match Opts.color with true -> vertices_4_qcd | false -> []), |
---|
797 | vertices_n @ (match Opts.color with true -> vertices_n_qcd | false -> []) |
---|
798 | ) |
---|
799 | |
---|
800 | module F = Modeltools.Fusions (struct |
---|
801 | type f = flavor |
---|
802 | type c = constant |
---|
803 | let compare = compare |
---|
804 | let conjugate = conjugate |
---|
805 | end) |
---|
806 | |
---|
807 | let table = F.of_vertices (vertices ()) |
---|
808 | let fuse2 = F.fuse2 table |
---|
809 | let fuse3 = F.fuse3 table |
---|
810 | let fuse = F.fuse table |
---|
811 | |
---|
812 | (* Misc. infrastructure *) |
---|
813 | |
---|
814 | let options = Options.empty |
---|
815 | |
---|
816 | let rcs = RCS.parse "fr_sm_test" ["automatically generate FeynRules model - testing only"] { |
---|
817 | RCS.revision = "Revision: Noop"; |
---|
818 | RCS.date = "Date: Noop"; |
---|
819 | RCS.author = "Author: FeynRules automaton"; |
---|
820 | RCS.source = "Source: Noop" |
---|
821 | } |
---|
822 | |
---|
823 | type flavor_sans_color = flavor |
---|
824 | let flavor_sans_color x = x |
---|
825 | let conjugate_sans_color = conjugate |
---|
826 | let flavor_sans_color_of_string = flavor_of_string |
---|
827 | let flavor_sans_color_to_string = flavor_to_string |
---|
828 | let flavor_sans_color_to_TeX = flavor_to_TeX |
---|
829 | let flavor_sans_color_symbol = flavor_symbol |
---|
830 | end |
---|