15 : m_name(
"FastL1MuCand"),
32 m_charge(
mu.m_charge),
33 m_quality(
mu.m_quality),
35 m_smearedPt(
mu.m_smearedPt) {
50 m_charge(
mu->m_charge),
51 m_quality(
mu->m_quality),
53 m_smearedPt(
mu->m_smearedPt) {
64 LorentzVector toBeRemoved(
p->momentum().x(),
p->momentum().y(),
p->momentum().z(),
p->momentum().t());
91 LorentzVector toBeRemoved(
p->momentum().x(),
p->momentum().y(),
p->momentum().z(),
p->momentum().t());
136 float mindiff = 1000.0;
141 for (
int i = 0;
i < 144;
i++) {
143 if (
diff <= mindiff) {
159 float mindiff = 1000.0;
161 for (
int i = 0;
i < 63;
i++) {
163 if (
diff <= mindiff) {
181 float mindiff = 1000.0;
183 for (
int i = 0;
i < 32;
i++) {
185 if (
diff <= mindiff) {
293 cout.setf(ios::showpoint);
294 cout.setf(ios::right, ios::adjustfield);
295 cout << setiosflags(ios::showpoint |
ios::fixed) <<
"pt = " << setw(5) << setprecision(1) <<
ptValue() <<
" GeV " 296 <<
"charge = " << setw(2) <<
charge() <<
" " 297 <<
"eta = " << setw(5) << setprecision(2) <<
etaValue() <<
" " 298 <<
"phi = " << setw(5) << setprecision(3) <<
phiValue() <<
" rad " 299 <<
"rank = " << setw(6) <<
rank() << endl;
310 s << setiosflags(ios::showpoint |
ios::fixed) <<
"pt = " << setw(5) << setprecision(1) <<
id.ptValue() <<
" GeV " 311 <<
"charge = " << setw(2) <<
id.charge() <<
" " 312 <<
"eta = " << setw(5) << setprecision(2) <<
id.etaValue() <<
" " 313 <<
"phi = " << setw(5) << setprecision(3) <<
id.phiValue() <<
" rad ";
322 const float SimpleL1MuGMTCand::ptScale[32] = {0.0, 0.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0,
323 7.0, 8.0, 10.0, 12.0, 14.0, 16.0, 18.0, 20.0, 25.0, 30.0, 35.0,
324 40.0, 45.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0, 120.0, 140.0};
328 -2.40, -2.35, -2.30, -2.25, -2.20, -2.15, -2.10, -2.05, -2.00, -1.95, -1.90, -1.85, -1.80, -1.75, -1.70, -1.60,
329 -1.50, -1.40, -1.30, -1.20, -1.10, -1.00, -0.90, -0.80, -0.70, -0.60, -0.50, -0.40, -0.30, -0.20, -0.10, 0.00,
330 0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70, 0.80, 0.90, 1.00, 1.10, 1.20, 1.30, 1.40, 1.50, 1.60,
331 1.70, 1.75, 1.80, 1.85, 1.90, 1.95, 2.00, 2.05, 2.10, 2.15, 2.20, 2.25, 2.30, 2.35, 2.40};
335 0.0000, 0.0436, 0.0873, 0.1309, 0.1745, 0.2182, 0.2618, 0.3054, 0.3491, 0.3927, 0.4363, 0.4800, 0.5236, 0.5672,
336 0.6109, 0.6545, 0.6981, 0.7418, 0.7854, 0.8290, 0.8727, 0.9163, 0.9599, 1.0036, 1.0472, 1.0908, 1.1345, 1.1781,
337 1.2217, 1.2654, 1.3090, 1.3526, 1.3963, 1.4399, 1.4835, 1.5272, 1.5708, 1.6144, 1.6581, 1.7017, 1.7453, 1.7890,
338 1.8326, 1.8762, 1.9199, 1.9635, 2.0071, 2.0508, 2.0944, 2.1380, 2.1817, 2.2253, 2.2689, 2.3126, 2.3562, 2.3998,
339 2.4435, 2.4871, 2.5307, 2.5744, 2.6180, 2.6616, 2.7053, 2.7489, 2.7925, 2.8362, 2.8798, 2.9234, 2.9671, 3.0107,
340 3.0543, 3.0980, 3.1416, 3.1852, 3.2289, 3.2725, 3.3161, 3.3598, 3.4034, 3.4470, 3.4907, 3.5343, 3.5779, 3.6216,
341 3.6652, 3.7088, 3.7525, 3.7961, 3.8397, 3.8834, 3.9270, 3.9706, 4.0143, 4.0579, 4.1015, 4.1452, 4.1888, 4.2324,
342 4.2761, 4.3197, 4.3633, 4.4070, 4.4506, 4.4942, 4.5379, 4.5815, 4.6251, 4.6688, 4.7124, 4.7560, 4.7997, 4.8433,
343 4.8869, 4.9306, 4.9742, 5.0178, 5.0615, 5.1051, 5.1487, 5.1924, 5.2360, 5.2796, 5.3233, 5.3669, 5.4105, 5.4542,
344 5.4978, 5.5414, 5.5851, 5.6287, 5.6723, 5.7160, 5.7596, 5.8032, 5.8469, 5.8905, 5.9341, 5.9778, 6.0214, 6.0650,
345 6.1087, 6.1523, 6.1959, 6.2396};
void setPtPacked(unsigned pt)
set packed pt-code of muon candidate
void print() const
print parameters of muon candidate
unsigned int eta() const
get eta-code
bool operator==(const SimpleL1MuGMTCand &) const
equal operator
SimpleL1MuGMTCand & operator=(const SimpleL1MuGMTCand &)
assignment operator
bool operator!=(const SimpleL1MuGMTCand &) const
unequal operator
static const float etaScale[63]
void setPhiValue(float phiVal)
Setters for physical values.
void setFwdBit(unsigned int fwdbit)
set forward bit (1=forward, 0=barrel)
math::XYZTLorentzVector LorentzVector
static const float ptScale[32]
void reset()
reset muon candidate
void setCharge(int charge)
set charge and packed code of muon candidate
int charge() const
get charge
unsigned int phiIndex() const
get phi-code
void setBx(int bx)
set bunch crossing identifier
~SimpleL1MuGMTCand() override
destructor
friend std::ostream & operator<<(std::ostream &, const SimpleL1MuGMTCand &)
output stream operator
void setChargePacked(unsigned ch)
set packed charge/synchronization word of muon candidate (0=POS, 1=NEG, 2=UNDEF, 3=SYNC) ...
void setPt(float pt)
set pt-value and packed code of muon candidate
unsigned int rank() const
get rank
void setEta(float eta)
set eta-value and packed code of muon candidate
void setQuality(unsigned quality)
set quality of muon candidate
bool empty() const
is it an empty muon candidate?
void setEtaPacked(unsigned eta)
set packed eta-code of muon candidate
void setEtaValue(float etaVal)
Set Eta Value (need to set type, first)
void setRPCBit(unsigned int rpcbit)
set RPC bit (1=RPC, 0=DT/CSC or matched)
unsigned int pt() const
get pt-code
SimpleL1MuGMTCand()
constructor
unsigned int phi() const
get phi-code
void setMomentum(const LorentzVector &m)
unsigned int etaIndex() const
get eta-code
void setPhi(float phi)
set phi-value and packed code of muon candidate
void setPtValue(float ptVal)
Set Pt Value.
static const float phiScale[144]
void setPhiPacked(unsigned phi)
set packed phi-code of muon candidate