ATLAS Offline Software
L1TopoHardware.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef L1TopoHardware_L1TopoHardware
6 #define L1TopoHardware_L1TopoHardware
7 
8 #include <stdint.h>
9 #include <string>
10 #include <map>
11 
12 
13 
14 namespace TCS {
15 
16  struct HardwareParam {
17  std::string name{""};
19  std::string description{""};
20  std::string rule{""};
21  };
22 
24  static const std::map<std::string, HardwareParam>& get();
25  };
26 
27  // New constants for the Phase-1 Topo system
28  const uint32_t eEmInputWidth = 144; // 24 eFEX modules * 6 TOBs per module
29  const uint32_t eTauInputWidth = 144; // 24 eFEX modules * 6 TOBs per module
30 
31  const uint32_t jJetInputWidth = 168; // 24 jFEX FPGAs * 7 TOBs per FPGA
32  const uint32_t jLargeRJetInputWidth = 24; // 24 jFEX FPGAs * 1 TOB per FPGA
33  const uint32_t jTauInputWidth = 144; // 24 jFEX FPGAs * 6 TOBs per FPGA
34  const uint32_t jEmInputWidth = 48; // 8 forward jFEX FPGAs * 6 TOBs per FPGA
36 
38  // Two fibers from each gFEX pFPGA (A,B,C) to Topo => 6 fibers
39  const uint32_t gJetInputWidth = 12; // 6 fibers * 2 TOBs / fiber
40  const uint32_t gLargeRJetInputWidth = 6; // 6 fibers * 1 TOB / fiber
42 
51 
59 
60 
61  // Legacy Topo constants
62  const uint32_t InputWidthEM = 120;
63  const uint32_t InputWidthTAU = 120;
64  const uint32_t InputWidthJET = 64;
65  const uint32_t InputWidthMU = 32;
66 
71 
76 
86 
89  const uint32_t NumberOfResultBits = 31; // ratio of results to overflow is adjustable (needs some more thoughts, which overflows are useful)
90  const uint32_t NumberOfOverflowBits = 32; // fixed! do not touch!
91  const uint32_t NumberOfOutputBits = 32; // there are only 32 lines from a L1Topo-Module to CTP => 16 lines per processor -> TODO: Change to 16! (but now 32 needed for testing)
92 
93 
94  const uint32_t KalmanMETCorrection_numberOfEtaBins = 8; // needs to be multiple of 2
95  const uint32_t KalmanMETCorrection_numberOfEtBins = 10; // needs to be multiple of 2
96  const uint32_t KalmanMETCorrection_correctionBitWidth = 8; // assuming format unsigned [0.0000000]
97 
103 
104 
106  const uint32_t CoshBitWidth = 11 + 7;
108 
110 
115 
120 
124 
129 
135 }
136 
137 #endif
TCS::eTauOutputWidthSelect
const uint32_t eTauOutputWidthSelect
Definition: L1TopoHardware.h:53
TCS::InputWidthMU
const uint32_t InputWidthMU
Definition: L1TopoHardware.h:65
TCS::GenericAbsoluteEtaBitWidth
const uint32_t GenericAbsoluteEtaBitWidth
Definition: L1TopoHardware.h:127
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
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
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::jLargeRJetOutputWidthSort
const uint32_t jLargeRJetOutputWidthSort
Definition: L1TopoHardware.h:46
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::jTauOutputWidthSelect
const uint32_t jTauOutputWidthSelect
Definition: L1TopoHardware.h:56
TCS::KalmanMETCorrection_numberOfEtaBins
const uint32_t KalmanMETCorrection_numberOfEtaBins
Definition: L1TopoHardware.h:94
TCS::HardwareParam
Definition: L1TopoHardware.h:16
TCS::SechTanhBitWidth
const uint32_t SechTanhBitWidth
Definition: L1TopoHardware.h:107
TCS::jJetOutputWidthSort
const uint32_t jJetOutputWidthSort
Definition: L1TopoHardware.h:45
TCS::HardwareParam::value
uint32_t value
Definition: L1TopoHardware.h:18
TCS::JetPhiBitWidth
const uint32_t JetPhiBitWidth
Definition: L1TopoHardware.h:119
TCS::jJetOutputWidthSelect
const uint32_t jJetOutputWidthSelect
Definition: L1TopoHardware.h:54
TCS::HardwareParam::name
std::string name
Definition: L1TopoHardware.h:17
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::L1TopoHWParameters
Definition: L1TopoHardware.h:23
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::ContratransverseMassSqrBitWidth
const uint32_t ContratransverseMassSqrBitWidth
Definition: L1TopoHardware.h:134
TCS::metOutputWidth
const uint32_t metOutputWidth
Definition: L1TopoHardware.h:50
TCS::CosSinBitWidth
const uint32_t CosSinBitWidth
Definition: L1TopoHardware.h:105
TCS::InvariantMassSqrBitWidth
const uint32_t InvariantMassSqrBitWidth
Definition: L1TopoHardware.h:132
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
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::HardwareParam::rule
std::string rule
Definition: L1TopoHardware.h:20
TCS::GenericEtaBitWidth
const uint32_t GenericEtaBitWidth
Definition: L1TopoHardware.h:126
TCS::HardwareParam::description
std::string description
Definition: L1TopoHardware.h:19
TCS::gMetInputWidth
const uint32_t gMetInputWidth
Definition: L1TopoHardware.h:41
TCS::jEmOutputWidthSelect
const uint32_t jEmOutputWidthSelect
Definition: L1TopoHardware.h:57
TCS::TransverseMassSqrBitWidth
const uint32_t TransverseMassSqrBitWidth
Definition: L1TopoHardware.h:133
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
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::jLJetOutputWidthSelect
const uint32_t jLJetOutputWidthSelect
Definition: L1TopoHardware.h:55
TCS::gLargeRJetInputWidth
const uint32_t gLargeRJetInputWidth
Definition: L1TopoHardware.h:40
TCS::jTauOutputWidthSort
const uint32_t jTauOutputWidthSort
Definition: L1TopoHardware.h:47
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::RatioBitWidth
const uint32_t RatioBitWidth
Definition: L1TopoHardware.h:131
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::Arctan2InputEnergyBitWidth
const uint32_t Arctan2InputEnergyBitWidth
Definition: L1TopoHardware.h:102
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