CMS 3D CMS Logo

List of all members | Static Public Member Functions | Static Public Attributes | Static Private Member Functions
l1t::MuonRawDigiTranslator Class Reference

#include <MuonRawDigiTranslator.h>

Static Public Member Functions

static int calcHwEta (const uint32_t &raw, const unsigned absEtaShift, const unsigned etaSignShift)
 
static void fillIntermediateMuon (Muon &mu, uint32_t raw_data_00_31, uint32_t raw_data_32_63, unsigned int fw)
 
static void fillMuon (Muon &mu, uint32_t raw_data_spare, uint32_t raw_data_00_31, uint32_t raw_data_32_63, int fed, unsigned int fw, int muInBx)
 
static void fillMuon (Muon &mu, uint32_t raw_data_spare, uint64_t dataword, int fed, unsigned int fw, int muInBx)
 
static void generate64bitDataWord (const Muon &mu, uint32_t &raw_data_spare, uint64_t &dataword, int fedId, int fwId, int muInBx)
 
static void generatePackedDataWords (const Muon &mu, uint32_t &raw_data_spare, uint32_t &raw_data_00_31, uint32_t &raw_data_32_63, int fedId, int fwId, int muInBx)
 

Static Public Attributes

static constexpr unsigned absEtaAtVtxShift_ = 23
 
static constexpr unsigned absEtaMask_ = 0xFF
 
static constexpr unsigned absEtaMu1Shift_ = 13
 
static constexpr unsigned absEtaMu2Shift_ = 22
 
static constexpr unsigned absEtaShift_ = 21
 
static constexpr unsigned chargeShift_ = 2
 
static constexpr unsigned chargeValidShift_ = 3
 
static constexpr unsigned dxyMask_ = 0x3
 
static constexpr unsigned dxyShift_ = 30
 
static constexpr unsigned etaAtVtxSignShift_ = 31
 
static constexpr unsigned etaMu1SignShift_ = 21
 
static constexpr unsigned etaMu2SignShift_ = 30
 
static constexpr unsigned etaSignShift_ = 29
 
static constexpr unsigned isoMask_ = 0x3
 
static constexpr unsigned isoShift_ = 0
 
static constexpr unsigned phiAtVtxShift_ = 0
 
static constexpr unsigned phiMask_ = 0x3FF
 
static constexpr unsigned phiShift_ = 11
 
static constexpr unsigned ptMask_ = 0x1FF
 
static constexpr unsigned ptShift_ = 10
 
static constexpr unsigned ptUnconstrainedIntermedidateShift_ = 0
 
static constexpr unsigned ptUnconstrainedMask_ = 0xFF
 
static constexpr unsigned ptUnconstrainedShift_ = 21
 
static constexpr unsigned qualMask_ = 0xF
 
static constexpr unsigned qualShift_ = 19
 
static constexpr unsigned tfMuonIndexMask_ = 0x7F
 
static constexpr unsigned tfMuonIndexShift_ = 4
 

Static Private Member Functions

static void fillIntermediateMuonQuantitiesRun3 (Muon &mu, uint32_t raw_data_00_31, uint32_t raw_data_32_63)
 
static void fillMuonCoordinates2016 (Muon &mu, uint32_t raw_data_00_31, uint32_t raw_data_32_63)
 
static void fillMuonCoordinatesFrom2017 (Muon &mu, uint32_t raw_data_00_31, uint32_t raw_data_32_63)
 
static void fillMuonQuantitiesRun3 (Muon &mu, uint32_t raw_data_spare, uint32_t raw_data_00_31, uint32_t raw_data_32_63, int muInBx, bool wasSpecialMWGR=false)
 
static void fillMuonStableQuantities (Muon &mu, uint32_t raw_data_00_31, uint32_t raw_data_32_63)
 
static void generatePackedDataWordsRun3 (const Muon &mu, int abs_eta, int abs_eta_at_vtx, uint32_t &raw_data_spare, uint32_t &raw_data_00_31, uint32_t &raw_data_32_63, int muInBx, bool wasSpecialMWGR=false)
 

Detailed Description

Definition at line 7 of file MuonRawDigiTranslator.h.

Member Function Documentation

◆ calcHwEta()

int l1t::MuonRawDigiTranslator::calcHwEta ( const uint32_t &  raw,
const unsigned  absEtaShift,
const unsigned  etaSignShift 
)
static

Definition at line 265 of file MuonRawDigiTranslator.cc.

267  {
268  // eta is coded as two's complement
269  int abs_eta = (raw >> absEtaShift) & absEtaMask_;
270  if ((raw >> etaSignShift) & 0x1) {
271  return abs_eta - (1 << (etaSignShift - absEtaShift));
272  } else {
273  return abs_eta;
274  }
275 }

◆ fillIntermediateMuon()

void l1t::MuonRawDigiTranslator::fillIntermediateMuon ( Muon mu,
uint32_t  raw_data_00_31,
uint32_t  raw_data_32_63,
unsigned int  fw 
)
static

Definition at line 36 of file MuonRawDigiTranslator.cc.

39  {
40  // Need the hw charge to properly compute dPhi
41  mu.setHwCharge((raw_data_32_63 >> chargeShift_) & 0x1);
42 
43  if (fw < 0x4010000) {
44  fillMuonCoordinates2016(mu, raw_data_00_31, raw_data_32_63);
45  } else if (fw < 0x6000000) {
46  fillMuonCoordinatesFrom2017(mu, raw_data_00_31, raw_data_32_63);
47  } else {
48  fillIntermediateMuonQuantitiesRun3(mu, raw_data_00_31, raw_data_32_63);
49  }
50 
51  // Fill pT, qual, iso, charge, index bits, phys. coordinates at vtx & unconstrained pT
52  fillMuonStableQuantities(mu, raw_data_00_31, raw_data_32_63);
53 }

References amptDefaultParameters_cff::mu, and testProducerWithPsetDescEmpty_cfi::x1.

Referenced by l1t::stage2::IntermediateMuonUnpacker::unpackBx().

◆ fillIntermediateMuonQuantitiesRun3()

void l1t::MuonRawDigiTranslator::fillIntermediateMuonQuantitiesRun3 ( Muon mu,
uint32_t  raw_data_00_31,
uint32_t  raw_data_32_63 
)
staticprivate

Definition at line 169 of file MuonRawDigiTranslator.cc.

171  {
172  fillMuonCoordinatesFrom2017(mu, raw_data_00_31, raw_data_32_63);
173 
174  // displacement information
175  mu.setHwDXY((raw_data_32_63 >> dxyShift_) & dxyMask_);
176  mu.setHwPtUnconstrained((raw_data_00_31 >> ptUnconstrainedIntermedidateShift_) & ptUnconstrainedMask_);
177 }

References amptDefaultParameters_cff::mu.

◆ fillMuon() [1/2]

void l1t::MuonRawDigiTranslator::fillMuon ( Muon mu,
uint32_t  raw_data_spare,
uint32_t  raw_data_00_31,
uint32_t  raw_data_32_63,
int  fed,
unsigned int  fw,
int  muInBx 
)
static

Definition at line 5 of file MuonRawDigiTranslator.cc.

11  {
12  // Need the hw charge to properly compute dPhi
13  mu.setHwCharge((raw_data_32_63 >> chargeShift_) & 0x1);
14 
15  // The position of the eta and phi coordinates in the RAW data changed between the 2016 run and the 2017 run.
16  // Eta and phi at the muon system are replaced by eta and phi at the vertex
17  // Eta and phi at the muon system are moved to spare bits
18  // In Run-3 we have displacement information.
19  // To make room for these data the raw eta value was moved to the second "spare" word which we will have to treat separately
20  // The uGMT (FED 1402) or uGT (FED 1404) FW versions are used to determine the era.
21  if ((fed == 1402 && fw < 0x4010000) || (fed == 1404 && fw < 0x10A6)) {
22  fillMuonCoordinates2016(mu, raw_data_00_31, raw_data_32_63);
23  } else if ((fed == 1402 && fw < 0x6000000) || (fed == 1404 && fw < 0x1120)) {
24  fillMuonCoordinatesFrom2017(mu, raw_data_00_31, raw_data_32_63);
25  } else if ((fed == 1402 && fw == 0x6000001) || (fed == 1404 && fw < 0x1130)) {
26  // We're unpacking data from the November MWGR where the raw eta values were shifted by one bit.
27  fillMuonQuantitiesRun3(mu, raw_data_spare, raw_data_00_31, raw_data_32_63, muInBx, true);
28  } else {
29  fillMuonQuantitiesRun3(mu, raw_data_spare, raw_data_00_31, raw_data_32_63, muInBx, false);
30  }
31 
32  // Fill pT, qual, iso, charge, index bits, coordinates at vtx
33  fillMuonStableQuantities(mu, raw_data_00_31, raw_data_32_63);
34 }

References chargeShift_, fillMuonCoordinates2016(), fillMuonCoordinatesFrom2017(), fillMuonQuantitiesRun3(), fillMuonStableQuantities(), amptDefaultParameters_cff::mu, and testProducerWithPsetDescEmpty_cfi::x1.

Referenced by l1t::stage2::MuonUnpacker::unpackBx().

◆ fillMuon() [2/2]

void l1t::MuonRawDigiTranslator::fillMuon ( Muon mu,
uint32_t  raw_data_spare,
uint64_t  dataword,
int  fed,
unsigned int  fw,
int  muInBx 
)
static

Definition at line 82 of file MuonRawDigiTranslator.cc.

83  {
84  fillMuon(
85  mu, raw_data_spare, (uint32_t)(dataword & 0xFFFFFFFF), (uint32_t)((dataword >> 32) & 0xFFFFFFFF), fed, fw, muInBx);
86 }

References amptDefaultParameters_cff::mu.

◆ fillMuonCoordinates2016()

void l1t::MuonRawDigiTranslator::fillMuonCoordinates2016 ( Muon mu,
uint32_t  raw_data_00_31,
uint32_t  raw_data_32_63 
)
staticprivate

Definition at line 88 of file MuonRawDigiTranslator.cc.

88  {
89  // coordinates at the muon system are in 2016 where in 2017 eta and phi at the vertex are
90  mu.setHwEta(calcHwEta(raw_data_00_31, absEtaAtVtxShift_, etaAtVtxSignShift_));
91  mu.setHwPhi((raw_data_00_31 >> phiAtVtxShift_) & phiMask_);
92 
93  // set the coordiantes at vertex to be the same as the coordinates at the muon system
94  mu.setHwEtaAtVtx(mu.hwEta());
95  mu.setHwPhiAtVtx(mu.hwPhi());
96  // deltas are 0
97  mu.setHwDEtaExtra(0);
98  mu.setHwDPhiExtra(0);
99 }

References amptDefaultParameters_cff::mu.

Referenced by fillMuon().

◆ fillMuonCoordinatesFrom2017()

void l1t::MuonRawDigiTranslator::fillMuonCoordinatesFrom2017 ( Muon mu,
uint32_t  raw_data_00_31,
uint32_t  raw_data_32_63 
)
staticprivate

Definition at line 101 of file MuonRawDigiTranslator.cc.

103  {
104  // coordinates at the muon system
105  mu.setHwEta(calcHwEta(raw_data_32_63, absEtaShift_, etaSignShift_));
106  mu.setHwPhi((raw_data_32_63 >> phiShift_) & phiMask_);
107 
108  // coordinates at the vertex
109  mu.setHwEtaAtVtx(calcHwEta(raw_data_00_31, absEtaAtVtxShift_, etaAtVtxSignShift_));
110  mu.setHwPhiAtVtx((raw_data_00_31 >> phiAtVtxShift_) & phiMask_);
111  // deltas
112  mu.setHwDEtaExtra(mu.hwEtaAtVtx() - mu.hwEta());
113  int dPhi = mu.hwPhiAtVtx() - mu.hwPhi();
114  if (mu.hwCharge() == 1 && dPhi > 0) {
115  dPhi -= 576;
116  } else if (mu.hwCharge() == 0 && dPhi < 0) {
117  dPhi += 576;
118  }
119  mu.setHwDPhiExtra(dPhi);
120 }

References HLT_FULL_cff::dPhi, and amptDefaultParameters_cff::mu.

Referenced by fillMuon().

◆ fillMuonQuantitiesRun3()

void l1t::MuonRawDigiTranslator::fillMuonQuantitiesRun3 ( Muon mu,
uint32_t  raw_data_spare,
uint32_t  raw_data_00_31,
uint32_t  raw_data_32_63,
int  muInBx,
bool  wasSpecialMWGR = false 
)
staticprivate

Definition at line 122 of file MuonRawDigiTranslator.cc.

127  {
128  unsigned absEtaMu1Shift{absEtaMu1Shift_};
129  unsigned etaMu1SignShift{etaMu1SignShift_};
130  unsigned absEtaMu2Shift{absEtaMu2Shift_};
131  unsigned etaMu2SignShift{etaMu2SignShift_};
132 
133  // Adjust if we're unpacking data from the November 2020 MWGR.
134  if (wasSpecialMWGR) {
135  --absEtaMu1Shift;
136  --etaMu1SignShift;
137  --absEtaMu2Shift;
138  --etaMu2SignShift;
139  }
140  // coordinates at the muon system
141  // Where to find the raw eta depends on which muon we're looking at
142  if (muInBx == 1) {
143  mu.setHwEta(calcHwEta(raw_data_spare, absEtaMu1Shift, etaMu1SignShift));
144  } else if (muInBx == 2) {
145  mu.setHwEta(calcHwEta(raw_data_spare, absEtaMu2Shift, etaMu2SignShift));
146  } else {
147  edm::LogWarning("L1T") << "Received invalid muon id " << muInBx << ". Cannot fill eta value in the muon system.";
148  }
149  mu.setHwPhi((raw_data_32_63 >> phiShift_) & phiMask_);
150 
151  // coordinates at the vertex
152  mu.setHwEtaAtVtx(calcHwEta(raw_data_00_31, absEtaAtVtxShift_, etaAtVtxSignShift_));
153  mu.setHwPhiAtVtx((raw_data_00_31 >> phiAtVtxShift_) & phiMask_);
154  // deltas
155  mu.setHwDEtaExtra(mu.hwEtaAtVtx() - mu.hwEta());
156  int dPhi = mu.hwPhiAtVtx() - mu.hwPhi();
157  if (mu.hwCharge() == 1 && dPhi > 0) {
158  dPhi -= 576;
159  } else if (mu.hwCharge() == 0 && dPhi < 0) {
160  dPhi += 576;
161  }
162  mu.setHwDPhiExtra(dPhi);
163 
164  // displacement information
165  mu.setHwDXY((raw_data_32_63 >> dxyShift_) & dxyMask_);
166  mu.setHwPtUnconstrained((raw_data_32_63 >> ptUnconstrainedShift_) & ptUnconstrainedMask_);
167 }

References HLT_FULL_cff::dPhi, and amptDefaultParameters_cff::mu.

Referenced by fillMuon().

◆ fillMuonStableQuantities()

void l1t::MuonRawDigiTranslator::fillMuonStableQuantities ( Muon mu,
uint32_t  raw_data_00_31,
uint32_t  raw_data_32_63 
)
staticprivate

Definition at line 55 of file MuonRawDigiTranslator.cc.

55  {
56  mu.setHwPt((raw_data_00_31 >> ptShift_) & ptMask_);
57  mu.setHwQual((raw_data_00_31 >> qualShift_) & qualMask_);
58  mu.setHwIso((raw_data_32_63 >> isoShift_) & isoMask_);
59  // charge is coded as -1^chargeBit
60  mu.setHwChargeValid((raw_data_32_63 >> chargeValidShift_) & 0x1);
61  mu.setTfMuonIndex((raw_data_32_63 >> tfMuonIndexShift_) & tfMuonIndexMask_);
62  if (mu.hwChargeValid()) {
63  mu.setCharge(1 - 2 * mu.hwCharge());
64  } else {
65  mu.setCharge(0);
66  }
67 
68  math::PtEtaPhiMLorentzVector vec{(mu.hwPt() - 1) * 0.5, mu.hwEta() * 0.010875, mu.hwPhi() * 0.010908, 0.0};
69  mu.setP4(vec);
70  // generate a muon at the vertex to extract the physical eta and phi coordinates
72  (mu.hwPt() - 1) * 0.5, mu.hwEtaAtVtx() * 0.010875, mu.hwPhiAtVtx() * 0.010908, 0.0};
73  Muon muAtVtx;
74  muAtVtx.setP4(vecAtVtx);
75  mu.setEtaAtVtx(muAtVtx.eta());
76  mu.setPhiAtVtx(muAtVtx.phi());
77 
78  int hwPtUnconstrained{mu.hwPtUnconstrained()};
79  mu.setPtUnconstrained(hwPtUnconstrained == 0 ? 0 : (hwPtUnconstrained - 1) * 0.5); // Don't want negative pT.
80 }

References reco::LeafCandidate::eta(), amptDefaultParameters_cff::mu, reco::LeafCandidate::phi(), reco::LeafCandidate::setP4(), and testProducerWithPsetDescEmpty_cfi::x1.

Referenced by fillMuon().

◆ generate64bitDataWord()

void l1t::MuonRawDigiTranslator::generate64bitDataWord ( const Muon mu,
uint32_t &  raw_data_spare,
uint64_t &  dataword,
int  fedId,
int  fwId,
int  muInBx 
)
static

Definition at line 256 of file MuonRawDigiTranslator.cc.

257  {
258  uint32_t lsw;
259  uint32_t msw;
260 
261  generatePackedDataWords(mu, raw_data_spare, lsw, msw, fedId, fwId, muInBx);
262  dataword = (((uint64_t)msw) << 32) + lsw;
263 }

References l1tstage2_dqm_sourceclient-live_cfg::fedId, and amptDefaultParameters_cff::mu.

◆ generatePackedDataWords()

void l1t::MuonRawDigiTranslator::generatePackedDataWords ( const Muon mu,
uint32_t &  raw_data_spare,
uint32_t &  raw_data_00_31,
uint32_t &  raw_data_32_63,
int  fedId,
int  fwId,
int  muInBx 
)
static

Definition at line 179 of file MuonRawDigiTranslator.cc.

185  {
186  int abs_eta = mu.hwEta();
187  if (abs_eta < 0) {
188  abs_eta += (1 << (etaSignShift_ - absEtaShift_));
189  }
190  int abs_eta_at_vtx = mu.hwEtaAtVtx();
191  if (abs_eta_at_vtx < 0) {
192  abs_eta_at_vtx += (1 << (etaAtVtxSignShift_ - absEtaAtVtxShift_));
193  }
194  if ((fedID == 1402 && fwID < 0x4010000) || (fedID == 1404 && fwID < 0x10A6)) {
195  // For 2016 the non-extrapolated coordiantes were in the place that are now occupied by the extrapolated quantities.
196  raw_data_spare = 0;
197  raw_data_00_31 = (mu.hwPt() & ptMask_) << ptShift_ | (mu.hwQual() & qualMask_) << qualShift_ |
198  (abs_eta & absEtaMask_) << absEtaAtVtxShift_ | (mu.hwEta() < 0) << etaAtVtxSignShift_ |
199  (mu.hwPhi() & phiMask_) << phiAtVtxShift_;
200  raw_data_32_63 = mu.hwCharge() << chargeShift_ | mu.hwChargeValid() << chargeValidShift_ |
201  (mu.tfMuonIndex() & tfMuonIndexMask_) << tfMuonIndexShift_ | (mu.hwIso() & isoMask_) << isoShift_;
202  } else if ((fedID == 1402 && fwID < 0x6000000) || (fedID == 1404 && fwID < 0x1120)) {
203  raw_data_spare = 0;
204  raw_data_00_31 = (mu.hwPt() & ptMask_) << ptShift_ | (mu.hwQual() & qualMask_) << qualShift_ |
205  (abs_eta_at_vtx & absEtaMask_) << absEtaAtVtxShift_ | (mu.hwEtaAtVtx() < 0) << etaAtVtxSignShift_ |
206  (mu.hwPhiAtVtx() & phiMask_) << phiAtVtxShift_;
207 
208  raw_data_32_63 = mu.hwCharge() << chargeShift_ | mu.hwChargeValid() << chargeValidShift_ |
209  (mu.tfMuonIndex() & tfMuonIndexMask_) << tfMuonIndexShift_ | (mu.hwIso() & isoMask_) << isoShift_ |
210  (abs_eta & absEtaMask_) << absEtaShift_ | (mu.hwEta() < 0) << etaSignShift_ |
211  (mu.hwPhi() & phiMask_) << phiShift_;
212  } else if ((fedID == 1402 && fwID == 0x6000001) ||
213  (fedID == 1404 && fwID < 0x1130)) { // This allows us to unpack data taken in the November 2020 MWGR.
215  mu, abs_eta, abs_eta_at_vtx, raw_data_spare, raw_data_00_31, raw_data_32_63, muInBx, true);
216  } else {
218  mu, abs_eta, abs_eta_at_vtx, raw_data_spare, raw_data_00_31, raw_data_32_63, muInBx, false);
219  }
220 }

References amptDefaultParameters_cff::mu.

Referenced by l1t::stage2::MuonPacker::packBx().

◆ generatePackedDataWordsRun3()

void l1t::MuonRawDigiTranslator::generatePackedDataWordsRun3 ( const Muon mu,
int  abs_eta,
int  abs_eta_at_vtx,
uint32_t &  raw_data_spare,
uint32_t &  raw_data_00_31,
uint32_t &  raw_data_32_63,
int  muInBx,
bool  wasSpecialMWGR = false 
)
staticprivate

Definition at line 222 of file MuonRawDigiTranslator.cc.

229  {
230  int absEtaShiftRun3{0}, etaSignShiftRun3{0};
231  if (muInBx == 1) {
232  absEtaShiftRun3 = absEtaMu1Shift_;
233  etaSignShiftRun3 = etaMu1SignShift_;
234  } else if (muInBx == 2) {
235  absEtaShiftRun3 = absEtaMu2Shift_;
236  etaSignShiftRun3 = etaMu2SignShift_;
237  }
238 
239  // Adjust if we're packing the November 2020 MWGR
240  if (wasSpecialMWGR) {
241  --absEtaShiftRun3;
242  --etaSignShiftRun3;
243  }
244 
245  raw_data_spare = (abs_eta & absEtaMask_) << absEtaShiftRun3 | (mu.hwEta() < 0) << etaSignShiftRun3;
246  raw_data_00_31 = (mu.hwPt() & ptMask_) << ptShift_ | (mu.hwQual() & qualMask_) << qualShift_ |
247  (abs_eta_at_vtx & absEtaMask_) << absEtaAtVtxShift_ | (mu.hwEtaAtVtx() < 0) << etaAtVtxSignShift_ |
248  (mu.hwPhiAtVtx() & phiMask_) << phiAtVtxShift_;
249  raw_data_32_63 = mu.hwCharge() << chargeShift_ | mu.hwChargeValid() << chargeValidShift_ |
250  (mu.tfMuonIndex() & tfMuonIndexMask_) << tfMuonIndexShift_ | (mu.hwIso() & isoMask_) << isoShift_ |
251  (mu.hwPhi() & phiMask_) << phiShift_ |
252  (mu.hwPtUnconstrained() & ptUnconstrainedMask_) << ptUnconstrainedShift_ |
253  (mu.hwDXY() & dxyMask_) << dxyShift_;
254 }

References amptDefaultParameters_cff::mu.

Member Data Documentation

◆ absEtaAtVtxShift_

constexpr unsigned l1t::MuonRawDigiTranslator::absEtaAtVtxShift_ = 23
staticconstexpr

Definition at line 35 of file MuonRawDigiTranslator.h.

◆ absEtaMask_

constexpr unsigned l1t::MuonRawDigiTranslator::absEtaMask_ = 0xFF
staticconstexpr

Definition at line 33 of file MuonRawDigiTranslator.h.

◆ absEtaMu1Shift_

constexpr unsigned l1t::MuonRawDigiTranslator::absEtaMu1Shift_ = 13
staticconstexpr

Definition at line 52 of file MuonRawDigiTranslator.h.

◆ absEtaMu2Shift_

constexpr unsigned l1t::MuonRawDigiTranslator::absEtaMu2Shift_ = 22
staticconstexpr

Definition at line 54 of file MuonRawDigiTranslator.h.

◆ absEtaShift_

constexpr unsigned l1t::MuonRawDigiTranslator::absEtaShift_ = 21
staticconstexpr

Definition at line 34 of file MuonRawDigiTranslator.h.

◆ chargeShift_

constexpr unsigned l1t::MuonRawDigiTranslator::chargeShift_ = 2
staticconstexpr

Definition at line 41 of file MuonRawDigiTranslator.h.

Referenced by fillMuon().

◆ chargeValidShift_

constexpr unsigned l1t::MuonRawDigiTranslator::chargeValidShift_ = 3
staticconstexpr

Definition at line 42 of file MuonRawDigiTranslator.h.

◆ dxyMask_

constexpr unsigned l1t::MuonRawDigiTranslator::dxyMask_ = 0x3
staticconstexpr

Definition at line 47 of file MuonRawDigiTranslator.h.

◆ dxyShift_

constexpr unsigned l1t::MuonRawDigiTranslator::dxyShift_ = 30
staticconstexpr

Definition at line 48 of file MuonRawDigiTranslator.h.

◆ etaAtVtxSignShift_

constexpr unsigned l1t::MuonRawDigiTranslator::etaAtVtxSignShift_ = 31
staticconstexpr

Definition at line 37 of file MuonRawDigiTranslator.h.

◆ etaMu1SignShift_

constexpr unsigned l1t::MuonRawDigiTranslator::etaMu1SignShift_ = 21
staticconstexpr

Definition at line 53 of file MuonRawDigiTranslator.h.

◆ etaMu2SignShift_

constexpr unsigned l1t::MuonRawDigiTranslator::etaMu2SignShift_ = 30
staticconstexpr

Definition at line 55 of file MuonRawDigiTranslator.h.

◆ etaSignShift_

constexpr unsigned l1t::MuonRawDigiTranslator::etaSignShift_ = 29
staticconstexpr

Definition at line 36 of file MuonRawDigiTranslator.h.

◆ isoMask_

constexpr unsigned l1t::MuonRawDigiTranslator::isoMask_ = 0x3
staticconstexpr

Definition at line 45 of file MuonRawDigiTranslator.h.

◆ isoShift_

constexpr unsigned l1t::MuonRawDigiTranslator::isoShift_ = 0
staticconstexpr

Definition at line 46 of file MuonRawDigiTranslator.h.

◆ phiAtVtxShift_

constexpr unsigned l1t::MuonRawDigiTranslator::phiAtVtxShift_ = 0
staticconstexpr

Definition at line 40 of file MuonRawDigiTranslator.h.

◆ phiMask_

constexpr unsigned l1t::MuonRawDigiTranslator::phiMask_ = 0x3FF
staticconstexpr

Definition at line 38 of file MuonRawDigiTranslator.h.

◆ phiShift_

constexpr unsigned l1t::MuonRawDigiTranslator::phiShift_ = 11
staticconstexpr

Definition at line 39 of file MuonRawDigiTranslator.h.

◆ ptMask_

constexpr unsigned l1t::MuonRawDigiTranslator::ptMask_ = 0x1FF
staticconstexpr

◆ ptShift_

constexpr unsigned l1t::MuonRawDigiTranslator::ptShift_ = 10
staticconstexpr

◆ ptUnconstrainedIntermedidateShift_

constexpr unsigned l1t::MuonRawDigiTranslator::ptUnconstrainedIntermedidateShift_ = 0
staticconstexpr

Definition at line 51 of file MuonRawDigiTranslator.h.

◆ ptUnconstrainedMask_

constexpr unsigned l1t::MuonRawDigiTranslator::ptUnconstrainedMask_ = 0xFF
staticconstexpr

Definition at line 49 of file MuonRawDigiTranslator.h.

◆ ptUnconstrainedShift_

constexpr unsigned l1t::MuonRawDigiTranslator::ptUnconstrainedShift_ = 21
staticconstexpr

Definition at line 50 of file MuonRawDigiTranslator.h.

◆ qualMask_

constexpr unsigned l1t::MuonRawDigiTranslator::qualMask_ = 0xF
staticconstexpr

Definition at line 31 of file MuonRawDigiTranslator.h.

◆ qualShift_

constexpr unsigned l1t::MuonRawDigiTranslator::qualShift_ = 19
staticconstexpr

Definition at line 32 of file MuonRawDigiTranslator.h.

◆ tfMuonIndexMask_

constexpr unsigned l1t::MuonRawDigiTranslator::tfMuonIndexMask_ = 0x7F
staticconstexpr

Definition at line 43 of file MuonRawDigiTranslator.h.

◆ tfMuonIndexShift_

constexpr unsigned l1t::MuonRawDigiTranslator::tfMuonIndexShift_ = 4
staticconstexpr

Definition at line 44 of file MuonRawDigiTranslator.h.

l1t::MuonRawDigiTranslator::etaSignShift_
static constexpr unsigned etaSignShift_
Definition: MuonRawDigiTranslator.h:36
l1t::MuonRawDigiTranslator::dxyShift_
static constexpr unsigned dxyShift_
Definition: MuonRawDigiTranslator.h:48
l1t::MuonRawDigiTranslator::chargeValidShift_
static constexpr unsigned chargeValidShift_
Definition: MuonRawDigiTranslator.h:42
l1t::MuonRawDigiTranslator::ptUnconstrainedIntermedidateShift_
static constexpr unsigned ptUnconstrainedIntermedidateShift_
Definition: MuonRawDigiTranslator.h:51
l1t::MuonRawDigiTranslator::phiShift_
static constexpr unsigned phiShift_
Definition: MuonRawDigiTranslator.h:39
l1t::MuonRawDigiTranslator::generatePackedDataWordsRun3
static void generatePackedDataWordsRun3(const Muon &mu, int abs_eta, int abs_eta_at_vtx, uint32_t &raw_data_spare, uint32_t &raw_data_00_31, uint32_t &raw_data_32_63, int muInBx, bool wasSpecialMWGR=false)
Definition: MuonRawDigiTranslator.cc:222
l1t::MuonRawDigiTranslator::chargeShift_
static constexpr unsigned chargeShift_
Definition: MuonRawDigiTranslator.h:41
amptDefaultParameters_cff.mu
mu
Definition: amptDefaultParameters_cff.py:16
l1t::MuonRawDigiTranslator::ptShift_
static constexpr unsigned ptShift_
Definition: MuonRawDigiTranslator.h:30
l1t::MuonRawDigiTranslator::phiAtVtxShift_
static constexpr unsigned phiAtVtxShift_
Definition: MuonRawDigiTranslator.h:40
l1t::MuonRawDigiTranslator::phiMask_
static constexpr unsigned phiMask_
Definition: MuonRawDigiTranslator.h:38
l1t::MuonRawDigiTranslator::absEtaMu2Shift_
static constexpr unsigned absEtaMu2Shift_
Definition: MuonRawDigiTranslator.h:54
l1t::MuonRawDigiTranslator::fillMuonCoordinatesFrom2017
static void fillMuonCoordinatesFrom2017(Muon &mu, uint32_t raw_data_00_31, uint32_t raw_data_32_63)
Definition: MuonRawDigiTranslator.cc:101
l1t::MuonRawDigiTranslator::fillMuonCoordinates2016
static void fillMuonCoordinates2016(Muon &mu, uint32_t raw_data_00_31, uint32_t raw_data_32_63)
Definition: MuonRawDigiTranslator.cc:88
HLT_FULL_cff.dPhi
dPhi
Definition: HLT_FULL_cff.py:13768
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
Muon
Definition: Muon.py:1
l1t::MuonRawDigiTranslator::fillMuonStableQuantities
static void fillMuonStableQuantities(Muon &mu, uint32_t raw_data_00_31, uint32_t raw_data_32_63)
Definition: MuonRawDigiTranslator.cc:55
testProducerWithPsetDescEmpty_cfi.x1
x1
Definition: testProducerWithPsetDescEmpty_cfi.py:33
l1t::MuonRawDigiTranslator::fillMuon
static void fillMuon(Muon &mu, uint32_t raw_data_spare, uint32_t raw_data_00_31, uint32_t raw_data_32_63, int fed, unsigned int fw, int muInBx)
Definition: MuonRawDigiTranslator.cc:5
l1t::MuonRawDigiTranslator::absEtaShift_
static constexpr unsigned absEtaShift_
Definition: MuonRawDigiTranslator.h:34
l1t::MuonRawDigiTranslator::fillMuonQuantitiesRun3
static void fillMuonQuantitiesRun3(Muon &mu, uint32_t raw_data_spare, uint32_t raw_data_00_31, uint32_t raw_data_32_63, int muInBx, bool wasSpecialMWGR=false)
Definition: MuonRawDigiTranslator.cc:122
l1t::MuonRawDigiTranslator::absEtaMask_
static constexpr unsigned absEtaMask_
Definition: MuonRawDigiTranslator.h:33
l1t::MuonRawDigiTranslator::isoShift_
static constexpr unsigned isoShift_
Definition: MuonRawDigiTranslator.h:46
l1t::MuonRawDigiTranslator::ptMask_
static constexpr unsigned ptMask_
Definition: MuonRawDigiTranslator.h:29
l1t::MuonRawDigiTranslator::tfMuonIndexMask_
static constexpr unsigned tfMuonIndexMask_
Definition: MuonRawDigiTranslator.h:43
fw
Definition: estimate_field.h:12
l1t::MuonRawDigiTranslator::qualMask_
static constexpr unsigned qualMask_
Definition: MuonRawDigiTranslator.h:31
l1t::MuonRawDigiTranslator::ptUnconstrainedShift_
static constexpr unsigned ptUnconstrainedShift_
Definition: MuonRawDigiTranslator.h:50
l1t::MuonRawDigiTranslator::tfMuonIndexShift_
static constexpr unsigned tfMuonIndexShift_
Definition: MuonRawDigiTranslator.h:44
l1tstage2_dqm_sourceclient-live_cfg.fedId
fedId
Definition: l1tstage2_dqm_sourceclient-live_cfg.py:88
l1t::MuonRawDigiTranslator::dxyMask_
static constexpr unsigned dxyMask_
Definition: MuonRawDigiTranslator.h:47
l1t::MuonRawDigiTranslator::calcHwEta
static int calcHwEta(const uint32_t &raw, const unsigned absEtaShift, const unsigned etaSignShift)
Definition: MuonRawDigiTranslator.cc:265
l1t::MuonRawDigiTranslator::qualShift_
static constexpr unsigned qualShift_
Definition: MuonRawDigiTranslator.h:32
l1t::MuonRawDigiTranslator::etaMu2SignShift_
static constexpr unsigned etaMu2SignShift_
Definition: MuonRawDigiTranslator.h:55
l1t::MuonRawDigiTranslator::absEtaAtVtxShift_
static constexpr unsigned absEtaAtVtxShift_
Definition: MuonRawDigiTranslator.h:35
l1t::MuonRawDigiTranslator::ptUnconstrainedMask_
static constexpr unsigned ptUnconstrainedMask_
Definition: MuonRawDigiTranslator.h:49
l1t::MuonRawDigiTranslator::isoMask_
static constexpr unsigned isoMask_
Definition: MuonRawDigiTranslator.h:45
cond::uint64_t
unsigned long long uint64_t
Definition: Time.h:13
math::PtEtaPhiMLorentzVector
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
Definition: LorentzVector.h:25
l1t::MuonRawDigiTranslator::etaAtVtxSignShift_
static constexpr unsigned etaAtVtxSignShift_
Definition: MuonRawDigiTranslator.h:37
l1t::MuonRawDigiTranslator::generatePackedDataWords
static void generatePackedDataWords(const Muon &mu, uint32_t &raw_data_spare, uint32_t &raw_data_00_31, uint32_t &raw_data_32_63, int fedId, int fwId, int muInBx)
Definition: MuonRawDigiTranslator.cc:179
l1t::MuonRawDigiTranslator::fillIntermediateMuonQuantitiesRun3
static void fillIntermediateMuonQuantitiesRun3(Muon &mu, uint32_t raw_data_00_31, uint32_t raw_data_32_63)
Definition: MuonRawDigiTranslator.cc:169
l1t::MuonRawDigiTranslator::absEtaMu1Shift_
static constexpr unsigned absEtaMu1Shift_
Definition: MuonRawDigiTranslator.h:52
l1t::MuonRawDigiTranslator::etaMu1SignShift_
static constexpr unsigned etaMu1SignShift_
Definition: MuonRawDigiTranslator.h:53