Table of Contents

Install Madgraph

Initial setup - install MG5 from launchpad

mkdir -p ~/work/MG5
cd ~/work/MG5
wget https://launchpad.net/mg5amcnlo/2.0/2.6.x/+download/MG5_aMC_v2.6.4.tar.gz
tar xzf MG5_aMC_v2.6.4.tar.gz

Setup the devtoolset to use updated gcc and python.

# Don't need to source following lines in Ubuntu and Mac.
# source /opt/rh/devtoolset-4/enable
# source /opt/rh/python27/enable
cd MG5_aMC_v2_6_0

Install missing tools. Order does matter.

bin/mg5_aMC
#MG5_aMC> install update
MG5_aMC> install zlib; install boost;
MG5_aMC> install lhapdf6; install hepmc;
MG5_aMC> install oneloop; install ninja;
MG5_aMC> install pythia8
MG5_aMC> install collier
MG5_aMC> quit

Open the fortran source code HEPTools/oneloop/OneLOop-3.6/src/avh_olo_print.f90 and modify the line 61, replace real(kindr2) to double precision (in the printr function). This is because of a gfortran bug. See https://bugs.launchpad.net/mg5amcnlo/+bug/1631604 and https://answers.launchpad.net/mg5amcnlo/+question/268548#16

  double precision :: xx     !|RCTYPE=intrinsic
!  real(kindr2) :: xx     !|RCTYPE=intrinsic

and compile the package

cd HEPTools/oneloop/OneLOop-3.6
./clean.sh
./create.py
\cp libavh_olo.a ../

First step is to build missing library boost-iostreams.

if [ ! -f HEPTools/lib/libboost_iostreams.so ]; then
  cd HEPTools/boost/boost_1_59_0
  ./bootstrap.sh --with-libraries=iostreams
  ./b2
  \cp stage/lib/* ../lib/
  cd ../..
  cd lib
  for i in ../boost/lib/libboost_iostreams*; do ln -s $i; done
  cd ../..
fi

Then add the following lines to fix build flags https://answers.launchpad.net/mg5amcnlo/+question/659847

sed -i "s;PYTHIA8_PATH=NotInstalled;PYTHIA8_PATH=`pwd`/HEPTools/pythia8;g" Template/LO/Source/make_opts
sed -i 's;OUT+=" -ld";OUT+=" --libs";g' HEPTools/bin/pythia8-config
sed -i 's;OUT+=" -ld";OUT+=" --libs";g' HEPTools/pythia8/bin/pythia8-config

enable lhapdf6 for all of your generation (download other PDFSets depending on your needs)

cd HEPTools/lhapdf6
bin/lhapdf get NNPDF23_lo_as_0130_qed

Then you will be able to start the generation.

./bin/mg5_aMC
MG5_aMC> generate p p > t t~ [QCD]
MG5_aMC> output ttNLO
MG5_aMC> launch

You can rerun the shower program.

cd ttNLO
bin/shower run_01

If you run the MG5 at the leading order, LHAPDF is required during the runtime, related on systematics. Set the environmental variables before running the mg5_aMC (or put into your .bashrc file) to prevent such a problem.

export PYTHONPATH=YOUR_MADGRAPH_PATH/HEPTools/lhapdf6/lib64/python2.7/site-packages:$PYTHONPATH
export LD_LIBRARY_PATH=YOUR_MADGRAPH_PATH/HEPTools/lhapdf6/lib:$LD_LIBRARY_PATH

To speed up the parton shower step, you can set nsplit_jobs=10 in the shower_card.dat

Running on Cluster mode

The default setup is multicore-mode, but also you can use thecluster mode if you have to produce lots of events. Edit the madgraph/various/cluster.py file first (line 1286), since the default submission script is not fit with the HTOP cluster. (see https://cp3.irmp.ucl.ac.be/projects/madgraph/wiki/General-Scripts#no1)

        command = ['qsub','-o', stdout,
                     '-S', '/bin/bash',
                     '-N', me_dir,
                     '-e', stderr,
                     '-V']

and add the following lines to your configuration file, input/mg5_configuration.txt

cluster_type = sge
cluster_size = 96

and run with –cluster option

bin/generate_events --cluster

But in this case, you should not run delphes automatically because multiple delphes sessions will make a crash.

Basic Syntax

Get New PDF

Parameters for Run Card

Disable HEPMC compression

만들어진 HEPMC파일을 압축하는데에는 시간이 오래 걸리므로, 외부에서 delphes를 사용할 것이라면 압축하지 않고 다음 job으로 넘어가는 것이 빠르다.

vi path_to-MG5/madgraph/interface/madevent_interface.py

line 5291의 misc.gzip(file_path,stdout=file_path)를 추석처리한다. 이미 데이터셋 'output folder_name'를 만들었다면, 해당 폴더에서

vi bin/internal/madevent_interface.py #코드 수정
rm bin/internal/madevent_interface.pyo