ATLAS Offline Software
|
#include <CalibrationDataInterfaceTool.h>
Public Types | |
enum | variableType { kEta, kAbsEta, kPt } |
known variable types that can be used as function arguments More... | |
Public Member Functions | |
CalibrationDataInterfaceTool (const std::string &, const std::string &, const IInterface *) | |
virtual | ~CalibrationDataInterfaceTool ()=default |
default destructor More... | |
virtual StatusCode | initialize () override |
standard Athena-Algorithm method More... | |
CalibResult | getEfficiency (const Jet &jet, const std::string &label, const std::string &OP, Uncertainty unc=None) const |
Main interface methods accessing the flavour tagging performance information. More... | |
CalibResult | getMCEfficiency (const Jet &jet, const std::string &label, const std::string &OP, Uncertainty unc=None) const |
"MC" efficiency retrieval More... | |
CalibResult | getScaleFactor (const Jet &jet, const std::string &label, const std::string &OP, Uncertainty unc=None) const |
efficiency scale factor retrieval More... | |
const std::string & | EffCalibrationName (const std::string &flavour, unsigned int mapIndex=0) const |
Main interface methods accessing the flavour tagging performance information. More... | |
void | setEffCalibrationNames (const std::map< std::string, std::vector< std::string > > &names) |
const std::string & | SFCalibrationName (const std::string &flavour) const |
void | setSFCalibrationNames (const std::map< std::string, std::string > &names) |
Protected Member Functions | |
std::string | getContainername (const std::string &flavour, bool SF, unsigned int mapIndex=0) const |
auxiliary function for retrieval of container name More... | |
std::string | getBasename (const std::string &name) const |
auxiliary function for retrieval of name within the directory More... | |
double | combinedUncertainty (double stat, const std::pair< double, double > &syst) const |
utility function for combination of statistical and (a priori asymmetric) systematic uncertainty. More... | |
Protected Attributes | |
std::string | m_taggerName |
tagging algorithm name More... | |
Private Member Functions | |
void | registerObjects (const std::string &folder, const std::string &OP) const |
auxiliary function dealing with registration of objects More... | |
void | retrieveFunctionArguments (const Jet &jet, const std::string &object, Double_t *x) const |
auxiliary function to retrieve values of function arguments More... | |
void | makeVariables (const Jet &jet, CalibrationDataVariables &x) const |
auxiliary function to create the intermediate struct needed for the data layer More... | |
Private Attributes | |
std::string | m_EffcalibrationBName |
calibration curves for b, c, and light-flavour jets More... | |
std::string | m_EffcalibrationCName |
std::string | m_EffcalibrationTName |
std::string | m_EffcalibrationLightName |
std::string | m_SFcalibrationBName |
std::string | m_SFcalibrationCName |
std::string | m_SFcalibrationTName |
std::string | m_SFcalibrationLightName |
ToolHandle< CalibrationBroker > | m_broker {this, "CalibrationBroker", "", "brief pointer to the performance broker"} |
pointer to the performance broker More... | |
std::map< std::string, std::vector< std::string > > | m_calibrationEffNames |
this simply collects the per-flavour properties. More... | |
std::map< std::string, std::string > | m_calibrationSFNames |
hold: in particular, "channel" (jet author) aliasing is possible. The difference is that run-time information is to be provided in a text file to be interpreted using ROOT's TEnv and
DB representation (all residing under a common root folder): .../<jet author>/<tagger>/<operating point>/<flavour>/<object name> where <operating point> can be a weight cut (represented as a string, with the period replaced with an underscore) or the string "Continuous" (for continuous calibration purposes).
This tool provides an interface to flavour tagging performance estimates.
A separate instance should be used for each different tagging algorithm. For each instance, all appropriate jet collections and tagger operating points need to be specified.
The model:
To retrieve results from COOL, a CalibrationBroker instance is used (a separate one from the one used for tagger weight distributions). This allows to use the CalibrationBroker's channel aliasing (although possibly with different aliases). Of course it is up to the user to verify that the aliasing is appropriate!
DB representation (all residing under a common root folder): .../<jet author>/<tagger>/<operating point>/<flavour>/<object name>
Definition at line 64 of file CalibrationDataInterfaceTool.h.
|
inherited |
known variable types that can be used as function arguments
Enumerator | |
---|---|
kEta | |
kAbsEta | |
kPt |
Definition at line 67 of file CalibrationDataInterfaceBase.h.
Analysis::CalibrationDataInterfaceTool::CalibrationDataInterfaceTool | ( | const std::string & | t, |
const std::string & | n, | ||
const IInterface * | p | ||
) |
Definition at line 28 of file CalibrationDataInterfaceTool.cxx.
|
virtualdefault |
default destructor
|
protectedinherited |
utility function for combination of statistical and (a priori asymmetric) systematic uncertainty.
NB perhaps this should be in its own
Definition at line 147 of file CalibrationDataInterfaceBase.cxx.
|
inherited |
Main interface methods accessing the flavour tagging performance information.
Note that for both of the following, the label is assumed to adhere to the TruthInfo conventions (see package PhysicsAnalysis/JetTagging/JetTagInfo).
Definition at line 47 of file CalibrationDataInterfaceBase.cxx.
|
protectedinherited |
auxiliary function for retrieval of name within the directory
Definition at line 138 of file CalibrationDataInterfaceBase.cxx.
|
protectedinherited |
auxiliary function for retrieval of container name
Definition at line 118 of file CalibrationDataInterfaceBase.cxx.
Analysis::CalibResult Analysis::CalibrationDataInterfaceTool::getEfficiency | ( | const Jet & | jet, |
const std::string & | label, | ||
const std::string & | OP, | ||
Uncertainty | unc = None |
||
) | const |
Main interface methods accessing the flavour tagging performance information.
Note that for both of the following, the label is assumed to adhere to the TruthInfo conventions (see package PhysicsAnalysis/JetTagging/JetTagInfo). efficiency retrieval
Definition at line 271 of file CalibrationDataInterfaceTool.cxx.
Analysis::CalibResult Analysis::CalibrationDataInterfaceTool::getMCEfficiency | ( | const Jet & | jet, |
const std::string & | label, | ||
const std::string & | OP, | ||
Uncertainty | unc = None |
||
) | const |
Analysis::CalibResult Analysis::CalibrationDataInterfaceTool::getScaleFactor | ( | const Jet & | jet, |
const std::string & | label, | ||
const std::string & | OP, | ||
Uncertainty | unc = None |
||
) | const |
|
overridevirtual |
standard Athena-Algorithm method
Definition at line 59 of file CalibrationDataInterfaceTool.cxx.
|
private |
|
private |
auxiliary function dealing with registration of objects
Definition at line 294 of file CalibrationDataInterfaceTool.cxx.
|
private |
auxiliary function to retrieve values of function arguments
|
inherited |
Definition at line 63 of file CalibrationDataInterfaceBase.cxx.
|
inherited |
Definition at line 87 of file CalibrationDataInterfaceBase.cxx.
|
inherited |
Definition at line 72 of file CalibrationDataInterfaceBase.cxx.
|
private |
pointer to the performance broker
Definition at line 118 of file CalibrationDataInterfaceTool.h.
|
privateinherited |
this simply collects the per-flavour properties.
Definition at line 72 of file CalibrationDataInterfaceBase.h.
|
privateinherited |
Definition at line 73 of file CalibrationDataInterfaceBase.h.
|
private |
calibration curves for b, c, and light-flavour jets
Definition at line 108 of file CalibrationDataInterfaceTool.h.
|
private |
Definition at line 109 of file CalibrationDataInterfaceTool.h.
|
private |
Definition at line 111 of file CalibrationDataInterfaceTool.h.
|
private |
Definition at line 110 of file CalibrationDataInterfaceTool.h.
|
private |
Definition at line 112 of file CalibrationDataInterfaceTool.h.
|
private |
Definition at line 113 of file CalibrationDataInterfaceTool.h.
|
private |
Definition at line 115 of file CalibrationDataInterfaceTool.h.
|
private |
Definition at line 114 of file CalibrationDataInterfaceTool.h.
|
protectedinherited |
tagging algorithm name
Definition at line 94 of file CalibrationDataInterfaceBase.h.