ana::AnaTool Class Reference

The base class for all the tools constituting object definitions. More...

#include <AnaTool.h>

Inheritance diagram for ana::AnaTool:
ana::IAnaTool asg::AsgTool CP::ISystematicsTool asg::IAsgTool asg::IAsgTool ana::AnaToolCorrect< XAODContainer > ana::AnaToolRetrieve ana::AnaToolSelect< XAODContainer > ana::AnaToolSelectCombine ana::AnaToolSelectInit ana::AnaToolSelectSpread ana::AnaToolWeight< XAODContainer > ana::EventInfoIsData ana::EventInfoTool ana::EventSelectBaseTool ana::EventSelectHasVertex ana::KinSelectTool ana::LegacyORTool ana::MetTool ana::ORTool ana::PileupTool ana::SusyORTool ana::TauToolTruth ana::TriggerTool ana::AnaToolCorrect< xAOD::ElectronContainer > ana::AnaToolCorrect< xAOD::JetContainer > ana::AnaToolCorrect< xAOD::MuonContainer > ana::AnaToolCorrect< xAOD::PhotonContainer > ana::AnaToolCorrect< xAOD::TauJetContainer > ana::AnaToolSelect< xAOD::ElectronContainer > ana::AnaToolSelect< xAOD::JetContainer > ana::AnaToolSelect< xAOD::MuonContainer > ana::AnaToolSelect< xAOD::PhotonContainer > ana::AnaToolSelect< xAOD::TauJetContainer > ana::AnaToolWeight< xAOD::ElectronContainer > ana::AnaToolWeight< xAOD::JetContainer > ana::AnaToolWeight< xAOD::MuonContainer > ana::AnaToolWeight< xAOD::PhotonContainer > ana::AnaToolWeight< xAOD::TauJetContainer >

List of all members.

Public Member Functions

void testInvariant () const
 test the invariant of this container
 AnaTool (const std::string &name)
 standard constructor
virtual bool isAffectedBySystematic (const CP::SystematicVariation &systematic) const override
 returns: whether this tool is affected by the given systematics
virtual CP::SystematicSet affectingSystematics () const override
 returns: the list of all systematics this tool can be affected by
virtual CP::SystematicSet recommendedSystematics () const override
 returns: the list of all systematics this tool recommends to use
virtual CP::SystematicCode applySystematicVariation (const CP::SystematicSet &systConfig) override
virtual void fillEventDataSource (EventData &event) const override
 fill the source component of the EventData
virtual StatusCode useConfiguration (const InternalConfiguration &configuration) override
 extract whatever we need from the given configuration object
virtual StatusCode getInitialConfiguration (InternalConfiguration &conf) override
 fill the initial configuration before initialize
virtual StatusCode useInitialConfiguration (const InternalConfiguration &conf) override
 use the initial configuration before initialize

Protected Member Functions

void registerTool (CP::ISystematicsTool *tool)
 register the given systematics tool
void registerTool (IAsgTool *tool)

Detailed Description

The base class for all the tools constituting object definitions.

Rationale
Most object definitions should derive from this class instead of from IAnaTool directly, since this class contains quite a bit of boilerplate code.

Constructor & Destructor Documentation

ana::AnaTool::AnaTool ( const std::string &  name  ) 

standard constructor

Guarantee
strong
Failures
out of memory II

Member Function Documentation

CP::SystematicCode ana::AnaTool::applySystematicVariation ( const CP::SystematicSet systConfig  )  [override, 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). 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.

void ana::AnaTool::fillEventDataSource ( EventData event  )  const [override, virtual]

fill the source component of the EventData

This is meant to be implemented by the retrieval tools that perform the shallow copy to document what they do. All other tools can safely ignore this.

Guarantee
basic
Failures
out of memory II

Implements ana::IAnaTool.

Reimplemented in ana::AnaToolRetrieve.

StatusCode ana::AnaTool::getInitialConfiguration ( InternalConfiguration conf  )  [override, virtual]

fill the initial configuration before initialize

this is mostly used so that retrieval tools can broadcast the input collections they are using

Guarantee
basic
Failures
tool dependent

Implements ana::IAnaTool.

Reimplemented in ana::AnaToolRetrieve.

void ana::AnaTool::registerTool ( IAsgTool *  tool  )  [protected]

register the given systematics tool

Guarantee
strong
Failures
out of memory I
Rationale
for now this is mainly used for managing the systematics, but at a later stage there may be other uses for this as well.

Rationale
there are two versions here, so that it can be called directly both with tools that implement ISystematicsTool and those that do not need it.
See also:
registerTool(CP::ISystematicsTool*)
void ana::AnaTool::registerTool ( CP::ISystematicsTool tool  )  [protected]

register the given systematics tool

Guarantee
strong
Failures
out of memory I
Rationale
for now this is mainly used for managing the systematics, but at a later stage there may be other uses for this as well.
void ana::AnaTool::testInvariant (  )  const

test the invariant of this container

Guarantee
no-fail

Reimplemented in ana::EventInfoIsData.

StatusCode ana::AnaTool::useConfiguration ( const InternalConfiguration configuration  )  [override, virtual]
StatusCode ana::AnaTool::useInitialConfiguration ( const InternalConfiguration conf  )  [override, virtual]

use the initial configuration before initialize

Guarantee
basic
Failures
tool dependent

Implements ana::IAnaTool.

Reimplemented in ana::JetToolCorrect, ana::MetTool, and ana::TriggerTool.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Apr 2017 for RootCore Packages by  doxygen 1.6.1