Jpp  15.0.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JCalibrateHeight.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> (input file)+"
20 fi
21 
22 if (( $# < 3 )); then
23  fatal "Not enough arguments."
24 fi
25 
27 
28 INPUT_FILES=($argv[2,-1])
29 
30 if ( ! is_CCLyon ); then
31 
32  # local batch processor
33 
34  source qlib.sh
35 
36  $JPP_DIR/examples/scripts/mkqueue.sh $QUEUE_NAME $QUEUE_SIZE continue
37 
38 else
39  fatal "The job submission should be changed for running in CC-Lyon."
40 fi
41 
42 if [[ $DETECTOR != *\.detx ]]; then
43  fatal "Invalid detector file <${DETECTOR}>."
44 fi
45 
46 # set path
47 
48 for (( i=1; i <= ${#INPUT_FILES}; i+=1 )); do
49 
50  set_variable INPUT_FILE ${INPUT_FILES[${i}]}
51 
52  if [[ -f `pwd`/$INPUT_FILE ]]; then
53  INPUT_FILES[${i}]=`pwd`/$INPUT_FILE
54  fi
55 done
56 
57 
58 for TIME_OFFSET_NS in +20.4; do
59  for MULTIPLICATION in 0.94 0.96 0.97 0.98 0.99 1.00 1.01 1.02 1.03 1.04 1.06; do
60 
61  set_variable OUTPUT_DIRECTORY $WORKDIR/T=${TIME_OFFSET_NS}:M=${MULTIPLICATION}
62 
63  mkdir -p -- $OUTPUT_DIRECTORY
64 
65  # detector calibration
66 
67  if [[ ! -f $OUTPUT_DIRECTORY/detector.detx ]]; then
68 
69  JEditDetector \
70  -a $DETECTOR \
71  -s "1 add $TIME_OFFSET_NS" \
72  -s "1 mul $MULTIPLICATION" \
73  -s "2 mul $MULTIPLICATION" \
74  -o $OUTPUT_DIRECTORY/detector.detx --!
75 
76  fi
77 
78  for FILE_NAME in $INPUT_FILES[*]; do
79 
81  set_variable INPUT_FILE ${FILE_NAME}
82  set_variable OUTPUT_FILE ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/_${APP}.root}
83  set_variable BATCH_FILE ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/.sh}
84 
85  rm -f $BATCH_FILE
86 
87  echo "#!/bin/zsh" >> $BATCH_FILE
88 
89  if [[ ! -f ${OUPUT_FILE} ]]; then
90 
91  # sequentially processing of applications
92 
93  for APP in $APPLICATIONS[*]; do
94 
95  set_variable OUTPUT_FILE ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/_${APP}.root}
96 
97  echo "JARCA${(C)APP}.sh $OUTPUT_DIRECTORY/detector.detx $INPUT_FILE $OUTPUT_FILE >& /dev/null" >> $BATCH_FILE
98 
100 
101  done
102 
103  # cleanup
104 
105  for (( i=1; i < ${#APPLICATIONS}; i+=1 )); do
106 
107  set_variable APP ${APPLICATIONS[${i}]}
108  set_variable OUTPUT_FILE ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/_${APP}.root}
109 
110  echo "rm -f $OUTPUT_FILE" >> $BATCH_FILE
111 
112  done
113 
114  echo "rm -f $BATCH_FILE" >> $BATCH_FILE
115 
116  # submit job
117 
118  chmod +x $BATCH_FILE
119  puts_queue $QUEUE_NAME $BATCH_FILE
120 
121  fi
122  done
123  done
124 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[*]
do $JPP JMEstimator M
Definition: JMEstimator.sh:37
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
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
then JFileTuna f $INPUT_FILE
Definition: file-Tuna.sh:66
do sput $STRING $FLOOR sget MODULE INPUT_FILES
Definition: JCanberra.sh:73
&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[*]