CMS 3D CMS Logo

List of all members | Public Member Functions
LMSLinearizationPointFinder Class Reference

#include <LMSLinearizationPointFinder.h>

Inheritance diagram for LMSLinearizationPointFinder:
CrossingPtBasedLinearizationPointFinder LinearizationPointFinder

Public Member Functions

LMSLinearizationPointFinderclone () const override
 
 LMSLinearizationPointFinder (const RecTracksDistanceMatrix *m, const signed int n_pairs=-1)
 
 LMSLinearizationPointFinder (const signed int n_pairs=10)
 
- Public Member Functions inherited from CrossingPtBasedLinearizationPointFinder
 CrossingPtBasedLinearizationPointFinder (const CrossingPtBasedLinearizationPointFinder &)
 
 CrossingPtBasedLinearizationPointFinder (const ModeFinder3d &algo, const signed int n_pairs=5)
 
 CrossingPtBasedLinearizationPointFinder (const RecTracksDistanceMatrix *m, const ModeFinder3d &algo, const signed int n_pairs=-1)
 
GlobalPoint getLinearizationPoint (const std::vector< FreeTrajectoryState > &) const override
 
GlobalPoint getLinearizationPoint (const std::vector< reco::TransientTrack > &) const override
 
 ~CrossingPtBasedLinearizationPointFinder () override
 
- Public Member Functions inherited from LinearizationPointFinder
virtual ~LinearizationPointFinder ()
 

Additional Inherited Members

- Protected Attributes inherited from CrossingPtBasedLinearizationPointFinder
const RecTracksDistanceMatrixtheMatrix
 
signed int theNPairs
 
const bool useMatrix
 

Detailed Description

A linearization point finder. It works the following way:

  1. Calculate in an optimal way 'n_pairs' different crossing points. Optimal in this context means the following: a. Try to use as many different tracks as possible; avoid using the same track all the time. b. Use the most energetic tracks. c. Try not to group the most energetic tracks together. Try to group more energetic tracks with less energetic tracks. We assume collimated bundles here, so this is why. d. Perform optimally. Do not sort more tracks (by total energy, see b) than necessary. e. If n_pairs >= (number of all possible combinations), do not leave any combinations out. ( a. and e. are almost but not entirely fulfilled in the current impl )
  2. Do a LMS on the n points.

Definition at line 23 of file LMSLinearizationPointFinder.h.

Constructor & Destructor Documentation

◆ LMSLinearizationPointFinder() [1/2]

LMSLinearizationPointFinder::LMSLinearizationPointFinder ( const signed int  n_pairs = 10)

Definition at line 4 of file LMSLinearizationPointFinder.cc.

Referenced by clone().

◆ LMSLinearizationPointFinder() [2/2]

LMSLinearizationPointFinder::LMSLinearizationPointFinder ( const RecTracksDistanceMatrix m,
const signed int  n_pairs = -1 
)

Member Function Documentation

◆ clone()

LMSLinearizationPointFinder * LMSLinearizationPointFinder::clone ( ) const
overridevirtual

Clone method

Reimplemented from CrossingPtBasedLinearizationPointFinder.

Definition at line 10 of file LMSLinearizationPointFinder.cc.

10  {
11  return new LMSLinearizationPointFinder(*this);
12 }

References LMSLinearizationPointFinder().

CrossingPtBasedLinearizationPointFinder::CrossingPtBasedLinearizationPointFinder
CrossingPtBasedLinearizationPointFinder(const ModeFinder3d &algo, const signed int n_pairs=5)
Definition: CrossingPtBasedLinearizationPointFinder.cc:91
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:78
LMSLinearizationPointFinder::LMSLinearizationPointFinder
LMSLinearizationPointFinder(const signed int n_pairs=10)
Definition: LMSLinearizationPointFinder.cc:4
LmsModeFinder3d
Definition: LmsModeFinder3d.h:8