vbf process and match

Asked by vaborla

Hello,

       I would like to apply VBF cut and mjj cut in w+ jets process. I set the cards:

   process:
    p p > W j j
    p p > W j j j

   run_card:

   1 = icckw

    F = auto_ptj_mjj

   0 = ptj

  500 = mmjj

  4.0 = deltaeta ! vbfcut
    10 = xqcut

  pythia_card

   qcut = 15

I found it still auto set mjj. The mmjj I set does not work. I don't know why. I have set auto_ptj_mjj to faulse.

Thanks
Vaborla

Question information

Language:
English Edit question
Status:
Solved
For:
MadGraph5_aMC@NLO Edit question
Assignee:
No assignee Edit question
Solved by:
vaborla
Solved:
Last query:
Last reply:
Revision history for this message
vaborla (vaborla-tt) said :
#1

Hi,

    I have another question about the vbf cut. If there are three jets in final state, like pp > wjjj, I used the vbf cut mmjj and deltaeta.
Then which two jet MG5 will choose and apply mmjj/deltaeta cut to them ?

Cheers,
Vaborla

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#2

Dear Vaborla,

You should have a warning/info in the screen like:
mmjj > xqcut (and auto_ptj_mjj = F). MMJJ set to 0

Basically if you apply that cut you will screw up the matching.

> I have another question about the vbf cut. If there are three jets in final state, like pp > wjjj, I used the vbf cut mmjj and deltaeta.
> Then which two jet MG5 will choose and apply mmjj/deltaeta cut to them ?

mmjj is not a vbf cut specific cut, it applies on all pair of jet. (This is why this is very bad for matching/merging)
For delateta, this cut applies on the two hardest jet. you will find below the exact code.
Note that you use that cut, it automatically assumes RAP(J1)*ETA(J2)<0

Cheers,

Olivier

C WBF CUTS: TWO TYPES
C
C FIRST TYPE: implemented by FM
C
C 1. FIND THE 2 HARDEST JETS
C 2. REQUIRE |RAP(J)|>XETAMIN
C 3. REQUIRE RAP(J1)*ETA(J2)<0
C
C SECOND TYPE : added by Simon de Visscher 1-08-2007
C
C 1. FIND THE 2 HARDEST JETS
C 2. REQUIRE |RAP(J1)-RAP(J2)|>DELTAETA
C 3. REQUIRE RAP(J1)*RAP(J2)<0
C
C
         hardj1=0
         hardj2=0
         ptmax1=0d0
         ptmax2=0d0
C-- START IF AT LEAST ONE OF THE CUTS IS ACTIVATED

         IF(XETAMIN.GT.0D0.OR.DELTAETA.GT.0D0) THEN

C-- FIND THE HARDEST JETS

            do i=nincoming+1,nexternal
               if(is_a_j(i)) then
c write (*,*) i,pt(p(0,i))
                  if(pt(p(0,i)).gt.ptmax1) then
                     hardj2=hardj1
                     ptmax2=ptmax1
                     hardj1=i
                     ptmax1=pt(p(0,i))
                  elseif(pt(p(0,i)).gt.ptmax2) then
                     hardj2=i
                     ptmax2=pt(p(0,i))
                  endif
c write (*,*) hardj1,hardj2,ptmax1,ptmax2
               endif
            enddo

            if (hardj2.eq.0) goto 21 ! bypass vbf cut since not enough jets

C-- NOW APPLY THE CUT I

            if (abs(rap(p(0,hardj1))) .lt. xetamin
     & .or.abs(rap(p(0,hardj2))) .lt. xetamin
     & .or.rap(p(0,hardj1))*rap(p(0,hardj2)) .gt.0d0) then
             passcuts=.false.
             return
            endif

C-- NOW APPLY THE CUT II

            if (abs(rap(p(0,hardj1))-rap(p(0,hardj2))) .lt. deltaeta) then
             passcuts=.false.
             return
            endif

c write (*,*) hardj1,hardj2,rap(p(0,hardj1)),rap(p(0,hardj2))

         ENDIF

On Sep 17, 2014, at 4:23 PM, vaborla <email address hidden> wrote:

> Question #254633 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/254633
>
> vaborla gave more information on the question:
> Hi,
>
> I have another question about the vbf cut. If there are three jets in final state, like pp > wjjj, I used the vbf cut mmjj and deltaeta.
> Then which two jet MG5 will choose and apply mmjj/deltaeta cut to them ?
>
> Cheers,
> Vaborla
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Revision history for this message
vaborla (vaborla-tt) said :
#3

Hi Olivier,

     What you mean is that we can not use our own mmjj cut when we wanna match processes. For the vbf process I study, If I add mmjj (the hardest two jet > 500) cut in vbf cut , like

    C-- NOW APPLY THE CUT II

            if (abs(rap(p(0,hardj1))-rap(p(0,hardj2))) .lt. deltaeta) then
             passcuts=.false.
             return
            endif

             if (SumDot(p(0,hardj1),p(0,hardj2)) .lt. 500) then
                passcuts=.false.
                return
             endif

c write (*,*) hardj1,hardj2,rap(p(0,hardj1)),rap(p(0,hardj2))

         ENDIF

I wanna know whether the match is broken.

Cheers
Vaborla

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#4

Hi Vaborla,

I think that this cut can creates bias in the highest multiplicity sample (since in that case Pythia is allowed to generate strong jet and then in principle to change the definition on which the cut should have been applied)
However this is probably a small effect with which you can probably work with. So I would say that this should be fine but require a bit of validation.

Cheers,

Olivier

On Sep 19, 2014, at 11:08 AM, vaborla <email address hidden> wrote:

> Question #254633 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/254633
>
> Status: Answered => Open
>
> vaborla is still having a problem:
> Hi Olivier,
>
> What you mean is that we can not use our own mmjj cut when we wanna
> match processes. For the vbf process I study, If I add mmjj (the
> hardest two jet > 500) cut in vbf cut , like
>
> C-- NOW APPLY THE CUT II
>
> if (abs(rap(p(0,hardj1))-rap(p(0,hardj2))) .lt. deltaeta) then
> passcuts=.false.
> return
> endif
>
> if (SumDot(p(0,hardj1),p(0,hardj2)) .lt. 500) then
> passcuts=.false.
> return
> endif
>
> c write (*,*) hardj1,hardj2,rap(p(0,hardj1)),rap(p(0,hardj2))
>
> ENDIF
>
> I wanna know whether the match is broken.
>
>
> Cheers
> Vaborla
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Revision history for this message
vaborla (vaborla-tt) said :
#5

Hi Olivier,

     When I modified the cut.f, there are some errors,

    Idle: 53 Running: 4 Finish: 0
 Idle: 52 Running: 4 Finish: 1
 Idle: 48 Running: 4 Finish: 5
./ajob50: line 4: 11575 Segmentation fault (core dumped) ../madevent > $k < input_app.txt
 Idle: 47 Running: 4 Finish: 6
./ajob55: line 4: 11636 Segmentation fault (core dumped) ../madevent > $k < input_app.txt
 Idle: 43 Running: 4 Finish: 10
 Idle: 39 Running: 4 Finish: 14
./ajob49: line 4: 11726 Segmentation fault (core dumped) ../madevent > $k < input_app.txt

    I just add mmjj for two hardest jet in WBF cut in cut.f

C-- NOW APPLY THE CUT II

            if (abs(rap(p(0,hardj1))-rap(p(0,hardj2))) .lt. deltaeta) then
             passcuts=.false.
             return
            endif

             if (SumDot(p(0,hardj1),p(0,hardj2)) .lt. 500) then
                passcuts=.false.
                return
             endif

c write (*,*) hardj1,hardj2,rap(p(0,hardj1)),rap(p(0,hardj2))

         ENDIF

     Finally, the MG5 returned zero cross section. I don't know where I am wrong.

Cheers,
Vaborla

Revision history for this message
vaborla (vaborla-tt) said :
#6

I have solved the problems
Thanks