CMS 3D CMS Logo

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

#include <ConfigurableVertexFitter.h>

Inheritance diagram for ConfigurableVertexFitter:
VertexFitter< 5 >

Public Types

typedef CachingVertex
< 5 >::RefCountedVertexTrack 
RefCountedVertexTrack
 

Public Member Functions

ConfigurableVertexFitterclone () const
 
 ConfigurableVertexFitter (const edm::ParameterSet &)
 
 ConfigurableVertexFitter (const ConfigurableVertexFitter &o)
 
CachingVertex< 5 > vertex (const std::vector< reco::TransientTrack > &t) const
 
CachingVertex< 5 > vertex (const std::vector< RefCountedVertexTrack > &tracks) const
 
CachingVertex< 5 > vertex (const std::vector< RefCountedVertexTrack > &tracks, const reco::BeamSpot &spot) const
 
CachingVertex< 5 > vertex (const std::vector< reco::TransientTrack > &tracks, const GlobalPoint &linPoint) const
 
CachingVertex< 5 > vertex (const std::vector< reco::TransientTrack > &tracks, const GlobalPoint &priorPos, const GlobalError &priorError) const
 
CachingVertex< 5 > vertex (const std::vector< reco::TransientTrack > &tracks, const reco::BeamSpot &beamSpot) const
 
CachingVertex< 5 > vertex (const std::vector< RefCountedVertexTrack > &tracks, const GlobalPoint &priorPos, const GlobalError &priorError) const
 
 ~ConfigurableVertexFitter ()
 
- Public Member Functions inherited from VertexFitter< 5 >
virtual CachingVertex< Nvertex (const std::vector< typename CachingVertex< N >::RefCountedVertexTrack > &tracks) const =0
 
virtual CachingVertex< Nvertex (const std::vector< typename CachingVertex< N >::RefCountedVertexTrack > &tracks, const reco::BeamSpot &spot) const =0
 
virtual CachingVertex< Nvertex (const std::vector< typename CachingVertex< N >::RefCountedVertexTrack > &tracks, const GlobalPoint &priorPos, const GlobalError &priorError) const =0
 
 VertexFitter ()
 
virtual ~VertexFitter ()
 

Private Attributes

AbstractConfFittertheFitter
 

Detailed Description

A VertexFitter whose concrete implementation (kalman filter, adaptive method, etc.) is completely definable at runtime via a ParameterSet. Note that every fitter registers as a finder, also.

Definition at line 17 of file ConfigurableVertexFitter.h.

Member Typedef Documentation

Definition at line 21 of file ConfigurableVertexFitter.h.

Constructor & Destructor Documentation

ConfigurableVertexFitter::ConfigurableVertexFitter ( const edm::ParameterSet p)

Definition at line 23 of file ConfigurableVertexFitter.cc.

References VertexFitterManager::get(), edm::ParameterSet::getParameter(), VertexFitterManager::Instance(), and theFitter.

Referenced by clone().

24  : theFitter ( 0 )
25 {
26  string fitter=p.getParameter<string>("fitter");
27  theFitter = VertexFitterManager::Instance().get ( fitter ).release();
28  if (!theFitter)
29  {
30  errorNoFitter ( fitter );
31  }
32  theFitter->configure ( p );
33 }
T getParameter(std::string const &) const
std::unique_ptr< AbstractConfFitter > get(const std::string &) const
static VertexFitterManager & Instance()
ConfigurableVertexFitter::ConfigurableVertexFitter ( const ConfigurableVertexFitter o)

Definition at line 41 of file ConfigurableVertexFitter.cc.

41  :
42  theFitter ( o.theFitter->clone() )
43 {}
AbstractConfFitter * clone() const =0
ConfigurableVertexFitter::~ConfigurableVertexFitter ( )

Definition at line 35 of file ConfigurableVertexFitter.cc.

References theFitter.

36 {
37  delete theFitter;
38 }

Member Function Documentation

ConfigurableVertexFitter * ConfigurableVertexFitter::clone ( void  ) const
virtual

Fit vertex out of a VertexSeed

Implements VertexFitter< 5 >.

Definition at line 46 of file ConfigurableVertexFitter.cc.

References ConfigurableVertexFitter().

47 {
48  return new ConfigurableVertexFitter ( *this );
49 }
ConfigurableVertexFitter(const edm::ParameterSet &)
CachingVertex< 5 > ConfigurableVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks) const
virtual

Fit vertex out of a set of TransientTracks

Implements VertexFitter< 5 >.

Definition at line 52 of file ConfigurableVertexFitter.cc.

References theFitter, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy(), and Tau.Tau::dz().

54 {
55  return theFitter->vertex ( t );
56 }
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const
CachingVertex< 5 > ConfigurableVertexFitter::vertex ( const std::vector< RefCountedVertexTrack > &  tracks) const

Definition at line 58 of file ConfigurableVertexFitter.cc.

References theFitter, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy(), and Tau.Tau::dz().

60 {
61  return theFitter->vertex ( tracks );
62 }
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const
tuple tracks
Definition: testEve_cfg.py:39
CachingVertex< 5 > ConfigurableVertexFitter::vertex ( const std::vector< RefCountedVertexTrack > &  tracks,
const reco::BeamSpot spot 
) const

Definition at line 64 of file ConfigurableVertexFitter.cc.

References theFitter, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy(), and Tau.Tau::dz().

67 {
68  return theFitter->vertex ( tracks, spot );
69 }
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const
tuple tracks
Definition: testEve_cfg.py:39
CachingVertex< 5 > ConfigurableVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks,
const GlobalPoint linPoint 
) const
virtual

Fit vertex out of a set of TransientTracks. The specified point will be used as linearization point, but will NOT be used as prior.

Implements VertexFitter< 5 >.

Definition at line 72 of file ConfigurableVertexFitter.cc.

References theFitter, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy(), and Tau.Tau::dz().

74 {
75  return theFitter->vertex ( tracks, linPoint );
76 }
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const
tuple tracks
Definition: testEve_cfg.py:39
CachingVertex< 5 > ConfigurableVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks,
const GlobalPoint priorPos,
const GlobalError priorError 
) const
virtual

Fit vertex out of a set of TransientTracks. Uses the specified point as both the linearization point AND as prior estimate of the vertex position. The error is used for the weight of the prior estimate.

Implements VertexFitter< 5 >.

Definition at line 78 of file ConfigurableVertexFitter.cc.

References theFitter, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy(), and Tau.Tau::dz().

81 {
82  return theFitter->vertex ( tracks, priorPos, priorError );
83 }
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const
tuple tracks
Definition: testEve_cfg.py:39
CachingVertex< 5 > ConfigurableVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks,
const reco::BeamSpot beamSpot 
) const
virtual

Fit vertex out of a set of TransientTracks. The specified BeamSpot will be used as priot, but NOT for the linearization. The specified LinearizationPointFinder will be used to find the linearization point.

Implements VertexFitter< 5 >.

Definition at line 85 of file ConfigurableVertexFitter.cc.

References theFitter, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy(), and Tau.Tau::dz().

87 {
88  return theFitter->vertex ( tracks, beamSpot );
89 }
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const
tuple tracks
Definition: testEve_cfg.py:39
CachingVertex< 5 > ConfigurableVertexFitter::vertex ( const std::vector< RefCountedVertexTrack > &  tracks,
const GlobalPoint priorPos,
const GlobalError priorError 
) const

Definition at line 91 of file ConfigurableVertexFitter.cc.

References theFitter, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy(), and Tau.Tau::dz().

93 {
94  return theFitter->vertex ( tracks, priorPos, priorError );
95 }
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const
tuple tracks
Definition: testEve_cfg.py:39

Member Data Documentation

AbstractConfFitter* ConfigurableVertexFitter::theFitter
private