Métodos de Montecarlo
Física de Astropartículas
Master de Física Fundamental
Juan Abel Barrio, Curso 11/12
Universidad Complutense de Madrid
Detectores de partículas
• Propiedades generales (1.5 h)
• Técnicas de Montecarlo (0.5 h)
• Detectores de radiaciónes ionizantes (2 h)
− Cámaras de ionización
− Detectores de centelleo
− Detectores de estado sólido
• Fotosensores (1 h)
− Fotomultiplicadores
− Detectores de estado sólido
• Técnicas de detección (1 h)
− Espectroscopía con centelleadores
− Detectores de trazas
− Calorímetros
− Detectores combinados (LHC)
Detectores de partículas
• Propiedades generales (1.5 h)
• Técnicas de Montecarlo (0.5 h)
• Detectores de radiaciónes ionizantes (2 h)
− Cámaras de ionización
− Detectores de centelleo
− Detectores de estado sólido
• Fotosensores (1 h)
− Fotomultiplicadores
− Detectores de estado sólido
• Técnicas de detección (1 h)
− Espectroscopía con centelleadores
− Detectores de trazas
− Calorímetros
Índice
• Definición.
• Ejemplo.
• Esquema
• Ejercicio
© Jose Luis Contreras
Métodos Monte Carlo
• Métodos Monte Carlo.
Usan números aleatorios para resolver problemas
.
Simulan ejemplos del comportamiento real de un sistema y promedian
Métodos Monte Carlo
Ejemplo:
Quiero calcular “Pi”.Lanzo dardos al azar sobre un cuadrado que contenga un círculo y cuento cuantas veces doy al círculo.
2 2
2 L
L A
A N
N
cuadrado circulo total
aciertos
⎟⎠
⎜ ⎞
⎝
⎛
=
≈
π
4
≈ π
total aciertos
N N
L
Métodos Monte Carlo
Ejemplo:
Quiero calcular “Pi”.Lanzo dardos al azar sobre un cuadrado que contenga un círculo y cuento cuantas veces doy al círculo.
( x ,i y
i )
2 2 2
2 ⎟
⎠
⎜ ⎞
⎝
< ⎛
+ L
y xi i Elijo puntos aleatorios
en el cuadrado Compruebo si están
dentro del círculo
⎥⎦ ⎤
⎢⎣ ⎡−
∈
⎥⎦ ⎤
⎢⎣ ⎡−
∈
, 2 2
, 2 2
L y L
L x L
i
i Cuento aciertos
Métodos Monte Carlo
Ejemplo:
Quiero calcular “Pi”.Lanzo dardos al azar sobre un cuadrado que contenga un círculo y cuento cuantas veces doy al círculo.
¿ Error ?
total aciertos
N
≈ N λ
Acierto-Fallo dist. binomial
! " ( ) = 1
N
t! ( ) N
a= " ( 1 # " )
N
tP(Na, Nt) = Nt!
Na!(Nt ! Na)!!Na(1! !)Nt!Na; ! = Na
Nt ;" 2(Na) = Nt!(1! !)
Algoritmo
Elijo
¿Dentro?
Éxito ! Fuera Fracaso ! Elijo un par
de numeros aleatorios grande
Ntot
= 0
exitos
N
+1
=
exitos exitos
N N
Repito Ntot veces
4
≈ π
tot exitos
N
N
Métodos Monte Carlo
• Ejercicios Monte Carlo.
Calcular el volumen de una esfera de R= 1 m en 4-D con error del 10% o menor.
Un contador Geiger cilíndrico de diámetro 1cm se coloca a 10 cm de una fuente muy pequeña de 1 kBq. ¿ Cuantas
cuentas detectará? Suponer eficiencia intrínseca unidad.
¿ Como generar numero aleatorios ? (I)
• Uniformes en [0,1]
()
* )
( b a rand a
x = + −
• Uniformes en [a,b]
()
rand
Depende del lenguaje deprogramación
¿ Como generar numeros aleatorios ? (II)
• Siguiendo una distribución dada
Método de hit and miss Elegir un cuadrado que contenga la función
Generar dos números
aleatorios x e y dentro del cuadrado
Conservo la x Si y<f(x)
Las x resultantes están distribuidas siguiendo f(x).
X no valida X valida
¿ Como generar numeros aleatorios ? (III)
• Siguiendo una distribución dada
Método de la función inversa
Calcular la distribución de probabilidad F(a)= P(x<a) Generar un número aleatorio uniforme y en [0,1]
Tomar x = F-1(y)
Las x resultantes están
distribuidas siguiendo f(x).
0
1 Y
y
x
¿ Como generar numero aleatorios ? (IV)
• Siguiendo una distribución dada
Métodos particulares: Ej: para una esfera.
Genero x,y,z uniformes en un cubo de lado L Calculo
Si d < R guardo el punto
Los puntos resultantes son uniformes en la esfera.
son uniformes en la superficie esférica
2 2
2
y z
x
d = + +
φ
θ ,
Resultado Geiger
• Aprox 0.0006238
• MC 0.000620
• PROGRAM GEIGER
• !
• !-Calcula el angulo solido subtendido por un circulo
• ! a cierta distancia de un punto, orientado perpendicualrmente
• ! a la linea que lso une. Por Monte Carlo
• !
•
• ! Parámetros del problema
•
• REAL R ! Radio del circulo
• REAL D ! Distancia del pùnto al circulo
• INTEGER NMAX ! Numero de puntos a generar
• INTEGER NEXITOS ! Numero de exitos
• R = 0.5
• D = 10.
• NMAX = 100000
• NEXITOS = 0
• PI = 2*ASIN(1.)
• Do I=1,NMAX
• !
• !-Genero rayos que salen de la fuente, tomo
• ! theta = 0 en el centro del círculo
• !
• PHI= 2*PI*RAND()
• ! THETA= (PI/2.)*RAND() ! Ojo no es correcto
• THETA= ACOS(RAND()) ! Ojo no es correcto
• !
• ! Calculo las coordenadas del
• ! punto donde cortan el plano Z=D
• !
• TTHETA = TAN(THETA)
• ! WRITE(6,*) 'THETA, TTHETA ', THETA, TTHETA
• IF (TTHETA.GT.0.) THEN
• R1 = D*TTHETA
• IF (R1.LT.R) THEN
• NEXITOS = NEXITOS +1
• ENDIF
• ENDIF
• ENDDO
• !
• EFFI = 0.5*(FLOAT(NEXITOS)/FLOAT(NMAX))
• !
• WRITE(6,*) " La eficiencia es ",EFFI
• APROX = 0.5*(1-SQRT((D*D)/(D*D+R*R)))
• WRITE(6,*) " El valor aproximado es ",APROX