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