A ROOT based monitoring system for KLOE

Download Report

Transcript A ROOT based monitoring system for KLOE

III Workshop Software e Calcolo Moderno
Martina Franca
19-21 Ottobre 1999
La presentazione degli istogrammi nel
sistema di Monitoring di KLOE
Alessandra Doria
- Napoli
I tools di monitoring
È stato realizzato un insieme di tools per il controllo
online (e offline) del funzionamento delle diverse parti
dell’esperimento.
Gli stessi programmi vengono utilizzati sia da parte
degli operatori in shift, che da parte degli esperti dei
diversi settori.
Ha partecipato allo sviluppo dei tools di monitoring un
gran numero di persone, appartenenti a diversi
sottogruppi.
2
Il Framework ROOT
I programmi di monitoring sono scritti in C++ e sono
basati sul pacchetto ROOT.
ROOT è un framework OO per l’analisi dati che, in una
gerarchia di classi C++, include classi per la creazione,
visualizzazione e manipolazione di istogrammi, per la
grafica 2D e 3D, per la realizzazione di GUI, per la
comunicazione su rete etc. etc.
3
Il Framework ROOT
ROOT e’ stato sviluppato al CERN a partire dal 1995
nell’ambito di NA49.
Il framework comprende l’interprete CINT, che
consente di usare il C++ anche come command language.
Gli oggetti creati in ROOT possono essere salvati su file
in un formato proprietario .root.
4
Il sistema di monitoring
• Controllo online del readout del
detector, dell’elettronica di Front
End, del sistema di Trigger.
• Display dell’andamento nel tempo
dei parametri di Slow Control (Gas,
HV, LV, etc).
• Display dell’andamento nel tempo
dei parametri di DAFNE.
• Controllo quasi-online della qualita’
dei dati ricostruiti.
5
Il monitoring online dell’acquisizione
• Circa 30000 istogrammi sono riempiti da un producer
centralizzato durante l’acquisizione, organizzati in un
albero di directory;
• gli istogrammi sono creati come oggetti delle classi
TH1F, TH2F, TProfile;
• carico minimo sulle macchine impegnate nel data
taking;
• possibilità effettuare contemporaneamente il
monitoring da diverse postazioni.
6
Client and
serevr are
standalon
programs bla
bla:
Il monitoring online dell’acquisizione
È stato implementato un sistema client-server, in cui il
server è il producer degli istogrammi ed un insieme di
clients ne effettuano il display.
Online farm node
EvBuilder
SpyD
Kbrowser
Kserver
Recorder
Kbrowser
Kbrowser
7
Online histogram tree
/
DriftCh
Barrel
Wedge 1
Ecal
EndCap1
...
Qcal
EndCap2
Wedge N
Trigger
FEE
Global
h1End2
h1End1
8
Le funzioni di Kserver
• Durante il loop di filling, Kserver può eseguire comandi
ricevuti su TCP/IP:
• inviare la struttura dell’albero
• inviare il contenuto di un singolo istogramma o di un
insieme di istogrammi
• azzerare il contenuto di tutti gli istogrammi
• salvare tutti gli istogrammi correnti in un file ROOT
• Kserver può anche produrre, servire o salvare
istogrammi offline, leggendo da files di dati raw.
9
Le funzioni di Kbrowser
• apre una connessione TCP/IP con Kserver;
• riceve da Kserver la struttura dell’albero degli
istogrammi e crea i menu attraverso i quali l’utente
si sposta nelle directory;
• quando un istogramma è selezionato, ne richiede il
contenuto aggiornato a Kserver e lo grafica;
• quando richiesto, riceve e visualizza il contenuto di
tutti gli istogrammi nella directory corrente.
Kbrowser consente anche di navigare attraverso le directory
del file system, di localizzare i files .root e visualizzarne i
contenuti.
10
11
12
Gli istogrammi per lo Slow Control
I valori dei parametri di Slow Control e di Dafne
vengono periodicamente registrati su files ASCII.
Un presenter consente il monitoring grafico
dell’andamento temporale di questi valori.
È possibile effettuare il display online oppure scegliere un
intervallo temporale del quale si vuole visualizzare la storia.
L’applicazione utilizza oggetti delle classe ROOT
TTree per contenere i dati (tempo + valori).
13
14
Dagli stream di output
della ricostruzione vengono
riempiti istogrammi per il
monitoring dei principali
parametri fisici.
Le banche ybos vengono lette e
viene creato un file di dati
temporaneo .root, dal quale sono
creati gli istogrammi.
15
L’uso di ROOT.
• Versione di ROOT 2.20 su HP-UX, AIX, OSF1.
• Pacchetto in evoluzione, ma sempre più stabile
(inizialmente qualche problema con CINT).
• applicazioni C++ compilate con le librerie di ROOT:
TROOT entry point agli oggetti del framework.
Possibilità di ereditare dalle classi di ROOT per costruire
classi custom.
Classe TTree molto flessibile come struttura dati ma.…
problemi di memory leak.
• Grande vantaggio nell’uso di un ambiente integrato
per gestione di file, dati, grafica, networking, etc.
16