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

◆ RefCountedVertexTrack

Definition at line 19 of file ConfigurableVertexFitter.h.

Constructor & Destructor Documentation

◆ ConfigurableVertexFitter() [1/2]

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

Definition at line 19 of file ConfigurableVertexFitter.cc.

References AbstractConfFitter::configure(), VertexFitterManager::get(), VertexFitterManager::Instance(), AlCaHLTBitMon_ParallelJobs::p, and theFitter.

Referenced by clone().

19  : theFitter(nullptr) {
20  string fitter = p.getParameter<string>("fitter");
21  theFitter = VertexFitterManager::Instance().get(fitter).release();
22  if (!theFitter) {
23  errorNoFitter(fitter);
24  }
26 }
virtual void configure(const edm::ParameterSet &)=0
std::unique_ptr< AbstractConfFitter > get(const std::string &) const
static VertexFitterManager & Instance()

◆ ConfigurableVertexFitter() [2/2]

ConfigurableVertexFitter::ConfigurableVertexFitter ( const ConfigurableVertexFitter o)

Definition at line 30 of file ConfigurableVertexFitter.cc.

31  : theFitter(o.theFitter->clone()) {}

◆ ~ConfigurableVertexFitter()

ConfigurableVertexFitter::~ConfigurableVertexFitter ( )
override

Definition at line 28 of file ConfigurableVertexFitter.cc.

References theFitter.

28 { delete theFitter; }

Member Function Documentation

◆ clone()

ConfigurableVertexFitter * ConfigurableVertexFitter::clone ( void  ) const
overridevirtual

Fit vertex out of a VertexSeed

Implements VertexFitter< 5 >.

Definition at line 33 of file ConfigurableVertexFitter.cc.

References ConfigurableVertexFitter().

33 { return new ConfigurableVertexFitter(*this); }
ConfigurableVertexFitter(const edm::ParameterSet &)

◆ vertex() [1/7]

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 35 of file ConfigurableVertexFitter.cc.

References submitPVValidationJobs::t, theFitter, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy().

35  {
36  return theFitter->vertex(t);
37 }
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const override

◆ vertex() [2/7]

CachingVertex< 5 > ConfigurableVertexFitter::vertex ( const std::vector< RefCountedVertexTrack > &  tracks) const
override

Definition at line 39 of file ConfigurableVertexFitter.cc.

References theFitter, tracks, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy().

39  {
40  return theFitter->vertex(tracks);
41 }
auto const & tracks
cannot be loose
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const override

◆ vertex() [3/7]

CachingVertex< 5 > ConfigurableVertexFitter::vertex ( const std::vector< RefCountedVertexTrack > &  tracks,
const reco::BeamSpot spot 
) const
override

Definition at line 43 of file ConfigurableVertexFitter.cc.

References theFitter, tracks, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy().

44  {
45  return theFitter->vertex(tracks, spot);
46 }
auto const & tracks
cannot be loose
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const override

◆ vertex() [4/7]

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 48 of file ConfigurableVertexFitter.cc.

References theFitter, tracks, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy().

49  {
50  return theFitter->vertex(tracks, linPoint);
51 }
auto const & tracks
cannot be loose
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const override

◆ vertex() [5/7]

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 53 of file ConfigurableVertexFitter.cc.

References theFitter, tracks, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy().

55  {
56  return theFitter->vertex(tracks, priorPos, priorError);
57 }
auto const & tracks
cannot be loose
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const override

◆ vertex() [6/7]

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 59 of file ConfigurableVertexFitter.cc.

References pwdgSkimBPark_cfi::beamSpot, theFitter, tracks, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy().

60  {
61  return theFitter->vertex(tracks, beamSpot);
62 }
auto const & tracks
cannot be loose
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const override

◆ vertex() [7/7]

CachingVertex< 5 > ConfigurableVertexFitter::vertex ( const std::vector< RefCountedVertexTrack > &  tracks,
const GlobalPoint priorPos,
const GlobalError priorError 
) const
override

Definition at line 64 of file ConfigurableVertexFitter.cc.

References theFitter, tracks, and AbstractConfFitter::vertex().

Referenced by Tau.Tau::dxy().

66  {
67  return theFitter->vertex(tracks, priorPos, priorError);
68 }
auto const & tracks
cannot be loose
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const override

Member Data Documentation

◆ theFitter

AbstractConfFitter* ConfigurableVertexFitter::theFitter
private