Ice Tray Application of the Ice Cube software
Ice. Tray Application of the Ice. Cube software framework to water detectors Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper, Erlangen claudio. kopper@physik. uni-erlangen. de 1
Outline What is Ice. Tray? How does it work? Which modifications were necessary to use it for other detectors? What are the advantages f this framework? Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 2
What is Ice. Tray? offline software framework used by the Ice. Cube 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 KM 3 Ne. T? implemented the ANTARES reconstruction chain to show that Ice. Tray can be extended for other detectors Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 3
How does it work? Ice. Tray is a software framework connects software modules passes frames from module to module frames are contained in different streams can provide services to modules Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 4
How does it work? tcurr A module reads frames from one or more streams and adds new items into a frame Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 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 Ice. Tray does not need to know about the contents of a frame, it only passes them around Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 6
How does it work? tcurr A module reads frames from one or more streams and adds new items into a frame Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 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! Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 8
How does it work? tcurr A module reads frames from one or more streams and adds new items into a frame Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 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 Ant. SPEHits from the Physics stream reads AVC/TVC calibration from the Calibration stream produces calibrated Reco. Hits Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper adds these hits to the Physics stream 10
What is a module? modules are added to Ice. Tray before startup modules can take parameters (e. g. , input file names) typically in a python script (Ice. Tray is fully scriptable) the chain of modules and their parameters determine the task Ice. Tray performs Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 11
How does it work? tcurr A module reads frames from one or more streams and adds new items into a frame Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 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 Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 13
How does it work? tcurr A module reads frames from one or more streams and adds new items into a frame Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 14
Implementing ANTARES software to show that the framework is flexible enough to support other detectors use existing modules write new modules! Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 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 Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 16
New modules for demonstration purposes: implementation of the ANTARES offline code into Ice. Tray 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) Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 17
Summary the Ice. Tray 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 Ice. Tray, no need for reinvention KM 3 Ne. T could benefit from Ice. Tray! Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 18
Live demo. . . Ice. Tray - KM 3 Ne. T WP 2 - Pylos 2007 - Claudio Kopper 19
- Slides: 19