~maddevelopers/mg5amcnlo/2.7.1.3

« back to all changes in this revision

Viewing changes to Template/LO/SubProcesses/reweight.f

  • Committer: olivier-mattelaer
  • Date: 2018-11-09 20:46:26 UTC
  • mfrom: (279.1.34 2.6.4)
  • Revision ID: olivier-mattelaer-20181109204626-50om03249xt7cyv5
mergeĀ 2.6.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
c     ----
7
7
c     p p > t t~ (up to 2jet)
8
8
c     p p > w+ (up to 3 jet)
 
9
c     p p > j j w+ (ordering seems important) 
9
10
c     p p > z t t~ j j  (no MLM needed)
10
11
c
11
12
c
243
244
      integer iddgluon, iddother, idgluon, idother
244
245
      logical isqcd
245
246
      external isqcd
 
247
      integer get_color
 
248
      external get_color 
246
249
 
247
250
      idmo=ipdg(imo)
248
251
      idda1=ipdg(ida1)
249
252
      idda2=ipdg(ida2)
250
253
 
251
254
      if (btest(mlevel,4)) then
252
 
        write(*,*) ' updating ipart for: ',ida1,ida2,' -> ',imo
 
255
        write(*,*) 'updating ipart for: ',ida1,ida2,' -> ',imo
253
256
      endif
254
257
 
255
258
      if (btest(mlevel,4)) then
291
294
     $        ' (',ipdg(imo),')'
292
295
         return
293
296
      endif        
294
 
 
295
297
c     FS clustering
296
298
c     Transmit parton PDG code for parton vertex
297
299
      if(isjet(idmo)) then
370
372
c     quark -> gluon-quark or Z-quark or h-quark or W-quark
371
373
        ipart(1,imo)=ipart(1,ida2)
372
374
        ipart(2,imo)=0
373
 
      else
 
375
      else if(iabs(get_color(idmo)).eq.3.and.iabs(get_color(idda1)).eq.3.and.get_color(idda2).eq.1) then
 
376
c       exotic q > q' Scalar         
 
377
        ipart(1,imo)=ipart(1,ida1)
 
378
        ipart(2,imo)=0
 
379
      else if(iabs(get_color(idmo)).eq.3.and.iabs(get_color(idda2)).eq.3.and.get_color(idda1).eq.1) then
 
380
c       exotic q > Scalar q'
 
381
        ipart(1,imo)=ipart(1,ida2)
 
382
        ipart(2,imo)=0
 
383
      else if (get_color(idmo).eq.1) then
374
384
c     Color singlet
375
385
         ipart(1,imo)=ipart(1,ida1)
376
386
         ipart(2,imo)=ipart(1,ida2)
 
387
      else
 
388
         write(*,*) idmo,'>', idda1, idda2, 'color', get_color(idmo),'>', get_color(idda1), get_color(idda2)
 
389
         write(*,*) "failed for ipartupdate. Please retry without MLM/default dynamical scale"
 
390
         stop 3
377
391
      endif
378
392
      
379
393
      if (btest(mlevel,4)) then
380
 
        write(*,*) ' -> ',(ipart(i,imo),i=1,2),' (',ipdg(imo),')'
 
394
        write(*,*) 'XY -> ',(ipart(i,imo),i=1,2),' (',ipdg(imo),')'
381
395
      endif
382
396
 
383
397
      return
695
709
c     increasecode gives whether we should increase jcode at next vertex
696
710
      increasecode=.false.
697
711
      do n=1,nexternal-2
 
712
c         write(*,*) 'QCD jet status (before n= ',n,'):',(iqjets(i),i=3,nexternal)
698
713
        do i=1,2 ! index of the child in the interaction
699
714
          do j=1,2 ! j index of the beam
700
715
            if(idacl(n,i).eq.ibeam(j))then
769
784
                 pdgm   = ipdgcl(imocl(n),igraphs(1),iproc)
770
785
                 pdgid1 = ipdgcl(idacl(n,1),igraphs(1),iproc)
771
786
                 pdgid2 = ipdgcl(idacl(n,2),igraphs(1),iproc)
772
 
 
773
787
                 if (.not.isqcd(pdgm).and..not.isqcd(pdgid1).and..not.isqcd(pdgid2)) then
774
788
                    ! this is to avoid to do weird stuff for w+ w- z (or h h h) 
775
789
                    ! this fix an issue for qq_zttxqq G1594.08
914
928
            endif
915
929
         enddo
916
930
         njetstore(iconfig)=njets
917
 
         if (btest(mlevel,4))
918
 
     $        write(*,*) 'Storing jets: ',(iqjetstore(i,iconfig),i=1,njets)
 
931
        if (btest(mlevel,4))
 
932
     $       write(*,*) 'Storing jets: ',(iqjetstore(i,iconfig),i=1,njets)
919
933
c     Recluster without requiring chcluster
920
934
         goto 100
921
935
      else