ATLAS Offline Software
Loading...
Searching...
No Matches
METSoftTermsTool.h
Go to the documentation of this file.
1
2
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
31
32//#include "xAODCaloEvent/CaloClusterFwd.h"
34//#include "xAODTracking/TrackParticleFwd.h"
36
37namespace 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
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
defines an "iterator" over instances of a given type in StoreGateSvc
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: