Skip to Main Content
Full data analysis is often necessary for monitoring complex nuclear and atomic physics experiments. This analysis program should run continuously getting data directly from the data acquisition to provide information with low latency. Several visualization and control clients, typically graphical user inter faces (GUI), should be able to inspect the results from the analysis, mostly histograms, but also other objects like parameters. It should be possible for the clients to get updates of selected data continuously without blocking user actions. The Go4 analysis framework developed at GSI provides this functionality. A Go4 analysis program may run in a server mode under control of a non-blocking GUI. Analysis and GUI run in separate tasks, optionally on different nodes. In dedicated threads they can send/receive objects asynchronously via TCP connections. Additional distributed viewers (GUIs) may connect to the same analysis. The Go4 framework is based on the analysis package ROOT developed at CERN. Data channels to the experiment specific data acquisition are implemented as data source classes (plug-ins). The GUI is implemented using the cross-platform GUI framework Qt, version 4, embedding the full ROOT graphics. User written GUIs can be attached. ROOT macros can be executed in the analysis or GUI context, respectively. Complex fits can be performed interactively by a powerful fit package. Go4 v4 runs on Linux, Solaris, Windows (XP, 7) and MacOS. Cross platform connections between G04 environments are possible. Go4 runs in production for several years mainly in the nuclear and atomic physics fields.