Applying user defined cuts in cuts.f for NLO process

Asked by Hesham El Faham on 2020-07-13


I am trying to implement a cut on the max invariant mass of the dilepton system in tl+l-W process at NLO in QCD.
For that, I add the following cut in the cuts.f file:
c$$$C EXAMPLE: cut on max invariant mass of two leptons
c$$$C Note that PDG specific cut are more optimised than simple user cut
      do i=1,nexternal ! loop over all external particles
         if (istatus(i).eq.1 ! final state particle
     & .and. abs(ipdg(i)).eq.11 .or. ipdg(i).eq.13) then ! electron or muon
c$$$C apply the inv mass cut (inv mass should be less than 100 GeV for the event to
c$$$C pass cuts)
            if ( invm2_04(p(0,i),p(0,j),1d0) .lt. 100d0**2 ) then
c$$$C invariant mass do not pass cuts. Set passcuts_user to false and return
      if (passcuts_user.eqv..false.)return
However, I get a negative-valued cross section when this cut is imposed, so there must be something wrong here, may you please help me with this?


Question information

English Edit question
MadGraph5_aMC@NLO Edit question
No assignee Edit question
Last query:
Last reply:
marco zaro (marco-zaro) said : #1

Hi Hesham,
I can see two small thing and a big one:
 - the i loop should be from nincoming+1 to nexternal, you do not need to loop over initial partons
 - in the if statament, put parentheses around (abs(ipdg(i)).eq.11 .or. ipdg(i).eq.13)
 - you should add another loop on j, otherwise j is unassigned, which is likely why you are getting unphysical results



Can you help with this problem?

Provide an answer of your own, or ask Hesham El Faham for more information if necessary.

To post a message you must log in.