연구실 환경에서 Rivet과 각종 MC generator를 구동하는 방법을 소개합니다.
Rivet에 대한 설명은 Rivet 홈페이지를 참고하세요.
여기에서는 Rivet 및 관련 패키지를 직접 설치하지 않습니다.
singularity run -B/cvmfs/sft.cern.ch/lcg/external/lhapdfsets/current:/usr/local/share/LHAPDF /store/sw/singularity/rivet/rivet-3.1.5.sif
실행하고 나면 Singularity>
와 같은 식으로 프롬프트가 나타납니다. 다음 명령어들을 실행할 수 있는지 확인해 보세요.
rivet-config --libs yoda-config --cflags lhapdf-config --libs
위의 명령어가 실행된다면 이미 rivet을 사용할 준비가 된 상태입니다.
(작성중입니다)
rivet - 처음 구동해보기 준비물 : hepmc 파일 예시
rivet -a CMS_2018_I1620050 event_PYTHIA_0.hepmc
CMS_2018_I1620050 자리에 본인이 구동해보고싶은 analysis 입력 event_PYTHIA_0.hepmc 자리에 본인의 hepmc 파일 입력
rivet - 새로운 analysis 만들기
rivet-mkanalysis analysis_title
기본적인 analysis 틀이 만들어짐 (analysis_title.cc analysis_title.plot analysis_title.info)
기본적인 c++ 지식 필요 https://rivet.hepforge.org/analyses.html https://rivet.hepforge.org/code/dev/ 등등 페이지를 참조하여 rivet 문법 확인 후 analysistitle.cc 파일에 작성
다 작성하면
rivet-buildplugin analysistitle.cc
를 통해 analysis를 본인 리벳 폴더 안에 본인의 analysis 가 저장됨 (환경변수)
export RIVET_ANALYSIS_PATH=$PWD
rivet --list-analyses
본인의 analysis 가 제대로 컴파일되어 저장된지 확인 analysistitle.plot 파일은 analysis 에서 x축 y축을 바꿀 수 있고, 다른 standard analysis의 .plot 파일을 통해 히스토그램의 bin을 확인할 수 있음 analysistitle.info 파일은
rivet - 새로운 analysis 구동하기
rivet -a analysistitle event_PYTHIA_0.hepmc
를 통해서 직접 만든 analysis 구동 가능
만약 원하는 Rivet 이미지가 이미 hep 서버에 만들어져 있지 않아서 직접 만들어야 한다면 아래 명령어를 실행하면 됩니다.
singularity build rivet-3.1.5.sif docker://hepstore/rivet:3.1.5
Rivet과 마찬가지로, 연구실 공용 이미지를 만들어 두고 사용합니다. aMC@NLO 는 최초 단순 설치는 압축 파일 다운로드 받고 해제하는 것 정도이지만, NLO 계산을 할 때는 외부 패키지들을 추가 다운로드 받고 압축 해제, 컴파일 등 과정을 거치는데, 직접 설치하다보면 다운로드 실패하거나, 중간에 패키지가 업데이트 되면서 꼬이는 경우가 있습니다. 잘 검증된 이미지가 있다면 그대로 사용하는 것을 권장합니다.
singularity run /store/sw/singularity/mg5/mg5_amc_3.3.1.sif #singularity run /store/sw/singularity/mg5/mg5_amc_2.8.2.sif ## 구버전을 사용하려면 여기
기본 동작 방식으로 mg5_aMC 가 실행됩니다. 만약 shell을 직접 띄우고 실행하려면,
singularity exec /store/sw/singularity/mg5/mg5_amc_3.3.1.sif /bin/bash
를 실행합니다. mg5_aMC 는 /sw/MG5_aMC_v3_3_1/bin/mg5_aMC
에서 찾을 수 있습니다.
CVMFS에 설치된 LHAPDF 데이터 파일을 사용하려면 다음과 같은 방식으로 실행하면 됩니다.
singularity run -B/cvmfs/sft.cern.ch/lcg/external/lhapdfsets/current:/sw/MG5_aMC_v3_3_1/HEPTools/lhapdf6_py3/share/LHAPDF \ /store/sw/singularity/mg5/mg5_amc_3.3.1.sif #singularity exec -B/cvmfs/sft.cern.ch/lcg/external/lhapdfsets/current:/sw/MG5_aMC_v3_3_1/HEPTools/lhapdf6_py3/share/LHAPDF \ # /store/sw/singularity/mg5/mg5_amc_3.3.1.sif /bin/bash
이미지 생성 방법은 여기 를 참조합니다.
(작성중입니다) *https://powhegbox.mib.infn.it/ POWHEG BOX 메인페이지
LHAPDF, fastjet 필요
tar xf LHAPDF-T.X.Y.tar.gz cd LHAPDF-T.X.Y ./configure --prefix=/path/for/installation make make install
export PYTHONPATH=path/to/lhapdf/lib/pythonx.y/site-packages/ export LD_LIBRARY_PATH=path/to/lhapdf/lib export PATH=path/to/lhapdf/bin/:$PATH export LHAPDF_DATA_PATH=path/to/lhapdf/share/LHAPDF
tar xf fasjet-x.y.z cd fastjet-x.y.z ./configure --prefix=/path/for/installation make make check make install
export PATH=path/to/fastjet/bin/:$PATH
POWHEG BOX powheg box 메인 프로그램 설치
$ svn checkout [--revision n] --username anonymous --password anonymous svn://powhegbox.mib.infn.it/trunk/POWHEG-BOX-V2
설치 후 POWHEG-BOX-V2 디렉토리로 이동해서
$ svn list [--revision n] --username anonymous --password anonymous svn://powhegbox.mib.infn.it/trunk/User-Processes-V2
User-Processes-V2 대신 원하는 process를 powheg box 리스트에서 찾아서 입력
make pwhg_main
컴파일 끝나고 끝나면 powheg.input 파일을 원하는 설정으로 만들거나 cms-sw genproducts 안의 input 파일 찾아보고 사용
현재 확인한 구동가능한 process : ttH, ttb_NLO_dec (세부적인 사용방법은 각 process폴더 안의 doc 폴더 안에 존재)
Sherpa docker image
singularity run docker://hepstore/rivet_sherpa
https://sherpa.hepforge.org/doc/SHERPA-MC-2.2.12.html Sherpa manual 기본적인 옵션들은 -h 참조
기본 구동 방법
Sherpa Run.dat
Run.dat 파일을 manual 참조하여 작성 후 구동
singularity run docker://hepstore/rivet_pythia
Pythia8의 경우 main 파일을 직접 작성하여 구동 하는것이 원칙 이지만
pythia8 내부의 example 폴더를 찾아보면 기본 main.cc 파일을 컴파일하여 main 파일을 사용할 수 있음
https://pythia.org/manuals/pythia8307/Welcome.html main 프로그램 샘플
예시 구동 방법:
./main89 main89mlm.cmnd output.hepmc
singularity run docker://hepstore/rivet_herwig
herwig 환경 설정
source activate
원하는 .in 파일을 찾거나 작성 후
Herwig read XXXX.in
read를 하고나면 XXXX.run 파일이 만들어져있고
Herwig run XXXX.run
run 파일을 구동