ATLAS Offline Software
MultivariateTagManager.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef BTAGTOOL_MULTIVARIATETAGMANAGER_C
6 #define BTAGTOOL_MULTIVARIATETAGMANAGER_C
7 
8 /******************************************************
9  @class MultivariateTagManager
10  Package : JetTagTools
11  Created : Oct 2015
12  DESCRIPTION:
13  General interface for MV based classifiers.
14 
15  @authors Dan Guest, Marie Lanfermann
16 
17 ********************************************************/
19 #include "JetTagTools/ITagTool.h"
21 
22 #include <vector>
23 
24 namespace Analysis {
25  class IMultivariateJetTagger;
26 
27  class MultivariateTagManager: public extends<AthAlgTool, ITagTool>
28  {
29  public:
30 
31  MultivariateTagManager(const std::string&,
32  const std::string&,
33  const IInterface*);
34 
35  virtual ~MultivariateTagManager() = default;
36 
37  virtual StatusCode initialize() override;
38  virtual void finalizeHistos() override {};
39 
40  virtual StatusCode tagJet(const xAOD::Vertex& priVtx,
41  const xAOD::Jet& jetToTag,
43  const std::string &jetName) const override;
44 
45 
46  private:
47 
48  // internal typdefs
49  typedef std::map<std::string, double> var_map;
50 
51  // load input variables from xAOD
54  void fill_sv0(const xAOD::Vertex& priVtx, var_map& inputs, xAOD::BTagging& BTag) const;
55  void fill_sv1(var_map& inputs, xAOD::BTagging& BTag) const;
60 
62 
63  // container information
64  std::string m_ip2d_infosource;
65  std::string m_ip3d_infosource;
66  std::string m_sv0_infosource;
67  std::string m_sv1_infosource;
68  std::string m_jftNN_infosource;
69  std::string m_softmuon_infosource;
70 
71  // any other arbitrary aux data
72  std::vector<std::string> m_arbitrary_aux_data;
73  std::map<std::string, std::string> m_aux_data_name_map;
74 
75  ToolHandleArray< IMultivariateJetTagger > m_MultivariateTaggerHandleArray;
76  }; // end class
77 
78 } //end Analysis namespace
79 
80 #endif // BTAGTOOL_MULTIVARIATETAGMANAGER_C
Analysis::MultivariateTagManager::m_sv0_infosource
std::string m_sv0_infosource
Definition: MultivariateTagManager.h:75
Analysis::MultivariateTagManager::m_aux_data_name_map
std::map< std::string, std::string > m_aux_data_name_map
Definition: MultivariateTagManager.h:82
Analysis::MultivariateTagManager::fill_sv0
void fill_sv0(const xAOD::Vertex &priVtx, var_map &inputs, xAOD::BTagging &BTag) const
Definition: MultivariateTagManager.cxx:408
Analysis::MultivariateTagManager::~MultivariateTagManager
virtual ~MultivariateTagManager()=default
postInclude.inputs
inputs
Definition: postInclude.SortInput.py:15
Analysis::MultivariateTagManager::fill_arbitrary_aux_data
void fill_arbitrary_aux_data(var_map &inputs, xAOD::BTagging &BTag) const
Definition: MultivariateTagManager.cxx:558
Analysis::MultivariateTagManager::fill_jetfitter
void fill_jetfitter(var_map &inputs, xAOD::BTagging &BTag) const
Definition: MultivariateTagManager.cxx:197
Analysis::MultivariateTagManager::fill_softmuon
void fill_softmuon(var_map &inputs, xAOD::BTagging &BTag) const
Definition: MultivariateTagManager.cxx:135
Analysis::MultivariateTagManager::m_arbitrary_aux_data
std::vector< std::string > m_arbitrary_aux_data
Definition: MultivariateTagManager.h:81
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
IMultivariateJetTagger.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ITagTool.h
Analysis::MultivariateTagManager::fill_sv1
void fill_sv1(var_map &inputs, xAOD::BTagging &BTag) const
Definition: MultivariateTagManager.cxx:460
Analysis::MultivariateTagManager::tagJet
virtual StatusCode tagJet(const xAOD::Vertex &priVtx, const xAOD::Jet &jetToTag, xAOD::BTagging &BTag, const std::string &jetName) const override
Definition: MultivariateTagManager.cxx:88
AthAlgTool.h
Analysis::MultivariateTagManager::finalizeHistos
virtual void finalizeHistos() override
Definition: MultivariateTagManager.h:47
Analysis::MultivariateTagManager::m_softmuon_infosource
std::string m_softmuon_infosource
Definition: MultivariateTagManager.h:78
xAOD::BTagging_v1
Definition: BTagging_v1.h:39
Analysis::MultivariateTagManager::m_ip3d_infosource
std::string m_ip3d_infosource
Definition: MultivariateTagManager.h:74
Analysis::MultivariateTagManager::m_jftNN_infosource
std::string m_jftNN_infosource
Definition: MultivariateTagManager.h:77
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
Analysis::MultivariateTagManager::m_MultivariateTaggerHandleArray
ToolHandleArray< IMultivariateJetTagger > m_MultivariateTaggerHandleArray
Definition: MultivariateTagManager.h:84
Analysis::MultivariateTagManager::initialize
virtual StatusCode initialize() override
Definition: MultivariateTagManager.cxx:56
Analysis::MultivariateTagManager::fill_ip3d
void fill_ip3d(var_map &inputs, xAOD::BTagging &BTag) const
Definition: MultivariateTagManager.cxx:343
Analysis::MultivariateTagManager::MultivariateTagManager
MultivariateTagManager(const std::string &, const std::string &, const IInterface *)
Definition: MultivariateTagManager.cxx:39
Analysis::MultivariateTagManager::var_map
std::map< std::string, double > var_map
Definition: MultivariateTagManager.h:58
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
Analysis::MultivariateTagManager::m_sv1_infosource
std::string m_sv1_infosource
Definition: MultivariateTagManager.h:76
Analysis::MultivariateTagManager::m_ip2d_infosource
std::string m_ip2d_infosource
Definition: MultivariateTagManager.h:73
Analysis::MultivariateTagManager::fill_ip2d
void fill_ip2d(var_map &inputs, xAOD::BTagging &BTag) const
Definition: MultivariateTagManager.cxx:278
xAODType::BTag
@ BTag
The object is a b-tagging object.
Definition: ObjectType.h:60
Analysis::MultivariateTagManager::fill_trkSum
void fill_trkSum(var_map &inputs, xAOD::BTagging &BTag) const
Definition: MultivariateTagManager.cxx:172
Analysis::MultivariateTagManager::fill_mvb
void fill_mvb(var_map &inputs, xAOD::Jet &jet, xAOD::BTagging &BTag) const