ATLAS Offline Software
PhotonCnvTool.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id$
8 #ifndef XAODEGAMMACNV_PHOTONCNVTOOL_H
9 #define XAODEGAMMACNV_PHOTONCNVTOOL_H
10 
11 // Gaudi/Athena include(s):
13 #include "GaudiKernel/ToolHandle.h"
14 
15 // EDM include(s):
16 #include "egammaEvent/egamma.h"
18 
20 
21 
22 namespace xAODMaker {
23 
32  class PhotonCnvTool : public AthAlgTool,
33  public virtual IPhotonCnvTool {
34 
35  public:
37  PhotonCnvTool( const std::string& type, const std::string& name,
38  const IInterface* parent );
39 
41  virtual StatusCode convert( const egammaContainer* aod,
42  xAOD::PhotonContainer* xaod) const override;
43 
44  private:
46  void setParameters(const egamma&, xAOD::Photon& ) const ;
48 
50  void setIsolations(const egamma& aodmuon, xAOD::Photon& xaodmuon) const;
51  void checkAndSetIsolation(egammaParameters::ParamDef aodParameter,xAOD::Iso::IsolationType xaodParameter, const egamma&, xAOD::Photon& ) const;
52 
53  void setLinks(const egamma& aodph, xAOD::Photon& xaodph) const;
54  ElementLink<xAOD::VertexContainer> getNewLink(const ElementLink<VxContainer>& oldLink, const std::string& name) const;
55 
56 
57  std::string m_vertexContainer;
58  std::string m_caloClusters;
59  std::string m_caloClustersTopo;
60  std::string m_caloClustersOther;
61 
62 
63  }; // class PhotonCnvTool
64 
65 } // namespace xAODMaker
66 
67 #endif // XAODEGAMMACNV_PHOTONCNVTOOL_H
xAODMaker::PhotonCnvTool
Implementation for the tool creating PhotonContainer from an AOD.
Definition: PhotonCnvTool.h:33
xAODMaker::PhotonCnvTool::setParameters
void setParameters(const egamma &, xAOD::Photon &) const
Fills in the shower shape variables.
Definition: PhotonCnvTool.cxx:96
IPhotonCnvTool.h
xAODMaker::IPhotonCnvTool
Interface for the tool creating PhotonContainer from an AOD.
Definition: IPhotonCnvTool.h:38
xAOD::EgammaParameters::ShowerShapeType
ShowerShapeType
Definition: EgammaEnums.h:27
egammaParameters::ParamDef
ParamDef
Definition: egammaParamDefs.h:99
egamma.h
xAODMaker::PhotonCnvTool::PhotonCnvTool
PhotonCnvTool(const std::string &type, const std::string &name, const IInterface *parent)
Regular AlgTool constructor.
Definition: PhotonCnvTool.cxx:19
xAODMaker
Definition: StoreGateSvc.h:72
egamma
Definition: egamma.h:58
xAODMaker::PhotonCnvTool::m_caloClusters
std::string m_caloClusters
Location/Key for xAOD::CaloClusters for electrons and photons
Definition: PhotonCnvTool.h:58
xAODMaker::PhotonCnvTool::checkAndSetIsolation
void checkAndSetIsolation(egammaParameters::ParamDef aodParameter, xAOD::Iso::IsolationType xaodParameter, const egamma &, xAOD::Photon &) const
Definition: PhotonCnvTool.cxx:156
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::Iso::IsolationType
IsolationType
Overall enumeration for isolation types in xAOD files.
Definition: IsolationType.h:26
AthAlgTool.h
xAODMaker::PhotonCnvTool::m_vertexContainer
std::string m_vertexContainer
Location/Key for xAOD::Vertex for photons
Definition: PhotonCnvTool.h:57
xAODMaker::PhotonCnvTool::getNewLink
ElementLink< xAOD::VertexContainer > getNewLink(const ElementLink< VxContainer > &oldLink, const std::string &name) const
Definition: PhotonCnvTool.cxx:204
test_pyathena.parent
parent
Definition: test_pyathena.py:15
egammaContainer
Definition: egammaContainer.h:41
xAODMaker::PhotonCnvTool::setLinks
void setLinks(const egamma &aodph, xAOD::Photon &xaodph) const
Definition: PhotonCnvTool.cxx:164
xAODMaker::PhotonCnvTool::m_caloClustersTopo
std::string m_caloClustersTopo
Location/Key for xAOD::CaloClusters for topo seeded photons.
Definition: PhotonCnvTool.h:59
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
egammaParamDefs.h
xAODMaker::PhotonCnvTool::checkAndSetParameter
void checkAndSetParameter(egammaParameters::ParamDef aodParameter, xAOD::EgammaParameters::ShowerShapeType xaodParameter, const egamma &, xAOD::Photon &) const
Definition: PhotonCnvTool.cxx:138
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
xAODMaker::PhotonCnvTool::m_caloClustersOther
std::string m_caloClustersOther
Location/Key for xAOD::CaloClusters for other (trigger?) electrons.
Definition: PhotonCnvTool.h:60
xAOD::Photon_v1
Definition: Photon_v1.h:37
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
xAODMaker::PhotonCnvTool::setIsolations
void setIsolations(const egamma &aodmuon, xAOD::Photon &xaodmuon) const
Fills in the isolation variables.
Definition: PhotonCnvTool.cxx:144
xAODMaker::PhotonCnvTool::convert
virtual StatusCode convert(const egammaContainer *aod, xAOD::PhotonContainer *xaod) const override
Function that fills an existing xAOD::PhotonContainer.
Definition: PhotonCnvTool.cxx:37
AthAlgTool
Definition: AthAlgTool.h:26