Jpp  15.0.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
plot-equalizer.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 if [ -z $JPP_DIR ]; then
10  echo "Variable JPP_DIR undefined."
11  exit
12 fi
13 
14 source $JPP_DIR/setenv.sh $JPP_DIR
15 
17 set_variable WORKDIR `pwd`
18 set_variable: FORMAT GRAPHICS_FORMAT gif
19 set_variable+ BATCH GRAPHICS_BATCH -B
20 
21 if do_usage $*; then
22  usage "$script <detector file> (input file)+"
23 fi
24 
25 if (( $# < 2 )); then
26  fatal "Wrong number of arguments."
27 fi
28 
30 set_array INPUT_FILES $argv[2,-1]
31 
32 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
33 
34 kill_child_processes_at_exit
35 
36 attach getModule -a $DETECTOR
37 
38 for STRING in $STRINGS[*]; do
39 
40  rm -f ${TMPDIR:-/tmp}/H1-${(l:4::0::0:)STRING}_*.$FORMAT
41 
42  echo -n "Creating graphics for string ${(l:4::0::0:)STRING}:"
43 
45 
46  for (( FLOOR = $FIRST_FLOOR; $FLOOR <= $LAST_FLOOR; FLOOR += 1 )); do
47 
48  echo -n " ${FLOOR}"
49 
50  sput $STRING $FLOOR
51  sget MODULE
52 
53  JPlot1D \
54  -f "${INPUT_FILES//root/root:H1\[${MODULE}\]}" \
55  -y "0.0 10.0" \
56  -\> "PMT" \
57  -\^ "rate [Hz]" \
58  -T "(${(l:4::0::0:)STRING},${(l:2::0::0:)FLOOR})" \
59  -o ${TMPDIR:-/tmp}/H1-${(l:4::0::0:)STRING}_${(l:2::0::0:)FLOOR}.$FORMAT $BATCH
60  done
61 
62  montage \
63  -tile 6x3 \
64  -geometry +0+0 \
65  ${TMPDIR:-/tmp}/H1-${(l:4::0::0:)STRING}_*.$FORMAT \
66  H1-${(l:4::0::0:)STRING}.$FORMAT >& /dev/null
67 
68  echo
69 done
70 
71 
72 for STRING in $STRINGS[*]; do
73 
74  echo -n "Creating graphics for string ${(l:4::0::0:)STRING}"
75 
76  HISTOGRAMS=()
77 
78  for INPUT_FILE in $INPUT_FILES[*]; do
79 
80  set_variable TOKEN ${INPUT_FILE%%/*}
81  set_variable STRING_TXT ${TMPDIR:-/tmp}/H0\[${TOKEN}\].txt
82  set_variable STRING_ROOT ${TMPDIR:-/tmp}/H0\[${TOKEN}\].root
83 
84  rm -f $STRING_TXT $STRING_ROOT
85 
86  set_variable FIRST_FLOOR 1
87 
88  for (( FLOOR = $FIRST_FLOOR; $FLOOR <= $LAST_FLOOR; FLOOR += 1 )); do
89 
90  sput $STRING $FLOOR
91  sget MODULE
92 
93  set_variable P1 `JPrintResult -f "${INPUT_FILE}:H0\[${MODULE}\]" -F "GetMean"`
94  set_variable P2 0.0
95 
96  printf "%2d %7.3f %7.4f\n" $FLOOR $P1 $P2 >> $STRING_TXT
97 
98  done
99 
100  JGraph -f $STRING_TXT -o $STRING_ROOT
101 
102  HISTOGRAMS+=("${STRING_ROOT}:.*")
103 
104  done
105 
106  JPlot1D \
107  -f "$HISTOGRAMS[*]" \
108  -x "0.5 18.5" \
109  -y "6.0 8.0" \
110  -> "floor" \
111  -\^ "rate [Hz]" \
112  -T "${(l:4::0::0:)STRING}" \
113  -o H0-${(l:4::0::0:)STRING}.$FORMAT $BATCH
114 
115  echo
116 
117 done
118 
119 detach
do echo n Creating graphics for string $STRING HISTOGRAMS
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 echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR set_variable DEBUG set_variable WORKDIR if do_usage *then usage for INPUT_FILE in $INPUT_FILES[*]
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
set_variable INPUT_FILE
o $QUALITY_ROOT d $DEBUG!JPlot1D f
Definition: JDataQuality.sh:66
exit
Definition: JPizza.sh:36
then echo
do JCanberra a $DETECTOR f $INPUT_FILE o $WORKDIR canberra[${EMITTER}\] root T $WORKDIR tripod txt V $WORKDIR sound_velocity txt M $WORKDIR mechanics txt H $WORKDIR hydrophone txt E $EMITTER $DISABLE d $DEBUG!done kill_child_processes_at_exit attach getModule a $DETECTOR typeset Z STRING typeset Z FLOOR for STRING in $STRINGS[*]
Definition: JCanberra.sh:64
const int n
Definition: JPolint.hh:660
then fatal Invalid string $STRING
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:20
*fatal Wrong number of arguments esac eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable FIRST_FLOOR
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
* usage
then JConvertDetectorFormat a $DETECTOR[1] o
do sput $STRING $FLOOR sget MODULE INPUT_FILES
Definition: JCanberra.sh:73
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
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
set_variable DETECTOR
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:42
version
Definition: JCalibratePMT.sh:7
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