Files
JFCalibration/CS_scan.sh
carulla_m_ 427b525022 BP_analysis.cpp add comments on the script
BP_analysis_M431 modified
BP_analysis_M431.cpp modified
BP_scan.sh must declare module number as argument and readout speed (full_speed or half_speed) Modified the communication interface and commands to the pulser
BP_scan_both_speeds.sh Added Vb_comp 1220 at the end of the script and Modified the communication interface and commands to the pulser
CS_analysis.cpp add list of new modules for analysis
CS_analysis_JF11 modified
CS_analysis_M431.cpp modified
CS_fit.cpp add new modules in the list
CS_scan.sh must declare module number as argument and readout speed (full_speed or half_speed)
CS_scan_both_speeds.sh Added Vb_comp 1220 at the end of the script
CuFluo_exposure.sh Change HV to 60V and I to 40mA instead of 40V and 60mV+ must declare module number as argument and readout speed (full_speed or half_speed)
CuFluo_exposure_JF11.s Change HV to 60V and I to 40mA instead of 40V and 60mV
CuFluo_exposure_both_speeds.sh Change HV to 60V and I to 40mA instead of 40V and 60m
CuFluo_exposure_sc.sh Change HV to 60V and I to 40mA instead of 40V and 60m. Adjust the period to avoid losing packets
CuFluo_fit_sc.cpp Create a new file to fit Cu and noise peak fit for the storage cells data
Default_pixels_arrays.cpp Creates a default pixels system map given the module numbers of the system
Fluo_analysis_Ti_In.cpp Analysis the data for Fluorecensce target: Ti, Fe, Cu, Se, Mo, or In. The target needs to be passed as an argument.
Fluo_exposure_Ti_In.sh Fluorescence exposure with targets: Ti, Fe, Cu, Se, Mo, or In.
Fluo_fit.cpp Function to fit the fluorescence peaks for the different targets: Ti, Fe, Cu, Se, Mo, or In. The target needs to be passed as an argument.
JFMC_CalibWriter_wBP_sc.cpp change the range of the g0cutmap
Multi_filename_creator.sh Bash file to create 6 different receivers, one for each JFcalib readout board
filename_creator.sh add comments
makefile Add new objects:Fluo_analysis_Ti_In, Fluo_fit, CuFluo_fit_sc, CS_fit, BP_fit, etc...
2026-02-20 16:38:10 +01:00

201 lines
4.9 KiB
Bash

#!/bin/bash
# to run do: bash CS_scan.sh
# prerequisites:
# - setup_env.sh souced
# - the hostname is set
# - detector is on
# - fileneame script has been sourced
# - source pccalib.sh [pc] (pc-jungfrau-01/pc-jungfrau-02/pc-jungfrau-test)
# last file should have exactly 4194368000 byte in it.
KILLRCV="killall ju_udp_receiver_3threads_2_0"
$KILLRCV
if [[ "$0" == *"CS_scan.sh"* ]]; then
echo "script changes env. variables: should be invoked with source, not sh "
exit
fi
if [ ! -v $1 & ! -v $2 ]; then
echo $0
echo "Readout speed is" $2
echo "printing filenames for module" $1
ROBspeed=$2
if [[ "$2" == "full_speed" ]]; then
source filename_creator.sh $1"_fullspeed" N
elif [[ "$2" == "half_speed" ]]; then
source filename_creator.sh $1 N
else
echo "Readout speed has to be specified as half_speed or full_speed"
exit
fi
sls_detector_put stop #just in case
sls_detector_put powerchip 1
sls_detector_put frames 640
sls_detector_put period 0.005
sls_detector_put exptime 0.000010
sls_detector_put highvoltage 200 #200
# configure for receiver on pc-jungfrau-01/pc-jungfrau-02/pc-jungfrau-test
# source pccalib.sh [pc] (pc-jungfrau-01/pc-jungfrau-02/pc-jungfrau-test)
sls_detector_put udp_dstport 32410
sls_detector_put udp_dstip $DSTIP #10.1.4.105
sls_detector_put udp_dstmac $DSTMAC #3C:FD:FE:A2:14:D8
sls_detector_put udp_srcip $SRCIP #10.1.4.9
sls_detector_put udp_srcmac 00:ab:be:cc:dd:e2
sls_detector_put readoutspeed $ROBspeed
#sls_detector_put readoutspeed full_speed
#sls_detector_put dbitphase 125
sleep 3
sls_detector_put frames 10000
sls_detector_put start
sleep 70
sls_detector_put stop
sls_detector_put frames 640
$TKCSG0 &
sleep 3
echo "recording G0 pede"
sls_detector_put start
sleep 4
echo "recording G1 pede"
sls_detector_put gainmode forceswitchg1
sls_detector_put start
sleep 4
echo "recording G2 pede"
sls_detector_put gainmode forceswitchg2
sls_detector_put start
sleep 4
sls_detector_put gainmode dynamic
# turn on current source
# bit 16 high bit 17 low = automatic cal col sweep
# bit 16 high bit 17 high = cal col selected with bits 26-20
sls_detector_put currentsource 1 nofix 0
sleep 1
# loop 1
for tint in {50..450..50} # 25 is too small here, 50 min
do
tint_sec=$(printf %.9f $(echo "$tint/1000000000" | bc -l))
echo "setting integration time to (s) " $tint_sec
sls_detector_put exptime $tint_sec
sls_detector_put start
sleep 4
done
# loop 2a
for tint in {50..100..5}
do
tint_sec=$(printf %.8f $(echo "$tint/100000000" | bc -l))
echo "setting integration time to (s) " $tint_sec
sls_detector_put exptime $tint_sec
sls_detector_put start
sleep 4
done
# loop 2b
for tint in {110..200..10}
do
tint_sec=$(printf %.8f $(echo "$tint/100000000" | bc -l))
echo "setting integration time to (s) " $tint_sec
sls_detector_put exptime $tint_sec
sls_detector_put start
sleep 4
done
# loop 2c
for tint in {225..450..25}
do
tint_sec=$(printf %.8f $(echo "$tint/100000000" | bc -l))
echo "setting integration time to (s) " $tint_sec
sls_detector_put exptime $tint_sec
sls_detector_put start
sleep 4
done
# loop 3a
for tint in {50..100..5}
do
tint_sec=$(printf %.7f $(echo "$tint/10000000" | bc -l))
echo "setting integration time to (s) " $tint_sec
sls_detector_put exptime $tint_sec
sls_detector_put start
sleep 4
done
# loop 3b
for tint in {110..200..10}
do
tint_sec=$(printf %.7f $(echo "$tint/10000000" | bc -l))
echo "setting integration time to (s) " $tint_sec
sls_detector_put exptime $tint_sec
sls_detector_put start
sleep 4
done
# loop 3c
for tint in {225..450..25}
do
tint_sec=$(printf %.7f $(echo "$tint/10000000" | bc -l))
echo "setting integration time to (s) " $tint_sec
sls_detector_put exptime $tint_sec
sls_detector_put start
sleep 4
done
# loop 4a
for tint in {50..100..5}
do
tint_sec=$(printf %.7f $(echo "$tint/1000000" | bc -l))
echo "setting integration time to (s) " $tint_sec
sls_detector_put exptime $tint_sec
sls_detector_put start
sleep 4
done
# loop 4b
for tint in {110..250..10}
do
tint_sec=$(printf %.7f $(echo "$tint/1000000" | bc -l))
echo "setting integration time to (s) " $tint_sec
sls_detector_put exptime $tint_sec
sls_detector_put start
sleep 4
done
echo "Finished scan"
sls_detector_put exptime 0.000010
sls_detector_put period 0.002
sls_detector_put frames 1000000
sls_detector_put currentsource 0
sls_detector_put highvoltage 0
sls_detector_put readoutspeed half_speed
echo "Script finished"
sleep 4
$KILLRCV
else
echo "Specify module number as a first argument"
echo "Specify readout_speed as a second argument:half_speed or full_speed"
echo "Script finished"
fi