ATLAS Offline Software
Loading...
Searching...
No Matches
METSoftTermsTool.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2026 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//#include "xAODCaloEvent/CaloClusterFwd.h"
31//#include "xAODTracking/TrackParticleFwd.h"
33
34namespace met{
35
37 : public METBuilderTool
38 {
39 // This macro defines the constructor with the interface declaration
41
42 public:
43
44 // Constructor with name (does this have to be a non-const
45 // std::string and not a const reference?)
46 METSoftTermsTool(const std::string& name);
47 ~METSoftTermsTool() = default;
48
49 // AsgTool Hooks
50 virtual StatusCode initialize() override;
51
52 protected:
53 virtual
54 StatusCode executeTool(xAOD::MissingET* metTerm, xAOD::MissingETComponentMap* metMap) const override;
55 // Accept functions
56 virtual
57 bool accept (const xAOD::IParticle* object) const override;
58 bool accept (const xAOD::CaloCluster* clus) const;
59 static bool accept (const xAOD::TrackParticle* trk) ;
60 // Overlap resolver function
61 virtual
62 bool resolveOverlap (const xAOD::IParticle* object,
64 std::vector<const xAOD::IParticle*>& acceptedSignals,
65 MissingETBase::Types::weight_t& objWeight) const override;
67 std::vector<const xAOD::IParticle*>& acceptedSignals) const;
68
69 private:
70 // Default constructor:
72
73 // Use Case - Clusters OR Tracks OR PFOs
74 Gaudi::Property<std::string> m_inputType{this, "InputComposition", "Clusters", ""}; // Options : Clusters (default) OR Tracks
76 // Cluster selection
77 Gaudi::Property<bool> m_cl_vetoNegE{this, "VetoNegEClus", true, ""};
78 Gaudi::Property<bool> m_cl_onlyNegE{this, "OnlyNegEClus", false, ""};
79 SG::ReadHandleKey<xAOD::CaloClusterContainer> m_caloClusterKey{this, "CaloClusterKey", "", "Input calo cluster container name (not to be configured manually)"};
80 SG::ReadHandleKey<xAOD::TrackParticleContainer> m_trackParticleKey{this, "TrackKey", "", "Input track container name (not to be configured manually)"};
81 };
82
83}
84
85#endif //> !METRECONSTRUCTION_METSOFTTERMSTOOL_H
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Property holding a SG store/key/clid from which a ReadHandle is made.
METBuilderTool(const std::string &name)
Gaudi::Property< bool > m_cl_onlyNegE
virtual bool resolveOverlap(const xAOD::IParticle *object, xAOD::MissingETComponentMap *metMap, std::vector< const xAOD::IParticle * > &acceptedSignals, MissingETBase::Types::weight_t &objWeight) const override
virtual bool accept(const xAOD::IParticle *object) const override
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackParticleKey
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_caloClusterKey
METSoftTermsTool(const std::string &name)
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Gaudi::Property< bool > m_cl_vetoNegE
~METSoftTermsTool()=default
xAOD::Type::ObjectType m_st_objtype
Gaudi::Property< std::string > m_inputType
virtual StatusCode executeTool(xAOD::MissingET *metTerm, xAOD::MissingETComponentMap *metMap) const override
Class providing the definition of the 4-vector interface.
xAOD::MissingETComponent_v1::Weight weight_t
Type for kinematic weight.
ObjectType
Type of objects that have a representation in the xAOD EDM.
Definition ObjectType.h:32
MissingETComponentMap_v1 MissingETComponentMap
Version control by type definition.
MissingET_v1 MissingET
Version control by type defintion.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
TrackParticle_v1 TrackParticle
Reference the current persistent version: