Index: trunk/MagicSoft/Mars/mtemp/MApplyPadding.cc
===================================================================
--- trunk/MagicSoft/Mars/mtemp/MApplyPadding.cc	(revision 1678)
+++ 	(revision )
@@ -1,287 +1,0 @@
-/* ======================================================================== *\
-!
-! *
-! * This file is part of MARS, the MAGIC Analysis and Reconstruction
-! * Software. It is distributed to you in the hope that it can be a useful
-! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
-! * It is distributed WITHOUT ANY WARRANTY.
-! *
-! * Permission to use, copy, modify and distribute this software and its
-! * documentation for any purpose is hereby granted without fee,
-! * provided that the above copyright notice appear in all copies and
-! * that both that copyright notice and this permission notice appear
-! * in supporting documentation. It is provided "as is" without express
-! * or implied warranty.
-! *
-!
-!
-!   Author(s): Robert Wagner <magicsoft@rwagner.de> 10/2002
-!
-!   Copyright: MAGIC Software Development, 2000-2002
-!
-!
-\* ======================================================================== */
-
-/////////////////////////////////////////////////////////////////////////////
-//                                                                         //
-//  MApplyPadding                                                          //
-//                                                                         //
-//  This task applies padding to a given Sigmabar target value.            //
-//  The task checks whether the data stream it is applied to has to be     //
-//  padded or not and if so, Gaussian noise with the difference in Sigma   //
-//  is produced and added to the particular event. Number of photons and   //
-//  error on this number is altered.                                       //
-//                                                                         //
-//  There are three ways to define the sigmabar value to which the events  //
-//  are padded:                                                            //
-//                                                                         //
-//  1) Set a fixed level with SetTargetLevel                               //
-//                                                                         //
-//  2) Give a TH1D* which defines the Sigmabar as function of Theta        //
-//     with SetDefiningHistogram                                           //
-//     The given histogram should have the same binning in Theta as        //
-//     is used in the analysis                                             //
-//                                                                         //
-//  3) Do nothing, then PreProcess will try to read in a (workaround!)     //
-//     propriety format ASCII database for the CT1 test.                   //
-//     the name of this file is set by SetDatabaseFile                     //
-//     Better know what you are doing or use methods 1 or 2.               //
-//                                                                         //
-//  This implementation is still PRELIMINARY and requires some workarounds //
-//  put in SPECIFICALLY FOR THE CT1 TESTS, since a database to access is   //
-//  missing. It is not the FINAL MAGIC VERSION.                            //
-//                                                                         //
-/////////////////////////////////////////////////////////////////////////////
-#include "MApplyPadding.h"
-
-#include <stdio.h>
-
-#include "TH1.h"
-#include "TH2.h"
-#include "TRandom.h"
-
-#include "MBinning.h"
-#include "MSigmabar.h"
-#include "MMcEvt.hxx"
-#include "MLog.h"
-#include "MLogManip.h"
-#include "MParList.h"
-#include "MGeomCam.h"
-#include "MCerPhotPix.h"
-#include "MCerPhotEvt.h"
-#include "MPedestalPix.h"
-
-ClassImp(MApplyPadding);
-
-// --------------------------------------------------------------------------
-//
-// Default constructor. 
-//
-MApplyPadding::MApplyPadding(const char *name, const char *title) : fRunType(0), fGroup(0), fUseHistogram(kTRUE), fFixedSigmabar(0.0)
-{
-  fName  = name  ? name  : "MApplyPadding";
-  fTitle = title ? title : "Task to apply padding";
-  Print();
-}
-
-// --------------------------------------------------------------------------
-//
-// Destructor. 
-//
-MApplyPadding::~MApplyPadding()
-{
-  //nothing yet
-}
-
-// --------------------------------------------------------------------------
-//
-// You can provide a TH1D* histogram containing the target Sigmabar in
-// bins of theta. Be sure to use the same binning as for the analysis
-//
-Bool_t MApplyPadding::SetDefiningHistogram(TH1D *histo)
-{
-  fHSigmabarMax = histo;
-  return kTRUE;
-}
-
-
-// --------------------------------------------------------------------------
-//
-//  check if MEvtHeader exists in the Parameter list already.
-//  if not create one and add them to the list
-//
-Bool_t MApplyPadding::PreProcess(MParList *pList)
-{
-  fRnd = new TRandom3(0);
-
-  fMcEvt = (MMcEvt*)pList->FindObject("MMcEvt");
-  if (!fMcEvt)
-    {
-       *fLog << err << dbginf << "MMcEvt not found... aborting." << endl;
-       return kFALSE;
-     }
-  
-   fPed = (MPedestalCam*)pList->FindObject("MPedestalCam");
-   if (!fPed)
-     {
-       *fLog << dbginf << "MPedestalCam not found... aborting." << endl;
-       return kFALSE;
-     }
-  
-   fCam = (MGeomCam*)pList->FindObject("MGeomCam");
-   if (!fCam)
-     {
-       *fLog << dbginf << "MGeomCam not found (no geometry information available)... aborting." << endl;
-       return kFALSE;
-     }
-  
-   fEvt = (MCerPhotEvt*)pList->FindObject("MCerPhotEvt");
-   if (!fEvt)
-     {
-       *fLog << dbginf << "MCerPhotEvt not found... aborting." << endl;
-       return kFALSE;
-     }
-
-   fSigmabar = (MSigmabar*)pList->FindCreateObj("MSigmabar");
-   if (!fSigmabar)
-     {
-       *fLog << dbginf << "MSigmabar not found... aborting." << endl;
-       return kFALSE;
-     }
-   
-   // Get Theta Binning  
-   MBinning* binstheta  = (MBinning*)pList->FindObject("BinningTheta");
-   if (!binstheta)
-     {
-       *fLog << err << dbginf << "BinningTheta not found... aborting." << endl;
-       return kFALSE;      
-     }
-
-   // Create fSigmabarMax histogram
-   // (only if no fixed Sigmabar target value or a histogram have already been 
-   // provided)
-   if ((!fUseHistogram) && (fHSigmabarMax==NULL)) {
-     
-     fHSigmabarMax = new TH1D();
-     fHSigmabarMax->SetNameTitle("fHSigmabarMax","Sigmabarmax for this analysis");
-     TAxis &x = *fHSigmabarMax->GetXaxis();
-#if ROOT_VERSION_CODE < ROOT_VERSION(3,03,03)
-     TString xtitle = x.GetTitle();
-#endif
-     fHSigmabarMax->SetBins(binstheta->GetNumBins(), 0, 1);
-     // Set the binning of the current histogram to the binning
-     // in one of the two given histograms
-     x.Set(binstheta->GetNumBins(), binstheta->GetEdges());
-#if ROOT_VERSION_CODE < ROOT_VERSION(3,03,03)
-     x.SetTitle(xtitle);
-#endif
-     
-     // -------------------------------------------------
-     // read in SigmabarParams
-     // workaround--proprietary file format--CT1test only BEGIN
-     // -------------------------------------------------
-     
-     FILE *f;
-     if( !(f =fopen(fDatabaseFilename, "r")) ) {
-       *fLog << err << dbginf << "Database file " << fDatabaseFilename << "was not found... (specify with MApplyPadding::SetDatabaseFile) aborting." << endl;
-       return kFALSE;  
-     }
-     char line[80];    
-     Float_t sigmabarMin, sigmabarMax, thetaMin, thetaMax, ra, dec2;
-     Int_t type, group, mjd, nr;
-     while ( fgets(line, sizeof(line), f) != NULL) {
-       if ((line[0]!='#')) {	
-	 sscanf(line,"%d %d %f %f %d %d %f %f %f %f",&type, &group, &ra, &dec2, &mjd, &nr, &sigmabarMin,&sigmabarMax,&thetaMin,&thetaMax);
-	 if ((group==fGroup)||(type==1)) //selected ON group or OFF         
-	   {    
-	     // find out which bin(s) we have to look at
-	     for (Int_t i=fHSigmabarMax->GetXaxis()->FindBin(thetaMin); 
-		  i<fHSigmabarMax->GetXaxis()->FindBin(thetaMax)+1; i++) 
-	       if (sigmabarMax > fHSigmabarMax->GetBinContent(i)) 
-		 fHSigmabarMax->SetBinContent(i, sigmabarMax);	  
-	   }
-       }
-     }//while
-  
-     // workaround--proprietary file format--CT1test only END
-
-     //   fHSigmabarMax->DrawClone();     
-     //   fTest = new TH2D("fTest", "Test if padding works", 201, -0.05, 2.05, 201, -0.05, 2.05);
-
-   } //!fUseHistogram
-   return kTRUE;
-}
-
-// --------------------------------------------------------------------------
-//
-// Calculate Sigmabar for current event
-// Then apply padding
-// 
-// 1) have current event
-// 2) get sigmabar(theta)
-// 3) pad event
-//
-Bool_t MApplyPadding::Process()
-{
-  // Calculate sigmabar of event
-  fSigmabar->Calc(*fCam, *fPed);
-  Double_t mySig = fSigmabar->GetSigmabar();
-
-  // Get sigmabar which we have to pad to
-  Double_t otherSig;
-  if (fUseHistogram) {
-    Int_t binNumber = fHSigmabarMax->GetXaxis()->FindBin(fMcEvt->GetTheta()*kRad2Deg);
-    otherSig = fHSigmabarMax->GetBinContent(binNumber);
-  } else {
-    otherSig = fFixedSigmabar;
-  }
-
-  // Determine quadratic difference other-mine
-  Double_t quadraticDiff = otherSig*otherSig - mySig*mySig;
-
-  if (quadraticDiff < 0) {
-    *fLog << err << dbginf << "Event has higher Sigmabar="<<mySig<<" than Sigmabarmax="<<otherSig << " ...Skipping this event" <<endl;
-    return kCONTINUE; //skip
-  }
-
-  if (quadraticDiff == 0) return kTRUE; //no padding necessary.
-  
-  // Pad if quadratic difference > 0 
-  if (quadraticDiff > 0) {    
-
-   MPedestalCam newPed;
-   newPed.InitSize(fPed->GetSize());
-
-   const UInt_t npix = fPed->GetSize(); // Total number of pixels
-   for (UInt_t i=0; i<npix; i++) {
-     MCerPhotPix pix = fEvt->operator[](i);
-     if (!pix.IsPixelUsed())
-       continue;
-     pix.SetNumPhotons(pix.GetNumPhotons() +
-		       sqrt(quadraticDiff)*
-		       fRnd->Gaus(0.0, 1.0)/
-		       fCam->GetPixRatio(pix.GetPixId())
-		       );
-     // error: add sigma of padded noise quadratically
-     Double_t error = pix.GetErrorPhot();
-     pix.SetErrorPhot(sqrt(error*error + quadraticDiff));
-     
-     MPedestalPix ppix = fPed->operator[](i);
-     MPedestalPix npix;
-     npix.SetSigma(sqrt(ppix.GetSigma()*ppix.GetSigma() + quadraticDiff));
-     newPed[i]=npix;
-    } //for
-   // Calculate Sigmabar again and crosscheck
-   fSigmabar->Calc(*fCam, newPed);
-   //mySig = fSigmabar->GetSigmabar();
-   // fTest->Fill(otherSig,mySig);
-   return kTRUE;
-  } //if 
-  return kFALSE;
-}
-
-Bool_t MApplyPadding::PostProcess()
-{
-  //  fTest->DrawClone();
-  return kTRUE;
-}
Index: trunk/MagicSoft/Mars/mtemp/MApplyPadding.h
===================================================================
--- trunk/MagicSoft/Mars/mtemp/MApplyPadding.h	(revision 1678)
+++ 	(revision )
@@ -1,55 +1,0 @@
-#ifndef MARS_MApplyPadding
-#define MARS_MApplyPadding
-
-#ifndef MARS_MTask
-#include "MTask.h"
-#endif
-
-#include "TRandom3.h"
-#include "TH1.h"
-#include "TH2.h"
-
-class MGeomCam;
-class MCerPhotEvt;
-class MPedestalCam;
-class MMcEvt;
-class MPedestalCam;
-class MSigmabar;
-class MParList;
-
-class MApplyPadding : public MTask
-{
-private:
-    const MGeomCam *fCam; 
-    MCerPhotEvt *fEvt; 
-    MSigmabar *fSigmabar;
-    TRandom3 *fRnd;
-    Int_t fRunType;
-    Int_t fGroup;
-    char *fDatabaseFilename;
-    TH1D *fHSigmabarMax;
-    MMcEvt *fMcEvt;
-    MPedestalCam *fPed;
-    TH2D *fTest;
-    Bool_t fUseHistogram;
-    Double_t fFixedSigmabar;
-
-public:
-    MApplyPadding(const char *name=NULL, const char *title=NULL);
-    ~MApplyPadding();
-
-    Bool_t PreProcess(MParList *pList);
-    Bool_t Process();
-    Bool_t PostProcess();
-    
-    void SetRunType(Int_t runtype) { fRunType =  runtype; }
-    void SetGroup(Int_t group)     { fGroup   =  group; }
-    void SetDatabaseFile(char *filename) { fDatabaseFilename = filename; }
-    void SetTargetLevel(Double_t sigmabar) { fFixedSigmabar = sigmabar; fUseHistogram=kFALSE; }
-    Bool_t SetDefiningHistogram(TH1D *histo);
-
-    ClassDef(MApplyPadding, 1)    // task for applying padding
-}; 
-
-#endif
-
Index: trunk/MagicSoft/Mars/mtemp/MHSigmaPixel.cc
===================================================================
--- trunk/MagicSoft/Mars/mtemp/MHSigmaPixel.cc	(revision 1678)
+++ 	(revision )
@@ -1,149 +1,0 @@
-/* ======================================================================== *\
-!
-! *
-! * This file is part of MARS, the MAGIC Analysis and Reconstruction
-! * Software. It is distributed to you in the hope that it can be a useful
-! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
-! * It is distributed WITHOUT ANY WARRANTY.
-! *
-! * Permission to use, copy, modify and distribute this software and its
-! * documentation for any purpose is hereby granted without fee,
-! * provided that the above copyright notice appear in all copies and
-! * that both that copyright notice and this permission notice appear
-! * in supporting documentation. It is provided "as is" without express
-! * or implied warranty.
-! *
-!
-!
-!   Author(s): Robert Wagner 10/2002 <mailto:magicsoft@rwagner.de>
-!   Copyright: MAGIC Software Development, 2000-2002
-!
-!
-\* ======================================================================== */
-
-//////////////////////////////////////////////////////////////////////////////
-//                                                                          //
-//  MHSigmaPixel                                                            //
-//                                                                          //
-//  2D-Histogram pedestal sigma vs pixel number                             //
-//                                                                          //
-//////////////////////////////////////////////////////////////////////////////
-
-#include "MHSigmaPixel.h"
-
-#include <TCanvas.h>
-
-#include <math.h>
-
-#include "MPedestalCam.h"
-#include "MPedestalPix.h"
-#include "MSigmabar.h"
-
-#include "MBinning.h"
-#include "MParList.h"
-
-#include "MLog.h"
-#include "MLogManip.h"
-
-ClassImp(MHSigmaPixel);
-
-// --------------------------------------------------------------------------
-//
-// Default Constructor. It sets name and title of the histogram. 
-//
-MHSigmaPixel::MHSigmaPixel(const char *name, const char *title)
-{
-    //
-    //   set the name and title of this object
-    //
-    fName  = name  ? name  : "MHSigmaPixel";
-    fTitle = title ? title : "2-D histogram in sigma and pixel";
-
-    fHist.SetDirectory(NULL);
-
-    fHist.SetTitle("Sigma vs pixel #");
-    fHist.SetXTitle("pixel #");
-    fHist.SetYTitle("\\sigma");
-    fHist.SetZTitle("N");
-}
-
-// --------------------------------------------------------------------------
-//
-// Set binnings and prepare filling of the histogram. The binning for the
-// pixel axis is derived automagically from the MPedestalCam container
-// expected to be found in the MParList *plist.
-// 
-Bool_t MHSigmaPixel::SetupFill(const MParList *plist)
-{
-  fPedestalCam = (MPedestalCam*)plist->FindObject("MPedestalCam");
-  if (!fPedestalCam)
-    {
-      *fLog << err << dbginf << "MHSigmaPixel: MPedestalCam not found... aborting." << endl;
-      return kFALSE;
-    }
-  
-  MBinning* binssigma = (MBinning*)plist->FindObject("BinningSigma");
-  MBinning* binspixel = new MBinning();
-  binspixel->SetEdges(fPedestalCam->GetSize(), -0.5, -0.5+fPedestalCam->GetSize());
-  
-  if (!binssigma)
-    {
-      *fLog << err << dbginf << "MHSigmaPixel: BinningSigma not found... aborting." << endl;
-      return kFALSE;      
-   }
-
-   SetBinning(&fHist, binspixel, binssigma);
-
-   fHist.Sumw2(); 
-
-   return kTRUE;
-}
-
-// --------------------------------------------------------------------------
-//
-// Fill the histogram
-// 
-Bool_t MHSigmaPixel::Fill(const MParContainer *par)
-{
-  MPedestalCam &ped = *(MPedestalCam*)par;
-    for (Int_t i=0;i<(ped.GetSize());i++)
-    {
-      const MPedestalPix pix = ped[i];       
-      fHist.Fill(i, pix.GetSigma());
-    }
-    return kTRUE;
-}
-
-// --------------------------------------------------------------------------
-//
-// Draw the histogram
-// 
-void MHSigmaPixel::Draw(Option_t *opt)
-{
-  //gStyle->SetOptStat(1000);
-  if (!gPad)
-    MakeDefCanvas("SigmaPixel", fTitle);
-  
-  fHist.Draw(opt);
-  
-  gPad->Modified();
-  gPad->Update();
-}
-
-// --------------------------------------------------------------------------
-//
-// Draw copies of the histogram
-// 
-TObject *MHSigmaPixel::DrawClone(Option_t *opt) const
-{
-  //gStyle->SetOptStat(1000);
-  TCanvas &c = *MakeDefCanvas("SigmaPixel", fTitle);
-  
-  ((TH2&)fHist).DrawCopy(opt);
-  
-  c.Modified();
-  c.Update();
-  
-  return &c;
-}
-
Index: trunk/MagicSoft/Mars/mtemp/MHSigmaPixel.h
===================================================================
--- trunk/MagicSoft/Mars/mtemp/MHSigmaPixel.h	(revision 1678)
+++ 	(revision )
@@ -1,46 +1,0 @@
-#ifndef MARS_MHSigmaPixel
-#define MARS_MHSigmaPixel
-
-#ifndef MARS_MH
-#include "MH.h"
-#endif
-
-#ifndef ROOT_TH2
-#include "TH2.h"
-#endif
-
-class MMcEvt;
-class MPedestalCam;
-class TH2D;
-class MParList;
-
-
-class MHSigmaPixel : public MH
-{
-private:
-    MPedestalCam *fPedestalCam;
-    TH2D fHist;
-
-public:
-    MHSigmaPixel(const char *name=NULL, const char *title=NULL);
-
-    virtual Bool_t SetupFill(const MParList *pList);
-    virtual Bool_t Fill(const MParContainer *par);
-
-    const TH2D *GetHist()       { return &fHist; }
-    const TH2D *GetHist() const { return &fHist; }
-
-    TH1 *GetHistByName(const TString name) { return &fHist; }
-
-    void Draw(Option_t *option="");
-    TObject *DrawClone(Option_t *option="") const;
-
-    ClassDef(MHSigmaPixel, 1) //2D-histogram in Sigma and Pixel number
-};
-
-#endif
-
-
-
-
-
Index: trunk/MagicSoft/Mars/mtemp/MHSigmabarTheta.cc
===================================================================
--- trunk/MagicSoft/Mars/mtemp/MHSigmabarTheta.cc	(revision 1678)
+++ 	(revision )
@@ -1,144 +1,0 @@
-/* ======================================================================== *\
-!
-! *
-! * This file is part of MARS, the MAGIC Analysis and Reconstruction
-! * Software. It is distributed to you in the hope that it can be a useful
-! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
-! * It is distributed WITHOUT ANY WARRANTY.
-! *
-! * Permission to use, copy, modify and distribute this software and its
-! * documentation for any purpose is hereby granted without fee,
-! * provided that the above copyright notice appear in all copies and
-! * that both that copyright notice and this permission notice appear
-! * in supporting documentation. It is provided "as is" without express
-! * or implied warranty.
-! *
-!
-!
-!   Author(s): Robert Wagner 10/2002 <mailto:magicsoft@rwagner.de>
-!   Copyright: MAGIC Software Development, 2000-2002
-!
-!
-\* ======================================================================== */
-
-//////////////////////////////////////////////////////////////////////////////
-//                                                                          //
-//  MHSigmabarTheta                                                         //
-//                                                                          //
-//  2D-Histogram in Sigmabar and Theta                                      //
-//                                                                          //
-//////////////////////////////////////////////////////////////////////////////
-
-#include "MHSigmabarTheta.h"
-
-#include <TCanvas.h>
-
-#include <math.h>
-
-#include "MMcEvt.hxx"
-#include "MSigmabar.h"
-
-#include "MBinning.h"
-#include "MParList.h"
-
-#include "MLog.h"
-#include "MLogManip.h"
-
-ClassImp(MHSigmabarTheta);
-
-// --------------------------------------------------------------------------
-//
-// Default Constructor. It sets name and title of the histogram. 
-//
-MHSigmabarTheta::MHSigmabarTheta(const char *name, const char *title)
-{
-    //
-    //   set the name and title of this object
-    //
-    fName  = name  ? name  : "MHSigmabarTheta";
-    fTitle = title ? title : "3-D histogram in sigmabar and theta";
-
-    fHist.SetDirectory(NULL);
-
-    fHist.SetTitle("3D-plot of sigmabar and theta");
-    fHist.SetXTitle("\\theta [\\circ]");
-    fHist.SetYTitle("\\overline{\\sigma}");
-    fHist.SetZTitle("N");
-}
-
-// --------------------------------------------------------------------------
-//
-// Set binnings and prepare filling of the histogram
-// 
-Bool_t MHSigmabarTheta::SetupFill(const MParList *plist)
-{
-   fMcEvt = (MMcEvt*)plist->FindObject("MMcEvt");
-   if (!fMcEvt)
-   {
-       *fLog << err << dbginf << "MHSigmabarTheta : MMcEvt not found... aborting." << endl;
-       return kFALSE;
-   }
-
-   fSigmabar = (MSigmabar*)plist->FindObject("MSigmabar");
-   if (!fSigmabar)
-   {
-       *fLog << err << dbginf << "MHSigmabarTheta : MSigmabar not found... aborting." << endl;
-       return kFALSE;
-   }
-
-   MBinning* binssigmabar = (MBinning*)plist->FindObject("BinningSigmabar");
-   MBinning* binstheta  = (MBinning*)plist->FindObject("BinningTheta");
-   if (!binssigmabar || !binstheta)
-   {
-       *fLog << err << dbginf << "MHSigmabarTheta : At least one MBinning not found... aborting." << endl;
-       return kFALSE;      
-   }
-
-   SetBinning(&fHist, binstheta, binssigmabar);
-
-   fHist.Sumw2(); 
-
-   return kTRUE;
-}
-
-// --------------------------------------------------------------------------
-//
-// Fill the histogram
-// 
-Bool_t MHSigmabarTheta::Fill(const MParContainer *par)
-{
-    fHist.Fill(fMcEvt->GetTheta()*kRad2Deg, fSigmabar->GetSigmabar());  
-    return kTRUE;
-}
-
-// --------------------------------------------------------------------------
-//
-// Draw the histogram
-// 
-void MHSigmabarTheta::Draw(Option_t *opt)
-{
-    if (!gPad)
-        MakeDefCanvas("SigmabarTheta", fTitle);
-   
-    fHist.Draw(opt);
-    
-    gPad->Modified();
-    gPad->Update();
-}
-
-// --------------------------------------------------------------------------
-//
-// Draw copies of the histogram
-// 
-TObject *MHSigmabarTheta::DrawClone(Option_t *opt) const
-{
-    TCanvas &c = *MakeDefCanvas("SigmabarTheta", fTitle);
-    
-    ((TH2&)fHist).DrawCopy(opt);
-
-    c.Modified();
-    c.Update();
-
-    return &c;
-}
-
Index: trunk/MagicSoft/Mars/mtemp/MHSigmabarTheta.h
===================================================================
--- trunk/MagicSoft/Mars/mtemp/MHSigmabarTheta.h	(revision 1678)
+++ 	(revision )
@@ -1,48 +1,0 @@
-#ifndef MARS_MHSigmabarTheta
-#define MARS_MHSigmabarTheta
-
-#ifndef MARS_MH
-#include "MH.h"
-#endif
-
-#ifndef ROOT_TH2
-#include "TH2.h"
-#endif
-
-class MMcEvt;
-class MSigmabar;
-class TH2D;
-class MParList;
-
-
-class MHSigmabarTheta : public MH
-{
-private:
-    MMcEvt    *fMcEvt;
-    MSigmabar *fSigmabar;
-
-    TH2D fHist;
-
-public:
-    MHSigmabarTheta(const char *name=NULL, const char *title=NULL);
-
-    virtual Bool_t SetupFill(const MParList *pList);
-    virtual Bool_t Fill(const MParContainer *par);
-
-    const TH2D *GetHist()       { return &fHist; }
-    const TH2D *GetHist() const { return &fHist; }
-
-    TH1 *GetHistByName(const TString name) { return &fHist; }
-
-    void Draw(Option_t *option="");
-    TObject *DrawClone(Option_t *option="") const;
-
-    ClassDef(MHSigmabarTheta, 1) //3D-histogram in alpha, Energy and theta
-};
-
-#endif
-
-
-
-
-
Index: trunk/MagicSoft/Mars/mtemp/MObservatoryLocation.cc
===================================================================
--- trunk/MagicSoft/Mars/mtemp/MObservatoryLocation.cc	(revision 1678)
+++ 	(revision )
@@ -1,69 +1,0 @@
-/* ======================================================================== *\
-!
-! *
-! * This file is part of MARS, the MAGIC Analysis and Reconstruction
-! * Software. It is distributed to you in the hope that it can be a useful
-! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
-! * It is distributed WITHOUT ANY WARRANTY.
-! *
-! * Permission to use, copy, modify and distribute this software and its
-! * documentation for any purpose is hereby granted without fee,
-! * provided that the above copyright notice appear in all copies and
-! * that both that copyright notice and this permission notice appear
-! * in supporting documentation. It is provided "as is" without express
-! * or implied warranty.
-! *
-!
-!
-!   Author(s): Robert Wagner  10/2002 <mailto:magicsoft@rwagner.de>
-!
-!   Copyright: MAGIC Software Development, 2002
-!
-!
-\* ======================================================================== */
-
-/////////////////////////////////////////////////////////////////////////////
-//                                                                         //
-// MObservatoryLocation                                                    //
-//                                                                         //
-//                                                                         //
-/////////////////////////////////////////////////////////////////////////////
-#include "MObservatoryLocation.h"
-
-#include <TMath.h>
-
-#include "MLog.h"
-#include "MLogManip.h"
-
-ClassImp(MObservatoryLocation);
-
-MObservatoryLocation::MObservatoryLocation(const char *name, const char *title)
-{
-    fName  = name  ? name  : "MObservatoryLocation";
-    fTitle = title ? title : "Storage container for coordinates of an observatory";   
-    //    TH1F fHorizon=new TH1F;   
-    fgDegToRad=2*TMath::Pi()/360;    
-    fLatitude  =  28.7594 * fgDegToRad; // rad; 28 45 34
-    fLongitude =  17.8761 * fgDegToRad; // rad; 17 52 34;
-                                        // slalib uses + for WEST !!!
-    fElevation = 2300; // m
-    fObsName = "Observatorio del Roque de los Muchachos";
-}
-
-//Double_t GetHorizon(Double_t phi);
-//TF1 SetHorizonLine() { return fHorizon; }
-//TF1 GetHorizonLine() { return fHorizon; }
-
-MObservatoryLocation::~MObservatoryLocation()
-{
-  // do nothing special.
-}
-
-void MObservatoryLocation::Print(Option_t *) const
-{
-  *fLog << all;
-  *fLog << fObsName << endl;
-  *fLog << "Latitude " << (fLatitude > 0 ? (fLatitude/fgDegToRad) : -(fLatitude/fgDegToRad)) << " deg " << (fLatitude > 0 ? "W" : "E") << endl;
-  *fLog << "Longitude " << (fLongitude > 0 ? (fLongitude/fgDegToRad) : -(fLongitude/fgDegToRad)) <<" deg " << (fLongitude < 0 ? "N" : "S") << endl;
-  *fLog << "Elevation " << fElevation << "m" << endl;
-}
Index: trunk/MagicSoft/Mars/mtemp/MObservatoryLocation.h
===================================================================
--- trunk/MagicSoft/Mars/mtemp/MObservatoryLocation.h	(revision 1678)
+++ 	(revision )
@@ -1,44 +1,0 @@
-#ifndef MARS_MObservatoryLocation
-#define MARS_MObservatoryLocation
-
-#ifndef MARS_MParContainer
-#include "MParContainer.h"
-#endif
-
-class MObservatoryLocation : public MParContainer
-{
-private:
-  char* fObsName;
-  Double_t fLatitude;
-  Double_t fLongitude;
-  Double_t fElevation;
-  Double_t fgDegToRad;
-  //  TH1F     fHorizon;
-
-public:
-  MObservatoryLocation(const char *name=NULL, const char *title=NULL);
-  ~MObservatoryLocation();
-
-  inline void SetLatitude(Double_t latitude) { fLatitude = latitude; }
-  inline void SetLongitude(Double_t longitude) { fLongitude = longitude; }
-  inline void SetElevation(Double_t elevation) { fElevation = elevation; }
-  inline void SetObservatoryName(char* name) { fObsName = name; }
-  
-  void MObservatoryLocation::Print(Option_t *) const;
-  
-  inline Double_t GetLatitude() { return fLatitude/fgDegToRad; }
-  inline Double_t GetLongitude() { return fLongitude/fgDegToRad; }
-  inline Double_t GetElevation() { return fElevation; }
-  Double_t GetLatitudeRad() { return fLatitude; }
-  Double_t GetLongitudeRad() { return fLongitude; }
-  char* GetObservatoryName() { return fObsName; }
-  // Double_t GetHorizon(Double_t phi);
-  // void SetHorizonLine(TF1 hor) { fHorizon = hor; }
-  // TH1F GetHorizonLine() { return fHorizon; }
-  
-  ClassDef(MObservatoryLocation, 1)
-
-};
-
-#endif
-
Index: trunk/MagicSoft/Mars/mtemp/MSigmabar.cc
===================================================================
--- trunk/MagicSoft/Mars/mtemp/MSigmabar.cc	(revision 1678)
+++ 	(revision )
@@ -1,150 +1,0 @@
-/* ======================================================================== *\
-!
-! *
-! * This file is part of MARS, the MAGIC Analysis and Reconstruction
-! * Software. It is distributed to you in the hope that it can be a useful
-! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
-! * It is distributed WITHOUT ANY WARRANTY.
-! *
-! * Permission to use, copy, modify and distribute this software and its
-! * documentation for any purpose is hereby granted without fee,
-! * provided that the above copyright notice appear in all copies and
-! * that both that copyright notice and this permission notice appear
-! * in supporting documentation. It is provided "as is" without express
-! * or implied warranty.
-! *
-!
-!
-!   Author(s): Robert Wagner  10/2002 <mailto:magicsoft@rwagner.de>
-!
-!   Copyright: MAGIC Software Development, 2002
-!
-!
-\* ======================================================================== */
-
-/////////////////////////////////////////////////////////////////////////////
-//                                                                         //
-// MSigmabar                                                               //
-//                                                                         //
-// This is the storage container to hold information about the mean sigma  //
-// (aka Sigmabar) of all pedestals                                         //
-//                                                                         //
-/////////////////////////////////////////////////////////////////////////////
-#include "MSigmabar.h"
-
-#include <TMath.h>
-
-#include "MLog.h"
-#include "MLogManip.h"
-
-#include "MGeomCam.h"
-#include "MPedestalCam.h"
-#include "MGeomPix.h"
-#include "MPedestalPix.h"
-
-ClassImp(MSigmabar);
-
-MSigmabar::MSigmabar(const char *name, const char *title)
-{
-    fName  = name  ? name  : "MSigmabar";
-    fTitle = title ? title : "Storage container for Sigmabar";
-    
-    fSigmabar = 0.0;
-    fSigmabarInner = 0.0;
-    fSigmabarOuter = 0.0;
-    fRatioA = 0.0;
-
-    fCalcPixNum=kTRUE;
-}
-
-MSigmabar::~MSigmabar()
-{
-  // do nothing special.
-}
-
-
-// --------------------------------------------------------------------------
-//
-// Actual calculation of sigmabar. This is done for each of the six sectors
-// separately due to their possibly different HV behavior. Also inner and
-// outer pixels are treated separately
-//
-// Preliminary! Works for CT1 test, for real MAGIC crosschecks still have
-// to be done. Also implementation details will be updated, like 
-// determination of sector to which a respective pixel belongs
-//
-Bool_t MSigmabar::Calc(const MGeomCam &geom, const MPedestalCam &ped)
-{
-  const UInt_t npix = ped.GetSize();
-  Float_t innerSquaredSum[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-  Float_t outerSquaredSum[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
-  Int_t innerPixels[6] = {0,0,0,0,0,0};
-  Int_t outerPixels[6] = {0,0,0,0,0,0};
-  Int_t currentSector;
-  Float_t angle;
-  
-  for (UInt_t i=0; i<npix;i++)
-    {
-      const MGeomPix gpix = geom[i];
-      angle=((6*atan2(gpix.GetX(),gpix.GetY())/(2*TMath::Pi()))-0.5);
-      if (angle<0) angle+=6;
-      currentSector=(Int_t)angle;          
-      geom.GetPixRatio(i) == 1 ? innerPixels[currentSector]++ : outerPixels[currentSector]++;	
-      
-      const MPedestalPix pix = ped[i]; 
-      geom.GetPixRatio(i) == 1 ? innerSquaredSum[currentSector]+=(pix.GetSigma()*pix.GetSigma()) : outerSquaredSum[currentSector]+=((pix.GetSigma()*pix.GetSigma()) / geom.GetPixRatio(i));
-
-      // Get once and forever the ratio of areas outer/inner pixels
-      if (fRatioA && (geom.GetPixRatio(i) != 1)) fRatioA=geom.GetPixRatio(i);
-    }
-
-  // Overall Sigma
-  fSigmabarInner=0; fInnerPixels=0;
-  fSigmabarOuter=0; fOuterPixels=0;
-  for (UInt_t i=0; i<6; i++) {
-    fSigmabarInner+=innerSquaredSum[i];
-    fInnerPixels  +=innerPixels[i];
-    fSigmabarOuter+=outerSquaredSum[i];
-    fOuterPixels  +=outerPixels[i];
-  }
-
-  fSigmabarInner/=fInnerPixels;
-  if (fSigmabarOuter != 0) fSigmabarOuter/=fOuterPixels; 
-  fSigmabar=sqrt(fSigmabarInner + fSigmabarOuter/( fOuterPixels==0 ? 1 : fRatioA)); 
-  fSigmabarInner=sqrt(fSigmabarInner);
-  fSigmabarOuter=sqrt(fSigmabarOuter);
-  
-  for (UInt_t i=0; i<6; i++) {
-    fSigmabarInnerSector[i]=innerSquaredSum[i]/innerPixels[i];
-    fSigmabarOuterSector[i]=outerSquaredSum[i]/( outerSquaredSum[i]==0 ? 1: outerPixels[i] );
-
-    fSigmabarSector[i]=sqrt(fSigmabarInnerSector[i] + fSigmabarOuterSector[i]*fRatioA);
-    fSigmabarInnerSector[i]=sqrt(fSigmabarInnerSector[i]);
-    fSigmabarOuterSector[i]=sqrt(fSigmabarOuterSector[i]);
-  }
-    
-  // Did all our calculations work? fOuterPixels==0 could happen, however.
-  return (fInnerPixels!=0);
-}
-
-
-void MSigmabar::Print(Option_t *) const
-{
-  *fLog << all;
-  *fLog << "Sigmabar     Overall " << fSigmabar;
-  *fLog << " Sectors: ";
-  for (Int_t i=0;i<6;i++) *fLog << fSigmabarSector[i] << " ";
-  *fLog << endl;
-  *fLog << "Sigmabar     Inner   " << fSigmabarInner;
-  *fLog << " Sectors: ";
-  for (Int_t i=0;i<6;i++) *fLog << fSigmabarInnerSector[i] << " ";
-  *fLog << endl;
-  *fLog << "Sigmabar     Outer   " << fSigmabarOuter;
-  *fLog << " Sectors: ";
-  for (Int_t i=0;i<6;i++) *fLog << fSigmabarOuterSector[i] << " ";
-  *fLog << endl;
-  *fLog << "Total number of inner pixels found is " << fInnerPixels << endl;
-  *fLog << "Total number of outer pixels found is " << fOuterPixels << endl;
-  *fLog << "Ratio of areas outer/inner pixels found is " << fRatioA << endl;
-  *fLog << endl;
-}
Index: trunk/MagicSoft/Mars/mtemp/MSigmabar.h
===================================================================
--- trunk/MagicSoft/Mars/mtemp/MSigmabar.h	(revision 1678)
+++ 	(revision )
@@ -1,54 +1,0 @@
-#ifndef MARS_MSigmabar
-#define MARS_MSigmabar
-
-#ifndef MARS_MParContainer
-#include "MParContainer.h"
-#endif
-
-#ifndef MARS_MGeomCam
-#include "MGeomCam.h"
-#endif
-
-#ifndef MARS_MPedestalCam
-#include "MPedestalCam.h"
-#endif
-
-class MSigmabar : public MParContainer
-{
-private:
-    Float_t fSigmabar; // Sigmabar (mean standard deviation) of pedestal
-    Float_t fSigmabarSector[6]; // --for the 6 sectors of the camera
-    Float_t fSigmabarInnerSector[6];
-    Float_t fSigmabarOuterSector[6];
-    Float_t fSigmabarInner; // --only for inner pixels
-    Float_t fSigmabarOuter; // --only for outer pixels  
-    UInt_t  fInnerPixels; // Overall number of inner pixels
-    UInt_t  fOuterPixels; // Overall number of outer pixels
-    Float_t fRatioA; // Ratio of areas (outer/inner pixels)
-    Bool_t fCalcPixNum;
-
-public:
-
-    MSigmabar(const char *name=NULL, const char *title=NULL);
-    ~MSigmabar();
-    
-    void Print(Option_t *) const;
- 
-    Float_t GetSigmabar() const       { return fSigmabar;       }
-    Float_t GetSigmabarInner() const  { return fSigmabarInner;  }
-    Float_t GetSigmabarOuter() const  { return fSigmabarOuter;  }
-    Float_t GetSigmabarSector(const Int_t sector) const 
-                              { return fSigmabarSector[sector]; } 
-  
-    //   void SetSigmabar(Float_t f, Float_t i, Float_t o) 
-    //      { fSigmabar = f; fSigmabarInner = i; fSigmabarOuter = o; }
-    //    void SetSigmabarInner(Float_t f) { fSigmabarInner = f; }
-    //    void SetSigmabarOuter(Float_t f) { fSigmabarOuter = f; }   
-
-    Bool_t MSigmabar::Calc(const MGeomCam &geom, const MPedestalCam &ped);
-      
-    ClassDef(MSigmabar, 1)  // Storage Container for Sigmabar
-};
-
-#endif
-
Index: trunk/MagicSoft/Mars/mtemp/MSigmabarCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/mtemp/MSigmabarCalc.cc	(revision 1678)
+++ 	(revision )
@@ -1,153 +1,0 @@
-/* ======================================================================== *\
-!
-! *
-! * This file is part of MARS, the MAGIC Analysis and Reconstruction
-! * Software. It is distributed to you in the hope that it can be a useful
-! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
-! * It is distributed WITHOUT ANY WARRANTY.
-! *
-! * Permission to use, copy, modify and distribute this software and its
-! * documentation for any purpose is hereby granted without fee,
-! * provided that the above copyright notice appear in all copies and
-! * that both that copyright notice and this permission notice appear
-! * in supporting documentation. It is provided "as is" without express
-! * or implied warranty.
-! *
-!
-!
-!   Author(s): Robert Wagner <magicdev@rwagner.de> 10/2002
-!
-!   Copyright: MAGIC Software Development, 2000-2002
-!
-!
-\* ======================================================================== */
-
-/////////////////////////////////////////////////////////////////////////////
-//                                                                         //
-//  MSigmabarCalc                                                          //
-//                                                                         //
-//  This task calculates Sigmabar using the MSigmabar container and stores //
-//  its extremal values together with the corresponding Theta values       //
-//  in MSigmabarParam. For the time being, Theta is taken from a Monte     //
-//  Carlo container. This is preliminary and to be changed ASAP.           //
- //                                                                         //
-/////////////////////////////////////////////////////////////////////////////
-#include "MSigmabarCalc.h"
-
-#include "MLog.h"
-#include "MLogManip.h"
-
-#include "MParList.h"
-#include "MGeomCam.h"
-#include "MPedestalCam.h"
-#include "MSigmabar.h"
-#include "MSigmabarParam.h"
-#include "MMcEvt.hxx"
-
-ClassImp(MSigmabarCalc);
-
-// --------------------------------------------------------------------------
-//
-// Default constructor. 
-//
-MSigmabarCalc::MSigmabarCalc(const char *name, const char *title)
-{
-  fName  = name  ? name  : "MSigmabarCalc";
-  fTitle = title ? title : "Task to calculate Sigmabar";
-
-  Reset();
-}
-
-MSigmabarCalc::~MSigmabarCalc()
-{
-  // nothing special yet.
-}
-
-// --------------------------------------------------------------------------
-//
-//  check if necessary containers exists in the Parameter list already.
-//  if not create one and add them to the list
-//
-Bool_t MSigmabarCalc::PreProcess(MParList *pList)
-{
-    fCam = (MGeomCam*)pList->FindObject("MGeomCam");
-    if (!fCam)
-    {
-        *fLog << dbginf << "MGeomCam not found (no geometry information available)... aborting." << endl;
-        return kFALSE;
-    }
-
-    fPed = (MPedestalCam*)pList->FindObject("MPedestalCam");
-    if (!fPed)
-    {
-        *fLog << dbginf << "MPedestalCam not found... aborting." << endl;
-        return kFALSE;
-    }
-
-    fSig = (MSigmabar*)pList->FindCreateObj("MSigmabar");
-    if (!fSig)
-    {
-        *fLog << dbginf << "MSigmabar not found... aborting." << endl;
-        return kFALSE;
-    }
-
-    fSigParam = (MSigmabarParam*)pList->FindCreateObj("MSigmabarParam");
-    if (!fSigParam)
-    {
-        *fLog << dbginf << "MSigmabarParam not found... aborting." << endl;
-        return kFALSE;
-    }
-    
-    fMcEvt = (MMcEvt*)pList->FindObject("MMcEvt");
-    // This is needed for determining min/max Theta
-    if (!fMcEvt)
-      {
-	*fLog << err << dbginf << "MHSigmabarTheta : MMcEvt not found... aborting." << endl;
-	return kFALSE;
-      }
-
-    return kTRUE;
-}
-
-// --------------------------------------------------------------------------
-//
-// Calculating a new Sigmabar is not necessary on event basis as long as
-// we deal with CT1 data. Therefore, the real calculation is done in
-// the ReInit function. Process just takes care for finding the extremal
-// values. Preliminary.
-//
-Bool_t MSigmabarCalc::Process()
-{
-  Bool_t rc = fSig->Calc(*fCam, *fPed);    
-  fSigmabarMax = TMath::Max(fSig->GetSigmabar(), fSigmabarMax);
-  fSigmabarMin = TMath::Min(fSig->GetSigmabar(), fSigmabarMin);
-
-  if (fMcEvt->GetTheta()*kRad2Deg < 90)
-    fThetaMax    = TMath::Max(fMcEvt->GetTheta()*kRad2Deg, fThetaMax);
-  fThetaMin    = TMath::Min(fMcEvt->GetTheta()*kRad2Deg, fThetaMin);
-
-  return rc;
-}
-
-// --------------------------------------------------------------------------
-//
-// Calculates Sigmabar (for CT1 only needed at Reinit, i.e. when reading
-// a new file)
-//
-Bool_t MSigmabarCalc::ReInit(MParList *pList)
-{
-   
-  fSigParam->SetParams(1, fSigmabarMin, fSigmabarMax, fThetaMin, fThetaMax);  
-  Reset();
-  
-  return kTRUE;
-}
-
-void MSigmabarCalc::Reset()
-{
-  fThetaMin = 200;    //there must be a function which gives me the hightest
-  fThetaMax = 0;     // value allowed for a certain type!
-  fSigmabarMin = 200;
-  fSigmabarMax = 0;
-}
-
Index: trunk/MagicSoft/Mars/mtemp/MSigmabarCalc.h
===================================================================
--- trunk/MagicSoft/Mars/mtemp/MSigmabarCalc.h	(revision 1678)
+++ 	(revision )
@@ -1,54 +1,0 @@
-#ifndef MARS_MSigmabarCalc
-#define MARS_MSigmabarCalc
-
-#ifndef MARS_MTask
-#include "MTask.h"
-#endif
-
-#ifndef MARS_MGeomCam
-#include "MGeomCam.h"
-#endif
-
-#ifndef MARS_MMcEvt
-#include "MMcEvt.hxx"
-#endif
-
-#ifndef MARS_MPedestalCam
-#include "MPedestalCam.h"
-#endif
-
-#ifndef MARS_MSigmabar
-#include "MSigmabar.h"
-#endif
-
-#ifndef MARS_MSigmabarParam
-#include "MSigmabarParam.h"
-#endif
-
-class MSigmabarCalc : public MTask
-{
-private:
-    const MGeomCam     *fCam;  
-    const MPedestalCam *fPed;  
-    MSigmabar    *fSig;
-    Double_t fSigmabarMin; // Parametrization
-    Double_t fSigmabarMax;
-    Double_t fThetaMin;
-    Double_t fThetaMax;
-    MSigmabarParam *fSigParam;
-    MMcEvt *fMcEvt;
-    void MSigmabarCalc::Reset();
-
-public:
-    MSigmabarCalc(const char *name=NULL, const char *title=NULL);
-    ~MSigmabarCalc();
-
-    Bool_t PreProcess(MParList *pList);
-    Bool_t ReInit(MParList *pList);
-    Bool_t Process();
-
-    ClassDef(MSigmabarCalc, 2)    // task for calculating sigmabar
-}; 
-
-#endif
-
Index: trunk/MagicSoft/Mars/mtemp/MSigmabarParam.cc
===================================================================
--- trunk/MagicSoft/Mars/mtemp/MSigmabarParam.cc	(revision 1678)
+++ 	(revision )
@@ -1,80 +1,0 @@
-/* ======================================================================== *\
-!
-! *
-! * This file is part of MARS, the MAGIC Analysis and Reconstruction
-! * Software. It is distributed to you in the hope that it can be a useful
-! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
-! * It is distributed WITHOUT ANY WARRANTY.
-! *
-! * Permission to use, copy, modify and distribute this software and its
-! * documentation for any purpose is hereby granted without fee,
-! * provided that the above copyright notice appear in all copies and
-! * that both that copyright notice and this permission notice appear
-! * in supporting documentation. It is provided "as is" without express
-! * or implied warranty.
-! *
-!
-!
-!   Author(s): Robert Wagner  10/2002 <mailto:magicsoft@rwagner.de>
-!
-!   Copyright: MAGIC Software Development, 2002
-!
-!
-\* ======================================================================== */
-
-/////////////////////////////////////////////////////////////////////////////
-//                                                                         //
-// MSigmabarParam                                                          //
-//                                                                         //
-// Storage Container for parameters characterizing a distribution of       //
-// events in the Sigmabar-Theta plane                                      //
-//                                                                         //
-// For CT1 tests, we just store Sigmabar_max, Sigmabar_min, Theta_max,     //
-// Theta_min. Later MJD and perhaps more than two points on the            //
-// distribution might follow.                                              //
-//                                                                         //
-//  This implementation is still PRELIMINARY and requires some workarounds //
-//  put in SPECIFICALLY FOR THE CT1 TESTS, since a database to access is   //
-//  missing. It is not the FINAL MAGIC VERSION.                            //
-//                                                                         //
-/////////////////////////////////////////////////////////////////////////////
-#include "MSigmabarParam.h"
-
-#include "MLog.h"
-#include "MLogManip.h"
-
-ClassImp(MSigmabarParam);
-
-MSigmabarParam::MSigmabarParam(const char *name, const char *title) : fSigmabarMin(0), fSigmabarMax(0), fMjdMin(0), fMjdMax(0), fThetaMin(0), fThetaMax(0), fRunNumber(0)
-{
-    fName  = name  ? name  : "MSigmabarParam";
-    fTitle = title ? title : "Storage container for characterizing a distribution of events in the Sigmabar-Theta plane";      
-}
-
-MSigmabarParam::~MSigmabarParam()
-{
-  // nothing special yet
-}
-
-void MSigmabarParam::SetRunNumber(Int_t r)
-{
-  fRunNumber = r;
-}
-
-void MSigmabarParam::SetParams(Int_t r, Double_t si, Double_t sx, Double_t ti, Double_t tx, Double_t mi, Double_t mx)
-{
-  fSigmabarMin = si;
-  fSigmabarMax = sx;
-  fThetaMin = ti;
-  fThetaMax = tx;
-  fMjdMin = mi;
-  fMjdMax = mx;
-  //fRunNumber = r;
-}
-
-void MSigmabarParam::Print()
-{
-  *fLog << endl << "Run " << fRunNumber << " | " 
-       << "Sigmabar Min, Max: " << fSigmabarMin << " " << fSigmabarMax 
-       << "| Theta Min, Max: " << fThetaMin << " " << fThetaMax << endl;
-}
Index: trunk/MagicSoft/Mars/mtemp/MSigmabarParam.h
===================================================================
--- trunk/MagicSoft/Mars/mtemp/MSigmabarParam.h	(revision 1678)
+++ 	(revision )
@@ -1,42 +1,0 @@
-#ifndef MARS_MSigmabarParam
-#define MARS_MSigmabarParam
-
-#ifndef MARS_MParContainer
-#include "MParContainer.h"
-#endif
-
-class MSigmabarParam : public MParContainer
-{
-private:
-  Double_t fSigmabarMin;
-  Double_t fSigmabarMax;
-  Double_t fMjdMin;
-  Double_t fMjdMax;
-  Double_t fThetaMin;
-  Double_t fThetaMax;
-  Int_t    fRunNumber;
-
-public:
-  
-  MSigmabarParam(const char *name=NULL, const char *title=NULL);
-  ~MSigmabarParam();
-  
-  //  void Print(Option_t *) const;
-
-  void SetRunNumber(Int_t r);
-  
-  void SetParams(Int_t r, Double_t si, Double_t sx, Double_t ti, Double_t tx, Double_t mi=0, Double_t mx=0);
-
-  Double_t GetSigmabarMin() { return fSigmabarMin; }
-  Double_t GetSigmabarMax() { return fSigmabarMax; }
-  Double_t GetThetaMin() { return fThetaMin; }
-  Double_t GetThetaMax() { return fThetaMax; }
-
-  void Print();
-      
-  ClassDef(MSigmabarParam, 1)  // Storage container for characterizing a distribution of events in the Sigmabar-Theta plane
-
-};
-
-#endif
-
Index: trunk/MagicSoft/Mars/mtemp/MVPObject.cc
===================================================================
--- trunk/MagicSoft/Mars/mtemp/MVPObject.cc	(revision 1678)
+++ 	(revision )
@@ -1,312 +1,0 @@
-/* ======================================================================== *\
-!
-! *
-! * This file is part of MARS, the MAGIC Analysis and Reconstruction
-! * Software. It is distributed to you in the hope that it can be a useful
-! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
-! * It is distributed WITHOUT ANY WARRANTY.
-! *
-! * Permission to use, copy, modify and distribute this software and its
-! * documentation for any purpose is hereby granted without fee,
-! * provided that the above copyright notice appear in all copies and
-! * that both that copyright notice and this permission notice appear
-! * in supporting documentation. It is provided "as is" without express
-! * or implied warranty.
-! *
-!
-!
-!   Author(s): Robert Wagner <mailto:magicsoft@rwagner.de> 10/2002
-!
-!   Copyright: MAGIC Software Development, 2000-2002
-!
-!
-\* ======================================================================== */
-
-/////////////////////////////////////////////////////////////////////////////
-//                                                                         //
-//  MVPObject                                                              //
-//                                                                         //
-//  Class used by the visibility plotter to convert RA/Dec to Alt/Az       //
-//                                                                         //
-//  This class represents an object and is used with the Visibility        //
-//  macro. It must be provided with its RA/Dec coordinates and an          //
-//  object name (cf. MVPObject::SetRA, MVPObject::SetDec, and              //
-//  MVPObject::SetName). Alternatively, you can require the MVPObject      //
-//  to be a solar system object like the Sun, Mars or the Moon             //
-//  (cf. MVPObject::SetObject).                                            //
-//                                                                         //
-//  MVPObject is ready to be used in a Mars Eventloop. You must provide    //
-//  an Observatory Location as well as a time at which the position        //
-//  of the MVPObject is to be calculated. MVPObject::PreProcess            //
-//  checks the existence of the required containers and also makes sure    //
-//  all necessary setters have been called. MVPObject::Process             //
-//  then calculates the Alt/Az position of the object, as well as the      //
-//  Zenith angle and the object diameter (Solar system objects).           //
-//                                                                         //
-//  The astronomical algorithms used are taken from SLALIB 2.4-8.          //
-//                                                                         //
-/////////////////////////////////////////////////////////////////////////////
-#include "MVPObject.h"
-
-#include <TMath.h>
-
-#include "MLog.h"
-#include "MLogManip.h"
-#include "MParList.h"
-
-#include "../../slalib/slalib.h"
-
-ClassImp(MVPObject);
-
-// --------------------------------------------------------------------------
-//
-// Default constructor. 
-//
-MVPObject::MVPObject(const char *name, const char *title) : fDiameter(0), fCalcEc(kFALSE), fUT1(52000), fBody(10), fGotRA(kFALSE), fGotDec(kFALSE), fGotName(kFALSE)
-{
-  fName  = name  ? name  : "MVPObject";
-  fTitle = title ? title : "Task to calculate Alt, Az of a given object";
-  
-  fgDegToRad=2*TMath::Pi()/360;
-  fgHrsToRad=2*TMath::Pi()/24;  
-}
-
-MVPObject::~MVPObject()
-{
-  //Destructor: nothing special yet.
-}
-
-// --------------------------------------------------------------------------
-//
-//  Check if necessary containers exist in the parameter list already.
-//  We need an ObservatoryLocation and a MVPTime object.
-//
-Bool_t MVPObject::PreProcess(MParList *pList)
-{
-  fObservatory = (MObservatoryLocation*)pList->FindObject("MObservatoryLocation");
-  if (!fObservatory)
-    {
-      *fLog << dbginf << "MObservatoryLocation not found... aborting." << endl;
-      return kFALSE;
-    }
-  
-  fTime = (MVPTime*)pList->FindObject("MVPTime");
-  if (!fTime)
-    {
-      *fLog << dbginf << "MVPTime not found... aborting." << endl;
-      return kFALSE;
-    }
-
-  if (!fGotRA || !fGotDec || !fGotName)
-    {
-      *fLog << dbginf << "Object information is not complete." << endl;
-      return kFALSE;
-    }
-
-  return kTRUE;
-}
-
-// --------------------------------------------------------------------------
-//
-// Sets coordinates from object name. Instead of providing RA, Dec and Name
-// of an object, you may also just provide the object name in the from
-// HHMMsDDT, where RA is given in hours and minutes and Declination is
-// given by degrees DD and tenths of degrees T. "s" may be "+" or
-// "-"
-//
-void MVPObject::SetObjectByName(char* object)
-{
-  fObjectName=object;
-  fGotName=kTRUE;
-  
-//   cout<<"OBJ:"<<object<<endl;
-
-  unsigned int delim=0;
-  for (unsigned int i=0; i<strlen(object); i++) 
-    if ((object[i]=='+')||(object[i]=='-'))
-      delim=i;
-  
-  char ra[6];
-  char de[6];
-  
-  unsigned int i;
-  for (i=0;  i<=delim; i++)
-    ra[i]=object[i];
-  ra[i-1]=0;
-
-  for (i=delim+1;  i<strlen(object); i++)
-    de[i-delim-1]=object[i];
-  de[i-delim-1]=0;
-
-  Float_t RA, Dec;
-
-  sscanf(ra,"%f",&RA);
-  sscanf(de,"%f",&Dec);
-
-//   cout<<"OBJd:"<<Dec<<endl; //220
-//   cout<<"OBJr:"<<RA<<endl; //1959
-
-  if (object[delim]=='-') Dec*=-1;
-
-  fRA=(Double_t)( fgHrsToRad*  ((Int_t)(RA/100) + ( RA-(Int_t)(RA/100)*100)/60        ));
-  fDec=(Double_t)( fgDegToRad* ((Int_t)(Dec/10) + (Dec-(Int_t)(Dec/10)*10 )/10        ));
-
- //  fRA=(Double_t)( fgHrsToRad*  ((Int_t)(RA/100)   + ((RA / 100)-(Int_t)(RA/100))/60   ));
-//   fDec=(Double_t)( fgDegToRad* ((Int_t)(Dec/10)  + ((Dec / 10)-(Int_t)(Dec/100))/10 ));
-
-//     cout<<"OBJd:"<<fDec/fgDegToRad<<endl;
-//     cout<<"OBJr:"<<fRA/fgHrsToRad<<endl;
-
-  fGotRA=kTRUE;
-  fGotDec=kTRUE;
-}
-
-
-// --------------------------------------------------------------------------
-//
-// Sets RA position of object. Position is to be provided in hours, minutes,
-// seconds, and microseconds (if needed)
-//
-void MVPObject::SetRA(Int_t rh, Int_t rm, Int_t rs, Int_t ru)
-{
-  // Rect is a timelike value...
-  fRA = fgHrsToRad*((Double_t)rh + (Double_t)rm/60 + (Double_t)rs/(60*60) + (Double_t)ru/(36000));
-  fBody = 10;
-  fGotRA = kTRUE;
-}
-
-// --------------------------------------------------------------------------
-//
-// Sets Dec position of object. Position is to be provided in degrees, 
-// minutes, seconds, and microseconds (if needed)
-//
-void MVPObject::SetDec(Int_t dh, Int_t dm, Int_t ds, Int_t du)
-{
-  // Dec is an anglelike value
-  fDec = fgDegToRad*((Double_t)dh + (Double_t)dm/60 + (Double_t)ds/(60*60) + (Double_t)du/(36000));
-  fBody = 10;
-  fGotDec = kTRUE;
-}
-
-// --------------------------------------------------------------------------
-//
-// Alternatively to providing RA, Dec and Name of an object, you may provide 
-// a solar system object (which has no fixed RA, Dec, by the way!) with
-// MVPObject::SetObject.
-// -
-// UInt_t body | Object      Sun and Moon will be objects needed at most,
-//           0 | Sun         presumably.
-//           1 | Mercury
-//           2 | Venus
-//           3 | Moon
-//           4 | Mars
-//           5 | Jupiter
-//           6 | Saturn
-//           7 | Uranus
-//           8 | Neptune
-//           9 | Pluto
-//
-Bool_t MVPObject::SetObject(UInt_t body)
-{
-  if (body > 9) 
-    {
-      *fLog << dbginf << "No solar system object associated with value " << body <<"! Ignoring request." << endl;
-      return kFALSE;
-    }
-  else  // We are working on a solar system body.
-    {                   
-      switch (body) 
-       	{
-	case 1: fObjectName="Mercury"; break;
-       	case 2: fObjectName="Venus"; break;
-       	case 3: fObjectName="Moon"; break;
-       	case 4: fObjectName="Mars"; break;
-       	case 5: fObjectName="Jupiter"; break;
-       	case 6: fObjectName="Saturn"; break;
-       	case 7: fObjectName="Uranus"; break;
-       	case 8: fObjectName="Neptune"; break;
-       	case 9: fObjectName="Pluto"; break;
-       	default: fObjectName="Sun"; 
-       	}            
-    }
-  
-  fBody = body; 
-  fGotRA = fGotDec = fGotName = kTRUE;
-  return kTRUE;
-}
-
-// --------------------------------------------------------------------------
-//
-// Given RA, Dec or a solar system object as well as an observatory
-// location and a MVPTime, MVPObject::Process() calculates
-// Alt, Az, ZA and (in the case of solar system objects) the apparent
-// object diameter
-//
-Bool_t MVPObject::Process()
-{
-  Double_t diameter = 0.0;
-
-  if (fBody < 10) // We are working on a solar system body.
-    {      
-      slaRdplan(fTime->GetMJD(), fBody, fObservatory->GetLongitudeRad(), fObservatory->GetLatitudeRad(), &fRA, &fDec, &diameter);         
-    }
-  
-  if (fCalcEc) slaEqecl(fRA, fDec, fTime->GetMJD(), &fEcLong, &fEcLat);
-  
-  Float_t azimuth;
-  Float_t elevation;
-  
-  Float_t hourAngle = (Float_t)UT1ToGMST(fTime->GetMJD()) - fRA;
-
-  //  cout << "ha: " << hourAngle  << " ra: " << fRA << " dec " << fDec <<endl;
-
-  slaE2h (hourAngle, (Float_t)fDec, (Float_t)fObservatory->GetLatitudeRad(), &azimuth, &elevation);
-   
-  fZA  = slaZd(hourAngle, fDec, fObservatory->GetLatitudeRad());
-  fAlt = (Double_t)elevation;
-  fAz  = (Double_t)azimuth; 
-  fDiameter = diameter;
-
-  return kTRUE;
-}
-
-
-// --------------------------------------------------------------------------
-//
-// Returns distance of given object to this object in degrees
-//
-Double_t MVPObject::GetDistance(MVPObject* object)
-{
-  return slaSep(fRA, fDec, object->GetRARad(), object->GetDecRad())/fgDegToRad;
-}
-
-// --------------------------------------------------------------------------
-//
-// Returns distance of given object to this object in radians
-//
-Double_t MVPObject::GetDistanceRad(MVPObject* object)
-{
-  return slaSep(fRA, fDec, object->GetRARad(), object->GetDecRad());
-}
-
-
-// --------------------------------------------------------------------------
-//
-// Converts UT1 (given as MJD) to Greenwich mean star time in radians
-//
-Double_t MVPObject::UT1ToGMST(Double_t ut1)
-{
-  return slaGmst(ut1);
-}
-
-void MVPObject::Print(Option_t *) const
-{
-  *fLog << all;
-  *fLog << "Position of "<< fObjectName << 
-    ": Dec " << fDec/fgDegToRad << " deg, " << 
-    "RA  " << fRA/fgHrsToRad << " hrs" << endl;
-  if (fCalcEc) *fLog << "Ecliptic Long: " << fEcLong/fgDegToRad << " deg, " << 
-		  "Ecliptic Lat: " << fEcLat/fgDegToRad << " deg, " << endl; 
-}
-
-
Index: trunk/MagicSoft/Mars/mtemp/Makefile
===================================================================
--- trunk/MagicSoft/Mars/mtemp/Makefile	(revision 1678)
+++ 	(revision )
@@ -1,57 +1,0 @@
-##################################################################
-#
-#   makefile
-# 
-#   for the MARS software
-#
-##################################################################
-include ../Makefile.conf.$(OSTYPE)
-include ../Makefile.conf.general
-
-#
-# Handling name of the Root Dictionary Files
-#
-CINT  = Temp
-
-#
-# Library name to creatre
-#
-LIB   = mtemp.a
-
-#
-#  connect the include files defined in the config.mk file
-#
-INCLUDES = -I. -I../mbase -I../mraw -I../manalysis -I../mmc \
-	   -I../mgui -I../mgeom -I../mdata -I../mhist -I../../slalib
-
-.SUFFIXES: .c .cc .cxx .h .hxx .o 
-
-SRCFILES = \
-	MApplyPadding.cc \
-	MHSigmaPixel.cc \
-	MHSigmabarTheta.cc \
-	MObservatoryLocation.cc \
-	MSigmabar.cc \
-	MSigmabarCalc.cc \
-	MSigmabarParam.cc \
-	MVPObject.cc \
-	MVPPlotter.cc \
-	MVPTime.cc 
-
-SRCS    = $(SRCFILES)
-HEADERS = $(SRCFILES:.cc=.h)
-OBJS    = $(SRCFILES:.cc=.o) 
-
-############################################################
-
-all: $(LIB)
-
-include ../Makefile.rules
-
-clean:	rmcint rmobjs rmcore rmlib
-
-mrproper:	clean rmbak
-
-# @endcode
-
-
