1と15のリビジョン間の差分 (その間の編集: 14回)
2020-09-08 06:03:34時点のリビジョン1
サイズ: 2067
編集者: TakanoriKono
コメント:
2023-09-22 08:00:25時点のリビジョン15
サイズ: 5742
編集者: KimuTsuri
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 9: 行 9:
{{{
./configure --prefix=$PREFIX --enabled-shared --with-ssl-default-suites=openssl
}}}
行 13: 行 10:
その他に以下のソフトウェアが必要である。今回使用するバージョンも下の表に記載してある。 MadGraphの中でPythia8とかを使うこともできるが、これをやると出力が.hepmcというテキストファイルで保存されて膨大になるのでMadgraph5ではLHEファイルまで作って、その後Pythia8やジェット・アルゴリズムは別に走らせて出力をROOTファイルに保存するようにする。
そのために以下のソフトウェアもインストールする。今回使用するバージョンも下の表に記載してある。
行 15: 行 13:
|| LHAPDF || 5.6 || ||
|| HepMC || || ||
|| Pythia8 || || ||
|| FastJet || || ||
|| labpp || || ||
|| LHAPDF || 6.5.4 || パートン分関数(PDF)のデータ ||
|| HepMC3 || 3.2.6 || 事象データを扱うためのデータフォーマット(システムにインストール済み) ||
|| Pythia8 || 8.3.10 || パートンシャワー・ハドロン化 ||
|| !FastJet || 3.4.2 || ジェット・アルゴリズム ||
|| fjcontrib || 1.052 || !FastJet用と一緒に使うツール類 ||
|| labpp || master || 事象データをROOTで扱うためのクラス等 ||
行 21: 行 20:
これをインストールするためのスクリプトがlabpp/ExPythia/scripts/install_sw.shにあるので、それを取ってきて実行する。 1個ずつインストールしてもよいが、これをインストールするためのスクリプトがlabpp/ExPythia/scripts/install_sw.shにあるので、それを取ってきて実行する方法を示す作業はdev/ディレクトリで行うものとする。
行 25: 行 24:
でパッケージを取ってきた後で、上のinstall_sw.shを自分のディレクトリにコピーしてこのファイルの上の方にあるsw_dir, dev_dir, devsrc_dirを、自分の環境に合わせて変更してから実行する。
|| sw_dir || ソフトウェアのインストール先 || mg2020/sw ||
でパッケージを取ってきた後で、labpp/ExPythia/scripts/install_sw.shを自分の作業用ディレクトリにコピーしてこのファイルの上の方にあるsw_dir, dev_dir, devsrc_dirを、自分の環境に合わせて変更してから実行する。
|| '''変数名''' || '''ディレクトリの用途''' || '''例''' ||
|| SWDIR
|| ソフトウェアのインストール先 || mg2020/sw ||
行 29: 行 29:
予め、これらのディレクトリを作ってから 予め、これらのディレクトリをつくり、さらにROOTの環境設定を終えてから
行 34: 行 34:

=== 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にコピーされないので、手動でコピーした。

== プログラムの実行 ==
粒子散乱のシミュレーションは
|| '''プログラム''' ||<tablestyle="width: 300px"> '''内容''' ||
|| mg5_aMC || 散乱断面積の計算と、その確率分布に基づいてクォーク/レプトンのレベルで事象を生成する。 ||
|| runPythiaJet.exe || 散乱後に生成したクォークやグルーオンを使って、摂動の高次の寄与を近似するパートンシャワーとハドロン化をする。ハドロン化した後のクォーク/グルーオンを元のクォークに関連付けるために同じ方向に生成されたクォーク/パートンをジェットに束ねる。 ||

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

== データ解析 ==

== いくつかの結果 ==

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)