CPAlgorithms: allow for event selection at particle-level
Some users need to run the event selection algorithms using so-called "particle-level" objects (TruthElectrons
, TruthMuons
, etc.). This requires the following changes to the event selectors:
- make the MET term a configurable option: at reco-level it's most likely "Final" (new default), at truth-level it's most likely "NonInt"
- replace
xAOD::ElectronContainer
etc. byxAOD::IParticleContainer
to be able to pass either reco- or truth-level containers - in a couple of cases, event selectors need to access
charge()
, which is not available forxAOD::IParticle
. There I simply added dedicatedxAOD::TruthParticleContainer
handles, and I populate the correct type of handle based on a switch in the python config.