ATLAS Offline Software
Loading...
Searching...
No Matches
LVL1MUCTPIPHASE1::L1TopoLUT Class Reference

#include <L1TopoLUT.h>

Collaboration diagram for LVL1MUCTPIPHASE1::L1TopoLUT:

Classes

struct  L1TopoLUTKey
struct  L1TopoLUTKeyHasher

Public Member Functions

bool initializeLUT (const std::string &barrelFileName, const std::string &ecfFileName, const std::string &side0LUTFileName, const std::string &side1LUTFileName)
L1TopoCoordinates getCoordinates (const unsigned short &side, const unsigned short &subsystem, const unsigned short &sectorID, const unsigned short &roi) const
unsigned short getBarrelROI (unsigned short side, unsigned short sector, unsigned short ieta, unsigned short iphi) const
const std::vector< std::string > & getErrors () const
float getCompactedValue_eta (unsigned short subsystem, unsigned short side, unsigned short sectorID, unsigned short roi)
float getCompactedValue_phi (unsigned short subsystem, unsigned short side, unsigned short sectorID, unsigned short roi)

Protected Member Functions

void fillFromPtree (const boost::property_tree::ptree &node, std::map< unsigned short, std::vector< float > > &theLut) const
void fillFromPtree (const boost::property_tree::ptree &node, std::map< unsigned short, std::map< unsigned short, std::pair< unsigned short, unsigned short > > > &theLut) const
bool initializeCompactedLUTs (const std::string &side0LUTFileName, const std::string &side1LUTFileName)
bool initializeLUT (const std::string &inFileName, const bool &isBarrel)
bool initializeJSON (const std::string &inFileName, bool side)
bool initializeJSONForSubsystem (pt::ptree &root, const std::string &nodeName, bool side, unsigned short subsystem)

Protected Attributes

std::map< unsigned short, std::vector< float > > m_barrel_eta_lookup0
std::map< unsigned short, std::vector< float > > m_barrel_eta_lookup1
std::map< unsigned short, std::vector< float > > m_barrel_phi_lookup0
std::map< unsigned short, std::vector< float > > m_barrel_phi_lookup1
std::map< unsigned short, std::vector< float > > m_endcap_eta_lookup0
std::map< unsigned short, std::vector< float > > m_endcap_eta_lookup1
std::map< unsigned short, std::vector< float > > m_endcap_phi_lookup0
std::map< unsigned short, std::vector< float > > m_endcap_phi_lookup1
std::map< unsigned short, std::vector< float > > m_forward_eta_lookup0
std::map< unsigned short, std::vector< float > > m_forward_eta_lookup1
std::map< unsigned short, std::vector< float > > m_forward_phi_lookup0
std::map< unsigned short, std::vector< float > > m_forward_phi_lookup1
std::map< unsigned short, std::map< unsigned short, std::pair< unsigned short, unsigned short > > > m_barrel_encoding0
std::map< unsigned short, std::map< unsigned short, std::pair< unsigned short, unsigned short > > > m_barrel_encoding1
std::map< unsigned short, unsigned short > m_barrel_reverse_encoding0
std::map< unsigned short, unsigned short > m_barrel_reverse_encoding1
std::unordered_map< L1TopoLUTKey, L1TopoCoordinates, L1TopoLUTKeyHasherm_encoding
std::vector< std::string > m_errors

Detailed Description

Definition at line 40 of file L1TopoLUT.h.

Member Function Documentation

◆ fillFromPtree() [1/2]

void LVL1MUCTPIPHASE1::L1TopoLUT::fillFromPtree ( const boost::property_tree::ptree & node,
std::map< unsigned short, std::map< unsigned short, std::pair< unsigned short, unsigned short > > > & theLut ) const
protected

Definition at line 40 of file L1TopoLUT.cxx.

41 {
42 theLut.clear();
43 for (const boost::property_tree::ptree::value_type& outer_elem : node){
44
45 std::map<unsigned short,std::pair<unsigned short, unsigned short>> buff;
46 for (const boost::property_tree::ptree::value_type& inner_elem : outer_elem.second) {
47 std::vector<unsigned short> codeBuff;
48 for (const boost::property_tree::ptree::value_type& code_elem : inner_elem.second) {
49 codeBuff.push_back( code_elem.second.get_value<unsigned short>() );
50 }
51 if ( codeBuff.size() != 2 ) {
52 //stricter error checking/handling comes later
53 continue;
54 }
55 buff[std::stoi(inner_elem.first)] = { codeBuff[0], codeBuff[1] } ;
56 }
57 //cannot get around stoi as outer layer may be non-continuous (some indices/keys are not present)
58 theLut[std::stoi(outer_elem.first)] = std::move(buff);
59 }
60 return;
61 }

◆ fillFromPtree() [2/2]

void LVL1MUCTPIPHASE1::L1TopoLUT::fillFromPtree ( const boost::property_tree::ptree & node,
std::map< unsigned short, std::vector< float > > & theLut ) const
protected

Definition at line 17 of file L1TopoLUT.cxx.

18 {
19 theLut.clear();
20 size_t outerIndex = 0;
21 for (const boost::property_tree::ptree::value_type& outer_elem : node){
22
23 std::vector<float> buff(outer_elem.second.size());
24 size_t index = 0;
25 for (const boost::property_tree::ptree::value_type& inner_elem : outer_elem.second) {
26 buff[index] = inner_elem.second.get_value<float>();
27 ++index; //count index manually to avoid some stoi
28 }
29 //cannot get around stoi as outer layer may be non-continuous (some indices/keys are not present)
30 if (outer_elem.first.length() > 0) { //string type key
31 theLut[std::stoi(outer_elem.first)] = std::move(buff);
32 } else {
33 theLut[outerIndex] = std::move(buff);
34 ++outerIndex; //ok to only count in this case, mixed keys/indices at same depth are not valid
35 }
36 }
37 return;
38 }
str index
Definition DeMoScan.py:362

◆ getBarrelROI()

unsigned short LVL1MUCTPIPHASE1::L1TopoLUT::getBarrelROI ( unsigned short side,
unsigned short sector,
unsigned short ieta,
unsigned short iphi ) const

Definition at line 237 of file L1TopoLUT.cxx.

237 {
238 unsigned short etaPhiSubWord = ((ieta&0xF) << 9) | ((sector&0x1F) << 3) | (iphi&0x7);
239 unsigned short retval = 0;
240 if (side) {
241 retval = m_barrel_reverse_encoding0.at(etaPhiSubWord);
242 } else {
243 retval = m_barrel_reverse_encoding1.at(etaPhiSubWord);
244 }
245 return retval;
246 }
std::map< unsigned short, unsigned short > m_barrel_reverse_encoding0
Definition L1TopoLUT.h:133
std::map< unsigned short, unsigned short > m_barrel_reverse_encoding1
Definition L1TopoLUT.h:134

◆ getCompactedValue_eta()

float LVL1MUCTPIPHASE1::L1TopoLUT::getCompactedValue_eta ( unsigned short subsystem,
unsigned short side,
unsigned short sectorID,
unsigned short roi )

Definition at line 249 of file L1TopoLUT.cxx.

249 {
250 //note: scheme used for "side" argument here is
251 // 0 -> C side
252 // 1 -> A side
253 float retval = std::numeric_limits<float>::quiet_NaN();
254 try {
255 if (subsystem == 0) { //barrel
256 //barrel is very irregular, so need to retrieve indices for MUCTPI->L1Topo encoding scheme first
257 unsigned short lutCode = (side ? m_barrel_encoding0 : m_barrel_encoding1)[sectorID][roi].first;
258 retval = (side ? m_barrel_eta_lookup0 : m_barrel_eta_lookup1)[sectorID][lutCode];
259 } else if (subsystem == 1) { //endcap
260 retval = (side ? m_endcap_eta_lookup0 : m_endcap_eta_lookup1)[roi >> 2][sectorID & 0x1];
261 } else if (subsystem == 2) { //forward
262 retval = (side ? m_forward_eta_lookup0 : m_forward_eta_lookup1)[sectorID & 0x1][roi >> 2];
263 } else {
264 std::stringstream ess;
265 ess << "[TrigT1MuctpiPhase1/L1TopoLUT] Unknown muon subsystem value: " << subsystem;
266 throw std::out_of_range(ess.str());
267 }
268 } catch (const std::exception& e) {
269 std::stringstream ess;
270 ess << "[TrigT1MuctpiPhase1/L1TopoLUT] Failed to look up eta value for subsystem=" << subsystem
271 << ", side="<< (side?"A":"C")
272 << ", sectorID="<< sectorID
273 << ", roi="<< roi
274 << "\n (caught exception: " << e.what() <<")";
275 throw std::out_of_range(ess.str());
276 }
277 return retval;
278 }
std::map< unsigned short, std::vector< float > > m_forward_eta_lookup1
Definition L1TopoLUT.h:125
std::map< unsigned short, std::vector< float > > m_barrel_eta_lookup0
Definition L1TopoLUT.h:116
std::map< unsigned short, std::vector< float > > m_endcap_eta_lookup0
Definition L1TopoLUT.h:120
std::map< unsigned short, std::vector< float > > m_endcap_eta_lookup1
Definition L1TopoLUT.h:121
std::map< unsigned short, std::vector< float > > m_forward_eta_lookup0
Definition L1TopoLUT.h:124
std::map< unsigned short, std::map< unsigned short, std::pair< unsigned short, unsigned short > > > m_barrel_encoding1
Definition L1TopoLUT.h:130
std::map< unsigned short, std::map< unsigned short, std::pair< unsigned short, unsigned short > > > m_barrel_encoding0
Definition L1TopoLUT.h:129
std::map< unsigned short, std::vector< float > > m_barrel_eta_lookup1
Definition L1TopoLUT.h:117

◆ getCompactedValue_phi()

float LVL1MUCTPIPHASE1::L1TopoLUT::getCompactedValue_phi ( unsigned short subsystem,
unsigned short side,
unsigned short sectorID,
unsigned short roi )

Definition at line 280 of file L1TopoLUT.cxx.

280 {
281 //note: scheme used for "side" argument here is
282 // 0 -> C side
283 // 1 -> A side
284 float retval = std::numeric_limits<float>::quiet_NaN();
285 try {
286 if (subsystem == 0) { //barrel
287 //barrel is very irregular, so need to retrieve indices for MUCTPI->L1Topo encoding scheme first
288 unsigned short lutCode = (side ? m_barrel_encoding0 : m_barrel_encoding1)[sectorID][roi].second;
289 retval = (side ? m_barrel_phi_lookup0 : m_barrel_phi_lookup1)[sectorID][lutCode];
290 } else if (subsystem == 1) { //endcap
291 retval = (side ? m_endcap_phi_lookup0 : m_endcap_phi_lookup1)[sectorID][roi & 0x3];
292 } else if (subsystem == 2) { //forward
293 retval = (side ? m_forward_phi_lookup0 : m_forward_phi_lookup1)[roi & 0x3][sectorID];
294 } else {
295 std::stringstream ess;
296 ess << "[TrigT1MuctpiPhase1/L1TopoLUT] Unknown muon subsystem value: " << subsystem;
297 throw std::out_of_range(ess.str());
298 }
299 } catch (const std::exception& e) {
300 std::stringstream ess;
301 ess << "[TrigT1MuctpiPhase1/L1TopoLUT] Failed to look up phi value for subsystem=" << subsystem
302 << ", side="<< (side?"A":"C")
303 << ", sectorID="<< sectorID
304 << ", roi="<< roi
305 << "\n (caught exception: " << e.what() <<")";
306 throw std::out_of_range(ess.str());
307 }
308 return retval;
309 }
std::map< unsigned short, std::vector< float > > m_forward_phi_lookup0
Definition L1TopoLUT.h:126
std::map< unsigned short, std::vector< float > > m_barrel_phi_lookup0
Definition L1TopoLUT.h:118
std::map< unsigned short, std::vector< float > > m_barrel_phi_lookup1
Definition L1TopoLUT.h:119
std::map< unsigned short, std::vector< float > > m_endcap_phi_lookup0
Definition L1TopoLUT.h:122
std::map< unsigned short, std::vector< float > > m_forward_phi_lookup1
Definition L1TopoLUT.h:127
std::map< unsigned short, std::vector< float > > m_endcap_phi_lookup1
Definition L1TopoLUT.h:123

◆ getCoordinates()

L1TopoCoordinates LVL1MUCTPIPHASE1::L1TopoLUT::getCoordinates ( const unsigned short & side,
const unsigned short & subsystem,
const unsigned short & sectorID,
const unsigned short & roi ) const

Definition at line 223 of file L1TopoLUT.cxx.

226 {
227 L1TopoLUTKey key = {side, subsystem, sectorID, roi};
228 auto itr = m_encoding.find(key);
229 if (itr == m_encoding.end())
230 {
231 L1TopoCoordinates null;
232 return null;
233 }
234 return itr->second;
235 }
std::unordered_map< L1TopoLUTKey, L1TopoCoordinates, L1TopoLUTKeyHasher > m_encoding
Definition L1TopoLUT.h:136

◆ getErrors()

const std::vector< std::string > & LVL1MUCTPIPHASE1::L1TopoLUT::getErrors ( ) const
inline

Definition at line 55 of file L1TopoLUT.h.

55{return m_errors;}
std::vector< std::string > m_errors
Definition L1TopoLUT.h:137

◆ initializeCompactedLUTs()

bool LVL1MUCTPIPHASE1::L1TopoLUT::initializeCompactedLUTs ( const std::string & side0LUTFileName,
const std::string & side1LUTFileName )
protected

Definition at line 64 of file L1TopoLUT.cxx.

65 {
66 bool success = true;
67 boost::property_tree::ptree root0;
68 boost::property_tree::read_json(side0LUTFileName.c_str(), root0);
69 boost::property_tree::ptree root1;
70 boost::property_tree::read_json(side1LUTFileName.c_str(), root1);
71
72 //Barrel encoding
73 fillFromPtree(root0.get_child("encode_lookup_barrel") , m_barrel_encoding0);
74 fillFromPtree(root1.get_child("encode_lookup_barrel") , m_barrel_encoding1);
75
76 //Barrel, A-side
77 fillFromPtree(root0.get_child("lookup_barrel_eta") , m_barrel_eta_lookup0);
78 fillFromPtree(root0.get_child("lookup_barrel_phi") , m_barrel_phi_lookup0);
79 //Barrel, C-side
80 fillFromPtree(root1.get_child("lookup_barrel_eta") , m_barrel_eta_lookup1);
81 fillFromPtree(root1.get_child("lookup_barrel_phi") , m_barrel_phi_lookup1);
82 //Endcap, A-side
83 fillFromPtree(root0.get_child("lookup_endcap_eta") , m_endcap_eta_lookup0);
84 fillFromPtree(root0.get_child("lookup_endcap_phi") , m_endcap_phi_lookup0);
85 //Endcap, C-side
86 fillFromPtree(root1.get_child("lookup_endcap_eta") , m_endcap_eta_lookup1);
87 fillFromPtree(root1.get_child("lookup_endcap_phi") , m_endcap_phi_lookup1);
88 //Forward, A-side
89 fillFromPtree(root0.get_child("lookup_forward_eta") , m_forward_eta_lookup0);
90 fillFromPtree(root0.get_child("lookup_forward_phi") , m_forward_phi_lookup0);
91 //Forward, C-side
92 fillFromPtree(root1.get_child("lookup_forward_eta") , m_forward_eta_lookup1);
93 fillFromPtree(root1.get_child("lookup_forward_phi") , m_forward_phi_lookup1);
94
95
96 if (m_barrel_encoding1.size() && m_barrel_encoding1.size() &&
100 return success;
101 }
102 return false;
103 }
void fillFromPtree(const boost::property_tree::ptree &node, std::map< unsigned short, std::vector< float > > &theLut) const
Definition L1TopoLUT.cxx:17

◆ initializeJSON()

bool LVL1MUCTPIPHASE1::L1TopoLUT::initializeJSON ( const std::string & inFileName,
bool side )
protected

◆ initializeJSONForSubsystem()

bool LVL1MUCTPIPHASE1::L1TopoLUT::initializeJSONForSubsystem ( pt::ptree & root,
const std::string & nodeName,
bool side,
unsigned short subsystem )
protected

◆ initializeLUT() [1/2]

bool LVL1MUCTPIPHASE1::L1TopoLUT::initializeLUT ( const std::string & barrelFileName,
const std::string & ecfFileName,
const std::string & side0LUTFileName,
const std::string & side1LUTFileName )

Definition at line 105 of file L1TopoLUT.cxx.

108 {
109 m_encoding.clear();
110 m_errors.clear();
111
112 bool success = true;
113
114 // read the compacted LUTs containing the simplified eta/phi values
115 // used for encoding/decoding for/at L1Topo
116 success = success && initializeCompactedLUTs(side0LUTFileName, side1LUTFileName);
117
118 //read remaining info from the json files
119 //(the input labels are swapped between A-side and C-side)
120 //success = success && initializeJSON(side1LUTFileName, 0);
121 //success = success && initializeJSON(side0LUTFileName, 1);
122
123 //read the barrel file
124 success = success && initializeLUT(barrelFileName, true);
125
126 //read the endcap+forward file
127 success = success && initializeLUT(ecfFileName, false);
128
129 return success;
130 }
bool initializeCompactedLUTs(const std::string &side0LUTFileName, const std::string &side1LUTFileName)
Definition L1TopoLUT.cxx:64
bool initializeLUT(const std::string &barrelFileName, const std::string &ecfFileName, const std::string &side0LUTFileName, const std::string &side1LUTFileName)

◆ initializeLUT() [2/2]

bool LVL1MUCTPIPHASE1::L1TopoLUT::initializeLUT ( const std::string & inFileName,
const bool & isBarrel )
protected

Definition at line 132 of file L1TopoLUT.cxx.

132 {
133 //map between L1TopoLUTKey -> map between eta/phi -> index
134 std::unordered_map<L1TopoLUTKey, std::map<float, unsigned short>, L1TopoLUTKeyHasher> sector_eta_indices, sector_phi_indices;
135
136 std::ifstream inFile(inFileName.c_str());
137 if (!inFile) return false;
138 while (!inFile.eof() && inFile.good()) {
139 unsigned short side;
140 unsigned short subsystem=0;
141 unsigned short sectorID;
142 unsigned short roi;
143 double eta_min, eta_max;
144 double phi_min, phi_max;
145
146 inFile >> side;
147 if (inFile.eof()) { break; }
148
149 if (!isBarrel) {
150 inFile >> subsystem;
151 //in the EC+FW file, EC=0 and FW=1, so increment to distinguish from barrel
152 subsystem++;
153 side = !side; //EC+FW file uses inverted side numbers w.r.t. Barrel...
154 }
155 //at this point the "side" convention is
156 // 0 -> C side
157 // 1 -> A side
158 // the LUT json file naming, however, if inverse (follows EC+FW file...)
159
160 inFile >> sectorID;
161 inFile >> roi;
162 inFile >> eta_min;
163 inFile >> eta_max;
164 inFile >> phi_min;
165 inFile >> phi_max;
166
167 double eta = getCompactedValue_eta(subsystem, side, sectorID, roi);
168 //coverity[tainted_data]
169 double phi = getCompactedValue_phi(subsystem, side, sectorID, roi);
170
171 unsigned short ieta = 0;
172 unsigned short iphi = 0;
173 if (subsystem == 0) { //barrel
174 //note: interpretation of values 0/1 for side flipped on purpose here (different conventions)!
175 ieta = (side ? m_barrel_encoding0 : m_barrel_encoding1)[sectorID][roi].first;
176 iphi = (side ? m_barrel_encoding0 : m_barrel_encoding1)[sectorID][roi].second;
177 } else if (subsystem == 1) { //endcap
178 ieta = (roi>>2); //eta part of roi
179 ieta |= 1 << 6; //detector code
180 iphi = roi & 0x3; //phi part of roi
181 iphi |= (sectorID & 0x3F) << 2;
182 } else if (subsystem == 2) { //forward
183 ieta = (roi>>2); //eta part of roi
184 ieta |= 1 << 5; //detector code
185 iphi = (roi & 0x3) << 1; //phi part of roi
186 iphi |= (sectorID & 0x1F) << 3;
187 }
188 //truncate to 8bit values each:
189 ieta &= 0xFF;
190 iphi &= 0xFF;
191
192 if (subsystem == 0) {
193 //populate reverse map for barrel
194 unsigned short etaPhiSubWord = ((ieta&0xF) << 9) | ((sectorID&0x1F) << 3) | (iphi&0x7);
195 if (side) {
196 m_barrel_reverse_encoding0[etaPhiSubWord] = roi;
197 } else {
198 m_barrel_reverse_encoding1[etaPhiSubWord] = roi;
199 }
200 }
201
202 //reminder in case of debugging needs:
203 //compacted values should be close to these averages
204 //(albeit some are different enough to cause mismatches in Topo!)
205 //float avgEta = (eta_min+eta_max)/2.;
206 //float avgPhi = (phi_min+phi_max)/2.;
207
208
209 L1TopoLUTKey key = {side, subsystem, sectorID, roi};
210 L1TopoCoordinates value = {eta, phi, eta_min, eta_max, phi_min, phi_max, ieta, iphi};
211
212 if (m_encoding.find(key) != m_encoding.end())
213 {
214 m_errors.push_back("Duplicate key found in L1TopoLUT: "+key.info());
215 return false;
216 }
218 }
219 return true;
220 }
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
float getCompactedValue_phi(unsigned short subsystem, unsigned short side, unsigned short sectorID, unsigned short roi)
float getCompactedValue_eta(unsigned short subsystem, unsigned short side, unsigned short sectorID, unsigned short roi)
str inFile
Definition makeTOC.py:5

Member Data Documentation

◆ m_barrel_encoding0

std::map<unsigned short,std::map<unsigned short, std::pair<unsigned short, unsigned short> > > LVL1MUCTPIPHASE1::L1TopoLUT::m_barrel_encoding0
protected

Definition at line 129 of file L1TopoLUT.h.

◆ m_barrel_encoding1

std::map<unsigned short,std::map<unsigned short, std::pair<unsigned short, unsigned short> > > LVL1MUCTPIPHASE1::L1TopoLUT::m_barrel_encoding1
protected

Definition at line 130 of file L1TopoLUT.h.

◆ m_barrel_eta_lookup0

std::map<unsigned short,std::vector<float> > LVL1MUCTPIPHASE1::L1TopoLUT::m_barrel_eta_lookup0
protected

Definition at line 116 of file L1TopoLUT.h.

◆ m_barrel_eta_lookup1

std::map<unsigned short,std::vector<float> > LVL1MUCTPIPHASE1::L1TopoLUT::m_barrel_eta_lookup1
protected

Definition at line 117 of file L1TopoLUT.h.

◆ m_barrel_phi_lookup0

std::map<unsigned short,std::vector<float> > LVL1MUCTPIPHASE1::L1TopoLUT::m_barrel_phi_lookup0
protected

Definition at line 118 of file L1TopoLUT.h.

◆ m_barrel_phi_lookup1

std::map<unsigned short,std::vector<float> > LVL1MUCTPIPHASE1::L1TopoLUT::m_barrel_phi_lookup1
protected

Definition at line 119 of file L1TopoLUT.h.

◆ m_barrel_reverse_encoding0

std::map<unsigned short, unsigned short> LVL1MUCTPIPHASE1::L1TopoLUT::m_barrel_reverse_encoding0
protected

Definition at line 133 of file L1TopoLUT.h.

◆ m_barrel_reverse_encoding1

std::map<unsigned short, unsigned short> LVL1MUCTPIPHASE1::L1TopoLUT::m_barrel_reverse_encoding1
protected

Definition at line 134 of file L1TopoLUT.h.

◆ m_encoding

std::unordered_map<L1TopoLUTKey, L1TopoCoordinates, L1TopoLUTKeyHasher> LVL1MUCTPIPHASE1::L1TopoLUT::m_encoding
protected

Definition at line 136 of file L1TopoLUT.h.

◆ m_endcap_eta_lookup0

std::map<unsigned short,std::vector<float> > LVL1MUCTPIPHASE1::L1TopoLUT::m_endcap_eta_lookup0
protected

Definition at line 120 of file L1TopoLUT.h.

◆ m_endcap_eta_lookup1

std::map<unsigned short,std::vector<float> > LVL1MUCTPIPHASE1::L1TopoLUT::m_endcap_eta_lookup1
protected

Definition at line 121 of file L1TopoLUT.h.

◆ m_endcap_phi_lookup0

std::map<unsigned short,std::vector<float> > LVL1MUCTPIPHASE1::L1TopoLUT::m_endcap_phi_lookup0
protected

Definition at line 122 of file L1TopoLUT.h.

◆ m_endcap_phi_lookup1

std::map<unsigned short,std::vector<float> > LVL1MUCTPIPHASE1::L1TopoLUT::m_endcap_phi_lookup1
protected

Definition at line 123 of file L1TopoLUT.h.

◆ m_errors

std::vector<std::string> LVL1MUCTPIPHASE1::L1TopoLUT::m_errors
protected

Definition at line 137 of file L1TopoLUT.h.

◆ m_forward_eta_lookup0

std::map<unsigned short,std::vector<float> > LVL1MUCTPIPHASE1::L1TopoLUT::m_forward_eta_lookup0
protected

Definition at line 124 of file L1TopoLUT.h.

◆ m_forward_eta_lookup1

std::map<unsigned short,std::vector<float> > LVL1MUCTPIPHASE1::L1TopoLUT::m_forward_eta_lookup1
protected

Definition at line 125 of file L1TopoLUT.h.

◆ m_forward_phi_lookup0

std::map<unsigned short,std::vector<float> > LVL1MUCTPIPHASE1::L1TopoLUT::m_forward_phi_lookup0
protected

Definition at line 126 of file L1TopoLUT.h.

◆ m_forward_phi_lookup1

std::map<unsigned short,std::vector<float> > LVL1MUCTPIPHASE1::L1TopoLUT::m_forward_phi_lookup1
protected

Definition at line 127 of file L1TopoLUT.h.


The documentation for this class was generated from the following files: