memo354 : WP-1007

Created Thu Oct 7 15:48:28 2010
Last Modified Fri Oct 8 02:15:21 2010

*#1 Thu Oct 7 15:48:28 2010 / Fri Oct 8 01:06:33 2010


nebula day


*問題発生
NEUT101-115がまったくヒットしない。
トリガーレートを見ると以前の記録より約10倍多い。
HVを上げたらしいのでそれが原因か?調査中。
→勘違い。VETO以外は一切いじっていなかった。
逆にこのVETOは無駄いじりだったので、この際一律で1600Vまで下げてみた。
→関係なかった。
しかし解決。
QDCの31chのスレッショルドはゼロでなければならないという謎ルールが存在した。
手製のpedkillスクリプトでは、検出器がないチャンネルのスレッショルドは一律255としていたため、回路づまりが生じていた。
->謎ルール詳細
31chのスレッショルドをゼロにしなければならないのは5枚目(VETO用・0x0040)のみ。
このQDCは割りこみソースに指定されており、こいつが「データを取った!」と主張した瞬間にDAQがデータテイクを開始する。イベントトリガを受けてDAQに対するトリガを発する役割と考えればよい。
QDCは外部から入力されるゲート信号がTRUEの間に電荷積分を行うが、その値が各ch毎に設定されたスレッショルドを上回らない限り値を持ったことにはならない。
従って、「イベントトリガを受けていてもQDCが値を持たない」という状況を回避するために、使用していないchのスレッショルドを0にしてイベントトリガを受けると必ずアクションを起こすようにしておく。
まとめると、
「イベントトリガを受け取ったら必ず割り込みを発生させるために、積分値を捨てないようにする措置」が上述の謎ルール。


前述のトリガーレート高騰はマルチプリシティが実は1だったため。
3に修正して改めてpedkill.
VETOは普通の方法だとどうしても何か見えるので、気持ち高めに設定することに。
もしかしてペデスタルではないのかもしれないので気に留めておく。
→ペデスタルではない。切らないように。次きたときに切らない設定に戻す。

*#2 Thu Oct 7 15:51:10 2010 / Thu Oct 7 15:51:10 2010

*モジュール配置変更

QDC, TDCそれぞれについて、モジュールの位置を若干変更したと共に、
2枚目のモジュールのアドレスを変えた。
それに伴っていくつかのファイルを書き換えた。以下変更点の記録。

*#3 Thu Oct 7 15:51:33 2010 / Thu Oct 7 15:55:14 2010

*bbmodules.h
patch対応のdiff差分を以下に記録しておく。

*** bbmodules.h_bk      2010-10-07 15:52:55.000000000 +0900
--- bbmodules.h 2010-10-07 15:53:01.000000000 +0900
***************
*** 11,21 ****
   
  // QDC
  #define QDCADD1 0x00000000 /* up&dn 101-115 A32 */
! #define QDCADD2 0x00100000 /* up&dn 201-215 A32 */
  #define QDCADD3 0x00400000 /* veto up&dn 101-106 A32 */
  // TDC
  #define TDCADD1 0x02000000 /* up&dn 101-115 A32 */
! #define TDCADD2 0x02100000 /* up&dn 201-215 A32 */
  #define TDCADD3 0x02400000 /* veto up&dn 101-106 A32 */
   
  // IO register
--- 11,21 ----
   
  // QDC
  #define QDCADD1 0x00000000 /* up&dn 101-115 A32 */
! #define QDCADD2 0x00200000 /* up&dn 201-215 A32 */
  #define QDCADD3 0x00400000 /* veto up&dn 101-106 A32 */
  // TDC
  #define TDCADD1 0x02000000 /* up&dn 101-115 A32 */
! #define TDCADD2 0x02200000 /* up&dn 201-215 A32 */
  #define TDCADD3 0x02400000 /* veto up&dn 101-106 A32 */
   
  // IO register

*#4 Thu Oct 7 16:23:10 2010 / Thu Oct 7 16:23:10 2010

*.vsta ファイル
全ファイルについて、
0x0010 -> 0x0020
0x0210 -> 0x0220
に変更

*#5 Thu Oct 7 17:43:59 2010 / Thu Oct 7 17:44:17 2010

再度ペデスタルキル
これがぎりぎりであることを確認。

--v792_reped.vsta--
CTRL 0x0000 AMSR A32
V792 0x0000 RST
V792 0x0000 EVT 1
V792 0x0000 IRL 1
V792 0x0000 SUP NOVR ZERO LOW
V792 0x0000 IPD 50
V792 0x0000 THE  0  36
V792 0x0000 THE  1  29
V792 0x0000 THE  2  31
V792 0x0000 THE  3  33
V792 0x0000 THE  4  36
V792 0x0000 THE  5  40
V792 0x0000 THE  6  26
V792 0x0000 THE  7  34
V792 0x0000 THE  8  35
V792 0x0000 THE  9  21
V792 0x0000 THE 10  34
V792 0x0000 THE 11  30
V792 0x0000 THE 12  21
V792 0x0000 THE 13  22
V792 0x0000 THE 14  47
V792 0x0000 THE 15 255
V792 0x0000 THE 16  38
V792 0x0000 THE 17  21
V792 0x0000 THE 18  39
V792 0x0000 THE 19  28
V792 0x0000 THE 20  30
V792 0x0000 THE 21  29
V792 0x0000 THE 22  29
V792 0x0000 THE 23  30
V792 0x0000 THE 24  16
V792 0x0000 THE 25  35
V792 0x0000 THE 26  14
V792 0x0000 THE 27  19
V792 0x0000 THE 28  25
V792 0x0000 THE 29  27
V792 0x0000 THE 30  50
V792 0x0000 THE 31 255

V792 0x0020 RST
V792 0x0020 EVT 1
V792 0x0020 IRL 1
V792 0x0020 SUP NOVR ZERO LOW
V792 0x0020 IPD 50
V792 0x0020 THE  0  26
V792 0x0020 THE  1  26
V792 0x0020 THE  2  36
V792 0x0020 THE  3  23
V792 0x0020 THE  4  40
V792 0x0020 THE  5  26
V792 0x0020 THE  6  32
V792 0x0020 THE  7  32
V792 0x0020 THE  8  31
V792 0x0020 THE  9  38
V792 0x0020 THE 10  35
V792 0x0020 THE 11  39
V792 0x0020 THE 12  39
V792 0x0020 THE 13  23
V792 0x0020 THE 14  19
V792 0x0020 THE 15 255
V792 0x0020 THE 16  35
V792 0x0020 THE 17  46
V792 0x0020 THE 18  31
V792 0x0020 THE 19  43
V792 0x0020 THE 20  26
V792 0x0020 THE 21  29
V792 0x0020 THE 22  21
V792 0x0020 THE 23  36
V792 0x0020 THE 24  32
V792 0x0020 THE 25  29
V792 0x0020 THE 26  42
V792 0x0020 THE 27  27
V792 0x0020 THE 28  41
V792 0x0020 THE 29  48
V792 0x0020 THE 30  15
V792 0x0020 THE 31 255

V792 0x0040 RST
V792 0x0040 EVT 1
V792 0x0040 IRL 1
V792 0x0040 SUP NOVR ZERO LOW
V792 0x0040 IPD 55
V792 0x0040 THE  0  45
V792 0x0040 THE  1  38
V792 0x0040 THE  2  36
V792 0x0040 THE  3  34
V792 0x0040 THE  4  34
V792 0x0040 THE  5  26
V792 0x0040 THE  6 255
V792 0x0040 THE  7 255
V792 0x0040 THE  8 255
V792 0x0040 THE  9 255
V792 0x0040 THE 10 255
V792 0x0040 THE 11 255
V792 0x0040 THE 12 255
V792 0x0040 THE 13 255
V792 0x0040 THE 14 255
V792 0x0040 THE 15 255
V792 0x0040 THE 16  28
V792 0x0040 THE 17  44
V792 0x0040 THE 18  44
V792 0x0040 THE 19  29
V792 0x0040 THE 20  30
V792 0x0040 THE 21  35
V792 0x0040 THE 22 255
V792 0x0040 THE 23 255
V792 0x0040 THE 24 255
V792 0x0040 THE 25 255
V792 0x0040 THE 26 255
V792 0x0040 THE 27 255
V792 0x0040 THE 28 255
V792 0x0040 THE 29 255
V792 0x0040 THE 30 255
V792 0x0040 THE 31 255



*#6 Thu Oct 7 19:43:47 2010 / Thu Oct 7 19:43:47 2010

同じような文字列を連番で生成するスクリプト。
--cons.pl--
#!/usr/bin/perl

use strict;

while(my $str = <>){
    my @range = $str =~ m/(\(([0-9]+)\.\.([0-9]+)\))/g;
    $str =~ s/\($range[0]\)//g;
    for my $i( $range[1] .. $range[2]){
    my $s2 = $str;
    $s2 =~ s/\$([0-9]+)/{$1+$i}/eg;
    print $s2;
    }
#    print join(" ", @range), "\n";
}

--使用例--
入力:
0, 1,$0, $0,  4, 4000,0,4000, 'U$100 Au' (1..15)

結果:
0, 1,1, 1,  4, 4000,0,4000, 'U101 Au'
0, 1,2, 2,  4, 4000,0,4000, 'U102 Au'
0, 1,3, 3,  4, 4000,0,4000, 'U103 Au'
0, 1,4, 4,  4, 4000,0,4000, 'U104 Au'
0, 1,5, 5,  4, 4000,0,4000, 'U105 Au'
0, 1,6, 6,  4, 4000,0,4000, 'U106 Au'
0, 1,7, 7,  4, 4000,0,4000, 'U107 Au'
0, 1,8, 8,  4, 4000,0,4000, 'U108 Au'
0, 1,9, 9,  4, 4000,0,4000, 'U109 Au'
0, 1,10, 10,  4, 4000,0,4000, 'U110 Au'
0, 1,11, 11,  4, 4000,0,4000, 'U111 Au'
0, 1,12, 12,  4, 4000,0,4000, 'U112 Au'
0, 1,13, 13,  4, 4000,0,4000, 'U113 Au'
0, 1,14, 14,  4, 4000,0,4000, 'U114 Au'
0, 1,15, 15,  4, 4000,0,4000, 'U115 Au'

*#7 Fri Oct 8 02:15:21 2010 / Fri Oct 8 02:15:21 2010

141さんに出した問題関連

 吸引的不動点  [編集]


写像 f の吸引的不動点(きゅういんてきふどうてん、attractive fixed point)とは、f の不動点 x0 で、x0 の十分近くにある定義域内の任意の値 x について反復関数列

    x,\ f(x),\ f(f(x)),\ f(f(f(x))), \ldots

が x0 に収束するものをいう。どのくらい近ければ「十分近く」であるかは場合によっては微妙な問題である。

自然余弦関数(「自然」というのは単位が ° ではなくラジアンであるという意味) はちょうどひとつだけの吸引的な不動点を持つ。この場合「十分近く」というのはとてもゆるい基準であって、ためしに例えば函数電卓でもって好きな実数を入力して cos ボタンを繰り返し押してみれば、瞬く間に不動点である約 0.73908513 に収束してしまう。つまりそこがグラフと直線 y = x が交差する点である。

必ずしも全ての不動点が吸引的であるわけではなく、たとえば x = 0 は函数 f(x) = 2x の不動点だが、0 以外の値ではどれもこの函数の反復によって急速に発散してしまう。しかしながら、函数 f が不動点 x0 の適当な開近傍で連続的微分可能かつ |f′(x0)| < 1 であるならば、吸引性は保証される。

吸引的不動点はより広い数学的概念であるアトラクターの特別の場合である。吸引的不動点はそれがリアプノフ安定であるとき、安定不動点 (stable fixed point) であるといわれる。また、不動点が中立安定不動点 (neutrally stable fixed point) であるとは、それがリアプノフ安定だが吸引的でないときにいう。二階斉次線型微分方程式の中心は中立安定不動点の例である。

*Linked from: