ATLAS実験における 高速トラッキングトリガーシステムの シミュレーションに

ATLAS実験における
高速トラッキングトリガーシステムの
シミュレーションによる最適化
千葉英誉, 木村直樹,寄田浩平
早稲田大学
ATLAS FTK Group
日本物理学会 2010年 春季大会
3月21日 岡山大学津島キャンパス 21aBE会場
ATLAS Trigger System & FTK(Fast TracKer)
飛跡検出器
Input&Process
飛跡検出器内部の Pixel/SCTからHit
情報のみ貰い,Trackを再構成する。
FTK
Output
1GeV以上(|η|<2.5)の全てのTrackの
Pt,φ,η,Z,d をLVL2に渡す。
Barrel
SCT 8Layer
数週間前 Technical Proposal(p.93)を
提出
Pixel 3Layer
現在TDAQ(USG)でレビュー中
1
WH(120)3×1034 PILEUP
FTKの目的
Black→OffLIne
Red→FTK
Impact
現行のデザイン
Parameter
LVL2以降のPCファームで
領域を選択し(RoI),Trackを再構成
b quark
FTK挿入後
100μsec以下の処理速度で事象中の
全てのTrack (1GeV以上) を再構成
light quark
1. Track情報の使用
bジェット同定,τ同定を飛躍的に向上 @LVL2
L=1034[cm-2 ・s-1]@Atlfast
⇒QCD事象をより多く破棄することできる。
⇒マルチジェットトリガーのPt閾値を下げられるなど。(右図)
2.RoI以外のオブジェクトをLVL2トリガーに加えられる
3. eやμトリガーにも応用可能
など
高ルミノシティ下でも安定したTrack情報の供給
LVL2でより洗練されたAlgorithmが使用可能に
35
FTK有
FTK無
2
FTKの基本動作原理
1. Hit情報をどの”Super Strip”に
位置するか分ける。(Data Organizer)
2. Super Strip単位での
Pattern Recognition → ”Road”
(Associative Memory)
Layer4
Layer3
Road1
Layer2
Road2
Layer1
モジュール
Hit位置
Super Strip
3. Track Fitting Stage
Full ResolutionのHit情報を使用
<FTKの重要なパラメータ>
素早く処理できる構成方法
Super Strip size
pattern sizeに影響
Layerの組み合わせ
現状の方法 2つ提案中
今回はコチラのみ
1. SCT8Layer Fit ⇒ Pixel+SCT 11Layer Fit
2. Pixel 3L+SCT 4L Fit ⇒ 11Layer Fit
3
FTKシステム
Pixel & SCT
RODs
FTK
cluster finding
split by layer
S-links
Input
overlap
regions
Data
Formatter
(DF)
Processor Unit
Super Strip
Data Organizer
(DO)
Hit
50kHz~100kHz
Raw data
ROBs
1等分に
1Board
Hit
Road
Associative Memory
(AM)
Road
Track Fitter
(TF)
Hit Warrior
(HW)
1st Stage
SCT8Layerのみ計算
X64 (each region)
Processor Unit
2nd Stage 11Layer全てにおいて計算
Φ 16等分×η 4等分⇒64 Processor Unit
8(16) Processor Unit ⇒ 1 VME Crate
但し,十分なOverlapを
含んだRegion分け
Track Data
ROB
4
Data Organizer / 1Board=1分割分
☆LVL1のOutputは100kHzを仮定
1Regionにおける
Layerごとの平均Hit数
1Evを10μsで処理が必要
WHbb L=3×1034[cm-2・s-1] Pile-up
☆Input&OutputはPipelineで100MHz
Pixel 1
868.1 ± 6.4
Pixel 2
687.3 ± 4.2
Pixel 3
627.3 ± 4.2
SCT 4
411.1 ± 2.0
SCT 5
410.8 ± 2.0
SCT 6
446.0 ± 2.1
SCT 7
441.1 ± 2.1
Hits of SCT 6
SCT 8
404.0 ± 1.8
Hits of SCT 7
SCT 9
404.6 ± 1.9
Hits of SCT 9
SCT 10
387.4 ± 1.7
Hits of SCT10
SCT 11
386.2 ± 1.7
1Layer辺り,1000Hitまでなら
処理可能 (Input OK)
☆1つのDO に対し100MHzのClockで処理
#SS<#HitなのでOK
SCT8L
DO
Hits of SCT 4
Hits of SCT 5
Hits of SCT 8
Hits of SCT11
100MHz
hit
100 MHz
SS
5
Associative Memory "Pattern Recognition"
Input 100MHz
#SS<#HitからOK
AM
SS
100 MHz
200
AM
Road
LAMB
200MHz
200
From
DO
200
DOから全てのSS情報を
200
得てから処理開始!!
WHbb L=3×1034[cm-2・s-1] Pile-up
<スペック>
AMは4枚(LAMB)で処理する
1LAMB 200MHzの処理能力
平均Road数
3.1k
4LAMB=4×200MHz=800MHz
→Output OK
→ 8k Roadまで耐える!
6
DO
Track Fitter / 1Board
TF
100 MHz500MHz
2ndDO⇒TF
HitとRoadをTFに送る
Road
転送速度100MHz×4
From
Fit1
Fit2
Fit3
AM
4k以内のデータ量
3.1kRoadから転送可能
TF
Road内のHitをFull
ResolutionでFitする
road & hit
100MHz
WHbb L=3×1034[cm-2・s-1] Pile-up
<スペック>
0.5GHz×4=2GHz
20kのFit Combination
まで時間Lossなしに
処理することが可能
平均Fit数 12.8k → OK
7
Timing Simulation
<目的>
処理すべきInputの平均値が,各段階の平均処理速度を超えると処理が
追いつかず,次のイベントの処理が遅れ続ける。
処理時間が遅れることにより
TriggerのDead timeを生ま
ないか確認のために
<変数>
最初の1Hit
情報が駆け
抜ける時間
・Hit数
・Boardの処理速度
・Input,Output,Delay time
Total時間を計算する!!
パイプラインなので,それぞれで
時間かかるところが全体の出力時間に影響!
Output
Input
DF
1data
DO
AM
全Hitを待つのでパイ
プラインではなくなる
⇒時間がかかる
DO
TF
HW
Fitも時間がかかる
処理されて
Outputの時
間が延びる
8
Timing Simulationの式
i=0-8(DO 8CPU) , ProcTime(ClockTime)=10nsec , InTime(Input time)=10nsec , Delay=40nsec
FwIn(i)=max[ 0, max(Pre_EwOut(i))-10μsec , max(Pre_Pre_SecDO_EwOut(I)) - 20μsec) ]
EwIn(i)= #Hit(i)×InTime + FwIn(i)
FwOut(i)= FwIn(i) + Delay
EwOut(i)=max[ FwOut(i)+ProcTime×#Hit(i) , EwIn(i)+Delay ]
AM j=0-4(LAMB4枚) , ProcTime(ClockTime)=5nsec , InTime(Input time)=10nsec , Delay=500nsec
FwIn(i)=max[ min(DO_FwOut(i)) , max(Pre_EwOut(j))-10μsec , max(Pre_Pre_EwOut(j)) - 20μsec]
EwIn(i)= max[ max(DO_EwOut(i)) , max(#SS(i))×InTime + max(DO_FwOut(i)) ,
max(Pre_EwOut(j)) - 10μsec , max(#SS(i))×InTime+max(Pre_EwIn(j)) - 10μsec
max(#SS(i))×InTime+max(Pre_Pre_EwOut(j)) - 20μsec
]
FwOut(i)= EwIn(j) + Delay
EwOut(i)=FwOut(j)+max(ProcTime×#Road(j))
DO
SecDO I=0-4(DO 4枚) , ProcTime(ClockTime)=5nsec , InTime(Input time)=5nsec , Delay=200nsec
FwIn(I)=max[ min(AM_FwOut(j)) , max(Pre_EwOut(I)) - 10μsec) ]
EwIn(I)= max[ max(AM_EwOut(j)) , max(#Road(j))×InTime + FwIn(I) ]
FwOut(I)= FwIn(i) + Delay
EwOut(I)=max[ FwOut(I)+ProcTime×#Road(j) , EwIn(I)+Delay ]
TF k=0-4(TF 4枚) , ProcTime(ClockTime)=2nsec , InTime(Input time)=5nsec , Delay=300nsec
FwIn(k)=max[ min(SecDO_FwOut(I)) , max(Pre_EwOut(k)) - 10μsec) ]
EwIn(k)= max[ max(SecDO_EwOut(I)) , max(#Hit(i))×InTime + FwIn(k) ]
FwOut(k)= FwIn(k) + Delay
EwOut(k)=max[ FwOut(k)+ProcTime×#Fit(k) , EwIn(k)+Delay ]
FwIn→最初のデータが処理部分に入る時
EwIn→最後のデータが処理部分に入る時
FwOut→最初のデータが処理部分から出る時
EwOut→最後のデータが処理部分から出る時
9
End Word Out Time
End Word Out Time 1イベント内の最後のデータがOutputされる時の時間と定義
WHbb L=3×1034[cm-2・s-1] Pile-up
処理できない場合
処理が蓄積して時間が増加する
処理できる場合
蓄積した処理時間はリセットされる
平均Hit数<Spec上限Hit数
処理時間は
蓄積され続けることはない
(Deadtimeがない)
100KHzで100ev分走らせた結果
10
Event example (Total Process Time)
AMは全LayerのSSを全て使うので
最大処理時間がかかっているEvent
SSを待つ時に時間がかかる。
前のイベントの処理によって遅れている
WHbb L=3×1034[cm-2・s-1] Pile-up
WHbb L=3×1034[cm-2・s-1] Pile-up
8つのリージョンのうち最も遅いリージョンを最終的な事象プロセス時間とした
11
FTK processing time
μsecオーダーで処理することが可能!
現状のLVL2を想定したTrack再構成にかかる時間
⇒RoIのみを1PC(Intel Core 2 Duo E8400 3.0GHz)
でTrack計算しても 1RoIにmsecオーダーかかる。
WHbb L=3×1034[cm-2・s-1] Pile-up
WHbb with Pile-up
平均
24μsec
1RoI/1PC
msec
12
纏め
• ルミノシティ3×1034[cm-2・s-1]でも,現在のFTKのデザインでは平均Hit数,
Road数,Fit数がBoardの許容範囲内であることが分かった。
→ その結果、100μsec以下で処理が可能である。
• 100Evで確かめた結果,Dead Timeなしに処理することが可能である。
展望
Time Simulationとしての予定
• DF,HWのデザイン最適化はまだ詰める必要がある。
⇒ DFやHWの処理時間を考慮し,デザインの最適化に反映。
• 2nd Stageに関しても最適化を行う。
• シミュレーションの統計数を増やす必要あり。
FTK 全体としての予定
• 全領域のEfficiencyを高めるために記憶パターンやSuperStrip sizeの最適化
• Real Dataの有効利用
2012年のShutdown時での挿入(プロトタイプ版)を想定して開発・制作中!
13