~maddevelopers/mg5amcnlo/3.0.1

« back to all changes in this revision

Viewing changes to DECAY/decay_matrix.f

move ./decay to ./mg5decay; resolve unit tests (n.b. __init__ does not check keys of input dictionaries, followed last revision)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
*****************************************************************
 
2
* This file contains the MadGraph routines that calculate the   *
 
3
* matrix elements squared (color and spin sums/averages and     *
 
4
* bose factors not included) for generic decays:                * 
 
5
*                                                               *
 
6
*     SUB NAME                 PROCESSES                        * 
 
7
*                                                               *
 
8
*---------------------------------------------------------------*
 
9
*     emme_f3f          :  f    >  f'  w > f' k  k'~            *
 
10
*               examples:  t    >  b   vl  l+                   *
 
11
*                          t    >  b   u   d~                   *
 
12
*                          tau- > vt   l-  v~                   *
 
13
*                                                               *
 
14
*---------------------------------------------------------------*
 
15
*     emme_fx3f         :  f~   >  f'~ w > f'~ k k'~            *
 
16
*               examples:  t~   >  b~  l-  v~                   *
 
17
*                          t~   >  b~  d   u~                   *
 
18
*                          tau+ > vt~  vl  l+                   *
 
19
*                                                               *
 
20
*---------------------------------------------------------------*
 
21
*     emme_vff          :  v    >  f   f~                       *
 
22
*               examples:  z    >  e-  e+                       *
 
23
*                          w+   >  lv  l+                       *
 
24
*                                                               *
 
25
*---------------------------------------------------------------*
 
26
*     emme_hff          :  h    >  f  f~                        *
 
27
*               examples:  h    >  b  b~                        *
 
28
*                          h   >  mu  mu+                       *
 
29
*                                                               *
 
30
*---------------------------------------------------------------*
 
31
*     emme_hvv          :  h    >  v  v                         *
 
32
*               examples:  h    >  a  a                         *
 
33
*                          h   >   w- w+                        *
 
34
*                                                               *
 
35
*---------------------------------------------------------------*
 
36
*     emme_h4f          :  h    >  v  v >  f  f~  f' f~'        *
 
37
*               examples:  h    >  z  z >  e- e+  u  u~         *
 
38
*                                                               *
 
39
*---------------------------------------------------------------*
 
40
*     emme_ffs          :  f    >  f'  s                        *
 
41
*               examples:  tau- > vt  pi-                       *
 
42
*                                                               *
 
43
*---------------------------------------------------------------*
 
44
*     emme_fxfs         :  f~   > f~'  s                        *
 
45
*               examples: tau+  >vt~  pi+                       *
 
46
*                                                               *   
 
47
*---------------------------------------------------------------*
 
48
*     emme_ffv          :  f    > f'   v                        *
 
49
*               examples:  tau- > vt  rho-                      *
 
50
*                          t    > b    w+                       *
 
51
*                                                               *   
 
52
*---------------------------------------------------------------*
 
53
*     emme_fxfv         :  f~   > f~'  v                        *
 
54
*               examples:  tau+ > vt~ rho+                      *
 
55
*                          t~   > b~    w-                      *
 
56
*                                                               *
 
57
*****************************************************************
 
58
 
 
59
 
 
60
 
 
61
      SUBROUTINE emme_f3f(P,NHEL,EMMESQ)
 
62
C---------------------------------------------
 
63
C  Function for the processes
 
64
C
 
65
C 1--->----*--->---2
 
66
C          *--->---3
 
67
C          *---<---4
 
68
C
 
69
C t    >  b  vl l+ 
 
70
C t    >  b  u  d~ 
 
71
C tau- > vt  l- vl~
 
72
c
 
73
c NO COLOR/SPIN SUMS OR AVERAGES ARE INCLUDED
 
74
c----------------------------------------------          
 
75
      IMPLICIT NONE
 
76
C  
 
77
C CONSTANTS
 
78
C  
 
79
      INTEGER    NEXTERNAL
 
80
      PARAMETER (NEXTERNAL=5) 
 
81
      INTEGER    NWAVEFUNCS     
 
82
      PARAMETER (NWAVEFUNCS=5) 
 
83
C  
 
84
C ARGUMENTS 
 
85
C  
 
86
      REAL*8 EMMESQ
 
87
      REAL*8 P(0:3,NEXTERNAL)
 
88
      INTEGER NHEL(NEXTERNAL)
 
89
C  
 
90
C LOCAL VARIABLES 
 
91
C  
 
92
      COMPLEX*16 AMP(1)
 
93
      COMPLEX*16 W(6,NWAVEFUNCS)
 
94
      integer i
 
95
C  
 
96
C GLOBAL VARIABLES
 
97
C  
 
98
      include 'decay.inc'
 
99
 
 
100
C ----------
 
101
C BEGIN CODE
 
102
C ----------
 
103
 
 
104
 
 
105
      CALL IXXXXX(P(0,1   ),M1 ,NHEL(1   ),+1,W(1,1   ))       
 
106
      CALL OXXXXX(P(0,2   ),M2 ,NHEL(2   ),+1,W(1,2   ))       
 
107
      CALL OXXXXX(P(0,3   ),M3 ,NHEL(3   ),+1,W(1,3   ))        
 
108
      CALL IXXXXX(P(0,4   ),M4 ,NHEL(4   ),-1,W(1,4   ))        
 
109
c
 
110
      CALL JIOXXX(W(1,1   ),W(1,2   ),GXX ,MV  ,GV  ,W(1,5   ))    
 
111
      CALL IOVXXX(W(1,4   ),W(1,3   ),W(1,5   ),GXX ,AMP(1   ))            
 
112
 
 
113
      EMMESQ = amp(1)*dconjg(amp(1))
 
114
 
 
115
      return
 
116
      end
 
117
 
 
118
 
 
119
      SUBROUTINE emme_fx3f(P,NHEL,EMMESQ)
 
120
C---------------------------------------------
 
121
C  Function for the processes
 
122
C
 
123
C 1---<----*---<---2
 
124
C          *--->---3
 
125
C          *---<---4
 
126
C
 
127
C t~   >  b~  l- vl~ 
 
128
C t~   >  b~  d  u~  
 
129
C tau+ > vt~  vl l+ 
 
130
c
 
131
c NO COLOR/SPIN SUMS OR AVERAGES ARE INCLUDED
 
132
c----------------------------------------------          
 
133
      IMPLICIT NONE
 
134
C  
 
135
C CONSTANTS
 
136
C  
 
137
      INTEGER    NEXTERNAL
 
138
      PARAMETER (NEXTERNAL=5) 
 
139
      INTEGER    NWAVEFUNCS     
 
140
      PARAMETER (NWAVEFUNCS=5) 
 
141
C  
 
142
C ARGUMENTS 
 
143
C  
 
144
      REAL*8 EMMESQ
 
145
      REAL*8 P(0:3,NEXTERNAL)
 
146
      INTEGER NHEL(NEXTERNAL)
 
147
C  
 
148
C LOCAL VARIABLES 
 
149
C  
 
150
      COMPLEX*16 AMP(1)
 
151
      COMPLEX*16 W(6,NWAVEFUNCS)
 
152
C  
 
153
C GLOBAL VARIABLES
 
154
C  
 
155
      include 'decay.inc'
 
156
 
 
157
C ----------
 
158
C BEGIN CODE
 
159
C ----------
 
160
 
 
161
      CALL OXXXXX(P(0,1   ),M1 ,NHEL(1   ),-1,W(1,1   ))
 
162
      CALL IXXXXX(P(0,2   ),M2 ,NHEL(2   ),-1,W(1,2   ))
 
163
      CALL OXXXXX(P(0,3   ),M3 ,NHEL(3   ),+1,W(1,3   ))
 
164
      CALL IXXXXX(P(0,4   ),M4 ,NHEL(4   ),-1,W(1,4   ))
 
165
c
 
166
      CALL JIOXXX(W(1,2   ),W(1,1   ),GXX ,MV,GV ,W(1,5   ))
 
167
      CALL IOVXXX(W(1,4   ),W(1,3   ),W(1,5   ),GXX ,AMP(1   ))
 
168
      
 
169
      EMMESQ = amp(1)*dconjg(amp(1))
 
170
 
 
171
      return
 
172
      end
 
173
 
 
174
 
 
175
      SUBROUTINE emme_v(P,NHEL,EMMESQ)
 
176
C---------------------------------------------
 
177
C  Function for the processes
 
178
C
 
179
C 1*********---<---2
 
180
C          *--->---3
 
181
C
 
182
c  v > f f~
 
183
c   
 
184
c NO COLOR/SPIN SUMS OR AVERAGES ARE INCLUDED
 
185
c----------------------------------------------          
 
186
      IMPLICIT NONE
 
187
C  
 
188
C CONSTANTS
 
189
C  
 
190
      INTEGER    NEXTERNAL
 
191
      PARAMETER (NEXTERNAL=5) 
 
192
      INTEGER    NWAVEFUNCS     
 
193
      PARAMETER (NWAVEFUNCS=3) 
 
194
C  
 
195
C ARGUMENTS 
 
196
C  
 
197
      REAL*8 EMMESQ
 
198
      REAL*8 P(0:3,NEXTERNAL)
 
199
      INTEGER NHEL(NEXTERNAL)
 
200
C  
 
201
C LOCAL VARIABLES 
 
202
C  
 
203
      COMPLEX*16 AMP(1)
 
204
      COMPLEX*16 W(6,NWAVEFUNCS)
 
205
C  
 
206
C GLOBAL VARIABLES
 
207
C  
 
208
      include 'decay.inc'
 
209
 
 
210
C ----------
 
211
C BEGIN CODE
 
212
C ----------
 
213
 
 
214
      CALL VXXXXX(P(0,1)  ,M1   ,NHEL(1  ),-1,W(1,1)  )
 
215
      CALL IXXXXX(P(0,2)  ,M2   ,NHEL(2  ),-1,W(1,2)  )
 
216
      CALL OXXXXX(P(0,3)  ,M3   ,NHEL(3  ), 1,W(1,3)  )
 
217
c
 
218
      CALL IOVXXX(W(1,2)  ,W(1,3)  ,W(1,1)  ,GXX,AMP(1  ))
 
219
      
 
220
      EMMESQ = amp(1)*dconjg(amp(1))
 
221
 
 
222
      return
 
223
      end
 
224
 
 
225
 
 
226
      SUBROUTINE emme_vff(P,NHEL,EMMESQ)
 
227
C---------------------------------------------
 
228
C  Function for the processes
 
229
C
 
230
C 1*********--->---2
 
231
C          *---<---3
 
232
C
 
233
c   v    >  f f~        
 
234
c
 
235
c   
 
236
c NO COLOR/SPIN SUMS OR AVERAGES ARE INCLUDED
 
237
c----------------------------------------------          
 
238
      IMPLICIT NONE
 
239
C  
 
240
C CONSTANTS
 
241
C  
 
242
      INTEGER    NEXTERNAL
 
243
      PARAMETER (NEXTERNAL=5) 
 
244
      INTEGER    NWAVEFUNCS     
 
245
      PARAMETER (NWAVEFUNCS=3) 
 
246
C  
 
247
C ARGUMENTS 
 
248
C  
 
249
      REAL*8 EMMESQ
 
250
      REAL*8 P(0:3,NEXTERNAL)
 
251
      INTEGER NHEL(NEXTERNAL)
 
252
C  
 
253
C LOCAL VARIABLES 
 
254
C  
 
255
      COMPLEX*16 AMP(1)
 
256
      COMPLEX*16 W(6,NWAVEFUNCS)
 
257
      integer i
 
258
C  
 
259
C GLOBAL VARIABLES
 
260
C  
 
261
      include 'decay.inc'
 
262
 
 
263
C ----------
 
264
C BEGIN CODE
 
265
C ----------
 
266
 
 
267
 
 
268
      CALL VXXXXX(P(0,1)  ,M1   ,NHEL(1  ),-1,W(1,1)  )
 
269
      CALL OXXXXX(P(0,2)  ,M2   ,NHEL(2  ),+1,W(1,2)  )
 
270
      CALL IXXXXX(P(0,3)  ,M3   ,NHEL(3  ),-1,W(1,3)  )
 
271
c
 
272
      CALL IOVXXX(W(1,3)  ,W(1,2), W(1,1),GXX,AMP(1  ))
 
273
      
 
274
 
 
275
      EMMESQ = amp(1)*dconjg(amp(1))
 
276
 
 
277
      return
 
278
      end
 
279
 
 
280
 
 
281
      SUBROUTINE emme_hff(P,NHEL,EMMESQ)
 
282
C---------------------------------------------
 
283
C  Function for the processes
 
284
C
 
285
C 1*********--->---2
 
286
C          *---<---3
 
287
C
 
288
C  h    >  f f~ 
 
289
c   
 
290
c NO COLOR/SPIN SUMS OR AVERAGES ARE INCLUDED
 
291
c----------------------------------------------          
 
292
      IMPLICIT NONE
 
293
C  
 
294
C CONSTANTS
 
295
C  
 
296
      INTEGER    NEXTERNAL
 
297
      PARAMETER (NEXTERNAL=5) 
 
298
      INTEGER    NWAVEFUNCS     
 
299
      PARAMETER (NWAVEFUNCS=3) 
 
300
C  
 
301
C ARGUMENTS 
 
302
C  
 
303
      REAL*8 EMMESQ
 
304
      REAL*8 P(0:3,NEXTERNAL)
 
305
      INTEGER NHEL(NEXTERNAL)
 
306
C  
 
307
C LOCAL VARIABLES 
 
308
C  
 
309
      COMPLEX*16 AMP(1)
 
310
      COMPLEX*16 W(6,NWAVEFUNCS)
 
311
C  
 
312
C GLOBAL VARIABLES
 
313
C  
 
314
      include 'decay.inc'
 
315
 
 
316
C ----------
 
317
C BEGIN CODE
 
318
C ----------
 
319
 
 
320
 
 
321
      CALL SXXXXX(P(0,1),                -1,W(1,1)  )
 
322
      CALL OXXXXX(P(0,2),M2   ,NHEL(2  ),+1,W(1,2)  )
 
323
      CALL IXXXXX(P(0,3),M3   ,NHEL(3  ),-1,W(1,3)  )
 
324
c
 
325
      CALL IOSXXX(W(1,3)  ,W(1,2)  ,W(1,1)  ,GXX, AMP(1  ))
 
326
      
 
327
      EMMESQ = amp(1)*dconjg(amp(1))
 
328
 
 
329
      return
 
330
      end
 
331
 
 
332
 
 
333
      SUBROUTINE emme_hvv(P,NHEL,EMMESQ)
 
334
C---------------------------------------------
 
335
C  Function for the processes
 
336
C
 
337
C 1--------********2
 
338
C          ********3
 
339
C
 
340
c h    >  v  v
 
341
c   
 
342
c NO COLOR/SPIN SUMS OR AVERAGES ARE INCLUDED
 
343
c----------------------------------------------          
 
344
      IMPLICIT NONE
 
345
C  
 
346
C CONSTANTS
 
347
C  
 
348
      INTEGER    NEXTERNAL
 
349
      PARAMETER (NEXTERNAL=5) 
 
350
      INTEGER    NWAVEFUNCS     
 
351
      PARAMETER (NWAVEFUNCS=3) 
 
352
C  
 
353
C ARGUMENTS 
 
354
C  
 
355
      REAL*8 EMMESQ
 
356
      REAL*8 P(0:3,NEXTERNAL)
 
357
      INTEGER NHEL(NEXTERNAL)
 
358
C  
 
359
C LOCAL VARIABLES 
 
360
C  
 
361
      COMPLEX*16 AMP(1)
 
362
      COMPLEX*16 W(6,NWAVEFUNCS)
 
363
C  
 
364
C GLOBAL VARIABLES
 
365
C  
 
366
      include 'decay.inc'
 
367
 
 
368
C ----------
 
369
C BEGIN CODE
 
370
C ----------
 
371
 
 
372
      CALL SXXXXX(P(0,1),                -1,W(1,1)  )
 
373
      CALL VXXXXX(P(0,2),M2   ,NHEL(2  ),+1,W(1,2)  )
 
374
      CALL VXXXXX(P(0,3),M3   ,NHEL(3  ),+1,W(1,3)  )
 
375
c
 
376
      CALL VVSXXX(W(1,3)  ,W(1,2)  ,W(1,1)  ,GX , AMP(1  ))
 
377
      
 
378
      EMMESQ = amp(1)*dconjg(amp(1))
 
379
 
 
380
      return
 
381
      end
 
382
 
 
383
 
 
384
      SUBROUTINE emme_h4f(P,NHEL,EMMESQ)
 
385
C---------------------------------------------
 
386
C  Function for the processes
 
387
C
 
388
C 1*********--->---2
 
389
C          *---<---3
 
390
C          *--->---4
 
391
C          *---<---5
 
392
C
 
393
C h    >  v  v >  f  f~  f' f~'         
 
394
C  
 
395
c NO COLOR/SPIN SUMS OR AVERAGES ARE INCLUDED
 
396
c----------------------------------------------          
 
397
      IMPLICIT NONE
 
398
C  
 
399
C CONSTANTS
 
400
C  
 
401
      INTEGER    NEXTERNAL
 
402
      PARAMETER (NEXTERNAL=5) 
 
403
      INTEGER    NWAVEFUNCS     
 
404
      PARAMETER (NWAVEFUNCS=7) 
 
405
C  
 
406
C ARGUMENTS 
 
407
C  
 
408
      REAL*8 EMMESQ
 
409
      REAL*8 P(0:3,NEXTERNAL)
 
410
      INTEGER NHEL(NEXTERNAL)
 
411
C  
 
412
C LOCAL VARIABLES 
 
413
C  
 
414
      COMPLEX*16 AMP(1)
 
415
      COMPLEX*16 W(6,NWAVEFUNCS)
 
416
C  
 
417
C GLOBAL VARIABLES
 
418
C  
 
419
      include 'decay.inc'
 
420
      
 
421
      integer i
 
422
      real*8 dot
 
423
C                                                                          
 
424
C ----------
 
425
C BEGIN CODE
 
426
C ----------
 
427
 
 
428
      CALL SXXXXX(P(0,1   ),-1,W(1,1   ))
 
429
      CALL OXXXXX(P(0,2   ),M2,NHEL(2   ),+1,W(1,2   ))
 
430
      CALL IXXXXX(P(0,3   ),M3,NHEL(3   ),-1,W(1,3   ))
 
431
      CALL OXXXXX(P(0,4   ),M4,NHEL(4   ),+1,W(1,4   ))
 
432
      CALL IXXXXX(P(0,5   ),M5,NHEL(5   ),-1,W(1,5   ))
 
433
c
 
434
      CALL JIOXXX(W(1,3   ),W(1,2   ),GXX ,MV  ,GV ,W(1,6   ))
 
435
      CALL JIOXXX(W(1,5   ),W(1,4   ),GXX1,MV  ,GV ,W(1,7   ))
 
436
      CALL VVSXXX(W(1,6   ),W(1,7   ),W(1,1   ),GX ,AMP(1))
 
437
c
 
438
      EMMESQ = amp(1)*dconjg(amp(1))
 
439
 
 
440
      RETURN
 
441
      END
 
442
 
 
443
 
 
444
 
 
445
      SUBROUTINE emme_ffv(P,NHEL,EMMESQ)
 
446
C---------------------------------------------
 
447
C  Function for the processes
 
448
C
 
449
C 1--->----*--->---2
 
450
C          ********3
 
451
C
 
452
C f > f'  v 
 
453
c
 
454
c NO COLOR/SPIN SUMS OR AVERAGES ARE INCLUDED
 
455
c----------------------------------------------          
 
456
      IMPLICIT NONE
 
457
C  
 
458
C CONSTANTS
 
459
C  
 
460
      INTEGER    NEXTERNAL
 
461
      PARAMETER (NEXTERNAL=5) 
 
462
      INTEGER    NWAVEFUNCS     
 
463
      PARAMETER (NWAVEFUNCS=3) 
 
464
C  
 
465
C ARGUMENTS 
 
466
C  
 
467
      REAL*8 EMMESQ
 
468
      REAL*8 P(0:3,NEXTERNAL)
 
469
      INTEGER NHEL(NEXTERNAL)
 
470
C  
 
471
C LOCAL VARIABLES 
 
472
C  
 
473
      COMPLEX*16 AMP(1)
 
474
      COMPLEX*16 W(6,NWAVEFUNCS)
 
475
C  
 
476
C GLOBAL VARIABLES
 
477
C  
 
478
      include 'decay.inc'
 
479
C
 
480
C ----------
 
481
C BEGIN CODE
 
482
C ----------
 
483
 
 
484
C
 
485
      CALL IXXXXX(P(0,1   ),M1 ,NHEL(1   ),+1,W(1,1   ))       
 
486
      CALL OXXXXX(P(0,2   ),M2 ,NHEL(2   ),+1,W(1,2   ))       
 
487
      CALL VXXXXX(P(0,3   ),M3 ,NHEL(3  ) ,+1,W(1,3   ))
 
488
C
 
489
      CALL IOVXXX(W(1,1   ),W(1,2   ),W(1,3   ),GXX ,AMP(1   ))            
 
490
      
 
491
      
 
492
      EMMESQ = amp(1)*dconjg(amp(1))
 
493
      if(emmesq.lt.1d-15) emmesq=0d0
 
494
      return
 
495
      end
 
496
 
 
497
 
 
498
      SUBROUTINE emme_fxfv(P,NHEL,EMMESQ)
 
499
C---------------------------------------------
 
500
C  Function for the processes
 
501
C
 
502
C 1---<----*---<---2
 
503
C          ********3
 
504
C
 
505
C f~ > f~'  v 
 
506
c
 
507
c NO COLOR/SPIN SUMS OR AVERAGES ARE INCLUDED
 
508
c----------------------------------------------          
 
509
      IMPLICIT NONE
 
510
C  
 
511
C CONSTANTS
 
512
C  
 
513
      INTEGER    NEXTERNAL
 
514
      PARAMETER (NEXTERNAL=5) 
 
515
      INTEGER    NWAVEFUNCS     
 
516
      PARAMETER (NWAVEFUNCS=3) 
 
517
C  
 
518
C ARGUMENTS 
 
519
C  
 
520
      REAL*8 EMMESQ
 
521
      REAL*8 P(0:3,NEXTERNAL)
 
522
      INTEGER NHEL(NEXTERNAL)
 
523
C  
 
524
C LOCAL VARIABLES 
 
525
C  
 
526
      COMPLEX*16 AMP(1)
 
527
      COMPLEX*16 W(6,NWAVEFUNCS)
 
528
C  
 
529
C GLOBAL VARIABLES
 
530
C  
 
531
      include 'decay.inc'
 
532
 
 
533
C ----------
 
534
C BEGIN CODE
 
535
C ----------
 
536
 
 
537
      CALL OXXXXX(P(0,1   ),M1 ,NHEL(1   ),-1,W(1,1   ))       
 
538
      CALL IXXXXX(P(0,2   ),M2 ,NHEL(2   ),-1,W(1,2   ))       
 
539
      CALL VXXXXX(P(0,3   ),M3 ,NHEL(3  ) ,+1,W(1,3   ))
 
540
c
 
541
      CALL IOVXXX(W(1,2   ),W(1,1   ),W(1,3   ),GXX ,AMP(1   ))            
 
542
      
 
543
      EMMESQ = amp(1)*dconjg(amp(1))
 
544
 
 
545
      return
 
546
      end
 
547
 
 
548
 
 
549
      SUBROUTINE emme_ffs(P,NHEL,EMMESQ)
 
550
C---------------------------------------------
 
551
C  Function for the processes
 
552
C
 
553
C 1--->----*--->---2
 
554
C          ********3
 
555
C
 
556
C f > f'  s 
 
557
c
 
558
c NO COLOR/SPIN SUMS OR AVERAGES ARE INCLUDED
 
559
c----------------------------------------------          
 
560
      IMPLICIT NONE
 
561
C  
 
562
C CONSTANTS
 
563
C  
 
564
      INTEGER    NEXTERNAL
 
565
      PARAMETER (NEXTERNAL=5) 
 
566
      INTEGER    NWAVEFUNCS     
 
567
      PARAMETER (NWAVEFUNCS=3) 
 
568
C  
 
569
C ARGUMENTS 
 
570
C  
 
571
      REAL*8 EMMESQ
 
572
      REAL*8 P(0:3,NEXTERNAL)
 
573
      INTEGER NHEL(NEXTERNAL)
 
574
C  
 
575
C LOCAL VARIABLES 
 
576
C  
 
577
      COMPLEX*16 AMP(1)
 
578
      COMPLEX*16 W(6,NWAVEFUNCS)
 
579
C  
 
580
C GLOBAL VARIABLES
 
581
C  
 
582
      include 'decay.inc'
 
583
 
 
584
C ----------
 
585
C BEGIN CODE
 
586
C ----------
 
587
 
 
588
      CALL IXXXXX(P(0,1   ),M1 ,NHEL(1   ),+1,W(1,1   ))       
 
589
      CALL OXXXXX(P(0,2   ),M2 ,NHEL(2   ),+1,W(1,2   ))       
 
590
      CALL SXXXXX(P(0,3   ),+1,W(1,3   ))
 
591
c
 
592
      CALL IOSXXX(W(1,1   ),W(1,2   ),W(1,3   ),GXX ,AMP(1   ))            
 
593
      
 
594
      EMMESQ = amp(1)*dconjg(amp(1))
 
595
 
 
596
      return
 
597
      end
 
598
 
 
599
 
 
600
      SUBROUTINE emme_fxfs(P,NHEL,EMMESQ)
 
601
C---------------------------------------------
 
602
C  Function for the processes
 
603
C
 
604
C 1---<----*---<---2
 
605
C          ********3
 
606
C
 
607
C f~ > f~' s 
 
608
c
 
609
c NO COLOR/SPIN SUMS OR AVERAGES ARE INCLUDED
 
610
c----------------------------------------------          
 
611
      IMPLICIT NONE
 
612
C  
 
613
C CONSTANTS
 
614
C  
 
615
      INTEGER    NEXTERNAL
 
616
      PARAMETER (NEXTERNAL=5) 
 
617
      INTEGER    NWAVEFUNCS     
 
618
      PARAMETER (NWAVEFUNCS=3) 
 
619
C  
 
620
C ARGUMENTS 
 
621
C  
 
622
      REAL*8 EMMESQ
 
623
      REAL*8 P(0:3,NEXTERNAL)
 
624
      INTEGER NHEL(NEXTERNAL)
 
625
C  
 
626
C LOCAL VARIABLES 
 
627
C  
 
628
      COMPLEX*16 AMP(1)
 
629
      COMPLEX*16 W(6,NWAVEFUNCS)
 
630
C  
 
631
C GLOBAL VARIABLES
 
632
C  
 
633
      include 'decay.inc'
 
634
 
 
635
 
 
636
C ----------
 
637
C BEGIN CODE
 
638
C ----------
 
639
 
 
640
      CALL OXXXXX(P(0,1   ),M1 ,NHEL(1   ),-1,W(1,1   ))       
 
641
      CALL IXXXXX(P(0,2   ),M2 ,NHEL(2   ),-1,W(1,2   ))       
 
642
      CALL SXXXXX(P(0,3   ),+1,W(1,3   ))
 
643
c
 
644
      CALL IOSXXX(W(1,2   ),W(1,1   ),W(1,3   ),GXX ,AMP(1   ))            
 
645
      
 
646
      EMMESQ = amp(1)*dconjg(amp(1))
 
647
 
 
648
      return
 
649
      end
 
650
 
 
651