4if [ -z $JPP_DIR ]; then
5 echo "Variable JPP_DIR undefined."
9source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
11set_variable: DEBUG ACOUSTICS_DEBUG 2
12set_variable: WORKDIR ACOUSTICS_WORKDIR ./
13#set_variable FORMULA "[0] + [1] * log(1.0 + 0.5*(x-[2])*(x-[2])/([3]*[3]))"
14set_variable FORMULA "[0] + [1] * ((x-[2])*(x-[2])/([3]*[3]))"
15set_variable MINIMAL_DZ 0.01
16set_variable: FORMAT GRAPHICS_FORMAT gif
17set_variable+ BATCH GRAPHICS_BATCH -B
20 usage "$script <string identifier> <floor[-floor]> [<detector file>]"
23if (( $# < 2 || $# > 3 )); then
24 fatal "Wrong number of arguments."
27set_variable STRING $argv[1]
28set_variable FLOORS $argv[2]
30for (( FLOOR = ${FLOORS%%-*}; $FLOOR <= ${FLOORS##*-}; FLOOR += 1 )); do
35 set_variable MODULE_TXT $WORKDIR/modulez_${STRING}_${FLOOR}.txt
36 set_variable MODULE_ROOT $WORKDIR/modulez_${STRING}_${FLOOR}.root
37 set_variable G1_TXT $WORKDIR/g1.txt
38 set_variable G1_ROOT $WORKDIR/g1.root
40 if [[ ! -f $MODULE_TXT ]] then
41 fatal "No file $MODULE_TXT."
48 sort -g -k 2,2 $MODULE_TXT | tail -1 | read X ZMAX RMS
49 sort -gr -k 2,2 $MODULE_TXT | tail -1 | read X ZMIN RMS
51 echo $X $ZMIN > $G1_TXT;
62 END { print XMIN, XMAX }
64 if ( $1 < XMIN ) { XMIN = $1 }
65 if ( $1 > XMAX ) { XMAX = $1 }
67 ' $MODULE_TXT | read XMIN XMAX
69 if (( $X > $XMIN && $X < $XMAX )); then
71 let "DZ = 0.5*($ZMAX - $ZMIN)"
73 if (( $ZMAX - $ZMIN < $MINIMAL_DZ )); then
74 set_variable OPTION "-= p1 = 0.0; p2 = 0.0; p3 = 1.0"
80 -f ${MODULE_ROOT}:\.\* \
81 -o $WORKDIR/fit.root \
90 set_array P2 `JPrintFit -f $WORKDIR/fit.root:\.\* -@p2`
94 printf "nominal %4d %2d %7.3f %7.3f\n" $STRING $FLOOR 0.0 `JPrintFit -f $WORKDIR/fit.root:\.\* -x "0.0"`
95 printf "optimal %4d %2d %7.3f %7.3f\n" $STRING $FLOOR $X `JPrintFit -f $WORKDIR/fit.root:\.\* -x "$X"`
97 mv $WORKDIR/fit.root $MODULE_ROOT
101 echo "Optimum value at limit; -> no fit."
102 printf "nominal %4d %2d %7.3f %7.3f\n" $STRING $FLOOR 0.0 `awk -v X=0.0 '{ if ($1 == X) { print $2 }}' $MODULE_TXT`
103 printf "optimal %4d %2d %7.3f %7.3f\n" $STRING $FLOOR $X $ZMIN
107 if (( $# == 3 )); then
109 set_variable DETECTOR $argv[3]
111 if (( $ZMAX - $ZMIN >= $MINIMAL_DZ )); then
113 set_variable MODULE `getModule -a $DETECTOR -L "$STRING $FLOOR"`
115 JEditDetector -a $DETECTOR -M "$MODULE add 0.0 0.0 $X" -o $DETECTOR
118 echo "No update of detector $DETECTOR; z-range ($ZMAX-$ZMIN) < $MINIMAL_DZ."
126 -f ${MODULE_ROOT}:\.\* \
131 -T "($STRING,$FLOOR)" \
132 -o $WORKDIR/modulez_${STRING}_${FLOOR}.$FORMAT $BATCH
134 rm -f $MODULE_ROOT $G1_TXT $G1_ROOT
138if [[ "$FLOORS" == "1-18" ]]; then
140 echo -n "Creating graphics for string $STRING.."
145 $WORKDIR/modulez_${STRING}_*.$FORMAT \
146 $WORKDIR/modulez_${STRING}.$FORMAT >& /dev/null
148 echo " -> $WORKDIR/modulez_${STRING}.$FORMAT"
150 rm -f $WORKDIR/modulez_${STRING}_*.$FORMAT