ATLAS Offline Software
Loading...
Searching...
No Matches
METTruthAssociator.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// 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
22//Includes for DataHandles
24
25namespace met{
27 : public METAssociator
28 {
29 // This macro defines the constructor with the interface declaration
31
32
33
34 // Public methods:
36 public:
37
38 // Constructor with name
39 METTruthAssociator(const std::string& name);
41
42 // AsgTool Hooks
43 StatusCode initialize();
44 StatusCode finalize();
45
47 // Private data:
49 protected:
50
52 const xAOD::IParticleContainer* hardObjs) const final;
53 StatusCode executeTool(xAOD::MissingETContainer* metCont, xAOD::MissingETAssociationMap* metMap) const;
54 //
55 StatusCode associateJets(xAOD::MissingETAssociationMap* metMap) const;
56 //
57 StatusCode extractTruthParticles(const xAOD::IParticle* obj,
58 std::vector<const xAOD::IParticle*>& truthlist) const;
59 StatusCode extractTruthFromElectron(const xAOD::IParticle* obj,
60 std::vector<const xAOD::IParticle*>& truthlist) const;
61 StatusCode extractTruthFromPhoton(const xAOD::IParticle* obj,
62 std::vector<const xAOD::IParticle*>& truthlist) const;
63 static StatusCode extractTruthFromMuon(const xAOD::IParticle* obj,
64 std::vector<const xAOD::IParticle*>& truthlist) ;
65 StatusCode extractTruthFromTau(const xAOD::IParticle* obj,
66 std::vector<const xAOD::IParticle*>& truthlist) const;
67 //
69 //
70 StatusCode extractPFO(const xAOD::IParticle*,
71 std::vector<const xAOD::IParticle*>&,
73 std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t>&) const final
74 {return StatusCode::FAILURE;} // should not be called
75 StatusCode extractFE(const xAOD::IParticle*,
76 std::vector<const xAOD::IParticle*>&,
78 std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t>&) const final
79 {return StatusCode::FAILURE;} // should not be called
80 StatusCode extractTracks(const xAOD::IParticle*,
81 std::vector<const xAOD::IParticle*>&,
82 const met::METAssociator::ConstitHolder&) const final
83 {return StatusCode::FAILURE;} // should not be called
85 std::vector<const xAOD::IParticle*>&,
86 const met::METAssociator::ConstitHolder&) const final
87 {return StatusCode::FAILURE;} // should not be called
88
89 private:
90
96 SG::ReadHandleKey<xAOD::TruthEventContainer> m_truthEventKey{this,"TruthEventKey","TruthEvents",""};
97
100
101 };
102
103}
104
105#endif //> !METRECONSTRUCTION_METMUONASSOCIATOR_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.
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.