CMS 3D CMS Logo

TransientTrackKinematicParticle.h

Go to the documentation of this file.
00001 #ifndef TransientTrackKinematicParticle_H
00002 #define TransientTrackKinematicParticle_H
00003 
00004 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
00005 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicParticle.h"
00006 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicStatePropagator.h"
00007 #include "RecoVertex/KinematicFitPrimitives/interface/ParticleKinematicLinearizedTrackStateFactory.h"
00008 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
00009 
00018 class TransientTrackKinematicParticle : public KinematicParticle
00019 {
00020 public:
00021  
00029  TransientTrackKinematicParticle(const KinematicState& kineState,float& chiSquared,
00030                        float& degreesOfFr,KinematicConstraint * lastConstraint,
00031                    ReferenceCountingPointer<KinematicParticle> previousParticle,
00032                    KinematicStatePropagator * pr,const reco::TransientTrack * initialTrack = 0);
00033                         
00034  virtual ~TransientTrackKinematicParticle();
00035                                            
00043   bool operator==(const KinematicParticle& other)const;
00044 
00045   bool operator==(const ReferenceCountingPointer<KinematicParticle>& other) const;
00046 
00047   bool operator!=(const KinematicParticle& other)const;
00048   
00053  KinematicState stateAtPoint(const GlobalPoint& point)const;
00054  
00058  const reco::TransientTrack * initialTransientTrack() const;
00059 
00065  ReferenceCountingPointer<KinematicParticle> refittedParticle(const KinematicState& state,
00066                             float chi2, float ndf, KinematicConstraint * cons = 0)const;
00067                             
00072  RefCountedLinearizedTrackState particleLinearizedTrackState(const GlobalPoint& point)const; 
00073 
00074 private: 
00075 
00076 //initial TransientTrack (if any) 
00077  const reco::TransientTrack * inTrack;
00078   
00079 //propagator for kinematic states
00080  KinematicStatePropagator * propagator;  
00081 
00082 //LinearizedTrackStateFactory  specific for this
00083 //type of particle
00084  ParticleKinematicLinearizedTrackStateFactory linFactory;
00085 };
00086 #endif

Generated on Tue Jun 9 17:46:10 2009 for CMSSW by  doxygen 1.5.4