ROOT es un framework creado por el CERN (Centro Europeo de Investigación nuclear, siglas en Francés) utilizado para el análisis, recolección y presentación de datos de los diferentes experimentos físicos que se desarrollan en el CERN, específicamente en el LHC. Aún cuando este software fué creado especialmente para funcionar en experimentos de física de altas energías, es también bastante útil en las demás ramas de la física, ya que posee herramientas básicas de análisis que sirven en cualquier campo. Entre muchas fortalezas que tiene este software una de las que más se destaca es la gran capacidad que tiene para crear, manipular e interpretar histogramas. Cabe notar que posee una interface gráfica avanzada (GUI), aunque se recomienda el uso de su shell propia, de tal forma que se pueda aprovechar al máximo sus funciones y clases, además de aprovechar el intérprete CINT.
CINT
Como su nombre sugiere, CINT es un intérprete del lenguaje C/C++, y es parte fundamental del paquete ROOT, aunque está creado independiente de este. Nos brinda una interface de consola en donde podemos ejecutar comandos, funciones o instrucciones en lenguaje C/C++ y el lo interpreta dándonos un resultado de acuerdo a la instrucción escrita. Es una herramienta bastante útil para probar código de C/C++ "al vuelo" y para realizar cosas sencillas en este lenguaje donde la rapidez en escribir el código es más importante que la rapidez en la ejecución de este.
Siempre hemos sabido que el lenguaje C/C++ es compilado, entrando en contraste con aquellos lenguajes interpretados, como python. Pero CINT nos brinda una opción de manejar el lenguaje C/C++ similarmente a como lo haríamos con una shell de python o alguno de estos lenguajes interpretados. De alguna forma brinda una de las ventajas, para los programadores, de estos lenguajes interpretados de alto nivel a un lenguaje de nivel medio/bajo como lo es C/C++.
How to's
Esta sección está dedicada a describir de forma sencilla y abreviada diferentes usos que le podemos dar a la herramienta ROOT del CERN.
Cómo crear un histograma unidimensional a partir de un archivo de texto plano
En este caso suponemos que tenemos un archivo en texto plano con los datos para el eje y, que en este caso se va a llamar tau_ydata.dat. El contenido del archivo de texto lo podemos encontrar en http://www.pastie.org/474973
Para hacer el histograma con dominio (en x) de 0.64 hasta 1.63, llenarlo con los 100 datos obtenidos del archivo de texto y dibujarlo, hacemos los siguientes comandos en una shell de root que este trabajando en el directorio donde se encuentra nuestro archivo de datos:
TH1F* ydata = new TH1F("ydata","Number measured; Energy (q^2)",100,0.64,1.63);
float ydata2[100];
FILE * f = fopen ("tau_ydata.dat","r");
int i=0;
while(fscanf(f,"%lf",&ydata2[i]) == 1) i++;
for (i=0; i<100; ++i) ydata->Fill(ydata2[i]);
ydata->Draw();
Referencias
Página oficial: http://root.cern.ch/
Para CINT: http://root.cern.ch/drupal/content/cint

