Katydid Use and API Documentation¶
Katydid is a C++-based analysis toolkit designed primarily for the Project 8 experiment, but easily applicable to other CRES (and non-CRES) experiments. At is heart is a more general analysis framework called Nymph (which was also originally written for the Project 8 experiment).
The goals behind the design of Katydid/Nymph are: - Users should be able to reconfigure and rerun their analysis without needing to recompile Katydid. - Code for performing a particular task should not need to be rewritten.
All of the analysis tasks are performed by Processors. They operate on passive, extensible data objects. Most processors will generate new data in response to input data; the new data type then gets added to the extensible data object. There are, of course, exceptions to these guidelines, but most processors behave in this way.
Processors are connected to one another using a signal/slot mechanism. When a Processor has finished its job, assuming it’s creating a new data type, it announces the new data by emitting a signal. Other Processors may be listening for that signal with a slot. That slot then calls a function in the listening Processor that acts on the new data.
Further details on how this all works can be found on the basic-concepts page.
Contents:
Getting Help¶
Send your question by email to Noah Oblath: nsoblath-at-mit.edu
For installation problems: katydid-installation
Found a bug or have a suggestion: submit an issue
For ROOT problems: ROOT Website
Copyright and Licensing¶
The copyright for all original code in Katydid belongs to the the authors of Katydid and their institutions.
Katydid is an open-source distribution. See the LICENSE file in the distribution for the full license text.