Skip to content

Introduce FlowElement in xAODPFlow

Pierre Antoine Delsart requested to merge delsart/athena:flowElementBr into master

This MR introduces a new EDM class : FlowElement. The motivation for this class was discussed in this meeting.

The WIP flag is here so experts can comment and we can discuss a few points. As discussed in the meeting above, the goal is to keep this new classes minimal and generic. In particular we plan to write specific attributes accessors (ex: accessing Energies of calo sampling of the underlying CaloCluster) in other packages as simple helper functions. Some points to discuss :

  • we're providing convenient methods to access the underlying detector objects : std::vector<const IParticle*> chargedObjects() . This method unpacks the ElementLink stored in the FlowElement object. Is there a recommendation or best practice on what to do with broken ElementLink ? put null pointer in the output vector ? or do not fill any entry in this case ?
  • Each underlying links can be associated to a weight (float). We think the vector of weights must be either empty, either of size identical to the vector of links. So we provide setters which verify this. What to do in case the sizes differ : throw an exception ? emit an error message ?
Edited by Pierre Antoine Delsart

Merge request reports