![]() |
ATLAS Offline Software
|
General interface for tools providing analysis efficiency scale factors. More...
#include <IEfficiencyScaleFactorTool.h>
Public Member Functions | |
| virtual | ~IEfficiencyScaleFactorTool ()=default |
| Default destructor. | |
| virtual CorrectionCode | getEfficiencyScaleFactor (const xAOD::IParticle &p, double &sf) const =0 |
| Retrieve an efficiency scale factor for a particle type object. | |
| virtual CorrectionCode | applyEfficiencyScaleFactor (const xAOD::IParticle &p) const =0 |
| Decorate a particle with its efficiency scale factor. | |
| virtual bool | isAffectedBySystematic (const SystematicVariation &systematic) const =0 |
| Declare the interface that this class provides. | |
| virtual StatusCode | applySystematicVariation (const SystematicSet &systConfig)=0 |
| effects: configure this tool for the given list of systematic variations. | |
| virtual SystematicSet | affectingSystematics () const =0 |
| the list of all systematics this tool can be affected by | |
| virtual SystematicSet | recommendedSystematics () const =0 |
| the list of all systematics this tool recommends to use | |
| virtual void | print () const =0 |
| Print the state of the tool. | |
General interface for tools providing analysis efficiency scale factors.
This is a generic interface that should be implemented by all analysis tools that provide efficiency scale factors for xAOD::IParticle type objects.
xAOD::IParticle interface doesn't provide, please rely on the xAOD::IParticle::type() function to identify whether you received an appropriate object. And then use static_cast to cast the reference to the right type. Like:Just be very careful about writing the code correctly, as a wrong static_cast could lead to memory corruption. But since its much faster than dynamic_cast, it's still recommended to use this sort of code.
Definition at line 51 of file IEfficiencyScaleFactorTool.h.
|
virtualdefault |
Default destructor.
|
pure virtualinherited |
the list of all systematics this tool can be affected by
Implemented in AsgElectronEfficiencyCorrectionTool, AsgPhotonEfficiencyCorrectionTool, BaseFakeBkgTool, BTaggingEfficiencyJsonTool, BTaggingEfficiencyTool, BTaggingEigenVectorRecompositionTool, BTaggingTruthTaggingTool, CP::BaseFakeBkgTool, CP::EgammaCalibrationAndSmearingTool, CP::ElectronChargeEfficiencyCorrectionTool, CP::FFJetSmearingTool, CP::IIsolationCorrectionTool, CP::IsolationCorrectionTool, CP::JetQGTagger, CP::JetTileCorrectionTool, CP::MuonCalibIntHighpTSmearTool, CP::MuonCalibIntSagittaTool, CP::MuonCalibIntScaleSmearTool, CP::MuonCalibTool, CP::MuonEfficiencyScaleFactors, CP::MuonTriggerScaleFactors, CP::PileupReweightingTool, CP::SystematicsTool, InDet::IInDetTrackBiasingTool, InDet::IInDetTrackSmearingTool, InDet::IInDetTrackTruthFilterTool, InDet::IJetTrackFilterTool, InDet::InclusiveTrackFilterTool, InDet::InDetTrackBiasingTool, InDet::InDetTrackSmearingTool, InDet::InDetTrackSystematicsTool, InDet::InDetTrackTruthFilterTool, InDet::JetTrackFilterTool, JetUncertaintiesTool, met::METSystematicsTool, ParticleScaleFactorTool, PMGTools::PMGHFProductionFractionTool, PMGTools::PMGTruthWeightTool, SimpleElectronEfficiencyCorrectionTool, SimpleMuonTriggerScaleFactors, SimplePhotonEfficiencyCorrectionTool, TauAnalysisTools::CommonEfficiencyTool, TauAnalysisTools::CommonSmearingTool, TauAnalysisTools::DiTauEfficiencyCorrectionsTool, TauAnalysisTools::DiTauSmearingTool, TauAnalysisTools::TauEfficiencyCorrectionsTool, TauAnalysisTools::TauSmearingTool, and TrigGlobalEfficiencyCorrectionTool.
|
pure virtual |
Decorate a particle with its efficiency scale factor.
This function can be used to decorate a particle type object with an efficiency scale factor. The name and type of the scale factor variable is up to the specific tool implementation.
| p | The particle for which a scale factor is to be calculated |
CP::CorrectionCode::Error in case of a serious problem, CP::CorrectionCode::OutOfValidityRange if no scale factor is available for the received object, or CP::CorrectionCode::Ok if the scale factor could be correctly provided
|
pure virtualinherited |
effects: configure this tool for the given list of systematic variations.
any requested systematics that are not affecting this tool will be silently ignored (unless they cause other errors). failures: systematic unknown failures: requesting multiple variations on the same systematic (e.g. up & down) failures: requesting an unsupported variation on an otherwise supported systematic (e.g. a 2 sigma variation and the tool only supports 1 sigma variations) failures: unsupported combination of supported systematic failures: other tool specific errors
Implemented in AsgElectronEfficiencyCorrectionTool, AsgPhotonEfficiencyCorrectionTool, BaseFakeBkgTool, BTaggingEfficiencyTool, BTaggingEigenVectorRecompositionTool, BTaggingTruthTaggingTool, CP::BaseFakeBkgTool, CP::EgammaCalibrationAndSmearingTool, CP::ElectronChargeEfficiencyCorrectionTool, CP::FFJetSmearingTool, CP::IIsolationCorrectionTool, CP::IsolationCorrectionTool, CP::JetQGTagger, CP::JetTileCorrectionTool, CP::MuonCalibIntHighpTSmearTool, CP::MuonCalibIntSagittaTool, CP::MuonCalibIntScaleSmearTool, CP::MuonCalibTool, CP::MuonEfficiencyScaleFactors, CP::MuonTriggerScaleFactors, CP::PileupReweightingTool, CP::SystematicsTool, InDet::IInDetTrackBiasingTool, InDet::IInDetTrackSmearingTool, InDet::IInDetTrackTruthFilterTool, InDet::IJetTrackFilterTool, InDet::InclusiveTrackFilterTool, InDet::InDetTrackBiasingTool, InDet::InDetTrackSmearingTool, InDet::InDetTrackSystematicsTool, InDet::InDetTrackTruthFilterTool, InDet::JetTrackFilterTool, JetUncertaintiesTool, met::METSystematicsTool, ParticleScaleFactorTool, SimpleElectronEfficiencyCorrectionTool, SimpleMuonTriggerScaleFactors, SimplePhotonEfficiencyCorrectionTool, TauAnalysisTools::CommonEfficiencyTool, TauAnalysisTools::CommonSmearingTool, TauAnalysisTools::DiTauEfficiencyCorrectionsTool, TauAnalysisTools::DiTauSmearingTool, TauAnalysisTools::TauEfficiencyCorrectionsTool, TauAnalysisTools::TauSmearingTool, and TrigGlobalEfficiencyCorrectionTool.
|
pure virtual |
Retrieve an efficiency scale factor for a particle type object.
This function is used to retrieve the efficiency scale factor for a specific particle object.
| p | The particle for which a scale factor is to be calculated |
| sf | A reference to the scale factor variable to be set |
CP::CorrectionCode::Error in case of a serious problem, CP::CorrectionCode::OutOfValidityRange if no scale factor is available for the received object, or CP::CorrectionCode::Ok if the scale factor could be correctly provided
|
pure virtualinherited |
Declare the interface that this class provides.
returns: whether this tool is affected by the given systematics
Implemented in AsgElectronEfficiencyCorrectionTool, AsgPhotonEfficiencyCorrectionTool, BaseFakeBkgTool, BTaggingEfficiencyTool, BTaggingEigenVectorRecompositionTool, BTaggingTruthTaggingTool, CP::BaseFakeBkgTool, CP::EgammaCalibrationAndSmearingTool, CP::ElectronChargeEfficiencyCorrectionTool, CP::FFJetSmearingTool, CP::IIsolationCorrectionTool, CP::IsolationCorrectionTool, CP::JetQGTagger, CP::JetTileCorrectionTool, CP::MuonCalibIntHighpTSmearTool, CP::MuonCalibIntSagittaTool, CP::MuonCalibIntScaleSmearTool, CP::MuonCalibTool, CP::MuonEfficiencyScaleFactors, CP::MuonTriggerScaleFactors, CP::PileupReweightingTool, CP::SystematicsTool, InDet::IInDetTrackBiasingTool, InDet::IInDetTrackSmearingTool, InDet::IInDetTrackTruthFilterTool, InDet::IJetTrackFilterTool, InDet::InclusiveTrackFilterTool, InDet::InDetTrackBiasingTool, InDet::InDetTrackSmearingTool, InDet::InDetTrackSystematicsTool, InDet::InDetTrackTruthFilterTool, InDet::JetTrackFilterTool, JetUncertaintiesTool, met::METSystematicsTool, ParticleScaleFactorTool, SimpleElectronEfficiencyCorrectionTool, SimpleMuonTriggerScaleFactors, SimplePhotonEfficiencyCorrectionTool, TauAnalysisTools::CommonEfficiencyTool, TauAnalysisTools::CommonSmearingTool, TauAnalysisTools::DiTauEfficiencyCorrectionsTool, TauAnalysisTools::DiTauSmearingTool, TauAnalysisTools::TauEfficiencyCorrectionsTool, TauAnalysisTools::TauSmearingTool, and TrigGlobalEfficiencyCorrectionTool.
|
pure virtualinherited |
Print the state of the tool.
Implemented in asg::AsgTool, AsgHelloTool, HI::HIPileupTool, JetBottomUpSoftDrop, JetConstituentsRetriever, JetDumper, JetFinder, JetFromPseudojet, JetModifiedMassDrop, JetPileupLabelingTool, JetPruner, JetPseudojetRetriever, JetReclusterer, JetReclusteringTool, JetRecTool, JetRecursiveSoftDrop, JetSoftDrop, JetSplitter, JetSubStructureMomentToolsBase, JetToolRunner, JetTrimmer, JetTruthLabelingTool, KtDeltaRTool, and LundVariablesTool.
|
pure virtualinherited |
the list of all systematics this tool recommends to use
Implemented in AsgElectronEfficiencyCorrectionTool, AsgPhotonEfficiencyCorrectionTool, BaseFakeBkgTool, BTaggingEfficiencyJsonTool, BTaggingEfficiencyTool, BTaggingEigenVectorRecompositionTool, BTaggingTruthTaggingTool, CP::BaseFakeBkgTool, CP::EgammaCalibrationAndSmearingTool, CP::ElectronChargeEfficiencyCorrectionTool, CP::FFJetSmearingTool, CP::IIsolationCorrectionTool, CP::IsolationCorrectionTool, CP::JetQGTagger, CP::JetTileCorrectionTool, CP::MuonCalibIntHighpTSmearTool, CP::MuonCalibIntSagittaTool, CP::MuonCalibIntScaleSmearTool, CP::MuonCalibTool, CP::MuonEfficiencyScaleFactors, CP::MuonTriggerScaleFactors, CP::PileupReweightingTool, CP::SystematicsTool, InDet::IInDetTrackBiasingTool, InDet::IInDetTrackSmearingTool, InDet::IInDetTrackTruthFilterTool, InDet::IJetTrackFilterTool, InDet::InclusiveTrackFilterTool, InDet::InDetTrackBiasingTool, InDet::InDetTrackSmearingTool, InDet::InDetTrackSystematicsTool, InDet::InDetTrackTruthFilterTool, InDet::JetTrackFilterTool, JetUncertaintiesTool, met::METSystematicsTool, ParticleScaleFactorTool, PMGTools::PMGHFProductionFractionTool, PMGTools::PMGTruthWeightTool, SimpleElectronEfficiencyCorrectionTool, SimpleMuonTriggerScaleFactors, SimplePhotonEfficiencyCorrectionTool, TauAnalysisTools::CommonEfficiencyTool, TauAnalysisTools::CommonSmearingTool, TauAnalysisTools::DiTauEfficiencyCorrectionsTool, TauAnalysisTools::DiTauSmearingTool, TauAnalysisTools::TauEfficiencyCorrectionsTool, TauAnalysisTools::TauSmearingTool, and TrigGlobalEfficiencyCorrectionTool.