Alexandre Suaide aula 4 c++ e Root. Programa Aula 1 –Introdução ao c++ e ROOT –c++ básico Aula 2 –Ponteiros/referências –Usando ponteiros  cálculo de.

Slides:



Advertisements
Apresentações semelhantes
Alexandre Suaide aula 1.
Advertisements

... para pessoas que não sabem c++
... para pessoas que não sabem c++
Alexandre Suaide aula 2.
Programação em Java Prof. Maurício Braga
WINDOWS Sistemas Operacionais PLATAFORMA TECNOLÓGICOS
Disciplina: L.A.M. Professor: Roberto Ferrari
Aula de hoje PowerPoint; Vantagens do PowerPoint; Area de trabalho;
Alexandre Suaide Aula 3.
Um novo sistema de aquisição de dados para o Laboratório Pelletron/LINAC Alexandre A. P. Suaide Alexandre A. P. Suaide.
Informática Aplicada.
Primeira aula de laboratório
Aula 02 de Excel.
Como utilizar esta ferramenta para apresentações profissionais.
Windows Prof.: Valter N. Silva
Tutorial de utilização do
Links Rollover image Tabelas
CURSO DE LINUX EDUCACIONAL
Personalizando Tabelas
Informática 2° Bimestre Luiz Antônio.
Sistema Operativo em Ambiente Gráfico
Como instalar e executar o programa
Processos & Sistemas de Sinistros Novo Orçamento Web
Animações no Power Point
Microsoft Office Excel
Treinamento do Microsoft® Access® 2010
Criando Apresentações
Aula prática 13 Orientação a Objetos – C++ Parte 1
Aula prática 6 Vetores e Matrizes
Treinamento do Microsoft® Word 2010
Na barra de mensagens, clique em Habilitar Edição,
INFORMÁTICA PARA CONCURSOS
Thiago Francisco Bergmann-
POWER POINT.
GERENCIANDO PORTAIS COM O CMS Prof. Bruno Catiari - Faculdade São Mateus.
POWER POWER POINT POINT.
Instalação  A tela abaixo é a primeira a aparecer durante a instalação do Caché 5. O diretório selecionado será usado para salvar alguns arquivos usados.
Windows Sistema operacional da Microsoft
Word Prof. Gláucya Carreiro Boechat
07/04/2017 Linux Ubuntu 2.
Capítulo 5 Structures. A - Sequence E - Formula Node B - Case F - Variável Global C - For Loop G - Variável Local D - While Loop ABCD FG E.
ÁREA DE TRABALHO DO WINDOWS
APRESENTANDO O TECLADO
Como gerar uma bacia a partir de um MNT usando o TAS
Referência Rápida do Lync 2013 CONFIDENCIAL. Distribuição apenas para parceiros sob acordo de confidencialidade. A Microsoft não oferece garantias, expressas.
Introdução ao aplicativo Lync da Windows Store Lync 2013.
7 - Criação de Páginas Web
CAD AutoCAD Mouse Menu de barras.
WINDOWS EXPLORER.
Backup DE DADOS DO USUÁRIO. Cópia de segurança dos dados no computador, alguns fáceis e outros trabalhosos, de acordo com a quantidade de dados. Utilizado.
Encontrar e entrar em uma sala de chat Use a pesquisa do Lync para encontrar salas às quais você tenha acesso. Referência Rápida do Lync 2013 Chat Persistente.
Novas Tecnologias Na Formação
Coordenação Regional de Tecnologia na Educação
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Aula – Sistemas Operacionais
Instalação de sistemas operativos
Aula 2 Conhecimento básico do Windows (ícones, menus,pastas, arquivos); Aprender a usar pen drive e fazer a transferência de fotos de câmera digital.
Novos programas de TIC Flash/Dreamweaver. Conceitos e 1º acesso ao FLASH Conceitos e 1º acesso ao DREAMWEAVER Instalação.
Microsoft Excel.
Linguagem de Programação
(SISTEMA INFORMATIVO DE CONVÊNIOS)
APRESENTAÇÃO PORTAL CITI CONTA CORRENTE
Financeiro - Boleto : Remessa e Retorno
PROF. DR. DIVINO IGNÁCIO RIBEIRO JR DEPARTAMENTO DE BIBLIOTECONOMIA E GESTÃO DA INFORMAÇÃO - FAED EndNote X5 – Gerenciador de Referências Bibliográficas.
TV de Bolso TV de Bolso apresenta Tutorial: editando seu vídeo no Movie Maker.
Configurações do rádio portátil. Selecionar esta opção para configuração do rádio portátil.
Questionário (Básico) Autor: Skyup Informática. Atividade - Questionário O módulo permite criar uma série de questões, que deverão ser respondida pelos.
Aline Oliveira Everton Godoy Gabriel Leoni Lenilton Rocha Nelson Deda.
FUI Tiago Alves de Oliveira. Editores de Texto Word LibreOffice Writer AbiWord Pages.
Transcrição da apresentação:

Alexandre Suaide aula 4 c++ e Root

Programa Aula 1 –Introdução ao c++ e ROOT –c++ básico Aula 2 –Ponteiros/referências –Usando ponteiros  cálculo de cinemática Aula 3 –Classes e objetos –ROOT como ferramenta de programação/análise Aula 4 –Classes e objetos no ROOT Aula 5 –Análise de dados no Pelletron (ScanROOT)

Gravando objetos em arquivos.root Ok, criei meus gráficos, histogramas, funções ou qualquer outro objeto do ROOT. Como eu posso armazená-los? O Root possui um sistema de arquivos complexos, onde TODOS os seus objetos podem ser salvos em um arquivo com estrutura de diretórios. TFile –Classe do ROOT para abrir, ler, gravar e manipular arquivos.root

TFile: Gravando objetos em um arquivo Uso –TFile f(“nome_do_arquivo”,”opções”); –TFile* f = new TFile(“nome_do_arquivo”,”opções”); Opções –NEW ou CREATE – Abre o arquivo para escrita. Se o arquivo já existir, nada acontece –RECREATE – Abre a arquivo para escrita. Se o arquivo já existir, escreve por cima. –READ (ou sem opção) – Abre o arquivo para leitura. Gravando e lendo objetos –Para gravar, use a função Write() dos objetos a serem gravados –Para ler, use a função Get(“nome”) do objeto TFile

Gravando objetos no arquivo (Write) Criamos vários objetos em vários exemplos. Como podemos gravá-los em um arquivo? TFile file("teste.root","RECREATE"); file.cd(); // muda o diretorio padrão para o arquivo criado g->Write(); dedx->Write(); f->Write(); h->Write(); h2->Write(); projTotal->Write(); projBins->Write(); file.ls(); // lista o conteudo do arquivo file.Close(); // fecha o arquivo

Lendo objetos do arquivo (Get) Como eu recupero o histograma “h2” do arquivo? –O importante são os nomes dos objetos, que se obtém a partir do método ls() da classe TFile. TFile file("teste.root"); // abrir para leitura file.cd(); TH2F* myhist = (TH2F*)file.Get(“h2”); myhist->Draw(“colz”); Importante!!! –Não feche o arquivo enquanto estiver trabalhando com o histograma, pois o mesmo será removido da memória

ROOT e a interface gráfica O uso do ROOT em linha de comando é bastante útil –Permite automatizar as tarefas –Possibilidades praticamente ilimitadas –Análises complexas Porém, muitos atributos podem ser alterados graficamente –Torna a manipulação mais fácil e intuitiva no mundo “for windows” atual O ROOT possui uma interface gráfica com recursos complexos (e em expansão).

TBrowser Interface gráfica para navegar os arquivos e objetos na memória do computador new TBrowser();

TCanvas Janela gráfica para uso geral (use botão da direita para menus) new TCanvas();

TCanvas (editor e toolbar)

ScanROOT ScanROOT = ROOT + SCAN –O ScanROOT corresponde a uma modificação no ROOT para incluir ferramentas de análise específicas do Pelletron Comandos –scanroot Para iniciar o programa –scanroot –h Mostra um help com as opções de inicialização –scanroot –d Inicia o scanroot em modo de debug –scanroot –n Inicia o scanroot sem abrir os menus

Interface gráfica e analogia com funções pré- definidas Todas os botões do menu do ScanROOT possuem análogos na linha de comando openInput(“nome.fil”) closeInput() openOutput(“nome.fil”) closeOutput() saveOnlyNewPar(bool) hac(“histogram.cxx”) saveHist(“histogram.root”) addHist(“histToAdd.root”) loadL2(“l2File.cxx”) unloadL2() zero() zero(“histName”) go() go(NEventos) setNPar(NParameters) init() finish() tools() debug(bool) stat() help()

Como rodar um arquivo.FIL e criar histogramas Através da interface gráfica –Load Histograms Abra o arquivo.cxx (ou.so) contendo as funções de preenchimento dos histogramas –Open.FIL Escolha o arquivo.FIL adequado –Zero Digite * para zerar todos histogramas. Não utilizar caso queira somara a estatística de vários runs –Go Digite o número de eventos a serem processados (ou deixe em branco para processar todos os arquivos) –Save histograms Escolha o nome do arquivo a ser salvo

Acessando os histogramas com TBrowser Abrir uma janela do browser –Menu -> PelTools Menu -> Browser Os histogramas ficam armazenados no diretórios SCAN_Histograms

Automatizando o processamento dos arquivos.FIL Como os comandos do menu do ScanRoot também estão disponíveis através de funções, pode-se utilizar macros para automatizar o processamento de dados Exemplo: arquivo macro.C void macro() { hac(“histogramas.cxx”); openInput(“run01.fil”); zero(); go(); saveHist(“run01.root”); openInput(“run02.fil”); zero(); go(); saveHist(“run02.root”); } No prompt do scanRoot digite:.x macro.C

Como processar os dados? As análises de dados no Pelletron concentram-se em fazer histogramas e contas com os dados brutos para posterior analise. –Processamento dos arquivos.FIL –Histogramas.cxx (ou qualquer outro nome) 4 funções (duas delas são obrigatórias) –bookHistograms(ScanRoot *scan) »Cria os histogramas e faz o link entre o scanRoot e a rotina de processamento –fill(int npar, float* par) (ou qualquer nome) »Processa os dados a cada evento –init() (opcional) »Inicializa o processamento de um novo run –finish() (opcional) »Encerra o processamento de um run

Histogramas.cxx 3 blocos –Definição das diretivas de pré-compilação O gcc (compilador c++) não conhece o ROOT. Deve-se indicar quais as classes do ROOT devem ser adicionadas durante a compilação –Definição de variáveis globais Variáveis que serão utilizadas em todas as funções –Funções do programa bookHistograms, fill, init, etc...

Diretivas de pré-compilação O gcc (compilador) não conhece o ROOT. Conhece apenas o c++ padrão. –As diretivas #include “arquivo” incluem as definições das classes do ROOT –Como eu sei qual arquivo deve ser incluído Na documentação do ROOT para cada classe que será utilizada pelo programa –Deve-se sempre incluir o ScanRoot.h para o compilador reconhecer o objeto ScanRoot.

Variáveis globais A forma mais simples de acessar variáveis entre diferentes funções é torná-las globais –Definição das variáveis fora do escopo das funções Nesse exemplo, os ponteiros para os histogramas são definidos como globais

Funções (bookHistograms) bookHistograms(ScanRoot *scan) –O nome dessa função deve ser sempre esse –Executada somente quando o programa é carregado na memória –Cria os histogramas –Faz o link entre a sua função de análise e o ScanROOT

Funções (fillHistograms) fillHistograms(short npar, float* par) –O nome dessa função pode variar. Deve-se ter o cuidado no momento de linkar com o ScanRoot na função bookHistograms –Executada a cada evento –Preenche os histogramas e faz contas com os parâmetros –Pode fazer o que você quiser, inclusive chamar outras funções

Analisando os dados: PelTools Após os dados serem processados, os histogramas podem ser salvos ou analisados. –Os histogramas podem ser acessados com o Browser, no diretório Scan_Histograms PelTools –Ferramentas para análise de dados Menu->PelTools Menu –A maioria das operações são realizadas sobre os histogramas na tela gráfica (TCanvas) padrão Aquela com a borda colorida

Fazendo ajustes de picos Picos podem ser ajustados usando o próprio ROOT –TF1 e hist->Fit() O pelTools tem uma função de ajuste de picos –Picos gaussianos simétricos ou não –Fundo polinomial Procedimento –Desenhe o espectro a ser ajustado na tela (TCanvas) ativa –Ajuste os limites inferior e superior para o ajuste na própria escala do gráfico –Pressione o botão Fit 1D peaks

Fazendo ajustes de picos Ajustar as configurações no painel de ajustes –Tipo de pico –Tipo de fundo Ajustar, se necessário, os limites nos parâmetros do ajuste –Clicar em Details Marcar, com o mouse, as posições dos picos –E larguras, dependendo do tipo de seleção feita Marcar, com o mouse, os pontos a serem utilizados para pré- ajuste do fundo –Se não for marcado, o programa assume o primeiro e último ponto válido para o fit –Se marcar background independente, o ajuste do fundo é feito independentemente dos picos

Fazendo ajustes de picos Clicar em Fit para ajustar –Clicar em Fit utiliza os seus parâmetros iniciais para o ajuste. –Clicar em Improve Fit, usa os parâmetros do último Fit como início para uma próxima rodada Clicar em Reset limpa tudo Clicar em Draw, desenha os chutes iniciais

Bananas não são abacaxis muito grandes... Bananas são poligonais criadas para selecionar regiões de histogramas bi-dimensionais –Bananas no ROOT são objetos da classe TCutG Criando bananas e salvando-as em arquivos –No menu do PelTools clicar em New cut file (ou Open cut file) Create cut –Desenhar a banana (duplo clique fecha a banana) Save current cut –Digitar o nome da banana a ser salva no arquivo

Usando bananas e fazendo contas com parâmetros Receita –Deve-se criar variáveis globais para acomodar os ponteiros para as bananas –Abre-se o arquivo de bananas no bookHistograms Não fechar os arquivos –Usa a função TCutG->IsInside(x,y) para verificar se o par de parâmetros está ou não dentro da banana Checar se os parâmetros existem antes aumenta consideravelmente a velocidade de processamento.

Exemplo: fazer um espectro calibrado e com vínculo a uma banana Checar a existência dos parâmetros antes das contas aumenta muito a velocidade O vetor par[] contém os dados extraídos do.FIL. Outras grandezas podem ser variáveis normais Use a função IsInside(x,y) para verificar se o par está no interior da banana O arquivo de bananas não deve ser fechado caso contrário o objeto é removido da memória

Resultando em... O programa anterior, cria um espectro bi-dimensional calibrado em energia além de criar um espectro calibrado vinculado a uma banana

O que foi visto até aqui Usar o ROOT se resume em: –Saber um pouco de c++ –Conhecer as classes do ROOT Muito pode ser feito com algumas classes básicas –Histogramas, gráficos e funções –Ser criativo para aproveitar as ferramentas O ScanRoot consiste de –Uma série de classes e funções para incluir ferramentas típicas do dia a dia do Pelletron Processamento dos dados no nosso formato Como eu posso avançar? –Tentando... Nesse ambiente, tentar resolver os problemas é a melhor forma de aprendizado... –e perguntando Sintam-se à vontade para me encher a paciência

e para finalizar