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