==== Install Madgraph ====
**Note:** There can be troubles in compiling/library linking/etc at the runtime.
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
For NLO production, the "OneLoop" package have to be recompiled, after modifying the source code
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 ../
To use the pythia8, you need additional step to link missing libraries
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
To run pythia8 in launch level, you edit runcard; replace HERWIG6 to PYTHIA8.
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 the''cluster 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