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.5.4

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

HepMC3

3.2.6

事象データを扱うためのデータフォーマット(システムにインストール済み)

Pythia8

8.3.10

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

FastJet

3.4.2

ジェット・アルゴリズム

fjcontrib

1.052

FastJet用と一緒に使うツール類

labpp

master

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

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

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

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

変数名

ディレクトリの用途

SWDIR

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

mg2020/sw

dev_dir

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

mg2020/dev

devsrc_dir

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

mg2020/dev/sources

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

install_sw.sh

を実行する。

fjcontribのインストール

このパッケージは、ジェットの解析のためにFastJetの結果に対して適用するために、いろいろな開発者が作ったサブ・パッケージを集めたものである。ここではエネルギー相関を用いたsubjet変数D2を計算するためにEnergyCorrelatorサブ・パッケージを使う。デフォルトでは、これらのパッケージは静的ライブラリとしてコンパイルされるので、ダイナミック・ライブラリとしてリンクするために!EnergyCorrelator/Makefileを修正して

CXXFLAGS = ... -fPIC

のようにCXXFLAGSに"-fPIC"を追加する。

labppのインストール

MG5やPythia8等の外部のソフトウェアをインストールしたら、Pythia8のmainプログラムやその他のデータ構造を定義したlabpp自体をインストールする必要がある。既に上でgit cloneは終えているはずなので、これがdev/labppにあるとして

cd dev
mkdir build
cd build
cmake3 ../labpp
make install

これで、sw/binにrunPythiaJet.exe等のプログラムがインストールされていれば成功である。

OSに必要なパッケージ

Pythiaで.lhe.gz形式の圧縮ファイルを直接読めるように--with-gzipオプションを付ける場合、yum install zlib-develが必要である。

その他のソフトウェア

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)にまとめてある。

データ解析

いくつかの結果

EventGenerator2020 (最終更新日時 2023-09-22 08:00:25 更新者 KimuTsuri)