ATLAS Offline Software
|
Base class for CP tools providing systematic variations. More...
#include <SystematicsTool.h>
Public Member Functions | |
SystematicsTool () | |
effects: standard constructor guarantee: strong failures: out of memory I More... | |
virtual bool | isAffectedBySystematic (const SystematicVariation &systematic) const |
returns: whether this tool is affected by the given systematic guarantee: no-fail More... | |
virtual SystematicSet | affectingSystematics () const |
returns: the list of all systematics this tool can be affected by guarantee: strong failures: out of memory II More... | |
virtual SystematicSet | recommendedSystematics () const |
returns: the list of all systematics this tool can be affected by guarantee: strong failures: out of memory II More... | |
const SystematicSet & | appliedSystematics () const |
returns: the list of systematics that have been applied to this tool. More... | |
std::string | appliedSystematicsString () const |
returns: a string representation of appliedSystematics() guarantee: strong failures: out of memory II rationale: this is meant to be used when printing out the applied systematics for debugging purposes (or when embedding them in a string). More... | |
virtual StatusCode | applySystematicVariation (const SystematicSet &systConfig) |
effects: configure this tool for the given list of systematic variations. More... | |
void | testInvariant () const |
effects: test the invariance of this object guarantee: no-fail More... | |
virtual void | print () const =0 |
Print the state of the tool. More... | |
Protected Member Functions | |
StatusCode | addAffectingSystematic (const SystematicVariation &systematic, bool recommended) |
effects: add a systematic to the list of registered systematics. More... | |
StatusCode | addRecommendedSystematic (const SystematicVariation &systematic) |
effects: add a systematic to the list of recommended systematics failures: unsupported systematic More... | |
void | addAffectingSystematics (const SystematicSet &systematics) |
effects: add a SystematicSet to the registered systematics. More... | |
StatusCode | addRecommendedSystematics (const SystematicSet &systematics) |
effects: add a SystematicSet to the recommended systematics. More... | |
virtual StatusCode | sysApplySystematicVariation (const SystematicSet &systConfig)=0 |
effects: configure this tool for the given list of systematic variations. More... | |
Protected Attributes | |
SystematicSet | m_affectingSystematics |
description: members directly corresponding to accessors More... | |
SystematicSet | m_recommendedSystematics |
Private Attributes | |
SystematicSet * | m_appliedSystematics |
description: pointer to currenty applied systematics More... | |
std::unordered_map< SystematicSet, SystematicSet > | m_systFilterMap |
map of cached systematics filtering More... | |
Base class for CP tools providing systematic variations.
This module provides a base class for systematics aware CP tools. The interface provided in this module is intended for the general user. The module is considered to be in the pre-alpha stage.
CP tools are not required to use this base class to implement the systematics interface. They can just implement their own version of the interface. Though they should probably take a quick glance of what this class does, particularly they shouldn't forget to register all their systematics with the global list.
The main difference between implementing the interface yourself and using this base class is that with this class you register all the systematics with the base class. The tool then only needs to override sysApplySystematicVariation (instead of applySystematicVariation), which gets passed only the systematics filtered for the affecting systematics (which get also stored in the base class).
Definition at line 48 of file SystematicsTool.h.
CP::SystematicsTool::SystematicsTool | ( | ) |
effects: standard constructor guarantee: strong failures: out of memory I
Definition at line 25 of file SystematicsTool.cxx.
|
protected |
effects: add a systematic to the list of registered systematics.
It will optionally also add this sytematic to the recommended set. side effects: this will add the systematic to the global list of systematics, if not already there guarantee: strong failures: out of memory II
Definition at line 111 of file SystematicsTool.cxx.
|
protected |
effects: add a SystematicSet to the registered systematics.
Definition at line 141 of file SystematicsTool.cxx.
|
protected |
effects: add a systematic to the list of recommended systematics failures: unsupported systematic
Definition at line 127 of file SystematicsTool.cxx.
|
protected |
effects: add a SystematicSet to the recommended systematics.
Definition at line 151 of file SystematicsTool.cxx.
|
virtual |
returns: the list of all systematics this tool can be affected by guarantee: strong failures: out of memory II
Implements CP::IReentrantSystematicsTool.
Reimplemented in CP::JetJvtEfficiency, CP::JetQGTagger, and met::METSystematicsTool.
Definition at line 40 of file SystematicsTool.cxx.
const SystematicSet & CP::SystematicsTool::appliedSystematics | ( | ) | const |
returns: the list of systematics that have been applied to this tool.
this is not including systematics that were applied, but do not affect this tool guarantee: no-fail
Definition at line 54 of file SystematicsTool.cxx.
std::string CP::SystematicsTool::appliedSystematicsString | ( | ) | const |
returns: a string representation of appliedSystematics() guarantee: strong failures: out of memory II rationale: this is meant to be used when printing out the applied systematics for debugging purposes (or when embedding them in a string).
Definition at line 67 of file SystematicsTool.cxx.
|
virtual |
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). guarantee: basic failures: out of memory II 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
Implements CP::ISystematicsTool.
Reimplemented in CP::JetQGTagger, CP::JetJvtEfficiency, and met::METSystematicsTool.
Definition at line 73 of file SystematicsTool.cxx.
|
virtual |
returns: whether this tool is affected by the given systematic guarantee: no-fail
Implements CP::ISystematicsTool.
Reimplemented in CP::JetQGTagger, CP::JetJvtEfficiency, and met::METSystematicsTool.
Definition at line 31 of file SystematicsTool.cxx.
|
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.
|
virtual |
returns: the list of all systematics this tool can be affected by guarantee: strong failures: out of memory II
Implements CP::IReentrantSystematicsTool.
Reimplemented in CP::JetJvtEfficiency, CP::JetQGTagger, and met::METSystematicsTool.
Definition at line 47 of file SystematicsTool.cxx.
|
protectedpure virtual |
effects: configure this tool for the given list of systematic variations.
systConfig is guaranteed to contain only supported systematics. guarantee: basic failures: out of memory II failures: unsupported combination of supported systematics failures: other tool specific errors
Implemented in CP::JetQGTagger, CP::FJvtEfficiencyTool, CP::JvtEfficiencyTool, CP::NNJvtEfficiencyTool, CP::JetJvtEfficiency, and met::METSystematicsTool.
void CP::SystematicsTool::testInvariant | ( | ) | const |
effects: test the invariance of this object guarantee: no-fail
Definition at line 165 of file SystematicsTool.cxx.
|
protected |
description: members directly corresponding to accessors
Definition at line 146 of file SystematicsTool.h.
|
private |
description: pointer to currenty applied systematics
Definition at line 151 of file SystematicsTool.h.
|
protected |
Definition at line 147 of file SystematicsTool.h.
|
private |
map of cached systematics filtering
Definition at line 154 of file SystematicsTool.h.