Index: trunk/tools/czartool/Gpc1Db.pm
===================================================================
--- trunk/tools/czartool/Gpc1Db.pm	(revision 29865)
+++ trunk/tools/czartool/Gpc1Db.pm	(revision 29866)
@@ -246,12 +246,13 @@
 ###########################################################################
 #
-# Returns average magic mask fraction across all chips for a particular exposure
-#
-###########################################################################
-sub getAverageMagicMaskFraction {
-        my ($self, $exp_id) = @_;
+# Returns average magic mask fraction, sum of mask fractions and chip count 
+# for a particular exposure
+#
+###########################################################################
+sub getMagicMaskStats {
+        my ($self, $exp_id, $mean, $sum, $chipCount) = @_;
 
             my $query = $self->{_db}->prepare(<<SQL);
-            SELECT AVG(streak_frac) 
+            SELECT AVG(streak_frac), SUM(streak_frac), COUNT(*) 
                 FROM magicDSFile  
                 JOIN magicDSRun USING(magic_ds_id) 
@@ -262,6 +263,9 @@
                 AND component LIKE "XY%";
 SQL
-    $query->execute;
-    return scalar $query->fetchrow_array();
+    if (!$query->execute) {return 0;} # TODO do this everywhere
+
+    (${$mean}, ${$sum}, ${$chipCount}) = $query->fetchrow_array();
+
+    return 1;
 }
 1;
