Back Midas Rome Roody Rootana
  Root Display GUI, Page 3 of 7  Not logged in ELOG logo
ID Date Author Topicdown Subject
  139   07 Mar 2008 Stefan RittBug ReportRevision 221 works! But not remotely.

Randolf Pohl wrote:
Just an idea: Are all necessary ports open on the receiving machine? Maybe the analyzer is just collateral damage, in reality roody commits suicide because the firewall is nasty to him?


The connection between ROODY and the analyzer works only on a single port, but if anybody wants to connect via the underlying MIDAS layer there is a two-way communication: 1) "odbedit -h <host>" connects to host <host> on port 1175 and 2) mserver on <host> connects back to odbedit on an arbitrary port. For 2), one has to excempt the client program (in this case odbedit) from the firewall for all ports on the remote client and the server program port 1175 on the <host> machine. But I'm not sure if this is your problem right now.
  153   03 Jun 2014 Dan MelconianBug ReportZeroing spectra using XML data source?
When we connect using TNet, we can zero spectra on the fly (which is
super-useful).  Using Xml (which is infinitely faster to load), it says
"ResetAll:  http://trinatdaq:9091: not implemented".  I guess the Xml way is
reading a text file rather than accessing the root file, so it isn't exactly
trivial to implement this, eh?  However, if someone brilliant knows how to do
this, that would really be great as it is really a nice feature when debugging
things.
  154   19 Mar 2021 Alexey KalininBug Reportroody failed to start
roody failed to start with -P flag
running rootana analyzer with -P argument
commenting RecursiveRemove in TNetDirectory(.cxx .h) (rootana)  helps.
Any other suggestions?
Alexey.
  155   26 Mar 2021 Alexey KalininBug Reportroody failed to start
Also, 
Mine TDirectory fOnlineHistDir (rootana online ) has more then 1000 histograms 
with difficult hierarchy. Starting roody -P (TNEtDirectory support) takes 30-60 
seconds, when jsroot THttpServer ready to go in a moment.
> roody failed to start with -P flag
> running rootana analyzer with -P argument
> commenting RecursiveRemove in TNetDirectory(.cxx .h) (rootana)  helps.
> Any other suggestions?
> Alexey.
  70   21 Oct 2004 Joe ChumaBug Fixcvs commit
Command line argument change:
   the space between -h and hostname is optional
   the space between -r and filename is optional

The save file is now an xml file validated with roody.dtd

When saving or restoring, if you enter a filename without an extension,
.xml will be appended.  The previous save file format is no longer
supported.

New files:  RoodyXML.h, RoodyXML.cxx, roody.dtd

Fixed up group problems when an online file is located in a folder.

Makefile modified to support libxml2.
  73   28 Oct 2004 Joe ChumaBug Fixcvs commit
When the number of zones (sub-pads) is changed, any histograms on the active
canvas will be redrawn on the new canvas.  Also, more general code clean-up.
  74   04 Nov 2004 Joe ChumaBug Fixcvs commit
To set the x-axis limits, right click anywhere on a histogram frame and choose
"XaxisLimits" from the popup context menu.  This brings up a dialog box where
you can enter the xmin and xmax values. Click "OK" and all pads within the
currently selected canvas will be redrawn with that x-axis scale.  To reset all
histograms so the x-axes are unzoomed, click "Unzoom".

Every overlayed histogram on a currently drawn histogram, will be drawn in a
different color (up to the max number of colors).

When choosing a new pad division for a canvas (from the "Zones" menu), all
currently drawn histograms on that canvas will be redrawn in the new zones. If
there are fewer pads in the new configuration, the extra histograms are not
drawn.  Overlays (with their color) and x-axis scaling are preserved in the new
configuration.
  78   20 Dec 2004 John M O'DonnellBug Fixdisplaying cuts implementation
Attached is a cvs patch to allow roody to display graphical cuts (TCutG).

Does somebody have the permissions to commit this patch to the cvs repository?

It also includes some hooks where code for updating a cut will be implmented.
Updating cuts will be done with another patch, to both roody and midas.  This same
mechanism can be used for creating new cuts and sending them to the analyzer.

The final part of this project will be a change to midas to allow cuts to be booked
into (sub)folders.  I have some code which I am using for testing purposes, but I
don't like where it stores the cuts for persistence between different invocations of
the analyzer.  I'm thinking that cuts should be stored in last.root, and retrieved
from there.

John.
Attachment 1: cut_display.patch
? MTGListTreeDict.cxx
? MTGListTreeDict.h
? RoodyDict.cxx
? RoodyDict.h
? TGTextDialogDict.cxx
? TGTextDialogDict.h
? TNetFolderDict.cxx
? TNetFolderDict.h
? TPeakFindPanelDict.cxx
? TPeakFindPanelDict.h
? TXaxisLimitsDialogDict.cxx
? TXaxisLimitsDialogDict.h
? roody
Index: Roody.cxx
===================================================================
RCS file: /usr/local/cvsroot/roody/src/Roody.cxx,v
retrieving revision 1.42
diff -r1.42 Roody.cxx
284a285
>   AddSetCut();
673a675,689
> void Roody::AddSetCut()
> {
>   TClassMenuItem *menuItem = new TClassMenuItem( TClassMenuItem::kPopupUserFunction,
> 		                                 Roody::Class(),
> 						 "Send to Analyzer", "SetCut", this,
> 						 "TObject*", 0);
>   TCutG::Class()->GetMenuList()->AddFirst(menuItem);
> }
> 
> void Roody::SetCut(TObject *o)
> {
>   TCutG *cut = static_cast<TCutG*>(o);
> cout << "SetCut callback for " << cut->GetName() << " not yet implemented" << endl;
> }
> 
989a1006,1010
>   else if( obj->InheritsFrom(TCutG::Class()) )
>   {
>     TCutG *c = static_cast<TCutG*>(obj);
>     c->Draw();
>   }
2354a2376,2382
>     else if( type && type->Contains("TCutG") && !found )
>     {
>       fFileOnlineContents->AddItem( item, itemDescription.c_str(),
> 		                    (void*)new TObjString(name.c_str()),
> 				    gClient->GetPicture("cut_t.xpm"),
> 				    gClient->GetPicture("cut_t.xpm") );
>     }
2410a2439,2443
>   else if (object->InheritsFrom(TCutG::Class()) )
>   {
>     TCutG *cut = static_cast<TCutG*>(object);
>     DrawObject( dest, cut);
>   }
Index: Roody.h
===================================================================
RCS file: /usr/local/cvsroot/roody/src/Roody.h,v
retrieving revision 1.36
diff -r1.36 Roody.h
259a260
> #include "TCutG.h"
305a307
>   void SetCut(TObject *cut);
464a467
>   void AddSetCut();
Index: TNetFolder.cpp
===================================================================
RCS file: /usr/local/cvsroot/roody/src/TNetFolder.cpp,v
retrieving revision 1.1
diff -r1.1 TNetFolder.cpp
49,51c49,54
<   TObjArray *list = (TObjArray*) m->ReadObject(m->GetClass());
<   delete m;
<   return list;
---
>   if (m) {
>     TObjArray *list = (TObjArray*) m->ReadObject(m->GetClass());
>     delete m;
>     return list;
>   }
>   return 0;
  79   07 Jan 2005 John M O'DonnellBug Fixdisplaying cuts implementation
> Attached is a cvs patch to allow roody to display graphical cuts (TCutG).
> 
> Does somebody have the permissions to commit this patch to the cvs repository?
> 
> It also includes some hooks where code for updating a cut will be implmented.
> Updating cuts will be done with another patch, to both roody and midas.  This same
> mechanism can be used for creating new cuts and sending them to the analyzer.
> 
> The final part of this project will be a change to midas to allow cuts to be booked
> into (sub)folders.  I have some code which I am using for testing purposes, but I
> don't like where it stores the cuts for persistence between different invocations of
> the analyzer.  I'm thinking that cuts should be stored in last.root, and retrieved
> from there.
> 
> John.

cvs commit made today to support display of polygons, and sending polygons an analyzer.
A patch for mana.c so that MIDAS analyzers receive polygons has been sent to Stefan.

John.
  80   10 Jan 2005 Stefan RittBug Fixdisplaying cuts implementation
> A patch for mana.c so that MIDAS analyzers receive polygons has been sent to Stefan.

Patch has been submitted to CVS so mana.c is up-to-date.

- Stefan
  81   13 Jan 2005 John M O'DonnellBug Fixdisplaying cuts implementation
I have just sent a MIDAS patch to Stefan so that:

(1) cuts should be booked using TCutG *cut_book( const char *name).
    Usage is similar to h1_book etc.

(2) cuts are saved in last.root.

(3) cuts are restored from last.root.

I also fixed a bug in receiving cuts from ROODY.  The search for
cuts should be made only in gManaHistosFolder, not from gROOT.
Should this also be the case for GetPointer etc.?

I believe this implements a first pass at handling TCutG for MIDAS and ROODY.
To create a cut from scratch, one declares it in the analyzer init functions
using cut_book, and saves the pointer for use in the event-by-event code.
Then in ROODY, create a polygon, name it and send it to the analyzer (right click
on the polygon).

I believe the patchs which I have made should also be applied to ROME.

John.
  83   21 Jan 2005 Joe ChumaBug Fixmulti-thousand histogram display problems in Roody
When opening a .root file, if there are more than 1000 histograms in the file,
the display is divided up into folders, where each folder holds 250 histograms
(except for the final folder, which may be smaller).  This was done because of a
problem with TGListTree which only shows up with a large numbers of objects.
  84   24 Jan 2005 Joe ChumaBug Fixmulti-thousand histogram display problems in Roody - 2
A minor update to the previous bug fix...
Modified Roody.cxx to display the histogram name range instead of the counter
range on the subfolders when reading > 1000 histograms from a file.
  85   26 Jan 2005 Joe ChumaBug Fixzooming in on a multiframe canvas
A "ZoomOption" has been added to the context menu produced by right clicking 
anywhere on a histogram frame.  This opens up a new canvas, titled "Zoom
Canvas", containing a copy of the histogram in the original frame.
  86   28 Jan 2005 Joe ChumaBug Fixfixing y-axis scales
The y-axis scales can now be fixed just like the x-axis scales.  Choose
YaxisLimits from the context menu when right-clicking on a histogram frame and a
small dialog box will open in which you can enter the min and max values.  If
the frame is part of a multipad canvas, all pads on that canvas will be redrawn
with the new scales.  Choose YaxisLimits again and click on the Unzoom button to
unzoom all pads on that canvas.
  87   31 Jan 2005 Joe ChumaBug Fixchanges to online connection and xml
A timer has been added to check if the online socket remains valid.  If, say,
the analyzer has been stopped while running Roody, this will be detected and the
connection closed, then, every second, that connection will be attempted until
successful.  Also, the external dtd file, roody.dtd, has been eliminated in
favour of internal dtd verification. Please note that Roody is being linked with
Root version 4.00.08, as version 4.02.00 introduces problems, such as context
menu errors.
  88   01 Feb 2005 Joe ChumaBug Fixfixed 2 problems introduced with yesterdays changes
Two bugs were introduced yesterday...
 -- program crashes when trying to connect online via  roody -h nodename
    (uninitialized pointer)
 -- program crashes when restoring an xml file which tries to use the
    external dtd file (unchecked error condition)
Both problems are now fixed.
  89   07 Feb 2005 Joe ChumaBug Fixonline timer fixed
The online timer has been modified for testing whether the online connection is
still valid. If the connection is broken, the timer tests the connection every
second until it has reconnected.  When the connection is finally remade, any
online histograms will again be refreshed as before.  This is now being done
with just the original timer, as 2 timers seem to conflict with each other.
  90   10 Mar 2005 Joe ChumaBug Fixonline re-connection problem fixed
Fixed segmentation fault problems that occurred when connected online, then
having the connection broken, then re-establishing the connection, and then
clicking on an online item in the main window.  The problem is in TGListTree in
the ROOT code, and is fixed here by including 2 routines into MTGListTree.
  91   11 Mar 2005 Joe ChumaBug Fixreset online histograms
Roody can now reset online histograms via context menu or main menu.  This
requires a small change in mana.c  Also, fixed a problem with segmentation
faults when trying to connect to an invalid server port.
ELOG V3.1.4-2e1708b5