194 {0x580,
"ConcJet: Input TrigPathA (Jet Cands)"},
195 {0x581,
"ConcJet: Input TrigPathB (HF Rings)"},
196 {0x582,
"ConcJet: Input TrigPathC (MissHt)"},
197 {0x583,
"ConcJet: Jet Cands and Counts Output to GT"},
198 {0x587,
"ConcJet: BX & Orbit Info"},
200 {0x680,
"ConcElec: Input TrigPathA (EM Cands)"},
201 {0x681,
"ConcElec: Input TrigPathB (Et Sums)"},
202 {0x682,
"ConcElec: Input TrigPathC (Ht Sums)"},
203 {0x683,
"ConcElec: EM Cands and Energy Sums Output to GT"},
204 {0x686,
"ConcElec: Test (GT Serdes Loopback)"},
205 {0x687,
"ConcElec: BX & Orbit Info"},
207 {0x800,
"Leaf0ElecPosEtaU1: Sort Input"},
208 {0x803,
"Leaf0ElecPosEtaU1: Sort Output"},
209 {0x804,
"Leaf0ElecPosEtaU1: Raw Input"},
210 {0x880,
"Leaf0ElecPosEtaU2: Sort Input"},
211 {0x883,
"Leaf0ElecPosEtaU2: Sort Output"},
212 {0x884,
"Leaf0ElecPosEtaU2: Raw Input"},
213 {0xc00,
"Leaf0ElecNegEtaU1: Sort Input"},
214 {0xc03,
"Leaf0ElecNegEtaU1: Sort Output"},
215 {0xc04,
"Leaf0ElecNegEtaU1: Raw Input"},
216 {0xc80,
"Leaf0ElecNegEtaU2: Sort Input"},
217 {0xc83,
"Leaf0ElecNegEtaU2: Sort Output"},
218 {0xc84,
"Leaf0ElecNegEtaU2: Raw Input"},
220 {0x300,
"WheelPosEtaJet: Input TrigPathA (Jet Sort)"},
221 {0x301,
"WheelPosEtaJet: Input TrigPathB (MissHt)"},
222 {0x303,
"WheelPosEtaJet: Output TrigPathA (Jet Sort)"},
223 {0x305,
"WheelPosEtaJet: Output TrigPathB (MissHt)"},
225 "WheelPosEtaJet: Test (deprecated)"},
227 "WheelPosEtaJet: Info (deprecated)"},
229 {0x380,
"WheelPosEtaEnergy: Input TrigPathA (Et)"},
230 {0x381,
"WheelPosEtaEnergy: Input TrigPathB (Ht)"},
231 {0x383,
"WheelPosEtaEnergy: Output TrigPathA (Et)"},
232 {0x385,
"WheelPosEtaEnergy: Output TrigPathB (Ht)"},
233 {0x386,
"WheelPosEtaEnergy: Test"},
234 {0x387,
"WheelPosEtaEnergy: BX & Orbit Info"},
236 {0x700,
"WheelNegEtaJet: Input TrigPathA (Jet Sort)"},
237 {0x701,
"WheelNegEtaJet: Input TrigPathB (MissHt)"},
238 {0x703,
"WheelNegEtaJet: Output TrigPathA (Jet Sort)"},
239 {0x705,
"WheelNegEtaJet: Output TrigPathB (MissHt)"},
241 "WheelNegEtaJet: Test (deprecated)"},
243 "WheelNegEtaJet: Info (deprecated)"},
245 {0x780,
"WheelNegEtaEnergy: Input TrigPathA (Et)"},
246 {0x781,
"WheelNegEtaEnergy: Input TrigPathB (Ht)"},
247 {0x783,
"WheelNegEtaEnergy: Output TrigPathA (Et)"},
248 {0x785,
"WheelNegEtaEnergy: Output TrigPathB (Ht)"},
249 {0x786,
"WheelNegEtaEnergy: Test"},
250 {0x787,
"WheelNegEtaEnergy: BX & Orbit Info"},
252 {0x900,
"Leaf1JetPosEtaU1: JF2 Input"},
253 {0x901,
"Leaf1JetPosEtaU1: JF2 Shared Received"},
254 {0x902,
"Leaf1JetPosEtaU1: JF2 Shared Sent"},
255 {0x903,
"Leaf1JetPosEtaU1: JF2 Output"},
256 {0x904,
"Leaf1JetPosEtaU1: JF2 Raw Input"},
257 {0x908,
"Leaf1JetPosEtaU1: JF3 Input"},
258 {0x909,
"Leaf1JetPosEtaU1: JF3 Shared Received"},
259 {0x90a,
"Leaf1JetPosEtaU1: JF3 Shared Sent"},
260 {0x90b,
"Leaf1JetPosEtaU1: JF3 Output"},
261 {0x90c,
"Leaf1JetPosEtaU1: JF3 Raw Input"},
262 {0x980,
"Leaf1JetPosEtaU2: Eta0 Input"},
263 {0x984,
"Leaf1JetPosEtaU2: Eta0 Raw Input"},
264 {0x988,
"Leaf1JetPosEtaU2: JF1 Input"},
265 {0x989,
"Leaf1JetPosEtaU2: JF1 Shared Received"},
266 {0x98a,
"Leaf1JetPosEtaU2: JF1 Shared Sent"},
267 {0x98b,
"Leaf1JetPosEtaU2: JF1 Output"},
268 {0x98c,
"Leaf1JetPosEtaU2: JF1 Raw Input"},
269 {0xa00,
"Leaf2JetPosEtaU1: JF2 Input"},
270 {0xa01,
"Leaf2JetPosEtaU1: JF2 Shared Received"},
271 {0xa02,
"Leaf2JetPosEtaU1: JF2 Shared Sent"},
272 {0xa03,
"Leaf2JetPosEtaU1: JF2 Output"},
273 {0xa04,
"Leaf2JetPosEtaU1: JF2 Raw Input"},
274 {0xa08,
"Leaf2JetPosEtaU1: JF3 Input"},
275 {0xa09,
"Leaf2JetPosEtaU1: JF3 Shared Received"},
276 {0xa0a,
"Leaf2JetPosEtaU1: JF3 Shared Sent"},
277 {0xa0b,
"Leaf2JetPosEtaU1: JF3 Output"},
278 {0xa0c,
"Leaf2JetPosEtaU1: JF3 Raw Input"},
279 {0xa80,
"Leaf2JetPosEtaU2: Eta0 Input"},
280 {0xa84,
"Leaf2JetPosEtaU2: Eta0 Raw Input"},
281 {0xa88,
"Leaf2JetPosEtaU2: JF1 Input"},
282 {0xa89,
"Leaf2JetPosEtaU2: JF1 Shared Received"},
283 {0xa8a,
"Leaf2JetPosEtaU2: JF1 Shared Sent"},
284 {0xa8b,
"Leaf2JetPosEtaU2: JF1 Output"},
285 {0xa8c,
"Leaf2JetPosEtaU2: JF1 Raw Input"},
286 {0xb00,
"Leaf3JetPosEtaU1: JF2 Input"},
287 {0xb01,
"Leaf3JetPosEtaU1: JF2 Shared Received"},
288 {0xb02,
"Leaf3JetPosEtaU1: JF2 Shared Sent"},
289 {0xb03,
"Leaf3JetPosEtaU1: JF2 Output"},
290 {0xb04,
"Leaf3JetPosEtaU1: JF2 Raw Input"},
291 {0xb08,
"Leaf3JetPosEtaU1: JF3 Input"},
292 {0xb09,
"Leaf3JetPosEtaU1: JF3 Shared Received"},
293 {0xb0a,
"Leaf3JetPosEtaU1: JF3 Shared Sent"},
294 {0xb0b,
"Leaf3JetPosEtaU1: JF3 Output"},
295 {0xb0c,
"Leaf3JetPosEtaU1: JF3 Raw Input"},
296 {0xb80,
"Leaf3JetPosEtaU2: Eta0 Input"},
297 {0xb84,
"Leaf3JetPosEtaU2: Eta0 Raw Input"},
298 {0xb88,
"Leaf3JetPosEtaU2: JF1 Input"},
299 {0xb89,
"Leaf3JetPosEtaU2: JF1 Shared Received"},
300 {0xb8a,
"Leaf3JetPosEtaU2: JF1 Shared Sent"},
301 {0xb8b,
"Leaf3JetPosEtaU2: JF1 Output"},
302 {0xb8c,
"Leaf3JetPosEtaU2: JF1 Raw Input"},
304 {0xd00,
"Leaf1JetNegEtaU1: JF2 Input"},
305 {0xd01,
"Leaf1JetNegEtaU1: JF2 Shared Received"},
306 {0xd02,
"Leaf1JetNegEtaU1: JF2 Shared Sent"},
307 {0xd03,
"Leaf1JetNegEtaU1: JF2 Output"},
308 {0xd04,
"Leaf1JetNegEtaU1: JF2 Raw Input"},
309 {0xd08,
"Leaf1JetNegEtaU1: JF3 Input"},
310 {0xd09,
"Leaf1JetNegEtaU1: JF3 Shared Received"},
311 {0xd0a,
"Leaf1JetNegEtaU1: JF3 Shared Sent"},
312 {0xd0b,
"Leaf1JetNegEtaU1: JF3 Output"},
313 {0xd0c,
"Leaf1JetNegEtaU1: JF3 Raw Input"},
314 {0xd80,
"Leaf1JetNegEtaU2: Eta0 Input"},
315 {0xd84,
"Leaf1JetNegEtaU2: Eta0 Raw Input"},
316 {0xd88,
"Leaf1JetNegEtaU2: JF1 Input"},
317 {0xd89,
"Leaf1JetNegEtaU2: JF1 Shared Received"},
318 {0xd8a,
"Leaf1JetNegEtaU2: JF1 Shared Sent"},
319 {0xd8b,
"Leaf1JetNegEtaU2: JF1 Output"},
320 {0xd8c,
"Leaf1JetNegEtaU2: JF1 Raw Input"},
321 {0xe00,
"Leaf2JetNegEtaU1: JF2 Input"},
322 {0xe01,
"Leaf2JetNegEtaU1: JF2 Shared Received"},
323 {0xe02,
"Leaf2JetNegEtaU1: JF2 Shared Sent"},
324 {0xe03,
"Leaf2JetNegEtaU1: JF2 Output"},
325 {0xe04,
"Leaf2JetNegEtaU1: JF2 Raw Input"},
326 {0xe08,
"Leaf2JetNegEtaU1: JF3 Input"},
327 {0xe09,
"Leaf2JetNegEtaU1: JF3 Shared Received"},
328 {0xe0a,
"Leaf2JetNegEtaU1: JF3 Shared Sent"},
329 {0xe0b,
"Leaf2JetNegEtaU1: JF3 Output"},
330 {0xe0c,
"Leaf2JetNegEtaU1: JF3 Raw Input"},
331 {0xe80,
"Leaf2JetNegEtaU2: Eta0 Input"},
332 {0xe84,
"Leaf2JetNegEtaU2: Eta0 Raw Input"},
333 {0xe88,
"Leaf2JetNegEtaU2: JF1 Input"},
334 {0xe89,
"Leaf2JetNegEtaU2: JF1 Shared Received"},
335 {0xe8a,
"Leaf2JetNegEtaU2: JF1 Shared Sent"},
336 {0xe8b,
"Leaf2JetNegEtaU2: JF1 Output"},
337 {0xe8c,
"Leaf2JetNegEtaU2: JF1 Raw Input"},
338 {0xf00,
"Leaf3JetNegEtaU1: JF2 Input"},
339 {0xf01,
"Leaf3JetNegEtaU1: JF2 Shared Received"},
340 {0xf02,
"Leaf3JetNegEtaU1: JF2 Shared Sent"},
341 {0xf03,
"Leaf3JetNegEtaU1: JF2 Output"},
342 {0xf04,
"Leaf3JetNegEtaU1: JF2 Raw Input"},
343 {0xf08,
"Leaf3JetNegEtaU1: JF3 Input"},
344 {0xf09,
"Leaf3JetNegEtaU1: JF3 Shared Received"},
345 {0xf0a,
"Leaf3JetNegEtaU1: JF3 Shared Sent"},
346 {0xf0b,
"Leaf3JetNegEtaU1: JF3 Output"},
347 {0xf0c,
"Leaf3JetNegEtaU1: JF3 Raw Input"},
348 {0xf80,
"Leaf3JetNegEtaU2: Eta0 Input"},
349 {0xf84,
"Leaf3JetNegEtaU2: Eta0 Raw Input"},
350 {0xf88,
"Leaf3JetNegEtaU2: JF1 Input"},
351 {0xf89,
"Leaf3JetNegEtaU2: JF1 Shared Received"},
352 {0xf8a,
"Leaf3JetNegEtaU2: JF1 Shared Sent"},
353 {0xf8b,
"Leaf3JetNegEtaU2: JF1 Output"},
354 {0xf8c,
"Leaf3JetNegEtaU2: JF1 Raw Input"}};
538 {0x804, 13}, {0x884, 9}, {0xc04, 4}, {0xc84, 0}};
564 {0x680, IsoBoundaryPair(8, 15)},
565 {0x800, IsoBoundaryPair(0, 9)},
566 {0x803, IsoBoundaryPair(0, 1)},
567 {0x880, IsoBoundaryPair(0, 7)},
568 {0x883, IsoBoundaryPair(0, 1)},
569 {0xc00, IsoBoundaryPair(0, 9)},
570 {0xc03, IsoBoundaryPair(0, 1)},
571 {0xc80, IsoBoundaryPair(0, 7)},
572 {0xc83, IsoBoundaryPair(0, 1)}};
581 m_numberOfGctSamplesToUnpack(numberOfGctSamplesToUnpack),
582 m_numberOfRctSamplesToUnpack(numberOfRctSamplesToUnpack) {}
588 uint32_t hdr = data[0] + (data[1] << 8) + (data[2] << 16) + (data[3] << 24);
600 unsigned blockId = hdr & 0xfff;
601 unsigned blockLength = 0;
602 unsigned nSamples = (hdr >> 16) & 0xf;
603 unsigned bxId = (hdr >> 20) & 0xfff;
604 unsigned eventId = (hdr >> 12) & 0xf;
611 return GctBlockHeader(blockId, blockLength, nSamples, bxId, eventId, valid);
639 const uint32_t eventId)
const {
650 return ((bxId & 0xfff) << 20) | ((nSamples & 0xf) << 16) | ((eventId & 0xf) << 12) | (blockId & 0xfff);
661 const unsigned int id = hdr.
blockId();
666 const uint16_t* p16 =
reinterpret_cast<const uint16_t*
>(
d);
670 const unsigned int emCandCategoryOffset =
672 const unsigned int timeSampleOffset = nSamples * 2;
674 unsigned int samplesToUnpack =
676 unsigned int centralSample =
677 (unsigned)
std::ceil((
double)nSamples / 2.) - 1;
678 unsigned int firstSample = centralSample - (unsigned)
std::ceil((
double)samplesToUnpack / 2.) + 1;
679 unsigned int lastSample = centralSample + (unsigned)(samplesToUnpack / 2);
681 LogDebug(
"GCT") <<
"Unpacking output EM. Central sample=" << centralSample <<
" first=" << firstSample
684 for (
unsigned int iso = 0; iso < 2; ++iso)
686 bool isoFlag = (iso == 1);
700 const unsigned int cand0Offset = iso * emCandCategoryOffset +
bx * 2;
702 em->push_back(
L1GctEmCand(p16[cand0Offset], isoFlag,
id, 0, (
int)bx - (
int)centralSample));
704 p16[cand0Offset + timeSampleOffset], isoFlag,
id, 1, (
int)bx - (
int)centralSample));
705 em->push_back(
L1GctEmCand(p16[cand0Offset + 1], isoFlag,
id, 2, (
int)bx - (
int)centralSample));
707 p16[cand0Offset + timeSampleOffset + 1], isoFlag,
id, 3, (
int)bx - (
int)centralSample));
709 LogDebug(
"GCT") <<
"Unpacked a bunch of EG. iso=" << iso <<
" bx=" << bx << std::endl;
713 p16 += emCandCategoryOffset * 2;
727 const uint32_t* p32 =
reinterpret_cast<const uint32_t*
>(p16);
731 LogDebug(
"GCT") <<
"Unpacked energy sums bx=" << bx << std::endl;
736 const unsigned int id = hdr.
blockId();
741 const uint16_t* p16 =
reinterpret_cast<const uint16_t*
>(
d);
745 const unsigned int jetCandCategoryOffset = nSamples * 4;
746 const unsigned int timeSampleOffset = nSamples * 2;
748 unsigned int samplesToUnpack =
750 unsigned int centralSample =
751 (unsigned)
std::ceil((
double)nSamples / 2.) - 1;
752 unsigned int firstSample = centralSample - (unsigned)
std::ceil((
double)samplesToUnpack / 2.) + 1;
753 unsigned int lastSample = centralSample + (unsigned)(samplesToUnpack / 2);
755 LogDebug(
"GCT") <<
"Unpacking output Jets. Samples to unpack=" << samplesToUnpack <<
" central=" << centralSample
756 <<
" first=" << firstSample <<
" last=" <<
lastSample;
769 const unsigned int cand0Offset = iCat * jetCandCategoryOffset +
bx * 2;
772 jets->push_back(
L1GctJetCand(p16[cand0Offset], tauflag, forwardFlag,
id, 0, (
int)bx - (
int)centralSample));
775 L1GctJetCand(p16[cand0Offset + timeSampleOffset], tauflag, forwardFlag,
id, 1, (
int)bx - (
int)centralSample));
777 jets->push_back(
L1GctJetCand(p16[cand0Offset + 1], tauflag, forwardFlag,
id, 2, (
int)bx - (
int)centralSample));
780 p16[cand0Offset + timeSampleOffset + 1], tauflag, forwardFlag,
id, 3, (
int)bx - (
int)centralSample));
784 p16 += NUM_JET_CATEGORIES * jetCandCategoryOffset;
789 const uint32_t* p32 =
reinterpret_cast<const uint32_t*
>(p16);
808 LogDebug(
"GCT") <<
"HLT mode - skipping unpack of internal EM Cands";
812 unsigned int id = hdr.
blockId();
820 unsigned int lowerIsoPairBound =
found->second.first;
821 unsigned int upperIsoPairBound =
found->second.second;
824 const uint16_t*
p =
reinterpret_cast<const uint16_t*
>(
d);
829 for (
unsigned int candPair = 0; candPair < numCandPairs; ++candPair) {
831 bool iso = ((candPair >= lowerIsoPairBound) && (candPair <= upperIsoPairBound));
834 for (
unsigned int i = 0;
i < 2; ++
i) {
836 uint16_t candRaw = p[
offset];
848 LogDebug(
"GCT") <<
"HLT mode - skipping unpack of RCT EM Cands";
852 unsigned int id = hdr.
blockId();
857 const uint16_t*
p =
reinterpret_cast<const uint16_t*
>(
d);
861 uint16_t eIsoRank[4];
862 uint16_t eIsoCard[4];
864 uint16_t eNonIsoRank[4];
865 uint16_t eNonIsoCard[4];
866 uint16_t eNonIsoRgn[4];
867 uint16_t MIPbits[7][2];
868 uint16_t QBits[7][2];
875 for (
unsigned int crate =
found->second; crate < found->
second + length / 3; ++crate) {
877 for (
unsigned short iSfp = 0; iSfp < 4; ++iSfp) {
878 for (
unsigned short cyc = 0; cyc < 2; ++cyc) {
887 p = p + 2 * (nSamples - 1);
891 srcCardRouting().
SFPtoEMU(eIsoRank, eIsoCard, eIsoRgn, eNonIsoRank, eNonIsoCard, eNonIsoRgn, MIPbits, QBits, sfp);
894 for (
unsigned short int i = 0;
i < 4; ++
i) {
897 for (
unsigned short int i = 0;
i < 4; ++
i) {
907 LogDebug(
"GCT") <<
"HLT mode - skipping unpack of RCT Regions";
911 unsigned int id = hdr.
blockId();
920 unsigned int crate =
found->second;
923 const uint16_t*
p =
reinterpret_cast<const uint16_t*
>(
d);
929 for (
unsigned int i = 0;
i < length; ++
i) {
934 iphi = 2 * ((11 - crate) % 9);
937 iphi = 2 * ((20 - crate) % 9);
980 LogDebug(
"GCT") <<
"HLT mode - skipping unpack of GCT Fibres";
984 unsigned int id = hdr.
blockId();
989 const uint32_t*
p =
reinterpret_cast<const uint32_t*
>(
d);
991 for (
unsigned int i = 0;
i < length; ++
i) {
1008 LogDebug(
"GCT") <<
"HLT mode - skipping unpack of internal Et Sums";
1012 unsigned int id = hdr.
blockId();
1017 const uint32_t*
p =
reinterpret_cast<const uint32_t*
>(
d);
1019 for (
unsigned int i = 0;
i < length; ++
i) {
1031 LogDebug(
"GCT") <<
"HLT mode - skipping unpack of internal Jet Cands";
1035 unsigned int id = hdr.
blockId();
1040 const uint32_t*
p =
reinterpret_cast<const uint32_t*
>(
d);
1042 for (
unsigned int i = 0;
i < length; ++
i) {
1061 LogDebug(
"GCT") <<
"HLT mode - skipping unpack of internal Jet Cands";
1065 unsigned int id = hdr.
blockId();
1070 const uint16_t*
p =
reinterpret_cast<const uint16_t*
>(
d);
1072 for (
unsigned int i = 0;
i < length; ++
i) {
1088 LogDebug(
"GCT") <<
"HLT mode - skipping unpack of internal Jet Cands";
1092 unsigned int id = hdr.
blockId();
1097 const uint16_t*
p =
reinterpret_cast<const uint16_t*
>(
d);
1099 for (
unsigned int i = 0;
i < length; ++
i) {
1115 LogDebug(
"GCT") <<
"HLT mode - skipping unpack of internal Jet Cands";
1119 unsigned int id = hdr.
blockId();
1124 const uint16_t*
p =
reinterpret_cast<const uint16_t*
>(
d);
1126 for (
unsigned int i = 0;
i < length; ++
i) {
1142 LogDebug(
"GCT") <<
"HLT mode - skipping unpack of internal HF ring data";
1146 unsigned int id = hdr.
blockId();
1151 const uint32_t*
p =
reinterpret_cast<const uint32_t*
>(
d);
1153 for (
unsigned int i = 0;
i < length / 2; ++
i) {
1169 LogDebug(
"GCT") <<
"HLT mode - skipping unpack of wheel input internal Et sums and HF ring data";
1173 unsigned int id = hdr.
blockId();
1178 const uint32_t*
p =
reinterpret_cast<const uint32_t*
>(
d);
1180 for (
unsigned int i = 0;
i < length; ++
i) {
1185 }
else if (
i > 2 &&
i < 9) {
1187 }
else if (
i > 8 &&
i < 15) {
1189 }
else if (
i > 14) {
1201 LogDebug(
"GCT") <<
"HLT mode - skipping unpack of wheel output internal Et sums and HF ring data";
1205 unsigned int id = hdr.
blockId();
1210 const uint32_t*
p =
reinterpret_cast<const uint32_t*
>(
d);
1212 for (
unsigned int i = 0;
i < length; ++
i) {
1217 }
else if (
i > 0 &&
i < 3) {
1219 }
else if (
i > 2 &&
i < 5) {
1232 LogDebug(
"GCT") <<
"HLT mode - skipping unpack of pre-wheel internal Missing Ht data";
1236 unsigned int id = hdr.
blockId();
1241 const uint32_t*
p =
reinterpret_cast<const uint32_t*
>(
d);
1243 for (
unsigned int iLength = 0; iLength < length; ++iLength) {
1255 LogDebug(
"GCT") <<
"HLT mode - skipping unpack of post-wheel internal Missing Ht data";
1259 unsigned int id = hdr.
blockId();
1264 const uint32_t*
p =
reinterpret_cast<const uint32_t*
>(
d);
1266 for (
unsigned int iLength = 0; iLength < length; ++iLength) {
static L1GctInternEtSum fromMissEtxOrEty(uint16_t capBlock, uint16_t capIndex, int16_t bx, uint32_t data)
L1GctHFBitCountsCollection *const gctHfBitCounts() const
GCT output: Hadronic-Forward bit-counts collection.
constexpr int32_t ceil(float num)
static L1GctInternJetData fromJetPreCluster(L1CaloRegionDetId rgn, uint16_t capBlock, uint16_t capIndex, int16_t bx, uint32_t data)
construct from "jet_precluster"
L1GctEmCandCollection *const gctNonIsoEm() const
GCT output: Non-isolated EM candidate collection.
Global Calorimeter Trigger SC -> CC fibre data word.
L1CaloEmCollection *const rctEm() const
Input electrons from the RCT to the GCT.
tuple numberOfGctSamplesToUnpack
L1GctHtMissCollection *const gctHtMiss() const
GCT output: Missing Ht collection.
void SFPtoEMU(unsigned short(&eIsoRank)[4], unsigned short(&eIsoCardId)[4], unsigned short(&eIsoRegionId)[4], unsigned short(&eNonIsoRank)[4], unsigned short(&eNonIsoCardId)[4], unsigned short(&eNonIsoRegionId)[4], unsigned short(&MIPbits)[7][2], unsigned short(&Qbits)[7][2], unsigned short(&SFP)[2][4]) const
Level-1 Trigger jet candidate.
Level-1 Region Calorimeter Trigger EM candidate.
Persistable copy of missing Et measured at Level-1.
static L1GctInternJetData fromJetClusterMinimal(L1CaloRegionDetId rgn, uint16_t capBlock, uint16_t capIndex, int16_t bx, uint32_t data)
construct from "jet_cluster_minimal"
static L1GctInternHFData fromConcBitCounts(const uint16_t capBlock, const uint16_t capIndex, const int16_t bx, const uint32_t data)
Level-1 Trigger EM candidate at output of GCT.
static L1GctInternEtSum fromTotalEtOrHt(uint16_t capBlock, uint16_t capIndex, int16_t bx, uint32_t data)
L1GctInternHFDataCollection *const gctInternHFData() const
Internal Hadronic-Forward bit-counts/ring-sums data collection.
U second(std::pair< T, U > const &p)
std::vector< L1GctJetCand > L1GctJetCandCollection
static L1GctInternHtMiss unpackerMissHtxHty(const uint16_t capBlock, const uint16_t capIndex, const int16_t bx, const uint32_t data)
Named ctor for making missing Ht x & y components object from unpacker raw data (wheel input)...
L1GctInternEtSumCollection *const gctInternEtSums() const
Internal Et Sum collection.
L1GctEtTotalCollection *const gctEtTot() const
GCT output: Total Et collection.
static L1GctInternHtMiss unpackerMissHty(const uint16_t capBlock, const uint16_t capIndex, const int16_t bx, const uint32_t data)
Named ctor for making missing Ht y-component object from unpacker raw data.
static L1GctInternHFData fromConcRingSums(const uint16_t capBlock, const uint16_t capIndex, const int16_t bx, const uint32_t data)
L1GctInternHtMissCollection *const gctInternHtMiss() const
Internal missing Ht collection.
Persistable copy of total Et measured at Level-1.
L1GctEtMissCollection *const gctEtMiss() const
GCT output: Missing Et collection.
static L1GctInternEtSum fromJetMissEt(uint16_t capBlock, uint16_t capIndex, int16_t bx, uint32_t data)
constexpr size_t nSamples
static L1GctInternHFData fromWheelRingSums(const uint16_t capBlock, const uint16_t capIndex, const int16_t bx, const uint32_t data)
tuple unpackSharedRegions
Persistable copy of total Ht measured at Level-1.
static L1GctHFRingEtSums fromConcRingSums(const uint16_t capBlock, const uint16_t capIndex, const int16_t bx, const uint32_t data)
tuple numberOfRctSamplesToUnpack
static L1GctInternJetData fromJetCluster(L1CaloRegionDetId rgn, uint16_t capBlock, uint16_t capIndex, int16_t bx, uint32_t data)
construct from "jet_cluster"
L1GctHFRingEtSumsCollection *const gctHfRingEtSums() const
GCT output: Hadronic-Forward ring-sums collection.
Persistable copy of missing Et measured at Level-1.
static L1GctInternJetData fromGctTrigObject(L1CaloRegionDetId rgn, uint16_t capBlock, uint16_t capIndex, int16_t bx, uint32_t data)
construct from "gct_trig_object"
L1GctFibreCollection *const gctFibres() const
Raw fibre input to the GCT.
L1GctEmCandCollection *const gctIsoEm() const
GCT output: Isolated EM candidate collection.
char data[epos_bytes_allocation]
L1GctInternJetDataCollection *const gctInternJets() const
Internal Jet candidate collection.
static L1GctInternHtMiss unpackerMissHtx(const uint16_t capBlock, const uint16_t capIndex, const int16_t bx, const uint32_t data)
Named ctor for making missing Ht x-component object from unpacker raw data.
L1GctEtHadCollection *const gctEtHad() const
GCT output: Hadronic transverse-energy (Ht) collection.
static L1GctHFBitCounts fromConcHFBitCounts(const uint16_t capBlock, const uint16_t capIndex, const int16_t bx, const uint32_t data)
static L1GctInternHFData fromWheelBitCounts(const uint16_t capBlock, const uint16_t capIndex, const int16_t bx, const uint32_t data)
L1GctInternEmCandCollection *const gctInternEm() const
Internal EM candidate collection.
static L1CaloRegion makeRegionFromUnpacker(const uint16_t data, const unsigned ieta, const unsigned iphi, const uint16_t block, const uint16_t index, const int16_t bx)
constructor from raw data and GCT indices for unpacking
static L1GctInternEtSum fromJetTotEt(uint16_t capBlock, uint16_t capIndex, int16_t bx, uint32_t data)
L1CaloRegionCollection *const rctCalo() const
Input calo regions from the RCT to the GCT.
std::vector< L1GctEmCand > L1GctEmCandCollection
static L1GctInternEtSum fromJetTotHt(uint16_t capBlock, uint16_t capIndex, int16_t bx, uint32_t data)