CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MuonCocktails.h
Go to the documentation of this file.
1 #ifndef MuonReco_MuonCocktails_h
2 #define MuonReco_MuonCocktails_h
3 
15 
16 namespace muon {
17 
19  const reco::TrackRef& trackerTrack,
20  const reco::TrackRef& tpfmsTrack,
21  const reco::TrackRef& pickyTrack,
22  const double ptThreshold = 200.,
23  const double tune1 = 17.,
24  const double tune2 = 40.,
25  const double dptcut = 0.25);
26 
27  // Version for convenience. (NB: can be used with pat::Muon, even
28  // with embedded tracks, equally conveniently!)
30  const double ptThreshold = 200.,
31  const double tune1 = 17.,
32  const double tune2 = 40.,
33  const double dptcut = 0.25) {
34  return tevOptimized(muon.globalTrack(),
35  muon.innerTrack(),
36  muon.tpfmsTrack(),
37  muon.pickyTrack(),
38  ptThreshold,
39  tune1,
40  tune2,
41  dptcut);
42  }
43 
44  reco::TrackRef getTevRefitTrack(const reco::TrackRef& combinedTrack,
45  const reco::TrackToTrackMap& map);
46 
47  // The next two versions of tevOptimized are for backward
48  // compatibility; TrackToTrackMaps are to be removed from the
49  // EventContent, so these versions will go away (along with the
50  // helper getter function) after a deprecation period. Since they
51  // are just for backward compatibility and not for new code, we
52  // don't bother to expose the tune parameters.
53 
55  const reco::TrackRef& trackerTrack,
56  const reco::TrackToTrackMap& tevMap1,
57  const reco::TrackToTrackMap& tevMap2,
58  const reco::TrackToTrackMap& tevMap3,
59  const double ptThreshold = 200.,
60  const double tune1 = 17.,
61  const double tune2 = 40.,
62  const double dptcut = 0.25) {
63  return tevOptimized(combinedTrack,
64  trackerTrack,
65  getTevRefitTrack(combinedTrack, tevMap2),
66  getTevRefitTrack(combinedTrack, tevMap3),
67  ptThreshold,
68  tune1,
69  tune2,
70  dptcut);
71  }
72 
74  const reco::TrackToTrackMap& tevMap1,
75  const reco::TrackToTrackMap& tevMap2,
76  const reco::TrackToTrackMap& tevMap3 ) {
77  return tevOptimized(muon.combinedMuon(),
78  muon.track(),
79  getTevRefitTrack(muon.combinedMuon(), tevMap2),
80  getTevRefitTrack(muon.combinedMuon(), tevMap3));
81  }
82 
83  // The cocktail used as the soon-to-be-old default momentum
84  // assignment for the reco::Muon.
86  const reco::TrackRef& trackerTrack,
87  const double nSigma = 2.,
88  const double ptThreshold = 200.);
89 
90  // Convenience version of the above.
92  const double nSigma = 2.,
93  const double ptThreshold = 200.) {
94  return muon::sigmaSwitch(muon.globalTrack(),
95  muon.innerTrack(),
96  nSigma,
97  ptThreshold);
98  }
99 
100  // "Truncated muon reconstructor": the first cocktail, between just
101  // tracker-only and TPFMS. Similar to tevOptimized.
103  const reco::TrackRef& fmsTrack,
104  const double tune=4.);
105 
106  double trackProbability(const reco::TrackRef track);
107 }
108 
109 #endif
virtual TrackRef innerTrack() const
Definition: Muon.h:48
virtual TrackRef track() const
reference to a Track
Definition: Muon.h:49
virtual TrackRef tpfmsTrack() const
Definition: Muon.h:57
reco::Muon::MuonTrackTypePair tevOptimized(const reco::TrackRef &combinedTrack, const reco::TrackRef &trackerTrack, const reco::TrackRef &tpfmsTrack, const reco::TrackRef &pickyTrack, const double ptThreshold=200., const double tune1=17., const double tune2=40., const double dptcut=0.25)
Definition: MuonCocktails.cc:9
reco::Muon::MuonTrackTypePair sigmaSwitch(const reco::TrackRef &combinedTrack, const reco::TrackRef &trackerTrack, const double nSigma=2., const double ptThreshold=200.)
virtual TrackRef pickyTrack() const
Definition: Muon.h:58
reco::Muon::MuonTrackTypePair TMR(const reco::TrackRef &trackerTrack, const reco::TrackRef &fmsTrack, const double tune=4.)
virtual TrackRef combinedMuon() const
reference to a stand-alone muon Track
Definition: Muon.h:55
reco::TrackRef getTevRefitTrack(const reco::TrackRef &combinedTrack, const reco::TrackToTrackMap &map)
double trackProbability(const reco::TrackRef track)
std::pair< TrackRef, Muon::MuonTrackType > MuonTrackTypePair
Definition: Muon.h:40
virtual TrackRef globalTrack() const
reference to Track reconstructed in both tracked and muon detector
Definition: Muon.h:54