ATLAS Run-2データの解析

説明

ATLAS実験で取得したデータは、検出器からの生データから粒子の情報を再構成してxAODと呼ばれる形式に変換される。ほとんどのデータ解析はxAOD形式のファイルを使って行えるはずである。

データ解析の環境整備

以下の作業はCVMFSのインストールされたLinuxマシンのターミナル上で行うことを前提とする。

解析環境を用意するために一度だけ行う

解析を行うディレクトリを作り、そこで以下のコマンドを実行する。

setupATLAS
lsetup 'rcsetup Base,2.3.34'
rc find_packages
rc compile

これを実行するといくつかのディレクトリや環境変数が定義される。 最初のsetupATLASというコマンドは、ATLASでよく使うソフトウェアを使えるようにするためのものである。二つ目のコマンドはxAODデータの解析に必要な環境を整備するためのものであり、xAODファイルを解析する上で便利なフレームワーク(RootCore)の設定をしてくれる。2.3.34の部分は、RootCoreのバージョンで、おそらく最新のバージョンを使うべきである。Baseというのは、解析を行うグループごとに特別のソフトウェアを使っている場合があり、どのグループのソフトウェアを使うかを指定している。Baseは特定のグループに依らない一般的なソフトウェアという意味である。

xAODファイルはROOTファイルであるが、保存されているデータはATLASの衝突データをモデル化したクラスのオブジェクトたちである。データを解析するためにはRootCoreと呼ばれるフレームワークを使うことが推奨されている。利点は

新しくセッションを始めた時、毎回行う

setupATLAS
lsetup rcsetup

最初に環境を作った時のコマンドと似ているが、2つ目のコマンドでソフトウェアのバージョンを指定していない。最初に設定を行ったときに、設定情報を保存したファイルが作られていてそこから情報を読み込んでいるので必要ない。同じバージョンを指定しても問題はない。

RootCoreの使い方

RootCoreで管理するソフトウェアに対してコンパイル等の操作をするには、rcというコマンドを用いる。

rc help

のように、rcに続けて操作内容を指定する。rc helpとやると、どんな操作が可能かを表示してくれる。

解析コードを書く

RootCoreでは、ファイルから事象を一つずつ読み込んでいく機能は用意されており、解析する際に書く必要があるのは事象データを基に何を行うかということである。 ここでは、チュートリアルに従って新しくMyAnalysisというパッケージ(ライブラリのこと)を作って、その中にMyxAODAnalysisというクラスを作る。

rc make_skeleton MyAnalysis
$ROOTCOREBIN/EventLoop/bin/make_skeleton MyxAODAnalysis

最初のコマンドを実行すると、RootCoreディレクトリの下にMyAnalysisというディレクトリが新たに作られ、その下にさらにいくつかのファイルやディレクトリができているはずである。2つ目のコマンドを実行すると、その中にMyAnalysis/MyxAODAnalysis.h、Root/MyxAODAnalysis.cxxというファイルができる。