1 #ifndef L1Trigger_Phase2L1GT_L1GTEvaluationInterface_h 2 #define L1Trigger_Phase2L1GT_L1GTEvaluationInterface_h 17 template <
typename A,
typename... Args>
20 std::size_t
shift = 0;
37 template <std::
size_t N>
39 virtual ap_uint<N>
pack()
const = 0;
46 template <std::
size_t N>
121 ap_uint<WIDTH>
pack()
const override {
159 ap_uint<WIDTH>
pack()
const override {
168 gtObject.
hwZ0() >> 12,
169 gtObject.
hwD0() >> 5,
176 gt_object.
setHwZ0(static_cast<int>(
z0) << 12);
177 gt_object.
setHwD0(static_cast<int>(
d0) << 5);
211 ap_uint<WIDTH>
pack()
const override {
212 return l1t_pack_int<ap_uint<WIDTH>>(
221 gtObject.
hwZ0() >> 7,
222 gtObject.
hwD0() >> 2,
231 gt_object.
setHwZ0(static_cast<int>(
z0) << 7);
232 gt_object.
setHwD0(static_cast<int>(
d0) << 2);
255 ap_uint<WIDTH>
pack()
const override {
262 gtObject.
hwPhi() >> 5,
263 gtObject.
hwEta() >> 5,
270 gt_object.
setHwPT(static_cast<int>(
pT) * 5);
290 ap_uint<WIDTH>
pack()
const override {
301 gt_object.
setHwZ0(static_cast<int>(
z0) << 7);
318 ap_uint<WIDTH>
pack()
const override {
327 gtObject.
hwZ0() >> 7,
334 gt_object.
setHwZ0(static_cast<int>(
z0) << 7);
362 ap_uint<WIDTH>
pack()
const override {
397 ap_uint<WIDTH>
pack()
const override {
407 gt_object.
setHwZ0(static_cast<int>(
z0) << 7);
418 ap_uint<WIDTH>
pack()
const override {
return ap_uint<WIDTH>(0); }
447 ap_uint<WIDTH>
pack()
const override {
448 return l1t_pack_int<ap_uint<WIDTH>>(
463 gt_object.
setHwZ0(static_cast<int>(
z0) * 5);
481 ap_uint<WIDTH>
pack()
const override {
491 gt_object.
setHwZ0(static_cast<int>(
z0) << 7);
520 ap_uint<WIDTH>
pack()
const override {
566 ap_uint<WIDTH>
pack()
const override {
578 gtObject.
hwZ0() >> 7);
586 gt_object.
setHwZ0(static_cast<int>(
z0) << 7);
599 ap_uint<WIDTH>
pack()
const override {
618 #endif // L1Trigger_Phase2L1GT_L1GTEvaluationInterface_h
P2GTCandidate to_GTObject() const override
ap_uint< WIDTH > pack() const override
static L1TGT_CommonSum from_GTObject(const P2GTCandidate >Object)
void setHwD0(hwD0_t hwD0)
L1TGT_GTT_PromptJet(int valid=0, int pT=0, int phi=0, int eta=0, int z0=0, int number_of_tracks=0)
virtual ap_uint< 44 > pack_common() const
void setHwType(hwType_t hwType)
ap_uint< WIDTH > pack() const override
P2GTCandidate to_GTObject() const override
void setHwIsolationPT(hwIsolationPT_t hwIso)
ap_uint< 4 > qualityFlags
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 >Object)
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)
hwIsolationPT_t hwIsolationPT() const
ap_uint< 11 > isolationPT
void setHwNumber_of_tracks_in_pv(hwNumber_of_tracks_in_pv_t hwNumber_of_tracks_in_pv)
P2GTCandidate to_GTObject() const override
P2GTCandidate to_GTObject() const override
ap_uint< WIDTH > pack() const override
ap_uint< 5 > number_of_tracks
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
ap_uint< 6 > qualityFlags
static L1TGT_GTT_PrimaryVert from_GTObject(const P2GTCandidate >Object)
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)
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)
ap_uint< 3 > qualityScore
hwScalarSumPT_t hwScalarSumPT() const
P2GTCandidate to_GTObject() const override
A l1t_pack_int(const Args &... args)
static L1TGT_GMT_TrackMatchedmuon from_GTObject(const P2GTCandidate >Object)
P2GTCandidate to_GTObject() const override
static L1TGT_CL2_Photon from_GTObject(const P2GTCandidate >Object)
void setHwEta(hwEta_t hwEta)
ap_uint< WIDTH > pack() const override
void setHwMass(hwMass_t hwMass)
ap_uint< 6 > qualityFlags
ap_uint< WIDTH > pack() const override
hwCharge_t hwCharge() const
ap_uint< 10 > number_of_tracks_not_in_pv
virtual ~L1TGT_BaseInterface()
void setHwPT(hwPT_t hwPT)
P2GTCandidate to_GTObject() const override
static L1TGT_GTT_PromptJet from_GTObject(const P2GTCandidate >Object)
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 >Object)
P2GTCandidate to_GTObject() const override
static L1TGT_GTT_Track from_GTObject(const P2GTCandidate >Object)
static L1TGT_CL2_Tau from_GTObject(const P2GTCandidate >Object)
P2GTCandidate to_GTObject() const override
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 >Object)
ap_uint< WIDTH > pack() const override
void setHwQualityScore(hwQualityScore_t hwQualityScore)
ap_uint< WIDTH > pack() const override
ap_uint< WIDTH > pack() const override
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
ap_uint< 4 > qualityFlags
ap_uint< 16 > scalarSumPT
void setHwScalarSumPT(hwScalarSumPT_t hwScalarSumPT)
hwSum_pT_pv_t hwSum_pT_pv() 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 d0=0)
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 >Object)
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
ap_uint< 4 > qualityScore
L1TGT_Common3Vector(int valid=0, int pT=0, int phi=0, int eta=0)
static L1TGT_GMT_PromptDisplacedMuon from_GTObject(const P2GTCandidate >Object)
ap_uint< 8 > number_of_tracks_in_pv
static unsigned int const shift
hwSeed_z0_t hwSeed_z0() const
hwNumber_of_tracks_t hwNumber_of_tracks() const
std::size_t packed_width() const override
L1TGT_CL2_Photon(int valid=0, int pT=0, int phi=0, int eta=0, int qualityFlags=0, int isolationPT=0)
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 >Object)
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
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
ap_uint< 5 > number_of_tracks
static L1TGT_CL2_Jet from_GTObject(const P2GTCandidate >Object)
void setHwPhi(hwPhi_t hwPhi)
static L1TGT_GCT_tau6p6 from_GTObject(const P2GTCandidate >Object)
ap_uint< 46 > pack_common() const
ap_uint< 11 > isolationPT
static L1TGT_CL2_Electron from_GTObject(const P2GTCandidate >Object)