# Applying user defined cuts in cuts.f for NLO process

Hello,

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

passcuts_

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(

c$$$C invariant mass do not pass cuts. Set passcuts_user to false and return

endif

endif

enddo

c

if (passcuts_

end

-->

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?

Best,

Hesham

## Question information

- Language:
- English Edit question

- Status:
- Answered

- Assignee:
- No assignee Edit question

- Last query:
- 2020-07-13

- Last reply:
- 2020-07-24

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

Cheers,

Marco

## Can you help with this problem?

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