cherry pick Control/AthToolSupport+PhysicsAnalysis/D3PDTools from 21.2 to master
I last did a cherry pick in December/January (see !29177 (merged), !29625 (merged)) this should bring it up-to-date. As usual, these are all already reviewed changes, and I'd like to keep updates in this MR to a minimum.
Should contain these commits (though some may have already been swept over before):
- 13e527d1 Merge branch 'ana_algorithm_warning' into 'master'
- fb6d8e6f fix for compiler warning (ATLASG-1503)
- 30f9fccc add first version of AsgComponent
- f365fba5 move property management into AsgComponent
- 3ce9292a add AsgAlgorithmConfig class
- f0785970 fix CI failures
- 7e7ba95d fix CI tool failure
- 6e425e11 fix typo in AsgComponent name/cast
- 375b9dd8 switch property manager member from smart pointer to simple pointer
- 45776f1f fix name expression for nested names
- 469bf809 fix missing public tool initialization
- c74588d8 remove IAsgComponent class
- fb201a3b remove last remaining reference to IAsgComponent
- a63b096f fix warnings/errors with clang on MacOS
- 50ed0726 fix warnings/errors with clang on MacOS
- d58369a6 remove missing source file from CMakeLists.txt
- 0f4be25c update/fix copyright
- 522b5a29 add first version of a filter handle
- 10e4de9b add a StatusCode result to filter handle execute methods
- 5eaa4e7a add AnaFilterHandleGuard class
- 82131b59 add re-entrant version of AnaFilterHandle
- 8c813c45 add missing include
- 94ad1b5e fix typo
- b80f2646 add missing include
- 6baa8b60 add missing include
- 6a2b9c0a fix CMakeLists.txt file for AthAnalysis
- d6e8d106 rename filter handle/reporter classes
- 95f7d8a1 put EventContext argument last
- d29d40dc add counting of passed/total events in filter reporter
- f2c2bceb add first version of AsgToolConfig
- 8661290d allow AsgToolConfig to retrieve tools with arbitrary interfaces
- e539751b add unit test for AsgToolConfig
- c49effd5 add Athena-compilation for AsgComponentConfig
- 2ede2188 retrieve tool from AsgToolConfig via ToolHandle
- 33cfdd54 support AsgToolConfig in Athena
- 1f3b96ba add check that AsgToolConfig can create private tools
- b78ef91f copy filter-reporting code from AthFilterAlgorithm to FilterReporter
- 4041ea00 make event filter description mandatory
- d5e56e35 remove std::string_view
- eb6a43a7 make non-assert check reporter params are initialized
- dbea92b8 add structure AlgorithmWorkerData
- 41e7ec8e add check whether evtStore is available
- 38a80196 make dedicated testing algorithm for use in gt_AnaAlgorithm
- 043226f4 add (pre-)selection meta-information to algorithm sequences
- e39ce26c add dynConfig meta-data field for AnaAlgSequence
- 8e3239af switch the meta-configuration on AnaAlgSequence to be a dictionary
- fcbde76f make sure dynConfig works correctly for private tools