Index: trunk/MagicSoft/Mars/manalysis/MMultiDimDistCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MMultiDimDistCalc.cc	(revision 1905)
+++ trunk/MagicSoft/Mars/manalysis/MMultiDimDistCalc.cc	(revision 1910)
@@ -61,5 +61,6 @@
 
 static const TString gsDefName  = "MMultiDimDistCalc";
-static const TString gsDefTitle = "Composite Probabilities Loop 1/2";
+static const TString gsDefTitle = "Calculate Hadronness with Nearest Neighbor/Kernel Method";
+
 // --------------------------------------------------------------------------
 //
@@ -68,5 +69,5 @@
 //
 MMultiDimDistCalc::MMultiDimDistCalc(const char *name, const char *title)
-    : fNum(0), fUseKernel(kTRUE), fData(NULL)
+    : fNum(0), fUseKernel(kTRUE), fHadronnessName("MHadronness"), fData(NULL)
 {
     //
@@ -151,5 +152,5 @@
     }
 
-    fHadronness = (MHadronness*)plist->FindCreateObj("MHadronness");
+    fHadronness = (MHadronness*)plist->FindCreateObj(fHadronnessName, "MHadronness");
     if (!fHadronness)
         return kFALSE;
@@ -208,18 +209,5 @@
     }
 
-    Double_t arg;
-
-    if (dg+dh != 0.0)
-      arg = dg / (dg+dh);
-    else
-      arg = 1.e10;
-    //fHadronness->SetHadronness(arg);
-
-    if (dg != 0.0)
-      arg = exp(-dh/dg);
-    else
-      arg = 0.0;
-    fHadronness->SetHadronness(arg);
-      
+    fHadronness->SetHadronness(dg==0 ? 0 : exp(-dh/dg));
 
     return kTRUE;
@@ -238,4 +226,6 @@
     out << ";" << endl;
 
+    if (fHadronnessName!="MHadronness")
+        out << "   " << GetUniqueName() << ".SetHadronnessName(\"" << fHadronnessName << "\");" << endl;
     if (fNum!=0)
         out << "   " << GetUniqueName() << ".SetUseNumRows(" << fNum << ");" << endl;
Index: trunk/MagicSoft/Mars/manalysis/MMultiDimDistCalc.h
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MMultiDimDistCalc.h	(revision 1905)
+++ trunk/MagicSoft/Mars/manalysis/MMultiDimDistCalc.h	(revision 1910)
@@ -17,4 +17,6 @@
     Bool_t fUseKernel;        // Flag whether kernel method should be used
 
+    TString fHadronnessName;  // Name of container storing hadronness
+
     MHMatrix   *fMGammas;     //! Gammas describing matrix
     MHMatrix   *fMHadrons;    //! Hadrons (non gammas) describing matrix
@@ -30,4 +32,7 @@
     ~MMultiDimDistCalc();
 
+    void SetHadronnessName(const TString name) { fHadronnessName = name; }
+    TString GetHadronnessName() const { return fHadronnessName; }
+
     void SetUseNumRows(UShort_t n=0) { fNum = n; }
     void SetUseKernelMethod(Bool_t k=kTRUE) { fUseKernel = k; }
@@ -36,5 +41,5 @@
     Bool_t Process();
 
-    ClassDef(MMultiDimDistCalc, 0) // Task to calculate multidimensional distances
+    ClassDef(MMultiDimDistCalc, 0) // Task to calculate nearest neighbor-/kernel-hadronness
 };
 
Index: trunk/MagicSoft/Mars/manalysis/MRanForestCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MRanForestCalc.cc	(revision 1905)
+++ trunk/MagicSoft/Mars/manalysis/MRanForestCalc.cc	(revision 1910)
@@ -60,5 +60,5 @@
 //
 MRanForestCalc::MRanForestCalc(const char *name, const char *title)
-    : fNum(100), fData(NULL)
+    : fNum(100), fHadronnessName("MHadronness"), fData(NULL)
 {
     //
@@ -125,5 +125,5 @@
     }
 
-    fHadroness = (MHadronness*)plist->FindCreateObj("MHadronness");
+    fHadroness = (MHadronness*)plist->FindCreateObj(fHadronnessName, "MHadronness");
     if (!fHadroness)
         return kFALSE;
Index: trunk/MagicSoft/Mars/manalysis/MRanForestCalc.h
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MRanForestCalc.h	(revision 1905)
+++ trunk/MagicSoft/Mars/manalysis/MRanForestCalc.h	(revision 1910)
@@ -15,14 +15,19 @@
 {
 private:
-    Int_t  fNum;             // number of trees used to compute hadronness
+    Int_t  fNum;              // number of trees used to compute hadronness
 
-    MHadronness *fHadroness; //! Output container for calculated hadroness
-    MDataArray *fData;       //! Used to store the MDataChains to get the event values
-    MRanForest *fRanForest;
-    MRanTree   *fRanTree;
+    TString fHadronnessName;  // Name of container storing hadronness
+
+    MHadronness *fHadroness;  //! Output container for calculated hadroness
+    MDataArray  *fData;       //! Used to store the MDataChains to get the event values
+    MRanForest  *fRanForest;
+    MRanTree    *fRanTree;
 
 public:
     MRanForestCalc(const char *name=NULL, const char *title=NULL);
     ~MRanForestCalc();
+
+    void SetHadronnessName(const TString name) { fHadronnessName = name; }
+    TString GetHadronnessName() const { return fHadronnessName; }
 
     void SetUseNumTrees(UShort_t n=100) { fNum = n; }
