13th IEEE-NPSS
Real Time
Conference 2003
Hotel Omni Mont Royal
Montréal, Canada
May 18-23 2003
Home
Topics
Comittees
Program
Short courses
Presentation and publication
Practical information
Social program
Hotel reservation
Vendor exhibition
Links
About SARS

E-Mail
Short course ROOT
Abstract

The ROOT system provides a set of OO frameworks with all the functionality needed to handle and analyse large amounts of data in a very efficient way. Having the data defined as a set of objects, specialised storage methods are used to get direct access to the separate attributes of the selected objects, without having to touch the bulk of the data. Included are histograming methods in 1, 2 and 3 dimensions, curve fitting, function evaluation, minimisation, graphics and visualization classes to allow the easy set-up of an analysis system that can query and process the data interactively or in batch mode.

Thanks to the built-in CINT C++ interpreter the command language, the scripting, or macro, language and the programming language are all C++. The interpreter allows for fast prototyping of the macros since it removes the time consuming compile/link cycle.

The system has been designed in such a way that it can query its databases in parallel on MPP machines or on clusters of PC's. ROOT is an open system that can be dynamically extended by linking external libraries. This makes ROOT a premier platform on which to build data acquisition, simulation and data analysis systems.

Introduction to the ROOT system - Plan of the short course

The 3 hours tutorial will be a mixture of slides and practical demonstrations illustrating the main features of the system.

- The CINT C++ interpreter and the object dictionary. The object dictionary keeps information on all the ROOT classes (data members and functions), and any user class processed through the ROOTCINT pre-processor and code generator.

- The object dictionary is used by the object persistency service to export/import objects and object collections to local or remote files or via TCP/IP sockets or shared memory.

- The object dictionary is also used to call functions from the interpreter itself or from the Graphical User Interface based on the Signal/Slot principle. The interpreter supports a very large subset of C++ including templates and STL. C++ scripts can be executed via the interpreter or via the native compiler in a transparent way. Class libraries can be dynamically linked via the plug-in manager.

- The histograming package features 1-d, 2-d, 3-d histograms with fix or variable size bins and the associated visualization and fitting functions.

- The graphics system includes a rich library of 2-d and 3-d primitives with picking and interaction.

- The 3-d graphics engine can be used to model, browse query and visualize complex detector structures.

- The Tree system is used to create structured direct-access local and remote files that can be analyzed thanks to the query processor. Large collections of remote files (flat or hierarchical) can be analysed via the PROOF sub-system using multiple processors in parallel.

- The socket communication classes can be used to built distributed client-server applications. These classes support sending of messages via the interpreter and sending of complex objects in an heterogeneous environment. They can be used together with the classes supporting multi-threading.

Speaker : Dr Rene Brun is a permanent CERN staff member since 1973. He has been responsible for the design and development of several large systems widely used in High Energy Physics and other fields, like the general detector simulation package Geant3, the Physics Analysis Workstation (PAW), and more recently the Data Analysis and Data Access framework ROOT.

 
Short Course: MIDAS

Midas is a free open source data acquisition system that is used in small and medium sized experiments in nuclear and particle physics. While large experiments require dedicated data acquisition due to intrinsic detector complexity, trigger requirements and data throughput, a myriad of smaller acquisition systems are needed to support the development of such experiments and their sub-system testing.

Now-a-days commercial tools can be found addressing these kinds of setups, but implementation and deployment may be frustrating. Hardware and operating system compatibility, temporary testing environment adaptability, user analysis interface and cost are some of the points for which the user may reconsider his selection.

The diversity of experimental configuration requires a flexible, adaptive, affordable system that support multi-OS. While remaining a simple DAQ package, Midas implements standard acquisition components covered in the first part of the short course with slides and online demonstrations. The following items will be covered:

- The remote procedure call (RPC) layer for remote communication between the different processes like front-ends and logger. This layer has been developed specifically for Midas and is highly optimized for a fast event transport.

- The central online database which stores the complete configuration of an experiment.

- The buffer manager which is used to gather events from various front-end computers and to distribute them to analyzers and the logger. An event building scheme based on the buffer manager will be described as well.

- The data logger, which can be used to store data on disks, tapes and through FTP. In addition, a special program will be described which makes backups of disk data files in the background.

- The front-end framework, which is used for the readout of events from VME, FASTBUS, CAMAC and other systems. The analyzer framework allows writing experiment specific analyzers for data analysis and histogramming.

- A special web server, which is used for run control and monitoring. This includes a parameter history charting and an electronic logbook.

- Several tools for debugging and extending the functionality of Midas will be described.

The second part of the course will be an online demonstration, which will show in detail:

- The installation of the system under Linux and Windows.

- The implementation of the front-end code to read out a VME module.

- The configuration of the system including data logging, automatic run control and treatment of online parameter storage.

- Writing some simple analysis code for histogramming.

- Usage of the system, run control and monitoring.

This course will benefit attendees looking for an open source DAQ system featuring full experiment control, simple user analysis package interface, optional security, web access and more.

Speaker : Dr. Stefan Ritt is a permanent staff research physicist at PSI. He has been responsible for the Pion Beta Decay Experiment and is now technical coordinator for the mu -> e gamma experiment at PSI. In the framework of these experiments, he works on various projects from ASIC design to computer farm implementation. This includes software like the Midas system, an logbook (ELOG), a web interface for PAW, and hardware like the Midas Slow Control Bus (MSCB) system and the DRS chip for fast waveform digitizing. In addition to these experiments, Dr. Stefan Ritt is member of the data acquisition group at PSI.


Update : December 06, 2004
©CEA 2002