CMS 3D CMS Logo

SingleTrackVertexConstraint.h

Go to the documentation of this file.
00001 #ifndef SingleTrackVertexConstraint_H
00002 #define SingleTrackVertexConstraint_H
00003 
00004 #include "RecoVertex/KalmanVertexFit/interface/KalmanVertexUpdator.h"
00005 #include "RecoVertex/VertexPrimitives/interface/VertexSmoother.h"
00006 #include "RecoVertex/KalmanVertexFit/interface/KalmanVertexTrackUpdator.h"
00007 
00008 #include "RecoVertex/VertexTools/interface/LinearizedTrackStateFactory.h"
00009 #include "RecoVertex/VertexTools/interface/VertexTrackFactory.h"
00010 #include "TrackingTools/TransientTrack/interface/TransientTrackFromFTSFactory.h"
00011 
00020 class SingleTrackVertexConstraint {
00021 
00022 public:
00023 
00024   typedef std::pair<reco::TransientTrack, float> TrackFloatPair;
00029   TrackFloatPair constrain(const reco::TransientTrack & track,
00030         const GlobalPoint& priorPos, const GlobalError& priorError) const;
00031 
00036   TrackFloatPair constrain(const FreeTrajectoryState & fts,
00037         const GlobalPoint& priorPos, const GlobalError& priorError) const;
00038 
00043   TrackFloatPair constrain(const reco::TransientTrack & track,
00044         const VertexState priorVertex) const;
00045 
00049   TrackFloatPair constrain(const reco::TransientTrack & track,
00050         const reco::BeamSpot & spot ) const;
00051 
00052 
00056   TrackFloatPair constrain(const FreeTrajectoryState & fts,
00057         const reco::BeamSpot & spot) const;
00058 
00059 
00060 
00061   SingleTrackVertexConstraint * clone() const {
00062     return new SingleTrackVertexConstraint(* this);
00063   }
00064 
00065 private:
00066 
00067   KalmanVertexUpdator<5> vertexUpdator;
00068   KalmanVertexTrackUpdator<5> theVertexTrackUpdator;
00069 
00070   LinearizedTrackStateFactory theLTrackFactory;
00071   VertexTrackFactory<5> theVTrackFactory;
00072   TransientTrackFromFTSFactory ttFactory;
00073 
00074 };
00075 
00076 #endif

Generated on Tue Jun 9 17:46:06 2009 for CMSSW by  doxygen 1.5.4