5#ifndef INDETTRACKPERFMON_STABLEDELTARMATCHINGTOOL_H
6#define INDETTRACKPERFMON_STABLEDELTARMATCHINGTOOL_H
24 template<
typename T,
typename R>
38 return StatusCode::FAILURE;
40 return StatusCode::SUCCESS;
45 virtual float distance(
const T& t,
const R&
r)
const override {
48 return (dR >
m_dRmax) ? -1 : dR;
51 FloatProperty
m_dRmax {
this,
"dRmax", 0.05,
"Maximum DeltaR cone size for DeltaR-matching (disabled if <0)" };
70 const std::string& chainRoIName,
71 const std::string& roiStr)
const override;
79 virtual StatusCode
match(
const std::vector<const xAOD::TrackParticle*>& vTest,
80 const std::vector<const xAOD::TrackParticle*>& vRef,
84 return StatusCode::SUCCESS;
88 virtual StatusCode
match(
const std::vector<const xAOD::TrackParticle*>& ,
89 const std::vector<const xAOD::TruthParticle*>& ,
92 return StatusCode::SUCCESS;
96 virtual StatusCode
match(
const std::vector<const xAOD::TruthParticle*>& ,
97 const std::vector<const xAOD::TrackParticle*>& ,
100 return StatusCode::SUCCESS;
120 const std::string& chainRoIName,
121 const std::string& roiStr)
const override;
126 virtual StatusCode
match(
const std::vector<const xAOD::TrackParticle*>& ,
127 const std::vector<const xAOD::TrackParticle*>& ,
130 return StatusCode::SUCCESS;
134 virtual StatusCode
match(
const std::vector<const xAOD::TrackParticle*>& vTest,
135 const std::vector<const xAOD::TruthParticle*>& vRef,
139 return StatusCode::SUCCESS;
143 virtual StatusCode
match(
const std::vector<const xAOD::TruthParticle*>& ,
144 const std::vector<const xAOD::TrackParticle*>& ,
147 return StatusCode::SUCCESS;
167 const std::string& chainRoIName,
168 const std::string& roiStr)
const override;
173 virtual StatusCode
match(
const std::vector<const xAOD::TrackParticle*>& ,
174 const std::vector<const xAOD::TrackParticle*>& ,
177 return StatusCode::SUCCESS;
181 virtual StatusCode
match(
const std::vector<const xAOD::TrackParticle*>& ,
182 const std::vector<const xAOD::TruthParticle*>& ,
185 return StatusCode::SUCCESS;
189 virtual StatusCode
match(
const std::vector<const xAOD::TruthParticle*>& vTest,
190 const std::vector<const xAOD::TrackParticle*>& vRef,
194 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
StableMatchingBase(const std::string &name)
virtual StatusCode matchVectors(const std::vector< const xAOD::TrackParticle * > &vTest, const std::vector< const xAOD::TrackParticle * > &vRef, ITrackMatchingLookup &matches) const
(HepMC) Monte Carlo particle.
float deltaR(const U1 &p1, const U2 &p2)
Accessor utility function for getting the DeltaR betwen two tracks.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.