|Developer(s)||Researchers from CERN, LAL, SLAC|
3.2.1 / October 2003
|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. As of 2011, the projects seems dormant, with last "recent news" on the project homepage dating from 2005.
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. Usage of AIDA interfaces can be found in the Geant4 examples.
- AIDA home page
- AIDA-JNI — allows C++ programs to use any Java implementation of AIDA
- iAIDA — a C++ 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