The Monte Carlo simulation is a very important tool in particle physics specially to tune in the preciseness of the real time experiment. In particle physics, I had an opportunity to work on the data analysis of neutrino flux produced from the g4numi (the Neutrino beam from main injector, in FERMI lab). The simulation gives information like the production vertex of parent neutrinos, their velocity, momentum, the production vertex of neutrinos and other important information besides the regular neutrino flux obtained at different energy spectrum. I was mainly curious about the monte carlo itself. I tried to find a simple explanation on the design of the monte carlo like how do they determine the geometry of the beamline, the particle trajectory at various places (like the target where the proton hits, the decay area where mesons decay) and so on. How do they feed the probabilistic paths and particle interactions that take place in real life and how do they design or control the big events like hadron showers in special cases? I am not sure if it was a proper place to pose this question but any guidance will be highly appreciated. Thank you.
I am not familiar with your particular case, but I can try to answer it in general terms. The physics theory (including experimental observation) gives a mathematical model for the probability distribution of the process being described. For example the angular distribution of neutrinos resulting from a given reaction(direction and azimuth). The Monte Carlo process starts with two random numbers (uniformly distributed between 0 and 1) and selects two angles using the given distributions. http://en.wikipedia.org/wiki/Monte_Carlo_method
Well, there are various pieces that go into the Monte Carlo. There are codes that deal with each of the bits. You basically have to simulate the hard parton-parton scattering event, taking into account the beam energy/geometry, which generates your new particles; do the probabilistic decay of these things, and simulate the transport of this radiation/matter through the detector, and model all the interactions with the detector material as well as the detector response (i.e. the electronic readouts). The vast majority of CPU time is burned on this detector simulation. ATLAS and CMS have full 3D models of their entire detectors, down to quite small details, built using a package called GEANT4 (http://en.wikipedia.org/wiki/Geant4), and this full simulation is run for thousands/millions of collision events. Again, the CPU requirements are immense.
The main benefits are the stochastic uncertainties. For a n-particle final state, each with different momentum configurations. That's a lot of degrees of freedom. So other types of simulation fail. The use of pseudo random numbers in the generation also mimics the quantum probability. You don't know exactly what an event will be before you measure it... Also, as people have mentioned, the full simulation generally has several sub processes. These are implemented sequentially by MC methods. So you can chain up several complicated independent sub processes quite easily. Hope this helps
Hi. I guess I am a bit late to the topic, but in case you are still curious here is my input. It looks like kurros is right and they are using Geant4 for the Monte Carlo of the g4numi beamline. (link to pdf), along with a second system called FLUKA. The reason the simulation is called g4numi is in fact the use of Geant4. They will create a CAD-model of the hardware (as you can see in the pdf linked above), the they will add a very detailed model of electromagnetic fields etc. In Geant4, you would start by specifying particle for which you know the momentum vector and then simulating what happens to this particle. In the case of g4numi, I guess you would start by specifying the protons that would arrive from the main injector. If you assume that you know the protons' direction and velocity (because you know what particles you should be getting from your injector), you can go ahead and simulate their interaction with the NuMI carbon target, which is where the neutrinos are created. Once the protons leave the vacuum and hit the carbon target, the Geant4 Kernel will look at a list of all the physics processes which can occur for a proton (Elastic electromagnetic scattering, elastic strong force scattering, Bremsstrahlung...) and calculate how far the protons will travel before any of these processes occur. Geant4 then finds the process with the shortest distance and propagates the particle that far. How exactly these calculations are done depends on the kind of physics. For some processes, very detailed and accurate theoretical models exist. For other processes (like neutron scattering), high precision estimates are generated by using a huge database of experimental results (which is part of the Geant4 library) and interpolating. For showers, generally parametrized models are available, but it is up to you whether you tell Geant4 to use these - depends how many CPU-hours you can spare ;-) Btw, you can run some of these simulations on your desktop. If installing Geant4 is a bit much check out the Wisp Geant4 GUI.