How to prevent particles from going where I don’t want them to?
This is mostly because there are gaps between the cylinders and the curved meshes. Also, you should probably apply the solidify modifiers you are using.



Normally, what I would do is duplicate all the enclosing meshes and use parts of these to make one collision object to keep the particles in but a quicker way is to just use planes and block off these gaps. Planes are rather thin however and not very good collision objects, you should join these together into one object to create a boxlike enclosure.



Make sure the planes intersect the other meshes slightly so that there are absolutely no gaps left for the particles to escape. To make ones for the cylinders as tight as possible, just duplicate the tops, separate it and scale it outwards.



If you have the time, a much better collision object would be something in the shape of your actual model(s) to make sure that the space inside is as closed as possible.