Index: trunk/Mars/fact/processing/numevents.C
===================================================================
--- trunk/Mars/fact/processing/numevents.C	(revision 16725)
+++ trunk/Mars/fact/processing/numevents.C	(revision 16863)
@@ -21,5 +21,5 @@
 // create tables in DB
 
-int numevents(TString night="20130418", TString inpath="/daq/analysis/1/", TString table= "AnalysisResultsRunLP", Bool_t dummy=kTRUE, Bool_t pernight=kFALSE)
+int numevents(TString night="20130418", TString inpath="/daq/analysis/1/", TString table= "AnalysisResultsRunLP", Bool_t dummy=kTRUE, Bool_t pernight=kFALSE, Int_t source=0)
 {
 
@@ -105,11 +105,14 @@
             ganymed_fname=inpath+"/ganymed_run/"+year+"/"+month+"/"+day+"/"+run+"-analysis.root";
         else
-            ganymed_fname=inpath+"/ganymed_night/"+night2+"-analysis.root";
-        //cout << "gf => " << ganymed_fname << endl;
+            if (!source)
+                cout << "ERROR - source " << source << " not valid. " << endl;
+            else
+                ganymed_fname=Form("%s/ganymed_night/%d/%s-analysis.root", inpath.Data(), source, night2.Data());
+        cout << "gf => " << ganymed_fname << endl;
 
         if (!pernight)
         {
             star_fname=inpath+"/star/"+year+"/"+month+"/"+day+"/"+run+"_I.root";
-            //cout << "sf => " << star_fname << endl;
+            cout << "sf => " << star_fname << endl;
 
             //check star file status
@@ -142,4 +145,9 @@
             star_tree->Draw("MImagePar.fNumIslands>>IslandHisto","","");
             TH1F *HistJo = (TH1F*)gDirectory->Get("IslandHisto");
+            if (!HistJo)
+            {
+                cout << "ERROR - Reading of IslandHisto failed " << HistJo << endl;
+                continue;
+            }
             fNumIslandsMean = HistJo->GetMean();
         }
@@ -229,5 +237,8 @@
 
         //inserting or updating the information in the database
-        vars = Form("fRunID=%s, fNight=%s,", runid.Data(), night2.Data());
+        if (!pernight)
+            vars = Form("fRunID=%s, fNight=%s,", runid.Data(), night2.Data());
+        else
+            vars = Form("fNight=%s, fSourceKey=%d, ", night2.Data(), source);
         vars += Form(" fNumEvtsAfterQualCuts=%d, "
                     " fNumEvtsAfterBgCuts=%d, "
@@ -251,5 +262,5 @@
 
         if (pernight)
-            where = Form("fNight=%s", night2.Data());
+            where = Form("fNight=%s AND fSourceKey=%d", night2.Data(), source);
         else
             where = Form("fRunID=%s AND fNight=%s", runid.Data(), night2.Data());
