SDDS Data in Mathematica

John Jowett

"index_1.gif"

"index_2.gif"

A first exploration of how to work with SDDS files in Mathematica.

You can find this notebook on CERN DFS at:

"index_3.gif"

"index_4.gif"

Introduction

SDDS is a file format (originated in Argonne) adopted for data saved in the LHC (and SPS, etc.) control system.

See also the discussion by Mike Lamont at LHCCWG.

Basic idea is the same as the TFS concept (R. Keyser, I think ...) adopted for LEP Control System and still used by MAD.

Might also have used XML.

Files contain parameters/keys (e.g. date, machine cycle no., beam energy, type of data, ...), arrays (digitised image, ...), columns (e.g., element names, Twiss functions).  There are associated strings which tell you which parameters, columns, arrays are present (the files are self-describing).

(This concept was extended into Mathematica from ~1993 onwards (mfs expressions are objects in Mathematica with similar properties.  The earliest Madtomma packages transform TFS files into mfs expressions.)

(Unfortunately TFS was not completely implemented in LEP control room applications - many ad hoc formats from different instruments made analysis of MD data unnecessarily complicated and tedious ("scripts" galore).   Hope we can avoid that this time.)

This is at an early stage. Today I will show a few examples, illustrating the very basic functionality.

Forget about reading text files!

J/Link allows us to access and manipulate all Java objects (and all their methods, etc.) directly.  Write Java programs without knowing any Java.  Truly interactive (no compilation-like step).  Well documented, ready-installed with Mathematica and easy to use.

There is no need to install the SDDS package or "tools" from Argonne (or to read the documentation).

Based on same classes used in LHC control system.

Setup (this will disappear when package is available)

Location of Java packages (this will disappear when J/Link package is available)

Location of example data (as an object in Java)

Aside on Java objects vs. other Mathematica expressions

Example data files

BTVI data

SPS Beam Loss monitors

Optics example

Concluding remarks

After consultation with Mike Lamont, started to compile a Mathematica package (SDDSviaJLink), which should achieve the following with little effort:

Provide basic functionality as illustrated above.

Provide useful functions for particular kinds of data (e.g., loss maps, orbits, emittance measurements, ...).  Share effort: otherwise this might be done many times over by individuals.

Provide examples and some documentation integrated into Mathematica Help.

Maintained and developed in Wolfram Workbench (= Eclipse for Mathematica/Java).

Offline, easily customisable analysis functions.

Opens up the possiblity to correlate different instruments according to a scheme of measurements made, e.g., during an MD.

Potentially reduces time for analysing MD data.

Welcome contributions to this package.  Techniques already in use for MDs at SPS (Elias , Roderik, Giovanni (?), JMJ, ...).

Going beyond analysing data saved in MDs, we may consider interacting with other Java classes in control system (within obvious constraints).  "Rapid development environment" for prototyping, correcting optics, MDs, etc.  Already familiar to many people.

Easy to integrate interaction with MAD using Madtomma.


Created by Wolfram Mathematica 6.0  (05 November 2007) Valid XHTML 1.1!