Index: /trunk/MagicSoft/Mars/macros/readrep.C
===================================================================
--- /trunk/MagicSoft/Mars/macros/readrep.C	(revision 2577)
+++ /trunk/MagicSoft/Mars/macros/readrep.C	(revision 2578)
@@ -22,27 +22,5 @@
 !
 \* ======================================================================== */
-/*
-Bool_t HandleInput()
-{
-    TTimer timer("gSystem->ProcessEvents();", 50, kFALSE);
-    while (1)
-    {
-        //
-        // While reading the input process gui events asynchronously
-        //
-        timer.TurnOn();
-        TString input = Getline("Type 'q' to exit, <return> to go on: ");
-        timer.TurnOff();
 
-        if (input=="q\n")
-            return kFALSE;
-
-        if (input=="\n")
-            return kTRUE;
-    };
-
-    return kFALSE;
-}
-*/
 void readrep(const char *fname="CC_2003_11_04_23_53_18.rep")
 {
@@ -63,4 +41,15 @@
     read.AddToList(&trigger);
 
+    MWriteRootFile write("test.root");
+    write.AddContainer("MReportDAQ",     "DAQ");
+    write.AddContainer("MTimeDAQ",       "DAQ");
+    write.AddContainer("MReportDrive",   "Drive");
+    write.AddContainer("MTimeDrive",     "Drive");
+    write.AddContainer("MReportTrigger", "Trigger");
+    write.AddContainer("MTimeTrigger",   "Trigger");
+    write.AddContainer("MReportCamera",  "Camera");
+    write.AddContainer("MTimeCamera",    "Camera");
+    tlist.AddToList(&write);
+
     MEvtLoop evtloop;
     evtloop.SetParList(&plist);
@@ -70,3 +59,42 @@
 
     tlist.PrintStatistics();
+
+    return;
+    // ------------------------------------------
+
+    MParList  plist;
+
+    MTaskList tlist;
+    plist.AddToList(&tlist);
+
+    MTaskList list1("ProcessCamera");
+    MPrint print1("MTimeCamera");
+    list1.AddToList(&print1);
+
+    MTaskList list2("ProcessDAQ");
+    MPrint print2("MTimeDAQ");
+    list2.AddToList(&print2);
+
+    MReadReports read;
+    read.AddTree("DAQ");
+    read.AddTree("Drive");
+    read.AddTree("Trigger");
+    read.AddTree("Camera");
+    //read.AddTree("Events", "MTime");
+
+    read.AddFile("test.root");
+
+    tlist.AddToList(&read);
+    tlist.AddToList(&list1, "Camera");
+    tlist.AddToList(&list2, "DAQ");
+
+
+    MEvtLoop evtloop;
+    evtloop.SetParList(&plist);
+
+    if (!evtloop.Eventloop())
+        return;
+
+    plist.Print();
+    tlist.PrintStatistics();
 }
Index: /trunk/MagicSoft/Mars/mbase/MStatusDisplay.cc
===================================================================
--- /trunk/MagicSoft/Mars/mbase/MStatusDisplay.cc	(revision 2577)
+++ /trunk/MagicSoft/Mars/mbase/MStatusDisplay.cc	(revision 2578)
@@ -2160,12 +2160,4 @@
 Bool_t MStatusDisplay::HandleEvent(Event_t *event)
 {
-#if ROOT_VERSION_CODE == ROOT_VERSION(3,05,07)
-    // Strange... crashes on the LP machines...
-    if (event->fType==kClientMessage)
-        if (event->fHandle == gROOT_MESSAGE)
-            if (event->fUser[0]==264 && event->fUser[1] == 0 && event->fUser[2]==0)
-                return kTRUE;
-#endif
-
     Bool_t rc = TGMainFrame::HandleEvent(event);
 
Index: /trunk/MagicSoft/Mars/mmain/MEventDisplay.cc
===================================================================
--- /trunk/MagicSoft/Mars/mmain/MEventDisplay.cc	(revision 2577)
+++ /trunk/MagicSoft/Mars/mmain/MEventDisplay.cc	(revision 2578)
@@ -105,5 +105,5 @@
 
     //
-    // Readin foirst event and display it
+    // Readin first event and display it
     //
     ReadFirstEvent();
@@ -538,9 +538,11 @@
                 // Set name for 'FADC canvas'. The name is the anchor for MHCamera.
                 // and clear the canvas
-                //
-                MHEvent *o = (MHEvent*)fEvtLoop->GetParList()->FindObject(GetCanvas(mp1)->GetName());
-                if (o)
-                    fCanvas->SetName(Form("%p;%p;PixelContent", o->GetHist(),
-                                          GetCanvas(mp1)->GetPad(1)));
+                TCanvas *c = GetCanvas(mp1);
+                if (!c)
+                    break;
+                MHEvent *o = (MHEvent*)fEvtLoop->GetParList()->FindObject(c->GetName());
+                if (!o)
+                    break;
+                fCanvas->SetName(Form("%p;%p;PixelContent", o->GetHist(), c->GetPad(1)));
             }
             break;
Index: /trunk/MagicSoft/Mars/mmain/MOnlineDisplay.cc
===================================================================
--- /trunk/MagicSoft/Mars/mmain/MOnlineDisplay.cc	(revision 2577)
+++ /trunk/MagicSoft/Mars/mmain/MOnlineDisplay.cc	(revision 2578)
@@ -89,12 +89,7 @@
 {
     //
-    // Setup Task list for hillas calculation
-    //
-    //SetupTaskList("Events", filename);
-
-    //
     // Add MOnlineDisplay GUI elements to the display
     //
-    AddUserFrame("");
+    AddUserFrame();
 
     //
@@ -103,130 +98,8 @@
     // FIXME: This should be done by MStatusDisplay automatically
     Resize(GetWidth(), GetHeight() + fUserFrame->GetDefaultHeight());
-    //SetWindowName("Online Display");
+    SetWindowName("Online Display");
     MapSubwindows();
-    //MapWindow();
-
-    //
-    // Readin foirst event and display it
-    //
-    //ReadFirstEvent();
-}
-
-// --------------------------------------------------------------------------
-//
-//  Destructor: PostProcess eventloop, delete eventloop with all containers
-//
-MOnlineDisplay::~MOnlineDisplay()
-{
-    //fEvtLoop->PostProcess();
-    //delete fEvtLoop;
-}
-
-// --------------------------------------------------------------------------
-//
-//  Return reading task
-//
-/*
-MReadTree *MOnlineDisplay::GetReader() const
-{
-    MParList  *plist  = (MParList*)fEvtLoop->GetParList();
-    MTaskList *tlist  = (MTaskList*)plist->FindObject("MTaskList");
-    MReadTree *reader = (MReadTree*)tlist->FindObject("MRead");
-    return reader;
-}
-
-// --------------------------------------------------------------------------
-//
-//  Setup Task and parameter list for hillas calculation,
-//  preprocess tasks and read in first event (process)
-//
-void MOnlineDisplay::SetupTaskList(const char *tname, const char *fname)
-{
-    //
-    // Setup an empty job, with a reader task only.
-    // All tasks and parameter containers are deleted automatically
-    // (via SetOwner())
-    //
-    MTaskList *tlist = new MTaskList;
-    tlist->SetOwner();
-
-    MReadMarsFile *read = new MReadMarsFile(tname, fname);
-    read->DisableAutoScheme();
-    tlist->AddToList(read);
-
-    MGeomApply *apl = new MGeomApply;
-    tlist->AddToList(apl);
-
-    MParList *plist = new MParList;
-    plist->SetOwner();
-    plist->AddToList(tlist);
-
-    fEvtLoop = new MEvtLoop;
-    fEvtLoop->SetOwner();
-    fEvtLoop->SetParList(plist);
-
-    MHEvent *evt1 = new MHEvent(MHEvent::kEvtSignal);
-    MHEvent *evt2 = new MHEvent(MHEvent::kEvtSignal);
-    MHEvent *evt3 = new MHEvent(MHEvent::kEvtPedestal);
-    MHEvent *evt4 = new MHEvent(MHEvent::kEvtPedestalRMS);
-    MHEvent *evt5 = new MHEvent(MHEvent::kEvtRelativeSignal);
-    MHEvent *evt6 = new MHEvent(MHEvent::kEvtCleaningLevels);
-    evt1->SetName("Signal");
-    evt2->SetName("Cleaned");
-    evt3->SetName("Pedestal");
-    evt4->SetName("PedRMS");
-    evt5->SetName("Signal/PedRMS");
-    evt6->SetName("CleanLevels");
-    plist->AddToList(evt1);
-    plist->AddToList(evt2);
-    plist->AddToList(evt3);
-    plist->AddToList(evt4);
-    plist->AddToList(evt5);
-    plist->AddToList(evt6);
-
-    MMcPedestalCopy   *pcopy = new MMcPedestalCopy;
-    MMcPedestalNSBAdd *pdnsb = new MMcPedestalNSBAdd;
-    MCerPhotCalc      *ncalc = new MCerPhotCalc;
-    MCerPhotAnal2     *nanal = new MCerPhotAnal2;
-    MFillH            *fill1 = new MFillH(evt1, "MCerPhotEvt",  "MFillH1");
-    MImgCleanStd      *clean = new MImgCleanStd;
-    MFillH            *fill2 = new MFillH(evt2, "MCerPhotEvt",  "MFillH2");
-    MFillH            *fill3 = new MFillH(evt3, "MPedestalCam", "MFillH3");
-    MFillH            *fill4 = new MFillH(evt4, "MPedestalCam", "MFillH4");
-    MFillH            *fill5 = new MFillH(evt5, "MCameraData",  "MFillH5");
-    MFillH            *fill6 = new MFillH(evt6, "MCameraData",  "MFillH6");
-    MBlindPixelCalc   *blind = new MBlindPixelCalc;
-    MHillasCalc       *hcalc = new MHillasCalc;
-    MHillasSrcCalc    *scalc = new MHillasSrcCalc;
-
-    MFilter *f1=new MFDataMember("MRawRunHeader.fRunType", '>', 255.5);
-    MFilter *f2=new MFDataMember("MRawRunHeader.fRunType", '<', 255.5);
-
-    ncalc->SetFilter(f1);
-    nanal->SetFilter(f2);
-
-    tlist->AddToList(f1);
-    tlist->AddToList(f2);
-    tlist->AddToList(pcopy);
-    tlist->AddToList(pdnsb);
-    tlist->AddToList(ncalc);
-    tlist->AddToList(nanal);
-    tlist->AddToList(fill1);
-    tlist->AddToList(clean);
-    tlist->AddToList(fill2);
-    tlist->AddToList(fill3);
-    tlist->AddToList(fill4);
-    tlist->AddToList(fill5);
-    tlist->AddToList(fill6);
-    tlist->AddToList(blind);
-    tlist->AddToList(hcalc);
-    tlist->AddToList(scalc);
-
-    //
-    // Now distribute Display to all tasks
-    //
-    tlist->SetDisplay(this);
-}
-*/
+}
+
 // --------------------------------------------------------------------------
 //
@@ -234,39 +107,6 @@
 //
 void MOnlineDisplay::AddTopFramePart1(TGCompositeFrame *vf1)
-{/*
-    //
-    //  --- the top1 part of the window ---
-    //
-    TGHorizontalFrame *top1 = new TGHorizontalFrame(frame, 1, 1);
-    fList->Add(top1);
-
-    //
-    // create gui elements
-    //
-    TGLabel *file = new TGLabel(top1, new TGString(Form("%s#%s", filename, treename)));
-    fList->Add(file);
-
-    //
-    // layout and add gui elements in/to frame
-    //
-    TGLayoutHints *laystd = new TGLayoutHints(kLHintsCenterX, 5, 5);
-    fList->Add(laystd);
-
-    top1->AddFrame(file,  laystd);
-
-    //
-    //  --- the top1 part of the window ---
-    //
-    TGHorizontalFrame *top2 = new TGHorizontalFrame(frame, 1, 1);
-    fList->Add(top2);
-
-    //
-    // layout and add frames
-    //
-    TGLayoutHints *laytop1 = new TGLayoutHints(kLHintsCenterX, 5, 5, 5);
-    fList->Add(laytop1);
-    frame->AddFrame(top1, laytop1);
-    frame->AddFrame(top2, laytop1);*/
-    TGLabel *file = new TGLabel(vf1, new TGString("Magic Online Display -- MONA"));
+{
+    TGLabel *file = new TGLabel(vf1, new TGString("Magic Online Analysis -- MONA"));
     TGLayoutHints *laystd = new TGLayoutHints(kLHintsCenterX, 5, 5);
     fList->Add(file);
@@ -323,5 +163,5 @@
 //  Add the user frame part of the display
 //
-void MOnlineDisplay::AddUserFrame(const char* filename)
+void MOnlineDisplay::AddUserFrame()
 {
     fUserFrame->ChangeOptions(kHorizontalFrame);
@@ -369,154 +209,4 @@
 }
 
-/*
-// --------------------------------------------------------------------------
-//
-//  Checks if the event number is valid, and if so reads the new event
-//  and updates the display
-//
-void MOnlineDisplay::ReadinEvent(Int_t dir)
-{
-    MParList    *plist = (MParList*)fEvtLoop->GetParList();
-    MTaskList   *tlist = (MTaskList*)plist->FindObject("MTaskList");
-    MRawEvtData *raw = (MRawEvtData*)plist->FindObject("MRawEvtData");
-    if (!raw)
-        return;
-
-    //
-    // Read first event.
-    //
-    MReadTree *reader = GetReader();
-
-    const Int_t num = reader->GetNumEntry();
-
-    do
-    {
-        if (dir<0 && !reader->DecEventNum())
-        {
-            reader->SetEventNum(num);
-            return;
-        }
-        if (dir>0 && !reader->IncEventNum())
-        {
-            reader->SetEventNum(num);
-            return;
-        }
-
-        if (!tlist->Process())
-            return;
-
-        reader->DecEventNum();
-
-    } while (raw->GetNumPixels()<1 && dir!=0);
-
-    //
-    // Cleare the 'FADC canvas'
-    //
-    fCanvas->Clear();
-    fCanvas->Modified();
-    fCanvas->Update();
-
-    //
-    // Print parameters
-    //
-    plist->FindObject("MHillas")->Print();
-    plist->FindObject("MHillasExt")->Print();
-    plist->FindObject("MHillasSrc")->Print();
-    plist->FindObject("MNewImagePar")->Print();
-
-    //
-    // UpdateDisplay
-    //
-    gStyle->SetOptStat(1101);
-    Update();
-
-    TGTextEntry *entry = (TGTextEntry*)fList->FindWidget(kEvtNumber);
-    entry->SetText(Form("%d", reader->GetNumEntry()+1));
-}
-
-// --------------------------------------------------------------------------
-//
-//  Read first event to get display booted
-//
-void MOnlineDisplay::ReadFirstEvent()
-{
-    if (!fEvtLoop->PreProcess())
-        return;
-
-    //
-    // Get parlist
-    //
-    MParList *plist = (MParList*)fEvtLoop->GetParList();
-
-    //
-    // Add Geometry tab
-    //
-    MGeomCam *geom = (MGeomCam*)plist->FindObject("MGeomCam");
-
-    TCanvas &c=AddTab("Geometry");
-
-    c.SetFillColor(16);
-
-    MHCamera *cam = new MHCamera(*geom);
-    cam->SetBit(TH1::kNoStats|MHCamera::kNoLegend);
-    cam->Draw();
-    cam->DrawPixelIndices();
-    fList->Add(cam);
-
-    c.Modified();
-    c.Update();
-
-    //
-    // Now read event...
-    //
-    ReadinEvent();
-
-    TGString *txt = new TGString(Form("of %d", GetReader()->GetEntries()));
-    fNumOfEvts->SetText(txt);
-
-    //
-    // Set name for 'FADC canvas'. The name is the anchor for MHCamera.
-    // and clear the canvas
-    //
-    MHEvent *o = (MHEvent*)plist->FindObject("Signal");
-    fCanvas->SetName(Form("%p;%p;PixelContent", o->GetHist(),
-                          GetCanvas(1)->GetPad(1)));
-
-    //
-    // Draw ellipse on top of all pads
-    //
-    TObject *hillas = plist->FindObject("MHillas");
-    for (int i=1; i<7;i++)
-    {
-        TCanvas *c = GetCanvas(i);
-        c->GetPad(1)->cd(1);
-        hillas->Draw();
-    }
-}
-*/
-// --------------------------------------------------------------------------
-//
-//  Adds the geometry tab 
-//
-void MOnlineDisplay::AddGeometryTab()
-{
-    /*
-    MGeomCam *geom = (MGeomCam*)fEvtLoop->GetParList()->FindObject("MGeomCam");
-    if (!geom)
-        return;
-
-    TCanvas &c=AddTab("Geometry");
-
-    MHCamera *cam = new MHCamera(*geom);
-    cam->SetBit(TH1::kNoStats);
-    cam->Draw();
-    cam->DrawPixelIndices();
-    fList->Add(cam);
-
-    c.Modified();
-    c.Update();
-    */
-}
-
 // --------------------------------------------------------------------------
 //
Index: /trunk/MagicSoft/Mars/mmain/MOnlineDisplay.h
===================================================================
--- /trunk/MagicSoft/Mars/mmain/MOnlineDisplay.h	(revision 2577)
+++ /trunk/MagicSoft/Mars/mmain/MOnlineDisplay.h	(revision 2578)
@@ -29,7 +29,5 @@
     TGCompositeFrame *fTab2;
 
-    //TGLabel  *fNumOfEvts;
-    TCanvas  *fCanvas;
-    //MEvtLoop *fEvtLoop;
+    TCanvas *fCanvas;
 
     MGTask *fTask;
@@ -37,14 +35,7 @@
     void AddTopFramePart1(TGCompositeFrame *frame);
     void AddTopFramePart2(TGCompositeFrame *frame);
-    void AddGeometryTab();
-    void AddUserFrame(const char *filename);
+    void AddUserFrame();
 
     void UpdateDisplay();
-    //void SetupTaskList(const char *tname, const char *fname);
-
-    //void ReadFirstEvent();
-    //void ReadinEvent(Int_t dir=0);
-
-    //MReadTree *GetReader() const;
 
     Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
@@ -52,5 +43,4 @@
 public:
     MOnlineDisplay();
-    ~MOnlineDisplay();
 
     void SetTask(MGTask *t) { fTask=t; }
Index: /trunk/MagicSoft/Mars/mmain/MOnlineDump.cc
===================================================================
--- /trunk/MagicSoft/Mars/mmain/MOnlineDump.cc	(revision 2577)
+++ /trunk/MagicSoft/Mars/mmain/MOnlineDump.cc	(revision 2578)
@@ -18,4 +18,5 @@
 #include "MHEvent.h"
 #include "MHCamera.h"
+#include "MHCamEvent.h"
 #include "MParList.h"
 #include "MTaskList.h"
@@ -164,4 +165,19 @@
         return kFALSE;
     }
+
+    MHCamEvent *idxhi = (MHCamEvent*)pList->FindObject("MaxIdxHi");
+    MHCamEvent *idxlo = (MHCamEvent*)pList->FindObject("MaxIdxLo");
+    if (!idxhi || !idxlo)
+    {
+        *fLog << err << "MaxIdxHi or MaxIdxLo not found... abort." << endl;
+        return kFALSE;
+    }
+
+    idxhi->GetHistByName("sum")->SetMinimum(0);
+    idxlo->GetHistByName("sum")->SetMinimum(0);
+    idxhi->GetHistByName("sum")->SetMaximum(15);
+    idxlo->GetHistByName("sum")->SetMaximum(15);
+
+
     fRawEvtHeader = (MRawEvtHeader*)pList->FindObject("MRawEvtHeader");
     if (!fRawEvtHeader)
@@ -175,5 +191,5 @@
     {
         *fLog << err << "MRawRunHeader not found... abort." << endl;
-        return kFALSE;;
+        return kFALSE;
     }
 
@@ -223,5 +239,8 @@
 {
     if (fDisplay)
+    {
         fDisplay->SetProgressBarPosition(1);
+        //fDisplay->Reset();
+    }
 
     return kTRUE;
Index: /trunk/MagicSoft/Mars/mona.cc
===================================================================
--- /trunk/MagicSoft/Mars/mona.cc	(revision 2577)
+++ /trunk/MagicSoft/Mars/mona.cc	(revision 2578)
@@ -135,9 +135,4 @@
     tasks.AddToList(&fill3);
 
-    MOnlineDump dump;
-    dump.SetFilter(&filter);
-    display->SetTask(&dump);
-    tasks.AddToList(&dump);
-
     MHCamEvent hist("PedestalRms");
     hist.SetType(1);
@@ -155,12 +150,18 @@
     // -------------------------------------------
 
-    MFillH hfilla("MaxIdxHi", "MRawEvtData");
-    MFillH hfillb("MaxIdxLo", "MRawEvtData");
-    MFillH hfillc("Pedestals [MHCamEvent]", "MPedestalCam");
-    MFillH hfilld("PedestalRms", "MPedestalCam");
+    MFillH hfilla("MaxIdxHi", "MRawEvtData", "FillMaxIdxHi");
+    MFillH hfillb("MaxIdxLo", "MRawEvtData", "FillMaxIdxLo");
+    MFillH hfillc("Pedestals [MHCamEvent]", "MPedestalCam", "FillPedestal");
+    MFillH hfilld("PedestalRms", "MPedestalCam", "FillPedestalRms");
     tasks.AddToList(&hfilla);
     tasks.AddToList(&hfillb);
     tasks.AddToList(&hfillc);
     tasks.AddToList(&hfilld);
+
+    MOnlineDump dump;
+    dump.SetFilter(&filter);
+    display->SetTask(&dump);
+    tasks.AddToList(&dump);
+
 
     MImgCleanStd      clean;
Index: /trunk/MagicSoft/Mars/mtemp/MObservatory.cc
===================================================================
--- /trunk/MagicSoft/Mars/mtemp/MObservatory.cc	(revision 2577)
+++ /trunk/MagicSoft/Mars/mtemp/MObservatory.cc	(revision 2578)
@@ -61,9 +61,9 @@
     {
     case kMagic1:
-        // Values taken from the GPS Receiver positined in
-        // the CT1 control room
-        fLatitude  = Dms2Rad( 28, 45, 42.564);
-        fLongitude = Dms2Rad(-17, 53, 27.426);
-        fHeight    = 2198.7; // m
+        // Values taken from the GPS Receiver (avg 20h)
+        // on 26/11/2003 at 17h30 in the counting house
+        fLatitude  = Dms2Rad( 28, 45, 42.576);
+        fLongitude = Dms2Rad(-17, 53, 26.460);
+        fHeight    = 2196.5; // m
         fObservatoryName = "Observatorio del Roque de los Muchachos (Magic1)";
         return;
