5#ifndef EGAMMAALGS_PHOTONSUPERCLUSTERBUILDER_H
6#define EGAMMAALGS_PHOTONSUPERCLUSTERBUILDER_H
10#include "GaudiKernel/EventContext.h"
70 virtual StatusCode
initialize()
override final;
76 const egammaRec *egRec)
const override final;
79 const EventContext &ctx,
112 std::size_t photonInd,
114 std::vector<bool>& isUsed)
const override final;
118 const std::vector<const xAOD::Vertex*>& seedVertices,
119 const std::vector<xAOD::EgammaParameters::ConversionType>& seedVertexType,
124 const std::vector<const xAOD::TrackParticle*>& seedVertexTracks,
130 "ConversionBuilderTool",
131 "EMConversionBuilder",
132 "Tool that matches conversion vertices to egammaRecs"
139 "AddClustersInWindow",
141 "add the topoclusters in window"
147 "AddClustersMatchingVtx",
149 "add the topoclusters matching conversion vertex"
155 "UseOnlyLeadingVertex",
157 "use only the leading vertex for matching"
165 "use only vertices/tracks with silicon tracks for adding sec. clusters "
166 "(Mix not considered Si)"
172 "AddClustrsMatchingVtxTracks",
174 "add the topoclusters matching conversion vertex tracks"
180 "UseOnlyLeadingTrack",
182 "use only the leading track for matching"
189 "Boolean to do conversion matching" };
Definition of CaloDetDescrManager.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Represent an egamma object for internal egamma usage during reconstruction.
egammaSuperClusterBuilderBase(const std::string &name, ISvcLocator *pSvcLocator)
Protected constructor since this class should not be instantiated by itself.
Gaudi::Property< bool > m_addClustersMatchingVtx
add the topoclusters matching conversion vertex
Gaudi::Property< bool > m_useOnlyLeadingTrack
use only the leading track for matching
virtual StatusCode redoMatching(const EventContext &ctx, SG::WriteHandle< EgammaRecContainer > &newEgammaRecs) const final override
virtual std::vector< std::size_t > searchForSecondaryClusters(std::size_t photonInd, const EgammaRecContainer *egammaRecs, std::vector< bool > &isUsed) const override final
Return extra clusters that can be added to make supercluster.
bool matchesVtxTrack(const std::vector< const xAOD::TrackParticle * > &seedVertexTracks, const egammaRec *egRec) const
Does the cluster match a conversion vertex track with the seed?
bool matchesVtx(const std::vector< const xAOD::Vertex * > &seedVertices, const std::vector< xAOD::EgammaParameters::ConversionType > &seedVertexType, const egammaRec *egRec) const
Does the cluster share conversion vertex?
virtual xAOD::EgammaParameters::EgammaType getEgammaRecType(const egammaRec *egRec) const override final
photonSuperClusterBuilder(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< bool > m_doConversions
private member flag to do the conversion building and matching
Gaudi::Property< bool > m_useOnlySi
use only vertices/tracks with silicon tracks
Gaudi::Property< bool > m_addClustersMatchingVtxTracks
add the topoclusters matching conversion vertex tracks
Gaudi::Property< bool > m_addClustersInWindow
add the topoclusters in window
ToolHandle< IEMConversionBuilder > m_conversionBuilder
Tool to retrieve the conversions.
Gaudi::Property< bool > m_useOnlyLeadingVertex
use only the leading vertex for matching
virtual StatusCode initialize() override final
should be called by the derived class in the initialize phase
DataVector< egammaRec > EgammaRecContainer
The container is a simple typedef for now.