39 fillMuon(mu, (uint32_t)(dataword & 0xFFFFFFFF), (uint32_t)((dataword >> 32) & 0xFFFFFFFF));
45 int abs_eta = mu.
hwEta();
47 abs_eta += (1 << (etaSignShift_ - absEtaShift_));
49 raw_data_00_31 = (mu.
hwPt() & ptMask_) << ptShift_
50 | (mu.
hwQual() & qualMask_) << qualShift_
51 | (abs_eta & absEtaMask_) << absEtaShift_
52 | (mu.
hwEta() < 0) << etaSignShift_
53 | (mu.
hwPhi() & phiMask_) << phiShift_;
55 raw_data_32_63 = mu.
hwCharge() << chargeShift_
57 | (mu.
tfMuonIndex() & tfMuonIndexMask_) << tfMuonIndexShift_
58 | (mu.
hwIso() & isoMask_) << isoShift_;
67 generatePackedDataWords(mu, lsw, msw);
68 return (((
uint64_t)msw) << 32) + lsw;
static const unsigned tfMuonIndexShift_
static const unsigned phiMask_
static const unsigned isoShift_
static void fillMuon(Muon &, uint32_t, uint32_t)
static const unsigned etaSignShift_
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
static const unsigned qualShift_
static const unsigned tfMuonIndexMask_
void setTfMuonIndex(int index)
static const unsigned absEtaShift_
void setHwCharge(int charge)
static const unsigned phiShift_
void setHwChargeValid(int valid)
virtual void setCharge(Charge q) final
set electric charge
static const unsigned chargeValidShift_
static const unsigned absEtaMask_
static uint64_t generate64bitDataWord(const Muon &)
unsigned long long uint64_t
static const unsigned ptShift_
virtual void setP4(const LorentzVector &p4) final
set 4-momentum
static void generatePackedDataWords(const Muon &, uint32_t &, uint32_t &)
static const unsigned isoMask_
static const unsigned chargeShift_
static const unsigned qualMask_
int hwChargeValid() const
static const unsigned ptMask_