Go to the documentation of this file.00001 #ifndef KinematicParticleFactoryFromTransientTrack_h
00002 #define KinematicParticleFactoryFromTransientTrack_h
00003
00004 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
00005 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicParticle.h"
00006 #include "RecoVertex/KinematicFitPrimitives/interface/ParticleMass.h"
00007 #include "RecoVertex/KinematicFitPrimitives/interface/TrackKinematicStatePropagator.h"
00008 #include "RecoVertex/KinematicFitPrimitives/interface/TransientTrackKinematicStateBuilder.h"
00009 #include "RecoVertex/KinematicFitPrimitives/interface/TransientTrackKinematicParticle.h"
00010 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicConstraint.h"
00011
00017 class KinematicParticleFactoryFromTransientTrack
00018 {
00019 public:
00020
00024 KinematicParticleFactoryFromTransientTrack();
00025
00029 KinematicParticleFactoryFromTransientTrack(KinematicStatePropagator * pr);
00030
00034 ~KinematicParticleFactoryFromTransientTrack()
00035 {delete propagator;}
00036
00042 RefCountedKinematicParticle particle(const reco::TransientTrack& initialTrack,
00043 const ParticleMass& massGuess,
00044 float chiSquared,
00045 float degreesOfFr,
00046 float& m_sigma) const;
00047
00053 RefCountedKinematicParticle particle(const reco::TransientTrack& initialTrack,
00054 const ParticleMass& massGuess,
00055 float chiSquared,
00056 float degreesOfFr,
00057 float& m_sigma,
00058 const FreeTrajectoryState &freestate) const;
00059
00066 RefCountedKinematicParticle particle(const reco::TransientTrack& initialTrack,
00067 const ParticleMass& massGuess,
00068 float chiSquared,
00069 float degreesOfFr,
00070 const GlobalPoint& expPoint,
00071 float m_sigma) const;
00072
00079 RefCountedKinematicParticle particle(const KinematicState& kineState, float& chiSquared,
00080 float& ndf, ReferenceCountingPointer<KinematicParticle> previousParticle,
00081 KinematicConstraint * lastConstraint = 0) const;
00082
00083 private:
00084
00085 KinematicStatePropagator * propagator;
00086 TransientTrackKinematicStateBuilder builder;
00087
00088 };
00089
00090
00091 #endif