Luca Lista Software di ricostruzione OO in BaBar Luca Lista INFN, Sezione di Napoli II Workshop sul Software e Calcolo moderno, Perugia, 15-17 giugno 1998.

Slides:



Advertisements
Presentazioni simili
Progettazione dei Sistemi Interattivi (A.A. 2004/05) - Lezione 2 1 Progettazione e Sviluppo di Software ad Oggetti 4 OBJECT-ORIENTED ANALYSIS Processo.
Advertisements

Fisica Subnucleare – Esperimento ATLAS
Introduzione al C++ e alla programmazione ad oggetti Corso Specialistico CNTC Bologna, febbraio 2001 Andrea Dell’Acqua e Claudio Grandi.
Run I Distribuzione inclusive di Min Bias (Mult. Carica, Pt). Correlazioni dello stato finale ( -Mult) + mini-jet (soft hard physics). Campioni utilizzati:
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
La SistanCommunity Presentazione Portale del Sistan - LA RETE E IL TERRITORIO Luciano Fanfoni | Istat.
Algoritmi e Programmazione
FRED Pensieri notturni di un pessimista R.Giannitrapani Udine, 11 marzo 2004.
1 14. Verifica e Validazione Come assicurarsi che il software corrisponda alle necessità dellutente? Introdurremo i concetti di verifica e validazione.
Modello di simulazione
23/01/01Alberto Masoni – GR1 - Roma1 I MODELLI DI CENTRI REGIONALI POSIZIONE DI ALICE ITALIA CENTRO ITALIANO: CPU 450 KSI95, DISCO 400 TB (INSIEME TIER-1.
Padova 15 Marzo 2005 Masterclasses 2005Flavio Dal Corso Preparazione agli esercizi 1° esercizio: misura dei rapporti di decadimenti della Z°. Un po di.
Analisi dettagliata e design B. Pernici M.G. Fugini AA
File.
ALICE-Italia: IL CALCOLO
Alessandra Doria III Workshop Software e Calcolo Moderno Martina Franca Ottobre 1999 La presentazione degli istogrammi nel sistema di Monitoring.
Introduzione alle attivita Software e Computing di Atlas Napoli M. Biglietti – G. Carlino – F. Conventi - A. Doria – L. Merola - A. Migliaccio Software:
1 La farm di ATLAS-Napoli 1 Gb/s 7 nodi con 2 CPU PIII a 1 GH, RAM 512 MB, 2 schede di rete a 100 Mb/s. Server con 2 CPU PIII a 1 GH, RAM 1 GB, 2 schede.
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,
L.Lista Design P atterns Luca Lista. L.Lista Design Patterns Elementi di software OO riutilizzabile Piccoli insiemi di classi che collaborano implementando.
Ricostruzione e visualizzazione di raggi cosmici nei rivelatori MDT
Silvia Arcelli 1 Metodi di Ricostruzione in fisica Subnucleare Corso di Metodologie Informatiche Per la Fisica Nucleare e Subnucleare A.A. 2009/2010 I.
ATLAS Muon Trigger Slice Francesco Conventi per il gruppo sw ATLAS/Napoli Riunione Gruppo1, Napoli 17/12/2007.
D2I - Tema 3: Data Mining Stato di avanzamento Roma 11/10/2002.
per la Collaborazione BaBar
LA CATENA DI ACQUISIZIONE DI (2.0 version). La catena di acquisizione... La catena di acquisizione del tracker: JINJ 192 LADDERS... 8 PIANI 8 JINF 24.
Palau, 30 Settembre 2008 IV Convegno Nazionale sulla Fisica di ALICE Muoni cosmici: alcuni risultati preliminari per il rivelatore TOF A. De Caro per il.
Software per il b-tagging Gabriele Segneri Firenze, 16 Gennaio 2003.
Universita' degli Studi di Torino Studio della reazione pp qqW L W L qq qq al rivelatore CMS ad LHC Gianluca CERMINARA.
Il software delle DT Attività in corso Stato della simulazione e ricostruzione hit in ORCA Calibrazione Validazione con dati di Testbeam Testbeam Ottobre.
Btag phisics object group Andrea Bocci Scuola Normale Superiore e INFN, Pisa CMS Italia 2007 – 13 Febbraio.
Physics Analysis Tools Luca Lista INFN. Physics Analysis Tools Luca Lista INFN.
Perchè iniziare un lavoro di simulazione Codice scelto
Rivelazione e misura di mesoni 0 con il rivelatore ICARUS T600 A. Menegolli – Collaborazione ICARUS A. Menegolli – Collaborazione ICARUS Università degli.
Lima 3D FASE 1 Durata: 1 mese (avviamento del progetto) FASE 2
Programmazione ad oggetti per la simulazione numerica di strutture su grande scala dellUniverso di Daniele Giunchi Relatore: Prof. Antonio Messina.
Sviluppi futuri del software per il test-beam V.Ciulli Riunione TISB PISA 2004.
TEST PRELIMINARI SULL’IMPIEGO DEL TOOLKIT GEANT4 IN CAMPO MEDICO
Introduzione alla programmazione Object Oriented
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Rivelazione e misura di mesoni 0 con il rivelatore ICARUS T600 A. Menegolli – Collaborazione ICARUS A. Menegolli – Collaborazione ICARUS Università degli.
Comportamento di un modulo “Silicon Strip Detector” dell'esperimento Alice: simulazione e prove con particelle minimo ionizzanti Federica Benedosso Trieste,
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 -I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
INFN-BOLOGNA-T3 L. Rinaldi I siti Tier-3 nel modello di calcolo di Atlas Configurazione del sito INFN-BOLOGNA-T3 Attività di Analisi e Produzione Attività.
TESI DI LAUREA STUDIO DI UN NUOVO ALGORITMO DI TRIGGER SUI VERTICI SECONDARI PER L’ESPERIMENTO BTeV AL FERMILAB STUDIO DI UN NUOVO ALGORITMO DI TRIGGER.
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
Analysis unibo una proposta. Work flow di una tipica analisi 1.Simulazione di piccoli campioni di eventi per studio segnale 2.Generazione in grande.
Misura di elettroni di bassa energia in ICARUS T600 Alessandro Menegolli – ICARUS Collaboration Dipartimento di Fisica Nucleare e Teorica, Universita`
1 TrigMoore: Presente e Futuro. 2 Moore e MuId sono stati adattati per funzionare nel framework di HLT Due modalità di funzionamento: Wrapped : pieno.
Ricostruzione dei muoni: Stato e piani futuri. Roma, 13 settembre 2001 Gruppo Moore Gruppo 1 Premesse Nel panorama della ricostruzione dei muoni il package.
Opzioni tecnologiche per l’elettronica di front-end del Gigatracker Angelo Rivetti – INFN Sezione di Torino.
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
Attivita' Grid in BaBar Workshop sulle Problematiche di Calcolo e Reti nell'INFN Maggio 2004.
Perugia - 12 novembre 2002 M. Morandin - INFN Padova Budget calcolo Babar 2003 e contributo INFN.
L.Lista, V. Innocente Design P atterns Luca Lista, Vincenzo Innocente.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Luca Lista - Capri /04/2003 Nuovo Computing Model L. Lista.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Università di Pavia Dipartimento di Fisica Nucleare e Teorica 17 Dicembre 2004 Alessandro Menegolli Dottorato di Ricerca, XVIII ciclo L’esperimento ICARUS.
Conversione Analogico/Digitale Le grandezze fisiche che vogliamo misurare variano con continuità in un dato intervallo ed in funzione del tempo: sono descrivibili.
ATLAS Computing Model Lamberto Luminari CSN Gennaio, 2005.
UML Unified Modelling Language Linguaggio per la modellazione unificato.
Stima back of envelope dell’efficienza di segnale per particelle di carica frazionaria e reiezione del bkg – Segnale muon-like con ionizzazione media (1/3)^2.
Software Moderno dalla Fisica ad altre applicazioni Luca Lista INFN
Attilio Andreazza 1 Milano 27/07/2009 Attività sul tracking Software pixel Attilio: responsabilità generale del software offline pixel –simulazione, ricostruzione,
ATLAS NAPOLI Software & Computing e il Tier-2 Gianpaolo Carlino INFN Napoli Il gruppo ATLAS di Napoli Le attività Software & Computing Il prototipo Tier-2.
Il calcolo per l’esperimento GERDA Luciano Pandola INFN, Laboratori del Gran Sasso Riunione della CSN2, LNF Frascati, 29 Novembre 2011.
Esigenze di Rete degli Esperimenti LHC e di Gr1 G. Carlino – INFN Napoli CCR – Roma 8 Settembre 2014.
Transcript della presentazione:

Luca Lista Software di ricostruzione OO in BaBar Luca Lista INFN, Sezione di Napoli II Workshop sul Software e Calcolo moderno, Perugia, giugno 1998

Luca Lista Condizioni di lavoro B A B AR comincerà la presa dati tra meno di un anno Alta statistica –2 kHz al trigger di livello 1 –50 Mbyte/sec alla farm di livello 3 –circa 100 Hz (2.5Mbyte/sec) di frequenza di registrazione di eventi –10 9 eventi/anno (25Tbyte/anno di raw data) Affidabilità –Il riprocessamento deve essere molto raro Mantenibilità –più di 10 anni di vita per il software –sviluppo distribuito in Europa e America

Luca Lista Fortran e C++ in BaBar 200k 400k 600k 800k

Luca Lista Crescita del software di BaBar

Luca Lista Fortran vs C++

Luca Lista Uso di software standard CLHEP –manipolazione di vettori e matrici –geometria nello spazio –algebra di Lorentz HepTuple –ennuple e istogrammi Standard C++ Library ? Software commerciale: – Tools.h++ liste, container e iteratori, manipolazione di stringhe di caratteri, persistenza,... – Data Base

Luca Lista Struttura del software di B A B AR Simulazione Veloce Geant4 Simulazione Veloce Geant4 Simulazione Completa bbsim Simulazione Completa bbsim Simulazione Completa Geant4 Simulazione Completa Geant4 Interfaccia Beta Interfaccia Beta Digitizzazione Ricostruzione B A B AR Analisi F77 C++

Luca Lista Oggetti della ricostruzione Gli oggetti e le loro collaborazioni costituiscono un modello dellinsieme degli elementi che intervengono nella ricostruzione: –informazioni ricostruite: rappresentano loutput e linput dei vari passi della ricostruzione hit, tracce, cluster, particelle, informazioni sul PID,... –modelli ausiliari al problema elementi di rivelatore, traiettorie, … –algoritmi: creatori e manipolatori altri oggetti cluster finder, track fitter, converter transiente persistente... molti algoritmi di ricostruzione sono incapsulati in oggetti (moduli)

Luca Lista Il modello del rivelatore

Luca Lista Detector Model & Event Display

Luca Lista Loggetto modulo: incapsulare un algoritmo frStrip IfrStrip MakeIfrClusters IfrCluster EmcCluster MakeNeutralHad NeutralHadron I moduli hanno come input un insieme di oggetti e producono altri oggetti come output

Luca Lista Moduli e Framework I moduli sono animati dal Framework in maniera flessibile supporto per lI/O interfaccia interattiva ( Tcl, Tk ) lvoid begin (AppJob*); lAbsEvent* event (AbsEvent*); lvoid end (AppJob*); lvoid abort (AppJob*); lvoid help (); E possibile passare parametri a ciascun modulo attraverso uno script Tcl Una sequenza può essere interrotta per passare allevento successivo

Luca Lista Sequenze nella ricostruzione SvtSequence SvtInitSequence SvtBuildEnv SvtSimSequence SvtMakeDigis SvtRemapDigis SvtRecoSequence SvtHitReco SvtTrackFinder SvtFillGTrack SvtTracksTest SvtHist DchSequence DchInitSequence DchSimSequence MakePointers DchMakeDigi DchRecoSequence DchMakeHits DchTrackFinder DchHist TrkSequence TrkInitSequence TrkSimSequence TrkRecoSequence DcxTrackFinder TrkKillDch TrackMerge KalFit TrkKillKal TrkMassFitter TrkGTrkMatch DchMakePid TrkQASvt TrkQADch TrkQAMerge EmcSequence EmcInitSequence EmcSimSequence EmcFastGHitsToDigis EmcRecoSequence EmcMake2dCluster EmcMakeBump EmcTrackMatch EmcPidSequence EmcIdentify EmcHist EmcPidHist IfrSequence IfrInitSequence IfrBuildEnv IfrRndmInit MakeXReference BBGeomRead IfrGeomInit IfrVstModule IfrSimSequence IfrGHitToStrip IfrNoise IfrStripSort IfrMakeDigiTime IfrRecoSequence IfrStripToLayer IfrTimePointers IfrMake2DClusters IfrMake3DClusters IfrAnalSequence IfrNtuple IfrTimeHisto IfrTest IfrPidSequence SwmTrkMaker IfrTrackMatch IfrMake3DComposites IfrDiscrModule IfrDiscrNtuple DrcSequence DrcInitSequence DrcBuildEnv DrcBuildGeom DrcSimSequence DrcMakeDigis DrcRecoSequence DrcMakeTracks DrcMakeRecoHits DrcAssociate DrcIdentify DrcPrint DrcHist

Luca Lista Framework: moduli e sequenze

Luca Lista Evoluzione del disegno Analysis Design Production Testing Requirements Un prodotto completo è disponibile solo alla fine Un prototipo funzionante è disponibile sin dallinizio Analysis Design Production Testing Requirements Waterfall Evolutionary

Luca Lista Evoluzione del disegno BaBar ha avuto molto presto una catena sim rec analisi Modificare una parte del disegno (spesso...) non induce stravolgimenti drammatici ovunque Studiare le dipendenze allinterno del codice è un compito fondamentale per riconoscere i punti più deboli del design –Rational Rose –Uso delle metriche Il codice di BaBar non è perfetto, ma contributi più fortran-like tendono a essere limitati in aree ben definite –Gli sviluppatori dei sottosistemi stanno diventando sempre più competenti…!

Luca Lista Accesso ai dati di un evento La soluzione più semplice è la seguente: AbsEvent* event; MyObject *myObject = event->getMyObject(); Esempio: HepAList *gTrackList = event->getGTrackAList(); Tutti i moduli della ricostruzione dipende dalla classe AbsEvent, quindi gran parte della ricostruzione dipende da HepAList In pratica, tutta la ricostruzione dipenderebbe da tutti gli oggetti di un evento

Luca Lista Proxy Dictionary Lindipendenza dellevento dalle classi-dati avviene con un meccanismo di proxy-dictionary: MyObject *myObject = Ifd ::get(event); Esempio: HepAList *gTrackList = Ifd > ::get(event [, key]); nasconde il problema dellI/O (file sequenziale o database OO) e lo separa dallo sviluppo delle classi dei dati

Luca Lista Clustering nellIFR LIFR identifica, e K 0 L Linformazione ricostruita nellIFR si presenta nella forma di cluster di strip vicine nello spazio cluster

Luca Lista Cluster in 2 e 3 dimensioni E naturale pensare ad una ricostruzione prima in 2D, poi in 3D, siccome la geometria è proiettiva. Ifr2DCluster

Luca Lista Primo design a oggetti Come si traduce in oggetti: Come si presenta linterfaccia

Luca Lista Cluster compositi E necessario poter trattare cluster compositi da segmenti in diversi settori

Luca Lista Cluster astratti e polimorfismo E desiderabile che lutente non distingua tra cluster singoli o compositi

Luca Lista Evoluzione del modello Estensione dellinterfaccia ad ogni richiesta di una nuova funzionalità? Estensione a nuovi tipi di cluster?

Luca Lista Uso del visitor pattern Lestensione delle funzionalità non richiede modifica dellinterfaccia

Luca Lista Visitor pattern Diagramma di interazione

Luca Lista Introduzione di un nuovo tipo di cluster Nuovo layout dellRPC clilindrico con lettura stereo Non è più possibile usare clustering 2D Il clustering composito non può più essere costituito da elementi omogenei

Luca Lista Beta: linterfaccia allanalisi provide a simple, common basis for writing detailed physics analysis programs Facile da usare –non bisogna essere esperti di C++ Fornisce potenzialità di analisi complete Lo stesso codice piu girare su diversi campioni di dati: –full simulation –fast simulation –dati reali

Luca Lista Oggetti in Beta BtaCandidate –candidato particella BtaOperator –operatore che combina le particelle BtaFinder BtaAssociator

Luca Lista BtaCandidateBtaCandidate HepLorentzVector p4(); Hep3Vector p3(); double charge(); double mass(); BtaAbsVertex* decayVtx(); PdtEntry* pdtEntry(); TrkRecoTrk* recoTrk();... Relazione madre-figlio Gestione di candidati compositi (es.: K S + - ) Accesso alle informazioni dei sotto-rivelatori e di PID

Luca Lista BtaOperatorBtaOperator BtaOpAdd4 –somma i 4-momenti e le cariche BtaOpVertex –combina i vertici ma anche fit con vincoli di massa, etc. –BtaOpAdd4 o; –BtaCandidate t1, t2, t3; –BtaCandidate t12 = o.combine(t1, t2); –BtaCandidate t123 = o.combine(t1, t2, t3);

Luca Lista BtaFinderBtaFinder HepAList list; BtaV0Finder k0s(list,.420,.540); BtaV0Finder psis(list, 2.8, 3.4); analogamente avremo, finder di, K *, D, B, etc. –BtaVFinder, BtaV0Finder, BtaPidFinder, … I finder usano i combiner

Luca Lista BtaAssociatorBtaAssociator BtaMcAssoc –Monte Carlo truth (package PDT) Collegamenti MonteCarlo - Particelle ricostruite –BtaMcAssoc *truthMap; –BtaCandidate *reco; –BtaCandidate *mc = truthMap ->mcFromReco(reco);

Luca Lista BaBar Event Store BaBar ha adottato un database a oggetti per levent store Le motivazioni, rispetto alluso di un file sequenziale, sono che: –non e necessario caricare tutti gli eventi se bisogna analizzarne solo alcuni –è possibile caricare solo parte delle informazioni dellevento da analizzare –Il livello di dettaglio da esplorare può essere diverso evento per evento BaBar usa Objectivity sia per levent store che per le calibrazioni e allineamenti

Luca Lista BaBar Event Store Levento viene suddiviso in unità modulari che possono essere caricate separatamente evento per evento Parte dei dati può essere acceduta via rete Raw 25kB Event Rec 100kB Esd 10kB Aod 1kB Tag 100B Hdr <64B Sim ??? Tru ???

Luca Lista Vincoli per gli oggetti persistenti Ogni classe persistente deve ereditare da d_Object ( ooObj ) Oggetti persistenti non possono contenere puntatori a oggetti transienti ma solo smart pointers a oggetti persistenti ( d_Ref, o ooRef(T) ) Modificare una classe richiede modificare lo schema della classe nel database per poter continuare a usare oggetti precedentemente immagazzinati. BaBar ha sperimentato problemi nelluso dello schema evolution

Luca Lista ooHandlke(ooFDObj) fdbH; ooItr(Patron) patronItr; const char* pred = ((_firstName =˜.*James.*) AND (_address =˜.*Virginia.*)); patronItr.scan(fdbH, pred); while(patronItr.next()){ patronItr.print(); } 1) Objectivity Objectivity, come altri OODB, è molto intrusivo Usare Objy come suggerito dalla ditta rende il software completamente dipendente da un prodotto commerciale Objy può rompere lincapsulamento! 1) © Objectivity Inc., dal corso tenuto Mountain View

Luca Lista BaBar Event Store BaBar ha scelto un approccio che lo rende meno dipendente da Objy: –separare le classi transienti dalle classi persistenti Questo richiede una grossa estensione del disegno, ma tutto il codice (transiente) fino ad ora scritto e funzionante non deve essere modificato MyRecoObj MyRecoObjP

Luca Lista BaBar Event Store Vantaggi: –indipendenza dal prodotto: cambiare DB richiede modifiche in un ben determinato settore del codice –il codice in uso non va modificato –maggior robustezza Svantaggi: –si perdono diverse potenzialità: accesso automatico ai dati in uso nessun meccanismo esterno necessario alla persistenza –duplicazione delle classi ( Xxx XxxP ) –extra codice per la gestione dellaccesso al DB e della conversione transiente persistente

Luca Lista BaBar Event Store Come passare da un oggetto transiente a un oggetto persistente: AbsObject ConcObj1 ConcObj2 AbsObjectP ConcObj1P ConcObj2P Factory

Luca Lista ObjListP Oggetti persistenti compositi E conveniente compattare in un solo oggetto più oggetti semplici –es.: Geant Hits, Digis Implementare i puntatori non è immediato... Obj

Luca Lista Conclusioni Il software OO di BaBar è in sviluppo da > 2.5 anni E stata acquisita una enorme esperienza sulluso delle nuove tecnologie software –OO A&D –C++ e librerie standard –Objectivity –etc. I risultati sono più che soddisfacenti Si rivolge sempre più enfasi sulla qualità del processo di sviluppo Lanno prossimo il software verrà messo alla prova su dati reali!