Title: The framework candidate: Gaudi
1The framework candidate Gaudi
- Toby Burnett and Traudl Hansl-Kozanecki
- GLAST telecon
- 27 January 2000
2What is a framework?
- And why do we need it?
- Answer an execution environment that provides
- Services
- Messages
- Parameters
- Transient data storage
- Persistent/transient conversion
-
- Support for a processing model
- Flexible way to sequence processing steps
- Steps (algorithms) should be independent
- e.g., TKR and CAL reconstruction do not know
about each other - Why dont we just write it?
3Because some clever folks at CERN have done itwe
think.
- Called Gaudi (name of a Barcelona architect
1852-1926) - Good
- Well-designed (general belief)
- Addresses all the same needs as we have
- Uses the package concept as defined by CMT
- Much documentation (pdt links)
- Original design document (94 pages)
- Current manual (156 pages)
- Relatively stable
- Some one else wrote it, supports it
- Implemented as a dll
- Not-so-good
- We didnt write it
- It is for a different experiment LHCb-specific
parts - Support is not really for us, and 6-9 hours time
difference - No linux shareables yet
4Proposal we study it until 1 March
- Download it and install in
- Windows2000/Visual Studio (Toby)
- Linux/Sniff (Traudl)
- Others?
- Talk to LHCb people (Toby at CHEP2000, Traudl at
CERN) - Build test programs using GLAST code
- Develop our own build/run configuration
- Get experience with
- Basic ideas (like interfaces and Algorithms)
- Services we know we want (Parameters, Data,
Messages) - Give feedback to Gaudi people for mods (and
perhaps contribute) - But what if there is a show-stopper? ?square zero
- If not, take 8 more weeks to finish adapting for
GLAST. - ? Release date 1 June
5Technical details interface
- What is an interface? Here is a the Gaudi main
program, missing only includes and error-checking
void main() IInterface iface
GaudicreateApplicationMgr()
SmartIFltIPropertygt propMgr(IID_Iproperty,
iface) SmartIFltIAppMgrUIgt appMgr
(IID_IAppMgrUI, iface) propMgr-gtsetProperty(St
ringProperty(JobOptionsPath, jobOptions.txt)
appMgr-gtrun()
- The object returned by GaudicreateApplicationMgr
implements (at least) two interfaces Iproperty
and IAppMgrUI.
6Technical details cont. algorithm
- Takes input data, manipulates it, produces output
data - Implements the interfaces
- Ialgorithm initialize(), execute(), finalize()
- IProperty
- Services that it (may) require
- Event data
- Detector (geometry) data
- Message
- Histogram
- Summarized by the following diagram
7Algorithm Framework
8Structure (p 17 from manual)
9Proposed GLAST usage of Gaudi
Application
Gaudiframework
RIO
Algorithms
RootCnv(convertors)
CLHEP
Instrument(detect. model)
GlastEvent(event model)
Gaudi
10Summary
- Looks very promising as a solution to our
requirements - Definition of the Event data model, and geometry
description will proceed independently (neither
very dependent on a framework) - Root IO will be used in any case.
- Comments, suggestions, even help will be
appreciated