ATLAS Offline Software
|
General interface for tools providing analysis efficiency scale factors. More...
#include <IEfficiencyScaleFactorTool.h>
Public Member Functions | |
virtual | ~IEfficiencyScaleFactorTool ()=default |
Default destructor. More... | |
virtual CorrectionCode | getEfficiencyScaleFactor (const xAOD::IParticle &p, double &sf) const =0 |
Retrieve an efficiency scale factor for a particle type object. More... | |
virtual CorrectionCode | applyEfficiencyScaleFactor (const xAOD::IParticle &p) const =0 |
Decorate a particle with its efficiency scale factor. More... | |
virtual bool | isAffectedBySystematic (const SystematicVariation &systematic) const =0 |
Declare the interface that this class provides. More... | |
virtual StatusCode | applySystematicVariation (const SystematicSet &systConfig)=0 |
effects: configure this tool for the given list of systematic variations. More... | |
virtual SystematicSet | affectingSystematics () const =0 |
the list of all systematics this tool can be affected by More... | |
virtual SystematicSet | recommendedSystematics () const =0 |
the list of all systematics this tool recommends to use More... | |
virtual void | print () const =0 |
Print the state of the tool. More... | |
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 InDet::InDetTrackSystematicsTool, CP::ElectronChargeEfficiencyCorrectionTool, AsgElectronEfficiencyCorrectionTool, CP::IsolationCorrectionTool, CP::EgammaCalibrationAndSmearingTool, CP::FFJetSmearingTool, SimpleMuonTriggerScaleFactors, SimplePhotonEfficiencyCorrectionTool, PMGTools::PMGTruthWeightTool, AsgPhotonEfficiencyCorrectionTool, ParticleScaleFactorTool, InDet::InDetTrackTruthFilterTool, CP::JetJvtEfficiency, InDet::InDetTrackBiasingTool, InDet::JetTrackFilterTool, InDet::InDetTrackSmearingTool, CP::BaseFakeBkgTool, InDet::InclusiveTrackFilterTool, TrigGlobalEfficiencyCorrectionTool, SimpleElectronEfficiencyCorrectionTool, TauAnalysisTools::DiTauSmearingTool, CP::JetQGTagger, CP::MuonCalibTool, CP::MuonCalibIntScaleSmearTool, CP::MuonCalibIntHighpTSmearTool, CP::MuonCalibIntSagittaTool, BTaggingEfficiencyJsonTool, InDet::IInDetTrackSmearingTool, InDet::IInDetTrackTruthFilterTool, CP::IIsolationCorrectionTool, InDet::IInDetTrackBiasingTool, InDet::IJetTrackFilterTool, BTaggingEfficiencyTool, JetUncertaintiesTool, BTaggingTruthTaggingTool, CP::PileupReweightingTool, met::METSystematicsTool, BTaggingEigenVectorRecompositionTool, TauAnalysisTools::DiTauEfficiencyCorrectionsTool, CP::JetTileCorrectionTool, TauAnalysisTools::CommonSmearingTool, CP::SystematicsTool, TauAnalysisTools::CommonEfficiencyTool, TauAnalysisTools::TauEfficiencyCorrectionsTool, TauAnalysisTools::TauSmearingTool, CP::MuonTriggerScaleFactors, and CP::MuonEfficiencyScaleFactors.
|
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 CP::ElectronChargeEfficiencyCorrectionTool, CP::MuonCalibTool, CP::MuonCalibIntScaleSmearTool, CP::MuonCalibIntHighpTSmearTool, CP::MuonCalibIntSagittaTool, CP::SystematicsTool, CP::JetTileCorrectionTool, CP::MuonEfficiencyScaleFactors, CP::JetQGTagger, CP::FFJetSmearingTool, CP::IIsolationCorrectionTool, AsgElectronEfficiencyCorrectionTool, CP::IsolationCorrectionTool, CP::EgammaCalibrationAndSmearingTool, AsgPhotonEfficiencyCorrectionTool, ParticleScaleFactorTool, CP::BaseFakeBkgTool, TauAnalysisTools::DiTauSmearingTool, TrigGlobalEfficiencyCorrectionTool, JetUncertaintiesTool, BTaggingTruthTaggingTool, CP::PileupReweightingTool, BTaggingEigenVectorRecompositionTool, TauAnalysisTools::DiTauEfficiencyCorrectionsTool, TauAnalysisTools::TauEfficiencyCorrectionsTool, TauAnalysisTools::TauSmearingTool, CP::MuonTriggerScaleFactors, BTaggingEfficiencyJsonTool, TauAnalysisTools::CommonSmearingTool, TauAnalysisTools::CommonEfficiencyTool, TauAnalysisTools::TauEfficiencyTriggerTool, CP::JetJvtEfficiency, BTaggingEfficiencyTool, met::METSystematicsTool, InDet::IInDetTrackSmearingTool, InDet::IInDetTrackTruthFilterTool, InDet::IInDetTrackBiasingTool, InDet::IJetTrackFilterTool, SimpleMuonTriggerScaleFactors, SimplePhotonEfficiencyCorrectionTool, InDet::InDetTrackTruthFilterTool, InDet::InDetTrackBiasingTool, InDet::JetTrackFilterTool, InDet::InDetTrackSmearingTool, InDet::InclusiveTrackFilterTool, SimpleElectronEfficiencyCorrectionTool, and InDet::InDetTrackSystematicsTool.
|
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 CP::JetQGTagger, CP::ElectronChargeEfficiencyCorrectionTool, CP::MuonCalibTool, CP::MuonCalibIntScaleSmearTool, CP::MuonCalibIntHighpTSmearTool, CP::MuonCalibIntSagittaTool, CP::JetTileCorrectionTool, CP::SystematicsTool, CP::MuonEfficiencyScaleFactors, CP::JetJvtEfficiency, met::METSystematicsTool, AsgElectronEfficiencyCorrectionTool, CP::IsolationCorrectionTool, CP::EgammaCalibrationAndSmearingTool, CP::FFJetSmearingTool, ParticleScaleFactorTool, AsgPhotonEfficiencyCorrectionTool, CP::BaseFakeBkgTool, TrigGlobalEfficiencyCorrectionTool, TauAnalysisTools::DiTauSmearingTool, BTaggingEfficiencyJsonTool, CP::IIsolationCorrectionTool, BTaggingEfficiencyTool, JetUncertaintiesTool, BTaggingTruthTaggingTool, CP::PileupReweightingTool, BTaggingEigenVectorRecompositionTool, TauAnalysisTools::DiTauEfficiencyCorrectionsTool, TauAnalysisTools::CommonSmearingTool, TauAnalysisTools::CommonEfficiencyTool, TauAnalysisTools::TauEfficiencyCorrectionsTool, TauAnalysisTools::TauSmearingTool, CP::MuonTriggerScaleFactors, SimpleMuonTriggerScaleFactors, SimplePhotonEfficiencyCorrectionTool, InDet::InDetTrackTruthFilterTool, InDet::InDetTrackBiasingTool, InDet::JetTrackFilterTool, InDet::InDetTrackSmearingTool, InDet::InclusiveTrackFilterTool, SimpleElectronEfficiencyCorrectionTool, InDet::InDetTrackSystematicsTool, InDet::IInDetTrackSmearingTool, InDet::IInDetTrackTruthFilterTool, InDet::IInDetTrackBiasingTool, and InDet::IJetTrackFilterTool.
|
pure virtualinherited |
Print the state of the tool.
Implemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, asg::AsgTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
|
pure virtualinherited |
the list of all systematics this tool recommends to use
Implemented in CP::ElectronChargeEfficiencyCorrectionTool, AsgElectronEfficiencyCorrectionTool, CP::IsolationCorrectionTool, CP::EgammaCalibrationAndSmearingTool, CP::FFJetSmearingTool, SimpleMuonTriggerScaleFactors, SimplePhotonEfficiencyCorrectionTool, PMGTools::PMGTruthWeightTool, AsgPhotonEfficiencyCorrectionTool, InDet::InDetTrackTruthFilterTool, ParticleScaleFactorTool, CP::JetJvtEfficiency, InDet::InDetTrackBiasingTool, InDet::JetTrackFilterTool, InDet::InDetTrackSmearingTool, CP::BaseFakeBkgTool, InDet::InclusiveTrackFilterTool, TauAnalysisTools::DiTauSmearingTool, TrigGlobalEfficiencyCorrectionTool, SimpleElectronEfficiencyCorrectionTool, CP::JetQGTagger, CP::MuonCalibTool, CP::MuonCalibIntScaleSmearTool, CP::MuonCalibIntHighpTSmearTool, CP::MuonCalibIntSagittaTool, InDet::InDetTrackSystematicsTool, BTaggingEfficiencyJsonTool, InDet::IInDetTrackSmearingTool, InDet::IInDetTrackTruthFilterTool, CP::IIsolationCorrectionTool, InDet::IInDetTrackBiasingTool, InDet::IJetTrackFilterTool, BTaggingEfficiencyTool, JetUncertaintiesTool, BTaggingTruthTaggingTool, CP::PileupReweightingTool, met::METSystematicsTool, BTaggingEigenVectorRecompositionTool, TauAnalysisTools::DiTauEfficiencyCorrectionsTool, CP::JetTileCorrectionTool, CP::SystematicsTool, TauAnalysisTools::CommonSmearingTool, TauAnalysisTools::CommonEfficiencyTool, TauAnalysisTools::TauEfficiencyCorrectionsTool, TauAnalysisTools::TauSmearingTool, CP::MuonTriggerScaleFactors, and CP::MuonEfficiencyScaleFactors.