File indexing completed on 2023-03-17 11:20:51
0001 #ifndef RecoMuon_StandAloneTrackFinder_StandAloneMuonRefitter_H
0002 #define RecoMuon_StandAloneTrackFinder_StandAloneMuonRefitter_H
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "FWCore/Framework/interface/ESHandle.h"
0012 #include "FWCore/Utilities/interface/ESGetToken.h"
0013 #include "TrackingTools/PatternTools/interface/Trajectory.h"
0014 #include "TrackingTools/TrackFitters/interface/TrajectoryFitter.h"
0015
0016 namespace edm {
0017 class ParameterSet;
0018 class ConsumesCollector;
0019 }
0020 class MuonServiceProxy;
0021 class TrajectoryFitter;
0022 class Trajectory;
0023
0024 class StandAloneMuonRefitter {
0025 public:
0026 typedef std::pair<bool, Trajectory> RefitResult;
0027
0028 public:
0029
0030 StandAloneMuonRefitter(const edm::ParameterSet& par, edm::ConsumesCollector col, const MuonServiceProxy* service);
0031
0032
0033 virtual ~StandAloneMuonRefitter();
0034
0035
0036
0037
0038 RefitResult singleRefit(const Trajectory&);
0039 RefitResult refit(const Trajectory&);
0040
0041 protected:
0042 private:
0043 const MuonServiceProxy* theService;
0044 const edm::ESGetToken<TrajectoryFitter, TrajectoryFitter::Record> theFitterToken;
0045 edm::ESHandle<TrajectoryFitter> theFitter;
0046 unsigned int theNumberOfIterations;
0047 bool isForceAllIterations;
0048 double theMaxFractionOfLostHits;
0049 double errorRescale;
0050 };
0051 #endif