@@ -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
610648fi
611649
612650# now extract all performance metrics
613651if [[ $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