ATLAS Offline Software
BaseOverlapTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ASSOCIATIONUTILS_BASEOVERLAPTOOL_H
6 #define ASSOCIATIONUTILS_BASEOVERLAPTOOL_H
7 
8 // System includes
9 #include <string>
10 #include <memory>
11 
12 // Framework includes
13 #include "AsgTools/AsgTool.h"
14 
15 // EDM includes
16 #include "xAODBase/IParticle.h"
17 
18 // Local includes
21 
22 namespace ORUtils
23 {
24 
38  {
39 
42 
43  public:
44 
46  BaseOverlapTool(const std::string& name);
47 
51  StatusCode initialize() override final;
52 
53  protected:
54 
58  { return StatusCode::SUCCESS; }
59 
67  virtual StatusCode handleOverlap(const xAOD::IParticle* testParticle,
68  const xAOD::IParticle* refParticle) const;
69 
72 
74  std::string m_inputLabel;
76  std::string m_outputLabel;
77 
81 
84 
87 
89 
90  protected:
93 
95  std::unique_ptr<OverlapDecorationHelper> m_decHelper;
96 
98  std::unique_ptr<OverlapLinkHelper> m_objLinkHelper;
99 
101 
102  }; // class BaseOverlapTool
103 
104 } // namespace ORUtils
105 
106 #endif
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
IParticle.h
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
ORUtils::BaseOverlapTool::m_inputLabel
std::string m_inputLabel
Input object decoration which specifies which objects to look at.
Definition: BaseOverlapTool.h:74
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
ORUtils::BaseOverlapTool::m_enableUserPrio
bool m_enableUserPrio
Enable user-priority scoring.
Definition: BaseOverlapTool.h:86
ORUtils
Definition: AltMuJetOverlapTool.h:20
ORUtils::BaseOverlapTool::initialize
StatusCode initialize() override final
Initialize base class functionality.
Definition: BaseOverlapTool.cxx:38
ORUtils::BaseOverlapTool::m_objLinkHelper
std::unique_ptr< OverlapLinkHelper > m_objLinkHelper
Helper for linking overlap objects.
Definition: BaseOverlapTool.h:98
OverlapLinkHelper.h
ORUtils::BaseOverlapTool::initializeDerived
virtual StatusCode initializeDerived()
Initialization for derived tools.
Definition: BaseOverlapTool.h:57
ORUtils::BaseOverlapTool
Common base class tool for overlap tools.
Definition: BaseOverlapTool.h:38
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ORUtils::BaseOverlapTool::m_outputPassValue
bool m_outputPassValue
Toggle the output flag logic.
Definition: BaseOverlapTool.h:80
ORUtils::BaseOverlapTool::m_decHelper
std::unique_ptr< OverlapDecorationHelper > m_decHelper
Helper for handling input/output decorations.
Definition: BaseOverlapTool.h:95
ORUtils::BaseOverlapTool::m_linkOverlapObjects
bool m_linkOverlapObjects
Flag to toggle overlap object links.
Definition: BaseOverlapTool.h:83
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
ORUtils::BaseOverlapTool::BaseOverlapTool
BaseOverlapTool(const std::string &name)
Create proper constructor for Athena.
Definition: BaseOverlapTool.cxx:20
ORUtils::BaseOverlapTool::handleOverlap
virtual StatusCode handleOverlap(const xAOD::IParticle *testParticle, const xAOD::IParticle *refParticle) const
Common helper method to handle an overlap result.
Definition: BaseOverlapTool.cxx:64
ORUtils::BaseOverlapTool::m_outputLabel
std::string m_outputLabel
Output object decoration which specifies overlapping objects.
Definition: BaseOverlapTool.h:76
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
AsgTool.h
OverlapDecorationHelper.h