RecoVertex
LinearizationPointFinders
interface
CrossingPtBasedLinearizationPointFinder.h
Go to the documentation of this file.
1
#ifndef CrossingPtBasedLinearizationPointFinder_H
2
#define CrossingPtBasedLinearizationPointFinder_H
3
4
#include "
RecoVertex/VertexTools/interface/LinearizationPointFinder.h
"
5
#include "
TrackingTools/TransientTrack/interface/TransientTrack.h
"
6
#include "
RecoVertex/VertexTools/interface/ModeFinder3d.h
"
7
#include "
RecoVertex/VertexTools/interface/RecTracksDistanceMatrix.h
"
8
26
class
CrossingPtBasedLinearizationPointFinder
:
public
LinearizationPointFinder
{
27
public
:
31
CrossingPtBasedLinearizationPointFinder
(
const
ModeFinder3d
&
algo
,
const
signed
int
n_pairs = 5);
32
39
CrossingPtBasedLinearizationPointFinder
(
const
RecTracksDistanceMatrix
*
m
,
40
const
ModeFinder3d
&
algo
,
41
const
signed
int
n_pairs = -1);
42
43
CrossingPtBasedLinearizationPointFinder
(
const
CrossingPtBasedLinearizationPointFinder
&);
44
45
~CrossingPtBasedLinearizationPointFinder
()
override
;
46
49
GlobalPoint
getLinearizationPoint
(
const
std::vector<reco::TransientTrack> &)
const override
;
50
GlobalPoint
getLinearizationPoint
(
const
std::vector<FreeTrajectoryState> &)
const override
;
51
52
CrossingPtBasedLinearizationPointFinder
*
clone
()
const override
{
53
return
new
CrossingPtBasedLinearizationPointFinder
(*
this
);
54
};
55
56
protected
:
57
const
bool
useMatrix
;
58
signed
int
theNPairs
;
59
const
RecTracksDistanceMatrix
*
theMatrix
;
60
61
private
:
64
GlobalPoint
find
(
const
std::vector
<std::pair<GlobalPoint, float> > &)
const
;
65
66
private
:
67
ModeFinder3d
*
theAlgo
;
68
71
struct
CompareTwoTracks
{
72
int
operator()
(
const
reco::TransientTrack
&
a
,
const
reco::TransientTrack
&
b
) {
73
return
a
.initialFreeState().momentum().mag() >
b
.initialFreeState().momentum().mag();
74
// return a.p() > b.p();
75
};
76
};
77
std::vector<reco::TransientTrack>
getBestTracks
(
const
std::vector<reco::TransientTrack> &)
const
;
78
GlobalPoint
useFullMatrix
(
const
std::vector<reco::TransientTrack> &)
const
;
79
GlobalPoint
useAllTracks
(
const
std::vector<reco::TransientTrack> &)
const
;
80
};
81
82
#endif
RecTracksDistanceMatrix.h
CrossingPtBasedLinearizationPointFinder::getLinearizationPoint
GlobalPoint getLinearizationPoint(const std::vector< reco::TransientTrack > &) const override
Definition:
CrossingPtBasedLinearizationPointFinder.cc:191
CrossingPtBasedLinearizationPointFinder::CrossingPtBasedLinearizationPointFinder
CrossingPtBasedLinearizationPointFinder(const ModeFinder3d &algo, const signed int n_pairs=5)
Definition:
CrossingPtBasedLinearizationPointFinder.cc:91
ModeFinder3d
Definition:
ModeFinder3d.h:14
RecTracksDistanceMatrix
Definition:
RecTracksDistanceMatrix.h:17
ModeFinder3d.h
CrossingPtBasedLinearizationPointFinder::CompareTwoTracks::operator()
int operator()(const reco::TransientTrack &a, const reco::TransientTrack &b)
Definition:
CrossingPtBasedLinearizationPointFinder.h:72
TransientTrack.h
CrossingPtBasedLinearizationPointFinder::~CrossingPtBasedLinearizationPointFinder
~CrossingPtBasedLinearizationPointFinder() override
Definition:
CrossingPtBasedLinearizationPointFinder.cc:107
cmsdt::algo
algo
Definition:
constants.h:165
CrossingPtBasedLinearizationPointFinder::clone
CrossingPtBasedLinearizationPointFinder * clone() const override
Definition:
CrossingPtBasedLinearizationPointFinder.h:52
LinearizationPointFinder
Definition:
LinearizationPointFinder.h:12
visualization-live-secondInstance_cfg.m
m
Definition:
visualization-live-secondInstance_cfg.py:72
CrossingPtBasedLinearizationPointFinder::theAlgo
ModeFinder3d * theAlgo
Definition:
CrossingPtBasedLinearizationPointFinder.h:67
CrossingPtBasedLinearizationPointFinder::useFullMatrix
GlobalPoint useFullMatrix(const std::vector< reco::TransientTrack > &) const
Definition:
CrossingPtBasedLinearizationPointFinder.cc:155
Point3DBase< float, GlobalTag >
b
double b
Definition:
hdecay.h:118
a
double a
Definition:
hdecay.h:119
CrossingPtBasedLinearizationPointFinder::useMatrix
const bool useMatrix
Definition:
CrossingPtBasedLinearizationPointFinder.h:54
CrossingPtBasedLinearizationPointFinder::getBestTracks
std::vector< reco::TransientTrack > getBestTracks(const std::vector< reco::TransientTrack > &) const
Definition:
CrossingPtBasedLinearizationPointFinder.cc:109
trackerHitRTTI::vector
Definition:
trackerHitRTTI.h:21
CrossingPtBasedLinearizationPointFinder::theNPairs
signed int theNPairs
Definition:
CrossingPtBasedLinearizationPointFinder.h:58
LinearizationPointFinder.h
reco::TransientTrack
Definition:
TransientTrack.h:19
CrossingPtBasedLinearizationPointFinder
Definition:
CrossingPtBasedLinearizationPointFinder.h:26
CrossingPtBasedLinearizationPointFinder::theMatrix
const RecTracksDistanceMatrix * theMatrix
Definition:
CrossingPtBasedLinearizationPointFinder.h:59
CrossingPtBasedLinearizationPointFinder::CompareTwoTracks
Definition:
CrossingPtBasedLinearizationPointFinder.h:71
CrossingPtBasedLinearizationPointFinder::find
GlobalPoint find(const std::vector< std::pair< GlobalPoint, float > > &) const
Definition:
CrossingPtBasedLinearizationPointFinder.cc:178
CrossingPtBasedLinearizationPointFinder::useAllTracks
GlobalPoint useAllTracks(const std::vector< reco::TransientTrack > &) const
Definition:
CrossingPtBasedLinearizationPointFinder.cc:131
Generated for CMSSW Reference Manual by
1.8.16