Index: trunk/MagicSoft/Mars/mhist/MHHadronness.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHHadronness.cc	(revision 1606)
+++ trunk/MagicSoft/Mars/mhist/MHHadronness.cc	(revision 1610)
@@ -360,12 +360,21 @@
 
     *fLog << "Used " << fGhness->GetEntries() << " Gammas and " << fPhness->GetEntries() << " Hadrons." << endl;
-    *fLog << "Acc Gammas @  1% Hadron-acc: " << Form("%3.0f", GetGammaAcceptance(0.01)*100) << "%" << endl;
-    *fLog << "Acc Gammas @  2% Hadron-acc: " << Form("%3.0f", GetGammaAcceptance(0.02)*100) << "%" << endl;
-    *fLog << "Acc Gammas @  5% Hadron-acc: " << Form("%3.0f", GetGammaAcceptance(0.05)*100) << "%" << endl;
-    *fLog << "Acc Gammas @ 10% Hadron-acc: " << Form("%3.0f", GetGammaAcceptance(0.1)*100) << "%" << endl;
-    *fLog << "Acc Gammas @ 20% Hadron-acc: " << Form("%3.0f", GetGammaAcceptance(0.2)*100) << "%" << endl;
-    *fLog << "Acc Gammas @ 30% Hadron-acc: " << Form("%3.0f", GetGammaAcceptance(0.3)*100) << "%" << endl;
-    *fLog << "Acc Gammas @ 40% Hadron-acc: " << Form("%3.0f", GetGammaAcceptance(0.4)*100) << "%" << endl;
-    *fLog << "Acc Gammas @ 50% Hadron-acc: " << Form("%3.0f", GetGammaAcceptance(0.5)*100) << "%" << endl;
+    *fLog << " acc(hadron)  acc(gamma)" << endl <<endl;
+
+    *fLog << "    0.005   "  << Form("%6.3f", GetGammaAcceptance(0.005)) << endl;
+    *fLog << "    0.02    "  << Form("%6.3f", GetGammaAcceptance(0.02))  << endl;
+    *fLog << "    0.05    "  << Form("%6.3f", GetGammaAcceptance(0.05))  << endl;
+    *fLog << "    0.1     "  << Form("%6.3f", GetGammaAcceptance(0.1 ))  << endl;
+    *fLog << "    0.2     "  << Form("%6.3f", GetGammaAcceptance(0.2 ))  << endl;
+    *fLog << "    0.3     "  << Form("%6.3f", GetGammaAcceptance(0.3 ))  << endl;
+    *fLog << Form("%6.3f", GetHadronAcceptance(0.1)) << "       0.1  " << endl;
+    *fLog << Form("%6.3f", GetHadronAcceptance(0.2)) << "       0.2  " << endl;
+    *fLog << Form("%6.3f", GetHadronAcceptance(0.3)) << "       0.3  " << endl;
+    *fLog << Form("%6.3f", GetHadronAcceptance(0.4)) << "       0.4  " << endl;
+    *fLog << Form("%6.3f", GetHadronAcceptance(0.5)) << "       0.5  " << endl;
+    *fLog << Form("%6.3f", GetHadronAcceptance(0.6)) << "       0.6  " << endl;
+    *fLog << Form("%6.3f", GetHadronAcceptance(0.7)) << "       0.7  " << endl;
+    *fLog << Form("%6.3f", GetHadronAcceptance(0.8)) << "       0.8  " << endl;
+    *fLog << endl;
 
     const Int_t h = fMinDist->GetMaximumBin();
Index: trunk/MagicSoft/Mars/mhist/MHMcCollectionArea.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHMcCollectionArea.cc	(revision 1606)
+++ trunk/MagicSoft/Mars/mhist/MHMcCollectionArea.cc	(revision 1610)
@@ -209,10 +209,47 @@
 void MHMcCollectionArea::CalcEfficiency()
 {
-    MHMcEfficiency heff;
-    heff.Calc(*fHistSel, *fHistAll);
-
-    Calc(heff);
-}
-
+    Calc(*fHistSel, *fHistAll);
+}
+
+// --------------------------------------------------------------------------
+//
+//  Calculate the Efficiency (collection area) and set the 'ReadyToSave'
+//  flag
+//
+void MHMcCollectionArea::Calc(const MHMcEnergyImpact &mcsel, const MHMcEnergyImpact &mcall)
+{
+    Calc((TH2D&)*mcsel.GetHist(), (TH2D&)*mcall.GetHist());
+}
+
+// --------------------------------------------------------------------------
+//
+//  Calculate the Efficiency (collection area) and set the 'ReadyToSave'
+//  flag
+//
+void MHMcCollectionArea::Calc(TH2D &hsel, TH2D &hall)
+{
+    MH::SetBinning(fHistCol, hsel.GetXaxis());
+
+    fHistCol->Sumw2();
+
+    TH1D &psel = *hsel.ProjectionX();
+    TH1D &pall = *hall.ProjectionX();
+
+    const Double_t max = psel.GetYaxis()->GetXmax();
+
+    fHistCol->Divide(&psel, &pall, TMath::Pi()*max*max, 1);
+    fHistCol->SetEntries(hsel.GetEntries());
+
+    delete &psel;
+    delete &pall;
+
+    SetReadyToSave();
+}
+
+// --------------------------------------------------------------------------
+//
+//  Calculate the Efficiency (collection area) and set the 'ReadyToSave'
+//  flag
+//
 void MHMcCollectionArea::CalcEfficiency(UInt_t numevts, Float_t angle)
 {
@@ -296,12 +333,9 @@
 }
 
-void MHMcCollectionArea::Calc(const MHMcEnergyImpact &mcsel, const MHMcEnergyImpact &mcall)
-{
-    MHMcEfficiency heff;
-    heff.Calc(*mcsel.GetHist(), *mcall.GetHist());
-
-    Calc(heff);
-}
-
+// --------------------------------------------------------------------------
+//
+//  Calculate the Efficiency (collection area) and set the 'ReadyToSave'
+//  flag
+//
 void MHMcCollectionArea::Calc(const MHMcEfficiency &heff)
 {
@@ -344,13 +378,2 @@
     SetReadyToSave();
 }
-
-// --------------------------------------------------------------------------
-//
-//  Calculate the Efficiency (collection area) and set the 'ReadyToSave'
-//  flag
-//
-/*
-void MHMcCollectionArea::Calc(MHMcEnergyImpact &mcsel, UInt_t numevents, Float_t angle)
-{
-}
-*/
Index: trunk/MagicSoft/Mars/mhist/MHMcCollectionArea.h
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHMcCollectionArea.h	(revision 1606)
+++ trunk/MagicSoft/Mars/mhist/MHMcCollectionArea.h	(revision 1610)
@@ -20,6 +20,7 @@
     TH1D *fHistCol; //  the collection area
 
+    void Calc(TH2D &hsel, TH2D &hall);
+
 public:
-
     MHMcCollectionArea(const char *name=NULL, const char *title=NULL);
     ~MHMcCollectionArea();
