ATLAS Offline Software
DL2.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 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 
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::IParticle& i_jet) const;
29  void decorateWithDefaults(const SG::AuxElement&) const;
30 
31 
32  // functions to report data dependencies
33  const FTagDataDependencyNames& getDataDependencyNames() const;
34 
35  private:
36  void decorate(const xAOD::Jet& jet) const;
37  std::string m_input_node_name;
38  std::unique_ptr<lwt::LightweightGraph> m_graph;
39  std::unique_ptr<lwt::NanReplacer> m_variable_cleaner;
40  std::vector<std::pair<std::string, internal::VarFromJet>> m_varsFromJet;
41  std::vector<std::shared_ptr<TracksLoader>> m_tracksLoaders;
42  std::map<std::string, internal::OutNodeFloat> m_decorators;
45  std::vector<SG::AuxElement::Decorator<char>> m_is_defaults;
46 
48 
49  };
50 }
51 #endif
FlavorTagDiscriminants::DL2
Definition: DL2.h:22
FlavorTagInference
This file contains "getter" functions used for accessing tagger inputs from the EDM.
Definition: PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/ConstituentsLoader.h:27
FlavorTagDiscriminants
Definition: DL2.h:18
FlavorTagDiscriminants::DL2::m_varsFromJet
std::vector< std::pair< std::string, internal::VarFromJet > > m_varsFromJet
Definition: DL2.h:40
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
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
FlavorTagDiscriminants::DL2::m_variable_cleaner
std::unique_ptr< lwt::NanReplacer > m_variable_cleaner
Definition: DL2.h:39
FlavorTagInference::internal::Tracks
std::vector< const xAOD::TrackParticle * > Tracks
Definition: PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/DataPrepUtilities.h:64
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:43
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
FlavorTagDiscriminants::DL2::m_graph
std::unique_ptr< lwt::LightweightGraph > m_graph
Definition: DL2.h:38
FlavorTagDiscriminants::DL2::m_dataDependencyNames
FTagDataDependencyNames m_dataDependencyNames
Definition: DL2.h:47
lwt
Definition: NnClusterizationFactory.h:52
FlavorTagInference::FTagDataDependencyNames
Definition: FTagDataDependencyNames.h:12
FlavorTagDiscriminants::DL2::m_invalid_track_checker
std::function< char(const internal::Tracks &)> m_invalid_track_checker
Definition: DL2.h:44
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:41
FlavorTagDiscriminants::DL2::m_decorators
std::map< std::string, internal::OutNodeFloat > m_decorators
Definition: DL2.h:42
TracksLoader.h
DataPrepUtilities.h
FlavorTagDiscriminants::DL2::m_input_node_name
std::string m_input_node_name
Definition: DL2.h:37
FlavorTagDiscriminants::DL2::m_is_defaults
std::vector< SG::AuxElement::Decorator< char > > m_is_defaults
Definition: DL2.h:45