CMS 3D CMS Logo

Muon.h
Go to the documentation of this file.
1 #ifndef DataFormats_L1Trigger_Muon_h
2 #define DataFormats_L1Trigger_Muon_h
3 
8 
9 namespace l1t {
10 
11  class Muon;
15  typedef std::vector< MuonRef > MuonVectorRef ;
16 
20 
21  class Muon : public L1Candidate {
22 
23  public:
24  Muon();
25 
26  Muon( const LorentzVector& p4,
27  int pt=0,
28  int eta=0,
29  int phi=0,
30  int qual=0,
31  int charge=0,
32  int chargeValid=0,
33  int iso=0,
34  int tfMuonIndex=-1,
35  int tag=0,
36  bool debug = false,
37  int isoSum = 0,
38  int dPhi = 0,
39  int dEta = 0,
40  int rank = 0,
41  int hwEtaAtVtx = 0,
42  int hwPhiAtVtx = 0,
43  double etaAtVtx = 0.,
44  double phiAtVtx = 0.);
45 
46  Muon( const PolarLorentzVector& p4,
47  int pt=0,
48  int eta=0,
49  int phi=0,
50  int qual=0,
51  int charge=0,
52  int chargeValid=0,
53  int iso=0,
54  int tfMuonIndex=-1,
55  int tag=0,
56  bool debug = false,
57  int isoSum = 0,
58  int dPhi = 0,
59  int dEta = 0,
60  int rank = 0,
61  int hwEtaAtVtx = 0,
62  int hwPhiAtVtx = 0,
63  double etaAtVtx = 0.,
64  double phiAtVtx = 0.);
65 
66  ~Muon();
67 
68  // set values
69  inline void setHwCharge(int charge) { hwCharge_ = charge; };
70  inline void setHwChargeValid(int valid) { hwChargeValid_ = valid; };
71  inline void setTfMuonIndex(int index) { tfMuonIndex_ = index; };
72  inline void setHwTag(int tag) { hwTag_ = tag; };
73 
76  inline void setEtaAtVtx(double etaAtVtx) { etaAtVtx_ = etaAtVtx; };
77  inline void setPhiAtVtx(double phiAtVtx) { phiAtVtx_ = phiAtVtx; };
78 
79  inline void setHwIsoSum(int isoSum) { hwIsoSum_ = isoSum; };
80  inline void setHwDPhiExtra(int dPhi) { hwDPhiExtra_ = dPhi; };
81  inline void setHwDEtaExtra(int dEta) { hwDEtaExtra_ = dEta; };
82  inline void setHwRank(int rank) { hwRank_ = rank; };
83 
84  inline void setDebug(bool debug) { debug_ = debug; };
85 
86  // methods to retrieve values
87  inline int hwCharge() const { return hwCharge_; };
88  inline int hwChargeValid() const { return hwChargeValid_; };
89  inline int tfMuonIndex() const { return tfMuonIndex_; };
90  inline int hwTag() const { return hwTag_; };
91 
92  inline int hwEtaAtVtx() const { return hwEtaAtVtx_; };
93  inline int hwPhiAtVtx() const { return hwPhiAtVtx_; };
94  inline double etaAtVtx() const { return etaAtVtx_; };
95  inline double phiAtVtx() const { return phiAtVtx_; };
96 
97  inline int hwIsoSum() const { return hwIsoSum_; };
98  inline int hwDPhiExtra() const { return hwDPhiExtra_; };
99  inline int hwDEtaExtra() const { return hwDEtaExtra_; };
100  inline int hwRank() const { return hwRank_; };
101 
102  inline bool debug() const { return debug_; };
103 
104  virtual bool operator==(const l1t::Muon& rhs) const;
105  virtual inline bool operator!=(const l1t::Muon& rhs) const { return !(operator==(rhs)); };
106 
107  private:
108 
109  // additional hardware quantities common to L1 global jet
110  int hwCharge_;
113  int hwTag_;
114 
115  // additional hardware quantities only available if debug flag is set
116  bool debug_;
120  int hwRank_;
121 
122  // muon coordinates at the vertex
125  double etaAtVtx_;
126  double phiAtVtx_;
127  };
128 
129 }
130 
131 #endif
int hwPhiAtVtx() const
Definition: Muon.h:93
double eta() const final
momentum pseudorapidity
int hwDPhiExtra_
Definition: Muon.h:118
ObjectRefPairBxCollection< Muon > MuonRefPairBxCollection
Definition: Muon.h:19
int hwDPhiExtra() const
Definition: Muon.h:98
double phiAtVtx_
Definition: Muon.h:126
ObjectRefPair< Muon > MuonRefPair
Definition: Muon.h:18
void setHwTag(int tag)
Definition: Muon.h:72
int hwRank() const
Definition: Muon.h:100
int hwDEtaExtra_
Definition: Muon.h:119
~Muon()
Definition: Muon.cc:96
void setPhiAtVtx(double phiAtVtx)
Definition: Muon.h:77
double pt() const final
transverse momentum
void setHwDPhiExtra(int dPhi)
Definition: Muon.h:80
int charge() const final
electric charge
Definition: LeafCandidate.h:91
delete x;
Definition: CaloConfig.h:22
std::vector< MuonRef > MuonVectorRef
Definition: Muon.h:15
edm::Ref< MuonBxCollection > MuonRef
Definition: Muon.h:13
int hwDEtaExtra() const
Definition: Muon.h:99
virtual bool operator!=(const l1t::Muon &rhs) const
Definition: Muon.h:105
ObjectRefBxCollection< Muon > MuonRefBxCollection
Definition: Muon.h:17
int tfMuonIndex_
Definition: Muon.h:112
bool debug_
Definition: Muon.h:116
void setTfMuonIndex(int index)
Definition: Muon.h:71
Definition: Muon.py:1
int hwTag() const
Definition: Muon.h:90
void setHwCharge(int charge)
Definition: Muon.h:69
void setHwChargeValid(int valid)
Definition: Muon.h:70
void setHwPhiAtVtx(int hwPhiAtVtx)
Definition: Muon.h:75
double etaAtVtx() const
Definition: Muon.h:94
int hwCharge_
Definition: Muon.h:105
const LorentzVector & p4() const final
four-momentum Lorentz vector
Definition: LeafCandidate.h:99
void setHwIsoSum(int isoSum)
Definition: Muon.h:79
unsigned int index
Definition: LeafCandidate.h:31
int hwRank_
Definition: Muon.h:120
bool debug() const
Definition: Muon.h:102
Definition: Muon.h:21
std::pair< edm::Ref< BXVector< T >>, edm::Ref< BXVector< T >>> ObjectRefPair
BXVector< Muon > MuonBxCollection
Definition: Muon.h:11
unsigned int index
index type
Definition: Candidate.h:51
int tfMuonIndex() const
Definition: Muon.h:89
void setHwEtaAtVtx(int hwEtaAtVtx)
Definition: Muon.h:74
int hwIsoSum_
Definition: Muon.h:117
int hwEtaAtVtx() const
Definition: Muon.h:92
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
int hwEtaAtVtx_
Definition: Muon.h:123
int hwPhiAtVtx_
Definition: Muon.h:124
void setHwDEtaExtra(int dEta)
Definition: Muon.h:81
int hwTag_
Definition: Muon.h:113
edm::RefVector< MuonBxCollection > MuonRefVector
Definition: Muon.h:14
int hwChargeValid_
Definition: Muon.h:111
isoSum
===> compute the isolation and find the most isolated track
double phiAtVtx() const
Definition: Muon.h:95
double etaAtVtx_
Definition: Muon.h:125
void setDebug(bool debug)
Definition: Muon.h:84
int hwChargeValid() const
Definition: Muon.h:88
double phi() const final
momentum azimuthal angle
virtual bool operator==(const l1t::Muon &rhs) const
Definition: Muon.cc:101
int hwIsoSum() const
Definition: Muon.h:97
Muon()
Definition: Muon.cc:3
void setHwRank(int rank)
Definition: Muon.h:82
int hwCharge() const
Definition: Muon.h:87
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: Candidate.h:39
void setEtaAtVtx(double etaAtVtx)
Definition: Muon.h:76