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)
914 if( (isel.eq.pdfup_ .and. jsel.eq.pdfup_) .or. (isel.eq.pdfchm_ .and. jsel.eq.pdfchm_) )
then
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
927 restmp = restmp * symmfac * aveqq
929 if( .not. zz_fusion ) restmp = 0.0d0
931 res(pdfup_,pdfup_) = restmp
932 res(pdfchm_,pdfchm_) = restmp
939 if( (isel.eq.pdfdn_ .and. jsel.eq.pdfdn_) .or. (isel.eq.pdfstr_ .and. jsel.eq.pdfstr_) .or. (isel.eq.pdfbot_ .and. jsel.eq.pdfbot_) )
then
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
951 restmp = restmp * symmfac * aveqq
953 if( .not. zz_fusion ) restmp = 0.0d0
955 res(pdfdn_,pdfdn_) = restmp
956 res(pdfstr_,pdfstr_) = restmp
957 res(pdfbot_,pdfbot_) = restmp * tagbot
963 if( (isel.eq.pdfaup_ .and. jsel.eq.pdfaup_) .or. (isel.eq.pdfachm_ .and. jsel.eq.pdfachm_) )
then
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
975 restmp = restmp * symmfac * aveqq
977 if( .not. zz_fusion ) restmp = 0.0d0
979 res(pdfaup_,pdfaup_) = restmp
980 res(pdfachm_,pdfachm_) = restmp
986 if( (isel.eq.pdfadn_ .and. jsel.eq.pdfadn_) .or. (isel.eq.pdfastr_ .and. jsel.eq.pdfastr_) .or. (isel.eq.pdfabot_ .and. jsel.eq.pdfabot_) )
then
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
997 restmp = restmp * symmfac * aveqq
999 if( .not. zz_fusion ) restmp = 0.0d0
1001 res(pdfadn_,pdfadn_) = restmp
1002 res(pdfastr_,pdfastr_) = restmp
1003 res(pdfabot_,pdfabot_) = restmp * tagbot
1016 if( (isel.eq.pdfup_ .and. jsel.eq.pdfdn_) .or. (isel.eq.pdfchm_ .and. jsel.eq.pdfstr_) )
then
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
1042 pdfindex = flip(iflip,pdfup_,pdfdn_)
1043 res(pdfindex(1),pdfindex(2)) = restmp
1045 pdfindex = flip(iflip,pdfchm_,pdfstr_)
1046 res(pdfindex(1),pdfindex(2)) = restmp
1053 if( (isel.eq.pdfaup_ .and. jsel.eq.pdfadn_) .or. (isel.eq.pdfachm_ .and. jsel.eq.pdfastr_) )
then
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
1080 pdfindex = flip(iflip,pdfaup_,pdfadn_)
1081 res(pdfindex(1),pdfindex(2)) = restmp
1082 pdfindex = flip(iflip,pdfachm_,pdfastr_)
1083 res(pdfindex(1),pdfindex(2)) = restmp
1096 if( (isel.eq.pdfdn_ .and. jsel.eq.pdfup_) .or. (isel.eq.pdfstr_ .and. jsel.eq.pdfchm_) )
then
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
1122 pdfindex = flip(iflip,pdfup_,pdfdn_)
1123 res(pdfindex(1),pdfindex(2)) = restmp
1125 pdfindex = flip(iflip,pdfchm_,pdfstr_)
1126 res(pdfindex(1),pdfindex(2)) = restmp
1133 if( (isel.eq.pdfadn_ .and. jsel.eq.pdfaup_) .or. (isel.eq.pdfastr_ .and. jsel.eq.pdfachm_) )
then
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
1159 pdfindex = flip(iflip,pdfaup_,pdfadn_)
1160 res(pdfindex(1),pdfindex(2)) = restmp
1162 pdfindex = flip(iflip,pdfachm_,pdfastr_)
1163 res(pdfindex(1),pdfindex(2)) = restmp
1177 if( (isel.eq.pdfup_ .and. jsel.eq.pdfaup_) .or. (isel.eq.pdfchm_ .and. jsel.eq.pdfachm_) .or. (isel.eq.pdfup_ .and. jsel.eq.pdfachm_) .or. (isel.eq.pdfchm_ .and. jsel.eq.pdfaup_) )
then
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) + &
1184 (abs(amp_z(+1,+1))**2)) * spinavg * tag1
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 &
1195 pdfindex = flip(iflip,pdfup_,pdfaup_)
1196 res(pdfindex(1),pdfindex(2)) = restmp
1198 pdfindex = flip(iflip,pdfchm_,pdfachm_)
1199 res(pdfindex(1),pdfindex(2)) = restmp
1201 pdfindex = flip(iflip,pdfup_,pdfachm_)
1202 res(pdfindex(1),pdfindex(2)) = restmp
1204 pdfindex = flip(iflip,pdfchm_,pdfaup_)
1205 res(pdfindex(1),pdfindex(2)) = restmp
1212 if( (isel.eq.pdfup_ .and. jsel.eq.pdfadn_) .or. (isel.eq.pdfchm_ .and. jsel.eq.pdfastr_) .or. (isel.eq.pdfup_ .and. jsel.eq.pdfastr_) .or. &
1213 (isel.eq.pdfchm_ .and. jsel.eq.pdfadn_) .or. (isel.eq.pdfup_ .and. jsel.eq.pdfabot_) .or. (isel.eq.pdfchm_ .and. jsel.eq.pdfabot_) )
then
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
1222 pdfindex = flip(iflip,pdfup_,pdfadn_)
1223 res(pdfindex(1),pdfindex(2)) = restmp
1225 pdfindex = flip(iflip,pdfchm_,pdfastr_)
1226 res(pdfindex(1),pdfindex(2)) = restmp
1228 pdfindex = flip(iflip,pdfup_,pdfastr_)
1229 res(pdfindex(1),pdfindex(2)) = restmp
1231 pdfindex = flip(iflip,pdfchm_,pdfadn_)
1232 res(pdfindex(1),pdfindex(2)) = restmp
1234 pdfindex = flip(iflip,pdfup_,pdfabot_)
1235 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1237 pdfindex = flip(iflip,pdfchm_,pdfabot_)
1238 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1244 if( (isel.eq.pdfdn_ .and. jsel.eq.pdfaup_) .or. (isel.eq.pdfstr_ .and. jsel.eq.pdfachm_) .or. (isel.eq.pdfdn_ .and. jsel.eq.pdfachm_) .or. &
1245 (isel.eq.pdfstr_ .and. jsel.eq.pdfaup_) .or. (isel.eq.pdfbot_ .and. jsel.eq.pdfaup_) .or. (isel.eq.pdfbot_ .and. jsel.eq.pdfachm_) )
then
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
1254 pdfindex = flip(iflip,pdfdn_,pdfaup_)
1255 res(pdfindex(1),pdfindex(2)) = restmp
1257 pdfindex = flip(iflip,pdfstr_,pdfachm_)
1258 res(pdfindex(1),pdfindex(2)) = restmp
1260 pdfindex = flip(iflip,pdfdn_,pdfachm_)
1261 res(pdfindex(1),pdfindex(2)) = restmp
1263 pdfindex = flip(iflip,pdfstr_,pdfaup_)
1264 res(pdfindex(1),pdfindex(2)) = restmp
1266 pdfindex = flip(iflip,pdfbot_,pdfaup_)
1267 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1269 pdfindex = flip(iflip,pdfbot_,pdfachm_)
1270 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1276 if( (isel.eq.pdfbot_ .and. jsel.eq.pdfabot_) .or. (isel.eq.pdfdn_ .and. jsel.eq.pdfabot_) .or. (isel.eq.pdfstr_ .and. jsel.eq.pdfabot_) .or.&
1277 (isel.eq.pdfbot_ .and. jsel.eq.pdfadn_) .or. (isel.eq.pdfbot_ .and. jsel.eq.pdfastr_) )
then
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) + &
1283 (abs(amp_z(+1,+1))**2)) * spinavg * tag1
1285 if( .not. zz_fusion ) restmp = 0.0d0
1287 pdfindex = flip(iflip,pdfbot_,pdfabot_)
1288 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1290 pdfindex = flip(iflip,pdfdn_,pdfabot_)
1291 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1293 pdfindex = flip(iflip,pdfstr_,pdfabot_)
1294 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1296 pdfindex = flip(iflip,pdfbot_,pdfadn_)
1297 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1299 pdfindex = flip(iflip,pdfbot_,pdfastr_)
1300 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1305 if( (isel.eq.pdfdn_ .and. jsel.eq.pdfadn_) .or. (isel.eq.pdfstr_ .and. jsel.eq.pdfastr_) .or. (isel.eq.pdfdn_ .and. jsel.eq.pdfastr_) .or. (isel.eq.pdfstr_ .and. jsel.eq.pdfadn_) )
then
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) + &
1311 (abs(amp_z(+1,+1))**2)) * spinavg * tag1
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 &
1322 pdfindex = flip(iflip,pdfdn_,pdfadn_)
1323 res(pdfindex(1),pdfindex(2)) = restmp
1325 pdfindex = flip(iflip,pdfstr_,pdfastr_)
1326 res(pdfindex(1),pdfindex(2)) = restmp
1328 pdfindex = flip(iflip,pdfdn_,pdfastr_)
1329 res(pdfindex(1),pdfindex(2)) = restmp
1331 pdfindex = flip(iflip,pdfstr_,pdfadn_)
1332 res(pdfindex(1),pdfindex(2)) = restmp
1338 if( (isel.eq.pdfup_ .and. jsel.eq.pdfchm_) )
then
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
1350 pdfindex = flip(iflip,pdfup_,pdfchm_)
1351 res(pdfindex(1),pdfindex(2)) = restmp
1358 if( (isel.eq.pdfup_ .and. jsel.eq.pdfbot_) .or. (isel.eq.pdfchm_ .and. jsel.eq.pdfbot_) )
then
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) + &
1364 (abs(amp_z(+1,+1))**2)) * spinavg * tag1
1366 if( .not. zz_fusion ) restmp = 0.0d0
1368 pdfindex = flip(iflip,pdfup_,pdfbot_)
1369 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1371 pdfindex = flip(iflip,pdfchm_,pdfbot_)
1372 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1377 if( (isel.eq.pdfup_ .and. jsel.eq.pdfstr_) .or. (isel.eq.pdfchm_ .and. jsel.eq.pdfdn_) )
then
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) + &
1384 (abs(amp_z(+1,+1))**2)) * spinavg * tag1
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 &
1395 pdfindex = flip(iflip,pdfup_,pdfstr_)
1396 res(pdfindex(1),pdfindex(2)) = restmp
1398 pdfindex = flip(iflip,pdfchm_,pdfdn_)
1399 res(pdfindex(1),pdfindex(2)) = restmp
1406 if( (isel.eq.pdfdn_ .and. jsel.eq.pdfstr_) .or. (isel.eq.pdfdn_ .and. jsel.eq.pdfbot_) .or. (isel.eq.pdfstr_ .and. jsel.eq.pdfbot_) )
then
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
1416 pdfindex = flip(iflip,pdfdn_,pdfstr_)
1417 res(pdfindex(1),pdfindex(2)) = restmp
1419 pdfindex = flip(iflip,pdfdn_,pdfbot_)
1420 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1422 pdfindex = flip(iflip,pdfstr_,pdfbot_)
1423 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1429 if( (isel.eq.pdfaup_ .and. jsel.eq.pdfachm_) )
then
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
1440 pdfindex = flip(iflip,pdfaup_,pdfachm_)
1441 res(pdfindex(1),pdfindex(2)) = restmp
1447 if( (isel.eq.pdfaup_ .and. jsel.eq.pdfabot_) .or. (isel.eq.pdfachm_ .and. jsel.eq.pdfabot_) )
then
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) + &
1452 (abs(amp_z(+1,+1))**2)) * spinavg * tag1
1454 if( .not. zz_fusion ) restmp = 0.0d0
1456 pdfindex = flip(iflip,pdfaup_,pdfabot_)
1457 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1459 pdfindex = flip(iflip,pdfachm_,pdfabot_)
1460 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1465 if( (isel.eq.pdfaup_ .and. jsel.eq.pdfastr_) .or. (isel.eq.pdfachm_ .and. jsel.eq.pdfadn_) )
then
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) + &
1472 (abs(amp_z(+1,+1))**2)) * spinavg * tag1
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 &
1483 pdfindex = flip(iflip,pdfaup_,pdfastr_)
1484 res(pdfindex(1),pdfindex(2)) = restmp
1486 pdfindex = flip(iflip,pdfachm_,pdfadn_)
1487 res(pdfindex(1),pdfindex(2)) = restmp
1495 if( (isel.eq.pdfadn_ .and. jsel.eq.pdfastr_) .or. (isel.eq.pdfadn_ .and. jsel.eq.pdfabot_) .or. (isel.eq.pdfastr_ .and. jsel.eq.pdfabot_) )
then
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
1506 pdfindex = flip(iflip,pdfadn_,pdfastr_)
1507 res(pdfindex(1),pdfindex(2)) = restmp
1509 pdfindex = flip(iflip,pdfadn_,pdfabot_)
1510 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1512 pdfindex = flip(iflip,pdfastr_,pdfabot_)
1513 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1525 if( (jsel.eq.pdfup_ .and. isel.eq.pdfaup_) .or. (jsel.eq.pdfchm_ .and. isel.eq.pdfachm_) .or. (jsel.eq.pdfup_ .and. isel.eq.pdfachm_) .or. (jsel.eq.pdfchm_ .and. isel.eq.pdfaup_) )
then
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) + &
1532 (abs(amp_z(+1,+1))**2)) * spinavg * tag1
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 &
1543 pdfindex = flip(iflip,pdfup_,pdfaup_)
1544 res(pdfindex(1),pdfindex(2)) = restmp
1546 pdfindex = flip(iflip,pdfchm_,pdfachm_)
1547 res(pdfindex(1),pdfindex(2)) = restmp
1549 pdfindex = flip(iflip,pdfup_,pdfachm_)
1550 res(pdfindex(1),pdfindex(2)) = restmp
1552 pdfindex = flip(iflip,pdfchm_,pdfaup_)
1553 res(pdfindex(1),pdfindex(2)) = restmp
1561 if( (jsel.eq.pdfup_ .and. isel.eq.pdfadn_) .or. (jsel.eq.pdfchm_ .and. isel.eq.pdfastr_) .or. (jsel.eq.pdfup_ .and. isel.eq.pdfastr_) .or. &
1562 (jsel.eq.pdfchm_ .and. isel.eq.pdfadn_) .or. (jsel.eq.pdfup_ .and. isel.eq.pdfabot_) .or. (jsel.eq.pdfchm_ .and. isel.eq.pdfabot_) )
then
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
1572 pdfindex = flip(iflip,pdfup_,pdfadn_)
1573 res(pdfindex(1),pdfindex(2)) = restmp
1575 pdfindex = flip(iflip,pdfchm_,pdfastr_)
1576 res(pdfindex(1),pdfindex(2)) = restmp
1578 pdfindex = flip(iflip,pdfup_,pdfastr_)
1579 res(pdfindex(1),pdfindex(2)) = restmp
1581 pdfindex = flip(iflip,pdfchm_,pdfadn_)
1582 res(pdfindex(1),pdfindex(2)) = restmp
1584 pdfindex = flip(iflip,pdfup_,pdfabot_)
1585 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1587 pdfindex = flip(iflip,pdfchm_,pdfabot_)
1588 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1594 if( (jsel.eq.pdfdn_ .and. isel.eq.pdfaup_) .or. (jsel.eq.pdfstr_ .and. isel.eq.pdfachm_) .or. (jsel.eq.pdfdn_ .and. isel.eq.pdfachm_) .or. &
1595 (jsel.eq.pdfstr_ .and. isel.eq.pdfaup_) .or. (jsel.eq.pdfbot_ .and. isel.eq.pdfaup_) .or. (jsel.eq.pdfbot_ .and. isel.eq.pdfachm_) )
then
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
1605 pdfindex = flip(iflip,pdfdn_,pdfaup_)
1606 res(pdfindex(1),pdfindex(2)) = restmp
1608 pdfindex = flip(iflip,pdfstr_,pdfachm_)
1609 res(pdfindex(1),pdfindex(2)) = restmp
1611 pdfindex = flip(iflip,pdfdn_,pdfachm_)
1612 res(pdfindex(1),pdfindex(2)) = restmp
1614 pdfindex = flip(iflip,pdfstr_,pdfaup_)
1615 res(pdfindex(1),pdfindex(2)) = restmp
1617 pdfindex = flip(iflip,pdfbot_,pdfaup_)
1618 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1620 pdfindex = flip(iflip,pdfbot_,pdfachm_)
1621 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1627 if( (jsel.eq.pdfbot_ .and. isel.eq.pdfabot_) .or. (jsel.eq.pdfdn_ .and. isel.eq.pdfabot_) .or. (jsel.eq.pdfstr_ .and. isel.eq.pdfabot_) .or.&
1628 (jsel.eq.pdfbot_ .and. isel.eq.pdfadn_) .or. (jsel.eq.pdfbot_ .and. isel.eq.pdfastr_) )
then
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) + &
1634 (abs(amp_z(+1,+1))**2)) * spinavg * tag1
1636 if( .not. zz_fusion ) restmp = 0.0d0
1639 pdfindex = flip(iflip,pdfbot_,pdfabot_)
1640 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1642 pdfindex = flip(iflip,pdfdn_,pdfabot_)
1643 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1645 pdfindex = flip(iflip,pdfstr_,pdfabot_)
1646 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1648 pdfindex = flip(iflip,pdfbot_,pdfadn_)
1649 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1651 pdfindex = flip(iflip,pdfbot_,pdfastr_)
1652 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1659 if( (jsel.eq.pdfdn_ .and. isel.eq.pdfadn_) .or. (jsel.eq.pdfstr_ .and. isel.eq.pdfastr_) .or. (jsel.eq.pdfdn_ .and. isel.eq.pdfastr_) .or. (jsel.eq.pdfstr_ .and. isel.eq.pdfadn_) )
then
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) + &
1665 (abs(amp_z(+1,+1))**2)) * spinavg * tag1
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 &
1676 pdfindex = flip(iflip,pdfdn_,pdfadn_)
1677 res(pdfindex(1),pdfindex(2)) = restmp
1679 pdfindex = flip(iflip,pdfstr_,pdfastr_)
1680 res(pdfindex(1),pdfindex(2)) = restmp
1682 pdfindex = flip(iflip,pdfdn_,pdfastr_)
1683 res(pdfindex(1),pdfindex(2)) = restmp
1685 pdfindex = flip(iflip,pdfstr_,pdfadn_)
1686 res(pdfindex(1),pdfindex(2)) = restmp
1692 if( (jsel.eq.pdfup_ .and. isel.eq.pdfchm_) )
then
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
1704 pdfindex = flip(iflip,pdfup_,pdfchm_)
1705 res(pdfindex(1),pdfindex(2)) = restmp
1711 if( (jsel.eq.pdfup_ .and. isel.eq.pdfbot_) .or. (jsel.eq.pdfchm_ .and. isel.eq.pdfbot_) )
then
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) + &
1717 (abs(amp_z(+1,+1))**2)) * spinavg * tag1
1719 if( .not. zz_fusion ) restmp = 0.0d0
1721 pdfindex = flip(iflip,pdfup_,pdfbot_)
1722 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1724 pdfindex = flip(iflip,pdfchm_,pdfbot_)
1725 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1730 if( (jsel.eq.pdfup_ .and. isel.eq.pdfstr_) .or. (jsel.eq.pdfchm_ .and. isel.eq.pdfdn_) )
then
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) + &
1737 (abs(amp_z(+1,+1))**2)) * spinavg * tag1
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 &
1748 pdfindex = flip(iflip,pdfup_,pdfstr_)
1749 res(pdfindex(1),pdfindex(2)) = restmp
1751 pdfindex = flip(iflip,pdfchm_,pdfdn_)
1752 res(pdfindex(1),pdfindex(2)) = restmp
1759 if( (jsel.eq.pdfdn_ .and. isel.eq.pdfstr_) .or. (jsel.eq.pdfdn_ .and. isel.eq.pdfbot_) .or. (jsel.eq.pdfstr_ .and. isel.eq.pdfbot_) )
then
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
1769 pdfindex = flip(iflip,pdfdn_,pdfstr_)
1770 res(pdfindex(1),pdfindex(2)) = restmp
1772 pdfindex = flip(iflip,pdfdn_,pdfbot_)
1773 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1775 pdfindex = flip(iflip,pdfstr_,pdfbot_)
1776 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1782 if( (jsel.eq.pdfaup_ .and. isel.eq.pdfachm_) )
then
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
1793 pdfindex = flip(iflip,pdfaup_,pdfachm_)
1794 res(pdfindex(1),pdfindex(2)) = restmp
1800 if( (jsel.eq.pdfaup_ .and. isel.eq.pdfabot_) .or. (jsel.eq.pdfachm_ .and. isel.eq.pdfabot_) )
then
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) + &
1805 (abs(amp_z(+1,+1))**2)) * spinavg * tag1
1807 if( .not. zz_fusion ) restmp = 0.0d0
1810 pdfindex = flip(iflip,pdfaup_,pdfabot_)
1811 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1813 pdfindex = flip(iflip,pdfachm_,pdfabot_)
1814 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1819 if( (jsel.eq.pdfaup_ .and. isel.eq.pdfastr_) .or. (jsel.eq.pdfachm_ .and. isel.eq.pdfadn_) )
then
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) + &
1825 (abs(amp_z(+1,+1))**2)) * spinavg * tag1
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 &
1836 pdfindex = flip(iflip,pdfaup_,pdfastr_)
1837 res(pdfindex(1),pdfindex(2)) = restmp
1839 pdfindex = flip(iflip,pdfachm_,pdfadn_)
1840 res(pdfindex(1),pdfindex(2)) = restmp
1847 if( (jsel.eq.pdfadn_ .and. isel.eq.pdfastr_) .or. (jsel.eq.pdfadn_ .and. isel.eq.pdfabot_) .or. (jsel.eq.pdfastr_ .and. isel.eq.pdfabot_) )
then
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
1857 pdfindex = flip(iflip,pdfadn_,pdfastr_)
1858 res(pdfindex(1),pdfindex(2)) = restmp
1860 pdfindex = flip(iflip,pdfadn_,pdfabot_)
1861 res(pdfindex(1),pdfindex(2)) = restmp * tagbot
1863 pdfindex = flip(iflip,pdfastr_,pdfabot_)
1864 res(pdfindex(1),pdfindex(2)) = restmp * tagbot