Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC...
Transcript of Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC...
![Page 1: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/1.jpg)
Alexandre A. P. Suaide
Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC
Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC
Alexandre A. P. Suaide
![Page 2: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/2.jpg)
Alexandre A. P. Suaide
MotivaçãoMotivação
• Sistemas complexos de deteção– 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...
![Page 3: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/3.jpg)
Alexandre A. P. Suaide
RequisitosRequisitos
• 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
![Page 4: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/4.jpg)
Alexandre A. P. Suaide
ROOT – Uma das ferramentas mais poderosas em termos de análise de dados
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...
![Page 5: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/5.jpg)
Alexandre A. P. Suaide
ROOT – Um pouco de propagandaROOT – Um pouco de propaganda
• Várias opções de histogramas e gráficos em 1 dimensão
![Page 6: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/6.jpg)
Alexandre A. P. Suaide
ROOT – Um pouco de propagandaROOT – Um pouco de propaganda• Várias opções de histogramas em 2 dimensões
![Page 7: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/7.jpg)
Alexandre A. P. Suaide
SPMRoot – um novo sistema de aquisiçãoSPMRoot – 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
![Page 8: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/8.jpg)
Alexandre A. P. Suaide
Estrutura da aquisição de dadosEstrutura da aquisição de dados
SPMRoot
CamacIO
PelIO
ScanRoot
PelTools
Driver CAMAC
ROOT
Interface comHistogramaçã
oe
trigger
Pacote deanálise de
dados
IO
![Page 9: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/9.jpg)
Alexandre A. P. Suaide
Como funcionaComo funciona
Idle100 ms
Processa requisição
Tem Evento?
S
Passoutrigger?
Gravaevento
histograma
1000 eventos?
S S
S
N N
N
![Page 10: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/10.jpg)
Alexandre A. P. Suaide
Verifica se há evento no bufferVerifica se há evento no buffer
Idle100 ms
Processa requisição
Tem Evento?
S
Passoutrigger?
Gravaevento
histograma
1000 eventos?
S S
S
N N
N
• 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
Tem Evento?
![Page 11: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/11.jpg)
Alexandre A. P. Suaide
Trigger a nível de softwareTrigger a nível de software
Idle100 ms
Processa requisição
Tem Evento?
S
Passoutrigger?
Gravaevento
histograma
1000 eventos?
S S
S
N N
N
Passoutrigger?
• 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...
![Page 12: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/12.jpg)
Alexandre A. P. Suaide
Grava eventoGrava evento
Idle100 ms
Processa requisição
Tem Evento?
S
Passoutrigger?
Gravaevento
histograma
1000 eventos?
S S
S
N N
N
• 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
Gravaevento
![Page 13: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/13.jpg)
Alexandre A. P. Suaide
HistogramasHistogramas
Idle100 ms
Processa requisição
Tem Evento?
S
Passoutrigger?
Gravaevento
histograma
1000 eventos?
S S
S
N N
N
• 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
histograma
![Page 14: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/14.jpg)
Alexandre A. P. Suaide
Iniciando o programaIniciando 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++)
![Page 15: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/15.jpg)
Alexandre A. P. Suaide
SPMRoot – A interface com o usuárioSPMRoot – A interface com o usuário
Menu principalBarra de comandos
Status
Log
![Page 16: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/16.jpg)
Alexandre A. P. Suaide
SPMRoot – O Menu principalSPMRoot – O Menu principal
![Page 17: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/17.jpg)
Alexandre A. P. Suaide
SPMRoot – StatusSPMRoot – Status
![Page 18: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/18.jpg)
Alexandre A. P. Suaide
Iniciando um run em 4 passos simplesIniciando um run em 4 passos simples• Carregar o EVO • Carregar as definições de histogramas
• Ligar modo FILA • Iniciar o run
![Page 19: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/19.jpg)
Alexandre A. P. Suaide
Algumas opções mais avançadasAlgumas 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
![Page 20: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/20.jpg)
Alexandre A. P. Suaide
As opções de DISPLAYAs opções de DISPLAY• Janelas gráficas (Canvas), Browsers, PelTools.
![Page 21: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/21.jpg)
Alexandre A. P. Suaide
Como fazer histogramasComo 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.
![Page 22: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/22.jpg)
Alexandre A. P. Suaide
Visualizando histogramasVisualizando histogramas
• O TBrowser– Similar ao windows explorer
• Directories, files, etc.
– Display → new TBrowser
• Duplo clique no icone
DiretóriosSPM_Histograms
etc
Histogramas(conteúdo dos
diretórios)
![Page 23: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/23.jpg)
Alexandre A. P. Suaide
Visualizando histogramas... Canvas e menus no clique do mouse
Visualizando histogramas... Canvas e menus no clique do mouse
![Page 24: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/24.jpg)
Alexandre A. P. Suaide
Outras opções de visualizaçãoOutras 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
![Page 25: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/25.jpg)
Alexandre A. P. Suaide
Analisando dadosAnalisando 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
![Page 26: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/26.jpg)
Alexandre A. P. Suaide
Processando dados offline - ScanRootProcessando 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()
![Page 27: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/27.jpg)
Alexandre A. P. Suaide
Velocidade de processamentoVelocidade 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 0 0,5 1 1,5 2
tempo (segundos)
Tempo de processamento
SCAN
ScanRoot
![Page 28: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/28.jpg)
Alexandre A. P. Suaide
Tamanho do arquivo de histogramasTamanho do arquivo de histogramas
• 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
30
1024
0 500 1000 1500
tamanho (kBytes)
Tamanho do arquivo de saída
HIS
ROOT
![Page 29: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/29.jpg)
Alexandre A. P. Suaide
Limite de histogramaçãoLimite 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 16777220 bytes
is larger than maximum 16777216
• Praticamente não há limite físico no ROOT, limitado basicamente pelo sistema operacional
– 2GB no ROOT v. 3.04.05
>15000
15
0 5000 100001500020000
Número máximo de histogramas
Número máximo de histogramas
HIS
ROOT
![Page 30: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/30.jpg)
Alexandre A. P. Suaide
Limites de aquisição de dadosLimites 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
0
0,05
0,1
(%)
100 500 1000 1500 2000 2500 3000
Taxa de contagem (Hz)
Fração de eventos perdidos
![Page 31: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/31.jpg)
Alexandre A. P. Suaide
STATUSSTATUS
• Versão 1 disponível– 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 Egás-ESi-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• http://star4.if.usp.br/~suaide/pelletron/index.htm
![Page 32: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/32.jpg)
Alexandre A. P. Suaide
O Futuro...O Futuro...
• Testar múltiplos crates– 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 (?)
![Page 33: Alexandre A. P. Suaide Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide.](https://reader036.fdocument.pub/reader036/viewer/2022081417/552fc102497959413d8be2d2/html5/thumbnails/33.jpg)
Alexandre A. P. Suaide
Algumas informações úteisAlgumas informações úteis
• http://root.cern.ch– Web site do ROOT
• http://dfn.if.usp.br/~suaide/root– Alguns documentos, cursos, apresentações e tutoriais sobre o
ROOT
• http://star4.if.usp.br/~suaide/pelletron/index.htm– Manual dos programas mostrados nessa apresentação
• http://dfn.if.usp.br/~suaide/pelletron/talks/Aquisicao.ppt– Esta apresentação