ATLAS Offline Software
METRefinerTool.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // METRefinerTool.h
8 // Header file for class METRefinerTool
9 //
10 // This is the base class for tools that modify MET terms
11 // created by METBuilderTools
12 //
13 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
14 //
15 // Author: P Loch, S Resconi, TJ Khoo
17 #ifndef METRECONSTRUCTION_METREFINERTOOL_H
18 #define METRECONSTRUCTION_METREFINERTOOL_H 1
19 
20 // STL includes
21 #include <string>
22 
23 // FrameWork includes
24 #include "AsgTools/ToolHandle.h"
25 #include "AsgTools/AsgTool.h"
26 
27 // METRecoInterface includes
29 
30 // Forward declaration
31 namespace xAOD {
32  class IParticle;
33 }
34 
35 namespace met {
37  : virtual public asg::AsgTool,
38  virtual public IMETToolBase
39  {
40  // This macro defines the constructor with the interface declaration
42 
43 
44  // Public methods:
46  public:
47 
48  // Constructor with name (does this have to be a non-const
49  // std::string and not a const reference?)
50  METRefinerTool(const std::string& name);
51  virtual ~METRefinerTool();
52 
53  // AsgTool Hooks
54  virtual StatusCode initialize();
55  virtual StatusCode execute(xAOD::MissingET* metTerm, xAOD::MissingETComponentMap* metMap) const;
56  virtual StatusCode finalize();
57 
59  // Private data:
61  protected:
62 
63  std::string m_output_met_key;
64  bool m_useRapidity; // by default, use pseudorapidity for matching
65 
66  // reconstruction process to be defined in the individual tools
67  // pure virtual -- we have no default
68  virtual StatusCode executeTool(xAOD::MissingET* metTerm, xAOD::MissingETComponentMap* metMap) const = 0;
69 
70  private:
73 
74  };
75 
76 }
77 
78 #endif //> !METRECONSTRUCTION_METREFINERTOOL_H
xAOD::MissingETComponentMap_v1
Definition: MissingETComponentMap_v1.h:25
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
met::METRefinerTool::m_output_met_key
std::string m_output_met_key
Definition: METRefinerTool.h:63
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
met::METRefinerTool::executeTool
virtual StatusCode executeTool(xAOD::MissingET *metTerm, xAOD::MissingETComponentMap *metMap) const =0
IMETToolBase
Definition: IMETToolBase.h:25
met::METRefinerTool::finalize
virtual StatusCode finalize()
Definition: METRefinerTool.cxx:76
met
Definition: IMETSignificance.h:24
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::MissingET_v1
Principal data object for Missing ET.
Definition: MissingET_v1.h:25
met::METRefinerTool::execute
virtual StatusCode execute(xAOD::MissingET *metTerm, xAOD::MissingETComponentMap *metMap) const
Definition: METRefinerTool.cxx:59
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
met::METRefinerTool::METRefinerTool
METRefinerTool()
Default constructor:
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
ToolHandle.h
met::METRefinerTool
Definition: METRefinerTool.h:39
IMETToolBase.h
AsgTool.h
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43
met::METRefinerTool::~METRefinerTool
virtual ~METRefinerTool()
met::METRefinerTool::m_useRapidity
bool m_useRapidity
Definition: METRefinerTool.h:64
met::METRefinerTool::initialize
virtual StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: METRefinerTool.cxx:52