Jpp  master_rocky-40-g5f0272dcd
the software that should make you happy
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 ${TMPDIR:-/tmp}/
27 set_variable: FORMAT GRAPHICS_FORMAT gif
28 set_variable+ BATCH GRAPHICS_BATCH -B
29 
30 if do_usage $*; then
31  usage "$script [working directory]"
32 fi
33 
34 case $# in
35  1) set_variable WORKDIR $1;;
36 esac
37 
38 set_variable DETECTOR $WORKDIR/detector.detx
39 set_variable BACKGROUND_HZ 5e3 500 50 5 0.5
40 set_variable numberOfSlices 1000
41 
42 if (( 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 
56 fi
57 
58 if (( 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
72 fi
73 
74 if (( 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
90 fi
91 
92 if (( 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 
103 fi
104 
105 if (( 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 
117 fi
118 
119 if (( 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 
133 fi
134 
135 if (( 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 
148 fi
149 
150 if (( 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 
163 fi