EventGenerator2020

はじめに

MadGraph5_MC@NLOを使って素粒子の散乱事象を生成してデータ解析の手法を検討する。

ソフトウェアの準備

MG5がpython3.7以上を必要とするため、まずこれが必要である。CentOS7のパッケージにはpython3.6を使っているためソースコードからコンパイルするには以下の設定でできる。Madgraph5はMG5_aMC_v2.8.0を使用する。これは基本的にpythonコードなのでhttps://launchpad.net/mg5amcnloからダウンロードしてきてどこかに展開してインストールしておく。ここでは、MadGraph5を使った解析作業をmg2020という名前のディレクトリで行うことにして、例えばmg2020/sw/MG_aMC_v2.8.0に展開しておく。

MadGraphの中でPythia8とかを使うこともできるが、これをやると出力が.hepmcというテキストファイルで保存されて膨大になるのでMadgraph5ではLHEファイルまで作って、その後Pythia8やジェット・アルゴリズムは別に走らせて出力をROOTファイルに保存するようにする。 そのために以下のソフトウェアもインストールする。今回使用するバージョンも下の表に記載してある。

ソフトウェア

バージョン

説明

LHAPDF

6.3.0

パートン分関数(PDF)のデータ

HepMC3

3.2.2

事象データを扱うためのデータフォーマット

Pythia8

8.303

パートンシャワー・ハドロン化

FastJet

3.3.4

ジェット・アルゴリズム

labpp

master

事象データをROOTで扱うためのクラス等

1個ずつインストールしてもよいが、これらをインストールするためのスクリプトがlabpp/ExPythia/scripts/install_sw.shにあるので、それを取ってきて実行する方法を示す。

git clone https://github.com/tkono17/labpp.git

でパッケージを取ってきた後で、labpp/ExPythia/scripts/install_sw.shを自分の作業用ディレクトリにコピーしてこのファイルの上の方にあるsw_dir, dev_dir, devsrc_dirを、自分の環境に合わせて変更してから実行する。

変数名

ディレクトリの用途

sw_dir

ソフトウェアのインストール先

mg2020/sw

dev_dir

ソースコードの開発やコンパイル場所

mg2020/dev

devsrc_dir

外から取ってきたソフトウェアのソースコード

mg2020/dev/sources

予め、これらのディレクトリをつくり、さらにROOTの環境設定を終えてから

install_sw.sh

を実行する。

その他のソフトウェア

Python 3.8.5のインストール

Python3.8.5をインストールする前にCentOS7に以下のパッケージをインストールした。

yum install readline-devel ncurses-devel

./configure --prefix=$PREFIX --enable-shared --with-ssl-default-suites=openssl
make
sudo make install

これをやると何故かlibpython3.8.aが$PREFIX/libにコピーされないので、手動でコピーした。

プログラムの実行

粒子散乱のシミュレーションは

プログラム

内容

MG5_aMC

散乱断面積の計算と、その確率分布に基づいてクォーク/レプトンのレベルで事象を生成する。

runPythiaJet.exe

散乱後に生成したクォークやグルーオンを使って、摂動の高次の寄与を近似するパートンシャワーとハドロン化をする。ハドロン化した後のクォーク/グルーオンを元のクォークに関連付けるために同じ方向に生成されたクォーク/パートンをジェットに束ねる。

これらを実行するために必要な引数等をスクリプト(ExPythia/scripts/run_mgpj.sh)にまとめてある。

データ解析

いくつかの結果