Hanna: A C-based HERMES
Analysis Tool
Quick links to principal documentation pages:
What's new in Version 3.0:
- Added a new flag int goodburst to the interface of the
routine
user_burstinit(...) to indicate bursts matching an
entry in an event list.
- Added new command line option --evsloppy to allow for multiple
entries of the same event in event lists accompanied with a change in
the interface of the
ha_checkeventlist() routine.
- Provide extended documentation (see the Tips page) on
the implications of using event lists with multiple identical entries.
- Bug fix in the
ha_checkeventlist() routine: will handle roll-overs of
the burst number (29999 -> 1) now correctly.
Table of Contents
Introduction
Hanna is a C-based frame that can help you to analyze
HERMES data.
It is capable to synchronize the
Slowcontrol Data while reading
the reconstructed events from HRC, Monte Carlo or microDST files.
Hanna comes in two flavours:
- You can use it as a frame that manages all the
data input and just calls
user functions whenever there is something to analyze.
- You can do the event data handling on your own and use some of the
functions bundled in HannaLib for
special purposes like synchronizing the slowcontrol data.
Hanna is not as voluminous as
HEP,
e.g. it does not contain any HBOOK functionality by default. However this is no
disadvantage since you can write very small and resource saving analysis
programs by using Hanna as it is as well as more complex applications
by linking your code with HBOOK and other CERN libraries.
Where to get Hanna?
Hanna is not supported any more officially as her creator
Marc-André Funk left the
Collaboration in 1998.
However, various people have implemented extensions and a series of bug
fixes they discovered when using Hanna during their analysis work.
Hanna is certainly a well tested package and you may benefit from
the experience gained over the years, so feel free to start working with it.
On the Hermes cluster Hanna is installed on the /hermes/pro
and /hermes/new releases.
To install Hanna on your own machine, simply get the file
hermes:/hermes/new/hanna/hanna*.tar.gz
(where * denotes the version number) via ftp, and unpack it. T
hen type configure;make and see what happens...
It might be necessary that you define some environment variables as the
configuration script tells you. Good Luck ;-)
If you want to get in a more intimate contact with Hanna you can
find the sources in the official
hermes:/hermes/new/hanna directory, or you can
consult the archive of old versions.
Reference Manuals
Additional Notes
- Please be sure to read the Important Tips
page, prepared by Marc Beckmann. It contains important information
for using Hanna correctly: lumi couting, event lists, etc ...
-
If you prefer, you can write your hanna-based
analysis code in Fortran rather than C, using
mainframe interface package.
Example codes
The following links are pointing directly to some (well?) documented source
code examples. Therefore I won't write any additional comments on that.
Version History
- Version 2.7:
- Bug fixes in the
ha_checkeventlist() routine:
sometimes Hanna skipped all remaining records of a DAD
input file after reading empty tables (which can happen in
nanoDSTs, e.g.).
- Few bug fixes in the cut handling.
- Bug fix in the handling of --debug command line options.
- Version 2.5:
- Major internal changes to increase performance and close some
memory leaks.
- The ha_openinput()
function got a new argument dflname. Pass NULL
to recompile your old applications.
- Version 2.4:
- Default input file format is now DAD
- Uncompression of DAD files is done using zlib
- Some minor changes in the keytable/runnumber detection
- Time summary is now done in a human readable format
- Small bug fix in configure on OSF (Thanks Kalen!)
- Multiple small changes that I don't remember any more...
- Version 2.3:
Marc-André Funk
(maf@hermes.desy.de),
Marc Beckmann
(beckmann@hermes.desy.de),
Naomi C.R. Makins
(makins@uiuc.edu)
Last modified: Thu Mar 29 12:58:48 CEST 2007