AIDA (computing)
From Wikipedia, the free encyclopedia
AIDA: Abstract Interfaces for Data Analysis | |
---|---|
Developed by | FreeHEP |
Latest release | 3.2.1 / October 2003 |
OS | Cross-platform |
License | LGPL |
Website | AIDA home page |
Abstract Interfaces for Data Analysis (AIDA) is a set of defined interfaces and formats for representing common data analysis objects. The project was instigated and is primarily used by researchers in high-energy particle physics.
The goals of the AIDA project are to define abstract interfaces for common physics analysis objects, such as histograms, ntuples (or data trees), fitters, I/O etc. The importance of the interface concept is that a variety of different tools with different implementations can all support a uniform interface: this encourages modular design in data analysis packages and enables users to use their preferred implementation of a certain functionality without having to re-write existing code.
An additional benefit of AIDA is the specification of an XML representation format for data objects, which can be written and read by AIDA-compliant applications. AIDA implementations exist for C++, Java and Python. Conspicuously, the ROOT data analysis package, which dominates current analysis in experimental high-energy physics, does not support AIDA, which has resulted in reduced uptake of AIDA, despite its benefits.
[edit] See also
[edit] External links
- AIDA home page
- AIDA-JNI — allows C++ programs to use any Java implementation of AIDA
- JAIDA — a Java implementation of AIDA
- PAIDA — a pure Python implementation of AIDA
- Java Analysis Studio 3 — a Java-based data analysis system based on AIDA
- Hippodraw — a C++-based data analysis system with a Python interface which supports AIDA objects