ATLAS Offline Software
Loading...
Searching...
No Matches
METEgammaAssociator.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7// METEgammaAssociator.h
8// Header file for class METEgammaAssociator
9//
10// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
11//
12// Author: P Loch, S Resconi, TJ Khoo, AS Mete
14#ifndef METRECONSTRUCTION_METEGAMMAASSOCIATOR_H
15#define METRECONSTRUCTION_METEGAMMAASSOCIATOR_H 1
16
17// METReconstruction includes
21
23
24#include <set>
25
26namespace met{
27
29 : virtual public METAssociator
30 {
31 // This macro defines the constructor with the interface declaration
33
34
35 // Public methods:
37 public:
38
39 // Constructor with name
40 METEgammaAssociator(const std::string& name);
42
43 // AsgTool Hooks
44 StatusCode initialize();
45 StatusCode finalize();
46
48 // Private data:
50 protected:
51
52 StatusCode extractTopoClusters(const xAOD::IParticle* obj,
53 std::vector<const xAOD::IParticle*>& tclist,
54 const met::METAssociator::ConstitHolder& constits) const final;
55
56 StatusCode extractPFO(const xAOD::IParticle* obj,
57 std::vector<const xAOD::IParticle*>& pfolist,
59 std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t> &momenta) const final;
60
61 StatusCode extractPFOsFromLinks(const xAOD::Egamma* eg,
62 std::vector<const xAOD::IParticle*>& pfolist,
63 const met::METAssociator::ConstitHolder& constits) const;
64
65
66 StatusCode extractPFOs(const xAOD::Egamma* eg,
67 std::vector<const xAOD::IParticle*>& pfolist,
68 const met::METAssociator::ConstitHolder& constits) const;
69
70 StatusCode extractFE(const xAOD::IParticle* obj,
71 std::vector<const xAOD::IParticle*>& felist,
73 std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t> &momenta) const final;
74
75 StatusCode extractFEsFromLinks(const xAOD::Egamma* eg,
76 std::vector<const xAOD::IParticle*>& felist,
77 const met::METAssociator::ConstitHolder& constits) const; // TODO: to be tested
78
79 StatusCode extractFEs(const xAOD::Egamma* eg,
80 std::vector<const xAOD::IParticle*>& felist,
81 const met::METAssociator::ConstitHolder& constits) const;
82
83 StatusCode extractFEHR(const xAOD::IParticle* obj,
84 std::vector<const xAOD::IParticle*> hardObjs,
85 std::vector<const xAOD::IParticle*>& felist,
87 std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t> &momenta,
88 float& UEcorr) const final;
89
90
91 StatusCode extractTracks(const xAOD::IParticle* obj,
92 std::vector<const xAOD::IParticle*>& constlist,
93 const met::METAssociator::ConstitHolder& constits) const final;
94
95 StatusCode selectEgammaClusters(const xAOD::CaloCluster *swclus,
96 const std::vector<const xAOD::IParticle*>& inputTC,
97 std::vector<const xAOD::IParticle*>& tclist) const;
98
99 StatusCode selectEgammaTracks(const xAOD::Egamma* el,
100 const xAOD::TrackParticleContainer* trkCont,
101 std::set<const xAOD::TrackParticle*>& tracklist) const;
102
103 bool hasUnmatchedClusters(const xAOD::Egamma* eg, const xAOD::PFO* pfo) const;
104
107 unsigned short m_tcMatch_method;
108
110
111 SG::ReadDecorHandleKey<xAOD::PhotonContainer> m_photonNeutralPFOReadDecorKey{this,"photonNeutralPFOReadDecorKey","", "Neutral PFO links key"};
112 SG::ReadDecorHandleKey<xAOD::PhotonContainer> m_photonChargedPFOReadDecorKey{this,"photonChargedPFOReadDecorKey","", "Charged PFO links key"};
113 SG::ReadDecorHandleKey<xAOD::PhotonContainer> m_photonNeutralFEReadDecorKey{this,"photonNeutralFEReadDecorKey","", "Neutral FE links key"};
114 SG::ReadDecorHandleKey<xAOD::PhotonContainer> m_photonChargedFEReadDecorKey{this,"photonChargedFEReadDecorKey","", "Charged FE links key"};
115
116 SG::ReadDecorHandleKey<xAOD::ElectronContainer> m_electronNeutralPFOReadDecorKey{this,"electronNeutralPFOReadDecorKey","", "Neutral PFO links key"};
117 SG::ReadDecorHandleKey<xAOD::ElectronContainer> m_electronChargedPFOReadDecorKey{this,"electronCargedPFOReadDecorKey","", "Charged PFO links key"};
118 SG::ReadDecorHandleKey<xAOD::ElectronContainer> m_electronNeutralFEReadDecorKey{this,"electronNeutralFEReadDecorKey","", "Neutral FE links key"};
119 SG::ReadDecorHandleKey<xAOD::ElectronContainer> m_electronChargedFEReadDecorKey{this,"electronCargedFEReadDecorKey","", "Charged FE links key"};
120
122
123 private:
124
125 static constexpr float m_Drcone = 0.2; // Cone size for el-pfo association
126 static constexpr float m_MinDistCone = 0.4; // Cone size for getting random Phi of PFO which is not assoc to el or HR
127
130
131 };
132
133}
134
135#endif //> !METRECONSTRUCTION_METEGAMMAASSOCIATOR_H
136
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Handle class for reading a decoration on an object.
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
METAssociator(const std::string &name)
SG::ReadDecorHandleKey< xAOD::PhotonContainer > m_photonNeutralFEReadDecorKey
StatusCode extractTopoClusters(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > &tclist, const met::METAssociator::ConstitHolder &constits) const final
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_electronNeutralPFOReadDecorKey
StatusCode selectEgammaClusters(const xAOD::CaloCluster *swclus, const std::vector< const xAOD::IParticle * > &inputTC, std::vector< const xAOD::IParticle * > &tclist) const
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_electronChargedFEReadDecorKey
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_electronChargedPFOReadDecorKey
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
METEgammaAssociator(const std::string &name)
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
StatusCode extractFEsFromLinks(const xAOD::Egamma *eg, std::vector< const xAOD::IParticle * > &felist, const met::METAssociator::ConstitHolder &constits) const
StatusCode initialize()
Dummy implementation of the initialisation function.
StatusCode extractTracks(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > &constlist, const met::METAssociator::ConstitHolder &constits) const final
SG::ReadDecorHandleKey< xAOD::PhotonContainer > m_photonNeutralPFOReadDecorKey
StatusCode selectEgammaTracks(const xAOD::Egamma *el, const xAOD::TrackParticleContainer *trkCont, std::set< const xAOD::TrackParticle * > &tracklist) const
SG::ReadDecorHandleKey< xAOD::PhotonContainer > m_photonChargedPFOReadDecorKey
bool hasUnmatchedClusters(const xAOD::Egamma *eg, const xAOD::PFO *pfo) const
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_electronNeutralFEReadDecorKey
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 extractPFOsFromLinks(const xAOD::Egamma *eg, std::vector< const xAOD::IParticle * > &pfolist, const met::METAssociator::ConstitHolder &constits) const
StatusCode extractPFOs(const xAOD::Egamma *eg, std::vector< const xAOD::IParticle * > &pfolist, const met::METAssociator::ConstitHolder &constits) const
static constexpr float m_MinDistCone
static constexpr float m_Drcone
StatusCode extractFEs(const xAOD::Egamma *eg, std::vector< const xAOD::IParticle * > &felist, const met::METAssociator::ConstitHolder &constits) const
SG::ReadDecorHandleKey< xAOD::PhotonContainer > m_photonChargedFEReadDecorKey
METEgammaAssociator()
Default constructor:
Class providing the definition of the 4-vector interface.
PFO_v1 PFO
Definition of the current "pfo version".
Definition PFO.h:17
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Egamma_v1 Egamma
Definition of the current "egamma version".
Definition Egamma.h:17
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".