13 DiTauDiscriminantTool::DiTauDiscriminantTool( 
const std::string& 
name )
 
   17 DiTauDiscriminantTool::~DiTauDiscriminantTool( )
 
   29    return StatusCode::SUCCESS;
 
   37   auto availableVariables = setIDVariables(xDiTau);
 
   39   float bdtScore = m_mvaBDT->getGradBoostMVA(availableVariables);
 
   42   decBDTScore(xDiTau) = bdtScore;
 
   45   return StatusCode::SUCCESS;
 
   57   m_mvaBDT = std::make_unique<tauRecTools::BDTHelper>();
 
   58   ATH_CHECK(m_mvaBDT->initialize(weight_file));
 
   60   return StatusCode::SUCCESS;
 
   64 std::map<TString, float> DiTauDiscriminantTool::setIDVariables(
const xAOD::DiTauJet& xDiTau)
 const 
   84   std::map<TString, float> availableVariables;
 
   85   availableVariables.emplace(
"f_core_lead", f_core_leadAcc(xDiTau));
 
   86   availableVariables.emplace(
"f_core_subl", f_core_sublAcc(xDiTau));
 
   87   availableVariables.emplace(
"f_subjet_subl", f_subjet_sublAcc(xDiTau));
 
   88   availableVariables.emplace(
"f_subjets", f_subjetsAcc(xDiTau));
 
   89   availableVariables.emplace(
"R_max_lead", R_max_leadAcc(xDiTau));
 
   90   availableVariables.emplace(
"R_max_subl", R_max_sublAcc(xDiTau));
 
   91   availableVariables.emplace(
"n_track", 
static_cast<float>(n_trackAcc(xDiTau)));
 
   92   availableVariables.emplace(
"n_tracks_lead", 
static_cast<float>(n_tracks_leadAcc(xDiTau)));
 
   93   availableVariables.emplace(
"R_isotrack", R_isotrackAcc(xDiTau));
 
   94   availableVariables.emplace(
"R_tracks_subl", R_tracks_sublAcc(xDiTau));
 
   95   availableVariables.emplace(
"m_core_lead", M_core_leadAcc(xDiTau));
 
   96   availableVariables.emplace(
"log(m_core_lead)", 
std::log(M_core_leadAcc(xDiTau)));
 
   97   availableVariables.emplace(
"m_core_subl", M_core_sublAcc(xDiTau));
 
   98   availableVariables.emplace(
"log(m_core_subl)", 
std::log(M_core_sublAcc(xDiTau)));
 
   99   availableVariables.emplace(
"m_tracks_lead", M_tracks_leadAcc(xDiTau));
 
  100   availableVariables.emplace(
"log(m_tracks_lead)", 
std::log(M_tracks_leadAcc(xDiTau)));
 
  101   availableVariables.emplace(
"m_tracks_subl", M_tracks_sublAcc(xDiTau));
 
  102   availableVariables.emplace(
"log(m_tracks_subl)", 
std::log(M_tracks_sublAcc(xDiTau)));
 
  103   availableVariables.emplace(
"d0_leadtrack_lead", d0_leadtrack_leadAcc(xDiTau));
 
  104   availableVariables.emplace(
"log(abs(d0_leadtrack_lead))", 
std::log(std::abs(d0_leadtrack_leadAcc(xDiTau))));
 
  105   availableVariables.emplace(
"d0_leadtrack_subl", d0_leadtrack_sublAcc(xDiTau));
 
  106   availableVariables.emplace(
"log(abs(d0_leadtrack_subl))", 
std::log(std::abs(d0_leadtrack_sublAcc(xDiTau))));
 
  107   availableVariables.emplace(
"f_isotracks", f_isotracksAcc(xDiTau));
 
  108   availableVariables.emplace(
"log(f_isotracks)", 
std::log(f_isotracksAcc(xDiTau)));
 
  110   for (
const auto& [
var, 
value]: availableVariables)
 
  115   return availableVariables;