はじめに

この TWiki は TGC オペレーションをこれからはじめるぞ!という人々を支援するための TWiki です。TGC のオペレーションについて議論するために知っていた方がよい基礎知識をまとめてあります。 ( 玄人が辞書的に使うものというよりは ) これからはじめる人々に全部読んでもらって、全部理解してもらうことを目的にした読み物になっています。頑張って全部読んでください。わからないことがあれば気楽に奥村 and/or 石野さんに聞いてください。またさらなる詳細が必要な場合は TGC Document TWiki から調べてみましょう。大抵ちゃんと答えが見つけられると思います。

このページを日本語で編集するには、 高機能エディタの助けを借りることが必要です。ページ下の "WYSIWYG" から、編集してください。

リンク集

TGC トリガー

運動量の概算手法

エンドキャップのミュー粒子トリガーシステムは、 7 層の TGC 検出器のコインシデンスを用いたミューオントリガーです。 ATLAS ミューオントリガーシステムは 7 層のコインシデンスによってノイズヒットを落として粒子由来のトリガー判定を行うという、昔ながらのトリガーの思想 (例えば、複数の シンチレータと PMT + アンプ + NIM ディスクリ + NIM ディレイ + NIM のコインシデンスで構成されるトリガー系) に加えて、 7 層の検出点の位置情報を利用した運動量の概算により、 運動量の "ラベル付け" をしたコインシデンス情報を出力できるトリガー系 となっています。エンドキャップ部のミュー粒子トリガーシステムにおける運動量の概算方法ですが、全検出層が磁場の外にあるため、磁場中のトラックの曲率を直接測ることはできません。代わりに 7 層の TGC 検出器を用いて再構成された直線飛跡を用いて運動量を概算します。TGC トリガー回路系は複数層のヒットコインシデンスに基づき直線飛跡を再構成し、検出器原点を向いているトラックを選ぶことで、高運動量のミュー粒子を選択するトリガーとして機能します。この手法を Point Angle Measurement と呼びます。

03.jpg

7 層のTGC 検出器は、三つのステーションに分かれて設置されます。三つのステーションは Interaction point に近いステーションから、 "M1", "M2", "M3" と呼びます。他にも TGC1, TGC2, TGC3 といったり色々な呼び方がありますが、 M1, M2, M3 という呼び方がもっとも一般的で、 例えば、エンドキャップ MDT の人にもこの言い方で通じます。M1, M2, M3 はそれぞれ z=13m, z=14m, z=14.5m に位置します。 TGC はアノードワイヤーとカソードストリップの直交した二つの読み出しをもっていて ( TGC 検出器 の項目で説明) 、両者の情報より荷電粒子の通過位置が決定可能です。ワイヤーが eta (もしくは半径の意味で "R" - TGC のトリガーロジックを議論するは "R" の方が一般的) を測定して、ストリップが phi を測定します。必要十分な位置分解能を達成するためのチャンネル幅はストリップ、ワイヤーともに O(1cm) です。トリガーロジックは M3 ステーションにおけるヒットを Pivot として用いて Point Angle Measurement を行います。

04.jpg

TGC 検出器は M1 が Triplet と呼ばれる三つのガスギャップが組みになった構造を持ち、 M2, M3 は Doublet と呼ばれる二つのガスギャップが組みになった構造を持ちます。Triplet 内、 Doublet 内のローカルなコインシデンスをもちいてデータリダクションを行い、最終的に 3 ステーションコインシデンスによりトリガー判定を行います。手順は以下のようにまとめることができます。

  • ミュー粒子が通過し、 7 層のワイヤーと 6 層のストリップにそれぞれヒットを残します。
  • ステーション内の 2 層または 3 層のコインシデンスをもちいてノイズのヒットをのぞき、かつコインシデンス結果より各ステーションにおける通過位置を R, phi 別々にもとめます。(R1, R2, R3) (phi1, phi2, phi3)。(図中の番号 1, 2, 3, 4) (注意 : M2, M3 で 3/4 を許すため、この説明は厳密には正しくありません。正確な説明は SLB Trigger Logic の解説 をご参照ください。)
  • M2, M3 の間でのコインシデンスをとって Doublet 四層での "トラックセグメント" を求めます。この時 R2-R3, phi2-phi3 は無限大の運動量を持つトラックに対してゼロになるように取り決められているとしましょう。この dR23=R2-R3, dPhi23=phi2-phi3 が運動量の指標として用いられ、これが小さいものだけをトラック候補として残し、あとはとっても低い運動量の粒子か、ノイズだと信じて落とします。 (図中の番号 2, 4)
  • M2, M3 のコインシデンス結果と M1 の間で、さらにコインシデンスをとります。M2, M3 の間のコインシデンスでやったように、R13=R1-R3 と phi13=phi1-phi3 の情報をもちいてトラック候補の選別を行います。ここまではワイヤー (R) とストリップ (phi) 別々に計算されます。 (図中の番号 5, 6)
  • 最後に、R と phi の情報のコインシデンス情報を合わせて、ROI を形成し、さらに、dR dPhi の情報を合わせて運動量判定を行います。この運動量判定情報及び ROI の情報がミューオン CTPi (CTP インターフェース) に送られます。 (図中の番号 7)

システムの構成要素

TGC 検出器

TGC 検出器の断面図です。

23.jpg

50 マイクロンのワイヤーが 1.8mm ピッチではられています。短いピッチにより Bunch Crossing Identification (BCID) を行うために十分な時間分解能を持ちます。また薄いガス層のおかげでイオンのドリフト時間が短く抑えられ、十分な繰り返し読み出しの頻度を確保します。タングステンワイヤーとカーボングラファイトによるグラウンドを持っていて、ガス増幅部に CO2 とノルマルペンタン (n-Pentane - 日本の研究者は "エヌ-ペンタン" と呼びます) を充填します。ワイヤー電極と、その鏡像電荷を検出するストリップ電極が直行して設置されていて、荷電粒子の通過位置を二次元的に決定することができます。 1.8 mm ピッチでワイヤーが張られているのは時間分解能の観点で必要で、位置分解能の観点ではそんなに高い精度は TGC トリガーには求められません。ですので、 (チャンネル数を必要十分な量に調節し読み出し数を減らすため) ワイヤー電極は 4-20 wires (i.e. 7.2mm - 36mm, eta による) を grouping して読み出します。

22.jpg

台形型の TGC 検出器モジュールは実験ホールで円板状に設置されます。その構造体は、形状から "Big Wheel" と呼ばれます。 7 層のガス層を持ち、衝突点に近い内側から順番に 1 層目から 7 層目まで番号をつけます。内側から順番に Triplet, Doublet, Doublet の構造を持ち、衝突点に近い層から順番に M1, M2, M3 と呼びます。M1 が z=13m, M2 が z=14m, M3 が z=14.5m に設置されます。M1 と M2 と M3 は構造体として独立で、必要なら分離することができる構造になっています ( M1 と M2+M3 の間をあけた実績はあります。ステーションをまたぐケーブルを全部外す必要があるため、大仕事です。 M2 と M3 の間をあけるという作業は、設計的にはできるといえども、実績はありません。)。また構造体は MDT と TGC をセットにして作ってあります。写真に示されているように、円盤の外側 ( 1.05 <|eta|<1.92 に対応 ) は phi 方向に 48 回対称になるように検出器が設置されています。また内側 ( 1.92 <|eta| < 2.4) は 24 回対称になるように検出器が設置されています。この 1.05 - 1.92 の領域を特に "エンドキャップ" と呼び、 1.92 - 2.4 を "フォワード" と呼びます。 エンドキャップ領域の 1/48, フォワード領域の 1/24 はトリガー回路的に独立していて "トリガーセクター" と呼ばれます。トリガーセクターを超えたヒット情報の共有は行いませんが、検出器自身がオーバーラップを持って設置されているため、トリガーセクター境界での inefficiency はほとんどありません。

21.jpg

33.jpg

電源供給、ガス供給、電気回路制御、読み出しの関係から特に、エンドキャップ領域の 4 セクター (i.e. 4/48) を、フォワード領域 2 セクター (i.e. 2/24) をまとめて "1/12 セクター" という単位で扱います。1/12 セクターは ATLAS の座標系にそって、01 から、12 まで通し番号が振られています。覚え方はいろいろありますが、覚え方の一つが、「空を向くように y-軸、LHC の中心を向くように x-軸を定義した右手座標系」です。( そうすると ATLAS では Jura 側から、 Saleve 側に向けた z 軸が定義されることがわかりますね。 ) x 軸正の向きにそって設置されている 1/12 セクターがセクター 01 に対応します。また ATLAS 検出器原点に対して、z<0 の場所を C サイド、z>0 を A サイドと呼びます。 Jura 側が C サイドで、 Saleve 側が A サイドです。これと合わせてセクターの番号は A-01 から A-12 まで、また C-01 から C-12 まで振られます。

34.jpg

1/12 セクター中、エンドキャプ部の 4 セクターに含まれる TGC 検出器ユニットの数は M1 で 4 x 4 = 16 , M2 と M3 で 5 x 4 = 20 です。かけ算は (ユニット個数 / phi) x (phi) の気持ちで書いています。 フォワード部は M1, M2, M3 ともに 1 x 2 = 2 個のユニットからなります。上の図には、M3 におけるエンドキャップ部が 5 つの検出器ユニットから構成される様子が示されています。この検出器ユニットには、生産時から T'X' (X には数字がはいります) というニックネームがついていて、図の M3 のエンドキャップ領域の例では、内側から順に T5, T6, T7, T8, T9 という名前がついています。こういう構造をもっていますので、検出器ユニットを特定するためには、"A Side の、 M3 の、 セクター 01 の、エンドキャップの、phi0 の T5 チェンバー" という情報が必要になります。phi'X' という呼び方は、エンドキャップの 4 つの トリガーセクター、及びフォワードの 2 つトリガーセクターを指定するための呼び方で、エンドキャップ部で phi0, phi1, phi2, phi3 という呼び方を用いて、フォワード部で phi0, phi2 という呼び方を用います。

また、紛らわしいことに、チェンバーユニットには別の呼び方もあって、eta 方向に順に数える (つまり R とは逆順になる) E'X' (E は Endcap の E, X は数字がはいる) という呼び方もあってややこしいです。(生産をしていた人には T'X' という名前の方が馴染みが深いようですね。) 下に、検出器ユニットの種類をまとめました。

T1 M1-F   M1 のフォワード部
T2 M2-F, M3-F   M2 と M3 のフォワード部
T3 M1-E4   M1 のエンドキャップ部の一番内側
T4 M2-E5 日本 M2 のエンドキャップ部の一番内側
T5 M3-E5 日本 M3 のエンドキャップ部の一番内側
T6 M1-E3, M2-E4, M3-E4 イスラエル T3, T4, T5 の一個外側
T7 M1-E2, M2-E3, M3-E3 日本 T6 の一個外側
T8 M1-E1, M2-E2, M3-E1 イスラエル T7 の外側 (M1 はこれでエンドキャップ部おしまい) - 一番古い
T9 M2-E1, M3-E1 中国 T8 の外側 (M2 と M3 のみ)
もっと詳しい情報は TGC TDR をご参照ください。

電気回路系 - 四つの Path

05.jpg

上の絵は TGC システムの電気回路系の概要です。デジタル電気回路が設置される箇所は大きく分けて3箇所あります。

  • PS Board と呼ばれる検出器の上に取り付けられるボード : Patch Panel (PP) ASICSlave Board (SLB) ASIC がのっていて、 PS Board と呼ばれています。加えてコントロールのために JTAG プロトコルのスイッチングを行う JTAG Route Controller (JRC) ASIC ものっています。
  • Big Wheel のわきに、青色のミニラックと呼ばれるラックが取り付けられています。その中に HSC Crate という特別に改造されたバックプレーンを持つ VME クレートがあります。そのクレートに、読み出し用のモジュールである SSW (Star Switch、"エスエスダブリュー" と呼ぶ人はいない) と、M1, M2, M3 のコインシデンスのための HPT (High PT これも "エイチピーティー" と呼ぶ人はいない) が搭載されています。加えて、HSC クレートの中には、HSC モジュールがのっていてこれが、 CCI からの命令に従って HSC バックプレーンの VME バスマスタとして働きます。また、このミニラックには、他に電源関係の CAEN クレート、でっかくて重い 48V 生成のための AC/DC コンバータ、クーリングのためのファン、信号送信のためのファイバーを束ねるためのファイバーパッチパネルがあります。
  • USA15 に読み出しのための Readout Driver ("ROD") モジュールがいて、SSW からのデータを受けます。Sector Logic ("SL") は HPT の R コインシデンスの phi コインシデンスの結果を合わせ ROI と PT 判定を行うモジュールです。また HSC クレートを遠隔でコントロールするために、 CCI と呼ばれるモジュールがいます。またLHC マシンクロックを受信してフロントエンド電気回路に配布するための TTC (Trigger Timing Control) システムも USA15 にあります。TTC システムは LHC クロックに加えて Event Counter Reset (ECR) や Bunch Counter Rest (BCR) 信号も配布されます。 USA15 にあるモジュールと Mini Rack にあるモジュールはすべて光ファイバーで繋がれています。ミニラックとの通信のためのファイバーを束ねるためのファイバーパッチパネルが、USA15 側にもあります。

大きく分けて四つの Path に大別することができます。

  • リードアウト系 (Readout Path)
  • トリガー系 (Trigger Path)
  • 制御系 (Control Path)
  • TTC 系 (TTC)

それぞれの詳細は、 電気回路のイロハのセクションで解説します。

インフラのイロハ

電力供給系

TGC のシステムの動作には以下の電源が必要です。

  • 検出器のワイヤーに印加する高電圧 ("High Voltage"、"HV"、"ハイボル"、"ハイ電" いろいろな呼び方があります)。おおよそ 2.8 kV がかけられています。この高電圧はチェンバーごとに efficiency に基づいて最適化されていて、名古屋大学の 伊藤くんの修士論文 にまとめられています。(ちなみに伊藤くんの修論では、threshold 電圧の調整についてもまとめられています。)
  • アナログ回路 (ASD), デジタル回路 (PS Board, HSC クレート) の電圧のための -3.0V, 3.3V, 5V, 8V の低圧電源 ("Low Voltage", "LV", "ローボル")

関連する電源モジュール

いろいろな段階を経て、レギュレートして使っているわけですが以下の段階を追って順番にみてゆきましょう。

  1. プライマリーな電源
  2. プライマリーな電源から直接電力供給をうける人
  3. AC / DC コンバータで作られた 48V を直接うける人
  4. LV 出力

(1) プライマリーな電源

  名前 電圧 情報
1 AC 380 (交流) 380 V UX15 にあります。
2 DC 48 48 V US15 にあります。"48 V UPS" といったらこの人です。

(2) プライマリーな電源から直接電力供給をうけるひと

3 AC/DC コンバータ @ ミニラック 48 V 380 V の交流をうけて 48 V の直流を作ります。 1 セクター分の LV/HV は全部この人の電力供給で作られます。AC/DC コンバータは直流 UPS がつくる 48V も使っています。この外部から供給される 48 V は AC/DC コンバータ ON/OFF や、 (3) のモジュール制御等のコントロール部に使われています。

(3) AC / DC コンバータの出力を直接うける人

4 HV ジェネレータ ~2.8kV AC/DC コンバータの 48 V をうけて、 HV をチェンバーに供給します。基本的には 1ch が 1 ガスギャップ (TGC のユニット中 1 層) に対応します。
5 LV レギュレータ 3.3V, +/-3.0V, 5V, 8V AC/DC コンバータの 48 V をうけて電圧をレギュレートします。

(4) LV の種類

6 ASD + +3.0V 電力をよく食う。(ASD Board 上で 3.0V になるようにするので PS-Board 到達時は少し高めにしておく。Primary には +3.5V - 場所による)
7 ASD - -3.0V 電力をよく食う。(ASD Board 上で -3.0V になるようにするので PS-Board 到達時は少し低めにしておく。Primary には -3.3V - 場所による)
8 PS Board (PP Asic / SLB Asic) 3.3V 電力をよく食う。
9 DCS 5V ほとんど電力を食わない。
10 DCS 8V ほとんど電力を食わない。
11 HSC Crate 3.3V 電力をよく食う。

電源の制御 - 分配

上のセクションで言及した、ミニラック中の AC/DC コンバーター、 LV モジュール、 HV モジュールは全部 CAEN のコントロール系によって制御されています。次の絵は、電力の供給の経路 (黒色の線) と、制御の経路 (青色) を示しています。どういうユニットで、どういう樹形で管理されているかを知っておくと、異常があったときに、起こっている単位から、悪い箇所が判断できて役に立ちます (これは電源の話だけでなく、一般的に覚えておくとよいことですね。例えば、 Sector 01 と Sector 02 の電源が同時にうごかないってなった時に、その部分で共通のコンポーネントを疑う。とても正解に近いところからチェックをすることができる。) 。"ブランチコントローラ" というキーワードも覚えておきましょう。これは USA15 の CAEN 制御のクレートに挿すモジュールの名前ですが、一つのブランチコントローラが 2 つの 1/12 セクターを制御しています。絵の中で USA15 のコントローラが二つのミニラックを制御していることを示唆する絵になっているのはそのためです。( UPS DC 48V は一つのユニットが 6 セクターを担当するため、例えば、 6 セクター (上半分 / 下半分) がだめになったときは、UPS DC 48V だと思う。) ちなみに、ATLAS 実験の電力はフランスとスイスの両方を使っていて、時期によって変わる。

02.jpg

1/12 セクターが消費する電力量の参考数字をいかにまとめました。2007 年のコミッショニングの宇宙線ランのときに測定した数字です。( "参考" といっているのは、衝突のときはデジタル回路の消費量は CMOS のスイッチングの回数が多くなるから増えてこれよりも大きいと思います。ですので、参考値。)

  電圧 (V) 電流 (A) 電力 (W)
ASD+ 3.3 217 716.1
ASD- 3.0 56 168.0
PP/SLB ASIC 3.3 56 181.5
DCS 5 0 0
DCS 8 0 0
HSC Crate 3.3 34 112.2

ガス供給系

TGC 検出器の増幅には、 CO2 とノルマルペンタンの混合ガスが循環的に流れていて、加えて検出器外縁に設置される防火用ガス流路に CO2 が流れています。防火用のガス流路を準備しているのは、ノルマルペンタンが可燃性だからです。地上のガス貯蔵施設から地下実験ホールに輸送されます。Big Wheel では Endcap, Forward 部に別々のガス流路の支線を持ちます。すべての Layer & phi に支線があるため、 Endcap 部で、 48 (phi) x 7 (層) x 2 (サイド) = 672 支線、 Forward 部で 24 x 7 x 2 = 336 支線が敷設されています。それぞれの支線で Big Wheel の内側から外側に流れます。内側の方が単位面積当たりの粒子数が多く、効率のよいガス置換が必要なので、内側に新鮮なガスが入るようになっています。 Endcap の支線はもつガス容量は、検出器 5 層分 (M2, M3) または 4 層分 (M1) で、おおよそ 20 リットルです。TGC 検出器のガス増幅層には、毎時 2 リットルの流量で流れるようにガス圧が調節されていて、10 時間で一回置換が完了するガス循環の設計になっています。

ちなみにノルマルペンタンはビニールに対する腐食性をもつので、二つのガスチャンネルで使っているガス管の素材も違って混合ガスの流路には、銅管を用いています。

TGC TDR の セクション9-3 "Gas System" も参照してください。

水道

TGC システムの水道は、ミニラックの冷却用で、ミニラック内の電源・HSC クレート内回路を冷やすために用います。(ASD, PS Board の冷却は行っていないことを明記しておきます。)

A Side と C Side の二本本線があります。地上のポンプから UX15 の US 側地上階まで降りてきてさらに 二本の系統 12 本の支線 に分岐します。

  • Big Wheel 上半分をまわって return(6セクターの mini-rack を冷却)する系統
  • Big Wheel 下半分をまわって return(6セクターの mini-rack を冷却)する系統

それぞれの系統が直列ではなく、T 字コネクターで、各セクターが水を引き込む構成を持っていて、各々のセクターがそれぞれ並列に支線をもつ構造になります。また、水の温度は 17 度に設定されていて、これは、混合ガス CO2 : n-Pentane が液化しないための下限温度です。

Detector Control System

(1) DAQ 系統の制御システムと、(2) Detector Control System (DCS) は基本的に独立なシステムです。この二つのシステムについて、TGC システムについては以下のような "住み分け" をしています。

  • ATLAS の Run State に同期した制御を必要とする Trigger / Readout (まとめて Trigger DAQ or TDAQ) の電気回路は 電気回路制御系 の項目で解説するようなシステムを使っています。これが上で述べた "DAQ 系統の制御システム" に対応します。
  • 対して、ATLAS の Run State に同期した制御を必要としない、とっても "スローな制御"、具体的には検出器の High Voltage、ASD の閾値電圧 (Vth)、 CAEN の電源モジュールの制御はDetector Control System の管轄で、加えて、温度や位置センサー等のモニターも Detector Control System の管轄になっています。

この住み分けは、結構サブディテクタによって異なって、例えば、 リードアウトに関係する電気回路のレジスタ制御も DCS がやっているサブシステムもあるみたいです (かつては、TGC でも DCS が PS Board / TTC rx のコントロールも全部やるといっていた時期もありました)。TGC では、 eLMB と呼ばれるメザニンカードが PS ボードにのっていて、 DCS がらみのオペレーションをします。 "ゴールデンケーブル" と呼ばれる DCS 用のケーブルによって、 PS ボード上の eLMB はデイジーチェーンを組んでいて、この線を通じて、制御と電源の供給を行います。


DCS の本来あるべき姿は、現在状況、過去の履歴を interactive にモニター可能であって、 Condition Database (Oracle) との連携で、過去の状況をモニター可能でかつ現在の設定値が保管されているというもので、これに向けて、イスラエルの Tel Aviv 大の人々を中心にして、メンテナンスと開発が続けられています。

Muon Shifter チュートリアルの DCS のセクション も参照してください。

TGC 電気回路系のイロハ

上のセクション で紹介したように、TGC 電気回路系は大きく分けて以下の四つに大別することができます。

これらの詳細を順にみてゆきましょう。

リードアウト系 ("Readout Path")

16.jpg

上の図は TGC システムのリードアウトのフローを表しています。

  • ASD : 検出器の生の電流信号は ASD で、電圧信号に変換され、増幅されたあと、コンパレータにかけられ LVDS レベルの信号が出力されます。
  • Patch Panel ASIC : ASD の LVDS 出力は LHC クロックに非同期な信号ですので、LHC のクロックで動くデジタル電気回路のプロセスが始まる前に、 LHC クロックに同期させる必要があります。これが Patch Panel Asic のお仕事です。この時間の観点で "量子化" することをヒットの Bunch Crossing Identification (BCID) の言います ( BCID という言葉は文脈によっていろいろな使われ方をするので、ご注意ください )。この BCID は "遅延回路"、 "ゲート回路" を用いて、 TGC 出力信号の立ち上がりに対して行われます。 以下で詳細は議論しますが、 "正しく BCID をする" というのが非常に重要な話で、総研大の 鈴木友くんの博士論文 修士論文 にさらに詳しく記載されています。以降の SLB ASIC 以降では、"SLB のインプットの段階では、すべての同一バンチ交差に属するヒットは、全チャンネルで同じクロックの立ち上がりでサンプルされる" ことは保障されていることを前提に議論をします。
  • Slave Board ASIC : PP ASIC の出力は 各 Bunch Crossing ごと ( 言い換えれば LHC のクロックの立ち上がりごと) に、SLB ASIC で、L1 Buffer に一時的に記録されます。SLB は 160 チャンネルのインプットを持ち、毎クロックごと 160 bits のヒット情報を一時記録します。 L1 Trigger 判定は L1 判定後に L1 Buffer に受信されます。ATLAS の L1 は "Fixed Latency Trigger Logic" で、 イベントの複雑さ等によらず、"衝突が起こってから L1 判定が下るまでの時間" は同じです。 SLB の観点からすれば、L1 Buffer に Hit を記録したあと、その Bunch Crossing の L1 Trigger 判定を受信するまでには、かならず (例えば) 100 クロックサイクルかかる、というような感じです。この場合 L1 Buffer が L1 Accept (L1-A) 信号をうけたら、 100 clock サイクル前のデータを読み出しなさい、と ASIC に教えておけば、正しいデータを読み出すことができます (このパラメータは "L1 Buffer Depth" と呼ばれます)。 L1 Accept を受けると、全 160 bits (と対応する SLB trigger 判定の 40 bits の情報 - 計 200 bits) を Star Switch モジュールに送ります。
  • Star Switch : Star Switch モジュールは、複数の SLB のデータをバンチ交差毎にパックして、後段の Readout Driver に送ります。ゼロサプレス (データ圧縮) を施しデータサイズを減らし、 "イベントビルディング" を行い、光リンクで USA15 の Readout Driver に送られます。あとのマッピングの項で詳しく述べますが、一つの 1/12 セクターで、8 枚の Star Switch Module を用いて Endcap 部 4 phi、Forward 部 2phi の全層 M1, M2, M3 の SLB output をカバーします。
  • Readout Driver : ROD モジュールは 1 つのセクターの中にあるすべての SLB-SSW の読み出しをまとめてバンチ交差号とにデータをまとめる。ATLAS 実験で定められた ROD-ROB フォーマットと呼ばれるデータフォーマットに従って Event Header, Event Trailer をつけて ROS (Readout System) PC にデータを送ります。

以下のサブセクションでは、 ASD, PP Asic, SLB, SSW, ROD についてもう少し詳しく解説しておきましょう。

ASD

TGC 検出器の出力の電流信号は、 ASD ボードにおいて電圧信号に変換されて、増幅され、閾値電圧による信号の識別がされて、最終的に LVDS 規格のデジタル信号が出力されます。チャージアンプである前段増幅器 (Preamplifier 16 ns の放電時定数を持ったエミッター接地 (Emitter Common) 回路で、おおよその電圧変換効率はピークで 0.8 V/pC )、利得 7 倍の差動電圧増幅回路、コンフィギュレーション可能な閾値電圧 (Vth) とのコンパレータからなります。差動電圧増幅回路の出力が Vth を超えている時間だけのパルス長で LVDS のデジタルパルスが、出力されます (コンパレータのスイング幅 1050mV - 1450mV) 。また Test Pulse 源として電圧パルスの入力が、 1pF と 51 Ohm のハイパスフィルタを介して Preamplifier の入力に接続されていて、TGC のチャージ出力をエミュレートする Test pulse ("ASD Test Pulse と呼ばれます") 源が実装されています。1 つの ASD で 16 チャンネルを処理します。

09.jpg

もっと知りたい人 ASD Production Readiness Review 資料 (1999, 01)

Patch Panel ASIC ( BCID や Timing 調節の解説を含みます)

Patch Panel ASIC は PS Board にのっている ASIC で、ASD のコンパレータの出力した LVDS 信号をうけて、入力信号のタイミングを揃えた上で、 40 MHz のクロックでサンプリングします。LVDS 信号の入力の時間分布はミューオンの衝突点から検出器までの飛行時間 (Time-of-Flight)、ASD から Patch Panel ASIC までの LVDS ケーブルの長さ、等の要因によってチャンネル毎に異なります。さらに、 "intrinsic な時間分解能" をもちます。検出器中の Propagation delay (ASD がついている端からどれだけ離れたところを粒子が通過したか) や、ドリフト時間はイベントごとに異なり、検出時間はとある確率分布を持ち、これがここでいう intrinsic な時間分解能になります。これらを考慮してチャンネル毎に信号線の遅延を調節する必要があります。Patch Panel ASIC のロジックダイアグラムは以下の右図に示してあります。Patch Panel ASIC に含まれる "Fine Delay" (25ns/28=0.9ns ステップ) と、Patch Panel ASIC に含まれる "BCID ゲート回路"、また下流の SLB の入力にある "Coarse Delay (25ns ステップ)" で調整されます。(おまけ : この SLB の Coarse Delay をかけるできるチャンネル単位が 16 チャンネルでないので、やや "解く" のが難しかったです。佐々木さんが、「Patch Panel に Signal Coarse Delay を用意しておけばよかった」とよくおっしゃっているのはこのためです。) Patch Panel ASIC は 2 つの独立なパートに分けられて Port-A, Port-B と呼ばれ、それぞれ Patch Panel の 16 channel の入力に対応し、これは ASD 一枚の出力に対応します ( このあたりはマッピングの話をした時にもっと詳しくでてきます ) 。

Patch Panel ASIC 内の遅延回路は、インバータを複数個つなげて実現されています。一個一個のインバーターの遅延時間を温度によらず一定に保つために、 "Phase Locked Loop 回路 (PLL 回路)" を用いています。 Fine Delay の後に、Mask と BCID ゲート回路があります。

10.jpg

次の図は Mask と BCID ゲートの回路図です。

  • TGC 信号の 立ち上がりを検出する回路 となっていることに注意しましょう。例えば、 2 バンチ連続で Vth を超える長い input があったからといって、2 バンチにわたってヒット情報を出すわけではないことを確認してください。
  • BCID ゲート回路のコンセプトは以下のとおりです。"clock の立ち上がり (1) のタイミングで信号の出力があるためには、 (2) の時間幅 (ゲート幅) のうちに生信号の立ち上がりがあるべき" という文脈で TGC のゲートを定義しましょう。 TGC 出力信号には "intrinsic な時間分解能" があって特に Strip 信号では 25ns よりも大きい、統計的なふらつきが予想されます。その時間分布に対して、十分なゲート幅をあけておくことが重要になります。 この TGC ゲート幅は可変で Patch Panel の "BCID Gate" パラメタはがそれに対応します。最小のゲート幅は 25ns で、BCID Gate パラメタを用いて 25+X ns のゲート幅が決定されます。例えば BCID Gate パラメタを 5ns と設定すれば、(2) の青色の矢印は、 25ns + 5ns = 30ns のゲート幅となる、という具合です。( 確認をしてみてください。 ) 2015 年の設定では、 Big wheel wire に 25+4ns, Big weel strip に 25+16ns, EIFI wire に 25+7ns, EIFI strip に 25+20ns のゲート幅が最適値として設定されています。(EIFI の特殊なタイミング設定の歴史について は こちら を参照. )
26.jpg

ちょうどよい機会なので、とある信号の時間分布に対する Optimal な "ゲート幅" と "クロック位相" の関係をいかに示しておきます。 TGC トリガー回路系のタイミング設定として必要なことは、以下の三点にまとめることができます。(図の中の三角は、1 イベントの "波形" ではなく、バンチ交差を起点に PP Asic で検出される信号の "立ち上がり" 時間の確率分布関数を示していて、この分布の幅が上のほうで書いた "intrinsic な時間分解能" に対応します。)

  • すべてのチャンネルが同じタイミングで SLB に input されるように信号の delay parameter を合わせる (チャンネル間のタイミングの調整)。 信号線の遅延を用いる。
  • 時間分布の立ち上がりと、クロックの立ち上がりが一致するように合わせる (信号のタイミングと、クロックのタイミングの調整)。 クロック線の遅延 (TTCrx) を用いる。
  • 時間分布のもっとも遅い場合までカバーできるように十分なゲート幅に調整。Patch Panel ASIC の可変ゲートを用いる。
32.jpg 27.jpg

もっと知りたい人 Patch Panel ASIC 資料 (2005, 07)

Slave Board ASIC

17.jpg

SLB は 160 bits の入力ポートを持っています。 A-input (36 channels), B-input (36 channels), C-input (44 channels), D-input (44 channels) の計 160 bits です。( マッピングの議論をした時に詳しく議論をします。) Patch Panel ASIC で正しく BCID をされた検出器の最大 160 チャンネルのヒットパターンが、SLB に入力されます。この A-input, B-input, C-input, D-input が、SLB における Coarse Delay をかけるユニットになります ( 0.5, 1.0, 1.5, 2.0 クロックが選択できます )。

SLB ASIC の役割は受信したヒットパターンをつかって、(1) ローカルコインシデンスを取って High PT モジュールにデータを送ること (Trigger Path) と、(2) 受信した 160 bits の情報を Level1-A をうけるまでバッファにデータを一時的にためておく (Readout Path)、の二つをあげることができます。ここでは (2) の Readout Path に絞って話をしましょう。このバッファは L1 トリガー判定を受信するまでの処理待ちバッファです。 ATLAS の L1 トリガーは、イベントの複雑さ等によらず、同じレイテンシーでトリガー判定を行う、 "Fixed Latency のシステム" です。具体的に、SLB で L1 Buffer にヒット情報をしまったときに、 100 クロックサイクル後に必ず Yes / No のトリガー判定を受信する Fixed Latency の場合を考えましょう。その時の処理待ちバッファーは L1 Accept 信号を受けた時の 100 クロックサイクル前に書き込まれたデータを読み出せばよいことになります。このような処理は、 write address pointer と read address pointer を処理時間だけずらしたリングバッファとして実装することができます。

25.jpg

L1-A の信号をうけたあとには対応するデータの他に前後 +/- 1 バンチづつのデータも読み出し、それぞれ Previous Current Next とタグ付けされて Start Switch Module に送信されます。対応するトリガー出力データも合わせて、 200 bits の情報が送られます。SLB は、 Event Counter (4 bits), BCID Counter (12 bits) の情報をそれぞれのバンチ情報に付け足すため、216 bits が送られます。L1-A を受けたあとに、 3 バンチの情報 (216 x 3) とコントロールワードの情報 (216) の計 216 x 4 bit の情報が、4 本のシリアル化の処理待ちバッファー (de-randomizer, elastic buffer) につめられます。 1 clock サイクル毎に、それぞれのバッファーから 1 bits づつ読み出し、 4 bits / clock がシリアル通信で SSW に送られることになります ( SSW 仕様書 の Figure 11 を参照) ので、 1 event を処理するために、216 クロックサイクルを要します (~ 185 kHz)。L1-A が短時間に来すぎると、derandomizer のバッファーのサイズを超えるデータ量が処理待ちとなり、オーバーフローしたデータは失われれ (SLB Overflow)、 リードアウトロジックのステートと、実際のデータに不一致が起こり、以降のデータはすべて壊れたデータになってしまいます。その際、データフローのロジックをリセットして、綺麗な状況から、改めてデータ収集を始める必要があります。

SLB ASIC Technical Document (2005, March)

Star Switch (SSW)

19.jpg

SLB の出力データは LVDS シリアル通信 で Star Switch モジュールに送られます。 SSW 仕様書 の Figure 11 にあるように、1 つの Cat-6 ケーブルで (最大) 3 つの SLB の読み出しをカバーします。上の絵の "RX" は、 SLB 一個につき、一本のラインが用意してあります。図にあるように、 Star Switch は 10 個の Cat-6 のポートがあり、最初の 7 本の Cat-6 は 2 SLBs をもつ PS Board 用に、最後の 3 本は、3 SLBs をもつ PS Board 用に用いられます。最大で 23 SLBs の出力情報を受信するように設計されています。

RX FPGA は SLB の出力データを受信します。SLB から 3 BC 分のデータを受け取りますが、ここで、どの BC のデータを残すかを取捨選択できます。Previous, Current, Next の 3 BC を読み出すオペレーションも、Current のみを読み出すオペレーションも可能です。 受信されたデータは圧縮され、 RX FPGA 内のバッファーにしまわれます。( RX FPGA において行われる、データ圧縮はゼロサプレスと呼ばれる手法を用いていて行われます。ほとんどの bit が 0 のようなデータ通信において、有効な圧縮手法です。)

後段の TX FPGA は multiplexer として機能し、SSW に入力される全ての RX FPGA の出力 (言い換えると入力されたすべての SLB の出力) をイベント毎にパックします。イベントごとにパックするロジックは以下のようです。 RX の出力待ちバッファーにデータが格納されると、その RX FPGA は TX FPGA にそれを知らせます。 RX FPGA と TX FPGA の間にはデータバスが張られていて、データを受信した RX Line から順番にバスを通じて読み出し、 TX FPGA においてイベント単位に Header と Trailer をつけてデータをパックします。イベントパックの際には、すべての activate されている RX Line にすべてのイベントのデータが欠けなく、順番に並んでいることが仮定されています。この仮定のもと SSW Tx FPGA は Event ID の確認は行わず、 Rx Line からの読み出し待ちメモリが保持する先頭 1 事象分のデータを読み出し、イベントビルディングおこないます。 最後に G-Link 規格 と呼ばれる (古い、今時でない) シリアル通信規格を用いて、光信号に変換されで ROD モジュールに送信されます。 SSW の出力データフォーマットは SSW 仕様書 の Figure 16 にまとめてあります。

18.jpg

もっと知りたい人は SSW 仕様書 をご参照ください。

Readout Driver (ROD)

1 セクターすべての SSW の出力データをあつめ (9 つの SSW があります。マッピングの議論をご参照ください)、ROD-ROB Format に従い、Event Header, Event Trailer をつけて、 ROS に SLINK プロトコル を用いて送信します。ROD firmware はいろいろな読み出しモードを用意していて、現在 default で用いられているのは、"Readout Format" と呼ばれる読み出しモードです。 Readout Format は、RDO にそのまま変換できるような smart な形式に電気回路上で変換をして ROS におくる読み出しモードです。 (おまけ。 日本の人々は、 debug のしやすさ等の観点から、 "Rawdata Format" をおした歴史があります。「ソフトでやれることは、ソフトでやったほうが間違いが少ないし、デバッグもしやすい」。でも開発をしているワイツマンの人々の強い希望により結局今の状況になっているわけです。)

ROD-ROB データフォーマット

トリガー系 ("Trigger Path")

TGC のトリガーは BCID されたヒットのセットを使って、 TGC による運動量の概算手法の解説 で書いたように、複数段のコインシデンス論理により、データサイズを減らしつつ、コインシデンスロジックに用いる層数を増やしていき、最終的に 3 ステーションコインシデンスにより RoI の決定及び、運動量の概算を行います。

08.jpg

SLB におけるトリガーロジック (スタッガリングと Low Pt マトリックス)

SLB の解説 のダイアグラムが示すように、 BCID をされた (40 MHz の LHC クロックでサンプリングされた) ヒットは、 L1 Buffer に詰め込まれる (左側 Readout Path) と同時に、 SLB のトリガーロジックに入力されます (図の右側が Trigger Path)。 SLB の Trigger Logic では以下の演算が行われます。

  • 二層内、三層内のコインシデンス、及び、スタッガリングを用いた分解能の向上
  • "M2", "M3" の間の四層でのコインシデンス

二層内、三層内でのコインシデンスのコンセプトは以下の絵に示されています。eta で見たときに Doublet 内、及び Triplet 内でスタッガリング構造を持つため、コインシデンスによって、データ量を減らすだけでなく、位置分解能を向上させます。

11.jpg

Triplet の Wire SLB のトリガー回路では、三層内でのコインシデンスを行います。具体的な実装は以下のようです。ざっくり言えば、 "2 out of 3" のロジックで "三層の生ヒット情報" をつかって、 "M1 を代表するヒットポイント" を計算します (Data Reduction と Staggering による Resolution の有効活用)。このロジックは、 1 clock サイクル内に十分に終わるように設計されいます。ヒット情報の入力後、次のクロックの立ち上がりに、演算の結果が出力されます。この結果は LVDS シリアル通信 で High PT に送られます。 "Fixed Latency" のロジックを実現するためには、発見されたヒット数によらず、必ず 1 clock で結果を High PT に出力する必要がります。別の言い方をすれば、複数のコインシデンス結果が見つかった場合も、代表するヒットを選び出すロジックが準備されていて 1 clock で送信できる bit 数のうちに収める仕掛けが必要です。 Triplet wire の SLB の場合は、SLB が三つのセクションにわかれていて、それぞれの位置から "smallest R" のヒットが代表するヒット点として選ばれます。このように一つの SLB から (最大) 三つの "M1 を代表するヒットポイント" として、スタッガリングを考慮した三つのヒット位置を 18 bits にエンコードされて、HPT に送られます。

12.jpg

Triplet の Strip SLB のトリガー回路は、 M1 の二層のストリップで 1 out of 2 のロジックで実装されています。

29.jpg

Doublet の SLB は (マッピングの項で詳しく解説しますが)、M2 と M3 の四層を担当します (SLB の A-input, B-input, C-input, D-input は L7, L6, L5, L4 のヒット input に対応しています)。M2, M3 を担当する SLB では、まず M2, M3 の間で二層の間でのコインシデンスを "1 out of 2" で行い、 M2 - M3 の間で、"3 out of 4" のコインシデンスがとられます。以下の "コインシデンスマトリックス" は "M2 を代表するヒットポイント (横軸)" と "M3 を代表するヒットポイント (縦軸) " のコインシデンスを様々な組み合わせで行い、M2 と M3 の間の dR (または dPhi) を計算し、|dR|<=7 (または |dPhi|<=3) のコインシデンス出力が High pT に送られます。この M2, M3 の間のコインシデンスマトリックスを特に "Low pT Matrix" と呼びます。ロジックは 1 clock の内に十分に終わり、次のクロックの立ち上がりではエンコードされたデータが出力されます。Doublet の SLB は M3 スタッガリングを考慮しヒット位置を 5 bit でエンコードして、M2 と M3 の間の差分を dR として 4 bit でエンコードします。

13.jpg

Double の SLB の出力を High pT に送る前に、 "Fixed Latency" のロジックにするために、 M2-M3 で複数のコインシデンス結果があったときに、最大二つのコインシデンス結果を選ぶ必要があります。Triplet の場合と異なり Low pT Matrix の出力には、 dR または dPhi の情報が含まれるため、まずは小さい dR, dPhi のコインシデンス結果を送るよう取り決めます。その上で複数の M3 ポジションが残ったときはいかに示す "de-clustering" とよばれるロジックを用いて代表する M3 ポジションを選択し、 High pT におくります。1 つの Doublet の SLB からは 2 つのポジションと dR が選ばれ 18 bits のデータにエンコードされ、 LVDS シリアル通信 で High PT モジュールに送信されます。

また、この High PT におくられるデータは、 L1 Buffer にも記録されます。 SLB が Trigger Data を出力するのに 1 クロックサイクルを要するため、 Trigger Data は生ヒットの入力から 1 クロックサイクル遅れて、L1 Buffer にしまわれます。そのため、Trigger Data については、 ヒットデータよりも 1 サイクル浅い depth パラメタで読み出すことによって、正しく読み出すことができます。

28.jpg

Muon Endcap Trigger TDR のセクション 12.4.4 もご参照。

High PT ボードにおけるトリガーロジック (High Pt マトリックス)

High PT ボードは SLB の出力を用いて、 Doublet (M2-M3) と Triplet (M1) の間のコインシデンスを取ります。 SLB のトリガー出力情報は以下を含みます。

  • "M1" のヒット点の情報 (R1, Phi1)
  • "M3" のヒット点と、 M2-M3 の間の差分 (R3, dR32), (Phi3, dPhi32)

R 方向のワイヤーコインシデンスと、 Phi 方向のストリップコインシデンスが、別々に実行されます。以下の二つの絵は、 ワイヤーのコインシデンス回路、 Phi のコインシデンス回路を示しています。( Phi 方向のコインシデンスのブロック図がだいぶ見た目が違って見えるのは、M1 のストリップの SLB の出力を、隣の検出器ユニットの間で共有するためです。ちなみに、M2 ストリップも M3 とのコインシデンスをとる前に共有されています ("ワイヤードオアー" と呼ばれる。) )

14.jpg

15.jpg

SLB の時と同様に、コインシデンスマトリックスを用いて計算は実行され、計算は 1 クロックサイクルで完了します。M1 と M3 の間でコインシデンスをとって、|dR13|<=15、|dPhi13|<=7 の条件をクリアした候補 (トラックレットとよばれる) が SL に送られます。コインシデンス結果は、M3 のヒット位置 (R3) と M1-M3 の間の差分 (dR13) を 9 bit にエンコードします。High PT 内の Track Selector は、もっとも小さな dR13, dPhi13 を持つ候補を上から二つ選んで、USA15 の Sector Logic モジュールに G-Link 規格 (古いトランシーバーの規格) を用いて送信されます。

GLINK Bit Assignment

Muon Endcap Trigger TDR のセクション 12.4.5

Sector Logic におけるトリガーロジック (R-Phi コインシデンス)

TGC トリガーの最終段は Sector Logic (SL) ボードで、R (ワイヤー) と Phi (ストリップ) の独立な HPT 出力を統合して、pT 情報を概算し、ROI と pT 情報をパックして、ミューオン CTPi に送信します。HPT の出力には、(R3, dR13) (Phi3, dPhi13) が含まれるため、R3, Phi3 の情報をもとに、ROI が決定され、 dR13 と dPhi13 をもとに、pT 情報が決定されます。(dR13, dPhi13) を PT 閾値に変換する過程は Look up table によって行われます。一つの Trigger Sector から 1 Bunch 2 ROI まで出すことができます。

30.jpg

Sector Logic がミューオン CTPi に送信する情報と、High PT からの受信情報をまとめて、SLB を経由して読み出します。そのために、 SLB チップが Sector Logic Board に乗っています。 SLB の 200 input channels に、 FPGA から この assignment で SLB に情報を入力し、L1-A を受信し、 L1 トリガー判定をパスしたイベントに対してトリガーデータを読み出します。

Muon Endcap Trigger TDR のセクション 12.4.6

電気回路制御系 ("Control Path")

デジタル電子回路の制御は、電子回路に仕込まれた レジスタ の読み / 書きによって行われます。単純には、このレジスタ (メモリ) に '1' を書いてください、という命令によって電気回路の動作を決定する設定を行ったり、このレジスタの今の値を読み出してください、という命令によって今の電気回路の状態のチェック (モニター) をしたりします。

TGC システムでは一般に VME システム を用いてシステムを設計します。 VME の一番左のスロットには、 Single Board Computer (SBC) とよばれるボードがインスールされて、SBC の CPU では Scientific Linux CERN が走っています。 SBC は VME バス のマスタとなります。 SBC で VME バスを操作するコマンドを実行すると、 VME バスのスレーブである、その他のボードのレジスターへの Write / Read アクセスができるようになっています。

さらに、HSC クレートや、PS Board 等、VME クレートに直接ささっていないボードも操作するための仕掛けも必要です。

07.jpg

  1. CCI モジュールは HSC crate, PS Board, TTCrx のマスターとなるモジュールです。 CCI は USA15 に設置された VME クレート (CCI クレート) に設置されていて、 CCI クレートの SBC からコントロールされます。一つの 1/12 セクターにつき一つの CCI モジュールを用います。
  2. CCI モジュールは HSC モジュール (ミニラック) G-Link 規格 を用いて通信します。 HSC モジュールは HSC クレートのバックプレーンの VME バス (A24/D16) のマスターとして機能して、 HSC クレート上の HPT モジュール、SSW モジュールを制御します。
  3. さらに SSW モジュールのレジスタを経由して、PS Board 上の SLB, Patch Panel Asic との通信、を行います。 ビットバンギング を使用して、JRC JTAG, SLB JTAG, TTCrx I2C の信号線を操作します。これを用いて、JRC ASIC, Patch Panel ASIC, SLB ASIC, TTCrx を操作します。
    PS ボードへのアクセスは、まず JRC ASIC で SLB JTAG の Routing をして、その上で、SLB JTAG を操作して、SLB, PP ASIC にアクセスをします。( JRC ASIC は PS Board 上で SSW の "SLB JTAG Register" が、どの JTAG Line (Pps or Slb) をとるかを決めます。
また SL Board は USA15 の VME クレートにあるので直接 SBC で制御をされています。

以下に、それぞれのモジュール, ASIC のレジスタのリストへのリンクを載せました、

オンラインソフトウェア

電気回路へのアクセスは、 Single Board Computer (SBC) にログイン (例えば ssh) して、そこで、VME バスをソフトウェア使って操作することによって行われます。シングルコマンドで操作することもあれば、もっと大きなソフトウェアが内部で関数をコールして、 VME アクセスをすることもあります。このあたりをぜーんぶまとめて一般的な呼称として "オンラインソフトウェア" と呼びます。
ATLAS 実験で共通して使われる VME バスに対するアクセスはライブラリとして提供されていますが、その VME アクセスの "Wrapper" は、それぞれのサブシステムが準備をする必要があります。例えば、Patch Panel ASIC にアクセスをする場合は、以下のような手順をふむ必要があります。

  • VME で CCI にアクセス
  • HSC を CCI から操作
  • SSW の JRC JTAG のレジスタを HSC を介して操作して JTAG Route を決定
  • SSW の SLB JTAG のレジスタ (ネーミングがいまいちですが、多分 PSB JTAG とかがよい名前であろう) を HSC を介して操作して Patch Panel ASIC に最終的にアクセス
この手順は、もちろん、一般の VME ライブラリには含まれず、 TGC 独自のソフトとして製作する必要がありますね ( muondaq/TgcVmeTm/trunk/)。 さらに、TGC の Configuration に必要な手順を考えてみましょう。

  • TTCrx の設定
  • PS Reset
  • Patch Panel, SLB, SSW, HPT, Register を設定
  • Readout Buffer をクリア
  • シリアルリンクが確立していることを確認

正しく運転を開始するためには、順番にやるべきことが結構あって、 sequential なソフトウェアの挙動を規定するもう一個上位の Wrapper 必要だったりします。例えば、 muondaq/TGCFEModule/trunk/muondaq/TgcVmeTm/trunk/ の Wrapper として動作するソフトで、どのタイミング (Configuration 時、Running 時、Shutdown 時 etc) で何をどういう順番でやればいいか、 (リセットをして、この ASIC にアクセスしてパラメタの Configuration をして etc) が取り決められています。

神戸大 松下さんの日本物理学会での発表 (2008) もご参照ください。

オンラインソフトを ATLAS 実験の中で動かす

さらに ATLAS の実験 Run においてどのような系統でコントロールをされているかを解説しましょう。

31.jpg

色々なサブディテクターシステムの VME を制御するためにたくさんの SBC でプロセスが走っています。それぞれは独立なプロセスではなくって、 ATLAS Central な Run コントローラーが、子プロセスとして、生成して、制御しているプロセスになります。

  1. Central Controller から一斉に、「Configuration をはじめなさい」といった命令が送信されます。それに対して、それぞれの SBC におけるプロセスが、 Configuration に対応する関数をコールします。Configuration が終わった時に、それぞれの SBC のプロセスから、「終わったよ」という連絡が Central Controller に帰ってきます。すべての子プロセスから終了の連絡がきた後に、次の命令が Central Controller によって送信されます。Central Controller が Run State をすべての子プロセスを監視して進めることによって、( プロセス間で通信をせずに ) シンプルに、プロセス間で同期をした制御をすることができます。( たとえば TTC 系と、CCI HSC 系は別の SBC の上で走るプロセスになってそれら自身はプロセス間の通信をしていませんが、Central Contoller から一斉に命令が送信されるシステムだと、「このステージで TTC のプロセスは XX をやるし、次のステージで CCI HSC のプロセスは YY をやるし」、といった定義をすることによって、複数のプロセスの間での動作の順番も制御することができます。)
  2. SBC 上のプロセスは VME ライブラリを用いて、電気回路にアクセスします。Write / Read をして、 Reset, Configuration, Data taking, Monitoring etc... を行います。
  3. SBC 上のプロセスは、 OKS とよばれる xml で実装されるデータベースにアクセスができます。Configuration に必要なパラメタを取得します。(Run 3 ではなくなるらしい。)
  4. SBC 上のプロセスは、 Oracle とよばれるデータベースにアクセスをできます。 Configuration に必要なパラメタを取得しますし、Condition Database に SBC 上のプロセスが取得した情報を書き出すことができます。 Configuration に必要なパラメタは、 OKS にあったり、 Oracle にあったりします。(パラメタ数が大きく、また変更頻度が高い時は、Oracle を使った方が、便利。 Noise Channel Mask パラメタを含む FE Parameter は Oracle にセットされています。OKS と Oracle の "住み分け" は、こういう事情と、あとソフト開発の歴史的な都合があったりして、すごくはっきりとした定義があるわけではないです。 ) (Run 3 ではかわるかも?)
  5. SBC 上のプロセスが取得した情報は、その Run に属する Information Service Server (IS Server) に登録することができます。IS 上の情報は、色々なプロセスにモニターをされていて、例えば、 Run Controller の下部のメッセージリストは、 IS を経由して取得したメッセージを表示しています。
  6. あまり一般的ではないですが、子プロセス同士でのプロセス間通信も可能です。( 例えば同じ DAQ State 内にプロセス間で Hand Shaking が必要になるときに用います。 TGC は、これを GLINK の link establishment のチェックのために用います。 複雑になるので、できたら使わない方がよいです。)

TGC エキスパートの立場からは、SBC 上のプロセスに対応するソフトウェアを開発することになります。ATLAS TDAQ のオンラインソフトウェアのフレームワークに則って、 VME、 Oracle、 OKS、 IS 等のライブラリを用いるソフトであることが想像できると思います。

神戸大 松下さんの日本物理学会での発表 (2008) もご参照ください。

CCI-HSC 系のボードアドレスの決め方

まずは CCI ボードのボードアドレスの決め方について。A-Side と C-Side にクレートが一つづつあって、それぞれに 15 枚の CCI が搭載されています。CCI の VME は A32 なので、32 bit address が付けられています。

CCI ID アドレス (A32) 説明
1 0x01000000 BW Sector 01
2 0x02000000 BW Sector 02
3 0x03000000 BW Sector 03
4 0x04000000 BW Sector 04
5 0x05000000 BW Sector 05
6 0x06000000 BW Sector 06
7 0x07000000 BW Sector 07
8 0x08000000 BW Sector 08
9 0x09000000 BW Sector 09
10 0x0a000000 BW Sector 10
11 0x0b000000 BW Sector 11
12 0x0c000000 BW Sector 12
13 0x0d000000 EIFI 上半分
14 0x0e000000 EIFI 下半分
15 0x0f000000 HSC crate at USA15
HSC クレート自身は A24 なので、 SSW, HPT のボードアドレスは原則 24 bit アドレスで定義されています。ただしオンラインソフトウェア上では、便利のために、CCI ボードのボードアドレスの [31:24] と HSC の A24 を単純に足し合わせて、HSC クレートがあたかも A32 で定義されているように扱っています。

まずは SSW から。マッピングの項で詳しく議論をしますが、 8 枚の SSW モジュールが一つの HSC クレートに搭載されます。

SSW ID アドレス (CCI のボードアドレス+ A24) 説明
SSW0 0x0S800000 M1 EC phi0, 1
SSW1 0x0S810000 M1 EC phi2, 3
SSW2 0x0S820000 M1 FW phi0, 2
SSW3 0x0S830000 Doublet EC phi0
SSW4 0x0S840000 Doublet EC phi1
SSW5 0x0S850000 Doublet EC phi2
SSW6 0x0S860000 Doublet EC phi3
SSW7 0x0S870000 Doublet FW
さらに、 SSW からは JTAG を制御し PS Board にアクセスします。オンラインソフトでは、例えば、SSW0 の Cat-6 ケーブルの Port 1 についている PS Board にアクセスするときにはあたかも、A32 で定義されるアドレス "0x0S800001" にアクセスをすると通信できるようソフトが実装してあります。最後の 1 が Cat6 ケーブルの Port 番号に対応しています。

次に HPT ボードの場合です。 HPT ボードも 8 枚あってどうように 32 bit のボードアドレスが以下のように定義されます。

HPT ID アドレス (CCI のボードアドレス + A24) 説明
HPT0 0x0S400000 EW phi0
HPT1 0x0S410000 EW phi1
HPT2 0x0S420000 EW phi2
HPT3 0x0S430000 EW phi3
HPT4 0x0S440000 ES phi0, phi1
HPT5 0x0S450000 ES phi2, phi3
HPT6 0x0S460000 F(W+S) phi0
HPT7 0x0S470000 F(W+S) phi2

Trigger Timing Control 系 (TTC)

06.jpg

Level 1 Buffer 以前の読み出し回路及びトリガー回路は正確に LHC Clock に同期して動くことが求められます。クロック等の LHC 加速器からの信号は、 ATLAS として一箇所で受けて、全検出器に配布するシステムが必要となります。さらに、全 ATLAS 検出器に対して一つの情報源から一様に配布すべき信号としてイベントカウンターリセット信号 (ECR) を上げることができます。ちなみに、これらのカウンターは、番号の絶対値が ATLAS 共通で振られるわけではないことを覚えておきましょう。カウンターをリセットするタイミングが ATLAS 共通で振られて、その後のカウントアップは、それぞれのサブシステムによって行われます。 CTP から供給される同期およびトリガーに関する信号を配布するシステムは Trigger and Timing Control (TTC) システムとよばれます。 TTC システムを用いて、以下の信号がすべての読み出し、トリガーエレクトロニクスに同期のために、以下の信号が配布されます。

LHC clock LHC が配布する 40MHz のクロックを TGC の電気回路系に配ります。
L1A CTP が配布する Level1 Accept 信号。L1A をうけて、 SLB の L1 Buffer からデータが読み出されます。
BCR Bunch Counter Reset. Orbit 信号 (11kHz) をうけて TTCvi で生成されて TGC システムに送信します。フロントエンドエレクトロニクスの Bunch Counter はこの Reset をうけてカウンターをゼロにします。
ECR CTP が配布する ATLAS Event Counter Reset。 フロントエンドの 32 bit L1 Event Counter を Lumi Block の境目でリセットします。
PS Reset Patch Panel ASIC, SLB ASIC のリセット信号。レジスタの値が初期値に再設定されます。PS Reset はタイミングに関連する信号ではないですが、TTC の "User defined" 信号を活用して、 PS Board の Reset 信号をブロードキャストするのに TTC システムが用いられています。 PS Reset は TTCvi のユーザーコマンドによって生成される非同期な信号です。
Test pulse trigger SLB Test pulse, ASD Test pulse はこの信号に同期して生成され、フロントエンドボードに送られます。これも TTC の "User defined" 信号をつかって全 PS Board にブロードキャストされます。 物理データの収集中には使いませんが、テストのための特別な Calibration Run で、 TTC を Test Pulse 用の設定にすることで、 TTCvi 内で、Orbit 信号に同期して、生成されるようになります。
DCS reset (あとで加筆)
 

TGC の TTC 信号の実装の様子を上の図に示してあります。

  1. CTP はすべての ATLAS 検出器のサブシステムに信号を配ります。 CTP は LTP とリンクされていて、クロック、オービット信号、ECR などが配布されます。
  2. クロック信号のみ LTP から TTC ex モジュールに送られ、 TTC vi モジュールに入力されます。この構造は TTC vi と TTC ex の間の通信のために、TTC ex 側でクロックが必要となるためです。
  3. LTP と TTC vi の間は LEMO ケーブルを用いた通信によってリンクされています。リセット信号、オービット信号灯がが TTC vi モジュールに入力されます。
  4. TTC vi と TTC ex の間は 2 本の LEMO ケーブルを用いたシリアル通信によりリンクされます。 TTC vi は CTP から与えられる信号以外に TGC 独自の信号としてテストパルストリガー信号とレジスタリセット信号である PS Reset 信号を出力する機能を持っています。
  5. TTC システムはクロックを含むすべての信号を光ファイバーリンクにより送信します。受信側の TTC rx では送られてきた信号をうけてクロックを再構成し、かつ TTC vi から送られてくる信号を受信します。
  6. TTC の信号はフロントエンド側では Service Patch Panel (SPP) とよばれるモジュール上にある、 TTC rx で受信される。TTC rx で受信されたクロック信号などは同じケーブル長ですべてのモジュールに配布される必要があります。 TTC rx からすべての PS Board Sector Logic モジュールには、ツイストケーブルによる同じ長さの配線が施されています。 PS Board には、 PS Reset 以外のすべての信号がこのラインを使っておくられます。ただし Sector Logic へはこのラインをつかって PS Reset も送ります(代わりに Test Pulse Trigger は SLにはおくられません)。
  7. レジスタリセット信号である PS Reset 信号はデイジーチェーンの形式ですべての PS Board に配布されます。 PS Reset は非同期の遅い信号であるため、すべての電気回路モジュールが正確に同期する必要がないためデイジーチェーンの構造を取っています。
  8. Mini Rack 上の HSC クレートにクロック、PS Reset を送信します。LVDS レベルの信号によるシリアルリンクを用いて通信しています。
  9. HSC クレート中は HSC モジュールが TTC rx から受けた信号を VME バスを用いて配布します。この VME バスは VME 規格の 16 MHz のクロック線と、 LHC の 40 MHz の信号を等長配線で配布できる特殊仕様になっています。
このように TGC システム内に TTC 信号を送ることができます。 TGC システムは両サイド 1 個づつ、 2 個の LTP-TTC システムを用いて、 TTC 信号の配布を行っています。

もっと知りたい人は Timing, Trigger and Control (TTC) Systems for the LHC Web ページ をご参照ください。

エレキのマッピング

1/12 セクターを動かすためにはどのくらいのモジュールが必要?

一つの 1/12 セクターを動かすために必要なエレキをリストしてみましょう。

  • ASD (834)
    • M1 Endcap Wire: 14 x 3 x 4 = 168 (i.e. 14 ASDs / layer x 3 layers x 4 phi)
    • M1 Endcap Strip: 8 x 2 x 4 = 64
    • M1 Forward Wire: 7 x 3 x 2 = 42
    • M1 Forward Strip: 2 x 2 x 2 = 8
    • M2 Endcap Wire: 20 x 2 x 4 = 160
    • M2 Endcap Strip: 10 x 2 x 4 = 80
    • M2 Foward Wire: 8 x 2 x 2 = 32
    • M2 Foward Strip: 2 x 2 x 2 = 8
    • M3 Endcap Wire: 19 x 2 x 4 = 152
    • M3 Endcap Strip: 10 x 2 x 4 = 80
    • M3 Foward Wire: 8 x 2 x 2 = 32
    • M3 Foward Strip: 2 x 2 x 2 = 8

  • Patch Panel ASIC (418)
    • M1 : 142
    • M2 : 140 (Doublet Daugter)
    • M3 : 136 (Doublet Mother)

  • Slave Board ASIC (108)
    • M1 Endcap : 9 x 4 = 36
    • M1 Forward : 5 x 2 = 10
    • Doublet Endcap : 13 x 4 = 52
    • Doublet Foward : 5 x 2 = 10

  • PS Board for SLB and PP Asic (54)
    • M1 Endcap : 4 (EWT0, EWT1, EWT2, EST) x 4 = 16
    • M1 Forward : 2 (FT0, FT1) x 2 = 4
    • Doublet Endcap : 7 (EWD0, EWD1, EWD2, EWD3, EWD4, ESD0, ESD1) x 4 = 28
    • Doublet Forward : 3 (FWD0, FWD1, FSD) x 2 = 6
  • Service Patch Panel (TTCrx) (4)
    • M1 : 2 (1 per "PS Pack ladder")
    • Doublet : 2 (1 per "PS Pack ladder")

  • SSW (8+1)
    • M1 Endcap (phi0, 1), M1 Endcap (phi2, 3)
    • M1 Foward (phi0, 2)
    • Doublet Endcap phi0, phi1, phi2, phi3
    • Doublet Foward (phi0, 2)
    • SL 読み出し用 @ USA15 の HSC crate

  • HPT (8)
    • Endcap Wire phi0, phi1, phi2, phi3
    • Endcap Strip (phi0, phi1), (phi2, phi3)
    • Foward phi0, phi2

  • SL (3)
    • Endcap (phi0, phi1), (phi2, phi3)
    • Forward (phi0, phi2)

  • CCI (1)

1/12 セクターを動かすためにはどのくらいのリンクが必要?

また、それぞれの間のリンクの本数も数え上げておきましょう。

  • ASD - Patch Panel のメガネケーブル (418)
    - Patch Panel ASIC と同数 - ASD のだいたい半分 (FW6 L3 の例外があるため) )
  • PS Pack - SSW LVDS Cat-6 (54)
    - PS Board の数と同数
    • M1 Endcap : 4 x 4 = 16
    • M1 Forward : 2 x 2 = 4
    • Doublet Endcap : 7 x 4 = 28
    • Doublet Forward : 3 x 2 = 6
  • SSW - ROD の GLINK fiber (8 - 1 fiber / SSW)

  • PS Pack - HPT LVDS Cat-6 (68)
    - 一本の Cat-6 で 40 bits / clock をおくれる。必要な Trigger bit 数でケーブル数がきまり二つの Cat-6 の出力をもつ PS Board もある (ESD1, EST, EWT0)
    - Forward で Wire も Strip もカバーをしていた PS Board は別々の Cat-6 の出力がある (FT1)
    • M1 Endcap Wire : 4 x 4 = 16
    • M1 Endcap Strip : 2 x 4 = 8
    • M1 Forward Wire : 2 x 2 = 4
    • M1 Forward Strip : 1 x 2 = 2
    • Doublet Endcap Wire : 5 x 4 = 20
    • Doublet Endcap Strip : 3 x 4 = 12
    • Doublet Forward Wire : 2 x 2 = 4
    • Doublet Forward Strip : 1 x 2 = 2

  • HPT - SL の GLINK fiber (30, 1 fiber / HPT ASIC)
    • Endcap Wire : 4 x 4
    • Endcap Strip : 2 x 4
    • Foward Wire : 2 x 2
    • Foward Strip : 1 x 2

マッピングの表

これらのモジュールとリンクについて、マッピングの表へのリンクを以下にまとめました。

また、 ASD - Patch Panel (Port-A, Port-B) - SLB (A-input, B-input, C-input, D-input) のチャンネル接続の詳細が、 PS Board Tables (ver 20120929) とよばれるテーブルにまとまっています。

各論

  • Burst Stopper Module (NPM : NIM signal Process Module) PDF (2016.03.09)
  • Tile-Muon Trigger PDF (2016.03.09)
  • トリガーのセントラルでやっていること (BUSY handling, Simple dead time, Complex dead time) のまとめをそのうち書く
Topic attachments
I Attachment History Action Size Date Who Comment
JPEGjpg 02.jpg r4 r3 r2 r1 manage 61.0 K 2016-03-14 - 23:52 YasuyukiOkumura Power distribution and control
JPEGjpg 03.jpg r1 manage 32.0 K 2016-02-19 - 13:22 YasuyukiOkumura Triplet and Doublet - 7 layers of TGCs
JPEGjpg 04.jpg r1 manage 52.8 K 2016-02-19 - 13:22 YasuyukiOkumura TGC Coincidence - how to measure the pT with 7 layers
JPEGjpg 05.jpg r1 manage 64.6 K 2016-02-19 - 13:21 YasuyukiOkumura TGC fontoend electronics overview
JPEGjpg 06.jpg r1 manage 42.3 K 2016-02-19 - 13:23 YasuyukiOkumura TTC system
JPEGjpg 07.jpg r2 r1 manage 56.2 K 2016-02-21 - 12:58 YasuyukiOkumura CCI - HSC control path
JPEGjpg 08.jpg r1 manage 42.0 K 2016-02-19 - 13:25 YasuyukiOkumura Doublet - Triplet
JPEGjpg 09.jpg r1 manage 32.2 K 2016-02-19 - 13:26 YasuyukiOkumura ASD photo and diagram
JPEGjpg 10.jpg r2 r1 manage 41.0 K 2016-02-20 - 18:16 YasuyukiOkumura Patch Panel ASIC
JPEGjpg 11.jpg r1 manage 44.8 K 2016-02-19 - 13:28 YasuyukiOkumura staggering of channels
JPEGjpg 12.jpg r1 manage 45.3 K 2016-02-19 - 13:28 YasuyukiOkumura Triplet SLB Logic
JPEGjpg 13.jpg r2 r1 manage 67.7 K 2016-02-21 - 10:34 YasuyukiOkumura Doublet SLB logic
JPEGjpg 14.jpg r2 r1 manage 36.1 K 2016-02-21 - 11:30 YasuyukiOkumura Wire HPT Logic
JPEGjpg 15.jpg r2 r1 manage 26.7 K 2016-02-21 - 11:31 YasuyukiOkumura Strip HPT logic
JPEGjpg 16.jpg r1 manage 36.1 K 2016-02-19 - 13:32 YasuyukiOkumura Readout path of TGC
JPEGjpg 17.jpg r2 r1 manage 51.4 K 2016-02-20 - 23:33 YasuyukiOkumura SLB Logic
JPEGjpg 18.jpg r1 manage 40.5 K 2016-02-19 - 13:35 YasuyukiOkumura zero suppression at SSW
JPEGjpg 19.jpg r1 manage 48.5 K 2016-02-19 - 13:35 YasuyukiOkumura SSW board block diagram
JPEGjpg 2.jpg r2 r1 manage 54.6 K 2016-02-19 - 11:29 YasuyukiOkumura Power distribution and control
JPEGjpg 20.jpg r1 manage 75.1 K 2016-02-19 - 13:36 YasuyukiOkumura TGC system gas
Keykey 20160309.Tile.key r1 manage 15332.2 K 2016-03-09 - 15:03 MasayaIshino  
PDFpdf 20160309.Tile.pdf r1 manage 11791.6 K 2016-03-09 - 15:03 MasayaIshino  
Keykey 20160309.burst.key r1 manage 43627.3 K 2016-03-09 - 15:07 MasayaIshino  
PDFpdf 20160309.burst.pdf r1 manage 17727.1 K 2016-03-09 - 15:07 MasayaIshino  
JPEGjpg 21.jpg r1 manage 27.8 K 2016-02-19 - 13:36 YasuyukiOkumura TGC chamber naming
JPEGjpg 22.jpg r1 manage 52.7 K 2016-02-19 - 13:37 YasuyukiOkumura TGC triplet and double
JPEGjpg 23.jpg r1 manage 38.5 K 2016-02-19 - 13:37 YasuyukiOkumura TGC wire and strip
JPEGjpg 24.jpg r1 manage 43.6 K 2016-02-19 - 13:38 YasuyukiOkumura TGC readout buffers
JPEGjpg 25.jpg r1 manage 27.7 K 2016-02-20 - 23:25 YasuyukiOkumura L1 buffer
JPEGjpg 26.jpg r2 r1 manage 41.9 K 2016-02-20 - 22:35 YasuyukiOkumura BCID gate circuit
JPEGjpg 27.jpg r2 r1 manage 30.7 K 2016-02-21 - 07:27 YasuyukiOkumura timing adjustment
JPEGjpg 28.jpg r1 manage 18.9 K 2016-02-21 - 11:01 YasuyukiOkumura declustering rule
JPEGjpg 29.jpg r1 manage 39.9 K 2016-02-21 - 11:01 YasuyukiOkumura SLB Triplet Strip logic
JPEGjpg 30.jpg r1 manage 32.2 K 2016-02-21 - 12:01 YasuyukiOkumura Coincidence window SL
JPEGjpg 31.jpg r1 manage 46.1 K 2016-02-21 - 15:35 YasuyukiOkumura Online Software (Run Controller)
JPEGjpg 32.jpg r2 r1 manage 38.3 K 2016-03-07 - 14:14 YasuyukiOkumura Signal Delay Concept
JPEGjpg 33.jpg r3 r2 r1 manage 26.1 K 2016-03-15 - 09:12 YasuyukiOkumura TGC Trigger sector and ROI numbering
JPEGjpg 34.jpg r1 manage 66.2 K 2016-03-07 - 15:00 YasuyukiOkumura Sector numbering
Texttxt EIFI_DelayBCIDGate.txt r1 manage 3.1 K 2016-02-21 - 09:43 YasuyukiOkumura EIFI Timing discussion summary 2012 spring - early summary by Yu Suzuki
PDFpdf agiltron-incorporated-hdmp-1034a_d20c0a9f50.pdf r1 manage 385.3 K 2016-02-21 - 00:44 YasuyukiOkumura HDMP-1032A Datasheet
PDFpdf sn65lv1023-442954.pdf r1 manage 204.5 K 2016-02-21 - 11:37 YasuyukiOkumura SN65LV1023DB datasheet
PDFpdf yasuyuki.okumura.20170411.00.pdf r1 manage 30318.8 K 2017-04-11 - 05:27 YasuyukiOkumura  
Edit | Attach | Watch | Print version | History: r37 < r36 < r35 < r34 < r33 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r37 - 2019-04-25 - YasuyukiOkumura
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback