Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JAcceptanceTest.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 
3 version=1.0
4 script=${0##*/}
5 
6 
7 if [ -z $JPP_DIR ]; then
8  echo "Variable JPP_DIR undefined."
9  exit
10 fi
11 
12 source $JPP_DIR/setenv.sh $JPP_DIR
13 
14 if (( $# < 3 )); then
15  fatal "Not enough arguments."
16 fi
17 
21 
22 set_variable OUTPUT_JC_TOT ${OUTPUT_DIR}/$(basename $DAQ_FILE .root)_JC_TOT.root
23 set_variable OUTPUT_JMERGE_TOT ${OUTPUT_DIR}/$(basename $DAQ_FILE .root)_JMerge_TOT.root
24 set_variable OUTPUT_JFIT_TOT ${OUTPUT_DIR}/$(basename $DAQ_FILE .root)_JFit_TOT.root
25 set_variable PMT_PARAMETERS_FILE ${OUTPUT_DIR}/$(basename $DAQ_FILE .root)_TOT.txt
26 set_variable OUTPUT_JDA ${OUTPUT_DIR}/$(basename $DAQ_FILE .root)_JDA.root
27 
28 
29 set_variable SELECTOR JDAQTimeslice
31 
32 JCalibrateToT \
33  -a ${DETECTOR_FILE} \
34  -C ${SELECTOR} \
35  -O filter \
36  -f ${DAQ_FILE} \
37  -o ${OUTPUT_JC_TOT} --!
38 
39 JMergeCalibrateToT \
40  -f ${OUTPUT_JC_TOT} \
41  -o ${OUTPUT_JMERGE_TOT} --!
42 
43 JFitToT \
44  -P ${PMT_PARAMETERS_FILE} \
45  -a ${DETECTOR_FILE} \
46  -f ${OUTPUT_JMERGE_TOT} \
47  -o ${OUTPUT_JFIT_TOT} \
48  -x "0.0 -1.0" \
49  -w --!
50 
51 ${JPP_DIR}/examples/JDOMProduction/JDomAnalyser \
52  -f ${DAQ_FILE} \
53  -o ${OUTPUT_JDA} \
54  --!
55 
56 #---- loop over DOMs and for each print the gains (for copying into DIA interface)
57 
58 eval `JPrintDetector -a $DETECTOR_FILE -O SUMMARY`
59 
60 attach getModule -a $DETECTOR_FILE
61 
62 for STRING in $STRINGS[*]; do
63  for (( FLOOR = $FIRST_FLOOR; $FLOOR <= $LAST_FLOOR; FLOOR += 1 )); do
64 
65  GAINS=()
66  RATES=()
67 
68  print -u $FD_O "$STRING $FLOOR"
69  read MODULE <& $FD_I
70 
71  for (( CHAN = 0; $CHAN < $NUMBER_OF_PMTS; CHAN += 1 )); do
72 
73  GAINS+=(`awk -v mod=$MODULE -v chan=$CHAN '($1=="PMT=" && $2==mod && $3==chan){print $5}' ${PMT_PARAMETERS_FILE}`)
74  RATES+=(`JPrintResult -f ${OUTPUT_JDA}:rate_${MODULE}.${CHAN}$ -F "GetMean"`)
75 
76  JPlot1D \
77  -f ${OUTPUT_JFIT_TOT}:${MODULE}\.${CHAN}\.1ToT \
78  -Y \
79  -y "1.e-7 1.5e-1" \
80  -\> "ToT" \
81  -T "${MODULE}: ${CHAN}" \
82  -o ${OUTPUT_DIR}/gain_${(l(2)(0))CHAN}.gif -B
83 
84  JPlot1D \
85  -f ${OUTPUT_JDA}:rate_${MODULE}.${CHAN}$ \
86  -Y \
87  -y "1.e-7 1e5" \
88  -X \
89  -\> "Rate [Hz]" \
90  -T "${MODULE}: ${CHAN}" \
91  -o ${OUTPUT_DIR}/rate_${(l(2)(0))CHAN}.gif -B
92 
93  done
94 
95  JSON="{\n\"module\":$MODULE,\n"
96 
97  JSON+="\"gains\":["
98  JSON+=$(IFS=, ; echo "${GAINS[*]}")
99  JSON+="],\n"
100 
101  JSON+="\"rates\":["
102  JSON+=$(IFS=, ; echo "${RATES[*]}")
103  JSON+="]\n}"
104 
105  echo -e ${JSON}
106 
107  montage \
108  -tile 6x6 \
109  -geometry +0+0 \
110  ${OUTPUT_DIR}/gain*.gif \
111  ${OUTPUT_DIR}/${MODULE}_gain.gif
112 
113  montage \
114  -tile 6x6 \
115  -geometry +0+0 \
116  ${OUTPUT_DIR}/rate*.gif \
117  ${OUTPUT_DIR}/${MODULE}_rate.gif
118  done
119 done
120 
121 rm -f ${OUTPUT_DIR}/gain*.gif
122 rm -f ${OUTPUT_DIR}/rate*.gif
123 
124 detach
125 
126 
data_type w[N+1][M+1]
Definition: JPolint.hh:708
void set_variable(const std::string &name, const std::string &value)
Set environment variable.
then check_input_file $DETECTOR $INPUT_FILE for OPTION in A B C D E F
Definition: JFilter.sh:47
bool read(Vec &v, std::istream &is)
Read a Vec(tor) from a stream.
Definition: io_ascii.hh:139
then set_variable singlesRate set_variable doublesRate set_variable numberOfSlices echo Generating random background echo Singles rate
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
Definition: JSirene.sh:45
exit
Definition: JPizza.sh:36
fi JEventTimesliceWriter a
DETECTOR_FILE
Definition: JHistHDE.sh:15
then JPizza f
Definition: JPizza.sh:46
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR set_variable DEBUG set_variable NPE set_variable FIT_RANGE set_variable OUTPUT_DIR tmp set_variable OUTPUT_JSON $OUTPUT_DIR HVtuning json set_variable OUTPUT_ROOT $OUTPUT_DIR HVtuning root set_variable FIT_OPTIONS RME set_variable PMT_DEFAULT gain
Definition: JTuneHV.sh:30
then echo
then fatal Not enough arguments fi set_variable DAQ_FILE $argv[1] set_variable DETECTOR_FILE $argv[2] set_variable OUTPUT_DIR $argv[3] set_variable OUTPUT_JC_TOT
do set_variable OUTPUT_DIRECTORY $WORKDIR T
*fatal Invalid number of arguments esac set_variable TYPE F eval JPrintDetector a $DETECTOR O SUMMARY attach getModule a $DETECTOR typeset Z STRING typeset Z FLOOR for STRING in $STRINGS[*]
&set_variable SELECTOR
print
Definition: JConvertDusj.sh:44
&set_variable DETECTOR_FILE set_variable DAQ_FILE
do GAINS
*set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2,-2] set_variable OUTPUT_FILE $argv[-1]
Definition: JDomino.sh:39
data_type v[N+1][M+1]
Definition: JPolint.hh:707
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
Definition: JDAQ.hh:26
double u[N+1]
Definition: JPolint.hh:706
static const double C
Speed of light in vacuum [m/ns].
Definition: JConstants.hh:22
version
Definition: JCalibratePMT.sh:7
const JModule & getModule(const JDetector &detector, const JModuleLocation &location)
find module with a given string and floor number
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:60
esac done
Definition: JAddHDE.sh:21
&set_variable OUTPUT_DIR