Add basic PFlow chain

Merged Jon Burr requested to merge jburr/athena:AddPF into master

This just adds a very basic PFlow algorithm that takes the PFlow inputs (configured mainly by the jet slice) and performs the standard 2-vector sum over them. The algorithm saves 3 components

  • NeutralPFOs: the sum over all neutral PFlow objects
  • ChargedHSPFOs: the sum over all charged PFlow objects associated to the primary vertex
  • ChargedPUPFOs: the sum over all charged PFlow objects not associated to the primary vertex

By default, the final MET value is just NeutralPFOs + ChargedHSPFOs, but ChargedPUPFOs can be included if ChargedOnlyFromPV = false, but this currently has no way of setting it from the trigger name.

The reco_alg value for this trigger is pfsum and there are no further configurations it can take, so the output container name is HLT_MET_pfsum, which I have added to the EDM lists.

I've added HLT_xe30_pfsum_L1XE10 to LS2_v1 to make sure it runs correctly with other chains (especially the existing jet PFlow chains) and it appears to run fine, so I've included updated references for the relevant tests. I've also changed the slice_met test to have forceEnableAllChains=True so that we get actual stats in the chains seeded from L1_XE10.

I originally pushed this with the algorithm name pf, but I realised that I also wanted to configure a PFlow version of mht as mht_pf to be consistent with the jet slice's approach. This however would have required pf to appear as both a recoAlg key and something else, which isn't allowed, so I renamed pf to pfsum.

Edited by Jon Burr

Merge request reports