ATLAS Offline Software
Loading...
Searching...
No Matches
METTruthAssociator.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// METMuonAssociator.h
8// Header file for class METTruthAssociator
9//
10// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
11//
12// Author: P Loch, S Resconi, TJ Khoo, AS Mete
14#ifndef METRECONSTRUCTION_METTRUTHASSOCIATOR_H
15#define METRECONSTRUCTION_METTRUTHASSOCIATOR_H 1
16
17// METReconstruction includes
19
21
22namespace met{
24 : public METAssociator
25 {
26 // This macro defines the constructor with the interface declaration
28
29
30
31 // Public methods:
33 public:
34
35 // Constructor with name
36 METTruthAssociator(const std::string& name);
38
39 // AsgTool Hooks
40 StatusCode initialize();
41 StatusCode finalize();
42
44 // Private data:
46 protected:
47
49 const xAOD::IParticleContainer* hardObjs) const final;
50 StatusCode executeTool(xAOD::MissingETContainer* metCont, xAOD::MissingETAssociationMap* metMap) const;
51 //
52 StatusCode associateJets(xAOD::MissingETAssociationMap* metMap) const;
53 //
54 StatusCode extractTruthParticles(const xAOD::IParticle* obj,
55 std::vector<const xAOD::IParticle*>& truthlist) const;
56 StatusCode extractTruthFromElectron(const xAOD::IParticle* obj,
57 std::vector<const xAOD::IParticle*>& truthlist) const;
58 StatusCode extractTruthFromPhoton(const xAOD::IParticle* obj,
59 std::vector<const xAOD::IParticle*>& truthlist) const;
60 static StatusCode extractTruthFromMuon(const xAOD::IParticle* obj,
61 std::vector<const xAOD::IParticle*>& truthlist) ;
62 StatusCode extractTruthFromTau(const xAOD::IParticle* obj,
63 std::vector<const xAOD::IParticle*>& truthlist) const;
64 //
66 //
67 StatusCode extractPFO(const xAOD::IParticle*,
68 std::vector<const xAOD::IParticle*>&,
70 std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t>&) const final
71 {return StatusCode::FAILURE;} // should not be called
72 StatusCode extractFE(const xAOD::IParticle*,
73 std::vector<const xAOD::IParticle*>&,
75 std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t>&) const final
76 {return StatusCode::FAILURE;} // should not be called
77 StatusCode extractTracks(const xAOD::IParticle*,
78 std::vector<const xAOD::IParticle*>&,
79 const met::METAssociator::ConstitHolder&) const final
80 {return StatusCode::FAILURE;} // should not be called
82 std::vector<const xAOD::IParticle*>&,
83 const met::METAssociator::ConstitHolder&) const final
84 {return StatusCode::FAILURE;} // should not be called
85
86 private:
87
93 SG::ReadHandleKey<xAOD::TruthEventContainer> m_truthEventKey{this,"TruthEventKey","TruthEvents",""};
94
97
98 };
99
100}
101
102#endif //> !METRECONSTRUCTION_METMUONASSOCIATOR_H
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Property holding a SG store/key/clid from which a ReadHandle is made.
METAssociator(const std::string &name)
static StatusCode extractTruthFromMuon(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > &truthlist)
SG::ReadHandleKey< xAOD::JetContainer > m_recoJetKey
StatusCode extractTopoClusters(const xAOD::IParticle *, std::vector< const xAOD::IParticle * > &, const met::METAssociator::ConstitHolder &) const final
StatusCode extractPFO(const xAOD::IParticle *, std::vector< const xAOD::IParticle * > &, const met::METAssociator::ConstitHolder &, std::map< const xAOD::IParticle *, MissingETBase::Types::constvec_t > &) const final
SG::ReadHandleKey< xAOD::TruthEventContainer > m_truthEventKey
StatusCode extractTruthParticles(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > &truthlist) const
StatusCode extractFE(const xAOD::IParticle *, std::vector< const xAOD::IParticle * > &, const met::METAssociator::ConstitHolder &, std::map< const xAOD::IParticle *, MissingETBase::Types::constvec_t > &) const final
SG::ReadHandleKey< xAOD::ElectronContainer > m_recoElKey
StatusCode computeSoftTerms(xAOD::MissingETContainer *metCont, xAOD::MissingETAssociationMap *metMap) const
METTruthAssociator()
Default constructor:
StatusCode initialize()
Dummy implementation of the initialisation function.
StatusCode extractTruthFromElectron(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > &truthlist) const
SG::ReadHandleKey< xAOD::TauJetContainer > m_recoTauKey
StatusCode extractTracks(const xAOD::IParticle *, std::vector< const xAOD::IParticle * > &, const met::METAssociator::ConstitHolder &) const final
StatusCode extractTruthFromPhoton(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > &truthlist) const
StatusCode executeTool(xAOD::MissingETContainer *metCont, xAOD::MissingETAssociationMap *metMap) const
SG::ReadHandleKey< xAOD::MuonContainer > m_recoMuKey
SG::ReadHandleKey< xAOD::PhotonContainer > m_recoGamKey
StatusCode associateJets(xAOD::MissingETAssociationMap *metMap) const
METTruthAssociator(const std::string &name)
StatusCode extractTruthFromTau(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > &truthlist) const
StatusCode fillAssocMap(xAOD::MissingETAssociationMap *metMap, const xAOD::IParticleContainer *hardObjs) const final
Class providing the definition of the 4-vector interface.
MissingETAssociationMap_v1 MissingETAssociationMap
Version control by type defintion.
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.