La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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,

Presentazioni simili


Presentazione sul tema: "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,"— Transcript della presentazione:

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


Scaricare ppt "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,"

Presentazioni simili


Annunci Google