7 : allowedModes_({3, 5, 9, 6, 10, 12, 7, 11, 13, 14, 15}),
forests_(),
ptlut_reader_(),
ptLUTVersion_(0xFFFFFFFF) {}
15 std::string xml_dir_full =
"L1Trigger/L1TMuonEndCap/data/pt_xmls/" + xml_dir;
16 unsigned xml_nTrees = 64;
17 if (pt_lut_version >= 6)
20 std::cout <<
"EMTF emulator: attempting to read " << xml_nTrees <<
" pT LUT XMLs from local directory" << std::endl;
22 std::cout <<
"Non-standard operation; if it fails, now you know why" << std::endl;
27 ss << xml_dir_full <<
"/" <<
mode;
28 forests_.at(mode).loadForestFromXML(ss.str().c_str(), xml_nTrees);
39 edm::LogInfo(
"L1T") <<
"EMTF using pt_lut_ver: " << pt_lut_version;
44 L1TMuonEndCapForest::DForestMap::const_iterator
index =
51 double boostWeight_ = payload->
forest_map_.find(mode + 16)->second / 1000000.;
54 forests_.at(mode).getTree(0)->setBoostWeight(boostWeight_);
73 int verbose,
bool readPtLUTFile,
bool fixMode15HighPt,
bool bug9BitDPhi,
bool bugMode7CLCT,
bool bugNegPt) {
89 ss <<
"/afs/cern.ch/work/a/abrinke1/public/EMTF/PtAssign2017/LUTs/2017_06_07/LUT_v07_07June17.dat";
ptLUTVersion_(0xFFFFFFFF)
virtual float calculate_pt_xml(const address_t &address) const
virtual ~PtAssignmentEngine()
virtual float calculate_pt(const address_t &address) const
void read(const std::string &lut_full_path)
const PtAssignmentEngineAux & aux() const
static PFTauRenderPlugin instance
void configure(int verbose, bool readPtLUTFile, bool fixMode15HighPt, bool bug9BitDPhi, bool bugMode7CLCT, bool bugNegPt)
PtLUTReader ptlut_reader_
void load(int pt_lut_version, const L1TMuonEndCapForest *payload)
static constexpr int verbose
virtual float calculate_pt_lut(const address_t &address) const
Log< level::Info, false > LogInfo
std::array< emtf::Forest, 16 > forests_
virtual float unscale_pt(const float pt, const int mode=15) const =0
std::vector< int > allowedModes_
float getPtFromGMTPt(int gmt_pt) const
void read(int pt_lut_version, const std::string &xml_dir)
content_t lookup(const address_t &address) const