11 allowedModes_({3,5,9,6,10,12,7,11,13,14,15}),
28 std::string xml_dir_full =
"L1Trigger/L1TMuonEndCap/data/pt_xmls/" + xml_dir;
29 unsigned xml_nTrees = 64;
30 if (pt_lut_version >= 6)
33 std::cout <<
"EMTF emulator: attempting to read " << xml_nTrees <<
" pT LUT XMLs from local directory" << std::endl;
35 std::cout <<
"Non-standard operation; if it fails, now you know why" << std::endl;
40 ss << xml_dir_full <<
"/" <<
mode;
41 forests_.at(mode).loadForestFromXML(ss.str().c_str(), xml_nTrees);
51 edm::LogInfo(
"L1T") <<
"EMTF using pt_lut_ver: " << pt_lut_version;
56 L1TMuonEndCapForest::DForestMap::const_iterator
index = payload->
forest_map_.find(mode);
61 double boostWeight_ = payload->
forest_map_.find(mode+16)->second / 1000000.;
64 forests_.at(mode).getTree(0)->setBoostWeight( boostWeight_ );
85 bool readPtLUTFile,
bool fixMode15HighPt,
86 bool bug9BitDPhi,
bool bugMode7CLCT,
bool bugNegPt
101 std::stringstream ss;
103 ss <<
"/afs/cern.ch/work/a/abrinke1/public/EMTF/PtAssign2017/LUTs/2017_06_07/LUT_v07_07June17.dat";
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)
virtual float calculate_pt_lut(const address_t &address) const
virtual float scale_pt(const float pt, const int mode=15) const
std::array< emtf::Forest, 16 > forests_
virtual float unscale_pt(const float pt, const int mode=15) const
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