12 real(
dp),
public,
parameter ::
tag1 = 1.0_dp
13 real(
dp),
public,
parameter ::
tag2 = 1.0_dp
24 real(
dp),
intent(in) :: p(4,5)
25 real(
dp),
intent(out) :: res(-5:5,-5:5)
26 real(
dp) :: sprod(4,4)
27 complex(dp) :: za(4,4), zb(4,4)
28 real(
dp) :: restmp, restmpid
33 call spinoru2(4,(/-p(:,1),-p(:,2),p(:,3),p(:,4)/),za,zb,sprod)
36 call me2_ggggh(1,2,3,4,za,zb,sprod,restmp)
38 res(0,0) = res(0,0) + restmp
42 restmp = restmp *
avegg
43 res(0,0) = res(0,0) + restmp *
nf
47 restmp = restmp *
aveqg
49 res(0,i) = res(0,i) + restmp
50 res(0,-i) = res(0,-i) + restmp
53 restmp = restmp *
aveqg
55 res(i,0) = res(i,0) + restmp
56 res(-i,0) = res(-i,0) + restmp
63 res(i,-i) = res(i,-i) + restmp
64 res(-i,i) = res(-i,i) + restmp
68 call me2_qbqqbq(1,2,4,3,za,zb,sprod,restmp,restmpid)
69 restmp = restmpid *
aveqq
71 res(i,-i) =res(i,-i) + restmp
73 call me2_qbqqbq(2,1,4,3,za,zb,sprod,restmp,restmpid)
74 restmp = restmpid *
aveqq
76 res(-i,i) =res(-i,i) + restmp
80 call me2_qbqqbq(1,2,4,3,za,zb,sprod,restmp,restmpid)
81 restmp = restmp *
aveqq
83 res(i,-i) =res(i,-i) + restmp * (
nf-1.0_dp)
84 res(-i,i) = res(-i,i) + restmp * (
nf-1.0_dp)
88 call me2_qbqqbq(1,3,4,2,za,zb,sprod,restmp,restmpid)
89 restmp = restmp *
aveqq
92 if (i.ne.j) res(i,-j) = res(i,-j) + restmp
95 call me2_qbqqbq(2,3,4,1,za,zb,sprod,restmp,restmpid)
96 restmp = restmp *
aveqq
99 if (i.ne.j) res(-j,i) = res(-j,i) + restmp
104 call me2_qbqqbq(1,3,2,4,za,zb,sprod,restmp,restmpid)
107 res(i,i) = res(i,i) + restmp
108 res(-i,-i) = res(-i,-i) + restmp
112 call me2_qbqqbq(1,3,2,4,za,zb,sprod,restmp,restmpid)
113 restmp = restmp *
aveqq
117 res(i,j) = res(i,j) + restmp
118 res(-i,-j) = res(-i,-j) + restmp
123 res(:,:) = res(:,:) * (2d0/3d0*
alphas**2)**2
135 real(
dp),
intent(in) :: p(4,5)
136 integer,
intent(in) :: isel,jsel,flav_tag
137 real(
dp),
intent(out) :: res(-5:5,-5:5)
138 real(
dp) :: sprod(4,4)
139 complex(dp) :: za(4,4), zb(4,4)
140 real(
dp) :: restmp, restmpid
141 integer :: i, j,iflip
145 call spinoru2(4,(/-p(:,1),-p(:,2),p(:,3),p(:,4)/),za,zb,sprod)
149 if( isel.eq.
pdfglu_ .and. jsel.eq.
pdfglu_ .and. flav_tag.eq.1 )
then
150 call me2_ggggh(1,2,3,4,za,zb,sprod,restmp)
152 restmp = restmp * (2d0/3d0*
alphas**2)**2
153 res(isel,jsel) = restmp
159 if( isel.eq.
pdfglu_ .and. jsel.eq.
pdfglu_ .and. flav_tag.eq.2 )
then
161 restmp = restmp *
avegg
162 restmp = restmp * (2d0/3d0*
alphas**2)**2
163 res(isel,jsel) = restmp *
nf
170 if( isel.eq.
pdfglu_ .and. jsel.ne.0 )
then
172 restmp = restmp *
aveqg
173 restmp = restmp * (2d0/3d0*
alphas**2)**2
174 res(isel,jsel) = restmp
178 if( jsel.eq.
pdfglu_ .and. isel.ne.0 )
then
181 restmp = restmp *
aveqg
182 restmp = restmp * (2d0/3d0*
alphas**2)**2
183 res(isel,jsel) = restmp
190 if( isel.ne.0 .and. jsel.eq.-isel .and. flav_tag.eq.1 )
then
193 restmp = restmp * (2d0/3d0*
alphas**2)**2
194 res(isel,jsel) = restmp
200 if( isel.gt.0 .and. jsel.eq.-isel .and. flav_tag.eq.2 )
then
201 call me2_qbqqbq(1,2,4,3,za,zb,sprod,restmp,restmpid)
202 restmp = restmpid *
aveqq
203 restmp = restmp * (2d0/3d0*
alphas**2)**2
204 res(isel,jsel) = restmp
208 if( isel.lt.0 .and. jsel.eq.-isel .and. flav_tag.eq.2 )
then
210 call me2_qbqqbq(2,1,4,3,za,zb,sprod,restmp,restmpid)
211 restmp = restmpid *
aveqq
212 restmp = restmp * (2d0/3d0*
alphas**2)**2
213 res(isel,jsel) = restmp
219 if( isel.ne.0 .and. jsel.eq.-isel .and. flav_tag.eq.3 )
then
220 call me2_qbqqbq(1,2,4,3,za,zb,sprod,restmp,restmpid)
221 restmp = restmp *
aveqq
222 restmp = restmp * (2d0/3d0*
alphas**2)**2
223 res(isel,jsel) = restmp * (
nf-1.0_dp)
230 if( isel.gt.0 .and. jsel.lt.0 .and. isel.ne.jsel )
then
231 call me2_qbqqbq(1,3,4,2,za,zb,sprod,restmp,restmpid)
232 restmp = restmp *
aveqq
233 restmp = restmp * (2d0/3d0*
alphas**2)**2
234 res(isel,jsel) = restmp
238 if( isel.lt.0 .and. jsel.gt.0 .and. isel.ne.jsel )
then
240 call me2_qbqqbq(2,3,4,1,za,zb,sprod,restmp,restmpid)
241 restmp = restmp *
aveqq
242 restmp = restmp * (2d0/3d0*
alphas**2)**2
243 res(isel,jsel) = restmp
251 if( isel.ne.0 .and. isel.eq.jsel )
then
252 call me2_qbqqbq(1,3,2,4,za,zb,sprod,restmp,restmpid)
254 restmp = restmp * (2d0/3d0*
alphas**2)**2
255 res(isel,jsel) = restmp
262 if( isel.gt.0 .and. jsel.gt.0 .and. isel.ne.jsel )
then
263 call me2_qbqqbq(1,3,2,4,za,zb,sprod,restmp,restmpid)
264 restmp = restmp *
aveqq
265 restmp = restmp * (2d0/3d0*
alphas**2)**2
266 res(isel,jsel) = restmp
270 if( isel.lt.0 .and. jsel.lt.0 .and. isel.ne.jsel )
then
271 call me2_qbqqbq(1,3,2,4,za,zb,sprod,restmp,restmpid)
272 restmp = restmp *
aveqq
273 restmp = restmp * (2d0/3d0*
alphas**2)**2
274 res(isel,jsel) = restmp
286 real(
dp),
intent(in) :: p(4,5)
287 integer,
intent(in) :: isel,jsel,rsel,ssel
288 real(
dp),
intent(out) :: res
289 real(
dp) :: sprod(4,4)
290 complex(dp) :: za(4,4), zb(4,4)
291 real(
dp) :: restmp, restmpid
293 integer :: j1,j2,k1,k2
294 logical :: isgggg,isqqgg,isqqqq,isqqqq_idq
321 elseif(ssel.eq.(-rsel))
then
339 if(rsel.eq.isel .and. ssel.eq.jsel)
then
342 elseif(ssel.eq.isel .and. rsel.eq.jsel)
then
348 if(rsel.eq.isel .and. ssel.eq.jsel)
then
351 elseif(ssel.eq.isel .and. rsel.eq.jsel)
then
363 if(rsel.eq.isel .and. ssel.eq.jsel)
then
366 elseif(ssel.eq.isel .and. rsel.eq.jsel)
then
372 if(rsel.eq.isel .and. ssel.eq.jsel)
then
375 elseif(ssel.eq.isel .and. rsel.eq.jsel)
then
388 if(jsel.eq.(-isel))
then
399 elseif(ssel.eq.(-rsel))
then
402 if(rsel .eq. isel .or. rsel.eq.jsel) isqqqq_idq=.true.
406 if(rsel .eq. isel .or. rsel.eq.jsel) isqqqq_idq=.true.
412 elseif(jsel.eq.isel)
then
419 if(rsel.gt.0 .and. rsel.eq.ssel .and. rsel.eq.isel)
then
423 elseif(rsel.lt.0 .and. rsel.eq.ssel .and. rsel.eq.isel)
then
429 elseif(jsel.eq.sign(jsel,isel))
then
436 if(rsel.gt.0 .and. rsel.ne.ssel .and. rsel.eq.sign(rsel,ssel) .and. rsel.eq.isel)
then
439 elseif(rsel.lt.0 .and. rsel.ne.ssel .and. rsel.eq.sign(rsel,ssel) .and. rsel.eq.isel)
then
442 elseif(rsel.gt.0 .and. rsel.ne.ssel .and. rsel.eq.sign(rsel,ssel) .and. rsel.eq.jsel)
then
445 elseif(rsel.lt.0 .and. rsel.ne.ssel .and. rsel.eq.sign(rsel,ssel) .and. rsel.eq.jsel)
then
450 elseif(jsel.eq.(-sign(jsel,isel)))
then
457 if(rsel.gt.0 .and. rsel.ne.ssel .and. rsel.ne.sign(rsel,ssel) .and. rsel.eq.isel)
then
460 elseif(rsel.lt.0 .and. rsel.ne.ssel .and. rsel.ne.sign(rsel,ssel) .and. rsel.eq.isel)
then
463 elseif(rsel.lt.0 .and. rsel.ne.ssel .and. rsel.ne.sign(rsel,ssel) .and. rsel.eq.jsel)
then
466 elseif(rsel.gt.0 .and. rsel.ne.ssel .and. rsel.ne.sign(rsel,ssel) .and. rsel.eq.jsel)
then
475 if(j1.eq.0 .or. j2.eq.0 .or. k1.eq.0 .or. k2.eq.0)
then
476 print *,
"Could not recognize the incoming flavors!"
477 print *,
"iSel: ",isel,
", jSel: ",jsel,
" rSel: ",rsel,
" sSel: ",ssel
478 print *,
"j1: ",j1,
", j2: ",j2,
" k1: ",k1,
" k2: ",k2
489 print *,
"is qbqQBQ id"
493 call spinoru2(4,(/-p(:,1),-p(:,2),p(:,3),p(:,4)/),za,zb,sprod)
496 call me2_ggggh(j1,j2,k1,k2,za,zb,sprod,restmp)
499 call me2_qbqqbq(j1,j2,k1,k2,za,zb,sprod,restmp,restmpid)
501 restmp = restmpid *
aveqq
502 if(isel.eq.jsel) restmp = restmp *
symmfac
504 restmp = restmp *
aveqq
505 if(isel .eq. (-jsel) .and. rsel .eq. (-ssel) .and. abs(isel) .ne. abs(rsel)) restmp = restmp * (
nf-1.0_dp)
508 call me2_qbqggh(j1,j2,k1,k2,za,zb,sprod,restmp)
514 restmp = restmp *
aveqg
518 restmp = restmp * (2d0/3d0*
alphas**2)**2
526 real(
dp),
intent(in) :: p(4,5)
527 real(
dp),
intent(out) :: res(-5:5,-5:5)
528 complex(dp) :: amp_z(-1:1,-1:1), amp_z_b(-1:1,-1:1)
529 complex(dp) :: amp_w(-1:1,-1:1)
530 real(
dp) :: sprod(4,4)
531 complex(dp) :: za(4,4), zb(4,4)
536 real(
dp) :: restmp=0d0
537 integer :: i, j, j1, j2, iflip, pdfindex(2)
548 call spinoru2(4,(/-p(:,1),-p(:,2),p(:,3),p(:,4)/),za,zb,sprod)
591 restmp = ((abs(amp_z(-1,-1))**2+abs(amp_z_b(-1,-1))**2) * lu**2 + &
592 (abs(amp_z(-1,+1))**2+abs(amp_z_b(-1,+1))**2) * lu * ru + &
593 (abs(amp_z(+1,-1))**2+abs(amp_z_b(+1,-1))**2) * lu * ru + &
594 (abs(amp_z(+1,+1))**2+abs(amp_z_b(+1,+1))**2) * ru**2) *
xn**2
596 restmp = restmp + (
two * real(amp_z(-1,-1)*conjg(amp_z_b(-1,-1)),kind=
dp) * lu**2 + &
597 two * real(amp_z(+1,+1)*conjg(amp_z_b(+1,+1)),kind=
dp) * ru**2) *
xn
609 restmp = ((abs(amp_z(-1,-1))**2+abs(amp_z_b(-1,-1))**2) * ld**2 + &
610 (abs(amp_z(-1,+1))**2+abs(amp_z_b(-1,+1))**2) * ld * rd + &
611 (abs(amp_z(+1,-1))**2+abs(amp_z_b(+1,-1))**2) * ld * rd + &
612 (abs(amp_z(+1,+1))**2+abs(amp_z_b(+1,+1))**2) * rd**2) *
xn**2
614 restmp = restmp + (
two * real(amp_z(-1,-1)*conjg(amp_z_b(-1,-1)),kind=
dp) * ld**2 + &
615 two * real(amp_z(+1,+1)*conjg(amp_z_b(+1,+1)),kind=
dp) * rd**2) *
xn
627 restmp = ((abs(amp_z(-1,-1))**2+abs(amp_z_b(-1,-1))**2) * lu**2 + &
628 (abs(amp_z(-1,+1))**2+abs(amp_z_b(-1,+1))**2) * lu * ru + &
629 (abs(amp_z(+1,-1))**2+abs(amp_z_b(+1,-1))**2) * lu * ru + &
630 (abs(amp_z(+1,+1))**2+abs(amp_z_b(+1,+1))**2) * ru**2) *
xn**2
632 restmp = restmp + (
two * real(amp_z(-1,-1)*conjg(amp_z_b(-1,-1)),kind=
dp) * lu**2 + &
633 two * real(amp_z(+1,+1)*conjg(amp_z_b(+1,+1)),kind=
dp) * ru**2) *
xn
641 restmp = ((abs(amp_z(-1,-1))**2+abs(amp_z_b(-1,-1))**2) * ld**2 + &
642 (abs(amp_z(-1,+1))**2+abs(amp_z_b(-1,+1))**2) * ld * rd + &
643 (abs(amp_z(+1,-1))**2+abs(amp_z_b(+1,-1))**2) * ld * rd + &
644 (abs(amp_z(+1,+1))**2+abs(amp_z_b(+1,+1))**2) * rd**2) *
xn**2
646 restmp = restmp + (
two * real(amp_z(-1,-1)*conjg(amp_z_b(-1,-1)),kind=
dp) * ld**2 + &
647 two * real(amp_z(+1,+1)*conjg(amp_z_b(+1,+1)),kind=
dp) * rd**2) *
xn
663 restmp = ((abs(amp_z(-1,-1))**2) * ld * lu + &
664 (abs(amp_z(-1,+1))**2) * ld * ru + &
665 (abs(amp_z(+1,-1))**2) * rd * lu + &
666 (abs(amp_z(+1,+1))**2) * rd * ru) * couplz**2 *
xn**2
668 restmp = restmp + abs(amp_w(-1,-1))**2 * couplw**2 *
xn**2
670 restmp = restmp +
two * real(amp_z(-1,-1)*conjg(amp_w(-1,-1)),kind=
dp) * &
673 restmp = restmp *
aveqq
676 res(pdfindex(1),pdfindex(2)) = restmp
678 res(pdfindex(1),pdfindex(2)) = restmp
684 restmp = ((abs(amp_z(-1,-1))**2) * ld * lu + &
685 (abs(amp_z(-1,+1))**2) * ld * ru + &
686 (abs(amp_z(+1,-1))**2) * rd * lu + &
687 (abs(amp_z(+1,+1))**2) * rd * ru) * couplz**2 *
xn**2
689 restmp = restmp + abs(amp_w(-1,-1))**2 * couplw**2 *
xn**2
691 restmp = restmp +
two * real(amp_z(-1,-1)*conjg(amp_w(-1,-1)),kind=
dp) * &
694 restmp = restmp *
aveqq
697 res(pdfindex(1),pdfindex(2)) = restmp
699 res(pdfindex(1),pdfindex(2)) = restmp
716 restmp = ((abs(amp_z(-1,-1))**2) * lu * lu + &
717 (abs(amp_z(-1,+1))**2) * lu * ru + &
718 (abs(amp_z(+1,-1))**2) * ru * lu + &
719 (abs(amp_z(+1,+1))**2) * ru * ru) * couplz**2 *
spinavg *
tag1
720 restmp = restmp + abs(amp_w(-1,-1))**2 * couplw**2 *
spinavg *
tag2
723 res(pdfindex(1),pdfindex(2)) = restmp
725 res(pdfindex(1),pdfindex(2)) = restmp
727 res(pdfindex(1),pdfindex(2)) = restmp
729 res(pdfindex(1),pdfindex(2)) = restmp
732 restmp = ((abs(amp_z(-1,-1))**2) * lu * ld + &
733 (abs(amp_z(-1,+1))**2) * lu * rd + &
734 (abs(amp_z(+1,-1))**2) * ru * ld + &
735 (abs(amp_z(+1,+1))**2) * ru * rd) * couplz**2 *
spinavg
738 res(pdfindex(1),pdfindex(2)) = restmp
740 res(pdfindex(1),pdfindex(2)) = restmp
742 res(pdfindex(1),pdfindex(2)) = restmp
744 res(pdfindex(1),pdfindex(2)) = restmp
746 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
748 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
751 restmp = ((abs(amp_z(-1,-1))**2) * ld * lu + &
752 (abs(amp_z(-1,+1))**2) * ld * ru + &
753 (abs(amp_z(+1,-1))**2) * rd * lu + &
754 (abs(amp_z(+1,+1))**2) * rd * ru) * couplz**2 *
spinavg
757 res(pdfindex(1),pdfindex(2)) = restmp
759 res(pdfindex(1),pdfindex(2)) = restmp
761 res(pdfindex(1),pdfindex(2)) = restmp
763 res(pdfindex(1),pdfindex(2)) = restmp
765 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
767 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
770 restmp = ((abs(amp_z(-1,-1))**2) * ld * ld + &
771 (abs(amp_z(-1,+1))**2) * ld * rd + &
772 (abs(amp_z(+1,-1))**2) * rd * ld + &
773 (abs(amp_z(+1,+1))**2) * rd * rd) * couplz**2 *
spinavg *
tag1
776 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
778 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
780 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
782 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
784 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
786 restmp = restmp + abs(amp_w(-1,-1))**2 * couplw**2 *
spinavg *
tag2
789 res(pdfindex(1),pdfindex(2)) = restmp
791 res(pdfindex(1),pdfindex(2)) = restmp
793 res(pdfindex(1),pdfindex(2)) = restmp
795 res(pdfindex(1),pdfindex(2)) = restmp
802 restmp = ((abs(amp_z(-1,-1))**2) * lu * lu + &
803 (abs(amp_z(-1,+1))**2) * lu * ru + &
804 (abs(amp_z(+1,-1))**2) * ru * lu + &
805 (abs(amp_z(+1,+1))**2) * ru * ru) * couplz**2 *
spinavg
808 res(pdfindex(1),pdfindex(2)) = restmp
811 restmp = ((abs(amp_z(-1,-1))**2) * lu * ld + &
812 (abs(amp_z(-1,+1))**2) * lu * rd + &
813 (abs(amp_z(+1,-1))**2) * ru * ld + &
814 (abs(amp_z(+1,+1))**2) * ru * rd) * couplz**2 *
spinavg *
tag1
817 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
819 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
821 restmp = restmp + abs(amp_w(-1,-1))**2 * couplw**2 *
spinavg *
tag2
824 res(pdfindex(1),pdfindex(2)) = restmp
826 res(pdfindex(1),pdfindex(2)) = restmp
829 restmp = ((abs(amp_z(-1,-1))**2) * ld * ld + &
830 (abs(amp_z(-1,+1))**2) * ld * rd + &
831 (abs(amp_z(+1,-1))**2) * rd * ld + &
832 (abs(amp_z(+1,+1))**2) * rd * rd) * couplz**2 *
spinavg
835 res(pdfindex(1),pdfindex(2)) = restmp
837 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
839 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
846 restmp = ((abs(amp_z(-1,-1))**2) * lu * lu + &
847 (abs(amp_z(-1,+1))**2) * lu * ru + &
848 (abs(amp_z(+1,-1))**2) * ru * lu + &
849 (abs(amp_z(+1,+1))**2) * ru * ru) * couplz**2 *
spinavg
852 res(pdfindex(1),pdfindex(2)) = restmp
855 restmp = ((abs(amp_z(-1,-1))**2) * lu * ld + &
856 (abs(amp_z(-1,+1))**2) * lu * rd + &
857 (abs(amp_z(+1,-1))**2) * ru * ld + &
858 (abs(amp_z(+1,+1))**2) * ru * rd) * couplz**2 *
spinavg *
tag1
861 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
863 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
865 restmp = restmp + abs(amp_w(-1,-1))**2 * couplw**2 *
spinavg *
tag2
868 res(pdfindex(1),pdfindex(2)) = restmp
870 res(pdfindex(1),pdfindex(2)) = restmp
873 restmp = ((abs(amp_z(-1,-1))**2) * ld * ld + &
874 (abs(amp_z(-1,+1))**2) * ld * rd + &
875 (abs(amp_z(+1,-1))**2) * rd * ld + &
876 (abs(amp_z(+1,+1))**2) * rd * rd) * couplz**2 *
spinavg
879 res(pdfindex(1),pdfindex(2)) = restmp
881 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
883 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
899 real(
dp),
intent(in) :: p(4,5)
900 real(
dp),
intent(out) :: res(-5:5,-5:5)
901 logical,
intent(in) :: zz_fusion
902 integer,
intent(in) :: isel,jsel
903 complex(dp) :: amp_z(-1:1,-1:1), amp_z_b(-1:1,-1:1)
904 complex(dp) :: amp_w(-1:1,-1:1)
905 real(
dp) :: sprod(4,4)
906 complex(dp) :: za(4,4), zb(4,4)
908 integer :: i, j, j1, j2, iflip, pdfindex(2)
910 call spinoru2(4,(/-p(:,1),-p(:,2),p(:,3),p(:,4)/),za,zb,sprod)
916 amp_z =
a0_zz_4f(4,1,3,2,za,zb,sprod,isel,jsel)
917 amp_z_b = -
a0_zz_4f(3,1,4,2,za,zb,sprod,isel,jsel)
919 restmp = ((abs(amp_z(-1,-1))**2+abs(amp_z_b(-1,-1))**2) + &
920 (abs(amp_z(-1,+1))**2+abs(amp_z_b(-1,+1))**2) + &
921 (abs(amp_z(+1,-1))**2+abs(amp_z_b(+1,-1))**2) + &
922 (abs(amp_z(+1,+1))**2+abs(amp_z_b(+1,+1))**2)) *
xn**2
924 restmp = restmp + (
two * real(amp_z(-1,-1)*conjg(amp_z_b(-1,-1)),kind=
dp) + &
925 two * real(amp_z(+1,+1)*conjg(amp_z_b(+1,+1)),kind=
dp)) *
xn
929 if( .not. zz_fusion ) restmp = 0.0d0
940 amp_z =
a0_zz_4f(4,1,3,2,za,zb,sprod,isel,jsel)
941 amp_z_b = -
a0_zz_4f(3,1,4,2,za,zb,sprod,isel,jsel)
943 restmp = ((abs(amp_z(-1,-1))**2+abs(amp_z_b(-1,-1))**2) + &
944 (abs(amp_z(-1,+1))**2+abs(amp_z_b(-1,+1))**2) + &
945 (abs(amp_z(+1,-1))**2+abs(amp_z_b(+1,-1))**2) + &
946 (abs(amp_z(+1,+1))**2+abs(amp_z_b(+1,+1))**2)) *
xn**2
948 restmp = restmp + (
two * real(amp_z(-1,-1)*conjg(amp_z_b(-1,-1)),kind=
dp) + &
949 two * real(amp_z(+1,+1)*conjg(amp_z_b(+1,+1)),kind=
dp)) *
xn
953 if( .not. zz_fusion ) restmp = 0.0d0
964 amp_z =
a0_zz_4f(1,4,2,3,za,zb,sprod,isel,jsel)
965 amp_z_b = -
a0_zz_4f(1,3,2,4,za,zb,sprod,isel,jsel)
967 restmp = ((abs(amp_z(-1,-1))**2+abs(amp_z_b(-1,-1))**2) + &
968 (abs(amp_z(-1,+1))**2+abs(amp_z_b(-1,+1))**2) + &
969 (abs(amp_z(+1,-1))**2+abs(amp_z_b(+1,-1))**2) + &
970 (abs(amp_z(+1,+1))**2+abs(amp_z_b(+1,+1))**2)) *
xn**2
972 restmp = restmp + (
two * real(amp_z(-1,-1)*conjg(amp_z_b(-1,-1)),kind=
dp) + &
973 two * real(amp_z(+1,+1)*conjg(amp_z_b(+1,+1)),kind=
dp)) *
xn
977 if( .not. zz_fusion ) restmp = 0.0d0
987 amp_z =
a0_zz_4f(1,4,2,3,za,zb,sprod,isel,jsel)
988 amp_z_b = -
a0_zz_4f(1,3,2,4,za,zb,sprod,isel,jsel)
989 restmp = ((abs(amp_z(-1,-1))**2+abs(amp_z_b(-1,-1))**2) + &
990 (abs(amp_z(-1,+1))**2+abs(amp_z_b(-1,+1))**2) + &
991 (abs(amp_z(+1,-1))**2+abs(amp_z_b(+1,-1))**2) + &
992 (abs(amp_z(+1,+1))**2+abs(amp_z_b(+1,+1))**2)) *
xn**2
994 restmp = restmp + (
two * real(amp_z(-1,-1)*conjg(amp_z_b(-1,-1)),kind=
dp) + &
995 two * real(amp_z(+1,+1)*conjg(amp_z_b(+1,+1)),kind=
dp)) *
xn
999 if( .not. zz_fusion ) restmp = 0.0d0
1017 amp_z =
a0_zz_4f(4,j2,3,j1,za,zb,sprod,jsel,isel)
1018 amp_w = -
a0_ww_4f(4,j1,3,j2,za,zb,sprod,isel,jsel,usewwcoupl=.true.,wpm_flip=.true.)
1019 if( zz_fusion )
then
1020 restmp = ((abs(amp_z(-1,-1))**2) + &
1021 (abs(amp_z(-1,+1))**2) + &
1022 (abs(amp_z(+1,-1))**2) + &
1023 (abs(amp_z(+1,+1))**2)) *
xn**2
1026 abs(amp_w(-1,-1))**2 + &
1027 abs(amp_w(-1,+1))**2 + &
1028 abs(amp_w(+1,-1))**2 + &
1029 abs(amp_w(+1,+1))**2 &
1031 restmp = restmp +
two * ( &
1032 real(amp_z(-1,-1)*conjg(amp_w(-1,-1)),kind=
dp) + &
1033 real(amp_z(-1,+1)*conjg(amp_w(-1,+1)),kind=
dp) + &
1034 real(amp_z(+1,-1)*conjg(amp_w(+1,-1)),kind=
dp) + &
1035 real(amp_z(+1,+1)*conjg(amp_w(+1,+1)),kind=
dp) &
1040 restmp = restmp *
aveqq
1043 res(pdfindex(1),pdfindex(2)) = restmp
1046 res(pdfindex(1),pdfindex(2)) = restmp
1054 amp_z =
a0_zz_4f(j2,4,j1,3,za,zb,sprod,jsel,isel)
1055 amp_w = -
a0_ww_4f(j1,4,j2,3,za,zb,sprod,isel,jsel,usewwcoupl=.true.,wpm_flip=.false.)
1057 if( zz_fusion )
then
1058 restmp = ((abs(amp_z(-1,-1))**2) + &
1059 (abs(amp_z(-1,+1))**2) + &
1060 (abs(amp_z(+1,-1))**2) + &
1061 (abs(amp_z(+1,+1))**2)) *
xn**2
1064 abs(amp_w(-1,-1))**2 + &
1065 abs(amp_w(-1,+1))**2 + &
1066 abs(amp_w(+1,-1))**2 + &
1067 abs(amp_w(+1,+1))**2 &
1069 restmp = restmp +
two * ( &
1070 real(amp_z(-1,-1)*conjg(amp_w(-1,-1)),kind=
dp) + &
1071 real(amp_z(-1,+1)*conjg(amp_w(-1,+1)),kind=
dp) + &
1072 real(amp_z(+1,-1)*conjg(amp_w(+1,-1)),kind=
dp) + &
1073 real(amp_z(+1,+1)*conjg(amp_w(+1,+1)),kind=
dp) &
1078 restmp = restmp *
aveqq
1081 res(pdfindex(1),pdfindex(2)) = restmp
1083 res(pdfindex(1),pdfindex(2)) = restmp
1097 amp_z =
a0_zz_4f(4,j2,3,j1,za,zb,sprod,isel,jsel)
1098 amp_w = -
a0_ww_4f(4,j1,3,j2,za,zb,sprod,jsel,isel,usewwcoupl=.true.,wpm_flip=.true.)
1099 if( zz_fusion )
then
1100 restmp = ((abs(amp_z(-1,-1))**2) + &
1101 (abs(amp_z(-1,+1))**2) + &
1102 (abs(amp_z(+1,-1))**2) + &
1103 (abs(amp_z(+1,+1))**2)) *
xn**2
1106 abs(amp_w(-1,-1))**2 + &
1107 abs(amp_w(-1,+1))**2 + &
1108 abs(amp_w(+1,-1))**2 + &
1109 abs(amp_w(+1,+1))**2 &
1111 restmp = restmp +
two * ( &
1112 real(amp_z(-1,-1)*conjg(amp_w(-1,-1)),kind=
dp) + &
1113 real(amp_z(-1,+1)*conjg(amp_w(-1,+1)),kind=
dp) + &
1114 real(amp_z(+1,-1)*conjg(amp_w(+1,-1)),kind=
dp) + &
1115 real(amp_z(+1,+1)*conjg(amp_w(+1,+1)),kind=
dp) &
1120 restmp = restmp *
aveqq
1123 res(pdfindex(1),pdfindex(2)) = restmp
1126 res(pdfindex(1),pdfindex(2)) = restmp
1134 amp_z =
a0_zz_4f(j2,4,j1,3,za,zb,sprod,isel,jsel)
1135 amp_w = -
a0_ww_4f(j1,4,j2,3,za,zb,sprod,jsel,isel,usewwcoupl=.true.,wpm_flip=.false.)
1137 if( zz_fusion )
then
1138 restmp = ((abs(amp_z(-1,-1))**2) + &
1139 (abs(amp_z(-1,+1))**2) + &
1140 (abs(amp_z(+1,-1))**2) + &
1141 (abs(amp_z(+1,+1))**2)) *
xn**2
1144 abs(amp_w(-1,-1))**2 + &
1145 abs(amp_w(-1,+1))**2 + &
1146 abs(amp_w(+1,-1))**2 + &
1147 abs(amp_w(+1,+1))**2 &
1149 restmp = restmp +
two * ( &
1150 real(amp_z(-1,-1)*conjg(amp_w(-1,-1)),kind=
dp) + &
1151 real(amp_z(-1,+1)*conjg(amp_w(-1,+1)),kind=
dp) + &
1152 real(amp_z(+1,-1)*conjg(amp_w(+1,-1)),kind=
dp) + &
1153 real(amp_z(+1,+1)*conjg(amp_w(+1,+1)),kind=
dp) &
1157 restmp = restmp *
aveqq
1160 res(pdfindex(1),pdfindex(2)) = restmp
1163 res(pdfindex(1),pdfindex(2)) = restmp
1179 if( zz_fusion )
then
1180 amp_z =
a0_zz_4f(3,j1,j2,4,za,zb,sprod,isel,jsel)
1181 restmp = ((abs(amp_z(-1,-1))**2) + &
1182 (abs(amp_z(-1,+1))**2) + &
1183 (abs(amp_z(+1,-1))**2) + &
1186 amp_w =
a0_ww_4f(4,j1,j2,3,za,zb,sprod,isel,jsel,usewwcoupl=.true.,wpm_flip=.true.)
1188 abs(amp_w(-1,-1))**2 + &
1189 abs(amp_w(-1,+1))**2 + &
1190 abs(amp_w(+1,-1))**2 + &
1191 abs(amp_w(+1,+1))**2 &
1196 res(pdfindex(1),pdfindex(2)) = restmp
1199 res(pdfindex(1),pdfindex(2)) = restmp
1202 res(pdfindex(1),pdfindex(2)) = restmp
1205 res(pdfindex(1),pdfindex(2)) = restmp
1214 amp_z =
a0_zz_4f(3,j1,j2,4,za,zb,sprod,isel,jsel)
1215 restmp = ((abs(amp_z(-1,-1))**2) + &
1216 (abs(amp_z(-1,+1))**2) + &
1217 (abs(amp_z(+1,-1))**2) + &
1218 (abs(amp_z(+1,+1))**2)) *
spinavg
1220 if( .not. zz_fusion ) restmp = 0.0d0
1223 res(pdfindex(1),pdfindex(2)) = restmp
1226 res(pdfindex(1),pdfindex(2)) = restmp
1229 res(pdfindex(1),pdfindex(2)) = restmp
1232 res(pdfindex(1),pdfindex(2)) = restmp
1235 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1238 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1246 amp_z =
a0_zz_4f(3,j1,j2,4,za,zb,sprod,isel,jsel)
1247 restmp = ((abs(amp_z(-1,-1))**2) + &
1248 (abs(amp_z(-1,+1))**2) + &
1249 (abs(amp_z(+1,-1))**2) + &
1250 (abs(amp_z(+1,+1))**2)) *
spinavg
1252 if( .not. zz_fusion ) restmp = 0.0d0
1255 res(pdfindex(1),pdfindex(2)) = restmp
1258 res(pdfindex(1),pdfindex(2)) = restmp
1261 res(pdfindex(1),pdfindex(2)) = restmp
1264 res(pdfindex(1),pdfindex(2)) = restmp
1267 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1270 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1278 amp_z =
a0_zz_4f(3,j1,j2,4,za,zb,sprod,isel,jsel)
1280 restmp = ((abs(amp_z(-1,-1))**2) + &
1281 (abs(amp_z(-1,+1))**2) + &
1282 (abs(amp_z(+1,-1))**2) + &
1285 if( .not. zz_fusion ) restmp = 0.0d0
1288 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1291 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1294 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1297 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1300 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1306 if( zz_fusion )
then
1307 amp_z =
a0_zz_4f(3,j1,j2,4,za,zb,sprod,isel,jsel)
1308 restmp = ((abs(amp_z(-1,-1))**2) + &
1309 (abs(amp_z(-1,+1))**2) + &
1310 (abs(amp_z(+1,-1))**2) + &
1313 amp_w =
a0_ww_4f(4,j1,j2,3,za,zb,sprod,isel,jsel,usewwcoupl=.true.,wpm_flip=.false.)
1315 abs(amp_w(-1,-1))**2 + &
1316 abs(amp_w(-1,+1))**2 + &
1317 abs(amp_w(+1,-1))**2 + &
1318 abs(amp_w(+1,+1))**2 &
1323 res(pdfindex(1),pdfindex(2)) = restmp
1326 res(pdfindex(1),pdfindex(2)) = restmp
1329 res(pdfindex(1),pdfindex(2)) = restmp
1332 res(pdfindex(1),pdfindex(2)) = restmp
1341 amp_z =
a0_zz_4f(3,j1,4,j2,za,zb,sprod,isel,jsel)
1343 restmp = ((abs(amp_z(-1,-1))**2) + &
1344 (abs(amp_z(-1,+1))**2) + &
1345 (abs(amp_z(+1,-1))**2) + &
1346 (abs(amp_z(+1,+1))**2)) *
spinavg
1348 if( .not. zz_fusion ) restmp = 0.0d0
1351 res(pdfindex(1),pdfindex(2)) = restmp
1360 amp_z =
a0_zz_4f(3,j1,4,j2,za,zb,sprod,isel,jsel)
1361 restmp = ((abs(amp_z(-1,-1))**2) + &
1362 (abs(amp_z(-1,+1))**2) + &
1363 (abs(amp_z(+1,-1))**2) + &
1366 if( .not. zz_fusion ) restmp = 0.0d0
1369 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1372 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1379 if( zz_fusion )
then
1380 amp_z =
a0_zz_4f(3,j1,4,j2,za,zb,sprod,isel,jsel)
1381 restmp = ((abs(amp_z(-1,-1))**2) + &
1382 (abs(amp_z(-1,+1))**2) + &
1383 (abs(amp_z(+1,-1))**2) + &
1386 amp_w =
a0_ww_4f(3,j2,4,j1,za,zb,sprod,jsel,isel,usewwcoupl=.true.,wpm_flip=.false.)
1388 abs(amp_w(-1,-1))**2 + &
1389 abs(amp_w(-1,+1))**2 + &
1390 abs(amp_w(+1,-1))**2 + &
1391 abs(amp_w(+1,+1))**2 &
1396 res(pdfindex(1),pdfindex(2)) = restmp
1399 res(pdfindex(1),pdfindex(2)) = restmp
1408 amp_z =
a0_zz_4f(3,j1,4,j2,za,zb,sprod,isel,jsel)
1409 restmp = ((abs(amp_z(-1,-1))**2) + &
1410 (abs(amp_z(-1,+1))**2) + &
1411 (abs(amp_z(+1,-1))**2) + &
1412 (abs(amp_z(+1,+1))**2)) *
spinavg
1414 if( .not. zz_fusion ) restmp = 0.0d0
1417 res(pdfindex(1),pdfindex(2)) = restmp
1420 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1423 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1430 amp_z =
a0_zz_4f(j1,3,j2,4,za,zb,sprod,isel,jsel)
1432 restmp = ((abs(amp_z(-1,-1))**2) + &
1433 (abs(amp_z(-1,+1))**2) + &
1434 (abs(amp_z(+1,-1))**2) + &
1435 (abs(amp_z(+1,+1))**2)) *
spinavg
1437 if( .not. zz_fusion ) restmp = 0.0d0
1441 res(pdfindex(1),pdfindex(2)) = restmp
1448 amp_z =
a0_zz_4f(j1,3,j2,4,za,zb,sprod,isel,jsel)
1449 restmp = ((abs(amp_z(-1,-1))**2) + &
1450 (abs(amp_z(-1,+1))**2) + &
1451 (abs(amp_z(+1,-1))**2) + &
1454 if( .not. zz_fusion ) restmp = 0.0d0
1457 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1460 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1467 if( zz_fusion )
then
1468 amp_z =
a0_zz_4f(j1,3,j2,4,za,zb,sprod,isel,jsel)
1469 restmp = ((abs(amp_z(-1,-1))**2) + &
1470 (abs(amp_z(-1,+1))**2) + &
1471 (abs(amp_z(+1,-1))**2) + &
1474 amp_w =
a0_ww_4f(j1,4,j2,3,za,zb,sprod,isel,jsel,usewwcoupl=.true.,wpm_flip=.false.)
1476 abs(amp_w(-1,-1))**2 + &
1477 abs(amp_w(-1,+1))**2 + &
1478 abs(amp_w(+1,-1))**2 + &
1479 abs(amp_w(+1,+1))**2 &
1484 res(pdfindex(1),pdfindex(2)) = restmp
1487 res(pdfindex(1),pdfindex(2)) = restmp
1497 amp_z =
a0_zz_4f(j1,3,j2,4,za,zb,sprod,isel,jsel)
1498 restmp = ((abs(amp_z(-1,-1))**2) + &
1499 (abs(amp_z(-1,+1))**2) + &
1500 (abs(amp_z(+1,-1))**2) + &
1501 (abs(amp_z(+1,+1))**2)) *
spinavg
1503 if( .not. zz_fusion ) restmp = 0.0d0
1507 res(pdfindex(1),pdfindex(2)) = restmp
1510 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1513 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1527 if( zz_fusion )
then
1528 amp_z =
a0_zz_4f(3,j1,j2,4,za,zb,sprod,jsel,isel)
1529 restmp = ((abs(amp_z(-1,-1))**2) + &
1530 (abs(amp_z(-1,+1))**2) + &
1531 (abs(amp_z(+1,-1))**2) + &
1534 amp_w =
a0_ww_4f(4,j1,j2,3,za,zb,sprod,jsel,isel,usewwcoupl=.true.,wpm_flip=.true.)
1536 abs(amp_w(-1,-1))**2 + &
1537 abs(amp_w(-1,+1))**2 + &
1538 abs(amp_w(+1,-1))**2 + &
1539 abs(amp_w(+1,+1))**2 &
1544 res(pdfindex(1),pdfindex(2)) = restmp
1547 res(pdfindex(1),pdfindex(2)) = restmp
1550 res(pdfindex(1),pdfindex(2)) = restmp
1553 res(pdfindex(1),pdfindex(2)) = restmp
1563 amp_z =
a0_zz_4f(3,j1,j2,4,za,zb,sprod,jsel,isel)
1564 restmp = ((abs(amp_z(-1,-1))**2) + &
1565 (abs(amp_z(-1,+1))**2) + &
1566 (abs(amp_z(+1,-1))**2) + &
1567 (abs(amp_z(+1,+1))**2)) *
spinavg
1569 if( .not. zz_fusion ) restmp = 0.0d0
1573 res(pdfindex(1),pdfindex(2)) = restmp
1576 res(pdfindex(1),pdfindex(2)) = restmp
1579 res(pdfindex(1),pdfindex(2)) = restmp
1582 res(pdfindex(1),pdfindex(2)) = restmp
1585 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1588 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1596 amp_z =
a0_zz_4f(3,j1,j2,4,za,zb,sprod,jsel,isel)
1597 restmp = ((abs(amp_z(-1,-1))**2) + &
1598 (abs(amp_z(-1,+1))**2) + &
1599 (abs(amp_z(+1,-1))**2) + &
1600 (abs(amp_z(+1,+1))**2)) *
spinavg
1602 if( .not. zz_fusion ) restmp = 0.0d0
1606 res(pdfindex(1),pdfindex(2)) = restmp
1609 res(pdfindex(1),pdfindex(2)) = restmp
1612 res(pdfindex(1),pdfindex(2)) = restmp
1615 res(pdfindex(1),pdfindex(2)) = restmp
1618 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1621 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1629 amp_z =
a0_zz_4f(3,j1,j2,4,za,zb,sprod,jsel,isel)
1631 restmp = ((abs(amp_z(-1,-1))**2) + &
1632 (abs(amp_z(-1,+1))**2) + &
1633 (abs(amp_z(+1,-1))**2) + &
1636 if( .not. zz_fusion ) restmp = 0.0d0
1640 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1643 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1646 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1649 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1652 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1660 if( zz_fusion )
then
1661 amp_z =
a0_zz_4f(3,j1,j2,4,za,zb,sprod,jsel,isel)
1662 restmp = ((abs(amp_z(-1,-1))**2) + &
1663 (abs(amp_z(-1,+1))**2) + &
1664 (abs(amp_z(+1,-1))**2) + &
1667 amp_w =
a0_ww_4f(4,j1,j2,3,za,zb,sprod,jsel,isel,usewwcoupl=.true.,wpm_flip=.false.)
1669 abs(amp_w(-1,-1))**2 + &
1670 abs(amp_w(-1,+1))**2 + &
1671 abs(amp_w(+1,-1))**2 + &
1672 abs(amp_w(+1,+1))**2 &
1677 res(pdfindex(1),pdfindex(2)) = restmp
1680 res(pdfindex(1),pdfindex(2)) = restmp
1683 res(pdfindex(1),pdfindex(2)) = restmp
1686 res(pdfindex(1),pdfindex(2)) = restmp
1695 amp_z =
a0_zz_4f(3,j1,4,j2,za,zb,sprod,jsel,isel)
1697 restmp = ((abs(amp_z(-1,-1))**2) + &
1698 (abs(amp_z(-1,+1))**2) + &
1699 (abs(amp_z(+1,-1))**2) + &
1700 (abs(amp_z(+1,+1))**2)) *
spinavg
1702 if( .not. zz_fusion ) restmp = 0.0d0
1705 res(pdfindex(1),pdfindex(2)) = restmp
1713 amp_z =
a0_zz_4f(3,j1,4,j2,za,zb,sprod,jsel,isel)
1714 restmp = ((abs(amp_z(-1,-1))**2) + &
1715 (abs(amp_z(-1,+1))**2) + &
1716 (abs(amp_z(+1,-1))**2) + &
1719 if( .not. zz_fusion ) restmp = 0.0d0
1722 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1725 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1732 if( zz_fusion )
then
1733 amp_z =
a0_zz_4f(3,j1,4,j2,za,zb,sprod,jsel,isel)
1734 restmp = ((abs(amp_z(-1,-1))**2) + &
1735 (abs(amp_z(-1,+1))**2) + &
1736 (abs(amp_z(+1,-1))**2) + &
1739 amp_w =
a0_ww_4f(3,j2,4,j1,za,zb,sprod,isel,jsel,usewwcoupl=.true.,wpm_flip=.false.)
1741 abs(amp_w(-1,-1))**2 + &
1742 abs(amp_w(-1,+1))**2 + &
1743 abs(amp_w(+1,-1))**2 + &
1744 abs(amp_w(+1,+1))**2 &
1749 res(pdfindex(1),pdfindex(2)) = restmp
1752 res(pdfindex(1),pdfindex(2)) = restmp
1761 amp_z =
a0_zz_4f(3,j1,4,j2,za,zb,sprod,jsel,isel)
1762 restmp = ((abs(amp_z(-1,-1))**2) + &
1763 (abs(amp_z(-1,+1))**2) + &
1764 (abs(amp_z(+1,-1))**2) + &
1765 (abs(amp_z(+1,+1))**2)) *
spinavg
1767 if( .not. zz_fusion ) restmp = 0.0d0
1770 res(pdfindex(1),pdfindex(2)) = restmp
1773 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1776 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1783 amp_z =
a0_zz_4f(j1,3,j2,4,za,zb,sprod,jsel,isel)
1785 restmp = ((abs(amp_z(-1,-1))**2)+ &
1786 (abs(amp_z(-1,+1))**2) + &
1787 (abs(amp_z(+1,-1))**2) + &
1788 (abs(amp_z(+1,+1))**2)) *
spinavg
1790 if( .not. zz_fusion ) restmp = 0.0d0
1794 res(pdfindex(1),pdfindex(2)) = restmp
1801 amp_z =
a0_zz_4f(j1,3,j2,4,za,zb,sprod,jsel,isel)
1802 restmp = ((abs(amp_z(-1,-1))**2) + &
1803 (abs(amp_z(-1,+1))**2) + &
1804 (abs(amp_z(+1,-1))**2) + &
1807 if( .not. zz_fusion ) restmp = 0.0d0
1811 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1814 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1820 if( zz_fusion )
then
1821 amp_z =
a0_zz_4f(j1,3,j2,4,za,zb,sprod,jsel,isel)
1822 restmp = ((abs(amp_z(-1,-1))**2) + &
1823 (abs(amp_z(-1,+1))**2) + &
1824 (abs(amp_z(+1,-1))**2) + &
1827 amp_w =
a0_ww_4f(j1,4,j2,3,za,zb,sprod,jsel,isel,usewwcoupl=.true.,wpm_flip=.false.)
1829 abs(amp_w(-1,-1))**2 + &
1830 abs(amp_w(-1,+1))**2 + &
1831 abs(amp_w(+1,-1))**2 + &
1832 abs(amp_w(+1,+1))**2 &
1837 res(pdfindex(1),pdfindex(2)) = restmp
1840 res(pdfindex(1),pdfindex(2)) = restmp
1849 amp_z =
a0_zz_4f(j1,3,j2,4,za,zb,sprod,jsel,isel)
1850 restmp = ((abs(amp_z(-1,-1))**2) + &
1851 (abs(amp_z(-1,+1))**2) + &
1852 (abs(amp_z(+1,-1))**2) + &
1853 (abs(amp_z(+1,+1))**2)) *
spinavg
1855 if( .not. zz_fusion ) restmp = 0.0d0
1858 res(pdfindex(1),pdfindex(2)) = restmp
1861 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1864 res(pdfindex(1),pdfindex(2)) = restmp *
tagbot
1873 real(
dp),
intent(in) :: p(4,5)
1874 real(
dp),
intent(out) :: res
1875 integer,
intent(in) :: isel,jsel,rsel,ssel
1876 complex(dp) :: amp_z(-1:1,-1:1), amp_z_b(-1:1,-1:1)
1877 complex(dp) :: amp_w(-1:1,-1:1)
1878 real(
dp) :: sprod(4,4)
1879 complex(dp) :: za(4,4), zb(4,4)
1881 real(
dp) :: ckm_wfactor
1882 real(
dp) :: kfactor_z,kfactor_w
1883 integer :: i, j, jz1, jz2, jw1, jw2, pdfindex(2)
1884 integer :: line_i,line_j
1885 integer :: kz1, kz2, kw1, kw2
1886 logical :: zz_fusion,ww_fusion
1912 (isel.eq.rsel .and. jsel.eq.ssel) &
1914 (isel.eq.ssel .and. jsel.eq.rsel) &
1917 if( isel.eq.ssel .and. jsel.eq.rsel )
then
1931 ( (sign(isel,rsel).eq.isel .and. sign(jsel,ssel).eq.jsel) .and. (abs(isel-rsel).eq.1 .or. abs(isel-rsel).eq.3 .or. abs(isel-rsel).eq.5) .and. (abs(jsel-ssel).eq.1 .or. abs(jsel-ssel).eq.3 .or. abs(jsel-ssel).eq.5) ) &
1933 ( (sign(isel,ssel).eq.isel .and. sign(jsel,rsel).eq.jsel) .and. (abs(isel-ssel).eq.1 .or. abs(isel-ssel).eq.3 .or. abs(isel-ssel).eq.5) .and. (abs(jsel-rsel).eq.1 .or. abs(jsel-rsel).eq.3 .or. abs(jsel-rsel).eq.5) ) &
1937 if( (sign(isel,ssel).eq.isel .and. sign(jsel,rsel).eq.jsel) .and. (abs(isel-ssel).eq.1 .or. abs(isel-ssel).eq.3 .or. abs(isel-ssel).eq.5) .and. (abs(jsel-rsel).eq.1 .or. abs(jsel-rsel).eq.3 .or. abs(jsel-rsel).eq.5) )
then
1959 if( .not.(zz_fusion .or. ww_fusion) )
return
1961 if(zz_fusion)
call swapi(jz1,kz1)
1962 if(ww_fusion)
call swapi(jw1,kw1)
1965 if(zz_fusion)
call swapi(jz2,kz2)
1966 if(ww_fusion)
call swapi(jw2,kw2)
1976 call swapi(line_i,line_j)
1984 call spinoru2(4,(/-p(:,1),-p(:,2),p(:,3),p(:,4)/),za,zb,sprod)
1992 amp_z =
a0_zz_4f(kz1,jz1,kz2,jz2,za,zb,sprod,line_i,line_j)
1995 ((abs(amp_z(-1,-1))**2) + &
1996 (abs(amp_z(-1,+1))**2) + &
1997 (abs(amp_z(+1,-1))**2) + &
1998 (abs(amp_z(+1,+1))**2)) *
xn**2
2000 if(isel.eq.jsel)
then
2001 amp_z_b = -
a0_zz_4f(kz2,jz1,kz1,jz2,za,zb,sprod,line_i,line_j)
2003 ((abs(amp_z_b(-1,-1))**2) + &
2004 (abs(amp_z_b(-1,+1))**2) + &
2005 (abs(amp_z_b(+1,-1))**2) + &
2006 (abs(amp_z_b(+1,+1))**2)) *
xn**2
2008 (
two * real(amp_z(-1,-1)*conjg(amp_z_b(-1,-1)),kind=
dp) + &
2009 two * real(amp_z(+1,+1)*conjg(amp_z_b(+1,+1)),kind=
dp)) *
xn
2013 restmp = restmp * kfactor_z**2
2017 amp_w = -
a0_ww_4f(kw1,jw1,kw2,jw2,za,zb,sprod,line_i,line_j,usewwcoupl=.true.)
2020 abs(amp_w(-1,-1))**2 + &
2021 abs(amp_w(-1,+1))**2 + &
2022 abs(amp_w(+1,-1))**2 + &
2023 abs(amp_w(+1,+1))**2 &
2024 ) *
xn**2 * kfactor_w**2 * abs(ckm_wfactor)**2
2028 real(amp_w(-1,-1)*ckm_wfactor*conjg(amp_z(-1,-1)),kind=
dp) + &
2029 real(amp_w(-1,+1)*ckm_wfactor*conjg(amp_z(-1,+1)),kind=
dp) + &
2030 real(amp_w(+1,-1)*ckm_wfactor*conjg(amp_z(+1,-1)),kind=
dp) + &
2031 real(amp_w(+1,+1)*ckm_wfactor*conjg(amp_z(+1,+1)),kind=
dp) &
2032 ) *
xn * kfactor_z * kfactor_w
2036 restmp = restmp *
aveqq
2251 function flip(i,a1,a2)
2253 integer :: i,
a1,
a2
2266 function a0_vv_4f(j1,j2,j3,j4,za,zb,sprod,mv,ga_v,useWWcoupl,Wpm_flip)
2270 integer :: j1,j2,j3,j4
2271 complex(dp) :: za(4,4), zb(4,4)
2273 logical,
optional :: usewwcoupl,wpm_flip
2274 real(
dp) :: sprod(4,4),q2wplus,q2wminus
2275 real(
dp) :: mhsq, q1q2, kcoupl
2276 complex(dp) ::
a1,
a2,
a3, struc1, struc2, struc3
2278 complex(dp) :: iprop12, iprop34
2279 complex(dp) :: vvcoupl_prime(4)
2283 zab2(j1,j2,j3,j4) = za(j1,j2)*zb(j2,j4) + za(j1,j3)*zb(j3,j4)
2301 q1q2 = (sprod(j1,j3)+sprod(j1,j4)+sprod(j2,j3)+sprod(j2,j4))/
two
2302 mhsq =
two * q1q2 + sprod(j1,j2) + sprod(j3,j4)
2306 q2wplus = sprod(j1,j2)
2307 q2wminus = sprod(j3,j4)
2308 if(
present(wpm_flip) )
then
2309 if( wpm_flip )
call swapr(q2wplus,q2wminus)
2311 if( .not.
present(usewwcoupl) )
then
2322 a1 = vvcoupl_prime(1) * mv**2/mhsq + vvcoupl_prime(2) *
two * q1q2/mhsq + vvcoupl_prime(3) * kcoupl * q1q2/mhsq
2323 a2 = -
two * vvcoupl_prime(2) - kcoupl * vvcoupl_prime(3)
2324 a3 = -
two * vvcoupl_prime(4)
2326 struc1 =
two * (
a1 * mhsq -
ci *
a3 * q1q2)
2331 a0_vv_4f(-1,-1) = za(j1,j3)*zb(j4,j2) * struc1 + &
2332 zab2(j1,j3,j4,j2)*zab2(j3,j1,j2,j4) * struc2 + &
2333 za(j1,j2)*za(j3,j4)*zb(j4,j2)**2 * struc3
2335 a0_vv_4f(-1,+1) = za(j1,j4)*zb(j3,j2) * struc1 + &
2336 zab2(j1,j3,j4,j2)*zab2(j4,j1,j2,j3) * struc2 + &
2337 za(j1,j2)*za(j4,j3)*zb(j3,j2)**2 * struc3
2339 a0_vv_4f(+1,-1) = za(j2,j3)*zb(j4,j1) * struc1 + &
2340 zab2(j2,j3,j4,j1)*zab2(j3,j1,j2,j4) * struc2 + &
2341 za(j2,j1)*za(j3,j4)*zb(j4,j1)**2 * struc3
2343 a0_vv_4f(+1,+1) = za(j2,j4)*zb(j3,j1) * struc1 + &
2344 zab2(j2,j3,j4,j1)*zab2(j4,j1,j2,j3) * struc2 + &
2345 za(j2,j1)*za(j4,j3)*zb(j3,j1)**2 * struc3
2347 iprop12 = sprod(j1,j2) - mv**2 +
ci * mv *
ga_v
2348 iprop34 = sprod(j3,j4) - mv**2 +
ci * mv *
ga_v
2357 function a0_zz_4f(j1,j2,j3,j4,za,zb,sprod,iSel,jSel)
2360 real(
dp),
dimension(5) :: lz,rz,lct,rct
2364 integer :: j1,j2,j3,j4,isel,jsel,line1,line2
2365 complex(dp) :: za(4,4),zb(4,4)
2366 real(
dp) :: sprod(4,4)
2367 real(
dp) :: mhsq,q1q2,kcoupl,q12sq,q34sq
2368 complex(dp) :: a1_zz,a2_zz,a3_zz,struc_zz(3),fac_zz(-1:1,-1:1)
2369 complex(dp) :: a1_az,a2_az,a3_az,struc_az(3),fac_az(-1:1,-1:1)
2370 complex(dp) :: a1_za,a2_za,a3_za,struc_za(3),fac_za(-1:1,-1:1)
2371 complex(dp) :: a1_aa,a2_aa,a3_aa,struc_aa(3),fac_aa(-1:1,-1:1)
2372 complex(dp) :: a1_zzp,a2_zzp,a3_zzp,struc_zzp(3),fac_zzp(-1:1,-1:1)
2373 complex(dp) :: a1_zpz,a2_zpz,a3_zpz,struc_zpz(3),fac_zpz(-1:1,-1:1)
2374 complex(dp) :: a1_azp,a2_azp,a3_azp,struc_azp(3),fac_azp(-1:1,-1:1)
2375 complex(dp) :: a1_zpa,a2_zpa,a3_zpa,struc_zpa(3),fac_zpa(-1:1,-1:1)
2376 complex(dp) :: a1_zpzp,a2_zpzp,a3_zpzp,struc_zpzp(3),fac_zpzp(-1:1,-1:1)
2377 complex(dp) :: helcoup(1:3,-1:1,-1:1)
2379 complex(dp) :: iprop12,iprop34, zpprop12,zpprop34
2380 complex(dp) :: vvcoupl_prime_zz(4),vvcoupl_prime_az(4),vvcoupl_prime_za(4),vvcoupl_prime_aa(2:4)
2381 complex(dp) :: vvcoupl_prime_zzp(4),vvcoupl_prime_zpz(4),vvcoupl_prime_zpzp(4)
2382 complex(dp) :: vvcoupl_prime_azp(4),vvcoupl_prime_zpa(4)
2386 zab2(j1,j2,j3,j4) = za(j1,j2)*zb(j2,j4) + za(j1,j3)*zb(j3,j4)
2389 helcoup(:,:,:)=
czero
2418 q1q2 = (sprod(j1,j3)+sprod(j1,j4)+sprod(j2,j3)+sprod(j2,j4))/
two
2419 mhsq =
two * q1q2 + sprod(j1,j2) + sprod(j3,j4)
2423 q12sq = sprod(j1,j2)
2424 q34sq = sprod(j3,j4)
2434 a1_zz = vvcoupl_prime_zz(1) *
m_z**2/mhsq + vvcoupl_prime_zz(2) *
two * q1q2/mhsq + vvcoupl_prime_zz(3) * kcoupl * q1q2/mhsq
2435 a2_zz = -
two * vvcoupl_prime_zz(2) - kcoupl * vvcoupl_prime_zz(3)
2436 a3_zz = -
two * vvcoupl_prime_zz(4)
2438 struc_zz(1) =
two * (a1_zz * mhsq -
ci * a3_zz * q1q2)
2439 struc_zz(2) = (a2_zz +
ci * a3_zz)
2440 struc_zz(3) =
two *
ci * a3_zz
2443 fac_zz(-1,-1) = lz(line1) * lz(line2)/iprop12/iprop34
2444 fac_zz(-1,+1) = lz(line1) * rz(line2)/iprop12/iprop34
2445 fac_zz(+1,-1) = rz(line1) * lz(line2)/iprop12/iprop34
2446 fac_zz(+1,+1) = rz(line1) * rz(line2)/iprop12/iprop34
2458 a1_aa = vvcoupl_prime_aa(2) *
two * q1q2/mhsq + vvcoupl_prime_aa(3) * kcoupl * q1q2/mhsq
2459 a2_aa = -
two * vvcoupl_prime_aa(2) - kcoupl * vvcoupl_prime_aa(3)
2460 a3_aa = -
two * vvcoupl_prime_aa(4)
2462 a1_za = vvcoupl_prime_za(1) *
m_z**2/mhsq + vvcoupl_prime_za(2) *
two * q1q2/mhsq + vvcoupl_prime_za(3) * kcoupl * q1q2/mhsq
2463 a2_za = -
two * vvcoupl_prime_za(2) - kcoupl * vvcoupl_prime_za(3)
2464 a3_za = -
two * vvcoupl_prime_za(4)
2466 a1_az = vvcoupl_prime_az(1) *
m_z**2/mhsq + vvcoupl_prime_az(2) *
two * q1q2/mhsq + vvcoupl_prime_az(3) * kcoupl * q1q2/mhsq
2467 a2_az = -
two * vvcoupl_prime_az(2) - kcoupl * vvcoupl_prime_az(3)
2468 a3_az = -
two * vvcoupl_prime_az(4)
2470 struc_aa(1) =
two * (a1_aa * mhsq -
ci * a3_aa * q1q2)
2471 struc_aa(2) = (a2_aa +
ci * a3_aa)
2472 struc_aa(3) =
two *
ci * a3_aa
2475 struc_az(1) =
two * (a1_az * mhsq -
ci * a3_az * q1q2)
2476 struc_az(2) = (a2_az +
ci * a3_az)
2477 struc_az(3) =
two *
ci * a3_az
2480 struc_za(1) =
two * (a1_za * mhsq -
ci * a3_za * q1q2)
2481 struc_za(2) = (a2_za +
ci * a3_za)
2482 struc_za(3) =
two *
ci * a3_za
2485 fac_aa(-1,-1) = la(line1) * la(line2)/q12sq/q34sq
2486 fac_aa(-1,+1) = la(line1) * ra(line2)/q12sq/q34sq
2487 fac_aa(+1,-1) = ra(line1) * la(line2)/q12sq/q34sq
2488 fac_aa(+1,+1) = ra(line1) * ra(line2)/q12sq/q34sq
2490 fac_az(-1,-1) = la(line1) * lz(line2)/q12sq/iprop34
2491 fac_az(-1,+1) = la(line1) * rz(line2)/q12sq/iprop34
2492 fac_az(+1,-1) = ra(line1) * lz(line2)/q12sq/iprop34
2493 fac_az(+1,+1) = ra(line1) * rz(line2)/q12sq/iprop34
2495 fac_za(-1,-1) = lz(line1) * la(line2)/iprop12/q34sq
2496 fac_za(-1,+1) = lz(line1) * ra(line2)/iprop12/q34sq
2497 fac_za(+1,-1) = rz(line1) * la(line2)/iprop12/q34sq
2498 fac_za(+1,+1) = rz(line1) * ra(line2)/iprop12/q34sq
2525 a1_zzp = vvcoupl_prime_zzp(1) *
m_z**2/mhsq + vvcoupl_prime_zzp(2) *
two * q1q2/mhsq + vvcoupl_prime_zzp(3) * kcoupl * q1q2/mhsq
2526 a2_zzp = -
two * vvcoupl_prime_zzp(2) - kcoupl * vvcoupl_prime_zzp(3)
2527 a3_zzp = -
two * vvcoupl_prime_zzp(4)
2528 a1_zpz = vvcoupl_prime_zpz(1) *
m_z**2/mhsq + vvcoupl_prime_zpz(2) *
two * q1q2/mhsq + vvcoupl_prime_zpz(3) * kcoupl * q1q2/mhsq
2529 a2_zpz = -
two * vvcoupl_prime_zpz(2) - kcoupl * vvcoupl_prime_zpz(3)
2530 a3_zpz = -
two * vvcoupl_prime_zpz(4)
2531 a1_zpzp = vvcoupl_prime_zpzp(1) *
m_z**2/mhsq + vvcoupl_prime_zpzp(2) *
two * q1q2/mhsq + vvcoupl_prime_zpzp(3) * kcoupl * q1q2/mhsq
2532 a2_zpzp = -
two * vvcoupl_prime_zpzp(2) - kcoupl * vvcoupl_prime_zpzp(3)
2533 a3_zpzp = -
two * vvcoupl_prime_zpzp(4)
2535 struc_zzp(1) =
two * (a1_zzp * mhsq -
ci * a3_zzp * q1q2)
2536 struc_zzp(2) = (a2_zzp +
ci * a3_zzp)
2537 struc_zzp(3) =
two *
ci * a3_zzp
2538 struc_zpz(1) =
two * (a1_zpz * mhsq -
ci * a3_zpz * q1q2)
2539 struc_zpz(2) = (a2_zpz +
ci * a3_zpz)
2540 struc_zpz(3) =
two *
ci * a3_zpz
2541 struc_zpzp(1) =
two * (a1_zpzp * mhsq -
ci * a3_zpzp * q1q2)
2542 struc_zpzp(2) = (a2_zpzp +
ci * a3_zpzp)
2543 struc_zpzp(3) =
two *
ci * a3_zpzp
2549 fac_zpzp(-1,-1) = lct(line1) * lct(line2)/zpprop12/zpprop34
2550 fac_zpzp(-1,+1) = lct(line1) * rct(line2)/zpprop12/zpprop34
2551 fac_zpzp(+1,-1) = rct(line1) * lct(line2)/zpprop12/zpprop34
2552 fac_zpzp(+1,+1) = rct(line1) * rct(line2)/zpprop12/zpprop34
2554 fac_zpz(-1,-1) = lct(line1) * lz(line2)/zpprop12/iprop34
2555 fac_zpz(-1,+1) = lct(line1) * rz(line2)/zpprop12/iprop34
2556 fac_zpz(+1,-1) = rct(line1) * lz(line2)/zpprop12/iprop34
2557 fac_zpz(+1,+1) = rct(line1) * rz(line2)/zpprop12/iprop34
2559 fac_zzp(-1,-1) = lz(line1) * lct(line2)/iprop12/zpprop34
2560 fac_zzp(-1,+1) = lz(line1) * rct(line2)/iprop12/zpprop34
2561 fac_zzp(+1,-1) = rz(line1) * lct(line2)/iprop12/zpprop34
2562 fac_zzp(+1,+1) = rz(line1) * rct(line2)/iprop12/zpprop34
2571 a1_azp = vvcoupl_prime_azp(1) *
m_z**2/mhsq + vvcoupl_prime_azp(2) *
two * q1q2/mhsq + vvcoupl_prime_azp(3) * kcoupl * q1q2/mhsq
2572 a2_azp = -
two * vvcoupl_prime_azp(2) - kcoupl * vvcoupl_prime_azp(3)
2573 a3_azp = -
two * vvcoupl_prime_azp(4)
2575 a1_zpa = vvcoupl_prime_zpa(1) *
m_z**2/mhsq + vvcoupl_prime_zpa(2) *
two * q1q2/mhsq + vvcoupl_prime_zpa(3) * kcoupl * q1q2/mhsq
2576 a2_zpa = -
two * vvcoupl_prime_zpa(2) - kcoupl * vvcoupl_prime_zpa(3)
2577 a3_zpa = -
two * vvcoupl_prime_zpa(4)
2579 struc_azp(1) =
two * (a1_azp * mhsq -
ci * a3_azp * q1q2)
2580 struc_azp(2) = (a2_azp +
ci * a3_azp)
2581 struc_azp(3) =
two *
ci * a3_azp
2584 struc_zpa(1) =
two * (a1_zpa * mhsq -
ci * a3_zpa * q1q2)
2585 struc_zpa(2) = (a2_zpa +
ci * a3_zpa)
2586 struc_zpa(3) =
two *
ci * a3_zpa
2589 fac_zpa(-1,-1) = lct(line1) * la(line2)/zpprop12/q34sq
2590 fac_zpa(-1,+1) = lct(line1) * ra(line2)/zpprop12/q34sq
2591 fac_zpa(+1,-1) = rct(line1) * la(line2)/zpprop12/q34sq
2592 fac_zpa(+1,+1) = rct(line1) * ra(line2)/zpprop12/q34sq
2594 fac_azp(-1,-1) = la(line1) * lct(line2)/q12sq/zpprop34
2595 fac_azp(-1,+1) = la(line1) * rct(line2)/q12sq/zpprop34
2596 fac_azp(+1,-1) = ra(line1) * lct(line2)/q12sq/zpprop34
2597 fac_azp(+1,+1) = ra(line1) * rct(line2)/q12sq/zpprop34
2604 helcoup(1:3,i,j) = struc_zz(1:3) * fac_zz(i,j) + &
2605 struc_az(1:3) * fac_az(i,j) + &
2606 struc_za(1:3) * fac_za(i,j) + &
2607 struc_zpz(1:3) * fac_zpz(i,j) + &
2608 struc_zzp(1:3) * fac_zzp(i,j) + &
2609 struc_zpa(1:3) * fac_zpa(i,j) + &
2610 struc_azp(1:3) * fac_azp(i,j) + &
2611 struc_aa(1:3) * fac_aa(i,j) + &
2612 struc_zpzp(1:3) * fac_zpzp(i,j)
2617 a0_zz_4f(-1,-1) = za(j1,j3)*zb(j4,j2) * helcoup(1,-1,-1) + &
2618 zab2(j1,j3,j4,j2)*zab2(j3,j1,j2,j4) * helcoup(2,-1,-1) + &
2619 za(j1,j2)*za(j3,j4)*zb(j4,j2)**2 * helcoup(3,-1,-1)
2621 a0_zz_4f(-1,+1) = za(j1,j4)*zb(j3,j2) * helcoup(1,-1,+1) + &
2622 zab2(j1,j3,j4,j2)*zab2(j4,j1,j2,j3) * helcoup(2,-1,+1) + &
2623 za(j1,j2)*za(j4,j3)*zb(j3,j2)**2 * helcoup(3,-1,+1)
2625 a0_zz_4f(+1,-1) = za(j2,j3)*zb(j4,j1) * helcoup(1,+1,-1) + &
2626 zab2(j2,j3,j4,j1)*zab2(j3,j1,j2,j4) * helcoup(2,+1,-1) + &
2627 za(j2,j1)*za(j3,j4)*zb(j4,j1)**2 * helcoup(3,+1,-1)
2629 a0_zz_4f(+1,+1) = za(j2,j4)*zb(j3,j1) * helcoup(1,+1,+1) + &
2630 zab2(j2,j3,j4,j1)*zab2(j4,j1,j2,j3) * helcoup(2,+1,+1) + &
2631 za(j2,j1)*za(j4,j3)*zb(j3,j1)**2 * helcoup(3,+1,+1)
2639 function a0_ww_4f(j1,j2,j3,j4,za,zb,sprod,iSel,jSel,useWWcoupl,Wpm_flip)
2643 integer :: j1,j2,j3,j4,isel,jsel,line1,line2
2644 complex(dp) :: za(4,4), zb(4,4)
2645 logical,
optional :: usewwcoupl,wpm_flip
2646 real(
dp) :: sprod(4,4),q2wplus,q2wminus
2647 real(
dp) :: mhsq, q1q2, kcoupl
2648 complex(dp) :: vvcoupl_prime_ww(4)
2649 complex(dp) :: a1_ww, a2_ww, a3_ww, struc_ww(1:3)
2650 complex(dp) :: vvcoupl_prime_wwp(4)
2651 complex(dp) :: a1_wwp, a2_wwp, a3_wwp, struc_wwp(1:3)
2652 complex(dp) :: vvcoupl_prime_wpw(4)
2653 complex(dp) :: a1_wpw, a2_wpw, a3_wpw, struc_wpw(1:3)
2654 complex(dp) :: vvcoupl_prime_wpwp(4)
2655 complex(dp) :: a1_wpwp, a2_wpwp, a3_wpwp, struc_wpwp(1:3)
2657 complex(dp) :: iprop12, iprop34, wpprop12, wpprop34
2658 complex(dp) :: helcoup(1:3,-1:1,-1:1)
2659 real(
dp),
dimension(5) :: lct,rct
2663 zab2(j1,j2,j3,j4) = za(j1,j2)*zb(j2,j4) + za(j1,j3)*zb(j3,j4)
2666 helcoup(:,:,:)=
czero
2674 q1q2 = (sprod(j1,j3)+sprod(j1,j4)+sprod(j2,j3)+sprod(j2,j4))/
two
2675 mhsq =
two * q1q2 + sprod(j1,j2) + sprod(j3,j4)
2679 q2wplus = sprod(j1,j2)
2680 q2wminus = sprod(j3,j4)
2681 if(
present(wpm_flip) )
then
2683 call swap(q2wplus,q2wminus)
2684 call swap(line1,line2)
2687 if( .not.
present(usewwcoupl) )
then
2701 a1_ww = vvcoupl_prime_ww(1) *
m_w**2/mhsq + vvcoupl_prime_ww(2) *
two * q1q2/mhsq + vvcoupl_prime_ww(3) * kcoupl * q1q2/mhsq
2702 a2_ww = -
two * vvcoupl_prime_ww(2) - kcoupl * vvcoupl_prime_ww(3)
2703 a3_ww = -
two * vvcoupl_prime_ww(4)
2705 struc_ww(1) =
two * (a1_ww * mhsq -
ci * a3_ww * q1q2)
2706 struc_ww(2) = a2_ww +
ci * a3_ww
2707 struc_ww(3) =
two *
ci * a3_ww
2710 helcoup(1:3,-1,-1) = struc_ww(1:3)/iprop12/iprop34
2739 a1_wwp = vvcoupl_prime_wwp(1) *
m_w**2/mhsq + vvcoupl_prime_wwp(2) *
two * q1q2/mhsq + vvcoupl_prime_wwp(3) * kcoupl * q1q2/mhsq
2740 a2_wwp = -
two * vvcoupl_prime_wwp(2) - kcoupl * vvcoupl_prime_wwp(3)
2741 a3_wwp = -
two * vvcoupl_prime_wwp(4)
2742 a1_wpw = vvcoupl_prime_wpw(1) *
m_w**2/mhsq + vvcoupl_prime_wpw(2) *
two * q1q2/mhsq + vvcoupl_prime_wpw(3) * kcoupl * q1q2/mhsq
2743 a2_wpw = -
two * vvcoupl_prime_wpw(2) - kcoupl * vvcoupl_prime_wpw(3)
2744 a3_wpw = -
two * vvcoupl_prime_wpw(4)
2745 a1_wpwp = vvcoupl_prime_wpwp(1) *
m_w**2/mhsq + vvcoupl_prime_wpwp(2) *
two * q1q2/mhsq + vvcoupl_prime_wpwp(3) * kcoupl * q1q2/mhsq
2746 a2_wpwp = -
two * vvcoupl_prime_wpwp(2) - kcoupl * vvcoupl_prime_wpwp(3)
2747 a3_wpwp = -
two * vvcoupl_prime_wpwp(4)
2749 struc_wwp(1) =
two * (a1_wwp * mhsq -
ci * a3_wwp * q1q2)
2750 struc_wwp(2) = (a2_wwp +
ci * a3_wwp)
2751 struc_wwp(3) =
two *
ci * a3_wwp
2752 struc_wpw(1) =
two * (a1_wpw * mhsq -
ci * a3_wpw * q1q2)
2753 struc_wpw(2) = (a2_wpw +
ci * a3_wpw)
2754 struc_wpw(3) =
two *
ci * a3_wpw
2755 struc_wpwp(1) =
two * (a1_wpwp * mhsq -
ci * a3_wpwp * q1q2)
2756 struc_wpwp(2) = (a2_wpwp +
ci * a3_wpwp)
2757 struc_wpwp(3) =
two *
ci * a3_wpwp
2763 helcoup(1:3,-1,-1) = helcoup(1:3,-1,-1) + &
2764 struc_wpwp(1:3) * lct(line1) * lct(line2)/wpprop12/wpprop34 + &
2765 struc_wpw(1:3) * lct(line1) /wpprop12/iprop34 + &
2766 struc_wwp(1:3) * lct(line2)/iprop12/wpprop34
2768 helcoup(1:3,-1,+1) = helcoup(1:3,-1,+1) + &
2769 struc_wpwp(1:3) * lct(line1) * rct(line2)/wpprop12/wpprop34 + &
2770 struc_wpw(1:3) * lct(line1) *
czero /wpprop12/iprop34 + &
2771 struc_wwp(1:3) * rct(line2)/iprop12/wpprop34
2773 helcoup(1:3,+1,-1) = helcoup(1:3,+1,-1) + &
2774 struc_wpwp(1:3) * rct(line1) * lct(line2)/wpprop12/wpprop34 + &
2775 struc_wpw(1:3) * rct(line1) /wpprop12/iprop34 + &
2776 struc_wwp(1:3) *
czero * lct(line2)/iprop12/wpprop34
2778 helcoup(1:3,+1,+1) = helcoup(1:3,+1,+1) + &
2779 struc_wpwp(1:3) * rct(line1) * rct(line2)/wpprop12/wpprop34 + &
2780 struc_wpw(1:3) * rct(line1) *
czero /wpprop12/iprop34 + &
2781 struc_wwp(1:3) *
czero * rct(line2)/iprop12/wpprop34
2785 a0_ww_4f(-1,-1) = za(j1,j3)*zb(j4,j2) * helcoup(1,-1,-1) + &
2786 zab2(j1,j3,j4,j2)*zab2(j3,j1,j2,j4) * helcoup(2,-1,-1) + &
2787 za(j1,j2)*za(j3,j4)*zb(j4,j2)**2 * helcoup(3,-1,-1)
2790 a0_ww_4f(-1,+1) = za(j1,j4)*zb(j3,j2) * helcoup(1,-1,+1) + &
2791 zab2(j1,j3,j4,j2)*zab2(j4,j1,j2,j3) * helcoup(2,-1,+1) + &
2792 za(j1,j2)*za(j4,j3)*zb(j3,j2)**2 * helcoup(3,-1,+1)
2794 a0_ww_4f(+1,-1) = za(j2,j3)*zb(j4,j1) * helcoup(1,+1,-1) + &
2795 zab2(j2,j3,j4,j1)*zab2(j3,j1,j2,j4) * helcoup(2,+1,-1) + &
2796 za(j2,j1)*za(j3,j4)*zb(j4,j1)**2 * helcoup(3,+1,-1)
2798 a0_ww_4f(+1,+1) = za(j2,j4)*zb(j3,j1) * helcoup(1,+1,+1) + &
2799 zab2(j2,j3,j4,j1)*zab2(j4,j1,j2,j3) * helcoup(2,+1,+1) + &
2800 za(j2,j1)*za(j4,j3)*zb(j3,j1)**2 * helcoup(3,+1,+1)
2813 subroutine me2_ggggh(j1,j2,j3,j4,za,zb,sprod,res)
2814 integer,
intent(in) :: j1,j2,j3,j4
2815 complex(dp),
intent(in) :: za(4,4), zb(4,4)
2816 real(dp),
intent(in) :: sprod(4,4)
2817 real(dp),
intent(out) :: res
2818 complex(dp) :: a1234(-1:1,-1:1,-1:1,-1:1), a1324(-1:1,-1:1,-1:1,-1:1)
2819 complex(dp) :: aphi1234(1:2,-1:1,-1:1,-1:1,-1:1), aphi1324(1:2,-1:1,-1:1,-1:1,-1:1)
2820 real(dp),
parameter :: col = 8.0_dp *
ca**3 *
cf
2821 integer :: i1,i2,i3,i4
2822 complex(dp) :: scalar, pseudo
2832 a1234(:,:,:,:) = scalar * (aphi1234(1,:,:,:,:) + aphi1234(2,:,:,:,:)) + &
2833 pseudo * (-
ci) * (aphi1234(1,:,:,:,:) - aphi1234(2,:,:,:,:))
2835 a1324(:,:,:,:) = scalar * (aphi1324(1,:,:,:,:) + aphi1324(2,:,:,:,:)) + &
2836 pseudo * (-
ci) * (aphi1324(1,:,:,:,:) - aphi1324(2,:,:,:,:))
2843 res = res + real(a1234(i1,i2,i3,i4)*conjg(a1234(i1,i2,i3,i4)),kind=dp)
2844 res = res + real(a1324(i1,i2,i3,i4)*conjg(a1324(i1,i2,i3,i4)),kind=dp)
2845 res = res + real(a1234(i1,i2,i3,i4)*conjg(a1324(i1,i3,i2,i4)),kind=dp)
2852 res = res * col /
vev**2
2858 subroutine me2_qbqggh(j1,j2,j3,j4,za,zb,sprod,res)
2859 integer,
intent(in) :: j1,j2,j3,j4
2860 complex(dp),
intent(in) :: za(4,4), zb(4,4)
2861 real(dp),
intent(in) :: sprod(4,4)
2862 real(dp),
intent(out) :: res
2863 complex(dp) :: a1234(-1:1,-1:1,-1:1), a1243(-1:1,-1:1,-1:1)
2864 complex(dp) :: aphi1234(1:2,-1:1,-1:1,-1:1), aphi1243(1:2,-1:1,-1:1,-1:1)
2865 real(dp),
parameter :: col1 = 4.0_dp *
xn *
cf**2
2866 real(dp),
parameter :: col2 = 2.0_dp *
xn *
cf * (2.0_dp *
cf -
ca)
2867 integer :: i12,i3,i4
2868 complex(dp) :: scalar, pseudo
2878 a1234(:,:,:) = scalar * (aphi1234(1,:,:,:) + aphi1234(2,:,:,:)) + &
2879 pseudo * (-
ci) * (aphi1234(1,:,:,:) - aphi1234(2,:,:,:))
2881 a1243(:,:,:) = scalar * (aphi1243(1,:,:,:) + aphi1243(2,:,:,:)) + &
2882 pseudo * (-
ci) * (aphi1243(1,:,:,:) - aphi1243(2,:,:,:))
2888 res = res + real(a1234(i12,i3,i4)*conjg(a1234(i12,i3,i4)),kind=dp) * col1
2889 res = res + real(a1243(i12,i4,i3)*conjg(a1243(i12,i4,i3)),kind=dp) * col1
2890 res = res +
two * real(a1234(i12,i3,i4)*conjg(a1243(i12,i4,i3)),kind=dp) * col2
2902 subroutine me2_qbqqbq(j1,j2,j3,j4,za,zb,sprod,res_diff,res_id)
2903 integer,
intent(in) :: j1,j2,j3,j4
2904 complex(dp),
intent(in) :: za(4,4), zb(4,4)
2905 real(dp),
intent(in) :: sprod(4,4)
2906 real(dp),
intent(out) :: res_diff, res_id
2907 complex(dp) :: amp_a(-1:1,-1:1), amp_b(-1:1,-1:1)
2908 complex(dp) :: aphi_a(1:2,-1:1,-1:1), aphi_b(1:2,-1:1,-1:1)
2909 real(dp),
parameter :: col =
xn**2 -
one
2911 complex(dp) :: scalar, pseudo
2922 amp_a(:,:) = scalar * (aphi_a(1,:,:) + aphi_a(2,:,:)) + &
2923 pseudo * (-
ci) * (aphi_a(1,:,:) - aphi_a(2,:,:))
2925 amp_b(:,:) = scalar * (aphi_b(1,:,:) + aphi_b(2,:,:)) + &
2926 pseudo * (-
ci) * (aphi_b(1,:,:) - aphi_b(2,:,:))
2930 res_diff = res_diff + real(amp_a(h12,h34)*conjg(amp_a(h12,h34)),kind=dp)
2931 res_id = res_id + real(amp_a(h12,h34)*conjg(amp_a(h12,h34)),kind=dp)
2932 res_id = res_id + real(amp_b(h12,h34)*conjg(amp_b(h12,h34)),kind=dp)
2934 res_id = res_id -
two/
xn * real(amp_a(h12,h12)*conjg(amp_b(h12,h12)),kind=dp)
2937 res_id = res_id * col /
vev**2
2938 res_diff = res_diff * col /
vev**2
2947 integer :: j1,j2,j3,j4
2948 complex(dp) :: za(4,4),zb(4,4)
2949 real(
dp) :: sprod(4,4)
2953 a0phigggg_xxxx(1,+1,+1,-1,-1) =
a0phiggggmmpp(j3,j4,j1,j2,za,zb,sprod)
2954 a0phigggg_xxxx(1,+1,-1,+1,-1) =
a0phiggggmpmp(j2,j3,j4,j1,za,zb,sprod)
2955 a0phigggg_xxxx(1,+1,-1,-1,+1) =
a0phiggggmmpp(j2,j3,j4,j1,za,zb,sprod)
2956 a0phigggg_xxxx(1,+1,-1,-1,-1) =
a0phiggggpmmm(j1,j2,j3,j4,za,zb,sprod)
2957 a0phigggg_xxxx(1,-1,+1,+1,-1) =
a0phiggggmmpp(j4,j1,j2,j3,za,zb,sprod)
2958 a0phigggg_xxxx(1,-1,+1,-1,+1) =
a0phiggggmpmp(j1,j2,j3,j4,za,zb,sprod)
2959 a0phigggg_xxxx(1,-1,+1,-1,-1) =
a0phiggggpmmm(j2,j3,j4,j1,za,zb,sprod)
2960 a0phigggg_xxxx(1,-1,-1,+1,+1) =
a0phiggggmmpp(j1,j2,j3,j4,za,zb,sprod)
2961 a0phigggg_xxxx(1,-1,-1,+1,-1) =
a0phiggggpmmm(j3,j4,j1,j2,za,zb,sprod)
2962 a0phigggg_xxxx(1,-1,-1,-1,+1) =
a0phiggggpmmm(j4,j1,j2,j3,za,zb,sprod)
2963 a0phigggg_xxxx(1,-1,-1,-1,-1) =
a0phiggggmmmm(j1,j2,j3,j4,za,zb,sprod)
2983 integer :: j1,j2,j3,j4
2984 complex(dp) :: za(4,4), zb(4,4)
2985 real(
dp) :: sprod(4,4)
2989 s3(j1,j2,j3) = sprod(j1,j2) + sprod(j1,j3) + sprod(j2,j3)
2990 zab2(j1,j2,j3,j4) = za(j1,j2)*zb(j2,j4) + za(j1,j3)*zb(j3,j4)
2994 a0phiqbqgg_xxx(1,-1,+1,-1) = -za(j1,j4)**2*za(j2,j4)/(za(j1,j2)*za(j2,j3)*za(j3,j4))
2995 a0phiqbqgg_xxx(1,-1,-1,+1) = za(j1,j3)**3/(za(j1,j2)*za(j3,j4)*za(j4,j1))
2996 a0phiqbqgg_xxx(1,-1,-1,-1) = -((za(j1,j3)*zab2(j4,j1,j3,j2)**2)/ &
2997 (s3(j1,j2,j3)*sprod(j1,j2)*zb(j2,j3))) - &
2998 ((1/sprod(j1,j2) + 1/sprod(j4,j1))*za(j4,j1)*zab2(j3,j1,j4,j2)**2)/ &
2999 (s3(j4,j1,j2)*zb(j2,j4)) + &
3000 zab2(j1,j3,j4,j2)**2/(za(j1,j2)*zb(j2,j3)*zb(j2,j4)*zb(j3,j4))
3002 a0phiqbqgg_xxx(2,-1,+1,-1) = -zb(j1,j3)*zb(j2,j3)**2/(zb(j1,j2)*zb(j3,j4)*zb(j4,j1))
3003 a0phiqbqgg_xxx(2,-1,-1,+1) = zb(j2,j4)**3/(zb(j1,j2)*zb(j2,j3)*zb(j3,j4))
3004 a0phiqbqgg_xxx(2,-1,+1,+1) = -(zab2(j1,j3,j4,j2)**2/(za(j1,j3)*za(j1,j4)*za(j3,j4)*zb(j1,j2))) - &
3005 ((1/sprod(j1,j2) + 1/sprod(j2,j3))*zab2(j1,j2,j3,j4)**2*zb(j2,j3))/ &
3006 (s3(j1,j2,j3)*za(j1,j3)) + &
3007 (zab2(j1,j2,j4,j3)**2*zb(j2,j4))/ &
3008 (s3(j4,j1,j2)*sprod(j1,j2)*za(j1,j4))
3024 integer :: j1,j2,j3,j4
3025 complex(dp) :: za(4,4), zb(4,4)
3026 real(
dp) :: sprod(4,4)
3048 integer :: j1,j2,j3,j4
3049 complex(dp) :: za(4,4), zb(4,4)
3050 real(
dp) :: sprod(4,4)
3056 s3(j1,j2,j3)=sprod(j1,j2)+sprod(j2,j3)+sprod(j3,j1)
3057 zab2(j1,j2,j3,j4)=za(j1,j2)*zb(j2,j4)+za(j1,j3)*zb(j3,j4)
3060 +(zab2(j3,j2,j4,j1)*za(j2,j4))**2/(s3(j1,j2,j4)*sprod(j1,j2)*sprod(j1,j4)) &
3061 +(zab2(j4,j2,j3,j1)*za(j2,j3))**2/(s3(j1,j2,j3)*sprod(j1,j2)*sprod(j2,j3)) &
3062 +(zab2(j2,j3,j4,j1)*za(j3,j4))**2/(s3(j1,j3,j4)*sprod(j1,j4)*sprod(j3,j4)) &
3063 -za(j2,j4)/(za(j1,j2)*zb(j2,j3)*zb(j3,j4)*za(j4,j1)) &
3064 *(-sprod(j2,j3)*zab2(j2,j3,j4,j1)/zb(j4,j1) &
3065 -sprod(j3,j4)*zab2(j4,j2,j3,j1)/zb(j1,j2) &
3066 -s3(j2,j3,j4)*za(j2,j4))
3074 integer :: j1,j2,j3,j4
3075 complex(dp) :: za(4,4), zb(4,4)
3076 real(
dp) :: sprod(4,4)
3080 /(za(j1,j2)*za(j2,j3)*za(j3,j4)*za(j4,j1))
3088 integer :: j1,j2,j3,j4
3089 complex(dp) :: za(4,4), zb(4,4)
3090 real(
dp) :: sprod(4,4)
3094 /(za(j1,j2)*za(j2,j3)*za(j3,j4)*za(j4,j1))
3102 integer :: j1,j2,j3,j4
3103 complex(dp) :: za(4,4), zb(4,4)
3104 real(
dp) :: sprod(4,4),qsq
3107 qsq = sprod(j1,j2)+sprod(j1,j3)+sprod(j1,j4)+sprod(j2,j3)+sprod(j2,j4)+sprod(j3,j4)
3108 a0phiggggmmmm=qsq**2/(zb(j1,j2)*zb(j2,j3)*zb(j3,j4)*zb(j4,j1))
3119 integer,
intent(in) :: n
3120 real(dp),
intent(in) :: p(4,n)
3121 complex(dp),
intent(out) :: za(n,n), zb(n,n)
3122 real(dp),
intent(out) :: s(n,n)
3124 complex(dp) :: c23(n), f(n)
3133 if (p(1,j) .gt.
zero)
then
3134 rt(j)=sqrt(abs(p(2,j)+p(1,j)))
3135 c23(j)=cmplx(p(4,j),-p(3,j),kind=dp)
3139 rt(j)=sqrt(abs(-p(1,j)-p(2,j)))
3140 c23(j)=cmplx(-p(4,j),p(3,j),kind=dp)
3148 s(i,j)=
two*
scr(p(:,i),p(:,j))
3149 za(i,j)=f(i)*f(j) * ( c23(i)*cmplx(rt(j)/(rt(i)+1d-16),kind=dp)-c23(j)*cmplx(rt(i)/(rt(j)+1d-16),kind=dp) )
3151 if (abs(s(i,j)).lt.1d-5)
then
3152 zb(i,j)=-(f(i)*f(j))**2*conjg(za(i,j))
3154 zb(i,j)=-cmplx(s(i,j),kind=dp)/(za(i,j)+1d-16)