ATLAS Offline Software
METMuonAssociator.h
Go to the documentation of this file.
1 
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 
21 namespace 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 
48  std::vector<const xAOD::IParticle*>& tclist,
49  const met::METAssociator::ConstitHolder& constits) const final;
51  std::vector<const xAOD::IParticle*>& pfolist,
52  const met::METAssociator::ConstitHolder& constits,
53  std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t> &momenta) const final;
54 
56  std::vector<const xAOD::IParticle*>& felist,
57  const met::METAssociator::ConstitHolder& constits,
58  std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t> &momenta) const final;
59 
61  std::vector<const xAOD::IParticle*> hardObjs,
62  std::vector<const xAOD::IParticle*>& felist,
63  const met::METAssociator::ConstitHolder& constits,
64  std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t> &momenta,
65  float& UEcorr) const final;
66 
68  std::vector<const xAOD::IParticle*>& felist,
69  const met::METAssociator::ConstitHolder& constits) const;
70 
72  std::vector<const xAOD::IParticle*>& felist,
73  const met::METAssociator::ConstitHolder& constits) const;
74 
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
met::METMuonAssociator::m_neutralFEReadDecorKey
SG::ReadDecorHandleKey< xAOD::MuonContainer > m_neutralFEReadDecorKey
Definition: METMuonAssociator.h:96
met::METMuonAssociator::executeTool
StatusCode executeTool(xAOD::MissingETContainer *metCont, xAOD::MissingETAssociationMap *metMap) const final
Definition: METMuonAssociator.cxx:68
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
METAssociator.h
met::METMuonAssociator::extractFEHR
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
Definition: METMuonAssociator.cxx:326
IMETAssocToolBase
Definition: IMETAssocToolBase.h:25
SG::ReadHandleKey< xAOD::MuonContainer >
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
xAOD::MissingETAssociationMap_v1
Definition: MissingETAssociationMap_v1.h:29
met::METMuonAssociator::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: METMuonAssociator.cxx:49
met
Definition: IMETSignificance.h:24
met::METMuonAssociator::m_doMuonClusterMatch
Gaudi::Property< bool > m_doMuonClusterMatch
Definition: METMuonAssociator.h:85
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
met::METMuonAssociator::m_Drcone
static constexpr float m_Drcone
Definition: METMuonAssociator.h:81
met::METMuonAssociator::METMuonAssociator
METMuonAssociator()
Default constructor:
columnar::final
CM final
Definition: ColumnAccessor.h:106
met::METAssociator
Definition: METAssociator.h:55
xAOD::MissingETContainer_v1
Container for xAOD::MissingET_v1 objects.
Definition: MissingETContainer_v1.h:21
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
met::METMuonAssociator::extractTracks
StatusCode extractTracks(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > &constlist, const met::METAssociator::ConstitHolder &constits) const final
Definition: METMuonAssociator.cxx:121
met::METMuonAssociator::extractPFO
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
Definition: METMuonAssociator.cxx:141
met::METMuonAssociator::extractFEs
StatusCode extractFEs(const xAOD::Muon *mu, std::vector< const xAOD::IParticle * > &felist, const met::METAssociator::ConstitHolder &constits) const
Definition: METMuonAssociator.cxx:265
met::METMuonAssociator
Definition: METMuonAssociator.h:24
met::METMuonAssociator::m_MinDistCone
static constexpr float m_MinDistCone
Definition: METMuonAssociator.h:82
met::METMuonAssociator::m_chargedFEReadDecorKey
SG::ReadDecorHandleKey< xAOD::MuonContainer > m_chargedFEReadDecorKey
Definition: METMuonAssociator.h:102
met::METMuonAssociator::m_elementLinkName
SG::ReadDecorHandleKey< xAOD::CaloClusterContainer > m_elementLinkName
Definition: METMuonAssociator.h:108
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
met::METMuonAssociator::extractFEsFromLinks
StatusCode extractFEsFromLinks(const xAOD::Muon *mu, std::vector< const xAOD::IParticle * > &felist, const met::METAssociator::ConstitHolder &constits) const
Definition: METMuonAssociator.cxx:218
met::METMuonAssociator::extractFE
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
Definition: METMuonAssociator.cxx:204
met::METMuonAssociator::~METMuonAssociator
~METMuonAssociator()=default
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
python.PyAthena.obj
obj
Definition: PyAthena.py:132
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:51
met::METMuonAssociator::m_muContKey
SG::ReadHandleKey< xAOD::MuonContainer > m_muContKey
Definition: METMuonAssociator.h:90
met::METMuonAssociator::extractTopoClusters
StatusCode extractTopoClusters(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > &tclist, const met::METAssociator::ConstitHolder &constits) const final
Definition: METMuonAssociator.cxx:88
met::METAssociator::ConstitHolder
Definition: METAssociator.h:62