ATLAS Offline Software
Loading...
Searching...
No Matches
METMuonAssociator.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5*/
6
7// METMuonAssociator.h
8// Header file for class METMuonAssociator
9//
10// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
11//
12// Author: P Loch, S Resconi, TJ Khoo, AS Mete
14#ifndef METRECONSTRUCTION_METMUONASSOCIATOR_H
15#define METRECONSTRUCTION_METMUONASSOCIATOR_H 1
16
17// METReconstruction includes
20
21namespace met{
23 : public METAssociator
24 {
25 // This macro defines the constructor with the interface declaration
27
28
29
30 // Public methods:
32 public:
33
34 // Constructor with name
35 METMuonAssociator(const std::string& name);
36 ~METMuonAssociator() = default;
37
38 // AsgTool Hooks
39 virtual StatusCode initialize() override;
40
42 // Private data:
44 protected:
45
46 StatusCode executeTool(xAOD::MissingETContainer* metCont, xAOD::MissingETAssociationMap* metMap) const final;
47 StatusCode extractTopoClusters(const xAOD::IParticle* obj,
48 std::vector<const xAOD::IParticle*>& tclist,
49 const met::METAssociator::ConstitHolder& constits) const final;
50 StatusCode extractPFO(const xAOD::IParticle* obj,
51 std::vector<const xAOD::IParticle*>& pfolist,
53 std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t> &momenta) const final;
54
55 StatusCode extractFE(const xAOD::IParticle* obj,
56 std::vector<const xAOD::IParticle*>& felist,
58 std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t> &momenta) const final;
59
60 StatusCode extractFEHR(const xAOD::IParticle* obj,
61 std::vector<const xAOD::IParticle*> hardObjs,
62 std::vector<const xAOD::IParticle*>& felist,
64 std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t> &momenta,
65 float& UEcorr) const final;
66
67 StatusCode extractFEsFromLinks(const xAOD::Muon* mu, //TODO
68 std::vector<const xAOD::IParticle*>& felist,
69 const met::METAssociator::ConstitHolder& constits) const;
70
71 StatusCode extractFEs(const xAOD::Muon* mu,
72 std::vector<const xAOD::IParticle*>& felist,
73 const met::METAssociator::ConstitHolder& constits) const;
74
75 StatusCode extractTracks(const xAOD::IParticle* obj,
76 std::vector<const xAOD::IParticle*>& constlist,
77 const met::METAssociator::ConstitHolder& constits) const final;
78
79 private:
80
81 static constexpr float m_Drcone = 0.2; // Cone size for mu-pfo association
82 static constexpr float m_MinDistCone = 0.4; // Cone size for getting random Phi of PFO which is not assoc to mu or HR
83
84
85 Gaudi::Property<bool> m_doMuonClusterMatch{this, "DoClusterMatch", true, ""};
86
89
91 this,
92 "InputCollection",
93 "Muons",
94 "muons input key"
95 };
97 this,
98 "NeutralFEReadDecorKey",
99 "",
100 "Neutral FlowElement links key"
101 };
103 this,
104 "ChargedFEReadDecorKey",
105 "",
106 "Charged FlowElement links key"
107 };
109 this,
110 "ElementLinkName",
111 "MuonClusterCollection.constituentClusterLinks"
112 };
113 };
114}
115
116#endif //> !METRECONSTRUCTION_METMUONASSOCIATOR_H
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
METAssociator(const std::string &name)
StatusCode extractTracks(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > &constlist, const met::METAssociator::ConstitHolder &constits) const final
StatusCode extractFE(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > &felist, const met::METAssociator::ConstitHolder &constits, std::map< const xAOD::IParticle *, MissingETBase::Types::constvec_t > &momenta) const final
METMuonAssociator()
Default constructor:
SG::ReadDecorHandleKey< xAOD::MuonContainer > m_neutralFEReadDecorKey
Gaudi::Property< bool > m_doMuonClusterMatch
SG::ReadDecorHandleKey< xAOD::MuonContainer > m_chargedFEReadDecorKey
StatusCode executeTool(xAOD::MissingETContainer *metCont, xAOD::MissingETAssociationMap *metMap) const final
StatusCode extractPFO(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > &pfolist, const met::METAssociator::ConstitHolder &constits, std::map< const xAOD::IParticle *, MissingETBase::Types::constvec_t > &momenta) const final
StatusCode extractFEHR(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > hardObjs, std::vector< const xAOD::IParticle * > &felist, const met::METAssociator::ConstitHolder &constits, std::map< const xAOD::IParticle *, MissingETBase::Types::constvec_t > &momenta, float &UEcorr) const final
SG::ReadHandleKey< xAOD::MuonContainer > m_muContKey
StatusCode extractFEs(const xAOD::Muon *mu, std::vector< const xAOD::IParticle * > &felist, const met::METAssociator::ConstitHolder &constits) const
StatusCode extractTopoClusters(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > &tclist, const met::METAssociator::ConstitHolder &constits) const final
~METMuonAssociator()=default
static constexpr float m_Drcone
StatusCode extractFEsFromLinks(const xAOD::Muon *mu, std::vector< const xAOD::IParticle * > &felist, const met::METAssociator::ConstitHolder &constits) const
static constexpr float m_MinDistCone
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
SG::ReadDecorHandleKey< xAOD::CaloClusterContainer > m_elementLinkName
METMuonAssociator(const std::string &name)
Class providing the definition of the 4-vector interface.
Muon_v1 Muon
Reference the current persistent version:
MissingETAssociationMap_v1 MissingETAssociationMap
Version control by type defintion.