CMS 3D CMS Logo

L1GTEvaluationInterface.h
Go to the documentation of this file.
1 #ifndef L1Trigger_Phase2L1GT_L1GTEvaluationInterface_h
2 #define L1Trigger_Phase2L1GT_L1GTEvaluationInterface_h
3 
5 
6 #include <ap_int.h>
7 
8 #include <array>
9 #include <cstddef>
10 #include <cstdint>
11 
15 namespace l1t {
16 
17  template <typename A, typename... Args>
18  A l1t_pack_int(const Args&... args) {
19  A result = 0;
20  std::size_t shift = 0;
21  (
22  [&result, &shift](const auto& arg) {
23  result(shift + arg.width - 1, shift) = arg;
24  shift += arg.width;
25  }(args),
26  ...);
27 
28  return result;
29  }
30 
32  virtual std::size_t packed_width() const = 0;
33  virtual P2GTCandidate to_GTObject() const = 0;
34  virtual ~L1TGT_BaseInterface() {}
35  };
36 
37  template <std::size_t N>
39  virtual ap_uint<N> pack() const = 0;
40 
41  static constexpr std::size_t WIDTH = N;
42 
43  std::size_t packed_width() const override { return WIDTH; }
44  };
45 
46  template <std::size_t N>
47  struct L1TGT_Common3Vector : public L1TGT_Interface<N> {
48  ap_uint<1> valid;
49  ap_uint<16> pT;
50  ap_int<13> phi;
51  ap_int<14> eta;
52 
53  L1TGT_Common3Vector(int valid = 0, int pT = 0, int phi = 0, int eta = 0)
54  : valid(valid), pT(pT), phi(phi), eta(eta) {};
55 
56  virtual ap_uint<44> pack_common() const { return l1t_pack_int<ap_uint<44>>(valid, pT, phi, eta); }
57 
58  ap_uint<N> pack() const override { return pack_common(); }
59 
61  return L1TGT_Common3Vector(1, gtObject.hwPT(), gtObject.hwPhi(), gtObject.hwEta());
62  }
63 
64  P2GTCandidate to_GTObject() const override {
65  P2GTCandidate gt_object;
66  gt_object.setHwPT(pT);
67  gt_object.setHwPhi(phi);
68  gt_object.setHwEta(eta);
69 
70  return gt_object;
71  }
72  };
73 
74  struct L1TGT_CommonSum : public L1TGT_Interface<64> {
75  ap_uint<1> valid;
76  ap_uint<16> pT;
77  ap_int<13> phi;
78  ap_uint<16> scalarSumPT;
79 
80  L1TGT_CommonSum(int valid = 0, int pT = 0, int phi = 0, int scalarSumPT = 0)
82 
83  ap_uint<46> pack_common() const { return l1t_pack_int<ap_uint<46>>(valid, pT, phi, scalarSumPT); }
84 
85  ap_uint<64> pack() const override { return pack_common(); }
86 
87  static L1TGT_CommonSum from_GTObject(const P2GTCandidate& gtObject) {
88  return L1TGT_CommonSum(1, gtObject.hwPT(), gtObject.hwPhi(), gtObject.hwScalarSumPT());
89  }
90 
91  P2GTCandidate to_GTObject() const override {
92  P2GTCandidate gt_object;
93  gt_object.setHwPT(pT);
94  gt_object.setHwPhi(phi);
95  gt_object.setHwScalarSumPT(scalarSumPT);
96 
97  return gt_object;
98  }
99  };
100 
101  // Global Calorimeter Trigger
102 
105  };
106 
109  };
110 
111  struct L1TGT_GCT_jet6p6 : public L1TGT_Common3Vector<64> {
113  };
114 
115  struct L1TGT_GCT_tau6p6 : public L1TGT_Common3Vector<64> {
116  ap_uint<10> seed_pT;
117 
118  L1TGT_GCT_tau6p6(int valid = 0, int pT = 0, int phi = 0, int eta = 0, int seed_pT = 0)
120 
121  ap_uint<WIDTH> pack() const override {
122  return l1t_pack_int<ap_uint<WIDTH>>(L1TGT_Common3Vector::pack_common(), seed_pT);
123  }
124 
125  static L1TGT_GCT_tau6p6 from_GTObject(const P2GTCandidate& gtObject) {
126  return L1TGT_GCT_tau6p6(1, gtObject.hwPT(), gtObject.hwPhi(), gtObject.hwEta(), gtObject.hwSeed_pT());
127  }
128 
129  P2GTCandidate to_GTObject() const override {
131  gt_object.setHwSeed_pT(seed_pT);
132 
133  return gt_object;
134  }
135  };
136 
137  struct L1TGT_GCT_Sum2 : public L1TGT_CommonSum {
139  };
140 
141  // Global Muon Trigger
142 
144  ap_uint<5> z0;
145  ap_int<7> d0;
146  ap_uint<1> charge;
147  ap_uint<4> qualityScore;
148 
150  int pT = 0,
151  int phi = 0,
152  int eta = 0,
153  int z0 = 0,
154  int d0 = 0,
155  int charge = 0,
156  int qualityScore = 0)
158 
159  ap_uint<WIDTH> pack() const override {
160  return l1t_pack_int<ap_uint<WIDTH>>(L1TGT_Common3Vector::pack_common(), z0, d0, charge, qualityScore);
161  }
162 
165  gtObject.hwPT(),
166  gtObject.hwPhi(),
167  gtObject.hwEta(),
168  gtObject.hwZ0() >> 12,
169  gtObject.hwD0() >> 5,
170  gtObject.hwCharge(),
171  gtObject.hwQualityScore());
172  }
173 
174  P2GTCandidate to_GTObject() const override {
176  gt_object.setHwZ0(static_cast<int>(z0) << 12);
177  gt_object.setHwD0(static_cast<int>(d0) << 5);
178  gt_object.setHwCharge(charge);
179  gt_object.setHwQualityScore(qualityScore);
180 
181  return gt_object;
182  }
183  };
184 
186  ap_int<10> z0;
187  ap_int<10> d0;
188  ap_uint<1> charge;
189  ap_uint<6> qualityFlags;
190  ap_uint<6> isolationPT;
191  ap_uint<4> beta;
192 
194  int pT = 0,
195  int phi = 0,
196  int eta = 0,
197  int z0 = 0,
198  int d0 = 0,
199  int charge = 0,
200  int qualityFlags = 0,
201  int isolationPT = 0,
202  int beta = 0)
204  z0(z0),
205  d0(d0),
206  charge(charge),
209  beta(beta) {}
210 
211  ap_uint<WIDTH> pack() const override {
212  return l1t_pack_int<ap_uint<WIDTH>>(
214  }
215 
218  gtObject.hwPT(),
219  gtObject.hwPhi(),
220  gtObject.hwEta(),
221  gtObject.hwZ0() >> 7,
222  gtObject.hwD0() >> 2,
223  gtObject.hwCharge(),
224  gtObject.hwQualityFlags(),
225  gtObject.hwIsolationPT(),
226  gtObject.hwBeta());
227  }
228 
229  P2GTCandidate to_GTObject() const override {
231  gt_object.setHwZ0(static_cast<int>(z0) << 7);
232  gt_object.setHwD0(static_cast<int>(d0) << 2);
233  gt_object.setHwCharge(charge);
234  gt_object.setHwQualityFlags(static_cast<int>(qualityFlags));
235  gt_object.setHwIsolationPT(static_cast<int>(isolationPT));
236  gt_object.setHwBeta(beta);
237 
238  return gt_object;
239  }
240  };
241 
242  struct L1TGT_GMT_TopoObject : public L1TGT_Interface<64> {
243  ap_uint<1> valid;
244  ap_uint<8> pT; // TODO
245  ap_int<8> eta;
246  ap_int<8> phi;
247  ap_uint<8> mass;
248  ap_uint<6> qualityFlags;
249  // ap_uint<16> /* Index of 3 prongs */;
250  // ap_uint<3> /* Some other quality */;
251 
252  L1TGT_GMT_TopoObject(int valid = 0, int pT = 0, int phi = 0, int eta = 0, int mass = 0, int qualityFlags = 0)
254 
255  ap_uint<WIDTH> pack() const override {
256  return l1t_pack_int<ap_uint<WIDTH>>(valid, pT, eta, phi, mass, qualityFlags);
257  }
258 
260  return L1TGT_GMT_TopoObject(1,
261  gtObject.hwPT() / 5,
262  gtObject.hwPhi() >> 5,
263  gtObject.hwEta() >> 5,
264  gtObject.hwMass(),
265  gtObject.hwQualityFlags());
266  }
267 
268  P2GTCandidate to_GTObject() const override {
269  P2GTCandidate gt_object;
270  gt_object.setHwPT(static_cast<int>(pT) * 5); // TODO
271  gt_object.setHwPhi(static_cast<int>(phi) << 5);
272  gt_object.setHwEta(static_cast<int>(eta) << 5);
273  gt_object.setHwMass(mass);
274  gt_object.setHwQualityFlags(qualityFlags);
275 
276  return gt_object;
277  }
278  };
279 
280  // Global Track Trigger
281 
283  ap_int<10> z0;
284  ap_uint<5> number_of_tracks;
286 
288  int pT = 0,
289  int phi = 0,
290  int eta = 0,
291  int z0 = 0,
292  int number_of_tracks = 0,
295  z0(z0),
298 
299  ap_uint<WIDTH> pack() const override {
300  return l1t_pack_int<ap_uint<WIDTH>>(
302  }
303 
305  return L1TGT_GTT_PromptJet(1,
306  gtObject.hwPT(),
307  gtObject.hwPhi(),
308  gtObject.hwEta(),
309  gtObject.hwZ0() >> 7,
310  gtObject.hwNumber_of_tracks(),
311  gtObject.hwNumber_of_displaced_tracks());
312  }
313 
314  P2GTCandidate to_GTObject() const override {
316  gt_object.setHwZ0(static_cast<int>(z0) << 7);
319 
320  return gt_object;
321  }
322  };
323 
325  ap_int<10> z0;
326  ap_uint<5> number_of_tracks;
328 
330  int pT = 0,
331  int phi = 0,
332  int eta = 0,
333  int z0 = 0,
334  int number_of_tracks = 0,
337  z0(z0),
340 
341  ap_uint<WIDTH> pack() const override {
342  return l1t_pack_int<ap_uint<WIDTH>>(
344  }
345 
347  return L1TGT_GTT_DisplacedJet(1,
348  gtObject.hwPT(),
349  gtObject.hwPhi(),
350  gtObject.hwEta(),
351  gtObject.hwZ0() >> 7,
352  gtObject.hwNumber_of_tracks(),
353  gtObject.hwNumber_of_displaced_tracks());
354  }
355 
356  P2GTCandidate to_GTObject() const override {
358  gt_object.setHwZ0(static_cast<int>(z0) << 7);
361 
362  return gt_object;
363  }
364  };
365 
366  struct L1TGT_GTT_Sum : public L1TGT_CommonSum {
368  };
369 
371  ap_uint<10> seed_pT;
372  ap_int<10> seed_z0;
373  ap_uint<1> charge;
374  ap_uint<2> type;
375 
377  int pT = 0,
378  int phi = 0,
379  int eta = 0,
380  int seed_pT = 0,
381  int seed_z0 = 0,
382  int charge = 0,
383  int type = 0)
385 
386  ap_uint<WIDTH> pack() const override {
387  return l1t_pack_int<ap_uint<WIDTH>>(L1TGT_Common3Vector::pack_common(), seed_pT, seed_z0, charge, type);
388  }
389 
391  return L1TGT_GTT_HadronicTau(1,
392  gtObject.hwPT(),
393  gtObject.hwPhi(),
394  gtObject.hwEta(),
395  gtObject.hwSeed_pT(),
396  gtObject.hwSeed_z0(),
397  gtObject.hwCharge(),
398  gtObject.hwType());
399  }
400 
401  P2GTCandidate to_GTObject() const override {
403  gt_object.setHwSeed_pT(seed_pT);
404  gt_object.setHwSeed_z0(seed_z0);
405  gt_object.setHwCharge(charge);
406  gt_object.setHwType(type);
407 
408  return gt_object;
409  }
410  };
411 
413  ap_int<10> z0;
414  //ap_uint<10> /* candidate mass */;
415  //ap_uint<2> /* candidate type */;
416  //ap_uint<3> /* nbr of tracks */;
417 
418  L1TGT_GTT_LightMeson(int valid = 0, int pT = 0, int phi = 0, int eta = 0, int z0 = 0)
419  : L1TGT_Common3Vector(valid, pT, phi, eta), z0(z0) {}
420 
421  ap_uint<WIDTH> pack() const override {
422  return l1t_pack_int<ap_uint<WIDTH>>(L1TGT_Common3Vector::pack_common(), z0);
423  }
424 
426  return L1TGT_GTT_LightMeson(1, gtObject.hwPT(), gtObject.hwPhi(), gtObject.hwEta(), gtObject.hwZ0() >> 7);
427  }
428 
429  P2GTCandidate to_GTObject() const override {
431  gt_object.setHwZ0(static_cast<int>(z0) << 7);
432 
433  return gt_object;
434  }
435  };
436 
437  struct L1TGT_GTT_Track : public L1TGT_Interface<96> {
438  //TODO
439 
441 
442  ap_uint<WIDTH> pack() const override { return ap_uint<WIDTH>(0); }
443 
444  static L1TGT_GTT_Track from_GTObject(const P2GTCandidate& gtObject) { return L1TGT_GTT_Track(); }
445 
446  P2GTCandidate to_GTObject() const override { return P2GTCandidate(); }
447  };
448 
450  ap_uint<1> valid;
451  ap_int<15> z0;
453  ap_uint<12> sum_pT_pv;
454  ap_uint<3> qualityScore;
456  // ap_uint<15> /* unassigned */;
457 
459  int z0 = 0,
460  int number_of_tracks_in_pv = 0,
461  int sum_pT_pv = 0,
462  int qualityScore = 0,
464  : valid(valid),
465  z0(z0),
470 
471  ap_uint<WIDTH> pack() const override {
472  return l1t_pack_int<ap_uint<WIDTH>>(
474  }
475 
477  return L1TGT_GTT_PrimaryVert(1,
478  gtObject.hwZ0() / 5,
479  gtObject.hwNumber_of_tracks_in_pv(),
480  gtObject.hwSum_pT_pv(),
481  gtObject.hwQualityScore(),
482  gtObject.hwNumber_of_tracks_not_in_pv());
483  }
484 
485  P2GTCandidate to_GTObject() const override {
486  P2GTCandidate gt_object;
487  gt_object.setHwZ0(static_cast<int>(z0) * 5);
489  gt_object.setHwSum_pT_pv(sum_pT_pv);
490  gt_object.setHwQualityScore(qualityScore);
492 
493  return gt_object;
494  }
495  };
496 
497  // Correlator Layer-2
498 
499  struct L1TGT_CL2_Jet : public L1TGT_Common3Vector<128> {
500  ap_int<10> z0;
501 
502  L1TGT_CL2_Jet(int valid = 0, int pT = 0, int phi = 0, int eta = 0, int z0 = 0)
503  : L1TGT_Common3Vector(valid, pT, phi, eta), z0(z0) {}
504 
505  ap_uint<WIDTH> pack() const override {
506  return l1t_pack_int<ap_uint<WIDTH>>(L1TGT_Common3Vector::pack_common(), z0);
507  }
508 
509  static L1TGT_CL2_Jet from_GTObject(const P2GTCandidate& gtObject) {
510  return L1TGT_CL2_Jet(1, gtObject.hwPT(), gtObject.hwPhi(), gtObject.hwEta(), gtObject.hwZ0() >> 7);
511  }
512 
513  P2GTCandidate to_GTObject() const override {
515  gt_object.setHwZ0(static_cast<int>(z0) << 7);
516 
517  return gt_object;
518  }
519  };
520 
521  struct L1TGT_CL2_Sum : public L1TGT_CommonSum {
523  };
524 
525  struct L1TGT_CL2_Tau : public L1TGT_Common3Vector<96> {
526  ap_uint<10> seed_pT;
527  ap_int<10> seed_z0;
528  ap_uint<1> charge;
529  ap_uint<2> type;
530  //ap_uint<10> /* MVA Id / Isol */;
531  //ap_uint<2> /* Id vs Mu */;
532  //ap_uint<2> /* Id vs Mu */;
533 
535  int pT = 0,
536  int phi = 0,
537  int eta = 0,
538  int seed_pT = 0,
539  int seed_z0 = 0,
540  int charge = 0,
541  int type = 0)
543 
544  ap_uint<WIDTH> pack() const override {
545  return l1t_pack_int<ap_uint<WIDTH>>(L1TGT_Common3Vector::pack_common(), seed_pT, seed_z0, charge, type);
546  }
547 
548  static L1TGT_CL2_Tau from_GTObject(const P2GTCandidate& gtObject) {
549  return L1TGT_CL2_Tau(1,
550  gtObject.hwPT(),
551  gtObject.hwPhi(),
552  gtObject.hwEta(),
553  gtObject.hwSeed_pT(),
554  gtObject.hwSeed_z0(),
555  gtObject.hwCharge(),
556  gtObject.hwType());
557  }
558 
559  P2GTCandidate to_GTObject() const override {
561  gt_object.setHwSeed_pT(seed_pT);
562  gt_object.setHwSeed_z0(seed_z0);
563  gt_object.setHwCharge(charge);
564  gt_object.setHwType(type);
565 
566  return gt_object;
567  }
568  };
569 
571  ap_uint<4> qualityFlags;
572  ap_uint<11> isolationPT;
573  ap_uint<1> charge;
574  ap_int<10> z0;
575 
577  int pT = 0,
578  int phi = 0,
579  int eta = 0,
580  int qualityFlags = 0,
581  int isolationPT = 0,
582  int charge = 0,
583  int z0 = 0)
587  charge(charge),
588  z0(z0) {}
589 
590  ap_uint<WIDTH> pack() const override {
591  return l1t_pack_int<ap_uint<WIDTH>>(L1TGT_Common3Vector::pack_common(), qualityFlags, isolationPT, charge, z0);
592  }
593 
595  return L1TGT_CL2_Electron(1,
596  gtObject.hwPT(),
597  gtObject.hwPhi(),
598  gtObject.hwEta(),
599  gtObject.hwQualityFlags(),
600  gtObject.hwIsolationPT(),
601  gtObject.hwCharge(),
602  gtObject.hwZ0() >> 7);
603  }
604 
605  P2GTCandidate to_GTObject() const override {
607  gt_object.setHwQualityFlags(qualityFlags);
608  gt_object.setHwIsolationPT(isolationPT);
609  gt_object.setHwCharge(charge);
610  gt_object.setHwZ0(static_cast<int>(z0) << 7);
611 
612  return gt_object;
613  }
614  };
615 
616  struct L1TGT_CL2_Photon : public L1TGT_Common3Vector<96> {
617  ap_uint<4> qualityFlags;
618  ap_uint<11> isolationPT;
619 
620  L1TGT_CL2_Photon(int valid = 0, int pT = 0, int phi = 0, int eta = 0, int qualityFlags = 0, int isolationPT = 0)
622 
623  ap_uint<WIDTH> pack() const override {
624  return l1t_pack_int<ap_uint<WIDTH>>(L1TGT_Common3Vector::pack_common(), qualityFlags, isolationPT);
625  }
626 
627  static L1TGT_CL2_Photon from_GTObject(const P2GTCandidate& gtObject) {
628  return L1TGT_CL2_Photon(
629  1, gtObject.hwPT(), gtObject.hwPhi(), gtObject.hwEta(), gtObject.hwQualityFlags(), gtObject.hwIsolationPT());
630  }
631 
632  P2GTCandidate to_GTObject() const override {
634  gt_object.setHwQualityFlags(qualityFlags);
635  gt_object.setHwIsolationPT(isolationPT);
636 
637  return gt_object;
638  }
639  };
640 } // namespace l1t
641 
642 #endif // L1Trigger_Phase2L1GT_L1GTEvaluationInterface_h
P2GTCandidate to_GTObject() const override
ap_uint< WIDTH > pack() const override
static L1TGT_CommonSum from_GTObject(const P2GTCandidate &gtObject)
void setHwD0(hwD0_t hwD0)
virtual ap_uint< 44 > pack_common() const
L1TGT_GTT_DisplacedJet(int valid=0, int pT=0, int phi=0, int eta=0, int z0=0, int number_of_tracks=0, int number_of_displaced_tracks=0)
void setHwType(hwType_t hwType)
ap_uint< WIDTH > pack() const override
P2GTCandidate to_GTObject() const override
void setHwIsolationPT(hwIsolationPT_t hwIso)
L1TGT_CL2_Jet(int valid=0, int pT=0, int phi=0, int eta=0, int z0=0)
P2GTCandidate to_GTObject() const override
void setHwBeta(hwBeta_t hwBeta)
static L1TGT_GTT_HadronicTau from_GTObject(const P2GTCandidate &gtObject)
hwNumber_of_tracks_in_pv_t hwNumber_of_tracks_in_pv() const
ap_uint< WIDTH > pack() const override
L1TGT_GCT_tau6p6(int valid=0, int pT=0, int phi=0, int eta=0, int seed_pT=0)
hwBeta_t hwBeta() const
hwIsolationPT_t hwIsolationPT() const
void setHwNumber_of_tracks_in_pv(hwNumber_of_tracks_in_pv_t hwNumber_of_tracks_in_pv)
P2GTCandidate to_GTObject() const override
hwEta_t hwEta() const
P2GTCandidate to_GTObject() const override
ap_uint< WIDTH > pack() const override
L1TGT_GTT_LightMeson(int valid=0, int pT=0, int phi=0, int eta=0, int z0=0)
ap_uint< WIDTH > pack() const override
ap_uint< WIDTH > pack() const override
hwD0_t hwD0() const
delete x;
Definition: CaloConfig.h:22
static L1TGT_GTT_PrimaryVert from_GTObject(const P2GTCandidate &gtObject)
L1TGT_GMT_PromptDisplacedMuon(int valid=0, int pT=0, int phi=0, int eta=0, int z0=0, int d0=0, int charge=0, int qualityScore=0)
A arg
Definition: Factorize.h:31
L1TGT_CL2_Tau(int valid=0, int pT=0, int phi=0, int eta=0, int seed_pT=0, int seed_z0=0, int charge=0, int type=0)
L1TGT_CL2_Electron(int valid=0, int pT=0, int phi=0, int eta=0, int qualityFlags=0, int isolationPT=0, int charge=0, int z0=0)
void setHwSum_pT_pv(hwSum_pT_pv_t hwSum_pT_pv)
hwScalarSumPT_t hwScalarSumPT() const
P2GTCandidate to_GTObject() const override
A l1t_pack_int(const Args &... args)
static L1TGT_GMT_TrackMatchedmuon from_GTObject(const P2GTCandidate &gtObject)
P2GTCandidate to_GTObject() const override
static L1TGT_CL2_Photon from_GTObject(const P2GTCandidate &gtObject)
void setHwEta(hwEta_t hwEta)
ap_uint< WIDTH > pack() const override
void setHwMass(hwMass_t hwMass)
ap_uint< WIDTH > pack() const override
hwCharge_t hwCharge() const
void setHwPT(hwPT_t hwPT)
P2GTCandidate to_GTObject() const override
static L1TGT_GTT_PromptJet from_GTObject(const P2GTCandidate &gtObject)
L1TGT_GTT_PrimaryVert(int valid=0, int z0=0, int number_of_tracks_in_pv=0, int sum_pT_pv=0, int qualityScore=0, int number_of_tracks_not_in_pv=0)
static L1TGT_GTT_LightMeson from_GTObject(const P2GTCandidate &gtObject)
P2GTCandidate to_GTObject() const override
static L1TGT_GTT_Track from_GTObject(const P2GTCandidate &gtObject)
static L1TGT_CL2_Tau from_GTObject(const P2GTCandidate &gtObject)
P2GTCandidate to_GTObject() const override
hwMass_t hwMass() const
static constexpr std::size_t WIDTH
virtual P2GTCandidate to_GTObject() const =0
virtual std::size_t packed_width() const =0
P2GTCandidate to_GTObject() const override
hwQualityFlags_t hwQualityFlags() const
static L1TGT_GMT_TopoObject from_GTObject(const P2GTCandidate &gtObject)
ap_uint< WIDTH > pack() const override
void setHwQualityScore(hwQualityScore_t hwQualityScore)
ap_uint< WIDTH > pack() const override
ap_uint< WIDTH > pack() const override
#define N
Definition: blowfish.cc:9
void setHwSeed_z0(hwSeed_z0_t hwSeed_z0)
ap_uint< N > pack() const override
P2GTCandidate to_GTObject() const override
L1TGT_GMT_TrackMatchedmuon(int valid=0, int pT=0, int phi=0, int eta=0, int z0=0, int d0=0, int charge=0, int qualityFlags=0, int isolationPT=0, int beta=0)
hwQualityScore_t hwQualityScore() const
void setHwScalarSumPT(hwScalarSumPT_t hwScalarSumPT)
hwSum_pT_pv_t hwSum_pT_pv() const
hwZ0_t hwZ0() const
void setHwNumber_of_tracks_not_in_pv(hwNumber_of_tracks_not_in_pv_t hwNumber_of_tracks_not_in_pv)
void setHwSeed_pT(hwSeed_pT_t hwSeed_pT)
P2GTCandidate to_GTObject() const override
static L1TGT_GTT_DisplacedJet from_GTObject(const P2GTCandidate &gtObject)
P2GTCandidate to_GTObject() const override
ap_uint< WIDTH > pack() const override
hwSeed_pT_t hwSeed_pT() const
P2GTCandidate to_GTObject() const override
virtual ap_uint< N > pack() const =0
L1TGT_CommonSum(int valid=0, int pT=0, int phi=0, int scalarSumPT=0)
ap_uint< 64 > pack() const override
hwNumber_of_displaced_tracks_t hwNumber_of_displaced_tracks() const
L1TGT_Common3Vector(int valid=0, int pT=0, int phi=0, int eta=0)
static L1TGT_GMT_PromptDisplacedMuon from_GTObject(const P2GTCandidate &gtObject)
static unsigned int const shift
hwSeed_z0_t hwSeed_z0() const
Definition: APVGainStruct.h:7
hwNumber_of_tracks_t hwNumber_of_tracks() const
std::size_t packed_width() const override
L1TGT_GTT_PromptJet(int valid=0, int pT=0, int phi=0, int eta=0, int z0=0, int number_of_tracks=0, int number_of_displaced_tracks=0)
L1TGT_CL2_Photon(int valid=0, int pT=0, int phi=0, int eta=0, int qualityFlags=0, int isolationPT=0)
void setHwNumber_of_displaced_tracks(hwNumber_of_displaced_tracks_t hwNumber_of_displaced_tracks)
hwNumber_of_tracks_not_in_pv_t hwNumber_of_tracks_not_in_pv() const
P2GTCandidate to_GTObject() const override
static L1TGT_Common3Vector from_GTObject(const P2GTCandidate &gtObject)
L1TGT_GMT_TopoObject(int valid=0, int pT=0, int phi=0, int eta=0, int mass=0, int qualityFlags=0)
L1TGT_GTT_HadronicTau(int valid=0, int pT=0, int phi=0, int eta=0, int seed_pT=0, int seed_z0=0, int charge=0, int type=0)
void setHwCharge(hwCharge_t hwCharge)
ap_uint< WIDTH > pack() const override
hwPhi_t hwPhi() const
void setHwQualityFlags(hwQualityFlags_t hwQualityFlags)
void setHwZ0(hwZ0_t hwZ0)
void setHwNumber_of_tracks(hwNumber_of_tracks_t hwNumber_of_tracks)
ap_uint< WIDTH > pack() const override
static L1TGT_CL2_Jet from_GTObject(const P2GTCandidate &gtObject)
void setHwPhi(hwPhi_t hwPhi)
static L1TGT_GCT_tau6p6 from_GTObject(const P2GTCandidate &gtObject)
ap_uint< 46 > pack_common() const
hwPT_t hwPT() const
static L1TGT_CL2_Electron from_GTObject(const P2GTCandidate &gtObject)
hwType_t hwType() const