Page MenuHomeHEPForge

d226h2l1.f90
No OneTemporary

d226h2l1.f90

module uussbb_d226h2l1
! file: /home/thomasr/Work/samurai-processes/uussbb/helicity2/d226h2l1.f
! 90
! generator: haggies (1.1)
use precision, only: ki
use uussbb_config
use uussbb_model
use uussbb_kinematics
use uussbb_util, only: cond
use uussbb_color
use uussbb_abbrevh2l1
implicit none
private :: brack_1
private :: brack_2
private :: brack_3
private :: brack_4
private :: brack_5
complex(ki), parameter :: i_ = (0.0_ki, 1.0_ki)
private :: i_
contains
pure function brack_1(Q, mu2) result(brack)
implicit none
complex(ki), dimension(4), intent(in) :: Q
real(ki), intent(in) :: mu2
complex(ki) :: brack
brack = (abb226n1/es56*i_)
end function brack_1
pure function brack_2(Q, mu2) result(brack)
implicit none
complex(ki), dimension(4), intent(in) :: Q
real(ki), intent(in) :: mu2
complex(ki), dimension(numcs) :: brack
real(ki) :: t1
t1 = NC*NC
brack = (TR*TR*TR*((2.0_ki)*(c5/NC-c6/t1)+(-((1.0_ki)/t1+(1.0_ki)))*c2+((1&
&.0_ki)/(t1*NC)+(1.0_ki)/NC)*c1))
end function brack_2
pure function brack_3(Q, mu2) result(brack)
implicit none
complex(ki), dimension(4), intent(in) :: Q
real(ki), intent(in) :: mu2
complex(ki) :: brack
complex(ki) :: t1
complex(ki) :: t2
complex(ki) :: t3
t1 = dotproduct(Q, spvak1k2)
t2 = dotproduct(Q, spvak3k4)
t3 = dotproduct(Q, spvak3k6)
brack = ((4.0_ki)*(abb226n2+t3*abb226n5+mu2*abb226n6+t1*t2*abb226n8-(t1*t3&
&*abb226n9+t2*abb226n4+t1*abb226n3)))
end function brack_3
pure function brack_4(Q, mu2) result(brack)
implicit none
complex(ki), dimension(4), intent(in) :: Q
real(ki), intent(in) :: mu2
complex(ki) :: brack
complex(ki) :: t1
t1 = dotproduct(Q, spvak1k2)
brack = ((2.0_ki)*(t1*abb226n7+t1*abb226n9*dotproduct(Q, spvak3k6)-t1*abb2&
&26n8*dotproduct(Q, spvak3k4)))
end function brack_4
pure function brack_5(Q, mu2) result(brack)
implicit none
complex(ki), dimension(4), intent(in) :: Q
real(ki), intent(in) :: mu2
integer :: brack
brack = 0
end function brack_5
pure subroutine diagram226(Q, mu2, epspow, res)
implicit none
complex(ki), dimension(4), intent(in) :: Q
real(ki), intent(in) :: mu2
integer, intent(in) :: epspow
complex(ki), dimension(1:numcs), intent(inout) :: res
complex(ki), dimension(1:numcs) :: acc
complex(ki) :: prefactor
complex(ki), dimension(numcs) :: cf1
! res is set to zero in the calling routines,
! therefore we sum to whatever is there already.
acc = 0.0_ki
prefactor = brack_1(Q, mu2)
cf1 = brack_2(Q, mu2)
acc(:) = acc(:) + cf1(:) * ((cond(epspow.eq.0,brack_3,Q,mu2)+cond(epspow.e&
&q.1,brack_4,Q,mu2)))
! d226: if non-zero, there is only one color structure
acc(1) = acc(1) + (brack_5(Q, mu2))
res = res + prefactor * acc
end subroutine diagram226
end module uussbb_d226h2l1

File Metadata

Mime Type
text/plain
Expires
Fri, Apr 4, 9:34 PM (16 h, 9 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4737409
Default Alt Text
d226h2l1.f90 (3 KB)

Event Timeline