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

Event resampling support #100

Open
knoepfel opened this issue Oct 28, 2021 · 0 comments
Open

Event resampling support #100

knoepfel opened this issue Oct 28, 2021 · 0 comments
Labels
feature An enhancement to the project

Comments

@knoepfel
Copy link
Contributor

This issue has been migrated from https://cdcvs.fnal.gov/redmine/issues/23925 (FNAL account required)
Originally created by @gaponenko on 2020-01-18 05:39:42


Hello,

Mu2e uses "resampling" techniques in physics studies to increase the
effective statistics of simulated samples. For example, one
simulation job can produce a muon stopping in the Mu2e target. The
next job will "resample" that muon stop event by decaying the muon and
simulating the electron track many times, with different random seeds.

In general, we want the ability to take an existing art event and put
all of its content into an empty event with a new event id. This is
similar to the "event mixing" situation, and Mu2e currently uses a
ResamplingMixer module to support this use case

https://github.com/Mu2e/Offline/blob/master/EventMixing/src/ResamplingMixer_module.cc

However the "resampling" use case is simpler than mixing: there is no
need to aggregate data products. It is sufficient to support the
nSecondaries==1 case, in the mixing terms. The limitation of the
ResamplingMixer implementation is that one has to implement mixing of
all possible user data types (which may be a meaningless concept for
some types), and then provide run time configuration that lists all
products in the event. This is burdensome.

Art can already provide all data products to a module via the
RootInput source, without listing each one explicitly. It would be
useful to add either a new "resampling source" or "resampling module"
to the framework to support the resampling functionality. The new
code should have the same resampling related settings like readMode,
coverageFraction, etc., as the existing mixing code.

It is probably OK to lose provenance of resampled data products; this
is what happens in the current Mu2e ResamplingMixer implementation.

We need a way to preserve original event IDs, even after multiple
stages of resampling. In the ResamplingMixer case this is achieved
by writing out event ID from the current mixing stage in the
finalizeEvent() mixer detail call, and transmitting IDs from earlier
stages via MixOps.

Please consider adding event resampling functionality to the framework.

Andrei

@knoepfel knoepfel added the feature An enhancement to the project label Oct 28, 2021
@knoepfel knoepfel added this to Issues Oct 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature An enhancement to the project
Projects
Status: No status
Development

No branches or pull requests

1 participant