Claudio Grandi INFN-Bologna Lambiente per la simulazione e lanalisi in CMS Claudio Grandi INFN-Bologna.

Slides:



Advertisements
Presentazioni simili
ESERCITAZIONE R 12,19 marzo 2012 Mario Mastrangelo
Advertisements

Corso di Fondamenti di Informatica
1 Introduzione ai calcolatori Parte II Software di base.
Introduzione al C++ e alla programmazione ad oggetti febbraio Costruzione di applicazioni Compilazione Loading (linking) Esecuzione su Linux.
Costruttori e Distruttori
Recupero debito quarto anno Primo incontro
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Corsi per il personale Bicocca-Insubria
Java Enterprise Edition (JEE)
File System Cos’è un File System File e Directory
Massa Laura Mela Enrica
1 Semantica Operazionale di un frammento di Java: lo stato.
Gestione del processore
Differenze tra C e C++ Commenti: Adesso puoi inserire dei commenti tra // e la fine della linea. Usare le librerie C: In C++ puoi anche chiamare una funzione.
Dr. Giovanni Stracquadanio
RCS - Revision Control System Cosè A cosa serve Funzionalità principali Documentazione e installazione Corso di Programmazione Internet 1.
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
September 2000 Paolo Capiluppi CMS Computing 2001 Paolo Capiluppi, Bologna.
Distributed Object Computing
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
File.
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Laboratorio di Linguaggi note sull'uso dell' IDE DevC++ Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dellambiente di sviluppo, compilazione.
Corso di Informatica (Programmazione)
Alessandra Doria III Workshop Software e Calcolo Moderno Martina Franca Ottobre 1999 La presentazione degli istogrammi nel sistema di Monitoring.
eliana minicozzi linguaggi1a.a lezione2
1 Anatomia di una pagina Un insieme di pagine web hanno generalmente una parte invariante (o poco): header, navigazione, footer una parte variabile: contenuti.
Approfondimento delle classi
memoria gestita staticamente:
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Le classi Definizione di classe Attributi e metodi di una classe Costruttori e distruttori Private e public Funzioni friend Il puntatore this.
1 LINUX: struttura generale The layers of a UNIX system. User Interface.
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
Espressioni condizionali
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net Web Part e controlli di login Elaborazione di Franco Grivet Chin.
Introduzione ad ASP.net
Architettura Java/J2EE
Corso di PHP.
C# LE BASI 2007 Prima lezione - Introduzione.
Per costruire unapplicazione occorre compilare il file (o i file se più duno) che contengono il testo del programma (file sorgente) Il risultato sono uno.
H ZZ (*) e + e D. Giordano CMS TISB. TISB, Firenze 15-16/01/03D. Giordano2 Il bosone di Higgs ad LHC gluon fusion ---dominante ZZ e WW fusion bremsstrahlung.
Il software delle DT Attività in corso Stato della simulazione e ricostruzione hit in ORCA Calibrazione Validazione con dati di Testbeam Testbeam Ottobre.
Nicola Amapane Tommaso Boccali (SNS Pisa)
Semplici Esercizi con ORCA N. Amapane Ricostruzione delle tracce –Da TrackerReco/GtfPattern Ricostruzione dei muoni –Da MuonAnalysis/MuonTutorial Per maggiori.
E. Ferro / CNAF / 14 febbraio /13 GRID.it servizi di infrastruttura Enrico Ferro INFN-LNL.
1° passo Aprire Internet Explorer Andare alla homepage di Ateneo Aprire il menu Ateneo Scorrere fino Servizi di Ateneo Cliccare su Servizi Informatici.
Sviluppi futuri del software per il test-beam V.Ciulli Riunione TISB PISA 2004.
Ll Questionario Introduzione al software SAS (Parte 2) Metodi Quantitativi per Economia, Finanza e Management Esercitazione n°2.
Progettazione multimediale
Java Contardi Carlo A.S. 2008/09.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Costruzione di applicazioni Compilazione Loading (linking) Esecuzione su Linux.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Configurazione di una rete Windows
1 Applet ed HTML Fondamenti di Informatica Corso D.
Amministrazione della rete: web server Apache
I nomi in Java F. Bombi 18 novembre novembre 2003.
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
Il linguaggio Fortran 90: 3. Procedure e Funzioni
CNAF 18/11/2004 Federica Fanzago INFN Padova a/grape... BAT... BATMAN...o? M.Corvo, F.Fanzago, N.Smirnov (INFN Padova) + tutte le persone che fanno i test.
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Servizi Internet Claudia Raibulet
La gestione della rete e dei server. Lista delle attività  Organizzare la rete  Configurare i servizi di base  Creare gli utenti e i gruppi  Condividere.
Transcript della presentazione:

Claudio Grandi INFN-Bologna Lambiente per la simulazione e lanalisi in CMS Claudio Grandi INFN-Bologna

Claudio Grandi INFN-Bologna 2 Attività principali Simulazione della fisica Simulazione del rivelatore Simulazione dellelettronica Simulazione del trigger Ricostruzione Analisi La simulazione dellelettronica viene chiamata digitizzazione

Claudio Grandi INFN-Bologna 3 Attività principali Simulazione della fisica Simulazione del rivelatore Geometria del rivelatore HITS Digitizzazione (Specifica di CMS) DIGI (raw data) Ricostruzione Dati per lanalisi 4-momenti Simulazione del Trigger Dati del Trigger DIGI

Claudio Grandi INFN-Bologna 4 Pythia Zebra files with HITS HEPEVT ntuples CMSIM (GEANT3) MC Prod. ORCA Digitization (merge signal and pile-up) Objectivity Database ORCA Prod. ORCA ooHit Formatter Objectivity Database Catalog import Gli strumenti utilizzati Level 1 Trigger simulation HLT Algorithms Reconstructed Objects HLT Grp Databases Objectivity Database Catalog import Objectivity Database Objectivity Database ytivitcejbOesabataD Mirrored Dbs (US,Russia,Italy...)

Claudio Grandi INFN-Bologna 5 Gli strumenti utilizzati Simulazione della fisica Pythia Simulazione del rivelatore CMSIM (GEANT3) Simulazione dellelettronica ORCA Simulazione del trigger ORCA Ricostruzione ORCA Analisi ORCA+HBOOK+PAW ( +IGUANA) C++/JAVA FORTRAN

Claudio Grandi INFN-Bologna 6 ORCA e CARF Object Reconstruction for CMS Analysis –digitizzazione del rivelatore –ricostruzione del rivelatore –simulazione del trigger –ricostruzione degli oggetti fisici –strumenti di analisi CMS Analysis and Reconstruction Framework –immagazzinamento dei dati –framework per analisi e ricostruzione La proprietà di un dato di poter essere immagazzinato su disco è detta persistenza Un oggetto non persistente è detto transiente

Claudio Grandi INFN-Bologna 7 Programmare in ORCA N.B. Non entrerò nel dettaglio di come funziona ORCA né di come si programma ad oggetti Lutente deve costruire un oggetto di analisi, che come tutti gli oggetti viene creato e distrutto Loggetto analisi deve sapere quando viene letto un nuovo evento per poterlo analizzare –Loggetto analisi si registra presso un servizio che sa quando viene letto un nuovo evento per poter essere notificato al momento opportuno Il servizio che notifica la presenza di un nuovo evento viene chiamato Dispatcher, loggetto che si registra al Dispatcher si chiama Observer

Claudio Grandi INFN-Bologna 8 Dispatcher/Observer Obs1Obs2Obs3 Dispatcher Obs4 Observers

Claudio Grandi INFN-Bologna 9 Un oggetto di analisi Tipicamente unanalisi deve eseguire qualcosa: –allinizio della sua vita Nel costruttore dellanalisi –al set-up della geometria (della calibrazione, ecc…) Deve essere Observer di SetUp –evento per evento Deve essere Observer di Event –alla fine del processamento Nel distruttore dellanalisi Loggetto di analisi viene creato (come oggetto statico) semplicemente dichiarandolo! PKBuilder myAnal(UserAnal);

Claudio Grandi INFN-Bologna 10 Il flusso del programma In ORCA gli oggetti vengono prodotti solo quando richiesti: –liniziatore del processamento è il codice utente –lanalisi deve conoscere solamente a chi chiedere gli oggetti che vuole utilizzare senza conoscere le fasi precedenti del processamento! –Allatto di una richiesta di alto livello viene iniziata una catena di richieste che arriva fino agli oggetti elementari (ad esempio i raw data). Le richieste vengono quindi soddisfatte ripercorrendo la catena in senso inverso La tecnica viene chiamata reconstruction on demand ed è implementata tramite LazyObserver

Claudio Grandi INFN-Bologna 11 Lazy Observers LazyObs2 Obs Dispatcher LazyObs1LazyObs1obsolete LazyObs2obsolete LazyObs1uptodate LazyObs2uptodate

Claudio Grandi INFN-Bologna 12 Esempio: il trigger di muoni RPC DTBX CSC RPC On-chamber Trigger Electronics PACT PAttern Comparator Trigger RPC sorter DT sorter CSC sorter Global muon Trigger BTI Bunch & Track Identifier TRACO TRAck COrrelator Trigger Server DT MTTF Muon Trigger Track Finder Wire card motherboard CSC MTTF Muon Trigger Track Finder Strip LCT card Wire LCT card Strip card Calorimeter quiet bits

Claudio Grandi INFN-Bologna 13 Componenti DT on-chamber Il TRACO costruisce tracce in una camera correlando i segmenti dei piani R- Il Trigger Server seleziona i migliori 2 segmenti della camera, sopprime i ghosts e passa le tracce al Trigger Regionale Il BTI trova segmenti in un quadrupletto e assegna il BX utilizzando una tecnica di mean-timer

Claudio Grandi INFN-Bologna 14 Pacchetti in ORCA Interfaccia allutente System setup Configurazione Geometria ecc... Simulazione delle componenti del trigger

Claudio Grandi INFN-Bologna 15 Diagramma delle classi Oggetti visti dallutente Si attivano solamente quando loutput del trigger è richiesto Camere e Trigger Units sono in corri- spondenza 1-1

Claudio Grandi INFN-Bologna 16 Interaction diagram per il BTI Quando loutput è richiesto Quando un evento è letto

Claudio Grandi INFN-Bologna 17 Esempio di codice utente #include... // All needed include files here class UserAnal : ActiveObserver { public: UserAnal() {} virtual ~UserAnal() {} void upDate(G3Eventproxy* ev) { // Processing an event... L1MuDTTrigSetup* setup = Singleton ::instance(); L1MuDTTrig* dttrig = setup->DTTrig(); //define chamber (iwh,ist,ise) and BX (is) int iwh=…;int ist=…;int ise=…;int is=…; L1MuDTChambPhSegm* first = dttrig->chPhiSegm1(iwh,ist,ise,is); L1MuDTChambPhSegm* second = dttrig->chPhiSegm2(iwh,ist,ise,is); L1MuDTChambThSegm* theta = dttrig->chThetaSegm(iwh,ist,ise,is); } }; #include Utilities/Notification/interface/PackageInitializer.h PKBuilder myAnal(UserAnal);

Claudio Grandi INFN-Bologna 18 SCRAM e CVS Software Configuration, Release And Management –Sviluppato da CMS –Compilazione e link dei programmi (build) –Gestione della configurazione –Distribuzione dellambinete di siluppo –condivisione delle risorse Concurrent Versioning System –Gestione del codice sorgente (anche in sviluppo!) Il processo di copilazione e creazione di librerie, link di un eseguibile, ecc... viene detto build

Claudio Grandi INFN-Bologna 19 Comandi frequenti scram list lista dei progetti disponibili scram project ORCA ORCA_4_0_0 installazione di una directory di sviluppo per ORCA scram b build delle librerie o degli eseguibili eval `scram runtime -csh` definizione dellambiente per buid e running cvs co Examples/ExProduction copia il codice da CVS alla directory di lavoro repository dove CVS tiene il codice checkout/commit copia dal repository alla directory di lavoro e viceversa head lultima versione disponibile nella repository tag una versione a cui è stato dato un nome

Claudio Grandi INFN-Bologna 20 La struttura delle directories Top Directory srclib bin tmp config logs.SCRAM subsys OS subsys codice sorgente (checkout + utente) files temporanei (files oggetto, dipendenze, ecc...) librerie (incluso in $LD_LIBRARY_PATH ) configura- zioni per il build creata da scram project... eseguibili (incluso in $PATH ) configurzioni per i pacchetti esterni log files

Claudio Grandi INFN-Bologna 21 Struttura per un sottosistema Sub-system top Directory src interface package test domain stubs interfacce (.h,.icc) implementazione dei metodi (.cc).h e.cc per librerie di test informazioni sul dominio (doc, html, ecc...) programmi utente per test (.cpp,.cc)

Claudio Grandi INFN-Bologna 22 Librerie Viene prodotta una libreria per ogni sottosistema. Per crearla si usa scram b nella top directory del sottosistema –shared ( libxxx.so ): funzioni caricate a run-time si possono ricompilare le librerie senza dover ri-linkare! le librerie devono essere disponibili a run-time –archive ( libxxx.a ): funzioni attaccate alleseguibile –debug ( libxxx_d.so e libxxx_d.a ): ogni libreria può essere compilata con lopzione per il debugger (lenta! occupa molto spazio!) –per default vengono create shared e shared_debug Editare top_dir/config/library_makefile.mk per avere solo le shared (se è il caso!)

Claudio Grandi INFN-Bologna 23 Il sotto-dominio Workspace Contiene i programmi utente Assomiglia alla directory test di un package E il posto in cui lavorare! Per la configurazione si usa il file: top_dir/config/Worksapce_makefile.mk Se fate il check-out di Workspace avete alcuni programmi di esempio e files per la configurazione dellambiente oltre ad un esempio di BuildFile (vedi oltre...)

Claudio Grandi INFN-Bologna 24 BuildFile Sono lequivalente dei Makefile unix e sono invocati da scram b (in test o Workspace ) Contengono le informazioni sulle librerie: commenti Commenti sulleseguibile include prodotti esterni include la libreria di un package include tutte le librerie di un sotto-dominio sorgente delleseguibile

Claudio Grandi INFN-Bologna 25 Parametri Gran parte dei parametri (nomi dei files, numero di eventi, informazioni per il pile-up, ecc..) sono passati ai programmi tramite variabili ambientali unix Alcuni parametri di configurazione sono scritti nel file.orcarc che viene cercato nella directory di lavoro Linterfaccia per luso del database (Objectivity) è in fase di sviluppo (molti cambiamenti in ORCA 4 rispetto ad ORCA 3!!!)

Claudio Grandi INFN-Bologna 26 Input files In ORCA 3 era possibile leggere direttamente gli HITS di GEANT dai files.fz e fare tutta lanalisi in modo transiente In ORCA 4 lanalisi può essere fatta solamente a partire da databases di Objectivity Esiste un programma speciale di ORCA che viene chiamato ooHitFormat che copia gli HITS di GEANT dai files.fz ai databases di Objectivity senza fare alcun processamento

Claudio Grandi INFN-Bologna 27 Objectivity/DB Objectivity/DB ( Objy ) è un database ad oggetti. Ciò significa che i dati sono salvati in strutture complesse e non in strutture lineari –Vi ricordate: COMMON/MZSTORE/...ISTORE(BIGNUMBER) ??? Ogni oggetto è caratterizzato da un identificatore. Questo permette di usare un efficiente sistema di puntatori per navigare nel database Ogni oggetto è creato a partire dalle informazioni contenute nellheader file –sono possibili strutture arbitrariamente complesse!!!

Claudio Grandi INFN-Bologna 28 Componenti di Objy

Claudio Grandi INFN-Bologna 29 Un po di lessico di Objy Federazione: è il punto dingresso al sistema di databases Schema: contiene la struttura degli oggetti. E salvato nella federazione Database: coincide fisicamente con un file Boot file: contiene le informazioni per entrare nella federazione Lock server: è un processo che gestisce gli accessi concorrenti ai files delle federazioni AMS server: è un processo che permette di accedere ai databases remoti Container: le unità logiche in cui è diviso un database

Claudio Grandi INFN-Bologna 30 Uso di Objy con ORCA Ogni utente si crea una propria federazione di sviluppo La variabile ambientale $OO_FD_BOOT punta al boot file della federazione I databases coi dati possono essere attaccati alla federazione privata in read-only Se si vogliono solamente analizzare i dati senza modificare gli schemi o creare nuovi databases, si può usare la federazione comune di analisi (attualmente quelle dei gruppi HLT)

Claudio Grandi INFN-Bologna 31 Documentazione Pagine web: – ORCAhttp://cmsdoc.cern.ch/orca – dex.html tutorial di ORCA 3http://cmsdoc.cern.ch/orca/tutorials/in dex.html – rrent/doc/html/index.html SCRAMhttp://cmsdoc.cern.ch/Releases/SCRAM/cu rrent/doc/html/index.html – toc.html CVShttp:// toc.html – ivity/index.html Objectivityhttp://wwwinfo.cern.ch/asd/lhc++/Object ivity/index.html