Having spent many hours working on the simulation software in ATLAS, I thought this would be a good place to explain what on earth that is (H/T to Al Brooks for the title). Our experiment wouldn’t run without the simulation, and yet there are few people who really understand it. So that I don’t have to grossly over-simplify, I’ll try to make this a three-part post. Our “simulation” runs in three steps, so it seemed only appropriate. If you want to read a lot more, albeit a bit of a technical description, you can try the ATLAS simulation paper that we wrote a few years ago (ATLAS’ first cover article!).
Say your friend comes up with a new theory about how the world works. “This theory we have now (the Standard Model) is pretty good,” your friend says, “but it would work way better if we added some meons. See, if we just add meons, we can explain so much more! And if I’m right, then the LHC is making meons every minute!!” You, a member of ATLAS, think your friend is nuts – and you don’t particularly like the name “meons” – so you decide you are going to prove that he is wrong (or, if he’s lucky, help him win the Nobel Prize!).
Unfortunately, you can’t just demand that ATLAS find meons – we wouldn’t know what we were looking for!! So we need to know what reality would look like if there were meons, and if there weren’t meons. Then we can check which one of those our data looks like, and we can say (with some confidence) “Yes, there probably are meons,” or “No, there probably aren’t meons.” In steps simulation, your new hero!
The first step to any good simulation is called “event generation.”
The LHC collides protons. The theory that describes what happens when those protons collide is called Quantum Chromodynamics. It describes how the quarks and gluons inside the protons scatter off one another, how they might create new particles, and how those new particles behave after they’ve been created. Needless to say, it’s really complicated. In fact, for various reasons, there are some things that you just can’t calculate in the theory. There are many event generators, and many are set up to do only one particular thing very, very well. Some of them are wonderfully generic, but often you have to string them together to get a full description of a single collision between two protons at the LHC. FeynRules + MadGraph5 + Pythia8 + EvtGen is one of my favorite combinations lately. FeynRules is particularly cool, because it lets a theorist write down the Lagrangian of their theory in Mathematica (which is a piece of software that almost all theorists use), and then it translates it into rules for Feynman Diagrams, and from there into code that an experimentalist can use.
These event generators give you a list of all the particles that come out of a collision between two protons. If you read these blogs, you’ve probably seen notes about how particles interact with the detector and decay on their own sometimes, so what you really need is a list of particles that stick around for at least one hundredth of a billionth of a second or so. Those are “stable” enough that we should worry about their interacting with the detector. The event generators usually do rather complicated things to get the number of particles of each type right, but they are kind enough to leave us with a record of what they’ve done, like the one in the little picture on the left there. Inside of that record you can often find the original top quarks, or meons in our case, and see whether they decayed, what they decayed into, and what observable particles were produced from them. In fact, it’s a numerical model of a quantum mechanical process, so even we physicists have to remind ourselves not to cheat and look at the internal record from the event generator too often – we should be able to tell a Higgs boson from a top quark from an meon only by looking at the final particles that we can observe in our detector (pions, electrons, muons and so on).
So, to massively oversimplify things, all you do is tell your friend “write down how your meons interact in a program you like”, and after a little bit of work (shortest turn-around I’ve managed is several months), you can have a complete description of all the particles that come out of a collision between two protons when an meon is produced. Now you’re ready for the next step, detector simulation, which will be our next post.
If you are excited about it, you can try running event generation yourself. All the software is publicly available. I would recommend trying to download MadGraph5. Those guys are good at interfaces, and it has cute modules to let you try out various things. It’ll be a little bit of a struggle to understand everything that’s going on if you aren’t a particle physicist, but you can make a lot of pretty cool pictures if you are willing to spend a little time (and it really is doing event generation just like we do!).