La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ROOT Isidro González Caballero ( Técnicas Experimentales en Física de Partículas Curso 2010 - 2011 4.

Presentaciones similares


Presentación del tema: "ROOT Isidro González Caballero ( Técnicas Experimentales en Física de Partículas Curso 2010 - 2011 4."— Transcripción de la presentación:

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


Descargar ppt "ROOT Isidro González Caballero ( Técnicas Experimentales en Física de Partículas Curso 2010 - 2011 4."

Presentaciones similares


Anuncios Google