Jpp test-rotations-new
the software that should make you happy
Loading...
Searching...
No Matches
JSlewingK40.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 JSlewingK40.
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 .
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
38
39set_variable TMAX 3.0
40set_variable DETECTOR $WORKDIR/detector.detx
41set_variable BACKGROUND_HZ 5e3 500 50 5 0.5
42set_variable numberOfSlices 10000
43set_variable INPUT_FILE $WORKDIR/timeslice.root
44set_variable OUTPUT_FILE $WORKDIR/slewing\[Monte\ Carlo\].root
45
46
47if (( 1 )); then
48
49 detectorType=1
50 numberOfLines=1
51 numberOfFloors=1
52
53 JDetector \
54 -D 1 \
55 -@detectorType=$detectorType \
56 -@numberOfLines=$numberOfLines \
57 -@numberOfFloors=$numberOfFloors \
58 -o $DETECTOR -V V2 \
59 -d $DEBUG
60
61fi
62
63if (( 1 )); then
64
65 if [ -f "$WORKDIR/timeslice.root" ]; then
66 rm -i $WORKDIR/timeslice.root
67 fi
68
69 if [ ! -f "$WORKDIR/timeslice.root" ]; then
70
71 JRandomTimesliceWriter \
72 -a $DETECTOR \
73 -o $INPUT_FILE \
74 -B "$BACKGROUND_HZ" \
75 -n $numberOfSlices \
76 -P %.slewing=1 \
77 -d $DEBUG --!
78
79 fi
80fi
81
82
83if (( 1 )); then
84
85 echo "Monitoring data."
86 echo "Detector: $DETECTOR"
87
88 JSlewingK40 \
89 -f $WORKDIR/timeslice.root \
90 -a $DETECTOR \
91 -o $OUTPUT_FILE \
92 -t "20 35" \
93 -d $DEBUG
94
95fi
96
97if (( 1 )); then
98
99 JScale1D \
100 -f ${OUTPUT_FILE}:h0 \
101 -f ${OUTPUT_FILE}:h1 \
102 -F "1.0/GetEntries" \
103 -O "nosw2" \
104 -o $WORKDIR/scale.root --!
105
106fi
107
108if (( 1 )); then
109
110 JFit \
111 -f ${WORKDIR}/scale.root:h0 \
112 -o ${WORKDIR}/fit.root \
113 -F "[0] * exp(-0.5 * (x-[1])*(x-[1]) / ([2]*[2])) + [3]" \
114 -@"p0 = GetMaximum" \
115 -@"p1 = 0.0" \
116 -@"p2 = 0.5*GetRMS" \
117 -@"p3 = GetMinimum" \
118 -d3
119
120 JPlot1D \
121 -f ${WORKDIR}/fit.root:h0 \
122 -> "#Deltat [ns]" \
123 -\^ "number of hits [au]" \
124 -o resolution.$FORMAT $BATCH
125
126fi
127
128if (( 1 )); then
129
130 JPlot1D \
131 -f $WORKDIR/scale.root:h1 \
132 -> "time over threshold [ns]" \
133 -\^ "number of hits [au]" \
134 -o tot.$FORMAT $BATCH
135
136fi
137
138if (( 1 )); then
139
140 JFit \
141 -f ${OUTPUT_FILE}:h2 \
142 -o ${WORKDIR}/fit.root \
143 -F "[0]*exp([1]*sqrt(x) + [2]*x) + [3]" \
144 -@"p0 = GetMaximum" \
145 -@"p1 = -0.01" \
146 -@"p2 = -0.05" \
147 -@"p3 = GetMinimum" \
148 -d3
149
150 JPlot1D \
151 -f ${WORKDIR}/fit.root:h2 \
152 -y "-10 +10" \
153 -> "TOT [ns]" \
154 -\^ "#Deltat [ns]" \
155 -o slewing.$FORMAT $BATCH
156
157fi