ATLAS Offline Software
Loading...
Searching...
No Matches
METCaloRegionsTool.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// METCaloRegionsTool.h
8// Header file for class METCaloRegionsTool
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// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
14//
15// Author: P Loch, S Resconi, TJ Khoo, AS Mete
17#ifndef METRECONSTRUCTION_METCALOREGIONSTOOL_H
18#define METRECONSTRUCTION_METCALOREGIONSTOOL_H 1
19
20// STL includes
21#include <string>
22
23// FrameWork includes
24#include "AsgTools/ToolHandle.h"
25#include "AsgTools/AsgTool.h"
27
28
29// MET EDM
31
32// METRecoInterface includes
34
35// Forward declarations
38
40
41// MET EDM
42#if defined(XAOD_STANDALONE) || defined(XAOD_ANALYSIS)
43#else
45#endif
46
47
48
49namespace met{
50
52 : public asg::AsgTool,
53 virtual public IMETToolBase
54 {
55 // This macro defines the constructor with the interface declaration
57
58
59
60 // Public methods:
62 public:
63
64 // Constructor with name (does this have to be a non-const
65 // std::string and not a const reference?)
66 METCaloRegionsTool(const std::string& name);
68
69 // AsgTool Hooks
70 virtual StatusCode initialize() override;
71 virtual StatusCode execute(xAOD::MissingET* metTerm, xAOD::MissingETComponentMap* metMap) const override;
72
74 // Private data:
76 protected:
77
78 // Internal variables
79 std::string m_input_data_key;
80 std::string m_output_met_key;
81 Gaudi::Property<bool> m_calo_useCells{this, "UseCells", true, ""};
82 Gaudi::Property<bool> m_calo_doTriggerMet{this, "DoTriggerMET", true, ""};
83 // Accept functions
84 bool accept (const xAOD::IParticle* object) const;
85 // Overlap resolver function
86 bool resolveOverlap (const xAOD::IParticle* object,
88 std::vector<const xAOD::IParticle*>& acceptedSignals,
89 MissingETBase::Types::weight_t& objWeight) const;
90 // Fill Cell MET
91 StatusCode fillCellMet (xAOD::MissingETContainer* metContainer,
92 const CaloCellContainer* caloCellContainer ) const;
93 // Fill Cluster MET
94 StatusCode fillClusterMet (xAOD::MissingETContainer* metContainer,
95 const xAOD::CaloClusterContainer* caloClusContainer) const;
96 // Find MET term for a given sampling
99 // CaloRegions enum - do NOT mess w/ the order
110 // CaloRegions human-readable names for enums
111 const static std::string s_CaloRegionNames[];
112
113 private:
114 // Default constructor:
116
117 #if defined(XAOD_STANDALONE) || defined(XAOD_ANALYSIS)
118 #else
119 SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this,"CaloNoiseKey","totalNoise","SG Key of CaloNoise data object"};
120 #endif
121 SG::ReadHandleKey<xAOD::CaloClusterContainer> m_caloClusterKey{this,"CaloClusterKey","","SG Key of Calo Cluster Collection"};
122 SG::ReadHandleKey<CaloCellContainer> m_caloCellKey{this,"CaloCellKey","","SG Key of Calo Cell Container"};
123 };
124
125}
126
127#endif //> !METRECONSTRUCTION_METCALOREGIONSTOOL_H
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Container class for CaloCell.
Property holding a SG store/key/clid from which a ReadHandle is made.
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Gaudi::Property< bool > m_calo_doTriggerMet
METCaloRegionsTool(const std::string &name)
static const std::string s_CaloRegionNames[]
StatusCode fillClusterMet(xAOD::MissingETContainer *metContainer, const xAOD::CaloClusterContainer *caloClusContainer) const
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_caloClusterKey
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Gaudi::Property< bool > m_calo_useCells
StatusCode fillCellMet(xAOD::MissingETContainer *metContainer, const CaloCellContainer *caloCellContainer) const
bool accept(const xAOD::IParticle *object) const
static xAOD::MissingET * findMetTerm(xAOD::MissingETContainer *metContainer, CaloSampling::CaloSample sample)
bool resolveOverlap(const xAOD::IParticle *object, xAOD::MissingETComponentMap *metMap, std::vector< const xAOD::IParticle * > &acceptedSignals, MissingETBase::Types::weight_t &objWeight) const
virtual StatusCode execute(xAOD::MissingET *metTerm, xAOD::MissingETComponentMap *metMap) const override
SG::ReadHandleKey< CaloCellContainer > m_caloCellKey
Class providing the definition of the 4-vector interface.
xAOD::MissingETComponent_v1::Weight weight_t
Type for kinematic weight.
MissingETComponentMap_v1 MissingETComponentMap
Version control by type definition.
MissingET_v1 MissingET
Version control by type defintion.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.