Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:36

0001 #ifndef RecoParticleFlow_PFTracking_PFGsfHelper_H
0002 #define RecoParticleFlow_PFTracking_PFGsfHelper_H
0003 
0004 #include "DataFormats/GeometrySurface/interface/Surface.h"
0005 #include "FWCore/Framework/interface/Frameworkfwd.h"
0006 #include "FWCore/Framework/interface/EventSetup.h"
0007 #include "FWCore/Framework/interface/Event.h"
0008 #include "FWCore/Framework/interface/MakerMacros.h"
0009 #include "DataFormats/ParticleFlowReco/interface/PFRecTrack.h"
0010 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0011 
0012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0013 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
0014 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
0015 #include "TrackingTools/GsfTools/interface/MultiGaussianStateTransform.h"
0016 
0017 /// \brief Abstract
0018 /*!
0019 \author Daniele Benedetti
0020 \date January 2008
0021 
0022  PFGsfHelper is a class used to give back
0023  the p mode and the DP and sigmaDP for each trajectory on surface. 
0024  
0025  Other utilities: 
0026 */
0027 
0028 class TrajectoryMeasurement;
0029 class PFGsfHelper {
0030 public:
0031   PFGsfHelper(const TrajectoryMeasurement&);
0032   ~PFGsfHelper();
0033 
0034   GlobalVector computeP(bool ComputeMode) const;
0035   bool isValid() const;
0036   double fittedDP() const;
0037   double sigmafittedDP() const;
0038 
0039 private:
0040   void computeQpMode(const TrajectoryStateOnSurface tsos,
0041                      AlgebraicVector5& parameters,
0042                      AlgebraicSymMatrix55& covariance) const;
0043 
0044   float mode_Px;
0045   float mode_Py;
0046   float mode_Pz;
0047   bool Valid;
0048   double dp;
0049   double sigmaDp;
0050   TrajectoryStateOnSurface theUpdateState;
0051   TrajectoryStateOnSurface theForwardState;
0052   TrajectoryStateOnSurface theBackwardState;
0053 };
0054 
0055 #endif