ATLAS Offline Software
METEgammaAssociator.h
Go to the documentation of this file.
1 
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
20 #include "xAODEgamma/EgammaFwd.h"
21 
23 
24 #include <set>
25 
26 namespace 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
46 
48  // Private data:
50  protected:
51 
53  std::vector<const xAOD::IParticle*>& tclist,
54  const met::METAssociator::ConstitHolder& constits) const final;
55 
57  std::vector<const xAOD::IParticle*>& pfolist,
58  const met::METAssociator::ConstitHolder& constits,
59  std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t> &momenta) const final;
60 
62  std::vector<const xAOD::IParticle*>& pfolist,
63  const met::METAssociator::ConstitHolder& constits) const;
64 
65 
67  std::vector<const xAOD::IParticle*>& pfolist,
68  const met::METAssociator::ConstitHolder& constits) const;
69 
71  std::vector<const xAOD::IParticle*>& felist,
72  const met::METAssociator::ConstitHolder& constits,
73  std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t> &momenta) const final;
74 
76  std::vector<const xAOD::IParticle*>& felist,
77  const met::METAssociator::ConstitHolder& constits) const; // TODO: to be tested
78 
80  std::vector<const xAOD::IParticle*>& felist,
81  const met::METAssociator::ConstitHolder& constits) const;
82 
84  std::vector<const xAOD::IParticle*> hardObjs,
85  std::vector<const xAOD::IParticle*>& felist,
86  const met::METAssociator::ConstitHolder& constits,
87  std::map<const xAOD::IParticle*,MissingETBase::Types::constvec_t> &momenta,
88  float& UEcorr) const final;
89 
90 
92  std::vector<const xAOD::IParticle*>& constlist,
93  const met::METAssociator::ConstitHolder& constits) const final;
94 
96  const std::vector<const xAOD::IParticle*>& inputTC,
97  std::vector<const xAOD::IParticle*>& tclist) const;
98 
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 
105  double m_tcMatch_dR;
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 
EgammaFwd.h
met::METEgammaAssociator::m_checkUnmatched
bool m_checkUnmatched
Definition: METEgammaAssociator.h:121
met::METEgammaAssociator::m_tcMatch_maxRat
double m_tcMatch_maxRat
Definition: METEgammaAssociator.h:106
ParticleTest.eg
eg
Definition: ParticleTest.py:29
METAssociator.h
met::METEgammaAssociator::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: METEgammaAssociator.cxx:307
met::METEgammaAssociator::extractTracks
StatusCode extractTracks(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > &constlist, const met::METAssociator::ConstitHolder &constits) const final
Definition: METEgammaAssociator.cxx:135
METRecoCommon.h
met::METEgammaAssociator::m_tcMatch_method
unsigned short m_tcMatch_method
Definition: METEgammaAssociator.h:107
met::METEgammaAssociator::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: METEgammaAssociator.cxx:150
IMETAssocToolBase
Definition: IMETAssocToolBase.h:25
met::METEgammaAssociator::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: METEgammaAssociator.cxx:473
met::METEgammaAssociator::initialize
StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: METEgammaAssociator.cxx:63
xAOD::Egamma_v1
Definition: Egamma_v1.h:56
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
met::METEgammaAssociator::~METEgammaAssociator
virtual ~METEgammaAssociator()
met::METEgammaAssociator::METEgammaAssociator
METEgammaAssociator()
Default constructor:
met::METEgammaAssociator::m_tcMatch_dR
double m_tcMatch_dR
Definition: METEgammaAssociator.h:105
met::METEgammaAssociator::extractFEs
StatusCode extractFEs(const xAOD::Egamma *eg, std::vector< const xAOD::IParticle * > &felist, const met::METAssociator::ConstitHolder &constits) const
Definition: METEgammaAssociator.cxx:387
met::METEgammaAssociator::selectEgammaTracks
StatusCode selectEgammaTracks(const xAOD::Egamma *el, const xAOD::TrackParticleContainer *trkCont, std::set< const xAOD::TrackParticle * > &tracklist) const
Definition: METEgammaAssociator.cxx:592
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:62
met::METEgammaAssociator::extractFEsFromLinks
StatusCode extractFEsFromLinks(const xAOD::Egamma *eg, std::vector< const xAOD::IParticle * > &felist, const met::METAssociator::ConstitHolder &constits) const
Definition: METEgammaAssociator.cxx:323
met
Definition: IMETSignificance.h:24
met::METEgammaAssociator::m_photonNeutralFEReadDecorKey
SG::ReadDecorHandleKey< xAOD::PhotonContainer > m_photonNeutralFEReadDecorKey
Definition: METEgammaAssociator.h:113
met::METEgammaAssociator::m_photonNeutralPFOReadDecorKey
SG::ReadDecorHandleKey< xAOD::PhotonContainer > m_photonNeutralPFOReadDecorKey
Definition: METEgammaAssociator.h:111
met::METEgammaAssociator::extractPFOsFromLinks
StatusCode extractPFOsFromLinks(const xAOD::Egamma *eg, std::vector< const xAOD::IParticle * > &pfolist, const met::METAssociator::ConstitHolder &constits) const
Definition: METEgammaAssociator.cxx:165
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
met::METEgammaAssociator::m_MinDistCone
static constexpr float m_MinDistCone
Definition: METEgammaAssociator.h:126
plotIsoValidation.el
el
Definition: plotIsoValidation.py:197
met::METEgammaAssociator::m_electronNeutralFEReadDecorKey
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_electronNeutralFEReadDecorKey
Definition: METEgammaAssociator.h:118
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
met::METEgammaAssociator::m_electronNeutralPFOReadDecorKey
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_electronNeutralPFOReadDecorKey
Definition: METEgammaAssociator.h:116
met::METAssociator
Definition: METAssociator.h:55
met::METEgammaAssociator::extractTopoClusters
StatusCode extractTopoClusters(const xAOD::IParticle *obj, std::vector< const xAOD::IParticle * > &tclist, const met::METAssociator::ConstitHolder &constits) const final
Definition: METEgammaAssociator.cxx:87
met::METEgammaAssociator::m_electronChargedFEReadDecorKey
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_electronChargedFEReadDecorKey
Definition: METEgammaAssociator.h:119
xAOD::PFO_v1
Class describing a particle flow object.
Definition: PFO_v1.h:35
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
met::METEgammaAssociator::extractPFOs
StatusCode extractPFOs(const xAOD::Egamma *eg, std::vector< const xAOD::IParticle * > &pfolist, const met::METAssociator::ConstitHolder &constits) const
Definition: METEgammaAssociator.cxx:229
met::METEgammaAssociator::hasUnmatchedClusters
bool hasUnmatchedClusters(const xAOD::Egamma *eg, const xAOD::PFO *pfo) const
Definition: METEgammaAssociator.cxx:653
met::METEgammaAssociator::m_extraTrkMatch_dR
double m_extraTrkMatch_dR
Definition: METEgammaAssociator.h:109
met::METEgammaAssociator
Definition: METEgammaAssociator.h:30
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
ReadDecorHandle.h
Handle class for reading a decoration on an object.
met::METEgammaAssociator::m_photonChargedFEReadDecorKey
SG::ReadDecorHandleKey< xAOD::PhotonContainer > m_photonChargedFEReadDecorKey
Definition: METEgammaAssociator.h:114
met::METEgammaAssociator::selectEgammaClusters
StatusCode selectEgammaClusters(const xAOD::CaloCluster *swclus, const std::vector< const xAOD::IParticle * > &inputTC, std::vector< const xAOD::IParticle * > &tclist) const
Definition: METEgammaAssociator.cxx:556
met::METEgammaAssociator::m_electronChargedPFOReadDecorKey
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_electronChargedPFOReadDecorKey
Definition: METEgammaAssociator.h:117
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
met::METEgammaAssociator::finalize
StatusCode finalize()
Definition: METEgammaAssociator.cxx:78
met::METEgammaAssociator::m_Drcone
static constexpr float m_Drcone
Definition: METEgammaAssociator.h:125
met::METAssociator::ConstitHolder
Definition: METAssociator.h:62
met::METEgammaAssociator::m_photonChargedPFOReadDecorKey
SG::ReadDecorHandleKey< xAOD::PhotonContainer > m_photonChargedPFOReadDecorKey
Definition: METEgammaAssociator.h:112