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 
28 
30 class MuonServiceProxy;
31 class Trajectory;
32 
33 namespace edm {class ParameterSet;}
34 
35 // ---------------------
36 // -- Class Interface --
37 // ---------------------
38 
40 
41  public:
42 
43  typedef std::pair<const Trajectory*,reco::TrackRef> TrackCand;
44 
47  const MuonServiceProxy*);
48 
50  virtual ~GlobalMuonTrackMatcher();
51 
53  bool matchTight(const TrackCand& sta,
54  const TrackCand& track) const;
55 
59  double match(const TrackCand& sta,
60  const TrackCand& track,
61  int matchOption = 0,
62  int surfaceOption = 1) const;
63 
65  std::vector<TrackCand> match(const TrackCand& sta,
66  const std::vector<TrackCand>& tracks) const;
67 
69  std::vector<TrackCand>::const_iterator matchOne(const TrackCand& sta,
70  const std::vector<TrackCand>& tracks) const;
71 
72  double match_R_IP(const TrackCand&, const TrackCand&) const;
73  double match_D(const TrajectoryStateOnSurface&, const TrajectoryStateOnSurface&) const;
74  double match_d(const TrajectoryStateOnSurface&, const TrajectoryStateOnSurface&) const;
79 
80  std::pair<TrajectoryStateOnSurface,TrajectoryStateOnSurface> convertToTSOSTk(const TrackCand&, const TrackCand&) const;
81  std::pair<TrajectoryStateOnSurface,TrajectoryStateOnSurface> convertToTSOSMuHit(const TrackCand&, const TrackCand&) const;
82  std::pair<TrajectoryStateOnSurface,TrajectoryStateOnSurface> convertToTSOSTkHit(const TrackCand&, const TrackCand&) const;
84 
85  private:
86 
87  double theMinP;
88  double theMinPt;
92  double theChi2_1;
93  double theChi2_2;
94  double theChi2_3;
95  double theLocChi2;
96  double theDeltaD_1;
97  double theDeltaD_2;
98  double theDeltaD_3;
99  double theDeltaR_1;
100  double theDeltaR_2;
101  double theDeltaR_3;
102  double theQual_1;
103  double theQual_2;
104  double theQual_3;
105 
107  std::string theOutPropagatorName;
108 
109 };
110 
111 #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