Minimum value for photon virtuality in pp > hjj

Asked by Alena Loesle

Dear experts,

We want to generate vector-boson-fusion events for the process pp > hjj in an EFT model with dimension six operators involving electroweak gauge bosons (W±, Z, photon) and the Higgs boson with MadGraph at LO.
 As far as we understand a minimum value of the virtuality (Mandelstam variable -t) of the photons on the internal lines is required in order to keep the cross-section finite, e.g. HAWK applies a cut at (2 GeV)^2.
While we know, that there is a relation to the transverse momentum of the outgoing partons (we use the default value of pt>20 GeV here), we would like to know if such a cutoff scale is implementent for the photon virtuality and if this value can be set in the event generation.

Thanks for your help!

Question information

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

Hi,

No we do not have such cut in our setup.
You can code it manually in the file SubProcesses/dummy_cuts.f

You can actually contact Richard Ruiz who implemented such cut recently (as far as I know)

Cheers,

Olivier

> On 8 Aug 2019, at 10:21, Alena Loesle <email address hidden> wrote:
>
> New question #682698 on MadGraph5_aMC@NLO:
> https://answers.launchpad.net/mg5amcnlo/+question/682698
>
> Dear experts,
>
> We want to generate vector-boson-fusion events for the process pp > hjj in an EFT model with dimension six operators involving electroweak gauge bosons (W±, Z, photon) and the Higgs boson with MadGraph at LO.
> As far as we understand a minimum value of the virtuality (Mandelstam variable -t) of the photons on the internal lines is required in order to keep the cross-section finite, e.g. HAWK applies a cut at (2 GeV)^2.
> While we know, that there is a relation to the transverse momentum of the outgoing partons (we use the default value of pt>20 GeV here), we would like to know if such a cutoff scale is implementent for the photon virtuality and if this value can be set in the event generation.
>
> Thanks for your help!
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Revision history for this message
Alena Loesle (alena-loesle) said :
#2

Thanks Olivier Mattelaer, that solved my question.

Revision history for this message
Richard Ruiz (rruiz) said :
#3

Just updating this post to provide a public response to the question. To implement a t-channel virtuaity cut as done in Eq (2.32) of https://arxiv.org/abs/1411.7305, one can add the following to the file SubProcesses/dummy_cuts.f:

Near line 20: Add a call to externally defined mg5 kinematic functions (defined in Source/kin_functions.f):
c Add call external functions
      REAL*8 SumDot
      external SumDot

Near line 32: Add user-defined variables
c Add user-defined variables
      integer ii,jj
      double precision qq2,qq2Min

Near line 47: Add nested do-loops to compute abs(t) and check if smaller than a predefined cutoff [min(abs(t)) = qq2Min = (15 GeV)^2]:
      qq2Min = (15.D0)**2
      do ii=1,nincoming
         do jj=nincoming+1,nexternal
            if(is_a_j(jj)) then
               qq2 = dabs(SumDot(p(0,ii),p(0,jj),-1d0))
               if( qq2.LT.qq2Min ) then
                  dummy_cuts=.false.
c passcuts=.false.
               endif
            endif
         enddo
      enddo

To elaborate: cuts.f is where individual phase space points are checked to see if they satisfy the phase space cuts defined in the run_card.dat file. If a good phase space point is found, "passcuts" remains true, otherwise it is set to false. (MG5 assumes each phase space point generated is good and checks for reasons to reject the point.) At around line 1225, the function "dummy_cuts(P)" is called. If "dummy_cuts = .false.", then "passcuts=.false.", and the phase space point is rejected.

The dummy_cuts(P) function in dummy_fct.f takes as input the momenta of all external particles (P) and returns true/false. By default, it returns true, so passcuts remains unchanged. Additions to dummy at around L47-62 check if the virtuality between incoming and outgoing legs is too small. If so, then dummy_cuts returns false, which then triggers a false value for passcuts.