Compare commits
2 commits
f793d92649
...
0522212797
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0522212797 | ||
|
|
97a062fa7d |
2 changed files with 93 additions and 6 deletions
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/gawk -i
|
||||
|
||||
function isE(d,c) {
|
||||
if (!/^ED/ || $3!=d || $4!=c) return 0
|
||||
if (!/^EDB?/ || $3!=d || $4!=c) return 0
|
||||
Ch = NDCh * d + c
|
||||
T0 = $2
|
||||
A = $7/1024
|
||||
|
|
@ -15,7 +15,7 @@ function isE(d,c) {
|
|||
}
|
||||
|
||||
function isEE() {
|
||||
if (!/^ED/) return 0
|
||||
if (!/^EDB?/) return 0
|
||||
d = $3
|
||||
c = $4
|
||||
Ch = NDCh * d + c
|
||||
|
|
@ -32,7 +32,7 @@ function isEE() {
|
|||
|
||||
function isCC() {
|
||||
N = 0
|
||||
if (!/^ED /) return 0
|
||||
if (!/^EDB? /) return 0
|
||||
if (NE && ($2 > T0+20 || $2+20 < T0)) {
|
||||
N = NE
|
||||
TE0 = T0
|
||||
|
|
@ -67,6 +67,85 @@ function isCC() {
|
|||
return N
|
||||
}
|
||||
|
||||
BEGIN {
|
||||
tBGO = 10
|
||||
tTRIG = 12
|
||||
cBGO[ 3] = 0
|
||||
cBGO[12] = 1
|
||||
cBGO[20] = 2
|
||||
cHET[11] = 0
|
||||
cTRIG[ 0] = 0
|
||||
cTRIG[ 1] = 1
|
||||
cTRIG[ 2] = 2
|
||||
cTRIG[ 4] = 3
|
||||
cTRIG[ 5] = 4
|
||||
cTRIG[ 6] = 5
|
||||
cTRIG[ 7] = 6
|
||||
cTRIG[ 8] = 7
|
||||
cTRIG[ 9] = 8
|
||||
cTRIG[10] = 9
|
||||
cTRIG[13] = 10
|
||||
cTRIG[14] = 11
|
||||
cTRIG[15] = 12
|
||||
cTRIG[16] = 13
|
||||
cTRIG[17] = 14
|
||||
cTRIG[18] = 15
|
||||
cTRIG[19] = 16
|
||||
cTRIG[21] = 17
|
||||
cTRIG[22] = 18
|
||||
cTRIG[23] = 19
|
||||
}
|
||||
|
||||
function isSETH() {
|
||||
tBGO=10
|
||||
if (!isCC()) return
|
||||
EBGO0 = 0
|
||||
EBGO1 = 0
|
||||
EHETB = EE[11]
|
||||
EHETA = EE[35]
|
||||
if (EE[ 3]>tBGO && EE[12]>tBGO && EE[20]>tBGO) {
|
||||
EBGO0 = EE[ 3]+EE[12]+EE[20]
|
||||
if (6*EE[ 3]<EBGO0 || 6*EE[12]<EBGO0 || 6*EE[20]<EBGO0) EBGO0=0
|
||||
if (2*EE[ 3]>EBGO0 || 2*EE[12]>EBGO0 || 2*EE[20]>EBGO0) EBGO0=0
|
||||
}
|
||||
if (EE[27]>tBGO && EE[36]>tBGO && EE[44]>tBGO) {
|
||||
EBGO1 = EE[27]+EE[36]+EE[44]
|
||||
if (6*EE[27]<EBGO1 || 6*EE[36]<EBGO1 || 6*EE[44]<EBGO1) EBGO1=0
|
||||
if (2*EE[27]>EBGO1 || 2*EE[36]>EBGO1 || 2*EE[44]>EBGO1) EBGO1=0
|
||||
}
|
||||
ETRIG0 = 0
|
||||
ETRIG1 = 0
|
||||
for (i in cTRIG) {
|
||||
if (EE[i] > ETRIG0) {
|
||||
ETRIG0 = EE[i]
|
||||
iTRIG0 = i
|
||||
}
|
||||
if (EE[i+24] > ETRIG1) {
|
||||
ETRIG1 = EE[i+24]
|
||||
iTRIG1 = i+24
|
||||
}
|
||||
}
|
||||
return 1
|
||||
}
|
||||
|
||||
function doSETH() {
|
||||
printf "%.0f %g %g %g %g %d %g %d %g\n", TE0+EPOCH, \
|
||||
EBGO0, EBGO1, EHETB, EHETA, \
|
||||
iTRIG0, ETRIG0, iTRIG1, ETRIG1
|
||||
for (i in cBGO) printf " %g", EE[i]
|
||||
for (i in cBGO) printf " %g", EE[i+24]
|
||||
printf "\n"
|
||||
}
|
||||
|
||||
function doSETHBGO() {
|
||||
printf "%.0f %g %g %g %g %d %g %d %g", TE0+EPOCH, \
|
||||
EBGO0, EBGO1, EHETB, EHETA, \
|
||||
iTRIG0, ETRIG0, iTRIG1, ETRIG1
|
||||
for (i in cBGO) printf " %g", EE[i]
|
||||
for (i in cBGO) printf " %g", EE[i+24]
|
||||
printf "\n"
|
||||
}
|
||||
|
||||
function doCC() {
|
||||
printf "%.0f %d", TE0+EPOCH, N
|
||||
for (i=0; i<NCh; i++)
|
||||
|
|
@ -186,7 +265,7 @@ BEGIN {
|
|||
|
||||
function doS() {
|
||||
N = 0
|
||||
if (!/[SE]D /) return N
|
||||
if (!/[SE]DB? /) return N
|
||||
if (NS && ($2 > TS0+20 || $2 < TS0-20)) {
|
||||
save = $0
|
||||
for (d in ELINES) {
|
||||
|
|
@ -198,6 +277,7 @@ function doS() {
|
|||
A = $7/1024
|
||||
B = $8/1024
|
||||
P = $9/0x4000
|
||||
EE = A*BANANA(d,c, P)
|
||||
Ba = $10/0x4000
|
||||
n0 = 0
|
||||
S0 = 0
|
||||
|
|
@ -212,7 +292,7 @@ function doS() {
|
|||
for (i in SLINES[d]) {
|
||||
$0 = SLINES[d][i]
|
||||
if ($2 > T0+40 || $2 < T0-20) continue
|
||||
print d, c, T0, A, P, Phase(P), E, $2-T0, S0, $(4+c), ($(4+c)-S0)/E
|
||||
print d, c, T0, A, P, Phase(P), EE, $2-T0, S0, $(4+c), ($(4+c)-S0)/EE
|
||||
}
|
||||
N++
|
||||
}
|
||||
|
|
@ -246,6 +326,11 @@ BEGIN {
|
|||
ph0 = -0.505601 # ± 3.072e-05
|
||||
ph1 = 1.94725 # ± 0.00051
|
||||
ph2 = -0.139787 # ± 0.0009408
|
||||
|
||||
# 2025-06-20-seth-slice1-5
|
||||
ph0 = -0.478111483533659
|
||||
ph1 = 2.01807600727152
|
||||
ph2 = 0.105023207228584
|
||||
}
|
||||
|
||||
function Phase(P) {
|
||||
|
|
@ -349,7 +434,6 @@ BEGIN {
|
|||
# 2025-06-20-seth-slice1-5
|
||||
# integer fit: -3686 /2¹⁴, 16027 /2¹⁴, 12898 /2¹⁵, 24618 /2¹⁵,
|
||||
for (d=0;d<8;d++) for (c=0;c<24;c++) {
|
||||
# full fit
|
||||
B0[d,c] = -3686 / 0x4000
|
||||
B2[d,c] = 16027 / 0x4000
|
||||
B3[d,c] = 12898 / 0x8000
|
||||
|
|
|
|||
|
|
@ -38,6 +38,9 @@ EE=E
|
|||
%.hist: %.AHA
|
||||
./AHEPAM.awk 'isEE(){doHIST(Ch,$(EE))}' resV=$(resV) $< > $@
|
||||
|
||||
%.SETH: %.AHA
|
||||
./AHEPAM.awk 'isSETH(){doSETHBGO()}' $< > $@
|
||||
|
||||
CUT=P
|
||||
CUT_P=&&P>-0.398&&P<=-0.105
|
||||
CUT_nP=&&(P<=-0.398||P>-0.105)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue