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
Solved by:
marco zaro
Last query:
Last reply:
Revision history for this message
Best marco zaro (marco-zaro) said :

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



Revision history for this message
Hesham El Faham (helfaham) said :

Thanks marco zaro, that solved my question.