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) ※要整理