@@ -58,33 +58,32 @@ class QcFlagRepository extends Repository {
5858 async findGaqPeriods ( dataPassId , runNumber ) {
5959 const query = `
6060 SELECT
61- gaq_periods .data_pass_id AS dataPassId,
62- gaq_periods .run_number AS runNumber,
63- gaq_periods .\`from\` AS \`from\`,
64- gaq_periods .\`to\` AS \`to\`,
61+ gp .data_pass_id AS dataPassId,
62+ gp .run_number AS runNumber,
63+ gp .\`from\` AS \`from\`,
64+ gp .\`to\` AS \`to\`,
6565 group_concat(qcf.id) AS contributingFlagIds,
66- gaq_periods .coverage_ratio AS coverage_ratio
66+ gp .coverage_ratio AS coverage_ratio
6767
6868 FROM quality_control_flags AS qcf
69- INNER JOIN quality_control_flag_effective_periods AS qcfep
70- ON qcf.id = qcfep.flag_id
69+ INNER JOIN quality_control_flag_effective_periods AS qcfep ON qcf.id = qcfep.flag_id
7170 INNER JOIN data_pass_quality_control_flag AS dpqcf ON dpqcf.quality_control_flag_id = qcf.id
72- INNER JOIN gaq_periods AS gaq_periods ON gaq_periods .data_pass_id = dpqcf.data_pass_id
71+ INNER JOIN gaq_periods AS gp ON gp .data_pass_id = dpqcf.data_pass_id
7372 INNER JOIN global_aggregated_quality_detectors AS gaqd
74- ON gaqd.data_pass_id = gaq_periods .data_pass_id
75- AND gaqd.run_number = gaq_periods .run_number
76- AND gaqd.detector_id = qcf.detector_id
77- AND gaq_periods .run_number = qcf.run_number
78- AND (qcfep.\`from\` IS NULL OR qcfep.\`from\` <= gaq_periods .\`from\`)
79- AND (qcfep.\`to\` IS NULL OR gaq_periods .\`to\` <= qcfep.\`to\`)
73+ ON gaqd.data_pass_id = gp .data_pass_id
74+ AND gaqd.run_number = gp .run_number
75+ AND gaqd.detector_id = qcf.detector_id
76+ AND gp .run_number = qcf.run_number
77+ AND (qcfep.\`from\` IS NULL OR qcfep.\`from\` <= gp .\`from\`)
78+ AND (qcfep.\`to\` IS NULL OR gp .\`to\` <= qcfep.\`to\`)
8079
81- WHERE gaq_periods .data_pass_id = ${ dataPassId }
82- ${ runNumber ? `AND gaq_periods .run_number = ${ runNumber } ` : '' }
80+ WHERE gp .data_pass_id = ${ dataPassId }
81+ ${ runNumber ? `AND gp .run_number = ${ runNumber } ` : '' }
8382
84- GROUP BY gaq_periods .run_number,
85- gaq_periods .data_pass_id,
86- gaq_periods .\`from\`,
87- gaq_periods .\`to\`;
83+ GROUP BY gp .run_number,
84+ gp .data_pass_id,
85+ gp .\`from\`,
86+ gp .\`to\`;
8887 ` ;
8988
9089 const [ rows ] = await this . model . sequelize . query ( query ) ;
@@ -118,7 +117,7 @@ class QcFlagRepository extends Repository {
118117 gp.data_pass_id,
119118 gp.run_number,
120119 gp.coverage_ratio,
121- qc_flag_block_significance(qcft.bad, qcft.monte_carlo_reproducible) AS significance,
120+ IF(COUNT(DISTINCT qcf.id) > 0, qc_flag_block_significance(qcft.bad, qcft.monte_carlo_reproducible), NULL ) AS significance,
122121 COUNT(DISTINCT gaqd.detector_id) - COUNT(DISTINCT qcf.id) AS undefined_quality_periods_count,
123122 GROUP_CONCAT( DISTINCT qcfv.flag_id ) AS verified_flags_list,
124123 GROUP_CONCAT( DISTINCT qcfep.flag_id ) AS flags_list
@@ -154,7 +153,7 @@ class QcFlagRepository extends Repository {
154153 qc_flag_block_significance_coverage(gaq.significance, coverage_ratio, 'bad') AS bad_coverage,
155154 qc_flag_block_significance_coverage(gaq.significance, coverage_ratio, 'mcr') AS mcr_coverage,
156155 qc_flag_block_significance_coverage(gaq.significance, coverage_ratio, 'good') AS good_coverage,
157- SUM(coverage_ratio) AS total_coverage,
156+ SUM(IF(gaq.significance IS NOT NULL, coverage_ratio, 0)) AS total_coverage,
158157 SUM(undefined_quality_periods_count) AS undefined_quality_periods_count,
159158 GROUP_CONCAT(verified_flags_list) AS verified_flags_list,
160159 GROUP_CONCAT(flags_list) AS flags_list
0 commit comments