|
|
|
@ -78,35 +78,13 @@ c--- generate the pt of jet number ijet |
|
|
|
c--- rapidity limited by E=pT*coshy |
|
|
|
wt=wt/16._dp/pi**3 |
|
|
|
|
|
|
|
c ! some other ways to generate in pT |
|
|
|
c ! directly in pT |
|
|
|
c pt = sqrts*r(ijet)/2._dp |
|
|
|
c xjac = r(ijet)*sqrts**2/4._dp |
|
|
|
c ! 1/pt |
|
|
|
c pt = sqrts*r(ijet)/(sqrts+2*r(ijet)-sqrts*r(ijet)) |
|
|
|
c xjac = r(ijet)*sqrts**3 / (2*r(ijet) - sqrts*(r(ijet)-1))**3 |
|
|
|
c ! -log(pT) |
|
|
|
c pt = exp(log(sqrts/2._dp) - (1-r(ijet))/r(ijet)) |
|
|
|
c xjac = exp(2._dp*log(sqrts/2._dp) - 2._dp*(1-r(ijet))/r(ijet))/r(ijet)**2 |
|
|
|
|
|
|
|
! for nnlo double real ipsgen=1 |
|
|
|
!if ((kcase == kbq_tpq_jet) .and. (kpart == kreal) .and. usescet .and. (ipsgen == 1)) then |
|
|
|
c if (ijet == 1) then |
|
|
|
! in 1/sqrt(pT) |
|
|
|
!pt = r(ijet)**2*sqrts/2._dp |
|
|
|
!xjac = pt*sqrts/2._dp*2._dp*r(ijet) |
|
|
|
c else |
|
|
|
c ! 1/pt^2 |
|
|
|
c pt = 1._dp / sqrt(4._dp/sqrts**2 + (1-r(ijet))/r(ijet)) |
|
|
|
c xjac = sqrts**4 / 2._dp / (sqrts**2*(r(ijet)-1._dp) - 4*r(ijet))**2 |
|
|
|
c endif |
|
|
|
! for nlo real, ipsgen == 2 |
|
|
|
!elseif ((kcase == kbq_tpq) .and. (kpart == kreal) .and. (.not. usescet) .and. (ipsgen == 2)) then |
|
|
|
!error stop "todo" |
|
|
|
!else |
|
|
|
!error stop "please explicitly setup gen_stop for this case" |
|
|
|
if (kpart == kvirt) then |
|
|
|
pt = r(ijet)**2*sqrts/2._dp |
|
|
|
xjac = pt*sqrts/2._dp*2._dp*r(ijet) |
|
|
|
else |
|
|
|
call genpt(r(ijet),5._dp,.false.,pt,xjac) |
|
|
|
!endif |
|
|
|
endif |
|
|
|
|
|
|
|
wt=wt*xjac |
|
|
|
|
|
|
|
etamax=sqrts/2._dp/pt |
|
|
|
|