Monte Carlo

Introduction

A Monte Carlo is a program that attempts to simulate some process by randomly sampling from a set of known distributions that characterise it. The random sampling is done using a random number generator that typically returns a value r in the range:-
 0. <= r < 1.
Some examples of random number generators are:- From this starting point it is possible to generate both discrete and continuous processes. As an example of the former, consider the tossing of a coin. Values of the random number r less than 0.5 could be assigned heads and the remainder tails. As an example of the later consider an exponential decay with a decay constant t. This can be produced by the function
-t*log(r)
A wide variety distributions can be generated analytically in this way. In cases where the distribution to be simulated is only available as a histogram, it can be sampled with r by:-
  1. Normalising the histogram to unity.
  2. Returning the value x where the integrated area from the start of the histogram to the point x has the value r.

HEP Monte Carlos

All HEP experiments use Monte Carlos. The software can be roughly divided into two areas:-
  1. Physics This includes the simulation of such things as

    Individual experimental groups tend not to don't write their own software, but instead collaborate to produce codes that can be shared. Some examples are:-

  2. Detector Response Software to simulation

    is normally the area left to individual experimental groups to work on. Nowadays the software is usually written in C++ although some older codes that use Fortran can still be found. People working on Monte Carlo software need to know about Software Development


IT Support
Last modified: Tue Oct 19 18:38:50 BST 2004