Jpp - the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JEditTuneHV.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 # \author bjung
4 #
5 version=1.0
6 script=${0##*/}
7 
8 # ------------------------------------------------------------------------------------------------
9 #
10 # Utility script for finding PMT supply voltages corresponding to the nominal gain setting.
11 #
12 # ------------------------------------------------------------------------------------------------
13 
14 
15 if [ -z $JPP_DIR ]; then
16  echo "Variable JPP_DIR undefined."
17  exit
18 fi
19 
20 
21 source $JPP_DIR/setenv.sh $JPP_DIR
22 
23 set_variable: DEBUG EDITTUNEHV_DEBUG 2
24 
25 set_variable: DETID EDITTUNEHV_DETID -1
26 set_variable: RUNID EDITTUNEHV_RUNID -1
27 
28 set_array HVRANGE ${EDITTUNEHV_HVRANGE:--1500 -800}
29 
30 set_variable: WORKDIR EDITTUNEHV_WORKDIR /tmp
31 set_variable: OUTPUT_FILE EDITTUNEHV_OUTPUT_FILE "HVtuningEdit.json"
32 
33 
34 if do_usage $*; then
35  usage "$script <input file> <output files> [detector identifier] [run number] [PMT set]\n\n" \
36  "Note: The operation performed depends on the input parameters.\n" \
37  " Possible operations are to update according to:\n" \
38  " - the high-voltage settings corresponding to a specific DAQ run\n" \
39  " if both detector ID and run number are specified.\n" \
40  " - the vendor high-voltage settings\n" \
41  " if the detector ID is specified, but the run number is left unspecified.\n" \
42  " - manually specifiable values\n" \
43  " if both detector ID and run number are left unspecified.\n\n" \
44  " A set of PMTs on which the operation should be performed can be optionally\n" \
45  " specified via the command line."
46 fi
47 
48 case $# in
53 
54  set_array IDENTIFIERS ""
55  set_array PMTSET ""
56 
57  for ARGUMENT in ${argv[3,-1]}; do
58  if [[ ${ARGUMENT} =~ ^-?[0-9]+$ ]]; then
59  set_array IDENTIFIERS ${IDENTIFIERS[@]} ${ARGUMENT}
60  else
61  set_array PMTSET ${PMTSET[@]} ${ARGUMENT}
62  fi
63  done
64 
65  if (( ${#IDENTIFIERS} > 0 )); then
67  fi
68 
69  if (( ${#IDENTIFIERS} > 1 )); then
71  fi
72  ;;
73 esac
74 
76 
77 
78 # Retrieve cookie
79 JCookie.sh
80 
81 set_variable COOKIE $(cat ~/.km3netdb_cookie)
82 set_variable LOGIN ${${COOKIE#*_}%%_*}
83 set_variable LOCATIONID $(getLocationID -L ${LOGIN})
84 
85 
86 if (( ${DETID} > 0 )); then
87 
88  if (( ${RUNID} > 0 )); then
89 
90  if [[ ${DETID} =~ ^-?[0-9]+$ ]]; then
92  else
94  fi
95 
96  JAsciiDB \
97  -q pmt_hv_run_settings \
98  -@detoid=${DETOID} \
99  -@run=${RUNID} -- > ${WORKDIR}/HVfile.txt
100 
101  set_array HVTABLE 2 ${WORKDIR}/HVfile.txt
102 
103  else
104 
105  if [[ ! ${DETID} =~ ^-?[0-9]+$ ]]; then
106  set_variable DETID $( getDetector -D ${DETID} -- )
107  fi
108 
109  JAsciiDB \
110  -q vendorhv \
111  -@detid=${DETID} -- > ${WORKDIR}/HVfile.txt
112 
113  set_array HVTABLE 1 ${WORKDIR}/HVfile.txt
114  fi
115 fi
116 
117 
118 if (( 1 )); then
119 
120  timer_stop
121 
122  JEditTuneHV \
123  -f ${INPUT_FILE} \
124  -o ${OUTPUT_FILE} \
125  ${HVTABLE:+-b "${HVTABLE[*]}"} \
126  ${PMTSET:+-P "${PMTSET[*]}"} \
127  -#login=${LOGIN} \
128  -#locationID=${LOCATIONID} \
129  -#elapsedTime=${TIMER} \
130  -d ${DEBUG} --!
131 fi
132 
do echo Generating $dir eval D
Definition: JDrawLED.sh:50
set_variable LOCATIONID(getLocationID-L ${LOGIN}) if(($
Definition: JEditTuneHV.sh:83
set_variable INPUT_FILE
exit
Definition: JPizza.sh:36
then set_array IDENTIFIERS
Definition: JEditTuneHV.sh:59
then JPizza f
Definition: JPizza.sh:46
then echo
JDetectorsHelper getDetector
Function object for mapping serial number to object identifier of detector and vice versa...
Definition: JDBToolkit.cc:5
then set_variable DETID
Definition: JEditTuneHV.sh:66
then timer_start(JRandomTimesliceWriter-a ${DETECTOR}-o ${PIPE}-n ${NUMBER_OF_SLICES}-P ${PMT_FILE}-d ${DEBUG}-S ${SEED}-B"$BACKGROUND_HZ"-N"$RECYCLING"--!&&for((i=0;$i!=10;++i));do;echo 'EOF' > $PIPE;usleep 100000;done &&rm-f $PIPE)&JTimesliceReprocessor-a $
then set_variable DETOID(getDetector-D ${DETID}--) else set_variable DETOID DETID fi JAsciiDB-q pmt_hv_run_settings-@detoid
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:20
do $DIR JTransitTime o
Definition: JTransitTime.sh:44
* usage
then set_variable RUNID
Definition: JEditTuneHV.sh:70
&set_variable OUTPUT_FILE
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:45
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
Definition: JLegolas.sh:23
esac timer_start JCookie sh set_variable COOKIE(cat~/.km3netdb_cookie) set_variable LOGIN $
Definition: JEditTuneHV.sh:81
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:38
version
Definition: JCalibratePMT.sh:7
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:60
esac done
Definition: JAddHDE.sh:21