4 if [ -z $JPP_DIR ];
then
5 echo "Variable JPP_DIR undefined."
9 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/
null
15 "(sqrt(1.0 + 0.5*(x-[2])*(x-[2])/([5]*[5])) - 1.0) + "\
16 "(sqrt(1.0 + 0.5*(y-[3])*(y-[3])/([6]*[6])) - 1.0) + "\
17 "[4]*(x-[2])*(y-[3])/([5]*[6]) "\
21 usage "$script <string identifier> [<detector file>]"
24 if (( $# == 0 || $# > 2 ));
then
25 fatal
"Wrong number of arguments."
35 if [[ ! -
f $DETECTOR_TXT ]]
then
36 fatal
"No detector data file $DETECTOR_TXT."
43 sort -gr -
k 3,3 $DETECTOR_TXT | tail -1 |
read X Y Z RMS
58 END { print XMIN, XMAX, YMIN, YMAX }
60 if ( $1 < XMIN ) { XMIN = $1 }
61 if ( $1 > XMAX ) { XMAX = $1 }
62 if ( $2 < YMIN ) { YMIN = $2 }
63 if ( $2 > YMAX ) { YMAX = $2 }
67 if (( $X > $XMIN && $X < $XMAX && $Y > $YMIN && $Y < $YMAX ));
then
75 -
f ${DETECTOR_ROOT}:\.\* \
87 -
R "p2 = $XMIN $XMAX" \
88 -
R "p3 = $YMIN $YMAX" \
92 set_array P2 `JPrintFit -
f $WORKDIR/fit.root:user -@
p2`
93 set_array P3 `JPrintFit -
f $WORKDIR/fit.root:user -@
p3`
98 printf
"nominal %4d %7.3f %7.3f %7.3f\n" $STRING 0.0 0.0 `JPrintFit -
f $WORKDIR/fit.root:user -x
"0.0 0.0 "`
99 printf
"optimal %4d %7.3f %7.3f %7.3f\n" $STRING $X $Y `JPrintFit -
f $WORKDIR/fit.root:user -x
"$X $Y"`
105 echo "Optimum value at limit; -> no fit."
106 printf
"nominal %4d %7.3f %7.3f %7.3f\n" $STRING 0.0 0.0 `awk -
v X=0.0 -
v Y=0.0
'{ if ($1 == X && $2 == Y) { print $3 }}' $DETECTOR_TXT`
107 printf
"optimal %4d %7.3f %7.3f %7.3f\n" $STRING $X $Y $Z
111 if (( $# == 2 ));
then
118 -s
"$STRING add 0.0 0.0 $X" \
119 -s
"$STRING mul $Y" \
126 -
f ${DETECTOR_ROOT}:\.\* \
137 rm -
f $DETECTOR_ROOT
$G1_TXT $G1_ROOT
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTOR_TXT $WORKDIR detectorzmul_
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
bool read(Vec &v, std::istream &is)
Read a Vec(tor) from a stream.
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
fatal Invalid number of arguments esac let YMIN
then fatal Invalid string $STRING
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
do set_variable OUTPUT_DIRECTORY $WORKDIR T
then break fi done getCenter read X Y Z let X
*set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2,-2] set_variable OUTPUT_FILE $argv[-1]
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR set_variable NORTH set_variable EAST set_variable SOUTH set_variable WEST set_variable WORKDIR tmp set_variable R set_variable CT set_variable YMAX set_variable YMIN if do_usage *then usage $script[distance] fi case set_variable R
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
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
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR tmp set_variable JDAQ_TIMESLICE JDAQTimeslice if do_usage *then usage $script< detector file >< inputfile > fi case set_variable WORKDIR
then usage $script[input file[working directory[option]]] nWhere option can be N
do typeset Z STRING typeset Z FLOOR set_variable MODULE_TXT $WORKDIR $MODULE_TXT tail read X ZMAX RMS sort gr $MODULE_TXT tail read X ZMIN RMS echo $X $ZMIN $G1_TXT
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
Double_t g1(const Double_t x)
Function.