Primero hay que cargar un archivo con los datos que queramos utilizar
dimuon <- read.csv("https://indico.cern.ch/event/577111/contributions/2659823/attachments/1498147/2337502/MuRun2010B.csv")
Y ahora vamos a hacer un histograma con las masas invariantes de los dimuones de signos opuestos
hist(dimuon$M, breaks = 108, main = "Espectro de masas invariantes de dimuones de signos opuestos", xlab = "M / GeV", ylab = "NĂºmero de sucesos por bin")
Los bines del histograma tienen 1 GeV, es decir, las masas estĂ¡n agrupadas en clases de 1 GeV de ancho. De momento los elegimos mediante prueba y error...
Parece que hay algo de estructura entre 0 y 10 GeV y, quizĂ¡, habrĂa que mirar cerca de 90 GeV. Desde luego, esa zona a la derecha de 30 GeV hay que verla con otra escala.
Vamos a mirar primero el histograma sĂ³lo entre 0 y 10 GeV
hist(dimuon$M, breaks = 108, main = "Espectro de masas invariantes de dimuones de signos opuestos", xlab = "M / GeV", ylab = "NĂºmero de sucesos por bin", xlim = c(2, 15))
Claramente los bines son demasiado anchos, pasemos (¡prueba y error!) a bines 100 veces mĂ¡s pequeños, de 10 MeV
hist(dimuon$M, breaks = 10800, main = "Espectro de masas invariantes de dimuones de signos opuestos", xlab = "M / GeV", ylab = "NĂºmero de sucesos por bin", xlim = c(2, 110))
Ahora vamos a ampliar ese pico en torno a los 3 GeV
hist(dimuon$M, breaks = 10800, main = "Espectro de masas invariantes de dimuones de signos opuestos", xlab = "M / GeV", ylab = "NĂºmero de sucesos por bin", xlim = c(2, 12))
Pues ahĂ, con una masa de 3.1 GeV hay un pico que se puede interpretar como que hemos redescubierto una partĂcula, la J/psi. TambiĂ©n hay otras regiones que merece la pena explorar en detalle (digamos que entre 3,5 y 4 GeV y tambiĂ©n entre 9 y 10 GeV...)
Ahora vamos a modificar el histograma pasando de barras a puntos (luego habrĂa que poner barras de error. etc).
# Primero extraemos los datos del histograma. Ahora bines de 20 MeV
datos <- hist(dimuon$M, breaks = 5400, plot = F)
# Y ahora los representamos: datos$mids son los centros de los bines y datos$counts el nĂºmero de eventos de cada bin
plot(datos$mids, datos$counts, pch = 16, main = "Espectro de masas invariantes de dimuones de signos opuestos", xlab = "M / GeV", ylab = "NĂºmero de sucesos por bin")
Vamos a ampliar un poco la regiĂ³n de masas entre 9 y 10 GeV (bueno, GeV/c^2)
plot(datos$mids, datos$counts, pch = 16, main = "Espectro de masas invariantes de dimuones de signos opuestos", xlab = "M / GeV", ylab = "NĂºmero de sucesos por bin", xlim = c(9, 10), ylim = c(50, 275))
El siguiente paso lĂ³gico serĂa poner barras de error, arreglar los ejes... pero lo dejaremos para otra ocasiĂ³n.
Y para concluir, volmemos al rango completo y pasamos a una doble escala logarĂtmica
plot(log10(datos$mids), log10(datos$counts), pch = 20, cex = 0.4, main = "Espectro de masas invariantes de dimuones de signos opuestos", xlab = "log M / GeV", ylab = "log N sucesos por bin")
Ahora lo suyo serĂa poner barras de error y rotular bien los ejes...