181 {0x580,
"ConcJet: Input TrigPathA (Jet Cands)"},
182 {0x581,
"ConcJet: Input TrigPathB (HF Rings)"},
183 {0x583,
"ConcJet: Jet Cands and Counts Output to GT"},
184 {0x587,
"ConcJet: BX & Orbit Info"},
186 {0x680,
"ConcElec: Input TrigPathA (EM Cands)"},
187 {0x681,
"ConcElec: Input TrigPathB (Et Sums)"},
188 {0x682,
"ConcElec: Input TrigPathC (Ht Sums)"},
189 {0x683,
"ConcElec: EM Cands and Energy Sums Output to GT"},
190 {0x686,
"ConcElec: Test (GT Serdes Loopback)"},
191 {0x687,
"ConcElec: BX & Orbit Info"},
193 {0x800,
"Leaf0ElecPosEtaU1: Sort Input"},
194 {0x803,
"Leaf0ElecPosEtaU1: Sort Output"},
195 {0x804,
"Leaf0ElecPosEtaU1: Raw Input"},
196 {0x880,
"Leaf0ElecPosEtaU2: Sort Input"},
197 {0x883,
"Leaf0ElecPosEtaU2: Sort Output"},
198 {0x884,
"Leaf0ElecPosEtaU2: Raw Input"},
199 {0xc00,
"Leaf0ElecNegEtaU1: Sort Input"},
200 {0xc03,
"Leaf0ElecNegEtaU1: Sort Output"},
201 {0xc04,
"Leaf0ElecNegEtaU1: Raw Input"},
202 {0xc80,
"Leaf0ElecNegEtaU2: Sort Input"},
203 {0xc83,
"Leaf0ElecNegEtaU2: Sort Output"},
204 {0xc84,
"Leaf0ElecNegEtaU2: Raw Input"},
206 {0x300,
"WheelPosEtaJet: Input TrigPathA (Jet Sort)"},
207 {0x303,
"WheelPosEtaJet: Output TrigPathA (Jet Sort)"},
208 {0x306,
"WheelPosEtaJet: Test (deprecated)"},
209 {0x307,
"WheelPosEtaJet: Info (deprecated)"},
211 {0x380,
"WheelPosEtaEnergy: Input TrigPathA (Et)"},
212 {0x381,
"WheelPosEtaEnergy: Input TrigPathB (Ht)"},
213 {0x383,
"WheelPosEtaEnergy: Output TrigPathA (Et)"},
214 {0x385,
"WheelPosEtaEnergy: Output TrigPathB (Ht)"},
215 {0x386,
"WheelPosEtaEnergy: Test"},
216 {0x387,
"WheelPosEtaEnergy: BX & Orbit Info"},
218 {0x700,
"WheelNegEtaJet: Input TrigPathA (Jet Sort)"},
219 {0x703,
"WheelNegEtaJet: Output TrigPathA (Jet Sort)"},
220 {0x706,
"WheelNegEtaJet: Test (deprecated)"},
221 {0x707,
"WheelNegEtaJet: Info (deprecated)"},
223 {0x780,
"WheelNegEtaEnergy: Input TrigPathA (Et)"},
224 {0x781,
"WheelNegEtaEnergy: Input TrigPathB (Ht)"},
225 {0x783,
"WheelNegEtaEnergy: Output TrigPathA (Et)"},
226 {0x785,
"WheelNegEtaEnergy: Output TrigPathB (Ht)"},
227 {0x786,
"WheelNegEtaEnergy: Test"},
228 {0x787,
"WheelNegEtaEnergy: BX & Orbit Info"},
230 {0x900,
"Leaf1JetPosEtaU1: JF2 Input"},
231 {0x901,
"Leaf1JetPosEtaU1: JF2 Shared Received"},
232 {0x902,
"Leaf1JetPosEtaU1: JF2 Shared Sent"},
233 {0x903,
"Leaf1JetPosEtaU1: JF2 Output"},
234 {0x904,
"Leaf1JetPosEtaU1: JF2 Raw Input"},
235 {0x908,
"Leaf1JetPosEtaU1: JF3 Input"},
236 {0x909,
"Leaf1JetPosEtaU1: JF3 Shared Received"},
237 {0x90a,
"Leaf1JetPosEtaU1: JF3 Shared Sent"},
238 {0x90b,
"Leaf1JetPosEtaU1: JF3 Output"},
239 {0x90c,
"Leaf1JetPosEtaU1: JF3 Raw Input"},
240 {0x980,
"Leaf1JetPosEtaU2: Eta0 Input"},
241 {0x984,
"Leaf1JetPosEtaU2: Eta0 Raw Input"},
242 {0x988,
"Leaf1JetPosEtaU2: JF1 Input"},
243 {0x989,
"Leaf1JetPosEtaU2: JF1 Shared Received"},
244 {0x98a,
"Leaf1JetPosEtaU2: JF1 Shared Sent"},
245 {0x98b,
"Leaf1JetPosEtaU2: JF1 Output"},
246 {0x98c,
"Leaf1JetPosEtaU2: JF1 Raw Input"},
247 {0xa00,
"Leaf2JetPosEtaU1: JF2 Input"},
248 {0xa01,
"Leaf2JetPosEtaU1: JF2 Shared Received"},
249 {0xa02,
"Leaf2JetPosEtaU1: JF2 Shared Sent"},
250 {0xa03,
"Leaf2JetPosEtaU1: JF2 Output"},
251 {0xa04,
"Leaf2JetPosEtaU1: JF2 Raw Input"},
252 {0xa08,
"Leaf2JetPosEtaU1: JF3 Input"},
253 {0xa09,
"Leaf2JetPosEtaU1: JF3 Shared Received"},
254 {0xa0a,
"Leaf2JetPosEtaU1: JF3 Shared Sent"},
255 {0xa0b,
"Leaf2JetPosEtaU1: JF3 Output"},
256 {0xa0c,
"Leaf2JetPosEtaU1: JF3 Raw Input"},
257 {0xa80,
"Leaf2JetPosEtaU2: Eta0 Input"},
258 {0xa84,
"Leaf2JetPosEtaU2: Eta0 Raw Input"},
259 {0xa88,
"Leaf2JetPosEtaU2: JF1 Input"},
260 {0xa89,
"Leaf2JetPosEtaU2: JF1 Shared Received"},
261 {0xa8a,
"Leaf2JetPosEtaU2: JF1 Shared Sent"},
262 {0xa8b,
"Leaf2JetPosEtaU2: JF1 Output"},
263 {0xa8c,
"Leaf2JetPosEtaU2: JF1 Raw Input"},
264 {0xb00,
"Leaf3JetPosEtaU1: JF2 Input"},
265 {0xb01,
"Leaf3JetPosEtaU1: JF2 Shared Received"},
266 {0xb02,
"Leaf3JetPosEtaU1: JF2 Shared Sent"},
267 {0xb03,
"Leaf3JetPosEtaU1: JF2 Output"},
268 {0xb04,
"Leaf3JetPosEtaU1: JF2 Raw Input"},
269 {0xb08,
"Leaf3JetPosEtaU1: JF3 Input"},
270 {0xb09,
"Leaf3JetPosEtaU1: JF3 Shared Received"},
271 {0xb0a,
"Leaf3JetPosEtaU1: JF3 Shared Sent"},
272 {0xb0b,
"Leaf3JetPosEtaU1: JF3 Output"},
273 {0xb0c,
"Leaf3JetPosEtaU1: JF3 Raw Input"},
274 {0xb80,
"Leaf3JetPosEtaU2: Eta0 Input"},
275 {0xb84,
"Leaf3JetPosEtaU2: Eta0 Raw Input"},
276 {0xb88,
"Leaf3JetPosEtaU2: JF1 Input"},
277 {0xb89,
"Leaf3JetPosEtaU2: JF1 Shared Received"},
278 {0xb8a,
"Leaf3JetPosEtaU2: JF1 Shared Sent"},
279 {0xb8b,
"Leaf3JetPosEtaU2: JF1 Output"},
280 {0xb8c,
"Leaf3JetPosEtaU2: JF1 Raw Input"},
282 {0xd00,
"Leaf1JetNegEtaU1: JF2 Input"},
283 {0xd01,
"Leaf1JetNegEtaU1: JF2 Shared Received"},
284 {0xd02,
"Leaf1JetNegEtaU1: JF2 Shared Sent"},
285 {0xd03,
"Leaf1JetNegEtaU1: JF2 Output"},
286 {0xd04,
"Leaf1JetNegEtaU1: JF2 Raw Input"},
287 {0xd08,
"Leaf1JetNegEtaU1: JF3 Input"},
288 {0xd09,
"Leaf1JetNegEtaU1: JF3 Shared Received"},
289 {0xd0a,
"Leaf1JetNegEtaU1: JF3 Shared Sent"},
290 {0xd0b,
"Leaf1JetNegEtaU1: JF3 Output"},
291 {0xd0c,
"Leaf1JetNegEtaU1: JF3 Raw Input"},
292 {0xd80,
"Leaf1JetNegEtaU2: Eta0 Input"},
293 {0xd84,
"Leaf1JetNegEtaU2: Eta0 Raw Input"},
294 {0xd88,
"Leaf1JetNegEtaU2: JF1 Input"},
295 {0xd89,
"Leaf1JetNegEtaU2: JF1 Shared Received"},
296 {0xd8a,
"Leaf1JetNegEtaU2: JF1 Shared Sent"},
297 {0xd8b,
"Leaf1JetNegEtaU2: JF1 Output"},
298 {0xd8c,
"Leaf1JetNegEtaU2: JF1 Raw Input"},
299 {0xe00,
"Leaf2JetNegEtaU1: JF2 Input"},
300 {0xe01,
"Leaf2JetNegEtaU1: JF2 Shared Received"},
301 {0xe02,
"Leaf2JetNegEtaU1: JF2 Shared Sent"},
302 {0xe03,
"Leaf2JetNegEtaU1: JF2 Output"},
303 {0xe04,
"Leaf2JetNegEtaU1: JF2 Raw Input"},
304 {0xe08,
"Leaf2JetNegEtaU1: JF3 Input"},
305 {0xe09,
"Leaf2JetNegEtaU1: JF3 Shared Received"},
306 {0xe0a,
"Leaf2JetNegEtaU1: JF3 Shared Sent"},
307 {0xe0b,
"Leaf2JetNegEtaU1: JF3 Output"},
308 {0xe0c,
"Leaf2JetNegEtaU1: JF3 Raw Input"},
309 {0xe80,
"Leaf2JetNegEtaU2: Eta0 Input"},
310 {0xe84,
"Leaf2JetNegEtaU2: Eta0 Raw Input"},
311 {0xe88,
"Leaf2JetNegEtaU2: JF1 Input"},
312 {0xe89,
"Leaf2JetNegEtaU2: JF1 Shared Received"},
313 {0xe8a,
"Leaf2JetNegEtaU2: JF1 Shared Sent"},
314 {0xe8b,
"Leaf2JetNegEtaU2: JF1 Output"},
315 {0xe8c,
"Leaf2JetNegEtaU2: JF1 Raw Input"},
316 {0xf00,
"Leaf3JetNegEtaU1: JF2 Input"},
317 {0xf01,
"Leaf3JetNegEtaU1: JF2 Shared Received"},
318 {0xf02,
"Leaf3JetNegEtaU1: JF2 Shared Sent"},
319 {0xf03,
"Leaf3JetNegEtaU1: JF2 Output"},
320 {0xf04,
"Leaf3JetNegEtaU1: JF2 Raw Input"},
321 {0xf08,
"Leaf3JetNegEtaU1: JF3 Input"},
322 {0xf09,
"Leaf3JetNegEtaU1: JF3 Shared Received"},
323 {0xf0a,
"Leaf3JetNegEtaU1: JF3 Shared Sent"},
324 {0xf0b,
"Leaf3JetNegEtaU1: JF3 Output"},
325 {0xf0c,
"Leaf3JetNegEtaU1: JF3 Raw Input"},
326 {0xf80,
"Leaf3JetNegEtaU2: Eta0 Input"},
327 {0xf84,
"Leaf3JetNegEtaU2: Eta0 Raw Input"},
328 {0xf88,
"Leaf3JetNegEtaU2: JF1 Input"},
329 {0xf89,
"Leaf3JetNegEtaU2: JF1 Shared Received"},
330 {0xf8a,
"Leaf3JetNegEtaU2: JF1 Shared Sent"},
331 {0xf8b,
"Leaf3JetNegEtaU2: JF1 Output"},
332 {0xf8c,
"Leaf3JetNegEtaU2: JF1 Raw Input"}
526 {0x680 , IsoBoundaryPair(8,15)},
527 {0x800 , IsoBoundaryPair(0, 9)},
528 {0x803 , IsoBoundaryPair(0, 1)},
529 {0x880 , IsoBoundaryPair(0, 7)},
530 {0x883 , IsoBoundaryPair(0, 1)},
531 {0xc00 , IsoBoundaryPair(0, 9)},
532 {0xc03 , IsoBoundaryPair(0, 1)},
533 {0xc80 , IsoBoundaryPair(0, 7)},
534 {0xc83 , IsoBoundaryPair(0, 1)}
552 uint32_t hdr = data[0] + (data[1]<<8) + (data[2]<<16) + (data[3]<<24);
564 unsigned blockId = hdr & 0xfff;
565 unsigned blockLength = 0;
566 unsigned nSamples = (hdr>>16) & 0xf;
567 unsigned bxId = (hdr>>20) & 0xfff;
568 unsigned eventId = (hdr>>12) & 0xf;
571 if(valid) { blockLength =
blockLengthMap().find(blockId)->second; }
573 return GctBlockHeader(blockId, blockLength, nSamples, bxId, eventId, valid);
580 if ( hdr.
nSamples() < 1 ) {
return true; }
598 const uint32_t eventId)
const
610 return ((bxId & 0xfff) << 20) | ((nSamples & 0xf) << 16) | ((eventId & 0xf) << 12) | (blockId & 0xfff);
619 const unsigned int id = hdr.
blockId();
624 const uint16_t * p16 =
reinterpret_cast<const uint16_t *
>(
d);
628 const unsigned int emCandCategoryOffset = nSamples * 4;
629 const unsigned int timeSampleOffset = nSamples * 2;
631 unsigned int samplesToUnpack = 1;
634 for (
unsigned int iso=0; iso<2; ++iso)
636 bool isoFlag = (iso==1);
643 for (
unsigned int bx=0; bx<samplesToUnpack; ++bx)
647 const unsigned int cand0Offset = iso*emCandCategoryOffset + bx*2;
649 em->push_back(
L1GctEmCand(p16[cand0Offset], isoFlag,
id, 0, bx));
650 em->push_back(
L1GctEmCand(p16[cand0Offset + timeSampleOffset], isoFlag,
id, 1, bx));
651 em->push_back(
L1GctEmCand(p16[cand0Offset + 1], isoFlag,
id, 2, bx));
652 em->push_back(
L1GctEmCand(p16[cand0Offset + timeSampleOffset + 1], isoFlag,
id, 3, bx));
656 p16 += emCandCategoryOffset * 2;
665 const uint32_t * p32 =
reinterpret_cast<const uint32_t *
>(p16);
672 const unsigned int id = hdr.
blockId();
677 const uint16_t * p16 =
reinterpret_cast<const uint16_t *
>(
d);
681 const unsigned int jetCandCategoryOffset = nSamples * 4;
682 const unsigned int timeSampleOffset = nSamples * 2;
684 unsigned int samplesToUnpack = 1;
697 for(
unsigned int bx = 0 ; bx < samplesToUnpack ; ++bx)
700 const unsigned int cand0Offset = iCat*jetCandCategoryOffset + bx*2;
703 jets->push_back(
L1GctJetCand(p16[cand0Offset], tauflag, forwardFlag,
id, 0, bx));
705 jets->push_back(
L1GctJetCand(p16[cand0Offset + timeSampleOffset], tauflag, forwardFlag,
id, 1, bx));
707 jets->push_back(
L1GctJetCand(p16[cand0Offset + 1], tauflag, forwardFlag,
id, 2, bx));
709 jets->push_back(
L1GctJetCand(p16[cand0Offset + timeSampleOffset + 1], tauflag, forwardFlag,
id, 3, bx));
713 p16 += NUM_JET_CATEGORIES * jetCandCategoryOffset;
719 const uint32_t * p32 =
reinterpret_cast<const uint32_t *
>(p16);
731 if(
hltMode()) {
LogDebug(
"GCT") <<
"HLT mode - skipping unpack of internal EM Cands";
return; }
733 unsigned int id = hdr.
blockId();
741 unsigned int lowerIsoPairBound =
found->second.first;
742 unsigned int upperIsoPairBound =
found->second.second;
745 const uint16_t *
p =
reinterpret_cast<const uint16_t *
>(
d);
748 for(
unsigned int bx=0; bx <
nSamples; ++bx)
751 for(
unsigned int candPair = 0 ; candPair < numCandPairs ; ++candPair)
754 bool iso = ((candPair>=lowerIsoPairBound) && (candPair<=upperIsoPairBound));
757 for(
unsigned int i = 0 ;
i < 2 ; ++
i)
760 uint16_t candRaw = p[
offset];
773 if(
hltMode()) {
LogDebug(
"GCT") <<
"HLT mode - skipping unpack of RCT EM Cands";
return; }
775 unsigned int id = hdr.
blockId();
780 const uint16_t *
p =
reinterpret_cast<const uint16_t *
>(
d);
784 uint16_t eIsoRank[4];
785 uint16_t eIsoCard[4];
787 uint16_t eNonIsoRank[4];
788 uint16_t eNonIsoCard[4];
789 uint16_t eNonIsoRgn[4];
790 uint16_t MIPbits[7][2];
791 uint16_t QBits[7][2];
798 for (
unsigned int crate=
found->second; crate<found->
second+length/3; ++crate) {
801 for (
unsigned short iSfp=0 ; iSfp<4 ; ++iSfp) {
802 for (
unsigned short cyc=0 ; cyc<2 ; ++cyc) {
803 if (iSfp==0) { sfp[cyc][iSfp] = 0; }
809 p = p + 2*(nSamples-1);
813 srcCardRouting().
SFPtoEMU(eIsoRank, eIsoCard, eIsoRgn, eNonIsoRank, eNonIsoCard, eNonIsoRgn, MIPbits, QBits, sfp);
816 for (
unsigned short int i=0;
i<4; ++
i) {
819 for (
unsigned short int i=0;
i<4; ++
i) {
820 colls()->
rctEm()->push_back(
L1CaloEmCand( eNonIsoRank[
i], eNonIsoRgn[i], eNonIsoCard[i], crate,
false, i, bx) );
829 if(
hltMode()) {
LogDebug(
"GCT") <<
"HLT mode - skipping unpack of RCT Regions";
return; }
831 unsigned int id = hdr.
blockId();
840 unsigned int crate=
found->second;
843 const uint16_t *
p =
reinterpret_cast<const uint16_t *
>(
d);
849 for (
unsigned int i=0;
i<length; ++
i) {
850 for (uint16_t bx=0; bx<
nSamples; ++bx) {
854 iphi = 2*((11-crate)%9);
857 iphi = 2*((20-crate)%9);
882 if(
hltMode()) {
LogDebug(
"GCT") <<
"HLT mode - skipping unpack of GCT Fibres";
return; }
884 unsigned int id = hdr.
blockId();
889 const uint32_t *
p =
reinterpret_cast<const uint32_t *
>(
d);
891 for (
unsigned int i=0;
i<length; ++
i) {
892 for (
unsigned int bx=0; bx<
nSamples; ++bx) {
909 if(
hltMode()) {
LogDebug(
"GCT") <<
"HLT mode - skipping unpack of internal Et Sums";
return; }
911 unsigned int id = hdr.
blockId();
916 const uint32_t *
p =
reinterpret_cast<const uint32_t *
>(
d);
918 for (
unsigned int i=0;
i<length; ++
i) {
920 for (
unsigned int bx=0; bx<
nSamples; ++bx) {
930 if(
hltMode()) {
LogDebug(
"GCT") <<
"HLT mode - skipping unpack of internal Jet Cands";
return; }
932 unsigned int id = hdr.
blockId();
937 const uint32_t *
p =
reinterpret_cast<const uint32_t *
>(
d);
939 for (
unsigned int i=0;
i<length; ++
i) {
941 for (
unsigned int bx=0; bx<
nSamples; ++bx) {
956 if(
hltMode()) {
LogDebug(
"GCT") <<
"HLT mode - skipping unpack of internal Jet Cands";
return; }
958 unsigned int id = hdr.
blockId();
963 const uint16_t *
p =
reinterpret_cast<const uint16_t *
>(
d);
965 for (
unsigned int i=0;
i<length; ++
i) {
967 for (
unsigned int bx=0; bx<
nSamples; ++bx) {
979 if(
hltMode()) {
LogDebug(
"GCT") <<
"HLT mode - skipping unpack of internal Jet Cands";
return; }
981 unsigned int id = hdr.
blockId();
986 const uint16_t *
p =
reinterpret_cast<const uint16_t *
>(
d);
988 for (
unsigned int i=0;
i<length; ++
i) {
990 for (
unsigned int bx=0; bx<
nSamples; ++bx) {
1002 if(
hltMode()) {
LogDebug(
"GCT") <<
"HLT mode - skipping unpack of internal Jet Cands";
return; }
1004 unsigned int id = hdr.
blockId();
1009 const uint16_t *
p =
reinterpret_cast<const uint16_t *
>(
d);
1011 for (
unsigned int i=0;
i<length; ++
i) {
1013 for (
unsigned int bx=0; bx<
nSamples; ++bx) {
1025 if(
hltMode()) {
LogDebug(
"GCT") <<
"HLT mode - skipping unpack of internal HF ring data";
return; }
1027 unsigned int id = hdr.
blockId();
1032 const uint32_t *
p =
reinterpret_cast<const uint32_t *
>(
d);
1034 for (
unsigned int i=0;
i<length/2; ++
i) {
1036 for (
unsigned int bx=0; bx<
nSamples; ++bx) {
1040 for (
unsigned int bx=0; bx<
nSamples; ++bx) {
1050 if(
hltMode()) {
LogDebug(
"GCT") <<
"HLT mode - skipping unpack of wheel input internal Et sums and HF ring data";
return; }
1052 unsigned int id = hdr.
blockId();
1057 const uint32_t *
p =
reinterpret_cast<const uint32_t *
>(
d);
1059 for (
unsigned int i=0;
i<length; ++
i) {
1061 for (
unsigned int bx=0; bx<
nSamples; ++bx) {
1064 }
else if (
i>2 &&
i<9) {
1066 }
else if (
i>8 &&
i<15) {
1079 if(
hltMode()) {
LogDebug(
"GCT") <<
"HLT mode - skipping unpack of wheel output internal Et sums and HF ring data";
return; }
1081 unsigned int id = hdr.
blockId();
1086 const uint32_t *
p =
reinterpret_cast<const uint32_t *
>(
d);
1088 for (
unsigned int i=0;
i<length; ++
i) {
1090 for (
unsigned int bx=0; bx<
nSamples; ++bx) {
1093 }
else if (
i>0 &&
i<3) {
1095 }
else if (
i>2 &&
i<5) {
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.
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.
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"
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
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
L1GctInternEtSumCollection *const gctInternEtSums() const
Internal Et Sum collection.
L1GctEtTotalCollection *const gctEtTot() const
GCT output: Total Et collection.
static L1GctInternHFData fromConcRingSums(const uint16_t capBlock, const uint16_t capIndex, const int16_t bx, const uint32_t data)
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)
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.
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.
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)