Monte Carlo association

The Moore.truth_matching module defines configuration for creating LHCb::ProtoParticle-to-LHCb::MCParticle association tables.

API

Configuration for ProtoParticle-to-MCParticle association.

See the truth_matching method for more details on the API, and Moore#197 for general discussion on truth matching in Moore.

CHARGED_PP2MC_LOC = 'Relations/ChargedPP2MCP'

TES location for charged ProtoParticle-to-MCParticle relations

NEUTRAL_PP2MC_LOC = 'Relations/NeutralPP2MCP'

TES location for neutral ProtoParticle-to-MCParticle relations

truth_match_candidates(candidates)[source]

Return relations tables for the objects produced by the candidates.

Associates ProtoParticle objects selected by lines to MCParticle objects.

If the line outputs refer to the reconstruction from the file (produced by Brunel), the associations are created using the LinksByKey objects from the file (produced by Brunel).

If the line outputs refer to the Moore reconstruction, the associations are created from the ground up using the lower-level associators already in Moore.

However the relations are made, they are first made per ProtoParticle container. In order to provide a fixed number of output tables in well-defined locations, the relations tables we make in Moore are merged into two tables: one for charged protos, and one for neutral. Those locations are returned by this method.

Parameters

candidates (list of candidates) –

Returns

Algorithms needed to run the matching. outputs (list of str): ProtoParticle-to-MCParticle relations tables.

Return type

matching_cf (CompositeNode)

Note

Associating neutral objects created from the Moore reconstruction is currently not supported. This method will raise an AssertionError if it finds line outputs that refer to neutral Moore reconstruction.

truth_match_lines(lines)[source]

Return relations tables for the objects produced by the lines.

Line outputs (candidates) are collected and passed to truth_match_candidates(). See there for more details on the persistence.