Skip to content

Fix configuration for MT Pileup

Beojan Stanislaus requested to merge bstanisl/athena:master into main

Contains a few configuration changes for MT pileup:

  1. Turns off Digitization.DoXingByXingPileUp when using MT pileup so tools are configured properly
  2. Set low p_T minbias batch size to 128 hard scatter events
  3. Set number of non-reusable background events loaded per batch using a lookup table. This number is set so the probability of running out of background events (per hard scatter) is less than 10^{-6}.

@jchapman, @tadej:

On the topic of 3, this does lead to us being rather wasteful with these background events. It would be better to implement a system that only loads the number of background events needed for a given hard scatter but it's rather difficult to combine this with event skipping. The best solution I can come up with involves:

  1. Having the MinbiasSvc (here it would be a new OnDemandMinbiasSvc) determine which background events are used for a given hard scatter. This means this determination would be made using a separate random number generation strategy (my plan is to use xxhash to hash the event index with a seed) in the MinbiasSvc.
  2. For any event we decide how many background events to load (and their distribution among bunch crossings) assuming all bunch crossings are filled. Some are then just skipped by the pileup algorithm. Otherwise we would need to know the bunch filling pattern for each event to be able to skip the event and that doesn't seem feasible.
Edited by Beojan Stanislaus

Merge request reports