Configuration Database

Slides:



Advertisements
Similar presentations
Chapter 6 Server-side Programming: Java Servlets
Advertisements

Configuration management
PHP Reusing Code and Writing Functions.
Introduction to JavaScript
Software Summary Database Data Flow G4MICE Status & Plans Detector Reconstruction 1M.Ellis - CM24 - 3rd June 2009.
Introduction to Model-View-Controller (MVC) Web Programming with TurboGears Leif Oppermann,
Grid and CDB Janusz Martyniak, Imperial College London MICE CM37 Analysis, Software and Reconstruction.
Batch Production and Monte Carlo + CDB work status Janusz Martyniak, Imperial College London MICE CM37 Analysis, Software and Reconstruction.
1 Configuration Database Review David Forrest University of Glasgow RAL :: 1 st June 2009.
Dynamic Web Pages. Web Programming  All our web pages so far have been static pages. 1. We create a web page 2. We upload it to the web server 3. People.
Microsoft ASP.NET AJAX - AJAX as it has to be Presented by : Rana Vijayasimha Nalla CSCE Grad Student.
Struts 2.0 an Overview ( )
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
CLEO’s User Centric Data Access System Christopher D. Jones Cornell University.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
The ATLAS Production System. The Architecture ATLAS Production Database Eowyn Lexor Lexor-CondorG Oracle SQL queries Dulcinea NorduGrid Panda OSGLCG The.
SOFTWARE & COMPUTING Durga Rajaram MICE PROJECT BOARD Nov 24, 2014.
May 14, 2001E. Gallas/Trigger Database1 Status of the Trigger Database Elizabeth Gallas, Rich Wellner, Vicky White Fermilab - Computing Division See my.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
Real Time Monitor of Grid Job Executions Janusz Martyniak Imperial College London.
Configuration Database MICE Collaboration Meeting 28, Sofia David Forrest University of Glasgow Antony Wilson Science and Technology Facilities Council.
Some Design Notes Iteration - 2 Method - 1 Extractor main program Runs from an external VM Listens for RabbitMQ messages Starts a light database engine.
10/25/20151 Single Sign-On Web Service Supervisors: Viktor Kulikov Alexander Sherman Liana Lipstov Pavel Bilenko.
Configuration Database Antony Wilson MICE CM February 2011 RAL 1.
Tips.  Your system should be robust and easy to use.  Display meaningful text, mention units & assumptions (maybe as a tool-tip).  Use meaningful error.
Implementing and Using the SIRWEB Interface Setup of the CGI script and web procfile Connecting to your database using HTML Retrieving data using the CGI.
MICE Configuration DB Janusz Martyniak, Imperial College London MICE CM39 Software Paralell.
MICE CM28 Oct 2010Jean-Sebastien GraulichSlide 1 Detector DAQ o Achievements Since CM27 o DAQ Upgrade o CAM/DAQ integration o Online Software o Trigger.
Jan 7, 2002E. Gallas/Trigger Db1 Trigger Database and Trigger Configurations and Trigger Issues Elizabeth Gallas, Jeremy Simmons (Fermilab - Computing.
Geant4 is a toolkit to simulate the passage of particles through matter, and is widely used in HEP, in medical physics and for space applications. Ongoing.
Introduction to Model-View-Controller (MVC) Web Programming with TurboGears Leif Oppermann,
1 Configuration Database David Forrest University of Glasgow RAL :: 31 May 2009.
Your current Moodle 1.9 Minimum Requirements Ability to do a TEST RUN! Upgrading Moodle to Version 2 By Ramzan Jabbar Doncaster College for the Deaf By.
Software tools for digital LLRF system integration at CERN 04/11/2015 LLRF15, Software tools2 Andy Butterworth Tom Levens, Andrey Pashnin, Anthony Rey.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
MAUS Status A. Dobbs CM43 29 th October Contents MAUS Overview Infrastructure Geometry and CDB Detector Updates CKOV EMR KL TOF Tracker Global Tracking.
Teaching slides Chapter 6. Chapter 6 Software user interface design & construction Contents Introduction Graphical user interface – Rich window based.
Architecture Review 10/11/2004
ASP.NET Programming with C# and SQL Server First Edition
JavaScripts.
Development Environment
How to Contribute to System Testing and Extract Results
Section 6.3 Server-side Scripting
MICE Computing and Software
The Client-Server Model
B.6 Roadmap 2013 – 2014 SDMX RI User Group Luxembourg, September 2013.
Types for Programs and Proofs
Data Management and Database Framework for the MICE experiment
Introduction and Principles
Google Web Toolkit Tutorial
Database High-Level Overview
Data Management and Database Framework for the MICE Experiment
DCR ARB Presentation Team 5: Tour Conductor.
GFA Controls IT Alain Bertrand
Software Development Handing Errors and Creating Documentation
Generator Services planning meeting
LCGAA nightlies infrastructure
Haritha Dasari Josue Balandrano Coronel -
Intro to PHP & Variables
Testing REST IPA using POSTMAN
The Student Experience
Objectives In this lesson you will learn about: Need for servlets
Testing, debugging, and using support libraries
Chapter 7 –Implementation Issues
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
WPS - your story so far Seems incredible complicated, already
COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require understanding.
Sending data to EUROSTAT using STATEL and STADIUM web client
Presentation transcript:

Configuration Database Janusz Martyniak, Imperial College London MICE CM45 Software and Computing

Configuration Database project status Run Control (beamline) and Cooling Channel C API status Absorber table and APIs Geometry corrections API – status Data and reco quality flags API – status CDB viewer 28/07/2016 J. Martyniak, MICE CM45

Configuration DB (contd.) Beamline C API The API has been written in C (gSOAP) to facilitate integration with run control code Successfully implemented for: Retrieving beamline settings (tags)form the database Storing beamline magnet data to the hardware Storing the settings to the CDB for a given run Storing new tags Project on Launchpad: bzr+ssh://bazaar.launchpad.net/~janusz-martyniak/mcdb/mice.cdb.client.api-C/ 28/07/2016 J. Martyniak, MICE CM45

Beamline and Coolingchannel API – experience so far Used for the current run period The current version of the setters allows for a client-side logging of both request and response messages to/from the CDB (for debug purposes) Run control writes run start information, followed by beamline magnet data, coolingchannel magnet data and absorbers settings (in this order) At run end a termination run record is written to the DB We should still decide how to handle exceptions thrown by any of the steps above to decide if we should avoid orphaned Coolingchannel data for example (probably not …). CDB only disallows writing run end record if no run start has been written. Magnet data (both bl and cc could be written regardless) 28/07/2016 J. Martyniak, MICE CM45

Beamline/Coolingchanel API error handling Every operation which writes data to the CDB returns a structure, which contains: Return code (int, 0 means OK) Return XML message for logging or display Request XML message for client-side logging It is extremely important to verify that the ret code is 0, failing to do so might leave us with incomplete run information in the CDB. The logs (client and server side) will allow to retrofit missing information. We have done it more than once (!) already… 28/07/2016 J. Martyniak, MICE CM45

Cooling Channel CDB API an important design change Original Coolingchannel database table was timestamp based. It was linked to a run number it was valid for by a rather complicated time comparison, leaving to wrong results if the CC was written after the beamline. It was not easy to fix for a case of (possible) missing run end info or orphaned CC records, to name just those 2 cases. We have decided to drop this inconvenient design and link coolingchannel data to run number directly (obvious, no ?). This required passing a run number from the Run Control CC module with the CC call. The server side has been changed to use a new table and fall back to the old one for older runs (run number < 7929) 28/07/2016 J. Martyniak, MICE CM45

Coolingchannel Absorber API Absorber related server side operations added to the existing Coolingchannel WebService C API extended to allow storing/retrieving absorber tags and writing absober data to the CDB Python API written to read/write absorber tags and data to the CDB Implemented in the Control Room (less tag writing) 28/07/2016 J. Martyniak, MICE CM45

Absorber data record We are writing/reading: absorber name material shape temperature pressure comment The table is indexed by run number. 28/07/2016 J. Martyniak, MICE CM45

Geometry Corrections (issue #1817) For a given geometry ID we are storing following data for a geometry module: module name (string) dx(float) dx_err (float) dy (float) dy_err (float) dz (float) dz_err (float) dx_rot (float) dx_rot_err (float) dy_rot (float) dy_rot_err (float) dz_rot (float) dz_rot_err (float), Comment (string) 28/07/2016 J. Martyniak, MICE CM45

Geometry Corrections API (Python) Corrections may be stored in the DB by using one of the Python functions: set_corrections(modules, geometry_id, comment=‘’) Where modules is a list of dictionaries: modules=[{'name':'TOF0','dx':12.1,'dx_err':0.01, 'dy':22.20,'dy_err':0.02, 'dz':32.30, 'dz_err':0.029,.....}, {......}] or set_corrections_xml(corr_xml) Where corr_xml is: "<GeometryID value='12'> <ModuleName name='TOF0' dx='12.1' dxerr='0.01' dy='22.2' dyerr='0.02’ … /> <ModuleName name='TRACKER0' dx='12.4' dxerr='0.001' dyerr='0.002’ … /> </GeometryID>” There are 2 methods to retrieve the corrections, by run or by geometry id: get_corrections_for_run_xml(self, run): get_corrections_for_geometry_id_xml(self, gid) Both return an XML document. Thedocument format is identical to one listed above. 28/07/2016 J. Martyniak, MICE CM45

Data Quality and Reco Flags (in progress) Store and retrieve bit coded data quality and detector flags. Implemented for reco only. get_reconstruction_flags(run_number, maus_version, batch_iteration_number) Return Python dict keyed by detector name. For bits for detector. get_reconstruction_flags_for_detector( detector, run_number, maus_version, batch_iteration_number) Return a flag (4 bits) for a given det. It uses the call above. set_reconstruction_flags( run_number, maus_version, batch_iteration_number, flags) Set flags for all detectors. 28/07/2016 J. Martyniak, MICE CM45

CDB Viewer! A WEB service installed on the same machine (Tomcat) as the public CDB Web Service Uses GWT (Google Window Toolkit) to present data in a Web browser Pure java, compiles client stuff to javascript… The server side of the viewer uses CDB java client calls ( getBeamlineForRun() for instance) to contact the CDB service: Browser->CDBviewerWS->CDBclient->CDBWS->DB Originally written by Antony Wilson and forgotten ever since ;-) 28/07/2016 J. Martyniak, MICE CM45

CDB Viewer Added Coolingchannel data and some Beamline improvements (http://cdb.mice.rl.ac.uk/cdbviewer/): 28/07/2016 J. Martyniak, MICE CM45

CDB - Summary CDB is fully operational, bugs discovered have been fixed, missing Coolingchannel data retrofitted. CAPI for Beamline implemented in the Control Room Cooling Channel API implemented in the Control Room Coolingchannel absorber API implemented in the Control Room (apart from storing tags – done from Python for a time being) State machine C-API written (user interface only, no supermouse) – not used so far Geometry corrections. Ready for testing. CDB Viewer V.2 installed (CC data display added) 28/07/2016 J. Martyniak, MICE CM45