Skip to content

Handle FlowElements correctly in MET overlaps

William Keaton Balunas requested to merge wbalunas/athena:feMET-210329 into master

Validation of MET reconstructed with FlowElements turned up some differences with respect to PFO-based MET. We traced this back to the overlap type bitmask in MissingETAssociation, where each bit corresponds to a certain object type (according to its xAOD::Type::ObjectType). However, this bitmask is represented as a char (8 bits), but the ObjectType for FlowElement maps to 11, so there's actually no corresponding bit.

This implements a solution: Since FlowElements are always used to represent some underlying object (specified by their SignalType), I've introduced a special case where if our object is a FlowElement, the xAOD::Type::ObjectType corresponding to its xAOD::FlowElement::SignalType is computed and used instead of xAOD::Type::FlowElement.

In implementing this, I've also managed to remove the assumption that all FlowElements are representing PFOs - FlowElements representing Tracks, CaloClusters, etc. can also be used in the MET reconstruction (even though they don't exist in practice yet).

Tagging @sawyer, @cdelitzs, @mswiatlo, @khoo.

Edited by William Keaton Balunas

Merge request reports