Jpp  15.0.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
plot-PMTParameters2D.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 #
4 # \author mdejong
5 #
6 version=1.0
7 script=${0##*/}
8 
9 if [ -z $JPP_DIR ]; then
10  echo "Variable JPP_DIR undefined."
11  exit
12 fi
13 
14 source $JPP_DIR/setenv.sh $JPP_DIR
15 
16 
18 set_variable WORKDIR `pwd`
19 set_variable OUTPUT_FILE $WORKDIR/pmt_parameters.root
20 set_variable DIR $JPP_DIR/examples/JDetector/
22 set_variable: FORMAT GRAPHICS_FORMAT gif
23 set_variable+ BATCH GRAPHICS_BATCH -B
24 
25 if do_usage $*; then
26  usage "$script <detector file> (PMT parameters file)+"
27 fi
28 
29 if (( $# < 2 )); then
30  fatal "Wrong number of parameters."
31 fi
32 
34 
35 INPUT_FILES=($argv[2,-1])
36 
37 $DIR/JPlotPMTParameters2D \
38  -a $DETECTOR \
39  -P "$INPUT_FILES" \
40  -o $OUTPUT_FILE \
41  -d $DEBUG -A --!
42 
43 # parameters and plot ranges
44 
45 typeset -A Y_RANGE
46 
47 Y_RANGE+=(EFFICIENCY " 0.0 1.5")
48 Y_RANGE+=(QE " 0.0 1.5")
49 Y_RANGE+=(gain " 0.0 1.5")
50 Y_RANGE+=(gainSpread " 0.0 1.0")
51 Y_RANGE+=(riseTime_ns " 0.0 15.0")
52 Y_RANGE+=(TTS_ns "-5.0 +5.0")
53 Y_RANGE+=(threshold " 0.0 1.0")
54 Y_RANGE+=(slope " 0.0 15.0")
55 Y_RANGE+=(saturation " 0.0 250.0")
56 Y_RANGE+=(slewing " 0.0 1.5")
57 
58 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
59 
61 
62 kill_child_processes_at_exit
63 
64 attach getModule -a $DETECTOR
65 
66 typeset -Z 4 STRING
67 typeset -Z 2 FLOOR
68 
69 let XMIN=-0.5
70 let XMAX=${NUMBER_OF_PMTS}-0.5
71 
72 for STRING in $STRINGS[*]; do
73 
74  for (( FLOOR = $FIRST_FLOOR; $FLOOR <= $LAST_FLOOR; FLOOR += 1 )); do
75 
76  sput $STRING $FLOOR
77  sget MODULE
78 
79  for KEY in ${(k)Y_RANGE}; do
80 
81  debug "($STRING,$FLOOR) $KEY"
82 
83  JPlot2D \
84  -f ${OUTPUT_FILE}:${MODULE}\.${KEY}\$ \
85  -z $Y_RANGE[${KEY}] \
86  -O COLZ \
87  -\> "index" \
88  -\< "PMT" \
89  -\^ "$KEY" \
90  -T "(${STRING},${FLOOR})" \
91  -o ${TMPDIR:-/tmp}/${KEY}_${STRING}_${FLOOR}.$FORMAT $BATCH
92 
93  JProject2D \
94  -f ${OUTPUT_FILE}:${MODULE}\.${KEY}\$ \
95  -P X -y "$XMIN $XMAX" \
96  -o ${TMPDIR:-/tmp}/project.root
97 
98  JScale1D \
99  -f ${TMPDIR:-/tmp}/project.root:\.\* \
100  -o ${TMPDIR:-/tmp}/scale.root \
101  -F "1.0/${NUMBER_OF_PMTS}" \
102  -O "nosw2"
103 
104  JPlot1D \
105  -f ${TMPDIR:-/tmp}/scale.root:\.\* \
106  -y $Y_RANGE[${KEY}] \
107  -\> "index" \
108  -\^ "<$KEY>" \
109  -T "(${STRING},${FLOOR})" \
110  -o ${TMPDIR:-/tmp}/P_${KEY}_${STRING}_${FLOOR}.$FORMAT $BATCH
111 
112 
113  done
114  done
115 
116  for KEY in ${(k)Y_RANGE}; do
117 
118  montage \
119  -tile 6x3 \
120  -geometry +0+0 \
121  ${TMPDIR:-/tmp}/${KEY}_${STRING}_{01..18}.$FORMAT \ $WORKDIR/${KEY}_${STRING}.$FORMAT >& /dev/null
122  done
123 
124  for KEY in ${(k)Y_RANGE}; do
125 
126  montage \
127  -tile 6x3 \
128  -geometry +0+0 \
129  ${TMPDIR:-/tmp}/P_${KEY}_${STRING}_{01..18}.$FORMAT \ $WORKDIR/P_${KEY}_${STRING}.$FORMAT >& /dev/null
130  done
131 done
132 
133 detach
134 
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 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
o $QUALITY_ROOT d $DEBUG!JPlot1D f
Definition: JDataQuality.sh:66
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
Definition: diff-Tuna.sh:38
exit
Definition: JPizza.sh:36
do echo Generating $dir eval DIR
Definition: JPlotNPE1D.sh:54
then echo
do JCanberra a $DETECTOR f $INPUT_FILE o $WORKDIR canberra[${EMITTER}\] root T $WORKDIR tripod txt V $WORKDIR sound_velocity txt M $WORKDIR mechanics txt H $WORKDIR hydrophone txt E $EMITTER $DISABLE d $DEBUG!done kill_child_processes_at_exit attach getModule a $DETECTOR typeset Z STRING typeset Z FLOOR for STRING in $STRINGS[*]
Definition: JCanberra.sh:64
then fatal Invalid string $STRING
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:20
*fatal Wrong number of arguments esac eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable FIRST_FLOOR
do set_variable OUTPUT_DIRECTORY $WORKDIR T
then break fi done getCenter read X Y Z let X
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 $JPP_DIR examples JDetector JSlewing P slewing
Definition: JSlewing.sh:43
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
int debug
debug level
Definition: JSirene.cc:63
then awk F
* usage
then JConvertDetectorFormat a $DETECTOR[1] o
do sput $STRING $FLOOR sget MODULE INPUT_FILES
Definition: JCanberra.sh:73
then $JPP_DIR examples JDetector JToT o $OUTPUT_FILE n N $NPE P gain
Definition: JToT.sh:47
&set_variable OUTPUT_FILE
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
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
do set_variable MODULE getModule a $WORKDIR detector_a datx L $STRING JEditDetector a $WORKDIR detector_a datx M $MODULE setz o $WORKDIR detector_a datx JEditDetector a $WORKDIR detector_b datx M $MODULE setz o $WORKDIR detector_b datx done echo Output stored at $WORKDIR detector_a datx and $WORKDIR tripod_a txt JDrawDetector2D a $WORKDIR detector_a datx a $WORKDIR detector_b datx L BL o detector $FORMAT $BATCH JDrawDetector2D T $WORKDIR tripod_a txt T $WORKDIR tripod_b txt L BL o tripod $FORMAT $BATCH JCompareDetector a $WORKDIR detector_a datx b $WORKDIR detector_b datx o $WORKDIR abc root &dev null for KEY in X Y Z
then let XMIN
set_variable DETECTOR
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
Definition: JDAQ.hh:26
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
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
version
Definition: JCalibratePMT.sh:7
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
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62
then fatal Wrong number of parameters fi set_variable DETECTOR $argv[1] set_array INPUT_FILE $argv[2] $DIR JPlotPMTParameters a $DETECTOR P $INPUT_FILE o $OUTPUT_FILE d $DEBUG A!typeset A Y_RANGE Y_RANGE
void scale(vector< double > &v, double c)
scale vector content