@@ -43,12 +43,17 @@ OPTIONS:
4343 write pixel mask file for pixels with pedestal above xxx )currently integer only)
4444 -d|--calibdir
4545 give path for alternative calibdir
46+ -t|--test
47+ do not deploy
4648 --noseg
4749 do not split jobs into segments
4850 --gui
4951 start calibman. -r 0: show all darks, -r n: show runs (n-25) - 25
5052 --nstage1
5153 events for the first stage of processing
54+ --datinfo
55+ print info about run for detectors
56+
5257EOF
5358}
5459
@@ -108,6 +113,12 @@ check_running_jobs()
108113 return $NJOBS
109114}
110115
116+ get_datinfo ()
117+ {
118+ echo DATINFO_DEBUG
119+ datinfo -d $MYDET -k exp=$EXP ,run=$RUN ,dir=$XTCDIR -L CRITICAL -t DRS > /tmp/datinfo_" $MYDET " _" $EXP " _" $CREATE_TIME "
120+ }
121+
111122# Arg: DETECTOR class. This could be a comma-separated list, but we're
112123# matching it in the config file as a string.
113124get_config ()
231242 shift
232243 shift
233244 ;;
245+ --datinfo)
246+ DATINFO=1
247+ shift
248+ ;;
234249 * )
235250 POSITIONAL+=(" $1 " )
236251 shift
239254done
240255set -- " ${POSITIONAL[@]} "
241256
242- # check for a valid kerberos token, otherwise the deploy step will not work!
243- if [ $( klist | wc -l) -eq 0 ]; then
244- exit 4
245- fi
246-
247257T=" $( date +%s%N) "
248258echo " XXXXXXXXXXXXXXXXX START MAKEPEDS at $( date +' %T' ) on $HOSTNAME XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
249259
@@ -263,6 +273,14 @@ MYADUMIN=${MYADUMIN:=-1}
263273MYADUMAX=${MYADUMAX:= -1}
264274# one setting to run each process on an own server (currently faster) or not (if we had to use reservations)
265275
276+ # check for a valid kerberos token, otherwise the deploy step will not work!
277+ if ! klist -s ; then
278+ echo No valid kerberos token, deployment will not work
279+ if [ $DEPLOY == 1 ]; then
280+ exit 4
281+ fi
282+ fi
283+
266284if [ " $RUN " == 0 ]; then
267285 printf " Please enter a run number HERE: \n" ; read -r RUN
268286fi
@@ -442,13 +460,50 @@ if [[ $HAVE_EPIX100 -ge 1 ]]; then
442460 echo ' $MYDET is a $DETTYPE, looking for epix100'
443461 continue
444462 fi
445- echo " now calibrate $MYDET "
463+ if [[ -v DATINFO ]]; then
464+ echo " get information in run for ${MYDET} "
465+ datinfo -d $MYDET -k exp=$EXP ,run=$RUN ,dir=$XTCDIR -L CRITICAL -t DRS
466+ fi
467+ echo " now calibrate $MYDET "
446468 CMD=" det_dark_proc -d $MYDET -k exp=$EXP ,run=$RUN ,dir=$XTCDIR -L INFO $LOCARG "
447469 echo " $CMD "
448470 $CMD
449471 done
450472fi
451473
474+ HAVE_EPIXM=$( grep -c epixm /tmp/detnames_" $EXP " _" $CREATE_TIME " )
475+ if [[ $HAVE_EPIXM -ge 1 ]]; then
476+ echo " ***** have epixm ***"
477+ DETNAMES=$( grep epixm /tmp/detnames_" $EXP " _" $CREATE_TIME " | grep raw | awk ' BEGIN { FS = "|"}; {print $1}' | paste -d " " -s)
478+ for MYDET in ${DETNAMES} ; do
479+ LOCARG=$ARG ' -o ' $CALIBDIR
480+ if [[ -v VALSTR ]]; then
481+ LOCARG=$LOCARG ' -t ' $VALSTR
482+ fi
483+ if [[ -v NRECS1 ]]; then
484+ LOCARG=$LOCARG ' --nrecs1 ' $NRECS1
485+ else
486+ LOCARG=$LOCARG ' --nrecs1 100'
487+ fi
488+ if [[ -v NUMEVT ]]; then
489+ LOCARG=$LOCARG ' -n ' $NUMEVT
490+ fi
491+ DETTYPE=$( grep $MYDET /tmp/detnames_" $EXP " _" $CREATE_TIME " | grep raw | awk ' BEGIN { FS = "|"}; {print $2}' | paste -d " " -s)
492+ if [[ ! $DETTYPE =~ ' epixm' ]]; then
493+ echo ' $MYDET is a $DETTYPE, looking for epixm'
494+ continue
495+ fi
496+ if [[ -v DATINFO ]]; then
497+ echo " get information in run for $MYDET "
498+ datinfo -d $MYDET -k exp=$EXP ,run=$RUN ,dir=$XTCDIR -L CRITICAL -t DRS
499+ fi
500+ echo " now calibrate $MYDET "
501+ CMD=" epixm320_dark_proc -d $MYDET -k exp=$EXP ,run=$RUN ,dir=$XTCDIR -L INFO $LOCARG "
502+ echo " $CMD "
503+ $CMD
504+ done
505+ fi
506+
452507# DEBUG rixx1017523, run 388 : archon
453508# reconsider doing all det_dark_proc detectors together later
454509# not sure this is supported + different numbers of skip events
508563HAVE_EPIX10K=$( grep -c epix10ka /tmp/detnames_" $EXP " _" $CREATE_TIME " )
509564if [[ $HAVE_EPIX10K -ge 1 ]]; then
510565 DETNAMES=$( grep epix10ka /tmp/detnames_" $EXP " _" $CREATE_TIME " | grep raw | awk ' BEGIN { FS = "|"}; {print $1}' | paste -d " " -s)
511- for EPIX10K in ${DETNAMES} ; do
566+ for MYDET in ${DETNAMES} ; do
512567 LOCARG=' -o ' $CALIBDIR
513- # EPIX10K ="${DETNAMES[i]// /}"
514- DETTYPE=$( grep $EPIX10K /tmp/detnames_" $EXP " _" $CREATE_TIME " | grep raw | awk ' BEGIN { FS = "|"}; {print $2}' | paste -d " " -s)
568+ # MYDET ="${DETNAMES[i]// /}"
569+ DETTYPE=$( grep $MYDET /tmp/detnames_" $EXP " _" $CREATE_TIME " | grep raw | awk ' BEGIN { FS = "|"}; {print $2}' | paste -d " " -s)
515570 # MYDETTYPE="${DETTYPES[i]// /}"
516571 if [ ! " $DETTYPE " =~ ' epix10ka' ]; then
517572 continue
518573 fi
519- echo " Epix10ka name for ${EXP} is: ${EPIX10K} "
574+ echo " Epix10ka name for ${EXP} is: ${MYDET} "
575+
576+ if [[ -v DATINFO ]]; then
577+ echo " get information in run for ${MYDET} "
578+ datinfo -d $MYDET -k exp=$EXP ,run=$RUN ,dir=$XTCDIR -L CRITICAL -t DRS
579+ fi
520580 NSEG=1
521- if [[ $EPIX10K =~ " 2M" ]]; then
581+ if [[ $MYDET =~ " 2M" ]]; then
522582 NSEG=16;
523- elif [[ $EPIX10K =~ " uad" ]]; then
583+ elif [[ $MYDET =~ " uad" ]]; then
524584 NSEG=4;
525585 fi
526586 for calibcycle in {0..4}; do
527587 nextcycle=$(( calibcycle + 1 ))
528- CMD=" epix10ka_pedestals_calibration $LOCARG -d $EPIX10K -k exp=$EXP ,run=$RUN ,dir=$XTCDIR --stepnum $calibcycle --stepmax $nextcycle -L INFO"
529- echo " ---------------EPIX10K PEDESTALS FOR CYCLE $calibcycle --------------------"
588+ CMD=" epix10ka_pedestals_calibration $LOCARG -d $MYDET -k exp=$EXP ,run=$RUN ,dir=$XTCDIR --stepnum $calibcycle --stepmax $nextcycle -L INFO"
589+ echo " ---------------MYDET PEDESTALS FOR CYCLE $calibcycle --------------------"
530590 if [[ $RUNLOCAL != 1 ]]; then
531591 for (( segment= 0 ; segment< NSEG; segment++ )) ; do
532592 if [[ $NSEG -gt 1 ]]; then
@@ -540,7 +600,7 @@ if [[ $HAVE_EPIX10K -ge 1 ]]; then
540600 printf ' #!/bin/bash\n' > " $tmpScript "
541601 printf ' source %s/manage/bin/psconda.sh\n' " ${SIT_ENV_DIR} " >> " $tmpScript "
542602 printf ' %s\n' " ${CMDS} " >> " $tmpScript "
543- ep10kaCmd=" sbatch ${SBATCH_ARGS} --mem 8GB --cpus-per-task 1 -o $WORKDIR /${EPIX10K } _${EXP} _Run${RUN} _cycle${calibcycle} _%J.out $tmpScript "
603+ ep10kaCmd=" sbatch ${SBATCH_ARGS} --mem 8GB --cpus-per-task 1 -o $WORKDIR /${MYDET } _${EXP} _Run${RUN} _cycle${calibcycle} _%J.out $tmpScript "
544604
545605 echo " run in queue: $ep10kaCmd "
546606 SUBMISSION=$( $ep10kaCmd )
@@ -586,7 +646,7 @@ if [[ $HAVE_EPIX10K -ge 1 ]]; then
586646 fi
587647
588648 if [ " $DEPLOY " == 1 ]; then
589- echo " ---------------EPIX10K PEDESTALS CALCULATED NOW DEPLOY --------------------"
649+ echo " --------------- PEDESTALS CALCULATED NOW DEPLOY --------------------"
590650 if [ " $NFAILEDJOBS " -gt 0 ]; then
591651 read -r -p " $NFAILEDJOBS of the calibration tasks failed, do you want to continue anyways (y/n)?"
592652 if [ " $REPLY " != " y" ]; then
@@ -595,9 +655,9 @@ if [[ $HAVE_EPIX10K -ge 1 ]]; then
595655 fi
596656
597657 for i in " ${! DETNAMES[@]} " ; do
598- EPIX10K =" ${DETNAMES[i]// / } "
599- # for EPIX10K in $DETNAMES; do
600- CMD=" epix10ka_deploy_constants $LOCARG -D -d $EPIX10K -k exp=$EXP ,run=$RUN ,dir=$XTCDIR -L INFO"
658+ MYDET =" ${DETNAMES[i]// / } "
659+ # for MYDET in $DETNAMES; do
660+ CMD=" epix10ka_deploy_constants $LOCARG -D -d $MYDET -k exp=$EXP ,run=$RUN ,dir=$XTCDIR -L INFO"
601661 if [ -v " $VALSTR " ]; then
602662 echo ' setting validity....' " $VALSTR "
603663 CMD=$CMD ' -t ' $VALSTR
633693HAVE_JUNGFRAU=$( grep -c jungfrau /tmp/detnames_" $EXP " _" $CREATE_TIME " )
634694if [[ $HAVE_JUNGFRAU -ge 1 ]]; then
635695 DETNAMES=$( grep jungfrau /tmp/detnames_" $EXP " _" $CREATE_TIME " | grep raw | awk ' BEGIN { FS = "|"}; {print $1}' | paste -d " " -s)
636- for JUNGFRAU in ${DETNAMES} ; do
696+ for MYDET in ${DETNAMES} ; do
637697 LOCARG=' -o ' $CALIBDIR
638- DETTYPE=$( grep $JUNGFRAU /tmp/detnames_" $EXP " _" $CREATE_TIME " | grep raw | awk ' BEGIN { FS = "|"}; {print $2}' | paste -d " " -s)
698+ DETTYPE=$( grep $MYDET /tmp/detnames_" $EXP " _" $CREATE_TIME " | grep raw | awk ' BEGIN { FS = "|"}; {print $2}' | paste -d " " -s)
639699 if [[ ! $DETTYPE =~ ' jungfrau' ]]; then
640700 continue
641701 fi
642- echo " Jungfrau name for ${EXP} is: ${JUNGFRAU} "
702+ echo " Jungfrau name for ${EXP} is: ${MYDET} "
703+ if [[ -v DATINFO ]]; then
704+ echo " get information in run for ${MYDET} "
705+ datinfo -d $MYDET -k exp=$EXP ,run=$RUN ,dir=$XTCDIR -L CRITICAL -t DRS
706+ fi
643707 NSEG=1
644- if [[ $JUNGFRAU =~ " 16M" ]]; then
708+ if [[ $MYDET =~ " 16M" ]]; then
645709 NSEG=32;
646- elif [[ $JUNGFRAU =~ " 4M" ]]; then
710+ elif [[ $MYDET =~ " 4M" ]]; then
647711 NSEG=8;
648- elif [[ $JUNGFRAU =~ " 1M" ]]; then
712+ elif [[ $MYDET =~ " 1M" ]]; then
649713 NSEG=2;
650714 elif [[ $EXP =~ " mfx" ]]; then # note that this is a hotfix!
651715 NSEG=32;
@@ -657,7 +721,7 @@ if [[ $HAVE_JUNGFRAU -ge 1 ]]; then
657721 fi
658722 for calibcycle in {0..2}; do
659723 nextcycle=$(( calibcycle + 1 ))
660- CMD=" jungfrau_dark_proc $LOCARG -d $JUNGFRAU -k exp=$EXP ,run=$RUN ,dir=$XTCDIR --stepnum $calibcycle --stepmax $nextcycle -L INFO"
724+ CMD=" jungfrau_dark_proc $LOCARG -d $MYDET -k exp=$EXP ,run=$RUN ,dir=$XTCDIR --stepnum $calibcycle --stepmax $nextcycle -L INFO"
661725 echo " ---------------JUNGFRAU PEDESTALS FOR CYCLE $calibcycle --------------------"
662726 if [[ $RUNLOCAL != 1 ]]; then
663727 for (( segment= 0 ; segment< NSEG; segment++ )) ; do
@@ -674,7 +738,7 @@ if [[ $HAVE_JUNGFRAU -ge 1 ]]; then
674738 printf ' #!/bin/bash\n' > " $tmpScript "
675739 printf ' source %s/manage/bin/psconda.sh\n' " ${SIT_ENV_DIR} " >> " $tmpScript "
676740 printf ' %s\n' " ${CMDS} " >> " $tmpScript "
677- jfCmd=" sbatch ${SBATCH_ARGS} --mem ${MEM} GB --cpus-per-task 1 -o $WORKDIR /${JUNGFRAU } _${EXP} _Run${RUN} _cycle${calibcycle} _segment${segment} _%J.out $tmpScript "
741+ jfCmd=" sbatch ${SBATCH_ARGS} --mem ${MEM} GB --cpus-per-task 1 -o $WORKDIR /${MYDET } _${EXP} _Run${RUN} _cycle${calibcycle} _segment${segment} _%J.out $tmpScript "
678742
679743 echo " run in queue: $jfCmd "
680744 SUBMISSION=$( $jfCmd )
@@ -734,8 +798,8 @@ if [[ $HAVE_JUNGFRAU -ge 1 ]]; then
734798 fi
735799 fi
736800
737- for JUNGFRAU in ${DETNAMES} ; do
738- CMD=" jungfrau_deploy_constants -D -d $JUNGFRAU -k exp=$EXP ,run=$RUN ,dir=$XTCDIR -L INFO -o $CALIBDIR -p psrnx"
801+ for MYDET in ${DETNAMES} ; do
802+ CMD=" jungfrau_deploy_constants -D -d $MYDET -k exp=$EXP ,run=$RUN ,dir=$XTCDIR -L INFO -o $CALIBDIR -p psrnx"
739803 if [ -v " $VALSTR " ]; then
740804 echo ' setting validity....' " $VALSTR "
741805 CMD=$CMD ' -t ' $VALSTR
0 commit comments