Jpp test-rotations-new
the software that should make you happy
Loading...
Searching...
No Matches
JEqualizer.sh
Go to the documentation of this file.
1#!/usr/bin/env zsh
2#
3#
4# \author mdejong
5#
6version=1.0
7script=${0##*/}
8
9if [ -z $JPP_DIR ]; then
10 echo "Variable JPP_DIR undefined."
11 exit
12fi
13
14source $JPP_DIR/setenv.sh $JPP_DIR
15
16set_variable DEBUG 2
17set_variable WORKDIR `pwd`
18set_variable DETECTOR $WORKDIR/detectors/detector.detx
19set_variable DAQ_TIMESLICE JDAQTimesliceL0
20set_variable OPTION ABCDEF
21
22if do_usage $*; then
23 usage "$script <input file> [option]"
24fi
25
26case $# in
27 2) set_variable OPTION $argv[2];&
28 1) set_variable INPUT_FILE $argv[1];;
29 *) fatal "Wrong number of arguments.";;
30esac
31
32
33JPrintDAQHeader -f $INPUT_FILE | read DETECTOR_ID RUN FRAME_INDEX TIMESLICE_START
34
35set_variable DIR $WORKDIR/$RUN
36
37mkdir -p $DIR
38
39set_variable DETECTOR $DIR/detector.detx
40set_variable PMT_FILE $DIR/PMT.txt
41
42if [[ ! -f $DETECTOR ]]; then
43 JDetectorDB -D $DETECTOR_ID -r $RUN -o $DETECTOR
44fi
45
46# background mode
47
48if [[ ! -f $PMT_FILE ]]; then
49
50 # gain calibration
51
52 set_variable MONITOR_FILE $DIR/monitor_tot.root
53 set_variable MERGE_FILE $DIR/merge_tot.root
54 set_variable FIT_FILE $DIR/fit_tot.root
55 set_variable LOG_FILE $DIR/fit_tot.log
56
57 JCalibrateToT \
58 -a $DETECTOR \
59 -f $INPUT_FILE \
60 -C $DAQ_TIMESLICE \
61 -o $MONITOR_FILE \
62 -d $DEBUG --!
63
64 JMergeCalibrateToT \
65 -f $MONITOR_FILE \
66 -o $MERGE_FILE \
67 -d $DEBUG --!
68
69 JFitToT \
70 -a $DETECTOR \
71 -f $MERGE_FILE \
72 -o $FIT_FILE \
73 -w \
74 -P $PMT_FILE \
75 -d $DEBUG --!
76
77 # QE calibration
78
79 set_variable MONITOR_FILE $DIR/monitor_k40.root
80 set_variable MERGE_FILE $DIR/merge_k40.root
81 set_variable FIT_FILE $DIR/fit_k40.root
82 set_variable LOG_FILE $DIR/fit_k40.log
83 set_variable DETX_FILE $DIR/fit_k40.detx
84
85 JCalibrateK40 \
86 -a $DETECTOR \
87 -f $INPUT_FILE \
88 -C $DAQ_TIMESLICE \
89 -o $MONITOR_FILE \
90 -d $DEBUG --!
91
92 JMergeCalibrateK40 \
93 -f $MONITOR_FILE \
94 -o $MERGE_FILE \
95 -d $DEBUG --!
96
97 cp $DETECTOR $DETX_FILE
98
99 JFitK40 \
100 -a $DETX_FILE \
101 -f $MERGE_FILE \
102 -o $FIT_FILE \
103 -wA \
104 -P $PMT_FILE \
105 -d $DEBUG --!
106
107 # final corrections
108
109 set_variable MU 0.20
110 set_variable TOT_NS 4.0 255.0
111
112 JEditPMTParameters \
113 -P $PMT_FILE \
114 -o $PMT_FILE \
115 -T "$TOT_NS" \
116 -E $MU
117
118 exit
119fi
120
121
122# interactive mode
123
124set_variable OUTPUT_FILE $DIR/equalizer-${OPTION}.root
125
126if ( ! reuse_file $OUTPUT_FILE ); then
127
128 $JPP_DIR/examples/JCalibrate/JEqualizer \
129 -f $INPUT_FILE \
130 -P $PMT_FILE \
131 -o $OUTPUT_FILE \
132 -r $OPTION \
133 -d $DEBUG
134fi
135