Jpp  17.3.2
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SN_timecalib.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 if do_usage $*; then
12  usage "$script <input detector file> <output detector file> <first run> <last run> <name suffix> <output directory> <data directory>"
13 fi
14 
16 DETECTOR_OUT=$2
17 RUNFIRST=$3
18 RUNSECOND=$4
19 EXT=$5
20 OUTDIR=$6
21 DATADIR=$7
22 
23 eval `JPrintDetector -a $DETECTOR_IN -O IDENTIFIER`
24 
25 #--- copy detector
26 
27 JConvertDetectorFormat -a $DETECTOR_IN -o $DETECTOR_OUT
28 
29 #--- remove the base modules
30 
31 eval `JPrintDetector -a $DETECTOR_OUT -O SUMMARY`
32 
33 
34 for STRING in $STRINGS; do
35 
36  JEditDetector -a $DETECTOR_OUT -o $DETECTOR_OUT -D "$STRING 0"
37 
38 done
39 
40 #--- sort modules 1-18
41 JEditDetector -a $DETECTOR_OUT -o $DETECTOR_OUT -O 2
42 
43 #--- remove here malfunctioning strings if present in the detector file
44 
45 #JEditDetector -a $DETECTOR_OUT -o $DETECTOR_OUT -r 18
46 #JEditDetector -a $DETECTOR_OUT -o $DETECTOR_OUT -r 19
47 
48 #--- loop over data files
49 
50 rm $OUTDIR/${EXT}.root
51 
52 for RUN_IN in `seq $RUNFIRST $RUNSECOND`; do
53 
54 RUN=$(printf %08d $RUN_IN)
55 INFILE=$DATADIR/KM3NeT_000000${DETECTOR_ID}_${RUN}.root
56 
57 #---- process JMonitorL1dt
58 
59 $JPP_DIR/examples/JCalibrate/JMonitorL1dt -a $DETECTOR_OUT -C JDAQTimesliceSN -f $INFILE -o $OUTDIR/temp.root
60 
61 if [ -f "$OUTDIR/${EXT}.root" ]
62 then
63 echo "JMonitorL1dt output added to previous results"
64  hadd $OUTDIR/sum.root $OUTDIR/temp.root $OUTDIR/${EXT}.root
65  mv $OUTDIR/sum.root $OUTDIR/${EXT}.root
66 else
67  echo "No previous output from JMonitorL1dt found, new output file created"
68  mv $OUTDIR/temp.root $OUTDIR/${EXT}.root
69 fi
70 
71 
72 done
73 
74 #--- determine time offsets between DU pairs (for 1-8 neighboured levels)
75 
76 $JPP_DIR/examples/JCalibrate/JOffset_extract -a $DETECTOR_OUT -f $OUTDIR/${EXT}.root -m 0 -n 8 > $OUTDIR/${EXT}.txt
77 
78 #--- evaluate best inter-DU offsets
79 #
80 # The argument "-m 5.5" needs to be tuned to the amount of data used, for 30 hours of ARCA a value of 5.5 was found reasonable,
81 # for 6 hours of ORCA a value of 20 is suggested
82 #
83 
84 file=$OUTDIR/offsets_${EXT}.txt
85 $JPP_DIR/examples/JCalibrate/JMatrix_sol -a $DETECTOR_OUT -f $OUTDIR/${EXT}.txt -m 5.5 -r 0 > $file
86 
87 #--- adapt detector file
88 
89 while read line; do
90  read -r a b <<< $line
91  if [ $a -gt 0 ]
92  then
93  JEditDetector -a $DETECTOR_OUT -S "$a add $b" -o $DETECTOR_OUT --!
94  fi
95 done < $file
std::istream & read(std::istream &in, JTestSummary &summary, const char delimiter= ' ')
Read test summary.
*fatal Wrong number of arguments esac check_input_file $INPUT_FILE for TIMESLICE in JDAQTimeslice JDAQTimesliceL0 JDAQTimesliceL1 JDAQTimesliceL2 JDAQTimesliceSN
then usage $script[< detector identifier >< run range >]< QA/QCfile > nExample script to produce data quality plots nWhen a detector identifier and run range are data are downloaded from the database nand subsequently stored in the given QA QC file
Definition: JDataQuality.sh:19
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
do JEditDetector a $DETECTOR_OUT o $DETECTOR_OUT D $STRING done JEditDetector a $DETECTOR_OUT o $DETECTOR_OUT O rm $OUTDIR
Definition: SN_timecalib.sh:50
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O SUMMARY JPrintDAQHeader f $INPUT_FILE read A DAQ_HEADER set_variable DETECTOR_ID
Definition: JSquid.sh:28
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
Definition: JDataQuality.sh:76
exit
Definition: JPizza.sh:36
data_type r[M+1]
Definition: JPolint.hh:779
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
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:68
static const double C
Physics constants.
const int n
Definition: JPolint.hh:697
then JCalibrateToT a
Definition: JTuneHV.sh:116
then rm i $OUTPUT_FILE fi let RUN
* usage
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null if do_usage *then usage $script< input detector file >< outputdetectorfile >< firstrun >< lastrun >< namesuffix >< outputdirectory >< datadirectory > fi DETECTOR_IN
Definition: SN_timecalib.sh:15
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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:46
script
Definition: JAcoustics.sh:2
do echo Generating $dir eval D
Definition: JDrawLED.sh:53
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
esac done
Definition: JAddHDE.sh:21