Java modules can be dynamically loaded and unloaded from running programs, with no linking involved, which results in a very fast code, load, run, debug cycle excellent for rapid development of analysis algorithms. Java Analysis Studio is provided with a package of classes for creating, filling and manipulating histograms. A second package of classes is currently being developed which will support simple operations on three and four vectors, plus event shape analysis and jet finding. Unlike most other data analysis applications which force the user to first translate the data into a particular format understood by that application, Java Analysis Studio is able to analyze data stored in almost any format. It does this by requiring that for any particular data format an interface module be available which can provide the glue between the application and the data.
Support is provided for analyzing either n-tuples or arbitrarily complex object hierarchies.
While analyzing n-tuple data a number of graphical user interface options are available for plotting columns of data singly or in pairs, as well as applying cuts. While analyzing n-tuple data can sometimes be convenient it is also rather limiting, and therefore we also support analysis events consisting of arbitrarily complex trees of objects. JAS can read data stored on the user's local machine, or stored on a remote data server. The application has been designed from the outset with this client-server approach in mind, and as a result the interface that is presented to the user is identical whether the data being analyzed is stored locally or on a remote server. When running in client-server mode the user's analysis modules are still edited and compiled locally, but when run the analysis modules are sent over the network and executed on the data server.