![]() |
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, V, H > &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 |
| const std::string & | getTaggerName () const |
| Retrieve the name of the tagger (as specified in the calibration file) More... | |
| const std::string & | getOperatingPoint () const |
| Retrieve the operating point (as specified in the calibration file) More... | |
| const 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, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More... | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More... | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More... | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &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< SaltModel > | m_saltModel |
| pointer to the onnx tool More... | |
| Gaudi::Property< bool > | m_useFlex {this, "useFlexibleConfig", false, "Setup the flexible configuration of the xAODBTaggingEfficiencyTool with alternate labeling"} |
| 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... | |
| Gaudi::Property< std::string > | m_SFFile {this, "ScaleFactorFileName", ftag::defaults::cdi_path, "name of the official scale factor calibration CDI file (uses PathResolver)"} |
name of the data/MC efficiency scale factor calibration file (may be changed by the PathResolver) More... | |
| std::string | m_SFFileFull |
| Gaudi::Property< std::string > | m_SelectionCDIFile {this, "SelectionCDIFileName", "", "name of the CDI file to be used to configure the selection tool if needed, will use the SF CDI file by default"} |
| Gaudi::Property< std::string > | m_EffFile {this, "EfficiencyFileName", "", "name of optional user-provided MC efficiency CDI file"} |
name of the optional MC efficiency file (may be changed by the PathResolver) More... | |
| Gaudi::Property< std::string > | m_EffConfigFile {this, "EfficiencyConfig", "", "name of config file specifying which efficiency map to use with a given samples DSID"} |
| Gaudi::Property< std::string > | m_SFNamesB {this, "ScaleFactorBCalibration", "default", "name of b-jet scale factor calibration object"} |
| names of the data/MC scale factor calibrations More... | |
| Gaudi::Property< std::string > | m_SFNamesC {this, "ScaleFactorCCalibration", "default", "name of c-jet scale factor calibration object"} |
| Gaudi::Property< std::string > | m_SFNamesT {this, "ScaleFactorTCalibration", "default", "name of tau-jet scale factor calibration object"} |
| Gaudi::Property< std::string > | m_SFNamesLight {this, "ScaleFactorLightCalibration", "default", "name of light-flavour jet scale factor calibration object"} |
| std::map< std::string, std::string > | m_SFNames |
| Gaudi::Property< std::string > | m_EVReductionB {this, "EigenvectorReductionB", "Loose", "b-jet scale factor Eigenvector reduction strategy; choose between 'Loose', 'Medium', 'Tight'"} |
| specification of the eigenvector reduction strategy (if eigenvectors are used) More... | |
| Gaudi::Property< std::string > | m_EVReductionC {this, "EigenvectorReductionC", "Loose", "c-jet scale factor Eigenvector reduction strategy; choose between 'Loose', 'Medium', 'Tight'"} |
| Gaudi::Property< std::string > | m_EVReductionLight {this, "EigenvectorReductionLight", "Loose", "light-flavour jet scale factor Eigenvector reduction strategy; choose between 'Loose', 'Medium', 'Tight'"} |
| std::map< std::string, std::string > | m_EVReduction |
| Gaudi::Property< std::string > | m_EffNamesB {this, "EfficiencyBCalibrations", "", "(semicolon-separated) name(s) of b-jet efficiency object(s)"} |
| semicolon-separated lists of MC efficiency parametrisation names More... | |
| Gaudi::Property< std::string > | m_EffNamesC {this, "EfficiencyCCalibrations", "", "(semicolon-separated) name(s) of c-jet efficiency object(s)"} |
| Gaudi::Property< std::string > | m_EffNamesT {this, "EfficiencyTCalibrations", "", "(semicolon-separated) name(s) of tau-jet efficiency object(s)"} |
| Gaudi::Property< std::string > | m_EffNamesLight {this, "EfficiencyLightCalibrations", "", "(semicolon-separated) name(s) of light-flavour-jet efficiency object(s)"} |
| std::map< std::string, std::string > | m_EffNames |
| Gaudi::Property< std::string > | m_effName {this, "EfficiencyCalibrations", "default", "default for all flavors"} |
| Gaudi::Property< std::string > | m_excludeFromEV {this, "ExcludeFromEigenVectorTreatment", "", "(semicolon-separated) names of uncertainties to be excluded from all eigenvector decompositions (if used)"} |
| semicolon-separated list of uncertainties to be excluded from the eigenvector variation procedure for all flavours More... | |
| Gaudi::Property< std::string > | m_excludeFlvFromEVB {this, "ExcludeFromEigenVectorBTreatment", "", "(semicolon-separated) names of uncertainties to be excluded from b-jet eigenvector decompositions (if used)"} |
| semicolon-separated list of uncertainties to be excluded from the eigenvector variation procedure for b, c, and light-flavour jets More... | |
| Gaudi::Property< std::string > | m_excludeFlvFromEVC {this, "ExcludeFromEigenVectorCTreatment", "", "(semicolon-separated) names of uncertainties to be excluded from c-jet eigenvector decompositions (if used)"} |
| Gaudi::Property< std::string > | m_excludeFlvFromEVLight {this, "ExcludeFromEigenVectorLightTreatment", "", "(semicolon-separated) names of uncertainties to be excluded from light-flavour-jet eigenvector decompositions (if used)"} |
| std::map< std::string, std::string > | m_excludeFlvFromEV |
| Gaudi::Property< std::string > | m_uncertaintySuffixesB {this, "UncertaintyBSuffix", "", "optional suffix for b-jet uncertainty naming"} |
| 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... | |
| Gaudi::Property< std::string > | m_uncertaintySuffixesC {this, "UncertaintyCSuffix", "", "optional suffix for c-jet uncertainty naming"} |
| Gaudi::Property< std::string > | m_uncertaintySuffixesT {this, "UncertaintyTSuffix", "", "optional suffix for tau-jet uncertainty naming"} |
| Gaudi::Property< std::string > | m_uncertaintySuffixesLight {this, "UncertaintyLightSuffix", "", "optional suffix for light-flavour-jet uncertainty naming"} |
| std::map< std::string, std::string > | m_uncertaintySuffixes |
| bool | m_using_conventional_labels |
| Gaudi::Property< std::string > | m_SFName_flex {this, "FlexibleScaleFactorCalibrations", "", "(semicolon-separated) name of scale factor calibration object for (0,1,2..) indexed flavour labels, e.g. '0:default;1:default;2:default;3:default'"} |
| Gaudi::Property< std::string > | m_EVReduction_flex {this, "FlexibleEigenvectorReduction", "", "(semicolon-separated) list of eigenvector reduction strategy for (0,1,2..) indexed flavour labels; choose between 'Loose', 'Medium', 'Tight' for different labels, e.g. '0:Loose;1:Loose;2:Loose'"} |
| Gaudi::Property< std::string > | m_EffNames_flex {this, "FlexibleEfficiencyCalibrations", "", "(semicolon-separated) name(s) of efficiency object(s) names for (0,1,2..) indexed flavour labels, e.g. '0:default;1:default;2:default;3:default'"} |
| Gaudi::Property< std::string > | m_uncertaintySuffixes_flex {this, "FlexibleUncertaintySuffix", "", "optional (semicolon-separated) list of suffixes for (0,1,2..) indexed flavour label uncertainty naming, e.g. '0:;1:;2:;3:'"} |
| Gaudi::Property< std::string > | m_excludeFlvFromEV_flex {this, "FlexibleExcludeFromEVTreatment", "", "(semicolon-separated) names of uncertainties to be excluded from (0,1,2..) indexed flavour eigenvector decompositions (if used), e.g. '0:;1:;2:;3:'"} |
| Gaudi::Property< std::string > | m_taggerName {this, "TaggerName", ftag::defaults::tagger, "tagging algorithm name as specified in CDI file"} |
| tagger name More... | |
| Gaudi::Property< std::string > | m_selectionTaggerName {this, "SelectionTaggerName", "", "tagging algorithm name as specified in selection CDI file, will use TaggerName by default"} |
| Gaudi::Property< std::string > | m_OP {this, "OperatingPoint", ftag::defaults::pcbt_op, "operating point as specified in CDI file"} |
| operating point More... | |
| Gaudi::Property< std::string > | m_jetAuthor {this, "JetAuthor", ftag::defaults::jet_collection, "jet collection & JVF/JVT specification in CDI file"} |
| jet collection name More... | |
| Gaudi::Property< float > | m_minPt {this, "MinPt", 0., "minimum jet pT cut"} |
| minimum jet pT More... | |
| Gaudi::Property< std::string > | m_systStrategy {this, "SystematicsStrategy", ftag::defaults::strategy, "name of systematics model; presently choose between 'SFEigen' and 'Envelope'"} |
| systematics model to be used (current choices are "SFEigen", "SFEigenRefined", and "Envelope") // <-----— Addoing "SFGlobalEigen" to the list More... | |
| Gaudi::Property< bool > | m_useDevFile |
| if true, attempt to retrieve the data/MC efficiency scale factor calibration files from the @PathResolver development area More... | |
| Gaudi::Property< bool > | m_coneFlavourLabel {this, "ConeFlavourLabel", true, "specify whether or not to use the cone-based flavour labelling instead of the default ghost association based labelling"} |
| if true, use cone-based labelling (as opposed to ghost association) More... | |
| Gaudi::Property< bool > | m_extFlavourLabel {this, "ExtendedFlavourLabel", false, "specify whether or not to use an 'extended' flavour labelling (allowing for multiple HF hadrons or perhaps partons)"} |
| if true, use an 'extended' labelling (allowing for multiple HF hadrons -or perhaps partons- in the jet) More... | |
| Gaudi::Property< bool > | m_useRecommendedEVExclusions {this, "ExcludeRecommendedFromEigenVectorTreatment", false, "specify whether or not to add recommended lists to the user specified eigenvector decomposition exclusion lists"} |
| if true, extract pre-set lists of uncertainties to be recommended from the EV decomposition (in addition to user specified ones) More... | |
| Gaudi::Property< bool > | m_ignoreOutOfValidityRange {this, "IgnoreOutOfValidityRange", false, "ignore out-of-extrapolation-range errors as returned by the underlying tool"} |
| if true, ignore out-of-extrapolation range errors (i.e., return CorrectionCode::Ok if these are encountered) More... | |
| Gaudi::Property< bool > | m_useCTag {this, "useCTagging", false, "Enabled only for FixedCut or Continuous WPs: define wether the cuts refer to b-tagging or c-tagging"} |
| 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... | |
| Gaudi::Property< bool > | m_readFromBTaggingObject {this, "readFromBTaggingObject", false, "Enabled to access btagging scores from xAOD::BTagging object; Can be disabled for GN2v01 to access the scores from the jet itself."} |
| Gaudi::Property< std::string > | m_pathToONNX {this, "pathToONNX", "", "path to the onnx file that will be used for inference"} |
| 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 126 of file BTaggingEfficiencyTool.cxx.
|
virtual |
Create a constructor for standalone usage.
Definition at line 140 of file BTaggingEfficiencyTool.cxx.
|
private |
add entries to the systematics registry
Definition at line 1403 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 1101 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 1211 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 1288 of file BTaggingEfficiencyTool.cxx.
|
private |
Fill the Analysis::CalibrationDataVariables struct with relevant information pertaining to the jet considered.
Definition at line 1257 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 789 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 807 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 1183 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 1371 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 865 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 882 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 941 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 962 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 1025 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 1042 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 1078 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 1086 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 701 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 728 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 144 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 1094 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 1148 of file BTaggingEfficiencyTool.cxx.
|
virtual |
Implements IBTaggingEfficiencyTool.
Definition at line 1111 of file BTaggingEfficiencyTool.cxx.
|
private |
generate names for the eigenvector variations for the given jet flavour
Definition at line 1359 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, LundVariablesTool, 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 1106 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 1302 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 404 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 405 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 377 of file BTaggingEfficiencyTool.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 426 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 312 of file BTaggingEfficiencyTool.h.
|
private |
name of the optional MC efficiency file (may be changed by the PathResolver)
Definition at line 311 of file BTaggingEfficiencyTool.h.
|
private |
actual information identifying efficiency calibration objects
Definition at line 423 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 334 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 331 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 356 of file BTaggingEfficiencyTool.h.
|
private |
semicolon-separated lists of MC efficiency parametrisation names
Definition at line 327 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 328 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 330 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 329 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 324 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 354 of file BTaggingEfficiencyTool.h.
|
private |
specification of the eigenvector reduction strategy (if eigenvectors are used)
Definition at line 321 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 322 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 323 of file BTaggingEfficiencyTool.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Definition at line 341 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 360 of file BTaggingEfficiencyTool.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 338 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 339 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 340 of file BTaggingEfficiencyTool.h.
|
private |
semicolon-separated list of uncertainties to be excluded from the eigenvector variation procedure for all flavours
Definition at line 336 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 379 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 395 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 394 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 383 of file BTaggingEfficiencyTool.h.
|
private |
flag to indicate tool is initialized correctly when set
Definition at line 401 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 411 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 413 of file BTaggingEfficiencyTool.h.
|
private |
jet collection name
Definition at line 368 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 418 of file BTaggingEfficiencyTool.h.
|
private |
minimum jet pT
Definition at line 370 of file BTaggingEfficiencyTool.h.
|
private |
operating point
Definition at line 366 of file BTaggingEfficiencyTool.h.
|
private |
if this string is empty, the onnx tool won't be created
Definition at line 389 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 387 of file BTaggingEfficiencyTool.h.
|
private |
pointer to the onnx tool
Definition at line 298 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 309 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 364 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 421 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 352 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 318 of file BTaggingEfficiencyTool.h.
|
private |
names of the data/MC scale factor calibrations
Definition at line 314 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 315 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 317 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 316 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 409 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 407 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 372 of file BTaggingEfficiencyTool.h.
|
private |
tagger name
Definition at line 363 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 348 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 358 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 344 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 345 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 347 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 346 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 386 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 374 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 393 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 381 of file BTaggingEfficiencyTool.h.
|
private |
Definition at line 350 of file BTaggingEfficiencyTool.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.
1.8.18