File indexing completed on 2024-04-06 12:29:12
0001 #ifndef KinematicParticleFactoryFromTransientTrack_h
0002 #define KinematicParticleFactoryFromTransientTrack_h
0003
0004 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
0005 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicParticle.h"
0006 #include "RecoVertex/KinematicFitPrimitives/interface/ParticleMass.h"
0007 #include "RecoVertex/KinematicFitPrimitives/interface/TrackKinematicStatePropagator.h"
0008 #include "RecoVertex/KinematicFitPrimitives/interface/TransientTrackKinematicStateBuilder.h"
0009 #include "RecoVertex/KinematicFitPrimitives/interface/TransientTrackKinematicParticle.h"
0010 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicConstraint.h"
0011
0012
0013
0014
0015
0016 class KinematicParticleFactoryFromTransientTrack {
0017 public:
0018
0019
0020
0021 KinematicParticleFactoryFromTransientTrack();
0022
0023
0024
0025
0026 KinematicParticleFactoryFromTransientTrack(KinematicStatePropagator* pr);
0027
0028
0029
0030
0031 ~KinematicParticleFactoryFromTransientTrack() { delete propagator; }
0032
0033
0034
0035
0036
0037
0038 RefCountedKinematicParticle particle(const reco::TransientTrack& initialTrack,
0039 const ParticleMass& massGuess,
0040 float chiSquared,
0041 float degreesOfFr,
0042 float& m_sigma) const;
0043
0044
0045
0046
0047
0048
0049 RefCountedKinematicParticle particle(const reco::TransientTrack& initialTrack,
0050 const ParticleMass& massGuess,
0051 float chiSquared,
0052 float degreesOfFr,
0053 float& m_sigma,
0054 const FreeTrajectoryState& freestate) const;
0055
0056
0057
0058
0059
0060
0061
0062 RefCountedKinematicParticle particle(const reco::TransientTrack& initialTrack,
0063 const ParticleMass& massGuess,
0064 float chiSquared,
0065 float degreesOfFr,
0066 const GlobalPoint& expPoint,
0067 float m_sigma) const;
0068
0069
0070
0071
0072
0073
0074
0075 RefCountedKinematicParticle particle(const KinematicState& kineState,
0076 float& chiSquared,
0077 float& ndf,
0078 ReferenceCountingPointer<KinematicParticle> previousParticle,
0079 KinematicConstraint* lastConstraint = nullptr) const;
0080
0081 private:
0082 KinematicStatePropagator* propagator;
0083 TransientTrackKinematicStateBuilder builder;
0084 };
0085
0086 #endif