Skip to content

Add ProtoParticle association algorithms

Alex Pearce requested to merge apearce-proto-associators into master

Introduce a new package, Rec/GlobalRecoMCTools, which is home to three new algorithms and associated tests:

  1. MergeLinksByKeysToVector: Takes a list of LinksByKeys objects and outputs a std::vector<LinksByKey*> referencing those objects.
  2. MergeRelationsTables: Takes a list of RelationWeighted1D objects and outputs a single, merged RelationWeighted1D object.
  3. ProtoParticleAssociator: Takes a ProtoParticle container and associations of a 'basic' object to an MCParticle object, and outputs ProtoParticle to MCParticle relations.

The first two will be used in Moore to produce unified output relations, rather than the more standard one-table-per-container logic we've had in the past.

The last algorithm is used to create direct proto-to-MC tables, using existing tables provided by Brunel. For example, Brunel outputs Track to MCParticle tables, so the ProtoParticleAssociator takes ProtoParticle objects which reference tracks, finds the MC association by going via the Track object, and creates direct proto-to-MC relations. It does something similar in the CaloHypo-to-MCParticle case. This algorithm will be used in Moore to produce proto-to-MC relations for when Moore is running over Brunel output. See Moore#197 (closed) for more discussion on the general strategy for getting truth-matching in to Moore.

Edited by Rosen Matev

Merge request reports