Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porNacho Veron Modificado hace 9 años
1
ROOT Isidro González Caballero ( gonzalezisidro@uniovi.es )gonzalezisidro@uniovi.es Técnicas Experimentales en Física de Partículas Curso 2010 - 2011 4
2
2 http://root.cern.ch
3
3 ROOT en breve ROOT es un entorno Orientado a Objetos programado en C++ para el desarrollo de aplicaciones que manejen grandes volúmenes de datos. Proporciona, entre otras cosas: – Un sistema eficiente de almacenamiento y acceso a datos diseñado para soportar conjuntos de datos estructurados hasta los PB. – Un sistema de consulta (query) para extraer los datos de los ficheros – Un intérprete de C++ (CINT) – Algoritmos de análisis estadístico avanzados (histogramas multidimensionales, ajustes, minimización, etc.…) – Herramientas de visualización científica con gráficos 2D y 3D – Un avanzado Interfaz de Usuario Gráfico El usuario interacciona con ROOT a través del interfaz de usuario gráfico, la línea comando o scripts Los comandos de línea o de los scripts son C++, gracias al interprete integrado de C++, CINT. – Soporta compilación dinámica de los scripts y cargado dinámico Es un proyecto de fuente abierta (Open Source), licenciado bajo LGPL
4
4 Framework y conjunto de librerías Clases de usuario – Cada usuario puede definir nuevas clases interactivamente – Utilizando todos las “maravillas” del C++ – …incluyendo la posibilidad de heredar de las clases de ROOT Enlace dinámico – El código interpretado puede llamar al código de compilado – El código compilado puede llamar al código interpretado – Se puede compilar y enlazar dinámicamente las Macros Modo normal de funcionamiento Interesante para GUIs y visualizadores de sucesos Compilador de macos root >.x file.C++
5
5 Areas de utilización de ROOT Almacenamiento de datos: Localmente o distribuidos Análisis de datos & visualización Framework general
6
6 El interprete: CINT CINT se utiliza en ROOT: – Como interprete de líneas comando – Como intérprete de scripts – Para generar diccionarios de clase – Signals/Slots en los GUI – … El lenguaje de línea comando, script y programación es el mismo Permite compilar fácilmente los scripts grandes para mejorar el rendimiento
7
7 ¿Compilar o interpretar? Compilar Pros: – Ejecución más rápida – El compilador soporta todo el C++ Cons: – Compilar lleva tiempo – El compilador es más estricto con la estructura del lenguaje Interpretar Pros – Ideal para probar rápidamente si algo funciona Edita Ejecuta Comprueba Edita… – En programas simples puede ser más conveniente Cons: – Ejecución más lenta, sobre todo en programas grandes
8
8 Ejecutando código Para ejecutar la función mycode() que está en el fichero mycode.C : root [0].x mycode.C Equivalentemente: Leer el fichero y ejecutar la función: root [1].L mycode.C root [2] mycode() Para conocer todos los comandos de CINT: root [3].h
9
9 Ejecutando código Macro: Fichero interpretado por CINT (.x ) Ejecutar con.x mymacro.C(42) Para compilar.x mymacro.C+(42) int mymacro(int value) { int ret = 42; ret += value; return ret; }
10
10 Ejemplos gráficos ROOT tiene varias clases para representar funciones matemáticas. – La más sencilla es TF1 (todas las funciones en ROOT empiezan con “T”) Buscar la descripción en la página web de ROOT para TF1: http://root.cern.ch/root/html/TF1.html http://root.cern.ch/root/html/TF1.html Hay un constructor (entre otros) que toma cuatro argumentos TF1 TF1(const char* name, const char* formula, Double_t xmin = 0,Double_t xmax = 1)char Double_t Crear la función sin(x)/x en el intervalo 0 < x < 10: Los argumentos del constructor son: El nombre (f1), la expresión de la función (sin(x)/x) y los límites inferior y superior del intervalo (0,10) Truco: Utiliza el tabulador para completar el comando o averiguar la lista de sus argumentos. Ejemplo: root [] TF1 f1("f1","sin(x)/x",0,10); root [] f1.Draw(); root [] f1.
11
11 Histogramas - Intro Echar un vistazo a la macro hrandom.C Creamos dos histogramas: 1. Un solo valor constante 2. Una distribución aleatoria plana en el intervalo (0,1) Buscar la domumentación de: – TH1F – TRandom – THistPainter (opciones de Draw() ) – (TCanvas) – …
12
12 Histogramas - Interactividad Ir al menu View Editor Pinchar en el histograma – Podemos modificar un montón de parámetros Pinchar en el eje – Renombrarlo …
13
13 Histogramas - Ejercicio Hacer una macro que llene un histograma con una distribución aleatoria de forma gaussiana – Media=1 – Varianza=1.5 – Intervalo (-5,5)
14
14 Histogramas – Las 2 dimensiones Echar un vistazo a la macro hrandom2.C Fijarse en: – TH1F TH2F – Damos nombre a los ejes directamente en el código – Elejimos el tipo de histograma que queremos pintar de entre todos los posibles en el código – Damos título al histograma al crearlo
15
15 Ajustes Echar un vistazo a la macro printHisto.C Ejecutarlo sobre el fichero de datos gauss.txt Histograma 1D con forma gaussiana? – Vamos a intentar ajustarlo – Click derecho y Menu FitPanel – Elegimos la función que queremos ajustar
16
16 Ajustes Los parámetros del ajuste salen en el texto Con el botón derecho sobre el resumén del histograma se pueden añadir también ahí ( SetOptFit ) – Media: 1.0 – Sigma: 2.0 Podemos ajustar solo en un intervalo
17
17 Ajustes - Ejercicio Mirar que forma tienen los datos en el fichero de datos gauss2.txt Ajustar adecuadamente…
18
18 Estructuras de datos en ROOT: TTrees Los TTree’s han sido diseñados para soportar colecciones muy largas de objetos. Permiten acceso directo y aleatorio a cualquier entrada del árbol (aunque el acceso secuencial va mejor) Los TTree’s tienen ramas (branches) y hojas (leaves). Se puede leer un subconjunto de las ramas. Hay métodos de alto nivel como TTree::Draw que iteran sobre las entradas con expresiones de selección. Se pueden ver los TTree’s usando TBrowser Se pueden analizar los TTree’s usando TTreeViewer
19
19 Contenido de un TTree 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 T.Fill() T.GetEntry(6) T Memory
20
20 Estructura de un TTree Cada fichero de datos es una colección de N sucesos Cada suceso tiene estructura de árbol con varias ramas – Cada rama puede contener un valor (ej. Número de sucesos)… – … o una colección de valores (momento transverso de los jets) La estructura de cada suceso puede ser muy compleja (RECO, PAT) o plana (Flat Trees)
21
21 TBrowser Usamos la herramienta TBrowser para ver el contenido de los ficheros root [] TBrowser t
22
22 TBrowser
23
23 TBrowser
24
24 TTreeViewer root[] TFile f("staff.root") root[] T->StartViewer() Drag and drop 1 2 3
25
25 Producción del bosón de Higgs SM en el LHC Proceso dominante: gluon fusion Factor 10 de supresión: Vector Boson Fusion (VBF) ttH: importante cerca del límite de LEP? W(Z)H: debido al enorme fondo, no para descubrir
26
26 todas las colisiones no interesan 100 Hz: se registran tal vez interesen (0.0005%) sólo < 1 Higgs por cada 100 000 000 000 interacciones-pp “inteligentes“ estrategias de selección producción en el LHC t trigger: leptones, fotones,E T MISS, …. Secciones eficaces para los procesos del fondo
27
27 Además Además: – Underlying Event: varios “partones“ en interacciones de p – Pile-up: Hasta 23 interacciones-pp solapadas por colisión Por tanto: – 1600 partículas cargadas por cada colision en el detector – efectos del pile-up: tiempo de lectura > t entre colisiones
28
28 Desintegraciones del bosón de Higgs en el SM bW ZZ tt cc gg HDECAY: Djouadi, Spira et al. excluded by LEP excluded by electroweak fit incl. direct searches para M<135 GeV: H bb, dominante para M>135 GeV: H WW, ZZ dominante pequeño: H también importante
29
29 Búsqueda del bosón de Higgs: HWW Nos centraremos en: – Región de masa: M H ~160 GeV – Canal H WW – Con 2 muones en el estado final – Los neutrinos no se detectan Energía faltante en el plano transverso
30
30 Fondos Procesos que pueden dar signaturas similares – WW Signatura idéntica. Irreducible – W + Jets Sección eficaz altísima – Pares de quarks top: ttbar BR[t bW] ~99% – Otros Dibosones: WZ, ZZ – Z + jets Sección eficaz alta, pero no tendría en principio energía faltante – tW
31
31 Muestras Sobre todas las muestras se ha hecho una preselección – µ HLT – Tracks isolation – Calotowers isolationh – Skimming 2 leptones: P T > 20,20 |η|<2.4
32
32 Ejercicio Maximizar la relación entre señal (Higgs) y el fondo (suma de fondos) usando: – Jet veto Número de jets – MET Energía transversa faltante – ΔΦ µµ Ángulo entre los dos muones – m µµ Masa invariante de los dos muones – P Tµmax Momento transverso del muon más energético – P Tµmin Momento transverso del muon menos energético
33
33 Ejercicio II: Datos ProcesoWWW+jetsttWZZZZ+jetstW NLO [pb] 4.513131416.5218.25.9304810.6 skim (%) 18.44.48×10 -4 212.835.4722.42.61 MHMH NLO [pb] skim (%) 130 GeV0.2009322.0 160 GeV0.3850938.5 190 GeV0.2162246.2 Señales (HWW 2l 2n) Fondos La variable Channel nos permite escoger los sucesos según el tipo de los leptones: Channel == 0 2 muones Channel == 1 2 electrones Channel==2 1 muon y 1 electrón L = 36.1 pb -1
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.