5#ifndef EGAMMATOOLS_EMCONVERSIONBUILDER_H
6#define EGAMMATOOLS_EMCONVERSIONBUILDER_H
32#include "GaudiKernel/EventContext.h"
33#include "GaudiKernel/SystemOfUnits.h"
34#include "GaudiKernel/ToolHandle.h"
50 const std::string& name,
51 const IInterface* parent);
80 "ConversionContainerName",
81 "PhotonConversionVertices",
82 "Name of the input conversion container"
89 "EMExtrapolationTools",
90 "Handle of the extrapolation tool"
97 "RejectAllTRTConversions",
99 "Ignore all conversion vertices containing exclusively TRT-only tracks"
108 "minimum number of TRT hits for TRT-only tracks (both single and double "
109 "track conversion vertices)"
116 0 * Gaudi::Units::GeV,
117 "minimum pT for single-track conversion vertices"
124 2 * Gaudi::Units::GeV,
125 "minimum pT for TRT-only single-track conversion vertices"
133 0 * Gaudi::Units::GeV,
134 "minimum pT for each track in TRT-only double-track conversion vertices"
141 0 * Gaudi::Units::GeV,
142 "minimum sum pT for double track conversion vertices"
148 "minSumPt_doubleTRT",
149 2 * Gaudi::Units::GeV,
150 "minimum sum pT for double TRT track conversion vertices"
157 "maxEoverP_singleTrack",
159 "Maximum E/p for single track conversion vertices"
165 "maxEoverP_singleTrack_EtSf",
167 "Scale maxEoverP_singleTrack by ( 1+sf*Et(cluster)/GeV )"
173 "maxTRTTubeHitFraction",
175 "Maximum fraction of tube hits for vertices with TRT tracks"
Property holding a SG store/key/clid from which a ReadHandle is made.
Principal data class for CaloCell clusters.
Gaudi::Property< float > m_minPt_singleTrack
minimum pT for single-track conversion vertices
float getMaxTRTTubeHitFraction(const xAOD::Vertex &vertex) const
Return the maximum fraction of TRT tube hits among the tracks.
StatusCode vertexExecute(const EventContext &ctx, egammaRec *egRec, const xAOD::VertexContainer *conversions) const
actual implementation method
bool passPtAndEoverP(const EventContext &ctx, const xAOD::Vertex &, const xAOD::CaloCluster &) const
Return true if vertex and cluster pass Pt and E/p cuts.
Gaudi::Property< float > m_maxEoverP_singleTrack
maximum E/p for single track conversion vertices (E is not calibrated)
Gaudi::Property< int > m_minTRTHits
minimum number of TRT hits for TRT-only tracks (both single and double track conversion vertices)
StatusCode initialize() override final
initialize method
Gaudi::Property< float > m_minSumPt_doubleTRT
minimum sum pT for double TRT track conversion vertices
Gaudi::Property< bool > m_rejectAllTRT
Ignore all conversion vertices that contain exclusively TRT-only tracks.
Gaudi::Property< float > m_minTRTonlyTrackPt
minimum pT for each track in TRT-only double-track conversion vertices
EMConversionBuilder(const std::string &type, const std::string &name, const IInterface *parent)
Default constructor.
Gaudi::Property< float > m_minSumPt_double
minimum sum pT for double track conversion vertices
Gaudi::Property< float > m_minPt_singleTRT
minimum pT for TRT-only single-track conversion vertices
virtual ~EMConversionBuilder()=default
Destructor.
SG::ReadHandleKey< xAOD::VertexContainer > m_conversionContainerKey
Name of conversion container.
Gaudi::Property< float > m_maxTRTTubeHitFraction
"Maximum fraction of tube hits for vertices with TRT tracks
ToolHandle< IEMExtrapolationTools > m_extrapolationTool
EMExtrapolationTools.
Gaudi::Property< float > m_maxEoverP_singleTrack_EtSf
Scale maxEoverP_singleTrack by 1+sf*Et(cluster)/GeV.
virtual StatusCode executeRec(const EventContext &ctx, egammaRec *egRec) const override final
execute method
Interface for the Reconstruction/egamma/egammaRec/EMConversionBuilder.
Represent an egamma object for internal egamma usage during reconstruction.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.