Compare commits

...

8 commits

Author SHA1 Message Date
Stephan I. Böttcher
ca6a196502 DORNCC l1 gain calib, slice 1 pulser 2025-06-22 22:26:12 +02:00
Stephan I. Böttcher
9d757bf3ad NMAHEPAM bitfile 2025-06-22 22:25:17 +02:00
Stephan I. Böttcher
e405360bd7 ahepamfile $(cat seth.banana) 2025-06-22 22:23:45 +02:00
Stephan I. Böttcher
7e1f468289 ahepam pulser_fit: individual channel fits 2025-06-22 22:19:59 +02:00
Stephan I. Böttcher
a4e622f330 AHEPAM: slice 1 banana from /2025-06-20-seth-slice1-5 2025-06-22 22:18:56 +02:00
Stephan I. Böttcher
36d8dc8b14 ahepam make %.hist EE=EE 2025-06-22 22:17:49 +02:00
Stephan I. Böttcher
764713d959 seth-pulser-ranana: yrange 2025-06-22 21:18:35 +02:00
Stephan I. Böttcher
bb95e70d66 ahepam/Makefile: .PRECIOUS: %.dat %.AHA 2025-06-22 21:17:41 +02:00
8 changed files with 144 additions and 25 deletions

View file

@ -346,6 +346,15 @@ BEGIN {
B3[d,c] = 0.10845413271095
B4[d,c] = 0.696742143682933
}
# 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
B4[d,c] = 24618 / 0x8000
}
}
function BANANA(d,c, p) {

View file

@ -1,6 +1,7 @@
PARSER = ahepamfile
include ../irena/libirena.make
.PRECIOUS: %.dat %.AHA
%.AHA: %.dat ahepamfile
./ahepamfile < $< > $@
@ -33,8 +34,9 @@ SIGMA=600
derive.py -x 3 -y 4-16 -s $(SIGMA) -F %.2f -N 1 $< > $@
resV=1
EE=E
%.hist: %.AHA
./AHEPAM.awk 'isEE(){doHIST(Ch,E)}' resV=$(resV) $< > $@
./AHEPAM.awk 'isEE(){doHIST(Ch,$(EE))}' resV=$(resV) $< > $@
CUT=P
CUT_P=&&P>-0.398&&P<=-0.105

78
ahepam/pulser-fit.gpt Normal file
View file

@ -0,0 +1,78 @@
# -*- gnuplot -*-
if (ARG1 ne "") {
Emin = "1100"
Emax = "1300"
Pmin = "-0.5"
Pmax = "0.05"
fn = ARG1
prefix = "seth/"
suffix = ".ED"
}
dfn = prefix.fn.suffix
bfn = prefix.fn.".banana"
dpab = "<./AHEPAM.awk 'isEE() && E>".Emin." && E<".Emax." && B>".Pmin."*A && B<".Pmax."*A {print B/A, A, B}' ".dfn
banana(p) = 1 + banana1(p - b0)
banana1(p) = (((b4*p + b3)*p) + b2)*p*p
b0 = -0.25
b2 = 1.0
b3 = 0.0
b4 = 0.0
a0 = 1200
set fit errorvar results logfile bfn.".log"
ptime = 0
set style data dot
plot dpab u 1:2, dpab u 1:($2*banana($3/$2)), a0/banana(x) w l lw 4
fit a0/banana(x) dpab u 1:2 via a0
replot
pause ptime "a0"
fit a0/banana(x) dpab u 1:2 via a0,b2
replot
pause ptime "a0,b2"
fit a0/banana(x) dpab u 1:2 via a0,b0,b2
replot
pause ptime "a0,b0,b2"
b3 = 0.1
fit a0/banana(x) dpab u 1:2 via a0,b0,b2,b3
replot
pause ptime "a0,b0,b2,b3"
b4 = 0.1
fit a0/banana(x) dpab u 1:2 via a0,b0,b2,b3,b4
replot
pause ptime "a0,b0,b2,b3,b4"
print sprintf("a0 = %.3f # ± %.3f", a0, a0_err)
print sprintf("b0 = %.1f # ± %.1f", b0*0x4000, b0_err*0x4000)
print sprintf("b2 = %.1f # ± %.1f", b2*0x4000, b2_err*0x4000)
print sprintf("b3 = %.1f # ± %.1f", b3*0x8000, b3_err*0x8000)
print sprintf("b4 = %.1f # ± %.1f", b4*0x8000, b4_err*0x8000)
b4 = round(b4*0x8000)*1.0/0x8000
fit a0/banana(x) dpab u 1:2 via a0,b0,b2,b3
replot
pause ptime "a0,b0,b2,b3"
b3 = round(b3*0x8000)*1.0/0x8000
fit a0/banana(x) dpab u 1:2 via a0,b0,b2
replot
pause ptime "a0,b0,b2"
b2 = round(b2*0x4000)*1.0/0x4000
fit a0/banana(x) dpab u 1:2 via a0,b0
replot
pause ptime "a0,b0"
print sprintf("a0 = %.3f # ± %.3f", a0, a0_err)
print sprintf("b0 = %.1f # ± %.1f", b0*0x4000, b0_err*0x4000)
print sprintf("b2 = %.1f # ± %.1f", b2*0x4000, b2_err*0x4000)
print sprintf("b3 = %.1f # ± %.1f", b3*0x8000, b3_err*0x8000)
print sprintf("b4 = %.1f # ± %.1f", b4*0x8000, b4_err*0x8000)
set print bfn
print sprintf("a0 = %.3f # ± %.3f", a0, a0_err)
print sprintf("b0 = %.1f /0x4000 # ± %.1f", b0*0x4000, b0_err*0x4000)
print sprintf("b2 = %.1f /0x4000 # ± %.1f", b2*0x4000, b2_err*0x4000)
print sprintf("b3 = %.1f /0x8000 # ± %.1f", b3*0x8000, b3_err*0x8000)
print sprintf("b4 = %.1f /0x8000 # ± %.1f", b4*0x8000, b4_err*0x8000)
unset print

View file

@ -9,7 +9,7 @@ CC = "00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23"
g = 244.530244530245
cuts = "P>-0.55 && P<0.05 && E>150*$12 && E<350*$12"
set yra [0.91:1.07]
set yra [0.91<*:*<1.07]
set cbr [0.5:*<100]
set xra [-0.5:0.02]
unset ylab

1
ahepam/seth.banana Normal file
View file

@ -0,0 +1 @@
--banana=-1,-3686,16027,12898,24618

View file

@ -1,6 +1,29 @@
@v/cache iter
@s/for 24: s/exe 'DORNCC.RC' 0, i
@s/for 24: s/exe 'DORNCC.RC' 1, i
@s/exe 'DORNCC.RC' 1, 0, 0x10236
@s/exe 'DORNCC.RC' 1, 1, 0x0fe33
@s/exe 'DORNCC.RC' 1, 2, 0x104a9
@s/exe 'DORNCC.RC' 1, 3, 0x0ff65
@s/exe 'DORNCC.RC' 1, 4, 0x0fc73
@s/exe 'DORNCC.RC' 1, 5, 0x10388
@s/exe 'DORNCC.RC' 1, 6, 0x0f5a0
@s/exe 'DORNCC.RC' 1, 7, 0x0f806
@s/exe 'DORNCC.RC' 1, 8, 0x10b30
@s/exe 'DORNCC.RC' 1, 9, 0x100fb
@s/exe 'DORNCC.RC' 1, 10, 0x0fc01
@s/exe 'DORNCC.RC' 1, 11, 0x0f70f
@s/exe 'DORNCC.RC' 1, 12, 0x1009f
@s/exe 'DORNCC.RC' 1, 13, 0x10016
@s/exe 'DORNCC.RC' 1, 14, 0x1092e
@s/exe 'DORNCC.RC' 1, 15, 0x1051c
@s/exe 'DORNCC.RC' 1, 16, 0x109a8
@s/exe 'DORNCC.RC' 1, 17, 0x100f7
@s/exe 'DORNCC.RC' 1, 18, 0x0faf9
@s/exe 'DORNCC.RC' 1, 19, 0x10174
@s/exe 'DORNCC.RC' 1, 20, 0x1016e
@s/exe 'DORNCC.RC' 1, 21, 0x1023c
@s/exe 'DORNCC.RC' 1, 22, 0x0faa0
@s/exe 'DORNCC.RC' 1, 23, 0x0fa4c
@dorn/fifo/enable/inj 0xdb3
@s/for 2: dorn/enable[i]/samples/inj 0
@v $T = 0x101808

View file

@ -1,24 +1,30 @@
@v $C = 24*$1 + $2
@s/if !Z[$C]: v Z[$C]=100
@s/if !Z[$C]: v Z[$C]=8
@dorn/thr [$1,$2] Z[$C]
@dorn/a [$1,$2,0] -1203
@dorn/a [$1,$2,1] -1203
@dorn/a [$1,$2,2] -1203
@dorn/a [$1,$2,3] -1186
@dorn/a [$1,$2,4] -39
@dorn/a [$1,$2,5] 1709
@dorn/a [$1,$2,6] 2000
@dorn/a [$1,$2,7] 1125
@dorn/b [$1,$2,0] 0
@dorn/b [$1,$2,1] 0
@dorn/b [$1,$2,2] 0
@dorn/b [$1,$2,3] 0
@dorn/b [$1,$2,4] 2000
@dorn/b [$1,$2,5] 970
@dorn/b [$1,$2,6] -1082
@dorn/b [$1,$2,7] -1888
@dorn/l3 [$1,$2,0] -3839
@dorn/l3 [$1,$2,1] 13891
@dorn/l3 [$1,$2,2] 3579
@dorn/l3 [$1,$2,3] 22853
@s/if !$3: v $3 = 0x10000
@v $A[0] = -1203
@v $A[1] = -1203
@v $A[2] = -1203
@v $A[3] = -1186
@v $A[4] = -39
@v $A[5] = 1709
@v $A[6] = 2000
@v $A[7] = 1125
@v $X = 0
@s/for 7: v $Y=$A[7-i]*$3/0x10000; v $X=$X-$Y; dorn/a [$1,$2,7-i] $Y
@dorn/a [$1,$2,0] $X
@v $A[0] = 0
@v $A[1] = 0
@v $A[2] = 0
@v $A[3] = 0
@v $A[4] = 2000
@v $A[5] = 970
@v $A[6] = -1082
@v $A[7] = -1888
@v $X = 0
@s/for 7: v $Y=$A[7-i]*$3/0x10000; v $X=$X-$Y; dorn/b [$1,$2,7-i] $Y
@dorn/b [$1,$2,0] $X
@dorn/l3 [$1,$2,0] -3686
@dorn/l3 [$1,$2,1] 16027
@dorn/l3 [$1,$2,2] 12898
@dorn/l3 [$1,$2,3] 24618

Binary file not shown.