Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoFillipo Murgia Modificato 10 anni fa
1
1 Simulazione, Ricostruzione e analisi degli eventi in Object Oriented in B A B AR Luca Lista INFN Napoli I Workshop sul Software e Calcolo moderno Napoli, 6-7 febbraio 1997
2
Napoli, 6/2/1997Luca Lista2 Il rivelatore B A B AR n rivelatore di vertice con 5 strati di silicio n camera a deriva n identificazione di particelle Cerenkov (DIRC) n calorimetro a cristalli di CsI rivelatore di e adroni neutri (K 0 L ) con piani di RPC (IFR) rivelatore di e adroni neutri (K 0 L ) con piani di RPC (IFR)
3
Napoli, 6/2/1997Luca Lista3 B A B AR
4
Napoli, 6/2/1997Luca Lista4 Caratteristiche della presa dati n B A B AR comincerà la presa dati nel 1999 n 2 kHz al trigger di livello 1 n 50 Mbyte/sec alla farm di livello 3 n circa 100 Hz (2.5Mbyte/sec) di frequenza di registrazione di eventi n 10 9 eventi/anno (25Tbyte/anno di raw data)
5
Napoli, 6/2/1997Luca Lista5 Obiettivi del software offline n funzionante nel 1999 per analizzare i primi dati n deve garantire efficienza e funzionalità su unelevata mole di dati n deve garantire la mantenibilità, stabilità aggiornabilità per > 10 anni
6
Napoli, 6/2/1997Luca Lista6 Condizioni di lavoro n lavorare in una B factory impone: !il riprocessamento dei dati non può essere frequente & la ricostruzione deve garantire una elevata affidabilità & necessari assicurare il controllo della qualità dei dati ricostruiti
7
Napoli, 6/2/1997Luca Lista7 Condizioni di sviluppo codice n il software di B A B AR viene sviluppato da molte persone in Europa ed America n è necessario curare gli strumenti di distribuzione e sviluppo del codice (luso della rete è fondamentale) n è necessario curare il design del software (non basta che il C++ compili...)
8
Napoli, 6/2/1997Luca Lista8 Strumenti tradizionali in alte energie n FORTRAN 77 n estensioni per emulare la gestione dinamica della memoria !banche ZEBRA n gestione del codice !PATCHY, HISTORIAN... n CERNLIB, HBOOK, PAW, GEANT,...
9
Napoli, 6/2/1997Luca Lista9 Evidenti limiti del FORTRAN 77 n allocazione dinamica della memoria (ZEBRA) e puntatori n dichiarazione dei tipi implicita (IMPLICIT NONE) n limite delle 72 colonne (schede perforate!!) !già diverse caratteristiche del C superano da tempo questi limiti n Inadeguatezza al design e alla gestione della complessità
10
Napoli, 6/2/1997Luca Lista10 Alcuni principi di design design del codice n cercare la fattorizzazione in elementi semplici di un problema complesso n separare interfaccia e implementazione n raggruppare il codice comune e riutilizzarlo n fornire gli strumenti di base n fornire potenti classi di dati astratte n (Molte cose che già avete ascoltato...)
11
Napoli, 6/2/1997Luca Lista11 B A B AR è il primo esperimento ad applicare la tecnologia OO su larga scala n (quasi) tutto il codice che viene attualmente sviluppato è in C++ n gran parte della simulazione resta in FORTRAN 77 (GEANT 3)
12
Napoli, 6/2/1997Luca Lista12 Fortran e C++
13
Napoli, 6/2/1997Luca Lista13 Fortran e C++
14
Napoli, 6/2/1997Luca Lista14 Fortran e C++
15
Napoli, 6/2/1997Luca Lista15 Fortran e C++
16
Napoli, 6/2/1997Luca Lista16 Uso di librerie standard n CLHEP !manipolazione di vettori e matrici !geometria nello spazio !algebra di Lorentz n HepTuple n Rogue Wave Tools.h++ (commerciale) !liste, container e iteratori, manipolazione di stringhe di caratteri,... n Standard C++ Library ?
17
Napoli, 6/2/1997Luca Lista17 Data Base e mass storage n accesso efficiente e rapido ai dati n possibilità di non leggere tutte le informazioni di un evento n... è Objectivity (RD45)
18
Napoli, 6/2/1997Luca Lista18 Struttura del software di B A B AR Simulazione Veloce Aslund Aslund Simulazione Completa bbsim bbsim Geant4 Geant4 InterfacciaBetaInterfacciaBeta DigitizzazioneDigitizzazione RicostruzioneRicostruzione B A B AR AnalisiAnalisi F77F77 C++C++
19
Napoli, 6/2/1997Luca Lista19 Oggetti n Gli oggetti modellizzano parte dei dati con le loro funzionalità e le interfaccie a come manipolarli n Molto più efficaci di banche di dati in FORTRAN
20
Napoli, 6/2/1997Luca Lista20 Tracking AbsRecoTrackAbsRecoTrack AbsTrackFitterAbsTrackFitter A AbsTrkRepAbsTrkRep A TrkSimpleHelixTrkSimpleHelix HepAList<AbsHitOnTrack>HepAList<AbsHitOnTrack> AbsHitOnTrackAbsHitOnTrack A TT
21
Napoli, 6/2/1997Luca Lista21 Oggetti e Moduli frDigi IfrDigi MakeIfrClusters IfrCluster EmcCluster MakeNeutralHad NeutralHadron
22
Napoli, 6/2/1997Luca Lista22 Moduli e Framework I moduli sono animati dal Framework I moduli sono animati dal Framework n supporto per lI/O n interfaccia interattiva (Tcl) void begin(AppRun*); void begin(AppRun*); void begin(AppJob*); void begin(AppJob*); AbsEvent* event(AbsEvent*); AbsEvent* event(AbsEvent*); void end(AppJob*); void end(AppJob*); void end(AppRun*); void end(AppRun*); void abort(AppJob*); void abort(AppJob*); void help(); void help();
23
Napoli, 6/2/1997Luca Lista23 Framework AppModule AppFramework AbsEvent Module_1 Module_2 0..n0..n TclFramework A
24
Napoli, 6/2/1997Luca Lista24 la classe classe AbsEvent n permette laccesso a tutti i dati di un evento HepAList *gTrackList = anEvent- >getGTrackAList(); HepAList *gTrackList = anEvent- >getGTrackAList(); (Modifica del design in corso!) (Modifica del design in corso!) n nasconde linterfaccia con lI/O (file sequenziale o database OO) n separare il problema dellI/O dallo sviluppo delle classi dei dati
25
Napoli, 6/2/1997Luca Lista25 Beta: interfaccia allanalisi n Beta rappresenta linterfaccia ai dati per lanalisi n fornisce potenti strumenti per lanalisi n oggetti Beta sono generati da diversi programmi (Aslund, bbsim, ricostruzione...) n analisi scritte oggi in Beta, basate sulla simulazione veloce, potranno funzionare sui dati veri senza cambiare una riga di codice
26
Napoli, 6/2/1997Luca Lista26 Oggetti in Beta n BtaCandidate n BtaOperator n BtaFinder n BtaAssociator
27
Napoli, 6/2/1997Luca Lista27 BtaCandidate HepLorentzVector HepLorentzVector p4(); Hep3Vector Hep3Vector p3(); double double charge(); mass(); BtaAbsVertex* BtaAbsVertex* decayVtx(); PdtEntry* PdtEntry* pdtEntry();...... n Relazione n Relazione madre-figlio
28
Napoli, 6/2/1997Luca Lista28 BtaOperator BtaOpAdd4 BtaOpAdd4 !somma i 4-momenti e le cariche BtaOpVertex BtaOpVertex !combina i vertici n fit con vincoli di massa, etc.
29
Napoli, 6/2/1997Luca Lista29 Esempi di uso di BtaOperator BtaCandidate BtaCandidate trk1, trk2; BtaOpVtx BtaOpVtx o; BtaCandidate BtaCandidate trkNew = o.combine(trk1,tr k2); trkNew trkNew ha il vertice proveniente dal fit di trk1 trk1 e trk2
30
Napoli, 6/2/1997Luca Lista30 BtaFinder HepAList HepAList list; BtaV0Finder BtaV0Finder k0s(list,.420,.540); psis(list, 2.8, 3.4); analogamente analogamente avremo, finder di,, K *, K *, D, B, etc.
31
Napoli, 6/2/1997Luca Lista31 BtaAssociator BtaAslMcAssoc BtaAslMcAssoc !Monte Carlo truth (package PDT) n Collegamenti MonteCarlo - Particelle ricostruite
32
Napoli, 6/2/1997Luca Lista32 Conclusioni n nonostante... !la conoscenza delle tecniche OO non è ancora molti diffusa, !è difficile coinvolgere nuove persone, !non tutti i tools classici sono disponibili in C++, n la scelta del C++ / Object Oriented sta mostrando notevoli vantaggi
33
Napoli, 6/2/1997Luca Lista33 Fine
34
Napoli, 6/2/1997Luca Lista34
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.