~maddevelopers/mg5amcnlo/new_clustering

« back to all changes in this revision

Viewing changes to madgraph/iolibs/template_files/sborn_sf_fks.inc

  • Committer: Rikkert Frederix
  • Date: 2021-09-09 15:51:40 UTC
  • mfrom: (78.75.502 3.2.1)
  • Revision ID: frederix@physik.uzh.ch-20210909155140-rg6umfq68h6h47cf
merge with 3.2.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
subroutine sborn_sf(p_born,m,n,wgt)
 
2
          implicit none
 
3
          include "nexternal.inc"
 
4
          include 'coupl.inc'        
 
5
          double precision p_born(0:3,nexternal-1), wgt
 
6
          integer nsqampso
 
7
          parameter (nsqampso = %(nsqorders)d)
 
8
 
 
9
C return the color-linked borns if i_fks is a color octet, 
 
10
C the charge-linked if it is a color singlet
 
11
          double complex wgt_born(2,0:nsqampso)
 
12
          double precision wgt_col
 
13
          double precision chargeprod
 
14
          integer i,m,n 
 
15
      include 'orders.inc'
 
16
      COMPLEX*16 ANS_CNT(2, NSPLITORDERS)
 
17
      common /c_born_cnt/ ans_cnt
 
18
      LOGICAL KEEP_ORDER_CNT(NSPLITORDERS, NSQAMPSO)
 
19
      common /c_keep_order_cnt/ keep_order_cnt 
 
20
      double precision charges_born(nexternal-1)
 
21
      common /c_charges_born/charges_born
 
22
      logical need_color_links, need_charge_links
 
23
      common /c_need_links/need_color_links, need_charge_links
 
24
      double precision pmass(nexternal), zero
 
25
      parameter (zero=0d0)
 
26
      double precision amp_split_soft(amp_split_size)
 
27
      common /to_amp_split_soft/amp_split_soft
 
28
 
 
29
      chargeprod = 0d0
 
30
 
 
31
      if (need_color_links.and.need_charge_links) then
 
32
         write(*,*) 'ERROR IN SBORN_SF, both color and charged links are needed'
 
33
         stop
 
34
      endif
 
35
C check if need color or charge links, and include the gs/w**2 term here
 
36
      if (need_color_links) then
 
37
%(iflines_col)s
 
38
      wgt = wgt_col * g**2
 
39
C update the amp_split_soft, which is summed in sbornsoft
 
40
      amp_split_soft(1:amp_split_size) = dble(amp_split_cnt(1:amp_split_size,1,qcd_pos)) * g**2
 
41
 
 
42
      else if (need_charge_links) then
 
43
      chargeprod = charges_born(m) * charges_born(n)
 
44
      if ((m.le.nincoming.and.n.gt.nincoming) .or. (n.le.nincoming.and.m.gt.nincoming)) chargeprod = - chargeprod
 
45
C add a factor 1/2 for the self-eikonal soft link
 
46
      if (m.eq.n) chargeprod = chargeprod / 2d0
 
47
      wgt = dble(ans_cnt(1, qed_pos)) * chargeprod * dble(gal(1))**2
 
48
C update the amp_split_soft, which is summed in sbornsoft
 
49
      amp_split_soft(1:amp_split_size) = dble(amp_split_cnt(1:amp_split_size,1,qed_pos)) * chargeprod * dble(gal(1))**2
 
50
      endif
 
51
 
 
52
      return 
 
53
      end