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