|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef EGAMMATOOLS_EMTRACKMATCHBUILDER_H
6 #define EGAMMATOOLS_EMTRACKMATCHBUILDER_H
24 #include "GaudiKernel/EventContext.h"
25 #include "GaudiKernel/ToolHandle.h"
47 const std::string&
name,
57 const EventContext& ctx,
97 std::vector<TrackMatch>& trackMatches,
112 "TrackParticlesName",
114 "Name of the input track particle container"
119 "CaloDetDescrManager",
120 "CaloDetDescrManager",
121 "SG Key for CaloDetDescrManager in the Condition Store"
128 "Value of broad cut for delta eta" };
134 "Value of broad cut for delta phi" };
141 "Value of narrow cut for delta eta"
149 "Value of the narrowd cut for delta phi"
155 "narrowDeltaPhiBrem",
157 "Value of the narrow cut for delta phi Brem"
163 "narrowDeltaPhiRescale",
165 "Value of the narrow cut for delta phi Rescale"
171 "narrowDeltaPhiRescaleBrem",
173 "Value of the narrow cut for delta phi Rescale Brem"
179 "MaxDeltaPhiRescale",
181 "Maximum Value of the deltaPhi rescale"
189 "Boolean to use candidate matching"
197 "Boolean to apply heuristic when tracks have close deltaR"
204 "Use Rescale Metric" };
210 "Do second pass with rescale" };
214 "DeltaEtaResolution",
216 "The deltaEta resolution" };
219 "DeltaPhiResolution",
221 "The deltaPhi resolution" };
225 "DeltaPhiRescaleResolution",
227 "The deltaPhiRescale resolution"
239 "The distance from which one goes from using better deltaR to using score."
245 "EMExtrapolationTools",
246 "Name of the extrapolation tool"
253 "Boolean for use of cosmics" };
Property holding a SG store/key/clid from which a ReadHandle is made.
std::array< double, 4 > deltaPhiRescaled
bool inBroadWindow(const EventContext &ctx, std::vector< TrackMatch > &trackMatches, const xAOD::CaloCluster &cluster, int trackNumber, const xAOD::TrackParticle &trkPB, const CaloDetDescrManager &caloDD) const
Compute for tracks passing the loose matching the distance between track extrapolated to 2nd sampling...
vecmem::edm::container< TrackParticleInterface, vecmem::edm::type::vector< float >, vecmem::edm::type::vector< float >, vecmem::edm::type::vector< float > > TrackParticleContainer
SoA, GPU friendly TrackParticleContainer.
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloDetDescrMgrKey
Gaudi::Property< bool > m_useRescaleMetric
Boolean to use Rescale in the metric.
std::array< double, 4 > deltaPhi
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_TrackParticlesKey
name of TrackParticle container in TDS
StatusCode trackExecute(const EventContext &ctx, egammaRec *eg, const xAOD::TrackParticleContainer *trackPC, const CaloDetDescrManager &caloDD) const
execute method
Gaudi::Property< float > m_deltaEtaResolution
The resolutions: might be good to split in barrel/end-cap in the future.
Gaudi::Property< bool > m_isCosmics
Gaudi::Property< float > m_deltaPhiRescaleResolution
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Gaudi::Property< bool > m_SecondPassRescale
Boolean to do second pass with Rescale.
TrackMatchSorter m_sorter
bool const RAWDATA *ch2 const
Gaudi::Property< double > m_narrowDeltaPhiRescale
narrow cut on deltaPhiRescale
Gaudi::Property< double > m_narrowDeltaPhiBrem
narrow cut on deltaPhi for electrons
Gaudi::Property< float > m_deltaPhiResolution
virtual StatusCode executeRec(const EventContext &ctx, EgammaRecContainer *egammas) const override final
execute method
double m_deltaPhiRescaleWeight
virtual ~EMTrackMatchBuilder()=default
Destructor.
Description of a calorimeter cluster.
StatusCode initialize() override final
Gaudi algorithm hooks.
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Property< double > m_MaxDeltaPhiRescale
@Maximum deltaPhi (Res) allowed for a match
Gaudi::Property< double > m_broadDeltaPhi
broad cut on deltaPhi
EMTrackMatchBuilder(const std::string &type, const std::string &name, const IInterface *parent)
Default constructor.
Gaudi::Property< double > m_narrowDeltaPhiRescaleBrem
narrow cut on deltaPhiRescale for electrons
std::array< double, 4 > deltaEta
TrackMatchSorter(double distance=0.0)
bool isCandidateMatch(const xAOD::CaloCluster *cluster, const xAOD::TrackParticle *track, bool flip) const
Loose track-cluster matching.
Gaudi::Property< double > m_narrowDeltaEta
narrow cut on deltaEta
Gaudi::Property< bool > m_useScoring
Boolean to apply heuristic when tracks have close deltaR.
Gaudi::Property< float > m_distanceForScore
The distance from which one goes from using better deltaR to using score.
This class provides the client interface for accessing the detector description information common to...
A structure for keeping track match information.
Gaudi::Property< bool > m_useCandidateMatch
flag to turn on/off use of isCandidateMatch
bool operator()(const TrackMatch &match1, const TrackMatch &match2) const
Class describing a TrackParticle.
function object to sort track matches based on quality
Gaudi::Property< double > m_narrowDeltaPhi
narrow cut on deltaPhiRescale
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
ToolHandle< IEMExtrapolationTools > m_extrapolationTool
Gaudi::Property< double > m_broadDeltaEta
broad cut on deltaEta