Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JSoundVelocity.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 
12 set_variable DIR $JPP_DIR/examples/JAcoustics/
14 set_variable QUANTILE 0.0
15 set_variable TMAX_S 0.1
16 set_variable NUMBER_OF_HITS 15
17 
18 set_variable VELOCITY_TXT $WORKDIR/velocity.txt
19 set_variable VELOCITY_ROOT $WORKDIR/velocity.root
20 
21 if ( do_usage $* ); then
22  usage "$script <detector> <run> [option]"\
23  "\nwhere <option> can be clean."
24 fi
25 
26 case $# in
28  2) set_variable RUN $argv[2];
30  1) set_variable OPTION $argv[1];;
31  *) fatal "Wrong number of arguments.";;
32 esac
33 
34 function clean()
35 {
36  rm -f $WORKDIR/detector.detx
37  rm -f $WORKDIR/tripod.txt
38  rm -f $WORKDIR/base.txt
39  rm -f $WORKDIR/toashort.root
40  rm -f $WORKDIR/event.root
41  rm -f $VELOCITY_TXT
42  rm -f $VELOCITY_ROOT
43  rm -f $WORKDIR/velocity.gif
44 }
45 
46 case "$OPTION" in
48  "") ;;
49  *) fatal "Wrong option $OPTION.";;
50 esac
51 
52 JCookie.sh
53 
54 if [[ -n "$DETECTOR" && -n "$RUN" ]]; then
55 
56 # create input files
57 
58  if [[ ! -f $WORKDIR/detector.detx ]]; then
59 
60  JDetectorDB \
61  -D $DETECTOR \
62  -r $RUN \
63  -o $WORKDIR/detector.detx --!
64  fi
65 
66  if [[ ! -f $WORKDIR/tripod.txt ]]; then
67 
68  cat>$WORKDIR/tripod.txt<<EOF
69 # some comment
70  12 587888 4017079 -3450.0
71  14 587436 4016992 -3450.0
72  16 587843 4016727 -3450.0
73 EOF
74  fi
75 
76  if [[ ! -f $WORKDIR/base.txt ]]; then
77 
78  $DIR/JBaseModuleWriter \
79  -a $WORKDIR/detector.detx \
80  -o $WORKDIR/base.txt
81  fi
82 
83  if [[ ! -f $WORKDIR/toashort.root ]]; then
84 
85 # create intemediate ROOT file for fast access
86 
87  JConvertDB \
88  -q toashort \
89  -@ "detid = `getDetector -D $DETECTOR`" \
90  -@ "minrun = $RUN" \
91  -@ "maxrun = $RUN" \
92  -o $WORKDIR/toashort.root \
93  -d $DEBUG --!
94  fi
95 
96  if ( ! reuse_file $VELOCITY_TXT ); then
97 
98  for A in \
99  1500.0 1510.0 1520.0 \
100  1530.0 1532.0 1534.0 1536.0 1538.0 \
101  1540.0 1542.0 1544.0 1546.0 1548.0 \
102  1550.0 1560.0 1570.0 1580.0; do
103 
104  rm -f event.root
105 
106  JAcousticsEventBuilder \
107  -a $WORKDIR/detector.detx \
108  -f $WORKDIR/toashort.root \
109  -@ "Q = $QUANTILE;" \
110  -@ "TMax_s = $TMAX_S;" \
111  -@ "numberOfHits = $NUMBER_OF_HITS;" \
112  -T $WORKDIR/tripod.txt \
113  -B $WORKDIR/base.txt \
114  -o $WORKDIR/event.root \
115  -V "$A" \
116  -d $DEBUG --!
117 
118  RMS=`$DIR/JPrintRMS -f $WORKDIR/event.root -N 1 -d0`
119 
120  let RMS="$RMS*1000"
121 
122  echo "$A $RMS" >> $VELOCITY_TXT
123 
124  done
125  fi
126 
127  JGraph \
128  -f $VELOCITY_TXT \
130 
131  JPlot1D \
132  -f $VELOCITY_ROOT:\.\* \
133  -x "1490 1590" \
134  -\> "V [m/s]" \
135  -\^ "RMS [ms]" \
136  -T "$DETECTOR [$RUN,$RUN]" \
137  -o $WORKDIR/velocity.gif
138 
139 fi
set_variable DETECTOR
do echo Generating $dir eval D
Definition: JDrawLED.sh:50
void set_variable(const std::string &name, const std::string &value)
Set environment variable.
then cat $WORKDIR tripod txt<< EOF 12 587888 4017079-3450.0 14 587436 4016992-3450.0 16 587843 4016727-3450.0EOF fi if[[!-f $WORKDIR/base.txt]];then $DIR/JBaseModuleWriter-a $WORKDIR/detector.detx-o $WORKDIR/base.txt fi if[[!-f $WORKDIR/toashort.root]];then JConvertDB-q toashort-@"detid = `getDetector -D $DETECTOR`"-@"minrun = $RUN"-@"maxrun = $RUN"-o $WORKDIR/toashort.root-d $DEBUG--!fi if(!reuse_file $VELOCITY_TXT);then for A in 1500.0 1510.0 1520.0 1530.0 1532.0 1534.0 1536.0 1538.0 1540.0 1542.0 1544.0 1546.0 1548.0 1550.0 1560.0 1570.0 1580.0;do rm-f event.root JAcousticsEventBuilder-a $WORKDIR/detector.detx-f $WORKDIR/toashort.root-@"Q = $QUANTILE;"-@"TMax_s = $TMAX_S;"-@"numberOfHits = $NUMBER_OF_HITS;"-T $WORKDIR/tripod.txt-B $WORKDIR/base.txt-o $WORKDIR/event.root-V"$A"-d $DEBUG--!RMS=`$DIR/JPrintRMS-f $WORKDIR/event.root-N 1-d0`let RMS="$RMS*1000"echo"$A $RMS" > $VELOCITY_TXT done fi JGraph f $VELOCITY_TXT o $VELOCITY_ROOT JPlot1D f $VELOCITY_ROOT
exit
Definition: JPizza.sh:36
do set_array DAQHEADER JPrintDAQHeader f
Definition: JTuneHV.sh:79
do echo Generating $dir eval DIR
Definition: JPlotNPE1D.sh:52
data_type r[M+1]
Definition: JPolint.hh:742
then echo
case $OPTION in clean clean
do set_variable OUTPUT_DIRECTORY $WORKDIR T
then rm i $OUTPUT_FILE fi let RUN
do $DIR JTransitTime o
Definition: JTransitTime.sh:44
* usage
*set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2,-2] set_variable OUTPUT_FILE $argv[-1]
Definition: JDomino.sh:39
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:45
then $JPP_DIR software JCalibrate JCalibrateToT a
Definition: JTuneHV.sh:108
alias put_queue eval echo n
Definition: qlib.csh:19
then display $WORKDIR
Definition: plot-Domino.sh:127
then usage $script< detector >< run >< outputfile > fi case set_variable OPTION
Definition: JTuna.sh:26
do set_variable DETECTOR_TXT $WORKDIR 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 typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:36
then usage $script[input file[working directory[option]]] nWhere option can be N
Definition: JMuonPostfit.sh:37
script
Definition: JAcoustics.sh:2
then usage $script< detector file >< inputfile > fi case set_variable WORKDIR
Definition: JLegolas.sh:28
source $JPP_DIR setenv csh $JPP_DIR eval JShellParser o a A
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
esac done
Definition: JAddHDE.sh:21
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62