@@ -122,7 +122,7 @@ export timeUsed=0
122122# ##if [[ $MODE == "remote" ]]; then
123123 # run specific archive
124124 if [[ ! -f runInput_$RUNNUMBER .tgz ]]; then
125- echo " No runInput_$RUNNUMBER .tgz, let's hope we don't need it"
125+ echo " No runInput_$RUNNUMBER .tgz, let's hope we don't need it"
126126 else
127127 tar -xzvf runInput_$RUNNUMBER .tgz
128128 fi
@@ -324,8 +324,8 @@ if [[ -n $ALIEN_JDL_PACKAGES ]]; then # if we have this env variable, it means t
324324 break
325325 else
326326 if [[ " $(( SUBJOBIDX% KEEPRATIO)) " -eq " 0" ]]; then
327- keep=1
328- break
327+ keep=1
328+ break
329329 fi
330330 fi
331331 done < tmp.tmp
@@ -360,32 +360,32 @@ if [[ -n "$ALIEN_JDL_USEGPUS" && $ALIEN_JDL_USEGPUS != 0 ]] ; then
360360 if [[ " 0$ASYNC_PASS_NO_OPTIMIZED_DEFAULTS " != " 01" ]]; then
361361 if [[ " ALIEN_JDL_USEFULLNUMADOMAIN" == 0 ]]; then
362362 if [[ $keep -eq 0 ]]; then
363- if [[ $ALIEN_JDL_UNOPTIMIZEDGPUSETTINGS != 1 ]]; then
364- export OPTIMIZED_PARALLEL_ASYNC=pp_1gpu # sets the multiplicities to optimized defaults for this configuration (1 job with 1 gpu on EPNs)
365- else
366- # forcing multiplicities to be 1
367- export MULTIPLICITY_PROCESS_tof_matcher=1
368- export MULTIPLICITY_PROCESS_mch_cluster_finder=1
369- export MULTIPLICITY_PROCESS_tpc_entropy_decoder=1
370- export MULTIPLICITY_PROCESS_itstpc_track_matcher=1
371- export MULTIPLICITY_PROCESS_its_tracker=1
372- export OMP_NUM_THREADS=4
373- fi
374- export TIMEFRAME_RATE_LIMIT=8
363+ if [[ $ALIEN_JDL_UNOPTIMIZEDGPUSETTINGS != 1 ]]; then
364+ export OPTIMIZED_PARALLEL_ASYNC=pp_1gpu # sets the multiplicities to optimized defaults for this configuration (1 job with 1 gpu on EPNs)
365+ else
366+ # forcing multiplicities to be 1
367+ export MULTIPLICITY_PROCESS_tof_matcher=1
368+ export MULTIPLICITY_PROCESS_mch_cluster_finder=1
369+ export MULTIPLICITY_PROCESS_tpc_entropy_decoder=1
370+ export MULTIPLICITY_PROCESS_itstpc_track_matcher=1
371+ export MULTIPLICITY_PROCESS_its_tracker=1
372+ export OMP_NUM_THREADS=4
373+ fi
374+ export TIMEFRAME_RATE_LIMIT=8
375375 else
376- export TIMEFRAME_RATE_LIMIT=4
376+ export TIMEFRAME_RATE_LIMIT=4
377377 fi
378378 export SHMSIZE=30000000000
379379 else
380380 export DPL_SMOOTH_RATE_LIMITING=1
381381 if [[ $BEAMTYPE == " pp" ]]; then
382- export OPTIMIZED_PARALLEL_ASYNC=pp_4gpu # sets the multiplicities to optimized defaults for this configuration (1 Numa, pp)
383- export TIMEFRAME_RATE_LIMIT=45
384- export SHMSIZE=100000000000
382+ export OPTIMIZED_PARALLEL_ASYNC=pp_4gpu # sets the multiplicities to optimized defaults for this configuration (1 Numa, pp)
383+ export TIMEFRAME_RATE_LIMIT=45
384+ export SHMSIZE=100000000000
385385 else # PbPb
386- export OPTIMIZED_PARALLEL_ASYNC=PbPb_4gpu # sets the multiplicities to optimized defaults for this configuration (1 Numa, PbPb)
387- export TIMEFRAME_RATE_LIMIT=20
388- export SHMSIZE=128000000000
386+ export OPTIMIZED_PARALLEL_ASYNC=PbPb_4gpu # sets the multiplicities to optimized defaults for this configuration (1 Numa, PbPb)
387+ export TIMEFRAME_RATE_LIMIT=20
388+ export SHMSIZE=128000000000
389389 fi
390390 fi
391391 fi
@@ -398,18 +398,18 @@ else
398398 if [[ " $ALIEN_JDL_EPNFULLNUMACPUONLY " != 1 ]]; then
399399 export TIMEFRAME_RATE_LIMIT=3
400400 if [[ $BEAMTYPE == " pp" ]]; then
401- if (( $(echo "$RUN_IR > 800000 " | bc - l) )) ; then
402- export TIMEFRAME_RATE_LIMIT=1
403- elif (( $(echo "$RUN_IR < 50000 " | bc - l) )) ; then
404- export TIMEFRAME_RATE_LIMIT=6
405- fi
406- export OPTIMIZED_PARALLEL_ASYNC=pp_8cpu # sets the multiplicities to optimized defaults for this configuration (grid)
407- export SHMSIZE=16000000000
401+ if (( $(echo "$RUN_IR > 800000 " | bc - l) )) ; then
402+ export TIMEFRAME_RATE_LIMIT=1
403+ elif (( $(echo "$RUN_IR < 50000 " | bc - l) )) ; then
404+ export TIMEFRAME_RATE_LIMIT=6
405+ fi
406+ export OPTIMIZED_PARALLEL_ASYNC=pp_8cpu # sets the multiplicities to optimized defaults for this configuration (grid)
407+ export SHMSIZE=16000000000
408408 else # PbPb
409- export TIMEFRAME_RATE_LIMIT=2
410- export OPTIMIZED_PARALLEL_ASYNC=pp_8cpu
411- export SHMSIZE=16000000000
412- export SVERTEX_THREADS=5
409+ export TIMEFRAME_RATE_LIMIT=2
410+ export OPTIMIZED_PARALLEL_ASYNC=pp_8cpu
411+ export SHMSIZE=16000000000
412+ export SVERTEX_THREADS=5
413413 fi
414414 else
415415 export OPTIMIZED_PARALLEL_ASYNC=pp_64cpu # to use EPNs with full NUMA domain but without GPUs
@@ -488,20 +488,20 @@ else
488488 echo " Time spent in running the workflow, Step 1 = $delta s"
489489 echo " exitcode = $exitcode "
490490 if [[ $exitcode -ne 0 ]]; then
491- echo " exit code from Step 1 of processing is " $exitcode > validation_error.message
492- echo " exit code from Step 1 of processing is " $exitcode
493- exit $exitcode
491+ echo " exit code from Step 1 of processing is " $exitcode > validation_error.message
492+ echo " exit code from Step 1 of processing is " $exitcode
493+ exit $exitcode
494494 fi
495495 mv latest.log latest_reco_1.log
496496 if [[ -f performanceMetrics.json ]]; then
497- mv performanceMetrics.json performanceMetrics_1.json
497+ mv performanceMetrics.json performanceMetrics_1.json
498498 fi
499499 $STATSCRIPT latest_reco_1.log reco_1
500500 exitcode=$?
501501 if [[ $exitcode -ne 0 ]]; then
502- echo " exit code from processing is " $exitcode > validation_error.message
503- echo " exit code from processing is " $exitcode
504- exit $exitcode
502+ echo " exit code from processing is " $exitcode > validation_error.message
503+ echo " exit code from processing is " $exitcode
504+ exit $exitcode
505505 fi
506506 fi
507507 fi
@@ -526,43 +526,43 @@ else
526526 echo " Time spent in running the workflow, Step 2 = $delta s"
527527 echo " exitcode = $exitcode "
528528 if [[ $exitcode -ne 0 ]]; then
529- echo " exit code from Step 2 of processing is " $exitcode > validation_error.message
530- echo " exit code from Step 2 of processing is " $exitcode
531- exit $exitcode
529+ echo " exit code from Step 2 of processing is " $exitcode > validation_error.message
530+ echo " exit code from Step 2 of processing is " $exitcode
531+ exit $exitcode
532532 fi
533533 mv latest.log latest_reco_2.log
534534 if [[ -f performanceMetrics.json ]]; then
535- mv performanceMetrics.json performanceMetrics_2.json
535+ mv performanceMetrics.json performanceMetrics_2.json
536536 fi
537537 $STATSCRIPT latest_reco_2.log reco_2
538538 exitcode=$?
539539 if [[ $exitcode -ne 0 ]]; then
540- echo " exit code from processing is " $exitcode > validation_error.message
541- echo " exit code from processing is " $exitcode
542- exit $exitcode
540+ echo " exit code from processing is " $exitcode > validation_error.message
541+ echo " exit code from processing is " $exitcode
542+ exit $exitcode
543543 fi
544544 # let's compare to previous step
545545 if [[ -f latest_reco_1.log ]]; then
546- nCTFsFilesInspected_step1=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_1.stat | sed ' s/\(^[0-9]*\)_.*/\1/' `
547- nCTFsFilesOK_step1=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_1.stat | sed ' s/^[0-9]*_\([0-9]*\)_.*/\1/' `
548- nCTFsFilesFailed_step1=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_1.stat | sed ' s/^[0-9]*_[0-9]*_\([0-9]*\)_.*/\1/' `
549- nCTFsProcessed_step1=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_1.stat | sed ' s/^[0-9]*_[0-9]*_[0-9]*_\([0-9]*\).*/\1/' `
550- nCTFsFilesInspected_step2=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_2.stat | sed ' s/\(^[0-9]*\)_.*/\1/' `
551- nCTFsFilesOK_step2=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_1.stat | sed ' s/^[0-9]*_\([0-9]*\)_.*/\1/' `
552- nCTFsFilesFailed_step2=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_2.stat | sed ' s/^[0-9]*_[0-9]*_\([0-9]*\)_.*/\1/' `
553- nCTFsProcessed_step2=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_2.stat | sed ' s/^[0-9]*_[0-9]*_[0-9]*_\([0-9]*\).*/\1/' `
554- if [[ $nCTFsFilesInspected_step1 != $nCTFsFilesInspected_step2 ]] || [[ $nCTFsFilesFailed_step1 != $nCTFsFilesFailed_step2 ]] || [[ $nCTFsFilesOK_step1 != $nCTFsFilesOK_step2 ]] || [[ $nCTFsProcessed_step1 != $nCTFsProcessed_step2 ]]; then
555- echo " Inconsistency between step 1 and step 2 in terms of number of CTFs (files or single CTFs) found:"
556- echo " nCTFsFilesInspected_step1 = $nCTFsFilesInspected_step1 , nCTFsFilesInspected_step2 = $nCTFsFilesInspected_step2 "
557- echo " nCTFsFilesOK_step1 = $nCTFsFilesOK_step1 , nCTFsFilesOK_step2 = $nCTFsFilesOK_step2 "
558- echo " nCTFsFilesFailed_step1 = $nCTFsFilesFailed_step1 , nCTFsFilesFailed_step2 = $nCTFsFilesFailed_step2 "
559- echo " nCTFsProcessed_step1 = $nCTFsProcessed_step1 , nCTFsProcessed_step2 = $nCTFsProcessed_step2 "
560- echo " Inconsistency between step 1 and step 2 in terms of number of CTFs (files or single CTFs) found:" > validation_error.message
561- echo " nCTFsFilesInspected_step1 = $nCTFsFilesInspected_step1 , nCTFsFilesInspected_step2 = $nCTFsFilesInspected_step2 " > validation_error.message
562- echo " nCTFsFilesOK_step1 = $nCTFsFilesOK_step1 , nCTFsFilesOK_step2 = $nCTFsFilesOK_step2 " > validation_error.message
563- echo " nCTFsProcessed_step1 = $nCTFsProcessed_step1 , nCTFsProcessed_step2 = $nCTFsProcessed_step2 " > validation_error.message
564- exit 1000
565- fi
546+ nCTFsFilesInspected_step1=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_1.stat | sed ' s/\(^[0-9]*\)_.*/\1/' `
547+ nCTFsFilesOK_step1=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_1.stat | sed ' s/^[0-9]*_\([0-9]*\)_.*/\1/' `
548+ nCTFsFilesFailed_step1=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_1.stat | sed ' s/^[0-9]*_[0-9]*_\([0-9]*\)_.*/\1/' `
549+ nCTFsProcessed_step1=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_1.stat | sed ' s/^[0-9]*_[0-9]*_[0-9]*_\([0-9]*\).*/\1/' `
550+ nCTFsFilesInspected_step2=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_2.stat | sed ' s/\(^[0-9]*\)_.*/\1/' `
551+ nCTFsFilesOK_step2=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_1.stat | sed ' s/^[0-9]*_\([0-9]*\)_.*/\1/' `
552+ nCTFsFilesFailed_step2=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_2.stat | sed ' s/^[0-9]*_[0-9]*_\([0-9]*\)_.*/\1/' `
553+ nCTFsProcessed_step2=` ls [0-9]* _[0-9]* _[0-9]* _[0-9]* _[0-9]* _reco_2.stat | sed ' s/^[0-9]*_[0-9]*_[0-9]*_\([0-9]*\).*/\1/' `
554+ if [[ $nCTFsFilesInspected_step1 != $nCTFsFilesInspected_step2 ]] || [[ $nCTFsFilesFailed_step1 != $nCTFsFilesFailed_step2 ]] || [[ $nCTFsFilesOK_step1 != $nCTFsFilesOK_step2 ]] || [[ $nCTFsProcessed_step1 != $nCTFsProcessed_step2 ]]; then
555+ echo " Inconsistency between step 1 and step 2 in terms of number of CTFs (files or single CTFs) found:"
556+ echo " nCTFsFilesInspected_step1 = $nCTFsFilesInspected_step1 , nCTFsFilesInspected_step2 = $nCTFsFilesInspected_step2 "
557+ echo " nCTFsFilesOK_step1 = $nCTFsFilesOK_step1 , nCTFsFilesOK_step2 = $nCTFsFilesOK_step2 "
558+ echo " nCTFsFilesFailed_step1 = $nCTFsFilesFailed_step1 , nCTFsFilesFailed_step2 = $nCTFsFilesFailed_step2 "
559+ echo " nCTFsProcessed_step1 = $nCTFsProcessed_step1 , nCTFsProcessed_step2 = $nCTFsProcessed_step2 "
560+ echo " Inconsistency between step 1 and step 2 in terms of number of CTFs (files or single CTFs) found:" > validation_error.message
561+ echo " nCTFsFilesInspected_step1 = $nCTFsFilesInspected_step1 , nCTFsFilesInspected_step2 = $nCTFsFilesInspected_step2 " > validation_error.message
562+ echo " nCTFsFilesOK_step1 = $nCTFsFilesOK_step1 , nCTFsFilesOK_step2 = $nCTFsFilesOK_step2 " > validation_error.message
563+ echo " nCTFsProcessed_step1 = $nCTFsProcessed_step1 , nCTFsProcessed_step2 = $nCTFsProcessed_step2 " > validation_error.message
564+ exit 1000
565+ fi
566566 fi
567567 fi
568568 fi
@@ -589,13 +589,13 @@ else
589589 echo " Time spent in running the workflow, Step 3 = $delta s"
590590 echo " exitcode = $exitcode "
591591 if [[ $exitcode -ne 0 ]]; then
592- echo " exit code from Step 3 of processing is " $exitcode > validation_error.message
593- echo " exit code from Step 3 of processing is " $exitcode
594- exit $exitcode
592+ echo " exit code from Step 3 of processing is " $exitcode > validation_error.message
593+ echo " exit code from Step 3 of processing is " $exitcode
594+ exit $exitcode
595595 fi
596596 mv latest.log latest_reco_3.log
597597 if [[ -f performanceMetrics.json ]]; then
598- mv performanceMetrics.json performanceMetrics_3.json
598+ mv performanceMetrics.json performanceMetrics_3.json
599599 fi
600600 fi
601601 fi
@@ -655,9 +655,9 @@ if [[ $ALIEN_JDL_AODOFF != 1 ]]; then
655655 echo " Time spent in merging last AOD files, to reach a good size for that too = $delta s"
656656 echo " exitcode = $exitcode "
657657 if [[ $exitcode -ne 0 ]]; then
658- echo " exit code from aod-merger for latest file is " $exitcode > validation_error.message
659- echo " exit code from aod-merger for latest file is " $exitcode
660- exit $exitcode
658+ echo " exit code from aod-merger for latest file is " $exitcode > validation_error.message
659+ echo " exit code from aod-merger for latest file is " $exitcode
660+ exit $exitcode
661661 fi
662662 MERGED_SIZE=` wc -c AO2D.root | awk ' {print $1}' `
663663 echo " Size of merged file: $MERGED_SIZE "
@@ -702,8 +702,8 @@ if [[ $ALIEN_JDL_AODOFF != 1 ]]; then
702702 timeEndCheck=` date +%s`
703703 timeUsedCheck=$(( $timeUsedCheck + $timeEndCheck - $timeStartCheck ))
704704 if [[ $exitcode -ne 0 ]]; then
705- echo " exit code from AO2D check is " $exitcode > validation_error.message
706- echo " exit code from AO2D check is " $exitcode
705+ echo " exit code from AO2D check is " $exitcode > validation_error.message
706+ echo " exit code from AO2D check is " $exitcode
707707 fi
708708 fi
709709 cd -
@@ -719,8 +719,8 @@ if [[ $ALIEN_JDL_AODOFF != 1 ]]; then
719719 i=0
720720 while IFS= read -r line; do
721721 while [[ $CURRENT_POOL_SIZE -ge $MAX_POOL_SIZE ]]; do
722- CURRENT_POOL_SIZE=` jobs -r | wc -l`
723- sleep 1
722+ CURRENT_POOL_SIZE=` jobs -r | wc -l`
723+ sleep 1
724724 done
725725 run_AOD_merging $line &
726726 arr[$i ]=$!
@@ -733,13 +733,13 @@ if [[ $ALIEN_JDL_AODOFF != 1 ]]; then
733733 wait ${arr[$i]}
734734 exitcode=$?
735735 if [[ $exitcode -ne 0 ]]; then
736- echo " Exit code from the process merging DFs inside AO2D for ${aods[$i]} is " $exitcode > validation_error.message
737- echo " Exit code from the process merging DFs inside AO2D for ${aods[$i]} is " $exitcode
738- echo " As a consequence, we will keep the AO2Ds with unmerged DFs for ${aods[$i]} "
739- mergedok[$(( 10 #${aods[$i]} )) ]=0
736+ echo " Exit code from the process merging DFs inside AO2D for ${aods[$i]} is " $exitcode > validation_error.message
737+ echo " Exit code from the process merging DFs inside AO2D for ${aods[$i]} is " $exitcode
738+ echo " As a consequence, we will keep the AO2Ds with unmerged DFs for ${aods[$i]} "
739+ mergedok[$(( 10 #${aods[$i]} )) ]=0
740740 else
741- echo " Merging of DFs inside the AO2D in ${aods[$i]} worked correctly"
742- mergedok[$(( 10 #${aods[$i]} )) ]=1
741+ echo " Merging of DFs inside the AO2D in ${aods[$i]} worked correctly"
742+ mergedok[$(( 10 #${aods[$i]} )) ]=1
743743 fi
744744 done
745745 timeEndMerge=` date +%s`
@@ -751,10 +751,10 @@ if [[ $ALIEN_JDL_AODOFF != 1 ]]; then
751751 AOD_DIR=` dirname $AOD_FILE | sed -e ' s|./||' `
752752 echo " Inspecting $AOD_DIR :"
753753 if [[ ${mergedok[$((10#$AOD_DIR))]} == 0 ]]; then
754- echo " Merging for $AOD_DIR DID NOT work, we will do nothing for this file"
755- continue
754+ echo " Merging for $AOD_DIR DID NOT work, we will do nothing for this file"
755+ continue
756756 else
757- echo " Merging for $AOD_DIR DID work, let's continue"
757+ echo " Merging for $AOD_DIR DID work, let's continue"
758758 fi
759759 cd $AOD_DIR
760760 # now checking them
@@ -765,12 +765,12 @@ if [[ $ALIEN_JDL_AODOFF != 1 ]]; then
765765 timeEndCheckMergedAOD=` date +%s`
766766 timeUsedCheckMergedAOD=$(( $timeUsedCheckMergedAOD + $timeEndCheckMergedAOD - $timeStartCheckMergedAOD ))
767767 if [[ $exitcode -ne 0 ]]; then
768- echo " exit code from AO2D with merged DFs check is " $exitcode > validation_error.message
769- echo " exit code from AO2D with merged DFs check is " $exitcode
770- echo " We will keep the AO2Ds with unmerged DFs"
768+ echo " exit code from AO2D with merged DFs check is " $exitcode > validation_error.message
769+ echo " exit code from AO2D with merged DFs check is " $exitcode
770+ echo " We will keep the AO2Ds with unmerged DFs"
771771 else
772- echo " All ok, replacing initial AO2D.root file with the one with merged DFs"
773- mv AO2D_merged.root AO2D.root
772+ echo " All ok, replacing initial AO2D.root file with the one with merged DFs"
773+ mv AO2D_merged.root AO2D.root
774774 fi
775775 cd ..
776776 done
@@ -791,17 +791,17 @@ if [[ $ALIEN_JDL_AODOFF != 1 ]]; then
791791 timeUsedAnalysisQC=$(( $timeUsedAnalysisQC + $timeEndAnalysisQC - $timeStartAnalysisQC ))
792792 echo " exitcode = $exitcode "
793793 if [[ $exitcode -ne 0 ]]; then
794- echo " exit code from Analysis QC is " $exitcode > validation_error.message
795- echo " exit code from Analysis QC is " $exitcode
796- exit $exitcode
794+ echo " exit code from Analysis QC is " $exitcode > validation_error.message
795+ echo " exit code from Analysis QC is " $exitcode
796+ exit $exitcode
797797 fi
798798 if [[ -f " Analysis/MergedAnalyses/AnalysisResults.root" ]]; then
799- mv Analysis/MergedAnalyses/AnalysisResults.root .
799+ mv Analysis/MergedAnalyses/AnalysisResults.root .
800800 else
801- echo " No Analysis/MergedAnalyses/AnalysisResults.root found! check analysis QC"
801+ echo " No Analysis/MergedAnalyses/AnalysisResults.root found! check analysis QC"
802802 fi
803803 if ls Analysis/* /* .log 1> /dev/null 2>&1 ; then
804- mv Analysis/* /* .log .
804+ mv Analysis/* /* .log .
805805 fi
806806 cd ..
807807 done
0 commit comments