Component accumulator in DAODs - part 3a: common physics augmentations
This large merge request is a migration of the tracking, muon and e-gamma common augmentations applied and saved in DAODs, including PHYS and PHYSLITE, to the component accumulator. It also provides a migrated version of PHYS. Since every tool used needs a new configuration fragment it is necessary to create a number of new files containing these config methods. A few packages that didn't previously have python directories now have python configs so this has required adding an extra line to the CMakeFiles so that the modules can be found. However, since this is completely new python and only runs with the new Derivation_tf transform, it does not impact any existing DAODs built using Reco_tf.
Concretely the following has been added:
- new configs for all of the inner detector track augmentation tools
- new configs for all of the muon augmentation tools
- new configs for all of the e-gamma augmentation tools
These are all summoned from the PhysCommonConfig fragment, which itself is called from PHYS/PHYSLITE and any other formats that need to use it. The truth setup is directly in PhysCommonConfig.
As things stand the following are missing:
- migration of jets
- taus/flavour tagging
- trigger matching information
Without these last three items the version of PHYS produced by this MR clearly isn't yet usable for physics, but can be validated for the tracking, muon and e-gamma domains. For this reason the MR is being put in for merging now, to avoid it becoming too large, since the remaining work will probably involve touching at least as many files again.
The following items are marked "TODO" because it isn't clear yet how to deal with them in the component accumulator and/or ConfigFlags:
InDetFlagsare being used in the inner detector configuration. With what should these be replaced? Specifically
- How should we handle the
IsoTrackConesin the muon configuration?
- How should we correctly determine and then flag the simulation flavour?
- TruthMetaDataWriter fails due to missing /TagInfo
Consequently there are blocks of commented python corresponding to these items, which need to remain until we have solution (at which point they can be uncommented and migrated). I'll create JIRAs for these over the coming days.
Finally, the thinning machinery appears to be broken in CA (including in the example
TEST3). I'll follow this up separately.