20211018 ======== Using pedestal memory as data. Files with one event: mcm-all-evt501-36518-pulses.pdf no pedestal and zero suppression mcm-all-evt797-36521-pulses.pdf pedestal and zerosuppression: low threshold mcm-all-evt1000-36523-pulses.pdf pedestal and zerosuppression: high threshold 1 sample above threshold 2 before threshold 2 after threshold ? threshold Note: chip 2 channel 2 has spike, loaded value is 42 (hex 2A), value read 820 (hex 334). Pulses generated with: ---------------------- ./genpulse -h 800 --ped 65 --noise 5 --rise 20 --fall 55 --start 110 --diff 500 -o pulse0 ./genpulse -h 640 --ped 70 --noise 10 --rise 10 --fall 45 --start 170 --diff 310 -o pulse1 ./genpulse -h 960 --ped 50 --noise 15 --rise 55 --fall 100 --start 80 --diff 700 -o pulse2 ./genpulse -h 720 --ped 50 --noise 25 --rise 45 --fall 70 --start 500 --diff 200 -o pulse3 ./genpulse -h 720 --ped 50 --noise 25 --rise 45 --fall 100 --start 400 --diff 300 -o pulse4 ./genpulse -h 840 --ped 50 --noise 15 --rise 15 --fall 75 --start 300 --diff 320 -o pulse5 ./genpulse -h 840 --ped 50 --noise 15 --rise 15 --fall 75 --start 200 --diff 700 -o pulse6 ./genpulse -h 840 --ped 50 --noise 35 --rise 75 --fall 30 --start 400 --diff 320 -o pulse7 Setup ----- for chip in {0..7..1} do # Write to pedestal memory ./saltrowrmem --fec 0 --chip $chip --infile pulse$chip --pattern 7 done Run as: ------- mode=$1 pre=$(($2 << 17)) above=$(($3 << 12)) post=$(($4 << 14)) dpcfgValue=`printf '%x' $((mode + post +pre + above))` for channel in {0..15..1} do # Write static pedestal subtract value ./saltrowrrdreg --bcast --fec 0 --channel $channel --register 13 --write $5 # Write Threshold value ./saltrowrrdreg --bcast --fec 0 --channel $channel --register 8 --write $6 # Set DPCFG to corect mode + pre/post/above ./saltrowrrdreg --bcast --fec 0 --channel $channel --register B --write $dpcfgValue # No pre-/post-trigger samples: ./saltrowrrdreg --bcast --fec 0 --channel $channel --register C --write 0 done ./mkpedestal-all.sh 2 0 0 1000 0 100