CMS 3D CMS Logo

Muon.h
Go to the documentation of this file.
1 //
2 //
3 
4 #ifndef DataFormats_PatCandidates_Muon_h
5 #define DataFormats_PatCandidates_Muon_h
6 
26 
32 
33 // Define typedefs for convenience
34 namespace pat {
35  class Muon;
36  typedef std::vector<Muon> MuonCollection;
39 } // namespace pat
40 
41 namespace reco {
43  std::ostream& operator<<(std::ostream& out, const pat::Muon& obj);
44 } // namespace reco
45 
46 // Class definition
47 namespace pat {
48 
49  class PATMuonSlimmer;
50 
51  class Muon : public Lepton<reco::Muon> {
52  public:
54  Muon();
56  Muon(const reco::Muon& aMuon);
58  Muon(const edm::RefToBase<reco::Muon>& aMuonRef);
60  Muon(const edm::Ptr<reco::Muon>& aMuonRef);
62  ~Muon() override;
63 
65  Muon* clone() const override { return new Muon(*this); }
66 
67  // ---- methods for content embedding ----
69  reco::TrackRef track() const override;
70  using reco::RecoCandidate::track; // avoid hiding the base implementation
72  reco::TrackRef innerTrack() const override { return track(); }
74  reco::TrackRef standAloneMuon() const override;
76  reco::TrackRef outerTrack() const override { return standAloneMuon(); }
78  reco::TrackRef combinedMuon() const override;
80  reco::TrackRef globalTrack() const override { return combinedMuon(); }
82  const reco::Track* bestTrack() const override { return muonBestTrack().get(); }
84  reco::TrackRef muonBestTrack() const override;
86  reco::TrackRef tunePMuonBestTrack() const override;
87 
90  void embedMuonBestTrack(bool force = false);
93  void embedTunePMuonBestTrack(bool force = false);
95  void embedTrack();
97  void embedStandAloneMuon();
99  void embedCombinedMuon();
100  // rekey TrackExtra references of embedded tracks
101  void rekeyEmbeddedTracks(std::vector<edm::Handle<edm::Association<reco::TrackExtraCollection>>> const& assocs);
102 
103  // ---- methods for MuonMETCorrectionData ----
106  return (embeddedCaloMETMuonCorrs_ ? caloMETMuonCorrs_.front() : reco::MuonMETCorrectionData());
107  };
111  return (embeddedTCMETMuonCorrs_ ? tcMETMuonCorrs_.front() : reco::MuonMETCorrectionData());
112  };
114 
115  // ---- methods for TeV refit tracks ----
116 
118  reco::TrackRef pickyTrack() const override;
120  reco::TrackRef tpfmsTrack() const override;
122  reco::TrackRef dytTrack() const override;
124  reco::TrackRef pickyMuon() const { return pickyTrack(); } // JMTBAD gcc deprecated attribute?
125  reco::TrackRef tpfmsMuon() const { return tpfmsTrack(); } // JMTBAD gcc deprecated attribute?
127  void embedPickyMuon();
129  void embedTpfmsMuon();
131  void embedDytMuon();
132 
133  // add extra timing information
134  void readTimeExtra(const reco::MuonTimeExtra& t);
135 
136  // ---- PF specific methods ----
139  reco::PFCandidateRef pfCandidateRef() const;
141  void setPFCandidateRef(const reco::PFCandidateRef& ref) { pfCandidateRef_ = ref; }
143  void embedPFCandidate();
145  size_t numberOfSourceCandidatePtrs() const override {
146  size_t res = 0;
147  if (pfCandidateRef_.isNonnull())
148  res++;
149  if (refToOrig_.isNonnull())
150  res++;
151  return res;
152  }
154  reco::CandidatePtr sourceCandidatePtr(size_type i) const override;
155 
156  // ---- methods for accessing muon identification ----
160  bool muonID(const std::string& name) const;
163  bool isGood(const std::string& name) const { return muonID(name); }
166  //bool isMuonIDAvailable(const std::string& name) const;
167 
170  bool isTightMuon(const reco::Vertex&) const;
171  bool isLooseMuon() const;
172  bool isMediumMuon() const;
173  bool isSoftMuon(const reco::Vertex&) const;
174  bool isHighPtMuon(const reco::Vertex&) const;
175 
176  // ---- overload of isolation functions ----
179  float trackIso() const { return isolationR03().sumPt; }
183  float ecalIso() const { return isolationR03().emEt; }
187  float hcalIso() const { return isolationR03().hadEt; }
190  float caloIso() const { return ecalIso() + hcalIso(); }
191 
193  float puppiChargedHadronIso() const { return puppiChargedHadronIso_; }
194  float puppiNeutralHadronIso() const { return puppiNeutralHadronIso_; }
195  float puppiPhotonIso() const { return puppiPhotonIso_; }
197  float puppiNoLeptonsChargedHadronIso() const { return puppiNoLeptonsChargedHadronIso_; }
198  float puppiNoLeptonsNeutralHadronIso() const { return puppiNoLeptonsNeutralHadronIso_; }
199  float puppiNoLeptonsPhotonIso() const { return puppiNoLeptonsPhotonIso_; }
201  void setIsolationPUPPI(float chargedhadrons, float neutralhadrons, float photons) {
202  puppiChargedHadronIso_ = chargedhadrons;
203  puppiNeutralHadronIso_ = neutralhadrons;
204  puppiPhotonIso_ = photons;
205  }
207  void setIsolationPUPPINoLeptons(float chargedhadrons, float neutralhadrons, float photons) {
208  puppiNoLeptonsChargedHadronIso_ = chargedhadrons;
209  puppiNoLeptonsNeutralHadronIso_ = neutralhadrons;
210  puppiNoLeptonsPhotonIso_ = photons;
211  }
212 
218  // as external input.
219 
220  // ---- embed various impact parameters with errors ----
221  //
222  // example:
223  //
224  // // this will return the muon inner track
225  // // transverse impact parameter
226  // // relative to the primary vertex
227  // muon->dB(pat::Muon::PV2D);
228  //
229  // // this will return the uncertainty
230  // // on the muon inner track
231  // // transverse impact parameter
232  // // relative to the primary vertex
233  // // or -1.0 if there is no valid PV in the event
234  // muon->edB(pat::Muon::PV2D);
235  //
236  // IpType defines the type of the impact parameter
237  typedef enum IPTYPE { PV2D = 0, PV3D = 1, BS2D = 2, BS3D = 3, PVDZ = 4, IpTypeSize = 5 } IpType;
238  void initImpactParameters(void); // init IP defaults in a constructor
239  double dB(IPTYPE type) const;
240  double edB(IPTYPE type) const;
241 
243  double dB() const { return std::abs(dB(PV2D)); }
245  double edB() const { return std::abs(edB(PV2D)); }
246 
247  void setDB(double dB, double edB, IPTYPE type = PV2D) {
248  ip_[type] = dB;
249  eip_[type] = edB;
250  cachedIP_ |= (1 << int(type));
251  }
252 
254  unsigned int numberOfValidHits() const;
255  void setNumberOfValidHits(unsigned int numberOfValidHits) {
256  numberOfValidHits_ = numberOfValidHits;
257  cachedNumberOfValidHits_ = true;
258  }
259 
261  double normChi2() const;
262  void setNormChi2(double normChi2) {
263  normChi2_ = normChi2;
264  cachedNormChi2_ = true;
265  }
266 
268  double segmentCompatibility(
270 
272  friend std::ostream& reco::operator<<(std::ostream& out, const pat::Muon& obj);
273 
274  friend class PATMuonSlimmer;
275 
276  float pfEcalEnergy() const { return pfEcalEnergy_; }
277  void setPfEcalEnergy(float pfEcalEnergy) { pfEcalEnergy_ = pfEcalEnergy; }
278 
280  float jetPtRatio() const { return jetPtRatio_; }
281  float jetPtRel() const { return jetPtRel_; }
282  void setJetPtRatio(float jetPtRatio) { jetPtRatio_ = jetPtRatio; }
283  void setJetPtRel(float jetPtRel) { jetPtRel_ = jetPtRel; }
284 
286  float mvaValue() const { return mvaValue_; }
287  void setMvaValue(float mva) { mvaValue_ = mva; }
288 
289  // Low pt Muon MVA
290  float lowptMvaValue() const { return lowptMvaValue_; }
291  void setLowPtMvaValue(float lowptmva) { lowptMvaValue_ = lowptmva; }
292 
294  float softMvaValue() const { return softMvaValue_; }
295  void setSoftMvaValue(float softmva) { softMvaValue_ = softmva; }
296 
297  // 1/beta for prompt particle hypothesis
299  float inverseBeta() const { return inverseBeta_; }
300  float inverseBetaErr() const { return inverseBetaErr_; }
301 
303  reco::MuonSimType simType() const { return simType_; }
304  reco::ExtendedMuonSimType simExtType() const { return simExtType_; }
305  // FLAVOUR:
306  // - for non-muons: 0
307  // - for primary muons: 13
308  // - for non primary muons: flavour of the mother: std::abs(pdgId) of heaviest quark, or 15 for tau
309  int simFlavour() const { return simFlavour_; }
310  int simHeaviestMotherFlavour() const { return simHeaviestMotherFlavour_; }
311  int simPdgId() const { return simPdgId_; }
312  int simMotherPdgId() const { return simMotherPdgId_; }
313  int simBX() const { return simBX_; }
314  int simTpEvent() const { return simTpEvent_; }
315  float simProdRho() const { return simProdRho_; }
316  float simProdZ() const { return simProdZ_; }
317  float simPt() const { return simPt_; }
318  float simEta() const { return simEta_; }
319  float simPhi() const { return simPhi_; }
320  float simMatchQuality() const { return simMatchQuality_; }
321 
322  void initSimInfo(void);
323  void setSimType(reco::MuonSimType type) { simType_ = type; }
324  void setExtSimType(reco::ExtendedMuonSimType type) { simExtType_ = type; }
325  void setSimFlavour(int f) { simFlavour_ = f; }
326  void setSimHeaviestMotherFlavour(int id) { simHeaviestMotherFlavour_ = id; }
327  void setSimPdgId(int id) { simPdgId_ = id; }
328  void setSimMotherPdgId(int id) { simMotherPdgId_ = id; }
329  void setSimBX(int bx) { simBX_ = bx; }
330  void setSimTpEvent(int tpEvent) { simTpEvent_ = tpEvent; }
331  void setSimProdRho(float rho) { simProdRho_ = rho; }
332  void setSimProdZ(float z) { simProdZ_ = z; }
333  void setSimPt(float pt) { simPt_ = pt; }
334  void setSimEta(float eta) { simEta_ = eta; }
335  void setSimPhi(float phi) { simPhi_ = phi; }
336  void setSimMatchQuality(float quality) { simMatchQuality_ = quality; }
337 
339  const pat::TriggerObjectStandAlone* l1Object(const size_t idx = 0) const {
340  return triggerObjectMatchByType(trigger::TriggerL1Mu, idx);
341  }
342  const pat::TriggerObjectStandAlone* hltObject(const size_t idx = 0) const {
343  return triggerObjectMatchByType(trigger::TriggerMuon, idx);
344  }
345  bool triggered(const char* pathName) const { return triggerObjectMatchByPath(pathName, true, true) != nullptr; }
346 
347  protected:
348  // ---- for content embedding ----
349 
352  std::vector<reco::Track> muonBestTrack_;
355  std::vector<reco::Track> tunePMuonBestTrack_;
358  std::vector<reco::Track> track_;
361  std::vector<reco::Track> standAloneMuon_;
364  std::vector<reco::Track> combinedMuon_;
365 
368  std::vector<reco::MuonMETCorrectionData> tcMETMuonCorrs_;
371  std::vector<reco::MuonMETCorrectionData> caloMETMuonCorrs_;
372 
373  // Capability to embed TeV refit tracks as the inner/outer/combined ones.
377  std::vector<reco::Track> pickyMuon_;
378  std::vector<reco::Track> tpfmsMuon_;
379  std::vector<reco::Track> dytMuon_;
380 
381  // ---- PF specific members ----
390 
391  // V+Jets group selection variables.
393  double normChi2_;
394 
396  unsigned int numberOfValidHits_;
397 
398  // ---- cached impact parameters ----
399  uint8_t cachedIP_; // has the IP (former dB) been cached?
400  float ip_[IpTypeSize]; // dB and edB are the impact parameter at the primary vertex,
401  float eip_[IpTypeSize]; // and its uncertainty as recommended by the tracking group
402 
411 
413 
415  float jetPtRatio_;
416  float jetPtRel_;
417 
419  float mvaValue_;
422 
426 
434  int simBX_;
436  float simProdRho_;
437  float simProdZ_;
438  float simPt_;
439  float simEta_;
440  float simPhi_;
442  };
443 
444 } // namespace pat
445 
446 #endif
float inverseBetaErr() const
Definition: Muon.h:300
type
Definition: HCALResponse.h:21
embedCombinedMuon
whether to embed in AOD externally stored standalone muon track
float ecalIso() const
Definition: Muon.h:183
reco::PFCandidateRef pfCandidateRef_
Definition: Muon.h:389
void setLowPtMvaValue(float lowptmva)
Definition: Muon.h:291
bool embeddedTCMETMuonCorrs_
muon MET corrections for tcMET
Definition: Muon.h:367
embedPFCandidate
embed in AOD externally stored the electron&#39;s pflow preshower clusters
edm::RefVector< MuonCollection > MuonRefVector
Definition: Muon.h:38
float puppiPhotonIso_
Definition: Muon.h:406
reco::MuonSimType simType_
MC matching information.
Definition: Muon.h:428
void setMvaValue(float mva)
Definition: Muon.h:287
uint8_t cachedIP_
globalTrack->numberOfValidHits()
Definition: Muon.h:399
size_t size_type
Definition: Candidate.h:30
reco::TrackRef tpfmsMuon() const
Definition: Muon.h:125
bool isMediumMuon(const reco::Muon &, bool run2016_hip_mitigation=false)
int simBX_
Definition: Muon.h:434
unsigned int numberOfValidHits_
has the numberOfValidHits been cached?
Definition: Muon.h:396
enum start value shifted to 81 so as to avoid clashes with PDG codes
float puppiNoLeptonsPhotonIso() const
Definition: Muon.h:199
float simProdRho() const
Definition: Muon.h:315
void setSimFlavour(int f)
Definition: Muon.h:325
embedDytMuon
embed in AOD externally stored TeV-refit TPFMS muon track
bool embeddedTrack_
track of inner track detector
Definition: Muon.h:357
ExtendedMuonSimType
Definition: MuonSimInfo.h:46
double edB() const
the version without arguments returns PD2D, but with an absolute value (for backwards compatibility) ...
Definition: Muon.h:245
float inverseBeta() const
(time is constraint to the bunch crossing time)
Definition: Muon.h:299
float simPt() const
Definition: Muon.h:317
float simProdRho_
Definition: Muon.h:436
std::vector< reco::MuonMETCorrectionData > tcMETMuonCorrs_
Definition: Muon.h:368
void setIsolationPUPPINoLeptons(float chargedhadrons, float neutralhadrons, float photons)
sets PUPPINoLeptons isolations
Definition: Muon.h:207
bool cachedNumberOfValidHits_
globalTrack->chi2() / globalTrack->ndof()
Definition: Muon.h:395
void setSimBX(int bx)
Definition: Muon.h:329
int simHeaviestMotherFlavour() const
Definition: Muon.h:310
bool embeddedStandAloneMuon_
track of muon system
Definition: Muon.h:360
float puppiNeutralHadronIso_
Definition: Muon.h:405
edm::Ref< MuonCollection > MuonRef
Definition: Muon.h:37
std::vector< reco::Track > tunePMuonBestTrack_
Definition: Muon.h:355
int simFlavour() const
Definition: Muon.h:309
bool isGood(const std::string &name) const
Definition: Muon.h:163
void setSimPhi(float phi)
Definition: Muon.h:335
void setSimProdRho(float rho)
Definition: Muon.h:331
void setSimHeaviestMotherFlavour(int id)
Definition: Muon.h:326
bool embeddedPickyMuon_
Definition: Muon.h:374
void setPFCandidateRef(const reco::PFCandidateRef &ref)
add a reference to the source IsolatedPFCandidate
Definition: Muon.h:141
float caloIso() const
Definition: Muon.h:190
Definition: Electron.h:6
void setSimType(reco::MuonSimType type)
Definition: Muon.h:323
float simMatchQuality_
Definition: Muon.h:441
const pat::TriggerObjectStandAlone * hltObject(const size_t idx=0) const
Definition: Muon.h:342
float trackIso() const
Definition: Muon.h:179
void setIsolationPUPPI(float chargedhadrons, float neutralhadrons, float photons)
sets PUPPI isolations
Definition: Muon.h:201
MuonSimType
Definition: MuonSimInfo.h:31
bool isLooseMuon(const reco::Muon &)
float inverseBeta_
Inverse beta.
Definition: Muon.h:424
virtual reco::TrackRef track() const
reference to a Track
Definition: HeavyIon.h:7
float hcalIso() const
Definition: Muon.h:187
embedPickyMuon
embed in AOD externally stored standalone muon track
float mvaValue_
Muon MVA.
Definition: Muon.h:419
bool triggered(const char *pathName) const
Definition: Muon.h:345
std::vector< reco::Track > pickyMuon_
Definition: Muon.h:377
float inverseBetaErr_
Definition: Muon.h:425
int simHeaviestMotherFlavour_
Definition: Muon.h:431
float puppiNoLeptonsChargedHadronIso_
PUPPINoLeptons isolations.
Definition: Muon.h:408
float puppiNoLeptonsNeutralHadronIso() const
Definition: Muon.h:198
bool embeddedTpfmsMuon_
Definition: Muon.h:375
bool cachedNormChi2_
Definition: Muon.h:392
reco::ExtendedMuonSimType simExtType() const
Definition: Muon.h:304
float jetPtRatio() const
near-by jet information
Definition: Muon.h:280
int simPdgId_
Definition: Muon.h:432
std::vector< reco::MuonMETCorrectionData > caloMETMuonCorrs_
Definition: Muon.h:371
reco::PFCandidateCollection pfCandidate_
Definition: Muon.h:386
reco::TrackRef innerTrack() const override
reference to Track reconstructed in the tracker only (reimplemented from reco::Muon) ...
Definition: Muon.h:72
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:71
embedTrack
embed in AOD externally stored particle flow candidate
void setDB(double dB, double edB, IPTYPE type=PV2D)
Definition: Muon.h:247
std::vector< reco::Track > dytMuon_
Definition: Muon.h:379
reco::TrackRef outerTrack() const override
reference to Track reconstructed in the muon detector only (reimplemented from reco::Muon) ...
Definition: Muon.h:76
Definition: Muon.py:1
double normChi2_
has the normalized chi2 been cached?
Definition: Muon.h:393
enum pat::Muon::IPTYPE IpType
float simPhi() const
Definition: Muon.h:319
ArbitrationType
define arbitration schemes
Definition: Muon.h:186
bool embeddedTunePMuonBestTrack_
best muon track (muon only)
Definition: Muon.h:354
float jetPtRel() const
Definition: Muon.h:281
float puppiNoLeptonsPhotonIso_
Definition: Muon.h:410
int simTpEvent_
Definition: Muon.h:435
Muon * clone() const override
required reimplementation of the Candidate&#39;s clone method
Definition: Muon.h:65
std::ostream & operator<<(std::ostream &out, const strbitset::index_type &r)
Definition: strbitset.cc:27
float softMvaValue() const
Soft Muon MVA.
Definition: Muon.h:294
float puppiNeutralHadronIso() const
Definition: Muon.h:194
reco::MuonMETCorrectionData tcMETMuonCorrs() const
muon MET corrections for tcMET; returns the muon correction struct if embedded during pat tuple produ...
Definition: Muon.h:110
bool embeddedDytMuon_
Definition: Muon.h:376
void setJetPtRel(float jetPtRel)
Definition: Muon.h:283
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
void setSoftMvaValue(float softmva)
Definition: Muon.h:295
int simTpEvent() const
Definition: Muon.h:314
float segmentCompatibility(const reco::Muon &muon, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
double f[11][100]
float puppiChargedHadronIso() const
returns PUPPI isolations
Definition: Muon.h:193
float puppiPhotonIso() const
Definition: Muon.h:195
float jetPtRatio_
near-by jet information
Definition: Muon.h:415
float softMvaValue_
Definition: Muon.h:421
bool isSoftMuon(const reco::Muon &, const reco::Vertex &, bool run2016_hip_mitigation=false)
bool embeddedPFCandidate_
true if the IsolatedPFCandidate is embedded
Definition: Muon.h:383
bool embeddedCaloMETMuonCorrs_
muon MET corrections for caloMET
Definition: Muon.h:370
float pfEcalEnergy() const
Definition: Muon.h:276
Slimmer of PAT Muons.
float puppiNoLeptonsChargedHadronIso() const
returns PUPPINoLeptons isolations
Definition: Muon.h:197
float puppiNoLeptonsNeutralHadronIso_
Definition: Muon.h:409
std::vector< reco::PFCandidate > PFCandidateCollection
collection of PFCandidates
const reco::Track * bestTrack() const override
Track selected to be the best measurement of the muon parameters (including PFlow global information)...
Definition: Muon.h:82
bool isHighPtMuon(const reco::Muon &, const reco::Vertex &)
float simEta() const
Definition: Muon.h:318
static const int muonID
Definition: TopGenEvent.h:20
embedTpfmsMuon
embed in AOD externally stored TeV-refit picky muon track
bool embeddedCombinedMuon_
track of combined fit
Definition: Muon.h:363
IPTYPE
Definition: Muon.h:237
int simPdgId() const
Definition: Muon.h:311
void setPfEcalEnergy(float pfEcalEnergy)
Definition: Muon.h:277
int simBX() const
Definition: Muon.h:313
float lowptMvaValue() const
Definition: Muon.h:290
void setJetPtRatio(float jetPtRatio)
Definition: Muon.h:282
reco::TrackRef globalTrack() const override
reference to Track reconstructed in both tracked and muon detector (reimplemented from reco::Muon) ...
Definition: Muon.h:80
void setSimMotherPdgId(int id)
Definition: Muon.h:328
void setExtSimType(reco::ExtendedMuonSimType type)
Definition: Muon.h:324
float simProdZ_
Definition: Muon.h:437
double dB() const
the version without arguments returns PD2D, but with an absolute value (for backwards compatibility) ...
Definition: Muon.h:243
std::vector< reco::Track > muonBestTrack_
Definition: Muon.h:352
int simMotherPdgId() const
Definition: Muon.h:312
std::vector< Muon > MuonCollection
Definition: Muon.h:35
std::vector< reco::Track > track_
Definition: Muon.h:358
float pfEcalEnergy_
Definition: Muon.h:412
float simPt_
Definition: Muon.h:438
void setSimProdZ(float z)
Definition: Muon.h:332
fixed size matrix
std::vector< reco::Track > combinedMuon_
Definition: Muon.h:364
void setNormChi2(double normChi2)
Definition: Muon.h:262
std::vector< reco::Track > standAloneMuon_
Definition: Muon.h:361
void setSimPdgId(int id)
Definition: Muon.h:327
void setSimPt(float pt)
Definition: Muon.h:333
embedStandAloneMuon
whether to embed in AOD externally stored gsf track
float jetPtRel_
Definition: Muon.h:416
reco::MuonSimType simType() const
MC matching information.
Definition: Muon.h:303
embedTunePMuonBestTrack
embed in AOD externally stored muon best track from global pflow
size_t numberOfSourceCandidatePtrs() const override
get the number of non-null PF candidates
Definition: Muon.h:145
reco::TrackRef pickyMuon() const
Deprecated accessors to call the corresponding above two functions; no dytMuon since this naming is d...
Definition: Muon.h:124
float simProdZ() const
Definition: Muon.h:316
float simMatchQuality() const
Definition: Muon.h:320
Definition: Lepton.py:1
float simEta_
Definition: Muon.h:439
bool isTightMuon(const reco::Muon &, const reco::Vertex &)
float puppiChargedHadronIso_
PUPPI isolations.
Definition: Muon.h:404
float mvaValue() const
Muon MVA.
Definition: Muon.h:286
void setNumberOfValidHits(unsigned int numberOfValidHits)
Definition: Muon.h:255
void setSimEta(float eta)
Definition: Muon.h:334
Analysis-level muon class.
Definition: Muon.h:51
bool embeddedMuonBestTrack_
best muon track (global pflow)
Definition: Muon.h:351
int simFlavour_
Definition: Muon.h:430
float lowptMvaValue_
Definition: Muon.h:420
int simMotherPdgId_
Definition: Muon.h:433
const pat::TriggerObjectStandAlone * l1Object(const size_t idx=0) const
Trigger information.
Definition: Muon.h:339
Analysis-level trigger object class (stand-alone)
std::vector< reco::Track > tpfmsMuon_
Definition: Muon.h:378
void setSimMatchQuality(float quality)
Definition: Muon.h:336
float simPhi_
Definition: Muon.h:440
reco::ExtendedMuonSimType simExtType_
Definition: Muon.h:429
void setSimTpEvent(int tpEvent)
Definition: Muon.h:330
reco::MuonMETCorrectionData caloMETMuonCorrs() const
muon MET corrections for caloMET; returns the muon correction struct if embedded during pat tuple pro...
Definition: Muon.h:105