Requests for Summer Students
----------------------------
Axel/Stefan:
Automatic loading of Reflex information in ROOT files
Like automatic loading for dictionary libraries it should be also possible
to allow automatic loading of Reflex information contained in ROOT files.
The idea is to implement in Reflex a mechanism which will allow to do that.
E.g. the information contained in rootmap files could be used via the
PluginService to load the reflection information in an automatic way.
The student will have to combine the PluginService with the ROOT I/O and
enable population of Reflex via this mechanism. This will be also benefitial
for BOOT in the longterm.
Ilka
ROOT: GUI Developments
The ROOT Graphical User Interface (GUI) classes are fully cross-platform
and provide standard components for an application environment with
common 'look and feel'. This availability of the basic user interface
elements assigns many tasks to be done for the ROOT users in the future.
The ROOT GUI work package can offer the following software development
in user interface classes:
- Multiple line labels and tooltips - new development related to the
label text with new-line delimiters, different font styles within lines,
hyperlinks features.
- Drag and Drop - a modern and intuitive way of transferring information
within different ROOT applications; an addition to the clipboard support
for moving and copying data in ROOT.
- Table/Grid widget - new development related to a GUI widget containing
multiple sections of rows and columns, where each section may be
independently scrolled and resized by dragging its borders.
Training recommended: see ROOT User's Guide and http://root.cern.ch
Content of the project: 100% computing
Expected training value of the project: experience with designing user
interface and application programming.
Computing skills required: OO design and programming in C++; use of
different operating systems (Linux, Windows)
Student: computer scientist
Supervisor: Ilka Antcheva
Second supervisor: Fons Rademakers
Lorenzo
ROOT:Math Libraries development
The candidate will be integrated in the team of the Math work package
of the ROOT project. This team has the responsibility of providing
the basic mathematical libraries to physicists developing reconstruction
and analysis programs and give support to them.
The main task of the student will be to perform unit and validation tests of new
implementation of numerical and statistical algorithms implemented in the new R
OOT mathematical library. In addition he will work on simple examples and tutori
als which will be published on the Web site.
Main Supervisor: Lorenzo Moneta
Second Supervisor: ????
Student Profile: Mathematician/Physicist/Computing Scientist
Skills required: some basic knowledge of C++, applied mathematics and/or
statistics.
Training value:
learn numerical computation and statistical methods and improve the
knowledge of object oriented languages like C++
Fons
Implement a generic task processor in PROOF.
Extend PROOF to process generic task in parallel.
Implement a TPacketizerTask which takes care of task processing.
Olivier
ROOT:Graphics: 2-D and 3-D
==========================
Graphics is an essential component of any data analysis and data
presentation system. As such ROOT is not an exception: The ROOT's
graphical libraries provide support of many different functions including
basic graphics, high-level visualization techniques, output on files, 3D
viewing etc. They use well-known world standards to render graphics on
screen (X11, GDK, Qt, and OpenGL), to produce high-quality output files
(PostScript, PDF), and to generate images for Web publishing (SVG, GIF,
JPEG, etc.). Many techniques allow visualization of all the basic ROOT
data types (e.g., histograms, Ntuples, `trees', graphs, analytic
functions, cuts), projected in different dimensions and coordinate systems
(2D, pseudo 3D, full 3D, 4D) and can be produced in high quality for
publication purposes.
In this context the ROOT Graphics Work Package can offer several projects
for a summer student all related to data's graphics representation. They
are of various kind:
* Improvements in existing C++ classes,
* Development of new C++ classes,
* Framework improvement (graphics test suite, examples),
* Basic 2D graphics,
* Output (PDF, SVG),
* High level 2D graphics or 3D graphics.
One project may cover one or several of these aspects.
Some projects may also have some connections with the graphical user
interface (GUI): High level graphics classes like TGraphPolar, TPie etc
need specific editors which are still missing. Also some existing editors
need to be completed.
Other specific requirement:
The candidates should be fluent in C/C++ programming language.
Some knowledge in computer graphics and GUI would be also very useful.
Supervisor: Olivier Couet
Second supervisor: Ilka Antcheva
Student: computer scientist