ORUtils::BaseOverlapTool Class Reference

Common base class tool for overlap tools. More...

#include <BaseOverlapTool.h>

Inheritance diagram for ORUtils::BaseOverlapTool:
asg::AsgTool asg::IAsgTool ORUtils::AltMuJetOverlapTool ORUtils::DeltaROverlapTool ORUtils::EleEleOverlapTool ORUtils::EleJetOverlapTool ORUtils::EleMuSharedTrkOverlapTool ORUtils::MuJetOverlapTool ORUtils::ObjLinkOverlapTool ORUtils::TauAntiTauJetOverlapTool ORUtils::TauJetOverlapTool ORUtils::TauLooseEleOverlapTool ORUtils::TauLooseMuOverlapTool

List of all members.

Public Member Functions

 BaseOverlapTool (const std::string &name)
 Create proper constructor for Athena.
StatusCode initialize () override final

Protected Member Functions

virtual StatusCode initializeDerived ()
virtual StatusCode handleOverlap (const xAOD::IParticle *testParticle, const xAOD::IParticle *refParticle) const
 Common helper method to handle an overlap result.

Protected Attributes

Common configurable properties



std::string m_inputLabel
 Input object decoration which specifies which objects to look at.
std::string m_outputLabel
 Output object decoration which specifies overlapping objects.
bool m_outputPassValue
bool m_linkOverlapObjects
 Flag to toggle overlap object links.
Utilities



std::unique_ptr
< OverlapDecorationHelper
m_decHelper
 Helper for handling input/output decorations.
std::unique_ptr
< OverlapLinkHelper
m_objLinkHelper
 Helper for linking overlap objects.

Detailed Description

Common base class tool for overlap tools.

This class was introduced to reduce the code duplication among the overlap tools. Most implementations use some common functionality such as input/output decorations, object linking, and output value logic control. This class then holds the code to handle those things, or holds the helper objects which implement the logic. It also defines the properties associated with these shared functionalities.

Author:
Steve Farrell <Steven.Farrell@cern.ch>

Constructor & Destructor Documentation

ORUtils::BaseOverlapTool::BaseOverlapTool ( const std::string &  name  ) 

Create proper constructor for Athena.

Standalone constructor


Member Function Documentation

StatusCode ORUtils::BaseOverlapTool::handleOverlap ( const xAOD::IParticle testParticle,
const xAOD::IParticle refParticle 
) const [protected, virtual]

Common helper method to handle an overlap result.

This method for now applies the user-defined object priorities set as the input decoration, so if the testParticle is higher prio than the refParticle, nothing happens. Otherwise, this method prints a debug message, decorates the testParticle as overlap, and optionally sets the object element link.

StatusCode ORUtils::BaseOverlapTool::initialize ( void   )  [override, virtual]

Initialize base class functionality. Concrete tool specific initialization can be implemented by overriding the initializeDerived() method.

Reimplemented from asg::AsgTool.

virtual StatusCode ORUtils::BaseOverlapTool::initializeDerived (  )  [inline, protected, virtual]

Member Data Documentation

Toggle the output flag logic. If true, then non-overlapping objects will be assigned "true".


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

Generated on 1 Dec 2017 for RootCore Packages by  doxygen 1.6.1