CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

GsfVertexFitter Class Reference

#include <GsfVertexFitter.h>

Inheritance diagram for GsfVertexFitter:
VertexFitter< 5 >

List of all members.

Public Types

typedef CachingVertex
< 5 >::RefCountedVertexTrack 
RefCountedVertexTrack

Public Member Functions

GsfVertexFitterclone () const
 GsfVertexFitter (const edm::ParameterSet &pSet, const LinearizationPointFinder &linP=DefaultLinearizationPointFinder())
 GsfVertexFitter (const GsfVertexFitter &original)
virtual CachingVertex< 5 > vertex (const std::vector< reco::TransientTrack > &tracks, const reco::BeamSpot &beamSpot) const
virtual CachingVertex< 5 > vertex (const std::vector< RefCountedVertexTrack > &tracks, const GlobalPoint &priorPos, const GlobalError &priorError) const
virtual CachingVertex< 5 > vertex (const std::vector< reco::TransientTrack > &tracks, const GlobalPoint &linPoint) const
virtual CachingVertex< 5 > vertex (const std::vector< RefCountedVertexTrack > &tracks) const
virtual CachingVertex< 5 > vertex (const std::vector< reco::TransientTrack > &tracks) const
virtual CachingVertex< 5 > vertex (const std::vector< reco::TransientTrack > &tracks, const GlobalPoint &priorPos, const GlobalError &priorError) const
virtual CachingVertex< 5 > vertex (const std::vector< RefCountedVertexTrack > &tracks, const reco::BeamSpot &spot) const
virtual ~GsfVertexFitter ()

Private Attributes

SequentialVertexFitter< 5 > * theSequentialFitter

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 21 of file GsfVertexFitter.h.


Member Typedef Documentation

Definition at line 25 of file GsfVertexFitter.h.


Constructor & Destructor Documentation

GsfVertexFitter::GsfVertexFitter ( 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.

Definition at line 8 of file GsfVertexFitter.cc.

References edm::ParameterSet::getParameter(), and theSequentialFitter.

Referenced by clone().

{
  float theMaxShift = pSet.getParameter<double>("maxDistance"); //0.01
  int theMaxStep = pSet.getParameter<int>("maxNbrOfIterations"); //10
  bool limitComponents_ = pSet.getParameter<bool>("limitComponents");
  bool useSmoothing = pSet.getParameter<bool>("smoothTracks");

  VertexSmoother<5> * theSmoother;
  DeepCopyPointerByClone<GsfVertexMerger> theMerger;

  if (limitComponents_) {
    edm::ParameterSet mergerPSet = pSet.getParameter<edm::ParameterSet>("GsfMergerParameters");
    theMerger = new GsfVertexMerger(mergerPSet);
  }

  if (useSmoothing) theSmoother = new GsfVertexSmoother(limitComponents_, &*theMerger);
    else theSmoother = new DummyVertexSmoother<5>();

  theSequentialFitter = new SequentialVertexFitter<5>(linP, 
        GsfVertexUpdator(limitComponents_, &*theMerger),
        *theSmoother, MultiPerigeeLTSFactory());
  theSequentialFitter->setMaximumDistance(theMaxShift);
  theSequentialFitter->setMaximumNumberOfIterations(theMaxStep);

  delete theSmoother;
 }
GsfVertexFitter::~GsfVertexFitter ( ) [virtual]

Definition at line 41 of file GsfVertexFitter.cc.

References theSequentialFitter.

{
  delete theSequentialFitter;
}
GsfVertexFitter::GsfVertexFitter ( const GsfVertexFitter original)

Copy constructor

Definition at line 36 of file GsfVertexFitter.cc.

References SequentialVertexFitter< N >::clone(), and theSequentialFitter.


Member Function Documentation

GsfVertexFitter* GsfVertexFitter::clone ( void  ) const [inline, virtual]

Fit vertex out of a VertexSeed

Implements VertexFitter< 5 >.

Definition at line 43 of file GsfVertexFitter.h.

References GsfVertexFitter().

                                  {
    return new GsfVertexFitter(* this);
  }
virtual CachingVertex<5> GsfVertexFitter::vertex ( const std::vector< RefCountedVertexTrack > &  tracks,
const GlobalPoint priorPos,
const GlobalError priorError 
) const [inline, virtual]

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 110 of file GsfVertexFitter.h.

References theSequentialFitter, and SequentialVertexFitter< N >::vertex().

  {
    return theSequentialFitter->vertex(tracks, priorPos, priorError);
  }
virtual CachingVertex<5> GsfVertexFitter::vertex ( const std::vector< RefCountedVertexTrack > &  tracks,
const reco::BeamSpot spot 
) const [inline, virtual]

Definition at line 99 of file GsfVertexFitter.h.

References theSequentialFitter, and SequentialVertexFitter< N >::vertex().

  {
    return theSequentialFitter->vertex(tracks, spot );
  }
virtual CachingVertex<5> GsfVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks,
const reco::BeamSpot beamSpot 
) const [inline, 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 93 of file GsfVertexFitter.h.

References theSequentialFitter, and SequentialVertexFitter< N >::vertex().

  {
    return theSequentialFitter->vertex(tracks, beamSpot);
  }
virtual CachingVertex<5> GsfVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks,
const GlobalPoint priorPos,
const GlobalError priorError 
) const [inline, virtual]

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 81 of file GsfVertexFitter.h.

References theSequentialFitter, and SequentialVertexFitter< N >::vertex().

  {
    return theSequentialFitter->vertex(tracks, priorPos, priorError);
  }
virtual CachingVertex<5> GsfVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks,
const GlobalPoint linPoint 
) const [inline, virtual]

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

Implements VertexFitter< 5 >.

Definition at line 69 of file GsfVertexFitter.h.

References theSequentialFitter, and SequentialVertexFitter< N >::vertex().

  {
    return theSequentialFitter->vertex(tracks, linPoint);
  }
virtual CachingVertex<5> GsfVertexFitter::vertex ( const std::vector< RefCountedVertexTrack > &  tracks) const [inline, virtual]

Fit vertex out of a set of VertexTracks

Definition at line 60 of file GsfVertexFitter.h.

References theSequentialFitter, and SequentialVertexFitter< N >::vertex().

virtual CachingVertex<5> GsfVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks) const [inline, virtual]

Fit vertex out of a set of RecTracks

Implements VertexFitter< 5 >.

Definition at line 52 of file GsfVertexFitter.h.

References theSequentialFitter, and SequentialVertexFitter< N >::vertex().


Member Data Documentation

Definition at line 119 of file GsfVertexFitter.h.

Referenced by GsfVertexFitter(), vertex(), and ~GsfVertexFitter().