Jpp  15.0.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
module-Z:run.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 ACOUSTICS_DEBUG 2
12 set_variable: WORKDIR ACOUSTICS_WORKDIR ./
13 set_variable: FIT ACOUSTICS_FIT 2
14 
15 if do_usage $*; then
16  usage "$script <string identifier> <floor[-floor]> <detector file> (input file)+"
17 fi
18 
19 if (( $# < 4 )); then
20  fatal "Wrong number of arguments."
21 fi
22 
24 set_variable FLOORS $argv[2]
26 set_array INPUT_FILES $argv[4,-1]
27 
28 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
29 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
30 
31 source JAcoustics.sh $DETECTOR_ID
32 
33 CHECK_EXIT_CODE
34 
35 if [[ -z "${STRINGS[(r)$STRING]}" ]]; then
36  fatal "Invalid string $STRING; "\
37  "possible values: ${STRINGS[*]}"
38 fi
39 
40 if (( ${FLOORS%%-*} < $FIRST_FLOOR || ${FLOORS##*-} > $LAST_FLOOR )); then
41  fatal "Invalid floor $FLOORS; "\
42  "possible values: $FIRST_FLOOR-$LAST_FLOOR"
43 fi
44 
46 mkdir -p $TMPDIR
47 
48 for (( FLOOR = ${FLOORS%%-*}; $FLOOR <= ${FLOORS##*-}; FLOOR += 1 )); do
49 
50  set_variable MODULE `getModule -a $DETECTOR -L "$STRING $FLOOR"`
51  set_variable MODULE_TXT $WORKDIR/modulez_${STRING}_${FLOOR}.txt
52 
53  for (( Z = -1.0; $Z <= +1.0; Z += 0.05 )); do
54 
55  rm -f $TMPDIR/detector.detx
56 
57  JEditDetector \
58  -a $DETECTOR \
59  -k "$STRING" \
60  -M "$MODULE add 0.0 0.0 $Z" \
61  -o $TMPDIR/detector.detx
62 
63  rm -f $TMPDIR/katoomba.root
64 
65  JKatoomba \
66  -a $TMPDIR/detector.detx \
67  -f "$INPUT_FILES[*]" \
68  -o $TMPDIR/katoomba.root \
69  -T $WORKDIR/tripod.txt \
70  -V $WORKDIR/sound_velocity.txt \
71  -M $WORKDIR/mechanics.txt \
72  -@ $WORKDIR/acoustics_fit_parameters.txt \
73  -! $WORKDIR/disable.txt \
74  -F $FIT \
75  -u \
76  -d $DEBUG --!
77 
78  if (( `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetSumOfWeights"` > 1.0 )); then
79 
80  set_array RESULT `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetMean" -F "GetRMS / sqrt(GetSumOfWeights)"`
81 
82  printf "%7.3f %7.3f %7.3f\n" $Z $RESULT[*] >> $MODULE_TXT
83  else
84  error "No result."
85  fi
86  done
87 done
88 
89 rm -rf $TMPDIR
90 
then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison nIn only modules within the given range of floors are used fi case set_variable RANGE $argv[3]
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
do $JPP JMEstimator M
Definition: JMEstimator.sh:37
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
o $QUALITY_ROOT d $DEBUG!JPlot1D f
Definition: JDataQuality.sh:66
exit
Definition: JPizza.sh:36
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
then echo
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:20
do set_variable OUTPUT_DIRECTORY $WORKDIR T
set_variable NUMBER_OF_ITERATIONS set_variable EPSILON cat acoustics_fit_parameters txt<< EOF $CONFIGURATION[*]Nmin=3;sigma_s=100.0e-6;stdev=10.0;mestimator=0;fixStrings=0;EOF for STRING in $STRINGS[*];do#fit stretching and(z) position of given string set_variable DETECTOR_TMP ${TMPDIR:-/tmp}/detector_A.datx JEditDetector-a $DETECTOR-o $DETECTOR_TMP-r $STRING JEditDetector-a $DETECTOR-o $DETECTOR-k $STRING for MUL in 0.005 0.001;do DX_M=0.2 for((N=0;$N< $NUMBER_OF_ITERATIONS;++N));do CHI2[3]=$CHI2[1] fitPositionOfString $STRING Z $DX_M fitStretchingOfString $STRING $MUL if(($CHI2[3]-$CHI2[1]< $EPSILON));then break fi done if(($N >=$NUMBER_OF_ITERATIONS));then printf"warning: reached maximum number of iterations %d - converenge %7.3f\n"$N $(($CHI2[3]-$CHI2[1])) fi done JMergeDetector-a $DETECTOR-a $DETECTOR_TMP-o $DETECTOR rm-f $DETECTOR_TMP JConvertDetectorFormat-a $DETECTOR-o $DETECTOR-r-d 0 > &dev null done
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR if do_usage *then usage $script[(input file)+] fi set_variable DEBUG set_variable WORKDIR TMPDIR
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
Definition: JLegolas.sh:20
then awk F
* usage
then JConvertDetectorFormat a $DETECTOR[1] o
do sput $STRING $FLOOR sget MODULE INPUT_FILES
Definition: JCanberra.sh:73
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
then JCalibrateToT a
Definition: JTuneHV.sh:116
then set_variable MODULE getModule a $DETECTOR L $STRING $FLOOR JEditDetector a $DETECTOR M $MODULE add $X o $DETECTOR else echo No update of detector $DETECTOR
do typeset Z STRING typeset Z FLOOR set_variable MODULE_TXT $WORKDIR modulez_
Definition: module-Z:fit.sh:35
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
then display $WORKDIR
Definition: plot-Domino.sh:128
do set_variable MODULE getModule a $WORKDIR detector_a datx L $STRING JEditDetector a $WORKDIR detector_a datx M $MODULE setz o $WORKDIR detector_a datx JEditDetector a $WORKDIR detector_b datx M $MODULE setz o $WORKDIR detector_b datx done echo Output stored at $WORKDIR detector_a datx and $WORKDIR tripod_a txt JDrawDetector2D a $WORKDIR detector_a datx a $WORKDIR detector_b datx L BL o detector $FORMAT $BATCH JDrawDetector2D T $WORKDIR tripod_a txt T $WORKDIR tripod_b txt L BL o tripod $FORMAT $BATCH JCompareDetector a $WORKDIR detector_a datx b $WORKDIR detector_b datx o $WORKDIR abc root &dev null for KEY in X Y Z
set_variable DETECTOR
do set_variable DETECTOR_TXT $WORKDIR detector
double u[N+1]
Definition: JPolint.hh:739
script
Definition: JAcoustics.sh:2
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
const JModule & getModule(const JDetector &detector, const JModuleLocation &location)
find module with a given string and floor number