7#ifndef TRIGT1MUCTPIPHASE1_L1TOPOLUT_H
8#define TRIGT1MUCTPIPHASE1_L1TOPOLUT_H
10#include <boost/property_tree/ptree.hpp>
12#include <unordered_map>
21 namespace pt = boost::property_tree;
41 const std::string& ecfFileName,
42 const std::string& side0LUTFileName,
43 const std::string& side1LUTFileName);
46 const unsigned short& subsystem,
47 const unsigned short& sectorID,
48 const unsigned short& roi)
const;
50 unsigned short getBarrelROI(
unsigned short side,
unsigned short sector,
unsigned short ieta,
unsigned short iphi)
const;
54 float getCompactedValue_eta(
unsigned short subsystem,
unsigned short side,
unsigned short sectorID,
unsigned short roi);
55 float getCompactedValue_phi(
unsigned short subsystem,
unsigned short side,
unsigned short sectorID,
unsigned short roi);
67 void fillFromPtree(
const boost::property_tree::ptree&
node, std::map<
unsigned short,std::vector<float>>& theLut)
const;
70 void fillFromPtree(
const boost::property_tree::ptree&
node, std::map<
unsigned short,std::map<
unsigned short, std::pair<unsigned short, unsigned short>>>& theLut)
const;
73 const std::string& side1LUTFileName);
74 bool initializeLUT(
const std::string& inFileName,
const bool& isBarrel);
77 const std::string& nodeName,
79 unsigned short subsystem);
91 std::string(
"side, subsystem, sectorID, roi = ")
92 + std::to_string(
side) +
", " + std::to_string(
subsystem) +
", "
93 + std::to_string(
sectorID) +
", " + std::to_string(
roi);
105 return static_cast<unsigned long>(key.side)
106 | (
static_cast<unsigned long>(key.subsystem) << 8)
107 | (
static_cast<unsigned long>(key.sectorID) << 16)
108 | (
static_cast<unsigned long>(key.roi) << 24);
124 std::map<unsigned short,std::map<unsigned short, std::pair<unsigned short, unsigned short>>>
m_barrel_encoding0;
125 std::map<unsigned short,std::map<unsigned short, std::pair<unsigned short, unsigned short>>>
m_barrel_encoding1;
131 std::unordered_map<L1TopoLUTKey, L1TopoCoordinates, L1TopoLUTKeyHasher>
m_encoding;
bool initializeJSON(const std::string &inFileName, bool side)
unsigned short getBarrelROI(unsigned short side, unsigned short sector, unsigned short ieta, unsigned short iphi) const
std::map< unsigned short, std::vector< float > > m_forward_eta_lookup1
float getCompactedValue_phi(unsigned short subsystem, unsigned short side, unsigned short sectorID, unsigned short roi)
bool initializeCompactedLUTs(const std::string &side0LUTFileName, const std::string &side1LUTFileName)
std::map< unsigned short, std::vector< float > > m_forward_phi_lookup0
std::map< unsigned short, std::vector< float > > m_barrel_phi_lookup0
std::map< unsigned short, unsigned short > m_barrel_reverse_encoding0
std::vector< std::string > m_errors
std::map< unsigned short, std::vector< float > > m_barrel_eta_lookup0
std::unordered_map< L1TopoLUTKey, L1TopoCoordinates, L1TopoLUTKeyHasher > m_encoding
std::map< unsigned short, std::vector< float > > m_endcap_eta_lookup0
bool initializeJSONForSubsystem(pt::ptree &root, const std::string &nodeName, bool side, unsigned short subsystem)
std::map< unsigned short, std::vector< float > > m_barrel_phi_lookup1
std::map< unsigned short, std::vector< float > > m_endcap_eta_lookup1
L1TopoCoordinates getCoordinates(const unsigned short &side, const unsigned short &subsystem, const unsigned short §orID, const unsigned short &roi) const
std::map< unsigned short, unsigned short > m_barrel_reverse_encoding1
std::map< unsigned short, std::vector< float > > m_forward_eta_lookup0
const std::vector< std::string > & getErrors() const
std::map< unsigned short, std::vector< float > > m_endcap_phi_lookup0
void fillFromPtree(const boost::property_tree::ptree &node, std::map< unsigned short, std::vector< float > > &theLut) const
float getCompactedValue_eta(unsigned short subsystem, unsigned short side, unsigned short sectorID, unsigned short roi)
std::map< unsigned short, std::map< unsigned short, std::pair< unsigned short, unsigned short > > > m_barrel_encoding1
std::map< unsigned short, std::vector< float > > m_forward_phi_lookup1
bool initializeLUT(const std::string &barrelFileName, const std::string &ecfFileName, const std::string &side0LUTFileName, const std::string &side1LUTFileName)
std::map< unsigned short, std::map< unsigned short, std::pair< unsigned short, unsigned short > > > m_barrel_encoding0
std::map< unsigned short, std::vector< float > > m_endcap_phi_lookup1
std::map< unsigned short, std::vector< float > > m_barrel_eta_lookup1
bool operator==(const L1TopoCoordinates &rhs) const =default
unsigned long operator()(const L1TopoLUTKey &key) const
bool operator==(const L1TopoLUTKey &rhs) const =default