Go to the documentation of this file.00001 #ifndef TransientTrackKinematicStateBuilder_H
00002 #define TransientTrackKinematicStateBuilder_H
00003
00004 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicState.h"
00005 #include "RecoVertex/KinematicFitPrimitives/interface/TrackKinematicStatePropagator.h"
00006 #include "RecoVertex/KinematicFitPrimitives/interface/PerigeeKinematicState.h"
00007 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
00008 #include "RecoVertex/KinematicFitPrimitives/interface/ParticleMass.h"
00009 #include "MagneticField/Engine/interface/MagneticField.h"
00010
00016 class TransientTrackKinematicStateBuilder
00017 {
00018
00019 public:
00020 TransientTrackKinematicStateBuilder(){}
00021
00022 ~TransientTrackKinematicStateBuilder(){}
00023
00028 KinematicState operator()(const reco::TransientTrack& track, const ParticleMass& m, float m_sigma) const ;
00029
00030
00031
00036 KinematicState operator()(const KinematicParameters& par,
00037 const KinematicParametersError& er, const TrackCharge& ch,
00038 const MagneticField* field) const;
00039
00045 KinematicState operator()(const reco::TransientTrack& track, const GlobalPoint& point, const ParticleMass& m,
00046 float m_sigma) const;
00047
00053 KinematicState operator()(const FreeTrajectoryState& state, const ParticleMass& mass,
00054 float m_sigma) const;
00055
00061 KinematicState operator()(const FreeTrajectoryState& state, const ParticleMass& mass,
00062 float m_sigma, const GlobalPoint& point) const;
00063
00064 PerigeeKinematicState operator()(const KinematicState& state, const GlobalPoint& point)const;
00065
00066 private:
00067
00068 KinematicState buildState(const FreeTrajectoryState & state, const ParticleMass& mass,
00069 float m_sigma)const;
00070
00071
00072
00073
00074 TrackKinematicStatePropagator propagator;
00075
00076 };
00077 #endif