Skip to content

Allow relations table cloning without cloning source ProtoParticle objects

Alex Pearce requested to merge apearce-microdst-relations-cloning into master

This MR adds two things:

  1. A flag on the base relations table cloner that makes cloning the 'from' (proto)particles optional; and
  2. A new cloner algorithm CopyProtoParticle2MCRelations that can copy ProtoParticle to MCParticle relations tables, supplementing the existing CopyParticle2MCRelations relations table cloner.

The need for these two things comes from Tesla, where we want to support microDST-like cloning of the MC event.

Tesla already puts all of its particles and proto-particles under /Event/Turbo, so we don't need a cloner to copy them there. But we do want a cloner to copy the MC particles there. So, Tesla makes PP2MCP relations tables in /Event/Relations, and then the new CopyProtoParticle2MCRelations cloner can take those tables as inputs, copying the MCParticle objects that are referenced within, without also requiring that the reference ProtoParticle objects are also cloned.

/cc @gcorti (who I've spoken to about this) @jonrob (who I think has worked on microDST cloners before) @rmatev and @raaij (who helped with the implementation)

Merge request reports