Скачать презентацию Sy Sal Analysis tools Status and outlook Cristiano Скачать презентацию Sy Sal Analysis tools Status and outlook Cristiano

4b47edb8b34358c8efd4781da08fe350.ppt

  • Количество слайдов: 18

Sy. Sal Analysis tools: Status and outlook Cristiano Bozza Salerno Emulsion Group Bern, March Sy. Sal Analysis tools: Status and outlook Cristiano Bozza Salerno Emulsion Group Bern, March 2004

Software architecture basics Platform. NET (Windows), Mono (Linux) Most class libraries and executables do Software architecture basics Platform. NET (Windows), Mono (Linux) Most class libraries and executables do not need OS-specific binaries Languages Most code is written in C# Libraries can be used by programs in any. NET-supported language: C++, C#, BASIC, FORTRAN, . . . No recompilation or adaptation required Why this choice? In the real OPERA data-taking, quasi-on-line analysis will be needed to drive the microscopes Dedicated servers will run automated, distributed analysis tasks A natural framework for distributed computing is needed . NET / Mono

Software architecture overview Basic libraries Sy. Sal. Core, Imaging, Tracking 2, Scanning 2, Volume. Software architecture overview Basic libraries Sy. Sal. Core, Imaging, Tracking 2, Scanning 2, Volume. Tracks Basic classes libraries Numerical. Tools, Math. Expression Common numerical operations and a powerful math parser Most commonly used computation libraries Quick. Mapper, Stripes. Frag. Link 2, Alpha. Omega. Reconstruction Pattern matching, fragment linking, volume alignment and vertex-track topological tree reconstruction Additional libraries Volume. Generation Customizable generation of vertex-track trees in a background of passing-throughs and uncorrelated tracks (Compton electrons, delta rays, etc. . . )

Software architecture overview Data analysis libraries Graphical. Analysis Produces several statistical plots that can Software architecture overview Data analysis libraries Graphical. Analysis Produces several statistical plots that can be displayed or saved to a file in several popular formats (GIF, JPEG, EPS) Statistical. Graphics Passive GUI control that can be placed into user applications Statistical. Analysis. Manager Active GUI control that can be placed into user applications Manages several datasets, applies cuts, adds variables, etc. . .

Software architecture overview I/O libraries Scanning 2 and Volume. Tracks support file-based persistence for: Software architecture overview I/O libraries Scanning 2 and Volume. Tracks support file-based persistence for: Sy. Sal. Scanning. Plate. IO. Opera. Linked. Zone Sy. Sal. Scanning. Plate. IO. Opera. Raw. Data. Catalog Sy. Sal. Scanning. Plate. IO. Opera. Raw. Data. Fragment Sy. Sal. Total. Scan. Volume Opera. DB supports Opera DB - based persistence for Sy. Sal. Opera. Db. Scanning. Linked. Zone Sy. Sal. Opera. Db. Total. Scan. Volume + Sy. Sal. Opera. Db. Scanning. Batch Sy. Sal. Opera. Db. Computing. Infrastructure. User. Permission Sy. Sal. Opera. Db. Computing. Infrastructure. Machine Sy. Sal. Opera. Db. Computing. Infrastructure. Program. Settings

Software architecture overview Support for Opera Emulsion Scanning DB Level 1 Opera. Db. Connection, Software architecture overview Support for Opera Emulsion Scanning DB Level 1 Opera. Db. Connection, Opera. Db. Command, Opera. Db. Data. Adapter to issue SQL commands Level 2 Linked. Zone, Volume, Program. Settings used for storage/retrieval Level 3 Integrated Oracle-OPERA-OS authentication (Opera. Db. Login. Tools) Level 4 File paradigm for DB operations (Opera. Persistence)

Software architecture overview Support for Opera Emulsion Scanning DB Level 1 C# Opera. Db. Software architecture overview Support for Opera Emulsion Scanning DB Level 1 C# Opera. Db. Connection conn = new Opera. Db. Connection(“operadbsrv. mydomain. eu”, “user”, “pwd”); conn. Open(); Data. Set ds = new Data. Set(); Opera. Db. Data. Adapter da = new Opera. Db. Data. Adapter(“SELECT DOWNSTREAMSLOPEX, DOWNSTREAMSLOPEY FROM TB_VOLUMETRACKS”, conn, null); da. Fill(ds); int i; for (i = 0; i < ds. Tables[0]. Rows. Count; i++) { Console. Write. Line(“{0} {1}”, ds. Tables[0]. Rows[i][0]. To. String(), ds. Tables[0]. Rows[i][1]. To. String()); } conn. Close(); C++ Opera. Db. Connection *conn = new Opera. Db. Connection(“operadbsrv. mydomain. eu”, “user”, “pwd”); conn->Open(); Data. Set *ds = new Data. Set(); Opera. Db. Data. Adapter *da = new Opera. Db. Data. Adapter(“SELECT DOWNSTREAMSLOPEX, DOWNSTREAMSLOPEY FROM TB_VOLUMETRACKS”, conn, 0); da->Fill(ds); int i; for (i = 0; i < ds->Tables[0]->Rows->Count; i++) { Console: : Write. Line(“{0} {1}”, ds->Tables[0]->Rows[i][0]->To. String(), ds->Tables[0]->Rows[i][1]->To. String()); } conn->Close();

Software architecture overview Support for Opera Emulsion Scanning DB Level 2 C# Opera. Db. Software architecture overview Support for Opera Emulsion Scanning DB Level 2 C# Opera. Db. Connection conn = new Opera. Db. Connection(“operadbsrv. mydomain. eu”, “user”, “pwd”); conn. Open(); Linked. Zone lz = new Linked. Zone(2767, conn, null); conn. Close(); C++ Opera. Db. Connection *conn = new Opera. Db. Connection(“operadbsrv. mydomain. eu”, “user”, “pwd”); conn->Open(); Linked. Zone *lz = new Linked. Zone(2767, conn, 0); conn->Close(); The library takes care of issuing all the proper SQL commands to retrieve a specific complex object from the DB

Software architecture overview Support for Opera Emulsion Scanning DB Level 3 C# Opera. Db. Software architecture overview Support for Opera Emulsion Scanning DB Level 3 C# Opera. Db. Connection conn = Opera. Db. Credentials. Create. From. Record(). Connect(); conn. Open(); Linked. Zone lz = new Linked. Zone(2767, conn, null); conn. Close(); C++ Opera. Db. Connection *conn = Opera. Db. Credentials: : Create. From. Record()->Connect(); conn->Open(); Linked. Zone *lz = new Linked. Zone(2767, conn, 0); conn->Close(); The user doesn’t need to supply the username/password pair for Oracle login: they are recorded in an encrypted file

Software architecture overview Support for Opera Emulsion Scanning DB Level 4 – in a Software architecture overview Support for Opera Emulsion Scanning DB Level 4 – in a program Linked. Zone lz = (Linked. Zone)Opera. Persistence. Restore(“db: 2354. tlg”, typeof(Linked. Zone)); The Opera. Persistence library takes care of discriminating between DB references and files. DB objects have a virtual file path. Opera. Persistence automatically logs onto the DB when needed. Level 4 – OS shell C: > Opera. Copy db: 2354. tlg c: myfile. tlg It is possible to treat DB objects as if they were files in a generalized file system. (Opera. Persistence implements a GUFS: Grand-Unified File System. . . ) Opera. Persistence automatically logs onto the DB when needed. If a program is able to work with data files, it is immediately able to work with an OPERA DB This cannot replace smart use of DB, i. e. ability to extract only the interesting information units (e. g. a single base track for scanback)!!!

Software applications Ready-made programs Easy. Link. NET – GUI interactive utility for fragment linking Software applications Ready-made programs Easy. Link. NET – GUI interactive utility for fragment linking Easy. Reconstruct – GUI interactive utility for volume alignment, vertex detection, topology reconstruction, interactive display and alignment data analysis Quick. Data. Check – GUI interactive data analysis program that natively supports TLGs, RWDs, TSRs as well as ASCII n-tuples TLGSel* – Command-line program that extracts subsets of tracks from a TLG file Batch. Link* – Command-line program that links fragments, and optionally performs automatic shrinkage correction and camera spot elimination Batch. Reconstruct* – Command-line program that performs alignment, vertex detection and topology reconstruction ASCII 2 TLG – Command-line utility that builds a TLG from n-tuples Qmap* – Command-line track pattern-matching utility Opera. Copy* – shell executable that copies objects between the file system and the DB Opera. Db. Zone. Loader – GUI interactive utility that loads linked zones into the DB * = supports Opera. Persistence “Grand-Unified File System”

Software applications Quick. Data. Check Produces several plots and fits Easy to use, high Software applications Quick. Data. Check Produces several plots and fits Easy to use, high interactivity

Software applications Easy. Link Interactive fragment linking tool Software applications Easy. Link Interactive fragment linking tool

Software applications Easy. Reconstruct Interactive alignment + analysis + vertex / topology reconstruction Software applications Easy. Reconstruct Interactive alignment + analysis + vertex / topology reconstruction

Software applications Batch. Link Automatic shrinkage correction (“beam-like” precondition is not required) Software applications Batch. Link Automatic shrinkage correction (“beam-like” precondition is not required)

Software applications Coming soon Batch. Intercalibrate – Command-line program that computes the intercalibration parameters Software applications Coming soon Batch. Intercalibrate – Command-line program that computes the intercalibration parameters from tracks and generates a new mark map in the intercalibrated reference frame Batch. Plot – Command-line program that generates analysis plots for automatic data monitoring “Driver programs” are also under development: Free scanning and automatic fragment linking Vertex location (includes scanning, linking, intercalibration, alignment and vertex detection) Vertex selection Brick management in a scanning cluster Scanning cluster management

Software development Recent improvements of Sy. Sal. NET algorithms Vertex reconstruction in Alpha. Omega. Software development Recent improvements of Sy. Sal. NET algorithms Vertex reconstruction in Alpha. Omega. Reconstruction is being extensively tested and validated. Memory and network management in Stripes. Frag. Link 2 has been improved to work in extreme conditions (high density and areas > 30 cm 2, multi-GB datasets easily handled) Work on these tools has been triggered by the vertex location test An ideal playground to set up and test methods, precisions and strategies for OPERA!

Next future The software is improving very steadily towards its final shape In OPERA Next future The software is improving very steadily towards its final shape In OPERA we will have: • Lower background • Smaller data sets • easier than now! “Stay tuned!”. . . new developments are coming soon. . .