Calibration API in JANA David Lawrence, Jlab July 17, 2007.

Slides:



Advertisements
Similar presentations
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 15 Introduction to Rails.
Advertisements

Introduction to ReportSmith and Effective Dated Tables
A MATLAB function is a special type of M-file that runs in its own independent workspace. It receives input data through an input argument list, and returns.
Lecture 10: Part 1: OO Issues CS 540 George Mason University.
Lecture 7 Debugging Code & Data Import/Export © 2007 Daniel Valentine. All rights reserved. Published by Elsevier.
Introduction to Structured Query Language (SQL)
PHP (2) – Functions, Arrays, Databases, and sessions.
EGR 106 – Week 2 – Arrays Definition, size, and terminology Construction methods Addressing and sub-arrays Some useful functions for arrays Character arrays.
Using Objects and Properties
Designing a Database Unleashing the Power of Relational Database Design.
Chapter 8. 2 Objectives You should be able to describe: One-Dimensional Arrays Array Initialization Arrays as Arguments Two-Dimensional Arrays Common.
©2007 Austin Troy Lecture 7: Introduction to GIS 1.Queries and table operations for a single layer in Arc GIS 2.Intro to queries in Access Lecture by Austin.
Attribute databases. GIS Definition Diagram Output Query Results.
Information systems and databases Database information systems Read the textbook: Chapter 2: Information systems and databases FOR MORE INFO...
Introduction to Array The fundamental unit of data in any MATLAB program is the array. 1. An array is a collection of data values organized into rows and.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 12-1 David M. Kroenke’s Chapter Twelve: ODBC Database Processing: Fundamentals,
The JANA Calibrations and Conditions Database API March 23, 2009 David Lawrence JLab 3/23/091JANA Calibration API David Lawrence -- JLab.
Thomas Jefferson National Accelerator Facility (JLab) 6/16/09Multi-threaded event processing with JANA -- David Lawrence 1 6 GeV electron accelerator user.
Chapter 3 Single-Table Queries
Fortran 1- Basics Chapters 1-2 in your Fortran book.
Copyright GoldSim Technology Group LLC, 2006 Slide 1 Linking GoldSim to Spreadsheets GoldSim Technology Group Issaquah, Washington USA.
What’s New in VRS? GUGM May 15, 2008 Presenter: Kelly P. Robinson GIL Service Georgia State University
Data File Access API : Under the Hood Simon Horwith CTO Etrilogy Ltd.
COMP 365 Android Development.  Manages access from a central database  Allows multiple applications to access the same data.
PHP meets MySQL.
Relational Databases Database Driven Applications Retrieving Data Changing Data Analysing Data What is a DBMS An application that holds the data manages.
File Systems (1). Readings r Reading: Disks, disk scheduling (3.7 of textbook; “How Stuff Works”) r Reading: File System Implementation ( of textbook)
Arrays Module 6. Objectives Nature and purpose of an array Using arrays in Java programs Methods with array parameter Methods that return an array Array.
Big Table - Slides by Jatin. Goals wide applicability Scalability high performance and high availability.
Oracle Data Integrator Procedures, Advanced Workflows.
Using Visual Basic for Applications in Microsoft Project Sean Vogel.
Term 2, 2011 Week 1. CONTENTS Problem-solving methodology Programming and scripting languages – Programming languages Programming languages – Scripting.
6 1 Lecture 8: Introduction to Structured Query Language (SQL) J. S. Chou, P.E., Ph.D.
Vectors and Grids Eric Roberts CS 106B April 8, 2009.
Code Viewer Design April 5, Known feature requirements Icons for tree collapse / expand Code ellipsis Subtree highlighting Syntax coloring Multiple.
Calibration and alignment database development Dmitry Romanov December 15, 2010.
C++ Programming Basic Learning Prepared By The Smartpath Information systems
Introducing Python CS 4320, SPRING Lexical Structure Two aspects of Python syntax may be challenging to Java programmers Indenting ◦Indenting is.
Chapter 11 Hash Tables © John Urrutia 2014, All Rights Reserved1.
David Lawrence 7/8/091Intro. to PHP -- David Lawrence.
Perl COEN 351  Thomas Schwarz, S.J Perl Scripting Language Developed by Larry Wall 1987 to speed up system administration tasks. Design principles.
A First Book of C++: From Here To There, Third Edition2 Objectives You should be able to describe: One-Dimensional Arrays Array Initialization Arrays.
©2007 Austin Troy Lecture 7: Introduction to GIS 1.Queries and table operations for a single layer in Arc GIS 2.Intro to queries in Access Lecture by Austin.
“How do I analyze the data?” -- everyone who’s ever analyzed data “How do I access the data?” Analysis Framework.
“How do I analyze the data?” -- everyone who’s ever analyzed data “How do I access the data?” Analysis Framework.
Lecture 25 May 16, Agenda Using JComboBox Class ID3V1_Tag –Using it. –Implementation. Class MP3_File –Dummy Version Quiz.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
Andrea Valassi (CERN IT-DB)CHEP 2004 Poster Session (Thursday, 30 September 2004) 1 HARP DATA AND SOFTWARE MIGRATION FROM TO ORACLE Authors: A.Valassi,
Documenting LabVIEW Data & Data Mining with LabVIEW and DIAdem Presentation with self paced training exercises.
© 2006 Pearson Addison-Wesley. All rights reserved 1-1 Chapter 1 Review of Java Fundamentals.
1 A Very Brief Introduction to Relational Databases.
Oracle Business Intelligence Foundation – Testing and Deploying OBI Repository.
GlueX Software Status + Framework Development David Lawrence JLab September 19, /19/081Software Status -- David Lawrence, JLab.
Level 1-2 Trigger Data Base development Current status and overview Myron Campbell, Alexei Varganov, Stephen Miller University of Michigan August 17, 2000.
1 Configuration Database David Forrest University of Glasgow RAL :: 31 May 2009.
AliRoot Classes for access to Calibration and Alignment objects Magali Gruwé CERN PH/AIP ALICE Offline Meeting February 17 th 2005 To be presented to detector.
Notes for Assignment #2 Assn2: GUI Database Interface Corresponds with Chapters 28, 29, 31.
Introduction to Classes and Objects CS-2303, C-Term C++ Program Structure Typical C++ Programs consist of:– main –A function main –One or more classes.
David Lawrence JLab May 11, /11/101Reconstruction Framework -- GlueX Collab. meeting -- D. Lawrence.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Part VI: Mapping URLs.
A FIRST BOOK OF C++ CHAPTER 7 ARRAYS. OBJECTIVES In this chapter, you will learn about: One-Dimensional Arrays Array Initialization Arrays as Arguments.
DANA David Lawrence Oct. 21, D. Lawrence, JLab GlueX Software Workshop Oct Outline Requirements Philosophy Overview of Features Open Questions.
Java for Beginners Level 6 University Greenwich Computing At School
Connect to SQL Server and run select statements
Calibration database Dmitry Romanov October 6, 2011.
Chapter 9 Designing Databases
Chapter 4 Summary Query.
Chapter 15 Introduction to Rails.
eSeries Entities By Julie Ladner
Login Main Functions Via SAS Information Delivery Portal
Presentation transcript:

Calibration API in JANA David Lawrence, Jlab July 17, 2007

JCalibration -- David Lawrence, JLab2/14 Previous Work Detailed discussions were taking place by May 2005 on the desired feature set for the calibration database A committee was formed consisting of: Nikolay Kolev, Mark Ito, Greg Riccardi, and David Lawrence whose task was to come up with an initial design GlueX-doc 672: “Hall D Calibration Database Table Design and interface” by Nikolay Kolev Nothing was ever implemented into JANA/DANA

July 17, 2007JCalibration -- David Lawrence, JLab3/14 What do we need right now? Invention Necessity What is needed right now is an API with an extensible back end. A trivial back-end can be implemented for the short-term, deferring more complex functions for a later time. The API can allow the reconstruction code to be developed without fear of needing to change it all “later”.

July 17, 2007JCalibration -- David Lawrence, JLab4/14 The API // Get 1-D array of values indexed by name bool GetCalib(string namepath, map &vals) // Get 1-D array of values indexed by row bool GetCalib(string namepath, vector &vals) // Get 2-D table of values indexed by row and name bool GetCalib(string namepath, vector > &vals) // Get 2-D table of values indexed by row and column bool GetCalib(string namepath, vector > &vals) Calibration constants will be accessed through a GetCalib(…) method of the JEventLoop class

July 17, 2007JCalibration -- David Lawrence, JLab5/14 The JCalibration Class An instance of JCalibration represents a single calibration across the entire detector JCalibration objects contain a min and max run number for which they are valid JApplication creates the JCalibration objects as needed and keeps them in a list to service other requests Users typically won’t deal with JCalibration directly, but will access it through JEventLoop

July 17, 2007JCalibration -- David Lawrence, JLab6/14 Specifying the “namepath” The namepath is a single string representing a hierarchical path to a set of named constants. Example: CDC/timewalk/stereo_par

July 17, 2007JCalibration -- David Lawrence, JLab7/14 Accessing the Constants... in factory class definition... vector peds;... in brun() method... loop->GetCalib("FCAL/pedestals", peds);... in evnt() method... hit->ADC -= peds[hit->id];

July 17, 2007JCalibration -- David Lawrence, JLab8/14 Accessing the Constants... in factory class definition... double slope, offset, exponent;... in brun() method... map twpars; loop->GetCalib("FDC/driftvelocity/timewalk_parameters", twpars); slope = twpars["slope"]; offset = twpars["offset"]; exponent = twpars["exponent"];

July 17, 2007JCalibration -- David Lawrence, JLab9/14 File Formats ASCII files should have one “entry” per row Empty lines and lines beginning with “#” are ignored* “Keys” are optional

July 17, 2007JCalibration -- David Lawrence, JLab10/14 Example 1 # This line is a comment and will be ignored # This line will also be ignored Simple 1-D array without keys. Six values will be read from this file and will be indexed by 0-5 if read into a vector or by the strings "0", "1", "2",... if read into a map.

July 17, 2007JCalibration -- David Lawrence, JLab11/14 Example 2 # This line is a comment and will be ignored mean1 37 sigma1 43 offset1 56 mean2 22 sigma2 63 offset2 38 Simple 1-D array with keys. Six values will be read from this file and will be indexed by 0-5 if read into a vector or by the strings "mean1", "sigma1", "offset1",... if read into a map.

July 17, 2007JCalibration -- David Lawrence, JLab12/14 Example 3 #% x z bx bz nx nz Table with keys. In order to specify keys in a table, one uses the special "#%" syntax. When read into a vector >, the white-space-separated values on the #% line are used to index the map part.

July 17, 2007JCalibration -- David Lawrence, JLab13/14 Specifying the Location of the Calibration Database The location is determined by the JANA_CALIB_URL environment variable Example: JANA_CALIB_URL is file:///home/davidl/HallD/calib namepath is FCAL/pedestals Put constants in the file: /home/davidl/HallD/calib/default/FCAL/pedestals

July 17, 2007JCalibration -- David Lawrence, JLab14/14 Summary Support for using calibration constants exists in the latest revision of JANA and can be used right now The API should support a much more advanced calibration database to be implemented in the future