13#include "TMVA/MethodBDT.h"
14#include "TMVA/Reader.h"
15#include "TMVA/Tools.h"
33 TMVA::Tools::Instance();
38 std::vector<std::string> BDT_vars_Muon{
"TrackJetNTrack",
"PtRel",
"PtFrac",
"DRlj",
"TopoEtCone20Rel",
"PtVarCone30Rel"};
40 std::vector<std::string> BDT_vars_Elec{
"TrackJetNTrack",
"PtRel",
"PtFrac",
"DRlj",
"TopoEtCone20Rel",
"PtVarCone20Rel"};
41 m_TMVAReader_Muon = std::make_unique<TMVA::Reader>(BDT_vars_Muon,
"!Silent:Color");
42 m_TMVAReader_Elec = std::make_unique<TMVA::Reader>(BDT_vars_Elec,
"!Silent:Color");
44 if (fullPathToFile_Muon.empty()) {
46 return StatusCode::FAILURE;
50 if (!method_Muon_bdt) {
52 return StatusCode::FAILURE;
55 if (fullPathToFile_Elec.empty()) {
56 ATH_MSG_ERROR(
"Error! No xml file found for Electron LowPtPLV");
57 return StatusCode::FAILURE;
61 if (!method_Elec_bdt) {
62 ATH_MSG_ERROR(
"Error! No method found for Electron LowPtPLV");
63 return StatusCode::FAILURE;
67 return StatusCode::SUCCESS;
72 bool inputvar_missing =
false;
75 inputvar_missing =
true;
80 inputvar_missing =
true;
85 inputvar_missing =
true;
90 inputvar_missing =
true;
95 inputvar_missing =
true;
100 inputvar_missing =
true;
105 inputvar_missing =
true;
108 if (inputvar_missing) {
109 ATH_MSG_ERROR(
"input variable(s) missing, augmenting fixed value 1.1");
111 return StatusCode::FAILURE;
127 var_vector[0] = TrackJetNTrack;
128 var_vector[1] = PtRel;
129 var_vector[2] = PtFrac;
130 var_vector[3] = DRlj;
136 var_vector[0] = TrackJetNTrack;
137 var_vector[1] = PtRel;
138 var_vector[2] = PtFrac;
139 var_vector[3] = DRlj;
144 ATH_MSG_ERROR(
"The function needs either a muon or an electron!");
145 return StatusCode::FAILURE;
149 return StatusCode::SUCCESS;
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
Class providing the definition of the 4-vector interface.
Select isolated Photons, Electrons and Muons.
static const FloatDecorator s_dec_iso_PLT("LowPtPLV")
static const FloatAccessor s_acc_PtRel("PromptLeptonInput_PtRel")
static const FloatAccessor s_acc_ptvarcone30("ptvarcone30")
SG::AuxElement::ConstAccessor< float > FloatAccessor
static const ShortAccessor s_acc_TrackJetNTrack("PromptLeptonInput_TrackJetNTrack")
static const FloatAccessor s_acc_ptvarcone20("ptvarcone20")
SG::AuxElement::ConstAccessor< short > ShortAccessor
static const FloatAccessor s_acc_topoetcone20("topoetcone20")
SG::AuxElement::Decorator< float > FloatDecorator
static const FloatAccessor s_acc_DRlj("PromptLeptonInput_DRlj")
constexpr int N_VARIABLES
static const FloatAccessor s_acc_PtFrac("PromptLeptonInput_PtFrac")
@ Muon
The object is a muon.
@ Electron
The object is an electron.
@ topoetcone20
Topo-cluster ET-sum.
@ ptvarcone20
Mini-Isolation http://arxiv.org/abs/1007.2221.
setRcore setEtHad setFside pt
Particle_v1 Particle
Define the latest version of the particle class.