ATLAS Offline Software
Loading...
Searching...
No Matches
ElectronCnvTool.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_ELECTRONCNVTOOL_H
9#define XAODEGAMMACNV_ELECTRONCNVTOOL_H
10
11// System include(s):
12#include <string>
13
14// Gaudi/Athena include(s):
16#include "GaudiKernel/ToolHandle.h"
17
18// EDM include(s):
19#include "egammaEvent/egamma.h"
21
23
24namespace xAODMaker {
25
35 public virtual IElectronCnvTool {
36
37 public:
39 ElectronCnvTool( const std::string& type, const std::string& name,
40 const IInterface* parent );
41
43 virtual StatusCode convert( const egammaContainer* aod,
44 xAOD::ElectronContainer* xaod ) const override;
45
47 virtual StatusCode convert( const egammaContainer* aod,
49 xAOD::ElectronContainer* xaodFrwd) const override;
50 private:
51
53 void setParameters(const egamma&, xAOD::Electron& ) const;
55
57 void setIsolations(const egamma& aodmuon, xAOD::Electron& xaodmuon) const;
59
61 void setTrackMatch(const egamma& aodmuon, xAOD::Electron& xaodmuon) const;
63
65 void setLinks(const egamma&, xAOD::Electron& ) const;
67
70
73 std::string m_inDetTrackParticles ;
74 std::string m_caloClusters;
75 std::string m_caloClustersSofte;
76 std::string m_caloClustersFrwd;
77 std::string m_caloClustersOther;
78
79 }; // class ElectronCnvTool
80
81
82} // namespace xAODMaker
83
84#endif // XAODEGAMMACNV_ELECTRONCNVTOOL_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
ElectronCnvTool(const std::string &type, const std::string &name, const IInterface *parent)
Regular AlgTool constructor.
void setTrackMatch(const egamma &aodmuon, xAOD::Electron &xaodmuon) const
Fills in the track match variables.
std::string m_inDetTrackParticles
Location/Key for xAOD::TrackParticles from ID.
void setParameters(const egamma &, xAOD::Electron &) const
Fills in the shower shape variables.
void checkAndSetIsolation(egammaParameters::ParamDef aodParameter, xAOD::Iso::IsolationType xaodParameter, const egamma &, xAOD::Electron &) const
void checkAndSetParameter(egammaParameters::ParamDef aodParameter, xAOD::EgammaParameters::ShowerShapeType xaodParameter, const egamma &, xAOD::Electron &) const
void setDerivedParameters(xAOD::Electron &) const
Fills in some extra derived shower shape variables.
void setIsolations(const egamma &aodmuon, xAOD::Electron &xaodmuon) const
Fills in the isolation variables.
std::string m_caloClustersSofte
Location/Key for xAOD::CaloClusters for softe electrons.
std::string m_caloClusters
Location/Key for xAOD::CaloClusters for electrons and photons.
std::string m_caloClustersFrwd
Location/Key for xAOD::CaloClusters for forward electrons.
std::string m_inDetTrackParticlesGSF
Other Keys.
void checkAndSetTrackMatch(egammaParameters::ParamDef aodParameter, xAOD::EgammaParameters::TrackCaloMatchType xaodParameter, const egamma &, xAOD::Electron &) const
void setLinks(const egamma &, xAOD::Electron &) const
Set the element links between the various particles.
virtual StatusCode convert(const egammaContainer *aod, xAOD::ElectronContainer *xaod) const override
Function that fills an existing xAOD::ElectronContainer (xaod or xaodForward can be NULL)
ElementLink< xAOD::TrackParticleContainer > getNewLink(const ElementLink< Rec::TrackParticleContainer > &oldLink, const std::string &name) const
std::string m_caloClustersOther
Location/Key for xAOD::CaloClusters for other (trigger?) electrons.
Interface for the tool creating ElectronContainer from an AOD.
IsolationType
Overall enumeration for isolation types in xAOD files.
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".
Electron_v1 Electron
Definition of the current "egamma version".