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 ConfigurableVertexFitter &o)
 
 ConfigurableVertexFitter (const edm::ParameterSet &)
 
CachingVertex< 5 > vertex (const std::vector< reco::TransientTrack > &t) 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 override
 
CachingVertex< 5 > vertex (const std::vector< RefCountedVertexTrack > &tracks, const GlobalPoint &priorPos, const GlobalError &priorError) const override
 
CachingVertex< 5 > vertex (const std::vector< RefCountedVertexTrack > &tracks, const reco::BeamSpot &spot) 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 GlobalPoint &priorPos, const GlobalError &priorError) const=0
 
virtual CachingVertex< Nvertex (const std::vector< typename CachingVertex< N >::RefCountedVertexTrack > &tracks, const reco::BeamSpot &spot) 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.

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 }

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

Referenced by clone().

◆ 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.

28 { delete theFitter; }

References 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.

33 { return new ConfigurableVertexFitter(*this); }

References ConfigurableVertexFitter().

◆ 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.

35  {
36  return theFitter->vertex(t);
37 }

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

Referenced by Tau.Tau::dxy().

◆ vertex() [2/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.

49  {
50  return theFitter->vertex(tracks, linPoint);
51 }

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

Referenced by Tau.Tau::dxy().

◆ vertex() [3/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.

55  {
56  return theFitter->vertex(tracks, priorPos, priorError);
57 }

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

Referenced by Tau.Tau::dxy().

◆ vertex() [4/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.

60  {
61  return theFitter->vertex(tracks, beamSpot);
62 }

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

Referenced by Tau.Tau::dxy().

◆ vertex() [5/7]

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

Definition at line 39 of file ConfigurableVertexFitter.cc.

39  {
40  return theFitter->vertex(tracks);
41 }

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

Referenced by Tau.Tau::dxy().

◆ vertex() [6/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.

66  {
67  return theFitter->vertex(tracks, priorPos, priorError);
68 }

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

Referenced by Tau.Tau::dxy().

◆ vertex() [7/7]

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

Definition at line 43 of file ConfigurableVertexFitter.cc.

44  {
45  return theFitter->vertex(tracks, spot);
46 }

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

Referenced by Tau.Tau::dxy().

Member Data Documentation

◆ theFitter

AbstractConfFitter* ConfigurableVertexFitter::theFitter
private
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition: pwdgSkimBPark_cfi.py:5
AbstractConfFitter::vertex
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &t) const override
Definition: AbstractConfFitter.cc:14
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
EcalTangentSkim_cfg.o
o
Definition: EcalTangentSkim_cfg.py:42
VertexFitterManager::get
std::unique_ptr< AbstractConfFitter > get(const std::string &) const
Definition: VertexFitterManager.cc:57
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition: CAHitNtupletGeneratorKernelsImpl.h:159
ConfigurableVertexFitter::ConfigurableVertexFitter
ConfigurableVertexFitter(const edm::ParameterSet &)
Definition: ConfigurableVertexFitter.cc:19
ConfigurableVertexFitter::theFitter
AbstractConfFitter * theFitter
Definition: ConfigurableVertexFitter.h:41
VertexFitterManager::Instance
static VertexFitterManager & Instance()
Definition: VertexFitterManager.cc:49
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
AbstractConfFitter::configure
virtual void configure(const edm::ParameterSet &)=0