Jpp 19.3.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
JCalibrateToT.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
9# ------------------------------------------------------------------------------------------
10#
11# Utility script to test JCalibrateToT/JFitToT.
12#
13# ------------------------------------------------------------------------------------------
14
15
16if [ -z $JPP_DIR ]; then
17 echo "Variable JPP_DIR undefined."
18 exit
19fi
20
21
22source $JPP_DIR/setenv.sh $JPP_DIR
23
24
25set_variable DEBUG 2
26set_variable WORKDIR ${TMPDIR:-/tmp}/
27set_variable: FORMAT GRAPHICS_FORMAT gif
28set_variable+ BATCH GRAPHICS_BATCH -B
29
30if do_usage $*; then
31 usage "$script [working directory]"
32fi
33
34case $# in
35 1) set_variable WORKDIR $1;;
36esac
37
38set_variable DETECTOR $WORKDIR/detector.detx
39set_variable BACKGROUND_HZ 5e3 500 50 5 0.5
40set_variable numberOfSlices 1000
41
42if (( 1 )); then
43
44 set_variable detectorType 1
45 set_variable numberOfLines 1
46 set_variable numberOfFloors 1
47
48 JDetector \
49 -D 1 \
50 -@ "detectorType = $detectorType" \
51 -@ "numberOfLines = $numberOfLines" \
52 -@ "numberOfFloors = $numberOfFloors" \
53 -o $DETECTOR -V V2 \
54 -d $DEBUG
55
56fi
57
58if (( 1 )); then
59
60 debug "Generating random background."
61
62 if ( ! reuse_file $WORKDIR/timeslice.root ); then
63
64 JRandomTimesliceWriter \
65 -a $DETECTOR \
66 -o $WORKDIR/timeslice.root \
67 -B "$BACKGROUND_HZ" \
68 -n $numberOfSlices \
69 -d $DEBUG --!
70
71 fi
72fi
73
74if (( 1 )); then
75
76 debug "Processing data."
77
78 if ( ! reuse_file $WORKDIR/trigger_processor.root ); then
79
80 JTriggerProcessor \
81 -a $DETECTOR \
82 -f $WORKDIR/timeslice.root \
83 -o $WORKDIR/trigger_processor.root \
84 -@"ctMin=-1.0" \
85 -@"TMaxLocal_ns=50" \
86 -@"writeL1=1" \
87 -d $DEBUG
88
89 fi
90fi
91
92if (( 0 )); then
93
94 debug "Monitoring data."
95
96 JCalibrateToT \
97 -f $WORKDIR/trigger_processor.root \
98 -o $WORKDIR/monitor.root \
99 -C JDAQTimesliceL1 \
100 -a $DETECTOR \
101 -d $DEBUG
102
103fi
104
105if (( 0 )); then
106
107 debug "Fitting data."
108 debug "Detector: $DETECTOR"
109
110 JFitToT \
111 -f ${WORKDIR}/monitor.root \
112 -o ${WORKDIR}/fit.root \
113 -a $DETECTOR \
114 -w \
115 -d $DEBUG
116
117fi
118
119if (( 0 )); then
120
121 set_variable MODULE 101
122 set_variable PMT 0
123
124 JPlot1D \
125 -f ${WORKDIR}/fit.root:${MODULE}.${PMT}.1ToT \
126 -x "0 40" \
127 -y "1e-3 0.2" -Y \
128 -> "time over threshold [ns]" \
129 -\^ "probability" \
130 -T "" \
131 -o tot.${MODULE}.${PMT}.$FORMAT $BATCH
132
133fi
134
135if (( 1 )); then
136
137 set_variable MODULE 101
138 set_variable PMT 0
139
140 JPlot1D \
141 -f ${WORKDIR}/fit.root:${MODULE}.1gain\$ \
142 -y "0.0 2.0" \
143 -> "PMT" \
144 -\^ "gain" \
145 -T "" \
146 -o tot.${MODULE}.gain.$FORMAT $BATCH
147
148fi
149
150if (( 1 )); then
151
152 set_variable MODULE 101
153 set_variable PMT 0
154
155 JPlot1D \
156 -f ${WORKDIR}/fit.root:${MODULE}.1gainspread \
157 -y "0.0 1.0" \
158 -> "PMT" \
159 -\^ "gain spread" \
160 -T "" \
161 -o tot.${MODULE}.gainspread.$FORMAT $BATCH
162
163fi