-
Notifications
You must be signed in to change notification settings - Fork 174
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
feat: Allow volume constrain for propagation #3470
feat: Allow volume constrain for propagation #3470
Conversation
I do not observe any performance changes with the ODD |
Sorry it took so long to get to this PR. I tested it with
I don't think we necessary need to setup I noticed that |
I will take a look
I though I make this sound between this PR and the existing volume lists. A small vector is faster to search through and the interface should be more or less stable |
@timadye the ITk chain should work again now. The problem was just the change from set to list. Do you want to have another look? Should we keep the list or revert back to a set? I think it makes sense to have them both use the same container type and a vector seems a bit more preferable for performance here. What do you think? |
Thinking about this, it would break any user scripts that happen to use In the end, I think these actually belong in the geometry setup, eg. |
This works. With 100 ttbar_pu200 events running Since we don't specify |
That is very odd. I just looked at the code and did not see a reason why this might be the case. I will merge main again maybe it got mixed up somehow |
I compared again the last update of #3470 against its last-merged I thought the two jobs should be running with the same events, since they have the same random number seed, so should have exactly identical results. But since I am running multi-threaded, there is scope for the events to be generated differently, and hence be subject to random fluctuations. To test this, I ran again in single-threaded mode (20 events), and got exactly identical results #3470 vs Sorry for delaying this PR with the spurious conundrum. It otherwise looks good to me. |
…in-propagation-to-volumes
Co-authored-by: Tim Adye <T.J.Adye@rl.ac.uk>
Invalidated by push of 80406de
Co-authored-by: Tim Adye <T.J.Adye@rl.ac.uk>
@timadye the irreproducibility when running MT should be an Athena effect I guess? Otherwise, this would actually be a bit scary. |
I'm running the full chain, so could get events generated in a different order depending on the thread scheduling. Wouldn't that lead to a different random number sequence? |
Quality Gate passedIssues Measures |
Our RNG should give stable random numbers even tho it is scheduled differently. There is a seed for each event and this will be used consistently in MT or ST The output order and the root binning might change though |
Athena failures seem to be due to cvmfs issues |
Add optional volume constrains to the propagation which are executed by the
VolumeConstraintAborter
. This is directly exercised in the track finding and wired to python.This is generally useful if track finding / fitting should be done in a sub detector region. Same goes for simulation and extrapolation.