Jpp  15.0.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JCalibrateOrientation.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 CALIBRATION_DEBUG 1
12 set_variable WORKDIR `pwd`
13 set_variable QUEUE_NAME ${TMPDIR:-/tmp}/queue
14 set_variable QUEUE_SIZE 3
15 
16 APPLICATIONS=(prefit simplex gandalf) # fit applications
17 
18 if do_usage $*; then
19  usage "$script <detector file> <string identifier> (input file)+"
20 fi
21 
22 if (( $# < 3 )); then
23  fatal "Not enough arguments."
24 fi
25 
27 set_variable STRING_ID $argv[2]
28 
30 
31 if ( ! is_CCLyon ); then
32 
33  # local batch processor
34 
35  source qlib.sh
36 
37  $JPP_DIR/examples/scripts/mkqueue.sh $QUEUE_NAME $QUEUE_SIZE continue
38 
39 else
40  fatal "The job submission should be changed for running in CC-Lyon."
41 fi
42 
43 if [[ $DETECTOR != *\.detx ]]; then
44  fatal "Invalid detector file <${DETECTOR}>."
45 fi
46 
47 # set path
48 
49 for (( i=1; i <= ${#INPUT_FILES}; i+=1 )); do
50 
52 
53  if [[ -f `pwd`/$INPUT_FILE ]]; then
54  INPUT_FILES[${i}]=`pwd`/$INPUT_FILE
55  fi
56 done
57 
58 for ROTATE_RAD in -2.8 -2.4 -2.0 -1.6 -1.2 -0.8 -0.4 0 +0.4 +0.8 +1.2 +1.6 +2.0 +2.4 +2.8; do
59 
60  set_variable OUTPUT_DIRECTORY $WORKDIR/ID=${STRING_ID}:R=${ROTATE_RAD}
61 
62  mkdir -p -- $OUTPUT_DIRECTORY
63 
64  # detector calibration
65 
66  if [[ ! -f $OUTPUT_DIRECTORY/detector.detx ]]; then
67 
68  JEditDetector \
69  -a $DETECTOR \
70  -S "$STRING_ID rot $ROTATE_RAD" \
71  -o $OUTPUT_DIRECTORY/detector.detx --!
72 
73  fi
74 
75  for FILE_NAME in $INPUT_FILES[*]; do
76 
78  set_variable INPUT_FILE ${FILE_NAME}
79  set_variable OUTPUT_FILE ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/_${APP}.root}
80  set_variable BATCH_FILE ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/.sh}
81 
82  rm -f $BATCH_FILE
83 
84  echo "#!/bin/zsh" >> $BATCH_FILE
85 
86  if [[ ! -f ${OUPUT_FILE} ]]; then
87 
88  # sequentially processing of applications
89 
90  for APP in $APPLICATIONS[*]; do
91 
92  set_variable OUTPUT_FILE ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/_${APP}.root}
93 
94  echo "JARCA${(C)APP}.sh $OUTPUT_DIRECTORY/detector.detx $INPUT_FILE $OUTPUT_FILE >& /dev/null" >> $BATCH_FILE
95 
97 
98  done
99 
100  # cleanup
101 
102  for (( i=1; i < ${#APPLICATIONS}; i+=1 )); do
103 
104  set_variable APP ${APPLICATIONS[${i}]}
105  set_variable OUTPUT_FILE ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/_${APP}.root}
106 
107  echo "rm -f $OUTPUT_FILE" >> $BATCH_FILE
108 
109  done
110 
111  echo "rm -f $BATCH_FILE" >> $BATCH_FILE
112 
113  # submit job
114 
115  chmod +x $BATCH_FILE
116  puts_queue $QUEUE_NAME $BATCH_FILE
117 
118  fi
119  done
120 done
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[*]
set_variable INPUT_FILE
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR APPLICATIONS
Definition: JMuonPostfit.sh:25
then echo Submitting reweighting and histogram comparison jobs to nikhef stbc batch queue
o $QUALITY_ROOT d $DEBUG!JPlot1D f
Definition: JDataQuality.sh:66
exit
Definition: JPizza.sh:36
function puts_queue()
Definition: qlib.sh:34
then echo
do set_variable APP
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:20
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
then JFileTuna f $INPUT_FILE
Definition: file-Tuna.sh:66
then usage $script[distance] fi case set_variable R
Definition: JDrawLED.sh:43
do sput $STRING $FLOOR sget MODULE INPUT_FILES
Definition: JCanberra.sh:73
do set_variable SIGMA_NS set_variable OUTLIERS set_variable OUTPUT_FILE matrix[${ALPHA_DEG}\deg\] root $JPP JMatrixNZ a $DETECTOR f $INPUT_FILE o $OUTPUT_FILE S
Definition: JMatrixNZ.sh:58
&set_variable OUTPUT_FILE
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
then display $WORKDIR
Definition: plot-Domino.sh:128
set_variable DETECTOR
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 CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:42
script
Definition: JAcoustics.sh:2
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
then rm i $OUTPUT_FILE fi done for APP in $APPLICATIONS[*]