# how can i change cos th value from limit (-1 to 0) or (0 to 1) in cuts.f

HI,

I have use e+ e- > mu+ mu-.

In cuts.f file in SubProcesses folder :

Here the line are:

COSTH = ( PJET(I,1)*PJET(J,1) + PJET(I,2)*PJET(J,2) + PJET(I,3)*PJET(J,3) )/(PABS1*PABS2)

ELSE

C IF 3-MOMENTA VANISH, MAKE JET COSTH = 1D0 SO THAT JET MEASURE VANISHES

COSTH = 1D0

ENDIF

here how can i set the cos(theta) limit from [-1 to 0]

Please help me to get the solution.

Thanks

Elsa

## Question information

- Language:
- English Edit question

- Status:
- Answered

- Assignee:
- No assignee Edit question

- Last query:
- 2020-09-30

- Last reply:
- 2020-10-02

Here is the FAQ that should answer your question:

https:/

Cheers,

Olivier

Elsa (rmvkook97) said : | #2 |

Hi,

Thanks for this

But am unable to detect where the cos(theta) value limit can be changed.

Please help to know what should i change for solving this.

Thanks

Elsa

We do not have default cut on costh.

You have to hardcode your own cut.

The line that you quote are for the kt-durham cut that is not applied on lepton.

Cheers,

Olivier

Elsa (rmvkook97) said : | #4 |

Can you suggest me how can i harddcode my own cut.

So that it will be helpful.

Thanks

Elsa

Did you check the above FAQ?

Cheers,

Olivier

Elsa (rmvkook97) said : | #6 |

Yes, i had go through SubProcesses/

But unable to find the change of cos(theta) value for a certain limit like (0,1).

Thanks

Elsa

Hi Elsa,

So the idea is to take the set of momenta and compute the cos(theta) value.

(be carefull that theta is not a lorentz invariant quantity and therefore you might need to boost the momenta to the frame of your choice.

When you have the value of cos(theta) (which will be between -1 and 1.

If that value is between 0 and 1 as you want then you set "dummy_cuts=.true."

if it is between -1 and 0 then you set "dummy_

The machine learning layer of the code will then optimize the code automatically to avoid to generate the events between -1,0.

Cheers,

Olivier

Elsa (rmvkook97) said : | #8 |

Hello sir,

Here is the dummy_fct.f page. when i changed the "dummy_cuts=.true." to "dummy_

how can i solve this . kindly suggest.

logical FUNCTION dummy_cuts(P)

C******

C INPUT:

C P(0:3,1) MOMENTUM OF INCOMING PARTON

C P(0:3,2) MOMENTUM OF INCOMING PARTON

C P(0:3,3) MOMENTUM OF ...

C ALL MOMENTA ARE IN THE REST FRAME!!

C COMMON/JETCUTS/ CUTS ON JETS

C OUTPUT:

C TRUE IF EVENTS PASSES ALL CUTS LISTED

C******

IMPLICIT NONE

c

c Constants

c

include 'genps.inc'

include 'nexternal.inc'

C

C ARGUMENTS

C

REAL*8 P(0:3,nexternal)

C

C PARAMETERS

C

real*8 PI

parameter( PI = 3.1415926535897

c

c particle identification

c

LOGICAL IS_A_J(

LOGICAL IS_A_B(

LOGICAL IS_A_NU(

logical do_cuts(nexternal)

COMMON /TO_SPECISA/

. IS_A_ONIUM, do_cuts

dummy_

return

end

subroutine get_dummy_x1(sjac, X1, R, pbeam1, pbeam2, stot, shat)

implicit none

include 'maxparticles.inc'

include 'run.inc'

c include 'genps.inc'

double precision sjac ! jacobian. should be updated not reinit

double precision X1 ! bjorken X. output

double precision R ! random value after grid transfrormation. between 0 and 1

double precision pbeam1(0:3) ! momentum of the first beam (input and/or output)

double precision pbeam2(0:3) ! momentum of the second beam (input and/or output)

double precision stot ! total energy (input and /or output)

double precision shat ! output

c global variable to set (or not)

double precision cm_rap

logical set_cm_rap

common/

set_

shat = x1*ebeam(

return

end

subroutine get_dummy_

implicit none

include 'maxparticles.inc'

include 'run.inc'

c include 'genps.inc'

double precision sjac ! jacobian. should be updated not reinit

double precision X(2) ! bjorken X. output

double precision R(2) ! random value after grid transfrormation. between 0 and 1

double precision pbeam1(0:3) ! momentum of the first beam

double precision pbeam2(0:3) ! momentum of the second beam

double precision stot ! total energy

double precision shat ! output

c global variable to set (or not)

double precision cm_rap

logical set_cm_rap

common/

set_

shat = x(1)*x(

return

end

logical function dummy_boostframe()

implicit none

c

c

dummy_

return

end

That's expected right, if you ALWAYS return .false. this is the same as asking to not allow any range in cos(theta) --or any other variable--. In that case the cross-section is then 0 which is not a very interesting quantity to compute.

Additionally madgraph is not able to generate events for a zero cross-section.

Cheers,

olivier

Elsa (rmvkook97) said : | #10 |

Then how can i change the cos{theta} limit for AFB{forward - backward assymetry}???

## Can you help with this problem?

Provide an answer of your own, or ask Elsa for more information if necessary.