Date post: | 14-Jan-2016 |
Category: |
Documents |
Upload: | randall-griffith |
View: | 218 times |
Download: | 3 times |
17.01.06 Go4 v3 - http://go4.gsi.de 2
Go4 v3
• Go4 features
• Status of usage
• Analysis framework review
• New developments for v.3.0
17.01.06 Go4 v3 - http://go4.gsi.de 3
• Framework for many kinds of experiments (Atomic & Nuclear Physics)
• The analysis is written by the user (unlimited ROOT)
• Services and interfaces for analysis
• Batch mode (CINT or compiled, on/off-line)
• Interactive mode (on/off-line):
• A non blocking GUI controls and steers the analysis
• Analysis runs independently and can update graphics asynchronously
• ROOT object transport between analysis and GUI task
• Qt based GUI interfaces ROOT and Qt graphics
• User defined GUI supported (Qt designer)
The Go4 features
17.01.06 Go4 v3 - http://go4.gsi.de 6
Go4 history and status
• Development start: April 1999• Go4 v.1.0 May 2002• Go4 v.2.0 November 2002• Go4 v.2.9 April 2005 (stable?)• Go4 v.3.0 (and “final” v2.10) December 2005 • Users:
– At GSI: FRS, SHIP, AP, ESR, Rising, HypHi, HADES online, ...
– Outside: TU Darmstadt, Uni Mainz, Uni Giessen, INFN Milano, Weizman institute, IMPCAS,...
17.01.06 Go4 v3 - http://go4.gsi.de 7
Analysis framework
• TGo4Analysis baseclass:
• Analysis setup (chain of analysis steps)
• Object organization, dynamic histograms
• Implicit / explicit event loop
• Virtual methods to be defined in user analysis subclass
• TGo4AnalysisStep:defines one stage of the analysis,implements event classes
User may design own subclass of TGo4Analysis
17.01.06 Go4 v3 - http://go4.gsi.de 9
Analysis steps
TUserAnalysis
TGo4Analysis
Step
Input
Process
Output
Step
Input
Process
Output
Step
Input
Process
Output
TObjArray
Factory1
Init.
Factory2
Init.
FactoryN
Init.
Steps definition and control Framework
User Code
17.01.06 Go4 v3 - http://go4.gsi.de 10
Analysis steps
input
outputprocess
input
outputprocess
input
outputprocess
Chain of analysis steps processed sequentiallyEach step can be en/disabled (framework)Input/output can be switched (framework)
Each processor has access to all inputs!Each processor has access to all parameters
17.01.06 Go4 v3 - http://go4.gsi.de 11
Analysis Setup from GUI
Step selection
Event input
Event output
Object persistency
Load/save config
17.01.06 Go4 v3 - http://go4.gsi.de 12
• GSI standard DAQ (Mbs)
TGo4MbsEvent, TGo4MbsSubEvent (format 10,1)
TGo4MbsFile (read from *.lmd)
TGo4MbsEventServer, TGo4MbsStream, TGo4MbsTransport (connect to Mbs)
TGo4RevServ (connect to remote event server mrevserv)
• Complex event structures „toolbox“: TGo4CompositeEvent
• Root I/O :
• TGo4FileSource, TGo4FileStore :wraps 1 TTree in 1 TFile
• TGo4BackStore :1 TTree in memory only ( <- online TTree::Draw() )
Implemented Services
17.01.06 Go4 v3 - http://go4.gsi.de 14
Developments for v.3
• Inter-task communication redesign: multiple viewers at one analysis server
• New Object manager for GUI organization: decoupling of functionality and surface
• Redesign of GUI elements: browser, viewpanel, editors, new MBS monitor,...
• ROOT session (macro) may be controlled by Go4 GUI• ROOT session (TBrowser) may control Go4 analysis • Go4 distribution for Windows XP (without Qt!)
17.01.06 Go4 v3 - http://go4.gsi.de 15
Improved communication mechanism
TSocket (3x)
CL
IEN
T T
ask Go4 GUI
Object manager
CL
IEN
T T
ask Go4 GUI
Object manager
CL
IEN
T T
ask Go4 GUI
Object manager
N Observer processes
Analysis process
Event IO:- DAQ
- Server- Files- User
Auto save file
SE
RV
ER
Tas
kANALYSIS loop
Object manager
Login port
CommandsObjects
connect request
connect request
CL
IEN
T T
ask Go4 GUI
Object manager
1 Controller process
17.01.06 Go4 v3 - http://go4.gsi.de 18
GUI object managerGUI OM
data sources
browser
file.root
Analysis
file.root
Analysis
histo1
histo2
histo3
Parameter1widgets
Qt browser
view panel 1
parameter editor
• hierarchical structure of containers• special proxies for different data
sources• single iterator for looping over
complete structure• message passing between different
branches for notification purposes• ROOT cleanup mechanism
Supported data sources:• TFolder• TDirectory (TFile)• TTree• TCanvas• Remote Go4 analysis• GSI histogram server
TSocket connection
17.01.06 Go4 v3 - http://go4.gsi.de 19
New Go4 browser
• Implemented as special OM proxyfunctionality independent from graphical surface
• One browser for all data sources (analysis, file, histogram server, memory,...)
• Full control by context menu • Properties displayed in definable columns• Monitoring is set as object property • Object filter tool by state (monitored, fetched, all) • Local memory workspace with user subdirectories
copy & paste, drag’n drop, create subdir, rename
17.01.06 Go4 v3 - http://go4.gsi.de 22
View panel
• View management done by object manager
• Show same histogram in different views
(ranges, line and fill
colors) • Improved marker editor,
may also edit conditions• Info on time/date and full
object path
17.01.06 Go4 v3 - http://go4.gsi.de 24
Parameter editor Remote editing of object (data structure) contents
17.01.06 Go4 v3 - http://go4.gsi.de 26
New Mbs status monitor
Online event ratemeters, trending, remotely inspect status and setup
17.01.06 Go4 v3 - http://go4.gsi.de 27
Remote dispatching of ROOT macro
Go4 GUI
hsimplego4.CROOT
run control
browser
rate monitor
object monitor
17.01.06 Go4 v3 - http://go4.gsi.de 28
Remote dispatching of ROOT macro
• Use regular ROOT session• Init script to loads Go4 libraries and starts up analysis server task
[root] .x go4Init.C
• All methods of TGo4Analysis::Instance() available in CINT via go4->...(),
• Register Root objects in CINT / analysis script: go4RegisterAll() (all histograms in root memory), or go4->AddHistogram(TH1*), go4-
>AddObject(TNamed*),...
• Optional run control methods for macro: go4->WaitForStart() - suspend macro until start button pressed
go4->Process() - break eventloop when stop button pressed
17.01.06 Go4 v3 - http://go4.gsi.de 29
ROOT (TBrowser) for Go4 control
ROOT
ROOT
object monitorGo4 menu
run control
hsimplego4.C
Go4 folders
Go4 analysis
17.01.06 Go4 v3 - http://go4.gsi.de 30
ROOT for remote analysis control
• Use regular ROOT session• Instantiate TGo4Interface instance
[root] TGo4Interface::Instance() • Connect to running analysis
[root] go4->ConnectAnalysis(“host.domain”, 5000, 2);
• Create TBrowser instance: [root] new TBrowser
• ROOT TBrowser will contain “go4” folder, where all objects in analysis will be displayed
• CINT API (go4->...) for remote controlLaunchAnalysis(..), ConnectAnalysis(..),
SubmitAnalysisConfig(), StartAnalysis(), StopAnalysis(), ExecuteLine(....),...
17.01.06 Go4 v3 - http://go4.gsi.de 31
Conclusions• Go4 well established as GSI “standard” analysis framework • v2.10: development finished, used in production• new v.3.0:
– First internal redesign stage (OM, communication)– GUI layout and functionality improved– Other graphical surfaces than Qt? possible now!– ROOT session can control Go4 analysis– ROOT macros can be controlled from Go4 GUI– Port to other OS than Linux?
WindowsXP partially done; MacOS(?)• v3.0 to do:
– Testing, bug fixes, user interface improvements– Replace analysis object management with new OM– Redesign of analysis framework?
Backward compatibility!
• Go4 v3.0 released and available at http://go4.gsi.de