CDIReader + flexible FTAG tool configuration for generic label schemes
This is a merge request, for the purposes of adding more functionality for the purposes of the H(bb/cc) task force. This MR adds a new CDIReader
class and test code, and embeds this class into the xAODBTaggingEfficiencyTool and its CDI dependencies. This MR also updates the SystematicStrategyComparison
test code to use CDIReader
, also to demonstrate it's usage.
CDIReader
This helper class is able to parse a CDI file and extract useful metadata for more flexible configuration of FTAG tools
Flexible configuration
The BTaggingEfficiencyTool
has flavour-specific configuration settings. In a generic labeling scheme, neither the flavour labels nor their count are known a priori, and so an index based configuration is necessary. Given a CDI file (which the tool relies on already), the index based configuration settings are applied to the generic labels found in the CDI file.
One can configure the tool flexibly for both conventional and unconventional labeling schemes. For example, if you have a conventional labeling scheme of {B, C, Light, T}
, then you can flexibly configure the excluded uncertainties for the B
and C
labels by using their index, e.g. 0:unc1,unc2;1:unc1,unc3
, etc.
More of these are introduced in the BTaggingEfficiencyTool
configurable properties, but backwards compatibility is retained if one wants to continue using the hard-coded configuration settings, as the flexible configuration is only activated when useFlexibleConfig
is set to true
.