CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
AdaptiveGsfVertexFitter Class Reference

#include <AdaptiveGsfVertexFitter.h>

Inheritance diagram for AdaptiveGsfVertexFitter:
VertexFitter< 5 >

Public Types

typedef CachingVertex< 5 >::RefCountedVertexTrack RefCountedVertexTrack
 

Public Member Functions

 AdaptiveGsfVertexFitter (const AdaptiveGsfVertexFitter &original)
 
 AdaptiveGsfVertexFitter (const edm::ParameterSet &pSet, const LinearizationPointFinder &linP=DefaultLinearizationPointFinder())
 
AdaptiveGsfVertexFitterclone () const override
 
CachingVertex< 5 > vertex (const std::vector< reco::TransientTrack > &tracks) 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
 
 ~AdaptiveGsfVertexFitter () 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

AdaptiveVertexFittertheFitter
 

Detailed Description

Sequential vertex fitter, to be used with the Gaussian Sum Vertex Filter After the vertes fit, the tracks can be refit with the additional constraint of the vertex position.

Definition at line 15 of file AdaptiveGsfVertexFitter.h.

Member Typedef Documentation

◆ RefCountedVertexTrack

Definition at line 17 of file AdaptiveGsfVertexFitter.h.

Constructor & Destructor Documentation

◆ AdaptiveGsfVertexFitter() [1/2]

AdaptiveGsfVertexFitter::AdaptiveGsfVertexFitter ( const edm::ParameterSet pSet,
const LinearizationPointFinder linP = DefaultLinearizationPointFinder() 
)

Default constructor, using the given linearization point finder.

Parameters
linPThe LinearizationPointFinder to use
useSmoothingSpecifies whether the tracks sould be refit.

Reads the configurable parameters.

Parameters
maxshiftif the vertex moves further than this (in cm), then we re-iterate.
maxlpshiftif the vertex moves further than this, then we re-linearize the tracks.
maxstepthat's the maximum of iterations that we allow for.
weightthresholdthat's the minimum track weight for a track to be considered "significant". If fewer than two tracks are significant, an exception is thrown.

Definition at line 8 of file AdaptiveGsfVertexFitter.cc.

8  {
9  bool limitComponents_ = pSet.getParameter<bool>("limitComponents");
10 
12 
13  if (limitComponents_) {
14  theMerger = new GsfVertexMerger(pSet.getParameter<edm::ParameterSet>("GsfMergerParameters"));
15  }
16 
18  linP,
19  GsfVertexUpdator(limitComponents_, &*theMerger),
21  GsfVertexSmoother(limitComponents_, &*theMerger),
24 
36  theFitter->setParameters(pSet.getParameter<double>("maxshift"),
37  pSet.getParameter<double>("maxlpshift"),
38  pSet.getParameter<int>("maxstep"),
39  pSet.getParameter<double>("weightthreshold"));
40 }

References edm::ParameterSet::getParameter(), AdaptiveVertexFitter::gsfIntermediarySmoothing(), AdaptiveVertexFitter::setParameters(), and theFitter.

Referenced by clone().

◆ ~AdaptiveGsfVertexFitter()

AdaptiveGsfVertexFitter::~AdaptiveGsfVertexFitter ( )
override

Definition at line 46 of file AdaptiveGsfVertexFitter.cc.

46 { delete theFitter; }

References theFitter.

◆ AdaptiveGsfVertexFitter() [2/2]

AdaptiveGsfVertexFitter::AdaptiveGsfVertexFitter ( const AdaptiveGsfVertexFitter original)

Copy constructor

Definition at line 42 of file AdaptiveGsfVertexFitter.cc.

42  {
43  theFitter = original.theFitter->clone();
44 }

References definitions::original, and theFitter.

Member Function Documentation

◆ clone()

AdaptiveGsfVertexFitter* AdaptiveGsfVertexFitter::clone ( void  ) const
inlineoverridevirtual

Fit vertex out of a VertexSeed

Implements VertexFitter< 5 >.

Definition at line 35 of file AdaptiveGsfVertexFitter.h.

35 { return new AdaptiveGsfVertexFitter(*this); }

References AdaptiveGsfVertexFitter().

◆ vertex() [1/7]

CachingVertex<5> AdaptiveGsfVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks) const
inlineoverridevirtual

Fit vertex out of a set of RecTracks

Implements VertexFitter< 5 >.

Definition at line 40 of file AdaptiveGsfVertexFitter.h.

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

References theFitter, PDWG_EXOHSCP_cff::tracks, and AdaptiveVertexFitter::vertex().

Referenced by Tau.Tau::dxy().

◆ vertex() [2/7]

CachingVertex<5> AdaptiveGsfVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks,
const GlobalPoint linPoint 
) const
inlineoverridevirtual

Fit vertex out of a set of RecTracks. Uses the specified linearization point.

Implements VertexFitter< 5 >.

Definition at line 53 of file AdaptiveGsfVertexFitter.h.

54  {
55  return theFitter->vertex(tracks, linPoint);
56  }

References theFitter, PDWG_EXOHSCP_cff::tracks, and AdaptiveVertexFitter::vertex().

Referenced by Tau.Tau::dxy().

◆ vertex() [3/7]

CachingVertex<5> AdaptiveGsfVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks,
const GlobalPoint priorPos,
const GlobalError priorError 
) const
inlineoverridevirtual

Fit vertex out of a set of RecTracks. 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 72 of file AdaptiveGsfVertexFitter.h.

74  {
75  return theFitter->vertex(tracks, priorPos, priorError);
76  }

References theFitter, PDWG_EXOHSCP_cff::tracks, and AdaptiveVertexFitter::vertex().

Referenced by Tau.Tau::dxy().

◆ vertex() [4/7]

CachingVertex<5> AdaptiveGsfVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks,
const reco::BeamSpot beamSpot 
) const
inlineoverridevirtual

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 62 of file AdaptiveGsfVertexFitter.h.

63  {
64  return theFitter->vertex(tracks, beamSpot);
65  }

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

Referenced by Tau.Tau::dxy().

◆ vertex() [5/7]

CachingVertex<5> AdaptiveGsfVertexFitter::vertex ( const std::vector< RefCountedVertexTrack > &  tracks) const
inlineoverride

Fit vertex out of a set of VertexTracks

Definition at line 46 of file AdaptiveGsfVertexFitter.h.

46  {
47  return theFitter->vertex(tracks);
48  }

References theFitter, PDWG_EXOHSCP_cff::tracks, and AdaptiveVertexFitter::vertex().

Referenced by Tau.Tau::dxy().

◆ vertex() [6/7]

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

Fit vertex out of a set of VertexTracks. Uses the specified point and error as the prior estimate of the vertex. This position is not used to relinearize the tracks.

Definition at line 87 of file AdaptiveGsfVertexFitter.h.

89  {
90  return theFitter->vertex(tracks, priorPos, priorError);
91  }

References theFitter, PDWG_EXOHSCP_cff::tracks, and AdaptiveVertexFitter::vertex().

Referenced by Tau.Tau::dxy().

◆ vertex() [7/7]

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

Definition at line 78 of file AdaptiveGsfVertexFitter.h.

79  {
80  return theFitter->vertex(tracks, spot);
81  }

References theFitter, PDWG_EXOHSCP_cff::tracks, and AdaptiveVertexFitter::vertex().

Referenced by Tau.Tau::dxy().

Member Data Documentation

◆ theFitter

AdaptiveVertexFitter* AdaptiveGsfVertexFitter::theFitter
private
AdaptiveVertexFitter
Definition: AdaptiveVertexFitter.h:29
MultiPerigeeLTSFactory
Definition: MultiPerigeeLTSFactory.h:18
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition: pwdgSkimBPark_cfi.py:5
AdaptiveVertexFitter::gsfIntermediarySmoothing
void gsfIntermediarySmoothing(bool sm)
Definition: AdaptiveVertexFitter.h:135
GsfVertexSmoother
Definition: GsfVertexSmoother.h:21
AdaptiveVertexFitter::vertex
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &) const override
Definition: AdaptiveVertexFitter.cc:158
DeepCopyPointerByClone< GsfVertexMerger >
AdaptiveVertexFitter::setParameters
void setParameters(double maxshift=0.0001, double maxlpshift=0.1, unsigned maxstep=30, double weightthreshold=.001)
Definition: AdaptiveVertexFitter.cc:144
edm::ParameterSet
Definition: ParameterSet.h:36
definitions.original
original
Definition: definitions.py:57
GeometricAnnealing
Definition: GeometricAnnealing.h:7
GsfVertexMerger
Definition: GsfVertexMerger.h:15
AdaptiveGsfVertexFitter::AdaptiveGsfVertexFitter
AdaptiveGsfVertexFitter(const edm::ParameterSet &pSet, const LinearizationPointFinder &linP=DefaultLinearizationPointFinder())
Definition: AdaptiveGsfVertexFitter.cc:8
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
GsfVertexUpdator
Definition: GsfVertexUpdator.h:14
GsfVertexTrackCompatibilityEstimator
Definition: GsfVertexTrackCompatibilityEstimator.h:24
AdaptiveGsfVertexFitter::theFitter
AdaptiveVertexFitter * theFitter
Definition: AdaptiveGsfVertexFitter.h:94