You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AOD: don't emit MC collisions borrowed from the previous timeframe
With --orbitsEarly (the timeframe history effect in O2DPG), the per-TF
collision context is prefixed with the tail collisions of the previous
timeframe. The AOD producer emitted BC and McCollision rows (plus McParticles)
for these borrowed collisions as well, so merging per-TF AODs produced duplicate,
non-monotonic BC entries and double-counted MC events.
We now apply an ownership cut at mStartIR (orbitFirstSampled): collisions
with globalBC below the TF start are skipped in collectBCs, the
McCollision table and the McParticles table. McCollision indices are
compacted accordingly, and reconstructed-track MC labels pointing
into a dropped collision are invalidated (-1).
The cut is applied uniformly to every TF, including the first one of
a job, so that AODs of neighbouring jobs can also be merged without
duplication. Merged AO2Ds now have a sorted, duplicate-free BC table
and exactly one McCollision row per generated event, making the
post-hoc AODBcRewriter (in O2DPG) repair unnecessary for new productions.
mcColToEvSrc.emplace_back(MCColInfo{iCol, sourceID, eventID, globalBC}); // point background and injected signal events to one collision
2329
+
mcColToEvSrc.emplace_back(MCColInfo{mcCollOldToNew[iCol], sourceID, eventID, globalBC}); // point background and injected signal events to one collision
0 commit comments