190 likes | 203 Views
This paper discusses the use of IceTray, an offline software framework used by the IceCube collaboration, in other water detectors. It explains how IceTray works, the modifications made for other detectors, and the advantages of using this framework. The implementation of the ANTARES reconstruction chain in IceTray is presented as an example.
E N D
IceTray • Application of the IceCube software framework to water detectors IceTray Claudio Kopper, Erlangen claudio.kopper@physik.uni-erlangen.de IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 1 1
Outline • What is IceTray? • How does it work? • Which modifications were necessary to use it for other detectors? • What are the advantages f this framework? IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 2 2
What is IceTray? • offline software framework used by the IceCube collaboration • provides a structured, modular interface • similar in structure to frameworks used by other experiments • good inline and external documentation, easy installation • Erlangen was granted access to the code for evaluation • can it help KM3NeT? • implemented the ANTARES reconstruction chain to show that IceTray can be extended for other detectors IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 3 3
How does it work? • IceTray is a software framework • connects software modules • passes frames from module to module • frames are contained in different streams • can provide services to modules IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 4 4
How does it work? tcurr • A module reads frames from one or more streams and adds new items into a frame A module reads frames from one or more streams and adds new items into a frame IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 5 5
What is a frame? • a frame is a data structure containing one or more <name, object> tuples. • a name is an arbitrary string • an object can be any C++ object • IceTray does not need to know about the contents of a frame, it only passes them around IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 6 6
How does it work? tcurr • A module reads frames from one or more streams and adds new items into a frame A module reads frames from one or more streams and adds new items into a frame IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 7 7
What is a stream? • frames can belong to different streams • each stream contains frames of a single information type (e.g., geometry information, detector calibration or physics data) • each frame has a validity period • at the end of a frame validity period, a stop event occurs in a particular stream and a new frame is generated • independently for each stream! IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 8 8
How does it work? tcurr • A module reads frames from one or more streams and adds new items into a frame A module reads frames from one or more streams and adds new items into a frame IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 9 9
What is a module? • a module reads frames from one or more streams • modules can be connected • the output of one module is sent to the next module • adds data to frames (or generate frames) and sends them to the next module • example: ANTARES hit calibration • reads AntSPEHits from the Physics stream • reads AVC/TVC calibration from the Calibration stream • produces calibrated RecoHits • adds these hits to the Physics stream IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 10 10
What is a module? • modules are added to IceTray before startup • modules can take parameters (e.g., input file names) • typically in a python script(IceTray is fully scriptable) • the chain of modules and their parameters determine the task IceTray performs IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 11 11
How does it work? tcurr • A module reads frames from one or more streams and adds new items into a frame IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 12 12
What is a service? • exists in addition to modules • can be installed into the framework • provide services such as database lookup, file reading, ... to other services and modules IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 13 13
How does it work? tcurr • A module reads frames from one or more streams and adds new items into a frame IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 14 14
Implementing ANTARES software • to show that the framework is flexible enough to support other detectors • use existing modules • write new modules! IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 15 15
Existing modules • file reader and writer module (“boost.org” serialization) • data classes (hits, particles, positions, directions, OMs, ...) • event selection • python scripting (no need for re-compilation if only the module chain or some parameters are changed • event viewer IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 16 16
New modules • for demonstration purposes:implementation of the ANTARES offline code into IceTray • new file reader module for real ANTARES *.root data files • several database access modules for calibration, geometry and run information data • hit calibration module (full amplitude/time calibration) • a reconstruction strategy (“Simulated Annealing/Erlangen strategy” Auer/Fehr/Millinger) IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 17 17
Summary • the IceTray framework is suited for other detectors! • provides a modular structure that can easily be extended • easy to use, scriptable • good documentation • a lot of work has already been done on IceTray, no need for re-invention • KM3NeT could benefit from IceTray! IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 18 18
Live demo... IceTray - KM3NeT WP2 - Pylos 2007 - Claudio Kopper 19 19