Jpp  15.0.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
acoustics-Zmul.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 `pwd`
13 set_array MULS -2.0e-2 -1.7e-2 -1.6e-2 -1.5e-2 -1.4e-2 -1.3e-2 -1.2e-2 -1.1e-2 -1.0e-2 -0.9e-2 -0.9e-2 -0.8e-2 -0.5e-2 +0.0e-2 +0.5e-2
14 set_variable FORMULA "[0] + [1] * ((x-[2])*(x-[2])/([3]*[3]))"
15 set_variable: FORMAT GRAPHICS_FORMAT gif
16 set_variable+ BATCH GRAPHICS_BATCH -B
17 
18 if do_usage $*; then
19  usage "$script <detector specific acoustics-fit script> <option>"\
20  "\nAuxiliary script to make scan of pre-stretching of detector strings (see JEditDetector)."\
21  "\nPossible options: run, plot or fit."
22 fi
23 
24 if (( $# < 1 || $# > 2)); then
25  fatal "Wrong number of arguments."
26 fi
27 
28 # global variables
29 
30 set_variable SCRIPT $argv[1]
32 
33 if [[ $OPTION != "run" && $OPTION != "plot" && $OPTION != "fit" ]]; then
34  fatal "Invalid option $OPTION."
35 fi
36 
37 if [[ $OPTION == "run" ]]; then
38 
39  for MUL in $MULS[*]; do
40 
41  set_variable DIR $WORKDIR/mul=$MUL
42 
43  mkdir -p $DIR
44  cd $DIR
45 
46  # set varibales in script
47 
48  set_variable ACOUSTICS_MUL $MUL
49  set_variable ACOUSTICS_STAGES A
50 
51  nohup $SCRIPT >& all.log &
52  done
53 fi
54 
55 if [[ $OPTION == "plot" || $OPTION == "fit" ]]; then
56 
57  set_variable ACOUSTICS_ZMUL_TXT ${TMPDIR:-/tmp}/acoustics-zmul.txt
58  set_variable ACOUSTICS_ZMUL_ROOT ${TMPDIR:-/tmp}/acoustics-zmul.root
59 
60  rm -f $ACOUSTICS_ZMUL_TXT >& /dev/null
61 
62  for MUL in $MULS[*]; do
63 
64  set_variable DIR $WORKDIR/mul=$MUL
65  set_variable FILE `ls $DIR/stage-(1|A).log`
66 
67  tail -1 $FILE | grep "Elapsed time" >& /dev/null
68 
69  if (( $? == 0 )); then
70 
71  set_array RESULT `grep -v "warning" $FILE | tail -2 | head -1`
72 
73  printf "%4.1e %6.3f\n" $MUL $RESULT[-1] >> $ACOUSTICS_ZMUL_TXT
74  fi
75  done
76 
77  JGraph \
78  -f $ACOUSTICS_ZMUL_TXT \
79  -o $ACOUSTICS_ZMUL_ROOT
80 
81  XMIN=`sort -k1g $ACOUSTICS_ZMUL_TXT | head -1 | awk '{ print $1 }'`
82  XMAX=`sort -k1g $ACOUSTICS_ZMUL_TXT | tail -1 | awk '{ print $1 }'`
83 
84  let XMIN="$XMIN - 1.0e-3"
85  let XMAX="$XMAX + 1.0e-3"
86 
87  if [[ $OPTION == "fit" ]]; then
88 
89  sort -gr -k2gr $ACOUSTICS_ZMUL_TXT | tail -1 | read X Y
90 
91  JFit \
92  -f ${ACOUSTICS_ZMUL_ROOT}:\.\* \
93  -o ${TMPDIR:-/tmp}/fit.root \
94  -F "$FORMULA" \
95  -@ "p0 = $Y" \
96  -@ "p1 = 0.1" \
97  -@ "p2 = $X" \
98  -@ "p3 = 0.002" \
99  -d $DEBUG
100 
101  set_array P2 `JPrintFit -f ${TMPDIR:-/tmp}/fit.root:\.\* -@p2`
102 
103  printf "Optimal stretching factor %8.2e\n" $P2[1]
104 
105  mv ${TMPDIR:-/tmp}/fit.root $ACOUSTICS_ZMUL_ROOT
106 
107  fi
108 
109  JPlot1D \
110  -f $ACOUSTICS_ZMUL_ROOT:\.\* \
111  -x "$XMIN $XMAX" \
112  -\> "M" \
113  -\^ "#chi^{2}/NDF" \
114  -T "" \
115  -o acoustics-zmul.$FORMAT $BATCH
116 fi
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 usage $script< detector >< run >< outputfile > fi case set_variable OPTION
Definition: JTuna.sh:26
std::istream & read(std::istream &in, JTestSummary &summary, const char delimiter= ' ')
Read test summary.
o $QUALITY_ROOT d $DEBUG!JPlot1D f
Definition: JDataQuality.sh:66
exit
Definition: JPizza.sh:36
do echo Generating $dir eval DIR
Definition: JPlotNPE1D.sh:54
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTORXY_TXT $WORKDIR $DETECTORXY_TXT tail read X Y CHI2 RMS printf optimum n $X $Y $CHI2 $RMS awk v Y
then echo
do FILE
Definition: JFilter.sh:49
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 STRING_TXT awk
do set_variable OUTPUT_DIRECTORY $WORKDIR T
then break fi done getCenter read X Y Z let X
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
&set_variable FORMULA
p2
Definition: module-Z:fit.sh:74
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
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
then let XMIN
data_type v[N+1][M+1]
Definition: JPolint.hh:740
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
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
script
Definition: JAcoustics.sh:2
*fatal Wrong option $OPTION
then cat $TRIPOD_INITIAL<< EOF1 256877.5 4743716.7-2438.42 256815.5 4743395.0-2435.53 257096.2 4743636.0-2439.5EOFfiJEditDetector-a $DETECTOR_INITIAL-@"z = -2441.5"-s"-1 mul $MUL"-o $DETECTORcp-p $TRIPOD_INITIAL $TRIPODJAcoustics.sh $DETECTOR_IDJAcousticsEventBuilder.sh $DETECTOR $RUNS[*]cd $WORKDIRif[!$HOMEDIR-ef $WORKDIR];then cp-p $HOMEDIR/$TRIPOD $WORKDIR cp-p $HOMEDIR/$DETECTOR $WORKDIR for RANGE in $RUNS[*];do for((RUN=${RANGE%%-*};$RUN<=${RANGE##*-};RUN+=1));do cp-p $HOMEDIR/KM3NeT_ ${(l:8::0::0:) DETECTOR_ID}_ ${(l:8::0::0:) RUN}_event.root $WORKDIR done done JAcoustics.sh $DETECTOR_IDfifor STAGE in`echo $STAGES`;do $JPP_DIR/examples/JAcoustics/acoustics-fit.sh $DETECTOR $TRIPOD $STAGE $WORKDIR/KM3NeT_ ${(l:8::0::0:) DETECTOR_ID}_ *event.root > $HOMEDIR stage
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null