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