Jpp  master_rocky-43-ge265d140c
the software that should make you happy
examples/JCalibrate/JHobbit.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 script=${0##*/}
3 
4 if [ -z $JPP_DIR ]; then
5  echo "Variable JPP_DIR undefined."
6  exit
7 fi
8 
9 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
10 
11 set_variable: DEBUG CALIBRATION_DEBUG 1
12 set_variable WORKDIR ${TMPDIR:-/tmp}/
13 set_variable QUALITY "0.9 1.1"
14 set_variable CHI2 "0.0 2.0"
15 
16 if do_usage $*; then
17  usage "$script <detector file> (input file)+"
18 fi
19 
20 if (( $# < 2 )); then
21  fatal "Not enough arguments."
22 fi
23 
24 set_variable DETECTOR $argv[1]
25 
26 INPUT_FILES=($argv[2,-1])
27 
28 typeset -A X_RANGE
29 
30 #X_RANGE+=(Gauss " -5.0 +5.0")
31 #X_RANGE+=(Landau " -5.0 +10.0")
32 X_RANGE+=(EMG "-10.0 +50.0")
33 #X_RANGE+=(BreitWigner "-15.0 +35.0")
34 
35 if [[ $DETECTOR != *\.detx ]]; then
36  fatal "Invalid detector file <${DETECTOR}>."
37 fi
38 
39 set_variable DETECTOR_NEW ${DETECTOR/.detx/_hobbit.detx}
40 
41 cp $DETECTOR $DETECTOR_NEW
42 
43 for FUNCTION T_NS in ${(kv)X_RANGE}; do
44 
45  JHobbit \
46  -f "$INPUT_FILES[*]" \
47  -a $DETECTOR_NEW \
48  -A \
49  -o $WORKDIR/hobbit\[${FUNCTION}\].root \
50  -F $FUNCTION \
51  -T "$T_NS" \
52  -d $DEBUG
53 
54  JTestRange1D \
55  -f $WORKDIR/hobbit\[${FUNCTION}\].root:hq \
56  -y "$QUALITY" \
57  -N 0 \
58  -d $DEBUG
59 
60  CHECK_EXIT_CODE
61 
62  JTestRange1D \
63  -f $WORKDIR/hobbit\[${FUNCTION}\].root:hc \
64  -y "$CHI2" \
65  -N 0 \
66  -d $DEBUG
67 
68  CHECK_EXIT_CODE
69 
70 done