CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 {class ParameterSet;}
32 
33 // ---------------------
34 // -- Class Interface --
35 // ---------------------
36 
38 
39  public:
40 
41  typedef std::pair<const Trajectory*,reco::TrackRef> TrackCand;
42 
45  const MuonServiceProxy*);
46 
48  virtual ~GlobalMuonTrackMatcher();
49 
51  bool matchTight(const TrackCand& sta,
52  const TrackCand& track) const;
53 
57  double match(const TrackCand& sta,
58  const TrackCand& track,
59  int matchOption = 0,
60  int surfaceOption = 1) const;
61 
63  std::vector<TrackCand> match(const TrackCand& sta,
64  const std::vector<TrackCand>& tracks) const;
65 
67  std::vector<TrackCand>::const_iterator matchOne(const TrackCand& sta,
68  const std::vector<TrackCand>& tracks) const;
69 
70  double match_R_IP(const TrackCand&, const TrackCand&) const;
71  double match_D(const TrajectoryStateOnSurface&, const TrajectoryStateOnSurface&) const;
72  double match_d(const TrajectoryStateOnSurface&, const TrajectoryStateOnSurface&) const;
77 
78  std::pair<TrajectoryStateOnSurface,TrajectoryStateOnSurface> convertToTSOSTk(const TrackCand&, const TrackCand&) const;
79  std::pair<TrajectoryStateOnSurface,TrajectoryStateOnSurface> convertToTSOSMuHit(const TrackCand&, const TrackCand&) const;
80  std::pair<TrajectoryStateOnSurface,TrajectoryStateOnSurface> convertToTSOSTkHit(const TrackCand&, const TrackCand&) const;
82 
83  private:
84 
85  double theMinP;
86  double theMinPt;
90  double theChi2_1;
91  double theChi2_2;
92  double theChi2_3;
93  double theLocChi2;
94  double theDeltaD_1;
95  double theDeltaD_2;
96  double theDeltaD_3;
97  double theDeltaR_1;
98  double theDeltaR_2;
99  double theDeltaR_3;
100  double theQual_1;
101  double theQual_2;
102  double theQual_3;
103 
106 
107 };
108 
109 #endif
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
GlobalMuonTrackMatcher(const edm::ParameterSet &, const MuonServiceProxy *)
constructor
bool matchTight(const TrackCand &sta, const TrackCand &track) const
check if two tracks are compatible (less than Chi2Cut, DeltaDCut, DeltaRCut)
std::pair< TrajectoryStateOnSurface, TrajectoryStateOnSurface > convertToTSOSTkHit(const TrackCand &, const TrackCand &) const
double match_Rmom(const TrajectoryStateOnSurface &, const TrajectoryStateOnSurface &) const
double match_R_IP(const TrackCand &, const TrackCand &) const
std::pair< TrajectoryStateOnSurface, TrajectoryStateOnSurface > convertToTSOSMuHit(const TrackCand &, const TrackCand &) const
std::pair< TrajectoryStateOnSurface, TrajectoryStateOnSurface > convertToTSOSTk(const TrackCand &, const TrackCand &) const
double match_d(const TrajectoryStateOnSurface &, const TrajectoryStateOnSurface &) const
double match_Chi2(const TrajectoryStateOnSurface &, const TrajectoryStateOnSurface &) const
double match(const TrackCand &sta, const TrackCand &track, int matchOption=0, int surfaceOption=1) const
double match_D(const TrajectoryStateOnSurface &, const TrajectoryStateOnSurface &) const
const MuonServiceProxy * theService
tuple tracks
Definition: testEve_cfg.py:39
double match_dist(const TrajectoryStateOnSurface &, const TrajectoryStateOnSurface &) const
std::pair< const Trajectory *, reco::TrackRef > TrackCand
double match_Rpos(const TrajectoryStateOnSurface &, const TrajectoryStateOnSurface &) const
bool samePlane(const TrajectoryStateOnSurface &, const TrajectoryStateOnSurface &) const
virtual ~GlobalMuonTrackMatcher()
destructor