CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

AdaptiveGsfVertexFitter Class Reference

#include <AdaptiveGsfVertexFitter.h>

Inheritance diagram for AdaptiveGsfVertexFitter:
VertexFitter< 5 >

List of all members.

Public Types

typedef CachingVertex
< 5 >::RefCountedVertexTrack 
RefCountedVertexTrack

Public Member Functions

 AdaptiveGsfVertexFitter (const edm::ParameterSet &pSet, const LinearizationPointFinder &linP=DefaultLinearizationPointFinder())
 AdaptiveGsfVertexFitter (const AdaptiveGsfVertexFitter &original)
AdaptiveGsfVertexFitterclone () 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 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 reco::BeamSpot &beamSpot) const
virtual CachingVertex< 5 > vertex (const std::vector< RefCountedVertexTrack > &tracks, const GlobalPoint &priorPos, const GlobalError &priorError) const
virtual ~AdaptiveGsfVertexFitter ()

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


Member Typedef Documentation

Definition at line 20 of file AdaptiveGsfVertexFitter.h.


Constructor & Destructor Documentation

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 10 of file AdaptiveGsfVertexFitter.cc.

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

Referenced by clone().

{

  bool limitComponents_ = pSet.getParameter<bool>("limitComponents");

  DeepCopyPointerByClone<GsfVertexMerger> theMerger;

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

  theFitter = new AdaptiveVertexFitter(
      GeometricAnnealing(),
      linP,
      GsfVertexUpdator(limitComponents_, &*theMerger),
      GsfVertexTrackCompatibilityEstimator(),
      GsfVertexSmoother(limitComponents_, &*theMerger),
      MultiPerigeeLTSFactory() );
  theFitter->gsfIntermediarySmoothing(true);

  theFitter->setParameters ( pSet.getParameter<double>("maxshift"),
                    pSet.getParameter<double>("maxlpshift"),
                    pSet.getParameter<int>("maxstep"),
                    pSet.getParameter<double>("weightthreshold") );

}
AdaptiveGsfVertexFitter::~AdaptiveGsfVertexFitter ( ) [virtual]

Definition at line 54 of file AdaptiveGsfVertexFitter.cc.

References theFitter.

{
  delete theFitter;
}
AdaptiveGsfVertexFitter::AdaptiveGsfVertexFitter ( const AdaptiveGsfVertexFitter original)

Copy constructor

Definition at line 49 of file AdaptiveGsfVertexFitter.cc.

References AdaptiveVertexFitter::clone(), and theFitter.

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

Member Function Documentation

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

Fit vertex out of a VertexSeed

Implements VertexFitter< 5 >.

Definition at line 38 of file AdaptiveGsfVertexFitter.h.

References AdaptiveGsfVertexFitter().

                                          {
    return new AdaptiveGsfVertexFitter(* this);
  }
virtual CachingVertex<5> AdaptiveGsfVertexFitter::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 106 of file AdaptiveGsfVertexFitter.h.

References theFitter, and AdaptiveVertexFitter::vertex().

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

Definition at line 95 of file AdaptiveGsfVertexFitter.h.

References theFitter, and AdaptiveVertexFitter::vertex().

  {
    return theFitter->vertex(tracks, spot );
  }
virtual CachingVertex<5> AdaptiveGsfVertexFitter::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 87 of file AdaptiveGsfVertexFitter.h.

References theFitter, and AdaptiveVertexFitter::vertex().

  {
    return theFitter->vertex(tracks, priorPos, priorError);
  }
virtual CachingVertex<5> AdaptiveGsfVertexFitter::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 75 of file AdaptiveGsfVertexFitter.h.

References theFitter, and AdaptiveVertexFitter::vertex().

  {
    return theFitter->vertex(tracks, beamSpot);
  }
virtual CachingVertex<5> AdaptiveGsfVertexFitter::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 64 of file AdaptiveGsfVertexFitter.h.

References theFitter, and AdaptiveVertexFitter::vertex().

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

Fit vertex out of a set of VertexTracks

Definition at line 55 of file AdaptiveGsfVertexFitter.h.

References theFitter, and AdaptiveVertexFitter::vertex().

  {
    return theFitter->vertex(tracks);
  }
virtual CachingVertex<5> AdaptiveGsfVertexFitter::vertex ( const std::vector< reco::TransientTrack > &  tracks) const [inline, virtual]

Fit vertex out of a set of RecTracks

Implements VertexFitter< 5 >.

Definition at line 47 of file AdaptiveGsfVertexFitter.h.

References theFitter, and AdaptiveVertexFitter::vertex().

  {
    return theFitter->vertex(tracks);
  }

Member Data Documentation