Unable to create proper grid using MADGraph+amcfast+applgrid
Dear Experts,
I am trying to create grid for eta distribution. I also downloaded some example grid files (https:/
Below is the run_card and the analysis file.
I also modified setscale.f
elseif(
tmp = 91.118
ccccccccccccccc
cc USER-DEFINED SCALE: ENTER YOUR CODE HERE cc
cc to use this code you must set cc
cc dynamical_
cc in the run_card (run_card.dat) cc
ccccccccccccccc
=======
#******
# MadGraph5_aMC@NLO *
# *
# run_card.dat aMC@NLO *
# *
# This file is used to set the parameters of the run. *
# *
# Some notation/
# *
# Lines starting with a hash (#) are info or comments *
# *
# mind the format: value = variable ! comment *
#******
#
#******
# Running parameters
#******
#
#******
# Tag name for the run (one word) *
#******
tag_1 = run_tag ! name of the run
#******
# Number of LHE events (and their normalization) and the required *
# (relative) accuracy on the Xsec. *
# These values are ignored for fixed order runs *
#******
0 = nevents ! Number of unweighted events requested
-1.0 = req_acc ! Required accuracy (-1=auto determined from nevents)
-1 = nevt_job! Max number of events per job in event generation.
! (-1= no split).
#******
# Normalize the weights of LHE events such that they sum or average to *
# the total cross section *
#******
average = event_norm ! average or sum
#******
# Number of points per itegration channel (ignored for aMC@NLO runs) *
#******
0.001 = req_acc_FO ! Required accuracy (-1=ignored, and use the
# These numbers are ignored except if req_acc_FO is equal to -1
5000 = npoints_FO_grid ! number of points to setup grids
4 = niters_FO_grid ! number of iter. to setup grids
10000 = npoints_FO ! number of points to compute Xsec
6 = niters_FO ! number of iter. to compute Xsec
#******
# Random number seed *
#******
0 = iseed ! rnd seed (0=assigned automatically=
#******
# Collider type and energy *
#******
1 = lpp1 ! beam 1 type (0 = no PDF)
1 = lpp2 ! beam 2 type (0 = no PDF)
4000.0 = ebeam1 ! beam 1 energy in GeV
4000.0 = ebeam2 ! beam 2 energy in GeV
#******
# PDF choice: this automatically fixes also alpha_s(MZ) and its evol. *
#******
lhapdf = pdlabel ! PDF set
11000 = lhaid ! if pdlabel=lhapdf, this is the lhapdf number
#******
# Include the NLO Monte Carlo subtr. terms for the following parton *
# shower (HERWIG6 | HERWIGPP | PYTHIA6Q | PYTHIA6PT | PYTHIA8) *
# WARNING: PYTHIA6PT works only for processes without FSR!!!! *
#******
HERWIG6 = parton_shower
1.0 = shower_scale_factor ! multiply default shower starting
#******
# Renormalization and factorization scales *
# (Default functional form for the non-fixed scales is the sum of *
# the transverse masses of all final state particles and partons. This *
# can be changed in SubProcesses/
#******
true = fixed_ren_scale ! if .true. use fixed ren scale
true = fixed_fac_scale ! if .true. use fixed fac scale
91.118 = muR_ref_fixed ! fixed ren reference scale
91.118 = muF1_ref_fixed ! fixed fact reference scale for pdf1
91.118 = muF2_ref_fixed ! fixed fact reference scale for pdf2
0 = dynamical_
#******
# Renormalization and factorization scales (advanced and NLO options) *
#******
true = fixed_QES_scale ! if .true. use fixed Ellis-Sexton scale
91.118 = QES_ref_fixed ! fixed Ellis-Sexton reference scale
1.0 = muR_over_ref ! ratio of current muR over reference muR
1.0 = muF1_over_ref ! ratio of current muF1 over reference muF1
1.0 = muF2_over_ref ! ratio of current muF2 over reference muF2
1.0 = QES_over_ref ! ratio of current QES over reference QES
#******
# Reweight flags to get scale dependence and PDF uncertainty *
# For scale dependence: factor rw_scale_up/down around central scale *
# For PDF uncertainty: use LHAPDF with supported set *
#******
True = reweight_scale ! reweight to get scale dependence
0.5 = rw_Rscale_down ! lower bound for ren scale variations
2.0 = rw_Rscale_up ! upper bound for ren scale variations
0.5 = rw_Fscale_down ! lower bound for fact scale variations
2.0 = rw_Fscale_up ! upper bound for fact scale variations
False = reweight_PDF ! reweight to get PDF uncertainty
244601 = PDF_set_min ! First of the error PDF sets
244700 = PDF_set_max ! Last of the error PDF sets
#******
# ickkw parameter: *
# 0: No merging *
# 3: FxFx Merging - WARNING! Applies merging only at the hard-event *
# level. After showering an MLM-type merging should be applied as *
# well. See http://
# 4: UNLOPS merging (with pythia8 only). No interface from within *
# MG5_aMC available, but available in Pythia8. *
# -1: NNLL+NLO jet-veto computation. See arxiv:1412.8408 [hep-ph]. *
#******
0 = ickkw
#******
#
#******
# BW cutoff (M+/-bwcutoff*
#******
15.0 = bwcutoff
#******
# Cuts on the jets *
# Jet clustering is performed by FastJet.
# When matching to a parton shower, these generation cuts should be *
# considerably softer than the analysis cuts. *
# (more specific cuts can be specified in SubProcesses/
#******
1.0 = jetalgo ! FastJet jet algorithm (1=kT, 0=C/A, -1=anti-kT)
0.7 = jetradius ! The radius parameter for the jet algorithm
10.0 = ptj ! Min jet transverse momentum
-1.0 = etaj ! Max jet abs(pseudo-rap) (a value .lt.0 means no cut)
#******
# Cuts on the charged leptons (e+, e-, mu+, mu-, tau+ and tau-) *
# (more specific gen cuts can be specified in SubProcesses/
#******
0.0 = ptl ! Min lepton transverse momentum
-1.0 = etal ! Max lepton abs(pseudo-rap) (a value .lt.0 means no cut)
0.0 = drll ! Min distance between opposite sign lepton pairs
0.0 = drll_sf ! Min distance between opp. sign same-flavor lepton pairs
0.0 = mll ! Min inv. mass of all opposite sign lepton pairs
30.0 = mll_sf ! Min inv. mass of all opp. sign same-flavor lepton pairs
#******
# Photon-isolation cuts, according to hep-ph/9801442 *
# When ptgmin=0, all the other parameters are ignored *
#******
20.0 = ptgmin ! Min photon transverse momentum
-1.0 = etagamma ! Max photon abs(pseudo-rap)
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)
#******
# Maximal PDG code for quark to be considered a jet when applying cuts.*
# At least all massless quarks of the model should be included here. *
#******
4 = maxjetflavor
#******
# For aMCfast+APPLGRID use in PDF fitting (http://
#******
2 = iappl ! aMCfast switch (0=OFF, 1=prepare APPLgrids, 2=fill grids)
#******
=======
=======
*******
*
* Analysis routines for vector-boson production.
*
*******
subroutine analysis_
*
implicit none
*
include "dbook.inc"
*
integer nwgt
character*(*) weights_info(*)
integer j,kk,l,
common/
character*5 cc(2)
data cc/" ","Born "/
c*
c* aMCfast common.
c* Needed to redefine the grid parameters
c*
include "reweight_appl.inc"
include "appl_common.inc"
c*
c* Grid parameters
c*
appl_Q2min = 2500d0
appl_Q2max = 40000d0
appl_xmin = 2d-7
appl_xmax = 1d0
appl_nQ2 = 10
appl_Q2order = 3
appl_nx = 50
appl_xorder = 3
*
* Initialize histograms
*
call inihist
*
* Check whether the user is trying to fill to many histograms
*
nwgt_analysis = nwgt
if (nwgt_analysis*
write(*,*) "error in analysis_begin: ",
1 "too many histograms, increase NPLOTS to",
2 nwgt_analysis * 5 * 2
call exit(-10)
endif
*
* Define the observables
*
do j=1,2
do kk=1,nwgt_analysis
l = ( kk - 1 ) * 2 + ( j - 1 ) * 1
call bookup(l+1,"y_l "//cc(j)
1 0.2d0,0d0,2.0d0)
enddo
enddo
*
return
end
*
*******
subroutine analysis_
*
implicit none
*
include "nexternal.inc"
*
integer i,kk,l
integer ibody
integer istatus(nexternal)
integer iPDG(nexternal)
double precision p(0:4,nexternal)
double precision wgts(*)
integer nwgt_analysis
common/
double precision www
c** double precision yW,mTW,mT2
double precision pe(0:3)
double precision ye,pte,
double precision ye2530,
double precision getrapidity
external getrapidity
*
* All information can be found in analysis_
*
* The ibody variable is:
* ibody = 1 : (n+1)-body contribution
* ibody = 2 : n-body contribution (excluding the Born)
* ibody = 3 : Born contribution
*
if(
write(6,*) "Error: Invalid value for ibody =",ibody
call exit(-10)
endif
*
* Check that the number of outcoming particles is correct
*
if (nexternal.
write(*,*) "error #1 in analysis_fill: ",
1 "only for process p p > mu+ vm [QCD]"
call exit(-10)
endif
*
* Check that the third particle is either a Z/gamma or a W
*
c** if (abs(ipdg(
c** 1 abs(ipdg(3)).ne.24) then
c** write(*,*) "error in analysis_fill: ",
c** 1 "The outcoming particle must be a vector boson, ",
c** 2 "ID =",ipdg(3)
c** call exit(-10)
c** endif
*
if (.not. (abs(ipdg(1)).le.4 .or. ipdg(1).eq.21)) then
write (*,*) 'error #2 in analysis_fill: '/
& /'only for process "p p > l vl [QCD]"'
call exit(-10)
endif
if (.not. (abs(ipdg(2)).le.4 .or. ipdg(2).eq.21)) then
write (*,*) 'error #3 in analysis_fill: '/
& /'only for process "p p > l vl [QCD]"'
call exit(-10)
endif
if (.not. (abs(ipdg(5)).le.4 .or. ipdg(5).eq.21)) then
write (*,*) 'error #4 in analysis_fill: '/
& /'only for process "p p > l vl [QCD]"'
call exit(-10)
endif
if( (abs(abs(
& (sign(1d0,
& (abs(ipdg(
& (abs(ipdg(
endif
* Compute observables
*
*
do i=0,3
1 15)then
else
endif
enddo
ye = getrapidity(pe(0), pe(3))
pte = dsqrt(pe(1)**2 + pe(2)**2)
etmiss = dsqrt(pn(1)**2 + pn(2)**2)
ptw = dsqrt(pw(1)**2 + pw(2)**2)
mtr = dsqrt(2d0*
if(
endif
*
* Fill the histograms
*
do i=1,2
do kk=1,nwgt_analysis
www = wgts(kk)
l = ( kk - 1 ) * 2 + ( i - 1 ) * 1
* Only fill Born histograms for ibody=3
if (ibody.
*
call mfill(l+
enddo
enddo
*
return
end
*
*******
subroutine analysis_end(xnorm)
*
implicit none
*
include "dbook.inc"
*
character*14 ytit
double precision xnorm
integer i
integer kk,l,nwgt_analysis
common/
*
call open_topdrawer_file
call mclear
*
do i=1,NPLOTS
call mopera(
call mfinal(i)
enddo
ytit = "sigma per bin "
do i=1,2
do kk=1,nwgt_analysis
l = ( kk - 1 ) * 2 + ( i - 1 ) * 1
call multitop(
enddo
enddo
*
call close_topdrawer
*
return
end
*
*******
*
* Auxiliary functions for the kinematics
*
*******
function getrapidity(en,pl)
*
implicit none
*
real*8 getrapidity,
parameter (tiny=1d-8)
*
xplus = en + pl
xminus = en - pl
*
if(
y = 0.5d0 * log( xplus / xminus )
else
y = sign(1d0,pl) * tiny
endif
else
y = sign(1d0,pl) * tiny
endif
*
getrapidity = y
*
return
end
=======
Thanks in advance.
Question information
- Language:
- English Edit question
- Status:
- Answered
- Assignee:
- Rikkert Frederix Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask Rohit Gupta for more information if necessary.