diff --git a/src/THcShowerArray.cxx b/src/THcShowerArray.cxx
index fac73bc31373756ad711d4a001ff84e8f020af37..5f8d8484af0dafffe782921601e5398ef5369e96 100644
--- a/src/THcShowerArray.cxx
+++ b/src/THcShowerArray.cxx
@@ -303,8 +303,10 @@ Int_t THcShowerArray::DefineVariables( EMode mode )
     {"p", "Dynamic ADC Pedestal", "fP"},
     {"a_p", "Sparsified, ped-subtracted ADC Amplitudes", "fA_p"},
     { "nhits", "Number of hits", "fNhits" },
+    { "nclust", "Number of clusters", "fNclust" },
     {"e", "Energy Depositions per block", "fE"},
     {"earray", "Energy Deposition in array", "fEarray"},
+    { "ntracks", "Number of shower tracks", "fNtracks" },
     { 0 }
   };
 
@@ -318,6 +320,8 @@ void THcShowerArray::Clear( Option_t* )
   fADCHits->Clear();
 
   fNhits = 0;
+  fNclust = 0;
+  fNtracks = 0;
 
   for (THcShowerClusterListIt i=fClusterList->begin(); i!=fClusterList->end();
        ++i) {
@@ -379,6 +383,40 @@ Int_t THcShowerArray::CoarseProcess( TClonesArray& tracks )
     }
   }
 
+  // Fill list of clusters.
+
+  fParent->ClusterHits(HitSet, fClusterList);
+
+  fNclust = (*fClusterList).size();   //number of clusters
+
+  if (fParent->fdbg_clusters_cal) {
+
+    cout << "  Clustered hits. Number of clusters: " << fNclust << endl;
+
+    UInt_t i = 0;
+    for (THcShowerClusterListIt ppcl = (*fClusterList).begin();
+	 ppcl != (*fClusterList).end(); ppcl++) {
+
+      cout << "  Cluster #" << i++
+	   <<":  E=" << clE(*ppcl) 
+	   << "  Epr=" << clEpr(*ppcl)
+	   << "  X=" << clX(*ppcl)
+	   << "  Z=" << clZ(*ppcl)
+	   << "  size=" << (**ppcl).size()
+	   << endl;
+
+      Int_t j=0;
+      for (THcShowerClusterIt pph=(**ppcl).begin(); pph!=(**ppcl).end();
+	   pph++) {
+	cout << "  hit " << j++ << ": ";
+	(**pph).show();
+      }
+
+    }
+
+    cout << "---------------------------------------------------------------\n";
+  }
+
   return 0;
 }
 
diff --git a/src/THcShowerArray.h b/src/THcShowerArray.h
index 3f39a740da9bae8753e70fdfa198d13403b09ee0..42dc71d5c9b0cfcac1b4d96d445faa1780591bc7 100644
--- a/src/THcShowerArray.h
+++ b/src/THcShowerArray.h
@@ -120,6 +120,9 @@ protected:
   Double_t  fEarray;  // Total Energy deposition in the array.
 
   Int_t fNhits;              // Total number of hits
+  Int_t fNclust;             // Number of clusters
+  Int_t fNtracks;            // Number of shower tracks, i.e. number of
+                             // cluster-to-track association
 
   THcShowerClusterList* fClusterList;   // List of hit clusters