~maddevelopers/mg5amcnlo/3.0.2

« back to all changes in this revision

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

  • Committer: Marco Zaro
  • Date: 2014-01-27 16:54:10 UTC
  • mfrom: (78.124.55 MG5_aMC_2.1)
  • Revision ID: marco.zaro@gmail.com-20140127165410-5lma8c2hzbzm426j
merged with lp:~maddevelopers/madgraph5/MG5_aMC_2.1 r 267

Show diffs side-by-side

added added

removed removed

Lines of Context:
212
212
      include 'genps.inc'
213
213
      include 'nexternal.inc'
214
214
      include 'reweight0.inc'
 
215
      include 'run.inc'
215
216
      double precision muR_ref_dynamic,pp(0:3,nexternal)
216
217
      double precision tmp,scale_global_reference,pt,et,dot,sumdot
217
218
      external pt,et,dot,sumdot
228
229
      double precision pQCD(0:3,nexternal),PJET(0:3,nexternal)
229
230
      double precision rfj,sycut,palg,amcatnlo_fastjetdmergemax
230
231
     &     ,tmp1,tmp2,xm2
 
232
c FxFx
 
233
      integer nFxFx_ren_scales
 
234
      double precision FxFx_ren_scales(0:nexternal),FxFx_fac_scale(2)
 
235
      common/c_FxFx_scales/FxFx_ren_scales,nFxFx_ren_scales
 
236
     $     ,FxFx_fac_scale
231
237
c
232
238
      tmp=0
233
 
      if(imurtype.eq.1)then
 
239
      if(ickkw.eq.3)then
 
240
c FxFx merging scale:
 
241
c     Note that nFxFx_ren_scales includes the one scale that corresponds
 
242
c     to the real-emission one (and is zero for the n-body conf.). Skip
 
243
c     that scale here.
 
244
         if (nint(wgtbpower).gt.nFxFx_ren_scales-1) then
 
245
c For processes that have alpha_S to some (non-zero) power at the lowest
 
246
c multiplicity Born, use the transverse mass of that system for those
 
247
c alpha_S
 
248
            tmp=FxFx_ren_scales(0)**
 
249
     &           (nint(wgtbpower)-(nFxFx_ren_scales-1))
 
250
         elseif(nint(wgtbpower).eq.0) then
 
251
c lowest multiplicity for processes without QCD use the transverse mass
 
252
c of the colorless system (as returned by setclscales)
 
253
            tmp=FxFx_ren_scales(0)
 
254
         else
 
255
            tmp=1d0
 
256
         endif
 
257
         do i=2,nFxFx_ren_scales
 
258
            tmp=tmp*FxFx_ren_scales(i)
 
259
         enddo
 
260
         tmp=tmp**(1d0/max(wgtbpower,1d0))
 
261
         temp_scale_id='FxFx merging scale'
 
262
      elseif(imurtype.eq.1)then
234
263
        tmp=scale_global_reference(pp)
235
264
      elseif(imurtype.eq.2)then
236
265
        do i=nincoming+1,nexternal
262
291
            palg=1.d0
263
292
            rfj=0.4d0
264
293
            sycut=0d0
265
 
            call amcatnlo_fastjetppgenkt(pQCD,NN,rfj,sycut,palg,pjet,njet,jet)
 
294
            call amcatnlo_fastjetppgenkt_timed(pQCD,NN,rfj,sycut,palg,
 
295
     $           pjet,njet,jet)
266
296
            if (nn-1.gt.nint(wgtbpower)) then
267
297
c More Born QCD partons than QCD couplings
268
298
               write (*,*) 'More Born QCD partons than Born QCD '/
363
393
      implicit none
364
394
      include 'genps.inc'
365
395
      include 'nexternal.inc'
 
396
      include 'run.inc'
366
397
      double precision muF_ref_dynamic,pp(0:3,nexternal)
367
398
      double precision tmp,scale_global_reference,pt,et,dot,xm2,sumdot
368
399
      external pt,et,dot,sumdot
370
401
      common/ctemp_scale_id/temp_scale_id
371
402
      integer i,imuftype
372
403
      parameter (imuftype=1)
 
404
c FxFx
 
405
      integer nFxFx_ren_scales
 
406
      double precision FxFx_ren_scales(0:nexternal),FxFx_fac_scale(2)
 
407
      common/c_FxFx_scales/FxFx_ren_scales,nFxFx_ren_scales
 
408
     $     ,FxFx_fac_scale
373
409
c
374
410
      tmp=0
375
 
      if(imuftype.eq.1)then
 
411
      if(ickkw.eq.3)then
 
412
c FxFx merging scale:
 
413
        tmp=min(FxFx_fac_scale(1),FxFx_fac_scale(2))
 
414
        temp_scale_id='FxFx merging scale'
 
415
      elseif(imuftype.eq.1)then
376
416
        tmp=scale_global_reference(pp)
377
417
      elseif(imuftype.eq.2)then
378
418
        do i=nincoming+1,nexternal
473
513
      include 'genps.inc'
474
514
      include 'nexternal.inc'
475
515
      double precision scale_global_reference,pp(0:3,nexternal)
476
 
      double precision tmp,pt,et,dot,xm2,sumdot
 
516
      double precision tmp,pt,et,dot,xm2,sumdot,xmt2
477
517
      external pt,et,dot,sumdot
478
518
      integer i,itype
479
 
      parameter (itype=2)
 
519
      parameter (itype=3)
480
520
      character*80 temp_scale_id
481
521
      common/ctemp_scale_id/temp_scale_id
482
522
c
495
535
          tmp=tmp+sqrt(pt(pp(0,i))**2+xm2)
496
536
        enddo
497
537
        temp_scale_id='sum_i mT(i), i=final state'
 
538
      elseif(itype.eq.3)then
 
539
c Sum of transverse masses divided by 2
 
540
         do i=nincoming+1,nexternal
 
541
c     m^2+pt^2=p(0)^2-p(3)^2=(p(0)+p(3))*(p(0)-p(3))
 
542
            xmt2=(pp(0,i)+pp(3,i))*(pp(0,i)-pp(3,i))
 
543
c     take max() to avoid numerical instabilities
 
544
            tmp=tmp+sqrt(max(xmt2,0d0))/2d0
 
545
         enddo
 
546
         temp_scale_id='H_T/2 := sum_i mT(i)/2, i=final state'
498
547
      else
499
548
        write(*,*)'Unknown option in scale_global_reference',itype
500
549
        stop