You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
815 lines
27 KiB
815 lines
27 KiB
!
|
|
! SPDX-License-Identifier: GPL-3.0-or-later
|
|
! Copyright (C) 2019-2022, respective authors of MCFM.
|
|
!
|
|
|
|
subroutine qq_ZZqq_both(p,msq)
|
|
implicit none
|
|
include 'types.f'
|
|
|
|
c--- Author: R.K. Ellis, October 2014
|
|
c--- q(-p1)+q(-p2)->Z(p3,p4)+Z(p5,p6)+q(p7)+q(p8);
|
|
include 'constants.f'
|
|
include 'nf.f'
|
|
include 'mxpart.f'
|
|
include 'cplx.h'
|
|
include 'cmplxmass.f'
|
|
include 'ewcouple.f'
|
|
include 'masses.f'
|
|
include 'runstring.f'
|
|
include 'sprods_com.f'
|
|
include 'zprods_decl.f'
|
|
include 'first.f'
|
|
integer:: nmax,jmax
|
|
parameter(jmax=12,nmax=10)
|
|
integer:: j,k,l,i1,i2,i3,i4,
|
|
& uqcq_uqcq,uquq_uquq,dqsq_dqsq,
|
|
& dqdq_dqdq,uqbq_uqbq,dqcq_dqcq,
|
|
& dquq_dquq,dqcq_uqsq,uqsq_dqcq
|
|
parameter(
|
|
& uqcq_uqcq=1,uquq_uquq=2,dqsq_dqsq=3,
|
|
& dqdq_dqdq=4,uqbq_uqbq=5,dqcq_dqcq=6,
|
|
& dquq_dquq=7,dqcq_uqsq=8,uqsq_dqcq=9)
|
|
integer:: h1,h2,h3,h5
|
|
real(dp):: p(mxpart,4),msq(fn:nf,fn:nf),temp(fn:nf,fn:nf),
|
|
& tempw(fn:nf,fn:nf),stat,spinavge,Hbit,Bbit,t4,
|
|
& s17,s28,s18,s27,s7341,s7561,s7342,s7562
|
|
complex(dp):: zab(mxpart,4,mxpart),zba(mxpart,4,mxpart),
|
|
& propw71,propw81,propw72,propw82,cdotpr,
|
|
& propw7341,propw7561,propw7342,propw7562,
|
|
& ZZ7341(2,2,2,2,2,2),ZZ7561(2,2,2,2,2,2),
|
|
& ZZ8341(2,2,2,2,2,2),ZZ8561(2,2,2,2,2,2),
|
|
& WWp7341(2),WWm7341(2),WWp7561(2),WWm7561(2),
|
|
& WWp8341(2),WWm8341(2),WWp8561(2),WWm8561(2),
|
|
& j7_1(4,2),j7_2(4,2),j8_1(4,2),j8_2(4,2),
|
|
& j7_34_1(4,2,2,2),j7_34_2(4,2,2,2),
|
|
& j7_56_1(4,2,2,2),j7_56_2(4,2,2,2),
|
|
& j8_34_1(4,2,2,2),j8_34_2(4,2,2,2),
|
|
& j8_56_1(4,2,2,2),j8_56_2(4,2,2,2),
|
|
& jl7_34_1(4,2,2,2),jl7_34_2(4,2,2,2),
|
|
& jl7_56_1(4,2,2,2),jl7_56_2(4,2,2,2),
|
|
& jl8_34_1(4,2,2,2),jl8_34_2(4,2,2,2),
|
|
& jl8_56_1(4,2,2,2),jl8_56_2(4,2,2,2),
|
|
& jw7_34_1(4,2,2),jw7_34_2(4,2,2),
|
|
& jw7_56_1(4,2,2),jw7_56_2(4,2,2),
|
|
& jw8_34_1(4,2,2),jw8_34_2(4,2,2),
|
|
& jw8_56_1(4,2,2),jw8_56_2(4,2,2),
|
|
& j7_3456_1(4,2,2,2,2),j8_3456_2(4,2,2,2,2),
|
|
& j7_3456_2(4,2,2,2,2),j8_3456_1(4,2,2,2,2),
|
|
& jw7_3456_1(4,2,2,2),jw8_3456_2(4,2,2,2),
|
|
& jw7_3456_2(4,2,2,2),jw8_3456_1(4,2,2,2),
|
|
& amp(nmax,2,2,2,2),ampa(nmax,2,2,2,2),ampb(nmax,2,2,2,2),
|
|
& qcd(nmax,2,2,2,2),qcda(nmax,2,2,2,2),qcdb(nmax,2,2,2,2),
|
|
& ZZHamp71_82(2,2,2,2,2,2),ZZHamp81_72(2,2,2,2,2,2),
|
|
& WWZZ71_82amp(2,2),WWZZ81_72amp(2,2),
|
|
& gmZ7341(2,2,2,2),gmZ7561(2,2,2,2),gmZ71(2,2,2,2),gmZ82(2,2,2,2),
|
|
& gmZ7342(2,2,2,2),gmZ7562(2,2,2,2),gmZ72(2,2,2,2),gmZ81(2,2,2,2),
|
|
& ll7341(2,2),ll7561(2,2),ll7342(2,2),ll7562(2,2),
|
|
& gmZl7341(2,2,2),gmZl7561(2,2,2),gmZl7342(2,2,2),gmZl7562(2,2,2),
|
|
& gmZl8562(2,2,2),gmZl8342(2,2,2),gmZl8561(2,2,2),gmZl8341(2,2,2),
|
|
& k7341(4),k1567(4),k7342(4),k7562(4),ggWW(2,2),
|
|
& srWWZZ71_82amp(2,2),srWWZZ81_72amp(2,2)
|
|
c ,j3_4(4,2),j5_6(4,2),
|
|
logical:: doHO,doBO
|
|
parameter(spinavge=0.25d0,stat=0.5d0)
|
|
integer,parameter:: j1(jmax)=(/1,2,8,8,7,2,7,1,1,7,2,7/)
|
|
integer,parameter:: j2(jmax)=(/2,1,7,7,2,7,1,7,7,1,7,2/)
|
|
integer,parameter:: j7(jmax)=(/7,7,2,1,1,8,2,8,2,8,1,8/)
|
|
integer,parameter:: j8(jmax)=(/8,8,1,2,8,1,8,2,8,2,8,1/)
|
|
save doHO,doBO
|
|
|
|
c--- Begin statement functions
|
|
t4(i1,i2,i3,i4)=
|
|
& +s(i1,i2)+s(i1,i3)+s(i1,i4)
|
|
& +s(i2,i3)+s(i2,i4)+s(i3,i4)
|
|
c--- End statement functions
|
|
|
|
msq(:,:)=0d0
|
|
|
|
c--- This calculation uses the complex-mass scheme (c.f. arXiv:hep-ph/0605312)
|
|
c--- and the following lines set up the appropriate masses and sin^2(theta_w)
|
|
if (first) then
|
|
cwmass2=cplx2(wmass**2,-wmass*wwidth)
|
|
czmass2=cplx2(zmass**2,-zmass*zwidth)
|
|
cxw=cone-cwmass2/czmass2
|
|
c cxw=cplx2(xw,0d0) ! DEBUG: Madgraph comparison
|
|
write(6,*)
|
|
write(6,*) '**************** Complex-mass scheme ***************'
|
|
write(6,*) '* *'
|
|
write(6,77) cwmass2
|
|
write(6,78) czmass2
|
|
write(6,79) cxw
|
|
write(6,*) '* *'
|
|
write(6,*) '****************************************************'
|
|
write(6,*)
|
|
doHO=.false.
|
|
doBO=.false.
|
|
if (runstring(4:5) == 'HO') then
|
|
doHO=.true.
|
|
write(6,*) '>>>>>>>>>>>>>> Higgs contribution only <<<<<<<<<<<<<'
|
|
write(6,*)
|
|
elseif (runstring(4:5) == 'BO') then
|
|
doBO=.true.
|
|
write(6,*)
|
|
write(6,*) '>>>>>>>>>>> Background contribution only <<<<<<<<<<<'
|
|
write(6,*)
|
|
endif
|
|
first=.false.
|
|
endif
|
|
|
|
if (doHO) then
|
|
Hbit=1d0
|
|
Bbit=0d0
|
|
elseif (doBO) then
|
|
Hbit=0d0
|
|
Bbit=1d0
|
|
else
|
|
Hbit=1d0
|
|
Bbit=1d0
|
|
endif
|
|
|
|
c---setup spinors and spinorvector products
|
|
call spinorcurr(8,p,za,zb,zab,zba)
|
|
|
|
do j=1,jmax
|
|
temp(:,:)=0d0
|
|
tempw(:,:)=0d0
|
|
amp(:,:,:,:,:)=czip
|
|
ampa(:,:,:,:,:)=czip
|
|
ampb(:,:,:,:,:)=czip
|
|
qcd(:,:,:,:,:)=czip
|
|
qcda(:,:,:,:,:)=czip
|
|
qcdb(:,:,:,:,:)=czip
|
|
|
|
call setupzprops(j1(j),j2(j),3,4,5,6,j7(j),j8(j),
|
|
& gmZ7341,gmZ7561,gmZ71,gmZ82,
|
|
& gmZ7342,gmZ7562,gmZ72,gmZ81,
|
|
& ggWW,propw71,propw81,propw72,propw82,
|
|
& propw7341,propw7561,propw7342,propw7562,
|
|
& ll7341,ll7561,ll7342,ll7562,
|
|
& gmZl7341,gmZl7561,gmZl7342,gmZl7562,
|
|
& gmZl8562,gmZl8342,gmZl8561,gmZl8341)
|
|
|
|
s17=s(j1(j),j7(j))
|
|
s28=s(j2(j),j8(j))
|
|
s27=s(j2(j),j7(j))
|
|
s18=s(j1(j),j8(j))
|
|
s7341=t4(j7(j),3,4,j1(j))
|
|
s7342=t4(j7(j),3,4,j2(j))
|
|
s7561=t4(j7(j),5,6,j1(j))
|
|
s7562=t4(j7(j),5,6,j2(j))
|
|
|
|
call jzero(j7(j),j1(j),zab,zba,j7_1)
|
|
call jzero(j7(j),j2(j),zab,zba,j7_2)
|
|
call jzero(j8(j),j1(j),zab,zba,j8_1)
|
|
call jzero(j8(j),j2(j),zab,zba,j8_2)
|
|
|
|
call jone(j7(j),3,4,j1(j),za,zb,zab,zba,j7_34_1,jw7_34_1,jl7_34_1)
|
|
call jone(j7(j),3,4,j2(j),za,zb,zab,zba,j7_34_2,jw7_34_2,jl7_34_2)
|
|
call jone(j7(j),5,6,j1(j),za,zb,zab,zba,j7_56_1,jw7_56_1,jl7_56_1)
|
|
call jone(j7(j),5,6,j2(j),za,zb,zab,zba,j7_56_2,jw7_56_2,jl7_56_2)
|
|
call jone(j8(j),3,4,j1(j),za,zb,zab,zba,j8_34_1,jw8_34_1,jl8_34_1)
|
|
call jone(j8(j),3,4,j2(j),za,zb,zab,zba,j8_34_2,jw8_34_2,jl8_34_2)
|
|
call jone(j8(j),5,6,j1(j),za,zb,zab,zba,j8_56_1,jw8_56_1,jl8_56_1)
|
|
call jone(j8(j),5,6,j2(j),za,zb,zab,zba,j8_56_2,jw8_56_2,jl8_56_2)
|
|
|
|
call jtwo(j7(j),3,4,5,6,j1(j),za,zb,zab,zba,j7_3456_1,jw7_3456_1)
|
|
call jtwo(j7(j),3,4,5,6,j2(j),za,zb,zab,zba,j7_3456_2,jw7_3456_2)
|
|
call jtwo(j8(j),3,4,5,6,j1(j),za,zb,zab,zba,j8_3456_1,jw8_3456_1)
|
|
call jtwo(j8(j),3,4,5,6,j2(j),za,zb,zab,zba,j8_3456_2,jw8_3456_2)
|
|
|
|
k7341(:)=0.5d0*(zab(j1(j),:,j1(j))+zab(3,:,3)
|
|
& +zab(4,:,4)+zab(j7(j),:,j7(j)))
|
|
k1567(:)=0.5d0*(zab(j1(j),:,j1(j))+zab(5,:,5)
|
|
& +zab(6,:,6)+zab(j7(j),:,j7(j)))
|
|
k7342(:)=0.5d0*(zab(j2(j),:,j2(j))+zab(3,:,3)
|
|
& +zab(4,:,4)+zab(j7(j),:,j7(j)))
|
|
k7562(:)=0.5d0*(zab(j2(j),:,j2(j))+zab(5,:,5)
|
|
& +zab(6,:,6)+zab(j7(j),:,j7(j)))
|
|
|
|
c-----Singly resonant production in VBF style diagrams
|
|
call ZZSingleres(j1(j),j2(j),3,4,5,6,j7(j),j8(j),za,zb,
|
|
& ZZ7341,WWp7341,WWm7341)
|
|
call ZZSingleres(j1(j),j2(j),5,6,3,4,j7(j),j8(j),za,zb,
|
|
& ZZ7561,WWp7561,WWm7561)
|
|
call ZZSingleres(j1(j),j2(j),3,4,5,6,j8(j),j7(j),za,zb,
|
|
& ZZ8341,WWp8341,WWm8341)
|
|
call ZZSingleres(j1(j),j2(j),5,6,3,4,j8(j),j7(j),za,zb,
|
|
& ZZ8561,WWp8561,WWm8561)
|
|
|
|
c----ZZ->ZZ scattering with the exchange of a H
|
|
call ZZHZZamp(j1(j),j2(j),3,4,5,6,j7(j),j8(j),
|
|
& za,zb,ZZHamp71_82)
|
|
call ZZHZZamp(j1(j),j2(j),3,4,5,6,j8(j),j7(j),
|
|
& za,zb,ZZHamp81_72)
|
|
c----Four boson vertex + WW->Higgs diagram
|
|
call WWZZ(j1(j),j2(j),3,4,5,6,j7(j),j8(j),
|
|
& za,zb,WWZZ71_82amp,srWWZZ71_82amp)
|
|
call WWZZ(j1(j),j2(j),3,4,5,6,j8(j),j7(j),
|
|
& za,zb,WWZZ81_72amp,srWWZZ81_72amp)
|
|
|
|
c-----setup for (uqbq_uqbq) (2,5)->(2,5)
|
|
do h1=1,2
|
|
do h2=1,2
|
|
do h3=1,2
|
|
do h5=1,2
|
|
if (doHO .eqv. .false.) then
|
|
amp(uqbq_uqbq,h1,h2,h3,h5)=
|
|
& +cdotpr(j7_34_1(:,2,h1,h3),j8_56_2(:,1,h2,h5))*gmZ7341(2,1,h1,h2)
|
|
& +cdotpr(jl7_34_1(:,2,h1,h3),jl8_56_2(:,1,h2,h5))*ll7341(h3,h5)
|
|
& +cdotpr(j7_34_1(:,2,h1,h3),jl8_56_2(:,1,h2,h5))*gmZl7341(2,h1,h5)
|
|
& +cdotpr(jl7_34_1(:,2,h1,h3),j8_56_2(:,1,h2,h5))*gmZl7341(1,h2,h3)
|
|
|
|
amp(uqbq_uqbq,h1,h2,h3,h5)=amp(uqbq_uqbq,h1,h2,h3,h5)
|
|
& +cdotpr(j7_56_1(:,2,h1,h5),j8_34_2(:,1,h2,h3))*gmZ7561(2,1,h1,h2)
|
|
& +cdotpr(jl7_56_1(:,2,h1,h5),jl8_34_2(:,1,h2,h3))*ll7561(h5,h3)
|
|
& +cdotpr(j7_56_1(:,2,h1,h5),jl8_34_2(:,1,h2,h3))*gmZl7561(2,h1,h3)
|
|
& +cdotpr(jl7_56_1(:,2,h1,h5),j8_34_2(:,1,h2,h3))*gmZl7561(1,h2,h5)
|
|
|
|
amp(uqbq_uqbq,h1,h2,h3,h5)=amp(uqbq_uqbq,h1,h2,h3,h5)
|
|
& +cdotpr(j7_3456_1(:,2,h1,h3,h5),j8_2(:,h2))*gmZ82(2,1,h1,h2)
|
|
& +cdotpr(j7_1(:,h1),j8_3456_2(:,1,h2,h3,h5))*gmZ71(2,1,h1,h2)
|
|
|
|
amp(uqbq_uqbq,h1,h2,h3,h5)=amp(uqbq_uqbq,h1,h2,h3,h5)
|
|
& +ZZ7341(2,1,h1,h2,h3,h5)+ZZ7561(2,1,h1,h2,h5,h3)
|
|
endif
|
|
|
|
amp(uqbq_uqbq,h1,h2,h3,h5)=Bbit*amp(uqbq_uqbq,h1,h2,h3,h5)
|
|
& +Hbit*ZZHamp71_82(2,1,h1,h2,h3,h5)
|
|
|
|
qcd(uqbq_uqbq,h1,h2,h3,h5)=
|
|
& +cdotpr(j7_34_1(:,2,h1,h3),j8_56_2(:,1,h2,h5))/s7341
|
|
& +cdotpr(j7_56_1(:,2,h1,h5),j8_34_2(:,1,h2,h3))/s7561
|
|
& +cdotpr(j7_3456_1(:,2,h1,h3,h5),j8_2(:,h2))/s28
|
|
& +cdotpr(j7_1(:,h1),j8_3456_2(:,1,h2,h3,h5))/s17
|
|
|
|
temp(2,5)=temp(2,5)+esq**6*spinavge
|
|
& *real(amp(uqbq_uqbq,h1,h2,h3,h5)
|
|
& *conjg(amp(uqbq_uqbq,h1,h2,h3,h5)))
|
|
enddo
|
|
enddo
|
|
enddo
|
|
enddo
|
|
temp(4,5)=temp(2,5)
|
|
c--------------------------------------------------------------------------
|
|
c-----setup for (uqcq_uqcq) (2,4)->(2,4)
|
|
do h1=1,2
|
|
do h2=1,2
|
|
do h3=1,2
|
|
do h5=1,2
|
|
|
|
if (doHO .eqv. .false.) then
|
|
amp(uqcq_uqcq,h1,h2,h3,h5)=
|
|
& +cdotpr(j7_34_1(:,2,h1,h3),j8_56_2(:,2,h2,h5))*gmZ7341(2,2,h1,h2)
|
|
& +cdotpr(jl7_34_1(:,2,h1,h3),jl8_56_2(:,2,h2,h5))*ll7341(h3,h5)
|
|
& +cdotpr(j7_34_1(:,2,h1,h3),jl8_56_2(:,2,h2,h5))*gmZl7341(2,h1,h5)
|
|
& +cdotpr(jl7_34_1(:,2,h1,h3),j8_56_2(:,2,h2,h5))*gmZl7341(2,h2,h3)
|
|
|
|
amp(uqcq_uqcq,h1,h2,h3,h5)=amp(uqcq_uqcq,h1,h2,h3,h5)
|
|
& +cdotpr(j7_56_1(:,2,h1,h5),j8_34_2(:,2,h2,h3))*gmZ7561(2,2,h1,h2)
|
|
& +cdotpr(jl7_56_1(:,2,h1,h5),jl8_34_2(:,2,h2,h3))*ll7561(h5,h3)
|
|
& +cdotpr(j7_56_1(:,2,h1,h5),jl8_34_2(:,2,h2,h3))*gmZl7561(2,h1,h3)
|
|
& +cdotpr(jl7_56_1(:,2,h1,h5),j8_34_2(:,2,h2,h3))*gmZl7561(2,h2,h5)
|
|
|
|
amp(uqcq_uqcq,h1,h2,h3,h5)=amp(uqcq_uqcq,h1,h2,h3,h5)
|
|
& +cdotpr(j7_3456_1(:,2,h1,h3,h5),j8_2(:,h2))*gmZ82(2,2,h1,h2)
|
|
& +cdotpr(j7_1(:,h1),j8_3456_2(:,2,h2,h3,h5))*gmZ71(2,2,h1,h2)
|
|
|
|
amp(uqcq_uqcq,h1,h2,h3,h5)=amp(uqcq_uqcq,h1,h2,h3,h5)
|
|
& +ZZ7341(2,2,h1,h2,h3,h5)+ZZ7561(2,2,h1,h2,h5,h3)
|
|
endif
|
|
|
|
amp(uqcq_uqcq,h1,h2,h3,h5)=Bbit*amp(uqcq_uqcq,h1,h2,h3,h5)
|
|
& +Hbit*ZZHamp71_82(2,2,h1,h2,h3,h5)
|
|
|
|
qcd(uqcq_uqcq,h1,h2,h3,h5)=
|
|
& +cdotpr(j7_34_1(:,2,h1,h3),j8_56_2(:,2,h2,h5))/s7341
|
|
& +cdotpr(j7_56_1(:,2,h1,h5),j8_34_2(:,2,h2,h3))/s7561
|
|
& +cdotpr(j7_3456_1(:,2,h1,h3,h5),j8_2(:,h2))/s28
|
|
& +cdotpr(j7_1(:,h1),j8_3456_2(:,2,h2,h3,h5))/s17
|
|
|
|
temp(2,4)=temp(2,4)+esq**6*spinavge
|
|
& *real(amp(uqcq_uqcq,h1,h2,h3,h5)
|
|
& *conjg(amp(uqcq_uqcq,h1,h2,h3,h5)))
|
|
|
|
c if (j == 1) then
|
|
c write(6,*) h1,h2,h3,h5,esq**6*spinavge
|
|
c & *real(amp(uqcq_uqcq,h1,h2,h3,h5)
|
|
c & *conjg(amp(uqcq_uqcq,h1,h2,h3,h5)))
|
|
c endif
|
|
|
|
enddo
|
|
enddo
|
|
enddo
|
|
enddo
|
|
|
|
|
|
c-----setup for uqsq_dqcq W diagrams (2,3)->(1,4)
|
|
do h1=1,1
|
|
do h2=1,1
|
|
do h3=1,2
|
|
do h5=1,2
|
|
if (doHO .eqv. .false.) then
|
|
amp(uqsq_dqcq,h1,h2,h3,h5)=
|
|
& +cdotpr(jw7_3456_1(:,2,h3,h5),j8_2(:,h2))*0.5d0/propw82/cxw
|
|
|
|
amp(uqsq_dqcq,h1,h2,h3,h5)=amp(uqsq_dqcq,h1,h2,h3,h5)
|
|
& +cdotpr(j7_1(:,h1),jw8_3456_2(:,1,h3,h5))*0.5d0/propw71/cxw
|
|
|
|
amp(uqsq_dqcq,h1,h2,h3,h5)=amp(uqsq_dqcq,h1,h2,h3,h5)
|
|
& +(cdotpr(jw7_34_1(:,2,h3),jw8_56_2(:,1,h5))
|
|
& -cdotpr(jw7_34_1(:,2,h3),k7341(:))
|
|
& *cdotpr(k7341(:),jw8_56_2(:,1,h5))/cwmass2)/propw7341
|
|
|
|
amp(uqsq_dqcq,h1,h2,h3,h5)=amp(uqsq_dqcq,h1,h2,h3,h5)
|
|
& +(cdotpr(jw7_56_1(:,2,h5),jw8_34_2(:,1,h3))
|
|
& -cdotpr(jw7_56_1(:,2,h5),k1567(:))
|
|
& *cdotpr(k1567(:),jw8_34_2(:,1,h3))/cwmass2)/propw7561
|
|
|
|
if (h3 == 1)
|
|
& amp(uqsq_dqcq,h1,h2,h3,h5)=amp(uqsq_dqcq,h1,h2,h3,h5)
|
|
& +WWp7341(h5)
|
|
if (h5 == 1)
|
|
& amp(uqsq_dqcq,h1,h2,h3,h5)=amp(uqsq_dqcq,h1,h2,h3,h5)
|
|
& +WWp7561(h3)
|
|
|
|
amp(uqsq_dqcq,h1,h2,h3,h5)=amp(uqsq_dqcq,h1,h2,h3,h5)
|
|
& +srWWZZ71_82amp(h3,h5)
|
|
endif
|
|
|
|
amp(uqsq_dqcq,h1,h2,h3,h5)=Bbit*amp(uqsq_dqcq,h1,h2,h3,h5)
|
|
& +Hbit*WWZZ71_82amp(h3,h5)
|
|
|
|
tempw(2,3)=tempw(2,3)+esq**6*spinavge
|
|
& *real(amp(uqsq_dqcq,h1,h2,h3,h5)
|
|
& *conjg(amp(uqsq_dqcq,h1,h2,h3,h5)))
|
|
enddo
|
|
enddo
|
|
enddo
|
|
enddo
|
|
temp(2,3)=temp(2,5)
|
|
|
|
c-----setup for dqcq_uqsq (1,4)-->(2,3)
|
|
do h1=1,1
|
|
do h2=1,1
|
|
do h3=1,2
|
|
do h5=1,2
|
|
if (doHO .eqv. .false.) then
|
|
amp(dqcq_uqsq,h1,h2,h3,h5)=
|
|
& +cdotpr(jw7_3456_1(:,1,h3,h5),j8_2(:,h2))*0.5d0/propw82/cxw
|
|
|
|
amp(dqcq_uqsq,h1,h2,h3,h5)=amp(dqcq_uqsq,h1,h2,h3,h5)
|
|
& +cdotpr(j7_1(:,h1),jw8_3456_2(:,2,h3,h5))*0.5d0/propw71/cxw
|
|
|
|
amp(dqcq_uqsq,h1,h2,h3,h5)=amp(dqcq_uqsq,h1,h2,h3,h5)
|
|
& +(cdotpr(jw7_34_1(:,1,h3),jw8_56_2(:,2,h5))
|
|
& -cdotpr(jw7_34_1(:,1,h3),k7341(:))
|
|
& *cdotpr(k7341(:),jw8_56_2(:,2,h5))/cwmass2)/propw7341
|
|
|
|
amp(dqcq_uqsq,h1,h2,h3,h5)=amp(dqcq_uqsq,h1,h2,h3,h5)
|
|
& +(cdotpr(jw7_56_1(:,1,h5),jw8_34_2(:,2,h3))
|
|
& -cdotpr(jw7_56_1(:,1,h5),k1567(:))
|
|
& *cdotpr(k1567(:),jw8_34_2(:,2,h3))/cwmass2)/propw7561
|
|
|
|
if (h3 == 1)
|
|
& amp(dqcq_uqsq,h1,h2,h3,h5)=amp(dqcq_uqsq,h1,h2,h3,h5)
|
|
& +WWm7341(h5)
|
|
if (h5 == 1)
|
|
& amp(dqcq_uqsq,h1,h2,h3,h5)=amp(dqcq_uqsq,h1,h2,h3,h5)
|
|
& +WWm7561(h3)
|
|
|
|
amp(dqcq_uqsq,h1,h2,h3,h5)=amp(dqcq_uqsq,h1,h2,h3,h5)
|
|
& -srWWZZ71_82amp(h3,h5) ! note minus sign instead of exchanging 1<->7,2<->8
|
|
endif
|
|
|
|
amp(dqcq_uqsq,h1,h2,h3,h5)=Bbit*amp(dqcq_uqsq,h1,h2,h3,h5)
|
|
& +Hbit*WWZZ71_82amp(h3,h5)
|
|
|
|
tempw(1,4)=tempw(1,4)+esq**6*spinavge
|
|
& *real(amp(dqcq_uqsq,h1,h2,h3,h5)
|
|
& *conjg(amp(dqcq_uqsq,h1,h2,h3,h5)))
|
|
enddo
|
|
enddo
|
|
enddo
|
|
enddo
|
|
|
|
c-----setup for (dqcq_dqcq) (1,4)-->(1,4)
|
|
do h1=1,2
|
|
do h2=1,2
|
|
do h3=1,2
|
|
do h5=1,2
|
|
if (doHO .eqv. .false.) then
|
|
amp(dqcq_dqcq,h1,h2,h3,h5)=
|
|
& +cdotpr(j7_34_1(:,1,h1,h3),j8_56_2(:,2,h2,h5))*gmZ7341(1,2,h1,h2)
|
|
& +cdotpr(jl7_34_1(:,1,h1,h3),jl8_56_2(:,2,h2,h5))*ll7341(h3,h5)
|
|
& +cdotpr(j7_34_1(:,1,h1,h3),jl8_56_2(:,2,h2,h5))*gmZl7341(1,h1,h5)
|
|
& +cdotpr(jl7_34_1(:,1,h1,h3),j8_56_2(:,2,h2,h5))*gmZl7341(2,h2,h3)
|
|
amp(dqcq_dqcq,h1,h2,h3,h5)=amp(dqcq_dqcq,h1,h2,h3,h5)
|
|
& +cdotpr(j7_56_1(:,1,h1,h5),j8_34_2(:,2,h2,h3))*gmZ7561(1,2,h1,h2)
|
|
& +cdotpr(jl7_56_1(:,1,h1,h5),jl8_34_2(:,2,h2,h3))*ll7561(h5,h3)
|
|
& +cdotpr(j7_56_1(:,1,h1,h5),jl8_34_2(:,2,h2,h3))*gmZl7561(1,h1,h3)
|
|
& +cdotpr(jl7_56_1(:,1,h1,h5),j8_34_2(:,2,h2,h3))*gmZl7561(2,h2,h5)
|
|
|
|
amp(dqcq_dqcq,h1,h2,h3,h5)=amp(dqcq_dqcq,h1,h2,h3,h5)
|
|
& +cdotpr(j7_3456_1(:,1,h1,h3,h5),j8_2(:,h2))*gmZ82(1,2,h1,h2)
|
|
|
|
amp(dqcq_dqcq,h1,h2,h3,h5)=amp(dqcq_dqcq,h1,h2,h3,h5)
|
|
& +cdotpr(j7_1(:,h1),j8_3456_2(:,2,h2,h3,h5))*gmZ71(1,2,h1,h2)
|
|
|
|
amp(dqcq_dqcq,h1,h2,h3,h5)=amp(dqcq_dqcq,h1,h2,h3,h5)
|
|
& +ZZ7341(1,2,h1,h2,h3,h5)+ZZ7561(1,2,h1,h2,h5,h3)
|
|
endif
|
|
|
|
amp(dqcq_dqcq,h1,h2,h3,h5)=Bbit*amp(dqcq_dqcq,h1,h2,h3,h5)
|
|
& +Hbit*ZZHamp71_82(1,2,h1,h2,h3,h5)
|
|
|
|
qcd(dqcq_dqcq,h1,h2,h3,h5)=
|
|
& +cdotpr(j7_34_1(:,1,h1,h3),j8_56_2(:,2,h2,h5))/s7341
|
|
& +cdotpr(j7_56_1(:,1,h1,h5),j8_34_2(:,2,h2,h3))/s7561
|
|
& +cdotpr(j7_3456_1(:,1,h1,h3,h5),j8_2(:,h2))/s28
|
|
& +cdotpr(j7_1(:,h1),j8_3456_2(:,2,h2,h3,h5))/s17
|
|
|
|
temp(1,4)=temp(1,4)+esq**6*spinavge
|
|
& *real(amp(dqcq_dqcq,h1,h2,h3,h5)
|
|
& *conjg(amp(dqcq_dqcq,h1,h2,h3,h5)))
|
|
enddo
|
|
enddo
|
|
enddo
|
|
enddo
|
|
|
|
c--------------------------------------------------------
|
|
c-----setup for dquq_dquq W diagrams (1,2)-->(1,2)
|
|
do h1=1,2
|
|
do h2=1,2
|
|
do h3=1,2
|
|
do h5=1,2
|
|
if ((h1==1) .and. (h2==1)) then
|
|
if (doHO .eqv. .false.) then
|
|
ampa(dquq_dquq,h1,h2,h3,h5)=
|
|
& +cdotpr(jw8_3456_1(:,1,h3,h5),j7_2(:,h2))*0.5d0/propw72/cxw
|
|
|
|
ampa(dquq_dquq,h1,h2,h3,h5)=ampa(dquq_dquq,h1,h2,h3,h5)
|
|
& +cdotpr(j8_1(:,h1),jw7_3456_2(:,2,h3,h5))*0.5d0/propw81/cxw
|
|
|
|
ampa(dquq_dquq,h1,h2,h3,h5)=ampa(dquq_dquq,h1,h2,h3,h5)
|
|
& +(cdotpr(jw8_34_1(:,1,h3),jw7_56_2(:,2,h5))
|
|
& -cdotpr(jw8_34_1(:,1,h3),k7562(:))
|
|
& *cdotpr(k7562(:),jw7_56_2(:,2,h5))/cwmass2)/propw7562
|
|
|
|
ampa(dquq_dquq,h1,h2,h3,h5)=ampa(dquq_dquq,h1,h2,h3,h5)
|
|
& +(cdotpr(jw8_56_1(:,1,h5),jw7_34_2(:,2,h3))
|
|
& -cdotpr(jw8_56_1(:,1,h5),k7342(:))
|
|
& *cdotpr(k7342(:),jw7_34_2(:,2,h3))/cwmass2)/propw7342
|
|
|
|
if (h3 == 1)
|
|
& ampa(dquq_dquq,h1,h2,h3,h5)=ampa(dquq_dquq,h1,h2,h3,h5)
|
|
& +WWm8341(h5)
|
|
if (h5 == 1)
|
|
& ampa(dquq_dquq,h1,h2,h3,h5)=ampa(dquq_dquq,h1,h2,h3,h5)
|
|
& +WWm8561(h3)
|
|
|
|
ampa(dquq_dquq,h1,h2,h3,h5)=ampa(dquq_dquq,h1,h2,h3,h5)
|
|
& -srWWZZ81_72amp(h3,h5) ! note minus sign instead of exchanging 1<->7,2<->8
|
|
endif
|
|
|
|
ampa(dquq_dquq,h1,h2,h3,h5)=Bbit*ampa(dquq_dquq,h1,h2,h3,h5)
|
|
& +Hbit*WWZZ81_72amp(h3,h5)
|
|
endif
|
|
|
|
c--Fill Z exchange diagrams
|
|
ampb(dquq_dquq,h1,h2,h3,h5)=amp(dqcq_dqcq,h1,h2,h3,h5)
|
|
|
|
temp(1,2)=temp(1,2)+esq**6*spinavge
|
|
& *real(ampa(dquq_dquq,h1,h2,h3,h5)
|
|
& *conjg(ampa(dquq_dquq,h1,h2,h3,h5)))
|
|
temp(1,2)=temp(1,2)+esq**6*spinavge
|
|
& *real(ampb(dquq_dquq,h1,h2,h3,h5)
|
|
& *conjg(ampb(dquq_dquq,h1,h2,h3,h5)))
|
|
temp(1,2)=temp(1,2)-2d0/xn*esq**6*spinavge
|
|
& *real(ampa(dquq_dquq,h1,h2,h3,h5)
|
|
& *conjg(ampb(dquq_dquq,h1,h2,h3,h5)))
|
|
enddo
|
|
enddo
|
|
enddo
|
|
enddo
|
|
temp(3,4)=temp(1,2)
|
|
c-----------------------------------------------------------------
|
|
|
|
c-----setup for (dqsq_dqsq) (1,3)-->(1,3)
|
|
do h1=1,2
|
|
do h2=1,2
|
|
do h3=1,2
|
|
do h5=1,2
|
|
if (doHO .eqv. .false.) then
|
|
amp(dqsq_dqsq,h1,h2,h3,h5)=
|
|
& +cdotpr(j7_34_1(:,1,h1,h3),j8_56_2(:,1,h2,h5))*gmZ7341(1,1,h1,h2)
|
|
& +cdotpr(jl7_34_1(:,1,h1,h3),jl8_56_2(:,1,h2,h5))*ll7341(h3,h5)
|
|
& +cdotpr(j7_34_1(:,1,h1,h3),jl8_56_2(:,1,h2,h5))*gmZl7341(1,h1,h5)
|
|
& +cdotpr(jl7_34_1(:,1,h1,h3),j8_56_2(:,1,h2,h5))*gmZl7341(1,h2,h3)
|
|
|
|
amp(dqsq_dqsq,h1,h2,h3,h5)=amp(dqsq_dqsq,h1,h2,h3,h5)
|
|
& +cdotpr(j7_56_1(:,1,h1,h5),j8_34_2(:,1,h2,h3))*gmZ7561(1,1,h1,h2)
|
|
& +cdotpr(jl7_56_1(:,1,h1,h5),jl8_34_2(:,1,h2,h3))*ll7561(h5,h3)
|
|
& +cdotpr(j7_56_1(:,1,h1,h5),jl8_34_2(:,1,h2,h3))*gmZl7561(1,h1,h3)
|
|
& +cdotpr(jl7_56_1(:,1,h1,h5),j8_34_2(:,1,h2,h3))*gmZl7561(1,h2,h5)
|
|
|
|
amp(dqsq_dqsq,h1,h2,h3,h5)=amp(dqsq_dqsq,h1,h2,h3,h5)
|
|
& +cdotpr(j7_3456_1(:,1,h1,h3,h5),j8_2(:,h2))*gmZ82(1,1,h2,h1)
|
|
& +cdotpr(j8_3456_2(:,1,h2,h3,h5),j7_1(:,h1))*gmZ71(1,1,h1,h2)
|
|
|
|
amp(dqsq_dqsq,h1,h2,h3,h5)=amp(dqsq_dqsq,h1,h2,h3,h5)
|
|
& +ZZ7341(1,1,h1,h2,h3,h5)+ZZ7561(1,1,h1,h2,h5,h3)
|
|
endif
|
|
|
|
amp(dqsq_dqsq,h1,h2,h3,h5)=Bbit*amp(dqsq_dqsq,h1,h2,h3,h5)
|
|
& +Hbit*ZZHamp71_82(1,1,h1,h2,h3,h5)
|
|
|
|
qcd(dqsq_dqsq,h1,h2,h3,h5)=
|
|
& +cdotpr(j7_34_1(:,1,h1,h3),j8_56_2(:,1,h2,h5))/s7341
|
|
& +cdotpr(j7_56_1(:,1,h1,h5),j8_34_2(:,1,h2,h3))/s7561
|
|
& +cdotpr(j7_3456_1(:,1,h1,h3,h5),j8_2(:,h2))/s28
|
|
& +cdotpr(j8_3456_2(:,1,h2,h3,h5),j7_1(:,h1))/s17
|
|
|
|
temp(1,3)=temp(1,3)+esq**6*spinavge
|
|
& *real(amp(dqsq_dqsq,h1,h2,h3,h5)
|
|
& *conjg(amp(dqsq_dqsq,h1,h2,h3,h5)))
|
|
enddo
|
|
enddo
|
|
enddo
|
|
enddo
|
|
temp(1,5)=temp(1,3)
|
|
temp(3,5)=temp(1,3)
|
|
|
|
if ((j==2).or.(j==4).or.(j==6).or.(j==8)
|
|
& .or.(j==10).or.(j==12)) go to 100
|
|
c-----setup for ((uquq_uquq) (2,2)-->(2,2)
|
|
do h1=1,2
|
|
do h2=1,2
|
|
do h3=1,2
|
|
do h5=1,2
|
|
c-----------------ampa
|
|
ampa(uquq_uquq,h1,h2,h3,h5)=amp(uqcq_uqcq,h1,h2,h3,h5)
|
|
|
|
c-----------------ampb
|
|
if (doHO .eqv. .false.) then
|
|
ampb(uquq_uquq,h1,h2,h3,h5)=
|
|
& +cdotpr(j8_34_1(:,2,h1,h3),j7_56_2(:,2,h2,h5))*gmZ7562(2,2,h1,h2)
|
|
& +cdotpr(jl8_34_1(:,2,h1,h3),jl7_56_2(:,2,h2,h5))*ll7562(h3,h5)
|
|
& +cdotpr(j8_34_1(:,2,h1,h3),jl7_56_2(:,2,h2,h5))*gmZl7562(2,h1,h5)
|
|
& +cdotpr(jl8_34_1(:,2,h1,h3),j7_56_2(:,2,h2,h5))*gmZl7562(2,h2,h3)
|
|
ampb(uquq_uquq,h1,h2,h3,h5)=ampb(uquq_uquq,h1,h2,h3,h5)
|
|
& +cdotpr(j8_56_1(:,2,h1,h5),j7_34_2(:,2,h2,h3))*gmZ7342(2,2,h1,h2)
|
|
& +cdotpr(jl8_56_1(:,2,h1,h5),jl7_34_2(:,2,h2,h3))*ll7342(h5,h3)
|
|
& +cdotpr(j8_56_1(:,2,h1,h5),jl7_34_2(:,2,h2,h3))*gmZl7342(2,h1,h3)
|
|
& +cdotpr(jl8_56_1(:,2,h1,h5),j7_34_2(:,2,h2,h3))*gmZl7342(2,h2,h5)
|
|
|
|
ampb(uquq_uquq,h1,h2,h3,h5)=ampb(uquq_uquq,h1,h2,h3,h5)
|
|
& +cdotpr(j8_3456_1(:,2,h1,h3,h5),j7_2(:,h2))*gmZ72(2,2,h1,h2)
|
|
& +cdotpr(j8_1(:,h1),j7_3456_2(:,2,h2,h3,h5))*gmZ81(2,2,h1,h2)
|
|
|
|
ampb(uquq_uquq,h1,h2,h3,h5)=ampb(uquq_uquq,h1,h2,h3,h5)
|
|
& +ZZ8341(2,2,h1,h2,h3,h5)+ZZ8561(2,2,h1,h2,h5,h3)
|
|
endif
|
|
|
|
ampb(uquq_uquq,h1,h2,h3,h5)=Bbit*ampb(uquq_uquq,h1,h2,h3,h5)
|
|
& +Hbit*ZZHamp81_72(2,2,h1,h2,h3,h5)
|
|
|
|
c-----------------qcda
|
|
qcda(uquq_uquq,h1,h2,h3,h5)=qcd(uqcq_uqcq,h1,h2,h3,h5)
|
|
c-----------------qcdb
|
|
qcdb(uquq_uquq,h1,h2,h3,h5)=
|
|
& +cdotpr(j8_34_1(:,2,h1,h3),j7_56_2(:,2,h2,h5))/s7562
|
|
& +cdotpr(j8_56_1(:,2,h1,h5),j7_34_2(:,2,h2,h3))/s7342
|
|
& +cdotpr(j8_3456_1(:,2,h1,h3,h5),j7_2(:,h2))/s27
|
|
& +cdotpr(j8_1(:,h1),j7_3456_2(:,2,h2,h3,h5))/s18
|
|
|
|
temp(2,2)=temp(2,2)+esq**6*spinavge
|
|
& *real(ampa(uquq_uquq,h1,h2,h3,h5)
|
|
& *conjg(ampa(uquq_uquq,h1,h2,h3,h5)))
|
|
temp(2,2)=temp(2,2)+esq**6*spinavge
|
|
& *real(ampb(uquq_uquq,h1,h2,h3,h5)
|
|
& *conjg(ampb(uquq_uquq,h1,h2,h3,h5)))
|
|
if (h1 == h2) then
|
|
temp(2,2)=temp(2,2)-2d0/xn*esq**6*spinavge
|
|
& *real(ampa(uquq_uquq,h1,h2,h3,h5)
|
|
& *conjg(ampb(uquq_uquq,h1,h2,h3,h5)))
|
|
endif
|
|
|
|
enddo
|
|
enddo
|
|
enddo
|
|
enddo
|
|
temp(4,4)=temp(2,2)
|
|
|
|
|
|
c-----setup for ((dqdq_dqdq) (1,1)-->(1,1)
|
|
do h1=1,2
|
|
do h2=1,2
|
|
do h3=1,2
|
|
do h5=1,2
|
|
|
|
c-----------------ampa
|
|
ampa(dqdq_dqdq,h1,h2,h3,h5)=amp(dqsq_dqsq,h1,h2,h3,h5)
|
|
|
|
c-----------------ampb
|
|
if (doHO .eqv. .false.) then
|
|
ampb(dqdq_dqdq,h1,h2,h3,h5)=
|
|
& +cdotpr(j8_34_1(:,1,h1,h3),j7_56_2(:,1,h2,h5))*gmZ7562(1,1,h1,h2)
|
|
& +cdotpr(jl8_34_1(:,1,h1,h3),jl7_56_2(:,1,h2,h5))*ll7562(h3,h5)
|
|
& +cdotpr(j8_34_1(:,1,h1,h3),jl7_56_2(:,1,h2,h5))*gmZl7562(1,h1,h5)
|
|
& +cdotpr(jl8_34_1(:,1,h1,h3),j7_56_2(:,1,h2,h5))*gmZl7562(1,h2,h3)
|
|
ampb(dqdq_dqdq,h1,h2,h3,h5)=ampb(dqdq_dqdq,h1,h2,h3,h5)
|
|
& +cdotpr(j8_56_1(:,1,h1,h5),j7_34_2(:,1,h2,h3))*gmZ7342(1,1,h1,h2)
|
|
& +cdotpr(jl8_56_1(:,1,h1,h5),jl7_34_2(:,1,h2,h3))*ll7342(h5,h3)
|
|
& +cdotpr(j8_56_1(:,1,h1,h5),jl7_34_2(:,1,h2,h3))*gmZl7342(1,h1,h3)
|
|
& +cdotpr(jl8_56_1(:,1,h1,h5),j7_34_2(:,1,h2,h3))*gmZl7342(1,h2,h5)
|
|
|
|
ampb(dqdq_dqdq,h1,h2,h3,h5)=ampb(dqdq_dqdq,h1,h2,h3,h5)
|
|
& +cdotpr(j8_3456_1(:,1,h1,h3,h5),j7_2(:,h2))*gmZ72(1,1,h1,h2)
|
|
& +cdotpr(j8_1(:,h1),j7_3456_2(:,1,h2,h3,h5))*gmZ81(1,1,h1,h2)
|
|
|
|
ampb(dqdq_dqdq,h1,h2,h3,h5)=ampb(dqdq_dqdq,h1,h2,h3,h5)
|
|
& +ZZ8341(1,1,h1,h2,h3,h5)+ZZ8561(1,1,h1,h2,h5,h3)
|
|
endif
|
|
|
|
ampb(dqdq_dqdq,h1,h2,h3,h5)=Bbit*ampb(dqdq_dqdq,h1,h2,h3,h5)
|
|
& +Hbit*ZZHamp81_72(1,1,h1,h2,h3,h5)
|
|
|
|
c-----------------qcda
|
|
qcda(dqdq_dqdq,h1,h2,h3,h5)=qcd(dqsq_dqsq,h1,h2,h3,h5)
|
|
c-----------------qcdb
|
|
qcdb(dqdq_dqdq,h1,h2,h3,h5)=
|
|
& +cdotpr(j8_34_1(:,1,h1,h3),j7_56_2(:,1,h2,h5))/s7562
|
|
& +cdotpr(j8_56_1(:,1,h1,h5),j7_34_2(:,1,h2,h3))/s7342
|
|
& +cdotpr(j8_3456_1(:,1,h1,h3,h5),j7_2(:,h2))/s27
|
|
& +cdotpr(j8_1(:,h1),j7_3456_2(:,1,h2,h3,h5))/s18
|
|
|
|
temp(1,1)=temp(1,1)+esq**6*spinavge
|
|
& *real(ampa(dqdq_dqdq,h1,h2,h3,h5)
|
|
& *conjg(ampa(dqdq_dqdq,h1,h2,h3,h5)))
|
|
temp(1,1)=temp(1,1)+esq**6*spinavge
|
|
& *real(ampb(dqdq_dqdq,h1,h2,h3,h5)
|
|
& *conjg(ampb(dqdq_dqdq,h1,h2,h3,h5)))
|
|
if (h1 == h2) then
|
|
temp(1,1)=temp(1,1)-2d0/xn*esq**6*spinavge
|
|
& *real(ampa(dqdq_dqdq,h1,h2,h3,h5)
|
|
& *conjg(ampb(dqdq_dqdq,h1,h2,h3,h5)))
|
|
endif
|
|
|
|
enddo
|
|
enddo
|
|
enddo
|
|
enddo
|
|
temp(3,3)=temp(1,1)
|
|
temp(5,5)=temp(1,1)
|
|
100 continue
|
|
|
|
if (j==1) then
|
|
do k=1,nf
|
|
msq(k,k)=temp(k,k)*stat
|
|
do l=k+1,nf
|
|
msq(k,l)=temp(k,l)
|
|
enddo
|
|
enddo
|
|
msq(2,3)=msq(2,3)+tempw(2,3)
|
|
msq(1,4)=msq(1,4)+tempw(1,4)
|
|
|
|
elseif (j==2) then
|
|
do k=1,nf
|
|
do l=k+1,nf
|
|
msq(l,k)=temp(k,l)
|
|
enddo
|
|
enddo
|
|
msq(3,2)=msq(3,2)+tempw(2,3)
|
|
msq(4,1)=msq(4,1)+tempw(1,4)
|
|
|
|
elseif (j==3) then
|
|
do k=-nf,-1
|
|
msq(k,k)=temp(-k,-k)*stat
|
|
do l=k+1,-1
|
|
msq(k,l)=temp(-l,-k)
|
|
enddo
|
|
enddo
|
|
msq(-3,-2)=msq(-3,-2)+tempw(1,4)
|
|
msq(-4,-1)=msq(-4,-1)+tempw(2,3)
|
|
|
|
elseif (j==4) then
|
|
do k=-nf,-1
|
|
do l=k+1,-1
|
|
msq(l,k)=temp(-l,-k)
|
|
enddo
|
|
enddo
|
|
msq(-2,-3)=msq(-2,-3)+tempw(1,4)
|
|
msq(-1,-4)=msq(-1,-4)+tempw(2,3)
|
|
|
|
c--- qbar-q
|
|
elseif (j==5) then
|
|
do k=-nf,-1
|
|
msq(k,-k)=temp(-k,-k)
|
|
do l=1,nf
|
|
if (abs(k) < abs(l)) then
|
|
msq(k,l)=temp(-k,l)
|
|
endif
|
|
enddo
|
|
enddo
|
|
msq(-1,3)=msq(-1,3)+tempw(2,3)
|
|
msq(-2,4)=msq(-2,4)+tempw(1,4)
|
|
|
|
c--- qbar-q
|
|
elseif (j==6) then
|
|
do k=-nf,-1
|
|
do l=1,nf
|
|
if (abs(k) > abs(l)) then
|
|
msq(k,l)=temp(l,-k)
|
|
endif
|
|
enddo
|
|
enddo
|
|
msq(-3,1)=msq(-3,1)+tempw(1,4)
|
|
msq(-4,2)=msq(-4,2)+tempw(2,3)
|
|
|
|
c--- q-qbar
|
|
elseif (j==7) then
|
|
do k=-nf,-1
|
|
msq(-k,k)=temp(-k,-k)
|
|
do l=1,nf
|
|
if (abs(k) < abs(l)) then
|
|
msq(l,k)=temp(-k,l)
|
|
endif
|
|
enddo
|
|
enddo
|
|
msq(3,-1)=msq(3,-1)+tempw(2,3)
|
|
msq(4,-2)=msq(4,-2)+tempw(1,4)
|
|
|
|
c--- q-qbar
|
|
elseif (j==8) then
|
|
do k=-nf,-1
|
|
do l=-nf,-1
|
|
if (abs(k) < abs(l)) then
|
|
msq(-k,l)=temp(-k,-l)
|
|
endif
|
|
enddo
|
|
enddo
|
|
msq(1,-3)=msq(1,-3)+tempw(1,4)
|
|
msq(2,-4)=msq(2,-4)+tempw(2,3)
|
|
|
|
c--- q-qbar extra pieces
|
|
elseif (j==9) then
|
|
do k=1,nf
|
|
do l=1,nf
|
|
if (k < l) then
|
|
msq(k,-k)=msq(k,-k)+temp(k,l)
|
|
endif
|
|
enddo
|
|
enddo
|
|
msq(1,-2)=msq(1,-2)+tempw(1,4) ! d u~ -> c~ s
|
|
msq(3,-4)=msq(1,-2)
|
|
msq(2,-1)=msq(2,-1)+tempw(2,3)
|
|
msq(4,-3)=msq(2,-1)
|
|
|
|
c--- q-qbar extra pieces
|
|
elseif (j==10) then
|
|
do k=1,nf
|
|
do l=1,nf
|
|
if (k > l) then
|
|
msq(k,-k)=msq(k,-k)+temp(l,k)
|
|
endif
|
|
enddo
|
|
enddo
|
|
|
|
c--- qbar-q extra pieces
|
|
elseif (j==11) then
|
|
do k=1,nf
|
|
do l=1,nf
|
|
if (k < l) then
|
|
msq(-k,k)=msq(-k,k)+temp(k,l)
|
|
endif
|
|
enddo
|
|
enddo
|
|
msq(-2,1)=msq(-2,1)+tempw(1,4) ! u~ d -> c~ s
|
|
msq(-4,3)=msq(-2,1)
|
|
msq(-1,2)=msq(-1,2)+tempw(2,3) ! d~ u -> s~ c
|
|
msq(-3,4)=msq(-1,2)
|
|
|
|
c--- qbar-q extra pieces
|
|
elseif (j==12) then
|
|
do k=1,nf
|
|
do l=1,nf
|
|
if (k > l) then
|
|
msq(-k,k)=msq(-k,k)+temp(l,k)
|
|
endif
|
|
enddo
|
|
enddo
|
|
|
|
endif
|
|
|
|
|
|
enddo
|
|
|
|
return
|
|
|
|
77 format(' * W-mass^2 (',f11.5,',',f11.5,') *')
|
|
78 format(' * Z-mass^2 (',f11.5,',',f11.5,') *')
|
|
79 format(' * sin^2(theta_w) (',f11.5,',',f11.5,') *')
|
|
|
|
end
|
|
|