Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 3870)
+++ trunk/MagicSoft/Mars/Changelog	(revision 3871)
@@ -27,4 +27,12 @@
  2004/04/28: Markus Gaug
  
+   * mjobs/MGCamDisplays.cc
+   * mjobs/MJCalibration.cc
+     - introduced new "fit" flag in DrawProjection allowing to draw 
+       two separate pad with the (fitted) histograms for inner and 
+       outer pixels. This is displayed by MJCalibration if the 
+       kNormalDisplay option is chosen (default).
+
+
    * msignal/MArrivalTimeCalc.[h,cc]
      -remove the ReInit() which calls to an MGeomCam which is later not 
Index: trunk/MagicSoft/Mars/macros/calibration.C
===================================================================
--- trunk/MagicSoft/Mars/macros/calibration.C	(revision 3870)
+++ trunk/MagicSoft/Mars/macros/calibration.C	(revision 3871)
@@ -85,4 +85,7 @@
   //  badcam.AsciiRead("badpixels.dat");
 
+  gStyle->SetOptStat(1);
+  gStyle->SetOptFit();
+
   MStatusDisplay *display = new MStatusDisplay;
   display->SetUpdateTime(3000);
Index: trunk/MagicSoft/Mars/mjobs/MGCamDisplays.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MGCamDisplays.cc	(revision 3870)
+++ trunk/MagicSoft/Mars/mjobs/MGCamDisplays.cc	(revision 3871)
@@ -35,9 +35,13 @@
 #include <TCanvas.h>
 
+#include "MH.h"
 #include "MHCamera.h"
 #include "MGeomCam.h"
-#include "TPad.h"
+#include "TVirtualPad.h"
 #include "TProfile.h"
 #include "TF1.h"
+
+#include "MLog.h"
+#include "MLogManip.h"
 
 #include "MStatusDisplay.h"
@@ -114,4 +118,6 @@
 // 3: Triple Gauss (for distributions with inner, outer pixels and outliers)
 // 4: flat         (for the probability distributions)
+// 5: Fit Inner and Outer pixels separately by a single Gaussian 
+//                 (only for MAGIC cameras)
 //
 // Moreover, sectors 6,1 and 2 of the camera and sectors 3,4 and 5 are 
@@ -120,4 +126,62 @@
 void MGCamDisplays::DrawProjection(MHCamera *obj, Int_t fit) const
 {
+  
+  TArrayI inner(1);
+  inner[0] = 0;
+  
+  TArrayI outer(1);
+  outer[0] = 1;
+          
+  if (fit==5)
+    {
+      
+      if (obj->GetGeomCam().InheritsFrom("MGeomCamMagic"))
+        {
+          TArrayI s0(6);
+          s0[0] = 6;
+          s0[1] = 1;
+          s0[2] = 2;
+          s0[3] = 3;
+          s0[4] = 4;
+          s0[5] = 5;
+
+          gPad->Clear();
+          TVirtualPad *pad = gPad;
+          pad->Divide(2,1);
+          
+          TH1D *half[2];
+          half[0] = obj->ProjectionS(s0, inner, "Inner");
+          half[1] = obj->ProjectionS(s0, outer, "Outer");
+          
+          half[0]->SetDirectory(NULL);
+          half[1]->SetDirectory(NULL);
+          
+          for (int i=0; i<2; i++)
+            {
+              pad->cd(i+1);
+              half[i]->SetLineColor(kRed+i);
+              half[i]->SetBit(kCanDelete);
+              half[i]->Draw();
+              half[i]->Fit("gaus","Q");
+            }
+          
+          gLog << all << obj->GetName() 
+               << Form("%s%5.3f%s%3.2f"," Mean: Inner Pixels: ",
+                       half[0]->GetFunction("gaus")->GetParameter(1),"+-",
+                       half[0]->GetFunction("gaus")->GetParError(1));
+          gLog << Form("%s%5.3f%s%3.2f","  Outer Pixels: ",
+                       half[1]->GetFunction("gaus")->GetParameter(1),"+-",
+                       half[1]->GetFunction("gaus")->GetParError(1)) << endl;
+          gLog << all << obj->GetName()
+               << Form("%s%5.3f%s%3.2f"," Sigma: Inner Pixels: ",
+                       half[0]->GetFunction("gaus")->GetParameter(2),"+-",
+                       half[0]->GetFunction("gaus")->GetParError(2));
+          gLog << Form("%s%5.3f%s%3.2f","  Outer Pixels: ",
+                       half[1]->GetFunction("gaus")->GetParameter(2),"+-",
+                       half[1]->GetFunction("gaus")->GetParError(2)) << endl;
+          
+        }
+      return;
+    }
   
   TH1D *obj2 = (TH1D*)obj->Projection(obj->GetName());
@@ -125,4 +189,5 @@
   obj2->Draw();
   obj2->SetBit(kCanDelete);
+  
   
   if (obj->GetGeomCam().InheritsFrom("MGeomCamMagic"))
@@ -138,23 +203,19 @@
       s1[2] = 5;
       
-      TArrayI inner(1);
-      inner[0] = 0;
-      
-      TArrayI outer(1);
-      outer[0] = 1;
+      
+      TH1D *halfInOut[4];
       
       // Just to get the right (maximum) binning
-      TH1D *half[4];
-      half[0] = obj->ProjectionS(s0, inner, "Sector 6-1-2 Inner");
-      half[1] = obj->ProjectionS(s1, inner, "Sector 3-4-5 Inner");
-      half[2] = obj->ProjectionS(s0, outer, "Sector 6-1-2 Outer");
-      half[3] = obj->ProjectionS(s1, outer, "Sector 3-4-5 Outer");
+      halfInOut[0] = obj->ProjectionS(s0, inner, "Sector 6-1-2 Inner");
+      halfInOut[1] = obj->ProjectionS(s1, inner, "Sector 3-4-5 Inner");
+      halfInOut[2] = obj->ProjectionS(s0, outer, "Sector 6-1-2 Outer");
+      halfInOut[3] = obj->ProjectionS(s1, outer, "Sector 3-4-5 Outer");
       
       for (int i=0; i<4; i++)
         {
-          half[i]->SetLineColor(kRed+i);
-          half[i]->SetDirectory(0);
-          half[i]->SetBit(kCanDelete);
-          half[i]->Draw("same");
+          halfInOut[i]->SetLineColor(kRed+i);
+          halfInOut[i]->SetDirectory(0);
+          halfInOut[i]->SetBit(kCanDelete);
+          halfInOut[i]->Draw("same");
         }
     }
Index: trunk/MagicSoft/Mars/mjobs/MJCalibration.cc
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 3870)
+++ trunk/MagicSoft/Mars/mjobs/MJCalibration.cc	(revision 3871)
@@ -213,27 +213,27 @@
 
     // Create histograms to display
-    MHCamera disp1 (geomcam, "Cal;Charge",            "Fitted Mean Charges");
-    MHCamera disp2 (geomcam, "Cal;SigmaCharge",       "Sigma of Fitted Charges");
-    MHCamera disp3 (geomcam, "Cal;RSigma",            "Reduced Sigmas");
-    MHCamera disp4 (geomcam, "Cal;RSigma/Charge",     "Reduced Sigma per Charge");
-    MHCamera disp5 (geomcam, "Cal;FFactorPhe",        "Nr. of Phe's (F-Factor Method)");
-    MHCamera disp6 (geomcam, "Cal;FFactorConv",       "Conversion Factor (F-Factor Method)");
-    MHCamera disp7 (geomcam, "Cal;FFactorFFactor",    "Total F-Factor (F-Factor Method)");
-    MHCamera disp8 (geomcam, "Cal;CascadesQEFFactor", "Cascades QE (F-Factor Method)");
-    MHCamera disp9 (geomcam, "Cal;CascadesQEBlindPix","Cascades QE (Blind Pixel Method)");
-    MHCamera disp10(geomcam, "Cal;CascadesQEPINDiode","Cascades QE (PIN Diode Method)");
-    MHCamera disp11(geomcam, "Cal;CascadesQECombined","Cascades QE (Combined Method)");
-    MHCamera disp12(geomcam, "Cal;FFactorValid",      "Pixels with valid F-Factor calibration");
-    MHCamera disp13(geomcam, "Cal;BlindPixelValid",   "Pixels with valid BlindPixel calibration");
-    MHCamera disp14(geomcam, "Cal;PINdiodeValid",     "Pixels with valid PINDiode calibration");
-    MHCamera disp15(geomcam, "Cal;CombinedValid",     "Pixels with valid Combined calibration");
-    MHCamera disp16(geomcam, "Cal;Saturation",        "Pixels with saturated Hi Gain");
-    MHCamera disp17(geomcam, "Cal;ConversionMeans",   "Conversion HiGain.vs.LoGain Means");
-    MHCamera disp18(geomcam, "Cal;ConversionSigmas",  "Conversion HiGain.vs.LoGain Sigmas");
-    MHCamera disp19(geomcam, "Cal;HiGainPickup",      "Number Pickup events Hi Gain");
-    MHCamera disp20(geomcam, "Cal;LoGainPickup",      "Number Pickup events Lo Gain");
-    MHCamera disp21(geomcam, "Cal;HiGainBlackout",    "Number Blackout events Hi Gain");
-    MHCamera disp22(geomcam, "Cal;LoGainBlackout",    "Number Blackout events Lo Gain");
-    MHCamera disp23(geomcam, "Cal;Excluded",          "Pixels previously excluded");
+    MHCamera disp1 (geomcam, "Charge",            "Fitted Mean Charges");
+    MHCamera disp2 (geomcam, "SigmaCharge",       "Sigma of Fitted Charges");
+    MHCamera disp3 (geomcam, "RSigma",            "Reduced Sigmas");
+    MHCamera disp4 (geomcam, "RSigmaPerCharge",   "Reduced Sigma per Charge");
+    MHCamera disp5 (geomcam, "NumPhes",           "Nr. of Phe's (F-Factor Method)");
+    MHCamera disp6 (geomcam, "ConvFADC2Phes",     "Conversion Factor (F-Factor Method)");
+    MHCamera disp7 (geomcam, "TotalFFactor",      "Total F-Factor (F-Factor Method)");
+    MHCamera disp8 (geomcam, "CascadesQEFFactor", "Cascades QE (F-Factor Method)");
+    MHCamera disp9 (geomcam, "CascadesQEBlindPix","Cascades QE (Blind Pixel Method)");
+    MHCamera disp10(geomcam, "CascadesQEPINDiode","Cascades QE (PIN Diode Method)");
+    MHCamera disp11(geomcam, "CascadesQECombined","Cascades QE (Combined Method)");
+    MHCamera disp12(geomcam, "FFactorValid",      "Pixels with valid F-Factor calibration");
+    MHCamera disp13(geomcam, "BlindPixelValid",   "Pixels with valid BlindPixel calibration");
+    MHCamera disp14(geomcam, "PINdiodeValid",     "Pixels with valid PINDiode calibration");
+    MHCamera disp15(geomcam, "CombinedValid",     "Pixels with valid Combined calibration");
+    MHCamera disp16(geomcam, "Saturation",        "Pixels with saturated Hi Gain");
+    MHCamera disp17(geomcam, "ConversionMeans",   "Conversion HiGain.vs.LoGain Means");
+    MHCamera disp18(geomcam, "ConversionSigmas",  "Conversion HiGain.vs.LoGain Sigmas");
+    MHCamera disp19(geomcam, "HiGainPickup",      "Number Pickup events Hi Gain");
+    MHCamera disp20(geomcam, "LoGainPickup",      "Number Pickup events Lo Gain");
+    MHCamera disp21(geomcam, "HiGainBlackout",    "Number Blackout events Hi Gain");
+    MHCamera disp22(geomcam, "LoGainBlackout",    "Number Blackout events Lo Gain");
+    MHCamera disp23(geomcam, "Excluded",          "Pixels previously excluded");
     MHCamera disp24(geomcam, "Bad;UnSuitable",        "Pixels not suited for further analysis");
     MHCamera disp25(geomcam, "Bad;UnReliable",        "Pixels not reliable for further analysis");
@@ -368,7 +368,4 @@
       }
     
-    gStyle->SetOptStat(1111);
-    gStyle->SetOptFit();
-
     if (fDisplayType == kDataCheckDisplay)
       {
@@ -428,6 +425,6 @@
         c11.Divide(2, 4);
         
-        CamDraw(c11, 1, 2, disp1, 2, 1);
-        CamDraw(c11, 2, 2, disp2, 2, 1);
+        CamDraw(c11, 1, 2, disp1, 5, 1);
+        CamDraw(c11, 2, 2, disp2, 5, 1);
         
         // Reduced Sigmas
@@ -435,6 +432,6 @@
         c12.Divide(2,4);
         
-        CamDraw(c12, 1, 2, disp3, 2, 1);
-        CamDraw(c12, 2, 2, disp4, 2, 1);
+        CamDraw(c12, 1, 2, disp3, 5, 1);
+        CamDraw(c12, 2, 2, disp4, 5, 1);
         
         //  F-Factor
@@ -442,7 +439,7 @@
         c13.Divide(3,4);
         
-        CamDraw(c13, 1, 3, disp5, 2, 1);
-        CamDraw(c13, 2, 3, disp6, 2, 1);
-        CamDraw(c13, 3, 3, disp7, 2, 1);
+        CamDraw(c13, 1, 3, disp5, 5, 1);
+        CamDraw(c13, 2, 3, disp6, 5, 1);
+        CamDraw(c13, 3, 3, disp7, 5, 1);
         
         // QE's
@@ -450,8 +447,8 @@
         c14.Divide(4,4);
         
-        CamDraw(c14, 1, 4, disp8,  2, 1);
-        CamDraw(c14, 2, 4, disp9,  2, 1);
-        CamDraw(c14, 3, 4, disp10, 2, 1);
-        CamDraw(c14, 4, 4, disp11, 2, 1);
+        CamDraw(c14, 1, 4, disp8,  5, 1);
+        CamDraw(c14, 2, 4, disp9,  5, 1);
+        CamDraw(c14, 3, 4, disp10, 5, 1);
+        CamDraw(c14, 4, 4, disp11, 5, 1);
         
         // Defects
@@ -476,6 +473,6 @@
         c16.Divide(2,3);
         
-        CamDraw(c16, 1, 2, disp28, 2);
-        CamDraw(c16, 2, 2, disp29, 1);
+        CamDraw(c16, 1, 2, disp28, 5);
+        CamDraw(c16, 2, 2, disp29, 5);
 
         if (fRelTimes)
@@ -485,6 +482,6 @@
             c17.Divide(2,4);
             
-            CamDraw(c17, 1, 2, disp30, 2, 1);
-            CamDraw(c17, 2, 2, disp31, 2, 1);
+            CamDraw(c17, 1, 2, disp30, 5, 1);
+            CamDraw(c17, 2, 2, disp31, 5, 1);
           }
         
