CMS 3D CMS Logo

L1MuonParticle.h
Go to the documentation of this file.
1 #ifndef L1Trigger_L1MuonParticle_h
2 #define L1Trigger_L1MuonParticle_h
3 // -*- C++ -*-
4 //
5 // Package: L1Trigger
6 // Class : L1MuonParticle
7 //
12 //
13 // Original Author: Werner Sun
14 // Created: Sat Jul 15 12:41:07 EDT 2006
15 //
16 
17 // system include files
18 
19 // user include files
22 
23 // forward declarations
24 
25 namespace l1extra {
26 
28  public:
30 
31  // Eventually, all L1MuGMTCands will be L1MuGMTExtendedCands,
32  // as soon as dictionaries for them exist in
33  // L1Trigger/GlobalMuonTrigger.
34 
35  L1MuonParticle(Charge q, const LorentzVector& p4, const L1MuGMTExtendedCand& aCand, int bx = 0);
36 
37  L1MuonParticle(Charge q, const PolarLorentzVector& p4, const L1MuGMTExtendedCand& aCand, int bx = 0);
38 
39  // Creates null Ref.
41  const LorentzVector& p4,
42  bool isolated = false,
43  bool mip = false,
44  bool forward = false,
45  bool rpc = false,
46  unsigned int detector = 0,
47  int bx = 0);
48 
50  const PolarLorentzVector& p4,
51  bool isolated = false,
52  bool mip = false,
53  bool forward = false,
54  bool rpc = false,
55  unsigned int detector = 0,
56  int bx = 0);
57 
58  ~L1MuonParticle() override {}
59 
60  // ---------- const member functions ---------------------
61  bool isIsolated() const { return isolated_; }
62 
63  bool isMip() const { return mip_; }
64 
65  bool isForward() const { return forward_; }
66 
67  bool isRPC() const { return rpc_; }
68 
69  const L1MuGMTExtendedCand& gmtMuonCand() const { return cand_; }
70 
71  L1MuonParticle* clone() const override { return new L1MuonParticle(*this); }
72 
73  int bx() const { return bx_; }
74 
75  // ---------- static member functions --------------------
76 
77  // ---------- member functions ---------------------------
78  void setIsolated(bool isIso) { isolated_ = isIso; }
79 
80  void setMip(bool isMip) { mip_ = isMip; }
81 
83 
84  void setRPC(bool isRPC) { rpc_ = isRPC; }
85 
86  void setBx(int bx) { bx_ = bx; }
87 
88  private:
89  // L1MuonParticle(const L1MuonParticle&); // stop default
90 
91  // const L1MuonParticle& operator=(const L1MuonParticle&); // stop default
92 
93  // ---------- member data --------------------------------
94  bool isolated_;
95  bool mip_;
96  bool forward_;
97  bool rpc_;
99  int bx_;
100  };
101 } // namespace l1extra
102 
103 #endif
int Charge
electric charge type
Definition: Candidate.h:34
void setMip(bool isMip)
const LorentzVector & p4() const final
four-momentum Lorentz vector
L1MuGMTExtendedCand cand_
const L1MuGMTExtendedCand & gmtMuonCand() const
L1MuonParticle * clone() const override
returns a clone of the Candidate object
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:36
void setRPC(bool isRPC)
void setIsolated(bool isIso)
void setForward(bool isForward)
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: Candidate.h:38