Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:24:28

0001 #include "ThePEG/Config/Constants.h"
0002 
0003 namespace Herwig {
0004 using namespace ThePEG;
0005 
0006 
0007   /** \ingroup Utilities
0008    * This is a namespace which provides the loop functions
0009    * from NPB297 (1988) 221-243 which are used to
0010    * calculate Higgs production with an additional jet
0011    * and the real correction to \f$h^0\to gg\f$.
0012    */
0013  namespace HiggsLoopFunctions {
0014    
0015    /**
0016     *  Epsilon parameter
0017     */
0018    const Complex epsi = Complex(0.,-1.e-20);
0019    
0020    /**
0021     *  The \f$W_1(s)\f$ function of NPB297 (1988) 221-243.
0022     * @param s   The invariant
0023     * @param mf2 The fermion mass squared
0024     */
0025    Complex W1(Energy2 s,Energy2 mf2) {
0026      double root = sqrt(abs(1.-4.*mf2/s));
0027      if(s<ZERO)     return 2.*root*asinh(0.5*sqrt(-s/mf2));
0028      else if(s<4.*mf2) return 2.*root*asin(0.5*sqrt( s/mf2));
0029      else              return root*(2.*acosh(0.5*sqrt(s/mf2))
0030                     -Constants::pi*Complex(0.,1.));
0031    }
0032    
0033    /**
0034     *  The \f$W_2(s)\f$ function of NPB297 (1988) 221-243.
0035     * @param s   The invariant
0036     * @param mf2 The fermion mass squared
0037     */
0038    Complex W2(Energy2 s,Energy2 mf2) {
0039      double root=0.5*sqrt(abs(s)/mf2);
0040      if(s<ZERO)     return 4.*sqr(asinh(root));
0041      else if(s<4.*mf2) return -4.*sqr(asin(root));
0042      else              return 4.*sqr(acosh(root))-sqr(Constants::pi)
0043              -4.*Constants::pi*acosh(root)*Complex(0.,1.);
0044    }
0045    
0046    /**
0047     * The \f$I_3(s,t,u,v)\f$ function of NPB297 (1988) 221-243.
0048     * @param s The \f$s\f$ invariant
0049     * @param t The \f$t\f$ invariant
0050     * @param u The \f$u\f$ invariant
0051     * @param v The \f$v\f$ invariant
0052     * @param mf2 The fermion mass squared
0053     */
0054    Complex I3(Energy2 s, Energy2 t, Energy2 u, Energy2 v, Energy2 mf2) {
0055      double ratio=(4.*mf2*t/(u*s)),root(sqrt(1+ratio));
0056      if(v==ZERO) return 0.;
0057      Complex y=0.5*(1.+sqrt(1.-4.*(mf2+epsi*MeV*MeV)/v));
0058      Complex xp=0.5*(1.+root),xm=0.5*(1.-root);
0059      Complex output = 
0060        Math::Li2(xm/(xm-y))-Math::Li2(xp/(xp-y))+
0061        Math::Li2(xm/(y-xp))-Math::Li2(xp/(y-xm))+
0062        log(-xm/xp)*log(1.-epsi-v/mf2*xp*xm);
0063      return output*2./root;
0064    }
0065    
0066    /**
0067     * The \f$W_3(s,t,u,v)\f$ function of NPB297 (1988) 221-243.
0068     * @param s   The \f$s\f$ invariant
0069     * @param t   The \f$t\f$ invariant
0070     * @param u   The \f$u\f$ invariant
0071     * @param v   The \f$u\f$ invariant
0072     * @param mf2 The fermion mass squared.
0073     */
0074    Complex W3(Energy2 s, Energy2 t, Energy2 u, Energy2 v, Energy2 mf2) {
0075      return I3(s,t,u,v,mf2)-I3(s,t,u,s,mf2)-I3(s,t,u,u,mf2);
0076    }
0077    
0078    /**
0079     * The \f$b_2(s,t,u)\f$ function of NPB297 (1988) 221-243.
0080     * @param s   The \f$s\f$ invariant
0081     * @param t   The \f$t\f$ invariant
0082     * @param u   The \f$u\f$ invariant
0083     * @param mf2 The fermion mass squared.
0084     */
0085    Complex b2(Energy2 s, Energy2 t, Energy2 u, Energy2 mf2) {
0086      Energy2 mh2(s+u+t);
0087      complex<Energy2> output=s*(u-s)/(s+u)+2.*u*t*(u+2.*s)/sqr(s+u)*(W1(t,mf2)-W1(mh2,mf2))
0088        +(mf2-0.25*s)*(0.5*(W2(s,mf2)+W2(mh2,mf2))-W2(t,mf2)+W3(s,t,u,mh2,mf2))
0089        +sqr(s)*(2.*mf2/sqr(s+u)-0.5/(s+u))*(W2(t,mf2)-W2(mh2,mf2))
0090        +0.5*u*t/s*(W2(mh2,mf2)-2.*W2(t,mf2))
0091        +0.125*(s-12.*mf2-4.*u*t/s)*W3(t,s,u,mh2,mf2);
0092      return output*mf2/sqr(mh2);
0093    }
0094    
0095    /**
0096     * The \f$b_2(s,t,u)\f$ function of NPB297 (1988) 221-243.
0097     * @param s   The \f$s\f$ invariant
0098     * @param t   The \f$t\f$ invariant
0099     * @param u   The \f$u\f$ invariant
0100     * @param mf2 The fermion mass squared.
0101     */
0102    Complex b4(Energy2 s, Energy2 t, Energy2 u, Energy2 mf2) {
0103      Energy2 mh2(s+t+u);
0104      return mf2/mh2*(-2./3.+(mf2/mh2-0.25)*(W2(t,mf2)-W2(mh2,mf2)+W3(s,t,u,mh2,mf2)));
0105    }
0106    
0107    /**
0108     * The \f$A_1(m_h^2)\f$ function of NPB297 (1988) 221-243.
0109     * @param mh2 The Higgs mass squared
0110     * @param mf2 The fermion mass squared.
0111     */
0112    Complex A1(Energy2 mh2, Energy2 mf2) {
0113      return mf2/mh2*(4.-W2(mh2,mf2)*(1.-4.*mf2/mh2));
0114    }
0115    
0116    /**
0117     * The \f$A_2(s,t,u)\f$ function of NPB297 (1988) 221-243.
0118     * @param s   The \f$s\f$ invariant
0119     * @param t   The \f$t\f$ invariant
0120     * @param u   The \f$u\f$ invariant
0121     * @param mf2 The fermion mass squared.
0122     */
0123    Complex A2(Energy2 s, Energy2 t, Energy2 u, Energy2 mf2) {
0124      return b2(s,t,u,mf2)+b2(s,u,t,mf2);
0125    }
0126    
0127    /**
0128     * The \f$A_4(s,t,u)\f$ function of NPB297 (1988) 221-243.
0129     * @param s   The \f$s\f$ invariant
0130     * @param t   The \f$t\f$ invariant
0131     * @param u   The \f$u\f$ invariant
0132     * @param mf2 The fermion mass squared.
0133     */
0134    Complex A4(Energy2 s, Energy2 t, Energy2 u, Energy2 mf2) {
0135      return b4(s,t,u,mf2)+b4(u,s,t,mf2)+b4(t,u,s,mf2);
0136    }
0137  }
0138 }