CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes
CrossingPtBasedLinearizationPointFinder Class Reference

#include <CrossingPtBasedLinearizationPointFinder.h>

Inheritance diagram for CrossingPtBasedLinearizationPointFinder:
LinearizationPointFinder FsmwLinearizationPointFinder HSMLinearizationPointFinder LMSLinearizationPointFinder SMSLinearizationPointFinder SubsetHSMLinearizationPointFinder DefaultLinearizationPointFinder

Classes

struct  CompareTwoTracks
 

Public Member Functions

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

Protected Attributes

const RecTracksDistanceMatrixtheMatrix
 
signed int theNPairs
 
const bool useMatrix
 

Private Member Functions

GlobalPoint find (const std::vector< std::pair< GlobalPoint, float > > &) const
 
std::vector< reco::TransientTrackgetBestTracks (const std::vector< reco::TransientTrack > &) const
 
GlobalPoint useAllTracks (const std::vector< reco::TransientTrack > &) const
 
GlobalPoint useFullMatrix (const std::vector< reco::TransientTrack > &) const
 

Private Attributes

ModeFinder3dtheAlgo
 

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. Apply theAlgo on the n points.

Definition at line 26 of file CrossingPtBasedLinearizationPointFinder.h.

Constructor & Destructor Documentation

CrossingPtBasedLinearizationPointFinder::CrossingPtBasedLinearizationPointFinder ( const ModeFinder3d algo,
const signed int  n_pairs = 5 
)
Parameters
n_pairs,:how many track pairs will be considered (maximum) a value of -1 means full combinatorics.

Definition at line 106 of file CrossingPtBasedLinearizationPointFinder.cc.

Referenced by clone().

CrossingPtBasedLinearizationPointFinder::CrossingPtBasedLinearizationPointFinder ( const RecTracksDistanceMatrix m,
const ModeFinder3d algo,
const signed int  n_pairs = -1 
)

This constructor exploits the information stored in a RecTracksDistanceMatrix object.

Parameters
n_pairs,:how many track pairs will be considered (maximum) a value of -1 means full combinatorics.

Definition at line 112 of file CrossingPtBasedLinearizationPointFinder.cc.

CrossingPtBasedLinearizationPointFinder::CrossingPtBasedLinearizationPointFinder ( const CrossingPtBasedLinearizationPointFinder o)

Definition at line 120 of file CrossingPtBasedLinearizationPointFinder.cc.

CrossingPtBasedLinearizationPointFinder::~CrossingPtBasedLinearizationPointFinder ( )

Definition at line 126 of file CrossingPtBasedLinearizationPointFinder.cc.

Member Function Documentation

virtual CrossingPtBasedLinearizationPointFinder* CrossingPtBasedLinearizationPointFinder::clone ( ) const
inlinevirtual
GlobalPoint CrossingPtBasedLinearizationPointFinder::find ( const std::vector< std::pair< GlobalPoint, float > > &  ) const
private

calls (*theAglo) (input) can optionally save input / output in .root file

Definition at line 216 of file CrossingPtBasedLinearizationPointFinder.cc.

std::vector< reco::TransientTrack > CrossingPtBasedLinearizationPointFinder::getBestTracks ( const std::vector< reco::TransientTrack > &  tracks) const
private

Definition at line 131 of file CrossingPtBasedLinearizationPointFinder.cc.

GlobalPoint CrossingPtBasedLinearizationPointFinder::getLinearizationPoint ( const std::vector< reco::TransientTrack > &  tracks) const
virtual

Method giving back the Initial Linearization Point.

Implements LinearizationPointFinder.

Definition at line 231 of file CrossingPtBasedLinearizationPointFinder.cc.

GlobalPoint CrossingPtBasedLinearizationPointFinder::getLinearizationPoint ( const std::vector< FreeTrajectoryState > &  tracks) const
virtual

Reimplemented from LinearizationPointFinder.

Definition at line 210 of file CrossingPtBasedLinearizationPointFinder.cc.

GlobalPoint CrossingPtBasedLinearizationPointFinder::useAllTracks ( const std::vector< reco::TransientTrack > &  tracks) const
private

Definition at line 154 of file CrossingPtBasedLinearizationPointFinder.cc.

GlobalPoint CrossingPtBasedLinearizationPointFinder::useFullMatrix ( const std::vector< reco::TransientTrack > &  tracks) const
private

Definition at line 185 of file CrossingPtBasedLinearizationPointFinder.cc.

Member Data Documentation

ModeFinder3d* CrossingPtBasedLinearizationPointFinder::theAlgo
private

Definition at line 68 of file CrossingPtBasedLinearizationPointFinder.h.

const RecTracksDistanceMatrix* CrossingPtBasedLinearizationPointFinder::theMatrix
protected

Definition at line 61 of file CrossingPtBasedLinearizationPointFinder.h.

signed int CrossingPtBasedLinearizationPointFinder::theNPairs
protected

Definition at line 60 of file CrossingPtBasedLinearizationPointFinder.h.

const bool CrossingPtBasedLinearizationPointFinder::useMatrix
protected

Definition at line 57 of file CrossingPtBasedLinearizationPointFinder.h.