ATLAS Offline Software
|
#include <ITrigGlobalEfficiencyCorrectionTool.h>
Public Member Functions | |
virtual CP::CorrectionCode | getEfficiencyScaleFactor (const std::vector< const xAOD::IParticle * > &particles, double &efficiencyScaleFactor)=0 |
virtual CP::CorrectionCode | getEfficiency (const std::vector< const xAOD::IParticle * > &particles, double &efficiencyData, double &efficiencyMc)=0 |
virtual CP::CorrectionCode | checkTriggerMatching (bool &matched, const std::vector< const xAOD::IParticle * > &particles)=0 |
template<typename... Args> | |
auto | getEfficiencyScaleFactor (Args &... args) -> std::enable_if_t< validArgs< Args... >(1), CP::CorrectionCode > |
Alternatively, the list of particles can be supplied via one or several vectors of xAOD::Electron*/Muon*/Photon* The generic signature is getEfficiencyScaleFactor((const) vector<(const)Type1*>&, ..., (const) vector<(const)TypeN*>&, double& efficiencyScaleFactor) e.g. More... | |
template<typename... Args> | |
auto | getEfficiency (Args &... args) -> std::enable_if_t< validArgs< Args... >(2), CP::CorrectionCode > |
template<typename... Args> | |
auto | checkTriggerMatching (bool &matched, Args &... args) -> std::enable_if_t< validArgs< Args... >(0), CP::CorrectionCode > |
virtual CP::CorrectionCode | getRelevantTriggers (std::vector< std::string > &triggers)=0 |
This will fill the 'triggers' argument with the names of the triggers relevant for the current run number, among those specified in the tool configuration. More... | |
virtual CP::CorrectionCode | countTriggerLegs (const std::string &trigger, std::size_t &numberOfLegs)=0 |
This utility function provides the number of legs for the specified trigger. More... | |
virtual CP::CorrectionCode | getEfficiencyScaleFactor (unsigned runNumber, const std::vector< const xAOD::IParticle * > &particles, double &efficiencyScaleFactor)=0 |
These should in principle not be used (except by unit tests), as the CP tools require the EventInfo decoration "RandomRunNumber" to be present. More... | |
virtual CP::CorrectionCode | getEfficiency (unsigned runNumber, const std::vector< const xAOD::IParticle * > &particles, double &efficiencyData, double &efficiencyMc)=0 |
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... | |
Static Public Member Functions | |
template<typename Arg > | |
static constexpr bool | validArgs (unsigned nTrailingDoubles) |
template<typename Arg1 , typename Arg2 , typename... OtherArgs> | |
static constexpr bool | validArgs (unsigned nTrailingDoubles) |
static std::string | toolnameForDefaultScaleFactor () |
To be used with the ListOfLegsPerTool property: More... | |
Protected Member Functions | |
double * | handleArg (double &arg, std::vector< const xAOD::IParticle * > &) |
template<typename P > | |
double * | handleArg (const std::vector< P > &arg, std::vector< const xAOD::IParticle * > &particles) |
Definition at line 20 of file ITrigGlobalEfficiencyCorrectionTool.h.
|
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 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.
auto ITrigGlobalEfficiencyCorrectionTool::checkTriggerMatching | ( | bool & | matched, |
Args &... | args | ||
) | -> std::enable_if_t<validArgs<Args...>(0), CP::CorrectionCode> |
Definition at line 110 of file ITrigGlobalEfficiencyCorrectionTool.h.
|
pure virtual |
Implemented in TrigGlobalEfficiencyCorrectionTool.
|
pure virtual |
This utility function provides the number of legs for the specified trigger.
Implemented in TrigGlobalEfficiencyCorrectionTool.
auto ITrigGlobalEfficiencyCorrectionTool::getEfficiency | ( | Args &... | args | ) | -> std::enable_if_t<validArgs<Args...>(2), CP::CorrectionCode> |
|
pure virtual |
Implemented in TrigGlobalEfficiencyCorrectionTool.
|
pure virtual |
Implemented in TrigGlobalEfficiencyCorrectionTool.
auto ITrigGlobalEfficiencyCorrectionTool::getEfficiencyScaleFactor | ( | Args &... | args | ) | -> std::enable_if_t<validArgs<Args...>(1), CP::CorrectionCode> |
Alternatively, the list of particles can be supplied via one or several vectors of xAOD::Electron*/Muon*/Photon* The generic signature is getEfficiencyScaleFactor((const) vector<(const)Type1*>&, ..., (const) vector<(const)TypeN*>&, double& efficiencyScaleFactor) e.g.
getEfficiencyScaleFactor(electrons, muons, sf); getEfficiencyScaleFactor(photons, sf); getEfficiencyScaleFactor(muons, electrons, photons, sf); don't forget the last argument(s)! (scale factor for getEfficiencyScaleFactor(), data and MC efficiencies for getEfficiency())
Definition at line 92 of file ITrigGlobalEfficiencyCorrectionTool.h.
|
pure virtual |
Implemented in TrigGlobalEfficiencyCorrectionTool.
|
pure virtual |
These should in principle not be used (except by unit tests), as the CP tools require the EventInfo decoration "RandomRunNumber" to be present.
Implemented in TrigGlobalEfficiencyCorrectionTool.
|
pure virtual |
This will fill the 'triggers' argument with the names of the triggers relevant for the current run number, among those specified in the tool configuration.
Implemented in TrigGlobalEfficiencyCorrectionTool.
|
inlineprotected |
Definition at line 59 of file ITrigGlobalEfficiencyCorrectionTool.h.
|
inlineprotected |
Definition at line 58 of file ITrigGlobalEfficiencyCorrectionTool.h.
|
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.
|
inlinestatic |
To be used with the ListOfLegsPerTool property:
Definition at line 56 of file ITrigGlobalEfficiencyCorrectionTool.h.
|
staticconstexpr |
Definition at line 67 of file ITrigGlobalEfficiencyCorrectionTool.h.
|
staticconstexpr |
Definition at line 80 of file ITrigGlobalEfficiencyCorrectionTool.h.