===== Generator와 Rivet 구동법 ===== 연구실 환경에서 Rivet과 각종 MC generator를 구동하는 방법을 소개합니다. * Rivet framework을 이용하면 hepdata 리포지토리로부터 실험 결과를 다운로드 받고 각종 MC generator를 이용해 생성된 HepMC 파일을 읽어 직접 비교 분석할 수 있습니다. * HepMC 를 분석하는 코드를 처음부터 끝까지 직접 작성할 수 있지만, Rivet 프레임워크를 이용하면 FastJet과 연동, generator level에서의 b tagging, plotting, web page생성 등 많은 기능을 제공하기 때문에 매우 유용합니다. * 여러 generator별로 실행 환경을 구성하는 것은 생각보다 까다롭습니다. 가능한 한 검증 된 container image를 생성해 사용할 수 있도록 하겠습니다. ===== Rivet 구동하기 ===== Rivet에 대한 설명은 Rivet 홈페이지를 참고하세요. * https://arxiv.org/abs/1912.05451 Rivet 논문과 매뉴얼, http://arxiv.org/abs/1003.0694 이전 Rivet 매뉴얼 * https://rivet.hepforge.org/ Rivet hepforge 메인 홈페이지 * https://gitlab.com/hepcedar/rivet Rivet gitlab 페이지 * https://hub.docker.com/u/hepstore Rivet docker image 모음 여기에서는 Rivet 및 관련 패키지를 직접 설치하지 않습니다. * 이미 잘 구성된 docker image가 있으니 가져다 사용합니다. * LHAPDF를 필요로 할 수 있는데, 이것도 이미 포함되어 있습니다. pdfset은 이미지에 포함되어 있지 않지만, CVMFS에 이미 다 들어있습니다. 가져다 씁시다. 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 구동 가능 ==== (optional) Rivet 이미지 만들기 ==== 만약 원하는 Rivet 이미지가 이미 hep 서버에 만들어져 있지 않아서 직접 만들어야 한다면 아래 명령어를 실행하면 됩니다. * 현재 사용 가능한 rivet 버전들 및 여러 variation들을 보고 싶다면 [[https://hub.docker.com/r/hepstore/rivet/tags|여기]]에 들어가서 확인하세요. * Docker image자체가 어떻게 만들어졌는지 보고 싶으면 [[https://hub.docker.com/layers/hepstore/rivet/3.1.5/images/sha256-58a5ef5dc312846bcc9accd2861a217914bf416033e3c73c335ce33368ec7ec1?context=explore|링크]]에 들어가서 확인하세요. 여기에서는 3.1.5 버전 예시를 보여주고 있습니다. * 관리자 계정이 필요합니다. singularity build rivet-3.1.5.sif docker://hepstore/rivet:3.1.5 ===== aMC@NLO 구동하기 ===== Rivet과 마찬가지로, 연구실 공용 이미지를 만들어 두고 사용합니다. aMC@NLO 는 최초 단순 설치는 압축 파일 다운로드 받고 해제하는 것 정도이지만, NLO 계산을 할 때는 외부 패키지들을 추가 다운로드 받고 압축 해제, 컴파일 등 과정을 거치는데, 직접 설치하다보면 다운로드 실패하거나, 중간에 패키지가 업데이트 되면서 꼬이는 경우가 있습니다. 잘 검증된 이미지가 있다면 그대로 사용하는 것을 권장합니다. * [[https://launchpad.net/mg5amcnlo]] MG5 aMC@NLO 메인 페이지 * [[http://amcatnlo.web.cern.ch/amcatnlo]] aMC@NLO 오래된 페이지 * [[https://arxiv.org/abs/1804.10017]] aMC@NLO 2018년도 논문, [[https://arxiv.org/abs/1405.0301]] 2014년도 논문 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 ==== (optional) aMC@NLO 이미지 생성하기 ==== 이미지 생성 방법은 [[:public:docs:2021:singularity_amcatnlo_3x|여기]] 를 참조합니다. ===== Powheg 구동하기 ===== (작성중입니다) *[[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 구동하기 ===== 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 참조하여 작성 후 구동 ===== Pythia8 구동하기 ===== 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 ===== Herwig7 구동하기 ===== singularity run docker://hepstore/rivet_herwig herwig 환경 설정 source activate 원하는 .in 파일을 찾거나 작성 후 Herwig read XXXX.in read를 하고나면 XXXX.run 파일이 만들어져있고 Herwig run XXXX.run run 파일을 구동