CMS tracker silicon barrel prototype electronic logbook
Introduction
This is about using the Web technology inside the collaboration:
- to collaborate on the project in all its phases from building to
monitoring.
- to share data
The Web offers a a wonderful architecture to collaboration wide applications
since it allows:
- to quickly and easily develop cross-platform applications at low cost
- Easy to use and no need for training!
- html is a far simpler GUI than Motif or Windows. It works with tags easy to
learn instead of complicated library of functions. The interface is rather
limited but for a broad class of applications is good enough.
- html also provides a powerful system to integrate traditional database
applications
- the technology scales gracefully since in case of need, you can set up
many servers working in parallel.
Some guidelines
Today most Web applications run via a mechanism in the Web server called
CGI (Common Gateway Interface). The browser can start a program on the server
(CGI script or program). CGI indicates how data is input to this program
from the browser, and how data comes out from it.
We have a three tiered architecture where the browser comprises the
GUI tier, the Web server is the middle tier containing application
logic with ties to back-end databases; application servers are the third
tier.
Most CGI programs use a scripting language like Perl,TCL or DCL (on vms
platforms) but they can use any language available on the platform where the
server runs.
The main problem in developing Web application is that you must develop
everything in such a way that IT DOESN'T depend on Web features that will be
quickly obsolete. For this reason I have put here some guidelines:
- Separate the HTML user interface from the application and database logic.
- Have only few hand coded HTML pages and the rest should all be created
on-flight from CGI scripts .
- In writing scripts use DCL only for the necessary tasks of extracting input data
from VMS variables . For the rest use normal C,C++ or Fortran programs.
These programs can be more easily ported to other machines.
- Keep the structure of the files which form the database the simplest
possible (Ascii text files). Don't use HTML tags inside them, but if necessary,
use simple tags to separate parts in the file.
- Then use CGI scripts to read the database files and present them in
sophisticated way to the user.
- In order to allow easy processing from CGI scripts of multiple files of
the database use meaningful and consistent names for the single files and
the directories.
- Exploit the openess of Web applications avoiding to hard-code in hundreds
of html pages Web tags that can be outdated in a few months. Instead replace
them with a script in such a way that when you want to change some part
of these documents, you need to change only a few print instructions in this
(unique)script.
- Keep ready for future:(frames,client side clickable images,tables,client
side scripts,Java,etc..)
The distributed data base
Half-module informations
| Hybrid |
Phi side | module id |
problem channels | noise map
|
| Z side | module id |
problem channels | noise map
|
| Wafer |
Phi side |
module id | Operation Voltage | Igr,Vdep |
problem channels | resistance map
| capacitance map
|
| Z side |
module id | Operation Voltage | Igr,Vdep |
problem channels | resistance map
| capacitance map
|
| Assembling | Effective dimensions | Gluing
problems |
| Bonding | shorted and/or disconnected channels | Bonding
problems |
| Performance | Pedestal map
|
noise map
|
S/N distribution | Dead/noisy channels |
This information is
collected by programs.
Features of the data base:
- Distributed in around 5 labs (those who build the detector)
- Contains around 1000 half-modules each with around 1000 channels.
Each half-module
is described by the information contained in the table above.
- Some of the entries for each half-module are single files
containing around 1000 values,one for each channel.
- Other files will be a list of problem channels
- The information concerning performance will change in time:you should
expect here more than one file per module with new files added periodically.
The Web interface to the database
The main page gives
immediate access to all information concerning the half modules of the
prototype from the table. The picture shows the correspondence between
table cells and the modules.For each cell we have the A and B side
half-module.The letters A and B will be connected through hyperlinks to
the page describing the module.
We have to decide for a format for the above information. My suggestion is
to use simple Ascii files like this with lists of numbers also for histograms. These can
be easily transferred and manipulated. These Ascii files are mostly produced
automatically by computer programs.These can vary from lab to lab but they
must in the end produce the same Ascii file. This is then processed by a CGI
script that will produce the module description in Netscape.
The rest of the information is entered manually through a set of standard
Web forms like this.
These will produce a Ascii file containing the information in standard format.
Other Web forms will be necessary to present information which changes in
time and is periodically stored . These script should allow the access to all
history and the possibility to compare data.
Documentation on tracker
Giuseppe Zito
Last modified: 19 Apr 1996.