Skip to content
Snippets Groups Projects

Allow Tesla to save a filtered copy of the MC event

Merged Alex Pearce requested to merge apearce-tesla-mdst-mc into master
All threads resolved!

This MR adds a Tesla().FilterMC flag that adds Stripping-like MC µDST writer behaviour to Tesla.

It depends on !52 (merged), and indeed it builds on that MR, so the only interesting commit here is 58410541. I can rebase this on top of master once !52 (merged) is merged.

/cc @gcorti @rmatev @raaij @sstahl

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • I am wondering if this should not be the default behaviour? I don't have a strong preference but we couldn't we have this behaviour both for DST and uDST? Meaning Turbo will alway find the related MCParticles in the special location? It will make the file a little bit bigger but it should not be too much larger? And it would allow to have the same configuration for all type of productions...

    \cc @cattanem

  • Roel Aaij
  • Roel Aaij
  • Roel Aaij
  • Roel Aaij
  • I tend to agree with @gcorti concerning the default behaviour

    \cc @jonrob who has a much deeper understanding of how special locations on mDST work.

  • I agree, it could be done. But with these things its often difficult to fully envisage all the implications, so it would be I think a case of testing it.

  • Author Maintainer

    I disagree on making this the default behaviour. It can make things difficult when there are two possibly-overlapping sets of 'base' objects. An example of this is when equality is done on the pointer level, which will fail when the same 'true' object lives is duplicated across two separate TES locations.

  • Alex, the example you give does not really apply, at least not for the current event model. There cannot be the same 'true' object in different containers, i.e. the same pointer cannot be in two containers. You need to either clone an object or remove it from a container to be able to put it in another.

    \cc @clemenci who has a deeper understanding of the TES and of its future

  • Author Maintainer

    Well, yes, this is what I mean. You having the object whose information is exactly the same, but it's been cloned to another location so exists in two places. Then if somewhere you do a pointer comparison, the objects will be deemed different.

    We already have this problem for Turbo and PersistReco, where identical tracks are stored as copies in different containers, but the default overlap check doesn't consider them overlapping because the pointers are different.

    Basically, I'd like to keep things simple, and having duplicated subsets lying around gives more room for gremlins.

  • Alex Pearce added 2 commits

    added 2 commits

    • 3a737f70 - Don't include non-ConfigurableUser objects in used_configurables.
    • d3720d31 - Typo.

    Compare with previous version

  • Alex Pearce resolved all discussions

    resolved all discussions

  • Author Maintainer

    I've address the smaller points @raaij made, and open LBHLT-289 to track the larger one.

    As I said, I'm cautious about making the changes in this MR the default, given my experience during the implementation of how fragile things can be. For now, I'd rather not support having two containers of MC particles existing at the same time, but I'm happy for the discussion to continue on a JIRA.

  • Author Maintainer

    …and to repeat for clarity, this MR depends of !52 (merged), which should be merged first, then I'll rebase this.

  • You can now proceed, @apearce ...

  • Alex Pearce added 6 commits

    added 6 commits

    • d3720d31...f84cd82c - 3 commits from branch master
    • 275fb261 - Allow Tesla to save a filter copy of the MC event.
    • a97b2a27 - Don't include non-ConfigurableUser objects in used_configurables.
    • cea7ea9f - Typo.

    Compare with previous version

  • Author Maintainer

    Thanks @erodrigu! I've rebased now, so the changes contain only what's relevant for µDST with Turbo.

  • mentioned in commit 43cbbb32

  • Alex Pearce mentioned in merge request !58 (merged)

    mentioned in merge request !58 (merged)

  • Please register or sign in to reply
    Loading