6/1/2000 H. A. Neal 1

The University of Michigan MDT

Production Database

Shawn McKee, Chunhui Han, Homer Neal

ATLAS MDT Site Visit

Ann Arbor

June 1, 2000

 

6/1/2000 H. A. Neal 2

Outline of Presentation

Design Philosophy

• Database Layout

• Tables and Fields Captured

• Data Input Strategies

• Analysis and monitoring

• Comparison of RDB and OO approaches

• Demonstration of package

Reference: http:// atwww .physics. lsa . umich . edu / aspdb /um_db.asp

 

6/1/2000 H. A. Neal 3

n We will collect and store every piece of data that is known to bear

directly on the principal physics performance of the muon chamber

n We will collect and store chamber

production data related to the

raw material parameters, production conditions and produc tion procedures, including all information required by the ATLAS - wide muon coordinating groups.

n We will automate each and every measurement possible. Each

manual entry of a measured quantity to our database

must be

justified and approved by the MDT group.

n The database is to be available to any authorized user via the web.

That is, a key member of the UM - MDT group should be able to

log on to the web anywhere in the world and, after sufficient

authorization checks, have the same functionality as if he or she

was in the production lab.

Database Design Philosophy

 

6/1/2000 H. A. Neal 4

n The initial database application package will be based upon

Microsoft ACCESS.

n An ACCESS database, or whatever other application is specified by

ATLAS, will be explicitly maintained to provide an interface to the

ATLAS MDT global database.

n Whenever possible , the database structure, even though relational in

basic character, will be developed in full recognition of the current

features of object oriented databases. This is done because of known

benefits for OO databases, because we know the ultimate ATLAS

eve nt storage paradigm will be that of OO databases, and because of

the likelihood that database migration of the future will probably be

toward OO databases.

Design Philosophy - continued

 

6/1/2000 H. A. Neal 5

The structure of the production database reflects the current measurement procedures.

All the measurements are carried out in eight main “stations”:

1) Wiring Station

2) Leak Checking Station

3) Dark Current Station

4) Cosmic Ray Station

5) X - ray Station

6) Emmi Station

7) R esistance Station

8) Frequency Station

As the name suggests, each station carries out one specific task. Each station is manned

with one to two operators. Each station generates separate text data files, which will be

processed by Perl programs to input data into the database.

UM MDT Production Stations

 

6/1/2000 H. A. Neal 6

Table 1: WirOperation ________________________________ _________________ 33

Table 2: Wirrun ________________________________ _____________________ 33

Table 3: Wirparam ________________________________ ___________________ 34

Table 4: Leakchkoperation ________________________________ ______________ 34

Table 5: Leakchkrun ________________________________ __________________ 34

Table 6: Leakchkparam ________________________________ ________________ 35

Table 7: Dcoperation ________________________________ __________________ 35

Table 8: Dcrun ________________________________ ______________________ 35

Table 9: Dcparam ________________________________ ____________________ 35

Table 10: Croperation ________________________________ _________________ 36

Table 11: Crrun ________________________________ _____________________ 36

Table 12: Crparam ________________________________ ___________________ 36

Table 13: Xrayoperation ________________________________ ________________ 38

Table 14: Xrayrun ________________________________ ___________________ 38

Table 15: Xrayparam ________________________________ _________________ 38

Table 16: Emmioperation ________________________________ _______________ 39

Table 17: Emmirun ________________________________ ___________________ 39

Table 18: Emmiparam ________________________________ _________________ 39

Table 19: Resistoperation ________________________________ _______________ 40

Table 20: Resi strun ________________________________ ___________________ 40

Table 21: Resistparam ________________________________ _________________ 40

Table 22: Freqoperation ________________________________ ________________ 40

Table 23: Freqrun ________________________________ ____________________ 41

Table 24: Freqparam ________________________________ __________________ 41

T able 25 ________________________________ __________________________ 42

Table 26 43

List of Tables in Tube Production Database

 

6/1/2000 H. A. Neal 7

Crparam Parameter Point

Crgasmix Gas Mixture Percentage Of Each Gas

Crgaspurityar Argon Purity Code

Crgasco2 Co2 Purity Code

Atmprsmin Minimum Atmospheric Pressure During Run

Atmprsmax

Maximum Atmospheric Pressure During Run

(Mbar)

Hvop Operational Hv (Depending From Gas Mixture)

Prsinmin Minimum Input Pressure During Run (Psi)

Prsinmax Maximum Input Pressure During Run (Psi)

Prsoutmin Minimum Output Pressure During Run (Psi)

Prsoutmax Maximum Output Pressure During Run (Psi)

Tempmin Minimum Temperature During Run (K)

Tempmax Maximum Temperature During Run (K)

Threshold Tdc Discriminator Threshold (Mv)

Tdcgain Nominal Tdc Gain

Adcgain Nominal Scanning Adc Gain

Example of Parameter table: Table Crparam

 

6/1/2000 H. A. Neal 8

Id Primary Key

Idtube Tube Id From Barcode

Tubeend Which Tube End Is Being Measured (N Or S)

Xraydy Measured Offset In “Y” Direction (Microns)

Xraydz Measured Offset In “Z” Direction (Microns)

Xraydy180

Measured Offset In “ Y 180 Degrees” Direction

(Microns)

Xraydz180

Measured Offset In “ Z 180 Degrees” Direction

(Microns)

Xrayoff Measured Radial Offset (Microns)

Xraydt Timestamp For Measurement

Xrayrun Pointer To Xray Run Number

Example of Operation Table: Table Xrayoperation

 

6/1/2000 H. A. Neal 9

Freqparam Parameter Pointer

Freqdrive Driving Frequency For Wire Tension Test (Hz)

Freqpuldur Driving Frequency Pulse Duration (S)

Freqwait Waiting Time After Driving Pulse (S)

Freqsamp

Sampling Frequency For Tension Determination

(Khz)

Example of Paramter Table: Table Freqparam

 

6/1/2000 H. A. Neal 10

Idtube Tube Id

Scode Status Code For The Tube

Darkcurave Average Dark Current

Dccnt Measurement Count In Dc Station

Leakdt Timestamp For Leak Check

Leakrate Gas Leak Rate

Lccnt Measurement Count In Leakchk Station

Resistdt Timestamp For Resistance Measurement

Resistn

Resistance Measurement 1 End-Plug To Tube, North-

End

Resists

Resistance Measurement 1 End-Plug To Tube, South-

End

Rcnt Measurement Count In Resist Station

Wirstartdt Timestamp For Wiring Measurement

Tubelencode Barcode Of Tube Length (Mm)

Tubelen Measured Tube Length (Mm)

Wirfreq Measured Wire Frequency (Hz) Just After Wiring

Tension Inferred Wire Tension (G) Just After Wiring

Wcnt Measurement Count At Wir Station

Freq Frequency (Hz) During Remeasurement

Freqdt Timestamp For Frequency Remeasurement

Freqtemp Temperature (C) During Frequency Remeasurement

Fcnt Number Of Frequency Remeasurements

Xraydts Timestamp For Xray Measurement, South-End

Xrayoffs Measured Radial Offset (Microns), South-End

Cnts Measurement Count At Xray Station, South-End

Xraydys Y Offset On Tube South End (Microns)

Xraydzs Z Offset On Tube South End (Microns)

Xraydtn Timestamp For Xray Measurement, North-End

Xrayoffn Measured Radial Offset (Microns), North-End

Cntn Measurement Count At Xray Station, North-End

Xraydyn Y Offset On Tube North End (Microns)

Xraydzn Z Offset On Tube North End (Microns)

Summary

Table

 

6/1/2000 H. A. Neal 11

 

6/1/2000 H. A. Neal 12

One nice aspect of Perl is its hash variable types, which are well meshed to database tables, fields and

values. For example, if we have a table in ACCESS called ResistOperation with 4 fields :

IdTube, ResistN, ResistS and ResistDate , we can easily mimic this in Perl with a

hash data type:

$ResistOperation{IdTube} = 1;

$ResistOperation{ResistN} = 0.001;

$ResistOperation{ResistS} = 0.002;

$ResistOperation{ResistDate} = “8/18/99 12:43”;

We could then create a new record in ACCESS for this table with the following code:

$Table = “ResistOperation”;

$istat = CreateRecord($Table,\%ResistOperation);

if (!$istat){print “CreateRecord failed with $istat\n”}

It is important to note that we don’t have to input every field of a table in this call…only the ones we

have data for or have chosen to fill.

PERL and its use in modifying ACCESS Tables

 

6/1/2000 H. A. Neal 13

1.1.1 AN EXAMPLE OF A PAW ANALYSIS SESSION.

We show an example of using the downloaded Summary_Table.rz file inside PAW using the

Windows NT version. We first “double-click” on PawNT.exe in our \cern\bin directory and hit

enter at the workstation type request:

Figure 1 Example of PAW command window using WinNT

The “set 2buf 11” is to implement “backing-store” which saves any graphics in the HIGZ window if

they become covered by other windows. We then open the ntuple file and print the contents:

‘PAW> H/FILE 25 Summary_Table.rz’,

‘PAW> NT/PRINT 1’

See the plot on the next page for the NTUPLE contents. We now prepare to plot some data by

executing a local PAW setup file and then create a plot.

‘PAW> EXEC Setup.kumac’

‘PAW> NT/PLOT 1.TubeLen-TubeLenc-23.15%WirStart abs(TubeLen-TubeLenc-23.15)<5’

Example of

the Use of

the

Database to

Generate

NTUPLE,

which is

picked up

and

processed

by PAW

 

6/1/2000 H. A. Neal 14

 

6/1/2000 H. A. Neal 15

 

6/1/2000 H. A. Neal 16

Example

of Plots

Prepared

Nightly as

Database

is Updated

 

6/1/2000 H. A. Neal 17

 

6/1/2000 H. A. Neal 18

“Universal Data Access is Microsoft’s strategy for providing access to information across the

enterprise. … Universal Data Access provides high-performance access to a variety of information

sources, including relational and non-relational, and an easy to use programming interface that is

tool and language independent.”

Since we are using ACCESS on a Microsoft platform we have chosen to utilize Microsoft’s MDAC

(Microsoft Data Access Components) to enable Universal Data Access. These components include

ActiveX Data Objects (ADO), Remote Data Service , (RDS, formerly known as Advanced Database

Connector or ADC), OLE DB , and Open Database Connectivity (ODBC).

Sharing the Data with Various Applications

 

6/1/2000 H. A. Neal 19

WWW Access

ASP (Active Server Page) was chosen as our primary web publishin g

tool

• ASP is Microsoft’s latest server - based technology to create interactive

HTML pages for a www site

• We used a freeware version -- ASP - db, which publishes our database

to www

• The following slide shows the complete code to access any table in the

database

 

6/1/2000 H. A. Neal 20

For general access to our production database we have found an ASP based product which quickly

and easily “publishes” our database to the WWW: ASP-db. There is a free version available for

download from http://www.aspdb.com and commercial versions of varying capability for purchase.

To demonstrate how easy it is to accomplish this task, here listed below is the complete code to

access to any table in our production database, as well as filtering and download options:

<% Response.Buffer = True %>

Welcome to the UM ATLAS Production Database Page.

<%

Set MyDb=Server.CreateObject("ASPdb.Free") ' Create the ASP-db object

MyDb.dbQuickProps="1;UM_DB;*;grid;4,auto,lightgrey" ' Set its std prop.

MyDb.dbDBType = "SQL" ' It is an SQL database

MyDb.dbNavigationItem =

"top,prev,next,bottom,gridrow,filter,download,color,reload"

MyDb.aspdbfree ' Display it!

%>

Publishing a Database to the Web

 

6/1/2000 H. A. Neal 21

Back to top