Python [1] becomes increasingly popular programming language in science and engineering [2], since it is interactive, object-oriented, high-level, dynamic and portable. It has simple and easy to learn syntax which reduces the cost of program maintenance. Jython [3] is an implementation of Python in Java. In contrast to the standard Python written in C, Jython is fully integrated with the Java platform, thus the Jython programs can make full use of extensive built-in and third-party Java libraries. Therefore, Jython programs have even more power than the standard Python implemented in C. Finally, the Jython interpreter is freely available for both commercial and non-commercial use.
jHepWork is a full-featured object-oriented data analysis framework for scientists that takes advantage of the Jython language. Jython macros are used to visualize data, 1D and 2D histograms, perform fits, etc. The program includes many tools for interactive scientific plots in 2D and 3D. Data structures and data manipulation methods integrated with Java and the JAIDA FreeHEP libraries [4] combine remarkable power with a very clear syntax.
Programs written using jHepWork are usually rather short due the simple Python syntax and high-level constructs implemented in Python and in the core jHepWork libraries. As a front-end data-analysis environment, jHepWork helps to concentrate on interactive experimentation, debugging, rapid script development and finally on workflow of scientific tasks, rather than on low-level programming.
jHepWork is an open source, fully multi-platform product, implemented 100 percent in Java. It can be used to develop a range of data-analysis applications focusing on analysis of complicated data sets, histograms, statistical analysis of data, fitting. It offers a full-featured, extensible multi-platform IDE implemented in Java.
jHepWork a data analysis framework which is seamlessly integrated with Java-based Linear Collider Detector (LCD) software concept. While jHepWork is mainly designed to be used in high-energy physics, it can also be used in any field as well, since all methods and classes are rather common in science and engineering.
Below we will discuss only the key classes of jHepWork, without coverage of all available methods, which can easily be found using an extensive help system and the code completion feature of jHepWork.
The main web page of jHepWork is:
http://projects.hepforge.org/jhepwork/
The jHepWork examples can be found in
http://projects.hepforge.org/jhepwork/examples/index.html
jHepWork consists of the two major libraries, jeHEP (jHepWork IDE) and jHPlot (jHepWork data-analysis library). Both are licensed by the GNU General Public License (GPL).