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