このサイトは2017年11月28日〜30日に行われた、馬渡健太郎氏(大阪大学)による集中講義「最先端シミュレーションツールを通して学ぶ素粒子現象論ーラグランジアンから実験データまでー」で扱われた内容を、講義参加者有志の協力によってまとめたものです。
事前にpython, gfortran, gnuplotなどのインストールを済ませておく。
以下のサイトからダウンロードする
以下のように、ホームディレクトリの下に"local"というディレクトリを作り、そこで作業することを仮定する。
% cd (どこにいたとしても、必ずホームディレクトリに戻ってくれる)
% mkdir local
% cd local (localへ移動)
現在の居場所は(Macだと)/User/xxx/local (xxxはユーザー名)になっているはずです。以下のコマンドで確認すること。
% pwd
% /Users/xxx/local (と表示されるはず)
ダウンロードしたファイルが置かれているディレクトリ(Macの場合はDownloads)からlocalへファイルを移動する。前提としてlocalにいることとする。
% cp ~Downloads/MG* ./ (*はワイルドカード)
ファイルを展開する。
% tar zxvf MG*.tar.gz (ファイルの拡張子がtar.gzの場合)
% tar xvf MG*.tar (ファイルの拡張子がtarで終わっている場合)
MG5のフォルダができているはず。ls
コマンドで確認
% ls
% MG5_aMC_v2_6_0 (と表示されるはず)
以下のようにMG5のディレクトリに入って作業する。MG5のディレクトリ名が長いので、最初の1,2文字だけ入力してTABキーを使おう(以下同様)
% cd MG5_aMC_v2_6_0
% ./bin/mg5_aMC
とすると色々とメッセージが出た後、最後に
MG5_aMC>
とでて止まる。次のように入力し、Pythia8をインストールする(少し時間がかかる)。終わったらMadAnalysis5をインストールする。
MG5_aMC> install pythia8
MG5_aMC> install MadAnalysis5
動作の確認をしよう。以下のコマンドを入力。
MG5_aMC>generate p p > t t~
MG5_aMC>output
MG5_aMC>launch
途中で何か聞かれるが、とりあえず動作確認なのでそのままEnterキーを押して進む。ブラウザが立ち上がり、次のような画面が出ればOK。
いくつかのコマンドを紹介する。まずdisplayコマンド。
MG5_aMC>display [TAB]
とすると以下の様に画面にコマンドオプションの一覧が表示される
MG5_aMC>display
checks coupling_order couplings diagrams diagrams_text
interactions lorentz multiparticles options parameters
particles processes variable
どれか適当に選ぶと、該当する結果を画面に表示してくれる。例えば"multiparticles"など打つと、
MG5_aMC>display multiparticles
Multiparticle labels:
all = g u c d s u~ c~ d~ s~ a ve vm vt e- mu- ve~ vm~ vt~ e+ mu+ t b t~ b~ z w+ h w- ta- ta+
l- = e- mu-
j = g u c d s u~ c~ d~ s~
vl = ve vm vt
l+ = e+ mu+
p = g u c d s u~ c~ d~ s~
vl~ = ve~ vm~ vt~
と表示される。
次にcheckコマンド。
MG5_aMC>check [TAB]
brs cms full gauge lorentz permutation
profile stability timing
ここで読み込んでいるモデルファイル(デフォルトでは標準模型)のgauge不変性やLorentz不変性などのチェックを行う。自分でFeynRules等を使って作成したモデルファイルをMadGraphで読み込んだときは念のため、ここでチェックしておくとよいだろう。
MadGraphでlaunchしたとき、MadAnalysis5がインストールされていると
MG5_aMC>launch PROC_sm_0/
************************************************************
* *
* W E L C O M E to *
* M A D G R A P H 5 _ a M C @ N L O *
* M A D E V E N T *
* *
* * * *
* * * * * *
* * * * * 5 * * * * *
* * * * * *
* * * *
* *
* VERSION 2.6.0 2017-08-16 *
* *
* The MadGraph5_aMC@NLO Development Team - Find us at *
* https://server06.fynu.ucl.ac.be/projects/madgraph *
* *
* Type 'help' for in-line help. *
* *
************************************************************
INFO: load configuration from /Users/cho/local/MG5_aMC_v2_6_0/PROC_sm_0/Cards/me5_configuration.txt
INFO: load configuration from /Users/cho/local/MG5_aMC_v2_6_0/input/mg5_configuration.txt
INFO: load configuration from /Users/cho/local/MG5_aMC_v2_6_0/PROC_sm_0/Cards/me5_configuration.txt
Using default text editor "vi". Set another one in ./input/mg5_configuration.txt
generate_events run_02
The following switches determine which programs are run:
/--------------------------------------------------------------------------------------------------\
| 1. Choose the shower/hadronization program: shower = PYTHIA8 |
| 2. Choose the detector simulation program: detector = DELPHES |
| 3. Run an analysis package on the events generated: analysis = MADANALYSIS_5 |
| 4. Decay particles with the MadSpin module: madspin = OFF |
| 5. Add weights to events for different model hypothesis: reweight = OFF |
\--------------------------------------------------------------------------------------------------/
と表示され、イベント生成後、自動的にMadAnalysisが起動してプロットを作成してくれる。しかし任意の分布を作りたい場合、一旦生成し終えたイベントファイルをMadAnalysisで呼び出して作業する必要が出てくる。例として、PROC_sm_0というフォルダがMadGraph内にあるとする。まずそこへ移動し、次のコマンドを打つ:
$ cd PROC_sm_0
$ ./bin/madevent
launch in debug mode
************************************************************
* *
* W E L C O M E to *
* M A D G R A P H 5 _ a M C @ N L O *
* M A D E V E N T *
* *
* * * *
* * * * * *
* * * * * 5 * * * * *
* * * * * *
* * * *
* *
* VERSION 2.6.0 20xx-xx-xx *
* *
* The MadGraph5_aMC@NLO Development Team - Find us at *
* https://server06.fynu.ucl.ac.be/projects/madgraph *
* *
* Type 'help' for in-line help. *
* *
************************************************************
INFO: load configuration from /Users/cho/local/MG5_aMC_v2_6_0/PROC_sm_0/Cards/me5_configuration.txt
INFO: load configuration from /Users/cho/local/MG5_aMC_v2_6_0/input/mg5_configuration.txt
INFO: load configuration from /Users/cho/local/MG5_aMC_v2_6_0/PROC_sm_0/Cards/me5_configuration.txt
Using default text editor "vi". Set another one in ./input/mg5_configuration.txt
PROC_sm_0>
ここでTABを押すと使用可能なコマンドの一覧が表示される。次のコマンド
PROC_sm_0>madanalysis5_parton
でMadAnalysisが起動し、デフォルトでは"madanalysis5_parton_card.dat"を読み込んでプロットの作成が始まる。このcardの代わりに自分でカードファイルを作成し、読み込ませて任意の分布を作る。
StandaloneでMadAnalysisを使う場合の別の方法。MadAnalysis自体は
MG5_aMC_v2_6_0/HEPTools/madanalysis5/madanalysis5/bin
にあるので、そこまで移動して起動する。実際には作成したイベントのディレクトリ
MG5_aMC_v2_6_0/PROC_sm_0/Events/run_01
などに移動して、そこから呼び出して作業することになるだろう。
MadAnalysisの使い方を少し。
まずはイベントファイル(パートンレベルだと***.lhe.gzという拡張子)をimportする。
ma5>import ***.lhe.gz as case1
ma5>import ***.lhe.gz as case2
として適当なプロットを作る。ここでは例として
p p > t t~, t > w+ b
p p > t t~ g
をそれぞれcase1, case2とし、t~のエネルギー分布を比較してみる。
ma5>plot E(t~) 200 0 500
ma5>submit
としたときに作成されるプロット:
これはcase1のイベントにcase2を積み上げて表示してしまっているので二つのイベントを比較したいときには不便。次のコマンドを使う:
ma5>set main.stacking_method = superimpose
ma5>plot E(t~) 200 0 500
ma5>submit
とすると次のようになる:
また、
set case1.type=signal
set case2.type=background
set main.fom.formula=2
とするとS/\sqrt{B}を計算してくれる。ただし、必ず一つ以上のカット条件を入れること。
MadGraphからMadAnalysisを一度走らせるとデフォルトの分布を作ってくれる。そのコマンドはANALYSIS/history.ma5に書き出されているので、これを元にしてスクリプトを作成し、次にMadAnalysisを起動する際に使うとよい。