Upload
betty-sanders
View
216
Download
0
Embed Size (px)
Citation preview
ACAT 2005 Workshop, May 22-27 -1-UAL Interactive Analysis Environment
Interactive Analysis Environment of Unified Accelerator Libraries
V. Fine, N. Malitsky, R.Talman
ACAT 2005 Workshop, May 22-27 -2-UAL Interactive Analysis Environment
Abstract
Unified Accelerator Libraries (UAL,http://www.ual.bnl.gov) software is an open accelerator simulation environment addressing a broad spectrum of accelerator tasks ranging from online-oriented efficient models to full-scale realistic beam dynamics studies. The paper introduces a new package integrating UAL simulation algorithms with the Qt-based Graphical User Interface and an open collection of analysis and visualization components. The primary user application is implemented as an interactive and configurable Accelerator Physics Player whose extensibility is provided by plug-in architecture. Its interface to data analysis and visualization modules is based on the Qt layer (http://root.bnl.gov) developed and supported by the Star experiment. The present version embodies the ROOT (http://root.cern.ch) data analysis framework and Coin 3D (http://www.coin3d.org) graphics library.
ACAT 2005 Workshop, May 22-27 -3-UAL Interactive Analysis Environment
Outline
• Unified Accelerator Libraries
– Architecture
– Element-Algorithm-Probe Framework
– API interface
• Interactive Analysis Extension
– Architecture
– Accelerator Physics Player
– Collection of Accelerator-specific viewers
• Status and applications
ACAT 2005 Workshop, May 22-27 -4-UAL Interactive Analysis Environment
UAL Objectives ICAP 1996
• Form a customizable and extendable environment adaptable to new accelerator applications and conceptual models
• Facilitate development, deployment and reuse of diverse independently developed accelerator programs
• Integrate accelerator conceptual models and analysis patterns with modern technologies and software
ACAT 2005 Workshop, May 22-27 -5-UAL Interactive Analysis Environment
UAL EnvironmentZ
LIB
UAL Element-Algorithm-Probe Framework
Application Shells
Application main functions
SIM
BA
D
AIM
ICE
TIB
ET
AN
AC
CS
IM
TE
AP
OT
PA
C
MP
I
ACAT 2005 Workshop, May 22-27 -6-UAL Interactive Analysis Environment
Libraries http://www.ual.bnl.gov
ACAT 2005 Workshop, May 22-27 -7-UAL Interactive Analysis Environment
Element-Algorithm-Probe FrameworkICAP 1998
Algorithm
Probe
Element
Probe ‘
Element’
Accelerator Builder
Accelerator
Accelerator Node
Accelerator Sequence
Attribute Set
Field
…
type
Quadrupole
*
Standard Machine Format
SMF
Probe
Bunch Map
AP. Builder
Accelerator Propagator
Propagator Node
Propagator Sequence
TEAPOT::Propagator
front and backnodes
*
Accelerator Propagator Framework
APF
Frame
v 2.0: Frame
ACAT 2005 Workshop, May 22-27 -8-UAL Interactive Analysis Environment
Accelerator Description Exchange Format (ADXF 2.x)http://www.ual.bnl.gov/adxf/• ADXF file is a XML representation of the accelerator state (The Element Concept)• Its schema has been mapped from the SMF 2.x object model.
<xs:schema … <xs:include schemaLocation=“adxf_simple_types.xsd” /> <xs:include schemaLocation=“adxf_abstract_types.xsd” /> <xs:include schemaLocation=“adxf_core.xsd” /> <xs:include schemaLocation=“adxf_attribute_sets.xsd” /> <xs:include schemaLocation=“adxf_mad_elements.xsd” /> <xs:element name=“adxf” > <xs:complexType> <xs:sequence> <xs:element ref=“constants” minOccurs=“0” maxOccurs=“unbounded” /> <xs:element ref=“elements” minOccurs=“0” maxOccurs=“unbounded” /> <xs:element ref=“sectors” minOccurs=“0” maxOccurs=“unbounded” /> </xs:sequence> … </xs:element></xs:schema>
adxf.xsd <adxf …. > <constants> <constant name=“lb” value=“3.58896” /> <constant name=“ab” value=“0.0151186” /> … </constants> <elements> <sbend name=”d0mp08” l=“lb” angle=”ab” /> <element name=”bi8-dh0” design=”d0mp08“ > <mfield b=”0 0 0.005476 0.033503” a=”0. 0 -0.010166 0.024366” /> </element> … </elements> <sectors> <sector name=blue” > <frame ref=“bi8-dh0” at=“661.74662424” /> … </sector> </sectors></adxf>
rhic.adxf
Position (local or global) of the installed componentwhich could be a common point for connecting with the Detector description
coreextensions
ACAT 2005 Workshop, May 22-27 -9-UAL Interactive Analysis Environment
Accelerator Propagator Description Format (APDF)
• APDF file is a XML representation of the accelerator propagator (The Algorithm Concept)• Its schema is under development.
<apdf> <propagator name=“simple” accelerator=“blue” > <link algorithm=“TIBETAN::SectorTracker”
sector = “Default” /> <link algorithm=“TIBETAN::RFCavityTracker” elements=“rfac1” /> <link algorithm=“TIBETAB::WCMonitor”
elements=“mend” /> </propagator></apdf>
Simple matrix-based tracker
simple.apdf
<apdf> <propagator name=“mia” accelerator=“blue”> <link algorithm=“TEAPOT::DriftTracker” types = “Default” /> <link algorithm=“TEAPOT::DriftTracker” types=“Marker|Drift|[VH]monitor|Monitor” /> <link algorithm=“TEAPOT::DipoleTracker” types=“SBend” /> <link algorithm=“TEAPOT::MltTracker” types=“Quadrupole|Sextupole|Multipole|Kicker” /> <link algorithm=“TIBETAN::RFCavityTracker” types=“RfCavity” /> <link algorithm=“AIM::Monitor” types=“Monitor” /> …. </propagator></apdf>
Element-by-Element tracker for Model Independent Analysis studies
mia.apdf
Applications range from small specialtasks to full-scale realistic beam dynamicsstudies
ACAT 2005 Workshop, May 22-27 -10-UAL Interactive Analysis Environment
User-oriented APIROOT 2004 Workshop
// Declare UI Interface UAL::QT::PlayerShell shell;
// ********************************************************** cout << "Read the ADXF file (lattice description)." << endl; // ********************************************************** shell.readADXF(Args() << Arg("file", latticeFile )); … // ********************************************************** cout << "Read the APDF file (propagator description)." << endl; // **********************************************************
shell.readAPDF(Args() << Arg("file", apdfFile ));
// ********************************************************** cout << "Generate a bunch distribution." << endl; // ********************************************************** shell.setBunch(Args()
<< Arg("np", 10000) << Arg("enx", 15.0e-6) << Arg("eny", 15.0e-6) << Arg("ctMax", 2.0) << Arg("deMax", 1.0e-3) << Arg("seed", -100));
1994: C++ API 1996: Perl API 1998: Perl API + SXF lattice file 2003: Perl API + SXF lattice file + XML-based propagator file 2004: C++ API + SXF lattice file + XML-based propagator file 2005: C++ API + XML-based
lattice and propagator files
Evolution:
C++ with CINT vs Perl/Python:
Pros: debugging, maintenance Cons: none
ACAT 2005 Workshop, May 22-27 -11-UAL Interactive Analysis Environment
UAL Interactive Analysis ExtensionObjectives
Bring the UAL off-line applications to the RHIC online environment for analyzing accelerator physics experiments and operational data.
Facilitate modeling and analysis of multi-particle applications, such as beam-beam and space charge effects, instabilities, cooling, etc.)
ACAT 2005 Workshop, May 22-27 -12-UAL Interactive Analysis Environment
Interactive Analysis ExtensionArchitecture
Player Worker
Beam-Beam Player
Basic Player Player Shell
Beam-Beam Shell
Basic Viewer
Mountain Range Viewer
Bunch 3D Viewer
…
…
run
Basic Controller
Beam Editor
…
stack of
* *
array of
UAL collection of algorithms
ROOT
COIN 3D
Catalog of Accelerator Visualization Components
USER
ACAT 2005 Workshop, May 22-27 -13-UAL Interactive Analysis Environment
Interactive Analysis Extension (cont)
Player Shell – non-GUI interface/façade to UAL classes
Basic Player – main widget of the “Interactive Analysis Extension”
Player Worker – non-GUI thread performing time-consuming analysis and simulation
Basic Controller – base class of the various editors for changing the UAL parameters
Basic Viewer – base class of the visualization components
ACAT 2005 Workshop, May 22-27 -14-UAL Interactive Analysis Environment
Accelerator Physics Player
An open collection of algorithms
An open collectionof viewers
UAL::USPAS::BasicPlayer* player = new UAL::USPAS::BasicPlayer(); player->setShell(&shell); qApp.setMainWidget(player); player->show(); qApp.exec();
ACAT 2005 Workshop, May 22-27 -15-UAL Interactive Analysis Environment
Examples of the Accelerator-Specific Viewers
Bunch 2D Distributions(based on ROOT TH2F)
Turn-By-Turn BPM data(based on ROOT TH2F or TGraph )
Twiss plots (based on ROOT TGraph)
Bunch 3D Distributions(based on COIN 3D)
ACAT 2005 Workshop, May 22-27 -16-UAL Interactive Analysis Environment
Status and Applications
Framework of the UAL Interactive Analysis Environment has been implemented and is currently developed as a part of:
RHIC joined online and off-line modeling environment http://www.sns.gov/pac05
Particle Accelerator School course, Cornell, June 20-24, 2005 http://uspas.fnal.gov/programs/cornell/AccelSimulation.htm
The new version UAL1.11 is expected next month and will be available from the UAL Web site: http://www.ual.bnl.gov.