#include <MatcherUsingTracksAlgorithm.h>
|
bool | hasChi2 () const |
| Return 'true' if the matcher will produce also chi2. More...
|
|
bool | hasMetrics () const |
| Return 'true' if the matcher will produce meaningful deltaR, deltaLocalPos, deltaPtRel values. More...
|
|
void | init (const edm::EventSetup &iSetup) |
| Call this method at the beginning of each run, to initialize geometry, magnetic field and propagators. More...
|
|
bool | match (const reco::Candidate &c1, const reco::Candidate &c2, float &deltaR, float &deltaEta, float &deltaPhi, float &deltaLocalPos, float &deltaPtRel, float &chi2) const |
|
int | match (const reco::Candidate &tk, const edm::View< reco::Candidate > &c2s, float &deltaR, float &deltaEta, float &deltaPhi, float &deltaLocalPos, float &deltaPtRel, float &chi2) const |
|
| MatcherUsingTracksAlgorithm (const edm::ParameterSet &iConfig) |
|
virtual | ~MatcherUsingTracksAlgorithm () |
|
|
static void | cropAndInvert (AlgebraicSymMatrix55 &cov, bool diagonalOnly, bool top3by3only) |
| Possibly crop the 3x3 part of the matrix or remove off-diagonal terms, then invert. More...
|
|
static double | getChi2 (const FreeTrajectoryState &start, const FreeTrajectoryState &other, bool diagonalOnly, bool useVertex, bool useFirstMomentum) |
|
static double | getChi2 (const FreeTrajectoryState &start, const TrajectoryStateClosestToPoint &other, bool diagonalOnly, bool useVertex) |
|
static double | getChi2 (const TrajectoryStateOnSurface &start, const TrajectoryStateOnSurface &other, bool diagonalOnly, bool usePosition) |
|
|
enum | AlgoType {
ByTrackRef,
ByDirectComparison,
ByPropagatingSrc,
ByPropagatingMatched,
ByPropagatingSrcTSCP,
ByPropagatingMatchedTSCP
} |
|
enum | SortBy {
LocalPosDiff,
GlobalMomDeltaR,
GlobalMomDeltaEta,
GlobalMomDeltaPhi,
GlobalDPtRel,
Chi2
} |
|
enum | WhichState { AtVertex,
Innermost,
Outermost
} |
|
enum | WhichTrack { None,
TrackerTk,
MuonTk,
GlobalTk
} |
|
|
void | getConf (const edm::ParameterSet &iConfig, const std::string &whatFor, WhichTrack &whichTrack, WhichState &whichState) |
| Parse some configuration. More...
|
|
reco::TrackRef | getTrack (const reco::Candidate &reco, WhichTrack which) const |
| Get track reference out of a Candidate (via dynamic_cast to reco::RecoCandidate) More...
|
|
bool | matchByDirectComparison (const FreeTrajectoryState &start, const FreeTrajectoryState &other, float &lastDeltaR, float &lastDeltaEta, float &lastDeltaPhi, float &lastDeltaLocalPos, float &lastGlobalDPtRel, float &lastChi2) const |
| Compare directly two states. return true if current pair is the new best match (in that case, update also deltaR and deltaLocalPos) More...
|
|
bool | matchWithPropagation (const FreeTrajectoryState &start, const FreeTrajectoryState &target, float &lastDeltaR, float &lastDeltaEta, float &lastDeltaPhi, float &lastDeltaLocalPos, float &lastGlobalDPtRel, float &lastChi2) const |
|
bool | matchWithPropagation (const FreeTrajectoryState &start, const TrajectoryStateOnSurface &target, float &lastDeltaR, float &lastDeltaEta, float &lastDeltaPhi, float &lastDeltaLocalPos, float &lastGlobalDPtRel, float &lastChi2) const |
|
FreeTrajectoryState | startingState (const reco::Candidate &reco, WhichTrack whichTrack, WhichState whichState) const |
| Starting state for the propagation. More...
|
|
TrajectoryStateOnSurface | targetState (const reco::Candidate &reco, WhichTrack whichTrack, WhichState whichState) const |
| End state for the propagation. More...
|
|
Enumerator |
---|
ByTrackRef |
|
ByDirectComparison |
|
ByPropagatingSrc |
|
ByPropagatingMatched |
|
ByPropagatingSrcTSCP |
|
ByPropagatingMatchedTSCP |
|
Definition at line 75 of file MatcherUsingTracksAlgorithm.h.
MatcherUsingTracksAlgorithm::MatcherUsingTracksAlgorithm |
( |
const edm::ParameterSet & |
iConfig | ) |
|
|
explicit |
virtual MatcherUsingTracksAlgorithm::~MatcherUsingTracksAlgorithm |
( |
| ) |
|
|
inlinevirtual |
void MatcherUsingTracksAlgorithm::cropAndInvert |
( |
AlgebraicSymMatrix55 & |
cov, |
|
|
bool |
diagonalOnly, |
|
|
bool |
top3by3only |
|
) |
| |
|
static |
Compute the chi2 of two free trajectory states, in the curvilinear frame (q/p, theta, phi, dxy, dsz) At least one must have errors diagonalOnly: don't use off-diagonal terms of covariance matrix useVertex : use dxy, dsz in the chi2 (if false, use only q/p, theta, phi) useFirstMomentum : use the 'start' state momentum to compute dxy, dsx (if false, use 'other')
Definition at line 437 of file MatcherUsingTracksAlgorithm.cc.
Compute the chi2 of one free trajectory state and a TrajectoryStateClosestToPoint closest to it, in the perigee frame At least one must have errors diagonalOnly: don't use off-diagonal terms of covariance matrix useVertex : use dxy, dsz in the chi2 (if false, use only q/p, theta, phi)
Definition at line 457 of file MatcherUsingTracksAlgorithm.cc.
Compute the chi2 of two free trajectory states, in the local frame (q/p, dx, dy, dxdz, dydz) At least one must have errors diagonalOnly: don't use off-diagonal terms of covariance matrix useVertex : use dx, dy in the chi2 (if false, use only direction and q/p)
Definition at line 471 of file MatcherUsingTracksAlgorithm.cc.
bool MatcherUsingTracksAlgorithm::hasChi2 |
( |
| ) |
const |
|
inline |
bool MatcherUsingTracksAlgorithm::hasMetrics |
( |
| ) |
const |
|
inline |
Return 'true' if the matcher will produce meaningful deltaR, deltaLocalPos, deltaPtRel values.
Definition at line 48 of file MatcherUsingTracksAlgorithm.h.
Call this method at the beginning of each run, to initialize geometry, magnetic field and propagators.
Definition at line 227 of file MatcherUsingTracksAlgorithm.cc.
bool MatcherUsingTracksAlgorithm::match |
( |
const reco::Candidate & |
c1, |
|
|
const reco::Candidate & |
c2, |
|
|
float & |
deltR, |
|
|
float & |
deltEta, |
|
|
float & |
deltPhi, |
|
|
float & |
deltaLocalPos, |
|
|
float & |
deltaPtRel, |
|
|
float & |
chi2 |
|
) |
| const |
Try to match one track to another one. Return true if succeeded. For matches not by ref, it will update deltaR, deltaLocalPos and deltaPtRel if the match suceeded
Definition at line 120 of file MatcherUsingTracksAlgorithm.cc.
int MatcherUsingTracksAlgorithm::match |
( |
const reco::Candidate & |
c1, |
|
|
const edm::View< reco::Candidate > & |
c2s, |
|
|
float & |
deltR, |
|
|
float & |
deltEta, |
|
|
float & |
deltPhi, |
|
|
float & |
deltaLocalPos, |
|
|
float & |
deltaPtRel, |
|
|
float & |
chi2 |
|
) |
| const |
Find the best match to another candidate, and return its index in the vector For matches not by ref, it will update deltaR, deltaLocalPos and deltaPtRel if the match suceeded Returns -1 if the match fails
Definition at line 166 of file MatcherUsingTracksAlgorithm.cc.
bool MatcherUsingTracksAlgorithm::matchByDirectComparison |
( |
const FreeTrajectoryState & |
start, |
|
|
const FreeTrajectoryState & |
other, |
|
|
float & |
lastDeltaR, |
|
|
float & |
lastDeltaEta, |
|
|
float & |
lastDeltaPhi, |
|
|
float & |
lastDeltaLocalPos, |
|
|
float & |
lastGlobalDPtRel, |
|
|
float & |
lastChi2 |
|
) |
| const |
|
private |
Compare directly two states. return true if current pair is the new best match (in that case, update also deltaR and deltaLocalPos)
Definition at line 390 of file MatcherUsingTracksAlgorithm.cc.
bool MatcherUsingTracksAlgorithm::matchWithPropagation |
( |
const FreeTrajectoryState & |
start, |
|
|
const FreeTrajectoryState & |
target, |
|
|
float & |
lastDeltaR, |
|
|
float & |
lastDeltaEta, |
|
|
float & |
lastDeltaPhi, |
|
|
float & |
lastDeltaLocalPos, |
|
|
float & |
lastGlobalDPtRel, |
|
|
float & |
lastChi2 |
|
) |
| const |
|
private |
bool MatcherUsingTracksAlgorithm::matchWithPropagation |
( |
const FreeTrajectoryState & |
start, |
|
|
const TrajectoryStateOnSurface & |
target, |
|
|
float & |
lastDeltaR, |
|
|
float & |
lastDeltaEta, |
|
|
float & |
lastDeltaPhi, |
|
|
float & |
lastDeltaLocalPos, |
|
|
float & |
lastGlobalDPtRel, |
|
|
float & |
lastChi2 |
|
) |
| const |
|
private |
Propagate and match. return true if current pair is the new best match (in that case, update also deltaR and deltaLocalPos) Uses standard propagator to reach target's surface
Definition at line 286 of file MatcherUsingTracksAlgorithm.cc.
AlgoType MatcherUsingTracksAlgorithm::algo_ |
|
private |
bool MatcherUsingTracksAlgorithm::chi2DiagonalOnly_ |
|
private |
bool MatcherUsingTracksAlgorithm::chi2FirstMomentum_ |
|
private |
bool MatcherUsingTracksAlgorithm::chi2UseVertex_ |
|
private |
float MatcherUsingTracksAlgorithm::maxChi2_ |
|
private |
float MatcherUsingTracksAlgorithm::maxGlobalDPtRel_ |
|
private |
float MatcherUsingTracksAlgorithm::maxGlobalMomDeltaEta_ |
|
private |
float MatcherUsingTracksAlgorithm::maxGlobalMomDeltaPhi_ |
|
private |
float MatcherUsingTracksAlgorithm::maxGlobalMomDeltaR_ |
|
private |
float MatcherUsingTracksAlgorithm::maxLocalPosDiff_ |
|
private |
bool MatcherUsingTracksAlgorithm::requireSameCharge_ |
|
private |
SortBy MatcherUsingTracksAlgorithm::sortBy_ |
|
private |
bool MatcherUsingTracksAlgorithm::useChi2_ |
|
private |
WhichState MatcherUsingTracksAlgorithm::whichState1_ |
|
private |
WhichState MatcherUsingTracksAlgorithm::whichState2_ |
|
private |
WhichTrack MatcherUsingTracksAlgorithm::whichTrack1_ |
|
private |
WhichTrack MatcherUsingTracksAlgorithm::whichTrack2_ |
|
private |