CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/RecoVertex/KinematicFitPrimitives/interface/TransientTrackKinematicStateBuilder.h

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