Skip to content

Commit 77e6a06

Browse files
Possibility to take QC alone when we split the wf
1 parent cf41e32 commit 77e6a06

File tree

1 file changed

+42
-4
lines changed

1 file changed

+42
-4
lines changed

DATA/production/configurations/asyncReco/async_pass.sh

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -575,11 +575,17 @@ else
575575
fi
576576

577577
if ([[ -z "$ALIEN_JDL_SSPLITSTEP" ]] && [[ -z "$ALIEN_JDL_SSPLITSTEP" ]]) || [[ "$ALIEN_JDL_SSPLITSTEP" -eq 3 ]] || ( [[ -n $ALIEN_JDL_STARTSPLITSTEP ]] && [[ "$ALIEN_JDL_STARTSPLITSTEP" -le 3 ]]) || [[ "$ALIEN_JDL_SSPLITSTEP" -eq "all" ]]; then
578-
# 3. matching, QC, calib, AOD
578+
# 3. matching, calib, AOD, potentially QC
579579
WORKFLOW_PARAMETERS=$WORKFLOW_PARAMETERS_START
580+
if [[ "$ALIEN_JDL_KEEPQCSEPARATE" == "1" ]]; then
581+
echo "QC will be run as last step, removing it from 3rd step"
582+
for i in QC; do
583+
export WORKFLOW_PARAMETERS=$(echo $WORKFLOW_PARAMETERS | sed -e "s/,$i,/,/g" -e "s/^$i,//" -e "s/,$i"'$'"//" -e "s/^$i"'$'"//")
584+
done
585+
fi
580586
echo "WORKFLOW_PARAMETERS=$WORKFLOW_PARAMETERS"
581-
echo "Step 3) matching, QC, calib, AOD"
582-
echo -e "\nStep 3) matching, QC, calib, AOD" >> workflowconfig.log
587+
echo "Step 3) matching, calib, AOD, potentially QC"
588+
echo -e "\nStep 3) matching, calib, AOD, potentially QC" >> workflowconfig.log
583589
export TIMEFRAME_RATE_LIMIT=0
584590
echo "Removing detectors $DETECTORS_EXCLUDE"
585591
READER_DELAY=${ALIEN_JDL_READERDELAY:-30}
@@ -607,13 +613,45 @@ else
607613
fi
608614
fi
609615
fi
616+
if [[ "$ALIEN_JDL_KEEPQCSEPARATE" == "1" ]]; then
617+
if ([[ -z "$ALIEN_JDL_SSPLITSTEP" ]] && [[ -z "$ALIEN_JDL_SSPLITSTEP" ]]) || [[ "$ALIEN_JDL_SSPLITSTEP" -eq 4 ]] || ( [[ -n $ALIEN_JDL_STARTSPLITSTEP ]] && [[ "$ALIEN_JDL_STARTSPLITSTEP" -le 4 ]]) || [[ "$ALIEN_JDL_SSPLITSTEP" -eq "all" ]]; then
618+
# 4. QC
619+
WORKFLOW_PARAMETERS="QC"
620+
echo "WORKFLOW_PARAMETERS=$WORKFLOW_PARAMETERS"
621+
echo "Step 4) QC"
622+
echo -e "\nStep 4) QC" >> workflowconfig.log
623+
export TIMEFRAME_RATE_LIMIT=0
624+
echo "Removing detectors $DETECTORS_EXCLUDE"
625+
env $SETTING_ROOT_OUTPUT IS_SIMULATED_DATA=0 WORKFLOWMODE=print TFDELAY=$TFDELAYSECONDS WORKFLOW_DETECTORS=ALL WORKFLOW_DETECTORS_EXCLUDE=$DETECTORS_EXCLUDE WORKFLOW_DETECTORS_USE_GLOBAL_READER_TRACKS=ALL WORKFLOW_DETECTORS_USE_GLOBAL_READER_CLUSTERS=ALL WORKFLOW_DETECTORS_EXCLUDE_GLOBAL_READER_TRACKS=HMP WORKFLOW_DETECTORS_EXCLUDE_QC=CPV,$DETECTORS_EXCLUDE ./run-workflow-on-inputlist.sh $INPUT_TYPE list.list >> workflowconfig.log
626+
# run it
627+
if [[ "0$RUN_WORKFLOW" != "00" ]]; then
628+
timeStart=`date +%s`
629+
time env $SETTING_ROOT_OUTPUT IS_SIMULATED_DATA=0 WORKFLOWMODE=run TFDELAY=$TFDELAYSECONDS WORKFLOW_DETECTORS=ALL WORKFLOW_DETECTORS_EXCLUDE=$DETECTORS_EXCLUDE WORKFLOW_DETECTORS_USE_GLOBAL_READER_TRACKS=ALL WORKFLOW_DETECTORS_USE_GLOBAL_READER_CLUSTERS=ALL WORKFLOW_DETECTORS_EXCLUDE_GLOBAL_READER_TRACKS=HMP WORKFLOW_DETECTORS_EXCLUDE_QC=CPV,$DETECTORS_EXCLUDE ./run-workflow-on-inputlist.sh $INPUT_TYPE list.list
630+
exitcode=$?
631+
timeEnd=`date +%s`
632+
timeUsed=$(( $timeUsed+$timeEnd-$timeStart ))
633+
delta=$(( $timeEnd-$timeStart ))
634+
echo "Time spent in running the workflow, Step 4 = $delta s"
635+
echo "exitcode = $exitcode"
636+
if [[ $exitcode -ne 0 ]]; then
637+
echo "exit code from Step 4 of processing is " $exitcode > validation_error.message
638+
echo "exit code from Step 4 of processing is " $exitcode
639+
exit $exitcode
640+
fi
641+
mv latest.log latest_reco_4.log
642+
if [[ -f performanceMetrics.json ]]; then
643+
mv performanceMetrics.json performanceMetrics_4.json
644+
fi
645+
fi
646+
fi
647+
fi
610648
fi
611649

612650
# now extract all performance metrics
613651
if [[ $ALIEN_JDL_EXTRACTMETRICS == "1" ]]; then
614652
IFS=$'\n'
615653
timeStart=`date +%s`
616-
for perfMetricsFiles in performanceMetrics.json performanceMetrics_1.json performanceMetrics_2.json performanceMetrics_3.json ; do
654+
for perfMetricsFiles in performanceMetrics.json performanceMetrics_1.json performanceMetrics_2.json performanceMetrics_3.json performanceMetrics_4.json ; do
617655
suffix=`echo $perfMetricsFiles | sed 's/performanceMetrics\(.*\).json/\1/'`
618656
if [[ -f "performanceMetrics.json" ]]; then
619657
for workflow in `grep ': {' $perfMetricsFiles`; do

0 commit comments

Comments
 (0)