ATLAS Offline Software
|
#include <BTaggingEfficiencyTool.h>
Classes | |
struct | SystInfo |
Public Member Functions | |
BTaggingEfficiencyTool (const std::string &name) | |
Create a proper constructor for Athena. More... | |
virtual | ~BTaggingEfficiencyTool () |
Create a constructor for standalone usage. More... | |
CP::CorrectionCode | getEigenRecompositionCoefficientMap (const std::string &label, std::map< std::string, std::map< std::string, float >> &coefficientMap) |
Run EigenvectorRecomposition method and get the coefficient map. More... | |
virtual void | print () const |
Print the state of the tool. More... | |
ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More... | |
const ServiceHandle< StoreGateSvc > & | evtStore () const |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More... | |
const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More... | |
virtual StatusCode | sysInitialize () override |
Perform system initialization for an algorithm. More... | |
virtual StatusCode | sysStart () override |
Handle START transition. More... | |
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
Return this algorithm's input handles. More... | |
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
Return this algorithm's output handles. More... | |
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
Declare a new Gaudi property. More... | |
void | updateVHKA (Gaudi::Details::PropertyBase &) |
MsgStream & | msg () const |
MsgStream & | msg (const MSG::Level lvl) const |
bool | msgLvl (const MSG::Level lvl) const |
Methods implementing the main jet-by-jet access in the xAOD context | |
CP::CorrectionCode | getScaleFactor (const xAOD::Jet &jet, float &sf) |
Computes the data/MC efficiency scale factor for the given jet. More... | |
CP::CorrectionCode | getEfficiency (const xAOD::Jet &jet, float &eff) |
Computes the data efficiency for the given jet. More... | |
CP::CorrectionCode | getInefficiency (const xAOD::Jet &jet, float &eff) |
Computes the data inefficiency for the given jet. More... | |
CP::CorrectionCode | getInefficiencyScaleFactor (const xAOD::Jet &jet, float &sf) |
Computes the data/MC inefficiency scale factor for the given jet. More... | |
CP::CorrectionCode | getMCEfficiency (const xAOD::Jet &jet, float &eff) |
Computes the MC efficiency for the given jet. More... | |
Methods equivalent to those above but not relying on the xAOD format | |
CP::CorrectionCode | getScaleFactor (int flavour, const Analysis::CalibrationDataVariables &v, float &sf) |
Computes the data/MC efficiency scale factor for the jet, given its kinematics, (possibly) tagger weight and truth flavour. More... | |
CP::CorrectionCode | getEfficiency (int flavour, const Analysis::CalibrationDataVariables &v, float &eff) |
Computes the data efficiency for the jet, given its kinematics, (possibly) tagger weight and truth flavour. More... | |
CP::CorrectionCode | getInefficiency (int flavour, const Analysis::CalibrationDataVariables &v, float &eff) |
Computes the data inefficiency for the jet, given its kinematics, (possibly) tagger weight and truth flavour. More... | |
CP::CorrectionCode | getInefficiencyScaleFactor (int flavour, const Analysis::CalibrationDataVariables &v, float &sf) |
Computes the data/MC inefficiency scale factor for the jet, given its kinematics, (possibly) tagger weight and truth flavour. More... | |
CP::CorrectionCode | getMCEfficiency (int flavour, const Analysis::CalibrationDataVariables &v, float &eff) |
Computes the MC efficiency for the jet, given its kinematics, (possibly) tagger weight and truth flavour. More... | |
CP::CorrectionCode | getMCEfficiencyONNX (const std::vector< std::vector< float >> &node_feat, std::vector< float > &effAllJet) |
Computes the MC efficiency of the jets in a given event. More... | |
CP::CorrectionCode | getMCEfficiencyONNX (const std::vector< std::vector< float >> &node_feat, std::vector< std::vector< float >> &effAllJetAllWp) |
Computes the MC efficiency of the jets in a given event. More... | |
Other methods implementing the IBTagEfficiencyTool interface | |
StatusCode | initialize () |
Initialise the tool. More... | |
StatusCode | applySystematicVariation (const CP::SystematicSet &set) |
Set the tool to return "shifted" values. More... | |
CP::SystematicSet | affectingSystematics () const |
Return a list of all systematic variations supported by this tool. More... | |
CP::SystematicSet | recommendedSystematics () const |
Return a list of "recommended" systematic variations supported by this tool. More... | |
bool | isAffectedBySystematic (const CP::SystematicVariation &systematic) const |
Returns whether or not the given systematic variation is supported by this tool. More... | |
bool | setMapIndex (const std::string &flavour, unsigned int index) |
Specify the "map index" to be used for the given jet flavour (at initialisation time it will be set to 0). More... | |
bool | setMapIndex (unsigned int dsid) |
query methods | |
Utility method returning a detailed list of systematics (including the flavours to which they apply) | |
const std::map< CP::SystematicVariation, std::vector< std::string > > | listSystematics () const |
std::string | getTaggerName () const |
Retrieve the name of the tagger (as specified in the calibration file) More... | |
std::string | getOperatingPoint () const |
Retrieve the operating point (as specified in the calibration file) More... | |
std::string | getJetAuthor () const |
Retrieve the jet collection name (as specified in the calibration file) for which this tool was setup. More... | |
bool | applySystematics () const |
Specify whether any systematic variation is being used at present. More... | |
std::map< std::string, std::vector< std::string > > | listScaleFactorSystematics (bool named=false) const |
This merely passes on the request to the underlying CDI object (listSystematics() cannot be used here, as corresponding CP::SystematicVariation objects may not exist). More... | |
Protected Member Functions | |
void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
remove all handles from I/O resolution More... | |
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
Add StoreName to extra input/output deps as needed. More... | |
Private Types | |
typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
bool | addSystematics (const std::vector< std::string > &systematicNames, unsigned int flavourID, Analysis::Uncertainty uncType) |
add entries to the systematics registry More... | |
std::vector< std::string > | makeEigenSyst (const std::string &flav, int number, const std::string &suffix) |
generate names for the eigenvector variations for the given jet flavour More... | |
bool | getIndices (unsigned int flavour, unsigned int &sf, unsigned int &ef) const |
helper function for retrieving object indices More... | |
std::string | getLabel (int flavourID) const |
convert integer flavour index to its string equivalent More... | |
unsigned int | getFlavourID (const std::string &label, bool conventional=true) const |
convert string flavour to its integer index equivalent More... | |
bool | fillVariables (const xAOD::Jet &jet, Analysis::CalibrationDataVariables &x) const |
Fill the Analysis::CalibrationDataVariables struct with relevant information pertaining to the jet considered. More... | |
bool | fillVariables (const double jetPt, const double jetEta, const double jetTagWeight, Analysis::CalibrationDataVariables &x) const |
Fill the Analysis::CalibrationDataVariables struct with relevant information pertaining to the jet considered. More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
specialization for handling Gaudi::Property<SG::VarHandleKey> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
specialization for handling Gaudi::Property<SG::VarHandleBase> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More... | |
Private Attributes | |
std::shared_ptr< Analysis::CalibrationDataInterfaceROOT > | m_CDI |
pointer to the object doing the actual work More... | |
std::unique_ptr< OnnxUtil > | m_onnxUtil |
pointer to the onnx tool More... | |
bool | m_useFlex = false |
std::vector< std::string > | m_flex_labels |
std::vector< unsigned int > | m_flex_label_integers |
StoreGateSvc_t | m_evtStore |
Pointer to StoreGate (event store by default) More... | |
StoreGateSvc_t | m_detStore |
Pointer to StoreGate (detector store by default) More... | |
std::vector< SG::VarHandleKeyArray * > | m_vhka |
bool | m_varHandleArraysDeclared |
core configuration properties (set at initalization time and not modified afterwards) | |
asg::AnaToolHandle< IBTaggingSelectionTool > | m_selectionTool |
we need access to a BTaggingSelectionTool, at least for DL1 weight computation More... | |
std::string | m_SFFile |
name of the data/MC efficiency scale factor calibration file (may be changed by the PathResolver ) More... | |
std::string | m_SFFileFull |
std::string | m_EffFile |
name of the optional MC efficiency file (may be changed by the PathResolver ) More... | |
std::string | m_EffConfigFile |
std::map< std::string, std::string > | m_SFNames |
names of the data/MC scale factor calibrations More... | |
std::map< std::string, std::string > | m_EVReduction |
specification of the eigenvector reduction strategy (if eigenvectors are used) More... | |
std::map< std::string, std::string > | m_EffNames |
semicolon-separated lists of MC efficiency parametrisation names More... | |
std::string | m_effName |
std::string | m_excludeFromEV |
semicolon-separated list of uncertainties to be excluded from the eigenvector variation procedure for all flavours More... | |
std::map< std::string, std::string > | m_excludeFlvFromEV |
semicolon-separated list of uncertainties to be excluded from the eigenvector variation procedure for b, c, and light-flavour jets More... | |
std::map< std::string, std::string > | m_uncertaintySuffixes |
optional (per-flavour) suffix that can be used to decorrelate uncertainties (between flavours, or -in case of a result from different runs- between periods) More... | |
bool | m_using_conventional_labels |
std::string | m_SFName_flex |
std::string | m_EVReduction_flex |
std::string | m_EffNames_flex |
std::string | m_uncertaintySuffixes_flex |
std::string | m_excludeFlvFromEV_flex |
std::string | m_taggerName |
tagger name More... | |
std::string | m_OP |
operating point More... | |
std::string | m_jetAuthor |
jet collection name More... | |
float | m_minPt |
minimum jet pT More... | |
std::string | m_systStrategy |
systematics model to be used (current choices are "SFEigen", "SFEigenRefined", and "Envelope") // <-----— Addoing "SFGlobalEigen" to the list More... | |
bool | m_useDevFile |
if true, attempt to retrieve the data/MC efficiency scale factor calibration files from the @PathResolver development area More... | |
bool | m_coneFlavourLabel |
if true, use cone-based labelling (as opposed to ghost association) More... | |
bool | m_extFlavourLabel |
if true, use an 'extended' labelling (allowing for multiple HF hadrons -or perhaps partons- in the jet) More... | |
bool | m_useRecommendedEVExclusions |
if true, extract pre-set lists of uncertainties to be recommended from the EV decomposition (in addition to user specified ones) More... | |
bool | m_ignoreOutOfValidityRange |
if true, ignore out-of-extrapolation range errors (i.e., return CorrectionCode::Ok if these are encountered) More... | |
bool | m_useCTag = false |
if false, suppress any non-error/warning printout from the underlying tool 1D tagging only: define wether the cuts refer to b-tagging or c-tagging More... | |
bool | m_readFromBTaggingObject = true |
std::string | m_pathToONNX |
if this string is empty, the onnx tool won't be created More... | |
Cached variables | |
bool | m_initialised |
flag to indicate tool is initialized correctly when set More... | |
bool | m_applySyst |
SystInfo | m_applyThisSyst |
std::map< CP::SystematicVariation, SystInfo > | m_systematicsInfo |
CP::SystematicSet | m_systematics |
bool | m_isContinuous |
bool | m_isContinuous2D |
std::map< std::string, unsigned int > | m_mapIndices |
std::map< unsigned int, unsigned int > | m_SFIndices |
actual information identifying scale factor calibration objects More... | |
std::map< unsigned int, unsigned int > | m_EffIndices |
actual information identifying efficiency calibration objects More... | |
std::map< unsigned int, unsigned int > | m_DSID_to_MapIndex |
Definition at line 31 of file BTaggingEfficiencyTool.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
BTaggingEfficiencyTool::BTaggingEfficiencyTool | ( | const std::string & | name | ) |
Create a proper constructor for Athena.
Create a constructor for standalone usage
Definition at line 128 of file BTaggingEfficiencyTool.cxx.
|
virtual |
Create a constructor for standalone usage.
Definition at line 188 of file BTaggingEfficiencyTool.cxx.
|
private |
add entries to the systematics registry
Definition at line 1428 of file BTaggingEfficiencyTool.cxx.
|
virtual |
Return a list of all systematic variations supported by this tool.
Note that this list depends on the uncertainty model used, and on the (dynamic) configuration of the eigenvector variations (if this uncertainty model is used).
Implements CP::IReentrantSystematicsTool.
Definition at line 1128 of file BTaggingEfficiencyTool.cxx.
|
inline |
Specify whether any systematic variation is being used at present.
Definition at line 197 of file BTaggingEfficiencyTool.h.
|
virtual |
Set the tool to return "shifted" values.
Note that only single-parameter variations or empty sets (the latter are to revert to nominal results) are supported at present; StatusCode::FAILURE
will be returned for variations of multiple parameters or variations that aren't recognised.
Implements CP::ISystematicsTool.
Definition at line 1238 of file BTaggingEfficiencyTool.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>
Definition at line 199 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 259 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore
Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 85 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 90 of file AthCommonDataStore.h.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
|
private |
Fill the Analysis::CalibrationDataVariables
struct with relevant information pertaining to the jet considered.
Definition at line 1313 of file BTaggingEfficiencyTool.cxx.
|
private |
Fill the Analysis::CalibrationDataVariables
struct with relevant information pertaining to the jet considered.
Definition at line 1284 of file BTaggingEfficiencyTool.cxx.
|
virtual |
Computes the data efficiency for the given jet.
The tagger and operating point under consideration are part of the configuration and hence aren't function arguments.
Implements IBTaggingEfficiencyTool.
Definition at line 816 of file BTaggingEfficiencyTool.cxx.
CorrectionCode BTaggingEfficiencyTool::getEfficiency | ( | int | flavour, |
const Analysis::CalibrationDataVariables & | v, | ||
float & | eff | ||
) |
Computes the data efficiency for the jet, given its kinematics, (possibly) tagger weight and truth flavour.
The tagger and operating point under consideration are part of the configuration and hence aren't function arguments.
Definition at line 834 of file BTaggingEfficiencyTool.cxx.
|
virtual |
Run EigenvectorRecomposition method and get the coefficient map.
Calling EigenVectorRecomposition method in CDI and retrieve recomposition map. If success, coefficientMap would be filled and return ok. If failed, return error. label : flavour label coefficientMap: store returned coefficient map. This map could help expressing eigenvector NPs by linear combination of original uncertainty NPs in workspace level of physics analysis. The coefficient value is stored in the map in the format of: map<"Eigen_B_0", map<"[original uncertainty name]", [corresponding coefficient value]>>
Implements IBTaggingEfficiencyTool.
Definition at line 1210 of file BTaggingEfficiencyTool.cxx.
|
inlineprivate |
convert string flavour to its integer index equivalent
Definition at line 262 of file BTaggingEfficiencyTool.h.
|
private |
helper function for retrieving object indices
Definition at line 1396 of file BTaggingEfficiencyTool.cxx.
|
virtual |
Computes the data inefficiency for the given jet.
The tagger and operating point under consideration are part of the configuration and hence aren't function arguments.
Implements IBTaggingEfficiencyTool.
Definition at line 892 of file BTaggingEfficiencyTool.cxx.
CorrectionCode BTaggingEfficiencyTool::getInefficiency | ( | int | flavour, |
const Analysis::CalibrationDataVariables & | v, | ||
float & | eff | ||
) |
Computes the data inefficiency for the jet, given its kinematics, (possibly) tagger weight and truth flavour.
The tagger and operating point under consideration are part of the configuration and hence aren't function arguments.
Definition at line 909 of file BTaggingEfficiencyTool.cxx.
|
virtual |
Computes the data/MC inefficiency scale factor for the given jet.
The tagger and operating point under consideration are part of the configuration and hence aren't function arguments.
Implements IBTaggingEfficiencyTool.
Definition at line 968 of file BTaggingEfficiencyTool.cxx.
|
virtual |
Computes the data/MC inefficiency scale factor for the jet, given its kinematics, (possibly) tagger weight and truth flavour.
The tagger and operating point under consideration are part of the configuration and hence aren't function arguments.
Implements IBTaggingEfficiencyTool.
Definition at line 989 of file BTaggingEfficiencyTool.cxx.
|
inlinevirtual |
Retrieve the jet collection name (as specified in the calibration file) for which this tool was setup.
Implements IBTaggingEfficiencyTool.
Definition at line 191 of file BTaggingEfficiencyTool.h.
|
inherited |
Get the (hashed) key of an object that is in the event store.
This is a bit of a special one. StoreGateSvc
and xAOD::TEvent
both provide ways for getting the SG::sgkey_t
key for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
ptr | The bare pointer to the object that the event store should know about |
Definition at line 119 of file AsgTool.cxx.
|
inlineprivate |
convert integer flavour index to its string equivalent
Definition at line 242 of file BTaggingEfficiencyTool.h.
|
virtual |
Computes the MC efficiency for the given jet.
The tagger and operating point under consideration are part of the configuration and hence aren't function arguments.
Implements IBTaggingEfficiencyTool.
Definition at line 1052 of file BTaggingEfficiencyTool.cxx.
|
virtual |
Computes the MC efficiency for the jet, given its kinematics, (possibly) tagger weight and truth flavour.
The tagger and operating point under consideration are part of the configuration and hence aren't function arguments.
Implements IBTaggingEfficiencyTool.
Definition at line 1069 of file BTaggingEfficiencyTool.cxx.
|
virtual |
Computes the MC efficiency of the jets in a given event.
(Uses the onnx tool) For fixed cut wp
Implements IBTaggingEfficiencyTool.
Definition at line 1105 of file BTaggingEfficiencyTool.cxx.
|
virtual |
Computes the MC efficiency of the jets in a given event.
(Uses the onnx tool) For continuous wp
Implements IBTaggingEfficiencyTool.
Definition at line 1113 of file BTaggingEfficiencyTool.cxx.
Get the name of an object that is / should be in the event store.
This is a bit of a special one. StoreGateSvc
and xAOD::TEvent
both provide ways for getting the std::string
name for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
ptr | The bare pointer to the object that the event store should know about |
Definition at line 106 of file AsgTool.cxx.
|
inlinevirtual |
Retrieve the operating point (as specified in the calibration file)
Implements IBTaggingEfficiencyTool.
Definition at line 188 of file BTaggingEfficiencyTool.h.
Get one of the tool's properties.
|
virtual |
Computes the data/MC efficiency scale factor for the given jet.
The tagger and operating point under consideration are part of the configuration and hence aren't function arguments.
Implements IBTaggingEfficiencyTool.
Definition at line 728 of file BTaggingEfficiencyTool.cxx.
|
virtual |
Computes the data/MC efficiency scale factor for the jet, given its kinematics, (possibly) tagger weight and truth flavour.
The tagger and operating point under consideration are part of the configuration and hence aren't function arguments.
Implements IBTaggingEfficiencyTool.
Definition at line 755 of file BTaggingEfficiencyTool.cxx.
|
inlinevirtual |
Retrieve the name of the tagger (as specified in the calibration file)
Implements IBTaggingEfficiencyTool.
Definition at line 185 of file BTaggingEfficiencyTool.h.
|
virtual |
Initialise the tool.
This is the stage at which all of the configuration is done and the underlying CalibrationDataInferfaceROOT
object is instantiated. The properties that can be set are documented in the xAOD interface section of the CalibrationDataInterface Twiki page.
Reimplemented from asg::AsgTool.
Definition at line 192 of file BTaggingEfficiencyTool.cxx.
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
virtual |
Returns whether or not the given systematic variation is supported by this tool.
Implements CP::ISystematicsTool.
Definition at line 1121 of file BTaggingEfficiencyTool.cxx.
|
virtual |
This merely passes on the request to the underlying CDI object (listSystematics() cannot be used here, as corresponding CP::SystematicVariation objects may not exist).
This method retrieves all systematic uncertainties known to the relevant calibration objects.
Note that the uncertainty naming does not follow the rewriting conventions leading to the names one will see as CP::SystematicVariations, but rather follows the "raw" names used on input (which are appropriate e.g. when excluding uncertainties from the eigenvalue decomposition).
Since the expected use of this method is in the context of the SFEigen model, we will assume (and not check) that this model is being used. Note: the uncertainties returned are in the format of the underlying CDI, and do not have the rewriting applied to them that one would use in analysis.
Implements IBTaggingEfficiencyTool.
Definition at line 1175 of file BTaggingEfficiencyTool.cxx.
|
virtual |
Implements IBTaggingEfficiencyTool.
Definition at line 1138 of file BTaggingEfficiencyTool.cxx.
|
private |
generate names for the eigenvector variations for the given jet flavour
Definition at line 1384 of file BTaggingEfficiencyTool.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 27 of file AthCommonMsg.h.
|
inherited |
A deprecated function for getting the message level's name.
Instead of using this, weirdly named function, user code should get the string name of the current minimum message level (in case they really need it...), with:
This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.
Definition at line 101 of file AsgTool.cxx.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
virtualinherited |
Print the state of the tool.
Implements asg::IAsgTool.
Reimplemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
Definition at line 131 of file AsgTool.cxx.
|
virtual |
Return a list of "recommended" systematic variations supported by this tool.
At present, multiple views of the same uncertainties (beyond the uncertainty model etc., see above) are not implemented, so this method simply calls affectingSystematics()
.
Implements CP::IReentrantSystematicsTool.
Definition at line 1133 of file BTaggingEfficiencyTool.cxx.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
virtual |
Specify the "map index" to be used for the given jet flavour (at initialisation time it will be set to 0).
See the CalibrationDataInterface documentation for more detail on the meaning of the map index
Implements IBTaggingEfficiencyTool.
Definition at line 1327 of file BTaggingEfficiencyTool.cxx.
|
virtual |
|
overridevirtualinherited |
Perform system initialization for an algorithm.
We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.
Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 375 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 376 of file BTaggingEfficiencyTool.h.
|
private |
pointer to the object doing the actual work
Definition at line 296 of file BTaggingEfficiencyTool.h.
|
private |
if true, use cone-based labelling (as opposed to ghost association)
Definition at line 347 of file BTaggingEfficiencyTool.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 397 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 311 of file BTaggingEfficiencyTool.h.
|
private |
name of the optional MC efficiency file (may be changed by the PathResolver
)
Definition at line 310 of file BTaggingEfficiencyTool.h.
|
private |
actual information identifying efficiency calibration objects
Definition at line 394 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 319 of file BTaggingEfficiencyTool.h.
|
private |
semicolon-separated lists of MC efficiency parametrisation names
Definition at line 317 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 330 of file BTaggingEfficiencyTool.h.
|
private |
specification of the eigenvector reduction strategy (if eigenvectors are used)
Definition at line 315 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 329 of file BTaggingEfficiencyTool.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
semicolon-separated list of uncertainties to be excluded from the eigenvector variation procedure for b, c, and light-flavour jets
Definition at line 323 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 332 of file BTaggingEfficiencyTool.h.
|
private |
semicolon-separated list of uncertainties to be excluded from the eigenvector variation procedure for all flavours
Definition at line 321 of file BTaggingEfficiencyTool.h.
|
private |
if true, use an 'extended' labelling (allowing for multiple HF hadrons -or perhaps partons- in the jet)
Definition at line 349 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 366 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 365 of file BTaggingEfficiencyTool.h.
|
private |
if true, ignore out-of-extrapolation range errors (i.e., return CorrectionCode::Ok if these are encountered)
Definition at line 354 of file BTaggingEfficiencyTool.h.
|
private |
flag to indicate tool is initialized correctly when set
Definition at line 372 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 382 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 384 of file BTaggingEfficiencyTool.h.
|
private |
jet collection name
Definition at line 339 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 389 of file BTaggingEfficiencyTool.h.
|
private |
minimum jet pT
Definition at line 341 of file BTaggingEfficiencyTool.h.
|
private |
pointer to the onnx tool
Definition at line 298 of file BTaggingEfficiencyTool.h.
|
private |
operating point
Definition at line 337 of file BTaggingEfficiencyTool.h.
|
private |
if this string is empty, the onnx tool won't be created
Definition at line 360 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 358 of file BTaggingEfficiencyTool.h.
|
private |
we need access to a BTaggingSelectionTool, at least for DL1 weight computation
Definition at line 304 of file BTaggingEfficiencyTool.h.
|
private |
name of the data/MC efficiency scale factor calibration file (may be changed by the PathResolver
)
Definition at line 307 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 308 of file BTaggingEfficiencyTool.h.
|
private |
actual information identifying scale factor calibration objects
Definition at line 392 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 328 of file BTaggingEfficiencyTool.h.
|
private |
names of the data/MC scale factor calibrations
Definition at line 313 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 380 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 378 of file BTaggingEfficiencyTool.h.
|
private |
systematics model to be used (current choices are "SFEigen", "SFEigenRefined", and "Envelope") // <-----— Addoing "SFGlobalEigen" to the list
Definition at line 343 of file BTaggingEfficiencyTool.h.
|
private |
tagger name
Definition at line 335 of file BTaggingEfficiencyTool.h.
|
private |
optional (per-flavour) suffix that can be used to decorrelate uncertainties (between flavours, or -in case of a result from different runs- between periods)
Definition at line 325 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 331 of file BTaggingEfficiencyTool.h.
|
private |
if false, suppress any non-error/warning printout from the underlying tool 1D tagging only: define wether the cuts refer to b-tagging or c-tagging
Definition at line 357 of file BTaggingEfficiencyTool.h.
|
private |
if true, attempt to retrieve the data/MC efficiency scale factor calibration files from the @PathResolver development area
Definition at line 345 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 364 of file BTaggingEfficiencyTool.h.
|
private |
if true, extract pre-set lists of uncertainties to be recommended from the EV decomposition (in addition to user specified ones)
Definition at line 352 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 327 of file BTaggingEfficiencyTool.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.