3 template <
unsigned int N>
7 : theVertexTrackUpdator(vtu.
clone()),
8 theVertexSmoothedChiSquaredEstimator(vse.
clone()),
9 theTrackToTrackCovCalculator(covCalc.
clone()) {}
11 template <
unsigned int N>
13 delete theVertexTrackUpdator;
14 delete theVertexSmoothedChiSquaredEstimator;
15 delete theTrackToTrackCovCalculator;
18 template <
unsigned int N>
25 template <
unsigned int N>
29 std::vector<RefCountedVertexTrack> newTracks;
30 if (theVertexTrackUpdator !=
nullptr) {
31 const std::vector<RefCountedVertexTrack>& vOut =
vertex.tracks();
32 for (
typename std::vector<RefCountedVertexTrack>::const_iterator
i = vOut.begin();
i != vOut.end();
i++) {
34 newTracks.push_back(nTrack);
37 newTracks =
vertex.tracks();
49 float smChi2 =
vertex.totalChiSquared();
50 if (theVertexSmoothedChiSquaredEstimator !=
nullptr) {
51 std::pair<bool, double>
result = theVertexSmoothedChiSquaredEstimator->estimate(interVertex);
55 if (theTrackToTrackCovCalculator ==
nullptr) {
const VertexSmoothedChiSquaredEstimator< N > * vertexSmoothedChiSquaredEstimator() const
CachingVertex< N > smooth(const CachingVertex< N > &vertex) const override
SequentialVertexSmoother(const VertexTrackUpdator< N > &vtu, const VertexSmoothedChiSquaredEstimator< N > &vse, const TrackToTrackCovCalculator< N > &covCalc)
const VertexTrackUpdator< N > * vertexTrackUpdator() const
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
const TrackToTrackCovCalculator< N > * trackToTrackCovCalculator() const
~SequentialVertexSmoother() override
std::map< RefCountedVertexTrack, TrackMap > TrackToTrackMap