• Non ci sono risultati.

4.2 Tabelle T XY

4.2.3 Inversione delle tabelle

Come gi`a discusso nel paragrafo 2.3.2, la funzione t( ~P ) non `e iniettiva; `e stato proprio a partire da questa constatazione che sono state definite le isocrone. Questo naturalmente implica che non si possa parlare, con rigore matematico, dell’inversione della relazione t( ~P ); tuttavia, come gi`a `e stato notato, senza operare quest’inversione l’unica utilit`a delle tabelle T XY sarebbe quella di consentire una simulazione accurata delle forme d’onda, senza po- ter utilizzare l’informazione in esse contenuta in fase di analisi e ricostruzione degli eventi. Il problema `e gi`a stato parzialmente discusso nel paragrafo 2.3.2; in questo paragrafo ci concentreremo sugli aspetti matematici ed informatici della sua soluzione.

La non invertibilit`a delle tabelle T XY deriva dal fatto che ogni isocrona `e un’orbita, tale per cui a tutti i punti di cui `e costituita corrisponde lo stesso tempo. Consideriamo una traccia che attraversa la cella in direzione rettilinea: questa assunzione `e perfettamente giustificata, visto che il cammino all’interno della cella `e circa 7 mm, mentre il raggio di curvatura della traiettoria dei positroni varia fra i 10 ed i 15 cm. Conoscendo a priori l’angolo con cui la traccia del positrone attraversa la cella, questa risulterebbe tangente all’isocrona solo in due punti, simmetrici rispetto al centro, a meno che le isocrone non abbiano una forma molto diversa da quella circolare. Questo significa che, definendo l’an- golo Θ formato dalla traccia con l’asse x del sistema di riferimento della cella, la relazione (t, Θ) → (x, y) risulta definita per ognuna delle due met`a di un’isocrona. Grazie alle pro- priet`a di simmetria quadrata delle isocrone precedentemente esposta, inoltre, il risultato sar`a simmetrico rispetto al centro per le met`a. La discriminazione fra le due met`a potr`a essere compiuta osservando l’evoluzione speziale della traccia, cio`e la successione delle celle attraversate.

La Θ della traccia pu`o essere facilmente ricavata dal suo sviluppo all’interno del rivelatore, ottenuto tramite gli algoritmi di ricostruzione descritti nel capitolo 3. Se `e disponibile il fit circolare della traccia sul piano (x, y) delle coordinate generali, infatti, sar`a possibile rica- vare l’angolo di incidenza del positrone su ogni cella attraversata, cio`e esattamente il Θ che ci occorre. In questo modo, tramite la conoscenza dello sviluppo generale della traiettoria percorsa dal positrone, ottenuta tramite i dati di basso livello utilizzati per l’algoritmo di pattern recognition, si potr`a estrarre l’informazione sul punto della cella effettivamente attraversato ed in questo modo migliorare la conoscenza degli hit, e, di conseguenza, la conoscenza del quadrimpulso tramite il Kalman Filter.

`

E naturalmente necessario predisporre un algoritmo che operi l’inversione delle tabelle T XY . In risultato sar`a una tabella XY ΘT che conterr`a, per ogni coppia (Θ, t) il punto (x, y) in cui una traccia che forma un angolo Θ con l’asse x `e tangente all’isocrona corri- spondente al tempo t. Si noti che questa tabella ha molte pi`u righe delle tabelle T XY ; in particolare se si considerano angoli Θ campionati ogni 3 mrad, una tabella T XY con un passo in x ed y di 0.1 µm ed una differenza fra le isocrone di 0.2 ns (tutti valori controllabili

da costanti definite ad inizio programma), la tabella complessiva che contiene entrambe le met`a di ogni isocrona avr`a 1026060 righe (≈ 50 Mb di dimensione, pur essendo un file di testo). La generazione completa di questa tabella richiede circa un’ora e mezza.

Ogni riga della tabella invertita finale conterr`a t, Θ, xl, yl, xr, yr, dove (x, y)l sono i punti

in cui la traccia con angolo Θ `e tangente alla met`a sinistra (x < 0) dell’isocrona corrispon- dente al tempo t e (x, y)r sono relative alla met`a destra (x > 0).

L’inversione `e effettuata da tre programmi: TableInvert, TableMerge e TableControl. Il primo di questi tre programmi legge una tabella T XY di GARFIELD++, assume che il massimo ed il minimo dei valori in x e y sia ± 0.35 cm e che la scansione della cella sia di 0.1 µm e riempie due file: InvertedL.txy ed InvertedR.txy, corrispondenti alle due met`a di ogni isocrona. I file contengono entrambi una tabella organizzata secondo angoli crescenti, e, per ogni angolo, un valore di t ed (x, y) senza nessun particolare ordinamento. Il pro- gramma genera un fascio di rette parallele per ogni angolo e determina il minimo tempo d’approccio al filo fra tutti i punti di ogni retta. Fino a quando l’angolo si mantiene tale che sin Θ <

√ 2

2 , le rette parallele vengono generate procedendo dall’alto verso il basso, e

successivamente da destra verso sinistra, come mostrato nella figura 4.13. Ogni retta `e poi

Figura 4.13: Procedura d’inversione delle tabelle T XY : generazione di un fascio di rette parallele, scorrimento verticale per angoli piccoli, orizzontale per angoli grandi. Confronto con le isocrone (cerchio azzurro), calcolo del punto di tangenza (minimo tempo: stelle gialle). Nella figura `e mostrata una sola isocrona, ma il programma ne individua una per ogni retta generata.

divisa in passi da 0.1 µm; per ognuno di questi punti (se si trova all’interno della cella) si legge il tempo relativo sulla tabella T XY da invertire, e fra questi si sceglie il minimo: l’i- socrona cos`ı selezionata risulter`a essere quella tangente alla retta che stiamo considerando, per cui il programma trascrive il suo tempo t ed il punto (x, y) corrispondenti.

TableMerge permette di riunire le tabelle R ed L in un unica tabella ordinata, chiamata InvertedLR, con tempi crescenti da 0 all’isocrona massima (≈ 250 ns). Questo programma per ogni tempo scrive un angolo da −π/2 a +π/2, e per ogni coppia angolo-tempo scrive la x e la y sia sulla met`a sinistra che su quella destra. La tabella finale finale ha la forma: t (crescenti), Θ (crescenti per ogni tempo), xl, yl, xr, yr. Il programma controlla anche che

i punti (x, y)l ed (x, y)r siano simmetrici rispetto al centro, entro una piccola tolleranza.

TableControl `e un codice controllo dell’intera procedura. Questo programma legge i file InvertedR.txy e InvertedL.txy creati da TableInvert e disegna 15 isocrone (da 10 a 160 ns); per ogni isocrona disegna in nero la met`a destra (letta da InvertedR.txy) ed in magenta la met`a sinistra (letta da InvertedL.txy). Per ognuna delle due met`a, poi, disegna tre in- tercette casuali per controllare che gli angoli corrispondenti siano corretti, ed una stellina nel punto di tangenza. Il risultato, per una tabella T XY calcolata in assenza di campo magnetico (a cui corrispondono isocrone come quelle della figura 4.5), `e visibile nella figura 4.14. -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2-0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2-0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 -0.3 -0.2-0.1 0 0.1 0.2 0.3 -0.3 -0.2 -0.1 0 0.1 0.2 0.3

Figura 4.14: Output grafico di TableControl.

Le tabelle invertite generate con questi programmi potranno essere utilizzate nei program- mi di analisi dati di MEG: una volta che la traccia `e stata individuata tramite algoritmi come quelli descritti nel capitolo 3, si pu`o infatti ottenere l’informazione sul suo angolo di attraversamento della cella, mentre il tempo di arrivo dei depositi di ionizzazione sul filo pu`o essere ottenuto dalla decodifica delle forme d’onda. A quel punto, consultando la tabella InvertedLR relativa alla configurazione di campo magnetico di quella cella, sar`a

possibile ricavare il punto (x, y) dal quale il positrone dovrebbe essere passato, ricordando comunque che i punti letti dalla tabella saranno due e la scelta fra questi dovr`a essere fatta basandosi sull’evoluzione complessiva della traccia.