00001 #ifndef PFTrackTransformer_H 00002 #define PFTrackTransformer_H 00003 00004 #include "RecoParticleFlow/PFBlockAlgo/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/ParticleFlowReco/interface/GsfPFRecTrack.h" 00012 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00013 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h" 00014 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00015 #include "DataFormats/GeometryVector/interface/GlobalVector.h" 00016 #include "DataFormats/Math/interface/Vector3D.h" 00017 00018 00019 00020 00022 00035 class Trajectory; 00036 class PFTrackTransformer{ 00037 00038 00039 00040 public: 00041 PFTrackTransformer(math::XYZVector); 00042 ~PFTrackTransformer(); 00043 00044 00046 bool addPoints(reco::PFRecTrack& pftrack, 00047 const reco::Track& track, 00048 const Trajectory& traj) const; 00049 00050 bool addPointsAndBrems(reco::GsfPFRecTrack& pftrack, 00051 const reco::Track& track, 00052 const Trajectory& traj, 00053 const bool& GetMode) const; 00054 00055 00056 void OnlyProp(){ 00057 onlyprop_=true; 00058 } 00059 bool onlyprop_; 00060 00061 private: 00063 math::XYZVector B_; 00064 }; 00065 00066 #endif