File indexing completed on 2024-04-06 12:27:17
0001 #ifndef RecoMuon_TrackingTools_MuonUpdatorAtVertex_H
0002 #define RecoMuon_TrackingTools_MuonUpdatorAtVertex_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 class TrajectoryStateOnSurface;
0028 class FreeTrajectoryState;
0029 class MuonServiceProxy;
0030
0031 #include "RecoVertex/KalmanVertexFit/interface/SingleTrackVertexConstraint.h"
0032 #include "TrackingTools/TransientTrack/interface/TransientTrackFromFTSFactory.h"
0033 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0034
0035 #include <string>
0036
0037 namespace edm {
0038 class ParameterSet;
0039 class Event;
0040 }
0041
0042 class MuonUpdatorAtVertex {
0043 public:
0044
0045 MuonUpdatorAtVertex(const edm::ParameterSet &pset, const MuonServiceProxy *service);
0046
0047
0048 virtual ~MuonUpdatorAtVertex();
0049
0050
0051
0052
0053 std::pair<bool, FreeTrajectoryState> propagate(const TrajectoryStateOnSurface &tsos,
0054 const reco::BeamSpot &beamSpot) const;
0055
0056
0057 std::pair<bool, FreeTrajectoryState> update(const reco::TransientTrack &track, const reco::BeamSpot &beamSpot) const;
0058
0059
0060 std::pair<bool, FreeTrajectoryState> update(const FreeTrajectoryState &ftsAtVtx,
0061 const reco::BeamSpot &beamSpot) const;
0062
0063
0064 std::pair<bool, FreeTrajectoryState> propagateWithUpdate(const TrajectoryStateOnSurface &tsos,
0065 const reco::BeamSpot &beamSpot) const;
0066
0067
0068 std::pair<bool, FreeTrajectoryState> propagateToNominalLine(const TrajectoryStateOnSurface &tsos) const;
0069
0070
0071 std::pair<bool, FreeTrajectoryState> propagate(const TrajectoryStateOnSurface &tsos) const
0072 __attribute__((deprecated));
0073
0074 protected:
0075 private:
0076 const MuonServiceProxy *theService;
0077 std::string thePropagatorName;
0078
0079 TransientTrackFromFTSFactory theTransientTrackFactory;
0080 SingleTrackVertexConstraint theConstrictor;
0081 double theChi2Cut;
0082
0083 GlobalError thePositionErrors;
0084 };
0085 #endif