Deprecate AnalysisBase support
Summary
I'm proposing making the AthAnalysis
build and the script ca-dump-single-btag
the standard entry point for this package.
What do people think? A simple
Details
Right now the standard setup instructions tell people to use the AnalysisBase
scripts. AthAnalysis
and Athena
are in the "advanced" documentation, and are generally reserved for cases that can't be supported by the simple dump-single-btag
executable.
This makes historical sense: we started on this project before the ComponentAccumulator
migration was as far along as it is now, and when the scope of the project was smaller. But now most of Athena is migrated to ComponentAccumulator
, which works really well, and the scope of the project has grown.
But this approach also causes some issues:
- We have to maintain two back ends1.
- It tends to bloat
processSingleBTagEvent
: people get started inAnalysisBase
and then want to add additional functionality. - It gives people less experience working with tools that can be ported upstream. Most code developed here should ultimately be ported to e.g. the derivation framework, but that burden often falls on a few people who maintain FTAG code. Writing it "correctly" the first time shifts the burden more people.
This won't happen all at once, so the plan I'd propose is as follows:
-
Update the documentation so that the AthAnalysis
setup (ca-dump-single-btag
) is the standard starting point. -
Migrate any CI tests that work with AnalysisBase
to use the equivalent setup inAthAnalysis
. -
Delete any documentation that mentions AnalysisBase
. -
Drop all CI that uses AnalysisBase
images. -
Delete dump-single-btag
.
In the longer term we should also try to move some of e.g. the truth and hit augmentation into a stand alone Algorithm
, and then delete that code from processSingleBTagEvent
, but that can happen in parallel.
-
This is annoying because of implementation differences
AnalysisBase
(e.g.ElementLink
): you have to set up a new release to debug the CI, and sometimes make an upstream fix to coherently update the base release.↩