修士学位論文
ATLAS 実験液体アルゴンカロリメータのデジタル信号処理におけるエネルギー再構成アルゴリズムの研究開発

東京大学大学院
理学系研究科 物理学専攻
田中研究室
久島 真悟
2015 年 1 月 5 日

2概要
本論文では CERN の ATLAS 実験で用いられる液体アルゴンカロリメータの読み出し系に焦点をあてる。2018 年
夏から 2019 年にかけて ATLAS で予定されている Phase-I アップグレードにおいて、液体アルゴンカロリメータの信号読み出し方法は現在の Trigger Tower よりもよりセグメントの細かい Super Cell へ変更することにより、単一粒子事象とジェット事象の区別などの点で高性能化が図られる。その一方で、大量の情報量をハードウェアレベルで処理する必要性や、高ルミノシティ化によるパイルアップの増加の影響もあり、Super Cell とともに新たな読み出し
エレクトロニクスの開発も求められている。Phase-I アップグレードで導入される新エレクトロニクスには FPGA が搭載され、カロリメータから読み出した信号をもとにハードウェアレベルでエネルギー値を再構成するフィルタリン
グアルゴリズムが実装される。
本研究では、Phase-I アップグレードで導入される新エレクトロニクスの FPGA に実装するフィルタリングアルゴ
リズムの検証環境の構築とそれを用いたフィルタリングアルゴリズムの開発および性能評価を行った。新たなフィル
タリングアルゴリズムは、エネルギー分解能の向上と、現行のフィルタがもつパイルアップや小さな信号の入射を検出できない問題を解決することを目標として行われた。今回開発を行ったフィルタと他の候補のフィルタのそれぞれにおいて、実際にカロリメータの読み出し系で使用可能であるか確認し、また各フィルタの長所と短所を洗い出すために、ソフトウェアとハードウェアの両側面から検証を行った。
ソフトウェアにおける検証の結果、開発したフィルタは離散値化された入射信号シークエンスで良い性能を示し、重心系エネルギー√s = 14 TeV, 1 回のバンチ交差あたりの平均相互作用数 ⟨µ⟩ = 100 の状況で現行のフィルタと比較して、目的事象に対するエネルギー分解能を 80% に抑え、パイルアップ事象に対する検出効率を 30% 以上改善した。ただし、開発したフィルタは熱ノイズの影響を受けて性能が劣化し、目的事象に対するエネルギー分解能が 2.3倍にまで増大する欠点が確認された。一方で、現行のフィルタは熱ノイズに強く、開発したフィルタと比較して、目的事象に対するエネルギー分解能を 63% に抑えた。
ハードウェアにおける検証の結果、各フィルタにおいてレイテンシ 125 ns の制約を満たして実装に成功し、また320 セル分の回路規模も使用可能なリソースと比較して、ALM では 24% 以下に、レジスタでは 13.3% 以下に、DSP
では 50% 以下に抑え、実用可能であることを示した。さらに、今回開発したフィルタは現行のフィルタに比べて回路規模を、ALM では 81.8%、レジスタでは 74.4% まで抑えることに成功した。ただし、DSP に関しては消費量が現行のフィルタの約 2 倍になった。

3

目次

第1章

序論

7

1.1

トリガーアップグレードと Super Cell の導入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

1.2

フィルタリングアルゴリズムに対する要求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

1.3

本研究の目的および本論文の構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

LHC と ATLAS 検出器

13

第2章

2.1

LHC の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2

ATLAS 検出器の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3

2.4

第3章

3.1

3.2

3.3

3.4

2.2.1

検出器の全体像 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2.2

内部飛跡検出器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

2.2.3

カロリメータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

2.2.4

ミューオンスペクトロメータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.2.5

マグネット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

2.2.6

トリガーシステム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

14

LHC のアップグレード計画 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.1

Long Shutdown 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.3.2

Long Shutdown 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.3.3

Long Shutdown 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

ATLAS のアップグレード計画 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.1

Phase-0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.4.2

Phase-I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.4.3

Phase-II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

液体アルゴンカロリメータ

27

検出器の構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

3.1.1

カロリメータの原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

3.1.2

ATLAS 液体アルゴンカロリメータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

読み出し系 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

3.2.1

フロントエンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

3.2.2

バックエンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

3.2.3

Level-1 カロリメータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

液体アルゴンカロリメータのアップグレード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

3.3.1

Phase-0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.3.2

Phase-I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.3.3

Phase-II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

フィルタリングアルゴリズムの実装環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.4.1

40

AMC と処理するデータ量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

目次

4
3.4.2
第4章

レイテンシの要求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

フィルタリングアルゴリズム

45

4.1

フィルタリングアルゴリズムの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

4.2

現行のフィルタリングアルゴリズム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

4.3

4.4

第5章

5.1

5.2

第6章

6.1

4.2.1

Optimal filter の原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.2.2

Optimal filter の選択条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

他のフィルタリングアルゴリズム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49

4.3.1

Wiener filter の原理

4.3.2

Wiener filter の選択条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

新たなフィルタリングアルゴリズムの開発 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

4.4.1

Multi-pulse filter の原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.4.2

Multi-pulse filter の選択条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

ソフトウェアレベルでの性能評価

53

S-Frame を用いたシミュレーションによる検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1.1

S-Frame の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.1.2

目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

5.1.3

セットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

5.1.4

係数キャリブレーション

5.1.5

各検証項目と結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.1.6

まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
57

AREUS を用いたシミュレーションによる検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.2.1

AREUS の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

5.2.2

目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

5.2.3

セットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

5.2.4

各検証項目と結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

5.2.5

まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

ハードウェアレベルでの性能評価

127

Arria V GX への実装による検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.1.1

目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

6.1.2

セットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

6.1.3

各検証項目と結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

6.1.4

まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

第7章

まとめと考察143

付録 A

各フィルタのパラメータと出力波形

147

A.1

Optimal filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
A.1.1 “FilterDepth” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
A.1.2 “PileupCorrValid” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

A.2

Wiener filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
A.2.1 “PeakPosition” および “PeakOption” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
A.2.2 “FilterDepth” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

A.3

Multi-pulse filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
A.3.1 “FilterDepth” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

5
A.3.2 “FIRLatency” および “G0 0Element” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
付録 B

B.1

ハードウェアレベルでの性能評価（付録）

167

Virtex-7 への実装による検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
B.1.1 目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
B.1.2 セットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
B.1.3 各検証項目と結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
B.1.4 まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

参考文献

181

7

第1章

序論
はじめに、本研究の背景と動機、目的を述べる。より詳しい実験内容・検出器の構造・アルゴリズムの論理等は、次章以降に記載し、本章では概要だけを簡単に説明する。

1.1 トリガーアップグレードと Super Cell の導入
ATLAS 実験では、陽子陽子衝突型加速器 LHC を利用して、Higgs 粒子の精密測定や電弱対称性の破れのメカニ
ズムの解明、超対称性粒子や余剰次元の探索などを行っている。より高いエネルギー領域まで探索の幅を広げ、より積分ルミノシティを稼ぐために、ビームエネルギーとルミノシティの増強は必須である。LHC は 2012 年まで
は重心系エネルギー 8 TeV、瞬間ルミノシティ 0.77 × 1034 cm−2 s−1 で稼動していたが、2025 年以降の HL-LHC（High-Luminosity LHC）と呼ばれる重心系エネルギー 14 TeV、瞬間ルミノシティ 5 × 1034 cm−2 s−1 での稼動を目指し、段階的なアップグレードが予定されている。ATLAS 実験で用いる各検出器も、加速器改良のために稼動停止
する期間に合わせてアップグレードを予定している。ATLAS では 2018 年夏から Phase-I と呼ばれるアップグレー
ド期間を設けており、2020 年からの再稼動のみならず、HL-LHC まで見越した検出器および読み出し系の開発・改良・導入を行う。

LHC では陽子のバンチが 40 MHz で交差する。重心系エネルギーが 14 TeV で、ルミノシティがデザイン値である 1034 cm−2 s−1 のとき、LHC における陽子同士の非弾性散乱断面積は約 80 mb であり、1 回のバンチ交差あたり20 個程度の陽子が反応するため、衝突事象の起こる頻度は約 1 GHz である。LHC は QCD による低エネルギーのパイルアップ事象が多く、その中から真に見たい情報だけを残すために、ATLAS 検出器は 3 段階のトリガーシステムを備えている。このうち初段の Level-1（L1）トリガーと呼ばれる部分では、横方向運動量等に閾値をかけてトリ
ガーレートを 100 kHz 程度まで落とす。今後、LHC のビームエネルギーとルミノシティを強化していくと、1 回の交差あたりの衝突事象が増加し、閾値を超えてトリガーシステムに送られてくるデータが増大することが見込まれる。

Phase-I アップグレードの目的のひとつは、そのような状況下でもトリガーレートを維持し、かつ取得する事象の横方向運動量等の閾値を上げないことである。そのためには、現状の検出器の読み出し系およびトリガーシステムに加えて、新たな読み出しエレクトロニクスの開発が必須になる。
ここで、パイルアップには in-time のパイルアップと out-of-time のパイルアップの 2 種類があることに注意する。
前者は同じバンチ交差で生じる、別の陽子衝突由来の低エネルギー粒子をさす。後者は異なるバンチ交差、つまり時間的にずれたタイミングで生じた陽子衝突由来の低エネルギー粒子をさす。本節では主に、in-time のパイルアップ
増加によるトリガーレート上昇を抑えるための工夫について述べる。
本論文では、ATLAS 検出器の中で電子や光子のエネルギー測定およびジェットの再構成に重要な役割を果たす液体アルゴンカロリメータに焦点を当てる。液体アルゴンカロリメータにおける Phase-I アップグレードの目的は、L1トリガーに対し、より細かいセグメントで、より良いエネルギー分解能を持ち、動径方向のシャワー情報を含んだ信号を送信する読み出しを実現することである。Super Cell と呼ばれるこの読み出しセグメント構造は、図 1.1 に示すよ
うに、現在のカロリメータの読み出しセグメント構造である Trigger Tower と比較して、読み出しチャンネル数が 10倍になる。ATLAS の液体アルゴンカロリメータは粒子が通過する縦方向に 4 層のレイヤーを持っているが、Trigger

Tower では入射粒子が ∆η × ∆ϕ = 0.1 × 0.1 の領域にわたって落としたエネルギーを縦方向のレイヤーすべてで足し

第1章

8

(a) Trigger Towers

序論(b) Super Cells

図 1.1 それぞれの読み出しセグメント構造の比較 [1]。
η 方向のセグメントや奥行き方向のセグメントが細かくなり、シャワーやジェットの形状を判別することができる
ようになる。この図では ET = 70 GeV の電子が入射したことを想定している。

合わせている。それに対し、Super Cell は各レイヤーの情報を個別に読み出し、さらに 2 番目（Layer 1）と 3 番目
（Layer 2）のレイヤーはよりセグメントの細かい ∆η × ∆ϕ = 0.025 × 0.1 を 1 つのセルの単位として読み出す。

図 1.2

ジェットをカットするための変数 Rη の概念図 [2]。

図 1.1 (b) の Layer 2 を η-ϕ 平面で見たもので、各 Super Cell の色の濃さはエネルギーの高さに対応する。もっともエネルギーの落とされた赤い Super Cell を中心のセルと定義し、中心の Super Cell に ϕ 方向で隣り合う 2
つの Super Cell のうち、エネルギーの大きいセルを含むように ϕ 方向の範囲を決める。

この結果、L1 トリガーにおいて電子とジェットを解析的に区別するための新たな変数を導入することができる。その 1 つが Rη と呼ばれる変数である。この変数の概念図を図 1.2 に示す。現行の L1 トリガーでは電子とジェットを区別するアルゴリズムのために、図中の赤い枠で示すように Layer 2 の ∆η × ∆ϕ = 0.2 × 0.2 の範囲（Trigger Tower

2 × 2 個）を用いている。Phase-I アップグレード後は Super Cell の導入によって、Layer 2 では太い黒線に加えて細い黒線も含めたより細かなセグメントでの読み出しが可能になる。そこで、もっともエネルギーの大きい Super Cellを中心にして、∆η × ∆ϕ = 0.075 × 0.2 の範囲（Super Cell 3 × 2 個）と ∆η × ∆ϕ = 0.175 × 0.2 の範囲（Super

Cell 7 × 2 個）を定義し、
(2)

Rη =

ET,∆η×∆ϕ=0.075×0.2
(2)

(1.1)

ET,∆η×∆ϕ=0.175×0.2のように各範囲に落としたエネルギーの比を Rη とする。指数部の括弧内の数値はレイヤーのタグで、この式における 2 は Layer 2 を意味している。
この Rη を横軸にとったときの Z → e+ e− 事象とジェット事象の分布のシミュレーション結果を図 1.3 (a) に示

1.1 トリガーアップグレードと Super Cell の導入
す。ここでは、重心系エネルギーを

9√
s = 14 TeV、パイルアップ事象数に相当する変数である各バンチ交差時の平均相互作用数を ⟨µ⟩ = 80 としている。赤い線であらわされたジェット事象が Rη の広い範囲にわたって分布しているのに対し、黒い線であらわされた Z → e+ e− 事象は Rη が 1 に近いところに大部分が存在し、ピークを作っていることがわかる。したがって、Rη が 0.9 付近のところでカットをかけると、電子事象を多く残したままジェット事象を効率よく落とすことができる。

(a) Rη

(c) f3(b) wη,2√

図 1.3 シミュレーション（ s = 14 TeV, ⟨µ⟩ = 80）による Z 由来の電子とジェットの分布 [1]。

Rη の他に、Super Cell の細かいセグメントを生かして、次の変数が定義される。
v (
)
)
∑ (
2
u∑
(2)
(2)
u
ET × µ2
ET × µu∆η×∆ϕ=0.075×0.2∆η×∆ϕ=0.075×0.2 wη,2 = u
−

t
(2)
(2)
ET,∆η×∆ϕ=0.075×0.2
ET,∆η×∆ϕ=0.075×0.2

(1.2)

(3)

f3 =

ET,∆η×∆ϕ=0.2×0.2
(1)

(2)

(3)

(1.3)

ET,∆η×∆ϕ=0.075×0.2 + ET,∆η×∆ϕ=0.075×0.2 + ET,∆η×∆ϕ=0.2×0.2

wη,2 は ∆η × ∆ϕ = 0.075 × 0.2 の範囲（Super Cell 3 × 2 個）における Layer 2 でのシャワーの広がりを示すパラメータである。f3 は縦方向で各レイヤーに落としたエネルギーのうち、最後尾に位置する Layer 3 に落としたエネル
ギーの比重を示すパラメータである。wη,2 と f3 を横軸にとったときの Z → e+ e− 事象とジェット事象の分布のシ
ミュレーション結果をそれぞれ図 1.3 (b) と 1.3 (c) に示す。Rη , wη,2 および f3 のパラメータを最適な組み合わせで使用することによって、電子事象とジェット事象を効率よく識別することが可能である。
図 1.4 に、これらの変数を利用してトリガーレートがどのように改善されるかを示した。ここで、各パラメータによって課す制限は Rη ≥ 0.93, wη,2 ≤ 0.0146, f3 ≤ 0.02 であり、電子事象の識別効率が 95% を下回らないように設定されている。現行の L1 トリガーにおけるカットアルゴリズムをそのまま使用した青い丸と比較すると、新たなパラメータを用いた場合、同じトリガーレートでもより低いエネルギーの事象まで得られることがわかる。例えば、トリガーレートを 20 kHz まで抑えるためには、現行のカットアルゴリズムをそのまま使うと候補の事象に対してET ≥ 31 GeV 程度の閾値を設けなければいけない。一方、新たなパラメータを用いると、閾値を ET ≥ 24 GeV 程度まで下げることが可能で、候補事象をより効率よく検出できる。
以上のように、Super Cell の導入とそれに伴う L1 トリガーにおける新たなパラメータにより、in-time のパイル
アップ事象が増大しても、トリガーレートを上げずにエネルギー閾値を維持することが可能になる。しかし同時に以下の問題も生じる。

• Super Cell によってセグメントが細かくなることにより、L1 トリガーへと送らなければいけない信号の数が飛躍的に増大する。

• L1 トリガーにおいて、in-time のパイルアップとして生じるジェットに対して電子および光子を区別するためには、より正確なエネルギー情報を L1 トリガーへ送る必要がある。
したがって、Phase-I アップグレードにおいて液体アルゴンカロリメータの読み出し系には、L1 トリガーの前段に新

第1章

10

図 1.4

序論

横方向エネルギー閾値に対する L1 トリガーレート [1]。

横軸はカロリメータの複数のセルに落とされた横方向エネルギー値から電子および光子を 1 つのオブジェクトとして再構成した横方向エネルギーに対する閾値。青い丸は現行の L1 トリガーにおけるカットを Phase-I アップ
グレード後もそのまま使用した場合を示している。

たなエレクトロニクスを挿入する予定である。新エレクトロニクスに設置された FPGA 上でフィルタリングアルゴ
リズムによるエネルギー再構成計算を行うことになっている。

1.2 フィルタリングアルゴリズムに対する要求
L1 トリガーの前段で、カロリメータから送られてくる信号をもとにフィルタリングアルゴリズムによるエネルギー
再構成の計算が行われる。カロリメータから送られてくる信号は、カロリメータのセル内における電子のドリフト時間程度（約 450 ns）の長さをもっている。衝突事象は 25 ns おきにバンチが交差するたびに生じるので、カロリメー
タから送られてくる信号は out-of-time のパイルアップにより歪められてしまう。このように劣化した信号からも精度の高いエネルギー値を計算できるフィルタリングアルゴリズムが求められる。また、Phase-I アップグレードにおいて導入される新エレクトロニクスは、HL-LHC でも引き続き使用される。つまり、Phase-I アップグレード時に実装するフィルタリングアルゴリズムも、HL-LHC のパイルアップ環境を想定していなければならない。

(a) Run 1 における実データ [3]図 1.5(b) HL-LHC におけるシミュレーション [1]

Run 1 と HL-LHC における全ノイズの和の比較。

全ノイズの和はパイルアップや熱ノイズを含むが、HL-LHC ではパイルアップによる寄与が非常に大きくなる。

1.3 本研究の目的および本論文の構成

11

図 1.5 に、Run 1 の液体アルゴンカロリメータ読み出し系における全ノイズの和の実データと、HL-LHC における全ノイズの和のシミュレーションを示す。この全ノイズの和には、パイルアップによるノイズや、回路上で発生する熱ノイズなどが含まれる。2011 年の実データは、陽子ビームのバンチ間隔が 50 ns、⟨µ⟩ = 14 の環境で得られた。

LHC は 2015 年から行われる物理ラン（Run 2）以降、当初のデザイン通りにバンチ間隔が 25 ns で稼動する。瞬間
ルミノシティも徐々に増強され、予想される各バンチ交差時の平均相互作用数は Phase-I アップグレード後の物理ラン（Run 3）において ⟨µ⟩ = 60 程度、HL-LHC においては ⟨µ⟩ = 140 にまで達し、全ノイズの和の上昇を引き起こす。例えば、図中の EM2 は電磁カロリメータの Layer 2 をあらわしているが、|η| が 0 付近のところに注目すると、Run 1 では全ノイズの和が 30 MeV 程度だが、HL-LHC では 100 MeV 程度にまで増大することが示唆されている。
このように HL-LHC 環境では全ノイズの和が増加し、特にパイルアップによる寄与が非常に大きくなる。したがって、Phase-I で実装されるフィルタリングアルゴリズムは特徴として、パイルアップによる影響を抑え、さらにパイ
ルアップ事象に対しても目的事象同様、カロリメータで落としたエネルギー値を再構成できることが理想である。現行のフィルタリングアルゴリズムである Optimal filter は、パイルアップをノイズと考え、それを含めた全ノイズの影響を最小に抑える工夫がなされている。これは逆に、パイルアップや小さな信号事象そのものを再構成することには不得手であることを示している。したがって、HL-LHC 状況下においても、目的事象のエネルギー値を精度良く再構成し、さらにパイルアップ事象も検出可能なフィルタリングアルゴリズムの開発が求められている。

1.3 本研究の目的および本論文の構成
本研究の目的は、Super Cell の恩恵を最大限活かし、L1 トリガーに対して高分解能のエネルギー情報を送ることができるフィルタリングアルゴリズムを開発および評価することである。その際、前述したようなパイルアップ耐性
や、カロリメータの読み出し系において要請される計算時間の制限および回路規模の最適化といった諸々の要求を満たした上で、性能を発揮する必要がある。本研究ではまず、各フィルタリングアルゴリズムの性能評価を行うフレームワーク作りを行った。さらに、実装候補とされているフィルタリングアルゴリズムおよび今回開発を行ったフィル
タリングアルゴリズムを、ソフトウェアレベル・ハードウェアレベルそれぞれでコーディングし、性能評価を行った。
本論文では、まず第 2 章と第 3 章で ATLAS 実験や液体アルゴンカロリメータについて述べる。次に、第 4 章でフィルタリングアルゴリズムの概要について述べ、今回開発したフィルタおよび他に研究されているフィルタを説明する。第 5 章と第 6 章で、私が行った各フィルタの性能評価の結果を提示する。第 7 章で結果をまとめ、考察を行う。

13

第2章

LHC と ATLAS 検出器
本章では、ATLAS 実験で用いる加速器と検出器について概観する。液体アルゴンカロリメータおよびその読み出し系に関しては次章で詳述する。

2.1 LHC の概要
まず、ATLAS 実験で用いる加速器 LHC（Large Hadron Collider）の概要を述べる。

LHC は CERN（Conseil Européen pour la Recherche Nucléaire: 欧州原子核研究機構）が誇る世界最大のシンクロトロンである。図 2.1 に示すように、スイスとフランスの国境沿いに設置され、周長は約 26.7 km に達する。

図 2.1 LHC の概観図 [4]。
スイス・ジュネーヴ郊外の地下約 100 m に位置する。

LHC は陽子陽子衝突型加速器で、陽子ビームは 1.7 × 1011 個ずつバンチ化され、バンチ間隔は 24.95 ns である。
LHC 設計時に想定された性能 [5] は、陽子ビームエネルギーが 7 TeV、瞬間ルミノシティが 1034 cm−2 s−1 となっている。実際に 2012 年まで稼動した際の LHC の最終的なパラメータは、陽子ビームエネルギーが 4 TeV、瞬間ルミ
ノシティが 0.77 × 1034 cm−2 s−1 となっており、2015 年の再稼動後に設計時の性能を目指していく。また、さらに性

第2章

14

LHC と ATLAS 検出器

能をあげていくためのアップグレードも予定されている。
陽子ビームは LHC に入れられる前に、複数の加速器を用いて段階的にエネルギーが上げられる。図 2.2 にその概略図を示す。まず、陽子イオン源から出た陽子イオンは Linac2 と呼ばれる線形加速器で 50 MeV まで加速される。
次に、PS Booster（Proton Synchrotron Booster）と呼ばれるシンクロトロンで 1.4 GeV までエネルギーを引き上げる。さらに、PS（Proton Synchrotron）と SPS（Super Proton Synchrotron）の各シンクロトロンでそれぞれ

25 GeV、450 GeV まで加速された後、LHC へ入射される。

図 2.2

LHC と関連する各加速器 [4]。

ビームのエネルギーは段階的に上げられる。

2.2 ATLAS 検出器の概要
ATLAS 実験で用いる ATLAS 検出器の概要を述べる。

2.2.1 検出器の全体像
ATLAS 検出器は図 2.3 に示されているように、直径約 25 m、長さ約 44 m の円筒形をした大型汎用検出器である。大まかに分けて 4 つの検出器から構成されており、内側から順に、内部飛跡検出器、電磁カロリメータ、ハドロ
ンカロリメータ、ミューオン検出器が設置されている。マグネットとして、内部飛跡検出器と電磁カロリメータの間に配置されたソレノイド磁石の他に、ミューオン検出器を取り囲むようにしてトロイド磁石が使用されているのが特徴で、ATLAS（A Toroidal LHC ApparatuS）の名の由来にもなっている。

ATLAS 実験で使われる座標系について簡単に説明する。ビーム軸と同じ方向を z 軸、横方向平面を x-y 平面とする直交座標を考える。ここで、各軸は衝突点を原点とし、x 軸はリングの中心方向を正、y 軸は鉛直上向きを正とする

2.2 ATLAS 検出器の概要

15

図 2.3 ATLAS 検出器の全体像 [4]。
内側から、内部飛跡検出器、電磁カロリメータ、ハドロンカロリメータ、ミューオン検出器の順に設置されている。

軸である。z 軸が正の領域をサイド A、z 軸が 0 の x-y 平面をサイド B、z 軸が負の領域をサイド C と呼ぶ。このとき x-y 平面上で x 軸から左回りの方向を正とする方位角 ϕ を設定する。また、ビーム軸からの天頂角を θ する。このθ を使ってあらわされる擬ラピディティ η = −ln (tan (θ/2)) を用いることがよくある。η はサイド B では 0、ビーム軸に近づくにつれて絶対値が無限大へと漸近していくパラメータである。距離∆R は擬ラピディティと方位角を用い√て、∆R =

22(∆η) + (∆ϕ) と定義される。

ATLAS 検出器は擬ラピディティを用いて大きく 2 つの領域に分けることができ、|η| < 1.3 の部分をバレル部、|η| > 1.3 の部分をエンドキャップ部と呼ぶ。エンドキャップ部のうち、|η| > 3.2 の部分をフォワード部として分ける場合もある。
表 2.1 は ATLAS 検出器が各検出器に要求する性能を示している。2.2.2 節以降で、それぞれの検出器について説明していく。
表 2.1 ATLAS 検出器が要求する性能 [7]。

検出器
飛跡検出器
電磁カロリメータ
ハドロンカロリメータ
バレル部/エンドキャップ部
フォワード部
ミューオンスペクトロメータ

エネルギー/運動量分解能

計測領域

σpT /pT = 0.05% pT ⊕ 1%√
σE /E = 10%/ E ⊕ 0.7%

|η| < 2.5

トリガー領域|η| < 3.2

|η| < 2.5√
σE /E = 50%/ E ⊕ 3%√
σE /E = 100%/ E ⊕ 10%|η| < 3.2

|η| < 3.2

3.1 < |η| < 4.9

3.1 < |η| < 4.9

σpT /pT = 10% at pT = 1 TeV|η| < 2.7

|η| < 2.4

2.2.2 内部飛跡検出器
内部飛跡検出器（Inner Detector: ID）は ATLAS 検出器の中でもっとも内側に設置される。内部飛跡検出器の役
割はビーム衝突後に生成する粒子の飛跡を再構成することで、図 2.4 に示すように、内側から順に、ピクセル検出

第2章

16

LHC と ATLAS 検出器

器、シリコンマイクロストリップ検出器（Semiconductor Tracker: SCT）、遷移放射検出器（Transition Radiation

Tracker: TRT）の 3 種類の検出器を包含している。内部検出器はソレノイド磁石に覆われており、この磁場で曲げられる荷電粒子を同じ検出器の複数の層あるいは連続的に検出することによって飛跡を再構成する。表 2.2 は内部飛跡検出器の設計時の性能をまとめたものである。

図 2.4 内部飛跡検出器の全体像 [4]。
内側から、ピクセル検出器、SCT、TRT の順に設置されている。

表 2.2

内部飛跡検出器の設計時の性能 [6]。

(

検出器

部分

表面積 m2

ピクセル検出器

b-layer

SCT
TRT

)

(

)

|η|

位置分解能 σ (µm)

チャンネル数 106

0.2

Rϕ = 12, z = 66

16

0 - 2.5

バレル部

1.4

Rϕ = 12, z = 66

81

0 - 1.7

エンドキャップ部

0.7

Rϕ = 12, R = 77

43

1.7 - 2.5

バレル部

34.4

Rϕ = 66, z = 580

3.2

0 - 1.4

エンドキャップ部

26.7

Rϕ = 66, R = 580

3.0

1.4 - 2.5

バレル部

170/straw

0.1

0 - 0.7

エンドキャップ部

170/straw

0.32

0.7 - 2.5

ピクセル検出器
ピクセル検出器は内部飛跡検出器の中でももっとも内側に位置する半導体検出器である。バレル部に 3 層、エンドキャップ部にはディスク状のものが前後合わせて 6 枚配置されている。バレル部の最内層は b-layer とも呼ばれる。
位置分解能が高く、ビームの衝突点あるいは 2 次衝突点の測定に役立つ。ピクセルのサイズは 50 µm × 400 µm で、2 次元的な読み出しが可能である。
SCT
SCT はピクセル検出器の外側に置かれたストリップ型検出器である。80 µm 間隔のシリコンマイクロストリップが 40 mrad ずらして 2 層重ねてあるため、2 次元的な読み出しが可能である。バレル部に 4 層、エンドキャップ部にはディスク状のものが前後合わせて 18 枚配置されている。

2.2 ATLAS 検出器の概要

17

TRT
TRT は SCT の外側に設置されたガス検出器である。これはイオン化検出器としてストロー型のドリフトチューブを積層したもので、位置分解能は前述の 2 つのシリコン検出器に劣るものの、連続的な飛跡の測定が可能である。ドリフトチューブ間にはポリプロピレンが敷き詰められており、入射粒子に遷移輻射を引き起こさせる。遷移輻射で発生する光子のエネルギーは γ = E/m に比例するため、質量の軽い電子を他の荷電粒子と識別することが可能である。

2.2.3 カロリメータ
カロリメータは主に電子や光子、ジェットのエネルギーや角度の測定に使われる検出器である。ATLAS 検出器のカロリメータは大きく分けて電磁カロリメータとハドロンカロリメータの 2 種類に分けられる。図 2.5 に示すように、
バレル部とエンドキャップ部のそれぞれで異なる構造のカロリメータが採用されている。表 2.3 にカロリメータの各部分がカバーする η 領域をまとめる。

図 2.5 カロリメータの全体像 [4]。
内側に電磁カロリメータ、外側にハドロンカロリメータが設置されている。

表 2.3 各カロリメータがカバーする領域 [6]。フォワード部は 1 層目が電磁カロリメータ、2, 3 層目がハドロンカロリメータ。

検出器

部分

η 領域

吸収層

検出層

電磁カロリメータバレル部|η| < 1.475

鉛

液体アルゴン

エンドキャップ部

1.375 < |η| < 3.2

鉛

液体アルゴンバレル部|η| < 1.7

鉄

シンチレータエンドキャップ部

1.5 < |η| < 3.2

銅

液体アルゴン

フォワード部

3.1 < |η| < 4.9

鉛/タングステン

液体アルゴン

ハドロンカロリメータ
電磁/ハドロンカロリメータ

第2章

18

LHC と ATLAS 検出器

電磁カロリメータ
電磁カロリメータは鉛を吸収体として用いたサンプリング型のカロリメータである。検出層として液体アルゴン（Liquid Argon: LAr）を用いているため、液体アルゴンカロリメータと呼ばれる。ATLAS 検出器における電磁カロ
リメータの特徴は、図 2.6 のようにアコーディオン構造になっていることである。この構造は、動径 R に依らず ϕ 方向の不感領域を排除できる利点がある。|η| < 1.475 をカバーするバレル部電磁カロリメータ（ElectroMagnetic Barrel

calorimeter: EMB）と、1.375 < |η| < 3.2 をカバーするエンドキャップ部電磁カロリメータ（ElectroMagnetic
End-Cap calorimeter: EMEC）に分けられている。液体アルゴンカロリメータおよびその読み出しは本研究の対象となる部分なので、第 3 章で詳述する。

図 2.6 電磁カロリメータのアコーディオン構造 [4]。
この構造は不感領域を減らすために有効である。

ハドロンカロリメータ
ハドロンカロリメータも電磁カロリメータと同じくサンプリング型が採用されており、電磁カロリメータの外側を包むようにして配置されている。|η| < 1.7 をカバーするバレル部ハドロンカロリメータでは、鉄の吸収体とタイル状のプラスチックシンチレータが交互に重ねられており、タイルカロリメータ（Tile hadronic barrel calorimeter:

Tile）と呼ばれる。一方、1.5 < |η| < 3.2 をカバーするエンドキャップ部ハドロンカロリメータ（Hadronic End-Cap
calorimeter: HEC）には、銅を吸収体とした液体アルゴンカロリメータが使われている。
フォワードカロリメータ
フォワードカロリメータ（Forward Calorimeter: FCal）がカバーする領域は 3.1 < |η| < 4.9 で、ビームパイプに近いため放射線耐性が高いカロリメータが求められる。1 層目には銅と液体アルゴンからなる電磁カロリメータ、

2 層目と 3 層目にはタングステンと液体アルゴンからなるハドロンカロリメータが用いられている。ただし、アコー
ディオン構造ではなく、ストロー構造が採用されている。

2.2.4 ミューオンスペクトロメータ
ミューオンスペクトロメータはミューオンの測定を行うための検出器群である。ミューオンは他の物質との相互作用が弱く、他の検出器のほとんどを通過してしまう性質を持つため、ミューオンスペクトロメータは ATLAS 検
出器の一番外側に配置されている。図 2.7 に示すように、運動量測定を行うための Monitored Drift Tube（MDT）と Cathode Strip Chamber（CSC）、トリガーのための Resistive Plate Chamber（RPC）と Thin Gap Chamber（TGC）の計 4 種類の検出器を包含している。

2.2 ATLAS 検出器の概要

19

図 2.7

ミューオンスペクトロメータの全体図 [4]。

MDT と CSC は運動量測定、RPC と TGC はトリガーの役割を担う。

各検出器の主な性能を表 2.4 にまとめる。
表 2.4

ミューオンスペクトロメータの性能 [6]。バレル部とエンドキャップ部で用いる検出器が異なる。

MDT

CSC

RPC

TGC

1194

32

596

192

370

67

355

440

5500

27

3650

2900

|η| 領域

0 - 2.7

2.0 - 2.7

0 - 1.1

1.0 - 2.4

位置分解能

80 µm

60 µm

10 mm

10 mm

チェンバーの数(

3

読み出しチャンネルの数 10

(

2

表面積 m

)

)

MDT
MDT は 3 層あるいは 4 層のドリフトチューブが重なって 1 つのモジュールを形成し、ミューオンの運動量を測定する。上記のモジュールがバレル部とエンドキャップ部の |η| < 2.7 の範囲にそれぞれ 3 層ずつ置かれている。ただし、η = 0 付近は、内部飛跡検出器やソレノイド磁石、カロリメータの配線などのために空間が確保されている。
チューブは直径 30 mm、厚さ 400 µm で、アルミニウムからできており、カソードとしてはたらく。そのチューブの中心に、タングステンとレニウムでできた直径 50 µm のワイヤーがあり、アノードとしてはたらく。ひとつのワイ
ヤーでの分解能は 80 µm 程度である。

CSC
CSC はフォワード部の内側 2.0 < |η| < 2.7 の領域に置かれた多線式比例係数箱（Multi-Wire Proportional
Chamber: MWPC）である。ビーム軸に近いので、放射線耐性の高さが求められる。アノードのワイヤー間隔は2.54 mm、カソードの読み出し間隔は 5.08 mm であり、位置分解能は 60 µm 程度である。主な特徴として、電子のドリフト時間が短い（30 ns）、時間分解能が良い（7 ns）、2 つの飛跡の分解能が良い、中性子に対するセンシティビ
ティが低い、といったことがあげられる。

第2章

20

LHC と ATLAS 検出器

RPC
RPC はワイヤーの代わりに高抵抗板が電極として使われるガス検出器であり、バレル部の |η| < 1.1 の領域に設置されている。これにより、MDT と垂直な方向の位置測定が可能になる。読み出しはお互いに直交する 2 種類のスト
リップによってなされ、MDT のワイヤーに平行なものを η ストリップ、垂直なものを ϕ ストリップと呼ぶ。ストリップ間隔は 30 mm から 39.5 mm で、位置分解能は 10 mm 程度である。時間分解能に優れており、LHC のバンチ間隔である 25 ns より短い分解能をもつ。

TGC
TGC はエンドキャップの 1.0 < |η| < 2.4 の領域においてミューオントリガーを担当する MWPC である。カソー
ドとアノードの距離より各アノードワイヤーの間隔の方が大きいことが特徴である。直径 50 µm の各アノードワイ
ヤーは 1.8 mm 間隔で並んでおり、それらを挟み込むように 2.8 mm のガスギャップを確保してカソードが設置されている。この薄いギャップが名前の由来にもなっており、電子のドリフト時間を短くし、良い時間分解能を与える。

RPC 同様に、LHC のバンチ間隔である 25 ns より短い分解能で R-ϕ 情報を読み出せるため、トリガーしての役割を果たすことができる。

2.2.5 マグネット
ATLAS 検出器はソレノイド磁石とトロイド磁石の 2 種類の超伝導磁石を使用している。トロイド磁石はさらに、バレル部に 1 つ、各エンドキャップ部に 1 つずつ、構造の異なる磁石が採用されている。これらの磁石が生み出す磁場で荷電粒子の飛跡が曲がり、その曲がり具合を計測することで、飛跡検出器による運動量測定が可能になる。マグ
ネット全体の大きさは、長さ 26 m、直径 20 m に及ぶ。各磁石の主要なパラメータを表 2.5 にまとめる。
表 2.5

各磁石の主要なパラメータ [6]。エンドキャップ部のトロイド磁石は 1 つの磁石あたりのパラメータを示す。

パラメータ

トロイド磁石（バレル部）

トロイド磁石（エンドキャップ部）

ソレノイド磁石

内径 (m)

9.4

1.65

2.44

外径 (m)

20.1

10.7

2.63

長さ (m)

25.3

5

5.3

コイルの数

8

8

1

総重量 (t)

830

239

5.7

ピーク磁場 (T)

3.9

4.1

2.6

ソレノイド磁石
ソレノイド磁石は内部飛跡検出器と電磁カロリメータの間に設置されている。図 2.8 に示すような円筒形をしており、約 2 T の磁場を生み出す。この磁場により、荷電粒子は x-y 平面内（ϕ 方向）で曲がる。内部飛跡検出器はこれを利用して荷電粒子の横方向運動量が測定できる。
バレル部のトロイド磁石
トロイド磁石はミューオンスペクトロメータを包み込むようにして配置されている。バレル部のトロイド磁石を図2.9 に示す。バレル部のトロイド磁石は 8 個の超伝導コイルにより ϕ 方向に約 0.5 T の磁場を発生させて、荷電粒子を η 方向に曲げる。これを利用して、RPC は横方向運動量を測定できる。
エンドキャップ部のトロイド磁石
エンドキャップ部のトロイド磁石を図 2.10 に示す。エンドキャップ部の磁石はバレル部の磁石に対して 22.5 度ずらして設置されている。ϕ 方向約 1 T の磁場を発生させて、荷電粒子を曲げる。これを利用して、TGC は横方向運

2.2 ATLAS 検出器の概要

21

図 2.8 ソレノイド磁石の外形 [4]。
長さ 5.3 m、内径 2.4 m。

図 2.9 バレル部のトロイド磁石 [4]。
視点はビーム軸。

図 2.10 エンドキャップ部のトロイド磁石 [4]。
各エンドキャップに 1 つずつ配置される。

動量を測定できる。

2.2.6 トリガーシステム
LHC では 25 ns ごと（40 MHz）に陽子のバンチが交差し、ルミノシティが 1034 cm−2 s−1 のとき、1 回の交差で20 個程度の陽子が反応する。したがって、衝突事象の起こる頻度は約 1 GHz である。これらの反応で引き起こされる多くの事象から欲する事象のみを選択・同定し、不要な事象を排除する必要があり、この機構をトリガーシステムと呼ぶ。ATLAS では、トリガーシステムは 3 段階に分けられており、オンラインで実行される。各段階はそれぞれ、Level-1（L1）トリガー、Level-2（L2）トリガー、イベントフィルタ（Event filter: EF）と呼ばれており、最終的なイベントレートは 102 Hz のオーダーまで抑えられる。L1 トリガーはハードウェアで行われるのに対し、L2 トリ
ガーと EF はソフトウェアで行われ、後ろの 2 段階のトリガーはまとめて High Level Trigger（HLT）とも呼ばれる。
図 2.11 にトリガーシステムの概略図を示す。

Level-1 トリガー
L1 トリガーは一段階目のトリガーで、イベントレートを 70 kHz 程度まで抑える。陽子陽子衝突の時点から L1 トリガーの結果がフロントエンドのエレクトロニクスで利用できるようになるまでに許されたレイテンシは 2.5 µs であり、この時間内にトリガー処理を完了させる必要があるため、ハードウェアベースのアルゴリズムが用いられる。

L1 トリガーのために使われる検出器は、ミューオンスペクトロメータにおいてトリガーを担当する TGC および
RPC と、すべてのカロリメータである。高い横方向運動量をもつミューオンは、バレル部では RPC、エンドキャップ

第2章

22

LHC と ATLAS 検出器

図 2.11 2012 年までの物理ランで用いられたトリガーシステム [8]。
この物理ランではバンチ間隔を 50 ns として運転していた。

部では TGC のみを使って同定される。カロリメータからくる信号のトリガー部分は Level-1 カロリメータ（L1Calo）と呼ばれ、すべてのカロリメータからの情報を精度を落として用いる。L1Calo で同定されるオブジェクトは、高い横方向運動量をもつ電子や光子、ジェット、τ レプトンなどである。それに加えて、消失横方向エネルギーや総横方向エ
ネルギーも計測される。L1Calo については本研究の対象となる部分なので、第 3 章で詳述する。また、L1 トリガー
では、トリガーのかかった事象がどのバンチで生じたものなのかを同定すること（Bunch Crossing IDentification:

BCID）も重要になる。
L1 トリガーでトリガーがかかると、L1 トリガーから各検出器のフロントエンドのエレクトロニクスに Level-1
Accept（L1A）信号が送られ、各フロントエンドから Read Out Driver（ROD）へトリガーのかかったデータが送られる。データは ROD で ATLAS 共通のフォーマットに変換され、Read Out System（ROS）内の Read Out Buﬀer（ROB）に渡される。ROB のデータは、L2 トリガーで排除されるか、L2 トリガーがかかり後続の EF への送信が成功するまで一時保存されている。

Level-2 トリガー
L2 トリガーは二段階目のトリガーで、L1 トリガーから送られてくる Region of Interest（RoI）をもとに判断する。
RoI は位置座標 η および ϕ、各オブジェクト候補の横方向運動量、横方向エネルギーの和といった情報を含んでいる。
L2 トリガーではミューオンの横方向運動量に閾値を課す際、ミューオンスペクトロメータのほか、内部飛跡検出器の情報も使う。アイソレーション要求には、ミューオン候補の飛跡周辺のカロリメータの情報も加味する。電子に対するトリガーでは、カロリメータの情報を精度を落とさずに使い、さらに内部飛跡検出器の飛跡情報を用いてアイ
ソレーション要求を満たすか判断する。その他、各種粒子やジェット、横方向エネルギー和などが、高精度のカロリ
メータ情報を用いてトリガーにかけられる。

L2 トリガーにおけるレイテンシは 40 ms で、トリガーがかかると Level-2 Accept（L2A）信号が発行され、ROBに一時保存されていたデータが EF へ送られる。この過程は Event building と呼ばれる。

2.3 LHC のアップグレード計画

23

イベントフィルタ

EF ではすべての検出器の情報を用いて、最終的なトリガーをかける。具体的には、より厳しい横方向運動量の閾
値や、L2 トリガーでは時間の制約で適用できない複雑なアルゴリズムを用いる。トリガーのかかったデータはオフ
ライン解析のために大容量ストレージに送られる。EF におけるレイテンシは 4 s で、出力されるデータはの頻度は102 Hz のオーダーまで抑えられる。

2.3 LHC のアップグレード計画
LHC のアップグレード計画について説明する。
2009 年のヘリウム漏洩事故で本格的な稼動が遅れたものの、LHC は 2012 年までの物理ラン（Run 1）で、LHCは最終的に重心系エネルギー 8 TeV、瞬間ルミノシティ 0.77 × 1034 cm−2 s−1 で稼動した。2014 年 1 月現在は Long

Shutdown（LS）のただなかであり、物理ランは行われず、放射線等のダメージを受けている部分の補修作業や LHC
自体のアップグレードが施されている。今年中には再び物理ラン（Run 2）が始まり、設計値の瞬間ルミノシティ

1034 cm−2 s−1 を目指す。また、今後 Higgs 粒子の精密測定や電弱対称性の破れの検出、超対称性粒子をはじめとする新粒子探索に向けて、重心系エネルギーとルミノシティの増強が期待される。現時点で計画されている LHC のロードマップを表 2.6 にまとめる。

2.3.1 Long Shutdown 1
Long Shutdown 1（LS1）は 2014 年 1 月現在行われているアップグレード期間である。LHC 設計時のビームエネ
ルギーと瞬間ルミノシティを達成するために、マグネット接合部を修理したり、コリメータの改良などが予定されている。

2.3.2 Long Shutdown 2Long Shutdown 2（LS2）では、前段の加速器のアップグレードが予定されており、Linac2 に代わって 160 MeVまで加速可能な Linac4 が導入される。また、ビームエミッタンスを抑えるために、PS Booster におけるエネルギーを 2 GeV まで引き上げる。さらに、新しいクライオジェニクスが設置される予定である。

2.3.3 Long Shutdown 3Long Shutdown 3（LS3）でも、引き続き High-Luminosity LHC（HL-LHC）を目指したアップグレードが行われる。現時点では、衝突地点付近の領域における四重極磁石の強化や、超伝導クラブ空洞の導入などが予定されている。
表 2.6 LHC のロードマップ。HL-LHC に向けたさらなる性能向上が計画されている。

年

LHC- 2012
2013 - 2015

Run 1
LS1

2015 - 20182018 - 2019

LS2

2025 - ...

瞬間ルミノシティ cm−2 s−1

80.77 × 1034

13 - 14

1 × 1034

14

2 × 1034

14

5 × 1034

Phase-I
Run 3

LS3

(

重心系エネルギー (TeV)

Phase-0
Run 2

2020 - 2022
2023 - 2024

ATLAS

Phase-II

HL-LHC

)

第2章

24

LHC と ATLAS 検出器

2.4 ATLAS のアップグレード計画
ATLAS のアップグレード計画について説明する。
LHC のビームエネルギーとルミノシティの増強に伴い、ビーム衝突時に生じるパイルアップも増加する。これは事象の増加という単純な問題にとどまらず、放射線による検出器の損傷を助長したり、読み出しの増加やトリガーレー
トを抑えるための工夫などを要求する。したがって、LHC の LS の時期に合わせて、ATLAS もアップグレードのための期間を設けている。表 2.6 に示すように、ATLAS のアップグレードの Phase-0, Phase-I, Phase-II はそれぞれ

LHC のアップグレードの LS1, LS2, LS3 に対応する。

2.4.1 Phase-0
Phase-0 アップグレードでは、新たなピクセル検出器として Insertable B Layer（IBL）が挿入される。現在、バレル部の最内層を担う検出器はピクセル検出器の b-layer だが、IBL はさらにその内側に設置され、飛跡再構成の精度上昇に一役買う。また、ミューオンスペクトロメータはバレル部とエンドキャップ部の境である 1.0 < η < 1.3 の領域にチェンバーを追加することでミューオンの飛跡再構成の効率を改善する。
トリガーシステムには、新たな L1 トポロジカルトリガーの導入が予定されている。また、Run 2 の途中から使用可能になるピクセル検出器と SCT のトリガーエレクトロニクスとして、新たに Fast Tracker（FTK）が導入される。

High Level Trigger（HLT）の前段階で、FTK によるパターン認識や飛跡のフィッティングなどのハードウェア処理を行うことで、高速かつ高効率で飛跡を再構成できる。

2.4.2 Phase-I
Phase-I アップグレードでは、トリガーシステムが改良される。図 2.12 にその概略を示す。
この新たなトリガーシステムを構築するために、ほぼすべての検出器において読み出しエレクトロニクスの総入れ替えが行われる。カロリメータに関しても、L1Calo における分解能の向上と、トリガーレートを維持しつつ横方向
運動量の閾値を下げるために、Super Cell の導入や新たなエレクトロニクスの開発が進行している。本研究の対象となる部分なので、第 3 章で詳述する。
他の要素として、New Small Wheel（NSW）の導入が予定されている。

2.4 ATLAS のアップグレード計画

25

図 2.12 2018 年の Phase-I アップグレード後に用いられるトリガーシステム [8]。
これまで L2 で行っていたトリガーの一部を L1 に移す。

2.4.3 Phase-II
Phase-II アップグレードでは主に内部飛跡検出器の交換が検討されている。これは、内部飛跡検出器がビームパイ
プに近く、もっとも放射線による損傷を受けるためである。また、トリガーシステムにおいては、L1 トリガーを 2 つに分割する案が議論されている。カロリメータの読み出し系においても ROD が新しいエレクトロニクスに置き換わるなど、アップグレードが予定されている。

27

第3章

液体アルゴンカロリメータ
本章では、ATLAS 検出器で用いられている液体アルゴンカロリメータおよびその読み出し系について説明する。
また、Phase-I アップグレードにおける液体アルゴンカロリメータの変更点に触れ、序論でも述べた本研究の背景および目的について再確認する。

3.1 検出器の構造
はじめにカロリメータの検出原理について一般的に述べた後、ATLAS の液体アルゴンカロリメータがどのような特徴を持っているか説明する。

3.1.1 カロリメータの原理
カロリメータは入射粒子のエネルギーを計測するための検出器である。荷電粒子のみならず、中性粒子もその対象になる。入射粒子がエネルギーをカロリメータで落とすように、カロリメータは物質量の大きな材質で構成される。
高エネルギーにおいて、電子や光子は主に電磁シャワーと呼ばれる制動輻射と対生成の繰り返しによってエネルギーを損失する。カロリメータにエネルギー E0 の電子および光子が入射したとき、距離 x だけ進んだ後の粒子のエネル
ギー E は、(
E = E0 exp

x
X0

)
(3.1)

とあらわされる。ここで X0 は放射長（radiation length）と呼ばれる物理量で、カロリメータを構成する物質の種類に依存する。したがって、カロリメータに使われる物質によって、要請されるカロリメータの大きさも変わる。一般
的に、カロリメータは入射粒子のエネルギーを落とすため、20 - 30X0 程度の大きさを目指す。一方、ハドロンは主に強い相互作用によってエネルギーを損失し、電子や光子に比べてエネルギーを落としにくい。
カロリメータに求められる性能は、単にエネルギーを測るだけでなく、計測結果の線形性や精度を確保し、位置や方向といった座標情報、入射時間、粒子の種類といった付加情報を得ることである。カロリメータには大きく分けて、
全吸収型とサンプリング型の 2 種類が存在し、取得する情報のどれを重視するかによって使い分ける。全吸収型カロ
リメータは、入射粒子のエネルギーを落とすための吸収層の役割を、落としたエネルギーを検出するための検出層が兼ねている。無機シンチレータを検出層として用い、主に低エネルギー粒子の精密測定や粒子識別のために使われる。エネルギー分解能が優れている反面、奥行き方向の位置分解能に劣る。一方、サンプリング型のカロリメータは、吸収層と検出層に異なる物質を用いており、吸収層には鉄や鉛をはじめとする物質量の大きな物質を、検出層にはシンチレータや液体アルゴンなど比較的物質量の小さい物質を用いる。全吸収型と比較するとエネルギー分解能は劣る
が、シャワーを三次元的に観測することが可能である。
カロリメータの分解能は一般的に、

abσ= √ ⊕ ⊕c
E
E
E

(3.2)

のようにあらわされる。第 1 項は確率的な項で、カロリメータのどこに粒子が入射してくるかに関係している。全吸

第3章

28

液体アルゴンカロリメータ

収型ではこの項が小さい。第 2 項はノイズの寄与をあらわす項であり、回路における熱ノイズや、パイルアップ事象
による影響を含む。第 3 項は均一性など検出器本来の分解能をあらわす定数項である。高エネルギーではこの項が主要な寄与となる。

3.1.2 ATLAS 液体アルゴンカロリメータ
前章で述べたように、ATLAS 実験では複数のカロリメータを用いている。|η| < 1.475 をカバーするバレル部電磁
カロリメータ（LAr ElectoroMagnetic Barrel calorimeter: EMB）、1.375 < |η| < 3.2 をカバーするエンドキャップ
部電磁カロリメータ（LAr ElectroMagnetic End-Cap calorimeter: EMEC）、|η| < 1.7 をカバーするバレル部ハド
ロンカロリメータ（Tile hadronic barrel calorimeter: Tile）、1.5 < |η| < 3.2 をカバーするエンドキャップ部ハド
ロンカロリメータ（LAr Hadronic End-Cap calorimeter: HEC）、3.1 < |η| < 4.9 をカバーするフォワードカロリ
メータ（LAr Forward Calorimeter: FCal）であり、すべてのカロリメータがサンプリング型を採用している。エンドキャップ部にある HEC と EMEC と FCal は検出器以外の物質量を減らすため、クライオスタットを共有している。ここでは、液体アルゴンカロリメータを採用している EMB、EMEC、HEC、FCal について、より詳細に説明していく。

EMB および EMECEMB は半分の大きさのバレル 2 つで構成されており、z = 0 に 4 mm の小さなギャップがある。EMEC は各エンドキャップ部において 2 つの同軸のホイールに分かれており、外側のホイールが 1.375 < |η| < 2.5 を、内側のホイールが 2.5 < |η| < 3.2 をカバーしている。

EMB および EMEC は、吸収層に鉛、検出層に液体アルゴン、電極としてカプトンを用いている。液体アルゴンは低コストでエネルギー分解能が良く、応答の線形性と安定性で優れており、さらに放射線に強いという利点もある。
図 3.1 にその構造を示す。

図 3.1

EMB および EMEC の構造の模式図 [9]。

鉛の吸収板とカプトン電極のギャップに液体アルゴンが満たされている。数値は実装されたものとは異なる。

EMB と EMEC の特徴は、吸収層と検出層がアコーディオン構造になっていることである。この構造は ϕ 方向の不感領域をなくすために役立ち、信号の素早い読み出しも可能にする。EMB においては、1,024 枚の吸収板がビー

3.1 検出器の構造

29

ムラインに垂直な方向に折りたたまれ、ϕ 方向に重ねられている。吸収板の厚さは |η| < 0.8 で 1.53 mm、|η| > 0.8
で 1.13 mm となっている。これは、|η| の増加に伴ってサンプリング比が落ちてしまうことを防ぐためである。ア
コーディオン状に折りたたむ角度を徐々に変えることによって、動径 R にかかわらず液体アルゴンギャップの厚さ
は 2.1 mm に保たれている。電極間に 2, 000 V の高電圧をかけているとき、電子のドリフト時間は 450 ns 程度である。EMEC においては、各エンドキャップ部で 768 枚の吸収板バーテックスから放射状に伸びる方向に折りたたまれ、ϕ 方向に重ねられているので、動径 R が大きくなると液体アルゴンのギャップも大きくなる。吸収板の厚さは|η| < 2.5 で 1.7 mm、|η| > 2.5 で 2.2 mm となっている。

図 3.2 EMB のレイヤー構造 [3]。
最内層の presampler を含め、4 つのレイヤーに分けられている。

EMB のレイヤー構造を図 3.2 に示す。EMB は Layer 1 にあたる front あるいは strip レイヤー、Layer 2 にあたる middle レイヤー、Layer 3 にあたる back レイヤーの 3 層に分けられる。それぞれのレイヤーは異なる役割を背負っている。Front レイヤーは η 方向のセグメントが非常に細かく、入射粒子がエネルギーを落としたセルの形状か
ら光子と π 0 を区別することが可能になる。Middle レイヤーは、奥行き方向がもっとも長く、電磁シャワーの場合はほとんどここでエネルギーを落とす。Back レイヤーは高エネルギーのシャワーを検出する。また、電磁シャワーがmiddle レイヤーで大量にエネルギーを落とすのに対し、ハドロニックシャワーはほとんどエネルギーを落とさないため、back レイヤーで各シャワーを区別することができる。また、図中の最内層には Layer 0 にあたる presampler（PS）が描かれている。Presampler は |η| < 1.8 をカバーしており、電磁カロリメータより内側でのエネルギー損失を補正するために使われる。
レイヤーの数や各レイヤーのセグメントは |η| によって異なる。例えば、EMB のうち |η| < 1.35 の領域では、

presampler の他に 3 つのレイヤーを備えており、セルの大きさはそれぞれ、presampler が ∆η × ∆ϕ = 0.025 × 0.1、
front レイヤーが ∆η × ∆ϕ = 0.003125 × 0.1、middle レイヤーが ∆η × ∆ϕ = 0.025 × 0.025、back レイヤーが∆η × ∆ϕ = 0.05 × 0.025 となっている。ただし、L1 トリガーで用いる情報としては、∆η × ∆ϕ = 0.1 × 0.1 の領域の各レイヤー、各セルのエネルギー値を足し合わせたものが用いられる。このトリガー用の読み出しの単位は Trigger

第3章

30

液体アルゴンカロリメータ

Tower と呼ばれる。EMB における各レイヤーのセルサイズとトリガー用の読み出しセルサイズの比較は、後述する
Super Cell のセグメントとともに表 3.4 にまとめてある。
EMEC は、外側のホイールのうち 1.5 < |η| < 2.5 の領域では 3 層構造、それ以外の領域では 2 層構造になっている。ただし、|η| < 1.8 の領域では presampler が Layer 0 として補助的に使われる。

EMB と EMEC の各 |η| 領域におけるレイヤー数とセルサイズを表 3.1 にまとめる。
表 3.1 EMB と EMEC におけるレイヤー数とセルサイズ [7]。

EMB

EMEC

各 |η| におけるレイヤー数

Presampler1|η| < 1.52

1

1.5 < |η| < 1.8

Calorimeter3|η| < 1.35

21.375 < |η| < 1.5

2

1.375 < |η| < 1.475

3

1.5 < |η| < 2.5

2

2.5 < |η| < 3.2

各 |η| におけるセルサイズ ∆η × ∆ϕLayer 0 (presampler)

0.025 × 0.1|η| < 1.52

0.025 × 0.1

1.5 < |η| < 1.8

Layer 1 (front)

0.025/8 × 0.1|η| < 1.40

0.050 × 0.1

1.375 < |η| < 1.425

0.025 × 0.025|η| < 1.40

0.025 × 0.1

1.425 < |η| < 1.5

0.025/8 × 0.1

1.5 < |η| < 1.8

0.025/6 × 0.1

1.8 < |η| < 2.0

0.025/4 × 0.1

2.0 < |η| < 2.4

0.025 × 0.1

2.4 < |η| < 2.5

0.1 × 0.1

2.5 < |η| < 3.2

Layer 2 (middle)

Layer 3 (back)

0.025 × 0.025|η| < 1.40

0.050 × 0.025

1.375 < |η| < 1.425

0.075 × 0.025

1.40 < |η| < 1.475

0.025 × 0.025

1.425 < |η| < 2.5

0.1 × 0.1

2.5 < |η| < 3.2

0.050 × 0.025

1.5 < |η| < 2.5

0.050 × 0.025|η| < 1.35
読み出しチャンネルの数

Presampler

7,808

1,536（サイド A とサイド C の合計）

Calorimeter

101,760

62,208（サイド A とサイド C の合計）

HEC
HEC は前方のホイールと（HEC1）と後方のホイール（HEC2）の 2 つで構成されており、各ホイールが 2 つのレイヤーを持っているため、合計で 4 層構造になっている。サイド A とサイド C の計 4 つのホイールはそれぞれ 32 個の楔形のモジュールから構成されている。図 3.3 に楔形モジュールの外観を示す。

HEC は、吸収層に銅、検出層に液体アルゴンを用いている。1 つの楔形モジュールにつき、HEC1 では厚さ 25 mmの吸収板 24 枚に加え最前面に 12.5 mm の吸収板を使用しており、HEC2 では厚さ 50 mm の吸収板 16 枚に加え最前面に 25 mm の吸収板を使用している。吸収板の厚さが電磁カロリメータに比べて大きいのは、ハドロン
カロリメータの主要な計測対象であるハドロンがレプトンや光子に比べてエネルギーを落としにくいためである。
ギャップの間隔はどちらのホイールでもすべて 8.5 mm になっている。各ギャップには電極が設置され、HEC1 では∆η × ∆ϕ = 0.1 × 0.1 の領域に 24 個のセルが、HEC2 では ∆η × ∆ϕ = 0.2 × 0.2 の領域に 16 個のセルが積層している。さらに、HEC1 では同じ ∆η × ∆ϕ 領域の前方の 8 個と後方の 16 個のセルの信号をそれぞれまとめて読み出
し、2 つのレイヤーを構成する。一方、HEC2 では前方と後方ともに、同じ ∆η × ∆ϕ 領域の 8 個のセルの信号をそれぞれまとめて読み出し、2 つのレイヤーを構成する。電極間に 1, 800 V の高電圧をかけているとき、電子のドリフ
ト時間は 430 ns 程度である。

3.1 検出器の構造

31

図 3.3

HEC の楔形モジュール [3]。

吸収板と電極は z 軸方向に重ねられており、楔形は R-ϕ 平面に広がる。

HEC のレイヤー数とセルサイズを表 3.2 にまとめる。
表 3.2

HEC におけるレイヤー数とセルサイズ [7]。

|η| 領域

1.5 < |η| < 3.2

レイヤー数

4

セルサイズ ∆η × ∆ϕ
読み出しチャンネルの数

0.1 × 0.1

1.5 < |η| < 2.5

0.2 × 0.2

2.5 < |η| < 3.2

5,632（サイド A とサイド C の合計）

FCal
FCal は EMEC の前面部に対して約 1.2 m 後方に置かれている。これはアルベド（albedo：検出器に入射した粒子が検出器内の物質との相互作用により前方へと散乱され、その結果再び検出器の表面を通り反射される状態）の中性子の量を減らすための工夫である。図 3.4 にエンドキャップ部のカロリメータの配置を示す。

図 3.4

エンドキャップ部のカロリメータの配置 [3]。

明快さのために縦軸 R はスケールさせている。

FCal はビームパイプに近い場所に設置されているため、高い放射線環境にある。通常、入射粒子のビームが物質

第3章

32

液体アルゴンカロリメータ

中を通過すると吸収や散乱によって強度は指数関数的に減少するが、粒子ビームが細くコリメートしていなかった場
合、吸収層で散乱した他の粒子ビーム由来の粒子がある測定点に加わってしまい、一般的な強度より高くなることがある。この現象はビルドアップ効果と呼ばれ、FCal はビルドアップ効果を抑制するために液体アルゴンギャップをできるだけ小さくしている。狭いギャップは素早い信号読み出しを可能にする反面、発生する電流値が小さくなる。

FCal は 3 つのレイヤーから構成されており、それぞれ FCal1、FCal2、FCal3 と呼ばれる。FCal1 は吸収層に銅を用いた電磁カロリメータとして、FCal2 と FCal3 は吸収層にタングステンを用いたハドロンカロリメータとしては
たらく。各 FCal は、ビーム軸と平行な方向のチューブと、チューブ内のロッドから構成されたストロー構造をしている。チューブとロッドの隙間に液体アルゴンが満たされている。

図 3.5

FCal1 の構造 [3]。
ピンク色で描かれた円の半径 RM は、Molière 半径を示している。

FCal1 の構造を図 3.5 に示す。FCal1 は銅の吸収板がビーム軸方向に積層されており、各吸収板にはストロー構造を差し込むための穴が 12,260 個空いている。チューブおよびロッドも銅でできており、0.269 mm の液体アルゴン
ギャップ内に電極をもつ。電子のドリフト時間は約 60 ns と、EMB や HEC などに比べて圧倒的に短い。信号読み
出しには放射線に強いプラスチックのファイバーが用いられ、基本的には 4 つのストロー構造がひとまとまりとして読み出される。

図 3.6 FCal2 および FCal3 のモジュール構造 [3]。
吸収体は小さなタングステンのかたまりの集合体である。

FCal2 と FCal3 は、FCal1 と大まかな構造では同じだが、使われている材質と吸収体のつくりが異なる。各 FCal

3.2 読み出し系

33

は前面部と背面部に厚さ 2.35 mm の銅板が用いられており、その間をストロー構造がつないでいる。ロッドとチュー
ブは銅の代わりにタングステンが用いられている。また、吸収層の部分は図 3.6 に示すように小さなタングステンのかたまりが隙間なく並べられることによって構成されている。液体アルゴンのギャップは FCal2 で 0.376 mm、FCal3 で 0.508 mm となっており、ギャップにかかる電場はどの FCal でも同じため、ドリフト時間はギャップ間隔に合わせてスケールする。信号の読み出し単位は基本的に、FCal2 では 6 つのストロー構造ごと、FCal3 では 9 つのストロー構造ごとに行われる。

FCal のレイヤー数とセルサイズを表 3.3 にまとめる。
表 3.3 FCal におけるレイヤー数とセルサイズ [7]。

|η| 領域

3.1 < |η| < 4.9

レイヤー数

3

セルサイズ ∆x × ∆y (cm)

FCal 1: 3.0 × 2.6

3.15 < |η| < 4.30

FCal 1: 〜four times finer

3.10 < |η| < 3.15,
4.30 < |η| < 4.83,

FCal 2: 3.3 × 4.2

3.24 < |η| < 4.50

FCal 2: 〜four times finer

3.20 < |η| < 3.24,
4.50 < |η| < 4.81,

FCal 3: 5.4 × 4.7

3.32 < |η| < 4.60

FCal 3: 〜four times finer

3.29 < |η| < 3.32,
4.60 < |η| < 4.75,

読み出しチャンネルの数

3,524（サイド A とサイド C の合計）

3.2 読み出し系
現行の液体アルゴンカロリメータの読み出し系は、計 182,468 チャンネルにおいて約 50 MeV から約 3 TeV の領域√

でエネルギーを記録できる。この際、要求されるエネルギー分解能は、|η| < 3.2 の領域で σE /E = 10%/ E ⊕ 0.7%である。読み出し系はカロリメータから送られてくる三角波を 40 MHz でサンプリングし、デジタル化したサンプル
を L1 トリガーへと送る。L1 トリガーレートは最大でも 75 kHz まで抑える必要がある。
読み出し系のエレクトロニクスは、検出器に近い位置に置かれたフロントエンド（Front-End: FE）エレクトロニ
クスと、約 100 m 離れた位置に置かれたバックエンド（Back-End: BE）エレクトロニクスに分けられる。読み出し
フローには、最終的にストレージへ送るデータの候補となる情報を後述する ROD（Read Out Driver）に渡すための DAQ フローと、トリガー用のデータを L1Calo へ送るためのトリガーフローの 2 つがある。図 3.7 に現行の液体アルゴンカロリメータ読み出し系のブロック図を示す。

3.2.1 フロントエンド
FE エレクトロニクスは液体アルゴンカロリメータのクライオスタットに直接取り付けられている。具体的には、バレル部とエンドキャップ部の間およびエンドキャップクライオスタットの外面である。この部分は物理ランの間は立
ち入ることができない区域で、反応した粒子が飛び交う場所であるため放射線耐性が求められる。FE エレクトロニ
クスは 58 個の FE クレートの中に収められている。FE クレートには図 3.7 にも示すように以下のものが含まれる。

• Front-end Board（FEB）：FE エレクトロニクスのメインとなる要素で、エネルギー分解能を落とすことな
く液体アルゴンカロリメータの信号の読み出し、デジタル化を行う。L1 トリガー用のアナログ信号は Layer

Sum Board（LSB）においてレイヤーレベルで足し合わされる。各 FEB の大きさはおよそ 0.5 m × 0.5 m で、
1 つの FEB あたり 128 チャンネルの信号を処理する。
• Tower Builder Board（TBB）：FEB においてレイヤーレベルで足し合わされたアナログ信号は、クレート

第3章

34

図 3.7

液体アルゴンカロリメータ

現行の液体アルゴンカロリメータ読み出し系のブロック図 [1]。

HEC と FCal においては多少の違いがある。

のバックプレーンを通して TBB へと送られる。TBB はこの信号をトリガー情報として使うため、さらに∆η × ∆ϕ = 0.1 × 0.1 の全レイヤーで足し合わせて Trigger Tower を形成し、L1Calo へと送る。ただし、HEC と FCal においてはさらなる足し合わせが必要とされないので、TBB の代わりに Tower Driver Board（TDB）が用いられる。

• Calibration Board：読み出しエレクトロニクスのキャリブレーションのために使われるボードで、カロリメー
タのイオン化信号に近い波形を発生させることができる。

• Controller Board：40 MHz の LHC クロックやその他の制御信号を受け取り、読み出し系の各エレクトロニ
クスに分配する。

3.2 読み出し系

35

FEB では、まず検出器から受け取った信号を preamplifier によって増幅させる。ただし、HEC においてはpreamplifier が FEB ではなくクライオスタット内の検出器に取り付けられている。増幅された信号は shaper により、時定数 13 ns でバイポーラ波形へと成形される。成形された信号は Switched Capacitor Array（SCA）のアナ
ログパイプラインによって LHC のバンチ間隔である 40 MHz クロックでサンプリングされる。図 3.8 に検出器から送られてくる三角波の信号と、成形されたバイポーラ波形を示す。三角波およびバイポーラ波形の波高は、入射粒子がカロリメータで落としたエネルギー値に比例している。液体アルゴンカロリメータにおける電子のドリフト時間は450 ns 程度あり、過去の信号波形のシークエンスが終わらないうちに次の信号が入射することが想定される。バイ
ポーラ波形はそうした状況でも、信号の値が積算されてサチュレーションを起こしてしまうのを防ぐことができる。

図 3.8

液体アルゴンカロリメータの信号 [1]。

検出器から送られてきた三角波は FEB でバイポーラ波形へと成形される。

L1 トリガーのかかった事象では、1 チャンネルあたり 5 点のサンプリングが SCA から読み出され、12 ビットの Analog-to-Digital Convertor（ADC）でデジタル化される。デジタル化されたデータは光ファイバーを通して

1.6 Gbps のシリアル通信により BE エレクトロニクスへと送られる。

3.2.2 バックエンド
BE エレクトロニクスは VME ベースの ROD クレートに収められており、主にデジタルフィルタリング、データのフォーマッティング、カロリメータの信号のモニタリングが行われる。具体的には、以下のものが含まれる。

• Read Out Driver（ROD）：FEB の出力と L1 トリガーを同期させ、エネルギーや時間位相といった物理量を計算する。

• CPU Board：ROD クレートを制御するための VME プロセッサである。
• SPAC Master Board：FE クレートの各ボードにパラメータをコンフィギュアおよびロードするための通信モジュールであり、コンフィギュレーションおよびモニタリングは Serial Protocol for ATLAS Calorimeters（SPAC）によって行われる。

• Trigger Busy Module（TBM）：LHC の 40 MHz クロックや他の同期コマンドを含む Trigger, Timing andControl（TTC）信号を受け取る。
各 ROD は 8 個の FEB からデジタル化されたデータを受け取り、4 個の FPGA で並列処理を行う。ROD ではFPGA 内の Digital Signal Processor（DSP）においてエネルギー再構成計算が行われる。各 DSP は L1 トリガー
レートの要件、75 kHz の制限を満たすように 13 µs 以内に計算を終える必要がある。計算には Optimal filter というフィルタリングアルゴリズムが使われ、デジタル化されたサンプリングから、粒子がカロリメータで落としたエネ
ルギー値を再構成することができる。エネルギー値が閾値を超えていれば、入射時刻や入射パルスのクオリティファ

第3章

36

液体アルゴンカロリメータ

クターの計算も行われる。クオリティファクターは入射パルスが期待された波形に適合しているか、誤って計測されたものかどうかを定量化したものである。これらの数値は光ファイバーを通して Data AcQuisition（DAQ）システ
ムへと送られる。

3.2.3 Level-1 カロリメータ
Level-1 トリガーのうち、カロリメータから送られてきた信号を処理する部分を、Level-1 カロリメータ（L1Calo）と呼ぶ。L1Calo は TBB から Trigger Tower に足しあわされたアナログ信号およびタイルカロリメータの読み出し系から同様の信号を受け取る。L1Calo のブロック図を図 3.9 に示す。

図 3.9

L1Calo のブロック図 [1]。

電磁カロリメータおよびハドロンカロリメータからアナログ信号を受け取る。

L1Calo は以下のものから構成されている。
• Pre-Processor Module（PPM）：アナログ Trigger Tower 信号を 40 MHz でサンプリングし、パルスの波形を用いてどのバンチで交差したのかを同定（Bunch Crossing IDentification: BCID）する。また、ルックアッ
プテーブルを用いて、横方向エネルギーを計算する。このデジタルデータは後続の CPM と JEM に送られる。

• Cluster Processor Module（CPM）：各 CPM は与えられたカロリメータ領域の ∆η × ∆ϕ = 0.1 × 0.1 に落としたエネルギーから、アイソレートした電子、光子および τ レプトンの候補を同定する。窓関数（無限に長い
非周期信号の解析を可能にするために、ある有限区間以外のサンプリング値を 0 にし、有限区間を周期とする
擬似的な周期信号を作り出す関数の総称）を用いて Region of Interest（RoI）が定義され、EM アイソレー
ションおよびハドロニックアイソレーションがクラスターから計算される。

• Jet Energy Module（JEM）：各 JEM は与えられたカロリメータ領域の ∆η × ∆ϕ = 0.2 × 0.2 に落としたエネルギーから、ジェット候補を同定する。CPM 同様、窓関数を用いて RoI が定義される。また、全横方向エ
ネルギーの和と消失横方向エネルギーも計算される。

• Common Merger Module（CMM）：CPM と JEM の結果（設定されたエネルギー閾値をこえた事象の数）はクレートのバックプレーンに送られ、Central Trigger Processor（CTP）へ送信される前に CMM で足し上げられる。

Level-1 Accept（L1A）信号を受け取ったあと、L1Calo は読み出しデータと RoI を ROD によって High-Level
Trigger（HLT）へ提供する。

3.3 液体アルゴンカロリメータのアップグレード
液体アルゴンカロリメータのアップグレード計画について説明する。

3.3 液体アルゴンカロリメータのアップグレード

37

3.3.1 Phase-0
Phase-0 において、液体アルゴンカロリメータとその読み出し系に大きな変更点はない。しかし、後述する Phase-I
アップグレードで追加される新たな読み出しエレクトロニクスの性能を Run 2 において実データで評価するために、

0 < η < 1.4, 0 < ϕ < 0.4 の領域に対して Demonstrator ボードが挿入された。Demonstrator ボードは図 3.10 における LAr Trigger Digitizer Board（LTDB）から Feature EXtractor（FEX）までの新規フローの性能を、既存のトリガーフローのパフォーマンスに影響を与えずに確認する必要がある。そのため、Demonstrator ボードの挿入によって信号ラインの数が増加するベースプレーンを、新たに改良したベースプレーンに交換する作業が行われた。

3.3.2 Phase-I
LHC のビームエネルギーとルミノシティを強化していくと、1 回の交差あたりの衝突事象が増加し、トリガー条件を通過する事象が増えることが予想される。Phase-I アップグレードの目的のひとつは、そのような状況下でもトリ
ガーレートを維持し、かつ取得する事象の横方向運動量の閾値を上げないことである。そのため、液体アルゴンカロ
リメータにおいても次のことを主眼において、いくつかのアップグレードが予定されている。

• ジェットのシャワーの広がりと比較して電磁シャワーは格段に細いことを利用し、L1Calo において高精度のシャワー形状情報を用いてバックグラウンドのジェットを効率よく落とす。

• オフライン解析と同等の物理アクセプタンスを保ちながらもトリガーレートを効率的に下げるために、L1 におけるジェットと消失横方向運動量の分解能を改善する。

Super Cell
現行のカロリメータトリガー情報は、入射粒子が ∆η × ∆ϕ = 0.1 × 0.1 の領域にわたって落としたエネルギーを縦方向のレイヤーすべてで足し合わせ、その和を Trigger Tower として読み出している。このプロセスはフロントエン
ドのアナログエレクトロニクスで行われている。Phase-I アップグレードではより細かいセグメントで信号を読み出すために、L1 トリガー用に Super Cell という読み出し構造を導入する。これは Trigger Tower と違い、全 η 領域にわたって各レイヤーの情報を個別に読み出す。さらに、|η| < 2.5 においては、front レイヤーと middle レイヤーは∆η × ∆ϕ = 0.025 × 0.1 を 1 つのセルの単位として読み出す。表 3.4 に EMB における読み出しセルの大きさをまとめる。
表 3.4 EMB における Trigger Tower と Super Cell の読み出しセルサイズの比較 [1]。

セルの基本サイズ

Trigger Tower

レイヤー∆η × ∆ϕnη × nϕ0

Presampler

0.025 × 0.1

4×1

1

Front

0.003125 × 0.1

32 × 1

2

Middle0.025 × 0.025

4×4

3

Back

0.05 × 0.025

2×4∆η × ∆ϕ

0.1 × 0.1

Super Cellnη × nϕ∆η × ∆ϕ4×1

0.1 × 0.1

8×1

0.025 × 0.1

1×4

0.025 × 0.1

2×4

0.1 × 0.1

L1 トリガー0.1 × 0.1 領域での

1

10

読み出し数
電磁シャワーの広がりは ∆R ≈ 0.08 程度、ジェットの広がりは ∆R ≈ 0.8 程度である。したがって、Super Cellの導入でセグメントを細かくすることにより、電磁シャワーやジェットの形状の情報を得ることができ、トリガーにおいて効率よくジェットを落とすことが可能になる。

第3章

38

液体アルゴンカロリメータ

読み出し系Super Cell の導入により、電磁シャワーやジェットの形状の情報を得ることができる反面、読み出し信号が増大
したり、L1Calo の前段階でエネルギーを再構成する必要が生じる。そこで、フロントエンドからバックエンドにかけて、液体アルゴンカロリメータの読み出し系に新たなエレクトロニクスの実装が予定されている。図 3.10 は、

Phase-I アップグレード後の液体アルゴンカロリメータの読み出し系を示している。

図 3.10Phase-I アップグレード後の液体アルゴンカロリメータの読み出し系 [1]。

赤線で囲われているのが、新たに挿入される部分および改良の加わる部分。

FE エレクトロニクスのシステム自体は現行のものを基本的にそのまま残す。ただし、BE エレクトロニクスの拡張などに対応するために、以下に示す FE エレクトロニクスも交換および導入される必要がある。

• 新 LSB：現行の LSB はカロリメータの各レイヤーで ∆η × ∆ϕ = 0.1 × 0.1 の信号のアナログ和を生成するた
めに FEB に差し込まれている。Phase-I アップグレード後、新 LSB は Super Cell に対応するために、front
レイヤーと middle レイヤーでより細かいセグメント ∆η × ∆ϕ = 0.025 × 0.1 の信号を生成する必要がある。

• LTDB（LAr Trigger Digitizer Board）：Super Cell 信号を受け取り、デジタル化してトリガー系統の BE エ
レクトロニクスへと送るために新たに導入される。また、アナログのままレイヤーでの足し合わせを行った信号を形成して TBB へと送り、現行のアナログトリガーに影響を及ぼさないようにすることも重要である。

• 新ベースプレーン：他の FE エレクトロニクスのためのスロットを維持しながら LTDB のために新たなスロッ
トを割り当てるために改良が求められる。また、FEB から LTDB へ送られる信号線が加わることで、現行のものに比べて信号線の数が非常に増えることにも対応する必要がある。

BE エレクトロニクスには新たに LAr Digital Processing System（LDPS）が挿入される。LDPS 導入の主な目的
は大容量のデータを効率的に扱うことである。LDPS は 124 枚の LTDB から 34,000 個の Super Cell のデータを約

3.3 液体アルゴンカロリメータのアップグレード

39

25 Tbps で受け取り、25 ns ごとに各 Super Cell の横方向エネルギーを計算して、その結果を約 41 Tbps で L1Caloへと送らなければならない。LDPS のブロック図を図 3.11 に示す。

図 3.11 LTDB と LDPS のブロック図 [1]。
青いモジュールは ATLAS LAr グループが、黄色いモジュールは ATLAS TDAQ グループがそれぞれ開発を行っている。

LDPS の主要な機能は以下の通りである。
• LTDB から ADC データを受け取り、各 Super Cell においてエネルギーを再構成し、その値を L1Calo へ送る。LDPS はデジタル信号処理のために 31 個の LAr Digital Processing Blade（LDPB）を含んでいる。各

LDPB はキャリアボードとそれに搭載された 4 枚の Advanced Mezzanine Card（AMC）から構成されており、LDPS には合計 124 枚の AMC が含まれている。AMC には FPGA が搭載され、1 つの AMC あたり最大 320 個の Super Cell のエネルギー再構成計算を行う。エネルギー再構成にはフィルタリングアルゴリズムが用いられる。

• LTDB と LDPB に対して ATLAS の TTC 信号を分配する。TTC 信号は TTC partition から FrontEnd
Link Interface eXchange（FELIX）を経由して送られる。FELIX は ATLAS LAr グループではなく、ATLASTDAQ グループによって開発が進められている。
• LDPS に含まれる各種ボードをコンフィギュレーションする。また、LTDB のコンフィギュレーションも可能。
• TDAQ（Trigger DAQ）およびその他のデータをモニタリングする。Partition Master PC（PM PC）はギガ
ビットイーサネットと TDAQ ネットワークにより、LTDB と LDPS をコンフィギュレーションおよびモニタリングすることが可能。また、PC farm は LDPB のデータを 10/40 ギガビットイーサネットを用いてモニタリングが可能。

• スローコントロールのために、ハードウェアの状態に関する情報を ATLAS Detector and Control System（DCS）へと送信する。

LDPS の後続には、Feature EXtractor（FEX）と呼ばれる改良されたトリガープロセッサが設置され、高精度の情報を提供する。

Phase-I で挿入される新しいトリガーエレクトロニクスは、Phase-II で交換されるトリガーエレクトロニクスとあ
わせて、HL-LHC の期間も使われる予定である。

第3章

40

液体アルゴンカロリメータ

3.3.3 Phase-II
Phase-II アップグレードではレガシーシステムが撤去される。また、2 つある読み出しフローのうち、メインのDAQ フローを担当するフロントエンドエレクトロニクスおよび ROD が新しいエレクトロニクスに置き換えられる。
図 3.12 は、Phase-II アップグレード後の液体アルゴンカロリメータの読み出し系を示している。
現行のハードウェアベースの L1 トリガーは、Level-0（L0）と Level-1（L1）のふたつに分割される。L0 トリガーの核となるのは、Phase-I アップグレードで挿入した LTDB、LDPS、FEX である。一方、新 L1 トリガーはさらなるバックグラウンド事象の排他のために、カロリメータのセグメントをフルに使った情報を元に処理を行う。

図 3.12Phase-II アップグレード後の液体アルゴンカロリメータの読み出し系 [1]。

灰色で示されている部分は、撤去されるレガシーシステム。

3.4 フィルタリングアルゴリズムの実装環境
Phase-I アップグレード後、それまで L1 トリガー以降で行われていたエネルギー再構成の計算は、BE エレクトロニクスの LDPS で行われることになる。本節では、液体アルゴンカロリメータの読み出し系において、フィルタリン
グアルゴリズムが信号を処理する環境と制約について述べる。

3.4.1 AMC と処理するデータ量
前節で説明したとおり、LDPS に含まれる 31 枚の LDPB と呼ばれるボードには、1 枚あたり 4 枚の AMC が取り付けられている。フィルタリングアルゴリズムは、この AMC にのせられた FPGA に実装される。

AMC の入力信号は図 3.8 に示すように、バイポーラ波形を LHC の 40 MHz クロックでサンプリングしたデジタ3.4 フィルタリングアルゴリズムの実装環境

41

ル信号である。バイポーラ波形は LDPS の前段にあたる LTDB において、ADC を用いて離散値化が行われる。離散値化されたデジタル信号の桁数には 12 ビットが割り当てられる。Presampler、front、back の 3 つのレイヤーに対しては ET = 32 MeV で、粒子の通過する距離が長く、粒子の落とすエネルギーが大きい middle レイヤーに対しては ET = 125 MeV で離散値化する。したがって、信号のベースラインが最大値の 20% 程度にセットされているとき、middle レイヤーに対しては ET = 400 GeV まで、それ以外のレイヤーに対しては ET = 102 GeV まで横方向
エネルギーの精度を落とさず処理することができる。入力信号がこれらの値を超えると、サチュレーションが生じる
ため、波形がなまってしまう。各レイヤーにおける離散値化の間隔は、アップグレード後のトリガーシステムが要求するエネルギー精度と、入射時刻を正確に記録したいエネルギー領域との兼ね合いから決められた。カロリメータの電極にかかる電圧がなんらかの障害により下がってしまうと、発生するイオン化信号が減少し、AMC の入力信号も小さくなってしまう。先述した離散値化の値は、たとえ高電圧電源の異常により入力信号の波高が半値になったとしても、トリガーからの精度の要求を満たせるようになっている。また、LTDB の前段のアナログパートにおいてもサ
チュレーションが起こりうる。例えば、middle レイヤーでは |η| に依存して、ET = 350 GeV から ET = 1 TeV 程度でサチュレーションを起こす。

Phase-I アップグレードにより 124 枚の LTDB が実装される。対して、AMC も 124 枚実装され、1 枚の AMC は
1 枚の LTDB に対応する。LTDB は 1 枚あたり最大 320 個の Super Cell の情報を処理する。ベースプレーンに挿入される各カロリメータに対応した LTDB の枚数と、1 枚あたりで処理するチャンネル数を表 3.5 にまとめる。ただし、EMB クレートと HEC クレート、EMEC のスタンダードクレートにおいては、ベースプレーンあたり LTDB は1 枚だが、EMEC のスペシャルクレートと FCal クレートにおいてはベースプレーンあたり LTDB が 2 枚含まれているため、それぞれの LTDB に 0 と 1 でラベル付けをしている。
表 3.5 LTDB の種類と枚数 [1]。

LTDB の種類

1 枚の LTDB が担当するチャンネル数

LTDB の枚数

EMB

290

64

EMEC Std

312

32

EMEC Spc 0240

8EMEC Spc 1

160

8

HEC

192

8

FCal 0192

2

FCal 1

192

2

合計

124

LTDB は ADC でデジタル化したデータを 40 本のファイバーで AMC へシリアル送信する。このとき、1 本のファイバーあたり 5.12 Gbps の高速光通信が行われ、1 枚の LTDB あたり 204.8 Gbps でデータを送信している。AMC
は LDPB のキャリアボードに 4 枚搭載することから、LTDB の送信データと同じデータレートで受信しなければい
けないにもかかわらず、ボードサイズ 156 mm × 73.5 mm の制約によりレシーバに使える部品が限られる。この問題を解決するために使われる光通信コネクタが、Avago 社の MicroPOD [10] である。例として、レシーバである

AFBR-78D1SZ はフットプリントが 7.8 mm × 8.2 mm × 3.9 mm で、12 レーンのリボンケーブルにより光通信を行う。1 レーンあたり最大 10.3125 Gbps の通信が可能で、コネクタ 1 つあたりの最大データレートは 120 Gbps に達する。この型番か、さらに上位のコネクタが使われるかは確定していないが、1 枚の AMC に MicroPOD を 4 対搭載することにより、AMC と LTDB を各 1 枚ずつで対応させることができる。

AMC から L1Calo の FEX へとデータを送る際にも MicroPOD が用いられる予定である。例として、トランス
ミッタの AFBR-77D13SZ はフットプリント、レーン数およびデータレートの各数値でレシーバと同等の性能をもつ。AMC からデータを送る先は、eFEX（electron Feature EXtractor）、jFEX（jet Feature EXtractor）、gFEX（global Feature EXtractor）の 3 つに分かれる。eFEX と jFEX には Super Cell の大きさに足し合わせた横方向エ
ネルギーを送る。gFEX に対しては、∆η × ∆ϕ = 0.2 × 0.2 の範囲の Super Cell に落とされた横方向エネルギーの和を送る。また、eFEX と jFEX に送るデータは後続での時間のロスを減らすため、あらかじめ二重に複製して送ら

第3章

42

液体アルゴンカロリメータれる。
例として、eFEX へデータを送る際のビットレートを計算する。eFEX へのデータでは、1 つの Super Cell あたり
エネルギーに対して 10 ビット、クオリティビットとして 1 ビットの計 11 ビットの情報をもつ。1 つのファイバーあたり 2 つの Trigger Tower をカバーする分の Super Cell、つまり 20 セル分を送る。また送信データの頭には 8 ビッ
トないし 10 ビットをつけることになっている。このデータが 40 MHz の LHC クロックに合わせて送信されるので、

1 ファイバーあたりのビットレートは、(11 ビット × 20 SuperCells + 10 ビット) × 40 MHz = 9.2 Gbps となる。1枚の AMC あたり最大 320 個の Super Cell を担当するので、必要なファイバーの本数は 16 本である。さらに eFEX
はデータの複製が必要なことを考慮に入れると、1 枚の AMC あたりで eFEX のために必要なファイバーは 32 本で、ビットレートは約 300 Gbps に達する。
各 FEX へと送るデータとファイバーの数を表 3.6 にまとめる。jFEX と gFEX も eFEX 同様、1 本のファイバーあたりのビットレートが約 10 Gbps となるが、MicroPOD はこの条件を満たすことが可能である。また、全 FEX へのファイバー本数は、4 個の MicroPOD の合計レーン数である 48 本を下回っている。
表 3.6 AMC から各 FEX へ送るデータとファイバーの数 [1]。

eFEX

jFEX

gFEX

エネルギー値に割り当てられるビット数

10

14

14

1 セットのデータに使うファイバー数

16

2

1

データ複製の要求

あり

あり

なし

AMC あたりのファイバー数の合計

32

4

1

本小節の冒頭で述べたとおり、フィルタリングアルゴリズムは AMC 上に設置された FPGA に実装されるが、1 つの FPGA でこれだけのデータを並列に処理する必要がある。また、AMC の FPGA はフィルタリングアルゴリズム
以外にも、データ送受信やモニタリング、キャリアボードとの通信といった用途にも回路のリソースを使用するため、実装されるフィルタリングアルゴリズムは回路規模を最適化する必要がある。図 3.13 に LDPB のキャリアボードとAMC のブロック図を示す。

図 3.13 LDPB のキャリアボードと AMC のブロック図 [1]。
フィルタリングアルゴリズムは AMC の FPGA に実装される。

3.4 フィルタリングアルゴリズムの実装環境

43

3.4.2 レイテンシの要求
ATLAS では、バンチ交差の間隔を時間の基本単位として考えるとき、BC（Bunch Crossing）という単位を用いる。LHC のクロックは 40 MHz なので、1 BC = 25 ns である。

Phase-I アップグレード後の液体アルゴンカロリメータのトリガーフローに割り当てられるレイテンシは、最大で65 BC（1.625 µs）である。現在の計画では、粒子がカロリメータに入射してから LTDB に成形した信号を送り始めるまでに約 2 BC、LTDB でデジタル化などの処理を行って LDPS へ信号を送るまでに約 27 BC、LDPS でエネル
ギー再構成を行って FEX へ信号を送るまでに約 44 BC、FEX での処理を終えるまでに約 58 BC かかることになっており、65 BC に対して若干の余裕を持たせている。表 3.7 は、各段階でのレイテンシと積算されたレイテンシをまとめたものである。LDPS でフィルタリングアルゴリズムを行う際のレイテンシの制約は、表 3.7 の ET calculationの欄に相当し、125 ns（5 BC）である。したがって、計算時間を考慮すると、実装可能なフィルタリングアルゴリズ
ムは LDPS に信号が入射後、最大 4 BC 後のサンプリングまで利用するものに限られる。
表 3.7 Phase-I アップグレード後の液体アルゴンカロリメータのトリガーフローにおけるレイテンシ [1]。

レイテンシ

[ns]

[BC]

Time-of-flight at η = 2

15

0.6

Cable to pulse preamplifier

30

1.2

Preamplifier and shaper

10

0.4

Digitization on LTDB

200

8.0

Multiplexing on LTDB

25

1.0

Serializer on LTDB

50

2.0

Optical cable (70m) from LTDB to LDPS

349

14.0

Deserializer on LDPS

50

2.0

Channel Demultiplexing on LDPS

25

1.0

Pedestal Subtraction

25

1.0

ET calculation

125

5.0

Digital summation

50

2.0

Multiplexing 40 - 320MHz on LDPS

25

1.0

Serializer on LDPS

50

2.0

Optical cable (15m) from LDPS to FEX

75

3.0

Processing on FEX and transmitting to Topological processor

Maximum latency for the LAr trigger readout electronics

350

各段階の和

全段階の積算

[BC]

[BC]

2.2

2.2

25.0

27.2

17.0

44.2

14.0

58.2

14.0

65.0

本論文の目的
ここで、本論文の目的を再確認しておく。Phase-I アップグレードでは、LHC の高輝度化に伴うパイルアップ増大に対しても、L1 トリガーレートを維持したままトリガーのエネルギー閾値を抑えることを目的として、さまざまな改善が行われる。液体アルゴンカロリメータのアップグレードの一環として、カロリメータの読み出しセグメントを
従来の Trigger Tower からより細かい Super Cell へと変更することで、エネルギー分解能やジェットの形状に関する情報が改善される反面、扱うデータ量が著しく増加することが予想される。したがって、大容量データを効率的に

44

第3章

液体アルゴンカロリメータ

処理するために、液体アルゴンカロリメータ読み出し系の BE エレクトロニクスとして LDPS が導入される。LDPSに含まれる 31 枚の LDPB には、1 枚あたり 4 枚の AMC が取り付けられる。AMC には FPGA が搭載され、エネルギー再構成のためのフィルタリングアルゴリズムが実装される。本論文の目的は、この FPGA に実装されるフィルタリングアルゴリズムを開発および評価することである。フィルタリングアルゴリズムには論理的なパフォーマン
スだけでなく、カロリメータの読み出し系に実装するにあたって、回路規模やレイテンシといった各要請を満たす必要がある。各フィルタリングアルゴリズムの具体的な原理に関しては次章で詳しく説明する。

45

第4章

フィルタリングアルゴリズム
本章では、フィルタリングアルゴリズムについて主に理論の面から説明を施す。ここで紹介するいくつかのフィル
タリングアルゴリズムの性能評価については、第 5 章と第 6 章で詳しく説明する。

4.1 フィルタリングアルゴリズムの概要
本研究の主題であるデジタル信号処理（Digital Signal Processing: DSP）とフィルタリングアルゴリズム（filtering

algorithm）について、簡単にその内容を述べる。
信号処理分野では、ある入力信号があったとき、その入力信号に依存した出力信号を与える仕組みおよび仕組みを持つものをシステムと呼ぶ。特に、入力信号から必要な信号成分を強調したり、ノイズを除去するなどして、目的の信号以外を抑制するシステムをフィルタと呼び、そのフィルタのプロセスや理論となるアルゴリズムを指してフィル
タリングアルゴリズムという言葉を用いる。例として、入力信号のうち、ある周波数以下の成分を通すローパスフィ
ルタや、逆に高周波成分のみを通過させるハイパスフィルタなどがある。
本論文で扱うフィルタリングアルゴリズムは、最終的にデジタル回路に実装され、デジタル信号処理として実行される。したがって、本節でも入出力信号がデジタル信号である場合を前提に説明を行う。デジタル信号処理において、入力信号は元となるアナログ信号からクロック信号の立ち上がりに合わせて取得した値の離散的なシークエンスである。この過程および取得した値をサンプリングと呼ぶ。出力信号も、クロック信号の立ち上がりに合わせて離散的なシークエンスとして与えられる。
出力信号が入力信号の有限個のサンプリングのみに依存するフィルタを有限インパルス応答（Finite Impulse

Response: FIR）であるという（厳密な定義ではないが、本論文ではこれ以上説明しない）。例として、m 回目のク
ロックの立ち上がりにおける入力信号を x (m)、出力信号を y (m) とすると、N + 1 個のサンプリングに依存する

FIR フィルタは、
y (m) = a0 x (m) + a1 x (m − 1) + · · · + aN x (m − N )(4.1)のように書ける。ここで、ai はフィルタ係数である。式 (4.1) において、N は次数あるいはタップ数と呼ばれる。N
タップ FIR フィルタは右辺に N + 1 個の項をもつ。また、式 (4.1) は、

y (m) =

N∑ai x (m − i)

(4.2)

i=0

のように、フィルタ係数 ai と入力信号 x (m) の畳み込み和として表現できる。
一方、出力信号が入力信号の無限個のサンプリングに依存するフィルタを無限インパルス応答（Infinite Impulse

Response: IIR）であるという。しかし、実行的に無限個のサンプリングを足し上げることは困難であるので、デジタル回路に実装する際には、フィルタ係数 ai と入力信号 x (m) の畳み込み和に出力信号のフィードバックを加えて、

y (m) =

N∑i=0

ai x (m − i) +

M
∑
j=1

bi y (m − j)(4.3)

第 4 章 フィルタリングアルゴリズム

46のようにあらわされる。ここで、bi はフィードバック係数である。上記のように IIR フィルタはフィードバックを含んでいるため、FIR フィルタに比べて低次で良い特性が得られる。その反面、動作が不安定になったり、誤差が蓄積しやすいという欠点も併せ持っている。
入力信号に対する出力信号の応答特性が時間に依らない、つまり同じ入力信号シークエンスを得たらシークエンスの時間原点が異なっていても同じ出力信号シークエンスを返すフィルタを時不変であるという。逆に、応答特性が時間に依るフィルタは時変と呼ばれ、システムを実行しながらフィルタの入力信号にあわせてフィルタ係数のキャリブ
レーションを行い続ける適応フィルタ（adaptive filter）などはその代表例である。
入力信号 x (m) に対するフィルタの出力信号を y (m) = F (x (m)) とあらわすとき、F (x1 (m) + x1 (m)) = F (x1 (m)) + F (x2 (m))
F (αx (m)) = αF (x (m))(4.4a)(4.4b)の 2 式を満たすとき、重ね合わせの原理が成立しているという。ここで、α は定数である。重ね合わせの原理が成立しているフィルタは線形であると表現され、さらに線形かつ時不変なフィルタは線形時不変であるという。
液体アルゴンカロリメータの読み出しシステムは基本的に線形時不変と考えてよく、この先の節で紹介するフィル
タは線形時不変な FIR フィルタが中心となる。

4.2 現行のフィルタリングアルゴリズム
ATLAS 液体アルゴンカロリメータの読み出し信号からエネルギー値を再構成するため、フィルタリングアルゴリ
ズムが適用される。現行のシステムでは ROD で Optimal filter [11] が適用されている。ここで、簡単に Optimalfilter の原理を述べる。

4.2.1 Optimal filter の原理
カロリメータから送られてくる信号 S は、規格化された理想的な入力信号 g に波高 A をかけたものに等しいので、ある時刻 ti における入力信号 Si は、

Si = Ag (ti − τ )(4.5)とあらわせる。ここで、τ は信号の理想的な入力時刻からのずれをあらわしている。また、前章で紹介したように、
波高 A は信号を引き起こした入射粒子がカロリメータ内で落としたエネルギー値に比例している。Optimal filter は
入力信号の N 個のサンプリング S0 , . . . , SN −1 を線形結合することで波高 A と入力時刻のずれ τ を求める。その際、ノイズによる影響を抑えるための工夫がなされている。まず、2 つの線形和を、

u=

N
−1
∑

ai Si

(4.6a)

bi Si(4.6b)

i=0

v=

N
−1
∑
i=0

のように定義する。一方、式 (4.5) を τ の 1 次まで Taylor 展開すると、

Si = Ag (ti ) − Aτ g ′ (ti ) + niとなる。ここで、g ′ (ti ) は時間の変数 t を用いて g ′ (ti ) =

(4.7)

dg(t)
dt |t=ti と表現される。また、ノイズ（熱ノイズとパイル

アップノイズ）による影響をあらわした項として ni が付加されている。ここで、多数回試行における u の期待値が

4.2 現行のフィルタリングアルゴリズム

47

波高 A、v の期待値が波高と時刻のずれの積 Aτ に一致するような線形結合の係数 ai , bi を求める。つまり、A ≡ ⟨u⟩ =

N
−1{
∑
i=0

=

N
−1{
∑

⟨Aai g (ti )⟩ − ⟨Aτ ai g ′ (ti )⟩ + ⟨ai ni ⟩}Aai g (ti ) − Aτ ai g (ti ) + ai ⟨ni ⟩′i=0Aτ ≡ ⟨v⟩ =

N
−1{
∑

}

′

(4.8a)}

Abi g (ti ) − Aτ bi g (ti ) + bi ⟨ni ⟩(4.8b)

i=0と設定する。ここで、多数回試行においてランダムなノイズ ni 以外は固定された値だと仮定している。左辺と右辺を比較すると、この条件を満たすような Optimal filter の係数（Optimal filter coeﬃcients: OFC）ai , bi は、
N−1∑

ai g (ti ) = 1(4.9a)

ai g ′ (ti ) = 0(4.9b)

i=0
N
−1
∑
i=0
N
−1
∑

bi g (ti ) = 0(4.9c)

bi g ′ (ti ) = −1

(4.9d)

i=0
N
−1
∑
i=0

の制限をもつことがわかる。ここで、カロリメータからの入力信号に含まれるノイズは時間平均すると 0、つまり多数回試行においては ⟨ni ⟩ = 0 である。⟨ni ⟩ = 0 および式 (4.9a)〜(4.9d) を用いると、u の分散 Var (u) と v の分散

Var (v) は、
Var (u) = ⟨u2 ⟩ − ⟨u⟩2
⟨N −1{
} N∑
}⟩
−1{
∑
=
Aai g (ti ) − Aτ ai g ′ (ti ) + ai ni
Aaj g (tj ) − Aτ aj g ′ (tj ) + aj nj
i=0

−
⟨(
=

j=0

N
−1{
∑

} N∑
}
−1{
′
Aai g (ti ) − Aτ ai g (ti ) + ai ⟨ni ⟩Aaj g (tj ) − Aτ aj g (tj ) + aj ⟨nj ⟩
′

i=0

A+

j=0

N
−1
∑

⟩
)
N
−1
∑
ai ni A +aj nj  − A2

i=0

j=0

N
−1
∑

N
−1
∑



= A2 + Aai ⟨ni ⟩ + A

i=0

=

N
−1 N
−1
∑
∑

j=0

aj ⟨nj ⟩ +

N
−1 N
−1
∑
∑


ai aj ⟨ni nj ⟩ − A2

i=0 j=0ai aj ⟨ni nj ⟩i=0 j=0

≡

N
−1 N
−1
∑
∑

ai aj Rij

(4.10a)i=0 j=0

Var (v) = ⟨v 2 ⟩ − ⟨v⟩2
=

N
−1 N
−1
∑
∑

bi bj ⟨ni nj ⟩i=0 j=0

≡

N
−1 N
−1
∑
∑

bi bj Rij

(4.10b)i=0 j=0となる。式 (4.10a), (4.10b) に含まれる Rij = ⟨ni nj ⟩ は、時間 ti − tj におけるノイズの自己相関関数をあらわしている。

第 4 章 フィルタリングアルゴリズム

48

Optimal filter はノイズの影響を抑えるために、u の分散 Var (u) と v の分散 Var (v) が最小になるような OFC
ai , bi を要求する。ここで、Lagrange の未定乗数法を用いて、
Iu =

N
−1 N
−1
∑
∑

Rij ai aj − λ

(N −1
∑

i=0 j=0

Iv =

−1
N
−1 N
∑
∑

)
ai g (ti ) − 1

i=0

Rij bi bj − µN−1∑bi g (ti ) − ρ

(N −1
∑

ai g ′ (ti )i=0(4.11a))bi g ′ (ti ) + 1(4.11b)i=0

i=0

i=0 j=0

−κ

N
−1
∑

の 2 式を得る。ここで、λ, κ, µ, ρ は Lagrange 乗数である。式 (4.11a) と (4.11b) の極値を求めるため、それぞれ

OFC ai , bi で偏微分したものを 0 とおくと、
N
−1
∑
∂Iu
=
Rij aj − λg (ti ) − κg ′ (ti ) = 0∂ai
j=0(4.12a)

N
−1
∑
∂Iv
=
Rij bj − µg (ti ) − ρg ′ (ti ) = 0∂bi
j=0(4.12b)となる。これを整理して行列形式で書き直せば、

a = λR−1 g + κR−1 g ′b = µR−1

g + ρR(4.13a)−1 ′g(4.13b)となり、OFC ベクトル a, b の表式を得る。

Lagrange 乗数を決定するために、(4.13a) の両辺に左からそれぞれ g T , g ′ をかけると、T

g · a = λg T R−1 g + κg T R−1 g ′(4.14a)g ′ · a = λg ′ R−1 g + κg ′ R−1 g ′(4.14b)TTg · b = µg R
T

−1

T

g + ρg R−1 ′g

g ′ · b = µg R−1 g + ρg R−1 g ′′T′T(4.14c)(4.14d)となる。これらの左辺はそれぞれ式 (4.9a)〜(4.9d) の行列表示なので、

λg T R−1 g + κg T R−1 g ′ = 1
′T

−1

T

−1

λg R

µg R

−1 ′

(4.15b)T−1 ′(4.15c)g + κg R
g + ρg R

g =0
g =0

µg ′ R−1 g + ρg ′ R−1 g ′ = −1
TT

(4.15a)′T(4.15d)を得る。式 (4.15a) と (4.15b)、式 (4.15c) と (4.15d) を連立すると、Lagrange 乗数はそれぞれ、

λ=g ′ R−1 g ′()2T
g T R−1 gg ′ R−1 g ′ − g T R−1 g ′(4.16a)κ=−g T R−1 g ′()2T
g T R−1 gg ′ R−1 g ′ − g T R−1 g ′(4.16b)µ=g T R−1 g ′()2T
g T R−1 gg ′ R−1 g ′ − g T R−1 g ′(4.16c)ρ=−g ′ R−1 g ′()2T
g T R−1 gg ′ R−1 g ′ − g T R−1 g ′(4.16d)T

Tと求まる。したがって、規格化された理想的な入力信号 g とノイズの自己相関行列 R がわかれば、式 (4.13a), (4.16a),(4.16b) から a が、式 (4.13b), (4.16c), (4.16d) から b がそれぞれ算出できる。

4.3 他のフィルタリングアルゴリズム

49

4.2.2 Optimal filter の選択条件
ノイズの効果を最小に抑える工夫を加えたとしても、その影響を完全になくすことはできない。フィルタリングア
ルゴリズムの出力値は、入力信号に付加されたノイズの影響を反映しているため、望まれる出力値からずれる。そこで、誤った計算結果を排除するため、フィルタリングアルゴリズムはその出力に対する選択条件とあわせて使われる。
フィルタリングアルゴリズムの計算結果は選択条件を満たすと有効になり、満たさない場合は破棄され、0 として扱われる。Optimal filter も正しい計算値だけを有効にするために、さまざまな選択条件とともに用いられるが、ここではその一例を紹介する。

Thresholder
Thresholder はフィルタリングアルゴリズムの結果が、決められた閾値を超えていればその値を有効にする選択条件である。フィルタリングアルゴリズムで再構成されたエネルギー Ai をカットするかどうか判断する閾値を tcut とあらわすと、選択条件は、

Ai > tcut(4.17)となる。

Maximumfinder
フィルタリングアルゴリズムによるエネルギー再構成の計算は、各 BC で行われる。Maximumfinder は Thresh-

older の条件に加え、前後の BC で計算されたエネルギー値と比較し、3 つの計算値の中で最大ならその値を有効にする選択条件で、

Ai > tcut ∧ Ai−1 < Ai ∧ Ai > Ai+1

(4.18)のようにあらわせる。ある BC の計算結果を有効にするために次の BC の計算結果も判断材料として用いるので、フィルタリングアルゴリズムのレイテンシが 1 BC（25 ns）増える。

Shapedetector
Shapedetector は入力信号 Si とフィルタリングアルゴリズムの計算結果との差をチェックする。規格化された理想的な信号波形を gi としたとき、この選択条件は、|Si − gi A| <

1
gi A
2N

(4.19)

であらわされる。右辺の N は任意のパラメータで、2−N のファクターはデジタル回路に実装しやすいメリットを持っている。

4.3 他のフィルタリングアルゴリズム
ATLAS LAr グループでは、他の新たなフィルタリングアルゴリズムの候補として Wiener filter [12] が研究されている。その原理を簡潔に述べる。

4.3.1 Wiener filter の原理
Wiener filter は 1949 年に Norbert Wiener によって定式化された、定常な時系列におけるフィルタリングアルゴ
リズムである。現在では、音声強調や画像のノイズ除去、手ぶれ修正など、幅広く応用されている。その原理は最小二乗法の考えに基づいており、この節では特に FIR フィルタに絞って説明する。

第 4 章 フィルタリングアルゴリズム

50

m 回目のクロックの立ち上がりにおける Wiener filter の出力信号を x̂ (m)、入力信号を y (m) とする。線形結合の項の数が P である Wiener filter は、畳み込み和あるいはベクトル内積を用いて、

x̂ (m) =P−1∑

wk y (m − k)

(4.20)

k=0
T

=w y

(4.21)と表現される。ここで、wk は Wiener filter の係数（Wiener filter coeﬃcients: WFC）である。一般に入力信号 y
は本来観測したい原信号（original signal）x にノイズ等が付加されたものとして観測される。エラー信号 e (m) を原
信号 x (m) と出力信号 x̂ (m) の差によって、e (m) = x (m) − x̂ (m)= x (m) − wT y

(4.22)と定義する。１つの信号シークエンスから P 点サンプリングして式 (4.22) を書き下す過程を、サンプリングを開始する位置を 1 つずつずらしながら N 回行い、N 個のエラー信号の式を行列形式であらわすと、





e (0)
e (1)
e (2)
..
.










 
 
 
=
 
 

e (N − 1)



x (0)
x (1)
x (2)
..
.



y (0)
y (1)
y (2)
..
.

 
 
 
−
 
 

x (N − 1)y (−2)y (−1)
y (0)
..
.

···
···
···
..
.

y (1 − P )y (2 − P )y (3 − P )..
.

y (N − 2) y (N − 3)···y (N − P )y (−1)
y (0)
y (1)
..
.

y (N − 1)









w0
w1
w2
..
.









wP −1
(4.23)となる。ベクトル表現を用いると、

e=x−Yw(4.24)のようにコンパクトにあらわせる。以下では、式 (4.23) が解ける状況を考えるため、N > P とする。
実行的な問題として、一般的に原信号 x (m) を観測することは難しい。そこで、Wiener filter では WFC を求めるために、原信号 x (m) と出力信号 x̂ (m) の最小二乗誤差を利用する。WFC ベクトル w に関する平均二乗誤差[]
E e2 (m) は、

[(
[
]
)2 ]
E e2 (m) = E x (m) − wT y[][]
= E x2 (m) − 2wT E [yx (m)] + wT E yy T
= rxx (0) − 2wT ryx + wT Ryy w(4.25)と書ける。ここで、Ryy は入力信号の自己相関関数行列、ryx は入力信号と原信号の相互相関行列である。FIR フィ
ルタの平均二乗誤差は WFC ベクトル w の 2 次関数であり、単一の最小点を持つので、式 (4.25) を WFC ベクトルw で偏微分したものを 0 とすると、
[
]
[
]
∂
E e2 (m) = −2E [yx (m)] + 2wT yE yy T∂w
= −2ryx + 2wT Ryy = 0(4.26)

w = R−1
yy ryx(4.27)となり、移項して整理すると、を得る。これを行列形式で書き下すと、









w0
w1
w2
..
.
wP −1





 
 
 
=
 
 

ryy (0)ryy (1)ryy (2)..
.

ryy (1)ryy (0)ryy (1)..
.

ryy (2)ryy (1)ryy (0)
..
.

···
···
···
..
.

ryy (P − 1)ryy (P − 2)ryy (P − 3)

···

−1 

ryy (P − 1)ryx (0)ryy (P − 2) ryx (1) ryy (P − 3) 
r
(2)
yx
 

 

..
..



.
.
ryy (0)ryx (P − 1)

(4.28)

4.4 新たなフィルタリングアルゴリズムの開発

51

となる。
ここで、自己相関関数の値は時間平均により、
N −1

ryy (k) =1 ∑y (m) y (m + k)
N m=0(4.29)

として与えられる。また、相互相関関数も同じく時間平均により、
N −1

1 ∑
ryx (k) =y (m) x (m + k)
N m=0(4.30)と与えられる。
液体アルゴンカロリメータの読み出し系においては、カロリメータから送られてくるパイルアップおよび熱ノイズを含んだ入力信号を y (m) として用いる。x (m) には、入力信号からノイズ成分を取り除いた理想的なバイポーラ波
形のみのシークエンスではなく、自分が観測したい波形として各 BC で入射粒子が落としたエネルギー値をシークエンス化したものを用いる。

4.3.2 Wiener filter の選択条件
第 5 章にて後述するが、Wiener filter は FIR 計算終了までのレイテンシが短いことが特徴で、選択条件には Maximumfinder が用いられる。また、FIR 計算の結果をフィードバックしてオフセットを補正する forward

correction を選択条件として研究しているグループもある。この選択条件を付加した Wiener filter はいわゆる IIR
フィルタとして振る舞う。

4.4 新たなフィルタリングアルゴリズムの開発
序論で説明したとおり、HL-LHC のノイズ環境を想定して、目的事象に対するパイルアップの影響を抑えつつも、
パイルアップ事象自体もきちんと再構成できるフィルタリングアルゴリズムが理想である。今回着目したフィルタリ
ングアルゴリズムは、全ノイズのほとんどの成分を占めるパイルアップノイズも目的事象と同じくカロリメータのセル由来の信号であるため、規格化された信号波形は目的事象と変わらないという事実に基づいている。熱ノイズの最小化をあえて組み込まず、より単純な原理でパイルアップ事象を含めた再構成する点に主眼を置いている。

4.4.1 Multi-pulse filter の原理
今回開発したフィルタリングアルゴリズムを、本論文では Multi-pulse filter と呼ぶ。これは Optimal filter と同様に、理想的な入力信号 g がわかっていることを前提にしている。カロリメータの読み出し系において観測される信号は、それよりも過去に入射した個々の信号の重ね合わせである。例えば、ある i BC におけるサンプリングの値は、規格化された入力信号 g と k BC で入射した信号の波高 Ak を用いて、Si = g0 Ai + g1 Ai−1 + · · · + gN −1 Ai+1−N(4.31)のようにあらわせる。カロリメータからの入力信号 g は有限の長さをもつので、右辺の項の数 N も有限の数になる。

i − 1 BC におけるサンプリングの値も同様にして、
Si−1 = g0 Ai−1 + g1 Ai−2 + · · · + gN −2 Ai−N

(4.32)と書ける。このようにして得た N 組のサンプリングの式から、









Si+1
Si
Si−1
..
.
Si+2−N







g1
  g0
 
  0
=
  ..
  .

g2
g1
g0
..
.

g3
g2
g1
..
.

···
···
···
..
.


gN −1 
gN −2 ..  
. 

Ai
Ai−1
Ai−2
..
.

0

···

0

g0

g1

Ai+1−N

gN









(4.33)

第 4 章 フィルタリングアルゴリズム

52のような擬似的な行列表現を作ることができる。この重み行列を G としたとき、逆行列 G−1 を求めることによって、観測したサンプリングから過去の信号の波高を計算することができる。
以後、特に断らない限り、単に Multi-pulse filter と記述した際には N = 32 としている。

4.4.2 Multi-pulse filter の選択条件
このフィルタは理想的な信号波形が入射することを予想しており、入力波形に対してセンシティブであるという特徴をもつ。したがって、ノイズ環境でゆがめられ、負の出力値を算出してしまった場合に結果を除外するため、4.2.2
節で述べた Thresholder もしくは Maximumfinder を選択条件として用いる。

53

第5章

ソフトウェアレベルでの性能評価
本章と次章で、実際に行った各フィルタリングアルゴリズムの性能評価について述べる。本章では特に、ソフト
ウェアレベルでの性能評価について報告する。ソフトウェアレベルでは主に、理想的な状況から複雑な状況までさま
ざまな入力信号を想定して、各フィルタリングアルゴリズムの出力信号がどうなるかを検証した。
各検証には、検証環境として S-Frame と AREUS をそれぞれ用いた。S-Frame は本研究においてフィルタリング
アルゴリズムの基本的な性能評価のために構築したフレームワークである。一方、AREUS は Phase-I アップグレー
ドにおける読み出し構造の変化やカロリメータのマップ情報まで含んだシミュレーションを可能とする大規模なフレームワークである。各フレームワークの詳細は後述する。

S-Frame における各フィルタリングアルゴリズムの検証項目とその意義を列挙する。
• 単一の入射信号に対する応答：カロリメータから送られてくるバイポーラ波形に対する各フィルタリングアル
ゴリズムの基本的な出力を確認する。

• さまざまなチャンネルの入射信号に対する応答：チャンネルごとに異なる入力波形に対しても、各フィルタリ
ングアルゴリズムが正しく機能するか確認する。

• 入射時刻をずらした入射信号に対する応答：カロリメータから送られてくる信号の入射時刻が前後にずれてしまった場合の影響を確認する。

• 理想的な入射信号シークエンスに対する応答：目的事象とパイルアップ事象の混ざった信号に対する各フィル
タリングアルゴリズムの性能を評価する。

• 離散値化された入射信号シークエンスに対する応答：入射信号シークエンスを離散値化することによる各フィルタリングアルゴリズムの出力への影響を見積もる。

• 熱ノイズを含む入射信号シークエンスに対する応答：熱ノイズによって歪められた入射信号シークエンスに対する各フィルタリングアルゴリズムの性能を評価する。

AREUS における各フィルタリングアルゴリズムの検証項目とその意義を列挙する。
• EMB の各レイヤーにおける応答：カロリメータの異なるレイヤーの入力波形に対しても、各フィルタリング
アルゴリズムが正しく機能するか確認する。

• 熱ノイズを含まない入射信号シークエンスに対する応答：目的事象とパイルアップ事象の混ざった信号に対する各フィルタリングアルゴリズムの性能を評価する。

• 熱ノイズを含む入射信号シークエンスに対する応答：熱ノイズによって歪められた入射信号シークエンスに対する各フィルタリングアルゴリズムの性能を評価する。

• サチュレーションを起こした信号に対する応答：サチュレーションによりなまってしまった入力波形に対して、各フィルタリングアルゴリズムがどのような出力を返すか確認する。

• イレギュラーなノイズを含む信号に対する応答：バイポーラ波形ではないイレギュラーな入力波形に対して、各フィルタリングアルゴリズムがどのような出力を返すか確認する。

第5章

54

ソフトウェアレベルでの性能評価

5.1 S-Frame を用いたシミュレーションによる検証
本節では、ROOT [13] を用いて構築したフレームワーク、S-Frame を用いて各フィルタリングアルゴリズムのシ
ミュレーションを行った際の結果を報告する。

5.1.1 S-Frame の概要
まず、S-Frame の概要について簡単に述べる。S-Frame は本研究のために C++ および ROOT をベースに作成したもので、フィルタリングアルゴリズムの基本的な性能を検証するためのフレームワークを提供する。ROOT とは

CERN が開発する物理解析のためのソフトウェア・ライブラリ群である。S-Frame では各フィルタリングアルゴリ
ズムの性能評価を行う際、入射信号シークエンスの生成とフィルタリングアルゴリズムの実行を別々に行う。
入射信号シークエンスの生成について説明する。本論文では、別々の時刻で入射した個々の信号波形を重ね合わせて作った信号全体を指して、入射信号シークエンスという言葉を用いる。入射信号シークエンスのもととなる情報はあらかじめ ROOT ファイルに格納され、異なるフィルタリングアルゴリズムの評価においても共通の入射信号シー
クエンスが用いられる。ROOT ファイルは、電子を想定した目的事象とパイルアップ事象のヒット情報およびアナ
ログ信号波形情報、さらに各事象を 40 MHz ごとにサンプリングしたデジタル信号波形情報と、各 BC における熱ノイズ（電子ノイズ）の値を別々の変数として格納している。これらの変数はフィルタリングアルゴリズムの実行時に重ね合わせられて入射信号シークエンスを生成する。どの変数を重ね合わせるかはパラメータによって指定が可能である。
フィルタリングアルゴリズムの実行時のプロセスを以下に示す。

• ROOT ファイルに格納された目的事象・パイルアップ事象・熱ノイズのうち、どの変数を有効にするかを設定し、有効になった変数の値を各 BC で足し合わせて各フィルタに対する入射信号シークエンスを生成する。

• 入射信号シークエンスに対し、スケール倍および 125 MeV の離散値化を行う。このプロセスはオプションであり、またスケール倍のファクターや離散値化の間隔も指定可能。

• Multi-pulse filter は理想的な入力波形をもとにあらかじめフィルタ係数を計算する。また、Optimal filter とWiener filter は入射信号シークエンスを用いて相関関数の計算を行ってから、理想的な入力波形をもとにフィルタ係数を算出する必要がある。Optimal filter と Wiener filter におけるこの過程を、本論文では係数キャリブレーションと呼ぶ。係数キャリブレーションについては 5.1.4 節に後述する。

• 係数キャリブレーションで得たフィルタ係数をもとに、入射信号シークエンスに対し、各フィルタリングアル
ゴリズムを適用する。オプションとして、入出力波形をグラフとして保存したり、各フィルタの出力値をヒストグラムに格納することが可能である。

5.1.2 目的
本研究開始時には、後述する AREUS もリリースされておらず、フィルタリングアルゴリズムを検証する環境が整っていなかった。本節で説明する S-Frame は、各フィルタリングアルゴリズムの基本的な性能を検証するために構築した。AREUS リリース後は、幾重にもクラスを継承して複雑な体系をもつ AREUS と対照的に、少ないパラメー
タでより簡潔な状況設定のもとでフィルタリングアルゴリズムのシミュレーションを行うために利用した。

5.1.3 セットアップ
今回のシミュレーションでは、目的事象とパイルアップ事象の入力波形において、液体アルゴンカロリメータからの信号を擬似的に再現したデータを引用した。元となるデータファイルには複数の信号が保存されているが、特に断らない限り、この論文では EMB の middle レイヤーにおける η = 0.0375, ϕ = 0.0092 のチャンネル（チャンネル

ID：956630016）の信号を用いている。図 5.1 にその信号波形を示す。

5.1 S-Frame を用いたシミュレーションによる検証

図 5.1

55

液体アルゴンカロリメータからの信号を再現した擬似的な信号。

灰色の線はアナログ波形、黒いプロットは 25 ns ごとにサンプリングされた値。

今回の検証では主に 3 パターンの入射信号シークエンスを用いた。それぞれの設定を表 5.1 にまとめる。表中では目的事象・パイルアップ事象・熱ノイズをすべて有効にした場合を想定して各設定を説明しているが、先述したとおり、どの変数を有効にするか指定可能で、さまざまな入射信号シークエンスのパターンでフィルタアルゴリズムを検証することができる。
表 5.1

入射信号シークエンスの設定。パターン 1 とパターン 2 の違いはパイルアップ事象の発生確率。

パターン 0パターン 1パターン 2

シークエンス長256 BC（6, 400 ns）

256 BC（6, 400 ns）

256 BC（6, 400 ns）

シークエンス数

1

10,00010,00016 GeV（128 ADC）

16 GeV（128 ADC）

16 GeV（128 ADC）

なし

625 MeV（5 ADC）

625 MeV（5 ADC）

発生確率 0.2 / BC

発生確率 0.5 / BCmean = 0 MeV, σ = 85 MeV

mean = 0 MeV, σ = 85 MeVのガウス分布のガウス分布

目的事象
パイルアップ事象

熱ノイズなし

パターン 0 では、−96 BC（−2, 400 ns）〜160 BC（4, 000 ns）の計 256 BC（6, 400 ns）の長さをもつ入射信号
シークエンスを 1 つ生成した。この入射信号シークエンスには、16 GeV（128 ADC）の目的事象が 1 つだけ含まれており、パイルアップ事象などは加えられていない。
パターン 1 とパターン 2 では、−96 BC（−2, 400 ns）〜160 BC（4, 000 ns）の計 256 BC（6, 400 ns）の長さをもつ入射信号シークエンスを、異なる乱数によって 10,000 個分生成した。両パターンともに、1 つの入射信号シークエ
ンスあたり 1 つの目的事象を含んでおり、パイルアップ事象が発生確率にしたがって混ぜられている。
パターン 1 におけるパイルアップ事象の発生確率 0.2 は、重心系エネルギー 14 TeV、1 BC あたりの平均相互作用数を ⟨µ⟩ = 25 としたときのシミュレーションにおいて、EMB の |η| = 0 付近の ∆η × ∆ϕ = 0.025 × 0.1 の Super

Cell サイズで生じる全粒子の平均イベント数が 0.13 であるという結果に基づいている。ここで、重心系エネルギーと平均相互作用数の値は、Phase-0 アップグレード後の Run 2 における環境を想定している。
一方、パターン 2 のパイルアップ事象が混ざる確率 0.5 は、同じく重心系エネルギー 14 TeV、1 BC あたりの平均相互作用数を ⟨µ⟩ = 100 としたときのシミュレーションにおいて、EMB の |η| = 0 付近の ∆η × ∆ϕ = 0.025 × 0.1の Super Cell サイズで生じる全粒子の平均イベント数が 0.52 であるという結果に基づいている。Phase-I アップグ
レード後の Run 3 は重心系エネルギーが 14 TeV、ルミノシティが 2 × 1034 cm−2 s−1 平均相互作用数は ⟨µ⟩ = 60 程
度と見積もられているので、パターン 2 は Run 3 よりもパイルアップ事象が厳しい状況を想定している。
今回は目的事象とパイルアップ事象が相互に及ぼす影響や、パイルアップ事象同士が相互に及ぼす影響を簡潔に把握するために、それぞれのエネルギー値を固定している。それぞれの値には、各パターンのパイルアップ事象の

第5章

56

ソフトウェアレベルでの性能評価

発生確率を求めたシミュレーションにおける Z 由来の電子事象が 1 つの Super Cell に落とす平均エネルギー（約16 GeV）と、パイルアップが落とす平均エネルギー（約 600 MeV）を用いている。
また、熱ノイズは時間的な相関がないものとしている。図 5.2 に、カロリメータの各レイヤーにおいて 1 チャンネ
ルあたりで計測された熱ノイズを示す。図中の EM2 で示された EMB の middle レイヤーにおいては 25〜30 MeV程度となっている。Super Cell では、middle レイヤーは 4 つのチャンネルの足し合わせが行われるため、誤差伝播を考慮した上で熱ノイズを大きめに見積もり、今回の検証では 85 MeV と設定した。

図 5.2

カロリメータの各レイヤーで計測された 1 チャンネルあたりの熱ノイズ [14]。

赤で示されたプロットは EMB および EMEC の各レイヤーを示している。

5.1.4 係数キャリブレーション
第 4 章で各フィルタの係数の求め方について述べた。Multi-pulse filter は理想的な入力波形がわかれば、入射信号
シークエンスによらず係数が一意に決まる。それに対し、Optimal filter と Wiener filter は入射信号シークエンスに含まれる熱ノイズ等の影響を最小限に抑えるために、入射信号シークエンスにどれくらい熱ノイズ等が含まれているかという情報を必要とする。したがって、Optimal filter および Wiener filter では、実際に各検証を行う前に係数
キャリブレーションを行う。S-Frame における係数キャリブレーションの具体的な内容について説明する。

Optimal filter の場合の係数キャリブレーションを以下にまとめる。
• ノイズの自己相関関数を求めるために、ノイズ成分のみのシークエンス情報を得る必要がある。
• ノイズシークエンスの情報は、ROOT ファイルに格納された変数のうち、パイルアップ事象のデジタル信号波
形情報と各 BC における熱ノイズの情報を重ね合わせて作られる。

• 10,000 個あるシークエンスのうち、はじめの 10 個の各シークエンスにおいて、−32 BC〜64 BC における上記のノイズシークエンスの情報から自己相関関数および OFC をそれぞれ計算する。算出した 10 個の一時的なOFC のセットから、各 OFC の平均値を計算して最終的な OFC とし、係数キャリブレーションを終える。
Wiener filter の場合の係数キャリブレーションを以下にまとめる。
• 式 (4.29), (4.30) に示された、入力信号の自己相関関数および入力信号と原信号の相互相関係数を求めるために、入力信号と原信号の情報を得る必要がある。

• 入力信号には、ROOT ファイルに格納された変数のうち、目的事象およびパイルアップ事象のデジタル信号波
形情報と各 BC における熱ノイズの情報を重ね合わせて作られた、実際にフィルタの入力信号となる入射信号
シークエンスを用いる。

• 原信号には、ROOT ファイルに格納された変数のうち、目的事象およびパイルアップ事象のヒット情報を重ね合わせて作られたヒットシークエンスを用いる。より詳しい説明は、付録 A.2 に記述する。

• 10,000 個あるシークエンスのうち、はじめの 10 個の各シークエンスにおいて、−32 BC〜64 BC における上5.1 S-Frame を用いたシミュレーションによる検証

57

記のノイズシークエンスの情報から自己相関関数と相互相関関数、そして WFC をそれぞれ計算する。算出した 10 個の一時的な WFC のセットから、各 WFC の平均値を計算して最終的な WFC とし、係数キャリブ
レーションを終える。
性能評価を行う際には、係数キャリブレーションに用いた 10 個のシークエンスにおける結果も統計に含める。また、基本的に検証項目で用いるパターンの情報をもとに係数キャリブレーションを行うが、パターン 0 を入射信号
シークエンスとして用いる場合、係数キャリブレーションには同チャンネルにおけるパターン 1 を用いる。

5.1.5 各検証項目と結果
S-Frame を用いたシミュレーションによる検証において、パターン 0 の入射信号シークエンスを用いて以下の項目について評価を行った。

• 単一の入射信号に対する応答• さまざまなチャンネルの入射信号に対する応答• 入射時刻をずらした入射信号に対する応答
また、パターン 1 とパターン 2 の 2 つの入射信号シークエンスを用いて、それぞれ以下の項目について評価を行った。

• 理想的な入射信号シークエンスに対する応答• 離散値化された入射信号シークエンスに対する応答• 熱ノイズを含む入射信号シークエンスに対する応答
評価の対象としたのは次の 8 つのフィルタである。

• Optimal filter + Shapedetector• Optimal filter + Maximumfinder（短縮形：OFsd）（短縮形：OFmf）• Multi-pulse filter (N = 32) + Thresholder（短縮形：MF32th）• Multi-pulse filter (N = 32) + Maximumfinder• Multi-pulse filter (N = 20) + Thresholder（短縮形：MF32mf）（短縮形：MF20th）• Multi-pulse filter (N = 20) + Maximumfinder（短縮形：MF20mf）• Wiener filter (Peak, Post) + Maximumfinder（短縮形：WF0mf）• Wiener filter (Peak 1, Post) + Maximumfinder（短縮形：WF1mf）

Multi-pulse filter の括弧内の数字は行列の次元数をあらわす。Wiener filter の括弧内の文字は、各 Wiener filter の
出力波形を決めるためのパラメータである。詳しい内容は付録 A.2 で説明する。以降、表中などでは短縮形の表記を用いることがある。
単一の入射信号に対する応答
まずは AMC の入力信号に対する各フィルタの応答特性を知るために、0 BC（0 ns）に 128 ADC の信号を入射し、各フィルタの出力結果を確認した。図 5.3 に各フィルタの出力波形を示す。黒いプロットであらわされた入力信号のサンプリングに対し、FIR 計算を行った結果が緑のプロットであらわされている。緑のプロットのうち、4.2.2 節で述べた選択条件を通過したものが赤いプロットであらわされている。
まず、各フィルタの FIR 計算の項数と、FIR 計算終了までのレイテンシおよび選択条件までのレイテンシを表5.2 にまとめる。カロリメータの読み出し系においてエネルギー再構成のために許されているレイテンシは 5 BC
（125 ns）であり、どのフィルタもこの条件を満たしている。ここで、ソフトウェアシミュレーションにおけるレイテ
ンシではサンプリング取得後の計算時間は考慮されていないことに注意する。
単一の入射信号に対する応答における各フィルタの検証結果をまとめる。

第5章

58
表 5.2

ソフトウェアレベルでの性能評価

各フィルタの FIR 計算の項数とレイテンシ（BC）。

OFsd

OFmf

MF32thMF32mf

MF20thMF20mf

WF0mf

WF1mf

信号入射前

0

0

28

28

16

16

3

2

信号入射後

5

5

4

4

4

4

3

4

合計

5

5

32

32

20

20

6

6

FIR 計算終了まで

4

4

3

3

3

3

2

3

選択条件まで

4

5

3

4

3

4

3

4

FIR 計算の項数

レイテンシ (BC)

図 5.3 (a), (b) で示された Optimal filter の特徴および結果を以下に示す。

• Optmal filter は 0 BC に入射した信号に対し、0 BC から 4 BC までの 5 点のサンプリングを用いて FIR 計算を行う。

• 選択条件に Maximumfinder を用いた場合、次の BC における FIR 計算の結果を待たなくてはならないため、選択条件まで含めたレイテンシは FIR 計算終了までのレイテンシに比べて 1 BC 増える。

• Optimal filter における FIR 計算の結果は、赤い矢印で示された真のピーク以外にも小さなフェイクのピークを持つため、Maximumfinder を選択条件として用いた場合は、625 ns でフェイクの値を出力してしまう。
図 5.3 (c)〜(f) で示された Multi-pulse filter の特徴及び結果を以下に示す。

• Multi-pulse filter (N = 32) は 0 BC に入射した信号に対し、−28 BC から 3 BC までの 32 点のサンプリングを用いて FIR 計算を行う。

• Multi-pulse filter の出力波形の特徴は、緑のプロットであらわされた FIR 計算の結果が、他のフィルタと異なり、真のピーク近傍では歪められないことである。これにより、近接した信号を検出することができる。

• その一方で、825 ns から 1225 ns にかけて負の値を返す領域がある。これは、Multi-pulse filter の計算が計算
時刻から見て 31 BC 過去までの入射信号の重ね合わせを仮定して計算しており、31 BC よりさらに過去で入射した信号が 31 BC 過去以降に与える影響を考慮できていないことに起因する。

• 単一信号の場合においては、tcut = 0 の Thresholder および Maximumfinder を課すことにより、負の領域の値を排除して理想的な出力を返すことができる。

• Multi-pulse filter (N = 20) は 0 BC に入射した信号に対し、−16 BC から 3 BC までの 32 点のサンプリングを用いて FIR 計算を行う。

• Multi-pulse filter (N = 20) は Multi-pulse filter (N = 32) と比較すると、負の領域がピークのほうへ寄っている。

Multi-pulse filter の N 依存性については付録 A.3 で説明する。
図 5.3 (g), (h) で示された Wiener filter の特徴および結果を以下に示す。

• Wiener filter (Peak, Post) はパラメータ Peak により、緑のプロットであらわされた FIR 計算の出力波形のピークを返す BC が、入射信号のピークの BC と同じになるように出力波形が調整されている。

• Wiener filter (Peak, Post) は 0 BC に入射した信号に対し、−3 BC から 2 BC までの 6 点のサンプリングを用いて FIR 計算を行う。

• Wiener filter (Peak 1, Post) はパラメータ Peak により、緑のプロットであらわされた FIR 計算の出力波形のピークを返す BC が、入射信号のピークの BC の次の BC になるように出力波形が調整されている。

• Wiener filter (Peak 1, Post) は 0 BC に入射した信号に対し、−2 BC から 3 BC までの 6 点のサンプリングを用いて FIR 計算を行う。

• 2 つの Winer filter はパラメータの違いにより、FIR 計算の出力波形が微妙に異なっていることがわかる。

5.1 S-Frame を用いたシミュレーションによる検証

59(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.3

単一の入射信号に対する各フィルタの出力結果。

黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を通過した出力信号を示す。紫の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあら
わす。

第5章

60

ソフトウェアレベルでの性能評価

さまざまなチャンネルの入射信号に対する応答
単一の入射信号に対する応答では、チャンネル ID が 956630016 のチャンネルの信号を用いた。基本的にフィルタの出力波形は入力波形に依存する。ここでは、EMB の異なるチャンネルの信号に対しても、係数キャリブレーションにより適した係数を計算し、有用な出力結果を吐き出すかどうかを確認した。表 5.3 に本検証で用いたチャンネル（ch A〜ch D）と、他の検証で用いているチャンネル（ch E）の情報をまとめる。
表 5.3

各フィルタの FIR 計算の項数とレイテンシ（BC）。

チャンネル

ch A

ch B

ch C

ch D

ch E

レイヤー

front

front

middlemiddlemiddleη

0.00470.04840.38750.76250.0375ϕ

0.04600.04600.00920.00920.0092956334336

956337920

956644352

956676096

956630016

チャンネル ID

本検証で確認したフィルタは、Optimal filter + Shapedetector、Multi-pulse filter (N = 32) + Thresholder、Wiener filter (Peak, Post) + Maximumfinder、Wiener filter (Peak 1, Post) + Maximumfinder の 4 種類である。
各チャンネルの検証において、それぞれのフィルタ係数を求めるための入力波形のチャンネルと、実際にフィルタに入力した波形のチャンネルは一致させている。図 5.4, 5.5 に各フィルタの出力波形を示す。
図 5.4 (a)〜(d) で示された Optimal filter + Shapedetector と図 5.5 で示された 2 つの Wiener filter は、5.1.4 節で述べたとおり、係数キャリブレーションのためにパターン 1 の入射信号シークエンスを用いている。したがって、
チャンネルごとの信号波形以外に、ランダムで加えているノイズも出力波形に影響しているが、多数回平均したもの
を係数キャリブレーションの結果としているので、ここでは無視できると考える。
さまざまなチャンネルの入射信号に対する応答における各フィルタの検証結果をまとめる。

• Optimal filter + Shapedetector の出力値は、図 5.4 (a)〜(d) および図 5.3 (a) の 5 つの異なるチャンネルす
べてにおいて同様の波形を描くが、細かな差も見て取れる。例えば、25 ns の値や 50 ns の値はチャンネルごとに絶対値が大きく変化している。特に、図 5.3 (a) では 25 ns にピークはないが、図 5.4 (a)〜(d) で正のピー
クがあり、Maximumfinder を課した場合には選択条件により有効にされてしまう。単一の入射信号では真のピーク値の高さ等に差はないが、パイルアップによって各入力波形が重ねあわされると、各チャンネルの性能に差が出る可能性がある。

• Multi-pulse filter (N = 32) + Thresholder の出力値は、図 5.4 (e)〜(h) および図 5.3 (c) の 5 つのチャンネ
ルすべてにおいて同様の波形を描く。

• Wiener filter (Peak, Post) + Maximumfinder の出力値は、図 5.5 (a)〜(d) および図 5.3 (g) の 5 つのチャンネルにおいて細かな差はあるが、同様の波形を描く。チャンネルによっては 175 ns または 225 ns に小さなピークをもつ。

• Wiener filter (Peak 1, Post) + Maximumfinder の出力値も、図 5.5 (e)〜(h) および図 5.3 (h) の 5 つのチャンネルにおいて細かな差はあるが、同様の波形を描く。チャンネルによっては 175 ns または 675 ns に小さなピークをもつ。
結果として、Optimal filter の FIR 計算の出力波形はピーク周辺においてやや各チャンネル間の入力波形の差を反映しているが、Multi-pulse filter と各 Wiener filter においては、どのチャンネルでもほぼ変わらずに機能する。

5.1 S-Frame を用いたシミュレーションによる検証(a) ch A に対する OFsd

図 5.4

61

(b) ch B に対する OFsd(c) ch C に対する OFsd(d) ch D に対する OFsd(e) ch A に対する MF32th(f) ch B に対する MF32th(g) ch C に対する MF32th(h) ch D に対する MF32th

さまざまなチャンネルの入射信号に対する Optimal filter と Multi-pulse filter の出力結果。

黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を通過した出力信号を示す。紫の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあら
わす。

第5章

62

図 5.5

ソフトウェアレベルでの性能評価(a) ch A に対する WF0mf(b) ch B に対する WF0mf(c) ch C に対する WF0mf(d) ch D に対する WF0mf(e) ch A に対する WF1mf(f) ch B に対する WF1mf(g) ch C に対する WF1mf(h) ch D に対する WF1mf

さまざまなチャンネルの入射信号に対する Wiener filter の出力結果。

黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を通過した出力信号を示す。紫の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあらわす。

5.1 S-Frame を用いたシミュレーションによる検証

63

入射時刻をずらした入射信号に対する応答
カロリメータからの信号の入射タイミングが時間的に前後にずれた場合を想定して、各フィルタの出力結果にどのような影響を及ぼすか確認する。入力信号のソースとして用いたデータファイル（チャンネル ID：956630016）には、入力信号のアナログ波形として 1.04 ns 間隔のデータが格納されていた。前述の影響を確かめるため、通常のタイミングで入射する理想的な入力波形と入射信号シークエンスで係数キャリブレーションを行った後、入射タイミン
グを時間的に前後にそれぞれ最大 2.08 ns ずらした単一の信号を入射し、各フィルタの出力を見た。確認したフィル
タは、Optimal filter + Shapedetector、Multi-pulse filter (N = 32) + Thresholder、Wiener filter (Peak, Post)+ Maximumfinder、Wiener filter (Peak 1, Post) + Maximumfinder の 4 種類である。図 5.6, 5.7 に各フィルタの応答特性を示す。
入射時刻をずらした入射信号に対する応答における各フィルタの検証結果をまとめる。
図 5.6 (a)〜(d) および図 5.3 (a) に示された Optimal filter + Shapedetector の結果を以下に示す。

• 入射タイミングが早まるにしたがって、出力波形のピーク前の BC のサンプリングはだんだん大きく、ピーク
後の BC のサンプリングはだんだん小さくなっていくことがわかった。また、入射タイミングが遅れるとこの逆の現象が起こる。

• ただ、この程度の入射タイミングのずれの範囲内では選択条件により機能に大きな影響は無く、また Optimalfilter の FIR 計算の出力波形におけるピークの値自体がほとんどずれないので、入射タイミングのずれに強いフィルタと言える。
図 5.6 (e)〜(h) および図 5.3 (c) に示された Multi-pulse filter (N = 32) + Thresholder の結果を以下に示す。

• Multi-pulse filter はその原理上、入力波形にセンシティブであり、係数の算出に用いた入力波形と異なる信号
波形の重ね合わせには強くない。

• 入射タイミングが早まった場合、出力のピーク値が大きく見積もられるだけでなく、ピーク以降の奇数 BC でフェイクのピークが発生する。

• 入射タイミングが遅れた場合、出力のピーク値は小さく見積もられ、かつピーク以降の偶数 BC でフェイクのピークが発生する。

• これらの影響は入射タイミングのずれが大きければ大きいほど悪化する。
図 5.7 (a)〜(d) および図 5.3 (g) に示された Wiener filter (Peak, Post) + Maximumfinder の結果を以下に示す。

• 出力波形は明らかに影響を受けており、ピーク値のずれの大きさは今回確認した 4 つのフィルタの中でもっとも悪い。

• この程度の入射タイミングのずれの範囲内ではフェイクのピークは発生しない。
図 5.7 (e)〜(h) および図 5.3 (h) に示された Wiener filter (Peak 1, Post) + Maximumfinder の結果を以下に示す。

• 理想的な 入 射タイ ミ ングを示したに 対する波形のなまりかたの 傾向は、Wiener filter (Peak, Post) +Maximumfinder と同じで、ピーク値が大きく歪められる。
• 入射タイミングが早まると、175 ns のところにフェイクのピークが確認される。
結果として、Wiener filter および Multi-pulse filter は入射タイミングが早まると出力のピーク値が本来より大きくなり、遅れると小さくなる。加えて、Multi-pulse filter では出力値がピーク以降で振動し、大きなフェイク事象を生む。入射タイミングのずれに対してもっとも優秀なのは Optimal filter である。

第5章

64

ソフトウェアレベルでの性能評価(a) 入射タイミング 2.08 ns 早い場合の OFsd(b) 入射タイミングが 1.04 ns 早い場合の OFsd(c) 入射タイミングが 1.04 ns 遅い場合の OFsd(d) 入射タイミングが 2.08 ns 遅い場合の OFsd(e) 入射タイミングが 2.08 ns 早い場合の MF32th(f) 入射タイミングが 1.04 ns 早い場合の MF32th(g) 入射タイミングが 1.04 ns 遅い場合の MF32th(h) 入射タイミングが 2.08 ns 遅い場合の MF32th

図 5.6

入射時刻をずらした入射信号に対する Optimal filter と Multi-pulse filter の出力結果。

黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を通過した出力信号を示す。紫の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあらわす。

5.1 S-Frame を用いたシミュレーションによる検証

65(a) 入射タイミングが 2.08 ns 早い場合の WF0mf(b) 入射タイミングが 1.04 ns 早い場合の WF0mf(c) 入射タイミングが 1.04 ns 遅い場合の WF0mf(d) 入射タイミングが 2.08 ns 遅い場合の WF0mf(e) 入射タイミングが 2.08 ns 早い場合の WF1mf(f) 入射タイミングが 1.04 ns 早い場合の WF1mf(g) 入射タイミングが 1.04 ns 遅い場合の WF1mf(h) 入射タイミングが 2.08 ns 遅い場合の WF1mf

図 5.7

入射時刻をずらした入射信号に対する Wiener filter の出力結果。

黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を通過した出力信号を示す。紫の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあら
わす。

第5章

66

ソフトウェアレベルでの性能評価

理想的な入射信号シークエンスに対する応答（パターン 1）
パターン 1 の入射信号シークエンスにおいて、目的事象とパイルアップ事象のみを有効にし、図 5.1 で示した理想的な入力信号のみを含む入射信号シークエンスに対する各フィルタの応答特性を確認した。図 5.8 に各フィルタの出力波形の例を示す。紫の矢印は目的事象の入射タイミング、黒の矢印はパイルアップ事象の入射タイミングを示す。
一方、赤い矢印は入射信号シークエンスに含まれる各入射信号に対する計算結果の正しい出力タイミングを示し、理想的にはすべての赤い矢印で示された BC で各入射信号の波高を返すことが期待される。どのフィルタも目的事象に対してはきちんと理想的なタイミングで計算値を返しているが、パイルアップ事象に対する計算結果はフィルタの種
類および選択条件の種類によって異なる。理想的な入射信号シークエンスに対する各フィルタの出力波形の特徴をまとめる。

• 図 5.8 (a), (b) に示される Optimal filter は、目的事象のオーバーシュートの部分ではパイルアップ事象を拾うことができない。

• Optimal filter + Shapedetector はノイズによって歪められた計算結果を排除することができる。ただし、入射信号シークエンスと FIR 計算結果のシークエンスの差でその判断を行うため、入射信号シークエンスがそも
そもノイズで歪められていると正しく機能できない場合もある。たとえば、図中の 950 ns と 1, 150 ns などでは FIR 計算の結果はほぼ正しいが、計算結果と比較される入射信号シークエンスが歪められているため、検出できていない。

• 選択条件に Maximumfinder を用いるフィルタは、粒子が連続した BC で入射した場合、エネルギーの低いほうは必ず取りこぼすことになる。

• 図 5.8 (c), (d) に示される Multi-pulse filter (N = 32) は、目的事象のオーバーシュートの部分でもきちんとパイルアップ事象を検出できている。その代わり、1, 150 ns 以降で負の領域が生じているため、この領域で入射したパイルアップ事象は取りこぼす。

• Multi-pulse (N = 32) + Thresholder は 1, 050 BC から連続して入射するパイルアップ事象もきちんと検出できている。

• 図 5.8 (e), (f) に示される Multi-pulse filter (N = 20) の特徴は、Multi-pulse filter (N = 32) に見られるものとほぼ同じである。ただし、単一の入射信号に対する応答でも確認したように、FIR 計算の結果が負になってしまう領域が N の値が小さくなるほど時間的に過去へとずれていくため、パイルアップ事象を取りこぼす領
域も Multi-pulse filter (N = 32) に比べて過去へとずれる。

• 図 5.8 (g), (h) に示される Wiener filter の最終的な出力波形は、Optimal filter と近いものになる。
各フィルタの性能を図 5.9〜5.11 で確認する。各図において、青いヒストグラムは FIR 計算の出力値、赤いヒスト
グラムは選択条件を満たした出力値を示している。

• 目的事象に対する各フィルタの再構成について、図 5.9 に示す。フィルタの入力値を Einput 、出力値を Eoutputとしたとき、横軸は (Eoutput − Einput ) /Einput とあらわせる。パターン 1 の入射信号シークエンスでは、目的
事象の Einput は 128 ADC に固定されている。

• パイルアップ事象に対する各フィルタの再構成について、図 5.10 に示す。横軸は入力値に対する出力値の比として Eoutput /Einput とあらわせる。パターン 1 の入射信号シークエンスでは、パイルアップ事象の Einput は

5 ADC に固定されている。パイルアップ事象に関する赤いヒストグラムでは選択条件により有効にされた赤いヒストグラムは 1 にピークがあるのが望ましい。

• フェイク事象における各フィルタの性能について、図 5.11 に示す。ここで、フェイク事象とは信号事象が入射していない BC で各フィルタの選択条件を満たしてしまった出力値を指し、図中の赤いヒストグラムに相当する。横軸は ADC 単位の出力値である。フェイク事象に関する赤いヒストグラムはすべて 0 であるのが理想的なフィルタである。

5.1 S-Frame を用いたシミュレーションによる検証

67

目的事象に関するヒストグラムについて各フィルタに共通する特徴は、ピークの位置が負の方向へずれていることである。これはパイルアップ事象の入射信号のオーバーシュートが目的事象の信号のピークを負の方向へ歪めてしまうことに起因する。パイルアップ事象およびフェイク事象では、他のパイルアップ事象のオーバーシュートに加え、目的事象の大きなオーバーシュートによって、負の方向へと歪められる。
まず、パターン 1 における理想的な入射信号シークエンスに対する各フィルタの性能を表 5.4 にまとめる。各数
値の統計エラーは小さいので、ここでは無視する。各事象における平均値と RMS はそれぞれ単位が異なるので注意が必要である。また、RMS はエネルギー分解能に相当する。すべてのフィルタにおいて、目的事象の検出効率は100% である。
表 5.4

理想的な入射信号シークエンス（パターン 1）に対する各フィルタの性能。

OFsd

OFmf

MF32thMF32mf

MF20thMF20mf

WF0mf

WF1mf

検出効率

100%

100%

100%

100%

100%

100%

100%

100%

平均値

-0.008-0.008-0.006-0.006-0.008-0.008-0.008-0.008

RMS

0.012

0.012

0.004

0.004

0.004

0.004

0.010

0.010

検出効率

20.9%

50.2%

79.9%

61.6%

77.2%

59.8%

57.4%

55.7%

平均値

0.93

0.87

0.79

0.78

0.74

0.74

0.75

0.80

RMS

0.30

0.35

0.17

0.17

0.18

0.18

0.29

0.28

発生率

1.69%

1.54%

2.63%

0.79%

0.29%

0.09%

0.14%

1.04%

平均値

1.65

2.07

0.005

0.010

0.005

0.010

0.32

1.01

RMS

0.82

1.44

0.018

0.026

0.017

0.022

0.25

1.02

目的事象

パイルアップフェイク

各図の (a), (b) で示された Optimal filter の結果を以下に示す。

• 目的事象に対する性能を示した図 5.9 (a), (b) は、ヒストグラムが正方向と負方向の両方にテールを持っている。これは図 5.3 (a), (b) で示された FIR 計算の出力結果がピーク値以外に正の値と負の値に振れており、目的事象の入力波形に対してパイルアップ事象がランダムなタイミングで混ざってくるためだと考えられる。

• パイルアップ事象に対する性能を示した図 5.10 (a), (b) において、FIR 計算の結果を示す青いヒストグラムの時点では、本来のパイルアップ事象の入力値の 8 倍や 11 倍近い値も出力しているが、これらは選択条件により排除される。

• Shapedetector と Maximumfinder を比較すると、パイルアップ事象の検出効率は Shapedetector のほうが低いが、最終的な出力値の平均値や RMS は Shapedetector のほうが優れている。

• フェイク事象において、図 5.11 (b) で示した Optimal filter + Maximumfinder の平均値と RMS が突出して良くないのは、図 5.3 (b) の 625 ns の部分の大きめのフェイクが影響していると考えられる。
各図の (c)〜(f) で示された Multi-pulse filter の結果を以下に示す。

• 目的事象に対する性能を示した図 5.9 (c)〜(f) は、ヒストグラムが負方向にだけテールを持っている。これは
図 5.3 (c)〜(f) で示した単一の入射信号に対する応答において、FIR 計算の出力値がピーク以外で正の値を持たないためだと考えられる。

• 図 5.9 (c)〜(f) において、パイルアップ事象の検出効率が高いのが特徴で、順に並べると Multi-pulse filter(N = 32) + Thresholder、Multi-pulse filter (N = 20) + Thresholder、Multi-pulse filter (N = 32) +Maximumfinder、Multi-pulse filter (N = 20) + Maximumfinder となる。
• Maximumfinder はパイルアップ事象が連続した BC で入射していると 1 つしか検出できないため、Thresholder に比べると検出効率は落ちる。

第5章

68

ソフトウェアレベルでの性能評価• 図 5.11 (c) で示した Multi-pulse filter (N = 32) + Thresholder がもっとも高いフェイク発生率を示すが、これは非負の値すべてを有効にしてしまう Thresholder の性質による。平均値は 0.005 とすべてのフィルタの中でもっとも低く、RMS も 0.018 で Multi-pulse filter (N = 20) + Thresholder の 0.017 に次いで 2 番目に低い。
各図の (g), (h) で示された Wiener filter の結果を以下に示す。

• 目的事象に対する性能を示した図 5.9 (g), (h) には、正の領域に 2 つめのピークが存在する。これは図 5.3 (g)、(h) で示したように、緑のプロットで示された FIR 計算の出力値においてピークの次の BC にその半値を返すことによる影響だと考えられる。目的事象の入射タイミングの 1 BC 前にパイルアップ事象が入射すると、パイルアップ事象の前述の点が目的事象のピークの高さを押し上げてしまい、再構成計算に悪影響を及ぼす。

• パイルアップ事象に対する性能を示した図 5.10 (g)、(h) において、FIR 計算の結果の時点では本来の入力値の14〜15 倍近い値も出力している。これは図 5.9 (g)、(h) で 2 つめのピークが発生するのと本質的に同じ問題である。ただし、選択条件を課すことで近接する BC で入射した他の信号によって歪められた値は排除される。
各フィルタを比較した結果をまとめる。

• 目的事象に対しては、Multi-pulse filter (N = 32) が他のフィルタに比べて RMS が 1/3 程度に抑えられるな
ど、もっとも良い性能を発揮している。

• パイルアップ事象に対しては、オーバーシュートの影響により、Multi-pulse filter や Wiener filter ではエネ
ルギー値が 20% 程度低く見積もられてしまう中で、Optimal filter + Shapedetector は平均値を 0.93 に保っている。引き換えに検出効率は 20.9% で、もっとも低い。検出効率を重視すると Multi-pulse filter (N = 32)+ Thresholder が 79.9% と優れており、Optimal filter + Shapedetector の約 4 倍に達する。
• フェイク事象に対しては、発生率では Multi-pulse filter (N = 20) + Maximumfinder が 0.09% ともっとも低
く、平均値と RMS では Thresholder を課した Multi-pulse filter が優れている。一方で、Optimal filter は全性能において他のフィルタと比較して値が大きい。
結果として、パターン 1 の理想的な入射信号シークエンスにおいて総合的な性能がもっとも良いのは、Multi-pulse

filter (N = 32) + Maximumfinder である。
ただし、入射信号シークエンスをより厳しい環境におくことで表中の各数値は悪化が見込まれる。離散値化および熱ノイズの影響を順次追加していくことにより、各フィルタの性能がどれだけ低下するかを確認していく。

5.1 S-Frame を用いたシミュレーションによる検証

69(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.8

理想的な入射信号シークエンス（パターン 1）に対する各フィルタの出力結果。

黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を満たした出力信号を示す。紫と黒の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあ
らわす。

第5章

70

ソフトウェアレベルでの性能評価(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.9

理想的な入射信号シークエンス（パターン 1）の目的事象に対する各フィルタの性能。

横軸は入力値に対する出力値の相対的なずれ。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした出力結果。

5.1 S-Frame を用いたシミュレーションによる検証

71(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.10 理想的な入射信号シークエンス（パターン 1）のパイルアップ事象に対する各フィルタの性能。
横軸はパイルアップ事象の出力値と入力値の比。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした出力結果。

第5章

72

ソフトウェアレベルでの性能評価(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.11

理想的な入射信号シークエンス（パターン 1）に対して各フィルタで生成するフェイク事象。

横軸は ADC 単位の出力値。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした
出力結果。

5.1 S-Frame を用いたシミュレーションによる検証

73

離散値化された入射信号シークエンスに対する応答（パターン 1）
パターン 1 の入射信号シークエンスにおいて、目的事象とパイルアップ事象のみを有効にし、さらに 125 MeV の離散値化を施した入射信号シークエンスに対する各フィルタの応答特性を確認した。図 5.12 に各フィルタの出力波形の例を示す。図 5.8 と異なるのは、黒いプロットであらわされた入射信号シークエンスの 40 MHz のサンプリング
が ADC 単位で整数になっていることである。これにより、本来の理想的な信号波形が歪められるため、表 5.4 でまとめた理想的な入射信号シークエンスにおける数値からやや劣化する。特にパイルアップ事象の入力波形は真の波高が 5 ADC しかないため、目的事象に比べて正確な再構成は難しくなる。
各事象に対するヒストグラムを図 5.13〜5.15 に示す。また、パターン 1 における離散値化された入射信号シークエ
ンスに対する各フィルタの性能を表 5.5 にまとめる。理想的な入射信号シークエンスでフェイク事象に対して良い性能を発揮していたフィルタほど、離散値化によってフェイク事象に対する性能が劣化する傾向にある。
表 5.5 離散値化された入射信号シークエンス（パターン 1）に対する各フィルタの性能。

OFsd

OFmf

MF32thMF32mf

MF20thMF20mf

WF0mf

WF1mf

検出効率

100%

100%

100%

100%

100%

100%

100%

100%

平均値

-0.008-0.008-0.010-0.010-0.010-0.010-0.009-0.009

RMS

0.012

0.012

0.011

0.011

0.011

0.011

0.012

0.012

検出効率

18.8%

50.0%

78.8%

60.8%

76.1%

58.9%

54.7%

53.7%

平均値

0.94

0.85

0.71

0.76

0.69

0.74

0.74

0.79

RMS

0.31

0.36

0.30

0.28

0.29

0.29

0.31

0.30

発生率

1.79%

2.41%

12.4%

8.15%

11.4%

7.52%

2.01%

2.26%

平均値

1.64

1.67

0.71

0.77

0.70

0.75

0.87

0.93

RMS

0.81

1.45

0.59

0.62

0.57

0.61

0.94

0.99

目的事象

パイルアップフェイク

各図の (a), (b) で示された Optimal filter の結果を以下に示す。

• Optimal filter + Shapedetector の結果は理想的な入射信号シークエンスを用いたときと大きな差はない。
• Optimal filter + Maximumfinder は、目的事象とパイルアップ事象に対する性能はほとんど変わらないが、フェイク事象に対する性能が変化している。離散値化による入射信号シークエンスの歪みにより発生する小さなピークを Maximumfinder が誤って有効にするため、フェイクの発生率が上昇するものの平均値は下がる。
各図の (c)〜(f) で示された Multi-pulse filter の結果を以下に示す。

• 入力信号の歪みにセンシティブであるという特徴をもつため、他のフィルタよりも離散値化の影響を受ける。
特に、フェイク事象に関する性能を評価した図 5.15 においては、図 5.11 に比べ、フェイク事象の発生率・平均値・RMS ともに悪化している。

• パイルアップ事象に対する平均値が Thresholder に比べて Maximumfinder でやや改善されるのは、連続したパイルアップ事象のうち低エネルギーのものを排除するためである。
各図の (g), (h) で示された Winer filter の結果を以下に示す。

• Wiener filter (Peak, Post) + Maximumfinder は目的事象とパイルアップ事象に対する性能はほとんど変わらないが、フェイク事象に対しては発生率・平均値・RMS ともに悪化している。

• Wiener filter (Peak 1, Post) + Maximumfinder はフェイク事象の発生率のみが大きく変化し、理想的な入射信号シークエンスと比較して 2 倍以上に上昇している。

第5章

74

ソフトウェアレベルでの性能評価

各フィルタを比較した結果を以下にまとめる。

• 目的事象に対する各フィルタの性能はほぼ横並びで変わらない。
• パイルアップ事象に対しては、Optimal filter + Shapedetector が平均値に対するオーバーシュートの影響を
もっとも抑えて 0.94 としているが、引き換えに検出効率は 18.8% ともっとも低い。検出効率を重視するとMulti-pulse filter (N = 32) + Thresholder が 78.8% と優れているが、こちらは平均値が 0.71 と低くなってしまっている。総合的に評価すると検出効率が 60.8%、平均値が 0.76、RMS が 0.28 の Multi-pulse filter(N = 32) + Maximumfinder が良い性能を発揮している。
• フェイク事象に対しては、発生率で見ると Multi-pulse filter は 7.5%〜11% と高いが、平均値や RMS では
他のフィルタよりも低く抑えている。一方、Optimal filter は発生率を最大 2.4% に抑えているが、平均値は1.6 ADC 程度で他のフィルタと比較すると 2 倍近い。これは、図 5.3 (a), (b) で示されているように Optimalfilter の FIR 計算の結果は他のフィルタに比べて正の値をとる BC が多く、誤って選択条件により有効にされてしまうと大きなフェイクが生まれやすいことに由来する。フェイク事象の各項目において平均的な性能を発揮するのは Wiener filter (Peak, Post) + Maximumfinder で、発生率が 2.01% と低めで、平均値は 0.87、

RMS は 0.94 である。
結果として、パターン 1 の離散値化された入射信号シークエンスにおいて総合的な性能がもっとも良いのは、フェイク事象の発生率は 8.15% と高いものの、理想的な入射信号シークエンスと同じく Multi-pulse filter (N = 32) +Maximumfinder である。

5.1 S-Frame を用いたシミュレーションによる検証

75(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.12 離散値化された入射信号シークエンス（パターン 1）に対する各フィルタの出力結果。
黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を満たした出力信号を示す。紫と黒の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあ
らわす。

第5章

76

ソフトウェアレベルでの性能評価(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.13

離散値化された入射信号シークエンス（パターン 1）の目的事象に対する各フィルタの性能。

横軸は入力値に対する出力値の相対的なずれ。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした出力結果。

5.1 S-Frame を用いたシミュレーションによる検証

77(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.14 離散値化された入射信号シークエンス（パターン 1）のパイルアップ事象に対する各フィルタの性能。
横軸はパイルアップ事象の出力値と入力値の比。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした出力結果。

第5章

78

ソフトウェアレベルでの性能評価(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.15離散値化された入射信号シークエンス（パターン 1）に対して各フィルタで生成するフェイク事象。

横軸は ADC 単位の出力値。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした
出力結果。

5.1 S-Frame を用いたシミュレーションによる検証

79

熱ノイズを含む入射信号シークエンスに対する応答（パターン 1）
パターン 1 の入射信号シークエンスにおいて、目的事象・パイルアップ事象・熱ノイズすべてを有効にし、さらに125 MeV の離散値化を施した入射信号シークエンスに対する各フィルタの応答特性を確認した。図 5.16 に各フィル
タの出力波形の例を示す。
各事象に対するヒストグラムを図 5.17〜5.19 に示す。また、パターン 1 における熱ノイズを含む入射信号シークエ
ンスに対する各フィルタの性能を表 5.6 にまとめる。各フィルタともに、各性能に悪化が見られる。
表 5.6 熱ノイズを含む入射信号シークエンス（パターン 1）に対する各フィルタの性能。

OFsd

OFmf

MF32thMF32mf

MF20thMF20mf

WF0mf

WF1mf

検出効率

100%

100%

100%

100%

100%

100%

100%

100%

平均値

-0.008-0.008-0.010-0.010-0.010-0.010-0.010-0.009

RMS

0.014

0.014

0.026

0.026

0.026

0.026

0.018

0.016

検出効率

18.1%

46.9%

69.7%

51.3%

67.8%

50.4%

45.6%

45.3%

平均値

0.96

0.90

0.87

1.03

0.85

1.00

0.89

0.90

RMS

0.36

0.40

0.54

0.51

0.54

0.51

0.41

0.37

発生率

1.76%

5.82%

26.3%

21.5%

24.9%

20.4%

11.2%

9.52%

平均値

2.14

1.66

2.22

2.46

2.20

2.43

1.68

1.54

RMS

1.10

1.48

1.78

1.80

1.77

1.79

1.40

1.30

目的事象

パイルアップフェイク

各図の (a), (b) で示された Optimal fitler の結果を以下に示す。

• Optimal filter は、熱ノイズの影響を最小に抑えるように OFC を算出しているため、離散値化された入射信号シークエンスを用いたときと比べ、性能の大きな劣化はない。

• Optimal filter + Shapedetector のフェイク事象の平均値は、離散値化された入射信号シークエンスにおける1.64 ADC から 2.14 ADC に上昇している。
• Optimal filter + Maximumfinder のフェイク事象の発生率は、離散値化された入射信号シークエンスにおける 2.41% から 5.82% まで上昇している。
各図の (c)〜(f) で示された Multi-pulse filter の結果を以下に示す。

• 熱ノイズ対策を取り入れていないので、影響を受けやすい。図 5.17 で示された目的事象に対するヒストグラム
では、熱ノイズにより RMS が約 2 倍に増大している。図 5.18 で示されたパイルアップ事象に対するヒストグ
ラムでも、熱ノイズの付加により RMS が 1.5 倍程度まで大きくなっている。図 5.19 で示されたフェイク事象の発生率が 20% 前後、平均値が 2.3 ADC 程度と、他のフィルタに比べて非常に高い。

• 選択条件が同じで N が異なるフィルタ同士で比較してみると、性能がほとんど変わらないことがわかる。フィ
ルタリングアルゴリズムが実際には FPGA 上で動作することを考えると、性能が変わらないのであれば、回路規模の節約のために FIR 計算の項数が少ないもののほうが望ましい。この点に関しては、第 6 章で議論する。
各図の (g), (h) で示された Wiener filter の結果を以下に示す。

• 図 5.17 で示された目的事象に対するヒストグラムでは、ヒストグラムの形がなまり、2 つめのピークが 1 つめのピークの裾に吸収されている。

• フェイク事象に対する性能の劣化が大きい。離散値化された入射信号シークエンスにおける性能と比較すると、発生率が 2% 前後から 10% 前後に、平均値が 0.9 ADC 程度から 1.6 ADC 程度に増大している。

第5章

80

ソフトウェアレベルでの性能評価

各フィルタを比較した結果を以下にまとめる。

• 今回、熱ノイズは単純なガウス分布で再現しているため、熱ノイズによる各フィルタへの影響の大きさは、各フィルタ係数の誤差伝播に関連付けることができる。パターン 1 の入射信号シークエンスにおける Optimalfilter の誤差伝播は 0.92、Multi-pulse filter (N = 32) の誤差伝播は 4.49、Multi-pulse filter (N = 20) の誤差伝播は 4.49、Wiener filter (Peak 1, Post) の誤差伝播は 2.59、Wiener filter (Peak 1, Post) の誤差伝播は2.32 である。この大小関係は、熱ノイズを付加した際に生じる性能の劣化具合の大小関係と一致する。
• 目的事象に対しては、Optimal filter が RMS が 0.014 ともっとも性能が良い。
• パイルアップ事象に対しては、Optimal filter + Shapedetector がもっとも検出効率は 18.1% と低いものの、選択条件で有効にされた値の信頼度は高い。検出効率は Multi-pulse filter、特に Thresholder が 70% 前後と高いが、これは非負の値をすべて有効にするからであり、RMS は他のフィルタおよび選択条件より大きく、

0.5 程度である。
• フェイク事象に対しては、発生率が低いのは Optimal filter + Shapedetector で 1.76% と離散値化された入射信号シークエンスのときとほぼ変わらない。平均値と RMS の結果が良いのは Wiener filter (Peak 1, Post)+ Maximumfinder で、平均値が 1.54 ADC、RMS が 1.30 ADC である。
結果として、パターン 1 の熱ノイズを含む入射信号シークエンスにおいて、パイルアップ事象の検出効率に目をつぶれば、Optimal filter + Shapedetector が総合的な性能で優れている。パイルアップ事象の検出効率をある程度確保
すると、Optimal filter + Maximumfinder もしくは Wiener filter (Peak 1, Post) + Maximumfinder が良い。

5.1 S-Frame を用いたシミュレーションによる検証

81(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.16 熱ノイズを含む入射信号シークエンス（パターン 1）に対する各フィルタの出力結果。
黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を満たした出力信号を示す。紫と黒の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあ
らわす。

第5章

82

ソフトウェアレベルでの性能評価(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.17

熱ノイズを含む入射信号シークエンス（パターン 1）の目的事象に対する各フィルタの性能。

横軸は入力値に対する出力値の相対的なずれ。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした出力結果。

5.1 S-Frame を用いたシミュレーションによる検証

83(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.18 熱ノイズを含む入射信号シークエンス（パターン 1）のパイルアップ事象に対する各フィルタの性能。
横軸はパイルアップ事象の出力値と入力値の比。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした出力結果。

第5章

84

ソフトウェアレベルでの性能評価(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.19

熱ノイズを含む入射信号シークエンス（パターン 1）に対して各フィルタで生成するフェイク事象。

横軸は ADC 単位の出力値。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした
出力結果。

5.1 S-Frame を用いたシミュレーションによる検証

85

理想的な入射信号シークエンスに対する応答（パターン 2）パターン 2 の入射信号シークエンスにおいて、目的事象とパイルアップ事象のみを有効にし、図 5.1 で示した理想的な入力信号のみを含む入射信号シークエンスに対する各フィルタの応答特性を確認した。パターン 2 は各 BC でパ
イルアップの混ざる確率がパターン 1 に比べて高い。LHC の高輝度化を見越して、この変化が各フィルタに対し、どのような影響を及ぼすのか知る必要がある。図 5.20 に各フィルタの出力波形の例を示す。パターン 2 における理想的な入射信号シークエンスに対する各フィルタの出力波形の特徴をまとめる。

• 図 5.20 (a) で示された Optimal filter + Shapedetector は、赤い矢印で示された各入射信号に対する計算値を出力するタイミングでほとんど有効条件を満たす値を返せていない。これは検出効率の低下を招いている。

• Optimal fitler は、パイルアップの増加によりパターン 1 とは入射信号シークエンスの歪み方が変わるため、目的事象が入射した次の BC、つまり図 5.20 (a), (b) の 275 ns で FIR 計算の出力にピークができてしまう。

Shapedetector はこの値を 0 にできるが、Maximumfinder は有効にしてしまうため、パイルアップ事象およびフェイク事象に対する性能の劣化につながる。

• 図 5.20 (c) で示された Multi-pulse filter (N = 32) + Thresholder と図 5.20 (d) で示された Multi-pulse
filter (N = 20) + Thresholder は 425 ns〜500 ns の領域のように、パイルアップ事象が連続して入射するような事象も検出することができる。
各事象に対するヒストグラムを図 5.21〜5.23 に示す。また、パターン 2 における理想的な入射信号シークエンスに対する各フィルタの性能を表 5.7 にまとめる。表中の〜0 は丸めた際に 0 になった値を意味する。
表 5.7

理想的な入射信号シークエンス（パターン 2）に対する各フィルタの性能。

OFsd

OFmf

MF32thMF32mf

MF20thMF20mf

WF0mf

WF1mf

検出効率

100%

100%

100%

100%

100%

100%

100%

100%

平均値

-0.020-0.020-0.016-0.016-0.019-0.019-0.019-0.020

RMS

0.014

0.014

0.007

0.007

0.005

0.005

0.012

0.013

検出効率

12.3%

29.1%

77.3%

38.8%

73.3%

39.3%

36.9%

36.5%

平均値

0.77

0.78

0.54

0.54

0.47

0.48

0.54

0.59

RMS

0.31

0.56

0.18

0.18

0.15

0.15

0.30

0.33

発生率

0.47%

2.07%

0.31%

0.038%

0%

0%

〜0%

0.32%

平均値

1.48

5.91

0.005

0.010

0

0

0.13

0.62

RMS

0.83

3.53

0.014

0.024

0

0

0

0.47

目的事象

パイルアップフェイク

パターン 1 との違いを踏まえながら、パターン 2 における理想的な入射信号シークエンスに対する応答における結果を以下に示す。

• 目的事象に対する性能を示した図 5.21 は、パターン 1 のときに比べ、すべてのフィルタで平均値が負のほうへひきずられている。図 5.1 で示される入力波形は、正の値をとる BC よりも負の値をとるオーバーシュートの部分の BC のほうが多い。パイルアップの増加により、オーバーシュートの影響で目的事象のピーク値が引き下げられていると考えられる。また、各フィルタにおいて、パターン 1 に比べて RMS が 0.002 程度大きくなっている。

• 図 5.21 (g), (h) で示された Wiener filter は、パターン 1 とヒストグラムの形が大きく変わり、2 つのピークが同程度の高さを持っている。

• パイルアップ事象に対する性能を示した図 5.22 では、選択条件に Maximumfinder を用いるフィルタはパター

第5章

86

ソフトウェアレベルでの性能評価

ン 1 に比べてパイルアップ事象の検出効率が激減している。Maximumfinder は連続した BC では出力を有効にできないため、パイルアップの増加に伴ってパイルアップの検出効率は下がる傾向がある。

• 図 5.20 でも確認したように、Optimal filter + Maximumfinder は目的事象が入射した次の BC で FIR 計算
が正方向に歪められてピークを作る場合があり、大きめに見積もられたパイルアップ事象が選択条件で有効にされることによって RMS が突出して悪くなる。

• フェイク事象に関する性能を評価した図 5.23 でも同様に、Optimal filter + Maximumfinder は大きなフェイ
ク事象を発生させやすい。

• 他のフィルタにおけるフェイク事象に対する性能に関しては、ヒストグラムが全体的にやや負のほうへ引きずられる影響で、フェイクの発生率はパターン 1 に比べて激減している。この効果は、単一の信号における出力
値が 0 付近で小さく振動する性質をもつ Multi-pulse filter には好影響をもたらす。
各フィルタを比較した結果を以下にまとめる。

• 目的事象に対しては、理想的な入射信号シークエンスの場合、パターン 1 と同じく Multi-pulse filter、特にMulti-pulse filter (N = 20) が優れており、RMS は他のフィルタの 1/2 以下である。
• パイルアップ事象に対しては、検出効率が高いのはやはり Thresholder を用いる Multi-pulse filter で 75% 前
後だが、平均値が 0.5 程度と低くなる側面もある。一方で、平均値が比較的入力値に近いのは Optimal filter で0.77 程度だが、検出効率は Shapedetector を使うと 12.3%、Maximumfinder を使うと 29.1% と、Multi-pulse
filter + Thresholder の 1/6〜1/3 程度である。また、Optimal filter + Maximumfinder は図 5.21 (b) の横軸
2.5 あたりにある 2 つ目のピークにより平均値を引き上げられていることに注意する。
• フェイク事象については、理想的な入射信号シークエンスの場合、Multi-pulse filter および Wiener filter(Peak, Post) の性能が圧倒的に良い。特に、Multi-pulse filter (N = 20) は平均値が他のフィルタよりも負の方向に下げられる傾向があるため、フェイク事象がそもそも発生しない。
結果として、パターン 2 の理想的な入射信号シークエンスにおいて総合的な性能がもっとも良いのは、Multi-pulse

filter (N = 20) + Thresholder である。

5.1 S-Frame を用いたシミュレーションによる検証

87(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.20 理想的な入射信号シークエンス（パターン 2）に対する各フィルタの出力結果。
黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を満たした出力信号を示す。紫と黒の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあ
らわす。

第5章

88

ソフトウェアレベルでの性能評価(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.21

理想的な入射信号シークエンス（パターン 2）の目的事象に対する各フィルタの性能。

横軸は入力値に対する出力値の相対的なずれ。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした出力結果。

5.1 S-Frame を用いたシミュレーションによる検証

89(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.22 理想的な入射信号シークエンス（パターン 2）のパイルアップ事象に対する各フィルタの性能。
横軸はパイルアップ事象の出力値と入力値の比。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした出力結果。

第5章

90

ソフトウェアレベルでの性能評価(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.23

理想的な入射信号シークエンス（パターン 2）に対して各フィルタで生成するフェイク事象。

横軸は ADC 単位の出力値。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした
出力結果。

5.1 S-Frame を用いたシミュレーションによる検証

91

離散値化された入射信号シークエンスに対する応答（パターン 2）パターン 2 の入射信号シークエンスにおいて、目的事象・パイルアップ事象・熱ノイズすべてを有効にし、さらに125 MeV の離散値化を施した入射信号シークエンスに対する各フィルタの応答特性を確認した。図 5.24 に各フィル
タの出力波形の例を示す。
各事象に対するヒストグラムを図 5.25〜5.27 に示す。また、パターン 2 における離散化された入射信号シークエンスに対する各フィルタの性能を表 5.8 にまとめる。
表 5.8

離散化された入射信号シークエンス（パターン 2）に対する各フィルタの性能。

OFsd

OFmf

MF32thMF32mf

MF20thMF20mf

WF0mf

WF1mf

検出効率

100%

100%

100%

100%

100%

100%

100%

100%

平均値

-0.021-0.021-0.020-0.020-0.022-0.022-0.021-0.021

RMS

0.015

0.015

0.012

0.012

0.011

0.011

0.014

0.014

検出効率

11.5%

28.5%

71.7%

44.0%

67.8%

42.2%

34.8%

34.6%

平均値

0.76

0.77

0.49

0.59

0.46

0.55

0.57

0.60

RMS

0.31

0.57

0.28

0.27

0.26

0.25

0.32

0.33

発生率

0.41%

2.12%

3.12%

1.31%

1.52%

0.86%

0.49%

0.70%

平均値

1.57

5.71

0.61

0.73

0.47

0.56

0.76

0.78

RMS

0.78

3.50

0.53

0.61

0.41

0.45

0.58

0.56

目的事象

パイルアップフェイク

各図の (a), (b) で示された Optimal filter の結果を以下に示す。

• Optimal filter + Shapedetector の結果は、理想的な入射信号シークエンスとほとんど変わらない。
• Optimal filter + Maximumfinder の結果も、理想的な入射信号シークエンスとほとんど変わらない。フェイ
ク事象に対して、発生率 2.12% は Multi-pulse filter (N = 32) + Thresholder に次いで 2 番目に、平均値

5.71 ADC と RMS 3.50 ADC は突出して悪い。
各図の (c)〜(f) で示された Multi-pulse filter の結果を以下に示す。

• 目的事象に対する再構成を評価した図 5.25 (c)〜(f) において、理想的な入射信号シークエンスにおける図 5.21(c)〜(f) と比較すると、RMS が 2 倍程度になっている。これはパターン 1 のときと同じく、離散値化によってパイルアップの入力信号が理想的な入力波形から大きく歪められ、入力波形にセンシティブな Multi-pulse

filter はパイルアップを信号事象ではなくノイズとして扱ってしまっているからである。
• パイルアップ事象に対する再構成を評価した図 5.26 (c)〜(f) においても、青いヒストグラムで示された FIR
計算の出力結果が離散値化によって大きく歪められ、選択条件後の赤いヒストグラムの RMS が悪化している。

• フェイク事象において、図 5.27 (c)〜(f) で示されるとおり、図 5.23 (c)〜(f) と比較して、フェイク事象の発生率が著しく上昇している。
各図の (g), (h) で示された Wiener filter の結果を以下に示す。

• 目的事象に対する再構成を評価した図 5.25 (g), (h) において、Wiener filter は係数キャリブレーションにおいてパイルアップをノイズではなく信号事象として扱っているため、パイルアップの入力信号のなまりを受けて、ヒストグラムの形が変化している。

• フェイク事象において、図 5.27 (g), (h) で示されるとおり、図 5.23 (g), (h) と比較して、フェイク事象の発生率が上昇している。

第5章

92

ソフトウェアレベルでの性能評価

各フィルタを比較した結果を以下にまとめる。

• 目的事象に対しては、Multi-pulse filter が RMS を 0.011 程度と小さく抑えている。
• パイルアップ事象に対しても、Multi-pulse filter は RMS を 0.28 以下に抑えている。検出効率と平均値を両立しているのは、Multi-pulse filter (N = 32) + Maximumfinder で、検出効率が 44.0%、平均値が 0.59 である。

• フェイク事象については、各 Multi-pulse filter の性能の悪化が見て取れる。それでも発生率・平均値・RMSに対してバランスよく性能を示しているのは Multi-pulse filter (N = 20) + Maximumfinder で、発生率は0.86%、平均値は 0.56 ADC、RMS は 0.45 ADC である。
結果として、パターン 2 の離散値化された入射信号シークエンスにおいて総合的な性能がもっともよいのは、

Multi-pulse filter (N = 20) + Maximumfinder である。

5.1 S-Frame を用いたシミュレーションによる検証

93(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.24 離散値化された入射信号シークエンス（パターン 2）に対する各フィルタの出力結果。
黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を満たした出力信号を示す。紫と黒の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあ
らわす。

第5章

94

ソフトウェアレベルでの性能評価(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.25離散値化された入射信号シークエンス（パターン 2）の目的事象に対する各フィルタの性能。

横軸は入力値に対する出力値の相対的なずれ。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした出力結果。

5.1 S-Frame を用いたシミュレーションによる検証

95(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.26 離散値化された入射信号シークエンス（パターン 2）のパイルアップ事象に対する各フィルタの性能。
横軸はパイルアップ事象の出力値と入力値の比。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした出力結果。

第5章

96

ソフトウェアレベルでの性能評価(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.27

離散値化された入射信号シークエンス（パターン 2）に対して各フィルタで生成するフェイク事象。

横軸は ADC 単位の出力値。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした
出力結果。

5.1 S-Frame を用いたシミュレーションによる検証

97

熱ノイズを含む入射信号シークエンスに対する応答（パターン 2）パターン 2 の入射信号シークエンスにおいて、目的事象・パイルアップ事象・熱ノイズすべてを有効にし、さらに125 MeV の離散値化を施した入射信号シークエンスに対する各フィルタの応答特性を確認した。図 5.28 に各フィル
タの出力波形の例を示す。
各事象に対するヒストグラムを図 5.29〜5.31 に示す。また、パターン 2 における熱ノイズを含む入射信号シークエ
ンスに対する各フィルタの性能を表 5.9 にまとめる。
表 5.9 熱ノイズを含む入射信号シークエンス（パターン 2）に対する各フィルタの性能。

OFsd

OFmf

MF32thMF32mf

MF20thMF20mf

WF0mf

WF1mf

検出効率

100%

100%

100%

100%

100%

100%

100%

100%

平均値

-0.021-0.021-0.019-0.019-0.022-0.022-0.021-0.021

RMS

0.017

0.017

0.027

0.027

0.027

0.027

0.020

0.018

検出効率

11.2%

28.3%

59.5%

41.6%

56.4%

40.4%

34.0%

32.7%

平均値

0.82

0.83

0.73

0.89

0.70

0.84

0.73

0.73

RMS

0.34

0.58

0.50

0.48

0.48

0.47

0.39

0.38

発生率

0.58%

3.26%

16.4%

13.4%

14.2%

12.1%

4.81%

3.68%

平均値

1.87

4.36

1.95

2.15

1.86

2.02

1.52

1.40

RMS

0.95

3.51

1.63

1.65

1.57

1.58

1.11

1.00

目的事象

パイルアップフェイク

各図の (a), (b) で示された Optimal filter の結果を以下に示す。

• Optimal filter + Shapedetector は全体的に熱ノイズによる劣化はあるものの、その影響は最小限に抑えられている。

• Optimal filter + Maximumfinder は、離散値化された入射信号シークエンスと比較して、フェイク事象の発生率が 2.12% から 3.26% に上昇する一方で、平均値は 5.71 ADC から 4.36 ADC に引き下げられている。これは図 5.31 (b) に示されているように 0 付近のフェイク事象が増加したことによるものである。
各図の (c)〜(f) で示された Multi-pulse filter の結果を以下に示す。

• 目的事象に対する再構成を評価した図 5.29 (c)〜(f) において、大幅な劣化が見られ、RMS の値が他のフィル
タの約 1.5 倍に達する。

• パイルアップ事象に対する再構成においても、RMS の値が約 0.25 からおよそ 2 倍の約 0.5 にまで悪化している。

• フェイク事象において、図 5.31 (c)〜(f) で示されるとおり、最大約 15 ADC のフェイク事象を発生させる。図5.30 の横軸の 1 目盛りがパイルアップの入力値である 5 ADC 分に相当することを踏まえると、Multi-pulse
filter の出力においてはパイルアップ事象の出力ヒストグラムとフェイク事象の出力ヒストグラムの領域がほぼ完全に重複しており、パイルアップ再構成に重点をおいた特色は完全に意味をなさなくなっていることがわかった。
各図の (g), (h) で示された Wiener filter の結果を以下に示す。

• 目的事象およびパイルアップ事象に対しては、各 Wiener filter の RMS の劣化は微増にとどまっている。特にWiener filter (Peak 1, Post) + Maximumfinder の目的事象の RMS 0.018 とパイルアップ事象の RMS 0.38
は Optimal filter + Shapedetector に次いで 2 番目に良い値である。

第5章

98

ソフトウェアレベルでの性能評価• フェイク事象において、図 5.31 (g), (h) で示されるとおり、離散値化された入射信号シークエンスと比較して、フェイク事象の発生率・平均値・RMS が大幅に増加している。Wienr filter (Peak, Post) + Maximumfinderの場合、発生率が約 10 倍の 4.81%、平均値が約 2 倍の 1.52 ADC、RMS も約 2 倍の 1.11 ADC と悪化している。Wiener filter (Peak 1, Post) + Maximumfinder の場合、発生率が約 5 倍の 3.68%、平均値が約 2 倍の1.40 ADC、RMS が約 2 倍の 1.00 ADC と悪化している。
各フィルタを比較した結果を以下にまとめる。

• パターン 1 のとき同様、各フィルタの誤差伝播と熱ノイズによる劣化の関係を調べると、パターン 2 における各フィルタ係数の誤差伝播は、Optimal filter が 1.62、Multi-pulse filter (N = 32) が 4.49、Multi-pulse

filter (N = 20) が 4.49、Wiener filter (Peak, Post) が 2.62、Wiener filter (Peak 1, Post) が 2.13 となっており、誤差伝播の大小関係と熱ノイズによる劣化具合の大小関係は一致する。

• 目的事象に対しては、Optimal filter がもっとも RMS を小さく抑えており、その値は 0.017 である。理想的な入射信号シークエンスのときの値は 0.014 であり、劣化の割合も他のフィルタに比べて小さい。

• パイルアップ事象に対しては、Optimal filter + Shapedetector がもっとも信頼度の高い値を返すが、検出効率が 11% 程度ときわめて低い。それに対し、Wiener filter が検出効率・平均値・RMS のすべてでバランスよい性能を発揮している。

• フェイク事象については、発生率の面で Optimal filter + Maximumfinder が 0.58% に抑えており、優れている。
結果として、パターン 2 の熱ノイズを含む入射信号シークエンスにおいて総合的な性能がもっとも良いのは、パイル
アップ事象の検出効率に難があるものの、Optimal filter + Shapedetector である。
パターン 1 とパターン 2 の熱ノイズを含む入射信号シークエンスにおける各フィルタの性能を比較し、パイルアップの増加に対する各フィルタの検証結果をまとめる。

• 目的事象に対しては、全体的な傾向として、平均値が負の方向へひきずられ、RMS が大きくなる傾向にある。
もっとも RMS が大きくなったのは Optimal filter で 0.014 から 0.017 に悪化した。RMS に対する影響が少なかったのは Multi-pulse filter で、0.026 から 0.027 へ変化した。

• パイルアップ事象に対しては、全体的な傾向として、検出効率の低下および平均値の低下とそれに伴う RMSの低下が見られる。ただし、Optimal filter + Maximumfinder は図 5.30 の横軸 3 付近に 2 つ目のピークをもつため、平均値と RMS の上昇が見られる。

• フェイク事象に対しては、Optimal filter + Maximumfinder を除いて、全体的な傾向として、発生率の低下
および平均値の低下とそれに伴う RMS の低下が見られる。

5.1 S-Frame を用いたシミュレーションによる検証

99(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.28 熱ノイズを含む入射信号シークエンス（パターン 2）に対する各フィルタの出力結果。
黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を満たした出力信号を示す。紫と黒の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあ
らわす。

第5章

100

ソフトウェアレベルでの性能評価(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.29

熱ノイズを含む入射信号シークエンス（パターン 2）の目的事象に対する各フィルタの性能。

横軸は入力値に対する出力値の相対的なずれ。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした出力結果。

5.1 S-Frame を用いたシミュレーションによる検証

101(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.30 熱ノイズを含む入射信号シークエンス（パターン 2）のパイルアップ事象に対する各フィルタの性能。
横軸はパイルアップ事象の出力値と入力値の比。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした出力結果。

第5章

102

ソフトウェアレベルでの性能評価(a) Optimal filter + Shapedetector(b) Optimal filter + Maximumfinder(c) Multi-pulse filter (N = 32) + Thresholder(d) Multi-pulse filter (N = 32) + Maximumfinder(e) Multi-pulse filter (N = 20) + Thresholder(f) Multi-pulse filter (N = 20) + Maximumfinder(g) Wiener filter (Peak, Post) + Maximumfinder(h) Wiener filter (Peak 1, Post) + Maximumfinder

図 5.31

熱ノイズを含む入射信号シークエンス（パターン 2）に対して各フィルタで生成するフェイク事象。

横軸は ADC 単位の出力値。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした
出力結果。

5.1 S-Frame を用いたシミュレーションによる検証

103

5.1.6 まとめ
本節で得た結果をまとめる。

S-Frame を用いたシミュレーションにおいて、性能評価を行った 8 つのフィルタと各フィルタの最終的な出力までのレイテンシを列挙する。

• Optimal filter + Shapedetector：4 BC• Optimal filter + Maximumfinder：5 BC• Multi-pulse filter (N = 32) + Thresholder：3 BC• Multi-pulse filter (N = 32) + Maximumfinder：4 BC• Multi-pulse filter (N = 20) + Thresholder：3 BC• Multi-pulse filter (N = 20) + Maximumfinder：4 BC• Wiener filter (Peak, Post) + Maximumfinder：3 BC• Wiener filter (Peak 1, Post) + Maximumfinder：4 BC
各フィルタは、異なるチャンネルの入力信号に対しても係数キャリブレーションでおのおののチャンネルに最適なフィルタ係数を算出し、同様の応答特性を示すことがわかった。ただし、Optimal filter の FIR 計算の結果はチャンネルによってはフェイクのピークをもつため、Maximumfinder を課すには注意が必要である。また、入力信号の入射タイミングをずらした場合、Multi-pulse filter と Wiener filter はその影響で出力値の波高が歪められてしまうが、Optimal filter は入射タイミングのずれに強いことが確認できた。
目的事象に複数のパイルアップ事象を重ね合わせた入射信号シークエンスに対する性能評価は、2 パターンの入射信号シークエンスについて行った。128 ADC の目的事象に対し、5 ADC のパイルアップ事象をパターン 1 では各

BC において 0.2 の確率で、パターン 2 では各 BC において 0.5 の確率で混ぜている。
2 パターンの入射信号シークエンスに対する Optimal filter の特徴をまとめる。
• Optimal filter は離散値化や熱ノイズの影響をもっとも受けにくいフィルタである。
– Optimal filter + Shapedetector は、熱ノイズを含む入射信号シークエンスに対してパターン 1 とパター
ン 2 の両方においてもっとも信頼度の高い出力値を返すことができる。例えばパターン 2 では、熱ノイズを含む入射信号シークエンスのパイルアップ事象に対する平均値は 0.82（他のフィルタは 0.70〜0.89）、

RMS は 0.34（他のフィルタは 0.38〜0.58）である。その一方で、検出効率が 11.2%（他のフィルタでは28.3%〜59.5%）ときわめて低い。また、フェイク事象に対する平均値は 1.87（他のフィルタは 1.40〜
4.36）、RMS は 0.95（他のフィルタは 1.00〜3.51）である。
– Optimal filter + Maximumfinder は、パターン 1 の熱ノイズを含む入射信号シークエンスに対しては、パイルアップの検出効率をある程度保って性能を発揮する。パイルアップ事象に対しては、検証効率が46.9%（他のフィルタは 18.1〜69.7%）、平均値が 0.90（他のフィルタは 0.85〜1.03）、RMS が 0.40（他のフィルタは 0.36〜0.54）である。フェイク事象に対しては、発生率が 5.82%（他のフィルタは 1.76〜

26.3%）、平均値が 1.66（他のフィルタは 1.54〜2.46）、RMS が 1.48（他のフィルタは 1.10〜1.80）である。その一方で、パターン 2 においては選択条件の誤認識により、パイルアップ事象の RMS およびフェイク事象の平均値・RMS がもっとも悪い。熱ノイズを含む入射信号シークエンスにおいて、パイルアップ
事象の RMS は 0.58（他のフィルタは 0.34〜0.50）、フェイク事象の平均値は 4.36（他のフィルタは 1.40
〜2.15）、RMS は 3.51（他のフィルタは 0.95〜1.65）である。

2 パターンの入射信号シークエンスに対する Multi-pulse filter の特徴をまとめる。
• Multi-pulse filter は異なる N の値と 2 種類の選択条件を使って計 4 種類で性能評価を行ったが、選択条件が同じであれば N = 32 と N = 20 の各フィルタの性能はさほど変わらないことがわかった。

• Multi-pulse filter は理想的な入射信号シークエンスにおいては非常に高性能である。例えば、パターン 1 の入

第5章

104

ソフトウェアレベルでの性能評価

射信号シークエンスに対して Multi-pulse filter (N = 32) + Thresholder を適用した場合、パイルアップ事象の検出効率は 79.9%（他のフィルタは 20.9%〜77.2%）、平均値は 0.79（他のフィルタは 0.74〜0.93）、RMS
は 0.17（他のフィルタは 0.17〜0.35）である。

• 離散値化された入射信号シークエンスにおいてはフェイク事象の発生率が上昇するものの、総合的な性能は他のフィルタより優れている。

• 熱ノイズが加わると、各事象のピーク幅が広がり、フェイクの発生率も急激に増えることが確認された。例えば、パターン 1 の入射信号シークエンスに対して Multi-pulse filter (N = 32) + Thresholder を適用した場
合、フェイク事象の発生率は 26.3%（熱ノイズで 2.1 倍）、平均値は 2.22（熱ノイズで 3.1 倍）、RMS は 1.78
（熱ノイズで 3.1 倍）にまで悪化する。

2 パターンの入射信号シークエンスに対する Wiener filter の特徴をまとめる。
• Wiener filter は離散値化の影響は最小限にとどめられているが、熱ノイズが付加されるとフェイク事象の発生率の上昇が目立つ。

• 特に、Wiener filter (Peak 1, Post) + Maximumfinder は各パターンにおいて熱ノイズが付加されてもフェイク事象に対する性能がそれほど悪化しない特徴をもつ。パターン 1 のときのフェイク事象の発生率は9.52%（他のフィルタは 1.76%〜26.3%）、平均値は 1.54（他のフィルタは 1.66〜2.46）、RMS は 1.30（他のフィルタは 1.10〜1.80）である。パターン 2 のときのフェイク事象の発生率は 3.68%（他のフィルタは0.58%〜16.4%）、平均値は 1.40（他のフィルタは 1.52〜4.36）、RMS は 1.00（他のフィルタは 0.95〜3.51）である。

• パイルアップ事象に関しても、検出効率と出力値の信頼度をある程度両立している。例えば、パターン 1 の熱ノイズを含む入射信号シークエンスに対して Wiener filter (Peak 1, Post) + Maximumfinder を適用した場
合、パイルアップ事象の検出効率は 45.3%（他のフィルタは 18.1%〜69.7%）、平均値は 0.90（他のフィルタは0.85〜1.03）、RMS は 0.37（他のフィルタは 0.36〜0.54）である。ただし、パターン 2 に対しては平均値が大
きく下がり、0.73（他のフィルタは 0.73〜0.84）となる。
総合的に見ると、Optimal filter + Shapedetector が目的事象およびパイルアップ事象に対して信頼度の高い値を返し、フェイク事象も抑えており、優れている。ただし、パイルアップ事象の検出効率が低い。検出効率まで考慮してバランスの良い性能を発揮しているのは、Wiener filter (Peak 1, Post) + Maximumfinder である。しかしながら、Optimal filter + Maximumfinder のように、各フィルタの FIR 計算の出力シークエンスや、選択条件による値の有効化は、入射信号シークエンスのパラメータに大きく左右される。今後は、Run 3 および HL-LHC における信号環境をより現実に即した状況でシミュレートし、おのおのの状況に合ったフィルタおよび選択条件を採用する必要がある。

5.2 AREUS を用いたシミュレーションによる検証

105

5.2 AREUS を用いたシミュレーションによる検証
本節では、Phase-I アップグレードに向けて開発されている液体アルゴンカロリメータ読み出しシミュレータ、

AREUS（ATLAS Readout Electronics Upgrade Simulation） [15] を用いたシミュレーションの結果を報告する。

5.2.1 AREUS の概要
まず、AREUS の概要について簡単に述べる。

AREUS は C++ をベースに作成されており、Phase-I アップグレードにおける液体アルゴンカロリメータの読み
出し系の変更などをシミュレーションするためのフレームワークを提供する。カロリメータのレイヤー、ϕ と η の座
標を含むマップ情報が格納されており、各所に応じた信号波形、時間遅延、熱ノイズ、ADC 特性を与える。それらの情報をもとにカロリメータの読み出し系における信号を再現し、フィルタリングアルゴリズムの性能評価を行うことが可能である。ただし、AREUS はカロリメータのヒット情報そのものは生成せず、あらかじめヒット情報が格納されたデータファイルを参照する。AREUS は 2 つの実行モードがある。ATLAS モードでは、Geant4 によって生成された陽子陽子衝突が引き起こす粒子のヒット情報を含んだ ATLAS 公式のヒットサンプルを AREUS 用に変換して用いる。Geant4 は素粒子の振る舞いや反応を正確にシミュレートする大規模なソフトウェアの名称である。一方、

TestCell モードでは、カロリメータのひとつのセルだけに注目し、そのセルの任意のヒット情報を自分で直接作る。
AREUS が実行されると、以下のプロセスが行われる。
• ヒット情報を参照して、カロリメータの各セルでのヒット情報を得る。各セルの位置やレイヤーの情報にしたがって、適切なバイポーラ波形を成形する。ATLAS モードの場合は、基本セルごとにヒット情報を与えられるが、TestCell モードの場合は、パラメータ指定により任意のセルサイズをもつ TestCell をつくり、1 つの

TestCell に対するヒット情報が与えられる。
• ATLAS モードで実行した場合は、基本セルに落とされたエネルギー値が Super Cell のサイズに足し合わされる。

• オプションとして電子回路で発生する熱ノイズがセルごとに異なる値で付加される。TestCell モードでは、
TestCell の大きさや座標によって熱ノイズの値が変わる。その後、波高の単位が横方向エネルギーから ADC
サンプリング値に変換され、入力信号は離散値化される。

• ADC 単位の入力信号に対し、フィルタリングアルゴリズムを適用する。フィルタリングアルゴリズムが適用される前後の各種情報は、ヒストグラムとして保存される。

5.2.2 目的フィルタリングアルゴリズムの性能評価を AREUS でも行った動機は、カロリメータのマップ情報や、パイルアップのヒットサンプルといった実際の ATLAS 環境に近いセットアップで検証ができる利点があったことである。指定できるパラメータが非常に多く、またセルヒットからフィルタリングアルゴリズム適用までの各段階における信号のサチュレーションも再現するなど、S-Frame に比べて、より複雑で実行的な検証ができる。その反面、AREUS では十段階以上クラスを継承することも珍しくなく、煩雑なシステム体系をもつため、新たな機能を付加するなどのカスタマイズがしにくいといった面もある。AREUS には他のグループが研究しているフィルタリングアルゴリズムも実装されているため、性能評価の比較対象も増える。また、AREUS 自体が開発途上であるため、バグチェックや機能追加の提案といった役割もあった。

5.2.3 セットアップ
今回のシミュレーションでは、2014 年 5 月 27 日にリリースされた AREUS 2.0.9 を用いた。特に断らない限
り、TestCell モードを使って性能評価を行った。また、AREUS の入力信号にはいくつかのモードがあるが、Spice

第5章

106

ソフトウェアレベルでの性能評価

モードを選択した。検証で用いたセルは、特に断らない限り、EMB における middle レイヤーの 0.1 ≤ η < 0.125、

0.0 ≤ ϕ < 0.1 の範囲である。セルサイズは Super Cell を想定して、∆η × ∆ϕ = 0.025 × 0.1 の大きさになっている。
この領域で熱ノイズを有効にすると、AREUS では mean = 0 MeV, σ = 85 MeV のガウス分布が入射信号シークエ
ンスに付加される。熱ノイズの時間的な相関は考慮されていない。また、離散値化は 125 MeV で行われる。

AREUS には Optimal filter および Wiener filter はデフォルトで組み込まれているが、Multi-pulse filter は自分
で AREUS 用にコーディングする必要があった。Optimal filter および Multi-pulse filter は入射信号シークエンスのはじめの 1, 000 BC を係数の計算およびキャリブレーションのためにあて、その領域の出力結果はヒストグラムに保存しない。一方、Wiener filter は同じくはじめの 1, 000 BC で係数キャリブレーションを行うが、その領域での出力結果もヒストグラムに保存している。

AREUS における入射信号シークエンスは、S-Frame のように複数に分かれておらず、1 つの長いシークエンスをもとに性能評価を行う。シークエンス長はパラメータ指定により自由に決められる。今回メインで用いた入射信号
シークエンスを作成した際の各種設定を示す。

• シークエンス長：5, 000, 000 BC（125 ms）の長さをもつ入射信号シークエンスを生成した。このうち、はじめの 1, 000 BC は各フィルタの係数キャリブレーションに使われる。

• 目的事象：100 BC ごとに目的事象を入射させた。エネルギー値は広い範囲での各フィルタの応答を知るために、1 GeV から 100 GeV までの一様分布で乱数を振った。

• パイルアップ事象：AREUS に格納されているパイルアップ分布のデータをそのまま用いた。この入射信号
シークエンスに含まれるパイルアップ事象のエネルギー分布を図 5.32 に示す。

(a) 縦軸：エントリー数
図 5.32(b) 縦軸：エントリー数（log 表示）

パイルアップ事象のエネルギー分布。

横軸は GeV 単位のエネルギー。(a) と (b) は縦軸の表示を変えただけで、同じものを示している。

5.2.4 各検証項目と結果
ATLAS モードにおいて、以下の項目について評価を行った。
• EMB の各レイヤーにおける応答
TestCell モードにおいて、以下の項目について評価を行った。
• 熱ノイズを含まない入射信号シークエンスに対する応答• 熱ノイズを含む入射信号シークエンスに対する応答• サチュレーションを起こした信号に対する応答• イレギュラーなノイズを含む信号に対する応答
評価の対象としたのは次の 5 つのフィルタである。

• Optimal filter + Shapedetector（短縮形：OFsd）

5.2 AREUS を用いたシミュレーションによる検証• Optimal filter + Maximumfinder

107（短縮形：OFmf）• Multi-pulse filter (N = 32) + Thresholder（短縮形：MF32th）• Multi-pulse filter (N = 20) + Thresholder（短縮形：MF20th）• Wiener filter (Peak 1, Post) + forward correction（短縮形：WFfc）

Multi-pulse filter の括弧内の数字は行列の次元数を表す。Wiener filter の括弧内の文字は、各 Wiener filter の出力波形を決めるためのパラメータである。詳しい内容は付録で説明する。以降、表中などでは短縮形の表記を用いることがある。

EMB の各レイヤーにおける応答
S-Frame では EMB の middle レイヤーを想定して各フィルタの出力波形を見てきたが、ここでは他のレイヤーにおける入力波形と各フィルタの出力波形も合わせて確認する。
図 5.33 に presampler、図 5.34 に front レイヤー、図 5.35 に middle レイヤー、そして図 5.36 に back レイヤーにおける入力波形と各フィルタの出力波形をそれぞれ示す。各レイヤーの入力信号は 50 ns で入射している。図 5.33

(a) のように presampler では 3 点目、図 5.34 (a) のように front では 2 点目、図 5.35 (a) のように middle では 3 点目、図 5.36 (a) のように back では 2 点目にピークをもつ入力波形となっている。
各図の (b)〜(d) に示された Optimal filter がレイヤーの違いによって受ける影響についてまとめる。

• 各図の (b) に示された Optimal filter の FIR 計算の出力シークエンスを比較すると、各レイヤーの入力波形の違いに大きく依存することがわかる。

• レイヤーにより大小は異なるが、650 ns〜750 ns あたりの領域において、正のフェイク事象が生じている。
• 各図の (c) に示された Optimal filter + Shapedetector は、真のピークだけをうまく抽出できているが、各図の (d) で示された Optimal filter + Maximumfinder は、前述のフェイク事象も有効にしてしまっている。

• 真のピークはすべてのレイヤーにおいて、Shapedetector が 150 ns、Maximumfinder が 175 ns に立っているので、信号入射後のレイテンシはそれぞれ 100 ns と 125 ns である。
各図の (e), (f) に示された Multi-pulse filter がレイヤーの違いによって受ける影響についてまとめる。

• 各図の (e) に示された Multi-pulse filter (N = 32) の FIR 計算の出力シークエンスを比較すると、各レイヤーにおいて 875 ns 以降の FIR 計算の結果が負になる領域の出力波形がやや変わるが、正の値を返す部分では変化は見られない。

• 各図の (f) に示された Multi-pulse filter (N = 32) + Thresholder は、すべてのフィルタの中でもっとも安定的に動作している。

• Multi-pulse filter (N = 32) + Thresholder はすべてのレイヤーにおいて、125 ns でピークを返すので、レイテンシは 75 ns である。
各図の (g), (h) に示された Wiener filter がレイヤーの違いによって受ける影響についてまとめる。

• 各図の (g) に示された Wiener filter の FIR 計算の出力シークエンスに着目すると、Wiener filter はここで紹介するフィルタの中でもっともレイヤーの違いによる影響を受けていることがわかる。

• レイヤーによって波形だけでなくピークの位置も異なるため、Wiener filter のレイテンシもレイヤーごとに変わってしまう。これは係数キャリブレーションにおいて、入力波形のピークの位置に合わせて Wiener filter の
出力シークエンスのピークの位置を決めているためである。詳細は付録 A.2 にて説明している。

• 各図の (h) に示された Wiener filter (Peak 1, Post) + forward correction を見てみると、フィードバックを含んだ選択条件によってピーク値のみを有効にしているが、レイテンシは presampler と middle で 100 ns、

front と back で 75 ns となっている。

第5章

108

図

ソフトウェアレベルでの性能評価(a) 入力波形(b) OF(c) OFsd(d) OFmf(e) MF32(f) MF32th(g) WF(h) WFfc

5.33 Presamplerに お け る 規 格 化 さ れ た 入 力 波 形 と 各 フ ィ ル タ の 出 力 。

横軸は BC、縦軸はエネルギー値にそれぞれ比例する。

5.2 AREUS を用いたシミュレーションによる検証

図5.34 Front

109(a) 入力波形(b) OF(c) OFsd(d) OFmf(e) MF32(f) MF32th(g) WF(h) WFfc

レ イ ヤ ーに お け る 規 格 化 さ れ た 入 力 波 形 と 各 フ ィ ル タ の 出 力 。

横軸は BC、縦軸はエネルギー値にそれぞれ比例する。

第5章

110

図

ソフトウェアレベルでの性能評価(a) 入力波形(b) OF(c) OFsd(d) OFmf(e) MF32(f) MF32th(g) WF(h) WFfc

5.35 Middle

レ イ ヤ ーに お け る 規 格 化 さ れ た 入 力 波 形 と 各 フ ィ ル タ の 出 力 。

横軸は BC、縦軸はエネルギー値にそれぞれ比例する。

5.2 AREUS を用いたシミュレーションによる検証

図5.36 Back111(a) 入力波形(b) OF(c) OFsd(d) OFmf(e) MF32(f) MF32th(g) WF(h) WFfc

レ イ ヤ ーに お け る 規 格 化 さ れ た 入 力 波 形 と 各 フ ィ ル タ の 出 力 。

横軸は BC、縦軸はエネルギー値にそれぞれ比例する。

第5章

112

ソフトウェアレベルでの性能評価

熱ノイズを含まない入射信号シークエンスに対する応答

5.2.3 節で説明した入射信号シークエンスを、熱ノイズを無効にした状態で用いて、各フィルタの性能を確認した。
図 5.37, 5.38 に目的事象およびパイルアップ事象に対する各フィルタの応答特性を示す。
はじめに各図の説明をする。図 5.37 は横軸を粒子がカロリメータで落としたエネルギー値 Einput 、縦軸をフィル
タの出力値 Eoutput として、それぞれ GeV を単位にとったものである。再構成の精度が落ちる低エネルギー領域を確認するために、各フィルタの Einput = 15 GeV 以下の部分を拡大したヒストグラムを、図 5.37 (b), (d), (f), (h),(j) に示している。図 5.38 は横軸を粒子がカロリメータで落としたエネルギー値 Einput 、縦軸をフィルタの出力値とカロリメータに落とされたエネルギー値の差分 Eoutput − Einput として、それぞれ GeV を単位にとったものである。目的事象に対する再構成の性能と、パイルアップおよび小さい目的事象に対する再構成の性能を別々に確認するため、図 5.38 (a), (c), (e), (g), (i) には Einput が 5 GeV 以下の領域を拡大したヒストグラムを、図 5.38 (b),(d), (f), (h), (j) には Einput = 5 GeV 以下をカットしたヒストグラムを示している。Wiener filter (Peak 1, Post)+ forward correction だけエントリー数が多いのは 5.2.3 節で説明したとおり、入射信号シークエンスにおいて係数
キャリブレーションに使った領域に対する応答もヒストグラムに加味しているからである。
熱ノイズを含まない入射信号シークエンスに対する各フィルタの検証結果を以下にまとめる。

• 図 5.37 (b), (d), (f), (h), (j) に示されたすべてのフィルタにおいて、Einput = 2 GeV 以下の入力に対し、
Eoutput = 0 GeV を返しているプロットがある。これは選択条件を満たすことができなかった信号事象を示しており、検出効率の低下に繋がる。逆に、Einput = 2 GeV 以上では、各フィルタの検出効率は 100% である。

• Optimal filter + Maximumfinder を除く各フィルタは、Einput = 0 GeV のビンに最大 Eoutput = 0.75 GeVまでプロットが存在する。これはフェイク事象をあらわす。これらのフィルタでは Einput = 1.25 GeV 以下の信号事象はフェイク事象と有効にされた出力値の分布が混ざってしまう。逆に、Einput = 1.25 GeV 以上の信
号事象は信頼度の高い出力値で再構成されうる。

• 各図の (c), (d) に示された Optimal filter + Maximumfinder では Einput = 0 GeV 付近で精度が特に悪く、
Eoutput が最大 14 GeV 程度の値を返している。これは Optimal filter の FIR 計算の出力結果に対し、入力値とずれた値を返してしまっている BC も選択条件が有効にしてしまっていることによるもので、本来よりも大きく見積もられてしまった信号事象およびフェイク事象に相当する。

• 図 5.38 (a), (c), (e), (g), (i) が示す内容は図 5.37 (b), (d), (f), (h), (j) と本質的に同じだが、縦軸のセグメン
トをより細かくとっている。各フィルタにおいて原点から右肩下がりプロットが Einput = 1.5 GeV あたりまで続いているのは、パイルアップ事象に対する再構成の値が選択条件で有効にされなかったプロットを示している。また、より細かいセグメントで確認した Optimal filter + Maximumfinder を除く各フィルタのフェイ
ク事象は、最大 800 MeV 程度である。

• 図 5.38 (b), (d), (f), (h), (j) より、各フィルタの出力値は 5 GeV ≤ Einput ≤ 100 GeV の範囲で入力値に対して線形性をもっていることが確認された。

• Einput が 5 GeV 以上の領域では、低エネルギーにおいても高エネルギーにおいても、パイルアップ事象によって歪められるエネルギー値の範囲はほとんど変わらないことがわかった。これは割合で考えると、低エネル
ギーの信号事象に比べて、高エネルギーの信号事象はほとんどパイルアップ事象の影響を受けないことを示す。
例えば、Multi-pulse filter (N = 32) + Thresholder において、Einput = 5 GeV では Eoutput が最大 10% 程
度ずれる可能性があるが、Einput = 100 GeV では Eoutput は最大でも 0.5% 程度しかずれない。

• Einput が 5 GeV 以上の領域における各フィルタの RMS は、Optimal filter + Shapedetector, Optimal filter+ Maximumfinder, Wiener filter (Peak 1, Post) + forward correction が 0.11、Multi-pulse filter (N = 20)+ Thresholder, Multi-pulse filter (N = 32) + Thresholder が 0.18 だった。
以上、Einput が 5 GeV 以上の領域における RMS で見ると Optimal filter + Shapedetector が優れている。一方、Optimal filter + Maximumfinder は選択条件の誤認識により、低エネルギー領域での再構成の精度が極端に悪い。

5.2 AREUS を用いたシミュレーションによる検証

113(a) OFsd(b) OFsd (15 GeV 以下)(c) OFmf(d) OFmf (15 GeV 以下)(e) MF32th(f) MF32th (15 GeV 以下)(g) MF20th(h) MF20th （15 GeV 以下）(i) WFfc(j) WFfc (15 GeV 以下)

図 5.37 熱ノイズを含まない入射信号シークエンスに対する各フィルタの性能 1。横軸は粒子がカロリメータで落としたエネルギー値、縦軸は各フィルタの出力値。

第5章

114

図 5.38

ソフトウェアレベルでの性能評価(a) OFsd (5 GeV 以下)(b) OFsd (5 GeV 以上)(c) OFmf (5 GeV 以下)(d) OFmf (5 GeV 以上)(e) MF32th (5 GeV 以下)(f) MF32th (5 GeV 以上)(g) MF20th (5 GeV 以下)(h) MF20th （5 GeV 以上）(i) WFfc (5 GeV 以下)(j) WFfc (5 GeV 以上)

熱ノイズを含まない入射信号シークエンスに対する各フィルタの性能 2。横軸は粒子がカロリメータで落としたエネルギー値、縦軸は各フィルタの出力値とカロリメータに落とされたエネルギー値の差分。

5.2 AREUS を用いたシミュレーションによる検証

115

熱ノイズを含む入射信号シークエンスに対する応答

5.2.3 節で説明した入射信号シークエンスを、熱ノイズを有効にした状態で用いて、各フィルタの性能を確認した。
図 5.39, 5.40 に各フィルタの応答特性を示す。
熱ノイズを含む入射信号シークエンスに対する各フィルタの検証結果を以下にまとめる。

• 各図の (c), (d) に示された Optimal filter + Maximumfinder に着目すると、熱ノイズを含まない入射信号
シークエンスに対する応答に比べ、Einput = 0 GeV 付近の性能が改善されていることがわかる。これは熱ノイズの追加によって歪められた Optimal filter の FIR 計算結果の出力シークエンスが、Maximumfinder にとってたまたま有用な方向に作用したと考える。

• Opitmal filter + Maximumfinder および Multi-pulse filter は Einput = 2 GeV 以上で検出効率が 100% にな
るが、Optimal filter + Shapedetector は Einput = 2.5 GeV 以上、Wiener filter (Peak 1, Post) + forward

correction では Einput = 6 GeV 以上にならないと検出効率が 100% に達しない。
• 図 5.40 の各フィルタのヒストグラムを見ると、熱ノイズが付加されたことで、図 5.38 に比べて出力値はスメアされていることがわかる。特に S-Frame を用いたシミュレーションによる検証でも確かめたように、

Multi-pulse filter は熱ノイズの影響を受けやすい。
• また、Wiener filter (Peak 1, Post) + forward correction も熱ノイズを含まない場合に比べると RMS の悪化が目立つ。これは IIR フィルタの特性として、歪められた再構成結果をもとにフィードバックを加えてしまい、Wiener filter が本来もつ熱ノイズの影響を最小化する効果をいかせてないことによるものと考えられる。

• 図 5.40 (a), (c), (e), (g), (i) の Einput = 0 GeV 付近に注目すると、各フィルタともに本来よりも大きく見積もられたパイルアップ事象およびフェイク事象の出力値が大きくなっていることがわかる。Optimal filter +Maximumfinder、Multi-pulse filter (N = 32) + Thresholder、Multi-pulse filter (N = 20) + Thresholder
では、フェイク事象が最大 2 GeV 程度のエネルギーをもつ。

• 一方で、Wiener filter (Peak 1, Post) + forward correction のフェイク事象は最大 1 GeV 程度だが、原点から右肩下がりにつづく選択条件によりとりこぼした信号事象は Einput = 5 GeV 付近まで存在している。

• 図 5.40 (b), (d), (f), (h), (j) より、熱ノイズが付加されても各フィルタの出力値は 5 GeV ≤ Einput ≤ 100 GeVの範囲で入力値に対して線形性をもっていることが確認された。

• Einput が 5 GeV 以上の領域における各フィルタの RMS は小さい順に、Optimal filter + Shapedetector,
Optimal filter + Maximumfinder が 0.13、Wiener filter (Peak 1, Post) + forward correction が 0.25、Multi-pulse filter (N = 20) + Thresholder, Multi-pulse filter (N = 32) + Thresholder が 0.44 だった。
表 5.10 に Einput = 5 GeV 以下をカットした 2 次元ヒストグラムにおける出力値と入力値の差分の RMS について、熱ノイズが無効の場合と有効の場合をそれぞれまとめる。熱ノイズを含んだときに Multi-pulse filter がもっとも RMS の悪化が激しいのはフィルタ係数の誤差伝播を求めることでわかる。本検証におけるフィルタ係数の誤差伝
播は、Optimal filter では 2.17、Multi-pulse filter (N = 32) では 4.93、Multi-pulse filter (N = 20) でも 4.93 だった。ただしパイルアップ等の影響もあるため、誤差伝播の比がそのまま熱ノイズを含むときの RMS の比にはならない。また、Wiener filter (Peak 1, Post) + forward correction は FIR 計算後にフィードバックによる補正があるた
め、誤差伝播の比以外の要素が大きい。
表 5.10

熱ノイズの有無に対する各フィルタの Einput = 5 GeV 以上における RMS の変化。

熱ノイズ

OFsd

OFmf

MF32th

MF20th

WFfc

無効

0.11

0.11

0.18

0.18

0.11

有効

0.13

0.13

0.44

0.44

0.25

結果的に、熱ノイズを含まないとき同様、Einput が 5 GeV 以上の領域における RMS で見ると Optimal filter+ Shapedetector が優れている。Multi-pulse filter + Thresholder は熱ノイズによる劣化が著しい。Wiener filter(Peak 1, Post) + forward correction は熱ノイズで劣化するうえ、Einput が 6 GeV 以上にならないと信号事象の検116
出効率が 100% に達しない。

第5章

ソフトウェアレベルでの性能評価

5.2 AREUS を用いたシミュレーションによる検証

117(a) OFsd(b) OFsd (15 GeV 以下)(c) OFmf(d) OFmf (15 GeV 以下)(e) MF32th(f) MF32th (15 GeV 以下)(g) MF20th(h) MF20th （15 GeV 以下）(i) WFfc(j) WFfc (15 GeV 以下)

図 5.39 熱ノイズを含む入射信号シークエンスに対する各フィルタの性能 1。横軸は粒子がカロリメータで落としたエネルギー値、縦軸は各フィルタの出力値。

第5章

118

図 5.40

ソフトウェアレベルでの性能評価(a) OFsd (5 GeV 以下)(b) OFsd (5 GeV 以上)(c) OFmf (5 GeV 以下)(d) OFmf (5 GeV 以上)(e) MF32th (5 GeV 以下)(f) MF32th (5 GeV 以上)(g) MF20th (5 GeV 以下)(h) MF20th （5 GeV 以上）(i) WFfc (5 GeV 以下)(j) WFfc (5 GeV 以上)

熱ノイズを含む入射信号シークエンスに対する各フィルタの性能 2。横軸は粒子がカロリメータで落としたエネルギー値、縦軸は各フィルタの出力値とカロリメータに落とされたエネルギー値の差分。

5.2 AREUS を用いたシミュレーションによる検証

119

サチュレーションを起こした信号に対する応答

3.4.1 節でも少し触れたように、AMC に送られてくる信号は前段のエレクトロニクスにおいてサチュレーションを起こす可能性がある。サチュレーションを起こしていない入力波形をもとに係数の算出を行った各フィルタは、サチュレーションによりなまった波形に対しては通常通りの出力を返せない。どんな入力信号に対しても同じ係数を用いてエネルギー再構成を行う以上、万能性はあきらめなければならない。その代わり、サチュレーションを起こした信号が入力されたという情報と、サチュレーションを起こした信号の BCID（Bunch Crossing IDentification）の情報が、歪められたデータを排除するために求められる。今回は、AREUS に格納されているサチュレーションを起こした入力信号の波形情報を利用して、各フィルタの応答特性を確認した。
本来、サチュレーションは連続的に起こる事象だが、AREUS においては、アナログ入力信号の情報をエネルギーに依存して 7 段階にわけることで、擬似的にサチュレーションを再現している。図 5.41 に 7 パターンのアナログ入力
信号を示す。粒子がカロリメータで落としたエネルギーが上昇していくにつれ、511 GeV、716 GeV、2, 045 GeV、2, 557 GeV、3, 068 GeV で不連続的にアナログ入力波形が変化する。図 5.41 (a) に示された、カロリメータの各セルのヒット情報が 262 GeV 以下のときに用いられるアナログ入力波形に対してデジタル化処理が行われたものを、各フィルタ係数の計算において利用する。
サチュレーションを起こした信号に対する応答の評価では、サチュレーションが生じるヒット情報を意図的に作成した。このヒット情報を図 5.42 (a) に示す。はじめの 1, 000 BC は係数キャリブレーションのために、1 GeV から

50 GeV までの信号事象とパイルアップ事象を織り交ぜている。1, 000 BC 以降は、100 BC おきに、BC × 0.1 GeVのエネルギーをもつ信号を入射している。つまり、1, 000 BC においては 100 GeV の信号、10, 000 BC においては

1 TeV の信号が入射されている。このヒット情報をもとに成形回路を通してバイポーラ波形の入射信号シークエンスを作ったものが、図 5.42 (b), (c) に示されており、7, 100 BC 付近で波形に変化が見られる。これは、成形回路におけるサチュレーションを模したもので、アナログ入力波形が 716 GeV を境に切り替わることの影響である。この成形回路を通したアナログ入射信号シークエンスは ADC によってデジタル化される。デジタル入射信号シークエンスを図 5.42 (d) に示す。こちらはさらにエネルギーが 380 GeV 程度で頭打ちになっている。これは、ADC 化されたエネルギーが LTDB から AMC へ 12 ビットで送られることによる影響である。12 ビットに符号無し整数をわりあてると、0 から 4,095 まで表示できる。AREUS ではオフセットを 1,024 に設定しているので、12 ビット ADC により最大 3, 071 ADC（383.875 GeV）まで正常に表示可能である。結局、AREUS においては粒子のヒット情報が384 GeV 以上だと ADC でサチュレーションを起こし、さらに 711 GeV 以上だと成形回路でもサチュレーションを
起こす。

第5章

120

ソフトウェアレベルでの性能評価(a) 0 GeV - 262 GeV(b) 262 GeV - 511 GeV(c) 511 GeV - 716 GeV(d) 716 GeV - 2, 045 GeV(e) 2, 045 GeV - 2, 557 GeV(f) 2, 557 GeV - 3, 068 GeV(g) 3, 068 GeV - 5, 318 GeV
図 5.41

AREUS におけるアナログ入力信号の波形。
EMB の middle レイヤーにおける成形回路後の波形を示している。段階的にサチュレーションを起こすようになっている。

5.2 AREUS を用いたシミュレーションによる検証

121以上の設定の入射信号シークエンスに対し、Optimal filter + Shapedetector、Optimal filter + Maximumfinder、Multi-pulse filter (N = 32) + Thresholder、Wiener filter (Peak 1、Post) + forward correction の計 4 つのフィルタで検証を行った。各フィルタの出力信号シークエンスを図 5.42 (e)〜(h) に示す。サチュレーションを起こした
信号に対する各フィルタの出力シークエンスの特徴を以下にまとめる。

• Optimal filter + Shapedetector は 711 GeV をこえたところから、入力波形の歪みにより選択条件を満たせなくなる。940 GeV あたりまでのエネルギー領域で、そもそも目的事象の入射をとりこぼす。

• Optimal filter + Maximumfinder は入力波形がなまっても、出力値をきちんと返すことができる。この場合、出力値はヒット時のエネルギーではなく、デジタル化でサチュレーションを起こした結果の 12 ビットで表示できる最大値となる。ただし、フェイク事象も付随して起こり、7, 000 BC 以降では 30 GeV 程度の大きさになる。

• Multi-pulse filter (N = 32) + Thresholder も同じく、波形がなまっても正しいタイミングにピークを作ることができ、その際の出力値は 12 ビットの最大値となる。ただし、Optimal filter + Maximumfinder に比べてフェイク事象の発生率と大きさが飛躍的に増大し、ピークに匹敵するフェイク事象も起こりうる。

• Wiener filter (Peak 1、Post) + forward correction は 420 GeV をこえたあたりから、正しい挙動をしなくなる。不正確な値を返し、それがフィードバックされることにより、さらに不正確な値を返す。
図 5.43 に各フィルタのサチュレーションを起こした信号に対する性能を示す。サチュレーションを起こした信号
に対する各フィルタの入力値と出力値の対応を検証した結果を以下にまとめる。

• Optimal filter + Shapedetector は Einput が 710 GeV から 940 GeV あたりの領域で選択条件を満たさない
ことが、図 5.43 (a) より改めて確認できる。図 5.43 (b) において、262 GeV でヒストグラムが不連続なのは、用いるアナログ入力波形が図 5.41 (a) から図 5.41 (b) に切り替わるためである。384 GeV 以降でプロッ
トが急速に右肩下がりになるのは、12 ビット ADC の上限値でサチュレーションを起こしていることを意味する。262 GeV で不連続になってしまうのは AREUS の構造的な問題なので、フィルタ固有の性能ではない。

Optimal filter + Shapedetector の特徴は、大きなフェイク事象を生じないことと、262 GeV から 384 GeVまでの領域で出力値が低く見積もられるものの比例係数はほぼ 1 であることである。

• Optimal filter + Maximumfinder も同様に、262 GeV の不連続点以降は出力値が低く見積もられるが、比例係数はほぼ 1 である。ただし、フェイク事象が 30 GeV 程度まで生じうる。

• Multi-pulse filter (N = 32) + Thresholder では、逆に 262 GeV 以降では値が大きく見積もられ、右肩下がりのプロットになる。フェイク事象の発生率が非常に高く、0 GeV から 384 GeV までまんべんなくプロットが存在する。

• Wiener filter (Peak 1, Post) + forward correction は、262 GeV 以降でもっとも値がずれてしまう。入出力の傾きももっとも急である。さらに、420 GeV あたりからは信号の入射タイミングを検出できないほか、

130 GeV 程度までフェイク事象を生じる。IIR フィルタの挙動は、サチュレーションによる波形のなまりに対して、相性がひどく悪いと結論せざるを得ない。
以上より、Optimal filter + Maximumfinder および Multi-pulse filter (N = 32) + Thresholder はサチュレー
ションを起こした信号にも対応できる可能性をもつ。一方で、Wiener filter (Peak 1, Post) + forward correction はサチュレーションによる入力波形のなまりに非常に弱い。

第5章

122

ソフトウェアレベルでの性能評価(a) 粒子のヒット情報(b) アナログ入射信号シークエンス（電圧）(c) アナログ入射信号シークエンス（エネルギー）(d) デジタル入射信号シークエンス(e) OFsd(f) OFmf(g) MF32th(h) WFfc

図 5.42

サチュレーションを起こした信号に対する各フィルタの出力シークエンス。

横軸は BC で、1, 000 BC 以降は 100 BC ごとに目的事象を入射している。

5.2 AREUS を用いたシミュレーションによる検証

123(a) OFsd （縦軸は出力値）(b) OFsd （縦軸は入出力の差）(c) OFmf （縦軸は出力値）(d) OFmf （縦軸は入出力の差）(e) MF32th （縦軸は出力値）(f) MF32th （縦軸は入出力の差）(g) WFfc （縦軸は出力値）(h) WFfc （縦軸は入出力の差）

図 5.43 サチュレーションを起こした信号に対する各フィルタの性能。
横軸は粒子がカロリメータに落としたエネルギー値、縦軸は左側の図は各フィルタの出力値で右側の図は各フィルタの出力値とカロリメータに落とされたエネルギー値の差分。

第5章

124

ソフトウェアレベルでの性能評価

イレギュラーなノイズを含む信号に対する応答

AMC が受け取る信号がすべてバイポーラ波形である保証はない。なんらかの要因によってイレギュラーな波形をもつノイズが生じたときに、各フィルタがどのような応答を示すのか知る必要がある。ここでは、図 5.44 (a) に示す
ように、以下のイレギュラーなノイズを用意した。

• 10 GeV のスパイク：2, 100 BC• 10 GeV の方形波：2, 200 BC - 2, 210 BC• ピークが 10 GeV の三角波：2, 300 BC - 2, 325 BC
図 5.44 (b) は上記のイレギュラーなノイズに熱ノイズを付加した後、横方向エネルギー 125 MeV で離散値化したもので、これが各フィルタの入射信号シークエンスになる。
図 5.44 (c)〜(h) に各フィルタの出力波形を示す。イレギュラーなノイズを含む信号に対する各フィルタの検証結果を以下にまとめる。

• 図 5.44 (c) は Optimal filter + Shapedetector の出力波形を示している。選択条件に Shapedetector を用いることで、イレギュラなーノイズを排除することができる。

• 図 5.44 (d) は Optimal filter + Maximumfinder の出力波形を表示している。Maximumfinder の特性上、入力波形がバイポーラ波形でもイレギュラーなノイズでも、FIR 計算の出力値がピークになっているところは選
択条件により有効にされる。また、1 GeV 以下の細かい出力結果は、熱ノイズによって入射信号シークエンス
が歪められたことによるフェイク事象と考えられる。

• 図 5.44 (f) は Multi-pulse filter (N = 32) + Thresholder の出力波形を示している。Thresholder を課す前のFIR 計算の出力波形は図 5.44 (e) に示す。Multi-pulse filter の出力波形の特徴は、10 GeV のイレギュラーなノイズに対し、それよりも大きなフェイク事象を発生させてしまうことである。また、FIR 計算に用いる 32
サンプリングの中にイレギュラーノイズの影響が残っている限り、出力結果が歪められるので、最大 32 BC の領域でフェイク事象を生じる。

• 図 5.44 (g) は Wiener filter (Peak 1, Post) + forward correction の出力波形を示している。Wiener filter(Peak 1, Post) + forward correction のフェイク事象はもともとのイレギュラーなノイズのエネルギーよりも低いものの、IIR フィルタの特徴として、イレギュラーなノイズの影響を非常に長い間引きずる。スパイクに対してはそこまで過剰な応答はしないが、方形波においては波形の長さの 10 倍近い約 100 BC の間その影響が残る。三角波に対しては、図 5.44 (h) に示すように、やはり波形の 10 倍以上の約 260 BC の間、出力波形がフェイク事象を起こし続ける。
結果として、Optimal filter + Shapedetector であれば選択条件によってイレギュラーなノイズの抑制が可能である。一方で、Wiener filter (Peak 1, Post) + forward correction はイレギュラーなノイズの影響をフィードバック
してしまうため、イレギュラーなノイズが収まってもその 10 倍程度の時間領域にわたってフェイク事象が起こり続ける。

5.2 AREUS を用いたシミュレーションによる検証

125(a) アナログ入射信号シークエンス(b) デジタル入射信号シークエンス(c) OFsd(d) OFmf(e) MF32(f) MF32th(g) WFfc(h) WFfc （広範囲）

図 5.44

イレギュラーなノイズを含む入力信号シークエンスと各フィルタの出力。
横軸は BC、縦軸は横方向エネルギー。

第5章

126

ソフトウェアレベルでの性能評価

5.2.5 まとめ
本節で得た結果をまとめる。

AREUS を用いたシミュレーションにおいて、性能評価を行った 5 つのフィルタと各フィルタの最終的な出力までのレイテンシを列挙する。

• Optimal filter + Shapedetector：4 BC• Optimal filter + Maximumfinder：5 BC• Multi-pulse filter (N = 32) + Thresholder：3 BC• Multi-pulse filter (N = 20) + Thresholder：3 BC• Wiener filter (Peak 1, Post) + forward correction：4 - 5 BC
ただし、Wiener filter はレイテンシが入力波形のピークの位置に依存するため、Wiener filter (Peak 1, Post) +forward correction はレイヤーごとに異なるレイテンシを示した。一方で、Multi-pulse filter は異なるレイヤーにおいても、各レイヤーで算出したフィルタ係数による出力波形は安定的な動作を示した。
熱ノイズを無効にした際と有効にした際で、フィルタの入力値に対して各フィルタの出力値がどのようになるかを検証したシミュレーションにおける結果を以下にまとめる。

• Einput = 5 GeV 以上の領域で Optimal filter + Shapedetector が熱ノイズの有無にかかわらずもっとも RMS
が小さく、熱ノイズがない場合は 0.11（WFfc: 0.11, MF32th: 0.18）、熱ノイズがある場合は 0.13（WFfc:

0.25, MF32th: 0.44）だった。
• Optimal filter + Maximumfinder は今回用いた熱ノイズを無効にした際の入射信号シークエンスに対して相性が悪く、低エネルギー領域における性能の劣化を招いた。

• Multi-pulse filter は熱ノイズの付加によって RMS が 0.18 から 0.44 まで悪化するなど、S-Frame における検証同様、熱ノイズに対する弱さが示された。

• Wiener filter (Peak 1, Post) + forward correction は熱ノイズが付加されてもフェイク事象のエネルギー値を低く抑えることができるが、低エネルギー領域における検出効率は悪いことが確認された。
サチュレーションを起こした信号およびイレギュラーなノイズに対する各フィルタの検証結果を以下にまとめる。

• サチュレーションを起こした信号に対しては、Optimal filter + Maximumfinder がもっとも無難な出力を返す。通常の入射信号と同じタイミングで、12 ビットの上限値を返すことにより、サチュレーションの有無を認識できる。

• Multi-pulse filter (N = 32) + Thresholder も同様に、通常の入射信号と同じタイミングで 12 ビットの上限値を返し、サチュレーションのフラグを立てることができる。ただし、非常に大きなフェイク事象を付随するため、フラグが立った後は一定期間出力値を無効にするなどといった付加的なアルゴリズムが必須である。

• Optimal filter + Shapedetector と Wiener filter (Peak 1, Post) + forward correction はサチュレーションを起こした信号が 410 GeV 以上だと検出ができない。

• Wiener filter (Peak 1, Post) + forward correction の場合、サチュレーションに対する BCID を決めることができないだけでなく、フェイク事象を引き起こす。

• Optimal filter + Shapedetector は選択条件によってイレギュラーなノイズの抑制が可能である。
• 一方で、Wiener filter (Peak 1, Post) + forward correction はイレギュラーなノイズの影響をフィードバック
してしまうため、ノイズが沈静化してもその 10 倍程度の時間領域にわたってフェイク事象が起こり続ける。
すべての要素において優れたフィルタリングアルゴリズムの開発は難しい。今回の結果から言えば、レイヤーごとに異なる入力波形に対しても安定的な動作を求めるならば、Multi-pulse filter、熱ノイズに対する耐性を重視するな
ら Optimal filter + Shapedetector、サチュレーションへの対応を重視するなら Optimal filter + Maximumfinderが適している。

127

第6章

ハードウェアレベルでの性能評価
前章に引き続き、各フィルタリングアルゴリズムの性能評価について述べる。本章では特に、ハードウェアレベル
での性能評価について報告する。ハードウェアレベルでは主に、各フィルタリングアルゴリズムを電子回路に実装した際の回路規模や、回路上で論理がきちんと動作するかといったことに主眼を置いて検証を行った。

6.1 Arria V GX への実装による検証
本節では、Altera 社の FPGA である Arria V GX に各フィルタリングアルゴリズムを実装した際の検証結果を報告する。

6.1.1 目的
液体アルゴンカロリメータの読み出し系において、フィルタリングアルゴリズムは最終的に FPGA に実装されて機能する。既に述べたように、液体アルゴンカロリメータの読み出し系では、許されるレイテンシや FPGA のリソー
ス消費量などに制限がある。それらの制限を満たし、かつフィルタリングアルゴリズムがソフトウェアレベルでの検証で確認されたとおりの性能を発揮しているかを確認する必要があった。
当初は Xilinx 社の FPGA を用いてハードウェアレベルでの検証を行っていたが、2014 年 9 月の段階で、Phase-I
アップグレードで導入する AMC に搭載する FPGA は Altera 社の Arria 10 に決まった。Xilinx 社の FPGA とAltera 社の FPGA では回路の構造が異なり、統合環境として用意されているコンパイラも異なるため、実装時のリソース消費量を Altera 社の FPGA を用いて再確認することが求められた。Xilinx 社の FPGA である Virtex-7 に各フィルタリングアルゴリズムを実装した際の検証結果については、付録 B に掲載する。

6.1.2 セットアップ
今回用いた環境は以下の通りである。

• 言語： Verilog HDL• ボード： Arria V GX Starter Kit• FPGA： Arria V GX 5AGXFB3H4F35C4N FPGA
• 開発ソフトウェア： Quartus II v14.0• システム統合ツール： Qsys
• ロジックアナライザー： SignalTap II
それぞれについて順に説明していく。
ボード環境

Arria V GX Starter Kit [16] は、Arria V GX を用いた開発・検証環境を提供する、Altera 社が開発した評価ボードである。現段階で、Arria 10 を搭載した評価ボードは販売されておらず、基板開発にかかる期間を短縮するために、

第6章

128

ハードウェアレベルでの性能評価

FPGA 内の構造が似ている Arria V GX で代用した。Arria V GX Starter Kit は FPGA の他に MAX V CPLD も搭載しており、電力の計測やファンのコントロールなどを担うことができる。JTAG でコンフィギュレーションする
際には、対象として片方あるいは両方を選択可能である。外部メモリとして 2 つの 128 MB の DDR3 SDRAM を搭載しているほか、PCI Express インターフェースや Gigabit Ethernet PHY を用いたギガビット通信も可能である。
ユーザー用の部品として、DIP スイッチやプッシュボタン、LED などを搭載している。図 6.1 にブロック図を示す。

図 6.1

評価ボード Arria V GX Starter Kit のブロック図 [16]。

コンフィギュレーションは JTAG 経由でプログラムをダウンロードするか、あらかじめ Flash memory に保存された内容を参照する。CPLD を経由して Flash memory を参照することも可能。

図 6.2

評価ボード Arria V GX Starter Kit の外観図 [16]。

使用時には、FPGA にヒートシンクとファンを取り付けている。

ボードに搭載されている部品のうち、今回の検証環境において利用したものを列挙する。

6.1 Arria V GX への実装による検証

129• Arria V GX 5AGXFB3H4F35C4N FPGA• 125 MHz 固定 LVDS 差動振動子• ユーザー LED• ユーザープッシュボタン
図 6.2 に外観図を示す。

FPGA
FPGA とは Field-Programmable Gate Array の略で、ハードウェア記述言語を用いて回路情報を何度でもプログラムできるゲートアレイである。製造後にユーザーが簡単に回路を組みかえることができるため、低コストかつ短期的にデジタル回路の開発を進めることができる。FPGA は基本的に、回路機能を実装する論理部分、乗算器、RAM
ブロック、I/O 部分などから構成されているが、細かな構造はメーカーおよび各製品によって異なる。

Arria V GX Starter Kit を用いた検証実験では、FPGA として Arria V GX 5AGXFB3H4F35C4N を使用した。
Altera 社の Arria V シリーズの FPGA において、論理回路を実装するために ALM（Adaptive Logic Module） [17]と呼ばれる基本のロジック構成要素が用意されている。1 つの ALM は、8 入力の LUT（Look-Up Table）、2 個の加算器、4 個のレジスタなどを含んでおり、各 ALM を接続したり切り離したりすることによって、希望の回路を生成する。特に、8 入力の LUT は 2 個の 4 入力 LUT として使うことも可能で、前世代までの基本のロジック構成要素
である Logic Element（LE）に比べ、少ない数で同規模のロジックを実装可能である。演算回路に対しては、可変精度 DSP（Digital Signal Processing）ブロック [18] が用意されている。可変精度という名の由来は、コンパイル時に標準精度（18 ビット）モードと高精度（27 ビット）モードを選択できることである。単一の DSP ブロックは、例えば、独立した 3 個の 9 × 9 乗算器、2 個の 18 × 18 乗算器、あるいは 1 個の 27 × 27 乗算器としてコンパイル中にコン
フィギュレーション可能である。また 2 つの DSP ブロックのリソースを使用して、高精度アプリケーション向けの

36 × 36 乗算器をコンフィギュレーションすることもできる。FPGA のクロック管理のために PLL（Phase-LockedLoop） [19] が用意されており、クロック周波数の合成、スキュー調整、ジッターフィルタ機能などを提供する。
Arria V GX 5AGXFB3H4F35C4N の基本的なスペック [20] は以下の通りである。
• LE：362,000• ALM：136,880• レジスタ：547,520• ブロックメモリ：19, 358 kb• DSP ブロック：1,045• PLL：12• GTX：24• 最大ユーザー I/O：704

SignalTap II
FPGA 内の信号を観測するために、SignalTap II [21] を用いた。SignalTap II は、FPGA に実装したデザインにロジックアナライザーを統合するツールである。デザインに SignalTap II の環境を統合するためには、既にコンパイルを済ませたデザインファイルに対し、SignalTap II Logic Analyzer というソフトウェアを用いてトリガー情報などを記述したファイルを生成し、コンパイル済みのデザインと合わせて再度コンパイルする必要がある。したがって、トリガー設定はデザイン実装前に行われる。デザイン実装後コンピュータ側からトリガーを有効にする信号を JTAG
ケーブルを介して FPGA へ送る。FPGA に実装された SignalTap II モジュールはトリガー条件にしたがって、ブロックメモリにデータをキャプチャし、指定されたデータ長に達すると、再び JTAG を介してコンピュータにデータを送信する。

第6章

130

ハードウェアレベルでの性能評価

ブロック図
図 6.3 に Arria V GX Starter Kit におけるフィルタリングアルゴリズム検証環境のブロック図を示す。フィルタ
モジュールの内部レイテンシを計測するとき以外は、このブロック図に基づいて回路を設計している。

図 6.3

Arria V GX Starter Kit におけるフィルタリングアルゴリズム検証環境のブロック図。

入出力データは JTAG ケーブルを介して PC へ送られる。

本研究では、各フィルタリングアルゴリズムの回路規模や、回路上で論理がきちんと動作するかといったことに主眼を置いて検証を行うため、データのやり取りが 1 つの FPGA 内で完結するようにして行った。したがって、AMCに実装された際に必要となる光通信の送受信回路についてはここでは触れない。

FPGA 内には大きく分けて 4 つのモジュールがある。クロックの管理を行う PLL モジュール、入力信号をあらか
じめ FPGA 内に記憶しておくためのレジスタモジュール、フィルタリングアルゴリズムを実行するフィルタモジュー
ル、FPGA の内部信号を PC へと送信するための SignalTap II モジュールである。

FPGA は Arria V GX Starter Kit 上に設置されたユーザークロックから 125 MHz の LVDS クロックを取り込む。PLL モジュールは受け取ったクロックから 40 MHz と 320 MHz のシングルエンドクロックを生成する。この 2つのクロックは立ち上がりの位相が揃えられている。40 MHz クロックは LHC クロックを想定したもので、フィル
タモジュールに対して信号を入力するタイミングや、SignalTap II モジュールのトリガークロックとして使われる。
一方、320 MHz クロックはフィルタモジュールの内部クロックとして使われる。
フィルタモジュールの入力信号は、FPGA をコンフィギュレーションする際に、あらかじめレジスタモジュールに書き込まれる。今回使用した入力信号の波形を図 6.4 に示す。この入力信号は S-Frame で用いていた信号をベースにしている。
入力信号は 40 MHz でサンプリングされた値で、96 BC 分のデータがレジスタに書き込まれている。PLL モジュールによって提供される 40 MHz クロックの立ち上がりごとにインクリメントされる変数でレジスタのアドレスを指定し、入力信号を取り出す。最後のアドレスのデータまで読み出すと、先頭のアドレスへと戻り、入射信号シークエン
スはループする。入力信号の設定として、ADC により 125 MeV で離散値化され、データフォーマットは 12 ビットの符号なし整数型を想定している。また、ペデスタル値は 2, 048 ADC に固定されているものとした。FPGA にフィルタリングアルゴリズムを実装する目的は、フィルタリングアルゴリズムの回路規模と、ソフトウェアシミュレー
ションと同様の挙動を再現できるかを知ることなので、入力信号はできるだけシンプルにするためにパイルアップノ
イズは含んでいない。図 6.4 に示しているように、波高が 280 ADC（35 GeV）の信号を用いた。
フィルタモジュールは 320 MHz の立ち上がりに合わせて機能する。このあと説明する計算はすべて固定小数点数を用いて行われている。まずフィルタモジュールの入力信号 “rx data” を 14 ビットに拡張した上でペデスタル値を

6.1 Arria V GX への実装による検証

図 6.4

131

フィルタモジュールの入力信号。

0 ns に波高 280 ADC の信号が入射している。ただし、0 ns における値（入力波形の 1 点目のサンプリング）は離散値化の影響により 0 ADC となり、正味の値はペデスタル値である 2, 048 ADC になっている。

差し引き、14 ビットの符号付整数型データを生成する。このデータにフィルタリングアルゴリズムが適用される。各フィルタの係数はすべて 14 ビットの符号付整数型であらかじめ FPGA に書き込まれているが、フィルタごとになるべく有効数字を増やすため、整数の桁数と小数の桁数は各フィルタに依存する。表 6.1 に各フィルタの桁数をまと
める。
表 6.1

各フィルタの桁数。

フィルタ

符号部

整数部

小数部

合計

Optimal filter

1

5

8

14

Multi-pulse filter (N = 32)

1

2

11

14

Multi-pulse filter (N = 20)

1

2

11

14

Wiener filter (Peak 1, Post)

1

2

11

14

FIR 計算には、Altera 社が提供している 2 種類の IP コアを用いた。
• FIR Compiler II：FIR 計算を行うためのモジュールを最適化し、DSP ブロックの乗算器を用いた回路を設計する。

• LPM MULT：乗算を行うためのモジュール。用いるクロックサイクルや、FPGA のどのブロックを用いて回路を設計するか選択可能。

IP コアの使用には、Qsys を用いる。FIR Compiler II だけでも FIR 計算のための回路は生成できるが、液体アルゴ
ンカロリメータの読み出し系で要求されるレイテンシを満たすために LPM MULT も併用している。

SignalTap モジュールは PC へ送るデータを一時的にバッファしておくためのブロック RAM や、トリガー回路を含む。PLL モジュールが生成した 40 MHz をトリガークロックとして、フィルタモジュールの入力信号 “rx data”と、出力信号 “amp”、“tx data” をそれぞれサンプリングする。バッファされたデータが設定されたデータ長に達す
ると、JTAG ケーブルを介して PC へとデータが送られる。

第6章

132

ハードウェアレベルでの性能評価

6.1.3 各検証項目と結果
Arria V GX への実装による検証において、以下の項目について評価を行った。
• フィルタの出力結果およびレイテンシ• フィルタのリソース消費量• 複数セルの実装• スケーラビリティ
評価の対象としたのは次の 4 つのフィルタである。

• Optimal filter + Shapedetector（短縮形：OFsd）• Multi-pulse filter (N = 32) + Thresholder（短縮形：MF32th）• Multi-pulse filter (N = 20) + Thresholder（短縮形：MF20th）• Wiener filter (Peak 1, Post) + Maximumfinder（短縮形：WF1mf）

以降、表中などでは短縮形の表記を用いることがある。
フィルタの出力結果およびレイテンシ

FPGA に実装されたフィルタリングアルゴリズムは、ソフトウェアシミュレーションと同様の挙動を示すことが期待される。しかし、実装環境の違いから、丸め誤差や配線遅延などにより、出力結果の数値やレイテンシが異なることが予期される。図 6.5 に、実際に自分でコーディングした各フィルタの出力数値を示す。

(a) Optimal filter + Shapedetector(b) Multi-pulse filter (N = 32) + Thresholder(c) Multi-pulse filter (N = 20) + Thresholder(d) Wiener filter (Peak 1, Post) + Maximumfinder
図 6.5

Arria V GX への実装における各フィルタの出力結果。
各内部信号は 10 進数で表示している。横軸の目盛りは 40 MHz のクロックサイクルをあらわし、1 クロックサイ
クルは 25 ns である。バス信号は 2 本の赤い線の間に各信号の値が書かれる形で表示されており、値が変わる瞬
間には赤い線がクロスする。

図中の横軸はクロックサイクルをあらわしており、トリガークロックには 40 MHz が使われているため、BC と同義である。“rx data” はフィルタモジュールの入力信号、“amp” は FIR 計算の出力値、“tx data” は選択条件を満たしたフィルタモジュールの出力値であり、クロックの立ち上がりに合わせて各信号の状態がキャプチャされてい6.1 Arria V GX への実装による検証

133

る。そのため、i BC で入射する信号は i + 1 BC のクロックの立ち上がりによってキャプチャされるので、表記上は

i + 1 BC で入射したように見えることに注意すべきである。例えば、図 6.5 (a) において、入射信号の 1 点目に相当
する “rx data” は 22 BC の立ち上がりによってレジスタモジュールから取り出されるが、キャプチャするためのク
ロックの立ち上がりはその次の 23 BC となる。ここで、入射信号の 1 点目における “rx data” は離散値化によりペデスタル値と同じになるので、図中で信号入射時には信号値が変化していないことに注意する。結果として、キャプチャしたデータにおいては “rx data” は 24 BC の立ち上がりまで値が変化していないように見える。また、図 6.5(a)〜(d) はすべて同じ入力波形を用いているため、時間原点は異なるものの “rx data” は同じ値である。
図 6.5 から読み取った各信号の入出力のタイミングと、各フィルタのレイテンシを表 6.2 にまとめる。すべてのフィルタで液体アルゴンカロリメータの読み出し系における要求である 5 BC（125 ns）以下の条件を満たしていることが確認できた。
表 6.2 Arria V GX への実装における各フィルタの信号のタイミングとレイテンシ。

OFsd

NF32th

NF20thWF1mf“rx data” の入力タイミング (BC)

22

56

1

29

“amp” の出力タイミング (BC)

27

60

5

33

“tx data” の出力タイミング (BC)

27

60

5

34

選択条件までのレイテンシ (BC)

5

4

4

5

(a) Optimal filter + Shapedetector(b) Multi-pulse filter (N = 32) + Thresholder(c) Multi-pulse filter (N = 20) + Thresholder(d) Wiener filter (Peak 1, Post) + Maximumfinder

図 6.6 Arria V GX への実装における各フィルタの出力結果のグラフ化。
黒いプロットは “rx data” からペデスタル値を差し引いた値、緑のプロットは “amp”、赤いプロットは “tx data”
をあらわしている。

今回の実装環境ではもともと 280 ADC の信号を入射している。図 6.5 では、Optimal filter + Shapedetector と

第6章

134

ハードウェアレベルでの性能評価

Winer filter (Peak 1, Post) + Maximumfinder は 280 ADC を返しているが、2 つの Multi-pulse filter は 282 ADCを返している。また、Optimal filter と Wiener filter も常に正しく返せるわけではなく、他のチャンネルの信号に対してはややずれた値を返す場合もある。この原因は離散値化による下位の桁の切捨てや、計算途中の丸め方の違いによるものと考えられる。Multi-pulse filter に関しては、tcut = 0 ADC の単純な Thresholder しか課していないため、
小刻みなフェイクの出力が生じている。
図 6.6 に、各信号の値をグラフ化したものを示す。ただし、信号の入射時刻が 0 ns となるように調整してある。赤いプロットであらわされた各フィルタの出力波形の概形は、ソフトウェアシミュレーションの結果を再現していることが確認できた。
内部レイテンシ

40 MHz のトリガークロックでデータをキャプチャした際の各フィルタのレイテンシは、Optimal filter +Shapedetector が 5 BC（125 ns）、Multi-pulse filter (N = 32) + Thresholder が 4 BC（100 ns）、Multi-pulse filter(N = 20) + Thresholder が 4 BC（100 ns）、Wiener filter (Peak 1, Post) + Maximumfinder が 5 BC（125 ns）であった。6.1.2 節で述べたとおり、フィルタモジュールは内部クロック 320 MHz で動いており、より正確に各フィル
タの挙動を確かめるためには、トリガークロックに 320 MHz を用いる必要がある。ここではフィルタの具体的な設計の説明を踏まえながら、各フィルタの内部レイテンシを確認していく。
まず、Optimal filter + Shapedetector の 320 MHz でキャプチャしたデータを図 6.7 に示す。

図 6.7

Arria V GX における Optimal filter + Shapedetector の内部レイテンシ。
“rx data”、“amp”、“tx data” は 10 進数表示、それ以外は 16 進数表示である。横軸の目盛りは 320 MHz のク
ロックサイクルをあらわし、1 クロックサイクルは 3.125 ns である。

“rx data” はフィルタモジュールがレジスタモジュールから受け取る 12 ビットの入力信号である。“din” は“rx data” からペデスタル値を引く処理を行ったあとの 14 ビットのデータで FIR 計算の入力信号である。FIR 計算
は 3 つの乗算モジュールに分かれており、FIR Compiler II で生成する 3 項の FIR モジュールと LPM MULT で生成する 2 つの乗算モジュールがある。各モジュールの出力値はそれぞれ “dout a 210”、“dout a 3”、“dout a 4” と名づけられている。これらの信号は図中の 5 行目から 7 行目に対応する。“fir avalon st sink valid” は FIR モジュールが “din” を取り込むタイミングを示すステータス信号で、“fir avalon st source valid” は同じく FIR モジュールが“dout a 210” を出力するタイミングを示したステータス信号である。“sum a 0to3” は “dout a 210” と “dout a 3”の和、“sum a all” は “sum a 0to3” と “dout a 4” の和である。“amp” は “sum a all” の丸め処理を行った FIR モ
ジュールの出力信号で、“tx data” はそのうち選択条件を通過した信号をあらわしている。

FIR モジュールは計算を終えるまでに 12 クロックサイクル、乗算モジュールは計算を終えるまでにそれぞれ 3 ク
ロックサイクル費やす。したがって、Optimal filter は信号入射後の 5 サンプリングを計算に用いるが、はじめの 3 サンプリングがそろった時点で順次計算を始める。図 6.7 の入射信号シークエンスにおけるプロセスを以下にまとめる。
1 で示された 534 クロックで信号が入射している。
• ⃝• 1 点目が 534 クロック、2 点目が 542 クロック、3 点目が 550 クロック、4 点目が 558 クロック、5 点目が 566
クロックの立ち上がりによってサンプリングされ、次の立ち上がりでトリガーキャプチャに反映されている。

• おのおののサンプリングはフィルタモジュールでまずペデスタル値の処理をされ、FIR 計算のための入力デー

6.1 Arria V GX への実装による検証

135

タを生成する。
2 で示された 552 クロックの “fir avalon st sink valid” の立ち上がりとともに FIR• 1 点目から 3 点目までは⃝3 で示された 564 クロックで “fir avalon st source valid” の立ち上がり
モジュールによって計算が開始され、⃝3 で示された “dout a 210” を出力する。それと並行して、4 点目のサンプリングに OFC をとともに、同じく⃝
4 で示された 563 クロックで “dout a 3” が出力される。
かける計算が行われ、⃝5 で示された 566 クロックで “sum a 0to3” が生成される。
• この 2 つの乗算結果は足し合わされ、⃝6で• 566 クロックの立ち上がりによってサンプリングされる 5 点目のサンプリングに OFC を乗じた結果は、⃝示された 571 クロックに “dout a 4” として出力される。
7 で示された 572 クロックには保持していた “sum a 0to3” と足し合わされ、“sum a all” を出力する。
• ⃝8 で示された 573 クロックに “sum a all” から “amp” を生成し、また選択条件を通過したフラグが立ってい• ⃝れば “tx data” も生成する。

• 実際には 40 MHz で後続のモジュールへと送られるため、“tx data” の出力は 574 クロックの立ち上がりで反映される。
以上の流れにより、Optimal filter + Shapedetector の内部クロックサイクルは 39 クロックサイクル（121.875 ns）
で、信号入射後、5 点のサンプリング取得のために 32 クロックサイクル（100 ns）、取得を終えてから計算が完了するまでに 7 クロックサイクル（21.875 ns）費やしていることになる。
次に、Multi-pulse filter (N = 32) + Thresholder の 320 MHz でキャプチャしたデータを図 6.8 に示す。

図 6.8 Arria V GX における Multi-pulse filter (N = 32) + Thresholder の内部レイテンシ。
“rx data”、“amp”、“tx data” は 10 進数表示、それ以外は 16 進数表示である。横軸の目盛りは 320 MHz のク
ロックサイクルをあらわし、1 クロックサイクルは 3.125 ns である。

Multi-pulse filter (N = 32) も Optimal filter 同様、FIR 計算を 3 段階に分けており、FIR Compiler II で生成する 29 項の FIR モジュールと LPM MULT で生成する 2 つの乗算モジュールがある。各モジュールの出力値はそれ
ぞれ “dout 3to31”、“dout 2”、“dout 1” と名づけられている。これらの信号はそれぞれ図中の 5 行目、6 行目、9 行目に対応する。ここで、Multi-pulse filter (N = 32) においては 32 項目の係数が非常に小さく、FPGA 実装時に有効数字で 0 になるため、実質的には 31 項の線形結合が行われている。“fir avalon st sink valid” は FIR モジュールが “din” を取り込むタイミングを示すステータス信号で、“fir avalon st source valid” は同じく FIR モジュールが“dout 3to31” を出力するタイミングを示したステータス信号である。“sum 31to2” は “dout 3to31” と “dout 2” の和、“sum 31to1” は “sum 31to2” と “dout 1” の和である。“sum all” は本来 “sum 31to1” と 32 項目の計算結果との和だが、前述の理由により単なるバッファとして機能している。

FIR モジュールは計算を終えるまでに 17 クロックサイクル、乗算モジュールは計算を終えるまでにそれぞれ 3 ク
ロックサイクル費やす。したがって、Multi-pulse filter (N = 32) は信号入射前の 28 サンプリングと信号入射後 4
サンプリングを計算に用いるが、はじめの 29 サンプリングがそろった時点で順次計算を始める。図 6.8 の入射信号
シークエンスにおけるプロセスを以下にまとめる。
1 で示された 412 クロックで信号が入射している。
• ⃝

第6章

136

ハードウェアレベルでの性能評価• 28 点目が 404 クロック、29 点目が 412 クロック、30 点目が 420 クロック、31 点目が 428 クロック、32 点目
が 436 クロックの立ち上がりによってサンプリングされ、次の立ち上がりでトリガーキャプチャに反映されている。

• おのおののサンプリングはフィルタモジュールでまずペデスタル値の処理をされ、FIR 計算のための入力データを生成する。
2 で示された 414 クロックの “fir avalon st sink valid” の立ち上がりとともに FIR• 1 点目から 29 点目までは⃝3 で示された 431 クロックで “fir avalon st source valid” の立ち上がり
モジュールによって計算が開始され、⃝3 で示された “dout 3to31” を出力する。それと並行して、30 点目のサンプリングと 31 点
とともに、同じく⃝
4 で示された 425 クロックで “dout 2” が、⃝5 で示
目のサンプリングにそれぞれ係数をかける計算が行われ、⃝された 433 クロックで “dout 1” が出力される。

• “dout 2” を計算するモジュールは他の FIR 計算を待っている間に次の BC の “dout 2” の計算が始まってし
6 で示された 428 クロックで “tmp dout 2” に値をバッファする。
まうため、⃝
7 で示された 432 クロックで “tmp dout 2” は “dout 3to31” と足し合わされ、“dout 31to2” を生成する。
• ⃝8 で示された 435 クロックでさらに “dout 1” と足し合わされ、“dout 31to1” を出力する。
• “dout 31to2” は⃝• “dout 31to1” は 436 クロックの立ち上がりによってサンプリングされる 32 点目のサンプリング取得を待つ
9 で示された 442 クロックで “sum all” へデータをシフトする。
が、係数が 0 なので結局、⃝10 で示された 443 クロックに “sum all” から “amp” を生成し、また選択条件を通過したフラグが立っていれ• ⃝ば “tx data” も生成する。

• 実際には 40 MHz で後続のモジュールへと送られるため、“tx data” の出力は 444 クロックの立ち上がりで反映される。
以上の流れにより、Multi-pulse filter (N = 32) + Thresholder の内部クロックサイクルは 31 クロックサイクル（96.875 ns）で、信号入射後、4 点のサンプリング取得のために 24 クロックサイクル（75 ns）、取得を終えてから計算が完了するまでに 7 クロックサイクル（21.875 ns）費やしていることになる。
次に、Multi-pulse filter (N = 20) + Thresholder の 320 MHz でキャプチャしたデータを図 6.9 に示す。

図 6.9

Arria V GX における Multi-pulse filter (N = 20) + Thresholder の内部レイテンシ。
“rx data”、“amp”、“tx data” は 10 進数表示、それ以外は 16 進数表示である。横軸の目盛りは 320 MHz のク
ロックサイクルをあらわし、1 クロックサイクルは 3.125 ns である。

基本的な構造は Multi-pulse filter (N = 32) + Thresholder と同じで、FIR Complier II で生成される FIR モ
ジュールが 29 項から 17 項へ減らされている。それにあわせて、FIR モジュールの出力信号名も “dout 3to31” から“dout 3to19” に変更されており、図中の 5 行目に対応する。N = 32 の Multi-pulse filter において 32 項目の係数が非常に小さかったように、N = 20 の Multi-pulse filter においても 20 項目の係数が非常に小さく、FPGA 実装時に有効数字で 0 になるため、実質的には 19 項の線形結合が行われている。したがって、“sum all” は本来 “sum 19to1”と 20 項目の計算結果との和だが、実際には単なるバッファとして機能している。

FIR モジュールは計算時間は Multi-pulse filter (N = 32) の 17 クロックサイクルから 2 クロックサイクル減って、15 クロックサイクル、乗算モジュールは計算時間はそれぞれ 3 クロックサイクルである。Multi-pulse filter

6.1 Arria V GX への実装による検証

137(N = 20) は信号入射前の 16 サンプリングと信号入射後 4 サンプリングを計算に用いるが、はじめの 17 サンプリン
グがそろった時点で順次計算を始める。図 6.9 の入射信号シークエンスにおけるプロセスを以下にまとめる。
1 で示された 392 クロックで信号が入射している。
• ⃝• 16 点目が 384 クロック、17 点目が 392 クロック、18 点目が 400 クロック、19 点目が 408 クロック、20 点目
が 416 クロックの立ち上がりによってサンプリングされ、次の立ち上がりでトリガーキャプチャに反映されている。

• おのおののサンプリングはフィルタモジュールでまずペデスタル値の処理をされ、FIR 計算のための入力データを生成する。
2 で示された 394 クロックの “fir avalon st sink valid” の立ち上がりとともに FIR• 1 点目から 17 点目までは⃝3 で示された 409 クロックで “fir avalon st source valid” の立ち上がり
モジュールによって計算が開始され、⃝3 で示された “dout 3to19” を出力する。それと並行して、18 点目のサンプリングに係数をとともに、同じく⃝
4 で示された 405 クロックで “dout 2” が出力される。
かける計算が行われ、⃝• “dout 2” を計算するモジュールは他の FIR 計算を待っている間に次の BC の “dout 2” の計算が始まってし
5 で示された 408 クロックで “tmp dout 2” に値をバッファする。
まうため、⃝
6 で示された 411 クロックで “tmp dout 2” は “dout 3to19” と足し合わされ、“dout 19to2” を生成する。
• ⃝7 で示• 408 クロックの立ち上がりによってサンプリングされる 19 点目のサンプリングに係数を乗じた結果は⃝された 413 クロックに “dout 1” として出力される。
8 で示された 415 クロックには保持していた “dout 19to2” と足し合わされ、“dout 19to1” を出力する。
• ⃝• “dout 19to1” は 416 クロックの立ち上がりによってサンプリングされる 20 点目のサンプリング取得を待つ
9 で示された 422 クロックで “sum all” へデータをシフトする。
が、係数が 0 なので結局、⃝10 で示された 423 クロックに “sum all” から “amp” を生成し、また選択条件を通過したフラグが立っていれ• ⃝ば “tx data” も生成する。

• 実際には 40 MHz で後続のモジュールへと送られるため、“tx data” の出力は 424 クロックの立ち上がりで反映される。
以上の流れにより、Multi-pulse filter (N = 20) + Thresholder の内部クロックサイクルは 31 クロックサイクル（96.875 ns）で、信号入射後、4 点のサンプリング取得のために 24 クロックサイクル（75 ns）、取得を終えてから計算が完了するまでに 7 クロックサイクル（21.875 ns）費やしていることになる。これは、Multi-pulse filter (N = 32)+ Thresholder と同等の結果である。
最後に、Wiener filter (Peak 1, Post) + Maximumfinder の 320 MHz でキャプチャしたデータを図 6.10 に示す。

図 6.10 Arria V GX における Wiener filter (Peak 1, Post) + Maximumfinder の内部レイテンシ。
“rx data”、“amp”、“tx data” は 10 進数表示、それ以外は 16 進数表示である。横軸の目盛りは 320 MHz のク
ロックサイクルをあらわし、1 クロックサイクルは 3.125 ns である。

Wiener filter も他のフィルタ同様、FIR 計算を 3 つの乗算モジュールに分けており、、FIR Compiler II で生成する 4 項の FIR モジュールと LPM MULT で生成する 2 つの乗算モジュールがある。各モジュールの出力値はそれぞれ “dout 3to0”、“dout 4”、“dout 5” と名づけられている。これらの信号はそれぞれ図中の 5 行目、6 行目、8 行目に対応する。“fir avalon st sink valid” は FIR モジュールが “din” を取り込むタイミングを示すステータス信号

第6章

138

ハードウェアレベルでの性能評価

で、“fir avalon st source valid” は同じく FIR モジュールが “dout 3to0” を出力するタイミングを示したステータ
ス信号である。“sum 0to4” は “dout 3to0” と “dout 4” の和、“sum a all” は “sum 0to4” と “dout 5” の和である。

“amp” は “sum a all” の丸め処理を行った FIR モジュールの出力信号で、“tx data” はそのうち選択条件を通過した信号をあらわしている。

FIR モジュールは計算を終えるまでに 13 クロックサイクル、乗算モジュールは計算を終えるまでにそれぞれ 3 ク
ロックサイクル費やす。したがって、Wiener filter は信号入射前の 2 サンプリングと信号入射後 4 サンプリングを計算に用いるが、はじめの 4 サンプリングがそろった時点で順次計算を始める。図 6.10 の入射信号シークエンスにおけるプロセスを以下にまとめる。
1 で示された 442 クロックで信号が入射している。
• ⃝• 2 点目が 434 クロック、3 点目が 442 クロック、4 点目が 450 クロック、5 点目が 458 クロック、6 点目が 466
クロックの立ち上がりによってサンプリングされ、次の立ち上がりでトリガーキャプチャに反映されている。

• おのおののサンプリングはフィルタモジュールでまずペデスタル値の処理をされ、FIR 計算のための入力データを生成する。
2 で示された 452 クロックの “fir avalon st sink valid” の立ち上がりとともに FIR• 1 点目から 4 点目までは⃝3 で示された 465 クロックで “fir avalon st source valid” の立ち上がり
モジュールによって計算が開始され、⃝3 で示された “dout 3to0” を出力する。それと並行して、5 点目のサンプリングに WFC をとともに、同じく⃝
4 で示された 463 クロックで “dout 4” が出力される。
かける計算が行われ、⃝5 で示された 466 クロックで “sum 0to4” が生成される。
• この 2 つの乗算結果は足し合わされ、⃝6で• 466 クロックの立ち上がりによってサンプリングされる 6 点目のサンプリングに WFC を乗じた結果は、⃝示された 471 クロックに “dout 5” として出力される。
7 で示された 472 クロックには保持していた “sum 0to4” と足し合わされ、“sum a all” を出力する。
• ⃝8 で示された 473 クロックに “sum a all” から “amp” を生成する。
• ⃝• ここでは、選択条件として Maximumfinder を用いており、次の BC における “amp” の計算完了を待って、比較をする必要がある。
9 で示された 481 クロックに行われる。
• したがって、“tx data” の生成は “amp” に比べて 1 BC 遅れ、⃝

• 実際には 40 MHz で後続のモジュールへと送られるため、“tx data” の出力は 482 クロックの立ち上がりで反映される。
以上の流れにより、Wiener filter (Peak 1, Post) + Maximumfinder の内部クロックサイクルは 39 クロックサイク
ル（121.875 ns）で、信号入射後、4 点のサンプリング取得のために 24 クロックサイクル（100 ns）、取得を終えてから計算が完了するまでに 7 クロックサイクル（21.875 ns）、選択条件の判定のために 8 クロックサイクル（25 ns）費やしていることになる。
フィルタのリソース消費量
各フィルタを Arria V GX に実装した際の主なリソース消費量を表 6.3 にまとめる。
表 6.3 Arria V GX への実装における各フィルタのリソース消費量。

リソース

OFsd

MF32th

MF20th

WF1mf

ALM

661

664

655

621

レジスタ

1,425

1,400

1,374

1,377

DSP

1

2

2

1

BRAM (kbit)

36

36

36

36

このうち、SignalTap II モジュールを除外した際のリソース消費量を表 6.4 にまとめる。
表 6.4 の数値はプログラミングコードの都合で、フィルタモジュールと分離しにくいレジスタモジュールのリ
ソース消費量も含まれているが、それを踏まえたうえで各フィルタの値を比較する。ALM は計算のロジックや

6.1 Arria V GX への実装による検証
表 6.4

139

Arria V GX への実装における各フィルタの SignalTap II モジュールを除くリソース消費量。

リソース

OFsd

MF32th

MF20th

WF1mf

ALM

284

284

273

244

レジスタ

598

525

510

504

DSP

1

2

2

1

BRAM (kbit)

0

0

0

0

LPM MULT で生成する乗算モジュールが割り当てられる。Optimal filter + Shapedetector は ALM とレジスタの消費量がもっとも多い。これは、他のフィルタが用いる選択条件に比べて、Shapedetector は絶対値を含む不等式計算を行うために、ロジックの規模や中間の変数の格納が多いからだと考えられる。Multi-pulse filter (N = 32) +Thresholder は、Optimal filter に比べて DSP に割り当てられる FIR 計算の項数が 26 項も増えており、DSP ユニットの消費量が増加する。Multi-pulse filter (N = 32) + Thresholder と Multi-pulse filter (N = 20) + Thresholder
を比べると、FIR 計算の項数を 12 個減らすことで ALM とレジスタの消費をやや抑えているが、DSP ユニットを減らすには至っていない。4 つのフィルタの中でもっともリソース消費量を抑えているのは、選択条件が比較的簡単でFIR 計算の項数の少ない Wiener filter (Peak 1, Post) + Maximumfinder である。ブロック RAM はどのフィルタでも使われていない。
複数セルの実装
実際の実装環境では、1 個の FPGA あたり最大 320 セル分の計算を担当することになる。したがって、1 セルのみ
ならず、複数セル分のフィルタリングアルゴリズムを実装しても、正しく並列処理が行えているのか、確認しなければならない。また、複数のフィルタ回路において共有して用いる部分もあるため、320 セル分のリソース消費量を予測するためにも、FPGA に複数セル分のフィルタ回路を実装する必要があった。
今回は 1 セルのほか、4 セルと 8 セルで実装を行った。各セルの実装において用いたチャンネルを表 6.5 に示す。
どちらの場合も SignalTap II Logic Analyzer によって、正しく挙動していることが確認された。
表 6.5 Arria V GX において異なるセル数の各実装で用いたチャンネル。

チャンネル ID

1 セル

4 セル

8 セル

956337920

ch1

ch1

ch1

956334336

ch2

ch2

956334592

ch3

ch3

956334848

ch4

ch4

956335104

ch5956335360

ch6956335616

ch7956335872

ch8

各フィルタを Arria V GX にそれぞれ 1 セル、4 セル、8 セル実装した際の主なリソース消費量を表 6.6 にまとめる。
このうち、SignalTap II モジュールを除外した際のリソース消費量を表 6.7 にまとめる。

ALM とレジスタに関しては、複数のセルで共有して用いる部分があるため、どのフィルタにおいても比例した量
よりは若干少なくなる。具体的には、PLL モジュール、レジスタモジュールのアドレスカウンタなどである。また、
フィルタモジュールのステートマシンは 4 セルごとに共有している。8 セルすべてで共有しないのは、320 MHz の高速駆動部分の回路においては、回路規模が少し増えてでも安定動作ができるよう回路を複製することが重要だからである。また、各フィルタにおいて、DSP の使用が 4 セルから 8 セルで比例より大きな値になっているのも、フィル
タモジュールの動作の安定化のために、ALM に配置していた LPM MULT による乗算モジュールを DSP に配置し

第6章

140

ハードウェアレベルでの性能評価

表 6.6 Arria V GX への実装における各フィルタのリソース消費量。

リソース

OFsd

MF32th

MF20th

WF1mf

1 セル

4 セル

8 セル

1 セル

4 セル

8 セル

1 セル

4 セル

8 セル

1 セル

4 セル

8 セル

ALM

661

1,871

3,361

664

1,807

3,361

655

1,806

3,006

621

1,685

3,087

レジスタ

1,425

4,450

8,247

1,400

4,116

7,937

1,374

4,183

7,225

1,377

4,122

7,706

DSP

1

4

10

2

8

17

2

8

19

1

4

8

BRAM

36

144

288

36

144

288

36

144

288

36

144

288

(kbit)
表 6.7 Arria V GX への実装における各フィルタの SignalTap II モジュールを除くリソース消費量。ブロック

RAM はすべてのフィルタにおいて 0 のため省略。

リソース

OFsd

MF32th

MF20th

WF1mf

1 セル

4 セル

8 セル

1 セル

4 セル

8 セル

1 セル

4 セル

8 セル

1 セル

4 セル

8 セル

ALM

284

1,100

2,068

284

1,022

2,048

273

1,021

1,691

244

918

1,787

レジスタ

598

2,295

4,333

525

1,904

3,920

510

1,971

3,225

504

1,972

3,817

DSP

1

4

10

2

8

17

2

8

19

1

4

8

たためである。Optimal filter の場合は 2 個の乗算モジュール、Multi-pulse filter (N = 32) の場合は 1 個の乗算モ
ジュールを DSP に設置することで、回路の安定化と DSP ブロックの節約が両立される。
今回の実装において、原因はわかっていないが、Multi-pulse filter (N = 32) に比べ、FIR 計算の項数が少ない

Multi-pulse filter (N = 20) のほうが、回路のタイミング制約が厳しかった。そのため、回路動作安定化のために一部の回路を複製した影響で、4 セル実装においては Multi-pulse filter (N = 32) より Multi-pulse filter (N = 20) のほうがレジスタの消費量が増えている。また、8 セル実装においても Multi-pulse filter (N = 20) はフィルタモジュー
ルの動作の安定化のために、3 個の LPM MULT による乗算モジュールを ALM ではなく DSP に配置している。

8 セル実装では、どのフィルタにおいてもタイミング制約を満たせるよう一部の回路を複製する必要があるので、Multi-pulse filter (N = 20) + Thresholder が ALM とレジスタに関して消費量を抑えられることがわかった。ただ、前述の通り、フィルタモジュールの安定化のために DSP の消費量は他に比べて増加する。DSP も含めて総合的に判断すると、Wiener filter (Peak 1, Post) + Maximumfinder が回路規模の最適化の面で優れている。
スケーラビリティ
各フィルタのリソース消費量が、ATLAS 液体アルゴンカロリメータの Phase-I アップグレードで使用する予定の

Arria 10 GX シリーズのリソース要求を満たしているかどうかを確認する。ここでは、各フィルタを 8 セル分 Arria
V GX に実装した際のデータをもとに、ファクター 40 をかけることによって 320 セル分のリソース消費量を概算し、Arria 10 GX シリーズのリソース [22] と比較した。結果の数値を表 6.8 に示す。
表 6.8 320 セル分の各フィルタの予想されるリソース消費量と Arria 10 GX シリーズのリソース。

リソース

(

)
ALM 103( )レジスタ 103
DSP

OFsd

MF32th

MF20thWF1mf

Arria 10 GX

8 セル

320 セル

8 セル

320 セル

8 セル

320 セル

8 セル

320 セル

2.07

82.7

2.05

81.9

1.69

67.6

1.79

71.4

339

4.33

173

3.92

157

3.23

129

3.82

153

1,300

10

400

17

680

19

760

8

320

1,518

実際にはセルの数が増えていくにつれ、回路の最適化が難しくなり、リソース消費量は単純な比例計算にとどまら
なくなることが予想される。しかしながら概算においては、各フィルタの消費量はともに、Arria 10 GX シリーズのリソース制約のほぼ半値以下に収めることができた。

6.1 Arria V GX への実装による検証

141

6.1.4 まとめ
本節で得た結果をまとめる。

Altera 社の評価ボード Arria V GX Starter Kit を用いた検証実験において、Optimal filter + Shapedetector、Multi-pulse filter (N = 32) + Thresholder、Multi-pulse filter (N = 20) + Thresholder、Wiener filter (Peak 1,
Post) + Maximumfinder を実際に Arria V GX に実装し、各フィルタの性能を評価した。単一の理想的な入力波形
を入力信号として用いた結果、ソフトウェアシミュレーションと同様の結果を出力し、各フィルタをハードウェアレ
ベルに落とし込むことに成功した。
各フィルタのレイテンシおよび内部レイテンシを表 6.9 にまとめる。どのフィルタも液体アルゴンカロリメータの読み出し系におけるエネルギー再構成計算に割り当てられたレイテンシ 5 BC（125 ns）の要求を満たしていることが確認できた。
表 6.9 Arria V GX への実装における各フィルタのレイテンシ。

OFsd

MF32th

MF20th

WF1mf

内部レイテンシ (ns)121.875

96.87596.875121.875

レイテンシ (ns)

125

100

100

125

レイテンシ (BC)

5

4

4

5

また複数セル分のフィルタ実装として、1 セル、4 セル、8 セルの 3 パターンで検証し、各フィルタのリソース消費量を見積もった。8 セル実装における ALM、レジスタの消費量では、Multi-pulse filter (N = 20) + Thresholder
がもっとも少なく、もっとも消費量の多い Optimal filter + Shapedetector に比べて、ALM は 81.8%、レジスタは74.4% の使用にとどめている。ただ、Multi-pulse filter はもっとも DSP の使用を抑えている Wiener filter に比べ、2 倍以上の DSP を消費する。最後に、各フィルタのリソース消費量を 320 セル分にスケールして、Phase-I アップグ
レード後に用いられる FPGA のリソースと比較し、要請された消費量制限のほぼ半値以下に抑えていることを確認
した。

143

第7章

まとめと考察本研究で得た結果をまとめる。
液体アルゴンカロリメータの読み出し系の BE エレクトロニクスにおいて、前段のエレクトロニクスから受け取った入射信号シークエンスをもとに粒子がカロリメータで落としたエネルギー値を再構成するためのフィルタリングア
ルゴリズムの開発および評価を行った。今回開発を行った Multi-pulse filter と他の候補のフィルタのそれぞれにおいて、実際にカロリメータの読み出し系で使用可能であるか確認し、また各フィルタの長所と短所を洗い出すために、
ソフトウェアとハードウェアの両側面から検証を行った。ソフトウェアレベルでの評価は、フィルタリングアルゴリ
ズムの検証環境として作成した S-Frame および AREUS を用いて行った。ハードウェアレベルでの評価は、Xilinx
社の FPGA である Virtex-7 と Altera 社の FPGA である Arria V GX を、それぞれの FPGA が搭載された評価
ボードを用いて行った。

S-Frame を用いたシミュレーションによる検証結果をまとめる。
• Optimal filter は入射タイミングの影響をほとんど受けないという利点をもつ。また、離散値化や熱ノイズの影響も受けにくく、パターン 2 における目的事象に対する RMS は、理想的な入射信号シークエンスで 0.014、
離散値化された入射信号シークエンスで 0.015、熱ノイズを含む入射信号シークエンスで 0.017 とほぼ変わらない。その一方で、FIR 計算の出力波形は入射信号シークエンスに含まれるノイズ量に大きく依存し、正しい
計算タイミング以外でも正の値になりうる。したがって、入射信号シークエンスのパターン次第で、付加する
選択条件の信頼度が大きく変化してしまう。

• Multi-pulse filter は異なるチャンネルにおいても、そのチャンネルの入力波形で係数キャリブレーションを行
えば、ほぼ同等の応答特性が得られる。また、複数の入射信号の重ね合わせを想定して再構成を行うため、理想的な入射信号シークエンスおよび離散値化された入射信号シークエンスに対しては、非常に高い性能を発揮する。例として、パターン 2 の離散値化された入射信号シークエンスにおいて、検出効率は他のフィルタが35% 以下なのに対し、42% 以上を保ち、RMS も他のフィルタが 0.31 以上なのに対し、0.27 程度である。しかしながら、入力波形にセンシティブであるため、入射タイミングのずれや熱ノイズの付加によって、出力波
形は大きく歪められてしまう。また、フェイク事象の発生率を抑えるための工夫を考える必要がある。

• Wiener filter は熱ノイズが付加されてもフェイク事象に対する性能をある程度保つことができる。入射タイ
ミングがずれに対し、出力波形のピーク値がセンシティブであるという欠点はあるが、パイルアップ事象の検出効率・平均値・RMS のバランスを考慮した総合的な性能だと、もっとも無難に機能するフィルタと言える。例えば、パターン 1 の熱ノイズを含む入射信号シークエンスに対し、Wiener filter (Peak 1, Post) +Maximumfinder のパイルアップ事象の検出効率は 45.3%、平均値は 0.90、RMS は 0.37 である（Optimalfilter + Shapedetector の各値は 18.1%, 0.96, 0.36 で、Multi-pulse filter (N = 32) + Thresholder の各値は69.7%, 0.87, 0.54）。
AREUS を用いたシミュレーションによる検証結果をまとめる。
• Optimal filter + Shapedetector は異なるレイヤーに対しても同等の機能を示し、熱ノイズを含まない入射信号シークエンスに対して RMS が 0.11、含む入射信号シークエンスに対して 0.13 と、熱ノイズの有無にかかわ

第7章

144

まとめと考察らずもっとも良い性能を発揮した。ただし、イレギュラーノイズを落とせる一方で、サチュレーションを起こした信号において検出できないエネルギー領域がある。

• Optimal filter + Maximumfinder は単一の信号に対しても小さい値ではあるがフェイク事象を生じる。その結果、入射信号シークエンスによってはフェイク事象を含む低エネルギー領域での性能が一気に劣化する。最大 100 GeV の目的事象まで含む入射信号シークエンスにおいえては、フェイク事象が最大 14 GeV に達する。
その反面、サチュレーションを起こした信号やイレギュラーノイズに対しては無難な性能を見せる。

• Multi-pulse filter は異なるレイヤーに対しても安定的な出力を見せる。ただし、S-Frame でも確認したように
熱ノイズに対しては出力値の RMS が悪化し、熱ノイズを含まないときの RMS が 0.18 なのに対し、含むときは 0.44 まで上昇する。サチュレーションに対しては検出できるものの非常に大きなフェイク事象を付随する。
イレギュラーなノイズに対しては最大で行列の次元数の BC まで影響を引きずる。

• Wiener filter (Peak 1, Post) + forward correction は、レイヤーによってレイテンシが 5 BC から 4 BC に変
わってしまう特徴をもつ。熱ノイズが付加されてもフェイク事象のエネルギー値を 1 GeV 以下と低く抑える
ことができる反面、低エネルギー領域における検出効率は悪い。また、サチュレーションとイレギュラーノイ
ズに対する応答特性が非常に悪く、特にイレギュラーノイズに関してはノイズ領域が終わってもその約 10 倍の時間領域にわたって影響を引きずってしまう。

AREUS においては、Optimal filter + Shapedetector がもっとも良い性能を示した。
Arria V GX への実装による検証結果をまとめる。
• 液体アルゴンカロリメータの読み出し系におけるエネルギー再構成計算のレイテンシが 5 BC（125 ns）なのに対し、Optimal filter + Shapedetector のレイテンシは 5 BC（125 ns）、Multi-pulse filter (N = 32) +Thresholder のレイテンシは 4 BC（100 ns）、Multi-pulse filter (N = 20) + Thresholder のレイテンシは4 BC（100 ns）、Wiener filter (Peak 1, Post) + Maximumfinder のレイテンシは 5 BC（125 ns）となり、検証を行ったすべてのフィルタで要求を満たした。

• 8 セル分を実装では、ALM・レジスタの消費量においては Multi-pulse filter (N = 20) + Thresholder がもっとも少なく、Optimal filter + Shapedetector に対し、ALM は 81.8%、レジスタは 74.4% に抑えている。

DSP の消費量においては Wiener filter (Peak 1, Post) + Maximumfinder が 8 と最小に抑えている。
本研究を通して達成したことをまとめる。

• フィルタリングアルゴリズムの性能評価を行うための S-Frame を構築した。複雑な構造をもつ AREUS と比較して規模を最小限に抑え、評価項目に応じて簡単にシステムの書き換えが可能である。また、各フィルタごとにパラメータの指定ができ、最適な出力波形を示すフィルタの選定に役立てることができる。

• Optimal filter と Wiener filter および各種選択条件について、ソフトウェアレベルおよびハードウェアレベル
に落とし込んでコーディングを行い、それぞれ正しく挙動を示すことを確かめた。また、Multi-pulse filter の開発を行い、同様にソフトウェレベルおよびハードウェアレベルでコーディングを行った。

• 今回開発を行った Multi-pulse filter は、理想的な入射信号シークエンスおよび離散値化された入射信号シーク
エンスにおいて良い性能を発揮した。目的事象に対する RMS を他のフィルタの 85% 程度に抑えた。パイル
アップ事象の検出効率は他のフィルタの 1.5〜7 倍に達し、RMS は 80% 程度に抑えた。フェイク事象の平均値は Optimal fiter の半値以下に抑え、RMS は 65% 程度に抑えた。

• Multi-pulse filter を FPGA 実装レベルまで開発に成功し、現行の Optimal filter や Wiener filter (Peak 1,
Post) + Thresholder に比べて 1 BC 短い、レイテンシ 4 BC を達成した。これはカロリメータの読み出し系
におけるエネルギー再構成計算に与えられたレイテンシより 1 BC 少なく、新たな選択条件等の計算のための余裕がある。

• FPGA に対し、各フィルタの 8 セル分の実装に成功し、Multi-pulse filter の回路規模を現行の Optimal filterに比べ、ALM を 2,068 から 1,691（81.8%）、レジスタを 4,333 から 3,225（74.4%）に抑えることに成功した。
その反面、DSP の消費量は約 2 倍になる。

145• Multi-pulse filter, Optimal filter, Wiener filter の 3 つのフィルタにおいて、320 セル分の回路規模を割り出し、使用可能なリソースと比較して、ALM では 24% 以下に、レジスタでは 13.3% 以下に、DSP では 50% 以下に抑え、AMC 上でも実用可能であることを示した。
本研究で判明した課題を考察する。
今回の各種検証結果では、各フィルタともに一長一短があることがわかった。現実的な環境を想定した際、熱ノイズへの耐性・サチュレーションを起こした信号に対する BCID・イレギュラーノイズの対策は必須である。本研究の過程で開発した Multi-pulse filter は当初想定していたよりも熱ノイズの影響が大きいことが判明し、他のフィルタに比べて一段劣る結果となった。熱ノイズのセットアップには時間的相関を考慮せず、単純なガウス分布を用いたた
め、より詳細な特性を知るためにはより現実に即したノイズを作成する必要があるが、その場合も理想的な入力波形の歪みに対して現状の Multi-pulse filter はセンシティブな性質をもつ。他のフィルタのように、係数キャリブレー
ション時にノイズの影響を最小化するような効果を入れることが今後の課題である。

Optimal filter については、一度係数キャリブレーションを行ったあとの出力波形は、ノイズの付加に対してもある
程度維持できるが、そもそもの出力波形はキャリブレーションに用いる入力波形に大きく依存する。事実、S-Frameや AREUS でのシミュレーションにおいて、入射信号シークエンスのパターンが変わると、選択条件によって性能の優劣が大きく左右された。カロリメータのすべてのセルから送られてくる信号ひとつひとつを忠実に再現するのは不可能であり、今回のいくつかのパターンのように悪い結果に結びつく入射信号シークエンスを生成するセルがないとも限らない。これは、重心系エネルギーとルミノシティの増強によりカロリメータから送られてくる入射信号シーク
エンスをどのように歪められるのか、詳細なシミュレーションにより知見を得て、その入射信号シークエンスに対して最適化されたフィルタを求める必要がある。
他グループで研究されている Wiener filter + forward correction も検出効率とフェイク事象の発生率の兼ね合いで見れば、優れたフィルタと言える。ただし、IIR フィルタとしてサチュレーションやイレギュラーノイズなどの影
響を引きずりやすい。どういった入力信号がきたときにフィードバックを有効にするのか、アルゴリズムを一新する必要がある。ただし、その際に回路規模が大きくなるような複雑なアルゴリズムを組み込むことはできない。
いずれにせよ、より実効的なフィルタリングアルゴリズムの選定を行うために、LS1 で導入した Demonstrator に
よる Run 2 の実データの取得が期待される。

147

付録 A

各フィルタのパラメータと出力波形
本章では、第 4 章〜第 6 章で紹介・検証してきたフィルタリングアルゴリズムについて、S-Frame において各フィルタの出力波形を調整するためのパラメータとその調整結果をより詳しく説明する。AREUS においても類似のパラメータが存在する場合がある。

A.1 Optimal filter
Optimal filter は次の 2 つのパラメータをもつ。
• “FilterDepth”：フィルタ長、つまり FIR 計算に用いる項数を示す。Optimal filter の場合、フィルタ長が 1増えるとレイテンシも 1 BC 増える。本文においては “FilterDepth” = 5 としている。

• “PileupCorrValid”：ノイズ自己相関関数を求める際に、パイルアップをノイズとして含めるかどうかを指定するブール代数。本文においては “PileupCorrValid” = true としている。
以下、それぞれのパラメータを変更した際に、出力波形がどのように変化するか評価した結果を示す。

A.1.1 “FilterDepth”
各 FIR フィルタは、フィルタ係数の求め方こそ違えど、実際に適用される際にはどのフィルタも FIR 計算という形で機能する。入力信号にとって異なるのはかけられるフィルタ係数の値と、FIR 計算で足しあわされるサンプリン
グの数である。前者がフィルタの種類に、後者がフィルタ長すなわち “FilterDepth” に相当する。
カロリメータの信号事象は図 3.8 で示したように、バイポーラ波形をしている。一方で、熱ノイズは信号事象とは異なる自己相関をもった波形である。一般に、フィルタ長をより長くして係数キャリブレーションをすれば、それだ
け信号事象とノイズの各自己相関に差が出るため、両者を区別しやすい FIR フィルタになる。信号事象とノイズの区
別のためには、“FilterDepth” = 3 以上が条件である。また、入力エネルギーよりも大きなフェイク事象が発生してしまわないように、信号事象のエネルギー値を返す FIR 計算の中に、入力信号のピークがきちんと含まれるようにフィルタ長を設定する必要がある。ただし、電子回路に実装される際には、あまりにも長いフィルタ長は回路規模の浪費につながる。また、前述の通り、Optimal filter は各信号事象のエネルギー値を、信号の入射タイミングからフィルタ長分のサンプリングを使った FIR 計算で返すため、フィルタ長の増加がそのままレイテンシの増加をまねく。
ここでは、5.1.3 節で説明したパターン 1 を用いて係数キャリブレーションを行い、“FilterDepth” の値を変えながら、Optimal filter の出力波形を見た。まず、表 A.1 に各 “FilterDepth” における OFC の計算値を示す。a0 がもっとも過去に取得したサンプリングにかかる係数であり、添え字が増えるごとに、直近のサンプリングへとシフトしていく。
図 A.1 に “FilterDepth” を変えた Optimal filter + Shapedetector を示す。図 A.1 (a) は “FilterDepth” = 3 のOptimal filter で、レイテンシ 50 ns で値を返すことができる。赤い矢印での出力値は、0 ns, 25 ns, 50 ns の 3 点を用いて計算されている。ただし、25 ns で Shapedetector が誤って値を有効にしており、ピークの半値ほどもある大きなフェイクを許してしまっている。図 A.1 (b) は “FilterDepth” = 4 の Optimal filter で、“FilterDepth” = 3 に

付録 A

148

各フィルタのパラメータと出力波形

表 A.1 “FilterDepth” を変えた際の OFC。

“FilterDepth”
OFC

3

4

5

6

a0

-0.57287-0.448538-0.425098-0.387536

a10.150343-0.0917635-0.134359-0.221763

a2

0.907223

1.390631.48135

1.63796-0.54356-0.688707-0.977257

0.107693

0.501488

a3
a4
a5

図 A.1

-0.274392(a) “FilterDepth” = 3(b) “FilterDepth” = 4(c) “FilterDepth” = 5(d) “FilterDepth” = 6

Optimal filter + Shapedetector のフィルタ長依存性。

黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を通過した出力信号を示す。紫の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあらわす。

比べるとピーク前の BC における FIR 計算の出力値が小さくなっており、フェイク事象は発生しない。赤い矢印での出力値は、0 ns, 25 ns, 50 ns, 75 ns の 4 点を用いて計算されている。図 A.1 (c) は “FilterDepth” = 5 の Optimalfilter で、本文でも使用している。赤い矢印での出力値は、0 ns, 25 ns, 50 ns, 75 ns, 100 ns の 5 点を用いて計算されている。これは入力信号のピークとその前後各 2 BC ずつを計算に用いており、バランスが良い。図 A.1 (d) は“FilterDepth” = 6 の Optimal filter で、赤い矢印での出力値は、0 ns, 25 ns, 50 ns, 75 ns, 100 ns, 125 ns の 6 点を用いて計算されている。レイテンシの制約から、カロリメータの読み出し系で用いることはできない。
図 A.2 に “FilterDepth” を変えた Optimal filter + Maximumfinder を示す。Maximumfinder を用いると、各 “FilterDepth” において、600 ns 前後に小さなフェイク事象が発生する。また、“FilterDepth” = 5 および“FilterDepth” = 6 では、50 ns または 75 ns でフェイク事象をもつ。

A.1 Optimal filter

149(a) “FilterDepth” = 3(b) “FilterDepth” = 4(c) “FilterDepth” = 5(d) “FilterDepth” = 6

図 A.2 Optimal filter + Maximumfinder のフィルタ長依存性。
黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を通過した出力信号を示す。紫の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあらわす。

A.1.2 “PileupCorrValid”
パイルアップをノイズとして含めない場合、ノイズ自己相関関数は熱ノイズの相関のみを考慮する。ここでは、

5.1.3 節で説明したパターン 1 を用いて係数キャリブレーションを行い、Optimal filter の出力波形を見た。まず、表A.2 に “PileupCorrValid” を false にした場合と本文同様 true にした場合の OFC の計算値をそれぞれ示す。
表 A.2“PileupCorrValid” を変えた際の OFC。

“PileupCorrValid”
OFC

true

false

a0

-0.425098-0.0104644

a1-0.134359

0.304351

a2

1.48135

0.561774

a3-0.688707

0.354752

a4

0.107693

0.127938

図 A.3 に “PileupCorrValid” が true の場合と false の場合の出力波形の比較を示す。“PileupCorrValid” = trueの場合、つまり本文中と同じようにパイルアップをノイズとして扱った場合は、信号事象のピーク以外は最適化され、0 に近い値になる。一方、“PileupCorrValid” = false の場合は、入射信号シークエンスに対して熱ノイズによる分散のみを最小限に抑えた出力波形を返すので、結果的に理想的な入力信号のようなバイポーラ波形のような出力を得る。

付録 A

150

各フィルタのパラメータと出力波形(a) OFsd, “PileupCorrValid” = true(b) OFsd, “PileupCorrValid” = false(c) OFmf, “PileupCorrValid” = true(d) OFmf, “PileupCorrValid” = false

図 A.3

Optimal filter のパイルアップの扱いの違い。
黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を通過した出力信号を示す。紫の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあらわす。

図 A.3 (b) では、Shapedetector の誤認識によって 125 ns と 175 ns の値が有効にされてしまっている。
図 A.4〜A.6 に “PileupCorrValid” が true の場合と false の場合の Optimal filter + Maximumfinder の性能をそれぞれ示す。性能評価のために、入射信号シークエンスとしてパターン 1 を用い、125 MeV の離散値化および熱ノイズを有効にしている。

(a) “PileupCorrValid” = true
図 A.4(b) “PileupCorrValid” = false

熱ノイズを含む入射信号シークエンス（パターン 1）の目的事象に対する各 OFmf の性能。

横軸は入力値に対する出力値の相対的なずれ。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした出力結果。

A.2 Wiener filter151

図 A.4 は目的事象に対する性能である。パイルアップをノイズとして捉え、目的事象への影響を抑えている図 A.4(a) のほうが、RMS が小さくなる。

(a) “PileupCorrValid” = true
図 A.5(b) “PileupCorrValid” = false

熱ノイズを含む入射信号シークエンス（パターン 1）のパイルアップ事象に対する各 OFmf の性能。

横軸はパイルアップ事象の出力値と入力値の比。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした出力結果。

図 A.5 はパイルアップ事象に対する性能、図 A.6 はフェイク事象に対する性能である。どちらも、“PileupCor-rValid” = false のヒストグラムは選択条件によって有効にされる数が減り、計算結果は大きいほうへテールを作る傾
向にある。

(a) “PileupCorrValid” = true
図 A.6(b) “PileupCorrValid” = false

熱ノイズを含む入射信号シークエンス（パターン 1）に対して各 OFmf で生成するフェイク事象。

横軸は ADC 単位の出力値。青いヒストグラムは FIR 計算の出力結果。赤いヒストグラムは選択条件を満たした
出力結果。

A.2 Wiener filter
Wiener filter は次の 3 つのパラメータをもつ。
• “FilterDepth”：フィルタ長、つまり FIR 計算に用いる項数を意味する。Wiener filter の場合、フィルタ長の変化はエネルギー再構成を行う信号事象の入射時刻よりも前のサンプリング数に反映されるので、“FilterDepth”の変化ではレイテンシの変化はない。本文においては “FilterDepth” = 6 としている。

• “PeakPosition”：出力波形のピークの位置を定義するパラメータで、FIR 計算終了までのレイテンシもこのパラメータによって決まる。“PeakPosition” はストリング型で、Peak もしくは Peak 1 を選択できる。本文においては、“PeakPosition” = Peak 1 としている。

付録 A

152

各フィルタのパラメータと出力波形• “PeakOption”：出力波形を調整するオプションのパラメータ。使用しないこともできる。“PeakOption” はストリング型で、Pre もしくは Post あるいは Both を選択可能である。本文においては、“PeakOption” として Post を用いている。
以下、それぞれのパラメータを変更した際に、出力波形がどのように変化するか評価した結果を示す。

A.2.1 “PeakPosition” および “PeakOption”
Wiener filter は WFC を計算するために、入射信号シークエンスの自己相関関数と、入射信号シークエンスと原信
号シークエンスの間の相互相関関数を求める必要がある。自己相関関数をあらわした式 (4.29) を再掲する。
N −1

ryy (k) =1 ∑y (m) y (m + k)
N m=0

(A.1)

また、相互相関関数をあらわした式 (4.30) を再掲する。
N −1

ryx (k) =1 ∑y (m) x (m + k)
N m=0

(A.2)

入射信号シークエンス y (m) はカロリメータからの信号をそのまま用いればいいので問題ないが、原信号 x (m) はある程度仮定するしかない。Wiener filter では、式 (4.22) で示した原信号 x (m) と出力信号 x̂ (m) の差として定義されるエラー信号 e (m) を最小化するように WFC を決める。したがって、原信号 x (m) は自分が得たい出力波形に近い波形で仮定すると良い。ただし、仮定した原信号の波形が実際の入力波形から程遠いと、最小二乗法の結果、逆におかしな出力波形になってしまう。“PeakPosition” および “PeakOption” は仮定する原信号の波形を調整するためのパラメータである。
図 A.7 に “PeakPosition” と “PeakOption” を変えた際の原信号、図 A.8 に各原信号に対応した Wiener filter のFIR 計算の出力および Maximumfinder を課した出力を示している。
まず、仮定した原信号について図 A.7 を見ながら説明する。基本的に、原信号は粒子のヒット情報をシークエンス化したものを仮定する。つまり、粒子が入射したタイミングに有限の値を持ち、それ以外の BC ではすべて 0 となるような信号波形である。ただし、既に述べたとおり、仮定した原信号の波形が実際の入力波形から程遠いと出力信号は望まれた波形から遠くなる。そこで、仮定した原信号のピークを入力信号のピークと同じ BC、あるいはその次の BC に設定する。このピークの位置を決めるのがパラメータ “PeakPosition” であり、前者にするためには“PeakPosition” = Peak に、後者にするためには “PeakPostion” = Peak 1 にする。図 A.7 (a) に “PeakPosition”= Peak にした原信号を、図 A.7 (e) に “PeakPosition” = Peak 1 にした原信号をそれぞれ示す。入力波形が黒いプ
ロットであらわされているのに対し、原信号は青いプロットであらわされている。図 A.7 (a) では、入力波形のピー
クと同じ BC でのみ原信号が値をもっており、A.7 (e) では入力波形がピークをもつ BC の次の BC で原信号が値をもつことが示されている。信号入射から原信号のピークがある BC までの時間がそのまま、Wiener filter の FIR 計
算終了までのレイテンシとなる。
まず、図 A.7 (a) のように “PeakPosition” = Peak の原信号を仮定したときの Wiener filter + Maximumfinderの出力波形を図 A.8 (a) に示す。ここでは “FilterDepth” = 6 として計算している。Wiener filter (Peak, None) +Thresholder の出力波形は、赤い矢印で示された正しい出力タイミングで正しい計算値を返しているが、150 ns と
225 ns で大きなフェイク事象が発生してしまっている。次に、図 A.7 (e) のように “PeakPosition” = Peak 1 の原信号を仮定したときの Wiener filter + Maximumfinder の出力波形を図 A.8 (e) に示す。こちらは原信号のピークの位置を 1 BC 遅らせているために、選択条件を満たすまでのレイテンシも 1 BC 遅れている。Wiener filter (Peak 1,

None) + Thresholder の出力波形も正しいタイミングで正しい計算値を返しているものの、175 ns で大きなフェイ
ク事象が発生してしまっている。

Wiener filter の安定した出力波形を得るためには、原信号の仮定を自分が得たい出力信号に近い波形を保ちながら、バイポーラ型の入力波形との差が小さくなるように設定しなければならない。そのために、原信号のピーク

A.2 Wiener filter

153(a) “PeakPosition” = Peak, “PeakOption” = None(b) “PeakPosition” = Peak, “PeakOption” = Pre(c) “PeakPosition” = Peak, “PeakOption” = Post(d) “PeakPosition” = Peak, “PeakOption” = Both(e) “PeakPosition” = Peak 1, “PeakOption” = None(f) “PeakPosition” = Peak 1, “PeakOption” = Pre(g) “PeakPosition” = Peak 1, “PeakOption” = Post(h) “PeakPosition” = Peak 1, “PeakOption” = Both

図 A.7 “PeakPosition” と “PeakOption” によって指定する原信号。
黒いプロットは入力信号、青いプロットはそれに対する仮定した原信号。

付録 A

154

各フィルタのパラメータと出力波形(a) “PeakPosition” = Peak, “PeakOption” = None(b) “PeakPosition” = Peak, “PeakOption” = Pre(c) “PeakPosition” = Peak, “PeakOption” = Post(d) “PeakPosition” = Peak, “PeakOption” = Both(e) “PeakPosition” = Peak 1, “PeakOption” = None(f) “PeakPosition” = Peak 1, “PeakOption” = Pre(g) “PeakPosition” = Peak 1, “PeakOption” = Post(h) “PeakPosition” = Peak 1, “PeakOption” = Both

図 A.8

Wiener filter + Maximumfinder の “PeakPosition” と “PeakOption” 依存性。
黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を通過した出力信号を示す。紫の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあらわす。

A.2 Wiener filter

155

値の前後の BC にピークの半値を付け加えることを考える。この指定を行うパラメータが “PeakOption” である。

“PeakOption” は以下の 4 つのタイプを選択することが可能である。
• “PeakOption” = None：“PeakOption” を使用しない。
• “PeakOption” = Pre：原信号のピーク値の 1 つ手前の BC にピークの半値を付け加える。例として、“PeakPosition” = Peak かつ “PeakOption” = Pre としたときの原信号を図 A.7 (b) に示す。
• “PeakOption” = Post：原信号のピーク値の次の BC にピークの半値を付け加える。例として、“PeakPosition”= Peak かつ “PeakOption” = Post としたときの原信号を図 A.7 (c) に示す。
• “PeakOption” = Both：原信号に対し、“PeakOption” = Pre と “PeakOption” = Post の 2 つのオプション
を同時に使う。例として、“PeakPosition” = Peak かつ “PeakOption” = Both としたときの原信号を図 A.7(d) に示す。
再び図 A.8 を見ながら、“PeakPosition” および “PeakOption” の特徴を以下にまとめる。

• “PeakPosition” = Peak としたとき、入射信号に対する FIR 計算の結果は入力波形がピークになる BC で返され、FIR 計算終了までのレイテンシは 2 BC である。

• “PeakPosition” = Peak 1 としたとき、入射信号に対する FIR 計算の結果は、入力波形がピークになる BCで返され、FIR 計算終了までのレイテンシは 3 BC である。

• “PeakOption” = None とすると、Wiener filter + Maximumfinder の出力波形がピーク後で安定しない。
• “PeakOption” = Pre とすると、ある程度ピーク後の振動が小さくなるものの、やはりフェイク事象が発生する。

• “PeakOption” = Post とすると、Wiener filter + Maximumfinder の出力波形はほとんど理想的なものになる。ただし、“PeakPosition” = Peak では 150 ns と 225 ns に、“PeakPosition” = Peak では 675 ns にわず
かなフェイク事象が見られる。

• “PeakOption” = Both とすると、Wiener filter + Maximumfinder の出力波形は理想的なものになる。
ただし、“PeakOption” を用いると、連続した BC での入射信号に対するエネルギー再構成が歪められてしまう点に注意する必要がある。“PeakOption” = Pre および “PeakOption” = Post はピーク値の前後どちらか 1 BC 分、“PeakOption” = Both ではピーク値の前後あわせて 2 BC 分の出力値が歪められるのを覚悟しなければならない。
表 A.3 に “PeakPosition” と “PeakOption” を変えた際の WFC の計算値をそれぞれ示す。w0 がもっとも過去に取得したサンプリングにかかる係数であり、添え字が増えるごとに、直近のサンプリングへとシフトしていく。
表 A.3 “PeakPosition” と “PeakOption” を変えた際の WFC。

(“PeakPostion”, “PeakOption”)
WFC(Peak, None)(Peak, Post)(Peak 1, None)(Peak 1, Pre)

(Peak 1, Post)(Peak 1, Both)w0

0.54504

0.34828-0.353061-0.0634262-0.152322

0.0990375

w1-1.33531-0.793306

1.000180.280455

0.598578-0.0326398

w2

2.08943

1.32885-1.36785-0.256307-1.33112-0.31643

w3-2.41787-2.04202

0.446194-0.755203

1.11212-0.0328189

w4

1.439171.777391.00109

1.62158

0.536418

1.136

w5

0.167493-0.029049-0.415207-0.303325-0.289238-0.195457

本文中では、フェイク事象の小ささと他の BC の影響を勘案して、Wiener filter (Peak 1, Post) + Maximumfinder
または Wiener filter (Peak, Post) + Maximumfinder を用いている。

付録 A

156

各フィルタのパラメータと出力波形

A.2.2 “FilterDepth”
Wiener filter の場合、FIR 計算終了までのレイテンシは前述の “PeakPosition” によって決まる。したがって、信号入射後に用いるサンプリングの数も “PeakPosition” によって決まり、“PeakPosition” = Peak であれば 3 点、“PeakPosition” = Peak 1 であれば 4 点が使われる。信号入射前のサンプリングをいくつ用いるかは “FilterDepth”
によって決まる。表 A.4 に Wiener filter (Peak 1, Post) + Maximumfinder において “FilterDepth” を変えた際のWFC の計算値を示す。
表 A.4 “FilterDepth” を変えた際の WFC。

“FilterDepth”
WFC

4

5

6

7

w0

-0.591485

0.353603-0.152322

0.292964

w1

0.503143-1.11425

0.598578-0.645623

w2

1.00399

0.948976-1.33112

1.076

w3

-0.475277

0.657374

1.11212-1.70081-0.332352

0.536418

1.38539-0.289238

0.328936

w4
w5
w6-0.209275

WFC の添え字の大きいほうから値を見ていくと、符号が負・正・正・負・正・負・正の順に並んでいることがわか(N )る。また、“FilterDepth” = N （N ≥ 4）の Wiener filter (Peak 1, Post) の WFC を wk

（0 ≤ k < N ）とあらわ(N )(N +1)(N )(N +1)
すことにすると、k ≥ N − 2 において wk > wk+1 、k < N − 2 において wk < wk+1 の関係があることがわかる。k = N − 2 のときの WFC は入力信号のピーク値にかかる係数であり、“FilterDepth” の増加によってピーク前の係数とピーク後の係数で変化の仕方が異なると考えられる。
図 A.9 に “FilterDepth” を変えた Wiener filter (Peak 1, Post) + Maximumfinder を示す。図 A.9 (a) は “Filter-

Depth” = 4 としており、赤い矢印での出力値は、0 ns, 25 ns, 50 ns, 75 ns の 4 点を用いて計算されている。625 nsに小さなフェイクが生じている。図 A.9 (b) は “FilterDepth” = 5 としており、赤い矢印での出力値は、−25 ns,

0 ns, 25 ns, 50 ns, 75 ns の 5 点を用いて計算されている。200 ns にフェイクが生じてしまっている。図 A.9 (c) は“FilterDepth” = 5 としており、赤い矢印での出力値は、−50 ns, −25 ns, 0 ns, 25 ns, 50 ns, 75 ns の 6 点を用いて計算されている。675 ns に小さなフェイクが生じている。図 A.9 (d) は “FilterDepth” = 5 としており、赤い矢印での出力値は、−75 ns, −50 ns, −25 ns, 0 ns, 25 ns, 50 ns, 75 ns の 7 点を用いて計算されている。目立ったフェイクは生じない。全体的に FIR 計算の出力波形の変化を観察すると、“FilterDepth” が増加するにつれて、ピーク前の

25 ns および 50 ns の値は大きくなり、ピーク後の 100 ns の値は小さくなる傾向がある。

A.3 Multi-pulse filter

157(a) “FilterDepth” = 4(b) “FilterDepth” = 5(c) “FilterDepth” = 6(d) “FilterDepth” = 7

図 A.9 Wiener filter (Peak 1, Post) + Maximumfinder のフィルタ長依存性。
黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を通過した出力信号を示す。紫の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあらわす。

A.3 Multi-pulse filter
Multi-pulse filter は次の 3 つのパラメータをもつ。
• “FilterDepth”：フィルタ長、つまり FIR 計算に用いる項数であり、係数を求める際の行列の次元数 N に相当する。Multi-pulse filter の場合、フィルタ長の変化はエネルギー再構成を行う信号事象の入射時刻よりも前のサンプリング数に反映されるので、“FilterDepth” の変化ではレイテンシの変化はない。本文においては“FilterDepth” = 32 あるいは “FilterDepth” = 20 を用いている。
• “FIRLatency”：FIR 計算終了までのレイテンシ。N 次の逆行列 G−1 のうち、何行目の係数系列を用いるかによって、レイテンシが変わる。次に説明する “G0 0Element” とあわせて、行数との対応が決まる。本文においては “FIRLatency” = 3 としている。

• “G0 0Element”：係数を求めるための重み行列 G の組み方を指定するパラメータ。N 次の行列の 1 行目 1 列に入る理想的な入力信号 g の添え字に相当する。本文においては “G0 0Element” = 1 としている。
以下、それぞれのパラメータを変更した際に、出力波形がどのように変化するか評価した結果を示す。

A.3.1 “FilterDepth”
Multi-pulse filter は原理的に、複数の入力波形の重ね合わせを想定して、各入射信号のエネルギー値を同時に再構成する。カロリメータの信号事象は図 3.8 で示したように、600 ns（24 BC）程度までオーバーシュートが続く。した

付録 A

158

各フィルタのパラメータと出力波形がって、24 BC 前に入射した信号の影響を含むよう、“FilterDepth” も 24 程度まで増やすのが望ましい。表 A.5 に各 “FilterDepth” における Multi-pulse filter の係数（Multi-pulse Filter Coeﬃcients: MFC）の計算値を示す。w0がもっとも過去に取得したサンプリングにかかる係数であり、添え字が増えるごとに、直近のサンプリングへとシフトしていく。ここで、“FIRLatency” は 3、“G0 0Element” は 1 としている。MFC の符号は正と負を交互に繰り返す。また、“FilterDepth” = N の w3 〜wN −1 の各値は、“FilterDepth” = N + i（i は自然数）の w3+i 〜wN +i−1 のそれぞれと等しくなる。
表 A.5 “FilterDepth” を変えた際の MFC。

“FilterDepth”
MFC

20

23

26

29

32

w0

-0.100603

0.191797-0.0935944

0.120762-0.027195

w10.232152-0.130655

0.174183-0.0646707

0.103626

w2-0.196276

0.162725-0.119412

0.145788-0.0422468

w30.344766-0.101402

0.192383-0.0943099

0.120969

w4-0.352559

0.232156-0.130658

0.174186-0.0646717

w50.53633-0.196276

0.162725-0.119412

0.145788

w6-0.606118

0.344766-0.101402

0.192383-0.0943099

w70.847081-0.352559

0.232156-0.130658

0.174186

w8-1.00181

0.53633-0.196276

0.162725-0.119412

w91.33079-0.606118

0.344766-0.101402

0.192383

w10-1.60280.847081-0.352559

0.232156-0.130658

w112.05058-1.00181

0.53633-0.196276

0.162725

w12-2.45613

1.33079-0.606118

0.344766-0.101402

w13

2.95807-1.60280.847081-0.352559

0.232156

w14-3.21115

2.05058-1.00181

0.53633-0.196276

w15

3.3483-2.45614

1.33079-0.606118

0.344766

w16-3.02904

2.95807-1.60280.847081-0.352559

w17

1.74672-3.21115

2.05058-1.00181

0.53633

w18-0.00857303

3.3483-2.45613

1.33079-0.606118-3.02904

2.95807-1.60280.847081

w20

1.74672-3.21115

2.05058-1.00181w21-0.00857303

3.3483-2.45613

1.33079-3.02904

2.95807-1.6028

w23

1.74672-3.21115

2.05058

w24-0.00857303

3.3483-2.45613-3.02904

2.95807w26

1.174672-3.21115w27-0.00857303

w19

w22

w25

w28

−5

4.17227 × 10

4.17227 × 10

−5−54.17227 × 10

−54.17227 × 10

3.3483-3.02904

w29

1.74672w30-0.00857303

w31

4.17227 × 10−5

図 A.10〜A.13 に、“FilterDepth” を 9 から 36 まで変えた際の各出力波形を示す。既に述べたように、MFCの符号は正と負を交互に繰り返すため、“FilterDepth” が奇数の場合と偶数の場合で出力波形の特徴が異なる。

“FilterDepth” が奇数のとき、信号入射から “FilterDepth” BC をこえたところで正のフェイク事象が生じる。

A.3 Multi-pulse filter

159“FilterDepth” が大きくなればなるほど、フェイク事象は小さくなり、発生する BC は時間軸の正方向へとずれていく。一方、“FilterDepth” が偶数のとき、信号入射から “FilterDepth” BC をこえたところで FIR 計算の結果が負の値を返す。その後、値は小さいものの、広い範囲にわたってフェイク事象を発生させる。“FilterDepth” が大きくな
ればなるほど、負の領域は浅くなり、フェイク事象も抑えられる。バイポーラ波形の入射信号は時間積分により 0 になるように成形されており、毎 BC で同じ係数を用いて計算を行う FIR フィルタの結果も時間積分すると 0 になる。
つまり、入射粒子がカロリメータで落としたエネルギーの情報を正の値で返す限り、そのつじつま合わせをするために負の値を返す BC が生まれる。Multi-pulse filter の場合は、その負の値を返す領域が、ピーク値を返す BC から離れたところにある。
各出力波形の図より、Multi-pulse filter の有用な “FilterDepth” の値は偶数、特に “FilterDepth” = 20 以上であることがわかる。

(a) “FilterDepth” = 9(b) “FilterDepth” = 10(c) “FilterDepth” = 11(d) “FilterDepth” = 12

図 A.10 Multi-pulse filter + Thresholder のフィルタ長（行列の次元数 N ）依存性 1。
黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を通過した出力信号を示す。紫の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあら
わす。

付録 A

160

各フィルタのパラメータと出力波形(a) “FilterDepth” = 13(b) “FilterDepth” = 14(c) “FilterDepth” = 15(d) “FilterDepth” = 16(e) “FilterDepth” = 17(f) “FilterDepth” = 18(g) “FilterDepth” = 19(h) “FilterDepth” = 20

図 A.11

Multi-pulse filter + Thresholder のフィルタ長（行列の次元数 N ）依存性 2。
黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を通過した出力信号を示す。紫の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあらわす。

A.3 Multi-pulse filter

161(a) “FilterDepth” = 21(b) “FilterDepth” = 22(c) “FilterDepth” = 23(d) “FilterDepth” = 24(e) “FilterDepth” = 25(f) “FilterDepth” = 26(g) “FilterDepth” = 27(h) “FilterDepth” = 28

図 A.12 Multi-pulse filter + Thresholder のフィルタ長（行列の次元数 N ）依存性 3。
黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を通過した出力信号を示す。紫の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあら
わす。

付録 A

162

各フィルタのパラメータと出力波形(a) “FilterDepth” = 29(b) “FilterDepth” = 30(c) “FilterDepth” = 31(d) “FilterDepth” = 32(e) “FilterDepth” = 33(f) “FilterDepth” = 34(g) “FilterDepth” = 35(h) “FilterDepth” = 36

図 A.13

Multi-pulse filter + Thresholder のフィルタ長（行列の次元数 N ）依存性 4。
黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を通過した出力信号を示す。紫の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあらわす。

A.3 Multi-pulse filter

163

A.3.2 “FIRLatency” および “G0 0Element”
式 (4.33) に示した N 次の Multi-pulse filter の概念式を再掲する。



Si+1
Si
Si−1
..
.














g1
  g0
 
  0
=
  ..
  .

g2
g1
g0
..
.

g3
g2
g1
..
.

···
···
···
..
.


gN −1 
gN −2 ..  
. 

Ai
Ai−1
Ai−2
..
.

0

···

0

g0

g1

Ai+1−N

Si+2−N

gN









(A.3)

ここで、g は理想的な入力波形、S は観測したサンプリング、A は過去の信号の波高を示している。g から構成された重み行列を G としたとき、逆行列 G−1 であらわす。G−1 の (m, n) 成分を G−1
m,n であらわしたとき、i BC における計算において、式 (A.3) から同時に Ai 〜Ai+1−N までの N BC 分の波高を求めることができ、Ai−k =

N−1∑

G−1k,j Si+1−j

(A.4)

j=0

と書ける。ただし、レイテンシの制約があるので、同時に計算されるすべての波高が有用なわけではない。S ベクトルの最大の添え字と、各 A の添え字との差分がレイテンシにあたる。例えば、k = 1 のとき、最大 i + 1 BC のサンプリ
ング Si+1 までを用いて i − 1 BC に入射した信号の波高 Ai−1 を求めるので、レイテンシは (i + 1) − (i − 1) = 2 BCである。この値が “FIRLatency” に相当する。また、回路規模の節約のために、上述の計算で求まる N 個の波高の−1
うち、1 つだけを用いる。その波高 Ai−k の計算に使用する G−1
m,n の k + 1 行目成分 Gk,j （0 ≤ j < N ）のそれぞれを、MFC wN −j−1 として FPGA にプリセットする。“FIRLatency” および後述する “G0 0Element” によって k に代入される数値が決定する。
重み行列 G における g の組み方は一意ではない。式 (A.3) は Si+2−N 〜Si+1 のサンプリングをそれぞれ再構成する式を組み合わせて擬似的な行列表示を作っている。もし、Si+2−N 〜Si+1 を再構成する式を組み合わせた場合、









Si+2
Si+1
Si
..
.
Si+3−Ng2
  g1 
  g0=  ..
  .

g3
g2
g1
..
.

g4
g3
g2
..
.

···
···
···
..
.

0

···

g0

g1



gN +1
Ai


gN 
  Ai−1  Ai−2 
gN −1 ..  
..



.
.
g2
Ai+1−N(A.5)となる。重み行列 G の組み方により、逆行列 G−1 の要素つまり MFC が変化するので、出力波形も異なる概形を示す。重み行列の組み方を指定するためのパラメータが “G0 0Element” である。これは重み行列の (0, 0) 成分にある
理想的な入力波形 g の添え字と等しい。式 (A.3) なら “G0 0Element” = 1、式 (A.5) なら “G0 0Element” = 2 となる。
式 (A.3) と式 (A.5) では S ベクトルの最大の添え字が変わっている。これはつまり、各式において同じ添え字の波高 Ai−k を計算しようとしても、レイテンシが異なることを意味する。MFC を wN −j−1 = G−1
k,j （0 ≤ j < N ）とす
るとき、つまり波高の再構成計算に逆行列 G−1 の k + 1 行目を用いるとき、k は “FIRLatency” と “G0 0Element”
に対し、

k = “FIRLatency” − “G0 0Element”(A.6)と関連付けられる。k > 0 であるために、“G0 0Element” = x の重み行列を用いたときは “FIRLatency” ≥ x の条件が要求される。
表 A.6 に、“FIRLatency” と “G0 0Element” を調整した際の MFC の計算値を示す。w0 がもっとも過去に取得したサンプリングにかかる係数であり、添え字が増えるごとに、直近のサンプリングへとシフトしていく。ここで、“FilterDepth” = 32 としている。まず、“G0 0Element” = 1 の場合を見てみると、MFC の符号は正と負を交互
(l )

(l )

に繰り返してる。また、“FIRLatency” = l1 と “FIRLatency” = l2 の各 MFC wi 1 , wi 2 （l1 < l2 ）の間には、
(l )

(l )

1
wi 1 ≈ wi−(lの関係がある。表 A.1 などでまとめた OFC と異なる大きな違いは、Optimal filter においては入2 −l1 )

付録 A

164

各フィルタのパラメータと出力波形

表 A.6 “FIRLatency” と “G0 0Element” を変えた際の MFC。

(“G0 0Element”, “FIRLatency”)
MFC(1, 2)(1, 3)(1, 4)(2, 2)(2, 3)(2, 4)

w00.0931624-0.027195

0.103492

0.088676-0.00634968

0.0974073

w1-0.0276518

0.103626-0.0422461-0.00634968

0.00465002-0.0133548

w20.103626-0.0422468

0.120969

0.0974073-0.0133548

0.112536

w3-0.0422461

0.120969-0.0646717-0.018582

0.0110193-0.032577

w40.120967-0.0646717

0.145788

0.111423-0.0203292

0.132845

w5-0.0646707

0.145788-0.0943099-0.0370578

0.0174912-0.0568596

w60.145785-0.0943099

0.174186

0.131134-0.0262326

0.154315

w7-0.0943084

0.174186-0.119413-0.0610456

0.0196384-0.0742995

w80.174183-0.119412

0.192383

0.152782-0.019978

0.163358

w9-0.11941

0.192383-0.130658-0.0796873

0.0078196-0.0767835

w100.192379-0.130658

0.162725

0.16527-0.00470282

0.125959

w11-0.130655

0.162725-0.101402-0.0867998-0.0410394-0.041922

w12

0.162721-0.101402

0.232156

0.133061

0.036406

0.19193w13-0.101399

0.232156-0.196276-0.0643372

0.0599582-0.146011

w140.232152-0.196276

0.344766

0.209149-0.0893958

0.313568

w15-0.1966274

0.344766-0.352559-0.143304

0.0986529-0.280718

w16

0.344761-0.352559

0.53633

0.300142-0.145246

0.475815

w17-0.352554

0.53633-0.606118-0.273942

0.171074-0.499499

w18

0.536322-0.606118

0.847081

0.456094-0.233358

0.738271

w19-0.606109

0.847081-1.00181-0.48387

0.279124-0.836022

w20

0.847068-1.001811.33079

0.709078-0.360669

1.14364w21-1.0018

1.33079-1.6028-0.808786

0.43401-1.34103w22

1.33077-1.6028

2.05058

1.10265-0.542897

1.74119w23-1.60278

2.05058-2.45613-1.29961

0.64198-2.04495

w24

2.05055-2.45613

2.958071.68555-0.760251

2.46304w25-2.45609

2.95807-3.21115-1.98901

0.787895-2.57767

w26

2.95802-3.21115

3.34832.39872-0.612456

2.58973

w27-3.21109

3.3483-3.02904-2.53746

0.218457-2.11543

w28

3.34823-3.02904

1.74672

2.61730.367049

0.755395

w29-3.02896

1.74672-0.00857343

w30
w31

1.74664-0.00850045-0.00857303−54.17227 × 10

-2.26696-1.79376

1.0249−51.05779

3.19202-0.93422−70.387499-1.83988

0.537079

4.20789 × 10

−2.04787 × 10

射信号のエネルギーを返す正しいタイミングでは入力波形のピーク値にかかる OFC がもっとも大きな係数であるのに対し、Multi-pulse filter においては入力波形のピーク値にかかる MFC が最大値ではないことである。具体的には、OFC の場合は表 A.1 の各 “FilterDepth” の a2 、MFC の場合は表 A.6 における (1, 2) の w31 、(1, 3) の w30 、(1, 4)の w29 が入射信号のエネルギーを返す正しいタイミングで入力波形のピーク値にかかる係数である。“G0 0Element”= 2 の場合は、MFC は必ずしも正と負を交互に繰り返すとは限らない。また、“FIRLatency” が偶数のときと奇数のときで係数の並び方の特徴が異なる。偶数のときは、“G0 0Element” = 1 と同じく、入力波形のピーク値にかかる MFC が最大値ではない。一方、(2, 3) の w30 のように奇数のときはピーク値にかかる MFC が最大となる。この違いは出力波形の違いに反映される。
図 A.14 に “FIRLatency” と “G0 0Element” を変えた New filter + Thresholder を示す。ここで、“FilterDepth”

A.3 Multi-pulse filter

165(a) “G0 0Element” = 1, “FIRLatency” = 2(b) “G0 0Element” = 1, “FIRLatency” = 3(c) “G0 0Element” = 1, “FIRLatency” = 4(d) “G0 0Element” = 1, “FIRLatency” = 5(e) “G0 0Element” = 2, “FIRLatency” = 2(f) “G0 0Element” = 2, “FIRLatency” = 3(g) “G0 0Element” = 2, “FIRLatency” = 4(h) “G0 0Element” = 2, “FIRLatency” = 5

図 A.14 Multi-pulse filter + Thresholder の “FIRLatency” と “G0 0Element” 依存性。
黒いプロットは入力信号、緑のプロットは FIR 計算の出力信号、赤いプロットは選択条件を通過した出力信号を示す。紫の矢印は信号の入射タイミング、赤い矢印は入射信号に対する計算結果の正しい出力タイミングをあら
わす。

166

付録 A

各フィルタのパラメータと出力波形= 32 としている。まず、“G0 0Element” = 1 の場合を見てみると、“FIRLatency” が偶数のときと奇数のときで出力波形の特徴が大別される。これは、表 A.6 で示したとおり、各 MFC の符号が “FIRLatency” が偶数のときと奇数のときで反転するためである。その結果、“FIRLatency” が偶数の場合、825 ns で FIR 計算の結果が正方向へずれるが、“FIRLatency” が奇数の場合、負方向へずれる。“G0 0Element” = 1 の場合を見てみると、“FIRLatency” が偶数のときと奇数のときで出力波形の特徴がまったく異なることがわかる。“FIRLatency” が偶数の場合、25 ns でFIR 計算の結果が大きく正方向へずれるが、“FIRLatency” が奇数の場合は負方向へずれる。奇数の場合のずれは出力波形のピーク値とほぼ同等の大きさに達する。また、825 ns で生じる FIR 計算の結果のずれも、“FIRLatency” が偶数の場合だと負方向に生じるのに対し、“FIRLatency” が奇数の場合だと、正方向に生じ、その絶対値は小さい。

167

付録 B

ハードウェアレベルでの性能評価（付録）
本章は第 6 章の補足である。

B.1 Virtex-7 への実装による検証
第 6 章では、Altera 社の FPGA である Arria V GX に各フィルタリングアルゴリズムを実装した際の検証結果を報告した。本節では、Xilinx 社の FPGA である Virtex-7 に各フィルタリングアルゴリズムを実装した際の検証結果を報告する。

B.1.1 目的第 6 章で述べたように、当初の研究では Xilinx 社の FPGA を使用していた。試験環境に Xilinx 社の FPGA を選択した理由は、大きく 3 つある。

• 本研究開始時点で筆者が FPGA を扱った経験がなく、日本国内の素粒子実験界隈では Xilinx 社の FPGA がメジャーであり、高エネルギー加速器研究機構（KEK）からのサポートも受けやすかったため。

• 研究当初は、Phase-I アップグレードで導入される FPGA の種類が決定していなかったため。
• 本研究と並行して、液体アルゴンカロリメータ日本グループでは、大容量光高速通信の試験環境として、Xilinx
社の FPGA を用いたテストボードを開発していたため。

Xilinx 社の FPGA を用いて、各フィルタリングアルゴリズムの実装結果が、液体アルゴンカロリメータの読み出
し系における各種制限を満たし、かつソフトウェアレベルでの検証で確認されたとおりの性能を発揮しているかを確認した。また、メーカーおよび FPGA の種類の違いによって実装にどのような差がでるのか、Arria V GX への実装
による検証の結果と比較した。

B.1.2 セットアップ
今回用いた環境は以下の通りである。

• 言語： Verilog HDL• ボード： VC707 Evaluation Board for the Virtex-7 FPGA• FPGA： Virtex-7 VC7XVX485T-2FFG1761C FPGA
• 開発ソフトウェア： ISE Design Suite v14.4• システム統合ツール： CORE Generator• ロジックアナライザー： ChipScope Pro
それぞれについて順に説明していく。

付録 B

168

ハードウェアレベルでの性能評価（付録）

ボード環境

VC707 Evaluation Board for the Virtex-7 FPGA [23] は、Virtex-7 をを用いた開発・検証環境を提供する、Xilinx
社が開発した評価ボードである。外部メモリとして 1 GB の DDR3 SODIMM メモリを搭載しているほか、8 レーンの PCI Express インターフェースや tri-mode Ethernet PHY、SMA コネクタを用いたギガビット通信も可能である。ユーザー用の部品として、DIP スイッチやプッシュボタン、LED などを搭載している。図 B.1 にブロック図を
示す。

図 B.1

評価ボード VC707 のブロック図 [23]。

コンフィギュレーションは JTAG 経由でプログラムをダウンロードするか、あらかじめ Flash memory に保存された内容を参照する。

図 B.2

評価ボード VC707 の外観図 [23]。
FPGA は 1 で示されたファンの下にある。

ボードに搭載されている部品のうち、今回の検証環境において利用したものを列挙する。

B.1 Virtex-7 への実装による検証

169• Virtex-7 VC7VX485T-2FFG1761C FPGA。図 B.2 の 1。
• 200 MHz 固定 LVDS 差動振動子。図 B.2 の 7。
• ユーザー LED。図 B.2 の 22。
• ユーザープッシュボタン。図 B.2 の 23。
図 B.2 に外観図を示す。

FPGA
VC707 を用いた検証実験では、FPGA として Virtex-7 VC7VX485T-2FFG1761C を使用した。Virtex-7 を含む
Xilinx 社の 7 シリーズの FPGA において、論理回路を実装するために CLB（Configurable Logic Block） [24] と呼ばれる基本のロジック構成要素が用意されている。1 つの CLB につき、1 対のスライスと呼ばれるロジックの単位を備えており、スライスの入出力を他の CLB のスライスと接続したり切り離したりすることによって、希望の回路を生成する。各スライスは 4 つの 6 入力 LUT と 8 つのフリップフロップ、多入力マルチプレクサー、キャ
リーロジックなどから構成されている。演算回路に対しては、DSP スライス [25] が用意されている。各 DSP スラ
イスには 25 × 18 乗算器、加算器、アキュームレータが 1 つずつ含まれている。また、クロック管理のために CMT（Clock Management Tile） [26] が用意されている。各 CMT には MMCM（Mixed-Mode Clock Manager）と PLL（Phase-Locked Loop）が 1 つずつ含まれており、クロック周波数の合成、スキュー調整、ジッターフィルタ機能などを提供する。

Virtex-7 VC7VX485T-2FFG1761C の基本的なスペック [27] は以下の通りである。
• ロジックセル：485,760• スライス：75,900
スライスレジスタ：607,200
スライス LUT：303,600• ブロック RAM：37, 080 kb• DSP スライス：2,800• CMT：14• GTX：28• 最大ユーザー I/O：700

ChipScope Pro
FPGA 内の信号を観測するために、ChipScope Pro [28] を用いた。ChipScope Pro は、FPGA に実装したデザイ
ンにロジックアナライザーを統合するツールであり、Altera 社における SignalTap II に相当する。統合する方法の 1つとして、CORE Generator による ChipScope Pro の環境を使用するためのコア生成がある。機能ごとにいくつかのコアに分かれており、今回用いたコアは以下の通りである。

• ICON コア：
ChipScope Pro のすべてのコアは JTAG バウンダリスキャンポートを使用し、JTAG ダウンロードケーブル
を介して、ホストコンピュータと通信する。ICON コアはターゲットの FPGA の JTAG バウンダリスキャン
ポートと最大 15 個のコアとの間の通信パスを提供する。

• ILA コア：
ILA コアは任意の内部信号を監視するためのコアである。ILA コアは主に、トリガーロジック、データキャ
プチャロジック、制御およびステータスロジックの 3 つで構成されている。トリガーロジックは、検出したい
データに対するトリガー回路が実装される。データキャプチャロジックは、FPGA のブロック RAM リソースを用いて、データ情報をキャプチャし、保存する。制御およびステータスロジックは、ILA コアの動作を管理
する。

付録 B

170

ハードウェアレベルでの性能評価（付録）

CORE Generator を用いて ChipScope Pro を統合する方法では、トリガー設定はデザイン実装後にコンピュータ側
で ChipScope Pro Analyzer というソフトウェアを用いて行う。設定したトリガー情報は JTAG ケーブルを介し、ICON コアによって接続が確立された ILA コアへと送られる。ILA コアはトリガーにしたがって、データをブロッ
ク RAM にキャプチャし、指定されたデータ長に達すると、再び JTAG を介してコンピュータにデータを送信する。
ブロック図
図 B.3 に VC707 におけるフィルタリングアルゴリズム検証環境のブロック図を示す。フィルタモジュールの内部
レイテンシを計測するとき以外は、このブロック図に基づいて回路を設計している。

図 B.3

VC707 におけるフィルタリングアルゴリズム検証環境のブロック図。

入出力データは JTAG ケーブルを介して PC へ送られる。

検証環境の基本的なコンセプトや実装した機能は、Arria V GX への実装による検証時と同じである。

FPGA 内には大きく分けて 4 つのモジュールがある。クロックの管理を行う MMCM モジュール、入力信号をあらかじめ FPGA 内に記憶しておくためのレジスタモジュール、フィルタリングアルゴリズムを実行するフィルタモ
ジュール、FPGA の内部信号を PC へと送信するための ChipScope モジュールである。

FPGA は VC707 上に設置されたユーザークロックから 200 MHz の LVDS クロックを取り込む。MMCM モ
ジュールは受け取ったクロックから 40 MHz と 320 MHz のシングルエンドクロックを生成する。この 2 つのクロッ
クは立ち上がりの位相が揃えられている。40 MHz クロックは LHC クロックを想定したもので、フィルタモジュールに対して信号を入力するタイミングや、ChipScope モジュールのトリガークロックとして使われる。一方、320 MHz
クロックはフィルタモジュールの内部クロックとして使われる。実際の実装環境では、フィルタの内部クロックは

AMC が外部から受け取る 40 MHz の LHC クロックを元に作られる。320 MHz は 40 MHz の 2 の累乗倍であり、CMT によって生成しやすい。
フィルタモジュールの入力信号は、FPGA をコンフィギュレーションする際に、あらかじめレジスタモジュールに書き込まれる。使用した入力信号の波形は Arria V GX への実装による検証時と同様に図 6.4 に示されているものを用いているので、ここでは説明を割愛する。
フィルタモジュールは 320 MHz の立ち上がりに合わせて機能する。ペデスタル値の差し引きや FIR 計算などはす
べて固定小数点数を用いて行われている。各信号やあらかじめ FPGA に書き込まれたフィルタ係数の桁は Arria V

GX への実装による検証に準ずる。
FIR 計算には、Xilinx 社が提供している 2 種類の IP コアを用いた。

B.1 Virtex-7 への実装による検証

171• FIR Compiler v5.0：FIR 計算を行うためのモジュールを最適化し、DSP ブロックの乗算器を用いた回路を設計する。

• Multiplier v11.2：乗算を行うためのモジュール。用いるクロックサイクルや、FPGA のどのブロックを用いて回路を設計するか選択可能。

IP コアの使用には、CORE Generator を用いる。FIR Compiler v5.0 だけでも FIR 計算のための回路は生成できるが、液体アルゴンカロリメータの読み出し系で要求されるレイテンシを満たすために Multiplier v11.2 も併用している。
今回の研究では、出力信号の単位は入力信号と比較しやすいように ADC 値にしている。フィルタモジュールの出
力は、FIR 計算の結果をそのまま出力した “amp” と、FIR 計算の結果に選択条件を満たした “tx data” の 2 つがあり、どちらも 12 ビットの符号付整数型とした。

ChipScope モジュールは ICON コアと ILA コアから構成されており、PC へ送るデータを一時的にバッファしておくためのブロック RAM や、トリガー回路を含む。MMCM モジュールが生成した 40 MHz をトリガークロックとして、フィルタモジュールの入出力信号をサンプリングする。バッファされたデータが設定されたデータ長に達すると、JTAG ケーブルを介して PC へとデータが送られる。

B.1.3 各検証項目と結果
Virtex-7 への実装による検証において、以下の項目について評価を行った。
• フィルタの出力結果およびレイテンシ• 内部レイテンシ• フィルタのリソース消費量• 複数セルの実装
評価の対象としたのは次の 2 つのフィルタである。

• Optimal filter + Shapedetector（短縮形：OFsd）• Multi-pulse filter (N = 32) + Thresholder（短縮形：MFth）

以降、表中などでは短縮形の表記を用いることがある。
フィルタの出力結果およびレイテンシ
図 B.4 に、実際に自分でコーディングした各フィルタの出力数値を示す。

(a) Optimal filter + Shapedetector(b) Multi-pulse filter + Thresholder
図 B.4 Virtex-7 への実装における各フィルタの出力結果。
各内部信号は 10 進数で表示している。横軸の目盛りは 40 MHz のクロックサイクルをあらわし、1 クロックサイ
クルは 25 ns である。

付録 B

172

ハードウェアレベルでの性能評価（付録）

図中の横軸はクロックサイクルをあらわしており、トリガークロックには 40 MHz が使われているため、BC と同義である。“rx data” はフィルタモジュールの入力信号、“amp” は FIR 計算の出力値、“tx data” は選択条件を満たしたフィルタモジュールの出力値であり、クロックの立ち上がりに合わせて各信号の状態がキャプチャされている。そのため、i BC で入射する信号は i + 1 BC のクロックの立ち上がりによってキャプチャされるため、表記上は

i + 1 BC で入射したように見えることに注意すべきである。例えば、図 B.4 (a) において、入射信号の 1 点目に相当する “rx data” は 67 BC の立ち上がりによってレジスタモジュールから取り出されるが、キャプチャするためのクロックの立ち上がりはその次の 68 BC となる。ここで入射信号の 1 点目における “rx data” は離散値化によりペデスタル値と同じになるので、図中で信号入射時には信号値が変化していないことに注意する。結果として、キャプチャしたデータは 69 BC の立ち上がりまで値が変化していないように見える。
図 B.4 から読み取った各信号の入出力のタイミングと、各フィルタのレイテンシを表 B.1 にまとめる。両方のフィルタで液体アルゴンカロリメータの読み出し系における要求である 5 BC（125 ns）以下の条件を満たしていることが確認できた。
表 B.1

Virtex-7 への実装における各フィルタの信号のタイミングとレイテンシ。

OFsd

NF32th“rx data” の入力タイミング (BC)67

89“amp” の出力タイミング (BC)72

93

“tx data” の出力タイミング (BC)72

93

選択条件までのレイテンシ (BC)5

4Arria V GX への実装による検証と同様、各フィルタの出力値はチャンネルによっては真の値である 280 ADC か
らややずれる場合がある。

(a) Optimal filter + Shapedetector
図 B.5(b) Multi-pulse filter + Thresholder

Virtex-7 への実装における各フィルタの出力結果のグラフ化。

黒いプロットは “rx data” からペデスタル値を差し引いた値、緑のプロットは “amp”、赤いプロットは “tx data”
をあらわしている。

図 B.5 に、各信号の値をグラフ化したものを示す。ただし、信号の入射時刻が 0 ns となるように調整してある。赤いプロットであらわされた各フィルタの出力波形の概形は、ソフトウェアシミュレーションの結果を再現していることが確認できた。
内部レイテンシ
既に確認したとおり、40 MHz のトリガークロックでデータをキャプチャした際には、Optimal filter + Shapede-

tector のレイテンシは 5 BC（125 ns）、Multi-pulse filter + Thresholder のレイテンシは 4 BC（100 ns）であった。
ここではフィルタの具体的な設計の説明を踏まえながら、トリガークロックに 320 MHz を用いて各フィルタの内部

B.1 Virtex-7 への実装による検証

173

レイテンシを確認していく。
まず、Optimal filter + Shapedetector の 320 MHz でキャプチャしたデータを図 B.6 に示す。

図 B.6 Virtex-7 における Optimal filter + Shapedetector の内部レイテンシ。

“rx data”、“din”、“amp”、“tx data” は 10 進数表示、それ以外は 16 進数表示である。横軸の目盛りは 320 MHzのクロックサイクルをあらわし、1 クロックサイクルは 3.125 ns である。

“rx data” はフィルタモジュールがレジスタモジュールから受け取る 12 ビットの入力信号である。“din” は“rx data” からペデスタル値を引く処理を行ったあとの 14 ビットのデータで FIR 計算の入力信号である。FIR 計
算は 3 つの乗算モジュールに分かれており、FIR Compiler v5.0 で生成する 3 項の FIR モジュールと Multiplierv11.2 で生成する 2 つの乗算モジュールがある。各モジュールの出力値はそれぞれ “dout a 210”、“dout a 3”、“dout a 4” と名づけられている。“rfd 210” は FIR モジュールが “din” を取り込むタイミングを示すステータス
信号で、“rdy 210” は同じく FIR モジュールが “dout a 210” を出力するタイミングを示したステータス信号である。“sum a 0to3” は “dout a 210” と “dout a 3” の和、“sum a all” は “sum a 0to3” と “dout a 4” の和である。

“amp” は “sum a all” の丸め処理を行った FIR モジュールの出力信号で、“tx data” はそのうち選択条件を通過した信号をあらわしている。

FIR モジュールは計算を終えるまでに 10 クロックサイクル、乗算モジュールは計算を終えるまでにそれぞれ 3 ク
ロックサイクル費やす。したがって、Optimal filter は信号入射後の 5 サンプリングを計算に用いるが、はじめの 3
サンプリングがそろった時点で順次計算を始める。図 B.6 の入射信号シークエンスにおけるプロセスを以下にまとめる。
1 で示された 632 クロックで信号が入射している。
• ⃝• 1 点目が 632 クロック、2 点目が 640 クロック、3 点目が 648 クロック、4 点目が 656 クロック、5 点目が 664
クロックの立ち上がりによってサンプリングされ、次の立ち上がりでトリガーキャプチャに反映されている。

• おのおののサンプリングはフィルタモジュールでまずペデスタル値の処理をされ、FIR 計算のための入力データを生成する。
2 で示された 650 クロックの “rfd 210” の立ち上がりとともに FIR モジュールに• 1 点目から 3 点目までは⃝3 で示された
3 で示された 660 クロックで “rdy 210” の立ち上がりとともに、同じく⃝よって計算が開始され、⃝4 で示さ“dout a 210” を出力する。それと並行して、4 点目のサンプリングに OFC をかける計算が行われ、⃝れた 661 クロックで “dout a 3” が出力される。
5 で示された 663 クロックで “sum a 0to3” が生成される。
• この 2 つの乗算結果は足し合わされ、⃝6で• 664 クロックの立ち上がりによってサンプリングされる 5 点目のサンプリングに OFC を乗じた結果は、⃝示された 669 クロックに “dout a 4” として出力される。
7 で示された 670 クロックには保持していた “sum a 0to3” と足し合わされ、“sum a all” を出力する。
• ⃝8 で示された 671 クロックに “sum a all” から “amp” を生成し、また選択条件を通過したフラグが立ってい• ⃝れば “tx data” も生成する。

• 実際には 40 MHz で後続のモジュールへと送られるため、“tx data” の生成は 672 クロックの立ち上がりで反

付録 B

174

ハードウェアレベルでの性能評価（付録）

映される。
以上の流れにより、Optimal filter + Shapedetector の内部クロックサイクルは 39 クロックサイクル（121.875 ns）
で、信号入射後、5 点のサンプリング取得のために 32 クロックサイクル（100 ns）、取得を終えてから計算が完了するまでに 7 クロックサイクル（21.875 ns）費やしていることになる。
次に、Multi-pulse filter + Thresholder の 320 MHz でキャプチャしたデータを図 B.7 に示す。

図 B.7 Virtex-7 における Multi-pulse filter + Thresholder の内部レイテンシ。
“rx data”、“din”、“amp”、“tx data” は 10 進数表示、それ以外は 16 進数表示である。横軸の目盛りは 320 MHzのクロックサイクルをあらわし、1 クロックサイクルは 3.125 ns である。

Multi-pulse filter も Optimal filter 同様、FIR 計算を 3 段階に分けており、FIR Compiler v5.0 で生成する 29 項の FIR モジュールと Multiplier v11.2 で生成する 2 つの乗算モジュールがある。各モジュールの出力値はそれぞれ“dout 3to31”、“dout 2”、“dout 1” と名づけられている。ここで、N = 32 の Multi-pulse filter においては 32 項
目の係数が非常に小さく、FPGA 実装時に有効数字で 0 になるため、実質的には 31 項の線形結合が行われている。

“rfd 3to31” は FIR モジュールが “din” を取り込むタイミングを示すステータス信号で、“rdy 3to31” は同じく FIR
モジュールが “dout 3to31” を出力するタイミングを示したステータス信号である。“sum 31to2” は “dout 3to31”と “dout 2” の和、“sum 31to1” は “sum 31to2” と “dout 1” の和である。“sum all” は本来 “sum 31to1” と 32 項
目の計算結果との和だが、前述の理由により単なるバッファとして機能している。

FIR モジュールは計算を終えるまでに 19 クロックサイクル、乗算モジュールは計算を終えるまでにそれぞれ 3 ク
ロックサイクル費やす。したがって、N = 32 の Multi-pulse filter は信号入射前の 28 サンプリングと信号入射後 4
サンプリングを計算に用いるが、はじめの 29 サンプリングがそろった時点で順次計算を始める。図 B.7 の入射信号
シークエンスにおけるプロセスを以下にまとめる。
1 で示された 722 クロックで信号が入射している。
• ⃝• 28 点目が 714 クロック、29 点目が 722 クロック、30 点目が 730 クロック、31 点目が 738 クロック、32 点目
が 746 クロックの立ち上がりによってサンプリングされ、次の立ち上がりでトリガーキャプチャに反映されている。
2 で示された 724 クロックの “rfd 3to31” の立ち上がりとともに FIR モジュールに• 1 点目から 29 点目までは⃝3 で示された 743 クロックで “rdy 210” の立ち上がりとともに、同じく⃝
3 で示された
よって計算が開始され、⃝“dout 3to31” を出力する。それと並行して、30 点目のサンプリングと 31 点目のサンプリングにそれぞれ係数4 で示された 735 クロックで “dout 2” が、⃝5 で示された 743 クロックで “dout 1”
をかける計算が行われ、⃝が出力される。

• “dout 2” を計算するモジュールは他の FIR 計算を待っている間に次の BC の “dout 2” の計算が始まってし
6 で示された 738 クロックで “tmp dout 2” に値をバッファする。
まうため、⃝
7 で示された 744 クロックで “tmp dout 2” は “dout 3to31” と足し合わされ、“dout 31to2” を生成する。
• ⃝B.1 Virtex-7 への実装による検証

175

8 で示された 745 クロックでさらに “dout 1” と足し合わされ、“dout 31to1” を出力する。
• “dout 31to2” は⃝• “dout 31to1” は 746 クロックの立ち上がりによってサンプリングされる 32 点目のサンプリング取得を待つ
9 で示された 752 クロックで “sum all” へデータをシフトする。
が、係数が 0 なので結局、⃝10 で示された 753 クロックに “sum all” から “amp” を生成し、また選択条件を通過したフラグが立っていれ• ⃝ば “tx data” も生成する。

• 実際には 40 MHz で後続のモジュールへと送られるため、“tx data” の生成は 754 クロックの立ち上がりで反映される。
以上の流れにより、Optimal filter + Shapedetector の内部クロックサイクルは 31 クロックサイクル（96.875 ns）
で、信号入射後、4 点のサンプリング取得のために 24 クロックサイクル（75 ns）、取得を終えてから計算が完了するまでに 7 クロックサイクル（21.875 ns）費やしていることになる。
フィルタのリソース消費量
各フィルタを Virtex-7 に実装した際の主なリソース消費量を表 B.2 にまとめる。
表 B.2 Virtex-7 への実装における各フィルタのリソース消費量。

リソース

OFsd

MFth

スライス LUT

641

592

スライスレジスタ

725

815

DSP

1

5

ブロック RAM (kbit)

72

72

このうち、ChipScope モジュールを除外した際のリソース消費量を表 B.3 にまとめる。
表 B.3

Virtex-7 への実装における各フィルタの ChipScope モジュールを除くリソース消費量。

リソース

OFsd

MFth

スライス LUT

412

362

スライスレジスタ

377

456

DSP

1

5

ブロック RAM (kbit)

18

18

表 B.3 の数値はプログラミングコードの都合で、フィルタモジュールと分離しにくいレジスタモジュールのリソー
ス消費量も含まれているが、それを踏まえたうえで各フィルタの値を比較する。スライス LUT は計算のロジックや

Multiplier v11.2 で生成する乗算モジュールが割り当てられる。tcut = 0 の Thresholder が単に最上位ビットが 0 か
1 かを判断するだけなのに対し、Shapedetector は絶対値計算のための条件文などを含むため、LUT の消費がかさんでいると考えられる。スライスレジスタはロジックに含まれるバッファが割り当てられる。Multi-pulse filter はOptimal filter に比べて計算途中の各変数のビット数が大きいことが、Multi-pulse filter の方がリソースを消費している要因と考えられる。Arria V GX への実装においては、2 つのフィルタが消費するロジックおよびレジスタはほぼ同等だったが、Virtex-7 への実装においては、スライス LUT は Multi-pulse filter のほうが、スライスレジスタはOptimal filter のほうが消費量を抑えている。これは、メーカーおよび FPGA の種類によって回路の配置配線や個々の回路ユニットの構造が異なることに起因している。DSP ブロックの単位ユニットも Xilinx 社の FPGA と Altera
社の FPGA で大きく異なるため、直接数値を比較することはできない。基本的に Altera 社に比べて Xilinx 社のほうが DSP のユニットあたりの回路規模が小さく、Multi-pulse filter が消費する DSP の数は増加する。DSP には FIR

Compiler v5.0 で生成される FIR モジュールが割り当てられる。Arria V GX での評価においてはレジスタモジュー
ルがあらかじめ格納している入力信号シークエンスの情報はレジスタに割り当てられていたが、Virtex-7 においてはブロック RAM に割り当てられている。ブロック RAM の消費量はすべて、フィルタモジュールではなくレジスタモ

付録 B

176

ハードウェアレベルでの性能評価（付録）

ジュールによるもので、フィルタの種類とは関係がない。
複数セルの実装

Virtex-7 における評価同様、1 セルのほか、4 セルと 8 セルで実装を行った。4 セルの実装において用いたチャンネルを表 B.4 に示す。どちらの場合も ChipScope Pro Analyzer によって、正しく挙動していることが確認された。
表 B.4 Virtex-7 において異なるセル数の各実装で用いたチャンネル。

チャンネル ID

1 セル

4 セル

8 セル

956334336

ch1956334592

ch2956334848

ch3956335104

ch4956335360

ch1

ch5

956335616

ch2

ch6

956335872

ch3

ch7

ch4

ch8

956337920

ch1

各フィルタを Virtex-7 にそれぞれ 1 セル、4 セル、8 セル実装した際の主なリソース消費量を表 B.5 にまとめる。
表 B.5 Virtex-7 への実装における各フィルタのリソース消費量。

リソース

OFsd

MFth

1 セル

4 セル

8 セル

1 セル

4 セル

8 セル

スライス LUT

641

2,512

4,905

592

2,266

4,601

スライスレジスタ

725

2,836

5,652

815

3,095

6,140

DSP

1

4

8

5

20

40

ブロック RAM (kbit)

72

288

576

72

288

576

このうち、ChipScope モジュールを除外した際のリソース消費量を表 B.6 にまとめる。
表 B.6 Virtex-7 への実装における各フィルタの ChipScope モジュールを除くリソース消費量。

リソース

OFsd

MFth

1 セル

4 セル

8 セル

1 セル

4 セル

8 セル

スライス LUT

412

1,648

3,282

362

1,365

2,704

スライスレジスタ

377

1,528

3,064

456

1,743

3,464

DSP

1

4

8

5

20

40

ブロック RAM (kbit)

18

72

144

18

72

144

DSP とブロック RAM に関しては、セルの数に比例してリソース消費量も増加する。スライス LUT とスライスレ
ジスタに関しては、複数のセルで共有して用いる部分があるため、どちらのフィルタにおいても比例した量よりは若干少なくなる。具体的には、MMCM モジュール、レジスタモジュールのアドレスカウンタ、フィルタモジュールのステートマシンなどが共有されている。これらはフィルタの種類に依存する部分ではないため、共有部分のリソースを減じても、各フィルタの 1 セルでのリソース消費量の大小関係と複数セルでのリソース消費量の大小関係は変化しない。

B.1 Virtex-7 への実装による検証

177

B.1.4 まとめ
本節で得た結果をまとめる。

Xilinx 社の評価ボード VC707 を用いた検証実験において、Optimal filter + Shapedetector と Multi-pulse filter+ Thresholder を実際に Virtex-7 に実装し、各フィルタの性能を評価した。単一の理想的な入力波形を入力信号として用いた結果、ソフトウェアシミュレーションや Arria V GX への実装時と同様の結果を出力し、Virtex-7 上でも各フィルタが正常に動作することを確かめた。
各フィルタのレイテンシおよび内部レイテンシを表 B.7 にまとめる。どちらのフィルタも液体アルゴンカロリメー
タの読み出し系におけるエネルギー再構成計算に割り当てられたレイテンシ 5 BC（125 ns）の要求を満たしていることが確認できた。Multi-pulse filter のレイテンシの場合は 1 BC 分の余裕を残している。このことは、現在は単純な選択条件である Thresholder を用いている Multi-pulse filter も、より複雑な選択条件のために費やす時間的余裕があることを意味する。
表 B.7 Virtex-7 への実装における各フィルタのレイテンシ。

OFsd

MFth

内部レイテンシ (ns)121.875

96.875

レイテンシ (ns)

125

100

レイテンシ (BC)5

4

また複数セル分のフィルタ実装として、1 セル、4 セル、8 セルの 3 パターンで検証し、各フィルタのリソース消費量を見積もった。スライス LUT とスライスレジスタに関しては大きな差はないが、DSP の消費量に関しては、

Optimal filter に比べて Multi-pulse filter は消費量がかさんでしまう。これは FIR 計算の項数が多いことに由来
する。

179

謝辞
本研究を行うにあたって、ご指導およびご助言いただいたすべての方に感謝いたします。特にお世話になった方々について、以下に列挙させていただきます。
指導教員の田中純一准教授には、研究室配属以来、研究内容に関わることから事務手続きにいたるまで全面的なサポートを賜りました。恒星進化論かつ理論という異なる畑出身でありながら理論計算はそこまで得意ではないという奇特な人材を拾ってくださりありがとうございます。はじめて歓迎会でお会いしたときにはカロリメータに関わる研究をやってほしいと言われてまったく実物を想像できないほど実験装置音痴でしたが、綿密な研究方針の打ち合わせやゼミなどの細やかな指導のおかげでどうにかここまで研究を続けることができました。年間での CERN 滞在期間が長く、ミーティングにおける本郷での実験経過報告が重要であるにもかかわらず、毎度要領を得ない長々とした発表をしていたことは慙愧に堪えません。しかしながら、それは裏を返せば、自分が行ったことを一から十まで説明したくなるほど、携わらせていただいた研究に愛着があったからだといえます。ssh を知らずに入学した私が C++ あ
るいは Verilog HDL をそこそこのレベルで使いこなし、果ては回路基板設計にいたるまで幅広い分野に挑戦できる
環境にいられたことは、私にとって非常に貴重な経験となりました。心より感謝申し上げます。

ATLAS-Japan LAr グループの中でも特にお世話になった方について、御礼を述べさせていただきます。江成祐二
助教はミーティングおよびメールにて非常に細やかなアドバイスを賜りました。特に、学会をはじめとする発表の機会ではスライド内容や発表のチェックなどに付き合ってくださり、その結果、LAr week などの英語発表も経験することができました。PWB の見学や、KEK との橋渡し、LAPP への訪問など、責任者としての同行もお引き受けくだ
さり、お酒の席にいたるまで非常に面倒をみていただきました。ありがとうございます。金谷奈央子助教は Optimalfilter の研究を行っていたこともあり、フィルタリングアルゴリズムの情報を提供していただきました。はじめの頃にいただいていた意見などは、デジタル信号処理自体の知識がなかったため、きちんと理解できずに研究に反映されていない部分もありました。今の段階になって過去のメーリングリストで流れた情報を見てみると、修士論文を書くにあたって探していた情報が既に提示されていた例がいくつかあり、忸怩たる思いがこみ上げてきます。ご支援あり
がとうございました。山本真平特任助教には、本研究の核となる部分の発案と研究全体でのサポートを賜りました。
指摘点が的確で鋭く、また発表資料に関しては言葉の使いまわしにいたるまでさまざまなチェックをしていただきました。フィルタリングアルゴリズムの研究開始当初、特に修士 1 年での夏の学校では、研究方針から内容にいたるまで貴重な時間を割いて相談にのってくださいました。また、FPGA をはじめとするハードウェア開発にも助言をいた
だき、研究のスムーズな進捗の一助を提供してくださいました。感謝いたします。

Open-It プロジェクトでは、KEK IPNS の池野正弘氏と内田智久氏にハードウェア開発、特に回路基板設計についてご指導を賜りました。仕様書の書き方もわからない状態から丁寧なご助言をいただき、お忙しい中電話での連絡を密にしてよりよい基板製作をサポートしていただきました。ありがとうございました。
その他、ICEPP 東京スタッフの皆様には研究環境の支援をしていただきました。CERN 常駐スタッフの皆様にはCERN 滞在時の支援や講義でお世話になりました。諸々の事務手続きに関しては、ICEPP 秘書の皆様にもサポートしていただきました。また、ICEPP の先輩方にもたびたび面倒を見ていただきました。その中でも特に、田中研 1期生である崔原碩さんにはメールにて進路の相談にのっていただきました。同時期に研究を行ってはいませんが、拙い質問にも親身になって丁寧にご回答いただきました。感謝いたします。また、加藤千曲さんには、FPGA をはじめとするハードウェア関連の相談にたびたびのっていただきました。修士 2 年で迎えた夏の学校では修論でまったく日の目をみることのなかった DDR3 という強敵と対峙しましたが、その際、経験談を話していただいたり、疑問点の解決に力を貸していただいた上、あまりにも閉塞的な生活で死んだ魚のような眼をしていた私を大自然の絶景へと誘っ

180

謝辞

ていただいたことは大変救いになりました。

ICEPP 同期の方には研究面から飲み会まで非常にお世話になりました。安達俊介くんにはよくご飯に付き合ってもらいました。私の人見知りのせいで、好きなバンドの話などをもっと早くからできなかったことが悔やまれます。
修士修了後も、CERN での研究生活や私生活の話など、さまざまな話題を提供していただきたいと思います。家城斉さんは変わり種が多い ICEPP の中でも、常に落ち着いた物腰だったの印象的です。居室が違ったため接点が少ないながらも、研究のことや学部時代に FPGA を使っていたことなどを話してくれました。接点が少なすぎて謎の人物扱いされていないことを祈ります。板垣景大くんは私と同じ湘南高校出身ということで、在学時の学年は違いました
が、母校の話で盛り上がりました。4 月末に私が企画した新 M2 飲み会では、残念ながら板垣くんは国外にいたため出席できず、そのときに次回また必ず企画すると約束したまま果たせていないのが心残りです。研究に取り組む真摯
な姿勢を見習うべき点がたくさんあり、尊敬しています。浦野祐作くんは学部で理論を学んでいたことなど経歴的に近しいものがあり、勝手に親近感を覚えていました。お互い、グループ内に先駆者がおらず、研究の気苦労の面でも似たようなことを経験していたのではないかと思います。卒業してからもおいしいラーメン屋さんに連れて行ってくれるとありがたいです。荻野真由子さんは独特の思考回路の持ち主で、飲み会ではいろいろなおもしろい話を提供してくれました。本人に自覚があるかわかりませんが、一度しゃべりだしたときの勢いがすさまじく、私はただただ圧倒されていました。確か進路が私と同じくメーカーだったと思うので、がんばりましょう。寺尾伸吾くんは話のネタが幅広く、大部屋のムードメーカーの役割を果たしてくれていました。夏の学校でも同じタイミングで CERN に滞在し、さまざまな苦楽をともにしました。また、boxing をはじめとしてさまざまな活動に積極的に挑戦する姿勢は、今後も見習っていきたいと思っています。徳永孝之くんはともにエレキ組として FPGA と闘いました。また、就活に関しても情報共有を行ってくれる非常に心強い存在でした。音響環境については今後いろいろとアドバイスをいた
だきたいと考えています。嶺岸優司くんは同じ田中研として同期の中でも特にお世話になった存在です。フィルタリ
ングアルゴリズムの研究や回路基板の設計に関しては、当初は共同で作業を行いました。それぞれ別の研究を担当するようになってからも、たびたび相談にのってくれました。また、ICEPP いちの清純派癒し系キャラとして、閉塞感が漂いがちな大部屋に和やかな雰囲気をもたらしてくれました。私はいたらぬ同期だったと思いますが、嶺岸くんと同じ研究室でよかったです。ありがとう。森拓晃くんは非常にストイックな生き方をしているひとでした。1 日をお菓子だけで過ごしたり、長時間研究室に居ついていたり、もう少し自身の身体を労わってあげたらいいと思います。
飲み会ではタイミングが悪く同席できないことが多々ありましたが、今後も機会があれば飲みましょう。山道智博くんは知識量がすさまじく、物理に対する愛情を感じました。ご飯を食べるのがとても早かったので、いつもお待たせするのが申し訳なかったです。今度おいしいワインを教えてください。山本遼くんは M0 ゼミでの群論講義で私の心に大きな衝撃を与え、果たして私がここでやっていけるのか不安の谷底に突き落としてくれました。忘年会準備でのてきぱきした段取りにも感嘆した記憶があります。自分の興味関心に対してまっすぐな姿勢は、ぜひ見習いたいと思います。
また、インターンシップで来日し、田中研でともに研究を行った Tristan Deleplanque くんにも感謝いたします。
自分の研究を客観的に説明したり、拙くはありつつも 2 ヶ月強にわたって英語を用いて議論した経験は今後の糧となりました。地元の鎌倉を案内したときに喜んでくれて、私としても非常にうれしかったです。
そのほか、飲み会の席で私の進路を過剰な語気で後押ししてくださった先生や、飲み会に連れて行ってくれるはずが集合場所に到着してから日付を 1 日間違えていることに気がついた先輩や、違う大学院に進みながらも CERN で再会した学部の同期や、修論前にもかかわらず毎週のように私の部屋にギターの練習をしにきた後輩など、さまざまな人たちとの出会いの中で、いろいろな人たちに支えられながら研究が行われ、この修士論文は書き上げられました。
残念ながら全員に対してひとことずつ書いていくととても紙幅が足りませんので割愛させていただきますが、あわせて感謝申し上げます。
最後に、出生から大学院に至るまでたゆまぬ愛情をもってあらゆる面で支援を惜しまず応援してくださった家族に、最高級の感謝を述べたいと思います。特に、これまで私の先を歩いて指針を示してくれた兄に感謝するとともに、大学院卒業後は社会人として自分自身の道を歩む姿を見せたいと考えています。
みなさまのおかげで非常に充実したあっという間の 2 年間でした。ありがとうございました。
久島 真悟

181

参考文献
[1] ATLAS Collaboration, ATLAS Liquid Argon Calorimeter Phase-I Upgrade Technical Design Report,
ATLAS-TDR-022-2013, 2013.
[2] ATLAS Collaboration, Letter of Intent for the Phase-I Upgrade of the ATLAS Experiment, CERN-LHCC2011-012, 2011.
[3] CERN TWiki / ATLAS EXPERIMENT - Public Results https://twiki.cern.ch/twiki/bin/view/AtlasPublic.
[4] CERN Document Server / Photos http://cds.cern.ch/collection/Photos.
[5] O. Brüning, P. Collier, P. Lebrun, S.Myers, R.Ostojic, J. Poole and P. Proudlock, LHC Design Report
Volume I The LHC Main Ring, CERN-2004-003, 2004.
[6] ATLAS Collaboration, ATLAS Detector and Physics Performance Technical Design Report Volume I,
ATLAS-TDR-14, 1999.
[7] ATLAS Collaboration, The ATLAS Experiment at the CERN Large Hadron Collider, JINST 3 S08003,
2008.
[8] ATLAS Collaboration, ATLAS TDAQ System Phase-I Upgrade Technical Design Report, ATLAS-TDR023, 2013.
[9] B. Aubert, A. Bazan, F. Cavanna, J. Colas, T. Leflour and J.P. Vialle, Performance of a liquid argon
electromagnetic calorimeter with an ”accordion” geometry, Nucl. Instr. and Meth. A309 (1991) 438.
[10] Avago Technologies / Avago Parallel Optics
http://www.avagotech.com/pages/en/fiber optics/parallel optics/12-channel parallel optics.
[11] W.E. Cleland and E.G. Stern, Signal Processing Considerations for Liquid Ionization Calorimeters in a
High Rate Environment, Nucl. Instr. and Meth. A338 (1994) 467.
[12] S.V. Vaseghi, Advanced Signal Processing and Digital Noise Reduction, Wiley, New York, 1996.
[13] ROOT — A Data Analysis Framework http://root.cern.ch.
[14] ATLAS Collaboration, Performance of the electronic readout of the ATLAS liquid argon calorimeters,
JINST 5 P09003, 2010.
[15] J. P. Grohs and S. Stärz, ATLAS Readout Electronics Upgrade Simulation Release 2.0.9, 2014.
[16] Altera, Arria V GX Starter Board Reference Manual, MNL-01069-1.3, 2013.
[17] Altera, Logic Array Blocks and Adaptive Logic Modules in Arria V Devices, AV-52001, 2014.
[18] Altera, Variable Precision DSP Blocks in Arria V Devices, AV-52003, 2014.
[19] Altera, Clock Networks and PLLs in Arria V Devices, AV-52004, 2014.
[20] Altera, Arria V Device Overview, AV-51001, 2013.
[21] Altera, Design Dubugging Using the SignalTap II Logic Analyzer, QII53009, 2014.
[22] Altera, Arria10 Device Overview, AIB-01023, 2013.
[23] Xilinx, VC707 Evaluation Board for the Virtex-7 FPGA User Guide , UG885 (v1.5), 2014.
[24] Xilinx, 7 Series FPGAs Configurable Logic Block User Guide, UG474 (v1.7), 2014.
[25] Xilinx, 7 Series DSP48E1 Slice User Guide, UG479 (v1.8), 2014.
[26] Xilinx, 7 Series FPGA Clocking Resources User Guide, UG472 (v1.11), 2014.
[27] Xilinx, 7 Series FPGAs Overview, DS180 (v1.16), 2014.

182[28] Xilinx, ChipScope Pro Software and Cores, UG029 (v14.1), 2012.

参考文献