CMS 3D CMS Logo

GlobalMuonTrackMatcher.h
Go to the documentation of this file.
1 #ifndef RecoMuon_GlobalTrackingTools_GlobalMuonTrackMatcher_H
2 #define RecoMuon_GlobalTrackingTools_GlobalMuonTrackMatcher_H
3 
26 
28 class MuonServiceProxy;
29 class Trajectory;
30 
31 namespace edm {
32  class ParameterSet;
33 }
34 
35 // ---------------------
36 // -- Class Interface --
37 // ---------------------
38 
40 public:
41  typedef std::pair<const Trajectory*, reco::TrackRef> TrackCand;
42 
45 
47  virtual ~GlobalMuonTrackMatcher();
48 
50  bool matchTight(const TrackCand& sta, const TrackCand& track) const;
51 
55  double match(const TrackCand& sta, const TrackCand& track, int matchOption = 0, int surfaceOption = 1) const;
56 
58  std::vector<TrackCand> match(const TrackCand& sta, const std::vector<TrackCand>& tracks) const;
59 
61  std::vector<TrackCand>::const_iterator matchOne(const TrackCand& sta, const std::vector<TrackCand>& tracks) const;
62 
63  double match_R_IP(const TrackCand&, const TrackCand&) const;
64  double match_D(const TrajectoryStateOnSurface&, const TrajectoryStateOnSurface&) const;
65  double match_d(const TrajectoryStateOnSurface&, const TrajectoryStateOnSurface&) const;
70 
71  std::pair<TrajectoryStateOnSurface, TrajectoryStateOnSurface> convertToTSOSTk(const TrackCand&,
72  const TrackCand&) const;
73  std::pair<TrajectoryStateOnSurface, TrajectoryStateOnSurface> convertToTSOSMuHit(const TrackCand&,
74  const TrackCand&) const;
75  std::pair<TrajectoryStateOnSurface, TrajectoryStateOnSurface> convertToTSOSTkHit(const TrackCand&,
76  const TrackCand&) const;
78 
79 private:
80  double theMinP;
81  double theMinPt;
85  double theChi2_1;
86  double theChi2_2;
87  double theChi2_3;
88  double theLocChi2;
89  double theDeltaD_1;
90  double theDeltaD_2;
91  double theDeltaD_3;
92  double theDeltaR_1;
93  double theDeltaR_2;
94  double theDeltaR_3;
95  double theQual_1;
96  double theQual_2;
97  double theQual_3;
98 
101 };
102 
103 #endif
std::pair< const Trajectory *, reco::TrackRef > TrackCand
GlobalMuonTrackMatcher(const edm::ParameterSet &, const MuonServiceProxy *)
constructor
std::vector< TrackCand >::const_iterator matchOne(const TrackCand &sta, const std::vector< TrackCand > &tracks) const
choose the one tracker track which best matches a muon track
std::pair< TrajectoryStateOnSurface, TrajectoryStateOnSurface > convertToTSOSMuHit(const TrackCand &, const TrackCand &) const
double match_Rmom(const TrajectoryStateOnSurface &, const TrajectoryStateOnSurface &) const
double match_dist(const TrajectoryStateOnSurface &, const TrajectoryStateOnSurface &) const
double match_R_IP(const TrackCand &, const TrackCand &) const
bool matchTight(const TrackCand &sta, const TrackCand &track) const
check if two tracks are compatible (less than Chi2Cut, DeltaDCut, DeltaRCut)
double match_d(const TrajectoryStateOnSurface &, const TrajectoryStateOnSurface &) const
double match(const TrackCand &sta, const TrackCand &track, int matchOption=0, int surfaceOption=1) const
const MuonServiceProxy * theService
std::pair< TrajectoryStateOnSurface, TrajectoryStateOnSurface > convertToTSOSTk(const TrackCand &, const TrackCand &) const
std::pair< TrajectoryStateOnSurface, TrajectoryStateOnSurface > convertToTSOSTkHit(const TrackCand &, const TrackCand &) const
auto const & tracks
cannot be loose
double match_D(const TrajectoryStateOnSurface &, const TrajectoryStateOnSurface &) const
HLT enums.
bool samePlane(const TrajectoryStateOnSurface &, const TrajectoryStateOnSurface &) const
double match_Chi2(const TrajectoryStateOnSurface &, const TrajectoryStateOnSurface &) const
double match_Rpos(const TrajectoryStateOnSurface &, const TrajectoryStateOnSurface &) const
virtual ~GlobalMuonTrackMatcher()
destructor