ATLAS Offline Software
Loading...
Searching...
No Matches
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
22namespace 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
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
This is a data object, containing a collection of egamma Objects.
elec/gamma data class.
Definition egamma.h:58
Interface for the tool creating PhotonContainer from an AOD.
std::string m_caloClustersOther
Location/Key for xAOD::CaloClusters for other (trigger?) electrons.
void setIsolations(const egamma &aodmuon, xAOD::Photon &xaodmuon) const
Fills in the isolation variables.
void checkAndSetIsolation(egammaParameters::ParamDef aodParameter, xAOD::Iso::IsolationType xaodParameter, const egamma &, xAOD::Photon &) const
virtual StatusCode convert(const egammaContainer *aod, xAOD::PhotonContainer *xaod) const override
Function that fills an existing xAOD::PhotonContainer.
std::string m_caloClusters
Location/Key for xAOD::CaloClusters for electrons and photons.
ElementLink< xAOD::VertexContainer > getNewLink(const ElementLink< VxContainer > &oldLink, const std::string &name) const
std::string m_vertexContainer
Location/Key for xAOD::Vertex for photons.
void setLinks(const egamma &aodph, xAOD::Photon &xaodph) const
void setParameters(const egamma &, xAOD::Photon &) const
Fills in the shower shape variables.
void checkAndSetParameter(egammaParameters::ParamDef aodParameter, xAOD::EgammaParameters::ShowerShapeType xaodParameter, const egamma &, xAOD::Photon &) const
std::string m_caloClustersTopo
Location/Key for xAOD::CaloClusters for topo seeded photons.
PhotonCnvTool(const std::string &type, const std::string &name, const IInterface *parent)
Regular AlgTool constructor.
IsolationType
Overall enumeration for isolation types in xAOD files.
PhotonContainer_v1 PhotonContainer
Definition of the current "photon container version".
Photon_v1 Photon
Definition of the current "egamma version".