ATLAS Offline Software
DL2.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 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  class DL2 {
21  public:
22  DL2(const lwt::GraphConfig&,
23  const std::vector<FTagInputConfig>&,
24  const std::vector<ConstituentsInputConfig>& = {},
25  const FTagOptions& = FTagOptions());
26  void decorate(const xAOD::BTagging& btag) const;
27  void decorate(const xAOD::Jet& jet) const;
28  void decorateWithDefaults(const SG::AuxElement&) const;
29  void decorate(const xAOD::Jet& jet, const SG::AuxElement& decorated) const;
30 
31  // functions to report data depdedencies
33 
34  private:
36  std::string m_input_node_name;
37  std::unique_ptr<lwt::LightweightGraph> m_graph;
38  std::unique_ptr<lwt::NanReplacer> m_variable_cleaner;
39  std::vector<internal::VarFromBTag> m_varsFromBTag;
40  std::vector<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:20
FlavorTagDiscriminants::DL2::DL2
DL2(const lwt::GraphConfig &, const std::vector< FTagInputConfig > &, const std::vector< ConstituentsInputConfig > &={}, const FTagOptions &=FTagOptions())
Definition: DL2.cxx:22
FlavorTagDiscriminants
This file contains "getter" functions used for accessing tagger inputs from the EDM.
Definition: AssociationEnums.h:11
SG::AuxElement
Base class for elements of a container that can have aux data.
Definition: AuxElement.h:446
xAOD::char
char
Definition: TrigDecision_v1.cxx:38
FlavorTagDiscriminants::DL2::decorate
void decorate(const xAOD::BTagging &btag) const
Definition: DL2.cxx:73
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:54
FlavorTagDiscriminants::DL2::m_variable_cleaner
std::unique_ptr< lwt::NanReplacer > m_variable_cleaner
Definition: DL2.h:38
FlavorTagDiscriminants::DL2::m_defaultValue
float m_defaultValue
Definition: DL2.h:43
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
FlavorTagDiscriminants::FTagDataDependencyNames
Definition: FTagDataDependencyNames.h:12
DataPrepUtilities.h
FlavorTagDiscriminants::internal::Tracks
std::vector< const xAOD::TrackParticle * > Tracks
Definition: DataPrepUtilities.h:65
FlavorTagDiscriminants::DL2::m_graph
std::unique_ptr< lwt::LightweightGraph > m_graph
Definition: DL2.h:37
FlavorTagDiscriminants::DL2::m_dataDependencyNames
FTagDataDependencyNames m_dataDependencyNames
Definition: DL2.h:47
lwt
Definition: NnClusterizationFactory.h:52
FlavorTagDiscriminants::DL2::m_varsFromJet
std::vector< internal::VarFromJet > m_varsFromJet
Definition: DL2.h:40
xAOD::BTagging_v1
Definition: BTagging_v1.h:39
TracksLoader.h
FlavorTagDiscriminants::DL2::m_varsFromBTag
std::vector< internal::VarFromBTag > m_varsFromBTag
Definition: DL2.h:39
FlavorTagDiscriminants::DL2::m_invalid_track_checker
std::function< char(const internal::Tracks &)> m_invalid_track_checker
Definition: DL2.h:44
FlavorTagDiscriminants::DL2::m_jetLink
SG::AuxElement::ConstAccessor< ElementLink< xAOD::JetContainer > > m_jetLink
Definition: DL2.h:35
FlavorTagDiscriminants::FTagOptions
Definition: DataPrepUtilities.h:45
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
FlavorTagDiscriminants::DL2::decorateWithDefaults
void decorateWithDefaults(const SG::AuxElement &) const
Definition: DL2.cxx:84
FlavorTagDiscriminants::DL2::m_input_node_name
std::string m_input_node_name
Definition: DL2.h:36
FlavorTagDiscriminants::DL2::getDataDependencyNames
FTagDataDependencyNames getDataDependencyNames() const
Definition: DL2.cxx:142
FlavorTagDiscriminants::DL2::m_is_defaults
std::vector< SG::AuxElement::Decorator< char > > m_is_defaults
Definition: DL2.h:45