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) {
110 if (fabs(etaValue) > 1.04)
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
unsigned int rank() const
get rank
unsigned int phiIndex() const
get phi-code
int charge() const
get charge
unsigned int etaIndex() const
get eta-code
float charge() const
charge
SimpleL1MuGMTCand & operator=(const SimpleL1MuGMTCand &)
assignment operator
void print() const
print parameters of muon candidate
bool operator!=(const SimpleL1MuGMTCand &) const
unequal operator
bool operator==(const SimpleL1MuGMTCand &) const
equal operator
unsigned int pt() const
get pt-code
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
void setBx(int bx)
set bunch crossing identifier
bool empty() const
is it an empty muon candidate?
~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
void setEta(float eta)
set eta-value and packed code of muon candidate
void setQuality(unsigned quality)
set quality of 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)
const LorentzVector getMomentum() const
void setRPCBit(unsigned int rpcbit)
set RPC bit (1=RPC, 0=DT/CSC or matched)
SimpleL1MuGMTCand()
constructor
const math::XYZTLorentzVectorD & momentum() const
void setMomentum(const LorentzVector &m)
unsigned int phi() const
get phi-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