5#ifndef INDETTRACKPERFMON_ITRACKMATCHINGLOOKUP_H
6#define INDETTRACKPERFMON_ITRACKMATCHINGLOOKUP_H
38 virtual unsigned getNmatches(
bool getRefN =
false )
const = 0;
42 void anaTag( std::string_view anaTag_s ) {
84 const std::vector< const xAOD::TrackParticle* >&
vec =
86 return vec.empty() ? nullptr :
vec[0];
92 const std::vector< const xAOD::TrackParticle* >&
vec =
94 return vec.empty() ? nullptr :
vec[0];
100 const std::vector< const xAOD::TruthParticle* >&
vec =
102 return vec.empty() ? nullptr :
vec[0];
120 float dist = 0. ) = 0;
124 float dist = 0. ) = 0;
128 float dist = 0. ) = 0;
136 const std::vector< const xAOD::TrackParticle* >& testVec,
137 const std::vector< const xAOD::TrackParticle* >& refVec )
const = 0;
140 const std::vector< const xAOD::TrackParticle* >& testVec,
141 const std::vector< const xAOD::TruthParticle* >& refVec )
const = 0;
144 const std::vector< const xAOD::TruthParticle* >& testVec,
145 const std::vector< const xAOD::TrackParticle* >& refVec )
const = 0;
std::vector< size_t > vec
std::vector< const xAOD::TrackParticle * > m_nullTrackVec
null vectors
std::vector< const xAOD::TruthParticle * > m_nullTruthVec
virtual std::string printInfo(const std::vector< const xAOD::TruthParticle * > &testVec, const std::vector< const xAOD::TrackParticle * > &refVec) const =0
Truth -> Track.
virtual const std::vector< const xAOD::TruthParticle * > & getMatchedTestTruths(const xAOD::TrackParticle &r) const =0
vec Truth <- Track
const std::string & chainRoiName() const
virtual unsigned getNmatches(bool getRefN=false) const =0
get overall number of matches
virtual std::string printInfo(const std::vector< const xAOD::TrackParticle * > &testVec, const std::vector< const xAOD::TrackParticle * > &refVec) const =0
print info about matching and reverse matchings Track -> Track
virtual const xAOD::TruthParticle * getBestMatchedTestTruth(const xAOD::TrackParticle &r) const
best Truth <- Track
std::string m_chainRoiName
virtual StatusCode update(const xAOD::TrackParticle &t, const xAOD::TrackParticle &r, float dist=0.)=0
update lookup tables with a new entry Track -> Track
virtual const xAOD::TrackParticle * getMatchedRefTrack(const xAOD::TrackParticle &t) const =0
get matched reference (1 to 1) Track -> Track
const xAOD::TruthParticle * getBestMatchedTestTruth(const xAOD::TruthParticle &) const
best Truth <- Truth // to avoid compilation errors
std::string m_anaTag
Lookup table properties.
void chainRoiName(std::string_view chainRoiName_s)
virtual bool isTestMatched(const xAOD::TruthParticle &t) const =0
virtual const xAOD::TruthParticle * getMatchedRefTruth(const xAOD::TrackParticle &t) const =0
Track -> Truth.
virtual bool isRefMatched(const xAOD::TrackParticle &r) const =0
return true if reference is matched
virtual const std::vector< const xAOD::TrackParticle * > & getMatchedTestTracks(const xAOD::TruthParticle &r) const =0
vec Track <- Truth
virtual const xAOD::TrackParticle * getMatchedRefTrack(const xAOD::TruthParticle &t) const =0
Truth -> Track.
const xAOD::TrackParticle * getBestMatchedTestTrack(const xAOD::TruthParticle &r) const
best Track <- Truth
virtual const std::vector< const xAOD::TrackParticle * > & getMatchedTestTracks(const xAOD::TrackParticle &r) const =0
get matched test vector (1 to 1+) vec Track <- Track
virtual std::string printInfo(const std::vector< const xAOD::TrackParticle * > &testVec, const std::vector< const xAOD::TruthParticle * > &refVec) const =0
Track -> Truth.
virtual ~ITrackMatchingLookup()=default
Destructor.
const xAOD::TruthParticle * getMatchedRefTruth(const xAOD::TruthParticle &) const
Truth -> Truth // to avoid compilation errors.
const xAOD::TrackParticle * getBestMatchedTestTrack(const xAOD::TrackParticle &r) const
get best matched test, i.e.
virtual bool isTestMatched(const xAOD::TrackParticle &t) const =0
return true if test is matched
virtual bool isRefMatched(const xAOD::TruthParticle &r) const =0
virtual StatusCode update(const xAOD::TruthParticle &t, const xAOD::TrackParticle &r, float dist=0.)=0
Truth -> Track.
virtual void clear()=0
clear lookup tables
const std::string & anaTag() const
matching properties
virtual StatusCode update(const xAOD::TrackParticle &t, const xAOD::TruthParticle &r, float dist=0.)=0
Track -> Truth.
void anaTag(std::string_view anaTag_s)
const std::vector< const xAOD::TruthParticle * > & getMatchedTestTruths(const xAOD::TruthParticle &) const
vec Truth <- Truth // to avoid compilation errors
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TruthParticle_v1 TruthParticle
Typedef to implementation.