ATLAS Offline Software
egammaGenParticleAssociationTool.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id$
17 #ifndef EGAMMAD3PDMAKER_EGAMMAGENPARTICLEASSOCIATIONTOOL_H
18 #define EGAMMAD3PDMAKER_EGAMMAGENPARTICLEASSOCIATIONTOOL_H
19 
20 
23 #include "xAODEgamma/Egamma.h"
24 #include "xAODEgamma/Electron.h"
25 #include "xAODEgamma/Photon.h"
26 #include "GaudiKernel/ToolHandle.h"
27 
28 
29 namespace D3PD {
30 
31 
37  : public SingleAssociationTool<xAOD::Egamma, xAOD::TruthParticle>
38 {
39 public:
41 
42 
49  egammaGenParticleAssociationTool (const std::string& type,
50  const std::string& name,
51  const IInterface* parent);
52 
53 
56 
57 
59  StatusCode book ();
60 
61 
68  virtual const xAOD::TruthParticle* get (const xAOD::Egamma& p);
69 
70 
71 private:
73  ToolHandle<IMCTruthClassifier> m_classifier;
74 
76  std::string m_drvar;
77 
79  float* m_dr;
80 };
81 
82 
83 } // namespace D3PD
84 
85 
86 
87 #endif // not EGAMMAD3PDMAKER_EGAMMAGENPARTICLEASSOCIATIONTOOL_H
D3PD::egammaGenParticleAssociationTool::egammaGenParticleAssociationTool
egammaGenParticleAssociationTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: egammaGenParticleAssociationTool.cxx:36
D3PD::egammaGenParticleAssociationTool::get
virtual const xAOD::TruthParticle * get(const xAOD::Egamma &p)
Return the target object.
Definition: egammaGenParticleAssociationTool.cxx:79
D3PD::SingleAssociationTool
Type-safe wrapper for single associator tools.
Definition: SingleAssociationTool.h:133
xAOD::Egamma_v1
Definition: Egamma_v1.h:56
Egamma.h
SingleAssociationTool.h
Type-safe wrapper for single associator tools.
D3PD
Block filler tool for noisy FEB information.
Definition: CaloCellDetailsFillerTool.cxx:29
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
IMCTruthClassifier.h
Photon.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:37
test_pyathena.parent
parent
Definition: test_pyathena.py:15
D3PD::egammaGenParticleAssociationTool::m_dr
float * m_dr
Variable: DR between reco and truth.
Definition: egammaGenParticleAssociationTool.h:79
D3PD::egammaGenParticleAssociationTool::Base
SingleAssociationTool< xAOD::Egamma, xAOD::TruthParticle > Base
Definition: egammaGenParticleAssociationTool.h:40
D3PD::egammaGenParticleAssociationTool::book
StatusCode book()
Create any needed tuple variables.
Definition: egammaGenParticleAssociationTool.cxx:64
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
D3PD::egammaGenParticleAssociationTool
Associate from an electron/photon to a matched GenParticle via classification tool.
Definition: egammaGenParticleAssociationTool.h:38
D3PD::egammaGenParticleAssociationTool::m_drvar
std::string m_drvar
Property: If not empty, the variable name to use for DR.
Definition: egammaGenParticleAssociationTool.h:76
D3PD::egammaGenParticleAssociationTool::m_classifier
ToolHandle< IMCTruthClassifier > m_classifier
Property: classifier tool.
Definition: egammaGenParticleAssociationTool.h:73
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Electron.h
D3PD::egammaGenParticleAssociationTool::initialize
StatusCode initialize()
Standard Gaudi initialize method.
Definition: egammaGenParticleAssociationTool.cxx:53