~madteam/mg5amcnlo/series2.0

« back to all changes in this revision

Viewing changes to Template/NLO/SubProcesses/reweight_xsec.f

  • Committer: Rikkert Frederix
  • Date: 2015-08-19 12:50:52 UTC
  • mto: This revision was merged to the branch mainline in revision 260.
  • Revision ID: frederix@physik.uzh.ch-20150819125052-18lm4roak6iaevml
Fix by Marius Wiesemann in his stuff for the treatment of the bottom
Yukawa. The user need to uncomment this code explicitly to be able to
use it.

Show diffs side-by-side

added added

removed removed

Lines of Context:
429
429
            nFKSprocess=nFKSprocess_used
430
430
            xlum = dlum()
431
431
            xsec=xsec+CONV*PD(i_process)*wgtwmcxsec(i)*g**(2*wgtbpower
432
 
     $           +2.d0) * rwgt_muR_dep_fac(scale)
 
432
     $           +2.d0) * rwgt_muR_dep_fac(scale,scale)
433
433
com-- muR-dependent fac is reweighted here
434
434
          endif
435
435
        enddo
479
479
            nFKSprocess=nFKSprocess_used
480
480
            xlum = dlum()
481
481
            xsec=xsec+CONV*PD(i_process)*wgtwreal(k)*g**(2*wgtbpower
482
 
     $           +2.d0) * rwgt_muR_dep_fac(scale)
 
482
     $           +2.d0) * rwgt_muR_dep_fac(scale,scale)
483
483
com-- muR-dependent fac is reweighted here
484
484
          endif
485
485
        enddo
527
527
          nFKSprocess=nFKSprocess_used
528
528
          xlum = dlum()
529
529
          xsec=xsec+CONV*PD(i_process)*wgtwreal(1)*g**(2*wgtbpower+2.d0)
530
 
     f         * rwgt_muR_dep_fac(scale)
 
530
     f         * rwgt_muR_dep_fac(scale,scale)
531
531
com-- muR-dependent fac is reweighted here
532
532
        endif
533
533
      endif
663
663
            do j=1,iproc_save(nFKSprocess)
664
664
               if (eto(j,nFKSprocess).eq.i_process) then
665
665
                  xsec=xsec+CONV*PD(j)*wgtwmcxsec(i)*g**(2*wgtbpower
666
 
     $                 +2.d0) * rwgt_muR_dep_fac(scale)
 
666
     $                 +2.d0) * rwgt_muR_dep_fac(scale,scale)
667
667
com-- muR-dependent fac is reweighted here
668
668
               endif
669
669
            enddo
759
759
               if (eto(j,nFKSprocess).eq.i_process) then
760
760
                  xsec=xsec+CONV*PD(j)*( wgtwreal(k)+wgtwdeg(k)
761
761
     $                 +wgtwdegmuf(k)*xlgmuf )*g**(2*wgtbpower+2.d0)
762
 
     f                 * rwgt_muR_dep_fac(scale)
 
762
     f                 * rwgt_muR_dep_fac(scale,scale)
763
763
com-- muR-dependent fac is reweighted here
764
764
               endif
765
765
            enddo
770
770
                 if (eto(j,nFKSprocess).eq.i_process) then
771
771
                    if(wgtbpower.gt.0)then
772
772
                       xsec=xsec+CONV*PD(j)*wgtwborn(k)*g**(2*wgtbpower)
773
 
     f                      * rwgt_muR_dep_fac(scale)
 
773
     f                      * rwgt_muR_dep_fac(scale,scale)
774
774
com-- muR-dependent fac is reweighted here
775
775
                    else
776
776
                       xsec=xsec+CONV*PD(j)*wgtwborn(k)
777
 
     f                      * rwgt_muR_dep_fac(scale)
 
777
     f                      * rwgt_muR_dep_fac(scale,scale)
778
778
com-- muR-dependent fac is reweighted here
779
779
                    endif
780
780
                    xsec=xsec+CONV*PD(j)*( wgtwns(k)+ wgtwnsmuf(k)
781
781
     $                   *xlgmuf+wgtwnsmur(k)*xlgmur )*g**(2*wgtbpower
782
 
     $                   +2.d0) * rwgt_muR_dep_fac(scale)
 
782
     $                   +2.d0) * rwgt_muR_dep_fac(scale,scale)
783
783
com-- muR-dependent fac is reweighted here
784
784
                 endif
785
785
              enddo
832
832
          do j=1,iproc_save(nFKSprocess)
833
833
             if (eto(j,nFKSprocess).eq.i_process) then
834
834
                xsec=xsec+CONV*PD(j)*wgtwreal(1)*g**(2*wgtbpower+2.d0)
835
 
     f               * rwgt_muR_dep_fac(scale)
 
835
     f               * rwgt_muR_dep_fac(scale,scale)
836
836
com-- muR-dependent fac is reweighted here
837
837
             endif
838
838
          enddo
965
965
                  if (eto(j,nFKSprocess).eq.i_process) then
966
966
                     if(wgtbpower.gt.0)then
967
967
                        xsec=xsec+CONV*PD(j)*wgtwborn_all*g**(2
968
 
     $                       *wgtbpower) * rwgt_muR_dep_fac(scale)
 
968
     $                       *wgtbpower) * rwgt_muR_dep_fac(scale,scale)
969
969
com-- muR-dependent fac is reweighted here
970
970
                     else
971
971
                        xsec=xsec+CONV*PD(j)*wgtwborn_all
972
 
     f                       * rwgt_muR_dep_fac(scale)
 
972
     f                       * rwgt_muR_dep_fac(scale,scale)
973
973
com-- muR-dependent fac is reweighted here
974
974
                     endif
975
975
                     xsec=xsec+CONV*PD(j)*( wgtwns_all+ wgtwnsmuf_all
976
976
     $                    *xlgmuf+wgtwnsmur_all*xlgmur )*g**(2*wgtbpower
977
 
     $                    +2.d0) * rwgt_muR_dep_fac(scale)
 
977
     $                    +2.d0) * rwgt_muR_dep_fac(scale,scale)
978
978
com-- muR-dependent fac is reweighted here
979
979
                  endif
980
980
               enddo
1065
1065
c     factor and devide by the muR-independent one.
1066
1066
c Note: This is implemented below for the Bottom Yukawa in the SM.
1067
1067
c       Change it to the factor you need to reweight.
1068
 
      Double precision function rwgt_muR_dep_fac(scale)
 
1068
      Double precision function rwgt_muR_dep_fac(scale,central)
1069
1069
      implicit none
1070
1070
      double precision scale,vev,mbmb,apimuR,apimZ,apimb,mbmuR,alphas,pi
1071
1071
      parameter (pi=3.14159265358979323846d0)
1074
1074
      include "reweight.inc"
1075
1075
      include "coupl.inc"
1076
1076
      include "../../Source/MODEL/input.inc"
 
1077
      integer i
 
1078
      double precision central,tootiny,apicentral,mbcentral
 
1079
      parameter (tootiny=1d-9)
1077
1080
      rwgt_muR_dep_fac = 1d0
1078
1081
c     This is relevant for a muR-dependent bottom-mass in Yukawa.
1079
1082
      IF(wgtcpower .ne. 0d0 .and. runfac .eq. 1) THEN
1081
1084
c$$$      mbmb = MDL_YB*vev/dsqrt(2d0)
1082
1085
c$$$com-- mbmb input for fixed Yukawa bmass in param_card.dat is used here
1083
1086
c$$$com-- as start value of running and to remove it from the cross section
1084
 
c$$$      apimuR = alphas(scale)/pi
 
1087
c$$$c new settings NLO
1085
1088
c$$$      apimZ  = alphas(MDL_MZ)/pi
1086
 
c$$$      CALL runalpha(apimZ,MDL_MZ,mbmb,5d0,2,0,apimb)
1087
 
c$$$      CALL runmass(mbmb,apimb,apimuR,5d0,2,mbmuR)
 
1089
c$$$
 
1090
c$$$      if(dabs(scale/central-1d0).lt.tootiny) then
 
1091
c$$$c if scale muR is the same as the central scale of muR, get 
 
1092
c$$$c "input value" mb(muR) with highest possible accuracy
 
1093
c$$$         CALL runalpha(apimZ,MDL_MZ,central,4d0,4,0,apimuR)
 
1094
c$$$         CALL runalpha(apimZ,MDL_MZ,mbmb,4d0,4,0,apimb)
 
1095
c$$$         CALL runmass(mbmb,apimb,apimuR,4d0,4,mbmuR)
 
1096
c$$$      else
 
1097
c$$$c if scale and central are different (muR variations) do two steps:
 
1098
c$$$c step 1: get "input value" mb(central scale) from most accurate running
 
1099
c$$$         CALL runalpha(apimZ,MDL_MZ,central,4d0,4,0,apicentral)
 
1100
c$$$         CALL runalpha(apimZ,MDL_MZ,mbmb,4d0,4,0,apimb)
 
1101
c$$$         CALL runmass(mbmb,apimb,apicentral,4d0,4,mbcentral)
 
1102
c$$$c step 2: get variation around central value, ie mb(muR), with loop 
 
1103
c$$$c         order consistent with computation LO: 1-loop, NLO: 2-loop
 
1104
c$$$         CALL runalpha(apicentral,central,scale,4d0,2,0,apimuR)
 
1105
c$$$         CALL runmass(mbcentral,apicentral,apimuR,4d0,2,mbmuR)
 
1106
c$$$      endif
1088
1107
c$$$      rwgt_muR_dep_fac = (mbmuR/mbmb)**wgtcpower
1089
1108
      ELSE
1090
1109
         return