Issue with Madgraph running slow when generating event lhe file.

Asked by Yao Yao

Hi,

I am using Madgraph to generate process p p > m+ m- zp with HAHM model, in which zp is dark photon. I am trying to generate zp with very low mass, about 1 MeV. I met the problem that Madgraph ran very slow when I did "launch" and tried to generate lhe file for 10000 events. Madgraph says it failed to reach 10000 events, and ended with a lhe file with 25 events.

I've been asking this question to the author of HAHM model, but he thinks there shouldn't be an issue for bring down the zp mass to MeV level. And I've tried several suggestions from CMS MC experts, like change the small_width_treatment, delete "set decay 1023 auto" (1023 is dark photon particle id), or put a pt cut like 10 GeV on the dark photon. Unfortunately none of them worked out. I've also tried MadGraph 2.6.0 and MadGraph 2.6.5, still have the same issue. Do you have any idea what might probably cause this problem?

I attach my process, run card, and param card here.

Thank you,
Yao.

******************************************
process
******************************************
import model --modelname HAHM_variableMW_v3_UFO

define p = g u c d s b u~ c~ d~ s~ b~

define higgs = h hs
generate p p > m+ m- zp #I've tried p p > m+ m- zp /higgs as well.

output darkPhoton_m5e-4

******************************************
param card
******************************************
######################################################################
## PARAM_CARD AUTOMATICALY GENERATED BY MG5 FOLLOWING UFO MODEL ####
######################################################################
## ##
## Width set on Auto will be computed following the information ##
## present in the decay.py files of the model. ##
## See arXiv:1402.1178 for more details. ##
## ##
######################################################################

###################################
## INFORMATION FOR CKMBLOCK
###################################
Block ckmblock
    1 4.880000e-01 # cabi

###################################
## INFORMATION FOR GAUGEMASS
###################################
Block gaugemass
    1 9.118800e+01 # mZinput

###################################
## INFORMATION FOR HIDDEN
###################################
Block hidden
    1 5.000000e-04 # mZDinput
    2 1.000000e+04 # MHSinput
    3 1.000000e-01 # epsilon
    4 1.000000e-10 # kap
    5 1.279000e+02 # aXM1

###################################
## INFORMATION FOR HIGGS
###################################
Block higgs
    1 1.250000e+02 # MHinput

###################################
## INFORMATION FOR MASS
###################################
Block mass
    4 1.420000e+00 # MC
    5 4.700000e+00 # MB
    6 1.743000e+02 # MT
   11 5.110000e-04 # ME
   13 1.057000e-01 # MM
   15 1.777000e+00 # MTA
## Dependent parameters, given by model restrictions.
## Those values should be edited following the
## analytical expression. MG5 ignores those values
## but they are important for interfacing the output of MG5
## to external program such as Pythia.
  1 0.000000 # d : 0.0
  2 0.000000 # u : 0.0
  3 0.000000 # s : 0.0
  12 0.000000 # ve : 0.0
  14 0.000000 # vm : 0.0
  16 0.000000 # vt : 0.0
  21 0.000000 # g : 0.0
  22 0.000000 # a : 0.0
  23 91.188000 # z : mZinput
  24 80.275296 # w+ : cw*MZ0
  25 125.000000 # h : MHinput
  35 200.000000 # hs : MHSinput
  1023 20.000000 # zp : mZDinput

###################################
## INFORMATION FOR SMINPUTS
###################################
Block sminputs
    1 2.250000e-01 # swsq
    2 1.279000e+02 # aEWM1
    3 1.166390e-05 # Gf
    4 1.180000e-01 # aS

###################################
## INFORMATION FOR YUKAWA
###################################
Block yukawa
    4 1.420000e+00 # ymc
    5 4.700000e+00 # ymb
    6 1.743000e+02 # ymt
   11 5.110000e-04 # ymel
   13 1.057000e-01 # ymmu
   15 1.777000e+00 # ymtau

###################################
## INFORMATION FOR DECAY
###################################
DECAY 6 1.508336e+00 # WT
DECAY 23 2.441404e+00 # WZ
DECAY 24 2.047600e+00 # WW
DECAY 25 2.822990e-03 # WH
DECAY 35 5.237950e+00 # WHS
DECAY 1023 8.252000e-04 # WZp
## Dependent parameters, given by model restrictions.
## Those values should be edited following the
## analytical expression. MG5 ignores those values
## but they are important for interfacing the output of MG5
## to external program such as Pythia.
DECAY 1 0.000000 # d : 0.0
DECAY 2 0.000000 # u : 0.0
DECAY 3 0.000000 # s : 0.0
DECAY 4 0.000000 # c : 0.0
DECAY 5 0.000000 # b : 0.0
DECAY 11 0.000000 # e- : 0.0
DECAY 12 0.000000 # ve : 0.0
DECAY 13 0.000000 # m- : 0.0
DECAY 14 0.000000 # vm : 0.0
DECAY 15 0.000000 # tt- : 0.0
DECAY 16 0.000000 # vt : 0.0
DECAY 21 0.000000 # g : 0.0
DECAY 22 0.000000 # a : 0.0
#===========================================================
# QUANTUM NUMBERS OF NEW STATE(S) (NON SM PDG CODE)
#===========================================================

Block QNUMBERS 1023 # zp
        1 0 # 3 times electric charge
        2 3 # number of spin states (2S+1)
        3 1 # colour rep (1: singlet, 3: triplet, 8: octet)
        4 0 # Particle/Antiparticle distinction (0=own anti)
Block QNUMBERS 35 # hs
        1 0 # 3 times electric charge
        2 1 # number of spin states (2S+1)
        3 1 # colour rep (1: singlet, 3: triplet, 8: octet)
        4 0 # Particle/Antiparticle distinction (0=own anti)

******************************************
run card
******************************************
#*********************************************************************
# MadGraph5_aMC@NLO *
# *
# run_card.dat MadEvent *
# *
# This file is used to set the parameters of the run. *
# *
# Some notation/conventions: *
# *
# Lines starting with a '# ' are info or comments *
# *
# mind the format: value = variable ! comment *
# *
# To display more options, you can type the command: *
# update full_run_card *
#*********************************************************************
#
#*******************
# Running parameters
#*******************
#
#*********************************************************************
# Tag name for the run (one word) *
#*********************************************************************
  tag_1 = run_tag ! name of the run
#*********************************************************************
# Number of events and rnd seed *
# Warning: Do not generate more than 1M events in a single run *
# If you want to run Pythia, avoid more than 50k events in a run. *
#*********************************************************************
  10000 = nevents ! Number of unweighted events requested
  0 = iseed ! rnd seed (0=assigned automatically=default))
#*********************************************************************
# Collider type and energy *
# lpp: 0=No PDF, 1=proton, -1=antiproton, 2=photon from proton, *
# 3=photon from electron *
#*********************************************************************
     1 = lpp1 ! beam 1 type
     1 = lpp2 ! beam 2 type
     6500.0 = ebeam1 ! beam 1 total energy in GeV
     6500.0 = ebeam2 ! beam 2 total energy in GeV
# To see polarised beam options: type "update beam_pol"
#*********************************************************************
# PDF CHOICE: this automatically fixes also alpha_s and its evol. *
#*********************************************************************
     nn23lo1 = pdlabel ! PDF set
     230000 = lhaid ! if pdlabel=lhapdf, this is the lhapdf number
# To see heavy ion options: type "update ion_pdf"
#*********************************************************************
# Renormalization and factorization scales *
#*********************************************************************
 False = fixed_ren_scale ! if .true. use fixed ren scale
 False = fixed_fac_scale ! if .true. use fixed fac scale
 91.188 = scale ! fixed ren scale
 91.188 = dsqrt_q2fact1 ! fixed fact scale for pdf1
 91.188 = dsqrt_q2fact2 ! fixed fact scale for pdf2
 -1 = dynamical_scale_choice ! Choose one of the preselected dynamical choices
 1.0 = scalefact ! scale factor for event-by-event scales
#*********************************************************************
# Type and output format
#*********************************************************************
  False = gridpack !True = setting up the grid pack
  -1.0 = time_of_flight ! threshold (in mm) below which the invariant livetime is not written (-1 means not written)
  3.0 = lhe_version ! Change the way clustering information pass to shower.
  True = clusinfo ! include clustering tag in output
  average = event_norm ! average/sum. Normalization of the weight in the LHEF

#*********************************************************************
# Matching parameter (MLM only)
#*********************************************************************
 0 = ickkw ! 0 no matching, 1 MLM
 1.0 = alpsfact ! scale factor for QCD emission vx
 False = chcluster ! cluster only according to channel diag
 5 = asrwgtflavor ! highest quark flavor for a_s reweight
 False = auto_ptj_mjj ! Automatic setting of ptj and mjj if xqcut >0
                                   ! (turn off for VBF and single top processes)
 0.0 = xqcut ! minimum kt jet measure between partons
#*********************************************************************
#
#*********************************************************************
# handling of the helicities:
# 0: sum over all helicities
# 1: importance sampling over helicities
#*********************************************************************
   0 = nhel ! using helicities importance sampling or not.
#*********************************************************************
# Generation bias, check the wiki page below for more information: *
# 'cp3.irmp.ucl.ac.be/projects/madgraph/wiki/LOEventGenerationBias' *
#*********************************************************************
 None = bias_module ! Bias type of bias, [None, ptj_bias, -custom_folder-]
 {} = bias_parameters ! Specifies the parameters of the module.
#
#*******************************
# Parton level cuts definition *
#*******************************
#
#
#*********************************************************************
# BW cutoff (M+/-bwcutoff*Gamma) ! Define on/off-shell for "$" and decay
#*********************************************************************
  15.0 = bwcutoff ! (M+/-bwcutoff*Gamma)
#*********************************************************************
# Apply pt/E/eta/dr/mij/kt_durham cuts on decay products or not
# (note that etmiss/ptll/ptheavy/ht/sorted cuts always apply)
#*********************************************************************
   False = cut_decays ! Cut decay products
#*********************************************************************
# Standard Cuts *
#*********************************************************************
# Minimum and maximum pt's (for max, -1 means no cut) *
#*********************************************************************
 20.0 = ptj ! minimum pt for the jets
 0.0 = ptb ! minimum pt for the b
 10.0 = pta ! minimum pt for the photons
 10.0 = ptl ! minimum pt for the charged leptons
 0.0 = misset ! minimum missing Et (sum of neutrino's momenta)
 -1.0 = ptjmax ! maximum pt for the jets
 -1.0 = ptbmax ! maximum pt for the b
 -1.0 = ptamax ! maximum pt for the photons
 -1.0 = ptlmax ! maximum pt for the charged leptons
 -1.0 = missetmax ! maximum missing Et (sum of neutrino's momenta)
 {1023: 10} = pt_min_pdg ! pt cut for other particles (use pdg code). Applied on particle and anti-particle
 {} = pt_max_pdg ! pt cut for other particles (syntax e.g. {6: 100, 25: 50})
#*********************************************************************
# Minimum and maximum E's (in the center of mass frame) *
#*********************************************************************
  0.0 = ej ! minimum E for the jets
  0.0 = eb ! minimum E for the b
  0.0 = ea ! minimum E for the photons
  0.0 = el ! minimum E for the charged leptons
  -1.0 = ejmax ! maximum E for the jets
 -1.0 = ebmax ! maximum E for the b
 -1.0 = eamax ! maximum E for the photons
 -1.0 = elmax ! maximum E for the charged leptons
 {} = e_min_pdg ! E cut for other particles (use pdg code). Applied on particle and anti-particle
 {} = e_max_pdg ! E cut for other particles (syntax e.g. {6: 100, 25: 50})
#*********************************************************************
# Maximum and minimum absolute rapidity (for max, -1 means no cut) *
#*********************************************************************
  5.0 = etaj ! max rap for the jets
  -1.0 = etab ! max rap for the b
 2.5 = etaa ! max rap for the photons
 2.5 = etal ! max rap for the charged leptons
 0.0 = etajmin ! min rap for the jets
 0.0 = etabmin ! min rap for the b
 0.0 = etaamin ! min rap for the photons
 0.0 = etalmin ! main rap for the charged leptons
 {} = eta_min_pdg ! rap cut for other particles (use pdg code). Applied on particle and anti-particle
 {} = eta_max_pdg ! rap cut for other particles (syntax e.g. {6: 2.5, 23: 5})
#*********************************************************************
# Minimum and maximum DeltaR distance *
#*********************************************************************
 0.4 = drjj ! min distance between jets
 0.0 = drbb ! min distance between b's
 0.4 = drll ! min distance between leptons
 0.4 = draa ! min distance between gammas
 0.0 = drbj ! min distance between b and jet
 0.4 = draj ! min distance between gamma and jet
 0.4 = drjl ! min distance between jet and lepton
 0.0 = drab ! min distance between gamma and b
 0.0 = drbl ! min distance between b and lepton
 0.4 = dral ! min distance between gamma and lepton
 -1.0 = drjjmax ! max distance between jets
 -1.0 = drbbmax ! max distance between b's
 -1.0 = drllmax ! max distance between leptons
 -1.0 = draamax ! max distance between gammas
 -1.0 = drbjmax ! max distance between b and jet
 -1.0 = drajmax ! max distance between gamma and jet
 -1.0 = drjlmax ! max distance between jet and lepton
 -1.0 = drabmax ! max distance between gamma and b
 -1.0 = drblmax ! max distance between b and lepton
 -1.0 = dralmax ! maxdistance between gamma and lepton
#*********************************************************************
# Minimum and maximum invariant mass for pairs *
# WARNING: for four lepton final state mmll cut require to have *
# different lepton masses for each flavor! *
#*********************************************************************
 0.0 = mmjj ! min invariant mass of a jet pair
 0.0 = mmbb ! min invariant mass of a b pair
 0.0 = mmaa ! min invariant mass of gamma gamma pair
 10.0 = mmll ! min invariant mass of l+l- (same flavour) lepton pair
 -1.0 = mmjjmax ! max invariant mass of a jet pair
 -1.0 = mmbbmax ! max invariant mass of a b pair
 -1.0 = mmaamax ! max invariant mass of gamma gamma pair
 -1.0 = mmllmax ! max invariant mass of l+l- (same flavour) lepton pair
 {} = mxx_min_pdg ! min invariant mass of a pair of particles X/X~ (e.g. {6:250})
 {'default': False} = mxx_only_part_antipart ! if True the invariant mass is applied only
                       ! to pairs of particle/antiparticle and not to pairs of the same pdg codes.
#*********************************************************************
# Minimum and maximum invariant mass for all letpons *
#*********************************************************************
 0.0 = mmnl ! min invariant mass for all letpons (l+- and vl)
 -1.0 = mmnlmax ! max invariant mass for all letpons (l+- and vl)
#*********************************************************************
# Minimum and maximum pt for 4-momenta sum of leptons *
#*********************************************************************
 0.0 = ptllmin ! Minimum pt for 4-momenta sum of leptons(l and vl)
 -1.0 = ptllmax ! Maximum pt for 4-momenta sum of leptons(l and vl)
#*********************************************************************
# Inclusive cuts *
#*********************************************************************
 0.0 = ptheavy ! minimum pt for at least one heavy final state
 0.0 = xptj ! minimum pt for at least one jet
 0.0 = xptb ! minimum pt for at least one b
 0.0 = xpta ! minimum pt for at least one photon
 0.0 = xptl ! minimum pt for at least one charged lepton
#*********************************************************************
# Control the pt's of the jets sorted by pt *
#*********************************************************************
 0.0 = ptj1min ! minimum pt for the leading jet in pt
 0.0 = ptj2min ! minimum pt for the second jet in pt
 0.0 = ptj3min ! minimum pt for the third jet in pt
 0.0 = ptj4min ! minimum pt for the fourth jet in pt
 -1.0 = ptj1max ! maximum pt for the leading jet in pt
 -1.0 = ptj2max ! maximum pt for the second jet in pt
 -1.0 = ptj3max ! maximum pt for the third jet in pt
 -1.0 = ptj4max ! maximum pt for the fourth jet in pt
 0 = cutuse ! reject event if fails any (0) / all (1) jet pt cuts
#*********************************************************************
# Control the pt's of leptons sorted by pt *
#*********************************************************************
 0.0 = ptl1min ! minimum pt for the leading lepton in pt
 0.0 = ptl2min ! minimum pt for the second lepton in pt
 0.0 = ptl3min ! minimum pt for the third lepton in pt
 0.0 = ptl4min ! minimum pt for the fourth lepton in pt
 -1.0 = ptl1max ! maximum pt for the leading lepton in pt
 -1.0 = ptl2max ! maximum pt for the second lepton in pt
 -1.0 = ptl3max ! maximum pt for the third lepton in pt
 -1.0 = ptl4max ! maximum pt for the fourth lepton in pt
#*********************************************************************
# Control the Ht(k)=Sum of k leading jets *
#*********************************************************************
 0.0 = htjmin ! minimum jet HT=Sum(jet pt)
 -1.0 = htjmax ! maximum jet HT=Sum(jet pt)
 0.0 = ihtmin !inclusive Ht for all partons (including b)
 -1.0 = ihtmax !inclusive Ht for all partons (including b)
 0.0 = ht2min ! minimum Ht for the two leading jets
 0.0 = ht3min ! minimum Ht for the three leading jets
 0.0 = ht4min ! minimum Ht for the four leading jets
 -1.0 = ht2max ! maximum Ht for the two leading jets
 -1.0 = ht3max ! maximum Ht for the three leading jets
 -1.0 = ht4max ! maximum Ht for the four leading jets
#***********************************************************************
# Photon-isolation cuts, according to hep-ph/9801442 *
# When ptgmin=0, all the other parameters are ignored *
# When ptgmin>0, pta and draj are not going to be used *
#***********************************************************************
 0.0 = ptgmin ! Min photon transverse momentum
 0.4 = R0gamma ! Radius of isolation code
 1.0 = xn ! n parameter of eq.(3.4) in hep-ph/9801442
 1.0 = epsgamma ! epsilon_gamma parameter of eq.(3.4) in hep-ph/9801442
 True = isoEM ! isolate photons from EM energy (photons and leptons)
#*********************************************************************
# WBF cuts *
#*********************************************************************
 0.0 = xetamin ! minimum rapidity for two jets in the WBF case
 0.0 = deltaeta ! minimum rapidity for two jets in the WBF case
#***********************************************************************
# Turn on either the ktdurham or ptlund cut to activate *
# CKKW(L) merging with Pythia8 [arXiv:1410.3012, arXiv:1109.4829] *
#***********************************************************************
 -1.0 = ktdurham
 0.4 = dparameter
 -1.0 = ptlund
 1, 2, 3, 4, 5, 6, 21 = pdgs_for_merging_cut ! PDGs for two cuts above
#*********************************************************************
# maximal pdg code for quark to be considered as a light jet *
# (otherwise b cuts are applied) *
#*********************************************************************
 5 = maxjetflavor ! Maximum jet pdg code
#*********************************************************************
#
#*********************************************************************
# Store info for systematics studies *
# WARNING: Do not use for interference type of computation *
#*********************************************************************
   True = use_syst ! Enable systematics studies
#
systematics = systematics_program ! none, systematics [python], SysCalc [depreceted, C++]
['--mur=0.5,1,2', '--muf=0.5,1,2', '--pdf=errorset'] = systematics_arguments ! see: https://cp3.irmp.ucl.ac.be/projects/madgraph/wiki/Systematics#Systematicspythonmodule
# Syscalc is deprecated but to see the associate options type'update syscalc'

Question information

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

Hi,

Your zp couple to your m+ m- particles.
Therefore you are in a limit where this particle is basically massless.
If your particle was massless, you would face two singularities
1) the soft singularities (which can be handle by asking a minimum pt cut on all particles)
2) a colinear singularites.

To avoid this singularity (even if it is regulated by the Zp mass technically), you will need to implement a separation cut between the Zp adn the m+/m- (in top of the one separating the m+/m-)

Now to check that this is indeed the issue, you ca check if such cut would remove most of those (if not all) 25 events that were be generated.

Cheers,

Olivier

> On 25 Nov 2019, at 14:09, Yao Yao <email address hidden> wrote:
>
> generate p p > m+ m- zp

Revision history for this message
Yao Yao (yyao1) said :
#2

Hi Olivier,

You mean the separation cut is cutting deltaR distance between particles? And where can I implement a separation cut between zp and m+/m-? Is it in the run card?

Thank you,
Yao.

> On Nov 25, 2019, at 8:52 PM, Olivier Mattelaer <email address hidden> wrote:
>
> Your question #686216 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/686216
>
> Status: Open => Answered
>
> Olivier Mattelaer proposed the following answer:
> Hi,
>
> Your zp couple to your m+ m- particles.
> Therefore you are in a limit where this particle is basically massless.
> If your particle was massless, you would face two singularities
> 1) the soft singularities (which can be handle by asking a minimum pt cut on all particles)
> 2) a colinear singularites.
>
> To avoid this singularity (even if it is regulated by the Zp mass
> technically), you will need to implement a separation cut between the Zp
> adn the m+/m- (in top of the one separating the m+/m-)
>
> Now to check that this is indeed the issue, you ca check if such cut
> would remove most of those (if not all) 25 events that were be
> generated.
>
> Cheers,
>
> Olivier
>
>
>> On 25 Nov 2019, at 14:09, Yao Yao <email address hidden> wrote:
>>
>> generate p p > m+ m- zp
>
> --
> If this answers your question, please go to the following page to let us
> know that it is solved:
> https://answers.launchpad.net/mg5amcnlo/+question/686216/+confirm?answer_id=0
>
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
> https://answers.launchpad.net/mg5amcnlo/+question/686216
>
> You received this question notification because you asked the question.

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#3

> You mean the separation cut is cutting deltaR distance between
> particles? And where can I implement a separation cut between zp and
> m+/m-? Is it in the run card?

No this is not in the run_card, you will need to code it yourself in fortran
(in dummy_functions.f)

Cheers,

Olivier

> On 25 Nov 2019, at 21:27, Yao Yao <email address hidden> wrote:
>
> Question #686216 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/686216
>
> Status: Answered => Open
>
> Yao Yao is still having a problem:
> Hi Olivier,
>
> You mean the separation cut is cutting deltaR distance between
> particles? And where can I implement a separation cut between zp and
> m+/m-? Is it in the run card?
>
> Thank you,
> Yao.
>
>
>> On Nov 25, 2019, at 8:52 PM, Olivier Mattelaer <email address hidden> wrote:
>>
>> Your question #686216 on MadGraph5_aMC@NLO changed:
>> https://answers.launchpad.net/mg5amcnlo/+question/686216
>>
>> Status: Open => Answered
>>
>> Olivier Mattelaer proposed the following answer:
>> Hi,
>>
>> Your zp couple to your m+ m- particles.
>> Therefore you are in a limit where this particle is basically massless.
>> If your particle was massless, you would face two singularities
>> 1) the soft singularities (which can be handle by asking a minimum pt cut on all particles)
>> 2) a colinear singularites.
>>
>> To avoid this singularity (even if it is regulated by the Zp mass
>> technically), you will need to implement a separation cut between the Zp
>> adn the m+/m- (in top of the one separating the m+/m-)
>>
>> Now to check that this is indeed the issue, you ca check if such cut
>> would remove most of those (if not all) 25 events that were be
>> generated.
>>
>> Cheers,
>>
>> Olivier
>>
>>
>>> On 25 Nov 2019, at 14:09, Yao Yao <email address hidden> wrote:
>>>
>>> generate p p > m+ m- zp
>>
>> --
>> If this answers your question, please go to the following page to let us
>> know that it is solved:
>> https://answers.launchpad.net/mg5amcnlo/+question/686216/+confirm?answer_id=0
>>
>> If you still need help, you can reply to this email or go to the
>> following page to enter your feedback:
>> https://answers.launchpad.net/mg5amcnlo/+question/686216
>>
>> You received this question notification because you asked the question.
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Revision history for this message
Yao Yao (yyao1) said :
#4

Hi Olivier,

I got Madgraph running fast now when generating the events! I write the following code in dummy_fct.f. It implies that a dark photon needs to be deltaR>0.4 from any muon. Please help me check if the code seems good?

      include 'maxamps.inc'
      integer iproc,i,j
      integer idup(nexternal,maxproc,maxsproc)
      integer mothup(2,nexternal)
      integer icolup(2,nexternal,maxflow,maxsproc)
      include 'leshouche.inc'

      double precision p1(0:3),p2(0:3)
      double precision R2
      double precision deltaR
      double precision deltaRmin
      deltaR=1d3
      deltaRmin=1d3

      do iproc=1,maxsproc

      do i=nincoming+1,nexternal-1
         if (idup(i,1,iproc).eq.13.or.idup(i,1,iproc).eq.-13)then
            do j=i+1,nexternal
            if (idup(j,1,iproc).eq.1023)then
               p1(0:3)=P(0:3,i)
               p2(0:3)=P(0:3,j)
               deltaR=dsqrt(R2(p1,p2))
               if (deltaR.lt.deltaRmin)then
                  deltaRmin=deltaR
               endif
            endif
            enddo
         endif
      enddo
      do i=nincoming+1,nexternal-1
         if(idup(i,1,iproc).eq.1023)then
            do j=i+1,nexternal
            if(idup(j,1,iproc).eq.13.or.idup(j,1,iproc).eq.-13)then
               p1(0:3)=P(0:3,i)
               p2(0:3)=P(0:3,j)
               deltaR=dsqrt(R2(p1,p2))
               if (deltaR.lt.deltaRmin)then
                  deltaRmin=deltaR
               endif
            endif
            enddo
         endif
      enddo
      enddo
      dummy_cuts=.true.

      if(deltaRmin.lt.4.0d-1) then
          dummy_cuts=.false.
      endif
      return
      end

> On Nov 25, 2019, at 9:33 PM, Olivier Mattelaer <email address hidden> wrote:
>
> Your question #686216 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/686216
>
> Status: Open => Answered
>
> Olivier Mattelaer proposed the following answer:
>> You mean the separation cut is cutting deltaR distance between
>> particles? And where can I implement a separation cut between zp and
>> m+/m-? Is it in the run card?
>
> No this is not in the run_card, you will need to code it yourself in fortran
> (in dummy_functions.f)
>
> Cheers,
>
> Olivier
>
>> On 25 Nov 2019, at 21:27, Yao Yao <email address hidden> wrote:
>>
>> Question #686216 on MadGraph5_aMC@NLO changed:
>> https://answers.launchpad.net/mg5amcnlo/+question/686216
>>
>> Status: Answered => Open
>>
>> Yao Yao is still having a problem:
>> Hi Olivier,
>>
>> You mean the separation cut is cutting deltaR distance between
>> particles? And where can I implement a separation cut between zp and
>> m+/m-? Is it in the run card?
>>
>> Thank you,
>> Yao.
>>
>>
>>> On Nov 25, 2019, at 8:52 PM, Olivier Mattelaer <email address hidden> wrote:
>>>
>>> Your question #686216 on MadGraph5_aMC@NLO changed:
>>> https://answers.launchpad.net/mg5amcnlo/+question/686216
>>>
>>> Status: Open => Answered
>>>
>>> Olivier Mattelaer proposed the following answer:
>>> Hi,
>>>
>>> Your zp couple to your m+ m- particles.
>>> Therefore you are in a limit where this particle is basically massless.
>>> If your particle was massless, you would face two singularities
>>> 1) the soft singularities (which can be handle by asking a minimum pt cut on all particles)
>>> 2) a colinear singularites.
>>>
>>> To avoid this singularity (even if it is regulated by the Zp mass
>>> technically), you will need to implement a separation cut between the Zp
>>> adn the m+/m- (in top of the one separating the m+/m-)
>>>
>>> Now to check that this is indeed the issue, you ca check if such cut
>>> would remove most of those (if not all) 25 events that were be
>>> generated.
>>>
>>> Cheers,
>>>
>>> Olivier
>>>
>>>
>>>> On 25 Nov 2019, at 14:09, Yao Yao <email address hidden> wrote:
>>>>
>>>> generate p p > m+ m- zp
>>>
>>> --
>>> If this answers your question, please go to the following page to let us
>>> know that it is solved:
>>> https://answers.launchpad.net/mg5amcnlo/+question/686216/+confirm?answer_id=0
>>>
>>> If you still need help, you can reply to this email or go to the
>>> following page to enter your feedback:
>>> https://answers.launchpad.net/mg5amcnlo/+question/686216
>>>
>>> You received this question notification because you asked the question.
>>
>> --
>> You received this question notification because you are an answer
>> contact for MadGraph5_aMC@NLO.
>
> --
> If this answers your question, please go to the following page to let us
> know that it is solved:
> https://answers.launchpad.net/mg5amcnlo/+question/686216/+confirm?answer_id=2
>
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
> https://answers.launchpad.net/mg5amcnlo/+question/686216
>
> You received this question notification because you asked the question.

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#5

If it goes fast then it means that it is good.

I look quickly at your code and it seems reasonable.

Cheers,

Olivier

> On 16 Dec 2019, at 16:13, Yao Yao <email address hidden> wrote:
>
> Question #686216 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/686216
>
> Status: Answered => Open
>
> Yao Yao is still having a problem:
> Hi Olivier,
>
> I got Madgraph running fast now when generating the events! I write the
> following code in dummy_fct.f. It implies that a dark photon needs to be
> deltaR>0.4 from any muon. Please help me check if the code seems good?
>
>
> include 'maxamps.inc'
> integer iproc,i,j
> integer idup(nexternal,maxproc,maxsproc)
> integer mothup(2,nexternal)
> integer icolup(2,nexternal,maxflow,maxsproc)
> include 'leshouche.inc'
>
> double precision p1(0:3),p2(0:3)
> double precision R2
> double precision deltaR
> double precision deltaRmin
> deltaR=1d3
> deltaRmin=1d3
>
> do iproc=1,maxsproc
>
> do i=nincoming+1,nexternal-1
> if (idup(i,1,iproc).eq.13.or.idup(i,1,iproc).eq.-13)then
> do j=i+1,nexternal
> if (idup(j,1,iproc).eq.1023)then
> p1(0:3)=P(0:3,i)
> p2(0:3)=P(0:3,j)
> deltaR=dsqrt(R2(p1,p2))
> if (deltaR.lt.deltaRmin)then
> deltaRmin=deltaR
> endif
> endif
> enddo
> endif
> enddo
> do i=nincoming+1,nexternal-1
> if(idup(i,1,iproc).eq.1023)then
> do j=i+1,nexternal
> if(idup(j,1,iproc).eq.13.or.idup(j,1,iproc).eq.-13)then
> p1(0:3)=P(0:3,i)
> p2(0:3)=P(0:3,j)
> deltaR=dsqrt(R2(p1,p2))
> if (deltaR.lt.deltaRmin)then
> deltaRmin=deltaR
> endif
> endif
> enddo
> endif
> enddo
> enddo
> dummy_cuts=.true.
>
> if(deltaRmin.lt.4.0d-1) then
> dummy_cuts=.false.
> endif
> return
> end
>
>
>> On Nov 25, 2019, at 9:33 PM, Olivier Mattelaer <email address hidden> wrote:
>>
>> Your question #686216 on MadGraph5_aMC@NLO changed:
>> https://answers.launchpad.net/mg5amcnlo/+question/686216
>>
>> Status: Open => Answered
>>
>> Olivier Mattelaer proposed the following answer:
>>> You mean the separation cut is cutting deltaR distance between
>>> particles? And where can I implement a separation cut between zp and
>>> m+/m-? Is it in the run card?
>>
>> No this is not in the run_card, you will need to code it yourself in fortran
>> (in dummy_functions.f)
>>
>> Cheers,
>>
>> Olivier
>>
>>> On 25 Nov 2019, at 21:27, Yao Yao <email address hidden> wrote:
>>>
>>> Question #686216 on MadGraph5_aMC@NLO changed:
>>> https://answers.launchpad.net/mg5amcnlo/+question/686216
>>>
>>> Status: Answered => Open
>>>
>>> Yao Yao is still having a problem:
>>> Hi Olivier,
>>>
>>> You mean the separation cut is cutting deltaR distance between
>>> particles? And where can I implement a separation cut between zp and
>>> m+/m-? Is it in the run card?
>>>
>>> Thank you,
>>> Yao.
>>>
>>>
>>>> On Nov 25, 2019, at 8:52 PM, Olivier Mattelaer <email address hidden> wrote:
>>>>
>>>> Your question #686216 on MadGraph5_aMC@NLO changed:
>>>> https://answers.launchpad.net/mg5amcnlo/+question/686216
>>>>
>>>> Status: Open => Answered
>>>>
>>>> Olivier Mattelaer proposed the following answer:
>>>> Hi,
>>>>
>>>> Your zp couple to your m+ m- particles.
>>>> Therefore you are in a limit where this particle is basically massless.
>>>> If your particle was massless, you would face two singularities
>>>> 1) the soft singularities (which can be handle by asking a minimum pt cut on all particles)
>>>> 2) a colinear singularites.
>>>>
>>>> To avoid this singularity (even if it is regulated by the Zp mass
>>>> technically), you will need to implement a separation cut between the Zp
>>>> adn the m+/m- (in top of the one separating the m+/m-)
>>>>
>>>> Now to check that this is indeed the issue, you ca check if such cut
>>>> would remove most of those (if not all) 25 events that were be
>>>> generated.
>>>>
>>>> Cheers,
>>>>
>>>> Olivier
>>>>
>>>>
>>>>> On 25 Nov 2019, at 14:09, Yao Yao <email address hidden> wrote:
>>>>>
>>>>> generate p p > m+ m- zp
>>>>
>>>> --
>>>> If this answers your question, please go to the following page to let us
>>>> know that it is solved:
>>>> https://answers.launchpad.net/mg5amcnlo/+question/686216/+confirm?answer_id=0
>>>>
>>>> If you still need help, you can reply to this email or go to the
>>>> following page to enter your feedback:
>>>> https://answers.launchpad.net/mg5amcnlo/+question/686216
>>>>
>>>> You received this question notification because you asked the question.
>>>
>>> --
>>> You received this question notification because you are an answer
>>> contact for MadGraph5_aMC@NLO.
>>
>> --
>> If this answers your question, please go to the following page to let us
>> know that it is solved:
>> https://answers.launchpad.net/mg5amcnlo/+question/686216/+confirm?answer_id=2
>>
>> If you still need help, you can reply to this email or go to the
>> following page to enter your feedback:
>> https://answers.launchpad.net/mg5amcnlo/+question/686216
>>
>> You received this question notification because you asked the question.
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Can you help with this problem?

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

To post a message you must log in.