Back Midas Rome Roody Rootana
  Root Display GUI, Page 3 of 6  Not logged in ELOG logo
Entry  18 Mar 2005, Joe Chuma, Bug Fix, context menu changes 
The group context menu options are changed to "Draw group", "Reset group" and
"Delete group", where "Reset group" means reset any online members of the group
and will only appear if there are online members in that group.  Multiple
selections (left click while holding down the control key) now have a context
menu (right click to open) but the context menu for multiple selections will
only display "New canvas", "Add to group" and, if there are online members,
"Reset", since the options "Current pad", "Overlay on pad" and "Next pad" are
not relevant to multiple selections.  Online folders now have a context menu
with "New canvas", "Add to group" and "Reset" options.
Entry  10 Mar 2005, Joe Chuma, Bug Fix, online 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.
Entry  07 Feb 2005, Joe Chuma, Bug Fix, online 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.
Entry  01 Feb 2005, Joe Chuma, Bug Fix, fixed 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.
Entry  31 Jan 2005, Joe Chuma, Bug Fix, changes 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.
Entry  28 Jan 2005, Joe Chuma, Bug Fix, fixing 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.
Entry  26 Jan 2005, Joe Chuma, Bug Fix, zooming 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.
Entry  24 Jan 2005, Joe Chuma, Bug Fix, multi-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.
Entry  21 Jan 2005, Joe Chuma, Bug Fix, multi-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.
Entry  17 Jan 2005, Konstantin Olchanski, Info, CVS instructions 
Updated CVS instructions for ROODY:

1) cvs anonymous read-only access:
     export CVS_RSH=ssh
     cvs -d anoncvs@dasdevpc.triumf.ca:/usr/local/cvsroot checkout roody
    (username: anoncvs, password: anoncvs)
2) read-write cvs access (requires user account on dasdevpc.triumf.ca)
     export CVS_RSH=ssh
     cvs -d USERNAME@dasdevpc.triumf.ca:/usr/local/cvsroot checkout roody
3) build instructions:
     cvs ... checkout roody
     cd roody/src
     make
     ./roody {file.root,file.hbook,-Hhostname:port}

K.O.
Entry  05 Oct 2004, John M O'Donnell, Suggestion, displaying and selecting cuts 
I have talked with Pierre-Andre and Stefan over the last few days about the need
to be able to display graphical cuts (TCutG) in Roody, and also to be able to
change them and send them back to the analyzer.

I expect to have some sample code for putting cuts into a folder sometime soon.
    Reply  20 Dec 2004, John M O'Donnell, Bug Fix, displaying cuts implementation cut_display.patch
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.
       Reply  07 Jan 2005, John M O'Donnell, Bug Fix, displaying 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.
          Reply  10 Jan 2005, Stefan Ritt, Bug Fix, displaying 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
       Reply  13 Jan 2005, John M O'Donnell, Bug Fix, displaying 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.
Entry  30 Nov 2004, chris pearson, Suggestion, Histogram zeroing, and extended histogram display manipulation 
  We need a simple way of zeroing online spectra, using the roody viewer to
select which spectra are to be zeroed.

   We would also like the histogram view to be unaffected by refreshing. 
Currently the y axis is autoscaled after a refresh.

  We would also like a quicker way of manipulating the histogram display, than
by the awkward, particularly for canvases containing multiple histograms, axis
manipulation currently available.  This could be a toolbar similar to the view
editor that already exists - are the contents of this customisable, or would a
separate toolbar be needed?, and would ideally contain the following ...
   4 buttons, which could each be labelled with a single arrow, for shifting the
histogram left/right/up/down (e.g. by half the corresponding axis's range).  4
buttons, which could each be labelled with double arrows, for scaling the x/y
axes (scaling by factors of 2 and 0.5, about the axis's initial position).  3
buttons for toggling linear/log scale on each axis (these are in the current
view editor).  3 more buttons, for resetting the view to default, for retaining
the current view and for reverting to a previously retained view.
  We would also like to be able to attach markers to a histogram (requiring
another button to remove markers).  markers would be placed using mouse clicks
on the histogram, *and* by a text entry box for typing channel numbers.  Markers
would be labelled with x,y.  There would then be a button to expand an axis
between the last 2 placed markers.  The markers would also be used for analysis
such as integral and peakfind/fitting.
  The view manipulation toolbar would be one per canvas, so there would also
need to be a toggle button to apply the view manipulation commands to all the
histograms on that canvas, or to just the currently selected histogram[s] (a way
to select several, rather than just one, histograms would be useful)

   This would be very much quicker and easier to use than selecting items from
long menus, which themselves need to be called by selecting specific, often very
small, regions of a canvas.

Chris
    Reply  01 Dec 2004, Konstantin Olchanski, Suggestion, Histogram zeroing, and extended histogram display manipulation 
>   We need a simple way of zeroing online spectra, using the roody viewer to
> select which spectra are to be zeroed.

Problem confirmed: there is a button for "clear all", but no buttons for "clear
selected histograms" and "clear just this one histogram". It was suggested that the
right-click context menu for each histogram should have a "clear" action. Maybe same
for a "group".

>    We would also like the histogram view to be unaffected by refreshing. 
> Currently the y axis is autoscaled after a refresh.

I thought this was fixed a long time ago...

>   We would also like a quicker way of manipulating the histogram display, than
> by the awkward, particularly for canvases containing multiple histograms, axis
> manipulation currently available.

I am thinking along the lines of locking the "zooming" of all histograms: on a 2x2
panel of histograms, rezooming any one of them would rezoom the others the same way.

> This could be a toolbar similar to the view
> editor that already exists - are the contents of this customisable, or would a
> separate toolbar be needed?, and would ideally contain the following ...
>    4 buttons, which could each be labelled with a single arrow, for shifting the
> histogram left/right/up/down (e.g. by half the corresponding axis's range).  4
> buttons, which could each be labelled with double arrows, for scaling the x/y
> axes (scaling by factors of 2 and 0.5, about the axis's initial position).  3
> buttons for toggling linear/log scale on each axis (these are in the current
> view editor).  3 more buttons, for resetting the view to default, for retaining
> the current view and for reverting to a previously retained view.

This does not sound like something I can do in 5 minutes, maybe Joe Chuma would take
this on?

>   We would also like to be able to attach markers to a histogram (requiring
> another button to remove markers).  markers would be placed using mouse clicks
> on the histogram, *and* by a text entry box for typing channel numbers.  Markers
> would be labelled with x,y.  There would then be a button to expand an axis
> between the last 2 placed markers.  The markers would also be used for analysis
> such as integral and peakfind/fitting.

Maybe I am missing something, but is this not "standard root" functionality, using
the pad editor and adding "TLabels"?

>   The view manipulation toolbar would be one per canvas, so there would also
> need to be a toggle button to apply the view manipulation commands to all the
> histograms on that canvas, or to just the currently selected histogram[s] (a way
> to select several, rather than just one, histograms would be useful)

I like this: a control for selecting if the action is applied to just one histogram
or to all histograms in a group.

>    This would be very much quicker and easier to use than selecting items from
> long menus, which themselves need to be called by selecting specific, often very
> small, regions of a canvas.

I see: ROOT is geared very much for manipulating ONE graphical object at a time. We
want to manipulate MANY identical objects at the same time and the existing tools
are inadequate, for example because each object is physically very small and it is
hard to point-and-click it.

K.O.
       Reply  01 Dec 2004, Konstantin Olchanski, Suggestion, Histogram zeroing, and extended histogram display manipulation 
> >    We would also like the histogram view to be unaffected by refreshing. 
> > Currently the y axis is autoscaled after a refresh.
> 
> I thought this was fixed a long time ago...

Never mind that.

Vertical scale of online histograms *has* to change after a refresh- the number of
counts in an online histogram increases as it accumulates more data and the histogram
would grow up out of the visual range unless it is rescaled.

Now, we can be smart about this: for a zoomed histogram, we can freeze the "y" scaling
or we can maintain the zoom ratio while rescaling.

K.O.
Entry  04 Nov 2004, Joe Chuma, Bug Fix, cvs 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.
Entry  28 Oct 2004, Joe Chuma, Bug Fix, cvs 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.
Entry  19 Oct 2004, Matthias Schneebeli, Suggestion, Comments on Roody 
I have some comments on roody :

1)
The peakfinder is only available when you right click on the histogram line.
This is a very limited area. I would rather make the peakfinder available 
whenever you right click anywhere in the histogram area.

2)
On a canvas with zones:
When you start the peakfinder from a histogram, which is not active, roody 
searches for peaks on the active histo. Therefore, I would make the histogram 
active, whenever you click on the histo, no matter which button you click. Or 
the peakfinder should make the histo active first.

3)
When you change the zones you loose all your histos. I would prefer to have the 
histos, which are already displayed also on the rezoned canvas. 

4)
When I resize the x-axis of a histogram by hand and then plot a new histogram 
in the same pad, I loose the scale I have choosen. There should be a switch, 
with which you can keep the settings of a histogram for further histos.

If you agree upon these requests, let me know if you like me to implement some 
of these features.
    Reply  22 Oct 2004, Joe Chuma, Suggestion, Comments on Roody 
> I have some comments on roody :
> 
> [snip]
> If you agree upon these requests, let me know if you like me to implement some 
> of these features.

These all seem like good suggestions and it is fine with me if you want
to work on the code.
       Reply  26 Oct 2004, Matthias Schneebeli, Suggestion, Comments on Roody 
I have committed point 1 and 2.

For point 3 you need to save all displayed histos in a stack. So that you can plot 
them into the rezoned canvas. I don't know if you want to do that.

I would prefer if you would do point 4.

Matthias
Entry  21 Oct 2004, Joe Chuma, Bug Fix, cvs 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.
Entry  08 Oct 2004, Joe Chuma, Info, Roody cvs commit  
Command line argument change:
 -h (or -H) followed by nothing shows program usage
 -hhostname or -hhostname:port connect to analyzer on given host (and port)
 -rsavefile restores savefile

Offline items added to a group are new removed from the group if the
file is closed.

Offline item titles are now displayed after the name if different than
the item name.

"Run# number" added to the item title if the filename contains a runnumber.
Entry  30 Sep 2004, Joe Chuma, Info, more right click features 
Right click on Offline folder opens the file dialog.

Right click on Online folder opens the hostname dialog.

If only one group exists, you will not be asked to choose the group when adding items to a group.
Entry  30 Sep 2004, Matthias Schneebeli, Bug Report, anoncvs account not working anymore 
anoncvs account is not working anymore.

Please fix that.

Thanks 

Matthias
    Reply  30 Sep 2004, Pierre-André Amaudruz, Bug Report, anoncvs account not working anymore 
Access to Roody from anonymous is restored:

cvs -e ssh -d anoncvs@midas.triumf.ca:/usr/local/cvsroot checkout roody
pwd: anoncvs
       Reply  30 Sep 2004, Konstantin Olchanski, Bug Report, anoncvs account not working anymore 
> Access to Roody from anonymous is restored:
> cvs -e ssh -d anoncvs@midas.triumf.ca:/usr/local/cvsroot checkout roody
> pwd: anoncvs

What was the fix? I do not think it was ever broken, except for the name change from "miroodas" to "roody", which I could not document until Pierre restored this Elog forum 
a few hours ago. K.O.
Entry  20 Sep 2004, Joe, , multiple selection update 
One can now select multiple histograms by holding down the CTRL key while
left clicking the mouse.  After selecting the histograms, keep holding down
the CTRL key and right click the mouse to bring up the context menu to add
these histograms to a previously created group.  Usefulness is somewhat
limited so far, but more functionality will be added later.
ELOG V3.1.4-2e1708b5