Index: trunk/MagicSoft/Mars/mjtrain/MJTrainSeparation.cc
===================================================================
--- trunk/MagicSoft/Mars/mjtrain/MJTrainSeparation.cc	(revision 7669)
+++ trunk/MagicSoft/Mars/mjtrain/MJTrainSeparation.cc	(revision 7670)
@@ -90,4 +90,5 @@
     TH2D res2(g);
 
+    h.SetTitle("Hadronness-Distribution vs. Size");
     res1.SetTitle("Significance Li/Ma");
     res2.SetTitle("Significance Li/Ma * log_{10}(excess)");
@@ -351,8 +352,8 @@
 }
 
-Bool_t MJTrainSeparation::AutoTrain()
+Bool_t MJTrainSeparation::AutoTrain(MDataSet &set, UInt_t &seton, UInt_t &setoff)
 {
     Double_t num, min, max;
-    if (!GetEventsProduced(fDataSetTrain, num, min, max))
+    if (!GetEventsProduced(set, num, min, max))
         return kFALSE;
 
@@ -386,7 +387,8 @@
     // With an average data rate after star of
     Double_t data=0;
-    const Double_t r = GetDataRate(fDataSetTrain, data); //[Hz]
+    const Double_t r = GetDataRate(set, data); //[Hz]
 
     *fLog << "Events measured per second effective on time:             " << r << "Hz" << endl;
+    *fLog << "Total effective on time:                                  " << data/r  << endl;
 
     // this yields a number of n events to be read for training
@@ -399,5 +401,5 @@
         return kFALSE;
 
-    Double_t nummc = GetNumMC(fDataSetTrain);
+    Double_t nummc = GetNumMC(set);
 
     *fLog << "Events available in MC sample:                            " << nummc << endl;
@@ -419,20 +421,17 @@
     }
 
-    if (fNumTrainOn>0 && fNumTrainOn<on)
-    {
-        fNumTrainOff = TMath::Nint(off*fNumTrainOn/on);
-        *fLog << "Less MC events requested... scaling by " << fNumTrainOn/on << endl;
+    if (seton>0 && seton<on)
+    {
+        setoff = TMath::Nint(off*seton/on);
+        *fLog << "Less MC events requested... scaling by " << seton/on << endl;
     }
     else
     {
-        fNumTrainOn  = TMath::Nint(on);
-        fNumTrainOff = TMath::Nint(off);
-    }
-
-    *fLog << "Target number of MC events:   " << fNumTrainOn << endl;
-    *fLog << "Target number of data events: " << fNumTrainOff << endl;
-
-    fNumTestOn  = fNumTrainOn;
-    fNumTestOff = fNumTrainOff;
+        seton  = TMath::Nint(on);
+        setoff = TMath::Nint(off);
+    }
+
+    *fLog << "Target number of MC events:   " << seton  << endl;
+    *fLog << "Target number of data events: " << setoff << endl;
 
     /*
@@ -470,6 +469,12 @@
 
     if (fAutoTrain)
-        if (!AutoTrain())
+    {
+        fLog->Separator("Auto-Training -- Train-Data");
+        if (!AutoTrain(fDataSetTrain, fNumTrainOn, fNumTrainOff))
             return kFALSE;
+        fLog->Separator("Auto-Training -- Test-Data");
+        if (!AutoTrain(fDataSetTest,  fNumTestOn,  fNumTestOff))
+            return kFALSE;
+    }
 
     // --------------------- Setup files --------------------
