root 2005 workshop, sept. 28-29 -1- ual and root the next episode in the ual and root integration v....

15
ROOT 2005 Workshop, Sept. 28- 29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky , R.Talman

Upload: edward-day

Post on 18-Jan-2016

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ROOT 2005 Workshop, Sept. 28-29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky, R.Talman

ROOT 2005 Workshop, Sept. 28-29 -1-UAL and ROOT

The next episode in the UAL and ROOT integration

V. Fine, N. Malitsky, R.Talman

Page 2: ROOT 2005 Workshop, Sept. 28-29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky, R.Talman

ROOT 2005 Workshop, Sept. 28-29 -2-UAL and ROOT

Abstract

The episode

introduces a new

package integrating UAL simulation algorithms

with the Qt-based GUI and an open

collection of ROOT analysis and visualization

components. The primary user application is 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 supported by the Star experiment.

Page 3: ROOT 2005 Workshop, Sept. 28-29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky, R.Talman

ROOT 2005 Workshop, Sept. 28-29 -3-UAL and ROOT

Outline

Prologue: Unified Accelerator LibrariesEpisode I: API interfaceEpisode II: Interactive Analysis ExtensionSequel

Page 4: ROOT 2005 Workshop, Sept. 28-29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky, R.Talman

ROOT 2005 Workshop, Sept. 28-29 -4-UAL and ROOT

Prologue: 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

Page 5: ROOT 2005 Workshop, Sept. 28-29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky, R.Talman

ROOT 2005 Workshop, Sept. 28-29 -5-UAL and ROOT

UAL Environment http://www.ual.bnl.gov

ZL

IB

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

CINT vs Perl

Page 6: ROOT 2005 Workshop, Sept. 28-29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky, R.Talman

ROOT 2005 Workshop, Sept. 28-29 -6-UAL and ROOT

Episode I: 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

Page 7: ROOT 2005 Workshop, Sept. 28-29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky, R.Talman

ROOT 2005 Workshop, Sept. 28-29 -7-UAL and ROOT

Programming Languages (PL)ROOT 2004 Workshop

C++ CINT Perl PythonStandard PL

Debugging not tested

C++ from PL

PL from C++ not tested not tested not tested

Maintainable not tested

Human-friendly

(in general)

Human-friendly containers

Light scripting

FeaturePL

Page 8: ROOT 2005 Workshop, Sept. 28-29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky, R.Talman

ROOT 2005 Workshop, Sept. 28-29 -8-UAL and ROOT

Rapid prototyping with light scriptingROOT 2004 Workshop

1. Design of C++ application-specific classes

2. Implementation of shared library

3. Debugging4. Test5. Use with light scripting

of the main function.

Rapid prototyping scenario:

1. Design of Perl application-specificpackages

2. Implementation of these packages

3. Partial debugging 4. Test5. Use with light scripting

of the main script 6. Rewriting into C++

CINT/C++Perl/C++

Page 9: ROOT 2005 Workshop, Sept. 28-29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky, R.Talman

ROOT 2005 Workshop, Sept. 28-29 -9-UAL and ROOT

MADX-UAL-ROOT Off-line FacilityROOT 2004 Workshop

UAL Off-line Model

Instrumentation-like Display

Accelerator Physics 2D/3D plots

MADX Design Toolkit

Database Archived Data

Qt/ROOT

Page 10: ROOT 2005 Workshop, Sept. 28-29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky, R.Talman

ROOT 2005 Workshop, Sept. 28-29 -10-UAL and ROOT

Episode II: UAL Interactive Analysis ExtensionObjectives

Bring the UAL off-line applications to the RHIC onlineenvironment for analyzing accelerator physics experimentsand operational data.

Facilitate modeling and analysis of multi-particle applications, such as beam-beam and space charge effects, instabilities, cooling, etc.)

Page 11: ROOT 2005 Workshop, Sept. 28-29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky, R.Talman

ROOT 2005 Workshop, Sept. 28-29 -11-UAL and ROOT

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();

Page 12: ROOT 2005 Workshop, Sept. 28-29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky, R.Talman

ROOT 2005 Workshop, Sept. 28-29 -12-UAL and ROOT

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)

Page 13: ROOT 2005 Workshop, Sept. 28-29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky, R.Talman

ROOT 2005 Workshop, Sept. 28-29 -13-UAL and ROOT

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

Page 14: ROOT 2005 Workshop, Sept. 28-29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky, R.Talman

ROOT 2005 Workshop, Sept. 28-29 -14-UAL and ROOT

AGS and RHIC Online and Offline Models based on MADX-ADXF-UAL suite

MADX-UAL-ROOT

Accelerator Physics Studio

UAL 1.12 Off-line Model

MADX 3.xDesign Toolkit

Lattice Database

AGS & RHIC

Magnet Database

SXF

AGS ADXF file

ADXF

(MAD-X Day, Sept. 23, 2005)

Page 15: ROOT 2005 Workshop, Sept. 28-29 -1- UAL and ROOT The next episode in the UAL and ROOT integration V. Fine, N. Malitsky, R.Talman

ROOT 2005 Workshop, Sept. 28-29 -15-UAL and ROOT

Sequel: What would be Next ?

Accelerator + Detectorbased on

the Geometry package