diff --git a/src/Phase/gen_stop.f b/src/Phase/gen_stop.f index 8f4b1e9..29f5465 100644 --- a/src/Phase/gen_stop.f +++ b/src/Phase/gen_stop.f @@ -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