CMS 3D CMS Logo

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

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