Grazie all’esperienza maturata, all’indomani della conclusione del test beam 2003 `e iniziato lo studio per la realizzazione di una nuova versione del nostro program- ma. Confortati dal risultato della prima estensione per includere i dati acquisiti da alcuni moduli dello spettrometro MDT e del rivelatore centrale SCT, duran- te l’inverno nuovi sforzi sono stati compiuti per l’aggiornamento del codice e l’eliminazione di alcune inefficienze nelle prestazioni.
Durante il test beam combinato di quest’anno una intero spicchio del rivela- tore ATLAS verr`a ricostruita lungo la linea del fascio. Comprender`a moduli pro- venienti da tutti i rivelatori presenti nell’esperimento finale: dai rivelatori a pixel agli spettrometri a muoni. Questo significa che gli eventuali programmi di super- visione dei diversi rivelatori saranno eseguiti in contemporanea, come accadr`a ad ATLAS (figura 5.24).
Per rispondere all’esigenza di pi`u processi dedicati alla supervisione, l’archi- tettura originale `e stata modificata in varie parti per renderla ancora pi`u modulare e facilitare, in questo modo, lo sviluppo del codice da parte di un pi`u vasto numero di persone.
Nella maggior parte dei casi l’utente sar`a interessato a monitorare i dati pro- venienti dal proprio rivelatore, ma deve esistere la possibilit`a di eseguire grafici di correlazione, come gi`a nel programma del 2003. Per venire incontro alle diverse esigenze il processo principale, ora dettocore, `e stato molto snellito e ridotto al- l’essenziale. Le parti dedicate alla decodifica e all’istogrammazione, dipendenti dal singolo rivelatore, sono state estratte e poste in librerie dinamiche. In questo modo esse possono essere caricate in memoria in fase di esecuzione, solo quan-
Figura 5.24:Architettura del nuovo programma di supervisione.
do realmente necessarie. Nel nostro precedente programma monolitico, tutto il codice era caricato in memoria in fase di avvio.
Le informazioni ricavate dai frammenti sono immagazzinate, esattamente co- me prima, in un Albero di ROOT. Questa struttura dati rappresenta, anche nella nuova versione, il cuore della tecnica di disaccoppiamento fra la decodifica ed il riempimento degli istogrammi.
L’utilizzo dell’infrastruttura per la condivisione delle informazioni `e stato este- so alle tre componenti finora escluse (cfr. 3.3.3): il Servizio Informazioni, il Ser- vizio di Notifica degli Errori ed il Servizio di Istogrammazione. Un impegno notevole `e stato speso proprio nella creazione di una interfaccia verso il Servi- zio di Istogrammazione che permettesse di rendere visibili gli istogrammi creati a qualsiasi utente dotato di una interfaccia HistoReceiver.
L’utilizzo del Servizio di Istogrammazione ci ha permesso di separare defini- tivamente la presentazione degli istogrammi, cio`e la parte prettamente grafica, da tutto il resto, facendone un processo separato. Una delle novit`a della nuova ver- sione `e, infatti, il nuovopresenter. Grazie alla interfaccia HistoReceiver, questo programma pu`o visualizzare qualsiasi istogramma pubblicato tramite Servizio di Condivisione della Informazioni. Naturalmente `e stata mantenuta la possibilit`a di poter agire sugli istogrammi, ad esempio variandone la scala o il numero di canali.
Questi e altri comandi sono inviati direttamente alMonitoring Process utilizzando i Servizi disponibili. Il passaggio ad una configurazione di tipoclient–server ha alleggerito considerevolmente il processo principale, consentendogli un guadagno di prestazioni.
Anche nella nuova versione gli istogrammi sono decisi in fase di avvio del pro- cesso principale anche se ora possono essere scelti con file di configurazione, che `e un semplice file di testo. Se l’utente necessita di nuovi istogrammi `e sufficiente che li aggiunga alla lista contenuta nel file. Dovr`a, per`o, riavviare il monitor. `E allo studio la possibilit`a di chiedere la creazione di nuovi istogrammi in fase di esecuzione, senza dover cos`ı riavviare il processo.
Bibliografia
[1] B. Stroustrup, The C++ Programming Language – Third Edition, Addison Wesley Reading Mass., USA, 1997.
[2] P. Adragna, A. Dotti, C. Roda, The ATLAS Tile Calorimeter Test Beam Monitoring Program, ATLAS TILECAL Note, ATL-TILECAL-2004-002, CERN, Gen`eve,2002.
[3] R. Brun, F. Rademakers, ROOT – An Object Oriented Data Analysis Fra- mework, Proceedings AIHENP ’96 Workshop, Lausanne, Sep. 1996, Nucl. Inst & Meth. in Phys. Res. A 389 (1997) 81 – 86.
[4] C. Bee, D. Francis, L. Mapelli, R. McLaren, G. Mornacchi, J. Petersen, F. Wickens, The Raw Event Format in the ATLAS Trigger & DAQ, ATL-DAQ- 98-129, CERN, Gen`eve, 2003.
[5] S. Panacek ed.,ROOT User Guide, CERN, Gen`eve, 2004 [6] Trolltech,Qt White Paper, Oslo, 2003.
[7] V. Onuchin, TQObject Class in ROOT Reference Guide, CERN, Gen`eve, 2004.
[8] H. M. Deitel, P. J. Deitel, C++ – Fondamenti di programmazione, Apogeo, Milano, 2001.
[9] H. M. Deitel, P. J. Deitel, C++ – Tecniche avanzate di programmazione, Apogeo, Milano, 2001.
[10] M. Asai, Object–Oriented Design and Implementation, Proceeding of 2000 CERN School of Computing, CERN Report 2000-013, CERN, Gen`eve, 2000.
[11] F. Touchard et al.,Online Monitoring Requirements
[12] D. Jackson, S. Devadas,Laboratory in Software Engineering, Lecture Notes, Massachusetts Institute of Technology, Cambridge, Mass., 2001.
[13] B. W. Kernigham, D. M. Ritchie, The C programming language – Second edition, Englewood Cliffs, New Jersey, 1989.
La Compensazione del Calorimetro
Adronico TileCal
La risoluzione e la linearit`a della risposta di un calorimetro non compensato sono degradate dalla differente risposta dello strumento alle componenti, elettromagne- tiche o adroniche, di una sciame adronico. Come anticipato nel capitolo 4, `e possi- bile sviluppare metodi analitici per correggere questo comportamento. Il metodo attualmente pi`u usato in ATLAS per ottenere la compensazione dei calorimetri `e il cosiddetto metodo alla H1, che verr`a descritto brevemente nel primo paragrafo di quest’ultimo capitolo. Questo procedimento consiste, sostanzialmente, nella minimizzazione di unχ2, che descrive la risoluzione in energia, per estrarre un in-
sieme di costanti con le quali, poi, correggere l’energia misurata all’interno delle singole celle dello strumento. Questo metodo risulta facilmente applicabile a di- verse geometrie ed energie ed anche il passaggio dell’applicazione del metodo da particella singola ajet `e piuttosto diretto. Questo algoritmo, tuttavia, `e essenzial- mente di tipo matematico. Il metodo che abbiamo studiato e che viene discusso in questo capitolo, al contrario, cerca di basarsi sulle caratteristiche dello sciame adronico, analizzate evento per evento, per ottenere un funzione peso utilizzata per correggere il rilascio di energia. Questo tipo di approccio dipende fortemente anche dalle caratteristiche del calorimetro, in particolare dalla granularit`a e dalla segmentazione. Sebbene la traduzione del procedimento da noi sviluppato in un sistema automatico appaia pi`u difficoltosa di quella del metodo alla H1, nondime- no i risultati ottenuti sono confrontabili ed hanno messo in evidenza la possibilit`a di una compensazione basata sulle caratteristiche dello sciame adronico.
6.1
Il Metodo di Compensazione H1
Il metodo maggiormente utilizzato in ATLAS per la compensazione del calorime- tro adronico `e il cosiddetto metodo alla H1, dal nome della collaborazione che per prima ha elaborato questo sistema [1]. Molti dei risultati riportati nel TDR di TileCal [2] sono stati ottenuti proprio intervenendo con questo metodo sui dati acquisiti durante i test beam e su quelli ottenuti dalle simulazioni.
Per compensare la differenza di risposta da parte del calorimetro adronico agli sciami elettromagnetici ed adronici, l’energia delle celle (Ecell) appartenenti all’a-
drone ricostruito vengono pesate con un coefficientea che `e funzione sia dell’e- nergia totale ricostruita, sia dell’energia della cella stessa. Poich´e i coefficientia sono funzione dell’energia totale ricostruita, che a sua volta dipende dai valori dei parametri a utilizzati, questo metodo viene applicato utilizzando una procedura iterativa. Nella descrizione del metodo che diamo qui di seguito illustriamo il mo- do in cui vengono determinati i coefficienti e tralasciamo di discutere la procedura iterativa il cui funzionamento `e stato dimostrato su dati ditest beam [3].
Per determinare il valore dei coefficienti a si sono utilizzati dati acquisiti con fasci di pioni di varie energie. Per ogni energia, lo spettro dei depositi di energia nelle celle `e diviso inn intervalli. Ad ogni intervallo i `e assegnato un coefficiente di correzioneai. L’energia ricorretta dell’adronek `e quindi espressa come:
Ecorrk = a1· ˜E1k+ . . . + ai· ˜Eik+ . . . + an· ˜Enk (6.1)
dove ˜El
i `e la somma dell’energia di tutte le celle la cui energia `e compresa nell’in-
tervalloi, cio`e: ˜ El i = X celle∈i Ecell. (6.2)
L’insieme dei coefficienti ai `e determinato minimizzando lo scarto quadratico
medio tra l’energia totale corretta (Ecorrk ) e l’energia nominale del fascio Efascio,
rispetto ai valoriai[4]: χ2 = N X k=1 (Ecorrk − Efascio)2 (6.3)
La minimizzazione forniscen equazioni lineari in n incognite che sono risolte per trovare gliai.
In seguito gli spettri della energia totale corretta vengono fittati con una distri- buzione gaussiana in un intervallo di±2σ attorno al picco. Dal valor medio di questi fit si ottengono i grafici della risoluzione in energia e della linearit`a.
Il metodo descritto assume di utilizzaren coefficienti di calibrazione per ogni valore dell’energia del fascio. In questo modo il numero totale di coefficienti da
calcolare e memorizzare `e molto alto e poco pratico. Per diminuire il numero di questi coefficienti, la loro dipendenza dall’energia delle celle e dall’energia totale dell’adrone `e espressa tramite una funzione che, normalmente, pu`o essere correttamente descritta da un piccolo numero di parametri. Vediamo in pratica come questo viene fatto nel caso dell’analisi applicata ai dati di TileCal.
Una volta che i coefficientiaisono stati calcolati essi vengono descritti da una
funzioney = α +β/Ecell, i cui coefficientiα e β sono determinati come quelli che
meglio descrivono l’andamento dei coefficienti ai. Vengono quindi ottenuti per
ogni energia del fascio i valori di α e β. L’insieme di questi di valori viene a sua volta parametrizzato. In questo modo, oltre a diminuire il numero di coefficienti utilizzati, si ottiene il valore dei pesi di calibrazioni in modo continuo per ogni valore dell’energia delle celle e dell’energia degli adroni.
Questo metodo `e stato applicato ai dati ottenuti nel test su fascio eseguito in combinato su alcuni moduli del calorimetro elettromagnetico e del calorimetro TileCal, ottenendo un risolutione in energia pari a:
σ E = 42% √ E + 1.1% ⊕ 2.6E (6.4)
conE in GeV, ed una linearit`a del 3% in un intervallo di energia 20-180 GeV.