Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide Alexandre A. P. Suaide. - ppt carregar
Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide Alexandre A. P. Suaide.
PublicouJoão Pedrosa Alterado mais de 4 anos atrás
Apresentação em tema: "Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide Alexandre A. P. Suaide."— Transcrição da apresentação:
1 Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC
Alexandre A. P. Suaide Alexandre A. P. Suaide
2 Motivação Sistemas complexos de deteção O SPM não funciona...
Muitos detetores, muitos parâmetros de deteção (centenas) Detetor de neutrons + detetores de partículas + coincidências Múltiplos crates de CAMAC O SPM não funciona... Alexandre A. P. Suaide
3 Requisitos Compatível com hardware existente (CAMAC)
Arquivo de dados compatível com o sistema atual (L002, .FIL) Suporte a altas taxas de transferência 3-4k eventos/s com 512 parâmetros/evento Suporte a vários crates Grande flexibilidade de histogramação Grande flexibilidade de análise e seleção de eventos Fácil manutenção e potencial para crescimento Interface gráfica Totalmente acessível a partir de cliques de mouse Programação moderna c++ orientado a objetos Desenvolvido utilizando as bibliotecas do ROOT Alexandre A. P. Suaide
4 ROOT – Uma das ferramentas mais poderosas em termos de análise de dados
Desenvolvido no CERN especialmente para a comunidade de Física Nuclear Poderosas ferramentas de análise de dados, histogramação, simulação de eventos, desenvolvimento de GUI e desenho Totalmente escrito em c++ Disponível gratuitamente para várias plataformas windows, linux, AIX, Sun, Alpha, etc Interpretador e compilador c++ gratuito Amplamente utilizado e testado nos maiores laboratórios e universidades do mundo CERN, LBL, BNL, FermiLab, LBL, GSI, MSU, USP, etc... Alexandre A. P. Suaide
5 ROOT – Um pouco de propaganda
Várias opções de histogramas e gráficos em 1 dimensão Alexandre A. P. Suaide
6 ROOT – Um pouco de propaganda
Várias opções de histogramas em 2 dimensões Alexandre A. P. Suaide
7 SPMRoot – um novo sistema de aquisição
Baseado em uma versão modificada do driver do CAMAC escrito pelo Ribas Compatível com o SPM Buffers de memória maiores Proteções contra overflow de memória Habilitação de até 4 crates Uso intensivo do ROOT para GUI, IO, histogramação, etc. Possibilidade de ter um trigger de software Velho e bom EVS/ADAC combo Histogramação feita através de uma rotina em c++ definida pelo usuário Alta flexibilidade Alexandre A. P. Suaide
8 Estrutura da aquisição de dados
Pacote de análise de dados ROOT SPMRoot PelTools CamacIO ScanRoot IO Interface com Histogramação e trigger PelIO Driver CAMAC Alexandre A. P. Suaide
9 Como funciona S S Grava evento Idle 100 ms N N histograma S N Processa
Tem Evento? Passou trigger? S S Grava evento Idle 100 ms N N histograma S 1000 eventos? N Processa requisição S Alexandre A. P. Suaide
10 Verifica se há evento no buffer
Idle 100 ms Processa requisição Tem Evento? S Passou trigger? Grava evento histograma 1000 eventos? N Tem Evento? Driver do CAMAC (Ribas + algumas modificações) O driver do CAMAC responde ao LAM Gera um evento de acordo com o definido pelo usuário (EVS) Armazena em um buffer de memória Tamanho total de 256 kBytes Dividido em buffers menores, cujo tamanho é definido pelo usuário Os dados são transferidos para o programa somente quando há mini-buffers cheios As modificações envolveram o tamanho do buffer e algumas proteções para overflows que estavam ocorrendo para altas taxas de contagem de eventos muito grandes e múltiplos crates Alexandre A. P. Suaide
11 Trigger a nível de software
Idle 100 ms Processa requisição Tem Evento? S Passou trigger? Grava evento histograma 1000 eventos? N Passou trigger? L2Trigger (Level 2) Executado a nível de software Decide se o evento vai ser gravado ou não Código programado pelo usuário em c++/ROOT Limitado somente pela criatividade do usuário Opções para diminuir o tamanho do arquivo de dados Gravar somente eventos em coincidência Gravar eventos de cuja partícula tenha uma certa massa, Z, etc Opcional... Alexandre A. P. Suaide
12 Grava evento Gravação de evento Formato .FIL compatível com SCAN
Idle 100 ms Processa requisição Tem Evento? S Passou trigger? Grava evento histograma 1000 eventos? N Grava evento Gravação de evento Formato .FIL compatível com SCAN Sim ou não, depende do usuário Gravação em disco Fita em fase de implementação Novidades Divisão do arquivo se ele passar um certo tamanho 100, 200 ou 400 MBytes Pode ser desabilitado pelo usuário Alexandre A. P. Suaide
13 Histogramas Todo evento válido chama a rotina de histogramação
Idle 100 ms Processa requisição Tem Evento? S Passou trigger? Grava evento histograma 1000 eventos? N histograma Todo evento válido chama a rotina de histogramação O usuário pode definir, na rotina de histogramação, como e quando um evento é histogramado Código em c++/ROOT Total liberdade, depende somente da criatividade do usuário Tempo morto monitorado pelo programa Não há, nesta versão, nenhum controle imposto pelo programa Alexandre A. P. Suaide
14 Iniciando o programa Digite Spmroot [opções]
-d = habilita modo de degub Imprime o conteúdo de cada um dos eventos, além de outras informações (muito mais lento, afinal é um modo de debug) -c = habilita prompt de comando para o interpretador ROOT/Cint Propicia acesso a todos os recursos do ROOT e um interpretador c++ (>90% compatibilidade com ANSI c++) Alexandre A. P. Suaide
15 SPMRoot – A interface com o usuário
Menu principal Barra de comandos Status Log Alexandre A. P. Suaide
16 SPMRoot – O Menu principal
Alexandre A. P. Suaide
17 SPMRoot – Status Alexandre A. P. Suaide
18 Iniciando um run em 4 passos simples
Carregar o EVO Carregar as definições de histogramas Ligar modo FILA Iniciar o run run_XXXXX_YYY.fil Alexandre A. P. Suaide
19 Algumas opções mais avançadas
Configurando scalers (máximo 10 módulos de scalers) Tamanho do buffer do CAMAC e número de parâmetros Alexandre A. P. Suaide
20 As opções de DISPLAY Janelas gráficas (Canvas), Browsers, PelTools.
21 Como fazer histogramas
Pequena rotina em c++ Todo o poder do c++ e do ROOT disponíveis Não precisa compilar O SPMRoot compila sozinho Mesmo programa pode ser usado offline Espere pelo ScanRoot Header Incluir bibliotecas básicas Definir variáveis globais 4 funções (2 obrigatórias) bookHistograms() fillHistograms() Init() Finish() Clicar em File → Load Histogram Def. Alexandre A. P. Suaide
22 Visualizando histogramas
O TBrowser Similar ao windows explorer Directories, files, etc. Display → new TBrowser Duplo clique no icone Histogramas (conteúdo dos diretórios) Diretórios SPM_Histograms etc Alexandre A. P. Suaide
23 Visualizando histogramas... Canvas e menus no clique do mouse
24 Outras opções de visualização
Múltiplas telas em uma única janela Clique com botão direito na janela e Divide Múltiplas janelas Menu Display → new TCanvas Alexandre A. P. Suaide
25 Analisando dados Usando o prompt de comando (RootCint)
Alta flexibilidade Interpretador c++/ROOT Usando o PelTools Pequena interface gráfica que auxilia, dentre outras coisas Criação de bananas (TCutG) Projeção de histogramas Ajustes de picos, etc Acesse de Display → PelTools Menu Alexandre A. P. Suaide
26 Processando dados offline - ScanRoot
Programa desenvolvido em c++/ROOT para processar arquivos .FIL (similar ao SCAN) digite scanroot Comandos básicos hac("filename") Carrega arquivo de definição de histogramas (mesmo formato do SPMRoot) openInput("filename") Abre o .FIL openOutput("filename",outNumber) Abre um novo arquivo FIL para gravação loadL2("filename") Carrega definição de trigger de software saveHist("filename") Grava arquivo de histogramas go(N) Processa N eventos (N=0 processa o arquivo inteiro) tools() Abre a janela de PelTools help() Alexandre A. P. Suaide
27 Velocidade de processamento
Arquivo .FIL 3.5 M eventos Média de 2 parâmetros/evento Criação de 1 espectro bi-paramétrico simples Aqui vale a discussão qual instantâneo é mais rápido Alexandre A. P. Suaide
28 Tamanho do arquivo de histogramas
3.5 M eventos 1 espectro bi-paramétrico 512 x 512 canais (H32) O ROOT tem grandes vantagens porque os histogramas são gravados de forma mais eficiente enquanto o HIS é totalmente descompactado Alexandre A. P. Suaide
29 Limite de histogramação
Arquivo de histogramas Espectro bi-paramétrico 512 x 512 canais (H32) Detetor de neutrons Aprox. 200 histogramas HIS 15 2D (512x512) hist. Request of bytes is larger than maximum Praticamente não há limite físico no ROOT, limitado basicamente pelo sistema operacional 2GB no ROOT v Alexandre A. P. Suaide
30 Limites de aquisição de dados
Fração de eventos perdidos Detetor de nêutrons completo 72 histogramas multicanais 96 histogramas bi-paramétricos 70 parâmetros/evento em média Micro PIII 1 GHz, 256 MB Histogramando todos os eventos Mostrando 1 histograma na tela, atualizando a cada 5 minutos Alexandre A. P. Suaide
31 STATUS Versão 1 disponível Testado com o detetor de neutrons
SPMRoot ScanRoot PelTools Driver controlador CAMAC c111A turbo Testado com o detetor de neutrons 1 semana de tomada de dados para a tese do Pedro 6,7Li + In, 12 telescópios DEgás-DESi-E + 5 monitores de Si Ainda não implementado/testado IO em fita Vale a pena????? 1 fita hexabyte de 5 GBytes = R$40-50 1 HD 120 GBytes = R$400 Múltiplos crates de CAMAC Manual na sala de controle e na web Alexandre A. P. Suaide
32 O Futuro... Testar múltiplos crates Versão 2 Além da versão 2
Implementado na teoria... Versão 2 Otimização de performance Otimização do driver do CAMAC Otimização de alguns métodos do SPMRoot Melhorar a estética de programação Incluir IO em fita??? Driver para o controlador CAMAC DSP 6002 Melhorar a interface??? Depende das sugestões dos usuários Mais ferramentas de análise no PelTools Além da versão 2 Incluir processamento paralelo para aumentar performance (?) Alexandre A. P. Suaide
33 Algumas informações úteis
Web site do ROOT Alguns documentos, cursos, apresentações e tutoriais sobre o ROOT Manual dos programas mostrados nessa apresentação Esta apresentação Alexandre A. P. Suaide
Carregar ppt "Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide Alexandre A. P. Suaide."
Alexandre Suaide aula 1.
... para pessoas que não sabem c++
UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO DE CIÊNCIAS DA EDUCAÇÃO Curso de Biblioteconomia Disciplina: Automação de Bibliotecas Professora: Úrsula.