CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/RecoVertex/KalmanVertexFit/interface/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 #include "boost/tuple/tuple.hpp"
00020 class SingleTrackVertexConstraint {
00021 
00022 public:
00023 
00024   typedef std::pair<reco::TransientTrack, float> TrackFloatPair;
00025   typedef boost::tuple<bool, reco::TransientTrack, float> BTFtuple;
00026 
00027   SingleTrackVertexConstraint(bool doTrackerBoundCheck = true) : 
00028         doTrackerBoundCheck_(doTrackerBoundCheck){}
00029 
00034   BTFtuple constrain(const reco::TransientTrack & track,
00035         const GlobalPoint& priorPos, const GlobalError& priorError) const;
00036 
00041   BTFtuple constrain(const FreeTrajectoryState & fts,
00042         const GlobalPoint& priorPos, const GlobalError& priorError) const;
00043 
00048   BTFtuple constrain(const reco::TransientTrack & track,
00049         const VertexState priorVertex) const;
00050 
00054   BTFtuple constrain(const reco::TransientTrack & track,
00055         const reco::BeamSpot & spot ) const;
00056 
00057 
00061   BTFtuple constrain(const FreeTrajectoryState & fts,
00062         const reco::BeamSpot & spot) const;
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   bool doTrackerBoundCheck_;
00074 
00075 };
00076 
00077 #endif