J.Adamczewski-Musch,
M.Al-Turany, D.Bertini, H.G.Essel, S.Linev
23 October 2008
Content
The
Go4 Analysis Framework Introduction V3.4
2.1 New
features in Go4 v3.04
(October08)
2.2 New
features in Go4 v3.03 (May07)
2.3 New features in Go4 v3.02 (July06)
2.4 New features in Go4 v3.01 (May06)
2.5 New features in Go4 v3.00
(November05)
2.6 New features in Go4 v2.10 (June05)
2.7 New features in Go4 v2.9
(February05)
2.8 New features in Go4 v2.8
(September04)
2.9 New features in Go4 v2.7 (June04)
2.10 New features in Go4 v2.6 (May04)
2.11 New features in Go4 v2.5
(December03)
2.12 New features in Go4 v2.4 (August03)
2.13 New features in Go4 v2.3 (May03)
2.14 New features in Go4 v2.2 (April03)
3.1.1 Go4 tasks with all communications
3.1.3 Other analysis functions
4.2 Event classes, interface to MBS
4.5.1 Batch or command line mode
4.5.2 Client mode controlled by Go4 GUI
4.5.3 Analysis in server mode for
multiple Go4 GUIs
4.5.4 MainUserAnalysis example
4.5.8 Start-up of the analysis slave
4.5.9 Submit settings and run analysis
4.5.10 Shutdown of the analysis client
4.5.11 Disconnect or shutdown analysis
server
5.2.3 Using the GUI with rsh or ssh
5.3 Simple example with one step
5.3.1 Main program and analysis
5.3.5 Auto-save file mechanism
5.4.1 Main program and analysis
5.4.4 Auto-save file mechanism
5.5.1 Main program and analysis:
6.1.1 File, Tools, Analysis menus
6.3.1 Launch analysis task in client
mode
6.3.2 Launch analysis task in server
mode
6.3.3 Connect to existing analysis
server
6.4.2 Analysis terminal window
6.4.3 Macro execution in the analysis
6.4.4 Auto-save file mechanism
6.4.6 User defined event sources
6.5.3 Analysis folder controls
6.5.7 Histogram server connection
6.5.8 Resetting and deleting objects
6.6.2 Remote mode (dynamic list
histogram)
6.6.3 Creating a new histogram
6.7.6 Channel and window markers
6.8.1 Conditions editing in viewpanel
marker editor
6.8.4 Conditions bound to pictures
6.11.3 Parameters containing fitters
6.13 Histogram/condition information
7 Analysis Server for ROOT macros
7.1 Methods for object registration
7.2 Methods for run control and
execution
8 Control of remote Go4 analysis from
a ROOT session
8.3 Controlling the analysis by command
9 The Go4 Composite Event Classes
11 Table of Menu Keyboard Shortcuts
Layout used in this document:
Text Times New Roman, 10 pt
Verbatim text Courier new 10 pt
Menu items Arial bold 9 pt
Class names Arial italics , 9 pt
Methods () Arial italics , 9 pt
Go4 screenshots Style
Window, Font Arial 11pt
Einfügen->Referenz->Querverweis:
Überschrift+Überschriftnummer/Seitenzahl
Einfügen->Referenz->Index
und Verzeichnisse: Eintrag festlegen, Indexeintrag+Aktuelle Seite. (search for Feld)
Index entries can be edited in text (first:second)
Index
aktualisieren (RMB)
Inhaltsverzeichnis
aktualisieren (RMB)
a.
Mbs API: streamserver connection timeout was not working correctly (leads to hangup of analysis
control when no data is delivered from streamserver).
b.
Mbs API: several errors at reading of *.lmd files with new event format 100,1
(DABC)
c.
MbsAPI , for f_stccomm.c file. Fixes problem with connecting 64 bit machine to MBS events/stream/trasnport
server. False usage of select()
function.
d.
TreeViewer swapped x/y/z coordinates, convention is
TTree::Draw("z:y:x"))
e.
Viewpanel: "Produce Picture" did not save all draw
options to picture
f.
Viewpanel: Mismatch between Go4 viewpanel range (full visible range) and ROOT user
range (referring to low edges of bins) could cause slight shift of x axis range
on canvas refresh
g.
TGo4Browser: Arrays fVisibleColumns and fIndexes has 1 item less
than required
h.
QRootApplication: in constructor numc argument must be delivered as reference.
i.
TGo4MBSViewer: status record must be cleared in constructor.
j.
Fit package concerning parameters handling when some parameters are fixed
a.
Modifications in makefiles - now only in one place in
Makefile.config one should specify platform - Linux, Solaris or Win32. Other
small changes in makefiles
b.
Small
adjustments for the new ROOT (5.17.05) browser.
c.
Adjustments
for modifications in ROOT signal-slot mechanism syntax (ROOT >=5.19/02);
this caused viewpanel crash.
d.
Two
ROOT libraries (libTree and libGpad) added to Go4 rootmap file that user Go4
analysis library can be loaded in CINT session.
e.
ThreadManager
workaround for ROOT bug in TThread::Delete() (ROOT bug report 31085): for some compilers, Go4 GUI crashed when shutting down or disconnecting analysis.
1.
Viewpanel
a.
Marker
editor: A point- or region marker and its label will pop to the pad foreground when it is selected
with left mouse button. Additionally, selection of a marker in the combo box of
the editor will let it appear frontmost.
b.
In superimpose mode selected histogram can be moved on the top of complete histogram stack via new
menu command "Select/show histo on top".
c.
Draw
options enhanced: support for TGraph draw modes and TGraphErrors error style. Reorganization of draw options for
TH1/TH2. New draw options tool for line, marker, and fill colours of histograms
and graphs.
d.
Menu
"Select" to chose active object from superimposed histograms
and graphs.
e.
Autoscale
checkbox as shortcut on top of each viewpanel
f.
Improvement in
speed of view panel redraw (up to factor of 2).
2.
Fitpanel
improvement: keep y-scaling when fitting on x subrange of histogram
3.
New
Zoom toolbar: added buttons for scaling z-axis of 2d histograms.
4.
New
icons for zoom toolbar and draw options toolbar.
5.
New
additional draw options toolbar to select commonly used drawing options by
buttons (lin/log, line, histo, some 2d styles). The new toolbar is displayed
via the RMB options pull down menu.
6.
New
example macro scalex.C to scale x-axis of histogram with linear calibration
function
7.
Settings
menu: "Show event status" selectable as default
pad option.
Settings menu: "Statistics Box..." dialog to define default pad
options for histogram statistics.
8.
TGo4Picture: new
method AddSpecialObject() to
add any ROOT graphical object (text labels, markers) to the picture
9.
Improvement in TGo4MbsFile for
partial read of lmd file: Corrected mismatch between first event index and real
event number (before: index=event number-1).
10.
TGo4MbsFile: now
can also read list-mode data of old event formats type 4,1 and 4,2. Event will
be converted implicitly into format 10,1 for further processing: User unpack
processor gets TGo4MbsEvent with
one TGo4MbsSubevent that
contains all event data.
11.
GUI command
interface TGo4AbstractInterface.
Added methods:
- GetViewPanelName() - returns view panel name
- SetViewPanelName() - changes view panel name
- RedrawPanel() - updates view panel view
- RedrawItem() - updates all views of specified items
- FindViewPanel() - searches for view panel of specified name
- GetActiveViewPanel() - returns currently active view panel
12.
Maintenance:
a.
Some Makefile and build skript improvements
b.
Added missing includes for <math.h>, required by
some compilers
c.
Due to changes in ROOT in many Go4 files includes like
TROOT.h, TMath.h, TList.h are
missing. Sometimes user should also include these files in user code.
d.
In latest ROOT TBuffer class becomes abstract, therefore one cannot use it directly
in the code. Instead, TBufferFile class
must be used.
e.
Adjustment of Makefile
because of changes in default libraries for ROOT >= 5.13/04 (separated libSpectrum.so)
f.
Adjusted Go4ThreadManager
package due to changes in TTimer copy
constructor for ROOT versions > 5.12.00
g.
Some bug fixes concerning compilation against old ROOT
versions 4.08
13.
Bug
fix
a.
for changes in ROOT>v5.14 pad cleanup: Viewpanel with go4 markers on subpads crashed
when closed or cleared.
b.
1-d histogram drawing. Due to some features of ROOT
histogram painter several draw options (lin, barchart and others) not working
after TH1::SetSumw2() is
called - in there Sumw2 array sum of squares of weights is accumulated.
Modification in Go4 code were done to avoid Sumw2 arrays when it not necessary.
c.
in Go4Socket library (missing include) because of
changes in ROOT version 5.14-00
d.
Problems with view panel scaling functionality when
build with gcc4.0.x compiler (FC5); fixed.
1.
Analsis framework: TGo4EventElement now implements default
method Fill() that calls virtual function TGo4EventSource::BuildEvent(). As a consequence, for a simple analysis the user
only has to implement BuildEvent()
method in his processor class. There is no need to
develop a user output event class. Even if a user output event class shall be used,
methods Fill() and Init() are not necessarily needed for a standard analysis. Go4ExampleSimple and Go4Example1Step were changed accordingly.
2.
Analysis framework: TGo4EventProcessor now implements BuildEvent() and can be used in
steps which are only used as handle for event input (branched steps).
3.
Macro usage: Analysis defines __
4.
Parameter editor offers popup menu GetFromFitPanel for embedded
fitters to update fitter settings from the current fit editor. Useful for
calibration parameters that should be fitted interactively to spectra (see Go4Example2Step).
5.
Rebin in GUI. Now when histogram will be rebinned via right-mouse
menu or via ROOT graphical editor, rebinning will be kept when histogram will
be updated next time from analysis. Many views of the same histogram with
different binning are possible. Binning also kept in hot-start file. TGo4Picture has new SetRebinX(), SetRebinY() methods to configure rebinning of displayed
histogram.
6.
All Go4 macros put into new subfolder $
New macros: savecond.C and saveparam.C to create macros to set conditions and parameters to
their current values (see 4.5.6, page 26).
7.
Bugfixes:
a.
Access to RFIO root
files from Go4 GUI browser was not possible (at GSI), since internal functions
of libRFIO.so
were shadowed by functions of GSI event lib with same names. Solved by separating
Go4 event library package into different modules for analysis and GUI task.
b.
Analysis server
executed UserPostLoop() each time a GUI client was disconnected. Disabled.
c.
Several changes
concerning the cleanup mechanism in GUI object manager
d.
AnalysisClient in CINT mode showed thread deadlock for ROOT versions>
5.02-00
e.
Start client dialog
selects correct analysis directory when choosing the analysis executable
1.
New script
command line widget for GUI: Allows execution of ROOT commands or macros
within Go4 GUI task. Moreover, Go4 hotstart scripts may be invoked here at any
time. The widget offers a file dialog to search for *.C and *.hotstart files.
It also has a selector dialog of preloaded commodity functions for histogram manipulation
(rebinning, addition, projection, etc.). These function template calls may be
completed with existing histogram names by dragging histogram items from the
browser and dropping them on the empty command argument. The history of the
command line may be saved to the current Go4 settings file .go4/go4localrc and
is then restored on next startup. (See 6.17, page 81).
2. New GUI command interface class TGo4AbstractInterface. It
can be accessed by handle "go4->" in GUI
command line. This makes it possible to interact with Go4 GUI views and browser
objects in a ROOT/Go4 script. Additionally, all remote analysis control
commands are available here, like in the hot start scripts. Method reference of
TGo4AbstractInterface is
available in the Go4 help viewer (type "help" in GUI command line, or
use Help►GUI
commandline menu of Go4 main window). Example scripts using this interface are at $
3.
New general
marker label settings dialog. In main window menu Settings►Panel
Defaults►Marker labels.., a
checkbox dialog offers to switch all label properties of the region and point markers
(visibility and information displayed in the label). These settings have effect
on all new markers of the view panel marker editor. They are saved in the go4
preferences file .go4/go4localrc. (see 6.7.6, page 64)
4.
Plain
ROOT canvases in files are better displayed.
5.
New settings feature Settings►Preferences►Fetch
when saving. If enabled, the save browser / save memory button of the file toolbar will
refresh all browser item objects from analysis before saving. Thus the ROOT
file will contain a snapshot of all analysis objects. Otherwise, only the
already fetched objects are saved.
6.
Zoom
tools "set scale" dialog upgraded to non modal MDI
widget. This will appear always on top of workspace widgets and refers to
currently selected view panel pad. Changes include some bug fixes concerning
the range settings of 2d histograms, and the auto-scale property.
7.
MBS
monitor tool: If monitoring switched on, calculation of rates is now
done in Go4, averaged over update time. Parameters of MBS monitor are stored in
Go4 settings file.
8.
TGo4Interface: new
method ExecuteLine to
remotely do CINT call from Go4 master process in the remote slave process
9.
View panel
superimpose mode improvements:
a.
is not changed anymore after superimposed draw of
FitPanel results, i.e. fitter data histogram can now be replaced just by drag and
drop on the view panel
b.
existing axis labels of first histogram are kept
10.
FitPanel
settings are saved/restored in go4 settings file
11.
Fit
GUI: Enhanced draw styles for TGraph
12.
Bugfixes:
a.
Workaround for ROOT crash in histogram rebin editor: Selecting
a histogram in view panel for rebin with the ROOT attributes editor leads to
segmentation violation when original histogram was replaced or deleted.
b.
Crash
in Go4 markers/conditions when histogram in view panel was replaced by drag and
drop.
c.
Update of histogram in GUI failed when histogram
dimensions (ranges) were changed in analysis
d.
Position and size of histogram statistic label may now
be saved in Go4 picture objects. Thus these properties can be restored on Go4
hot start.
e.
Crash
on closing last non-minimized window in view panel
f.
Problem
with empty TGraph as data source
in Fitter
g.
Crash
when FitPanel histogram under work was replaced or deleted in view panel. FitPanel did not react automatically
on changes, happening with histograms (or graphs), displayed on view panel.
Therefore, when superimpose mode was switched off, fitted histogram disappeared
from view panel (and also deleted), while fitter still has pointer on that histogram.
Now FitPanel slot in object
manager registered also against all histogram, used in fitting. If histogram is
deleted, FitPanel will be
automatically refreshed.
h.
Histogram title could not be switched off in
superimpose mode in view panel
13.
Improvements in make files
14.
Adjustments of includes due to changes in new ROOT
version 5.10