ATLAS Offline Software
L1TopoHardware.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 #include "boost/preprocessor/facilities/overload.hpp"
8 
9 #define DEF_HW(...) \
10  BOOST_PP_OVERLOAD(DEF_HW, __VA_ARGS__)(__VA_ARGS__)
11 
12 #define DEF_HW1(VARNAME) \
13  {#VARNAME, TCS::HardwareParam{#VARNAME, TCS::VARNAME, "", ""}}
14 
15 #define DEF_HW2(VARNAME, DESC) \
16  {#VARNAME, TCS::HardwareParam{#VARNAME, TCS::VARNAME, DESC, ""}}
17 
18 #define DEF_HW3(VARNAME, DESC, RULE) \
19  {#VARNAME, TCS::HardwareParam{#VARNAME, TCS::VARNAME, DESC, RULE}}
20 
21 
22 const std::map<std::string, TCS::HardwareParam>& TCS::L1TopoHWParameters::get() {
23  static const std::map<std::string, TCS::HardwareParam> _hw = {
24 
27 
33 
36 
38 
50 
55 
60 
65 
75 
81 
85 
89  DEF_HW(METSqrEnergyBitWidth, "", "2 * METEnergyBitWidth"),
90 
94 
96 
111 
112  DEF_HW(MassSqrBitWidth,"","GenericEtBitWidth + METEnergyBitWidth + 1 + CosSinBitWidth + 1"),
113 
114  };
115 
116  return _hw;
117 }
TCS::eTauOutputWidthSelect
const uint32_t eTauOutputWidthSelect
Definition: L1TopoHardware.h:53
TCS::InputWidthMU
const uint32_t InputWidthMU
Definition: L1TopoHardware.h:65
TCS::InputWidth1stStageSelectEM
const uint32_t InputWidth1stStageSelectEM
Definition: L1TopoHardware.h:72
TCS::eEmOutputWidthSort
const uint32_t eEmOutputWidthSort
Definition: L1TopoHardware.h:43
TCS::MuonEtaBitWidth
const uint32_t MuonEtaBitWidth
Definition: L1TopoHardware.h:122
TCS::MuonPhiBitWidth
const uint32_t MuonPhiBitWidth
Definition: L1TopoHardware.h:123
TCS::gJetInputWidth
const uint32_t gJetInputWidth
Definition: L1TopoHardware.h:39
TCS::muonOutputWidthSort
const uint32_t muonOutputWidthSort
Definition: L1TopoHardware.h:49
L1TopoHardware.h
TCS::OutputWidthSortEM
const uint32_t OutputWidthSortEM
Definition: L1TopoHardware.h:77
TCS::InputWidthJET
const uint32_t InputWidthJET
Definition: L1TopoHardware.h:64
TCS::jJetInputWidth
const uint32_t jJetInputWidth
Definition: L1TopoHardware.h:31
TCS::NumberOfResultBits
const uint32_t NumberOfResultBits
Definition: L1TopoHardware.h:89
TCS::NumberOfOverflowBits
const uint32_t NumberOfOverflowBits
Definition: L1TopoHardware.h:90
TCS::JetEt1BitWidth
const uint32_t JetEt1BitWidth
Definition: L1TopoHardware.h:116
TCS::eTauOutputWidthSort
const uint32_t eTauOutputWidthSort
Definition: L1TopoHardware.h:44
TCS::eEmInputWidth
const uint32_t eEmInputWidth
Definition: L1TopoHardware.h:28
TCS::DefaultJetSize
const uint32_t DefaultJetSize
Definition: L1TopoHardware.h:109
TCS::GenericEtBitWidth
const uint32_t GenericEtBitWidth
Definition: L1TopoHardware.h:125
TCS::JetEt2BitWidth
const uint32_t JetEt2BitWidth
Definition: L1TopoHardware.h:117
TCS::OutputWidthSelectEM
const uint32_t OutputWidthSelectEM
Definition: L1TopoHardware.h:78
TCS::JetEtaBitWidth
const uint32_t JetEtaBitWidth
Definition: L1TopoHardware.h:118
TCS::KalmanMETCorrection_numberOfEtaBins
const uint32_t KalmanMETCorrection_numberOfEtaBins
Definition: L1TopoHardware.h:94
TCS::SechTanhBitWidth
const uint32_t SechTanhBitWidth
Definition: L1TopoHardware.h:107
TCS::jJetOutputWidthSort
const uint32_t jJetOutputWidthSort
Definition: L1TopoHardware.h:45
TCS::JetPhiBitWidth
const uint32_t JetPhiBitWidth
Definition: L1TopoHardware.h:119
TCS::jJetOutputWidthSelect
const uint32_t jJetOutputWidthSelect
Definition: L1TopoHardware.h:54
TCS::L1TopoHWParameters::get
static const std::map< std::string, HardwareParam > & get()
Definition: L1TopoHardware.cxx:22
TCS::OutputWidthSelectMU
const uint32_t OutputWidthSelectMU
Definition: L1TopoHardware.h:85
TCS::InputWidthEM
const uint32_t InputWidthEM
Definition: L1TopoHardware.h:62
TCS::InputWidth1stStageSelectTAU
const uint32_t InputWidth1stStageSelectTAU
Definition: L1TopoHardware.h:73
TCS::MuonPtBitWidth
const uint32_t MuonPtBitWidth
Definition: L1TopoHardware.h:121
TCS::muonInputWidth
const uint32_t muonInputWidth
Definition: L1TopoHardware.h:37
TCS::OutputWidthMET
const uint32_t OutputWidthMET
Definition: L1TopoHardware.h:99
TCS::muonOutputWidthSelect
const uint32_t muonOutputWidthSelect
Definition: L1TopoHardware.h:58
TCS::jLargeRJetInputWidth
const uint32_t jLargeRJetInputWidth
Definition: L1TopoHardware.h:32
TCS::InputWidth1stStageSortTAU
const uint32_t InputWidth1stStageSortTAU
Definition: L1TopoHardware.h:68
TCS::OutputWidthSortTAU
const uint32_t OutputWidthSortTAU
Definition: L1TopoHardware.h:79
TCS::ClusterIsolBitWidth
const uint32_t ClusterIsolBitWidth
Definition: L1TopoHardware.h:112
TCS::NumberOfSortAlgorithms
const uint32_t NumberOfSortAlgorithms
Definition: L1TopoHardware.h:88
TCS::jTauInputWidth
const uint32_t jTauInputWidth
Definition: L1TopoHardware.h:33
TCS::ClusterEtaBitWidth
const uint32_t ClusterEtaBitWidth
Definition: L1TopoHardware.h:113
TCS::NumberOfAlgorithms
const uint32_t NumberOfAlgorithms
Definition: L1TopoHardware.h:87
TCS::METSqrEnergyBitWidth
const uint32_t METSqrEnergyBitWidth
Definition: L1TopoHardware.h:101
TCS::metOutputWidth
const uint32_t metOutputWidth
Definition: L1TopoHardware.h:50
TCS::CosSinBitWidth
const uint32_t CosSinBitWidth
Definition: L1TopoHardware.h:105
TCS::CoshBitWidth
const uint32_t CoshBitWidth
Definition: L1TopoHardware.h:106
TCS::InputWidth1stStageSortJET
const uint32_t InputWidth1stStageSortJET
Definition: L1TopoHardware.h:69
TCS::InputWidth1stStageSelectMU
const uint32_t InputWidth1stStageSelectMU
Definition: L1TopoHardware.h:75
TCS::OutputWidthSortJET
const uint32_t OutputWidthSortJET
Definition: L1TopoHardware.h:81
DEF_HW
#define DEF_HW(...)
Definition: L1TopoHardware.cxx:9
TCS::InputWidthTAU
const uint32_t InputWidthTAU
Definition: L1TopoHardware.h:63
TCS::GenericPhiBitWidth
const uint32_t GenericPhiBitWidth
Definition: L1TopoHardware.h:128
TCS::OutputWidthSelectTAU
const uint32_t OutputWidthSelectTAU
Definition: L1TopoHardware.h:80
TCS::OutputWidthSortMU
const uint32_t OutputWidthSortMU
Definition: L1TopoHardware.h:83
TCS::GenericEtaBitWidth
const uint32_t GenericEtaBitWidth
Definition: L1TopoHardware.h:126
TCS::KalmanMETCorrection_numberOfEtBins
const uint32_t KalmanMETCorrection_numberOfEtBins
Definition: L1TopoHardware.h:95
TCS::OutputWidthSelectJET
const uint32_t OutputWidthSelectJET
Definition: L1TopoHardware.h:82
TCS::InputWidthMET
const uint32_t InputWidthMET
Definition: L1TopoHardware.h:98
TCS::InputWidth1stStageSortMU
const uint32_t InputWidth1stStageSortMU
Definition: L1TopoHardware.h:70
TCS::gLargeRJetInputWidth
const uint32_t gLargeRJetInputWidth
Definition: L1TopoHardware.h:40
TCS::InputWidth1stStageSortEM
const uint32_t InputWidth1stStageSortEM
Definition: L1TopoHardware.h:67
TCS::InputWidth1stStageSelectJET
const uint32_t InputWidth1stStageSelectJET
Definition: L1TopoHardware.h:74
TCS::ClusterEtBitWidth
const uint32_t ClusterEtBitWidth
Definition: L1TopoHardware.h:111
TCS::jEmInputWidth
const uint32_t jEmInputWidth
Definition: L1TopoHardware.h:34
TCS::KalmanMETCorrection_correctionBitWidth
const uint32_t KalmanMETCorrection_correctionBitWidth
Definition: L1TopoHardware.h:96
TCS::NumberOfDelayedMuons
const uint32_t NumberOfDelayedMuons
Definition: L1TopoHardware.h:84
TCS::NumberOfOutputBits
const uint32_t NumberOfOutputBits
Definition: L1TopoHardware.h:91
TCS::eTauInputWidth
const uint32_t eTauInputWidth
Definition: L1TopoHardware.h:29
TCS::ClusterPhiBitWidth
const uint32_t ClusterPhiBitWidth
Definition: L1TopoHardware.h:114
TCS::MassSqrBitWidth
const uint32_t MassSqrBitWidth
Definition: L1TopoHardware.h:130
TCS::jMetInputWidth
const uint32_t jMetInputWidth
Definition: L1TopoHardware.h:35
TCS::jEmOutputWidthSort
const uint32_t jEmOutputWidthSort
Definition: L1TopoHardware.h:48
TCS::METEnergyBitWidth
const uint32_t METEnergyBitWidth
Definition: L1TopoHardware.h:100
TCS::eEmOutputWidthSelect
const uint32_t eEmOutputWidthSelect
Definition: L1TopoHardware.h:52