最も単純な方法は、launchする際に変数の値を指定するやり方です。例としてtop quark massを500GeVにして計算することを考えてみましょう(非現実的だけど)。このような場合、例えば次のようにイベントの名前をつけておくと後々便利です:
MG5_aMC>launch PROC_sm_0 -n mt500
画面上に次のような選択肢
Do you want to edit a card (press enter to bypass editing)?
/------------------------------------------------------------\
| 1. param : param_card.dat |
| 2. run : run_card.dat |
| 3. madanalysis5_parton : madanalysis5_parton_card.dat |
\------------------------------------------------------------/
you can also
- enter the path to a valid card or banner.
- use the 'set' command to modify a parameter directly.
The set option works only for param_card and run_card.
Type 'help set' for more information on this command.
- call an external program (ASperGE/MadWidth/...).
Type 'help' for the list of available command
[0, done, 1, param, 2, run, 3, madanalysis5_parton, enter path][90s to answer]
が出てきます。ここで"1. param"を選んでparam_card.datを開き、vi (デフォルトのエディター)でtop quark massを編集して保存するとイベント生成が始まります。viの使い方に慣れていない場合は他のエディターを指定することができます。例えばEmacsを使いたければMG5_aMC_v2_6_0/input内にある"mg5_configuration.txt " を開き、
#! Prefered Text Editor
#! Default: use the shell default Editor
#! or try to find one available on the system
#! Be careful: Only shell based editor are allowed
# text_editor = None
この最後で#を外し、Noneをemacsに置き換えればよいでしょう。どのようなパラメータを編集できるかは、param_card.dat(質量やcouplingなど)もしくはrun_card.dat(衝突エネルギーとか、p-p衝突、電子・陽電子衝突などを選ぶ)の中身を見て下さい。
パラメータを変えるもう一つの方法は"set"コマンドを使う方法です。
/------------------------------------------------------------\
| 1. param : param_card.dat |
| 2. run : run_card.dat |
| 3. madanalysis5_parton : madanalysis5_parton_card.dat |
\------------------------------------------------------------/
you can also
- enter the path to a valid card or banner.
- use the 'set' command to modify a parameter directly.
The set option works only for param_card and run_card.
Type 'help set' for more information on this command.
- call an external program (ASperGE/MadWidth/...).
Type 'help' for the list of available command
[0, done, 1, param, 2, run, 3, madanalysis5_parton, enter path][90s to answer]
この段階で
>set mass mt 500.0
とすれば、top quark massを500GeVにしたイベントが生成されます。setのあと、TABを押せば編集対象となるパラメータの一覧が表示されます。
あるパラメータの値をいくつか変化させながら、イベント数(断面積)の変化をみたい場合があります。そのときのやり方をまとめます。
param_card.datの中でscanコマンドを使います。top quark massを500GeVから700GeVまで100GeV刻みで変化させたいときは以下の「6」の欄のようにします:
BLOCK MASS #
5 4.700000e+00 # mb
6 scan:[500, 600, 700] # 1.720000e+02 # mt
15 1.777000e+00 # mta
これでlaunchすると、MG5_aMC_v2_6_0/PROC_sm_0/Events/内にmtの値ごとにrun01, run02, run03などというフォルダができます。また、"scan_run_0[2-4(ここの数字はrun**に対応)].txt"というファイルが生成され、その中に
#run_name mass#6 cross(pb)
run_02 5.000000e+02 2.267630e+00
run_03 6.000000e+02 7.998410e-01
run_04 7.000000e+02 3.196900e-01
のように、パラメータとその値に対応する断面積が書き出されます。グラフ描画ソフトを使えばこのデータを(x,y)グラフにすることができます。
パラメータを変化させる範囲を細かく区切って計算させたい場合は
scan:[500+100*i for i in range (0,3)]
とすればよい。
パラメータを変化させながらイベントを作るとき、対象としている散乱過程によっては断面積が(反応に参加する)粒子の崩壊巾の値に依存する場合がある。デフォルトでは各粒子の崩壊巾は固定されているので、これをパラメータの変化に応じてMadGraph内部で計算しなおすよう、autoコマンドを用いる。具体的にはparam_card.dat内で
###################################
## INFORMATION FOR DECAY
###################################
DECAY 6 1.491500e+00 # wt
DECAY 23 2.441404e+00 # wz
DECAY 24 2.047600e+00 # ww
の該当する粒子の崩壊巾の値を"auto"に置き換えればよい。