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