CMS 3D CMS Logo

Muon.cc
Go to the documentation of this file.
1 //
2 //
3 
8 #include <limits>
9 
10 using namespace pat;
11 
13 Muon::Muon()
14  : Lepton<reco::Muon>(),
15  embeddedMuonBestTrack_(false),
16  embeddedTunePMuonBestTrack_(false),
17  embeddedTrack_(false),
18  embeddedStandAloneMuon_(false),
19  embeddedCombinedMuon_(false),
20  embeddedTCMETMuonCorrs_(false),
21  embeddedCaloMETMuonCorrs_(false),
22  embeddedPickyMuon_(false),
23  embeddedTpfmsMuon_(false),
24  embeddedDytMuon_(false),
25  embeddedPFCandidate_(false),
26  pfCandidateRef_(),
27  cachedNormChi2_(false),
28  normChi2_(0.0),
29  cachedNumberOfValidHits_(false),
30  numberOfValidHits_(0),
31  pfEcalEnergy_(0),
32  jetPtRatio_(0),
33  jetPtRel_(0),
34  mvaValue_(0),
35  lowptMvaValue_(0),
36  softMvaValue_(0),
37  inverseBeta_(0),
38  inverseBetaErr_(0) {
39  initImpactParameters();
40  initSimInfo();
41 }
42 
44 Muon::Muon(const reco::Muon& aMuon)
45  : Lepton<reco::Muon>(aMuon),
46  embeddedMuonBestTrack_(false),
47  embeddedTunePMuonBestTrack_(false),
48  embeddedTrack_(false),
49  embeddedStandAloneMuon_(false),
50  embeddedCombinedMuon_(false),
51  embeddedTCMETMuonCorrs_(false),
52  embeddedCaloMETMuonCorrs_(false),
53  embeddedPickyMuon_(false),
54  embeddedTpfmsMuon_(false),
55  embeddedDytMuon_(false),
56  embeddedPFCandidate_(false),
57  pfCandidateRef_(),
58  cachedNormChi2_(false),
59  normChi2_(0.0),
60  cachedNumberOfValidHits_(false),
61  numberOfValidHits_(0),
62  pfEcalEnergy_(0),
63  jetPtRatio_(0),
64  jetPtRel_(0),
65  mvaValue_(0),
66  lowptMvaValue_(0),
67  softMvaValue_(0),
68  inverseBeta_(0),
69  inverseBetaErr_(0) {
70  initImpactParameters();
71  initSimInfo();
72 }
73 
76  : Lepton<reco::Muon>(aMuonRef),
77  embeddedMuonBestTrack_(false),
78  embeddedTunePMuonBestTrack_(false),
79  embeddedTrack_(false),
80  embeddedStandAloneMuon_(false),
81  embeddedCombinedMuon_(false),
82  embeddedTCMETMuonCorrs_(false),
83  embeddedCaloMETMuonCorrs_(false),
84  embeddedPickyMuon_(false),
85  embeddedTpfmsMuon_(false),
86  embeddedDytMuon_(false),
87  embeddedPFCandidate_(false),
88  pfCandidateRef_(),
89  cachedNormChi2_(false),
90  normChi2_(0.0),
91  cachedNumberOfValidHits_(false),
92  numberOfValidHits_(0),
93  pfEcalEnergy_(0),
94  jetPtRatio_(0),
95  jetPtRel_(0),
96  mvaValue_(0),
97  lowptMvaValue_(0),
98  softMvaValue_(0),
99  inverseBeta_(0),
100  inverseBetaErr_(0) {
101  initImpactParameters();
102  initSimInfo();
103 }
104 
106 Muon::Muon(const edm::Ptr<reco::Muon>& aMuonRef)
107  : Lepton<reco::Muon>(aMuonRef),
108  embeddedMuonBestTrack_(false),
109  embeddedTunePMuonBestTrack_(false),
110  embeddedTrack_(false),
111  embeddedStandAloneMuon_(false),
112  embeddedCombinedMuon_(false),
113  embeddedTCMETMuonCorrs_(false),
114  embeddedCaloMETMuonCorrs_(false),
115  embeddedPickyMuon_(false),
116  embeddedTpfmsMuon_(false),
117  embeddedDytMuon_(false),
118  embeddedPFCandidate_(false),
119  pfCandidateRef_(),
120  cachedNormChi2_(false),
121  normChi2_(0.0),
122  cachedNumberOfValidHits_(false),
123  numberOfValidHits_(0),
124  pfEcalEnergy_(0),
125  jetPtRatio_(0),
126  jetPtRel_(0),
127  mvaValue_(0),
128  lowptMvaValue_(0),
129  softMvaValue_(0),
130  inverseBeta_(0),
131  inverseBetaErr_(0) {
132  initImpactParameters();
133  initSimInfo();
134 }
135 
137 Muon::~Muon() {}
138 
139 std::ostream& reco::operator<<(std::ostream& out, const pat::Muon& obj) {
140  if (!out)
141  return out;
142 
143  out << "\tpat::Muon: ";
144  out << std::setiosflags(std::ios::right);
145  out << std::setiosflags(std::ios::fixed);
146  out << std::setprecision(3);
147  out << " E/pT/eta/phi " << obj.energy() << "/" << obj.pt() << "/" << obj.eta() << "/" << obj.phi();
148  return out;
149 }
150 
151 // initialize impact parameter container vars
152 void Muon::initImpactParameters() {
153  std::fill(ip_, ip_ + IpTypeSize, 0.0f);
154  std::fill(eip_, eip_ + IpTypeSize, 0.0f);
155  cachedIP_ = 0;
156 }
157 
158 // initialize impact parameter container vars
159 void Muon::initSimInfo() {
160  simType_ = reco::MuonSimType::Unknown;
162  simFlavour_ = 0;
163  simHeaviestMotherFlavour_ = 0;
164  simPdgId_ = 0;
165  simMotherPdgId_ = 0;
166  simBX_ = 999;
167  simTpEvent_ = 0;
168  simProdRho_ = 0.0;
169  simProdZ_ = 0.0;
170  simPt_ = 0.0;
171  simEta_ = 0.0;
172  simPhi_ = 0.0;
173  simMatchQuality_ = 0.0;
174 }
175 
177 reco::TrackRef Muon::track() const {
178  if (embeddedTrack_) {
179  return reco::TrackRef(&track_, 0);
180  } else {
181  return reco::Muon::innerTrack();
182  }
183 }
184 
187  if (embeddedStandAloneMuon_) {
188  return reco::TrackRef(&standAloneMuon_, 0);
189  } else {
190  return reco::Muon::outerTrack();
191  }
192 }
193 
195 reco::TrackRef Muon::combinedMuon() const {
196  if (embeddedCombinedMuon_) {
197  return reco::TrackRef(&combinedMuon_, 0);
198  } else {
199  return reco::Muon::globalTrack();
200  }
201 }
202 
204 reco::TrackRef Muon::pickyTrack() const {
205  if (embeddedPickyMuon_) {
206  return reco::TrackRef(&pickyMuon_, 0);
207  } else {
208  return reco::Muon::pickyTrack();
209  }
210 }
211 
213 reco::TrackRef Muon::tpfmsTrack() const {
214  if (embeddedTpfmsMuon_) {
215  return reco::TrackRef(&tpfmsMuon_, 0);
216  } else {
217  return reco::Muon::tpfmsTrack();
218  }
219 }
220 
222 reco::TrackRef Muon::dytTrack() const {
223  if (embeddedDytMuon_) {
224  return reco::TrackRef(&dytMuon_, 0);
225  } else {
226  return reco::Muon::dytTrack();
227  }
228 }
229 
231 reco::TrackRef Muon::muonBestTrack() const {
232  if (!muonBestTrack_.empty()) {
233  return reco::TrackRef(&muonBestTrack_, 0);
234  } else {
235  return reco::Muon::muonBestTrack();
236  }
237 }
238 
240 reco::TrackRef Muon::tunePMuonBestTrack() const {
241  if (!tunePMuonBestTrack_.empty()) {
242  return reco::TrackRef(&tunePMuonBestTrack_, 0);
243  } else if (muonBestTrackType() == tunePMuonBestTrackType()) {
244  return muonBestTrack();
245  } else {
247  }
248 }
249 
251 reco::PFCandidateRef Muon::pfCandidateRef() const {
252  if (embeddedPFCandidate_) {
254  } else {
255  return pfCandidateRef_;
256  }
257 }
258 
261  if (pfCandidateRef_.isNonnull() && i == 0)
262  return reco::CandidatePtr(edm::refToPtr(pfCandidateRef_));
263  if (refToOrig_.isNonnull() && pfCandidateRef_.isNonnull() && i == 1)
264  return refToOrig_;
265  if (refToOrig_.isNonnull() && !pfCandidateRef_.isNonnull() && i == 0)
266  return refToOrig_;
267  return reco::CandidatePtr();
268 }
269 
271 void Muon::embedMuonBestTrack(bool force) {
272  muonBestTrack_.clear();
273  embeddedMuonBestTrack_ = false;
274  bool alreadyEmbedded = false;
275  if (!force) {
276  switch (muonBestTrackType()) {
277  case None:
278  alreadyEmbedded = true;
279  break;
280  case InnerTrack:
281  if (embeddedTrack_)
282  alreadyEmbedded = true;
283  break;
284  case OuterTrack:
285  if (embeddedStandAloneMuon_)
286  alreadyEmbedded = true;
287  break;
288  case CombinedTrack:
289  if (embeddedCombinedMuon_)
290  alreadyEmbedded = true;
291  break;
292  case TPFMS:
293  if (embeddedTpfmsMuon_)
294  alreadyEmbedded = true;
295  break;
296  case Picky:
297  if (embeddedPickyMuon_)
298  alreadyEmbedded = true;
299  break;
300  case DYT:
301  if (embeddedDytMuon_)
302  alreadyEmbedded = true;
303  break;
304  }
305  }
306  if (force || !alreadyEmbedded) {
307  muonBestTrack_.push_back(*reco::Muon::muonBestTrack());
308  embeddedMuonBestTrack_ = true;
309  }
310 }
311 
314  tunePMuonBestTrack_.clear();
315  bool alreadyEmbedded = false;
316  embeddedTunePMuonBestTrack_ = false;
317  if (!force) {
318  switch (tunePMuonBestTrackType()) {
319  case None:
320  alreadyEmbedded = true;
321  break;
322  case InnerTrack:
323  if (embeddedTrack_)
324  alreadyEmbedded = true;
325  break;
326  case OuterTrack:
327  if (embeddedStandAloneMuon_)
328  alreadyEmbedded = true;
329  break;
330  case CombinedTrack:
331  if (embeddedCombinedMuon_)
332  alreadyEmbedded = true;
333  break;
334  case TPFMS:
335  if (embeddedTpfmsMuon_)
336  alreadyEmbedded = true;
337  break;
338  case Picky:
339  if (embeddedPickyMuon_)
340  alreadyEmbedded = true;
341  break;
342  case DYT:
343  if (embeddedDytMuon_)
344  alreadyEmbedded = true;
345  break;
346  }
347  if (muonBestTrackType() == tunePMuonBestTrackType()) {
348  if (embeddedMuonBestTrack_)
349  alreadyEmbedded = true;
350  }
351  }
352  if (force || !alreadyEmbedded) {
353  tunePMuonBestTrack_.push_back(*reco::Muon::tunePMuonBestTrack());
354  embeddedTunePMuonBestTrack_ = true;
355  }
356 }
357 
359 void Muon::embedTrack() {
360  track_.clear();
361  if (reco::Muon::innerTrack().isNonnull()) {
362  track_.push_back(*reco::Muon::innerTrack());
363  embeddedTrack_ = true;
364  }
365 }
366 
369  standAloneMuon_.clear();
370  if (reco::Muon::outerTrack().isNonnull()) {
371  standAloneMuon_.push_back(*reco::Muon::outerTrack());
372  embeddedStandAloneMuon_ = true;
373  }
374 }
375 
378  combinedMuon_.clear();
379  if (reco::Muon::globalTrack().isNonnull()) {
380  combinedMuon_.push_back(*reco::Muon::globalTrack());
381  embeddedCombinedMuon_ = true;
382  }
383 }
384 
385 // recursively look for reassociated TrackExtraRefs in the edm::Associations and rekey
386 void Muon::rekeyEmbeddedTracks(std::vector<edm::Handle<edm::Association<reco::TrackExtraCollection>>> const& assocs) {
387  auto rekey = [&assocs](reco::Track& track) {
388  reco::TrackExtraRef trackExtra = track.extra();
389  for (auto const& assoc : assocs) {
390  if (!assoc->contains(trackExtra.id())) {
391  continue;
392  }
393  reco::TrackExtraRef const& trackExtraOut = (*assoc)[trackExtra];
394  if (trackExtraOut.isNonnull()) {
395  trackExtra = trackExtraOut;
396  }
397  }
398  track.setExtra(trackExtra);
399  };
400 
401  for (reco::Track& track : muonBestTrack_) {
402  rekey(track);
403  }
404  for (reco::Track& track : tunePMuonBestTrack_) {
405  rekey(track);
406  }
407  for (reco::Track& track : track_) {
408  rekey(track);
409  }
410  for (reco::Track& track : standAloneMuon_) {
411  rekey(track);
412  }
413  for (reco::Track& track : combinedMuon_) {
414  rekey(track);
415  }
416  for (reco::Track& track : pickyMuon_) {
417  rekey(track);
418  }
419  for (reco::Track& track : tpfmsMuon_) {
420  rekey(track);
421  }
422  for (reco::Track& track : dytMuon_) {
423  rekey(track);
424  }
425 }
426 
429  caloMETMuonCorrs_.clear();
430  caloMETMuonCorrs_.push_back(t);
431  embeddedCaloMETMuonCorrs_ = true;
432 }
433 
436  tcMETMuonCorrs_.clear();
437  tcMETMuonCorrs_.push_back(t);
438  embeddedTCMETMuonCorrs_ = true;
439 }
440 
442 void Muon::embedPickyMuon() {
443  pickyMuon_.clear();
445  if (tk.isNonnull()) {
446  pickyMuon_.push_back(*tk);
447  embeddedPickyMuon_ = true;
448  }
449 }
450 
452 void Muon::embedTpfmsMuon() {
453  tpfmsMuon_.clear();
455  if (tk.isNonnull()) {
456  tpfmsMuon_.push_back(*tk);
457  embeddedTpfmsMuon_ = true;
458  }
459 }
460 
462 void Muon::embedDytMuon() {
463  dytMuon_.clear();
465  if (tk.isNonnull()) {
466  dytMuon_.push_back(*tk);
467  embeddedDytMuon_ = true;
468  }
469 }
470 
472 void Muon::readTimeExtra(const reco::MuonTimeExtra& t) {
473  inverseBeta_ = t.inverseBeta();
474  inverseBetaErr_ = t.inverseBetaErr();
475 }
476 
478 void Muon::embedPFCandidate() {
479  pfCandidate_.clear();
480  if (pfCandidateRef_.isAvailable() && pfCandidateRef_.isNonnull()) {
481  pfCandidate_.push_back(*pfCandidateRef_);
482  embeddedPFCandidate_ = true;
483  }
484 }
485 
486 bool Muon::muonID(const std::string& name) const {
488  return muon::isGoodMuon(*this, st);
489 }
490 
495 double Muon::normChi2() const {
496  if (cachedNormChi2_) {
497  return normChi2_;
498  } else {
500  return t->chi2() / t->ndof();
501  }
502 }
503 
508 unsigned int Muon::numberOfValidHits() const {
509  if (cachedNumberOfValidHits_) {
510  return numberOfValidHits_;
511  } else {
513  return t->numberOfValidHits();
514  }
515 }
516 
517 // embed various impact parameters with errors
518 // IpType defines the type of the impact parameter
519 double Muon::dB(IpType type_) const {
520  // more IP types (new)
521  if (cachedIP_ & (1 << int(type_))) {
522  return ip_[type_];
523  } else {
525  }
526 }
527 
528 // embed various impact parameters with errors
529 // IpType defines the type of the impact parameter
530 double Muon::edB(IpType type_) const {
531  // more IP types (new)
532  if (cachedIP_ & (1 << int(type_))) {
533  return eip_[type_];
534  } else {
536  }
537 }
538 
539 double Muon::segmentCompatibility(reco::Muon::ArbitrationType arbitrationType) const {
540  return muon::segmentCompatibility(*this, arbitrationType);
541 }
542 
543 // Selectors
544 bool Muon::isTightMuon(const reco::Vertex& vtx) const { return muon::isTightMuon(*this, vtx); }
545 
546 bool Muon::isLooseMuon() const { return muon::isLooseMuon(*this); }
547 
548 bool Muon::isMediumMuon() const { return muon::isMediumMuon(*this); }
549 
550 bool Muon::isSoftMuon(const reco::Vertex& vtx) const { return muon::isSoftMuon(*this, vtx); }
551 
552 bool Muon::isHighPtMuon(const reco::Vertex& vtx) const { return muon::isHighPtMuon(*this, vtx); }
cmsStageWithFailover.force
force
Definition: cmsStageWithFailover.py:19
cutBasedMuonId_MuonPOG_V0_cff.globalTrack
globalTrack
Definition: cutBasedMuonId_MuonPOG_V0_cff.py:135
alignBH_cfg.fixed
fixed
Definition: alignBH_cfg.py:54
mps_fire.i
i
Definition: mps_fire.py:428
muonProducer_cfi.embedDytMuon
embedDytMuon
embed in AOD externally stored TeV-refit TPFMS muon track
Definition: muonProducer_cfi.py:43
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11724
reco::Muon::muonBestTrack
virtual TrackRef muonBestTrack() const
Definition: Muon.h:60
funct::false
false
Definition: Factorize.h:29
muon::isSoftMuon
bool isSoftMuon(const reco::Muon &, const reco::Vertex &, bool run2016_hip_mitigation=false)
Definition: MuonSelectors.cc:916
Lepton
Definition: Lepton.py:1
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
muon::segmentCompatibility
float segmentCompatibility(const reco::Muon &muon, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
Definition: MuonSelectors.cc:61
reco::Muon::dytTrack
virtual TrackRef dytTrack() const
Definition: Muon.h:56
Muon.h
TrackCollections2monitor_cff.numberOfValidHits
numberOfValidHits
Definition: TrackCollections2monitor_cff.py:248
PDWG_BPHSkim_cff.embedCombinedMuon
embedCombinedMuon
Definition: PDWG_BPHSkim_cff.py:10
PDWG_BPHSkim_cff.embedTcMETMuonCorrs
embedTcMETMuonCorrs
Definition: PDWG_BPHSkim_cff.py:14
reco::Unknown
Definition: MuonSimInfo.h:32
PDWG_BPHSkim_cff.embedStandAloneMuon
embedStandAloneMuon
Definition: PDWG_BPHSkim_cff.py:11
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:46
pat::Muon
Analysis-level muon class.
Definition: Muon.h:51
pat::Muon::Muon
Muon()
default constructor
edm::Handle
Definition: AssociativeIterator.h:50
Muon
Definition: Muon.py:1
reco::Muon
Definition: Muon.h:27
edm::Ref< TrackCollection >
trackingPlots.assoc
assoc
Definition: trackingPlots.py:183
edm::refToPtr
Ptr< typename C::value_type > refToPtr(Ref< C, typename C::value_type, refhelper::FindUsingAdvance< C, typename C::value_type > > const &ref)
Definition: RefToPtr.h:18
TopDecayID::muonID
static const int muonID
Definition: TopGenEvent.h:19
muon::isGoodMuon
bool isGoodMuon(const reco::Muon &muon, SelectionType type, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
main GoodMuon wrapper call
Definition: MuonSelectors.cc:649
muon::isLooseMuon
bool isLooseMuon(const reco::Muon &)
Definition: MuonSelectors.cc:895
trigger::size_type
uint16_t size_type
Definition: TriggerTypeDefs.h:18
None
Definition: APVGainStruct.h:53
reco::MuonTimeExtra
Definition: MuonTimeExtra.h:15
muon::selectionTypeFromString
SelectionType selectionTypeFromString(const std::string &label)
Definition: MuonSelectors.cc:9
muon::SelectionType
SelectionType
Selector type.
Definition: MuonSelectors.h:18
MuonSelectors.h
reco::Muon::pickyTrack
virtual TrackRef pickyTrack() const
Definition: Muon.h:55
reco::Track
Definition: Track.h:27
reco::Muon::outerTrack
virtual TrackRef outerTrack() const
reference to Track reconstructed in the muon detector only
Definition: Muon.h:48
pfCandidate_
reco::CandidatePtr pfCandidate_
Definition: PFRecoTauChargedHadronFromGenericTrackPlugin.cc:195
PDWG_BPHSkim_cff.embedTpfmsMuon
embedTpfmsMuon
Definition: PDWG_BPHSkim_cff.py:17
getGTfromDQMFile.obj
obj
Definition: getGTfromDQMFile.py:32
reco::TrackRef
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:20
reco::Muon::tpfmsTrack
virtual TrackRef tpfmsTrack() const
Definition: Muon.h:54
muon::isHighPtMuon
bool isHighPtMuon(const reco::Muon &, const reco::Vertex &)
Definition: MuonSelectors.cc:933
ntuplemaker.fill
fill
Definition: ntuplemaker.py:304
reco::Muon::globalTrack
virtual TrackRef globalTrack() const
reference to Track reconstructed in both tracked and muon detector
Definition: Muon.h:51
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
muon::isTightMuon
bool isTightMuon(const reco::Muon &, const reco::Vertex &)
Definition: MuonSelectors.cc:880
edm::Ref::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
PDWG_BPHSkim_cff.embedTrack
embedTrack
Definition: PDWG_BPHSkim_cff.py:9
muonProducer_cfi.embedMuonBestTrack
embedMuonBestTrack
Definition: muonProducer_cfi.py:35
RefToPtr.h
muonProducer_cfi.embedTunePMuonBestTrack
embedTunePMuonBestTrack
embed in AOD externally stored muon best track from global pflow
Definition: muonProducer_cfi.py:36
reco::PFCandidateRef
edm::Ref< PFCandidateCollection > PFCandidateRef
persistent reference to a PFCandidate
Definition: PFCandidateFwd.h:24
reco::operator<<
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:66
lowPtGsfElectronSeedValueMaps_cff.rekey
rekey
Definition: lowPtGsfElectronSeedValueMaps_cff.py:7
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
susybsm::HSCParticleType::innerTrack
Definition: HSCParticle.h:20
edm::Association
Definition: Association.h:18
pat
Definition: HeavyIon.h:7
muon::isMediumMuon
bool isMediumMuon(const reco::Muon &, bool run2016_hip_mitigation=false)
Definition: MuonSelectors.cc:899
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::Ptr< reco::Muon >
reco::Muon::innerTrack
virtual TrackRef innerTrack() const
Definition: Muon.h:45
reco::ExtUnknown
Definition: MuonSimInfo.h:47
edm::Ref::id
ProductID id() const
Accessor for product ID.
Definition: Ref.h:244
l1t::Muon::~Muon
~Muon() override
Definition: Muon.cc:102
PDWG_BPHSkim_cff.embedCaloMETMuonCorrs
embedCaloMETMuonCorrs
Definition: PDWG_BPHSkim_cff.py:13
extraflags_cff.vtx
vtx
Definition: extraflags_cff.py:19
PDWG_BPHSkim_cff.embedPFCandidate
embedPFCandidate
Definition: PDWG_BPHSkim_cff.py:12
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
edm::RefToBase
Definition: AssociativeIterator.h:54
Exception.h
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
reco::CandidatePtr
edm::Ptr< Candidate > CandidatePtr
persistent reference to an object in a collection of Candidate objects
Definition: CandidateFwd.h:25
reco::MuonMETCorrectionData
Definition: MuonMETCorrectionData.h:7
reco::LeafCandidate::sourceCandidatePtr
CandidatePtr sourceCandidatePtr(size_type i) const override
Definition: LeafCandidate.h:103
l1t::Muon::Muon
Muon()
Definition: Muon.cc:3
susybsm::HSCParticleType::standAloneMuon
Definition: HSCParticle.h:20
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
reco::Vertex
Definition: Vertex.h:35
PDWG_BPHSkim_cff.embedPickyMuon
embedPickyMuon
Definition: PDWG_BPHSkim_cff.py:16
reco::Muon::ArbitrationType
ArbitrationType
define arbitration schemes
Definition: Muon.h:187
reco::Muon::tunePMuonBestTrack
virtual TrackRef tunePMuonBestTrack() const
Definition: Muon.h:62