Chapter 4 Nuovi oggetti grafici per la Visualizzazione del Tracker In questo capitolo illustrerò i nuovi oggetti grafici che ho sviluppato ed implementato nel software di visualizzazione di CMS. Prima di cominciare ritengo necessario fare alcune precisazioni sulla situazione attuale del software di visualizzazione di CMS anche per chiarire perchè sono stati sviluppati proprio questi oggetti. Il software messo a punto dal progetto IGUANA è in fase di distribuzione alfa, cioè la prima distribuzione a mala pena usabile. Non è assolutamente certo che IGUANA sará il software di visualizzazione di CMS. Non è chiaro se alcuni dei problemi riscontrati nel suo uso e riportati nel precedente capitolo (come applicazione in ORCA) siano solo temporanei oppure spariranno con l avvento di computer piú potenti. In queste condizioni dopo aver fatto diversi tentativi senza successo di ovviare alle difficoltà riscontrate in IGUANA con una diversa implementazione della visualizzazione in 3D del Tracker (ad esempio usando solo OpenGL invece che Openinventor+OpenGL) si è raggiunta la conclusione che era meglio limitarsi ad una descrizione minima 3D del Tracker come quella implementata ora (cioè un parallelepipedo per modulo), e puntare su oggetti grafici 2D che facilitassero l uso e completassero la rappresentazione 3D. Buona parte del lavoro principale della tesi è consistito nell inventare queste rappresentazioni 2D e nel costruire una serie di prototipi in C++ e Java per assicurarsi che i nuovi oggetti funzionassero. Alcune delle figure di questa tesi sono state prodotte da questi prototipi. Le Figure 3.5, 3.6 e 3.7 sono state realizzate in C++ utilizzando il pacchetto software Open- Inventor. Questi prototipi sono serviti per preparare le immagini usate per la presentazione degli stessi oggetti ai fisici del Tracker. Solo a questo punto si è proceduto ad integrare solo due degli oggetti nel software di visualizzazione di ORCA. Gli oggetti grafici sono stati implementati con una API in C++ 47
come plugin di IGUANA in ORCA. Gli oggetti grafici che si propongono dovrebbero permettere non solo di migliorare il tradizionale compito di display del rivelatore e dell evento, ma soprattutto di: controllare gli algoritmi del software; controllare la descrizione del tracciatore nel database; controllare la costruzione del rivelatore; controllare infine il funzionamento del rivelatore. Gli oggetti sono stati fatti in maniera modulare, ovvero seguendo tutti i requisiti della programmazione orientata ad oggetti. Questo fa si che gli oggetti grafici costruiti possono essere utilizzati non solo dal software di ricostruzione e per la fase di simulazione (come vedremo nel prossimo capitolo), ma possono essere usati indipendentemente in un programma stand-alone, come interfaccia al database di costruzione o al database di descrizione del rivelatore (DDD) per seguire, in questa prima fase di CMS, la costruzione del rivelatore ed il suo monitoraggio. Alcuni accenni a questo uso saranno dati a fine capitolo. 4.1 Gli oggetti grafici 2D In questo paragrafo sono illustrati i cinque nuovi oggetti grafici 2D realizzati nell ambito del lavoro di questa tesi che consentono di superare i limiti posti dal software di visualizzazione di ORCA. Gli oggetti sono i seguenti: 1. Un oggetto grafico di selezione, Figura 4.1, che permette una rapida e semplice selezione delle parti (anello, disco...) del Tracker da far vedere nella finestra della scena grafica di OpenInventor (finestra 3D). Sostanzialmente è una mappa 2D della metà superiore del rivelatore. Ogni barretta permette di selezionare l intero anello di un disco dell endcap o di un layer del barrel. Le barrette colorate in blu rappresentano gli anelli costituiti da moduli doppi. L oggetto permette anche la selezione di un intero disco dell endcap cliccando sui quadratini di colore giallo in basso, e la selezione di un intero strato del barrel cliccando sui quadratini in giallo a destra. Infatti i quadratini gialli posizionati sotto e a destra della figura sono disposti lungo la direzione dei dischi e degli strati cilindrici. Invece i quadratini verdi posti in alto e a sinistra, sempre corrispondenti ai dischi e agli strati cilindrici, servono 48
Figure 4.1: Oggetto grafico che permette la selezione di una parte del Tracker. Figure 4.2: Oggetto grafico per la selezione del modulo. La figura 2a mostra un disco del TEC, la 2b uno strato del TIB. a far apparire una nuova finestra che conterrà l oggetto che permette di selezionare il singolo modulo (vedi punto 2). 2. Un oggetto grafico di selezione, Figura 4.2, che permette la selezione di ogni singolo modulo di ognuno dei 41 cilindri o dischi del rivelatore da 49
far vedere nella finestra 3D; le figure 2a e 2b sono le rappresentazioni 2D rispettivamente del primo disco del TEC e dell ultimo layer del TIB. L oggetto rappresentativo del barrel è ottenuto tagliando il cilindro lungo un asse parallelo all asse di simmetria (φ=0) e aprendolo su di un piano. Ogni colonna corrisponde perciò ad un anello mentre una riga, nel caso del TOB, è formata da due rod. La colorazione in blu rappresenta i moduli stereo. Figure 4.3: L Oggetto grafico di selezione di una regione θ/φ è il primo in alto a sinistra. Ingrandendo la zona 10 0 <θ<90 0 e 310 0 <φ<3350 0 si ottiene la figura in alto a destra. Selezionando poi la traccia di interesse (che si trova nella regione contornata in verde) si visualizza la stessa traccia con i moduli da essa attraversati in una finestra 3D (figure in basso). L immagine in basso a destra mostra la stessa scena di quella a sinistra osservata da un altro punto di vista. 50
3. Un oggetto grafico che permette di selezionare una regione θ/φ per poter risalire alla traccia di interesse con i suoi hit e i moduli da essa attraversati. Questo è realizzato, come mostra la Figura 4.3, dalla distribuzione di SimHit utilizzando il metodo di rappresentazione del V-Plot [?] di H.Drevermann. Secondo questo metodo per ogni hit se ne disegnano due; uno dei due hit viene visualizzato nella posizione nominale, il secondo hit in una posizione la cui coordinata θ differisce dalla posizione nominale di una quantità proporzionale alla distanza dell hit dal bordo del Tracker. Pertanto ogni traccia sarà visibile come una specie di V più o meno deformata, con la punta diretta verso il punto dove la traccia esce dal Tracker. La Figura 4.3 a sinistra mostra un esempio di distribuzione di SimHit per φ che varia da 0 0 a 360 0 e θ tra ±90 0. Facendo dapprima lo zoom e poi selezionando una particolare zona contenente una singola V (Figura 4.3, a destra) si puó vedere la traccia corrispondente con i suoi hit e i moduli, come mostrano le immagini in Figura 4.3. Figure 4.4: Oggetto grafico che permette di rappresentare in maniera codificata informazioni relative ad ogni singolo modulo di un disco o di un cilindro. Nella figura 4a i moduli con la stessa colorazione occupano la stessa posizione. 4. Un oggetto grafico che permette di rappresentare in maniera codificata informazioni relative a ogni singolo modulo di un cilindro o un disco. La Figura 4.4 illustra due esempi: la 4a mostra la posizione in z dei moduli (rappresentata da colori differenti) su un disco dell endcap 51
Figure 4.5: Oggetto grafico per rappresentare l intero Tracker. Sono state contornate le diverse sottosezioni di cui è costituito il rivelatore a microstrisce al silicio per semplificare l identificazione delle varie parti del rivelatore. La mappa illustra i moduli a singola faccia con colore rosso, mentra quelli doppi con colore blu. (Figura 1.8, paragrafo 1.2.1), la figura 4b mostra le strip accese dei moduli del medesimo disco. Questo tipo di oggetto può risultare molto utile per il monitoraggio del rivelatore e per l interfaccia al database di costruzione. 5. Un oggetto grafico rappresentativo dell intero Tracker. Questo oggetto è ottenuto assemblando l oggetto descritto al punto 4 per tutti i 41 dischi e strati del rivelatore. Si ottiene così una mappa mostrata in Figura 4.5 in cui si possono rappresentare le informazioni di ogni sensore in maniera codificata ed anche in maggior dettaglio utilizzando per esempio uno zoom. Come si osserva dalla figura la mappa non è fedele alla realtà dato che la parte del rivelatore a pixel è ingrandita e meno distante rispetto al rivelatore a microstrisce al silicio; tuttavia risulta essere molto utile per avere una vista d insieme di tutto il rivelatore. In particolare la Figura 4.5 è un semplice esempio in cui si sono distinti i moduli a singola faccia da quelli stereo usando due differenti colorazioni. Anche quest ultimo oggetto puó risultare utile per il monitoraggio del rivelatore e per interfacciare il database di costruzione perchè una mappa di questo tipo potrebbe per esempio visualizzare lo stato di produzione dei moduli. 52
4.2 Esempi di uso dei nuovi oggetti grafici al di fuori del software offline di CMS 4.2.1 Programma standalone Gli oggetti grafici illustrati in precedenza possono essere utilizzati in un programma stand-alone in modo da avere una visualizzazione più veloce, e questo lo si può fare leggendo i dati scritti da ORCA attraverso un file in formato ROOT [?]. In pratica ORCA viene fatto girare con un software particolare che salva su un file tutti gli oggetti (i moduli del Tracker, le tracce, gli hit,...) necessari per la successiva visualizzazione. In effetti la progettazione degli oggetti grafici proposti è stata realizzata usando dei prototipi di questo programma stand-alone. Le Figure 4.1, 4.2, 4.4 sono state realizzate in C++ utilizzando il pacchetto software Qt, invece la Figura 4.3 utilizzando, oltre Qt, il pacchetto software OpenInventor. 4.2.2 Interfaccia web al Database di Costruzione Figure 4.6: Screenshot della pagina web che si interfaccia al database di costruzione. Un ulteriore esempio è l uso degli oggetti grafici per un interfaccia web 53
al database di costruzione. La Figura 4.6 illustra lo screenshot, cioè un ritaglio della pagina web, in cui l oggetto di selezione di ogni componente del rivelatore visualizza la parte selezionata nella finestra accanto (a destra). Nel caso specifico è stato selezionato il primo disco dell endcap del rivelatore a pixel. In realtà ogni barretta dell oggetto di selezione sarà collegata ad un indirizzo internet che accede ai dati delle parti selezionate che si trovano nel database di costruzione. La pagina è stata fatta con un programma Java che ha realizzato contemporaneamente l immagine e l HTML con tutti i link associati all immagine. 54