CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/RecoParticleFlow/PFTracking/interface/PFGsfHelper.h

Go to the documentation of this file.
00001 #ifndef PFGsfHelper_H
00002 #define PFGsfHelper_H
00003 
00004 #include "RecoParticleFlow/PFTracking/interface/PFGeometry.h"
00005 #include "DataFormats/GeometrySurface/interface/Surface.h"
00006 #include "FWCore/Framework/interface/Frameworkfwd.h"
00007 #include "FWCore/Framework/interface/EventSetup.h"
00008 #include "FWCore/Framework/interface/Event.h"
00009 #include "FWCore/Framework/interface/MakerMacros.h"
00010 #include "DataFormats/ParticleFlowReco/interface/PFRecTrack.h"
00011 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00012 
00013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00014 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
00015 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00016 #include "TrackingTools/GsfTools/interface/MultiGaussianStateTransform.h"
00017 
00018 
00020 
00030 class TrajectoryMeasurement; 
00031 class PFGsfHelper{
00032   
00033  public:
00034   PFGsfHelper ( const TrajectoryMeasurement&);
00035   ~PFGsfHelper();
00036 
00037   GlobalVector computeP(bool ComputeMode) const;
00038   bool isValid () const;
00039   double fittedDP () const;
00040   double sigmafittedDP() const;
00041 
00042  private:
00043   
00044   void computeQpMode (const TrajectoryStateOnSurface tsos,
00045                       AlgebraicVector5& parameters, AlgebraicSymMatrix55& covariance) const;
00046   
00047 
00048   float mode_Px;
00049   float mode_Py;
00050   float mode_Pz;
00051   bool Valid;
00052   double dp;
00053   double sigmaDp;
00054   TrajectoryStateOnSurface theUpdateState;
00055   TrajectoryStateOnSurface theForwardState;
00056   TrajectoryStateOnSurface theBackwardState;
00057 };
00058 
00059 #endif