CMS 3D CMS Logo

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 override
 
 ConfigurableVertexFitter (const edm::ParameterSet &)
 
 ConfigurableVertexFitter (const ConfigurableVertexFitter &o)
 
CachingVertex< 5 > vertex (const std::vector< reco::TransientTrack > &t) const override
 
CachingVertex< 5 > vertex (const std::vector< RefCountedVertexTrack > &tracks) const override
 
CachingVertex< 5 > vertex (const std::vector< RefCountedVertexTrack > &tracks, const reco::BeamSpot &spot) const override
 
CachingVertex< 5 > vertex (const std::vector< reco::TransientTrack > &tracks, const GlobalPoint &linPoint) const override
 
CachingVertex< 5 > vertex (const std::vector< reco::TransientTrack > &tracks, const GlobalPoint &priorPos, const GlobalError &priorError) const override
 
CachingVertex< 5 > vertex (const std::vector< reco::TransientTrack > &tracks, const reco::BeamSpot &beamSpot) const override
 
CachingVertex< 5 > vertex (const std::vector< RefCountedVertexTrack > &tracks, const GlobalPoint &priorPos, const GlobalError &priorError) const override
 
 ~ConfigurableVertexFitter () override
 
- 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(), and ~ConfigurableVertexFitter().

24  : theFitter ( nullptr )
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 override=0
ConfigurableVertexFitter::~ConfigurableVertexFitter ( )
override

Definition at line 35 of file ConfigurableVertexFitter.cc.

References ConfigurableVertexFitter(), and theFitter.

36 {
37  delete theFitter;
38 }

Member Function Documentation

ConfigurableVertexFitter * ConfigurableVertexFitter::clone ( void  ) const
overridevirtual

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
overridevirtual

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().

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

Definition at line 58 of file ConfigurableVertexFitter.cc.

References theFitter, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy().

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

Definition at line 64 of file ConfigurableVertexFitter.cc.

References theFitter, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy().

67 {
68  return theFitter->vertex ( tracks, spot );
69 }
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const override
CachingVertex< 5 > ConfigurableVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks,
const GlobalPoint linPoint 
) const
overridevirtual

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().

74 {
75  return theFitter->vertex ( tracks, linPoint );
76 }
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const override
CachingVertex< 5 > ConfigurableVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks,
const GlobalPoint priorPos,
const GlobalError priorError 
) const
overridevirtual

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().

81 {
82  return theFitter->vertex ( tracks, priorPos, priorError );
83 }
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const override
CachingVertex< 5 > ConfigurableVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks,
const reco::BeamSpot beamSpot 
) const
overridevirtual

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().

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

Definition at line 91 of file ConfigurableVertexFitter.cc.

References theFitter, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy().

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

Member Data Documentation

AbstractConfFitter* ConfigurableVertexFitter::theFitter
private