test
CMS 3D CMS Logo

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

#include <FsmwLinearizationPointFinder.h>

Inheritance diagram for FsmwLinearizationPointFinder:
CrossingPtBasedLinearizationPointFinder LinearizationPointFinder DefaultLinearizationPointFinder

Public Member Functions

virtual
FsmwLinearizationPointFinder
clone () const
 
 FsmwLinearizationPointFinder (signed int n_pairs=250, float weight_exp=-2., float fraction=.5, float cut=10, int no_weight_above=10)
 
 FsmwLinearizationPointFinder (const RecTracksDistanceMatrix *m, signed int n_pairs=250, float weight_exp=-2., float fraction=.5, float cut=10, int no_weight_above=10)
 
- Public Member Functions inherited from CrossingPtBasedLinearizationPointFinder
 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 ()
 

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

Definition at line 23 of file FsmwLinearizationPointFinder.h.

Constructor & Destructor Documentation

FsmwLinearizationPointFinder::FsmwLinearizationPointFinder ( signed int  n_pairs = 250,
float  weight_exp = -2.,
float  fraction = .5,
float  cut = 10,
int  no_weight_above = 10 
)
Parameters
n_pairshow many track pairs are considered The weight is defined as w = ( d + cut )^weight_exp Where d and cut are given in microns.
weight_expexponent of the weight function
cutcut parameter of the weight function
fractionFraction that is considered

Definition at line 4 of file FsmwLinearizationPointFinder.cc.

Referenced by clone().

5  :
7 { }
CrossingPtBasedLinearizationPointFinder(const ModeFinder3d &algo, const signed int n_pairs=5)
FsmwLinearizationPointFinder::FsmwLinearizationPointFinder ( const RecTracksDistanceMatrix m,
signed int  n_pairs = 250,
float  weight_exp = -2.,
float  fraction = .5,
float  cut = 10,
int  no_weight_above = 10 
)

Definition at line 9 of file FsmwLinearizationPointFinder.cc.

11  :
13  FsmwModeFinder3d( frac,we,cut,nwa ), n_pairs )
14 { }
CrossingPtBasedLinearizationPointFinder(const ModeFinder3d &algo, const signed int n_pairs=5)

Member Function Documentation

FsmwLinearizationPointFinder * FsmwLinearizationPointFinder::clone ( ) const
virtual

Clone method

Reimplemented from CrossingPtBasedLinearizationPointFinder.

Definition at line 16 of file FsmwLinearizationPointFinder.cc.

References FsmwLinearizationPointFinder().

18 {
19  return new FsmwLinearizationPointFinder ( * this );
20 }
FsmwLinearizationPointFinder(signed int n_pairs=250, float weight_exp=-2., float fraction=.5, float cut=10, int no_weight_above=10)