Index: trunk/MagicSoft/Mars/mhist/MBinning.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MBinning.cc	(revision 2104)
+++ trunk/MagicSoft/Mars/mhist/MBinning.cc	(revision 2106)
@@ -108,5 +108,5 @@
     fEdges.Set(nbins+1);
     for (int i=0; i<=nbins; i++)
-        fEdges[i] = (acos(binsize*i) + ld)*kRad2Deg;
+        fEdges[i] = acos(cos(ld)-binsize*i)*kRad2Deg;
 
     fType = kIsCosinic;
Index: trunk/MagicSoft/Mars/mhist/MHSigmaTheta.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHSigmaTheta.cc	(revision 2104)
+++ trunk/MagicSoft/Mars/mhist/MHSigmaTheta.cc	(revision 2106)
@@ -65,5 +65,4 @@
 //
 MHSigmaTheta::MHSigmaTheta(const char *name, const char *title)
-    : fSigmaTheta(), fSigmaPixTheta()
 {
     fName  = name  ? name  : "MHSigmaTheta";
@@ -72,29 +71,38 @@
     fSigmaTheta.SetDirectory(NULL);
     fSigmaTheta.SetName("2D-ThetaSigmabar");
-    fSigmaTheta.SetTitle("2D: Sigmabar, \\Theta");
+    fSigmaTheta.SetTitle("2D: \\bar{\\sigma}, \\Theta");
     fSigmaTheta.SetXTitle("\\Theta [\\circ]");
-    fSigmaTheta.SetYTitle("Sigmabar");
+    fSigmaTheta.SetYTitle("\\bar{\\sigma}");
 
     fSigmaPixTheta.SetDirectory(NULL);
     fSigmaPixTheta.SetName("3D-ThetaPixSigma");
-    fSigmaPixTheta.SetTitle("3D : \\Theta, Pixel Id, Sigma");
+    fSigmaPixTheta.SetTitle("3D: \\Theta, Pixel Id, \\sigma");
     fSigmaPixTheta.SetXTitle("\\Theta [\\circ]");
     fSigmaPixTheta.SetYTitle("Pixel Id");
-    fSigmaPixTheta.SetZTitle("Sigma");
+    fSigmaPixTheta.SetZTitle("\\sigma");
 
     fDiffPixTheta.SetDirectory(NULL);
     fDiffPixTheta.SetName("3D-ThetaPixDiff");
-    fDiffPixTheta.SetTitle("3D : \\Theta, Pixel Id, Sigma^2-Sigmabar^2");
+    fDiffPixTheta.SetTitle("3D: \\Theta, Pixel Id, {\\sigma}^{2}-\\bar{\\sigma}^{2}");
     fDiffPixTheta.SetXTitle("\\Theta [\\circ]");
     fDiffPixTheta.SetYTitle("Pixel Id");
-    fDiffPixTheta.SetZTitle("Sigma^2-Sigmabar^2");
-}
-// --------------------------------------------------------------------------
-//
-// Default Destructor
-//
-MHSigmaTheta::~MHSigmaTheta()
-{
-
+    fDiffPixTheta.SetZTitle("{\\sigma}^{2}-\\bar{\\sigma}^{2}");
+
+    // Set default binning
+    // FIXME: Maybe ist's necessary to adapt the value to the
+    // Magic default values
+    MBinning binsb;
+    MBinning binst;
+    MBinning binsd;
+    binsd.SetEdges(100, -5, 20);
+    binsb.SetEdges(100, 0, 5);
+    binst.SetEdgesCos(10, 0, 90);
+
+    MBinning binspix("BinningPixel");
+    binspix.SetEdges(577, -0.5, 577.5);
+
+    SetBinning(&fSigmaTheta,    &binst, &binsb);
+    SetBinning(&fSigmaPixTheta, &binst, &binspix, &binsb);
+    SetBinning(&fDiffPixTheta,  &binst, &binspix, &binsd);
 }
 
@@ -105,78 +113,76 @@
 Bool_t MHSigmaTheta::SetupFill(const MParList *plist)
 {
-
-  fMcEvt = (MMcEvt*)plist->FindObject("MMcEvt");
-  if (!fMcEvt)
-    {
-       *fLog << err << "MMcEvt not found... aborting." << endl;
-       return kFALSE;
-     }
-  
-   fPed = (MPedestalCam*)plist->FindObject("MPedestalCam");
-   if (!fPed)
-     {
-       *fLog << err << "MPedestalCam not found... aborting." << endl;
-       return kFALSE;
-     }
-  
-   fCam = (MGeomCam*)plist->FindObject("MGeomCam");
-   if (!fCam)
-     {
-       *fLog << err << "MGeomCam not found (no geometry information available)... aborting." << endl;
-       return kFALSE;
-     }
-  
-   fEvt = (MCerPhotEvt*)plist->FindObject("MCerPhotEvt");
-   if (!fEvt)
-     {
-       *fLog << err << "MCerPhotEvt not found... aborting." << endl;
-       return kFALSE;
-     }
-
-     fSigmabar = (MSigmabar*)plist->FindObject("MSigmabar");
-   if (!fSigmabar)
-     {
-       *fLog << err << "MSigmabar not found... aborting." << endl;
-       return kFALSE;
-     }
-
-   // Get Theta Binning  
-   MBinning* binstheta  = (MBinning*)plist->FindObject("BinningTheta");
-   if (!binstheta)
-     {
-       *fLog << err << "BinningTheta [MBinning] not found... aborting." << endl;
-       return kFALSE;      
-     }
-
-   // Get Sigmabar binning  
-   MBinning* binssigma = (MBinning*)plist->FindObject("BinningSigmabar");
-   if (!binssigma)
-     {
-       *fLog << err << "BinningSigmabar [MBinning] not found... aborting." << endl;
-       return kFALSE;      
-     }
-
-   // Get binning for (sigma^2-sigmabar^2)  
-   MBinning* binsdiff  = (MBinning*)plist->FindObject("BinningDiffsigma2");
-   if (!binsdiff)
-     {
-       *fLog << err << "BinningDiffsigma2 [MBinning] not found... aborting." << endl;
-       return kFALSE;      
-     }
-
-
-   // Set binnings in histograms
-   SetBinning(&fSigmaTheta, binstheta, binssigma);
-
-   // Get binning for pixel number
-   const UInt_t npix = fPed->GetSize();
-
-   MBinning binspix("BinningPixel");
-   binspix.SetEdges(npix+1, -0.5, 0.5+npix );
-
-   SetBinning(&fSigmaPixTheta, binstheta, &binspix, binssigma);
-   SetBinning(&fDiffPixTheta,  binstheta, &binspix, binsdiff);
-
-   return kTRUE;
+    fMcEvt = (MMcEvt*)plist->FindObject("MMcEvt");
+    if (!fMcEvt)
+    {
+        *fLog << err << "MMcEvt not found... aborting." << endl;
+        return kFALSE;
+    }
+
+    fPed = (MPedestalCam*)plist->FindObject("MPedestalCam");
+    if (!fPed)
+    {
+        *fLog << err << "MPedestalCam not found... aborting." << endl;
+        return kFALSE;
+    }
+
+    fCam = (MGeomCam*)plist->FindObject("MGeomCam");
+    if (!fCam)
+    {
+        *fLog << err << "MGeomCam not found (no geometry information available)... aborting." << endl;
+        return kFALSE;
+    }
+
+    fEvt = (MCerPhotEvt*)plist->FindObject("MCerPhotEvt");
+    if (!fEvt)
+    {
+        *fLog << err << "MCerPhotEvt not found... aborting." << endl;
+        return kFALSE;
+    }
+
+    fSigmabar = (MSigmabar*)plist->FindObject("MSigmabar");
+    if (!fSigmabar)
+    {
+        *fLog << err << "MSigmabar not found... aborting." << endl;
+        return kFALSE;
+    }
+
+    // Get Theta Binning
+    MBinning* binstheta  = (MBinning*)plist->FindObject("BinningTheta", "MBinning");
+    if (!binstheta)
+    {
+        *fLog << warn << "Object 'BinningTheta' [MBinning] not found... no binning applied." << endl;
+        return kTRUE;
+    }
+
+    // Get Sigmabar binning
+    MBinning* binssigma = (MBinning*)plist->FindObject("BinningSigmabar", "MBinning");
+    if (!binssigma)
+        *fLog << warn << "Object 'BinningSigmabar' [MBinning] not found... no binning applied." << endl;
+
+    // Get binning for (sigma^2-sigmabar^2)
+    MBinning* binsdiff  = (MBinning*)plist->FindObject("BinningDiffsigma2", "MBinning");
+    if (!binsdiff)
+        *fLog << warn << "Object 'BinningDiffsigma2' [MBinning] not found... no binning applied." << endl;
+
+    //FIXME: Missing: Apply new binning to only one axis!
+
+    // Get binning for pixel number
+    const UInt_t npix = fPed->GetSize();
+
+    MBinning binspix("BinningPixel");
+    binspix.SetEdges(npix, -0.5, 0.5+npix);
+
+    // Set binnings in histograms
+    if (binssigma)
+    {
+        SetBinning(&fSigmaTheta, binstheta, binssigma);
+        SetBinning(&fSigmaPixTheta, binstheta, &binspix, binssigma);
+    }
+
+    if (binsdiff)
+        SetBinning(&fDiffPixTheta,  binstheta, &binspix, binsdiff);
+
+    return kTRUE;
 }
 
@@ -221,5 +227,5 @@
 void MHSigmaTheta::Draw(Option_t *opt)
 {
-    TVirtualPad *pad = gPad ? gPad : MakeDefCanvas(this, 900, 900);
+    TVirtualPad *pad = gPad ? gPad : MakeDefCanvas(this);
     pad->SetBorderMode(0);
 
@@ -233,5 +239,5 @@
     pad->cd(1);
     gPad->SetBorderMode(0);
-    gPad->SetLogy();
+    // gPad->SetLogy();
     h = fSigmaTheta.ProjectionX("ProjX-Theta", -1, 9999, "E");
     h->SetDirectory(NULL);
Index: trunk/MagicSoft/Mars/mhist/MHSigmaTheta.h
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHSigmaTheta.h	(revision 2104)
+++ trunk/MagicSoft/Mars/mhist/MHSigmaTheta.h	(revision 2106)
@@ -40,5 +40,4 @@
 public:
     MHSigmaTheta(const char *name=NULL, const char *title=NULL);
-    ~MHSigmaTheta();
 
     Bool_t SetupFill(const MParList *plist);
