Jpp  16.0.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JPrintK40Rates.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 # \author mdejong
4 #
5 version=1.0
6 script=${0##*/}
7 
8 # ------------------------------------------------------------------------------------------
9 #
10 # Utility script to evaluate rates due to K40 decays.
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 
24 set_variable DIR $JPP_DIR/examples/JPhysics/
26 
27 set_variable darkcount_Hz 700.0
28 set_variable rateL0_Hz 4500.0
29 
30 # https://elog.km3net.de/Analysis/597
31 
32 set_array rateL1_Hz 568 49.1 5.48 0.479 # 0.0613 0.000781 0.000133
33 
34 if do_usage $*; then
35  usage "$script [working directory]"
36 fi
37 
38 
39 function typeout()
40 {
41  printf "(%4.0f, " $(( $rateL0_Hz + $darkcount_Hz ))
42  printf "{ %6.1f" $rateL1_Hz[1]
43  printf ", %6.2f" $rateL1_Hz[2,-1]
44  printf "})\n"
45 }
46 
47 
48 # https://git.km3net.de/common/jpp/-/issues/351
49 
51 
52 mkdir -p $WORKDIR
53 
54 cp $DIR/JRateK40.cc $WORKDIR/rateL0.cc
55 cp $DIR/JMultiplicityK40.cc $WORKDIR/rateL1.cc
56 
57 cat>$WORKDIR/Makefile<<EOF
58 include \$(JPP_DIR)/make/JMakefile
59 EOF
60 
61 for TARGET in KM3NeT KM3NeT_highQE; do
62  if (( 1 )); then
63  make -C $WORKDIR clean
64  make -C $WORKDIR $TARGET
65 
66  $WORKDIR/rateL0 \
67  -d 0 >& $WORKDIR/rateL0_${TARGET}.txt
68 
69  $WORKDIR/rateL1 \
70  -n 100000000 \
71  -F 4 \
72  -G 2 \
73  -D "0.216 5" \
74  -A 1 \
75  -U \
76  -o /dev/null \
77  -d 0 >& $WORKDIR/rateL1_${TARGET}.txt
78  fi
79  eval set_variable rateL0_${TARGET}_Hz `awk '/Rate *1Dx1D/ { print $4 }' $WORKDIR/rateL0_${TARGET}.txt`
80  eval set_array rateL1_${TARGET}_Hz `awk '/Rate\[.*\] *=/ { print $3 }' $WORKDIR/rateL1_${TARGET}.txt`
81 
82 done
83 
84 #rm -rf $WORKDIR
85 
86 
87 typeout
88 
89 # correct rates
90 
91 rateL0_Hz=$(( $rateL0_Hz * $rateL0_KM3NeT_highQE_Hz / $rateL0_KM3NeT_Hz ))
92 
93 darkcount_Hz=$(( $darkcount_Hz * 3 ))
94 
95 for (( i = 1; i <= ${#rateL1_Hz}; ++i )); do
96  rateL1_Hz[$i]=$(( $rateL1_Hz[$i] * $rateL1_KM3NeT_highQE_Hz[$i] / $rateL1_KM3NeT_Hz[$i] ))
97 done
98 
99 typeout
then make C $WORKDIR clean make C $WORKDIR $TARGET $WORKDIR rateL0 d &$WORKDIR rateL0_
then JLigier sh continue fi cat
Definition: JDAQDriver.sh:51
then fatal Timeout at user input fi set_variable SERVER JServerDB wget no check certificate https
Definition: JCookie.sh:58
exit
Definition: JPizza.sh:36
do echo Generating $dir eval DIR
Definition: JPlotNPE1D.sh:54
then echo
static const double C
Physics constants.
const int n
Definition: JPolint.hh:676
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR set_variable DIR $JPP_DIR examples JPhysics set_variable DEBUG set_variable darkcount_Hz set_variable rateL0_Hz set_array rateL1_Hz if do_usage *then usage $script[working directory] fi function typeout()
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 STRING_TXT awk
case $OPTION in clean clean
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
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 &dev null set_variable DEBUG set_variable WORKDIR
Definition: JLegolas.sh:20
then awk F
* usage
then JConvertDetectorFormat a $DETECTOR[1] o
then for DETECTOR in Antares KM3NeT
Definition: JMultiPMT.sh:45
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
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
then cp
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
do echo Generating $dir eval D
Definition: JDrawLED.sh:53
version
Definition: JCalibratePMT.sh:7
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
do alias $i