701 call convert_to_mcfm(pin(1:4,j),p(j,1:4))
704 call spinoru(p,za,zb,s)
708 s123=s(1,2)+s(1,3)+s(2,3)
709 s456=s(4,5)+s(4,6)+s(5,6)
711 kl=-mass_f/vev*( kappa -(0d0,1d0)*kappa_tilde )
712 kr=-mass_f/vev*( kappa +(0d0,1d0)*kappa_tilde )
714 amp = + kr * ( za(1,3)*za(1,4)*zb(1,2)*zb(5,6)- za(1,3)*za(3,4)*zb(2,3)*zb(5,6)) &
715 + kl * (- za(1,3)*za(4,5)*zb(2,5)*zb(5,6)- za(1,3)*za(4,6)*zb(2,6)*zb(5,6))
718 amp=amp/(s123-mass_f**2+
ci*mass_f*ga_f)/(s456-mass_f**2+
ci*mass_f*ga_f)/(s12-m_w**2+
ci*m_w*ga_w)/(s45-m_w**2+
ci*m_w*ga_w)
719 amp=amp*16d0*
ci*mass_f*gwsq**2
728 subroutine getdecay_couplings_spinors_props(VVMode,idordered,pordered,h3,h4, sp,pV)
730 integer,
intent(in) :: VVMode,idordered(6:9),h3,h4
731 real(dp),
intent(in) :: pordered(1:4,6:9)
732 complex(dp),
intent(out) :: sp(3:4,1:4)
733 real(dp),
intent(out) :: pV(3:4,1:4)
735 complex(dp) :: propV(1:2), aL1,aR1,aL2,aR2
738 if( vvmode.eq.zzmode )
then
740 if( abs(idordered(6)).eq.abs(elm_) .or. abs(idordered(6)).eq.abs(mum_) )
then
741 al1=al_lep * dsqrt(scale_alpha_z_ll)
742 ar1=ar_lep * dsqrt(scale_alpha_z_ll)
743 elseif( abs(idordered(6)).eq.abs(tam_) )
then
744 al1=al_lep * dsqrt(scale_alpha_z_tt)
745 ar1=ar_lep * dsqrt(scale_alpha_z_tt)
746 elseif( abs(idordered(6)).eq.abs(nue_) .or. abs(idordered(6)).eq.abs(num_) .or. abs(idordered(6)).eq.abs(nut_) )
then
747 al1=al_neu * dsqrt(scale_alpha_z_nn)
748 ar1=ar_neu * dsqrt(scale_alpha_z_nn)
749 elseif( abs(idordered(6)).eq.abs(up_) .or. abs(idordered(6)).eq.abs(chm_) )
then
750 al1=al_qup * dsqrt(scale_alpha_z_uu)
751 ar1=ar_qup * dsqrt(scale_alpha_z_uu)
752 elseif( abs(idordered(6)).eq.abs(dn_) .or. abs(idordered(6)).eq.abs(str_) .or. abs(idordered(6)).eq.abs(bot_) )
then
753 al1=al_qdn * dsqrt(scale_alpha_z_dd)
754 ar1=ar_qdn * dsqrt(scale_alpha_z_dd)
759 if( abs(idordered(8)).eq.abs(elm_) .or. abs(idordered(8)).eq.abs(mum_) )
then
760 al2=al_lep * dsqrt(scale_alpha_z_ll)
761 ar2=ar_lep * dsqrt(scale_alpha_z_ll)
762 elseif( abs(idordered(8)).eq.abs(tam_) )
then
763 al2=al_lep * dsqrt(scale_alpha_z_tt)
764 ar2=ar_lep * dsqrt(scale_alpha_z_tt)
765 elseif( abs(idordered(8)).eq.abs(nue_) .or. abs(idordered(8)).eq.abs(num_) .or. abs(idordered(8)).eq.abs(nut_) )
then
766 al2=al_neu * dsqrt(scale_alpha_z_nn)
767 ar2=ar_neu * dsqrt(scale_alpha_z_nn)
768 elseif( abs(idordered(8)).eq.abs(up_) .or. abs(idordered(8)).eq.abs(chm_) )
then
769 al2=al_qup * dsqrt(scale_alpha_z_uu)
770 ar2=ar_qup * dsqrt(scale_alpha_z_uu)
771 elseif( abs(idordered(8)).eq.abs(dn_) .or. abs(idordered(8)).eq.abs(str_) .or. abs(idordered(8)).eq.abs(bot_) )
then
772 al2=al_qdn * dsqrt(scale_alpha_z_dd)
773 ar2=ar_qdn * dsqrt(scale_alpha_z_dd)
778 pv(3,:) = pordered(:,6)+pordered(:,7)
779 pv(4,:) = pordered(:,8)+pordered(:,9)
780 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
781 sp(3,:) = -sp(3,:) + pv(3,:)*( sc(sp(3,:),dcmplx(pv(3,:))) )/scr(pv(3,:),pv(3,:))
782 sp(4,:) = pol_dk2mom(dcmplx(pordered(:,8)),dcmplx(pordered(:,9)),h4)
783 sp(4,:) = -sp(4,:) + pv(4,:)*( sc(sp(4,:),dcmplx(pv(4,:))) )/scr(pv(4,:),pv(4,:))
784 s = scr(pordered(:,6)+pordered(:,7),pordered(:,6)+pordered(:,7))
785 propv(1) = s/dcmplx(s - m_v**2,m_v*ga_v)
786 s = scr(pordered(:,8)+pordered(:,9),pordered(:,8)+pordered(:,9))
787 propv(2) = s/dcmplx(s - m_v**2,m_v*ga_v)
791 elseif( vvmode.eq.wwmode )
then
793 if( isaquark(idordered(6)) )
then
794 al1 = bl * dsqrt(scale_alpha_w_ud)
795 ar1 = br * dsqrt(scale_alpha_w_ud)
797 (abs(idordered(6)).eq.abs(elp_) .and. abs(idordered(7)).eq.abs(nue_)) .or. (abs(idordered(7)).eq.abs(elp_) .and. abs(idordered(6)).eq.abs(nue_)) .or. &
798 (abs(idordered(6)).eq.abs(mup_) .and. abs(idordered(7)).eq.abs(num_)) .or. (abs(idordered(7)).eq.abs(mup_) .and. abs(idordered(6)).eq.abs(num_)) &
800 al1 = bl * dsqrt(scale_alpha_w_ln)
801 ar1 = br * dsqrt(scale_alpha_w_ln)
803 (abs(idordered(6)).eq.abs(tap_) .and. abs(idordered(7)).eq.abs(nut_)) .or. (abs(idordered(7)).eq.abs(tap_) .and. abs(idordered(6)).eq.abs(nut_)) &
805 al1 = bl * dsqrt(scale_alpha_w_tn)
806 ar1 = br * dsqrt(scale_alpha_w_tn)
811 if( isaquark(idordered(8)) )
then
812 al2 = bl * dsqrt(scale_alpha_w_ud)
813 ar2 = br * dsqrt(scale_alpha_w_ud)
815 (abs(idordered(8)).eq.abs(elm_) .and. abs(idordered(9)).eq.abs(anue_)) .or. (abs(idordered(9)).eq.abs(elm_) .and. abs(idordered(8)).eq.abs(anue_)) .or. &
816 (abs(idordered(8)).eq.abs(mum_) .and. abs(idordered(9)).eq.abs(anum_)) .or. (abs(idordered(9)).eq.abs(mum_) .and. abs(idordered(8)).eq.abs(anum_)) &
818 al2 = bl * dsqrt(scale_alpha_w_ln)
819 ar2 = br * dsqrt(scale_alpha_w_ln)
821 (abs(idordered(8)).eq.abs(tam_) .and. abs(idordered(9)).eq.abs(anut_)) .or. (abs(idordered(9)).eq.abs(tam_) .and. abs(idordered(8)).eq.abs(anut_)) &
823 al2 = bl * dsqrt(scale_alpha_w_tn)
824 ar2 = br * dsqrt(scale_alpha_w_tn)
829 pv(3,:) = pordered(:,6)+pordered(:,7)
830 pv(4,:) = pordered(:,8)+pordered(:,9)
831 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
832 sp(3,:) = -sp(3,:) + pv(3,:)*( sc(sp(3,:),dcmplx(pv(3,:))) )/scr(pv(3,:),pv(3,:))
833 sp(4,:) = pol_dk2mom(dcmplx(pordered(:,8)),dcmplx(pordered(:,9)),h4)
834 sp(4,:) = -sp(4,:) + pv(4,:)*( sc(sp(4,:),dcmplx(pv(4,:))) )/scr(pv(4,:),pv(4,:))
835 s = scr(pordered(:,6)+pordered(:,7),pordered(:,6)+pordered(:,7))
836 propv(1) = s/dcmplx(s - m_v**2,m_v*ga_v)
837 s = scr(pordered(:,8)+pordered(:,9),pordered(:,8)+pordered(:,9))
838 propv(2) = s/dcmplx(s - m_v**2,m_v*ga_v)
841 elseif( vvmode.eq.zgmode )
then
843 if( abs(idordered(6)).eq.abs(elm_) .or. abs(idordered(6)).eq.abs(mum_) )
then
844 al1=al_lep * dsqrt(scale_alpha_z_ll)
845 ar1=ar_lep * dsqrt(scale_alpha_z_ll)
846 elseif( abs(idordered(6)).eq.abs(tam_) )
then
847 al1=al_lep * dsqrt(scale_alpha_z_tt)
848 ar1=ar_lep * dsqrt(scale_alpha_z_tt)
849 elseif( abs(idordered(6)).eq.abs(nue_) .or. abs(idordered(6)).eq.abs(num_) .or. abs(idordered(6)).eq.abs(nut_) )
then
850 al1=al_neu * dsqrt(scale_alpha_z_nn)
851 ar1=ar_neu * dsqrt(scale_alpha_z_nn)
852 elseif( abs(idordered(6)).eq.abs(up_) .or. abs(idordered(6)).eq.abs(chm_) )
then
853 al1=al_qup * dsqrt(scale_alpha_z_uu)
854 ar1=ar_qup * dsqrt(scale_alpha_z_uu)
855 elseif( abs(idordered(6)).eq.abs(dn_) .or. abs(idordered(6)).eq.abs(str_) .or. abs(idordered(6)).eq.abs(bot_) )
then
856 al1=al_qdn * dsqrt(scale_alpha_z_dd)
857 ar1=ar_qdn * dsqrt(scale_alpha_z_dd)
864 pv(3,:) = pordered(:,6)+pordered(:,7)
865 pv(4,:) = pordered(:,8)
866 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
867 sp(3,:) = -sp(3,:) + pv(3,:)*( sc(sp(3,:),dcmplx(pv(3,:))) )/scr(pv(3,:),pv(3,:))
868 sp(4,:) = pol_mless2(dcmplx(pordered(:,8)),h4,
'out')
870 s = scr(pordered(:,6)+pordered(:,7),pordered(:,6)+pordered(:,7))
871 propv(1) = s/dcmplx(s - m_v**2,m_v*ga_v)
875 elseif( vvmode.eq.ggmode )
then
881 pv(3,:) = pordered(:,6)
882 pv(4,:) = pordered(:,8)
883 sp(3,:) = pol_mless2(dcmplx(pordered(:,6)),h3,
'out')
884 sp(4,:) = pol_mless2(dcmplx(pordered(:,8)),h4,
'out')
891 elseif( vvmode.eq.gsgmode )
then
893 if( abs(idordered(6)).eq.abs(elm_) .or. abs(idordered(6)).eq.abs(mum_) )
then
894 al1=cl_lep * dsqrt(scale_alpha_z_ll)
895 ar1=cr_lep * dsqrt(scale_alpha_z_ll)
896 elseif( abs(idordered(6)).eq.abs(tam_) )
then
897 al1=cl_lep * dsqrt(scale_alpha_z_tt)
898 ar1=cr_lep * dsqrt(scale_alpha_z_tt)
899 elseif( abs(idordered(6)).eq.abs(nue_) .or. abs(idordered(6)).eq.abs(num_) .or. abs(idordered(6)).eq.abs(nut_) )
then
900 al1=cl_neu * dsqrt(scale_alpha_z_nn)
901 ar1=cr_neu * dsqrt(scale_alpha_z_nn)
902 elseif( abs(idordered(6)).eq.abs(up_) .or. abs(idordered(6)).eq.abs(chm_) )
then
903 al1=cl_qup * dsqrt(scale_alpha_z_uu)
904 ar1=cr_qup * dsqrt(scale_alpha_z_uu)
905 elseif( abs(idordered(6)).eq.abs(dn_) .or. abs(idordered(6)).eq.abs(str_) .or. abs(idordered(6)).eq.abs(bot_) )
then
906 al1=cl_qdn * dsqrt(scale_alpha_z_dd)
907 ar1=cr_qdn * dsqrt(scale_alpha_z_dd)
914 pv(3,:) = pordered(:,6)+pordered(:,7)
915 pv(4,:) = pordered(:,8)
916 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
918 sp(4,:) = pol_mless2(dcmplx(pordered(:,8)),h4,
'out')
920 s = scr(pordered(:,6)+pordered(:,7),pordered(:,6)+pordered(:,7))
923 if( s.lt.mphotoncutoff**2 ) propv(1)=czero
926 elseif( vvmode.eq.gszmode )
then
928 if( abs(idordered(6)).eq.abs(elm_) .or. abs(idordered(6)).eq.abs(mum_) )
then
929 al1=cl_lep * dsqrt(scale_alpha_z_ll)
930 ar1=cr_lep * dsqrt(scale_alpha_z_ll)
931 elseif( abs(idordered(6)).eq.abs(tam_) )
then
932 al1=cl_lep * dsqrt(scale_alpha_z_tt)
933 ar1=cr_lep * dsqrt(scale_alpha_z_tt)
934 elseif( abs(idordered(6)).eq.abs(nue_) .or. abs(idordered(6)).eq.abs(num_) .or. abs(idordered(6)).eq.abs(nut_) )
then
935 al1=cl_neu * dsqrt(scale_alpha_z_nn)
936 ar1=cr_neu * dsqrt(scale_alpha_z_nn)
937 elseif( abs(idordered(6)).eq.abs(up_) .or. abs(idordered(6)).eq.abs(chm_) )
then
938 al1=cl_qup * dsqrt(scale_alpha_z_uu)
939 ar1=cr_qup * dsqrt(scale_alpha_z_uu)
940 elseif( abs(idordered(6)).eq.abs(dn_) .or. abs(idordered(6)).eq.abs(str_) .or. abs(idordered(6)).eq.abs(bot_) )
then
941 al1=cl_qdn * dsqrt(scale_alpha_z_dd)
942 ar1=cr_qdn * dsqrt(scale_alpha_z_dd)
947 if( abs(idordered(8)).eq.abs(elm_) .or. abs(idordered(8)).eq.abs(mum_) )
then
948 al2=al_lep * dsqrt(scale_alpha_z_ll)
949 ar2=ar_lep * dsqrt(scale_alpha_z_ll)
950 elseif( abs(idordered(8)).eq.abs(tam_) )
then
951 al2=al_lep * dsqrt(scale_alpha_z_tt)
952 ar2=ar_lep * dsqrt(scale_alpha_z_tt)
953 elseif( abs(idordered(8)).eq.abs(nue_) .or. abs(idordered(8)).eq.abs(num_) .or. abs(idordered(8)).eq.abs(nut_) )
then
954 al2=al_neu * dsqrt(scale_alpha_z_nn)
955 ar2=ar_neu * dsqrt(scale_alpha_z_nn)
956 elseif( abs(idordered(8)).eq.abs(up_) .or. abs(idordered(8)).eq.abs(chm_) )
then
957 al2=al_qup * dsqrt(scale_alpha_z_uu)
958 ar2=ar_qup * dsqrt(scale_alpha_z_uu)
959 elseif( abs(idordered(8)).eq.abs(dn_) .or. abs(idordered(8)).eq.abs(str_) .or. abs(idordered(8)).eq.abs(bot_) )
then
960 al2=al_qdn * dsqrt(scale_alpha_z_dd)
961 ar2=ar_qdn * dsqrt(scale_alpha_z_dd)
966 pv(3,:) = pordered(:,6)+pordered(:,7)
967 pv(4,:) = pordered(:,8)+pordered(:,9)
968 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
970 sp(4,:) = pol_dk2mom(dcmplx(pordered(:,8)),dcmplx(pordered(:,9)),h4)
971 sp(4,:) = -sp(4,:) + pv(4,:)*( sc(sp(4,:),dcmplx(pv(4,:))) )/scr(pv(4,:),pv(4,:))
972 s = scr(pordered(:,6)+pordered(:,7),pordered(:,6)+pordered(:,7))
974 if( s.lt.mphotoncutoff**2 ) propv(1)=czero
975 s = scr(pordered(:,8)+pordered(:,9),pordered(:,8)+pordered(:,9))
976 propv(2) = s/dcmplx(s - m_v**2,m_v*ga_v)
979 elseif( vvmode.eq.zgsmode )
then
981 if( abs(idordered(6)).eq.abs(elm_) .or. abs(idordered(6)).eq.abs(mum_) )
then
982 al1=al_lep * dsqrt(scale_alpha_z_ll)
983 ar1=ar_lep * dsqrt(scale_alpha_z_ll)
984 elseif( abs(idordered(6)).eq.abs(tam_) )
then
985 al1=al_lep * dsqrt(scale_alpha_z_tt)
986 ar1=ar_lep * dsqrt(scale_alpha_z_tt)
987 elseif( abs(idordered(6)).eq.abs(nue_) .or. abs(idordered(6)).eq.abs(num_) .or. abs(idordered(6)).eq.abs(nut_) )
then
988 al1=al_neu * dsqrt(scale_alpha_z_nn)
989 ar1=ar_neu * dsqrt(scale_alpha_z_nn)
990 elseif( abs(idordered(6)).eq.abs(up_) .or. abs(idordered(6)).eq.abs(chm_) )
then
991 al1=al_qup * dsqrt(scale_alpha_z_uu)
992 ar1=ar_qup * dsqrt(scale_alpha_z_uu)
993 elseif( abs(idordered(6)).eq.abs(dn_) .or. abs(idordered(6)).eq.abs(str_) .or. abs(idordered(6)).eq.abs(bot_) )
then
994 al1=al_qdn * dsqrt(scale_alpha_z_dd)
995 ar1=ar_qdn * dsqrt(scale_alpha_z_dd)
1000 if( abs(idordered(8)).eq.abs(elm_) .or. abs(idordered(8)).eq.abs(mum_) )
then
1001 al2=cl_lep * dsqrt(scale_alpha_z_ll)
1002 ar2=cr_lep * dsqrt(scale_alpha_z_ll)
1003 elseif( abs(idordered(8)).eq.abs(tam_) )
then
1004 al2=cl_lep * dsqrt(scale_alpha_z_tt)
1005 ar2=cr_lep * dsqrt(scale_alpha_z_tt)
1006 elseif( abs(idordered(8)).eq.abs(nue_) .or. abs(idordered(8)).eq.abs(num_) .or. abs(idordered(8)).eq.abs(nut_) )
then
1007 al2=cl_neu * dsqrt(scale_alpha_z_nn)
1008 ar2=cr_neu * dsqrt(scale_alpha_z_nn)
1009 elseif( abs(idordered(8)).eq.abs(up_) .or. abs(idordered(8)).eq.abs(chm_) )
then
1010 al2=cl_qup * dsqrt(scale_alpha_z_uu)
1011 ar2=cr_qup * dsqrt(scale_alpha_z_uu)
1012 elseif( abs(idordered(8)).eq.abs(dn_) .or. abs(idordered(8)).eq.abs(str_) .or. abs(idordered(8)).eq.abs(bot_) )
then
1013 al2=cl_qdn * dsqrt(scale_alpha_z_dd)
1014 ar2=cr_qdn * dsqrt(scale_alpha_z_dd)
1019 pv(3,:) = pordered(:,6)+pordered(:,7)
1020 pv(4,:) = pordered(:,8)+pordered(:,9)
1021 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
1022 sp(3,:) = -sp(3,:) + pv(3,:)*( sc(sp(3,:),dcmplx(pv(3,:))) )/scr(pv(3,:),pv(3,:))
1023 sp(4,:) = pol_dk2mom(dcmplx(pordered(:,8)),dcmplx(pordered(:,9)),h4)
1025 s = scr(pordered(:,6)+pordered(:,7),pordered(:,6)+pordered(:,7))
1026 propv(1) = s/dcmplx(s - m_v**2,m_v*ga_v)
1027 s = scr(pordered(:,8)+pordered(:,9),pordered(:,8)+pordered(:,9))
1029 if( s.lt.mphotoncutoff**2 ) propv(2)=czero
1032 elseif( vvmode.eq.gsgsmode )
then
1034 if( abs(idordered(6)).eq.abs(elm_) .or. abs(idordered(6)).eq.abs(mum_) )
then
1035 al1=cl_lep * dsqrt(scale_alpha_z_ll)
1036 ar1=cr_lep * dsqrt(scale_alpha_z_ll)
1037 elseif( abs(idordered(6)).eq.abs(tam_) )
then
1038 al1=cl_lep * dsqrt(scale_alpha_z_tt)
1039 ar1=cr_lep * dsqrt(scale_alpha_z_tt)
1040 elseif( abs(idordered(6)).eq.abs(nue_) .or. abs(idordered(6)).eq.abs(num_) .or. abs(idordered(6)).eq.abs(nut_) )
then
1041 al1=cl_neu * dsqrt(scale_alpha_z_nn)
1042 ar1=cr_neu * dsqrt(scale_alpha_z_nn)
1043 elseif( abs(idordered(6)).eq.abs(up_) .or. abs(idordered(6)).eq.abs(chm_) )
then
1044 al1=cl_qup * dsqrt(scale_alpha_z_uu)
1045 ar1=cr_qup * dsqrt(scale_alpha_z_uu)
1046 elseif( abs(idordered(6)).eq.abs(dn_) .or. abs(idordered(6)).eq.abs(str_) .or. abs(idordered(6)).eq.abs(bot_) )
then
1047 al1=cl_qdn * dsqrt(scale_alpha_z_dd)
1048 ar1=cr_qdn * dsqrt(scale_alpha_z_dd)
1053 if( abs(idordered(8)).eq.abs(elm_) .or. abs(idordered(8)).eq.abs(mum_) )
then
1054 al2=cl_lep * dsqrt(scale_alpha_z_ll)
1055 ar2=cr_lep * dsqrt(scale_alpha_z_ll)
1056 elseif( abs(idordered(8)).eq.abs(tam_) )
then
1057 al2=cl_lep * dsqrt(scale_alpha_z_tt)
1058 ar2=cr_lep * dsqrt(scale_alpha_z_tt)
1059 elseif( abs(idordered(8)).eq.abs(nue_) .or. abs(idordered(8)).eq.abs(num_) .or. abs(idordered(8)).eq.abs(nut_) )
then
1060 al2=cl_neu * dsqrt(scale_alpha_z_nn)
1061 ar2=cr_neu * dsqrt(scale_alpha_z_nn)
1062 elseif( abs(idordered(8)).eq.abs(up_) .or. abs(idordered(8)).eq.abs(chm_) )
then
1063 al2=cl_qup * dsqrt(scale_alpha_z_uu)
1064 ar2=cr_qup * dsqrt(scale_alpha_z_uu)
1065 elseif( abs(idordered(8)).eq.abs(dn_) .or. abs(idordered(8)).eq.abs(str_) .or. abs(idordered(8)).eq.abs(bot_) )
then
1066 al2=cl_qdn * dsqrt(scale_alpha_z_dd)
1067 ar2=cr_qdn * dsqrt(scale_alpha_z_dd)
1072 pv(3,:) = pordered(:,6)+pordered(:,7)
1073 pv(4,:) = pordered(:,8)+pordered(:,9)
1074 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
1076 sp(4,:) = pol_dk2mom(dcmplx(pordered(:,8)),dcmplx(pordered(:,9)),h4)
1078 s = scr(pordered(:,6)+pordered(:,7),pordered(:,6)+pordered(:,7))
1080 if( s.lt.mphotoncutoff**2 ) propv(1)=czero
1081 s = scr(pordered(:,8)+pordered(:,9),pordered(:,8)+pordered(:,9))
1083 if( s.lt.mphotoncutoff**2 ) propv(2)=czero
1086 elseif( vvmode.eq.zpzmode )
then
1088 al1 = vpffcoupling(idordered(6),-1,.false.)
1089 ar1 = vpffcoupling(idordered(6),+1,.false.)
1090 if( abs(idordered(8)).eq.abs(elm_) .or. abs(idordered(8)).eq.abs(mum_) )
then
1091 al2=al_lep * dsqrt(scale_alpha_z_ll)
1092 ar2=ar_lep * dsqrt(scale_alpha_z_ll)
1093 elseif( abs(idordered(8)).eq.abs(tam_) )
then
1094 al2=al_lep * dsqrt(scale_alpha_z_tt)
1095 ar2=ar_lep * dsqrt(scale_alpha_z_tt)
1096 elseif( abs(idordered(8)).eq.abs(nue_) .or. abs(idordered(8)).eq.abs(num_) .or. abs(idordered(8)).eq.abs(nut_) )
then
1097 al2=al_neu * dsqrt(scale_alpha_z_nn)
1098 ar2=ar_neu * dsqrt(scale_alpha_z_nn)
1099 elseif( abs(idordered(8)).eq.abs(up_) .or. abs(idordered(8)).eq.abs(chm_) )
then
1100 al2=al_qup * dsqrt(scale_alpha_z_uu)
1101 ar2=ar_qup * dsqrt(scale_alpha_z_uu)
1102 elseif( abs(idordered(8)).eq.abs(dn_) .or. abs(idordered(8)).eq.abs(str_) .or. abs(idordered(8)).eq.abs(bot_) )
then
1103 al2=al_qdn * dsqrt(scale_alpha_z_dd)
1104 ar2=ar_qdn * dsqrt(scale_alpha_z_dd)
1110 pv(3,:) = pordered(:,6)+pordered(:,7)
1111 pv(4,:) = pordered(:,8)+pordered(:,9)
1112 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
1113 sp(3,:) = -sp(3,:) + pv(3,:)*( sc(sp(3,:),dcmplx(pv(3,:))) )/scr(pv(3,:),pv(3,:))
1114 sp(4,:) = pol_dk2mom(dcmplx(pordered(:,8)),dcmplx(pordered(:,9)),h4)
1115 sp(4,:) = -sp(4,:) + pv(4,:)*( sc(sp(4,:),dcmplx(pv(4,:))) )/scr(pv(4,:),pv(4,:))
1116 s = scr(pordered(:,6)+pordered(:,7),pordered(:,6)+pordered(:,7))
1117 if( m_vprime .gt. 0d0 )
then
1118 propv(1) = s/dcmplx(s - m_vprime**2,m_vprime*ga_vprime)
1119 elseif( m_vprime .eq. 0d0 )
then
1124 s = scr(pordered(:,8)+pordered(:,9),pordered(:,8)+pordered(:,9))
1125 propv(2) = s/dcmplx(s - m_v**2,m_v*ga_v)
1128 elseif( vvmode.eq.zzpmode )
then
1130 if( abs(idordered(6)).eq.abs(elm_) .or. abs(idordered(6)).eq.abs(mum_) )
then
1131 al1=al_lep * dsqrt(scale_alpha_z_ll)
1132 ar1=ar_lep * dsqrt(scale_alpha_z_ll)
1133 elseif( abs(idordered(6)).eq.abs(tam_) )
then
1134 al1=al_lep * dsqrt(scale_alpha_z_tt)
1135 ar1=ar_lep * dsqrt(scale_alpha_z_tt)
1136 elseif( abs(idordered(6)).eq.abs(nue_) .or. abs(idordered(6)).eq.abs(num_) .or. abs(idordered(6)).eq.abs(nut_) )
then
1137 al1=al_neu * dsqrt(scale_alpha_z_nn)
1138 ar1=ar_neu * dsqrt(scale_alpha_z_nn)
1139 elseif( abs(idordered(6)).eq.abs(up_) .or. abs(idordered(6)).eq.abs(chm_) )
then
1140 al1=al_qup * dsqrt(scale_alpha_z_uu)
1141 ar1=ar_qup * dsqrt(scale_alpha_z_uu)
1142 elseif( abs(idordered(6)).eq.abs(dn_) .or. abs(idordered(6)).eq.abs(str_) .or. abs(idordered(6)).eq.abs(bot_) )
then
1143 al1=al_qdn * dsqrt(scale_alpha_z_dd)
1144 ar1=ar_qdn * dsqrt(scale_alpha_z_dd)
1149 al2 = vpffcoupling(idordered(8),-1,.false.)
1150 ar2 = vpffcoupling(idordered(8),+1,.false.)
1152 pv(3,:) = pordered(:,6)+pordered(:,7)
1153 pv(4,:) = pordered(:,8)+pordered(:,9)
1154 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
1155 sp(3,:) = -sp(3,:) + pv(3,:)*( sc(sp(3,:),dcmplx(pv(3,:))) )/scr(pv(3,:),pv(3,:))
1156 sp(4,:) = pol_dk2mom(dcmplx(pordered(:,8)),dcmplx(pordered(:,9)),h4)
1157 sp(4,:) = -sp(4,:) + pv(4,:)*( sc(sp(4,:),dcmplx(pv(4,:))) )/scr(pv(4,:),pv(4,:))
1158 s = scr(pordered(:,6)+pordered(:,7),pordered(:,6)+pordered(:,7))
1159 propv(1) = s/dcmplx(s - m_v**2,m_v*ga_v)
1160 s = scr(pordered(:,8)+pordered(:,9),pordered(:,8)+pordered(:,9))
1161 if( m_vprime .gt. 0d0 )
then
1162 propv(2) = s/dcmplx(s - m_vprime**2,m_vprime*ga_vprime)
1163 elseif( m_vprime .eq. 0d0 )
then
1170 elseif( vvmode.eq.zpzpmode )
then
1172 al1 = vpffcoupling(idordered(6),-1,.false.)
1173 ar1 = vpffcoupling(idordered(6),+1,.false.)
1174 al2 = vpffcoupling(idordered(8),-1,.false.)
1175 ar2 = vpffcoupling(idordered(8),+1,.false.)
1177 pv(3,:) = pordered(:,6)+pordered(:,7)
1178 pv(4,:) = pordered(:,8)+pordered(:,9)
1179 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
1180 sp(3,:) = -sp(3,:) + pv(3,:)*( sc(sp(3,:),dcmplx(pv(3,:))) )/scr(pv(3,:),pv(3,:))
1181 sp(4,:) = pol_dk2mom(dcmplx(pordered(:,8)),dcmplx(pordered(:,9)),h4)
1182 sp(4,:) = -sp(4,:) + pv(4,:)*( sc(sp(4,:),dcmplx(pv(4,:))) )/scr(pv(4,:),pv(4,:))
1183 s = scr(pordered(:,6)+pordered(:,7),pordered(:,6)+pordered(:,7))
1184 if( m_vprime .gt. 0d0 )
then
1185 propv(1) = s/dcmplx(s - m_vprime**2,m_vprime*ga_vprime)
1186 elseif( m_vprime .eq. 0d0 )
then
1191 s = scr(pordered(:,8)+pordered(:,9),pordered(:,8)+pordered(:,9))
1192 if( m_vprime .gt. 0d0 )
then
1193 propv(2) = s/dcmplx(s - m_vprime**2,m_vprime*ga_vprime)
1194 elseif( m_vprime .eq. 0d0 )
then
1201 elseif( vvmode.eq.zpgsmode )
then
1203 al1 = vpffcoupling(idordered(6),-1,.false.)
1204 ar1 = vpffcoupling(idordered(6),+1,.false.)
1205 if( abs(idordered(8)).eq.abs(elm_) .or. abs(idordered(8)).eq.abs(mum_) )
then
1206 al2=cl_lep * dsqrt(scale_alpha_z_ll)
1207 ar2=cr_lep * dsqrt(scale_alpha_z_ll)
1208 elseif( abs(idordered(8)).eq.abs(tam_) )
then
1209 al2=cl_lep * dsqrt(scale_alpha_z_tt)
1210 ar2=cr_lep * dsqrt(scale_alpha_z_tt)
1211 elseif( abs(idordered(8)).eq.abs(nue_) .or. abs(idordered(8)).eq.abs(num_) .or. abs(idordered(8)).eq.abs(nut_) )
then
1212 al2=cl_neu * dsqrt(scale_alpha_z_nn)
1213 ar2=cr_neu * dsqrt(scale_alpha_z_nn)
1214 elseif( abs(idordered(8)).eq.abs(up_) .or. abs(idordered(8)).eq.abs(chm_) )
then
1215 al2=cl_qup * dsqrt(scale_alpha_z_uu)
1216 ar2=cr_qup * dsqrt(scale_alpha_z_uu)
1217 elseif( abs(idordered(8)).eq.abs(dn_) .or. abs(idordered(8)).eq.abs(str_) .or. abs(idordered(8)).eq.abs(bot_) )
then
1218 al2=cl_qdn * dsqrt(scale_alpha_z_dd)
1219 ar2=cr_qdn * dsqrt(scale_alpha_z_dd)
1225 pv(3,:) = pordered(:,6)+pordered(:,7)
1226 pv(4,:) = pordered(:,8)+pordered(:,9)
1227 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
1228 sp(3,:) = -sp(3,:) + pv(3,:)*( sc(sp(3,:),dcmplx(pv(3,:))) )/scr(pv(3,:),pv(3,:))
1229 sp(4,:) = pol_dk2mom(dcmplx(pordered(:,8)),dcmplx(pordered(:,9)),h4)
1231 s = scr(pordered(:,6)+pordered(:,7),pordered(:,6)+pordered(:,7))
1232 if( m_vprime .gt. 0d0 )
then
1233 propv(1) = s/dcmplx(s - m_vprime**2,m_vprime*ga_vprime)
1234 elseif( m_vprime .eq. 0d0 )
then
1239 s = scr(pordered(:,8)+pordered(:,9),pordered(:,8)+pordered(:,9))
1241 if( s.lt.mphotoncutoff**2 ) propv(2)=czero
1243 elseif( vvmode.eq.gszpmode )
then
1245 if( abs(idordered(6)).eq.abs(elm_) .or. abs(idordered(6)).eq.abs(mum_) )
then
1246 al1=cl_lep * dsqrt(scale_alpha_z_ll)
1247 ar1=cr_lep * dsqrt(scale_alpha_z_ll)
1248 elseif( abs(idordered(6)).eq.abs(tam_) )
then
1249 al1=cl_lep * dsqrt(scale_alpha_z_tt)
1250 ar1=cr_lep * dsqrt(scale_alpha_z_tt)
1251 elseif( abs(idordered(6)).eq.abs(nue_) .or. abs(idordered(6)).eq.abs(num_) .or. abs(idordered(6)).eq.abs(nut_) )
then
1252 al1=cl_neu * dsqrt(scale_alpha_z_nn)
1253 ar1=cr_neu * dsqrt(scale_alpha_z_nn)
1254 elseif( abs(idordered(6)).eq.abs(up_) .or. abs(idordered(6)).eq.abs(chm_) )
then
1255 al1=cl_qup * dsqrt(scale_alpha_z_uu)
1256 ar1=cr_qup * dsqrt(scale_alpha_z_uu)
1257 elseif( abs(idordered(6)).eq.abs(dn_) .or. abs(idordered(6)).eq.abs(str_) .or. abs(idordered(6)).eq.abs(bot_) )
then
1258 al1=cl_qdn * dsqrt(scale_alpha_z_dd)
1259 ar1=cr_qdn * dsqrt(scale_alpha_z_dd)
1264 al2 = vpffcoupling(idordered(8),-1,.false.)
1265 ar2 = vpffcoupling(idordered(8),+1,.false.)
1267 pv(3,:) = pordered(:,6)+pordered(:,7)
1268 pv(4,:) = pordered(:,8)+pordered(:,9)
1269 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
1271 sp(4,:) = pol_dk2mom(dcmplx(pordered(:,8)),dcmplx(pordered(:,9)),h4)
1272 sp(4,:) = -sp(4,:) + pv(4,:)*( sc(sp(4,:),dcmplx(pv(4,:))) )/scr(pv(4,:),pv(4,:))
1273 s = scr(pordered(:,6)+pordered(:,7),pordered(:,6)+pordered(:,7))
1275 if( s.lt.mphotoncutoff**2 ) propv(1)=czero
1276 s = scr(pordered(:,8)+pordered(:,9),pordered(:,8)+pordered(:,9))
1277 if( m_vprime .gt. 0d0 )
then
1278 propv(2) = s/dcmplx(s - m_vprime**2,m_vprime*ga_vprime)
1279 elseif( m_vprime .eq. 0d0 )
then
1286 elseif( vvmode.eq.zpgmode )
then
1288 al1 = vpffcoupling(idordered(6),-1,.false.)
1289 ar1 = vpffcoupling(idordered(6),+1,.false.)
1292 pv(3,:) = pordered(:,6)+pordered(:,7)
1293 pv(4,:) = pordered(:,8)
1294 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
1295 sp(3,:) = -sp(3,:) + pv(3,:)*( sc(sp(3,:),dcmplx(pv(3,:))) )/scr(pv(3,:),pv(3,:))
1296 sp(4,:) = pol_mless2(dcmplx(pordered(:,8)),h4,
'out')
1297 s = scr(pordered(:,6)+pordered(:,7),pordered(:,6)+pordered(:,7))
1298 if( m_vprime .gt. 0d0 )
then
1299 propv(1) = s/dcmplx(s - m_vprime**2,m_vprime*ga_vprime)
1300 elseif( m_vprime .eq. 0d0 )
then
1308 elseif( vvmode.eq.wpwmode )
then
1310 al1 = vpffcoupling(idordered(6),-1,.true.)
1311 ar1 = vpffcoupling(idordered(6),+1,.true.)
1312 if( isaquark(idordered(8)) )
then
1313 al2 = bl * dsqrt(scale_alpha_w_ud)
1314 ar2 = br * dsqrt(scale_alpha_w_ud)
1316 (abs(idordered(8)).eq.abs(elm_) .and. abs(idordered(9)).eq.abs(anue_)) .or. (abs(idordered(9)).eq.abs(elm_) .and. abs(idordered(8)).eq.abs(anue_)) .or. &
1317 (abs(idordered(8)).eq.abs(mum_) .and. abs(idordered(9)).eq.abs(anum_)) .or. (abs(idordered(9)).eq.abs(mum_) .and. abs(idordered(8)).eq.abs(anum_)) &
1319 al2 = bl * dsqrt(scale_alpha_w_ln)
1320 ar2 = br * dsqrt(scale_alpha_w_ln)
1322 (abs(idordered(8)).eq.abs(tam_) .and. abs(idordered(9)).eq.abs(anut_)) .or. (abs(idordered(9)).eq.abs(tam_) .and. abs(idordered(8)).eq.abs(anut_)) &
1324 al2 = bl * dsqrt(scale_alpha_w_tn)
1325 ar2 = br * dsqrt(scale_alpha_w_tn)
1330 pv(3,:) = pordered(:,6)+pordered(:,7)
1331 pv(4,:) = pordered(:,8)+pordered(:,9)
1332 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
1333 sp(3,:) = -sp(3,:) + pv(3,:)*( sc(sp(3,:),dcmplx(pv(3,:))) )/scr(pv(3,:),pv(3,:))
1334 sp(4,:) = pol_dk2mom(dcmplx(pordered(:,8)),dcmplx(pordered(:,9)),h4)
1335 sp(4,:) = -sp(4,:) + pv(4,:)*( sc(sp(4,:),dcmplx(pv(4,:))) )/scr(pv(4,:),pv(4,:))
1336 s = scr(pv(3,:),pv(3,:))
1337 if( m_vprime .gt. 0d0 )
then
1338 propv(1) = s/dcmplx(s - m_vprime**2,m_vprime*ga_vprime)
1339 elseif( m_vprime .eq. 0d0 )
then
1344 s = scr(pv(4,:),pv(4,:))
1345 propv(2) = s/dcmplx(s - m_v**2,m_v*ga_v)
1348 elseif( vvmode.eq.wwpmode )
then
1350 if( isaquark(idordered(6)) )
then
1351 al1 = bl * dsqrt(scale_alpha_w_ud)
1352 ar1 = br * dsqrt(scale_alpha_w_ud)
1354 (abs(idordered(6)).eq.abs(elp_) .and. abs(idordered(7)).eq.abs(nue_)) .or. (abs(idordered(7)).eq.abs(elp_) .and. abs(idordered(6)).eq.abs(nue_)) .or. &
1355 (abs(idordered(6)).eq.abs(mup_) .and. abs(idordered(7)).eq.abs(num_)) .or. (abs(idordered(7)).eq.abs(mup_) .and. abs(idordered(6)).eq.abs(num_)) &
1357 al1 = bl * dsqrt(scale_alpha_w_ln)
1358 ar1 = br * dsqrt(scale_alpha_w_ln)
1360 (abs(idordered(6)).eq.abs(tap_) .and. abs(idordered(7)).eq.abs(nut_)) .or. (abs(idordered(7)).eq.abs(tap_) .and. abs(idordered(6)).eq.abs(nut_)) &
1362 al1 = bl * dsqrt(scale_alpha_w_tn)
1363 ar1 = br * dsqrt(scale_alpha_w_tn)
1368 al2 = vpffcoupling(idordered(8),-1,.true.)
1369 ar2 = vpffcoupling(idordered(8),+1,.true.)
1371 pv(3,:) = pordered(:,6)+pordered(:,7)
1372 pv(4,:) = pordered(:,8)+pordered(:,9)
1373 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
1374 sp(3,:) = -sp(3,:) + pv(3,:)*( sc(sp(3,:),dcmplx(pv(3,:))) )/scr(pv(3,:),pv(3,:))
1375 sp(4,:) = pol_dk2mom(dcmplx(pordered(:,8)),dcmplx(pordered(:,9)),h4)
1376 sp(4,:) = -sp(4,:) + pv(4,:)*( sc(sp(4,:),dcmplx(pv(4,:))) )/scr(pv(4,:),pv(4,:))
1377 s = scr(pv(3,:),pv(3,:))
1378 propv(1) = s/dcmplx(s - m_v**2,m_v*ga_v)
1379 s = scr(pv(4,:),pv(4,:))
1380 if( m_vprime .gt. 0d0 )
then
1381 propv(2) = s/dcmplx(s - m_vprime**2,m_vprime*ga_vprime)
1382 elseif( m_vprime .eq. 0d0 )
then
1389 elseif( vvmode.eq.wpwpmode )
then
1391 al1 = vpffcoupling(idordered(6),-1,.true.)
1392 ar1 = vpffcoupling(idordered(6),+1,.true.)
1393 al2 = vpffcoupling(idordered(8),-1,.true.)
1394 ar2 = vpffcoupling(idordered(8),+1,.true.)
1396 pv(3,:) = pordered(:,6)+pordered(:,7)
1397 pv(4,:) = pordered(:,8)+pordered(:,9)
1398 sp(3,:) = pol_dk2mom(dcmplx(pordered(:,6)),dcmplx(pordered(:,7)),h3)
1399 sp(3,:) = -sp(3,:) + pv(3,:)*( sc(sp(3,:),dcmplx(pv(3,:))) )/scr(pv(3,:),pv(3,:))
1400 sp(4,:) = pol_dk2mom(dcmplx(pordered(:,8)),dcmplx(pordered(:,9)),h4)
1401 sp(4,:) = -sp(4,:) + pv(4,:)*( sc(sp(4,:),dcmplx(pv(4,:))) )/scr(pv(4,:),pv(4,:))
1402 s = scr(pv(3,:),pv(3,:))
1403 if( m_vprime .gt. 0d0 )
then
1404 propv(1) = s/dcmplx(s - m_vprime**2,m_vprime*ga_vprime)
1405 elseif( m_vprime .eq. 0d0 )
then
1410 s = scr(pv(4,:),pv(4,:))
1411 if( m_vprime .gt. 0d0 )
then
1412 propv(2) = s/dcmplx(s - m_vprime**2,m_vprime*ga_vprime)
1413 elseif( m_vprime .eq. 0d0 )
then