File indexing completed on 2024-04-06 12:29:13
0001 #ifndef TransientTrackKinematicStateBuilder_H
0002 #define TransientTrackKinematicStateBuilder_H
0003
0004 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicState.h"
0005 #include "RecoVertex/KinematicFitPrimitives/interface/TrackKinematicStatePropagator.h"
0006 #include "RecoVertex/KinematicFitPrimitives/interface/PerigeeKinematicState.h"
0007 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
0008 #include "RecoVertex/KinematicFitPrimitives/interface/ParticleMass.h"
0009 #include "MagneticField/Engine/interface/MagneticField.h"
0010
0011
0012
0013
0014
0015
0016 class TransientTrackKinematicStateBuilder {
0017 public:
0018 TransientTrackKinematicStateBuilder() {}
0019
0020 ~TransientTrackKinematicStateBuilder() {}
0021
0022
0023
0024
0025
0026 KinematicState operator()(const reco::TransientTrack& track, const ParticleMass& m, float m_sigma) const;
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041 KinematicState operator()(const reco::TransientTrack& track,
0042 const GlobalPoint& point,
0043 const ParticleMass& m,
0044 float m_sigma) const;
0045
0046
0047
0048
0049
0050
0051 KinematicState operator()(const FreeTrajectoryState& state, const ParticleMass& mass, float m_sigma) const;
0052
0053
0054
0055
0056
0057
0058 KinematicState operator()(const FreeTrajectoryState& state,
0059 const ParticleMass& mass,
0060 float m_sigma,
0061 const GlobalPoint& point) const;
0062
0063 PerigeeKinematicState operator()(const KinematicState& state, const GlobalPoint& point) const;
0064
0065 private:
0066 KinematicState buildState(const FreeTrajectoryState& state, const ParticleMass& mass, float m_sigma) const;
0067
0068 TrackKinematicStatePropagator propagator;
0069 };
0070 #endif