Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Animate pileup interactions? #235

Open
cohm opened this issue Mar 18, 2021 · 3 comments
Open

Animate pileup interactions? #235

cohm opened this issue Mar 18, 2021 · 3 comments

Comments

@cohm
Copy link

cohm commented Mar 18, 2021

Hello!

First of all, Phoenix is fantastic - thanks a lot for developing it!

I have an idea for a feature request, and if we can develop a plan for how it can be implemented, I could possibly try to find some person-power to implement it.

At the HL-LHC we'll have precision-timing detectors in ATLAS and CMS that will help to separate the particles produced in up to 200 pp collisions that happen in a single bunch-crossing. It would be really fantastic to be able to animate this, just like the animate function now does. It's really not that much missing:

  • Functionality to animate several pp interactions instead of just one (incoming bunches might be needed, but not exact proton pairs matching to create the collisions, I think - it will be quite crowded anyway)
  • If a comprehensive truth-record is fed in (we would have ~1000 particles), the interactions would be created at the time stored for each primary vertex, and the particles from each interaction would come out of that point.

Does this sound like an interesting feature? And would it be feasible to implement? If there are some pointers to the relevant parts of the code and a brief set of steps the experts foresee are needed, I could try to find a willing student, perhaps :)

Best,
Christian

@EdwardMoyse
Copy link
Collaborator

Hi @ohm - I think this should definitely be doable! Nice idea. I think if we can get hold of a dataset we could have a think about how best to do it (and a student to work on this would be fantastic as well).

@9inpachi
Copy link
Collaborator

9inpachi commented Mar 18, 2021

Hi @cohm - Looks like a good idea!

Unfortunately, I am not a physics guy so I can't really make out most of the jargon used.
If there is a student willing, I can help and pair with them to work this out.

For the code, we have an AnimationsManager that handles everything animation related in the event display. Since it's pretty decoupled - adding a couple of methods should make it possible to make the animation work.

@cohm
Copy link
Author

cohm commented Mar 18, 2021

Thanks for the quick and positive replies, @EdwardMoyse and @9inpachi!

A bit of explanation then: we actually circulate bunches of 10^11 protons squeezed into roughly the volume of a human hair - A few 10s of micrometer in x and y but ~10 cm in z. When two such bunches traveling at a speed near that of light cross, we get several collisions during a period of a few hundred picoseconds, simply because the protons in the incoming bunches are spread out in z. At the High-Luminosity LHC we'll get up to 200 collisions between individual proton pairs in a bunch crossing.

  • We're at most interested in one of these collisions, and the rest just make the measurement of that one interesting collision more difficult as they create "noise".
  • The new precision timing detectors will allow time-stamping particles with ~30 ps resolution, making it possible to discern the different collisions in the same bunch crossing by exploiting this spread in time (as well as the spatial spread).

In the attached animation you see two charge distributions approaching each other, and where the resulting collisions happen in time and space:

crossing.mp4

The idea would be to feed in a structure that holds info about several pp interactions, each with a time stamp, and each with a collection of outgoing particles. The graphics seems to be all in place already, but I guess the surrounding code would need to be generalized a bit to handle drawing up several collections of tracks starting from their respective origins at the specified time.

Hope this helps to clarify what I'm after!

Best,
Christian

PS. Any chance we can get a Phase-II ATLAS into Phoenix, @EdwardMoyse? Happy to provide a gdml file if that helps ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants