ATLAS Offline Software
METSoftTermsTool.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // METSoftTermsTool.h
8 // Header file for class METSoftTermsTool
9 //
10 // This is a scheduler for the MET Reconstruction, and sets up
11 // the sequence in which the individual terms are constructed.
12 //
13 // Note that this tool is now quite outdated and should be used only
14 // for basic monitoring purposes.
15 //
16 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
17 //
18 // Author: P Loch, S Resconi, TJ Khoo
20 #ifndef METRECONSTRUCTION_METSOFTTERMSTOOL_H
21 #define METRECONSTRUCTION_METSOFTTERMSTOOL_H 1
22 
23 // STL includes
24 #include <string>
25 
26 // METReconstruction includes
28 
29 //Framework includes
30 #include "StoreGate/DataHandle.h"
31 
32 //#include "xAODCaloEvent/CaloClusterFwd.h"
34 //#include "xAODTracking/TrackParticleFwd.h"
36 
37 namespace met{
38 
40  : public METBuilderTool
41  {
42  // This macro defines the constructor with the interface declaration
44 
45  public:
46 
47  // Constructor with name (does this have to be a non-const
48  // std::string and not a const reference?)
49  METSoftTermsTool(const std::string& name);
50  ~METSoftTermsTool() = default;
51 
52  // AsgTool Hooks
53  virtual StatusCode initialize() override;
54 
55  protected:
56  virtual
57  StatusCode executeTool(xAOD::MissingET* metTerm, xAOD::MissingETComponentMap* metMap) const override;
58  // Accept functions
59  virtual
60  bool accept (const xAOD::IParticle* object) const override;
61  bool accept (const xAOD::CaloCluster* clus) const;
62  static bool accept (const xAOD::TrackParticle* trk) ;
63  // Overlap resolver function
64  virtual
65  bool resolveOverlap (const xAOD::IParticle* object,
67  std::vector<const xAOD::IParticle*>& acceptedSignals,
68  MissingETBase::Types::weight_t& objWeight) const override;
70  std::vector<const xAOD::IParticle*>& acceptedSignals) const;
71 
72  private:
73  // Default constructor:
75 
76  // Use Case - Clusters OR Tracks OR PFOs
77  Gaudi::Property<std::string> m_inputType{this, "InputComposition", "Clusters", ""}; // Options : Clusters (default) OR Tracks
79  // Cluster selection
80  Gaudi::Property<bool> m_cl_vetoNegE{this, "VetoNegEClus", true, ""};
81  Gaudi::Property<bool> m_cl_onlyNegE{this, "OnlyNegEClus", false, ""};
82  SG::ReadHandleKey<xAOD::CaloClusterContainer> m_caloClusterKey{this, "CaloClusterKey", "", "Input calo cluster container name (not to be configured manually)"};
83  SG::ReadHandleKey<xAOD::TrackParticleContainer> m_trackParticleKey{this, "TrackKey", "", "Input track container name (not to be configured manually)"};
84  };
85 
86 }
87 
88 #endif //> !METRECONSTRUCTION_METSOFTTERMSTOOL_H
xAOD::MissingETComponentMap_v1
Definition: MissingETComponentMap_v1.h:25
met::METSoftTermsTool::m_inputType
Gaudi::Property< std::string > m_inputType
Definition: METSoftTermsTool.h:77
met::METSoftTermsTool::m_cl_onlyNegE
Gaudi::Property< bool > m_cl_onlyNegE
Definition: METSoftTermsTool.h:81
met::METBuilderTool
Definition: METBuilderTool.h:39
ObjectType
ObjectType
Definition: BaseObject.h:11
met::METSoftTermsTool::resolveOverlap
virtual bool resolveOverlap(const xAOD::IParticle *object, xAOD::MissingETComponentMap *metMap, std::vector< const xAOD::IParticle * > &acceptedSignals, MissingETBase::Types::weight_t &objWeight) const override
Definition: METSoftTermsTool.cxx:133
met::METSoftTermsTool::~METSoftTermsTool
~METSoftTermsTool()=default
METBuilderTool.h
SG::ReadHandleKey< xAOD::CaloClusterContainer >
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
DataHandle.h
IMETToolBase
Definition: IMETToolBase.h:25
met::METSoftTermsTool::m_caloClusterKey
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_caloClusterKey
Definition: METSoftTermsTool.h:82
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
met::METSoftTermsTool::METSoftTermsTool
METSoftTermsTool()
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::METSoftTermsTool::accept
virtual bool accept(const xAOD::IParticle *object) const override
Definition: METSoftTermsTool.cxx:81
met::METSoftTermsTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: METSoftTermsTool.cxx:61
met::METSoftTermsTool::m_cl_vetoNegE
Gaudi::Property< bool > m_cl_vetoNegE
Definition: METSoftTermsTool.h:80
met::METSoftTermsTool::m_st_objtype
xAOD::Type::ObjectType m_st_objtype
Definition: METSoftTermsTool.h:78
met::METSoftTermsTool::executeTool
virtual StatusCode executeTool(xAOD::MissingET *metTerm, xAOD::MissingETComponentMap *metMap) const override
Definition: METSoftTermsTool.cxx:167
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
met::METSoftTermsTool
Definition: METSoftTermsTool.h:41
CaloClusterContainer.h
xAOD::MissingETComponent_v1::Weight
Kinematic weight descriptor.
Definition: MissingETComponent_v1.h:28
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
met::METSoftTermsTool::m_trackParticleKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackParticleKey
Definition: METSoftTermsTool.h:83
TrackParticleContainer.h