KamLAND 実験は,原子炉から飛来する超低エネルギーの反ニュートリノを観測することにより,ニュートリノ振動現象を精密に検証することを主な目的としています.
ニュートリノのターゲットに 1000 トンの液体シンチレータを使い,そこから出る光を 1850 本の光電子増倍管(PMT)で検出します.KamLAND 検出器は,かつてカミオカンデ検出器があった場所,神岡鉱山内の地下 1000m の位置に設置されています.
KamLAND 実験ホームページ: http://www.awa.tohoku.ac.jp/KamLAND/ |
FEE は,接続される全ての PMT の信号の波形を記録します.サンプリング間隔はおよそ 1.5ns (DAC により可変)で,サンプル幅は 10bit, サンプル数は 128 です.最大ゲインのアンプを使った場合,120 uV/count 程度で記録されます.一つの波形データのサイズは,ヘッダなどを含めて,256 byte になります.
PMT の信号は,ディレイやアンプなどを通ったあと,ATWD (Analog Transient Waveform Digitizer) と呼ばれる ASIC に送られ,ここで波形のキャプチャおよびデジタイズなどが行なわれます.また,各チャンネルには,ヒット判定用にディスクリミネータが付けられいます.
ATWD は,内部にコンデンサのアレイを持っており,ここに波形をアナログのまま保持することができます.PMT の信号はこのコンデンサのアレイに常に記録されつづけ,ある時点で過去に遡って読み出すことができます.ディスクリミネータがヒットすると,その時点で記録が止まり,記録されている波形が保持されます.この状態でグローバルなトリガが発行されると,波形のデジタイズが開始されます.デジタイズに要する時間は 25 us です.175 ns 以内(可変)にグローバルトリガが来なかった場合,保持していた波形は破棄され,再び波形の記録が開始されます.
デジタイズされたデータは,ボード上のメモリに記録されます.メモリサイズは,現在のところ,32MB です.このメモリサイズは,超新星爆発時に予想される短時間の大量のデータを全て記録できるように設定されました.
A/D 変換中のデッドタイムを避けるため,ATWD は全てのチャンネルに 2 系統づつ用意されています.これらは交互に使用され,これにより A/D 変換に伴うデッドタイムは事実上無視できるレベルになります.
PMT の信号は,1 p.e. (photo electron) レベルの小さなものから,ミューオンスポレーションによる 100000 p.e. 以上の大きなものまで広い範囲にわたります.この全ての範囲に対して波形を精度良く記録するため,PMT の信号は 3 つに分けられ,それぞれ異なったゲインのアンプにわたされます.ゲインはそれぞれ 20 倍,4 倍,0.5 倍で,これらの全てが独立の ATWD 入力チャンネルに接続されています.デジタイズはゲインの高いチャンネルから順に行なわれ,そのチャンネルのデータがレンジの上限に達していた場合のみ,よりゲインの低いチャンネルのデジタイズが行なわれるようになっています.
ボード上には,複数の Digital to Analog Converter (DAC) があり,ディスクリミネータのスレッショルドや ATWD のサンプリング間隔など,ほとんど全てのパラメータを VME から設定できるようになっています.また,ATWD のサンプリング間隔やアンプゲインなどを較正するためのセルフキャリブレーションの機能をもっており,VME からのコマンドによりこれらのキャリブレーションを自動で行なうことができるようになっています.さらに,波形記録とは独立に,ディスクリミネータのヒットレートを記録するレジスタをもっており,これにより PMT のシングルレートをモニタできるようになっています.
トリガ回路
データ収集電子回路 (Front-End Electronics; FEE) の各 PMT チャンネルに付けられたディスクリミネータがヒットすると,ディスクリミネータは 125 ns のパルスを出力します.各ボードごとにこのパルスの整数和が取られ,5bit のヒット情報としてトリガ回路に送られます.KamLAND 実験ではおよそ 200 枚の FEE を使用しているので,トリガ回路には 200 組の 5bit ヒット情報が入力されることになります.
トリガ回路は,これらのヒット情報に基づいてトリガを発行します.トリガ回路は,通常はヒット数やそのパターンに基づいて物理事象を判断し,ヒットがあったチャンネルのみをデジタイズするように指示するグローバルトリガと呼ばれるものを発行します.一方で,キャリブレーションのために全チャンネルを強制的にデジタイズする Forced Acquisition トリガや,ある特殊なコントロール(タイマのリセットなど)を行なうための特殊なトリガを発行することもできるようになっています.
トリガ回路には,GPS が接続されており,全ての時間情報はこの GPS に同期されるようになっています.トリガ回路は 40 MHz のシステムクロックを持っており,はじめにこのシステムクロックを GPS の時刻と同期させます.この 40MHz クロックは全ての FEE に分配され,共有されています.FEE はこのクロックを数え,時間情報としています.FEE がトリガを受け取ると,デジタイズした波形データにトリガを受け取った瞬間の時間情報を付加します.後に,この時間情報をもとにイベントの再構築が行なわれます.
トリガ回路には,VME の Input Latch モジュールが接続されています.トリガ回路は,これを介してトリガレコードを計算機に送ります.トリガレコードは各トリガごとに作成され,発行したトリガのタイプや時刻,PMT のヒット数などが記録されます.また,トリガには波形記録を伴わない History トリガというものもあり,トリガ回路自身によって,時刻と PMT ヒット数のみが記録されます.History トリガでは波形記録を伴わないため,データサイズが小さく,このため超低スレッショルドのデータ取得ができるようになっています.
さらにトリガ回路には,計算機側からコマンドやパラメータを受け取るために,VME の Output Register モジュールも接続されています.ランの開始時には,この Output Register を介して,計算機からトリガ回路に動作モードやスレッショルドなどのパラメータがロードされます.ランの開始や終了も,やはりこの Output Register を介した計算機の指示により行なわれるようになっています.
データ収集計算機とネットワーク
KamLAND 実験では,およそ 200 枚の Front-End Electronics (FEE) カードを使用しています.これらは,20 枚ごとに 1 つの VME クレートに接続されており,全体で 10 台の VME クレートを FEE のために使用しています.さらに,これに加えて,トリガシステム用に 1 台と,メインの FEE のバックアップ用に用意された MACRO 実験からもらった電子回路用に 4 台の VME を使用しており,全部で 15 台の VME を使用しています.
それぞれの VME クレートは,SBS Technologies 社の VME-PCI ブリッジ Model-620 を介して,1 対 1 で PC に接続されています.したがって,データ読み出し用に 15 台の PC を使っていることになります.Model-620 は,VME と PCI の接続に光ファイバを使っているので,データ収集電子回路と計算機系は電気的には完全に分離されています(電源系統もかなり手前で分岐している).
データ収集用の PC (フロントエンド PC) 上では,OS として Linux が動作しています.VME のデバイスドライバは,Kinoko に含まれている vmedrv です.実験の初期には Vine Linux 2.5 (kernel 2.0) を使用していましたが,現在では RedHat Linux 8.0 (kernel 2.2) を使っています.データ収集系自体は,どちらのシステムでも全く同じように安定に動作しました.フロントエンド PC 単体では,10MB/sec 以上のスピードでデータを読み出すことができます.
各フロントエンド PC は,100base-T (100Mbps) のイーサネットでネットワークスイッチに接続されています.このスイッチは 1000base-T (1Gbps) のコネクタを持っており,これが別の 1000base-T スイッチに接続されています.この 1000base-T のネットワークには,オンライン解析やデータ表示,データ記録用の PC (バックエンド PC) が接続されています.フロントエンド PC で読み出された全てのデータはこのバックエンド PC に一度集められ,記録・解析・表示などが行なわれます.
バックエンドには,現在では PC と Linux (RedHat 8.0) が使われていますが,以前は IBM の RS/6000 と AIX 4.3 オペレーティングシステムが使われていました.Kinoko は,このような異種混在環境でも全く同じように動作します(ただしバイトオーダ変換のためのオーバーヘッドがかかることがあります).
ネットワークやディスクはときどき不安定になることもありますが,順調に動作しているときは,20 MB/sec から 30 MB/sec 程度のデータを処理する能力があります(ディスク単体では 100 MB/sec 以上のスピードで記録できます).なお,現在の KamLAND の通常ランのデータ量は, 3 MB/sec から 5 MB/sec 程度で,かなり余裕をもった運用になっています.さらに高い性能が必要なら,ネットワーク構成を変えたり,ディスク記録を並列にするなどの方法により,5 倍程度の性能向上をする余地があります.
コンポーネント配置
KamLAND 実験のデータ収集系は以下のコンポーネント群から構成されます.
これらのコンポーネントは以下のように各計算機に配置されています.
フロントエンド PC では,ハードウェアアクセスに余計な負荷をかけないようにするために,データ読み出しとバックエンド PC へのデータ転送以外の処理はしないようにしています.
バックエンド PC に送られたデータは,一度バッファに全て集められます.このバッファで,ストリームは記録系と表示系の2つに分けられます.記録系のストリームに送られたデータは,コンポーネント KamDataCompressor で圧縮され,KinokoRecorder コンポーネントによりファイルに書き出されます.データ圧縮は,冗長部分の削除とハフマン符合化により行なわれ,60% から 70% の圧縮率を実現しています.
表示系に送られたデータは,KamTriggerDataAnalyzer および KamOnlineDataAnalyzer によりオンライン表示用のデータに変換されます.ここで計算される値は,各フロントエンド PC からのデータ量,トリガレート,各 PMT のヒットレートとシングルレートなどです. これらのうち,特にトリガデータは現場でのトラブルシューティングなどで役に立つので,バッファ(Buffer2)により分岐させて独立のデータファイルに記録しています.ストリームからトリガデータだけを抽出するために KinokoDataFilter が使われています.
DataAnalyzer コンポーネントにより計算された表示用データは,KinokoViewer の各コンポーネントに分配されます.全てのビューアコンポーネントをバッファに直接接続させることも可能ですが,データ量が比較的多くバッファの負荷が大きくなってしまうため,ここではビューアの ChainedDataConsumer の機能を用いて,各ビューアコンポーネントを直列に接続しています.
上記のコンポーネントに加え,コントロール用の PC には,KinokoController, KinokoLogger, KinokoReporter の各コンポーネントが配置されています.
Kinoko の KamLAND 実験への適用
Kinoko を KamLAND 実験に適用するにあたって,KamLAND 用に開発したものは以下のとおりです.