For 秘伝ALICE解析指南書 GEANT3 tutorial

For 秘伝ALICE解析指南書
GEANT3 tutorial
2010 April
Jumpei Midori
Quark Physics Laboratory
2016/7/9
Geant3 tutorial
はじめに
• このtutorialは、広島大学クォーク物理学研究室内の秘伝ALICE解
析指南書の一部として書かれたものです。
• 今回はGEANT3の簡単な説明と、AliRootの中で再現されている
ALICE実験PHOS検出器のサンプルコードを動かしてみるだけです。
GEANT3そのものはFORTRAN言語により書かれているため、この
tutorialの先を目指す方はこの言語について自身で学びましょう。
• また、Simulationの成否、結果は計算機の環境に大きく依存します。
このtutorialは2010年春現在の物となっています。
• 今回のtutorialはAliRootのversionはv4-13-Rev-01で実行します。
2
2016/7/9
Geant3 tutorial
GEANT3とは
• GEANT3(Geometory And Tracking 3)とは粒子が物質中
を通る際の相互作用を再現することができ、検出器に落と
すエネルギーや位置などをシミュレートする。また、検出
器自体のシミュレーションとしても機能し、例えばPHOS検
出器中のノイズなどの情報も組み込んで実験を再現する
ことができます。
• 入射粒子はEvent Generatorによって作る。この時に、
PYTHIAやHIJINGをこれに用いれば、原子核衝突実験で
の反応をGEANT3で再現することになる。
• GEANT3が出力するデータ形式は実際の実験データと同
じ形式で出力できるために、Simulationデータと実データ
は同じ解析コードを用いて解析を行うことができる。
3
2016/7/9
Geant3 tutorial
GEANT3によって再現された検出器群
今回は、衝突点から1GeVの光子を飛ばして、PHOS検出器で
測定するというSimulationを行ってみます。
4
2016/7/9
Geant3 tutorial
Simulationを行うための下準備
• GEANT3を行う下準備として、まず以下のリンクよりコード一式を用
意してください。
– https://www.hepl.hiroshima-u.ac.jp/alice/doc/anaguide/GEANT3_tutorial
• 必要なコードは以下の通りです。
–
–
–
–
Config.C : Simulation内容を記述するコード
sim.C : Simulationを実行するコード
rec.C : Reconstructionを実行するコード
run.csh : 上記のマクロを動かすコード
• 今回はEvent GeneratorとしてはAliRootの中にあるイベントジェネ
レータクラスのAliGenBoxというものを用いて、1イベントにつき1つ
の光子を飛ばします。
5
2016/7/9
Geant3 tutorial
Simulationの実行
• 下準備ができたら、適当なディレクトリ(ここでは”tmp”とします)をつく
り、そこにコード一式をコピーしてください。
–
–
–
–
–
mkdir tmp
cp Config.C tmp
cp sim.C tmp
cp rec.C tmp
cp run.csh tmp
• では試しに、1個の光子を1000回、PHOS検出器に向けて、飛ばし
てみましょう。先ほど用意したtmpに移動し、run.cshを引数1000で
実行してください。これでSimulationが行われます。
– cd tmp
– ./run.csh 1000
6
2016/7/9
Geant3 tutorial
Simulationの結果
• イベント数に依りますが、数分のうちには、Simulationが
終わり、tmpのディレクトリ内に以下のようなrootファイル
などができているはずです。数秒で終わる場合は失敗の
ことが多いです。
–
–
–
–
AliESDs.root
galice.root
Kinematics.root
PHOS.SDigit.root
• これらのファイルができていれば、Simulation成功となり
ます。
7
2016/7/9
Geant3 tutorial
出力データのチェック
• 次にできたAliESDs.rootに注目し、結果を見てみましょう。
• このファイルには、PHOS検出器によって測定されたクラ
スターの位置やエネルギーなどの情報が入っています。
これらはAliRootで読み出すことができます。以下のコマ
ンドを実行してください。
– aliroot AliESDs.root
– esdTree->Draw(“CaloClusters.fEnergy”)
8
2016/7/9
Geant3 tutorial
Energy情報の出力
• では、早速Energy情報を出力してみましょう。以下の図が
Drawの結果です。
1GeVの光子を飛ばし、Energy分布でも1GeVの所にピークが見えている
ため、Simulationが機能していることがわかります。
ただし、右図で1GeVの所に飛ばした1000個がカウントされていないの
がわかります。これは他検出器の効果が見えているのでしょう。
2016/7/9
Geant3 tutorial
9
最後に
• これで、今回のtutorialは終了です。
• Simulationの設定は、Config.Cの中で設定で
きます。この後のBack Upの中でいくつかの
変更できる個所を紹介しますが、これ以上は
各自で必要に応じて勉強してください。
• つたないtutorialでしたが、これが何かの役に
少しでもなれば幸いです。
10
2016/7/9
Geant3 tutorial
Back Up
~Config.Cの中の変更例~
11
2016/7/9
Geant3 tutorial
AliGenBoxの設定
(Config.Cの中)
•
ここでは、今回イベントジェネレータ
として用いたAliGenBoxの設定を
行います。
– AliGenBox(?):?の中には1つの
イベントで飛ばす数を設定します。
– SetPart(?):?の中には飛ばしたい
粒子のPDGコードを記入します。
PDGコードの例
• 電子 = 11
• 光子 = 22
• pi0
= 111
(その他にはParticle Data Bookを参照)
– Set??Range():これで飛ばす粒子
のpTや方向を設定します。
12
2016/7/9
Geant3 tutorial
設置する検出器の設定
(Config.Cの中)
•
ここでは、Simulationの中で設置す
る検出器を決めることができます。
•
それぞれの検出器の横の数字が
–
–
1:設置する
0:設置しない
•
となります。
•
さらにそれぞれの設定はこの下の
ところで行います。
13
2016/7/9
Geant3 tutorial
PHOSの設定
(Config.Cの中)
•
ここでは、PHOS検出器の設定を
行います。
•
apdnoise = ?:PHOS検出器の読み出し
部APDでのノイズの大きさを表します。
•
•
AliPHOSv1(“PHOS” , ”Mod??”):
??の数字に対応したPHOSのモジュー
ルを設置することができる。今回の場
合、PHOS1~5までを設置したことにな
る。
14
2016/7/9
Geant3 tutorial