23 linkage between low level and high level reco objects#81
Conversation
…troduce-srrecoobjbase
…ase in SRRecoParticle class
73 introduce srrecoobjbase
…l-reco-objects 69 introduce base class for low level reco objects
70 introduce srrecobaseid
…on-functions 71 add reco object particle navigation functions
chenel
left a comment
There was a problem hiding this comment.
This is amazing. Thank you so much for following it through!
My only real comment that you'll see below is I think we want a state-checking method for the ...ID classes that encapsulates the logic checking whether they contain a valid value. I've implemented it in suggestions as an operator bool() overload, but we can discuss if IsValid() (or similar) would be better.
In order to actually merge this, I think we would want to have a paired ND_CAFMaker PR where we actually fill these fields in, so that we can be at least somewhat sure it does something sensible. Up to you whether you want to take a stab at that, or try to recruit someone else 😄
…w-level-and-high-level-reco-objects
|
Hi @wyjang-uta, all feedbacks have been addressed. I think you can add this PR to the next release |
Summary
This implements the reconstructed particle–lower-level object linkage as described in the architecture sketch:
https://github.com/DUNE/duneanaobj/wiki/Reco-Particle--%E2%80%90--Lower-object-architecture-sketch
Changes
SRRecoParticleIDto identify a reconstructed particleSRRecoBaseIDto identify a reconstructed low-level objectSRRecoObjBase.All reconstructed object classes will inherit from this base.
SRRecoParticleto hold anSRRecoParticleIDSRRecoObjBaseto hold anSRRecoBaseIDThis establishes a bidirectional link between reconstructed particles and low-level reconstructed objects.
SRRecoParticleinstances from anSRRecoParticleIDSRRecoObjBaseinstances from anSRRecoBaseID