Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
DL2.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 DL2_H
6 #define DL2_H
7 
8 // local includes
11 
12 // forward declarations
13 namespace lwt {
14  class NanReplacer;
15  class LightweightGraph;
16 }
17 
18 namespace FlavorTagDiscriminants {
19 
20  using namespace FlavorTagInference;
21 
22  class DL2 {
23  public:
24  DL2(const lwt::GraphConfig&,
25  const std::vector<FTagInputConfig>&,
26  const std::vector<ConstituentsInputConfig>& = {},
27  const FTagOptions& = FTagOptions());
28  void decorate(const xAOD::BTagging& btag) const;
29  void decorate(const xAOD::Jet& jet) const;
30  void decorateWithDefaults(const SG::AuxElement&) const;
31  void decorate(const xAOD::Jet& jet, const SG::AuxElement& decorated) const;
32 
33  // functions to report data dependencies
34  const FTagDataDependencyNames& getDataDependencyNames() const;
35 
36  private:
38  std::string m_input_node_name;
39  std::unique_ptr<lwt::LightweightGraph> m_graph;
40  std::unique_ptr<lwt::NanReplacer> m_variable_cleaner;
41  std::vector<internal::VarFromBTag> m_varsFromBTag;
42  std::vector<internal::VarFromJet> m_varsFromJet;
43  std::vector<std::shared_ptr<TracksLoader>> m_tracksLoaders;
44  std::map<std::string, internal::OutNodeFloat> m_decorators;
47  std::vector<SG::AuxElement::Decorator<char>> m_is_defaults;
48 
50 
51  };
52 }
53 #endif
FlavorTagDiscriminants::DL2
Definition: DL2.h:22
FlavorTagInference
This file contains "getter" functions used for accessing tagger inputs from the EDM.
Definition: AssociationEnums.h:11
FlavorTagDiscriminants
Definition: BacklinkAlg.h:15
SG::AuxElement
Base class for elements of a container that can have aux data.
Definition: AuxElement.h:483
xAOD::char
char
Definition: TrigDecision_v1.cxx:38
FlavorTagInference::FTagOptions
Definition: PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/DataPrepUtilities.h:45
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:55
FlavorTagDiscriminants::DL2::m_variable_cleaner
std::unique_ptr< lwt::NanReplacer > m_variable_cleaner
Definition: DL2.h:40
FlavorTagInference::internal::Tracks
std::vector< const xAOD::TrackParticle * > Tracks
Definition: PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/DataPrepUtilities.h:66
python.DecoratorFactory.decorate
def decorate(hto4l_controller, decorator, **kwargs)
Definition: Hto4lControl/python/DecoratorFactory.py:5
FlavorTagDiscriminants::DL2::m_defaultValue
float m_defaultValue
Definition: DL2.h:45
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
FlavorTagDiscriminants::DL2::m_graph
std::unique_ptr< lwt::LightweightGraph > m_graph
Definition: DL2.h:39
FlavorTagDiscriminants::DL2::m_dataDependencyNames
FTagDataDependencyNames m_dataDependencyNames
Definition: DL2.h:49
lwt
Definition: NnClusterizationFactory.h:52
FlavorTagInference::FTagDataDependencyNames
Definition: FTagDataDependencyNames.h:12
FlavorTagDiscriminants::DL2::m_varsFromJet
std::vector< internal::VarFromJet > m_varsFromJet
Definition: DL2.h:42
xAOD::BTagging_v1
Definition: BTagging_v1.h:39
FlavorTagDiscriminants::DL2::m_varsFromBTag
std::vector< internal::VarFromBTag > m_varsFromBTag
Definition: DL2.h:41
FlavorTagDiscriminants::DL2::m_invalid_track_checker
std::function< char(const internal::Tracks &)> m_invalid_track_checker
Definition: DL2.h:46
FlavorTagDiscriminants::DL2::m_jetLink
SG::AuxElement::ConstAccessor< ElementLink< xAOD::JetContainer > > m_jetLink
Definition: DL2.h:37
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
FlavorTagDiscriminants::DL2::m_tracksLoaders
std::vector< std::shared_ptr< TracksLoader > > m_tracksLoaders
Definition: DL2.h:43
FlavorTagDiscriminants::DL2::m_decorators
std::map< std::string, internal::OutNodeFloat > m_decorators
Definition: DL2.h:44
TracksLoader.h
DataPrepUtilities.h
FlavorTagDiscriminants::DL2::m_input_node_name
std::string m_input_node_name
Definition: DL2.h:38
FlavorTagDiscriminants::DL2::m_is_defaults
std::vector< SG::AuxElement::Decorator< char > > m_is_defaults
Definition: DL2.h:47