Timing MC

【概要】
Pixel Timing Scanで得たToTvsL1Aの情報をMCに直接実装する(2019.12.2)
directory訂正 (2022.7.14)

Information of timing

Timing Scanの最後にbec,layer,L1A(level one accept;これがbunch crossingの情報),ToT,eta_index,phi_indexの情報をNTupleに詰めておく。
詳細はTimingScanを参照。

実装

1.timewalk probabiltyをdataからToTごとに出力する

出力したNTupleから、各phi_module,layerごとにToTごとのtimewalk probabilityを計算して、テキストファイルに出力する。

2.MCでのchargeとToTの関係を出しておく

また、MCでbunchの情報はtotalChargeの大きさから導出しているので、ToTとchargeの関係を求める。 (2019.12以前)

3.MCにtimewalk probabilityの情報を実装する

/eos/atlas/unpledged/group-tokyo/users/mfujimot/QTtask/athena/athena/InnerDetector/InDetDigitization/PixelDigitization/src/TimeSvc.h
/eos/atlas/unpledged/group-tokyo/users/mfujimot/QTtask/athena/athena/InnerDetector/InDetDigitization/PixelDigitization/src/TimeSvc.cxx
の中に新たにrelativeBunch2017()という関数を実装し、
/eos/atlas/unpledged/group-tokyo/users/mfujimot/QTtask/athena/athena/InnerDetector/InDetDigitization/PixelDigitization/src/PixelCellDiscriminator.cxx
の中で使用した。
この関数を用いた後に、

std::cout << "COMMENT "<< bec << " " << layerID << " "  << moduleID << " " << bunch << " " << Q << " " << nToT << std::endl;

のようにしてbunchの情報をToTごとに出力した。これはathenaを実行した際にlog fileにテキストとして出力される。

4.実行

/eos/atlas/unpledged/group-tokyo/users/mfujimot/QTtask/build/において

setupATLAS
asetup --restore
make --build $TestArea
source */setup.sh

を行なった後、runディレクトリ下に移動して、

./makedata.sh

を実行。これで、batch jobが走り始め、10個に分けられたMC sampleに対してathenaが走り始める。
出力ファイルはrun0*というディレクトリ下に出力される。
batch jobが走り終わったら、 dataprocess_modified.shの中の出力用テキストファイルの名前を書き換える。
./data/MC0507.txtと./data/processedMC0507.txtのMC0507部分を書き換える。

./dataprocess_modified.sh

を行う。その後、data/ディレクトリ下のmktree.cxxの中の出力ファイル名を変えてから、実行する。
(※要改良; hard codingになっている)

root -l mktre.cxx

これでMCのNTupleが出来上がる。これをdataのNTupleと比較して評価する。
必要であれば3に戻って微調整を行う。

関連リンク

1. 諸々のmacro (https://github.com/FujimotoMinori/timingMC/tree/master/macro) ※要整理

TimingMC (最終更新日時 2022-07-15 15:47:52 更新者 MinoriFujimoto)