A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Alexandre Suaide Aula 3. ScanROOT ScanROOT = ROOT + SCAN –O ScanROOT corresponde a uma modificação no ROOT para incluir ferramentas de análise específicas.

Apresentações semelhantes


Apresentação em tema: "Alexandre Suaide Aula 3. ScanROOT ScanROOT = ROOT + SCAN –O ScanROOT corresponde a uma modificação no ROOT para incluir ferramentas de análise específicas."— Transcrição da apresentação:

1 Alexandre Suaide Aula 3

2 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

3 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()

4 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

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

6 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

7 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

8 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...

9 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.

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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.

19 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

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

21 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

22 e para finalizar


Carregar ppt "Alexandre Suaide Aula 3. ScanROOT ScanROOT = ROOT + SCAN –O ScanROOT corresponde a uma modificação no ROOT para incluir ferramentas de análise específicas."

Apresentações semelhantes


Anúncios Google